Sdílet prostřednictvím


Zpracování dotazu IRP_MN_QUERY_POWER pro systémové stavy napájení

Power manager odešle IRP napájení s vedlejším kódem IRP IRP_MN_QUERY_POWER a SystemPowerState v Parameters.Power.Type, aby určil, zda se může bezpečně změnit na zadaný stav napájení systému (S1-S5) a umožnil ovladačům se na takovou změnu připravit.

Kdykoli je to možné, power manager provádí dotazy před odesláním IRP_MN_SET_POWER, který požaduje nižší (méně výkonný) stav. V případě selhání baterie nebo bezprostřední ztráty energie však správce napájení odešle IRP pro nastavení napájení, aniž by se nejprve dotazoval. Power Manager nikdy neodesílá dotaz před odesláním protokolu IRP k nastavení systému v pracovním stavu (S0).

Pro informace o tom, jak vlastník zásad napájení zařízení zpracovává požadavky na dotazy na systémovou energii, se podívejte na Zpracování systémového Query-Power IRP u vlastníka zásady napájení zařízení.

Informace o tom, jak ovladače (které nejsou vlastníkem zásad napájení pro zařízení) zpracovávají požadavky na výkon systému, najdete v následujících tématech:

Zpracování systémového Query-Power protokolu IRP v ovladači filtru nebo funkce

Když dojde k selhání IRP systému Query-Power ve filtračním nebo funkčním ovladači

Zpracování systémového Query-Power IRP v ovladači sběrnice

Všimněte si, že ovladač nikdy nesmí odeslat požadavek zařízení IRP_MN_SET_POWER jako reakci na dotaz systému; takový IRP požaduje pouze poté, co obdrží požadavek na nastavení napájení systému.

Vzhledem k tomu, že správce napájení odešle systémový dotaz IRP do každého zásobníku zařízení v systému, je možné, že ovladač jednoho zařízení může dotaz selhat, zatímco ovladače jiných zařízení úspěšně dokončí. Počínaje systémem Windows Vista je změna stavu napájení systému na stav spánku zásadní změnou stavu napájení. I když ovladač neuspěje u systémového dotazu na IRP, správce napájení v systému Windows Vista může přesto změnit napájecí stav systému na režim spánku. Je také možné, že baterie může vypršet, když je dotaz aktivní a vyžaduje okamžité vypnutí. V důsledku toho musí být ovladače po dotazovacím IRP připravené na příjem některého z následujících napájecích IRP:

  • IRP_MN_SET_POWER do dotazovaného stavu

  • IRP_MN_SET_POWER přechod do jiného stavu napájení

  • IRP_MN_SET_POWER k aktuálnímu stavu napájení

  • IRP_MN_QUERY_POWER do libovolného stavu

Ovladač však obvykle obdrží IRP nastavení napájení systému po systémovém dotazu IRP. Bez ohledu na to musí být ovladač připraven změnit stav napájení systému, i když selže v dotazu IRP.