裝置回到其工作狀態
如果發生下列其中一項,處於低電源狀態的裝置會返回其工作狀態:
裝置會偵測外來事件,並在其匯流排上觸發喚醒訊號。 偵測喚醒訊號的匯流排驅動程式會呼叫 WdfDeviceIndicateWakeStatus。 因此,架構會呼叫匯流排驅動程式的 EvtDeviceDisableWakeAtBus 回呼函式。
裝置已閒置,且驅動程式會呼叫 WdfDeviceStopIdle。
系統的電源狀態已從低電源狀態變更為其運作 (S0) 狀態。
在這些情況下,架構會呼叫匯流排驅動程式的 EvtDeviceD0Entry 回呼函式,然後將該裝置還原 (匯流排的子裝置) 至其運作 (D0) 狀態。
針對支援裝置的每個函式和篩選驅動程式,架構會依序執行下列動作,一次執行一個驅動程式,從驅動程式堆疊中最低的驅動程式開始:
如果驅動程式存在) ,架構會呼叫驅動程式的 EvtDeviceD0Entry 回呼函式 (。
架構會呼叫驅動程式的 EvtInterruptEnable 回呼函式 (如果每個中斷存在) ,然後它會呼叫驅動程式的 EvtDeviceD0EntryPostInterruptsEnabled 回呼函式 (如果存在) ,讓驅動程式可以啟用裝置中斷。
如果硬體和驅動程式支援 DMA,架構會呼叫驅動程式的 EvtDmaEnablerFill、 EvtDmaEnablerEnablerEnable,以及 EvtDmaEnablerSelfManagedIoStart 回呼函式 (如果每個已建立的 DMA 通道都存在) 。
如果驅動程式是裝置的電源原則擁有者,架構會呼叫其 EvtDeviceDisarmWakeFromS0 或 EvtDeviceDisarmWakeFromSx 回呼函式。
如果驅動程式存在) ,架構會呼叫驅動程式的 EvtChildListScanForChildren 回呼函式 (。
架構會重新開機所有驅動程式的電源受控 I/O 佇列,並視需要呼叫其 EvtIoResume 回呼函式) (。
如果驅動程式使用自我管理的 I/O,架構會呼叫驅動程式的 EvtDeviceSelfManagedIoRestart 回呼函式。