Sdílet prostřednictvím


Hlásicí zařízení zapnuto, když se systém vrátí do režimu S0

[Platí jenom pro KMDF]

Když se systém vrátí do svého pracovního stavu (S0) ze stavu nízké spotřeby, správce PnP odešle systémovou IRP dotaz (IRP_MN_SET_POWER) k navrácení zařízení do jeho pracovního stavu (D0). WDF vyřizuje systémové IRP pro nastavení napájení. Vzhledem k tomu, že ve scénáři s více komponentami se ovladač přímo zaregistroval ve frameworku správy napájení (PoFx), ovladač musí zavolat PoFxReportDevicePoweredOn, když zařízení dokončilo přechod do plně zapnutého (D0) stavu napájení. Ovladač toho může dosáhnout registrací rutiny WDM pro předzpracování, aby obdržel oznámení, když dorazí IRP pro nastavení výkonu systému.

Ovladač může použít následující postup:

  1. Zavolat WdfDeviceInitAssignWdmIrpPreprocessCallback k registraci zpětné volací funkce EvtDeviceWdmIrpPreprocess pro IRP_MN_SET_POWER. V rámci zpětného volání nastaví ovladač příznak v rozšíření svého zařízení, aby indikoval, že při dalším zpětném volání EvtDeviceD0Entry musí volat PoFxReportDevicePoweredOn.
  2. V EvtDeviceD0Entry, pokud je příznak nastaven, ovladač vymaže příznak a zavolá PoFxReportDevicePoweredOn.
  3. Ovladač také zkontroluje příznak v EvtDeviceSelfManagedIoFlush. Pokud je příznak nastavený, zařízení se nepodařilo vrátit do D0 a zařízení bylo odebráno. V tomto případě ovladač volá PoFxReportDevicePoweredOn a pak zruší registraci s rámcem napájení.