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 |
DWORD dwCompletionKey, |
// value to return via |
LPOVERLAPPED lpOverlapped |
// value to return via |
); |
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 .
For more information concerning dwNumberOfBytesTransferred, dwCompletionKey, and lpOverlapped, see GetQueuedCompletionStatus and the descriptions of the parameters those values are returned through.
CreateIoCompletionPort, GetQueuedCompletionStatus, OVERLAPPED