Partager via


Arborescence des appareils

Le gestionnaire PnP gère une arborescence d’appareils qui effectue le suivi des appareils dans le système. La figure suivante montre l’arborescence des appareils pour un exemple de configuration système.

exemple d’arborescence d’appareils pnp.

L’arborescence des appareils contient des informations sur les appareils présents sur le système. Le gestionnaire PnP génère cette arborescence au démarrage de l’ordinateur, en utilisant les informations des pilotes et d’autres composants, et met à jour l’arborescence à mesure que des appareils sont ajoutés ou supprimés.

Chaque nœud de l’arborescence d’appareils est appelé nœud d’appareil, ou devnode. Un devnode se compose des objets de périphérique pour les pilotes de l’appareil, ainsi que des informations internes gérées par le système. Par conséquent, il existe un devnode pour chaque pile d’appareils.

Le gestionnaire PnP demande à un pilote de bus une liste de ses appareils enfants à l’aide d’une demande de IRP_MN_QUERY_DEVICE_RELATIONS . Le pilote de bus détermine sa liste d’enfants en fonction de son protocole de bus. Par exemple, le pilote WINDOWS ACPI, Acpi.sys, recherche dans l’espace de noms ACPI, le pilote PCI interroge l’espace de configuration PCI et un pilote de hub USB suit le protocole bus USB.

L’arborescence des appareils est hiérarchique, avec les appareils d’un bus représentés en tant que « enfants » de l’adaptateur de bus, du contrôleur ou d’un autre périphérique de bus. (Un appareil de bus est tout appareil auquel d’autres appareils physiques, logiques ou virtuels peuvent être attachés.) Vous pouvez voir la hiérarchie des appareils dans l’arborescence des appareils en utilisant Gestionnaire de périphériques et en choisissant l’option d’affichage qui vous permet d’afficher les appareils par connexion.

La hiérarchie de l’arborescence des appareils reflète la structure dans laquelle les appareils sont attachés à l’ordinateur. Le gestionnaire PnP utilise cette hiérarchie pour gérer les appareils. Par exemple, si un utilisateur demande à débrancher le contrôleur USB de la machine représentée par la figure précédente, le gestionnaire PnP détermine à partir de l’arborescence de périphérique que cette action entraînerait également le débranchement de trois autres périphériques (le hub USB, le joystick et l’appareil photo). Lorsque le gestionnaire PnP interroge les pilotes du contrôleur USB afin de déterminer s’il est sûr de supprimer le contrôleur, il interroge également les pilotes des descendants du contrôleur (hub, joystick et caméra).

L’arborescence de l’appareil est dynamique. À mesure que des appareils sont ajoutés et supprimés de l’ordinateur, le gestionnaire PnP (avec les pilotes) conserve une image actuelle des appareils sur le système.

Il existe d’autres relations entre les appareils sur l’ordinateur, en plus des relations hiérarchiques représentées dans l’arborescence des appareils. Il s’agit notamment des relations de suppression et d’éjection. Pour plus d’informations, consultez la page de référence pour IRP_MN_QUERY_DEVICE_RELATIONS .

Vous ne pouvez pas faire d’hypothèses sur l’ordre dans lequel l’arborescence d’appareils est générée, sauf qu’un appareil de bus est configuré avant l’un de ses appareils enfants. Par exemple, vous ne devez pas supposer qu’un appareil d’un bus est configuré avant un autre appareil sur le bus.