Unterstützung von Funktionsleistungszuständen

Ab Windows 8 enthält der Power Manager das Laufzeit-Energieverwaltungsframework (PoFx). PoFx unterstützt die Energie- und Taktverwaltung auf Komponenten- (oder Untergeräteebene).

Ab KMDF-Version 1.11 können KMDF-Treiber die differenzierte Leistungssteuerung nutzen, die PoFx bietet. Insbesondere kann ein KMDF-Treiber mehrere logische Komponenten innerhalb eines einzelnen Geräts definieren, die jeweils unabhängig von der Energieverwaltung verwaltet werden können.

Beispielsweise kann ein Funktionstreiber einen eindeutigen Satz von Funktionszuständen für jede logische Komponente eines Geräts definieren. Ähnlich wie geräte- und systembetriebszustände gibt F0 an, dass die Komponente vollständig eingeschaltet ist, während optionale Zustände F1, F2 usw. auf schrittweise niedrigere Leistungszustände hinweisen. Um Fx-Zustände zu unterstützen, muss ein Treiber der Besitzer der Energierichtlinie für das Gerät sein.

In der folgenden Tabelle sind die Frameworkunterstützung für verschiedene Szenarien mit funktionsbezogenem Energiezustand zusammengefasst.

Typ KMDF-Unterstützung UMDF-Unterstützung Verwendungs-/Implementierungsbeispiel

Einzelkomponente, einzeler Zustand (F0)

Unterstützt

Unterstützt

Wenn das Power Engine Plug-In (PEP) den Wert des Leerlauftimeouts bestimmen soll und Ihr Treiber nur einen F-Zustand aufweist.

Rufen Sie WdfDeviceAssignS0IdleSettings mit IdleTimeoutType = SystemManagedIdleTimout oder SystemManagedIdleTimoutWithHint auf.

Einzelne Komponente, mehrere Zustände (F0, F1, F2...)

Unterstützt

Nicht unterstützt

Wenn Ihr Treiber über mehr als einen F-Zustand verfügt.

In diesem Fall verarbeitet KMDF die meisten Interaktionen mit poFx.

Beispielcode finden Sie unter PoFx-Beispieltreiber.

Mehrere Komponenten, einzelne oder mehrere Zustände

Unterstützt mithilfe von WDM-Schnittstellen

Nicht unterstützt

Wenn Ihr Treiber über mehrere Komponenten verfügt. In diesem Fall müssen Sie die PoFx-Schnittstellen direkt verwenden.

Beispielcode finden Sie unter PoFx-Beispieltreiber.

Da KMDF eine minimale Abstraktion zusätzlich zu PoFx hinzufügt, ist es hilfreich, vor dem Schreiben des Treibers ein grundlegendes Verständnis von PoFx zu haben. Daher empfiehlt es sich, die Übersicht über das Power Management Framework zu lesen, bevor Sie diese Themen lesen.