WDF_IO_QUEUE_DRAINED 函数 (wdfio.h)

[适用于 KMDF 和 UMDF]

如果 I/O 队列的状态指示队列已清空,则 WDF_IO_QUEUE_DRAINED 函数返回 TRUE

语法

BOOLEAN WDF_IO_QUEUE_DRAINED(
  [in] WDF_IO_QUEUE_STATE State
);

参数

[in] State

WdfIoQueueGetState 返回的WDF_IO_QUEUE_STATE类型的值。

返回值

如果指定的队列状态指示队列已清空,则WDF_IO_QUEUE_DRAINED返回 TRUE。 否则,函数返回 FALSE

注解

如果 I/O 队列不接受新的 I/O 请求,并且队列中的所有请求都已传递到驱动程序,则会将其排空。

驱动程序可以在调用 WdfIoQueueGetState 后调用 WDF_IO_QUEUE_DRAINED

有关 I/O 队列状态的详细信息,请参阅 WDF_IO_QUEUE_STATE

示例

下面的代码示例是一个例程,在排空指定的 I/O 队列时返回 TRUE

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

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
标头 wdfio.h (包括 Wdf.h)
Library
IRQL 任何 IRQL。

另请参阅

WDF_IO_QUEUE_IDLE

WDF_IO_QUEUE_PURGED

WDF_IO_QUEUE_READY

WDF_IO_QUEUE_STOPPED