hi,高手们,我刚开始做usb驱动,现在遇到一个问题,我做了一个u盘的驱动,对该u盘调用iocontrol _URB_BULK_OR_INTERRUPT_TRANSFER时,有的urb数据,传入的TransferBufferLength长度为512,但实际返回的却是525字节的数...
全文
回复(3) 2010-01-20 17:22 来自版块 - USB驱动开发
表情
qinlicang谢谢各位的答复(2010-01-27 16:56)
jally76U盘用的是USB Mass Storage协议。向U盘发送的CBW包,长31,U盘回数据512 + CSW包(13 字节),加起来就是525字节啦。(2010-01-27 13:54)
Pegram你最好这样做: 1. 传一个URB到USBD,返回input buffer的长度(525) 2. 根据长度申请缓冲,再次发送URB,获取指定长度的数据。 525>512,因为它已经准备好了525字节的数据。(2010-01-25 11:39)

返回顶部