Partager via


Arbre de périphérique

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 de l’appareil pour un exemple de configuration système.

exemple d’arborescence d’appareils PnP.

L’arborescence de l’appareil contient des informations sur les appareils présents sur le système. Le gestionnaire PnP génère cette arborescence lorsque la machine démarre, à l’aide d’informations provenant de pilotes et d’autres composants, et met à jour l’arborescence à mesure que les appareils sont ajoutés ou supprimés.

Chaque nœud de l’arborescence de l’appareil est appelé nœud d’appareil ou devnode. Un devnode se compose des objets d’appareil pour les pilotes de l’appareil, ainsi que des informations internes conservé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 un inventaire de ses périphériques enfants à l’aide d’une requête IRP_MN_QUERY_DEVICE_RELATIONS. Le conducteur de bus détermine sa liste d’enfants en fonction de son protocole de bus. Par exemple, le pilote ACPI Windows, 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 de bus USB.

L’arborescence de l’appareil est hiérarchique, avec des appareils sur un bus représenté en tant que « enfants » de l’adaptateur de bus, du contrôleur ou d’un autre appareil de bus. (Un appareil de bus est n’importe quel 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 à l’aide du Gestionnaire d’appareils et choisir l’option d’affichage qui vous permet d’afficher les appareils par connexion.

La hiérarchie de l'arborescence des périphériques reflète la structure dans laquelle les périphériques sont connectés dans la machine. Le gestionnaire PnP utilise cette hiérarchie car il gère les appareils. Par exemple, si un utilisateur demande de déconnecter 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 l’appareil que cette action entraînerait également la déconnexion de trois autres appareils (le hub USB, le joystick et l’appareil photo). Lorsque le gestionnaire PnP interroge les pilotes du contrôleur USB pour déterminer s’il est sûr de supprimer le contrôleur, il interroge également les pilotes des descendants du contrôleur (le hub, le joystick et l’appareil photo).

L’arborescence de l’appareil est dynamique. À mesure que les appareils sont ajoutés et supprimés de la machine, 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 de l’appareil. Il s’agit notamment des relations de suppression et des relations d’éjection. Pour plus d’informations, consultez la page de référence de IRP_MN_QUERY_DEVICE_RELATIONS .

Vous ne pouvez pas effectuer d’hypothèses sur l’ordre dans lequel l’arborescence de l’appareil 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 sur un bus est configuré avant qu’un autre appareil sur le bus ne soit configuré.