请教关于HID设备的读写问题

 我来答
huanglenzhi
推荐于2016-12-01 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517196
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  1.相同类型的Report,其Report ID是不是相同的(文章里说输入报告 1 ,特征报告 2 ,特征报告 3 ,输出报告 4)?
  如果不同的话,那Report ID是怎么确定的?
  Report ID由HID设备的报告描述符来决定,具体多少要看你里面的设定(一般设定输入和输入2种ID),在WriteFile和ReadFile时与设定保持一致即可;
  还有一种是报告描述符里没有设定,系统默认输入输出ID都为0x00;
  2.要向HID设备发送一串数据,那么使用HIDD_SetFeature(..)和HIDD_SetOutputReport(..)及使用WriteFile(..)函数实现有没有什么区别?
  应用程序只需要使用WriteFile(..)即可,
  HIDD_SetFeature(..)和HIDD_SetOutputReport(..)为PC机自己调用,不属于应用程序里面的东西(这个地方不太确定,应该是)
  3.使用HIDD_SetFeature,HIDD_SetOutputReport及WriteFile函数向设备(Driver)发送一串数据,Driver接收到的就是整个Report数据?
  接受函数是ReadFile(),同理;
  注意:WriteFile()及ReadFile()都比实际的数据要多一位ReportID,这个ReportID使用BUSHOUND是看不到的,但是实际存在,也就是说你的读写数组的位数都要在你实际数据位数的基础上加1,否则会返回错误,使用GetlastError可以查看到具体的错误内容.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式