The PostQueuedCompletionStatus function lets you post an I/O completion packet to an I/O completion port. The I/O completion packet will satisfy an outstanding call to the GetQueuedCompletionStatus function. The GetQueuedCompletionStatus function returns with the three values passed as the second, third, and fourth parameters of the call to PostQueuedCompletionStatus.
BOOL PostQueuedCompletionStatus(
HANDLE CompletionPort, | // handle to an I/O completion port |
DWORD dwNumberOfBytesTransferred, | // value to return via // GetQueuedCompletionStatus' // lpNumberOfBytesTranferred |
DWORD dwCompletionKey, | // value to return via // GetQueuedCompletionStatus' // lpCompletionKey |
LPOVERLAPPED lpOverlapped | // value to return via // GetQueuedCompletionStatus' lpOverlapped |
); |
Parameters
CompletionPort
Handle to an I/O completion port that you want to post an I/O completion packet to.
dwNumberOfBytesTransferred
Specifies a value to be returned through the lpNumberOfBytesTransferred parameter of the GetQueuedCompletionStatus function.
dwCompletionKey
Specifies a value to be returned through the lpCompletionKey parameter of the GetQueuedCompletionStatus function.
lpOverlapped
Specifies a value to be returned through the lpOverlapped parameter of the GetQueuedCompletionStatus function.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError .
Remarks
For more information concerning dwNumberOfBytesTransferred, dwCompletionKey, and lpOverlapped, see GetQueuedCompletionStatus and the descriptions of the parameters those values are returned through.
See Also
CreateIoCompletionPort, GetQueuedCompletionStatus, OVERLAPPED