Operating System
hexiankang1984
这个作者很懒,什么都没留下…
展开
-
Windows CE文件操作
文件操作 应用程序中很多时候需要创建、打开不同格式的文件,存储或者读取不同格式的数据信息。——————————————————————————————————一 使用Windows CE提供的API函数 1> 创建/打开文件HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAcces转载 2010-05-19 11:08:00 · 174 阅读 · 0 评论 -
线程同步方法
1.事件 事件(Event)是WIN32提供的最灵活的线程间同步方式,事件可以处于激发状态(signaled or true)或未激发状态(unsignal or false)。根据状态变迁方式的不同,事件可分为两类: (1)手动设置:这种对象只可能用程序手动设置,在需要该事件或者事件发生时,采用SetEvent及ResetEvent来进行设置。 (2)自动恢复:一转载 2010-05-21 16:56:00 · 196 阅读 · 0 评论 -
在非MFC程序中引用CString
<br /> CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen,strcpy,strstr等等,本文讨论的是在非mfc程序中使用CString类的方法,算是个引子,如果有更好的实现方法,欢迎大家讨论。<br /> 为了使用CString类,首先源文件必须是以cpp结尾的,这是因为vc默认对不同的扩展名采用不同的编译方法和错误检查,mfc的支持文件Afx.转载 2010-06-04 10:42:00 · 165 阅读 · 0 评论 -
线程中CreateEvent和SetEvent及WaitForSingleObj
首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.CreateEvent 函功能描述:创建或打开一个命名的或无名的事件对象.EVENT有两种状态:发信号,不发信号。 SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。 WaitForSingleObject()等待,直到参数所指定的OBJECT成为发信号状态时才返回,OBJECT可以是EVENT,也可以是其它内核对象。 当你创建一个线程时,其实那个线程是一个循环,不像转载 2010-08-16 11:10:00 · 296 阅读 · 0 评论 -
利用TCPMP插件开发程序
<br />首先,我们需要把common.lib添加到VS2005/项目属性/链接器/输入项中,同时把common.dll和common.lib放到项目文件夹中,TCPMP中的COMMON文件夹放到上一层文件夹。<br />其次,在程序中对插件进行初始化和构建播放器节点的操作。具体如下:<br />//Context init<br /> Context_Init((tchar_t*)T("TCPMP"),(tchar_t*)T("0.72SRC"),3,(tchar_t*)lpCmdLine,NUL转载 2011-03-23 16:38:00 · 321 阅读 · 0 评论 -
COMMON.DLL解析
Common.dll作为TCPMP控制各个节点的核心,当然也是播放控制的核心。首先,我们需要来看一下TCPMP的上下文对象context。其结构体如下:typedef struct context{ int Version; //版本信息 uint32_t ProgramId; const tchar_t* ProgramName; //应用程序名称 const tcha转载 2011-03-23 11:05:00 · 344 阅读 · 0 评论 -
TCPMP的播放模块
首先,我们来看一下TCPMP的播放模块的结构定义: static const nodedef Player = { sizeof(player_base)|CF_GLOBAL|CF_SETTINGS, PLAYER_ID, NODE_CLASS, PRI_MAXIMUM+600, (nodecreate)Create, (nodedelete)Delet转载 2011-03-23 14:57:00 · 309 阅读 · 0 评论 -
TCPMP概述
TCPMP是一个功能强大开放式的开源多媒体播放器,播放器主要由核心框架模块(common工程)和解码器分离器插件组成。 TCPMP的插件非常多,我们联合几个最常用的插件(interface、ffmpeg、libmad、splitter)来说明,其中interface插件实现TCPMP的界面,由于他和媒体播放没有什么关系,这部分可以完全被替换掉,替换成自己的界面。 ffmpeg工转载 2011-03-23 10:40:00 · 437 阅读 · 0 评论