Um dispositivo retorna ao seu estado de trabalho
Um dispositivo que está em um estado de baixa potência retornará ao seu estado de trabalho se ocorrer um dos seguintes:
O dispositivo detecta um evento externo e dispara um sinal de ativação em seu barramento. O driver de ônibus que detecta o sinal de ativação chama WdfDeviceIndicateWakeStatus. Como resultado, a estrutura chama a função de retorno de chamada EvtDeviceDisableWakeAtBus do driver de barramento.
O dispositivo ficou ocioso e um driver chama WdfDeviceStopIdle.
O estado de energia do sistema mudou de um estado de baixa potência para seu estado de trabalho (S0).
Em cada uma dessas situações, a estrutura chama a função de retorno de chamada EvtDeviceD0Entry do driver de barramento, que restaura o dispositivo (um dispositivo filho do barramento) para seu estado de trabalho (D0).
Para cada função e driver de filtro que dá suporte ao dispositivo, a estrutura faz o seguinte, em sequência, um driver por vez, começando com o driver mais baixo na pilha de driver:
A estrutura chama a função de retorno de chamada EvtDeviceD0Entry do driver (se ela existir).
A estrutura chama a função de retorno de chamada EvtInterruptEnable do driver (se existir) para cada interrupção e, em seguida, chama a função de retorno de chamada EvtDeviceD0EntryPostInterruptsEnabled do driver (se existir), para que o driver possa habilitar interrupções do dispositivo.
Se o DMA de suporte de hardware e driver, a estrutura chamará as funções de retorno de chamada EvtDmaEnablerFill, EvtDmaEnablerEnable e EvtDmaEnablerSelfManagedIoStart do driver (se existirem) para cada canal DMA criado.
Se o driver for o proprietário da política de energia do dispositivo, a estrutura chamará sua função de retorno de chamada EvtDeviceDisarmWakeFromS0 ou EvtDeviceDisarmWakeFromSx .
A estrutura chama a função de retorno de chamada EvtChildListScanForChildren do driver (se existir).
A estrutura reinicia todas as filas de E/S gerenciadas por energia do driver e chama suas funções de retorno de chamada EvtIoResume (se necessário).
Se o driver estiver usando E/S autogerenciada, a estrutura chamará a função de retorno de chamada EvtDeviceSelfManagedIoRestart do driver.