Gerätestruktur

Der PnP-Manager verwaltet eine Gerätestruktur, die die Geräte im System nachverfolgt. Die folgende Abbildung zeigt die Gerätestruktur für eine Beispielsystemkonfiguration.

Beispiel für die pnp-Gerätestruktur.

Die Gerätestruktur enthält Informationen zu den im System vorhandenen Geräten. Der PnP-Manager erstellt diese Struktur beim Starten des Computers unter Verwendung von Informationen von Treibern und anderen Komponenten und aktualisiert die Struktur, wenn Geräte hinzugefügt oder entfernt werden.

Jeder Knoten der Gerätestruktur wird als Geräteknoten oder Devnode bezeichnet. Ein Devnode besteht aus den Geräteobjekten für die Gerätetreiber sowie internen Informationen, die vom System verwaltet werden. Daher gibt es einen Devnode für jeden Gerätestapel.

Der PnP-Manager fragt einen Bustreiber mithilfe einer IRP_MN_QUERY_DEVICE_RELATIONS-Anforderung nach einer Liste seiner untergeordneten Geräte. Der Busfahrer bestimmt seine Liste der untergeordneten Elemente gemäß seinem Busprotokoll. Beispielsweise sucht der Windows ACPI-Treiber Acpi.sys im ACPI-Namespace, der PCI-Treiber fragt den PCI-Konfigurationsraum ab, und ein USB-Hubtreiber folgt dem USB-Busprotokoll.

Die Gerätestruktur ist hierarchisch, wobei Geräte in einem Bus als "Untergeordnete" des Busadapters, Controllers oder eines anderen Busgeräts dargestellt werden. (Ein Busgerät ist jedes Gerät, an das andere physische, logische oder virtuelle Geräte angefügt werden können.) Sie können die Hierarchie der Geräte in der Gerätestruktur anzeigen, indem Sie Geräte-Manager und die Ansichtsoption auswählen, mit der Sie Geräte nach Verbindung anzeigen können.

Die Hierarchie der Gerätestruktur gibt die Struktur an, in der die Geräte auf dem Computer angefügt sind. Der PnP-Manager verwendet diese Hierarchie, wenn er die Geräte verwaltet. Wenn ein Benutzer beispielsweise anfordert, den USB-Controller von dem computer zu trennen, der durch die vorherige Abbildung dargestellt wird, ermittelt der PnP-Manager aus der Gerätestruktur, dass diese Aktion dazu führen würde, dass drei andere Geräte ebenfalls getrennt werden (der USB-Hub, der Joystick und die Kamera). Wenn der PnP-Manager die Treiber für den USB-Controller abfragt, um zu ermitteln, ob das Entfernen des Controllers sicher ist, fragt er auch die Treiber der Nachfolger des Controllers (Hub, Joystick und Kamera) ab.

Die Gerätestruktur ist dynamisch. Wenn Geräte dem Computer hinzugefügt und daraus entfernt werden, behält der PnP-Manager (zusammen mit Treibern) ein aktuelles Bild der Geräte im System bei.

Es gibt andere Beziehungen zwischen Geräten auf dem Computer neben den hierarchischen Beziehungen, die in der Gerätestruktur dargestellt werden. Dazu gehören Entfernungs- und Auswurfbeziehungen. Weitere Informationen finden Sie auf der Referenzseite für IRP_MN_QUERY_DEVICE_RELATIONS .

Sie können keine Annahmen über die Reihenfolge treffen, in der die Gerätestruktur erstellt wird, außer dass ein Busgerät vor einem seiner untergeordneten Geräte konfiguriert ist. Sie sollten beispielsweise nicht davon ausgehen, dass ein Gerät in einem Bus vor einem anderen Gerät im Bus konfiguriert ist.