HID规范
+ -

HID 获取报表请求GetReport

2020-10-31 6238 3

GetReport请求用于获取HID设备的报告,由主机发送GetReport请求,设备返回报表数据。
GetReport请求一般发生于设备初始化时或需要读取设备报表时。

详见:USB标准请求

  • bmRequestType(1):0xa1
  • bRequest(1): GET_REPORT,值为01.
  • wValue(2):报告索引
    • 高字节报告类型
      • 01:表示输入报告(input Report)
      • 02: 表示输出报告(Output Report)
      • 03: 表示特性报告(Feature Report)
      • 04-ff:保留
    • 低字节为报告ID.
  • wIndex(2):接口ID
  • wLength(2):数据长度

GetReport示例

Device  Length    Phase  Data                                                                        
------  --------  -----  ----------------------------------------------------------------------------                                                 
  37.0            CTL    a1 01 05 01  07 00 ff 0b                                                    
  37.0        24  IN     00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  f0 f0 0f 0f  0f 0f 0f ff

如以上数据:

  • bmRequestType: 0xa1:表示发向接口的收入请求,类型01 = 类请求命令
  • bRequest:01, 表示GET_REPORT
  • wValue:05 01即0x0105,表示ID=5的输入报告
  • wIndex:07 00,即0x0007,接口ID=7
  • wLength:ff 0b表示数据长度。

返回的实际数据长度为24字节。

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

HID 获取报表请求GetReport
GetReport请求用于获取HID设备的报告,由主机发送GetReport请求,设备返回报表数据。GetReport请求一般发生于设备初始化时或需要读取设备报表时。详见:USB标准请求bmRequestType(1):0xa1bRequest(1): GET_REPORT,值为01.wVal......
Windows获取HID报告描述符长度比实际长度大64字节
HID是USB的一个大类,其中比较核心的概念是报告描述符。在USB设备枚举过程中,不知道大家有没有留意过这样的一个问题,就是自己在配置描述符中指定了报告描述符的长度为某个长度,但在实际的抓包处理时,发现Windows下发的数据长度为自己指定的长度+64字节。这个问题从XP到win10都有这个问题......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!