打印

usb人体学输入设备与 hid-compliant device什么关系

[复制链接]
19678|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 zjwyczj 于 2014-7-9 12:29 编辑

我在调试hid设备时,插入一个hid设备就会出现一个usb人体学输入设备和对应的hid-compliant device,请问它两是什么关系???
然后我在调试的时候,用usb hound抓取数据的时候,usb人体学输入设备和hid-compliant device都勾选了,但是只收到usb人体学输入设备的数据,发送的时候正常。这是怎么回事啊???圈圈版主,求教啊

这是我抓到的数据,什么情况啊


然后调试出来ReadFile的时候,我GetLastError()了以下,说错误是ERROR_IO_PENDING。说驱动程序将这个IRP挂起了。

相关帖子

沙发
zjwyczj|  楼主 | 2014-7-9 10:56 | 只看该作者

使用特权

评论回复
板凳
computer00| | 2014-7-9 20:54 | 只看该作者
可能是返回的数据长度不对。具体可以看我的书,里面有讲的。

使用特权

评论回复
地板
zjwyczj|  楼主 | 2014-7-10 10:32 | 只看该作者
computer00 发表于 2014-7-9 20:54
可能是返回的数据长度不对。具体可以看我的书,里面有讲的。

恩,谢谢圈圈。是长度不对,已经解决了

使用特权

评论回复
5
bxb_lhj| | 2014-12-5 11:24 | 只看该作者
是什么长度不对啊?我也出现类似的问题,晕,,,发送的数据是按报告中设定的长度。

使用特权

评论回复
6
zjwyczj|  楼主 | 2014-12-5 16:30 | 只看该作者
bxb_lhj 发表于 2014-12-5 11:24
是什么长度不对啊?我也出现类似的问题,晕,,,发送的数据是按报告中设定的长度。 ...

你看下端点描述符中定义的数据长度,更你传输的数据长度比较下。大概是这个,时间太长了不记得了

使用特权

评论回复
7
bxb_lhj| | 2014-12-5 17:07 | 只看该作者
查了一下资料,感觉这个hid-compliant device是自定义HID设备必须要有的,READFILE函数访问时访问的这个设备。

使用特权

评论回复
8
lh2008xp| | 2014-12-16 15:55 | 只看该作者
  /* Initialize Endpoint 1 */
  SetEPType(ENDP1, EP_INTERRUPT);
  SetEPTxAddr(ENDP1, ENDP1_TXADDR);
  SetEPTxCount(ENDP1, 9);____________________________端点描述符长度是这个吗?
//  SetEPRxStatus(ENDP1, EP_RX_DIS);
  SetEPTxStatus(ENDP1, EP_TX_NAK);

  bDeviceState = ATTACHED;

使用特权

评论回复
9
zjwyczj|  楼主 | 2014-12-18 10:33 | 只看该作者
lh2008xp 发表于 2014-12-16 15:55
/* Initialize Endpoint 1 */
  SetEPType(ENDP1, EP_INTERRUPT);
  SetEPTxAddr(ENDP1, ENDP1_TXADDR);

应该是的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

204

帖子

2

粉丝