O Gerenciador PnP redistribui recursos do sistema (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.
Se um usuário adicionar um dispositivo a um sistema e se o dispositivo exigir recursos do sistema que o gerenciador PnP já atribuiu a outro dispositivo, o gerenciador PnP tentará reatribuir recursos.
Durante esse processo, o gerenciador de PnP interrompe os dispositivos e os tira dos estados de trabalho (D0). Em seguida, ele fornece novas listas de recursos para os dispositivos para que eles possam reiniciar, usando os novos recursos.
Ao redistribuir recursos, o gerenciador de PnP não alterará a atribuição de recursos de um dispositivo se um dos drivers baseados em UMDF do dispositivo tiver fornecido uma função de retorno de chamada IPnpCallback::OnQueryStop e a função de retorno de chamada tiver vetado a reatribuição.
Sequência de desativação
Para cada função baseada em UMDF e driver de filtro que dá suporte ao dispositivo que está sendo interrompido, a estrutura faz o seguinte, em sequência, um driver por vez, começando com o driver mais alto na pilha de driver:
Se o driver estiver usando E/S autogerenciada, a estrutura chamará a função de retorno de chamada IPnpCallbackSelfManagedIo::OnSelfManagedIoSuspend do driver.
A estrutura interrompe todas as filas de E/S gerenciadas por energia do dispositivo.
A estrutura chama a função de retorno de chamada IPnpCallback::OnD0Exit do driver (se ela existir).
A estrutura chama a função de retorno de chamada IPnpCallbackHardware::OnReleaseHardware do driver (se existir) passando a lista de recursos de hardware que o gerenciador PnP atribuiu ao dispositivo.
Para ver um diagrama que mostra essas etapas, consulte a figura de remoção ordenada em Um Usuário Desconecta um Dispositivo.
Sequência de power-up
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 IPnpCallbackHardware::OnPrepareHardware do driver (se existir), passando a lista de recursos de hardware que o gerenciador de PnP atribuiu ao dispositivo.
A estrutura chama a função de retorno de chamada IPnpCallback::OnD0Entry do driver (se ela existir).
A estrutura reinicia todas as filas de E/S gerenciadas por energia do dispositivo.
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.