FPGA|CPLD|ASICwilliam hill官网
直播中

南国时代

11年用户 42经验值
擅长:可编程逻辑
私信 关注
[问答]

USB mass storage 设备读写问题

问题由来: 我最近在学习USB通信部分的内容,主要就是USB协议以及相关部分,然后使用的是Zynq的板子,将其配置成USB设备,mass storage类型的。。然后准备用MFC写一个简单的上位机测试数据的收发。   用MFC写的USB上位机网上的资源有很多,不过我找到的都是HID设备的,大多都是使用SetupDixxx那些API函数,检测设备,CreateFile打开设备,然后WriteFile写入数据。。。到这里问题就来了::
问题 1):WriteFile写入失败,返回错误87,拒绝访问。。。。尝试了网上所能找到的所有解决方法都没能解决我的问题。。比如什么设备路径,,缓存区大小,,异步。。。。等等。。。   

问题2):我在使用SetupDixx函数检测设备时,插入mass storage设备程序会接收到两次设备插入,,
      一个是  : USBVID_0951&PID_16668606E6D401FBEC1670A536A。。。
还有一个是USBSTORDISK&VEN....,我没有对USBSTOR这个设备进行处理,,,这可能是导致我写入失败的原因吗??
问题3): 在检测设备的插拔时(mass storage),使用SetupDixxx类的API函数检测到的设备类型是DBT_DEVTYP_DEVICEINTERFACE。。但我在另一个地方看到一种重载WindowProc的方法,对同一mass storage检测到的类型是DBT_DEVTYP_VOLUME。。。

已退回5积分

更多回帖

发帖
×
20
完善资料,
赚取积分