SystemWake

DEVICE_CAPABILITIESSystemWake成員包含最低 (最低電源) 系統電源狀態,裝置可以從中喚醒系統,或裝置無法喚醒系統時,PowerSystemUnspecified

當匯流排驅動程式列舉裝置時,會在 設定此值。 較高層級的驅動程式可以將值變更為較高的電源狀態,但無法將其變更為較低電源的狀態。 例如,如果匯流排驅動程式將 SystemWake 設定為 S3,但裝置堆疊進一步的驅動程式僅支援從 S2 喚醒,則較高層級驅動程式可以將值變更為 S2。 如果驅動程式變更 SystemWake,可能也必須變更 DeviceWake,如下一節所述。

驅動程式很少需要將變更的值傳播回裝置堆疊。 由於變更會使裝置功能更嚴格,因此較低的驅動程式不會看到無法處理的要求。 在上一個範例中,較高層級的驅動程式無法從低於 S2 的電源狀態喚醒系統的任何要求,因此較低驅動程式永遠不會看到這類要求。 不過,如果較低的驅動程式必須注意任何變更,它可以在處理IRP_MN_START_DEVICE期間,將 PnP IRP_MN_QUERY_CAPABILITIES傳送至自己的裝置堆疊。

如果 SystemWakeDeviceWake 成員都是非零 (,而不是 PowerSystemUnspecified) ,則裝置及其驅動程式支援此系統上的喚醒。

在非 ACPI 硬體上,此成員一律會包含零 (PowerSystemUnspecified) 。