SystemWake
DEVICE_CAPABILITIES の SystemWake メンバーには、デバイスがシステムをスリープ解除できる最小 (最小電源) のシステム電源状態が含まれています。または、デバイスがシステムをスリープ解除できない場合は PowerSystemUnspecified が含まれます。
バス ドライバーは、デバイスを列挙するときにこの値を設定します。 上位レベルのドライバーでは、値を高い電力の状態に変更できますが、下位の電源の状態に変更することはできません。 たとえば、バス ドライバーが SystemWake を S3 に設定しているが、デバイス スタックの上位にあるドライバーが S2 からのウェイクアップのみをサポートしている場合、上位レベルのドライバーは値を S2 に変更できます。 ドライバーが SystemWake を変更する場合は、次のセクションで説明するように、DeviceWake も変更する必要があります。
ドライバーは、変更された値をデバイス スタックに反映する必要はほとんどありません。 変更によってデバイス機能の制限が強化されるため、下位のドライバーには処理できない要求は表示されません。 前の例では、上位レベルのドライバーは、S2 よりも低い電源の状態からシステムをスリープ解除する要求に失敗するため、低いドライバーではこのような要求は表示されません。 ただし、下位ドライバーが変更を認識する必要がある場合は、IRP_MN_START_DEVICE の処理中に PnP IRP_MN_QUERY_CAPABILITIES を独自のデバイス スタックに送信できます。
SystemWake メンバーと DeviceWake メンバーの両方が 0 以外の場合 (つまり、PowerSystemUnspecified ではない)、デバイスとそのドライバーは、このシステムでのウェイクアップをサポートします。
ACPI 以外のハードウェアでは、このメンバーには常に 0 (PowerSystemUnspecified) が含まれます。