艾的荒原 - aishui0905的BLOG http://aishui0905.52rd.net/ - 复制 - 收藏
博 文
WinCE API (From Net) 03 (2008-4-25 23:31)
WinCE的EnterCriticalSection和LeaveCriticalSection函数:   多个线程操作相同的数据时,一般是需要按顺序访问的,否则会引导数据错乱,无法控制数据,变成随机变量。为解决这个问题,就需要引入互斥变量,让每个线程都按顺序地访问变量。这样就需要使用EnterCriticalSection和LeaveCriticalSection函数。 函数EnterCriticalSection和LeaveCriticalSection声明如下: WINBASEAPI VOID WINAPI EnterCriticalSection(     __inout LPCRITICAL_SECTION lpCriticalSection     );     WINBASEAPI VOID WINAPI LeaveCriticalSection(     __inout LPCRITICAL_SECTION lpCriticalSection     ); lpCriticalSection是创建临界区对象。 调用函数的例子如下: #001 CCaiWinMsg::CCaiWinMsg(void) #002 { #003    m_hBtn = NULL; #004    m_nCount = 0; #005 #006    m_pThreadA = NULL; #007    m_pThreadB = NULL; #008 #009   // #010   InitializeCriticalSection(&m_csCount); #011 #012 } #013 #014 CCaiWinMsg::~CCaiWinMsg(void) #015 { #016   DeleteCriticalSection(&m_csCount); #017 } #018 第10行是创建临界区对象。 第16行是删除临界区对象。 #001 // #002 //窗口的消息处理类。 #003 //蔡军生 2007/08/13 #004 // #005 class CCaiWinMsg ...
WinCE API (From Net) 02 (2008-4-25 23:29)
WriteFile和ReadFile函数: 读写文件是每个Windows软件开发人员都需要做的工作。可见这项工作是非常重要的,毕竟各种各样的数据都需要保存起来,以便作各种各样的分析,或者通过网络传送给别人。像大家用BT下载的电影,在那个BT软件里,就需要不断从网络里接收到数据,然后再把这些数据保存到文件里合适的位置,就可以生成跟发行者那里一样的文件,这样才可以播放出来。又比如我在玩《征途》的游戏里,刚刚打开游戏时,它就不断从服务器上下载更新的文件下来,然后保存到硬盘。WriteFile函数是用来写数据到文件,ReadFile函数是从文件里读取数据出来。但这两个函数不但可以读取写磁盘的文件,也可以接收和发送网络的数据,还有读写串口、USB、并口等设备的数据。在读写文件里,首先就是先打开文件,然后判断打开是否成功。在写文件时,同时要注意磁盘的空间是否满等问题。在读取文件时,往往需要读取不同位置的文件,比如要读取一个4G的视频文件,就不可能完全把它读取到内存里,因此就需要对文件进行定位读取。   函数WriteFile和ReadFile声明如下: WINBASEAPI BOOL WINAPI WriteFile(     __in        HANDLE hFile,     __in_bcount(nNumberOfBytesToWrite) LPCVOID lpBuffer,     __in        DWORD nNumberOfBytesToWrite,     __out_opt   LPDWORD lpNumberOfBytesWritten,     __inout_...
WinCE API (From Net) 01 (2008-4-25 23:22)
1
博 主
进入aishui0905的首页
博客名称:艾的荒原
日志总数:3
评论数量:0
访问次数:4677
建立时间:2008-4-25 23:22:00
导 航
公 告
评 论
链 接