Udostępnij przez


Obsługa stanów zasilania funkcjonalnego

Począwszy od systemu Windows 8, menedżer zasilania obejmuje strukturę zarządzania energią w czasie wykonywania (PoFx). Funkcja PoFx obsługuje zarządzanie energią i zegarem na poziomie składnika (lub urządzenia podrzędnego).

Od wersji KMDF 1.11, sterowniki KMDF mogą korzystać z drobnoziarnistej kontroli zasilania, którą oferuje PoFx. W szczególności sterownik KMDF może definiować wiele składników logicznych w jednym urządzeniu, z których każdy może być zarządzany niezależnie.

Na przykład sterownik funkcji może zdefiniować unikatowy zestaw stanów zasilania funkcjonalnego dla każdego składnika logicznego urządzenia. Podobnie jak stany zasilania urządzenia i systemu, F0 wskazuje, że składnik jest w pełni włączony, podczas gdy opcjonalne stany F1, F2 itd. wskazują stopniowo niższe stany zasilania. Aby obsługiwać stany Fx, sterownik musi być właścicielem zasad zasilania urządzenia.

W poniższej tabeli przedstawiono podsumowanie wsparcia frameworku dla różnych scenariuszy funkcjonalnych stanów zasilania.

Typ Obsługa usługi KMDF Obsługa usługi UMDF Kiedy należy używać/jak zaimplementować

Pojedynczy składnik, pojedynczy stan (F0)

Wsparte

Wsparte

Jeśli chcesz, aby wtyczka modułu zarządzania zasilaniem (PEP) ustalała wartość limitu czasu bezczynności, a sterownik ma tylko jeden stan F.

Wywołaj metodę WdfDeviceAssignS0IdleSettings za pomocą klasy IdleTimeoutType = SystemManagedIdleTimout lub SystemManagedIdleTimoutWithHint.

Pojedynczy składnik, wiele stanów (F0, F1, F2...)

Wsparte

Niewspierane

Jeśli sterownik ma więcej niż jeden stan F.

W tym przypadku KMDF obsługuje większość interakcji z PoFx.

Aby uzyskać przykładowy kod, zobacz Przykładowe sterowniki PoFx.

Wiele składników, pojedynczych lub wielu stanów

Obsługiwane przy użyciu interfejsów WDM

Niewspierane

Jeśli sterownik ma wiele komponentów. W takim przypadku należy bezpośrednio użyć interfejsów PoFx.

Aby uzyskać przykładowy kod, zobacz Przykładowe sterowniki PoFx.

Ponieważ KMDF dodaje minimalną abstrakcję ponad PoFx, warto mieć podstawową wiedzę na temat PoFx przed napisaniem sterownika. W związku z tym zalecamy zapoznanie się z omówieniem programu Power Management Framework przed przeczytaniem tych tematów.