Partager via


SystemWake

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.

Le pilote de bus définit cette valeur lorsqu’il énumère l’appareil. Un pilote de niveau supérieur peut changer la valeur en état plus alimenté, mais ne peut pas le changer en état moins alimenté. 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.

Les pilotes doivent rarement propager les valeurs modifiées dans la pile des appareils. Étant donné que les modifications rendent les fonctionnalités d’appareil plus restrictives, les pilotes inférieurs ne voient pas les demandes qu’ils ne peuvent pas gérer. Dans l’exemple précédent, un pilote de niveau supérieur échoue à toute requête pour réveiller le système à partir d’un état inférieur à S2, de sorte que les pilotes inférieurs ne voient jamais une telle demande. 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).