Sdílet prostřednictvím


výslovný souhlas s okamžitým vypršením časového limitu nečinnosti

Toto téma popisuje hodnotu registru ImmediateIdle, kterou ovladač systému Windows může použít k okamžitému vypnutí napájení, pokud už není potřeba napájení.

Kromě výchozích nastavení napájení probíraných v Nastavení napájení registru PortCls, systém Windows 8 zavedl hodnotu registru ImmediateIdle, která se nachází také v klíči registru PowerSettings přidruženého ovladače.

Tento inf soubor ukazuje, jak nastavit ImmediateIdle.

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

ImmediateIdle má datový typ REG_DWORD a výchozí hodnota je "0", která odpovídá hodnotě NEPRAVDA. V předchozím fragmentu syntaxe hexadecimální hodnota "0" znamená, že zařízení se okamžitě nevypne, když už není potřeba napájení.

Aby se ovladač přihlásil k okamžitému vypnutí, pokud už napájení nepotřebujete, musíte použít následující syntaxi:

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

V předchozím příkladu se šestnáctkové hodnoty 1 rovná hodnotě PRAVDA a znamená to, že zařízení okamžitě vypne, když už napájení nepotřebujete.

Když architektura řízení spotřeby za běhu vyvolá zpětné volání pro metodu DevicePowerRequired, což znamená, že zařízení už nevyžaduje napájení, PortCls pak požádá ORP napájení zařízení pro D-State označenou hodnotou registru IdlePowerState. Pokud není zadán žádný stav, použije se výchozí hodnota D3.

Pokud se ovladač přihlásí k okamžitému nečinnému řízení spotřeby, musí zajistit, aby modul plug-in Power Engine (PEP) systému obsahoval logiku potřebnou k tomu, aby zbytečně a nepřetržitě vytáhla adaptér nahoru a dolů pro irp přijaté okamžitě po sobě. Některá pravidla rezidence by se měla použít, aby se zařízení zaplněly pro dávky vstupně-výstupních požadavků.

Kromě toho rozhraní zavedené v systému Windows 7, které umožňuje ovladačům programově povolit nebo zakázat nečinné řízení spotřeby, je nadále dodržena, pokud ovladač nemá výslovný souhlas s okamžitým nečinným řízením spotřeby. To se provádí prostřednictvím IPortClsPower::SetIdlePowerManagement metoda a přepíše nastavení v registru, s výjimkou případu, kdy ImmediateIdle je nastavena na 1 (TRUE).