通过PostQueuedCompletionStatus功能,您可以将I / O完成数据包发送到I / O完成端口。I / O完成数据包将满足对GetQueuedCompletionStatus功能的未完成调用。GetQueuedCompletionStatus函数返回三个作为调用PostQueuedCompletionStatus的第二个,第三个和第四个参数传递的值。
BOOL PostQueuedCompletionStatus(
HANDLE【CompletionPort】, | //处理I / O完成端口 |
DWORD 【dwNumberOfBytesTransferred】, | //返回值 // GetQueuedCompletionStatus' //【lpNumberOfBytesTranferred】 |
DWORD【dwCompletionKey】, | //返回值 // GetQueuedCompletionStatus' //【lpCompletionKey】 |
LPOVERLAPPED【lpOverlapped的】 | //返回值 // GetQueuedCompletionStatus'【lpOverlapped的】 |
); |
参数
【CompletionPort】
处理要发布I / O完成数据包的I / O完成端口。
【dwNumberOfBytesTransferred】
指定通过GetQueuedCompletionStatus函数的【lpNumberOfBytesTransferred】参数返回的值。
【dwCompletionKey】
指定通过GetQueuedCompletionStatus函数的【lpCompletionKey】参数返回的值。
【lpOverlapped的】
指定通过GetQueuedCompletionStatus函数的【lpOverlapped的】参数返回的值。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
有关【dwNumberOfBytesTransferred】,【dwCompletionKey】和【lpOverlapped的】的更多信息,请参阅GetQueuedCompletionStatus以及这些值返回的参数说明。
也可以看看
CreateIoCompletionPort, GetQueuedCompletionStatus, OVERLAPPED