HasOverlappedIoCompleted

[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