
Windows核心编程5
河静水深-人静心深
天高任鸟飞我不是鸟这片天也不高.我是程序猿我为自己带盐。
展开
-
异步过程调用APC
每个线程都有个APC队列,在线程为可提醒状态时, 线程会调用队列中每一项的完成函数。 向线程添加APC项的函数为QueueUserAPC, 设置线程为可提醒状态的函数为SleepEx, WaitForSingleObjectEx等。当APC队列没有其他项时,对可提醒函数的调用会返回,只要队列至少有一项,线程就不会睡眠。原创 2015-10-25 14:06:14 · 477 阅读 · 0 评论 -
线程同步函数
MsgWaitForMultipleObjects挂起当前线程但还可以接受消息SignalObjectAndWait触发和等待内核对象,均是原子操作. 例如一个线程SetEvent(A)后调用WaitForSingleObject(B),另一个线程WaitForSingleObject(A)后调用PulseEvent(B),有可能造成死锁.原创 2015-10-13 22:49:03 · 344 阅读 · 0 评论 -
win32 api设置文件大小
SetFilePointerEx(hFileDst, FileSize, NULL, FILE_BEGIN);SetEndOfFile(hFileDst);原创 2015-10-26 22:49:34 · 1125 阅读 · 0 评论 -
完成端口
1. 创建并绑定到设备IO BOOL Create(int nMaxConcurrency = 0) { m_hIOCP = CreateIoCompletionPort( INVALID_HANDLE_VALUE, NULL, 0, nMaxConcurrency); chASSERT(m_hIOCP != NULL); return(原创 2015-10-26 22:58:51 · 341 阅读 · 0 评论 -
c++中的类型转换函数定义
类型转换函数的作用是将一个类的对象转换成另一类型的数据,所以只能定义为类成员函数。类型转换函数的一般形式为: operator 类型名( ) { 实现转换的语句 }如:operator double( ) { return real; }类对象只有在需要时才进行转换,要根据表达式的上下文来决定。原创 2016-01-02 22:37:23 · 1167 阅读 · 0 评论