Vue d’ensemble d’UMDF
Cette rubrique fournit une vue d’ensemble générale des composants UMDF (User-Mode Driver Framework) et décrit comment votre pilote interagit avec les composants fournis par le système. Elle s’applique à la fois aux versions 1 et 2 d’UMDF.
Les pilotes UMDF abstraction des fonctionnalités matérielles, s’exécutent dans l’environnement en mode utilisateur et peuvent accéder à différents services. Les pilotes UMDF fonctionnent dans le cadre d’une pile de pilotes qui gèrent un appareil. Les pilotes de système de fichiers, les pilotes d’affichage (pour les périphériques d’affichage complet, pas les périphériques d’affichage uniquement) et les pilotes d’impression ne peuvent pas être des pilotes UMDF.
Un pilote UMDF interagit avec les composants fournis par le système suivants :
Processus hôte du pilote
Le processus hôte de pilote charge les pilotes UMDF fournis par le fournisseur et les DLL d’infrastructure, fournit un environnement d’exécution pour les pilotes en mode utilisateur et achemine les messages entre les pilotes dans une pile en mode utilisateur. Pour plus d’informations, consultez Processus hôte du pilote UMDF.
Gestionnaire de pilotes
Le gestionnaire de pilotes est un service Windows qui gère toutes les instances du processus hôte du pilote Wudfhost. Le gestionnaire de pilotes lance et suit des informations sur chaque processus hôte de pilote. Chaque hôte est un processus enfant du gestionnaire de pilotes. Il n’existe qu’un seul gestionnaire de pilotes par système. Le gestionnaire de pilotes démarre lors de l’installation du premier périphérique UMDF et s’exécute ensuite sur le système.
Reflector
Le réflecteur est un pilote en mode noyau qui permet à une application et à un processus hôte de pilote (et aux piles de périphériques en mode utilisateur) de communiquer. Le réflecteur crée un objet d’appareil distinct pour chaque appareil instance et gère les demandes de Plug-and-Play (PnP) et d’E/S d’alimentation associées à chaque appareil instance. Toutes les communications entre l’application et le processus hôte du pilote se produisent via le réflecteur. Pour plus d’informations, consultez Architecture d’UMDF.
Tous les pilotes de fonction et de filtre d’un appareil donné doivent s’exécuter dans le même processus hôte de pilote, mais plusieurs processus hôtes peuvent s’exécuter simultanément.
Le diagramme suivant montre comment les processus hôtes du pilote, le gestionnaire de pilotes et le réflecteur communiquent au-delà de la limite du mode utilisateur/du mode noyau.