システム電源操作

電源マネージャーは、システムの電源状態を設定またはクエリする IRP を送信するときに、電源状態の変更に関する情報を提供する追加のパラメーターと共にシステムの電源状態を指定します。 Irp->Parameters.Power.ShutdownType で渡されるこのパラメーターは、POWER_ACTION 型の列挙子です。 列挙子は、次の表に示すように、システム電源状態要求を特徴付けます。

POWER_ACTION 列挙子 システム電源状態要求

PowerActionNone

S0 または有効なシステム電源 IRP なし

PowerActionSleep

S1、S2、または S3

PowerActionHibernate

S4

PowerActionShutdown (Microsoft Windows 2000 以降のシステムのみ)

S5

PowerActionShutdownReset

S5

PowerActionShutdownOff

S5

ドライバーが S5 のシステム クエリまたは set-power IRP を受信すると、要求されたシャットダウンの詳細について、ShutdownType を確認できます。 ドライバーはこの情報を使用して、コンピュータの電源オフ時ではなくリセット時に、無期限にシャットダウン シーケンスを最適化できます。 ほとんどのデバイスのドライバーは、システムのリセット時に電力を保持します。 ただし、ダイレクト メモリ アクセス (DMA) を実行するビデオ ストリーミング デバイスなどの特定のデバイスの場合、ドライバーは、システムのリセット時にデバイスの電源を切り、進行中の I/O を停止する場合があります。

デバイス電源ポリシーの所有者は、システム電源 IRP に応答してデバイスの電源 IRP をデバイス スタックに送信するとき、ドライバーは、ShutdownType パラメーターを使用して、現在のシステム電源 IRP に関する情報を取得できます。 この場合、ShutdownType の値は、現在要求されているシステム電源状態を示します。システム要求が未処理でない場合は PowerActionNone になります。 ただし、ドライバーは、デバイス IRP が状態 D0 を要求する場合は、この情報に依存することはできません。

Windows 98/Me では、IRP がデバイスの 電源状態を要求すると、このメンバーには常に PowerActionNone が含まれます。