共用方式為


裝置樹狀結構

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 的參考頁面。

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