Freigeben über


Besitz von Power Policy

Für jedes Gerät muss einer (und nur einer) der Treiber des Geräts der Energierichtlinien-Besitzer sein. Der Besitzer der Energierichtlinie bestimmt den entsprechenden Gerätestromzustand für ein Gerät und sendet Anforderungen an den Treiberstapel des Geräts, wenn sich der Energiezustand des Geräts ändern sollte.

Frameworkbasierte Treiber enthalten keinen Code, der Änderungen im Energiezustand eines Geräts anfordert, da das Framework diesen Code bereitstellt. Standardmäßig fordert das Framework, wenn das System in einen Schlafzustand wechselt, den Treiber auf, den Bus Ihres Geräts aufzufordern, den Geräteleistungszustand auf D3 zu senken. (Ihr Treiber kann das Standardverhalten ändern, sodass das Framework den Standbyzustand Ihres Geräts auf D1 oder D2 festlegt, wenn das Gerät Wake-up-Funktionen bereitstellt.) Wenn die Systemleistung in den Arbeitszustand (S0) zurückkehrt, fordert das Framework den Bustreiber auf, Ihr Gerät in den Arbeitszustand (D0) wiederherzustellen.

Der Besitzer der Energierichtlinie ist auch für das Aktivieren und Deaktivieren der folgenden Gerätefunktionen verantwortlich:

  • Die Fähigkeit Ihres Geräts, einen Energiesparzustand (Ruhezustand) einzugeben, wenn es sich im Leerlauf befindet und das System im Arbeitszustand (S0) bleibt.

  • Die Fähigkeit Ihres Geräts, sich selbst aus einem Ruhezustand zu reaktivieren, wenn es ein externes Ereignis erkennt

  • Die Fähigkeit Ihres Geräts, das gesamte System aus einem Ruhezustand des Systems aufzuwachen, wenn es ein externes Ereignis erkennt

Wenn Ihr Gerät diese Leerlauf- und Systemaktivierungsfunktionen unterstützt, kann der Besitzer der Energierichtlinie auch WdfDeviceInitSetPowerPolicyEventCallbacks aufrufen, um eine Reihe von Energie-Callback-Funktionen zu registrieren.

Standardmäßig ist der Funktionstreiber des Geräts für frameworkbasierte Treiber der Besitzer der Energierichtlinie. (Wenn kein Funktionstreiber vorhanden ist und der Bustreiber WdfPdoInitAssignRawDevice aufgerufen hat, ist der Bustreiber der Besitzer der Energieverwaltungsrichtlinie). Wenn Sie den Besitzer der Energierichtlinie für einen Treiberstapel ändern möchten, muss der Standardbesitzer der Energierichtlinie WdfDeviceInitSetPowerPolicyOwnership aufrufen, um den Besitz zu deaktivieren, und der Treiber, der der Besitzer der Energierichtlinie sein wird, muss WdfDeviceInitSetPowerPolicyOwnership aufrufen, um den Besitz zu aktivieren.

Das Framework führt die folgenden Aufgaben für den Eigentümer der Energiepolitik aus:

  • Es behandelt die gesamte Energierichtlinienkommunikation zwischen Ihrem Treiber und dem Rest des Treiberstapels. Beispielsweise muss Ihr Treiber den Bustreiber nicht darum bitten, den Energiezustand des Geräts zu ändern, da das Framework diese Anforderung übernimmt.

  • Wenn Ihr Treiber Ereignisrückruffunktionen der Energieverwaltung registriert, ruft das Framework sie auf, wenn es an der Zeit ist, die Fähigkeit des Geräts zu aktivieren oder zu deaktivieren, sich selbst aus einem Energiesparzustand zu wecken.

  • Wenn Ihr Treiber Benutzern das Ändern von Leerlauf- und Wake-Einstellungen ermöglicht, stellt das Framework eine Benutzeroberfläche in Form einer Eigenschaftenblattseite bereit, die vom Geräte-Manager angezeigt wird.

Weitere Informationen zu den Zuständigkeiten des Besitzers der Energierichtlinie finden Sie in den folgenden Themen: