HID报表描述符大全及实例分析
+ -

自定义通读HID报告描述符

2021-09-08 33 27
欢迎加入官方QQ群:952873936或联系站长进行技术交流。

在进行HID通讯时,免不了设计自定义HID,这个可以使用系统驱动,实现设备免驱。
在应用层可以使用windows提供的HID接口进行数据读写。

自定义HID报告描述符1

0x06,0x00,0xFF,             //0       GLOBAL_USAGE_PAGE(Undefined)
0x09,0x01,                  //3       LOCAL_USAGE()
0xA1,0x01,                  //5       MAIN_COLLECTION(Applicatior)
0x90,                       //7       MAIN_OUTPUT(const array absolute NoWrap linear PreferredState NoNullPosition NonVolatile )
0x01,0x29,                  //8       (const array absolute Wrap linear NoPreferred NoNullPosition NonVolatile )
0x40,                       //10      (const array absolute Wrap linear NoPreferred NoNullPosition NonVolatile )
0x15,0x00,                  //11      GLOBAL_LOGICAL_MINIMUM(0)
0x26,0xFF,0x00,             //13      GLOBAL_LOCAL_MAXIMUM(255/255)
0x75,0x08,                  //16      GLOBAL_REPORT_SIZE(8)
0x95,0x40,                  //18      GLOBAL_REPORT_COUNT(64)
0x29,0x40,                  //20      LOCAL_USAGE_MAXIMUM(64)
0x91,0x00,                  //22      MAIN_OUTPUT(data array absolute NoWrap linear PreferredState NoNullPosition NonVolatile )
0xC0,                       //24      MAIN_COLLECTION_END

该结构体通过HIDReportParser.exe解析后为:

  • CollectionNumber 1
  • ReportId 0
  • InputLength 0
  • OutputLength 64
  • FeatureLength 0

自定义HID报告描述符2

——-报告描述符———————

0x05,0xFF,                  //0       GLOBAL_USAGE_PAGE(Reserved or Other)
0x09,0x01,                  //2       LOCAL_USAGE()
0xA1,0x01,                  //4       MAIN_COLLECTION(Applicatior)
0x85,0xD0,                  //6       GLOBAL_REPORT_ID(208)
0xE0,                       //8       (data array absolute NoWrap no Linear PreferredState NullState Volatile )
0xD0,                       //9       (data array absolute NoWrap no Linear PreferredState NullState Volatile )
0x09,0x03,                  //10      LOCAL_USAGE()
0x15,0x00,                  //12      GLOBAL_LOGICAL_MINIMUM(0)
0x25,0xFF,                  //14      GLOBAL_LOCAL_MAXIMUM(-1/255)
0x75,0x08,                  //16      GLOBAL_REPORT_SIZE(8)
0x95,0x3F,                  //18      GLOBAL_REPORT_COUNT(63)
0x81,0x02,                  //20      MAIN_INPUT(data var absolute NoWrap linear PreferredState NoNullPosition NonVolatile )
0x09,0x04,                  //22      LOCAL_USAGE()
0x91,0x02,                  //24      MAIN_OUTPUT(data var absolute NoWrap linear PreferredState NoNullPosition NonVolatile )
0xC0,                       //26      MAIN_COLLECTION_END

该结构体通过HIDReportParser.exe解析后为:

CollectionNumber        1
ReportId                0
InputLength             64
OutputLength            64
FeatureLength           0

0 篇笔记 写笔记

USB中文网出品-HID报告描述符分析工具
USB HID规范中有一个很重要的概念,就是HID的报告描述符。本人搞了这么久的HID设备开发,其中一项最头疼的是HID报告描述符的分析。因为有时通过抓包获取的HID报告描述符,如果没有文档,就需要自己手动进行分析。但手动分析是一项头疼的工作。这完全就是在浪费时间做一项无聊的工作。酝酿了很久,终于......
自定义通读HID报告描述符
在进行HID通讯时,免不了设计自定义HID,这个可以使用系统驱动,实现设备免驱。在应用层可以使用windows提供的HID接口进行数据读写。自定义HID报告描述符10x06,0x00,0xFF, //0 GLOBAL_USAGE_PAGE(Undefined)......
Windows自定义HID设备通讯开发概述
HID设备是USB规范中最早提出并支持的一类通讯设备,常见的键盘、鼠标、游戏手柄都属于HID设备。HID设备一般用于数据量小但实时性要求较高的环境,所以HID设备采用的是USB四种通讯类弄的中中断传传输类型。除了上述描述符的标准的HID设备,HID也提供一种自定义通讯,并由Windows提供驱动,而......
Windows自定义HID API相关函数解释
CreateFile()CreateFile()函数的函数原型为:HANDLE CreateFile( LPCWSTR lpFileName, //指向路径的指针 DWORD dwDesiredAccess, //访问模式(读/写) DWORD dwShareMo......
自定义HID的同步操作示例
如本人通过枚举系统中所有的HID设备,通过同步操作来读取HID设备。这里的数据长度都为64字节。#include#include #include #include
自定义HID的异步操作和同步类似,这里有两个关键的区别:第一:CreateFile时wFlagsAndAttributes参数包括FILE_FLAG_OVERLAPPED标识。第二:ReadFile,WriteFile必须的OVERLAPPED参数;异步CreateFile打开HID示例: ......
作者信息
USB中文网
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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