各位大侠,小弟这里有一个USB mass storage设备,但只支持自定义SCSI协议。现在想使用Windows自带的USB驱动,应用程序能够找到设备,也能打开设备,但使用WriteFile写命令时就报0x57错误,说是参数错误。请问各位,目前这种情况,使用Windows自带U...
全文
回复(9) 2010-03-17 10:34 来自版块 - USB驱动开发
表情
jally76引用第8楼tianweishuiguo于2010-03-20 20:21发表的 : 继续问一个,咱们的随便一个U盘能用DDK的BULKUSB例子驱上用吗? [图片] 用BulkUsb是可以支持的,只是文件系统部分你要自己来支持,难度会很大(2010-03-21 16:49)
tianweishuiguo继续问一个,咱们的随便一个U盘能用DDK的BULKUSB例子驱上用吗?(2010-03-20 20:21)
qiaoroger感谢jally76方向性指导,目前已经解决问题。 MS的MASS STORAGE驱动确实不支持ReadFile和WriteFile。可以通过DeviceIoControl,使用SCSI_PASS_THROUGH_DIRECT和SCSI_PASS_THROUGH来实现通讯。(2010-03-19 14:41)
qiaoroger谢谢,我试试用DeviceIoControl来实现下。(2010-03-17 15:09)
jally76你是通过CreateFile来打开USB设备的管道来实现直接读,但Mass Storage驱动好象是不支持这样的方法,也不支持File Read/Write的操作。 象你这样情况,有种解决办法:通过CreateFile打开设备,然后再通过IOCTL_SCSI_PASS_THRO...(2010-03-17 15:01)
qiaoroger感谢关注,但两种修改方式都不行。 我现在比较关心两个问题: 1、使用Windows自带的USB驱动是否可行?还是我必须自己写一个自己设备的驱动? 2、WriteFile报参数错误的原因? (2010-03-17 13:55)
misssirWriteFile(m_hWrite, (LPCVOID)Buf, 31, &dwBytesWritten, 0)) 把(LPCVOID)去掉呢(2010-03-17 12:41)
misssirCreateFile的时候,后面的参数用这个,看怎样 GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);(2010-03-17 12:39)
qiaoroger使用DDK中的bulkusb例子中的应用程序rwbulk,也是相同情况,请大家费点心,解解惑啊!!!(2010-03-17 11:10)

返回顶部