共用方式為


硬體資源

硬體資源是可指派的可定址匯流排路徑,可讓周邊裝置和系統處理器彼此通訊。 硬體資源通常包括 I/O 埠位址、中斷向量,以及匯流排相對記憶體位址的區塊。

系統才能與 裝置實例通訊,PnP 管理員必須先根據可用的資源以及裝置實例能夠使用哪些資源的知識,將硬體資源指派給裝置實例。 資源會指派給 裝置樹 狀結構中的每個裝置節點, (假設表示的裝置需要資源和這些資源可供使用) 。 PnP 管理員會使用與裝置節點建立關聯的清單來追蹤硬體資源。 它會使用兩種類型的清單:

資源需求清單
裝置通常設計為在資源指派的範圍內運作。 例如,裝置可能只需要一個中斷向量,但可能可以使用任一範圍的向量。 針對每個裝置實例,PnP 管理員會維護 資源需求清單 ,指定裝置可運作的所有硬體資源範圍。 清單的名稱源自將資源指派給裝置時,需要 PnP 管理員從此清單中選擇資源。

核心模式程式碼會使用IO_RESOURCE_REQUIREMENTS_LIST結構來指定資源需求清單 , ( 做為系統常式的輸入,或回應 IRP) 。 使用者模式程式碼會指定使用 PnP 組態管理員結構 作為 PnP 組態管理員函式輸入的資源需求清單。

資源清單
當 PnP 管理員將資源指派給裝置時,它會為每個裝置實例建立指派的資源清單,以持續追蹤這些指派。 這些清單可以稱為 資源指派清單,但該名稱通常會縮短為 資源清單。 當裝置新增或從系統移除時,PnP 管理員可以變更資源清單內容,且後續會重新配置資源。 (資源也可以由 PnP BIOS 指派。此外,使用 INF 檔案或使用者輸入安裝軟體,可以強制 PnP 管理員將特定資源指派給 device.)

核心模式程式碼會使用 CM_RESOURCE_LIST結構來 指定資源清單, (作為系統常式的輸入,或回應 IRP) 。 使用者模式程式碼會使用 PnP 組態管理員結構 做為 PnP 組態管理員函式的輸入來指定資源清單。

PnP 管理員會將資源需求清單和資源清單儲存在登錄中,您可以使用Regedit.exe加以檢視。 驅動程式可以透過隨插即用常式和隨插即用次要 IRP間接存取這些清單。 使用者模式應用程式可以使用 PnP 組態管理員函式。 (驅動程式和應用程式不得使用登錄函式直接存取這些清單,因為儲存體格式在未來的版本中可能會變更。)

邏輯組態

資源需求清單和資源清單都包含一或多個 邏輯設定。 每個邏輯組態都會識別一系列可接受的資源,或一組特定 裝置實例的特定資源。 此外,裝置實例的每個邏輯組態都屬於其中一種 邏輯組態類型。 組態類型如下所列。 數個相同或不同類型的邏輯組態可能會指派給每個裝置實例。

資源需求清單的邏輯組態類型

基本組態
資源需求清單,識別隨插即用裝置所提供的資源範圍。 當驅動程式收到 IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP 時,應該傳回此清單。 (INF 檔案中可以描述非 PnP 裝置的基本設定。在此情況下,裝置安裝軟體會讀取 INF 檔案,並呼叫 PnP 組態管理員函式 來建立需求 list.)

篩選的組態
已提供給驅動程式堆疊的資源需求清單,可能經過修改,然後由驅動程式堆疊傳回,以回應 IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP。 PnP 管理員會使用產生的篩選組態作為配置資源的基礎。

覆寫設定
覆寫基本設定的資源需求清單。 一般而言,如果裝置的 INF 檔案包含 INF DDInstall.LogConfigOverride 區段,裝置安裝程式就會建立覆寫設定。 如果裝置實際從系統移除,則不會移除覆寫組態。

資源清單的邏輯組態類型

開機設定
資源清單,識別系統開機時指派給裝置實例的資源。 (針對 PnP 裝置,這是 BIOS 所提供的設定;針對非 PnP 裝置,卡片上的跳板可能會選取這些資源。) 驅動程式在收到 IRP_MN_QUERY_RESOURCES IRP 時,應該傳回此資源清單。 (如果 BIOS 無法判斷 device.) PnP 管理員可以在移除或重新開機裝置時修改此清單,開機設定可能會部分空白。 對於非 PnP 裝置,可以使用此組態類型,而不是強制設定,在此情況下,其設定優先順序低於對等的強制設定。 每個裝置實例只能有一個開機設定。

強制設定
資源清單,識別裝置實例必須使用的資源。 強制設定可防止 PnP 管理員將其他資源指派給裝置實例。 裝置安裝程式可能會根據 INF 中包含的資訊或從使用者接收的資訊來建立強制設定。 如果裝置實際從系統移除,則不會移除強制設定。 每個裝置實例只能有一個強制設定。

已配置的組態
資源清單,識別裝置實例目前使用中的資源。 每個裝置實例只能有一個配置的設定。

設備磁碟機負責判斷與 PnP 相容的裝置基本設定、篩選的組態和開機設定,以及傳回該資訊以回應 PnP 管理員所傳送的 IRP。 (如需詳細資訊,請參閱 將 PnP 裝置新增至執行中的 System.) 驅動程式安裝軟體可以建立覆寫設定、強制設定,以及非 PnP 裝置的開機設定。 PnP 管理員會維護每個裝置實例的配置組態。

建立時,會將優先順序指派給每個組態。 如果 PnP 管理員發現裝置實例已指派數個相同類型的邏輯組態,它會先嘗試使用優先順序最高的組態。 如果該組態會導致資源衝突,它會嘗試具有下一個較低優先順序的組態。 (如需組態優先順序的清單,請參閱 CM_Add_Empty_Log_Conf.)