[New - Windows NT]
The HasOverlappedIoCompleted macro provides a high performance test operation that can be used to poll for the completion of an outstanding I/O operation.
BOOL HasOverlappedIoCompleted(
LPOVERLAPPED lpOverlapped | |
); |
Parameters
lpOverlapped
Points to an OVERLAPPED structure that was specified when the overlapped I/O operation was started.
Return Value
Returns TRUE if the I/O operation has completed, and FALSE otherwise.
Remarks
To cancel all pending asynchronous I/O operations, use the CancelIO function. This function only cancels operations issued by the calling thread for the specified file handle. I/O operations that are canceled complete with the error ERROR_OPERATION_ABORTED.
To get more details about a completed I/O operation, call the GetOverlappedResult or GetQueuedCompletionStatus function.
The HasOverlappedIoCompleted macro is defined as follows:
#define HasOverlappedIoCompleted(lpOverlapped) \
((lpOverlapped)->Internal != STATUS_PENDING)
See Also
CancelIo, ConnectNamedPipe, DeviceIoControl, OVERLAPPED, ReadFile, TransactNamedPipe, WaitCommEvent, WriteFile