I/O 队列状态

框架为 I/O 队列定义以下状态:

闲置
I/O 队列不包含任何 I/O 请求,并且驱动程序不会处理从 I/O 队列接收的任何请求。

准备
I/O 队列可以从框架接收 I/O 请求,并且可以将 I/O 请求传递给驱动程序。

停止
I/O 队列可以从框架接收 I/O 请求,但它无法将 I/O 请求传递给驱动程序,并且驱动程序不会处理从 I/O 队列接收的任何请求。

排水
I/O 队列为空,无法从框架接收新的 I/O 请求,并且 I/O 队列中的所有 I/O 请求都已传递到驱动程序。

清除
I/O 队列为空,无法从框架接收新的 I/O 请求,并且 I/O 队列中的所有 I/O 请求都已取消。

驱动程序调用 WdfIoQueueCreate 后,框架可以将新的 I/O 队列设置为就绪状态。 但是,仅当设备处于工作状态 (D0) 状态时, 电源管理的 I/O 队列 才会进入就绪状态。

驱动程序可以通过以下方式更改 I/O 队列的状态:

若要获取 I/O 队列的当前状态,驱动程序可以调用 WdfIoQueueGetState