Freigeben über


SystemWake

Das SystemWake-Element von DEVICE_CAPABILITIES enthält den niedrigsten Systemstromzustand (mit der geringsten Stromversorgung), aus dem das Gerät das System reaktivieren kann, oder PowerSystemUnspecified , wenn das Gerät das System nicht reaktivieren kann.

Der Bustreiber legt diesen Wert auf 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, aber nicht in einen zustand mit niedrigerer Leistung. Wenn der Bustreiber z. B. SystemWake auf S3 festlegt, aber ein Treiber, der weiter oben im Gerätestapel liegt, die Aktivierung nur von S2 unterstützt, kann der Treiber auf höherer Ebene den Wert in S2 ändern. Wenn ein Treiber SystemWake ändert, muss er möglicherweise auch DeviceWake ändern, wie im nächsten Abschnitt erläutert.

Treiber müssen nur selten geänderte Werte im Gerätestapel weitergeben. Da änderungen die Gerätefunktionen restriktiver machen, werden bei niedrigeren Treibern keine Anforderungen angezeigt, die sie nicht verarbeiten können. Im vorherigen Beispiel schlägt ein Treiber auf höherer Ebene jede Anforderung zum Reaktivieren des Systems aus einem niedrigeren Zustand als S2 fehl, sodass niedrigere Treiber niemals eine solche Anforderung sehen. Wenn ein niedrigerer Treiber jedoch Änderungen beachten muss, kann er während der Verarbeitung eines IRP_MN_START_DEVICE einen PnP-IRP_MN_QUERY_CAPABILITIES an seinen eigenen Gerätestapel senden.

Wenn sowohl die Member SystemWake als auch DeviceWake ungleich null (d. h. nicht PowerSystemUnspecified) sind, unterstützen das Gerät und seine Treiber die Aktivierung auf diesem System.

Auf Nicht-ACPI-Hardware enthält dieser Member immer null (PowerSystemUnspecified).