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

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

楼主#
更多 发布于:2003-09-13 18:03
以前做了个应用程序对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高手,指点我一下该怎么做吧,万分感谢,谢谢了!!!

最新喜欢:

windgoingwindgo...
iamchine
驱动小牛
驱动小牛
  • 注册日期2002-11-18
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-16 10:31
而且如果你的PID和VID不对的话,那不是格式化能解决的。
iamchine
驱动小牛
驱动小牛
  • 注册日期2002-11-18
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-16 10:28
不知道你这个U盘控制器芯片是哪家的?
我觉得PID和VID应当是固化到固件程序中比较好,怎么会存到NAND Flash中??
格式化应该是在UFI/SCSI层次的内容,不明白你的格式化怎么连枚举都管?
clevor
驱动牛犊
驱动牛犊
  • 注册日期2003-06-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分115分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-16 08:32
是你的U盘吗?上来就格式化,还想低格。
个人以为,U盘并不存在高/低格式化的概念,应该是快速格式化和完全格式化两种。所谓‘快速’,就是只写分区表和目录,‘完全’则包括后面的数据区。酱紫比较有意义。
color918
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2004-07-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-14 22:37
怎么没有人指点一下啊,很难的么????
NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-09-13 19:42
我觉得在这个时候,可能u盘根本就无法正常的通过usb进行通讯,应该让u盘自动进行一些必要的初始化!

另外想跟你学学如何写u盘的格式化程序,望不惜赐教!谢谢!
游客

返回顶部