Processus hôte du pilote UMDF

Cette rubrique décrit le processus hôte du pilote UMDF (User-Mode Driver Framework) et son fonctionnement avec d’autres composants UMDF. Elle s’applique aux versions 1 et 2 d’UMDF.

Le processus hôte du pilote (Wudfhost.exe) est un processus enfant du service gestionnaire de pilotes. Wudfhost.exe s’exécute généralement dans le compte LocalService , qui dispose de privilèges minimaux sur l’ordinateur local. Une instance de Wudfhost.exe charge une ou plusieurs DLL de pilotes UMDF, en plus des DLL de l’infrastructure. Le processus hôte du pilote fournit un environnement d’exécution qui gère la communication interprocess (IPC) entre le gestionnaire de pilotes et le réflecteur, ainsi que la répartition des E/S, le chargement des pilotes, la couche de pilotes et la gestion du pool de threads.

Le gestionnaire de pilotes peut créer plusieurs instances simultanées de Wudfhost.exe, comme suit :

  • Si votre pilote UMDF a été créé avec la version 1.11 et s’exécute sur Windows 8, par défaut, le gestionnaire de pilotes crée une seule instance de Wudfhost qui peut héberger plusieurs piles d’appareils. Cette technique est appelée regroupement d’appareils.

    Si votre pilote UMDF a été créé avec la version 2 et s’exécute sur Windows 8.1 ou Windows 10, le regroupement est également activé par défaut.

  • Si votre pilote a été créé avec UMDF version 1.9 ou antérieure, l’infrastructure crée une instance distincte du processus hôte (Wudfhost) pour chaque pile d’appareils.

Pour plus d’informations sur le regroupement d’appareils, consultez Utilisation du regroupement d’appareils dans les pilotes UMDF.

Chaque processus Wudfhost.exe s’exécute dans son propre espace d’adressage et est donc isolé des processus d’application et d’autres instances de l’hôte du pilote. Les pilotes UMDF s’exécutant dans le même processus (regroupement de périphériques) partagent un espace d’adressage et ne sont pas isolés les uns des autres.

Vous pouvez charger simultanément des pilotes créés avec UMDF versions 1 et 2, soit dans le même processus hôte, soit dans différents processus hôtes. Par exemple, par défaut, le gestionnaire de pilotes charge un pilote UMDF 1.11 et un pilote UMDF 2 dans le même processus hôte sur un ordinateur exécutant Windows 8.1 ou version ultérieure.

Toutefois, vous ne pouvez pas charger les pilotes UMDF version 1 et 2 dans la même pile d’appareils. Par exemple, vous ne pouvez pas charger un pilote de filtre UMDF version 1 au-dessus d’un pilote de fonction UMDF version 2.

Pour obtenir un diagramme qui montre comment l’hôte du pilote est lié à d’autres composants UMDF, consultez Vue d’ensemble d’UMDF.