Freigeben über


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.

Der Bustreiber legt diesen Wert fest, wenn er das Gerät aufzählt. Ein Treiber auf höherer Ebene kann den Wert in einen zustand mit höherer Leistung ändern, kann ihn jedoch nicht in einen zustandsunterstufenden Zustand ändern. 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.

Treiber müssen nur selten geänderte Werte zurück an den Gerätestapel weitergeben. Da Änderungen die Gerätefunktionen restriktiver gestalten, werden von niedrigeren Treibern keine Anforderungen angezeigt, die sie nicht verarbeiten können. Im vorherigen Beispiel schlägt ein Treiber mit höherer Ebene keine Anforderung fehl, das System aus einem niedrigeren Zustand als S2 zu reaktivieren, sodass niedrigere Treiber nie eine solche Anforderung sehen. 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).