Compartir a través de


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.

El controlador de bus establece este valor en cuando enumera el dispositivo. Un controlador de nivel superior puede cambiar el valor a un estado de mayor potencia, pero no puede cambiarlo a un estado de menor potencia. 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.

Los controladores rara vez necesitan propagar los valores modificados hacia atrás en la pila del dispositivo. Dado que los cambios hacen que las funcionalidades del dispositivo sean más restrictivas, los controladores más bajos no ven las solicitudes que no pueden controlar. En el ejemplo anterior, un controlador de nivel superior produce un error en cualquier solicitud para reactivar el sistema desde un estado de menor potencia que S2, por lo que los controladores más bajos nunca ven dicha solicitud. 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).