Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Kernel-Mode Driver Framework (KMDF) a User-Mode Driver Framework (UMDF) podporují podmnožinu IRP Windows. Následující tabulka uvádí hlavní typy IRP WDM a odpovídající funkce zpětného volání událostí rozhraní. Pokud není uvedeno jinak, zpětná volání se vztahují jak na KMDF, tak na UMDF.
Zpětná volání KMDF pro IRP_MJ_PNP
Následující tabulka uvádí v pořadí provádění zpětných volání KMDF, které odpovídají menším kódům protokolu IRP pro IRP_MJ_PNP. Šipky označují, jestli nástroj WDM FDO zpracovává IRP při pohybu nahoru nebo dolů zásobníku.
Poznámka V ovladači KMDF jsou integrované operace plug-and-play a řízení spotřeby a ovladač neobdrží jednotlivé menší IRP_MJ_PNP ani IRP_MJ_POWER žádosti. Místo toho architektura volá základní sadu zpětných volání při zapnutí a odpovídající sadu při vypnutí a volá další zpětná volání před a po této základní sadě podle potřeby pro každou jednotlivou žádost Plug and Play. Kompletní diagramy, které znázorňují sekvence zapnutí a vypnutí napájení, najdete v tématu Portování funkčnosti PnP a řízení spotřeby.
Zpětná volání KMDF pro IRP_MJ_POWER
Následující tabulka uvádí v pořadí provádění zpětná volání KMDF, která odpovídají menším kódům protokolu IRP pro IRP_MJ_POWER. Šipky označují, zda WDM FDO zpracovává IRP při pohybu nahoru nebo dolů ve zásobníku.
Poznámka Poznámka: V ovladači KMDF jsou integrované operace plug-and play a řízení spotřeby a ovladač neobdrží jednotlivé menší IRP_MJ_PNP ani IRP_MJ_POWER žádosti. Místo toho architektura volá základní sadu zpětných volání při zapnutí napájení a odpovídající sadu při vypnutí napájení, a volá další zpětná volání před a po této základní sadě podle potřeby pro každou jednotlivou žádost typu Plug and Play. Komplexní diagramy, které znázorňují posloupnosti napájení a snížení výkonu, najdete v tématu Porting PnP a Funkce řízení spotřeby.
IRP_MJ_POWER vedlejší kód | Zpětná volání rámce |
---|---|
–IRP_MN_SET_POWER pro D1, D2 nebo D3 (snížení spotřeby energie) | EvtDeviceSelfManagedIoSuspendEvtIoStop (WdfRequestStopActionSuspend) EvtDeviceArmWakeFromS0 nebo EvtDeviceArmWakeFromSxEvtDmaEnablerSelfManagedIoStop (jen KMDF)EvtDmaEnablerDisable (jen KMDF)EvtDmaEnablerFlush (jen KMDF)EvtDeviceD0ExitPreInterruptsDisabledEvtInterruptDisableEvtDeviceD0Exit |
■IRP_MN_SET_POWER pro D0 (napájení) | cs-CZ: EvtDeviceD0EntryEvtInterruptEnableEvtDeviceD0EntryPostInterruptsEnabledEvtDmaEnablerFill (jenom KMDF)EvtDmaEnablerEnable (jenom KMDF)EvtDmaEnablerSelfManagedIoStart (jenom KMDF)EvtIoResumeEvtDeviceSelfManagedIoRestart |
▼IRP_MN_SET_POWER pro Sx | Žádný |
↑IRP_MN_SET_POWER pro Sx | Žádný |
IRP_MN_POWER_SEQUENCE | Žádný |
–IRP_MN_WAIT_WAKE | EvtDeviceEnableWakeAtBus (pouze KMDF) |
↑IRP_MN_WAIT_WAKE | EvtDeviceDisableWakeAtBus (pouze KMDF) |