This section specifies the hardware IDs that the HID class driver generates for top-level collections.
ベンダーは、最上位レベルのコレクションを識別するために 、ベンダー ハードウェア ID 形式 として指定されている形式を使用する必要があります。 All other device ID formats are reserved for internal use only.
開発ノードに対して HID クラス ドライバーが生成するハードウェア ID は、次によって異なります。
- 基になるトランスポートでサポートされる関数の数
- レポート記述子内の最上位のコレクションの数
これらの要因に基づいて、ハードウェア ID には 4 つのカテゴリがあります
| タイプ | Single TLC | Multiple TLC |
|---|---|---|
| Single-Function | Case 1 | Case 2 |
| Multi-Function | Case 3 | Case 4 |
ケース 1: 単一の TLC を備えた単一機能デバイス
このハードウェア ID 形式が使用される条件:
- 基になるトランスポートでサポートされる関数の数 = 1 >
- 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 >
- 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) [RESERVED FOR WINDOWS INFs ONLY]
- HID_DEVICE [WINDOWS INF 専用に予約済み]
ケース 3: 単一の TLC を備えた多機能デバイス
このハードウェア ID 形式が使用される条件:
- 基になるトランスポートでサポートされる関数の数 > 1 >
- 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) [RESERVED FOR WINDOWS INFs ONLY]
- HID_DEVICE [WINDOWS INF 専用に予約済み]
ケース 4: 複数の TLC を持つ多機能デバイス
このハードウェア ID 形式が使用される条件:
- 基になるトランスポートでサポートされる関数の数 > 1 >
- 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) [RESERVED FOR WINDOWS INFs ONLY]
- HID_DEVICE [WINDOWS INF 専用に予約済み]
特殊用途ハードウェア ID
Windows が既定のシステム機能を提供するために使用するハードウェア ID (内部使用のみ) を次に示します。
| Device Type | Usage Page | Usage | Hardware ID |
|---|---|---|---|
| Pointer | 0x01 | 0x01 | HID_DEVICE_SYSTEM_MOUSE |
| Mouse | 0x01 | 0x02 | HID_DEVICE_SYSTEM_MOUSE |
| Joystick | 0x01 | 0x04 | HID_DEVICE_SYSTEM_GAME |
| Game pad | 0x01 | 0x05 | HID_DEVICE_SYSTEM_GAME |
| Keyboard | 0x01 | 0x06 | HID_DEVICE_SYSTEM_KEYBOARD |
| Keypad | 0x01 | 0x07 | HID_DEVICE_SYSTEM_KEYBOARD |
| System control | 0x01 | 0x80 | HID_DEVICE_SYSTEM_CONTROL |
| コンシューマー オーディオ コントロール | 0x0C | 0x01 | HID_DEVICE_SYSTEM_CONSUMER |
Important notes:
- HIDClass によって生成された互換性のある ID はありません
- ベンダーのサード パーティの INF は、ハードウェア ID とのみ一致する必要があります
- HID_DEVICE_SYSTEM_* を含むハードウェア ID は、オペレーティング システムがその使用のために開く "特別な" デバイスです。 ベンダーが提供する INF は、これらの特殊なハードウェア ID と一致してはなりません。
- ベンダーが提供するサード パーティの HID トランスポート ミニドライバーは、HIDClass が適切なハードウェア ID を生成できるように、以下に示すフィールドを指定する必要があります。
Legend:
| Field | Contains | Hexadecimal Value | Meaning |
|---|---|---|---|
| v(4) | 4 桁の 16 進数 | 0x0000-0xFFFF | Vendor 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 の使用数 |