与套接字绑定的OVERLAPPED结构一般来说在什么时候释放?
释放的时候要注意些什么问题??
解决方案 »
- ftp 上传下载
- 看著頭皮就發麻的東西,該怎么學習。MFC
- CArchive 抛出 Endoffile 异常是真的吗?
- 如何用VC实现winnamp和歌词同步(急问!问题解决,马上结贴)
- 请用过winpcap开发的高手帮个忙亚!!!!
- 哪位大侠知道如何编程实现在要打印的文档上打印水印啊?
- sprintf(acDataTemp,"%2.2x",acDataBuf[1])
- 使用CHtmlView怎样控制它的滚动条?
- 怎么样把一个矩形图片(BMP...)扭曲成自己想要的形状?????
- 网络传输中ACK是什么意思?
- 如何让一个运行的进程执行特定操作?
- 用vc做的程序界面太单调了,非常羡慕游戏里的界面~
只要这样CloseHandle(m_ComPortItemArray[Index].ovRead.hEvent);然后你使用之前需要把这个结构清空一次.
PostQueuedCompletionStatus函数,向每个工作者线程都发送—个特殊的完成数据包。该函数会指示每个线程都“立即结束并退出”.下面是PostQueuedCompletionStatus函数的定义:
BOOL PostQueuedCompletionStatus(
HANDLE CompletlonPort,
DW0RD dwNumberOfBytesTrlansferred,
DWORD dwCompletlonKey,
LPOVERLAPPED lpoverlapped,
);
其中,CompletionPort参数指定想向其发送一个完成数据包的完成端口对象。而就dwNumberOfBytesTransferred,dwCompletionKey和lpOverlapped这三个参数来说.每—个都允许我们指定—个值,直接传递给GetQueuedCompletionStatus函数中对应的参数。这样—来。—个工作者线程收到传递过来的三个GetQueuedCompletionStatus函数参数后,便可根据由这三个参数的某一个设置的特殊值,决定何时应该退出。例如,可用dwCompletionPort参数传递0值,而—个工作者线程会将其解释成中止指令。一旦所有工作者线程都已关闭,便可使用CloseHandle函数,关闭完成端口。最终安全退出程序。