Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Dotyczy tylko usługi KMDF]
Gdy system powróci do stanu roboczego (S0) ze stanu niskiego zasilania, menedżer PnP wysyła systemowy protokół IRP (IRP_MN_SET_POWER), aby przywrócić urządzenie do stanu pracy (D0). WDF obsługuje system set-power IRP. Jednak ze względu na to, że w scenariuszu wieloskładnikowym sterownik został bezpośrednio zarejestrowany w strukturze zarządzania energią (PoFx), sterownik musi wywołać PoFxReportDevicePoweredOn po zakończeniu przejścia do pełnego stanu zasilania (D0). Sterownik może to osiągnąć, rejestrując procedurę przetwarzania wstępnego WDM w celu otrzymania powiadomienia, gdy nadejdzie IRP ustawienia zasilania systemu.
Sterownik może użyć następującej procedury:
- Wywołaj WdfDeviceInitAssignWdmIrpPreprocessCallback, aby zarejestrować funkcję wywołania zwrotnego EvtDeviceWdmIrpPreprocess dla IRP_MN_SET_POWER. W wywołaniu zwrotnym sterownik ustawia flagę w rozszerzeniu urządzenia, aby wskazać, że musi wywołać PoFxReportDevicePoweredOn z następnej EvtDeviceD0Entry wywołania zwrotnego.
- W EvtDeviceD0Entry, jeśli flaga jest ustawiona, sterownik czyści flagę i wywołuje PoFxReportDevicePoweredOn.
- Sterownik sprawdza również flagę w EvtDeviceSelfManagedIoFlush. Jeśli flaga jest ustawiona, urządzenie nie może powrócić do D0 i urządzenie zostało usunięte. W takim przypadku sterownik wywołuje PoFxReportDevicePoweredOn, a następnie wyrejestruje się z frameworku zasilania.