Prev Next

HasOverlappedIoCompleted info  Overview  Group

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

See: