最上層集合的 HIDClass 硬體識別碼
本節會指定 HID 類別驅動程式針對最上層集合所產生的硬體識別碼。
廠商必須使用指定為 廠商硬體標識碼格式的格式 來識別最上層集合。 所有其他 裝置 識別碼格式都保留供內部使用。
HID 類別驅動程式針對 devnode 產生的硬體識別碼取決於下列各項:
- 基礎傳輸所支援的函式數目
- 報表描述元中的最上層集合數目
根據這些因素,硬體標識碼有 4 種類別
類型 | 單一 TLC | 多個 TLC |
---|---|---|
Single-Function | 案例 1 | 案例 2 |
多重函式 | 案例 3 | 案例 4 |
案例 1:具有單一 TLC 的單一函式裝置
使用此硬體識別碼格式的條件:
- 基礎傳輸支援的函式數目 = 1 &&
- TLC 數目 = 1
硬體識別碼格式:
- 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 的單一函式裝置
使用此硬體識別碼格式的條件:
- 基礎傳輸支援的函式數目 = 1 &&
- TLC > 1 的數目
硬體識別碼格式:
- 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 的多重功能裝置
使用此硬體識別碼格式的條件:
- 基礎傳輸 > 1 支援的函式數目 &&
- TLC 數目 = 1
硬體識別碼格式:
- 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 的多函式裝置
使用此硬體識別碼格式的條件:
- 基礎傳輸 > 1 支援的函式數目 &&
- TLC > 1 的數目
硬體識別碼格式:
- 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 保留]
特殊用途硬體標識碼
以下是 (硬體識別碼,僅供內部使用,Windows 用來提供預設系統功能) 。
裝置類型 | 使用方式頁面 | 使用方式 | 硬體識別碼 |
---|---|---|---|
Pointer | 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 不會產生相容的標識碼
- 廠商第三方 INF 只能與硬體標識碼相符
- 包含HID_DEVICE_SYSTEM_* 的硬體識別碼是操作系統開啟以供其使用的「特殊」裝置。 提供 INF 的廠商不得符合這些特殊硬體識別碼。
- 廠商提供的第三方 HID 傳輸迷你驅動程式必須提供下列欄位,以確保 HIDClass 可以產生適當的硬體識別碼。
圖例:
欄位 | 包含 | 十六進位值 | 意義 |
---|---|---|---|
v (4) | 四個十六進位數位 | 0x0000-0xFFFF | 廠商識別碼 |
d (4) | 四個十六進位數位 | 0x0000-0xFFFF | 產品識別碼 |
r (4) | 四個十六進位數位 | 0x0000-0xFFFF | 修訂號碼 |
z (2) | 兩個十六進位數位 | 0x00-0xFF | 介面編號 (只與複合 USB 裝置搭配使用。) |
b (2) | 兩個十六進位數位 | 0x00-0xFF | 集合編號 (僅與多 TLC 裝置搭配使用。) |
p (4) | 四個十六進位數位 | 0x0000-0xFFFF | TLC 的使用頁碼 |
u (4) | 四個十六進位數位 | 0x0000-0xFFFF | 使用方式 TLC 數目 |