color918
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2004-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1071回复:2

请USB高手会诊,帮我想一下该在怎么解决这个问题吧!!

楼主#
更多 发布于:2003-09-13 18:05
以前做了个应用程序对U盘进行低级格式化,还可以发命令从U盘内取出用户进行低格的密码,如果U盘是好的,我可以用hDevice = createFile(\"\\\\.\\F:\"..)得到handle,然后用bResult = DeviceIoControl(hDevice,IOCTL_SCSI_PASS_THROUGH,spt,spt->TotalSize,spt,spt->TotalSize,&returned,FALSE);与U盘通信

现在假如U盘坏掉,插如U盘不能出现盘符,vid和pid都变成了ffff,系统已经不能加载磁盘驱动,不过还能识别它是USB设备,在这种情况下还想和U盘通讯,对其低格,该怎么做呢???

我是这样做的,可是不行,如下:通过Setup API得到这个U盘USB设备的Symbol link后,用CreateFile打开这个句柄,hDevice = CreateFile(\"\\\\?\\usb#vid_ffff&pid_ffff#007#{a5dcbf10-6530-11d2-901f-00c04fb951ed}\",......);然后在createfile打开端口
然后用writefile写数据,可是总提示我参数错误,这是什么原因呢,如果用DeviceIOcontrol向其发IO控制码,该怎么用呢!!请高手指教!!


附上我对U盘的理解,不知道对不对:当U盘成为磁盘设备时,通过disk.sys调用usbstor.sys,然后callUsbd,然后调用usbhub.sys与下边通讯,现在我磁盘那一级已不能识别,想通过usbstor.sys与底层通讯,该怎么做呢,2k下的usbsotr.sys是系统的啊!!

各位 USB高手,指点我一下该怎么做吧,万分感谢,谢谢了!!!

color918
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2004-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-15 11:38
怎么没人回答我!!!!!!!!!!!!!
wdy9927
驱动老牛
驱动老牛
  • 注册日期2003-08-04
  • 最后登录2017-02-04
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望143点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-09-20 09:28
不懂。 帮你顶。

要不你转到 usb驱动开发版面去吧。 那高手常去。

再就把你的问题简单化,我看的头都大了。

 :D
游客

返回顶部