Platform SDK: Files and I/O

PostQueuedCompletionStatus

The PostQueuedCompletionStatus function posts 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, // bytes transferred
  ULONG_PTR dwCompletionKey,        // completion key 
  LPOVERLAPPED lpOverlapped         // overlapped buffer
);

Parameters

CompletionPort
[in] Handle to an I/O completion port to which the I/O completion packet is to be posted.
dwNumberOfBytesTransferred
[in] Specifies a value to be returned through the lpNumberOfBytesTransferred parameter of the GetQueuedCompletionStatus function.
dwCompletionKey
[in] Specifies a value to be returned through the lpCompletionKey parameter of the GetQueuedCompletionStatus function.
lpOverlapped
[in] 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.

Requirements

  Windows NT/2000: Requires Windows NT 3.51 or later.
  Windows 95/98: Unsupported.
  Header: Declared in Winbase.h; include Windows.h.
  Library: Use Kernel32.lib.

See Also

File I/O Overview, File I/O Functions, CreateIoCompletionPort, GetQueuedCompletionStatus, OVERLAPPED