次の方法で共有


標準の USB 識別子

USB デバイス用に生成される識別子のセットは、デバイスが単一インターフェイス デバイスか、複数インターフェイス デバイスかによって異なります。

シングルインターフェイス USB デバイス

新しい USB デバイスが接続されると、システム提供の USB ハブ ドライバーは、デバイスのデバイス記述子から抽出された情報を使用して、次のデバイス ID を構成します。

USB\VID_v(4)&PID_d(4)&REV_r(4)

ここで:

ハブ ドライバーは、デバイス記述子idVendoridProduct、および bcdDevice フィールドからベンダーと製品コードをそれぞれ抽出します。 これらのコードは 4 桁の 16 進数です。

INF モデル セクションでは、次のハードウェア ID を指定することもできます。

USB\VID_v(4)&PID_d(4)

次の互換性のある ID:

USB\CLASS_c(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_c(2)&SUBCLASS_s(2)

USB\CLASS_c(2)

ここで:

  • c(2) は、デバイス記述子から取得された デバイス クラス コードです。
  • s(2) はデバイス サブクラス コードです。
  • p(2) はプロトコル コードです。

device 記述子の bDeviceClassbDeviceSubClass、および bDeviceProtocol フィールドはデバイス クラス コード、サブクラス コード、プロトコル コードをそれぞれ決定します。 これらのコードは 2 桁の 16 進数です。

マルチインターフェイス USB デバイス

複数のインターフェイスを持つデバイスは複合デバイスと呼ばれます。 新しい USB 複合デバイス が Windows コンピューターに接続されると、USB ハブ ドライバーは物理デバイス オブジェクト (PDO) を作成し、子デバイスの一覧を更新するようにオペレーティング システムに通知します。 Windows は、新しい PDO に関連付けられているハードウェア識別子をハブ ドライバーに照会した後、適切な INF ファイルを検索して識別子の一致を検索します。 USB\COMPOSITE 以外の一致が見つかると、INF ファイルに示されているドライバーが読み込まれます。 ただし、他の一致するものが見つからない場合、オペレーティング システムは USB 汎用親ドライバーを読み込む互換性のある ID USB\COMPOSITE を使用します。 その後、汎用の親ドライバーは、個別の PDO を作成し、複合デバイスのインターフェイスごとに個別のハードウェア識別子のセットを生成します。

各インターフェイスには、次の形式のデバイス ID があります。

USB\VID_v(4)&PID_d(4)&MI_z(2)

ここで:

INF モデル セクションでは、次の互換性のある ID を指定することもできます。

USB\CLASS_d(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

USB\COMPOSITE

ここで:

  • d(2) は、デバイス記述子から取得された デバイス クラス コードです。
  • s(2) はサブクラス コードです。
  • p(2) はプロトコル コードです。

インターフェイス記述子の bInterfaceClassbInterfaceSubClass、および bInterfaceProtocol フィールドはデバイス クラス コード、サブクラス コード、プロトコル コードをそれぞれ決定します。 これらのコードは 2 桁の 16 進数です。