关于HID设备WriteFile发送数据时设置字据大小的问题

wker 2016-05-04 01:40:43
请教各位大神,我在写一个USB设备驱动时遇到下面的问题,请各位能帮忙解决,先谢谢了!!!
原代码:
.....
//调用WriteFile函数发送数据
Result=WriteFile(hWriteHandle,
&WriteReportBuffer,
Capabilities.OutputReportByteLength,//
NULL,
&WriteOverlapped);
.....

当原码按上面这样写时,一切运行正常,但只能传出21位字节的数据,若我直接把 Capabilities.OutputReportByteLength 改为一个INT 数值,比如30或者64,结果在运行时发送失败,返回码是1784。
这个 Capabilities.OutputReportByteLength在是在与设备建立连接时所得到的,没有找到地方可以调整,希望有经验的前辈指指路,谢谢。
...全文
903 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
情何以丶堪 2017-07-13
  • 打赏
  • 举报
回复
怎么处理的呢?
wker 2016-05-12
  • 打赏
  • 举报
回复
谢谢,问题已处理,结帖。
用户 昵称 2016-05-05
  • 打赏
  • 举报
回复
如你所说,这是硬件决定的,他只能收那么长,你发多了肯定不行。
Saleayas 2016-05-04
  • 打赏
  • 举报
回复
你的设备的缓冲区只有这个大,不可以改变的。 1784 错误码表示缓冲区无效。

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧