Podpora Multiple-Component zařízení s jedním nebo několika funkčními stavy napájení
[Platí jenom pro KMDF]
Ovladač KMDF pro zařízení s více součástmi může definovat jeden nebo více funkčních stavů napájení pro každou komponentu.
V tomto případě se ovladač zaregistruje přímo ve frameworku pro řízení spotřeby (PoFx). Chcete-li určit, že se WDF nemá registrovat v PoFx, ovladač volá WdfDeviceAssignS0IdleSettings s členem struktury IdleTimeoutTypeWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS nastaveným na DriverManagedIdleTimeout. Ovladač obvykle volá tuto metodu z její funkce zpětného volání EvtDriverDeviceAdd.
V dalším kroku se řidič musí zaregistrovat v PoFx. K tomu ovladač volá PoFxRegisterDevice a pak PoFxStartDevicePowerManagement. Ovladač se musí zaregistrovat u PoFx pouze jednou, když se zařízení poprvé spustí. Jedním ze způsobů, jak to udělat, je volání těchto rutin z funkce EvtDeviceSelfManagedIoInit dodané ovladačem. EvtDeviceSelfManagedIoInit se nazývá pouze při prvním spuštění zařízení.
Po odebrání zařízení musí ovladač zavolat PoFxUnregisterDevice odregistrovat zařízení z PoFx. Chcete-li zrušit registraci pouze jednou, doporučujeme, aby ovladač volal tuto rutinu ze své funkce EvtDeviceSelfManagedIoFlush. EvtDeviceSelfManagedIoFlush se volá pouze, když je zařízení odebíráno. Zrušením registrace v EvtDeviceSelfManagedIoFlushsi ovladač zachová registraci napájení během přechodů režimu spánku a obnovení rovnováhy a nemusí udržovat odkazy na napájení pro vstupně-výstupní požadavky, které během těchto přechodů zůstávají čekající.
Když ovladač volá PoFxRegisterDevice, obdrží popisovač registrace napájení (energie) (POHANDLE), který může použít k interakci přímo s PoFx, jak je popsáno v následujících tématech:
- Koordinace požadavků na vstup a výstup se stavem napájení komponent
- hlásící zařízení se zapne, když se systém vrátí na S0
- Podpora režimu nečinnosti Power-Down na zařízeních Multiple-Component
Kromě toho může ovladač volat rutiny „power framework“ přímo a odesílat požadavky řízení výkonu a určovat latenci, rezidenci a požadavky na probuzení.
Další informace o PoFx naleznete v tématu Přehled architektury řízení spotřeby.