Zarządzanie zasadami zasilania w ramach UMDF
Ostrzeżenie
UMDF 2 jest najnowszą wersją UMDF i zastępuje UMDF 1. Wszystkie nowe sterowniki UMDF powinny być zapisywane przy użyciu funkcji UMDF 2. Do usługi UMDF 1 nie są dodawane żadne nowe funkcje, a obsługa UMDF 1 na nowszych wersjach systemu Windows 10 jest ograniczona. Sterowniki uniwersalne systemu Windows muszą używać funkcji UMDF 2.
Zarchiwizowane przykłady UMDF 1 można znaleźć w Windows 11, wersja 22H2 - Maj 2022 aktualizacja przykładów sterowników.
Aby uzyskać więcej informacji, zobacz Wprowadzenie do usługi UMDF.
Dla każdego urządzenia jeden (i tylko jeden) z jego sterowników musi być właścicielem zasad zasilania urządzenia . Właściciel zasad zasilania określa odpowiedni stan zasilania urządzenia dla urządzenia i wysyła żądania do stosu sterowników urządzenia za każdym razem, gdy stan zasilania urządzenia powinien ulec zmianie.
Sterowniki oparte na strukturze nie zawierają kodu, który żąda zmian w stanie zasilania urządzenia, ponieważ platforma udostępnia ten kod. Domyślnie, za każdym razem gdy system przechodzi w stan uśpienia systemu , framework zwraca się do sterownika magistrali urządzenia, aby obniżył stan zasilania urządzenia do D3. (Sterownik może zmienić domyślne zachowanie, tak aby platforma ustawiała stan uśpienia urządzenia na D1 lub D2, jeśli urządzenie zapewnia możliwości wznawiania). Gdy moc systemu powróci do stanu pracy (S0), platforma żąda sterownika magistrali, aby przywrócić urządzenie do stanu pracy (D0).
Właściciel zasad zasilania jest również odpowiedzialny za włączanie i wyłączanie następujących funkcji urządzenia:
Możliwość urządzenia wejścia w stan niskiego zużycia energii (uśpienia) , gdy jest bezczynne, a system pozostaje w stanie pracy (S0).
Zdolność urządzenia do wznawiania się ze stanu uśpienia po wykryciu zdarzenia zewnętrznego
Zdolność urządzenia do wznawiania całego systemu ze stanu uśpienia systemu po wykryciu zdarzenia zewnętrznego
Jeśli urządzenie obsługuje funkcje związane z przełączaniem urządzenia w tryb bezczynny i możliwości wznawiania systemu, właściciel zasad zasilania może również obsługiwać interfejsy IPowerPolicyCallbackWakeFromS0 i IPowerPolicyCallbackWakeFromSx, które definiują zestaw funkcji wywołania zwrotnego zdarzeń zasad zasilania.
Domyślnie sterowniki oparte na frameworku UMDF nie są właścicielami zasad zasilania. Sterownik funkcji trybu jądra urządzenia jest domyślnym właścicielem zasad zasilania. (Jeśli nie ma sterownika funkcji trybu jądra, a sterownik magistrali wywołał WdfPdoInitAssignRawDevice, sterownik magistrali jest posiadaczem polityki zarządzania energią.) Jeśli chcesz, aby sterownik oparty na UMDF był właścicielem zasad zasilania dla stosu sterowników, sterownik musi wywołać IWDFDeviceInitialize::SetPowerPolicyOwnership, a domyślny właściciel zasad zasilania trybu jądra musi wywołać WdfDeviceInitSetPowerPolicyOwnership, aby wyłączyć własność.
Ponadto jeśli udostępniasz sterownik oparty na funkcji UMDF dla urządzenia USB, a jeśli chcesz, aby sterownik był właścicielem zasad zasilania, plik INF sterownika musi zawierać dyrektywy INF AddReg, która ustawia wartość WinUsbPowerPolicyOwnershipDisabled w rejestrze. Jeśli ta wartość o rozmiarze REG_DWORD jest ustawiona na dowolną liczbę niezerową, wyłącza winUSB możliwość bycia właścicielem zasad zasilania urządzenia. Dyrektywa AddReg musi znajdować się w sekcji INF DDInstall.HW, jak pokazano w poniższym przykładzie.
[MyDriver_Install.NT.hw]
AddReg=MyDriver_AddReg
[MyDriver_AddReg]
HKR,,"WinUsbPowerPolicyOwnershipDisabled",0x00010001,1
Ramy wykonują następujące zadania dla właściciela polityki zasilania:
Obsługuje on całą komunikację związaną z polityką zasilania pomiędzy sterownikiem a resztą stosu sterowników. Na przykład sterownik nie musi zażądać od sterownika magistrali zmiany stanu zasilania urządzenia, ponieważ platforma wysyła żądanie.
Jeśli sterownik rejestruje funkcje wywołania zwrotnego zdarzeń w ramach polityki zasilania, framework wywołuje je, gdy trzeba włączyć lub wyłączyć możliwość urządzenia do wznawiania się ze stanu niskiego zużycia energii.
Jeśli sterownik umożliwia użytkownikom modyfikowanie ustawień bezczynności i wznawiania, platforma udostępnia interfejs użytkownika w postaci strony arkusza właściwości wyświetlanej przez Menedżera urządzeń.
Aby uzyskać więcej informacji na temat obowiązków właściciela polityki zasilania, zobacz następujące tematy.