The SystemWake member of DEVICE_CAPABILITIES contains the lowest (least-powered) system power state from which the device can wake the system, or PowerSystemUnspecified if the device cannot wake the system.
バス ドライバーは、デバイスを列挙するときにこの値を設定します。 上位レベルのドライバーでは、値を高い電力の状態に変更できますが、下位の電源の状態に変更することはできません。 For example, if the bus driver sets SystemWake to S3 but a driver further up the device stack supports wake-up only from S2, the higher-level driver can change the value to S2. If a driver changes SystemWake, it might also have to change DeviceWake, as explained in the next section.
ドライバーは、変更された値をデバイス スタックに反映する必要はほとんどありません。 変更によってデバイス機能の制限が強化されるため、下位のドライバーには、処理できない要求が表示されません。 前の例では、上位レベルのドライバーは、S2 よりも低い電源の状態からシステムをスリープ解除する要求に失敗するため、低いドライバーではこのような要求が表示されません。 However, if a lower driver must be aware of any changes, it can send a PnP IRP_MN_QUERY_CAPABILITIES to its own device stack during its processing of an IRP_MN_START_DEVICE.
If both the SystemWake and DeviceWake members are nonzero (that is, not PowerSystemUnspecified), then the device and its drivers support wake-up on this system.
On non-ACPI hardware, this member always contains zero (PowerSystemUnspecified).