LocationPath レジストリ サブキー
Windows 7 以降では、LocationPath レジストリ サブキーは、HardwareID または CompatibleID レジストリ サブキーを使用して識別された 1 つのデバイスのリムーバブル デバイス機能オーバーライドの場所パスを指定します。 リムーバブル デバイス機能のオーバーライドの詳細については、「DeviceOverrides レジストリ キー」を参照してください。
LocationPath レジストリ サブキーは、リムーバブル デバイス機能の値を、指定された場所のパスに存在するデバイス ノード (devnode) にのみ適用します。 これにより、リムーバブル デバイス機能のオーバーライドを、システムにインストールされているデバイスの 1 つのインスタンスに適用できます。 他の場所のパスで同じ HardwareID または CompatibleID を 持つ他のデバイスは、このようなリムーバブル デバイス機能のオーバーライドの影響を受けません。
慣例により、場所のパス文字列は ServiceName(BusSpecificLocation) という形式 になります。 たとえば、PCI デバイスでは PCI (XXYY) が使用されます。XX はデバイス番号、YY は関数番号です。 文字列は、そのバスに関連してデバイスに固有です。 プラグ アンド プレイ (PnP) マネージャーは、devnode ツリー内の各ノードの場所パスをアセンブルします。 ツリー内の各 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 レジストリ サブキーは、固定バスの場所にハードワイヤードされているデバイスのリムーバブル デバイス機能をオーバーライドするために使用することを目的としています。 これは通常、ポータブル コンピューターで発生し、次のデバイスが含まれます。
ワイヤレス ネットワーク アダプター
Bluetooth アダプター
キーボードまたはポインティング デバイス
これらのデバイスは、ユーザーが変更できない固定の場所にある異なる内部バス上に存在します。 LocationPath のオーバーライドを使用すると、指定されたバスの場所にあるデバイスのみがリムーバブル デバイス機能のオーバーライドの影響を受けるかどうかを指定できます。 これにより、オーバーライドターゲットと同じ HardwareID または CompatibleID サブキー値を共有する可能性がある他のバスの場所にあるデバイスにオーバーライドが影響を与えるのを防ぐことができます。 これは、デバイスが受信トレイ ドライバーと 一致するように CompatibleID サブキー値のみを指定する場合に一般的です。
ChildLocationPaths レジストリ サブキーを使用して子開発ノードのリムーバブル デバイス機能をオーバーライドする場合、多くの場合、デバイスの種類に関係なく、特定の場所にある子開発ノードのみを対象とすると便利です。
たとえば、ノート PC には、内部ポートと外部ポートの両方を備えた内部 USB ハブがある場合があります。 この USB ハブが内部ポートを外部と誤って報告している場合、これらのポートに内部的にハードワイヤードされているデバイスは、リムーバブルとして誤って認識されます。 同様に、すべてのポートが内部として誤って報告された場合、外部に接続されたデバイスは、ラップトップの非接続部分であるかのように扱われます。
外部 USB ポートに接続されているデバイスの場所パスの値を検出するには、任意のデバイスをポートに接続し、その場所パスのプロパティを確認できます。 同じポートに接続されているその他の USB デバイスは、親バスと内部的にポートを識別する方法が変わらないため、同じ場所のパス値を受け取る必要があります。