WDF_IO_QUEUE_DRAINED function (wdfio.h)

[Applies to KMDF and UMDF]

The WDF_IO_QUEUE_DRAINED function returns TRUE if the I/O queue's state indicates that the queue is drained.

Syntax

BOOLEAN WDF_IO_QUEUE_DRAINED(
  [in] WDF_IO_QUEUE_STATE State
);

Parameters

[in] State

A WDF_IO_QUEUE_STATE-typed value that WdfIoQueueGetState returns.

Return value

WDF_IO_QUEUE_DRAINED returns TRUE if the specified queue state indicates that the queue is drained. Otherwise, the function returns FALSE.

Remarks

An I/O queue is drained if it is not accepting new I/O requests, and if all requests that were in the queue have been delivered to the driver.

Your driver can call WDF_IO_QUEUE_DRAINED after it has called WdfIoQueueGetState.

For more information about I/O queue states, see WDF_IO_QUEUE_STATE.

Examples

The following code example is a routine that returns TRUE if a specified I/O queue is drained.

BOOLEAN
IsQueueDrained(
    IN WDFQUEUE Queue
    )
{
    WDF_IO_QUEUE_STATE queueStatus;
    queueStatus = WdfIoQueueGetState(
                                     Queue,
                                     NULL,
                                     NULL
                                     );
    return (WDF_IO_QUEUE_DRAINED(queueStatus)) ? TRUE : FALSE;
}

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Header wdfio.h (include Wdf.h)
Library None
IRQL Any IRQL.

See also

WDF_IO_QUEUE_IDLE

WDF_IO_QUEUE_PURGED

WDF_IO_QUEUE_READY

WDF_IO_QUEUE_STOPPED