类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
驱网上不去,在这里问个问题
驱网上面有这样一篇文章:
问题:
我用NTDDK下是spti例子程序和U盘通信,调用方法如下:
spti g:
(g:是U盘的盘符)但是调用第一个命令就返回错误,如下:
Error reading inquiry data information; error was 50
不支持网络请求。
但是CreateFile没返回错误,这说明创建句柄是对的,为什么一调用命令就出错。
还请高手解答,谢谢!
答案:
问题已经解决了,必须自己构造SCSI_PASS_THROUGH命令,标准的Windows提供的IOCTL不行,这是我的理解,不知高手有没有其它答案。希望别人不用走弯路。
有人知道他所说的构造SCSI_PASS_THROUGH命令是在驱动里面构造还是怎么构造呢?多谢!
网友回答:
DeviceIoControl可以传送SCSI命令的
建议使用
SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER sptdwb;
DeviceIoControl(hDisk, IOCTL_SCSI_PASS_THROUGH_DIRECT, &sptdwb, iLength, &sptdwb, iLength, &dwReturn, FALSE);