共用方式為


裝置樹狀結構

PnP 管理員會維護裝置樹狀結構,以追蹤系統中的裝置。 下圖顯示範例系統組態的裝置樹狀結構。

範例 PNP 裝置樹狀結構。

裝置樹狀結構包含系統上存在之裝置的相關資訊。 PnP 管理員會在計算機開機時建置此樹狀結構,使用驅動程式和其他元件的資訊,並在新增或移除裝置時更新樹狀結構。

裝置樹的每個節點稱為裝置節點或 devnode。 devnode 是由裝置驅動程式的 裝置物件 所組成,以及系統所維護的內部資訊。 因此,每個 裝置堆疊都有一個 devnode。

PnP 管理員會使用 IRP_MN_QUERY_DEVICE_RELATIONS 要求匯流排控制器驅動程式提供其子裝置清單。 公車司機根據其公車協議確定其兒童名單。 例如, Windows ACPI 驅動程式 Acpi.sys會查看 ACPI 命名空間,PCI 驅動程式會查詢 PCI 組態空間,而 USB 中樞驅動程式會遵循 USB 匯流排通訊協定。

裝置樹狀結構是階層式的,匯流排上的裝置會表示為匯流排配接器、控制器或其他 匯流排裝置的「子系」。 (匯流排裝置是可以連接其他實體、邏輯或虛擬裝置的任何裝置。您可以使用裝置管理員在裝置樹狀結構中查看裝置階層,並選擇可讓您依連線檢視裝置的檢視選項。

裝置樹狀結構的階層會反映裝置在電腦中連接的結構。 PnP管理員在管理裝置時使用此層次結構。 例如,如果使用者要求從上圖所代表的計算機拔除 USB 控制器,PnP 管理員會從裝置樹狀結構判斷此動作會導致其他三個裝置也被拔除 (USB 中樞、搖桿和相機) 。 當 PnP 管理員查詢 USB 控制器的驅動程式,以判斷移除控制器是否安全時,它也會查詢控制器子系的驅動程式 (中樞、操縱桿和相機) 。

裝置樹狀結構是動態的。 當裝置新增至計算機並從計算機中移除時,PnP 管理員 (與驅動程式) 會維護系統上裝置的目前圖片。

除了裝置樹狀結構中表示的階層式關聯性之外,機器上的裝置之間還有其他關聯性。 其中包括 移除關係排出關係。 如需詳細資訊,請參閱 IRP_MN_QUERY_DEVICE_RELATIONS 參考頁面中的詳情。

您無法對裝置樹狀結構的建置順序做出任何假設,除非匯流排裝置在其任何子裝置之前設定。 例如,您不應假設匯流排上的一個裝置先於匯流排上的另一個裝置進行配置。