Besitz von Power Policy

Für jedes Gerät muss einer (und nur einer) der Treiber des Geräts der Besitzer der Energierichtlinie des Geräts 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 soll.

Frameworkbasierte Treiber enthalten keinen Code, der Änderungen im Energiezustand eines Geräts anfordert, da das Framework diesen Code bereitstellt. Wenn das System in einen Ruhezustand des Systems wechselt, fordert das Framework standardmäßig den Treiber für den Bus Ihres Geräts auf, den Gerätestromzustand auf D3 zu senken. (Ihr Treiber kann das Standardverhalten so ändern, dass das Framework den Ruhezustand Ihres Geräts auf D1 oder D2 festlegt, wenn das Gerät Aktivierungsfunktionen bietet.) Wenn die Systemleistung in den Betriebszustand (S0) zurückkehrt, fordert das Framework den Bustreiber auf, ihr Gerät in den Betriebszustand (D0) wiederherzustellen.

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

  • Die Fähigkeit Ihres Geräts, im Leerlauf in einen Energiesparmodus zu wechseln und das System im Betriebszustand (S0) bleibt

  • Die Fähigkeit Ihres Geräts, sich 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 zu reaktivieren, wenn es ein externes Ereignis erkennt

Wenn Ihr Gerät diese Funktionen für das Herunterschalten im Leerlauf und die Systemreaktivierung unterstützt, kann der Besitzer der Energierichtlinie auch WdfDeviceInitSetPowerPolicyEventCallbacks aufrufen, um eine Reihe von Power Policy-Ereignisrückruffunktionen zu registrieren.

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

Das Framework übernimmt die folgenden Aufgaben für den Power Policy-Besitzer:

  • Es übernimmt die gesamte Energierichtlinienkommunikation zwischen Ihrem Treiber und dem rest des Treiberstapels. Beispielsweise muss Ihr Treiber den Bustreiber nicht anfordern, um den Energiezustand des Geräts zu ändern, da das Framework die Anforderung ausführt.

  • Wenn Ihr Treiber Rückruffunktionen für Power Policy-Ereignisse registriert, ruft das Framework diese auf, wenn es zeit ist, die Fähigkeit des Geräts zu aktivieren oder zu deaktivieren, sich selbst aus einem Energiesparzustand zu reaktivieren.

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

Weitere Informationen zu den Verantwortlichkeiten des Energierichtlinienbesitzers finden Sie in den folgenden Themen: