Árbol de dispositivos

El administrador de PnP mantiene un árbol de dispositivos que realiza un seguimiento de los dispositivos del sistema. En la ilustración siguiente se muestra el árbol de dispositivos para una configuración del sistema de ejemplo.

Árbol de dispositivo pnp de ejemplo.

El árbol de dispositivos contiene información sobre los dispositivos presentes en el sistema. El administrador de PnP compila este árbol cuando se inicia la máquina, con información de controladores y otros componentes, y actualiza el árbol a medida que se agregan o quitan los dispositivos.

Cada nodo del árbol de dispositivos se denomina nodo de dispositivo o nodo de desarrollo. Un nodo de desarrollo consta de los objetos de dispositivo para los controladores del dispositivo, además de la información interna mantenida por el sistema. Por lo tanto, hay un nodo de desarrollo para cada pila de dispositivos.

El administrador de PnP pide a un controlador de autobús una lista de sus dispositivos secundarios mediante una solicitud de IRP_MN_QUERY_DEVICE_RELATIONS . El conductor del autobús determina su lista de elementos secundarios según su protocolo de autobús. Por ejemplo, el controlador ACPI de Windows, Acpi.sys, busca en el espacio de nombres ACPI, el controlador PCI consulta el espacio de configuración pci y un controlador de concentrador USB sigue el protocolo de bus USB.

El árbol de dispositivos es jerárquico, con dispositivos en un bus representado como "elementos secundarios" del adaptador de bus, controlador u otro dispositivo de bus. (Un dispositivo de bus es cualquier dispositivo al que se puedan conectar otros dispositivos físicos, lógicos o virtuales). Puede ver la jerarquía de dispositivos en el árbol de dispositivos mediante Administrador de dispositivos y elegir la opción de vista que le permite ver los dispositivos por conexión.

La jerarquía del árbol de dispositivos refleja la estructura en la que están conectados los dispositivos en la máquina. El administrador de PnP usa esta jerarquía a medida que administra los dispositivos. Por ejemplo, si un usuario solicita desconectar el controlador USB de la máquina representada por la figura anterior, el administrador de PnP determina a partir del árbol de dispositivos que esta acción provocaría que esta acción también se desconecte (el concentrador USB, el joystick y la cámara). Cuando el administrador de PnP consulta los controladores del controlador USB para determinar si es seguro quitar el controlador, también consulta los controladores de los descendientes del controlador (el concentrador, el joystick y la cámara).

El árbol de dispositivos es dinámico. A medida que los dispositivos se agregan y quitan de la máquina, el administrador de PnP (junto con los controladores) mantiene una imagen actual de los dispositivos en el sistema.

Hay otras relaciones entre dispositivos en la máquina, además de las relaciones jerárquicas representadas en el árbol de dispositivos. Entre ellas se incluyen las relaciones de eliminación y las relaciones de expulsión. Consulte la página de referencia de IRP_MN_QUERY_DEVICE_RELATIONS para obtener más información.

No se pueden realizar suposiciones sobre el orden en que se compila el árbol de dispositivos, excepto que un dispositivo de bus está configurado antes de cualquiera de sus dispositivos secundarios. Por ejemplo, no debe suponer que un dispositivo de un bus está configurado antes que otro dispositivo del bus.