最上位のコレクションの HIDClass ハードウェア ID
このセクションでは、HID クラス ドライバーが最上位のコレクションに対して生成するハードウェア ID について説明します。
ベンダーは、最上位レベルのコレクションを識別するために、ベンダー ハードウェア ID 形式として指定されている形式を使用する必要があります。 その他のすべてのデバイス ID 形式は、内部使用専用に予約されています。
HID クラス ドライバーが devnode に対して生成するハードウェア ID は、次の要素によって異なります。
- 基になるトランスポートでサポートされている機能の数
- レポート記述子内の最上位コレクションの数
これらの要因に基づいて、ハードウェア ID は次の 4 つのカテゴリに分類されます。
Type | 単一の TLC | 複数の TLC |
---|---|---|
単一機能 | ケース 1 | ケース 2 |
多機能 | ケース 3 | ケース 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) [WINDOWS INF 専用に予約済み]
- 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) [WINDOWS INF 専用に予約済み]
- 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) [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 の使用数 |