flymonkey
驱动牛犊
驱动牛犊
  • 注册日期2003-06-09
  • 最后登录2004-09-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1038回复:1

请问如何知道接受了多少数据??

楼主#
更多 发布于:2004-08-08 17:10
usb芯片内将要传回电脑的数据不固定,但小于最大传送大小。

现在我发一个读请求,那么怎么知道usb设备送回多少数据呢??是否主机回一直轮训,直到收到下面的“size"大小的数据才停止??

还是如果一提交这个urb后,如果收不到size大小的数据,他马上返回一个错误状态,然后我可以从什么地方知道他到底收到了多少数据??


URB urb;
UsbBuildInterruptOrBulkTransferRequest
(&urb,
      sizeof(_URB_BULK_OR_INTERRUPT_TRANSFER),
      pipe,
      Buffer,
      NULL,
      size,
      USBD_TRANSFER_DIRECTION_IN | USBD_SHORT_TRANSFER_OK,
      NULL);
status = SendAwaitUrb(fdo, &urb);//是一个发送irp的自定义函数


[编辑 -  8/8/04 by  flymonkey]
flymonkey
驱动牛犊
驱动牛犊
  • 注册日期2003-06-09
  • 最后登录2004-09-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-09 21:51
谁知道啊,能否告之,真急死我了。。
游客

返回顶部