Energiefunktionen für Berichterstellungsgeräte

Während der Enumeration melden Treiber gerätespezifische Informationen als Reaktion auf eine PnP-IRP_MN_QUERY_CAPABILITIES-Anforderung . Zusammen mit anderen informationen melden Treiber die Energieverwaltungsfunktionen eines Geräts in der DEVICE_CAPABILITIES-Struktur . In der Regel füllt der Bustreiber diese Struktur aus.

Übergeordnete Treiber sollten eine IoCompletion-Routine für die Abfragefunktionen-IRP festlegen, damit sie eine lokale Kopie der Struktur erstellen und sicherstellen können, dass sie die entsprechenden Werte enthält. In der Regel sollten Treiber auf höherer Ebene diese Werte nicht ändern. Wenn jedoch eine Änderung erforderlich ist, kann ein Treiber die Gerätefunktionen weiter einschränken, aber nicht hinzufügen. Anders ausgedrückt: Ein Treiber kann die Regeln restriktiver gestalten, aber nicht lockern.

Nachdem das IRP abgeschlossen ist und alle Vervollständigungsroutinen für Treiber ausgeführt wurden, wird die Struktur zwischengespeichert, und ein Treiber kann seinen Inhalt nicht ändern.

Die folgenden Elemente der DEVICE_CAPABILITIES-Struktur beziehen sich auf die Energieverwaltung:

DeviceD1 und DeviceD2

WakeFromD0, WakeFromD1, WakeFromD2 und WakeFromD3

DeviceState

SystemWake

DeviceWake

D1Latency, D2Latency und D3Latency