次の方法で共有


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 レジストリ サブキーの形式と要件を定義します。

レジストリ サブキー名 Required/optional 書式の要件 親サブキー 子サブキー

有効な "LocationPath" 値

リムーバブルデバイス機能のオーバーライドのスコープを示すには、* または有効な場所のパスのいずれかが存在する必要があります(どちらかが省略可能です)。

無し

LocationPaths または childLocationPaths する

無し

リムーバブル デバイス機能のオーバーライドのスコープを示すには、LocationPath または * レジストリ サブキーが存在する必要があります。

LocationPath サブキーには、デバイスがリムーバブルかどうかを指定するリムーバブル DWORD 値が含まれている必要があります。 次の表では、有効な リムーバブル の値を定義します。

リムーバブル値 説明

0

devnode は取り外し不可と見なす必要があります

1

devnode はリムーバブルと見なす必要があります

特定の開発ノードの場所パス文字列は、次の手順でデバイス マネージャーを使用して表示できます。

  1. デバイス マネージャーを開き、レジストリのオーバーライドを適用する devnode を見つけます。 これを行うには、ビューを接続別のデバイスに変更する必要がある場合があります。

  2. devnode を右クリックし、[ プロパティ ] をクリックし、[ 詳細 ] タブをクリックします。

  3. [プロパティ] ドロップダウン リストで、LocationPaths プロパティを見つけます。 このプロパティには、この devnode の場所パス文字列が含まれており、 LocationPath レジストリ サブキーに使用する必要がある値です。

手記 devnode に LocationPaths 値がない可能性があります。 これは、devnode またはその親のドライバーがGUID_PNP_LOCATION_INTERFACEインターフェースを実装していないためです。 この場合は、 LocationPaths プロパティの親 devnode を確認する必要があります。

LocationPaths レジストリ サブキーは、固定バスの場所にハードワイヤードされているデバイスのリムーバブル デバイス機能をオーバーライドするために使用することを目的としています。 これは通常、ポータブル コンピューターで発生し、次のデバイスが含まれます。

  • ワイヤレス ネットワーク アダプター

  • Bluetooth アダプター

  • キーボードまたはポインティング デバイス

これらのデバイスは、ユーザーが変更できない固定の場所にある異なる内部バス上に存在します。 LocationPath のオーバーライドを使用すると、指定されたバスの場所にあるデバイスのみがリムーバブル デバイス機能のオーバーライドの影響を受けるかどうかを指定できます。 これにより、オーバーライドターゲットと同じ HardwareID または CompatibleID サブキー値を共有する可能性がある他のバスの場所にあるデバイスにオーバーライドが影響を与えるのを防ぐことができます。 これは、デバイスが組み込みドライバーと一致するように CompatibleID サブキー値のみを指定する場合に一般的です。

ChildLocationPaths レジストリ サブキーを使用して子開発ノードのリムーバブル デバイス機能をオーバーライドする場合、多くの場合、デバイスの種類に関係なく、特定の場所にある子開発ノードのみを対象とすると便利です。

たとえば、ノート PC には、内部ポートと外部ポートの両方を備えた内部 USB ハブがある場合があります。 この USB ハブが内部ポートを外部と誤って報告している場合、これらのポートに内部的にハードワイヤードされているデバイスは、リムーバブルとして誤って認識されます。 同様に、すべてのポートが内部として誤って報告された場合、外部に接続されたデバイスは、ラップトップの非接続部分であるかのように扱われます。

外部 USB ポートに接続されているデバイスの場所パスの値を検出するには、任意のデバイスをポートに接続し、その場所パスのプロパティを確認できます。 同じポートに接続されているその他の USB デバイスは、親バスと内部的にポートを識別する方法が変わらないため、同じ場所のパス値を受け取る必要があります。