顶级集合的 HIDClass 硬件 ID

本部分指定 HID 类驱动程序为顶级集合生成的硬件 ID

供应商必须使用指定为 供应商硬件 ID 格式的格式 来标识顶级集合。 所有其他 设备 ID 格式保留仅供内部使用。

HID 类驱动程序为开发节点生成的硬件 ID 取决于以下各项:

  1. 基础传输支持的函数数
  2. 报表描述符中的顶级集合数

根据这些因素,有 4 类硬件 ID

类型 单个 TLC 多个 TLC
Single-Function Case 1 Case 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

以下是仅供内部使用的硬件 ID (,) Windows 使用它来提供默认系统功能。

设备类型 使用情况页 使用情况 硬件 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
Keyboard 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。

图例:

字段 Contains 十六进制值 含义
v (4) 四个十六进制数字 0x0000-0xFFFF 供应商 ID
d (4) 四个十六进制数字 0x0000-0xFFFF 产品 ID
r (4) 四个十六进制数字 0x0000-0xFFFF 修订号
z (2) 两个十六进制数字 0x00-0xFF 接口号 (仅用于复合 USB 设备。)
b (2) 两个十六进制数字 0x00-0xFF 集合编号 (仅用于多 TLC 设备。)
p (4) 四个十六进制数字 0x0000-0xFFFF TLC 的使用页码
u (4) 四个十六进制数字 0x0000-0xFFFF TLC 的用法编号