Partilhar via


Processo de host do driver UMDF

Este tópico descreve o processo de host do driver umDF (User-Mode Driver Framework) e como ele funciona com outros componentes umDF. Ele se aplica às versões 1 e 2 do UMDF.

O processo de host do driver (Wudfhost.exe) é um processo filho do serviço gerenciador de driver. Wudfhost.exe geralmente é executado na conta LocalService , que tem privilégios mínimos no computador local. Uma instância do Wudfhost.exe carrega uma ou mais DLLs de driver UMDF, além das DLLs da estrutura. O processo de host do driver fornece um ambiente de runtime que manipula a IPC (comunicação entre processos) entre o gerenciador de driver e o refletor, bem como expedição de E/S, carregamento de driver, camadas de driver e gerenciamento de pool de threads.

O gerenciador de driver pode criar várias instâncias simultâneas de Wudfhost.exe, da seguinte maneira:

  • Se o driver UMDF foi criado com a versão 1.11 e está em execução no Windows 8, por padrão, o gerenciador de driver cria uma única instância do Wudfhost que pode hospedar várias pilhas de dispositivos. Essa técnica é chamada de pool de dispositivos.

    Se o driver UMDF foi criado com a versão 2 e está em execução em Windows 8.1 ou Windows 10, o pool também está ativado por padrão.

  • Se o driver foi criado com UMDF versão 1.9 ou anterior, a estrutura cria uma instância separada do processo de host (Wudfhost) para cada pilha de dispositivos.

Para obter mais informações sobre o pool de dispositivos, consulte Usando o pool de dispositivos em drivers UMDF.

Cada processo Wudfhost.exe é executado em seu próprio espaço de endereço e, portanto, é isolado dos processos do aplicativo e de outras instâncias do host do driver. Os drivers UMDF em execução no mesmo processo (pool de dispositivos) compartilham um espaço de endereço e não são isolados uns dos outros.

Você pode carregar drivers criados com as versões 1 e 2 da UMDF simultaneamente, seja no mesmo processo de host ou em processos de host diferentes. Por exemplo, por padrão, o gerenciador de driver carregaria um driver UMDF 1.11 e um driver UMDF 2 no mesmo processo de host em um computador que executa Windows 8.1 ou posterior.

No entanto, você não pode carregar drivers UMDF versão 1 e 2 na mesma pilha de dispositivos. Por exemplo, você não pode carregar um driver de filtro UMDF versão 1 acima de um driver de função UMDF versão 2.

Para obter um diagrama que mostra como o host do driver se relaciona com outros componentes umDF, consulte Visão geral do UMDF.