Udostępnij przez


Obsługa urządzeń Multiple-Component z pojedynczymi lub wieloma funkcjonalnymi stanami energetycznymi

[Dotyczy tylko usługi KMDF]

Sterownik KMDF dla urządzenia wieloskładnikowego może definiować co najmniej jeden stan zasilania funkcjonalnego dla każdego składnika.

W takim przypadku sterownik rejestruje się bezpośrednio w ramach struktury zarządzania energią (PoFx). Aby określić, że WDF nie powinien rejestrować się w programie PoFx, sterownik wywołuje WdfDeviceAssignS0IdleSettings z elementem IdleTimeoutType struktury WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS ustawionym na DriverManagedIdleTimeout. Zazwyczaj sterownik wywołuje tę metodę w funkcji wywołania zwrotnego EvtDriverDeviceAdd.

Następnie sterownik musi zarejestrować się w aplikacji PoFx. W tym celu sterownik wywołuje PoFxRegisterDevice, a następnie PoFxStartDevicePowerManagement. Sterownik musi zarejestrować się w narzędziu PoFx tylko raz, gdy urządzenie zostanie uruchomione. Jednym ze sposobów, aby to zrobić, jest wywołanie tych procedur z funkcji EvtDeviceSelfManagedIoInit. EvtDeviceSelfManagedIoInit jest wywoływana tylko przy pierwszym uruchomieniu urządzenia.

Po usunięciu urządzenia sterownik musi wywołać PoFxUnregisterDevice, aby wyrejestrować urządzenie z narzędzia PoFx. Aby wyrejestrować się tylko raz, zalecamy, aby sterownik wywołał tę procedurę w funkcji EvtDeviceSelfManagedIoFlush dostarczonej przez sterownik. EvtDeviceSelfManagedIoFlush jest wywoływana tylko podczas usuwania urządzenia. Podczas wyrejestrowywania w EvtDeviceSelfManagedIoFlush, sterownik zachowuje połączenie zasilania w trakcie przejść do stanu uśpienia i ponownego równoważenia oraz nie musi utrzymywać odwołań zasilania dla żądań we/wy, które pozostają oczekujące podczas tych przejść.

Gdy sterownik wykona PoFxRegisterDevice, otrzymuje uchwyt rejestracji zasilania (POHANDLE), którego może używać w celu bezpośredniej interakcji z PoFx, co jest opisane w poniższych tematach.

Ponadto sterownik może wywoływać bezpośrednio procedury systemu zasilania w celu wysyłania żądań kontroli energii oraz określania wymagań dotyczących opóźnienia, stanu aktywności i wznawiania.

Aby uzyskać więcej informacji na temat narzędzia PoFx, zobacz Omówienie programu Power Management Framework.