系統電源動作

當電源管理員傳送 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 的設定電源 IRP 時,它可以檢查 ShutdownType 如需所要求關機的詳細資訊。 當機器重設而不是無限期關閉電源時,驅動程式可以使用這項資訊來優化其關機順序。 大部分裝置的驅動程式會在系統重設時保留電源。 不過,對於某些裝置,例如執行直接記憶體存取的視訊串流裝置 (DMA) ,驅動程式可能會選擇在重設系統時關閉其裝置電源,進而停止任何進行中的 I/O。

當裝置電源原則擁有者將 裝置 電源 IRP 傳送至其裝置堆疊以回應系統電源 IRP 時,驅動程式可以使用 ShutdownType 參數來取得目前 系統 電源 IRP 的相關資訊。 在此情況下, ShutdownType 的值表示目前要求的系統電源狀態,或者如果系統要求未完成,則為 PowerActionNone 。 不過,如果裝置 IRP 要求狀態 D0,驅動程式不應該依賴這項資訊。

在 Windows 98/Me 中,當 IRP 要求裝置電源狀態時,此成員一律會包含 PowerActionNone