次の方法で共有


最上位のコレクションの HIDClass ハードウェア ID

このセクションでは、HID クラス ドライバーが最上位のコレクションに対して生成するハードウェア ID について説明します。

ベンダーは、最上位レベルのコレクションを識別するために、ベンダー ハードウェア ID 形式として指定されている形式を使用する必要があります。 その他のすべてのデバイス ID 形式は、内部使用専用に予約されています。

HID クラス ドライバーが devnode に対して生成するハードウェア ID は、次の要素によって異なります。

  1. 基になるトランスポートでサポートされている機能の数
  2. レポート記述子内の最上位コレクションの数

これらの要因に基づいて、ハードウェア ID は次の 4 つのカテゴリに分類されます。

Type 単一の TLC 複数の TLC
単一機能 ケース 1 ケース 2
多機能 ケース 3 ケース 4

ケース 1: 単一の TLC を備えた単一機能デバイス

このハードウェア ID 形式が使用される条件:

  1. 基になるトランスポートでサポートされている機能の数 = 1 &&
  2. TLC の数 = 1

ハードウェア ID の形式:

  • HID\Vid_v(4)&Pid_d(4)&Rev_r(4)
  • HID\Vid_v(4)&Pid_d(4)
  • HID_DEVICE_UP:p(4)_U:u(4)
  • HID_DEVICE

ケース 2: 複数の TLC を備えた単一機能デバイス

このハードウェア ID 形式が使用される条件:

  1. 基になるトランスポートでサポートされている機能の数 = 1 &&
  2. TLC の数 > 1

ハードウェア ID の形式:

  • HID\Vid_v(4)&Pid_d(4)&Rev_r(4)&Colb(2)
  • HID\Vid_v(4)&Pid_d(4)&Colb(2)
  • HID_DEVICE_UP:p(4)_U:u(4) [WINDOWS INF 専用に予約済み]
  • HID_DEVICE [WINDOWS INF 専用に予約済み]

ケース 3: 単一の TLC を備えた多機能デバイス

このハードウェア ID 形式が使用される条件:

  1. 基になるトランスポートでサポートされている機能の数 > 1 &&
  2. TLC の数 = 1

ハードウェア ID の形式:

  • HID\Vid_v(4)&Pid_d(4)&Rev_r(4)&MI_z(2)
  • HID\Vid_v(4)&Pid_d(4)&MI_z(2)
  • HID_DEVICE_UP:p(4)_U:u(4) [WINDOWS INF 専用に予約済み]
  • HID_DEVICE [WINDOWS INF 専用に予約済み]

ケース 4: 複数の TLC を備えた多機能デバイス

このハードウェア ID 形式が使用される条件:

  1. 基になるトランスポートでサポートされている機能の数 > 1 &&
  2. TLC の数 > 1

ハードウェア ID の形式:

  • HID\Vid_v(4)&Pid_d(4)&Rev_r(4)&MI_z(2)&Colb(2)
  • HID\Vid_v(4)&Pid_d(4)&MI_z(2)&Colb(2)
  • HID_DEVICE_UP:p(4)_U:u(4) [WINDOWS INF 専用に予約済み]
  • HID_DEVICE [WINDOWS INF 専用に予約済み]

特殊な目的のハードウェア ID

Windows が既定のシステム機能を提供するために使用するハードウェア ID (内部使用のみ) を次に示します。

デバイスの種類 使用法ページ 使用方法 ハードウェアID
ポインター 0x01 0x01 HID_DEVICE_SYSTEM_MOUSE
マウス 0x01 0x02 HID_DEVICE_SYSTEM_MOUSE
ジョイスティック 0x01 0x04 HID_DEVICE_SYSTEM_GAME
ゲーム パッド 0x01 0x05 HID_DEVICE_SYSTEM_GAME
[キーボード] 0x01 0x06 HID_DEVICE_SYSTEM_KEYBOARD
キーパッド 0x01 0x07 HID_DEVICE_SYSTEM_KEYBOARD
システム制御 0x01 0x80 HID_DEVICE_SYSTEM_CONTROL
コンシューマー オーディオ コントロール 0x0C 0x01 HID_DEVICE_SYSTEM_CONSUMER

重要なメモ:

  • HIDClass によって生成された互換性のある ID はありません。
  • ベンダーのサード パーティの INF は、ハードウェア ID のみと一致する必要があります。
  • HID_DEVICE_SYSTEM_* を含むハードウェア ID は、オペレーティング システムがその用途のために開く「特別な」デバイスです。 ベンダーが提供する INF が、これらの特殊なハードウェア ID と一致してはなりません。
  • ベンダーが提供するサード パーティの HID トランスポート ミニドライバーには、HIDClass が適切なハードウェア ID を生成できるように、以下に示すフィールドが指定されている必要があります。

凡例:

フィールド 内容 16 進数値 意味
v(4) 4 桁の 16 進数 0x0000-0xFFFF ベンダー ID
d(4) 4 桁の 16 進数 0x0000-0xFFFF Product ID
r(4) 4 桁の 16 進数 0x0000-0xFFFF Revision Number
z(2) 2 桁の 16 進数 0x00-0xFF インターフェイス番号 (複合 USB デバイスでのみ使用されます)
b(2) 2 桁の 16 進数 0x00-0xFF コレクション番号 (複数の TLC デバイスでのみ使用されます)
p(4) 4 桁の 16 進数 0x0000-0xFFFF TLC の使用法ページ番号
u(4) 4 桁の 16 進数 0x0000-0xFFFF TLC の使用数