Freigeben über


Sofortiges Leerlauftimeout

In diesem Thema wird der Registrierungswert ImmediateIdle erläutert, den ein Windows-Treiber verwenden kann, um einen sofortigen Herunterschaltzustand zu aktivieren, wenn kein Strom mehr benötigt wird.

Zusätzlich zu den in den PowerCls-Energieeinstellungen für die PortCls-Registrierung beschriebenen Standardenergieeinstellungen Windows 8 einen ImmediateIdle-Registrierungswert eingeführt, der sich auch im Registrierungsschlüssel PowerSettings für den zugeordneten Treiber befindet.

Diese inf-Datei zeigt, wie ImmediateIdle festgelegt wird.

[MyAudioDevice.AddReg]
HKR,PowerSettings,ImmediateIdle,%REG_BINARY%, 0x00, 0x00, 0x00, 0x00

ImmediateIdle weist den Datentyp REG_DWORD auf, und der Standardwert ist "0", was FALSE entspricht. Im obigen Syntaxfragment bedeutet der Hexadezimalwert "0", dass das Gerät nicht sofort heruntergefahren wird, wenn kein Strom mehr benötigt wird.

Damit Ihr Treiber einen sofortigen Herunterschaltzustand aktiviert, wenn kein Strom mehr benötigt wird, müssen Sie die folgende Syntax verwenden:

[MyAudioDevice.AddReg]
HKR,PowerSettings,ImmediateIdle,%REG_BINARY%, 0x01, 0x00, 0x00, 0x00

Im vorherigen Beispiel entspricht der Hexadezimwert von "1" TRUE. Dies bedeutet, dass das Gerät sofort heruntergefahren wird, wenn kein Strom mehr benötigt wird.

Wenn das Runtime-Energieverwaltungsframework einen Rückruf für die DevicePowerRequired-Methode aufruft , der angibt, dass das Gerät keine Energie mehr benötigt, fordert PortCls dann einen Device Power IRP für den D-State an, der durch den IdlePowerState-Registrierungswert angegeben wird. Wenn kein Zustand angegeben wird, wird der Standardwert D3 verwendet.

Wenn sich ein Treiber für die sofortige Energieverwaltung im Leerlauf entscheidet, muss er sicherstellen, dass das Power Engine Plug-In (PEP) für das System die erforderliche Logik enthält, um zu verhindern, dass der Adapter unnötig und kontinuierlich hoch- und heruntergefahren wird für IRPs, die in sofortiger Folge empfangen werden. Einige Residenzregeln sollten angewendet werden, um das Gerät für Batches von E/A-Anforderungen eingeschaltet zu halten.

Darüber hinaus wird die in Windows 7 eingeführte Schnittstelle, die es Treibern ermöglicht, die Energieverwaltung im Leerlauf programmgesteuert zu aktivieren oder zu deaktivieren, weiterhin berücksichtigt, wenn sich der Treiber nicht für die sofortige Energieverwaltung im Leerlauf entschieden hat. Dies erfolgt über die IPortClsPower::SetIdlePowerManagement-Methode und würde die Einstellungen in der Registrierung außer in dem Fall überschreiben, in dem ImmediateIdle auf 1 (TRUE) festgelegt ist.