LocationPath 登錄子機碼
從 Windows 7 開始, LocationPath 登錄子機碼會指定透過 HardwareID 或 CompatibleID 登錄子機碼識別之單一裝置的卸載式裝置功能覆寫位置路徑。 如需卸載式裝置功能覆寫的詳細資訊,請參閱 DeviceOverrides 登錄機碼。
LocationPath登錄子機碼只會將卸載式裝置功能值套用至存在於指定位置路徑的裝置節點 (devnode) 。 這可讓卸載式裝置功能覆寫套用至安裝在系統中之裝置的單一實例。 在其他位置路徑具有相同 HardwareID 或 CompatibleID 的其他裝置,不會受到這類卸載式裝置功能覆寫的影響。
根據慣例,位置路徑字串的格式為 ServiceName (BusSpecificLocation) 。 例如,PCI 裝置使用 PCI (XXYY) ,其中 XX 是裝置號碼, 而 YY 是函式編號。 字串對裝置而言是與其匯流排相關的唯一字串。 隨插即用 (PnP) 管理員會組合開發節點樹狀結構中每個節點的位置路徑。 樹狀結構中的每個 devnode 都會將其服務名稱字串串連至其父 devnode 所提供的位置路徑字串結尾。 因此,樹狀結構中任何 devnode 的位置都可以透過位置路徑唯一識別。
下表定義 LocationPath 登錄子機碼的格式和需求。
登錄子機碼名稱 | 必要條件/選擇性 | 格式需求 | 父子機碼 | 子子機碼 |
---|---|---|---|---|
有效的 「LocationPath」 值 |
選擇性 (* 或有效的位置路徑必須存在,才能指出卸載式裝置功能覆寫的範圍) |
無 |
無 |
LocationPath或 * 登錄子機碼必須存在,才能指出卸載式裝置功能覆寫的範圍。
LocationPath子機碼必須包含可移動DWORD 值,指定裝置是否可移動。 下表定義有效的 卸載 式值。
卸載式值 | 說明 |
---|---|
0 |
devnode 應該視為不卸載 |
1 |
devnode 應該視為卸載式 |
指定 devnode 的位置路徑字串可以透過下列步驟裝置管理員顯示:
開啟裝置管理員,並找出要套用登錄覆寫的 devnode。 若要這樣做,您可能需要透過連線將檢視變更為 [裝置]。
以滑鼠右鍵按一下 devnode,按一下 [ 屬性 ],然後按一下 [ 詳細資料] 索引 標籤。
在 [ 屬性 ] 下拉式清單中,尋找 LocationPaths 屬性。 這個屬性包含這個 devnode 的位置路徑字串,而且是應該用於 LocationPath 登錄子機碼的值。
注意 devnode 可能沒有 LocationPaths 值。 這是因為此 devnode 的驅動程式或其其中一個父代不會實作 GUID_PNP_LOCATION_INTERFACE 介面。 在此情況下,您必須檢查 LocationPaths 屬性的父 devnode。
LocationPaths登錄子機碼是用來覆寫固定匯流排位置之裝置的抽取式裝置功能。 這通常會發生在可攜式電腦中,並包含下列裝置:
無線網路介面卡
藍牙介面卡
鍵盤或指向裝置
這些裝置存在於使用者無法變更之固定位置的不同內部匯流排上。 LocationPaths覆寫可讓您指定只有位於指定匯流排位置的裝置會受到卸載式裝置功能覆寫的影響。 這可防止覆寫影響其他匯流排位置的裝置,這些裝置可能會與覆寫目標共用相同的 HardwareID 或 CompatibleID 子機碼值。 當裝置只指定 CompatibleID 子機碼值以符合收件匣驅動程式時,這很常見。
當您使用 ChildLocationPaths 登錄子機碼來覆寫子開發節點的卸載式裝置功能時,不論子節點的裝置類型為何,只以特定位置的子開發節點為目標通常很有用。
例如,膝上型電腦可能有具有內部和外部埠的內部 USB 中樞。 如果此 USB 中樞誤報其內部埠為外部,則任何內部硬式連線到這些埠的裝置都無法正確地辨識為卸載式埠。 同樣地,如果所有埠都誤報為內部,則任何外部連線的裝置都會被視為膝上型電腦不可偵測的一部分。
若要探索連線到外部 USB 埠之裝置的位置路徑值,您可以將任何裝置插入埠,並觀察其位置路徑屬性。 插入相同埠的任何其他 USB 裝置都應該收到相同的位置路徑值,因為父匯流排及其在內部識別埠的方式永遠不會變更。