Um dispositivo retorna ao seu estado de trabalho (UMDF 1)
Aviso
O UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2.
Os exemplos umdf 1 arquivados podem ser encontrados no Windows 11, versão 22H2 – Atualização de exemplos de driver de maio de 2022.
Para obter mais informações, consulte Introdução com UMDF.
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 barramento no modo kernel detecta o sinal de ativação.
O dispositivo ficou ocioso e um driver chama IWDFDevice2::StopIdle.
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, o driver de barramento no modo kernel restaura o dispositivo (um dispositivo filho do barramento) para seu estado de trabalho (D0).
Para cada função baseada em UMDF 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 IPnpCallback::OnD0Entry do driver (se ela existir).
Se o driver for o proprietário da política de energia do dispositivo, a estrutura chamará sua função de retorno de chamada IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 ou IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx .
A estrutura reinicia todas as filas de E/S gerenciadas por energia do dispositivo e chama suas funções de retorno de chamada IQueueCallbackIoResume::OnIoResume (se necessário).
Se o driver estiver usando E/S autogerenciada, a estrutura chamará a função de retorno de chamada IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart do driver.
Para ver um diagrama que mostra essas etapas, consulte Um usuário conecta um dispositivo.