Udostępnij przez


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.

Sterownik magistrali ustawia tę wartość w momencie wyliczania urządzenia. Sterownik wyższego poziomu może zmienić wartość na stan o wyższej mocy, ale nie może zmienić go na stan niższej mocy. 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.

Sterowniki rzadko muszą propagować zmienione wartości z powrotem w stosie urządzenia. Ponieważ zmiany powodują, że możliwości urządzenia są bardziej restrykcyjne, niższe sterowniki nie widzą żądań, których nie mogą obsłużyć. W poprzednim przykładzie sterownik wyższego poziomu kończy się niepowodzeniem żądania wznawiania systemu z niższego stanu zasilania niż S2, więc niższe sterowniki nigdy nie widzą takiego żądania. 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).