码迷,mamicode.com
首页 > 其他好文 > 详细

CreateIoCompletionPort() 函数

时间:2016-08-17 19:23:30      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

 1 /* *********************
 2  * CreateIoCompletionPort() 函数有两个功能:
 3  * 1、创建一个完成端口;
 4  * 2、将一个设备与一个存在的完成端口进行绑定,在网络编程中这个设备就是一个SOCKET。
 5  * ********************* */
 6 
 7 // 1、创建一个完成端口的固定写法:
 8 HANDLE hCompletion = ::CreateIoCompletionPort(
 9     INVALID_HANDLE_VALUE, NULL, NULL, 0);
10 
11 // 2、将一个有效的设备(这里只以SOCKET 为例)句柄与有效的完成端口绑定
12 // 这时有一个参数非常重要,就是第三个参数,这个参数就类似创建线程时的线程参数。
13 // 可以说完全是一样的,不过这个参数会被函数 
14 // ::GetQueuedCompletionStatus() 通过参数原样带回。
15 // 当然了这里说的是写网络时,至于其他设备,暂时不了解。
16 // 显然这个参数为了完全,我们应该是在堆内存中申请空间并传送过去。
17 char *chCompletionKey = new char[1024];
18 SOCKET sockConn = WSAAccept(sockListen, NULL, NULL, NULL, 0);
19 ::CreateIoCompletionPort((HANDLE)sockConn, hCompletion, 
20     (ULONG_PRT)chCompletionKey, 0);

 

CreateIoCompletionPort() 函数

标签:

原文地址:http://www.cnblogs.com/suyunhong/p/5781177.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!