设备睡眠时将 I/O 请求排队

当设备处于睡眠状态时,其驱动程序应将定向到设备的任何 I/O 请求排队。 IoAllocateWorkItemIoQueueWorkItemIoFreeWorkItem 支持例程提供了一种将 IRP 排队以用于延迟处理的方法。 有关示例,请参阅 在设备暂停时保留传入 IRP 中为 PnP 驱动程序描述的队列机制。

仅当设备处于“工作 (D0) ”状态时,驱动程序才能访问其设备。 当设备处于睡眠状态时,驱动程序无法触摸任何设备寄存器;设备必须首先返回到“工作”状态。