デバイスがスリープ状態のときの I/O 要求のキュー

デバイスがスリープ状態のとき、ドライバーは、そのデバイスに送信されるすべての I/O 要求をキューに登録する必要があります。 IoAllocateWorkItemIoQueueWorkItem、および IoFreeWorkItem サポート ルーチンは、遅延処理のために IRP をキューに入れる 1 つの方法を提供します。 例については、「デバイスが一時停止しているときに受信 IRP を保持」の PnP ドライバーについて説明したキュー メカニズムを参照してください。

ドライバーがそのデバイスにアクセスできるのは、は、デバイスが動作中 (D0) 状態の場合のみです。 デバイスがスリープ状態の場合、ドライバーはデバイス レジスタにアクセスすることができません。デバイスを最初に作業状態に戻す必要があります。