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 请求,并且队列中的所有请求都已传递到驱动程序,则会耗尽 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)
图书馆 没有
IRQL 任何 IRQL。

另请参阅

WDF_IO_QUEUE_IDLE

WDF_IO_QUEUE_PURGED

WDF_IO_QUEUE_READY

WDF_IO_QUEUE_STOPPED