阅读:1814回复:6
!请教资源管理器识别usb存储设备并分配盘符的问题??(30分)
我学习写u盘的驱动,写完后把微软的usb设备驱动卸载,装上自己做的驱动,设备工作正常,但我的设备是usb存储设备,资源管理器没有自动分配盘符无法直接访问。
微软的驱动是可以的,所以我想问我的驱动和微软的驱动少了哪一部分的代码?怎么写? 哪位高手来指点一下??? 说明:u盘是用的成品,不是自己开发的,所以无法用固件编程的方法解决! 哪位大侠对此有了解的,帮帮小弟,不胜感激!!! [编辑 - 8/22/04 by ohmygod_zl] [编辑 - 8/22/04 by ohmygod_zl] |
|
沙发#
发布于:2004-08-22 23:51
大侠们帮帮忙啊!!!!!
救救小弟!!!!!!!! |
|
板凳#
发布于:2004-08-23 20:30
小弟只是问一下有没有什么思路?偶也这种问题不可能一两句话说清楚的,但是确实不知道突破点在哪?知道的大侠指点一二!
|
|
地板#
发布于:2004-08-23 20:43
要注册服务吧,那样才能出现盘符的
p。s。你可以写自己的浏览器,hoho |
|
地下室#
发布于:2004-08-24 19:45
注册服务?
有没有什么资料推荐一下? 小弟是土人,都没听说过啊呵呵 |
|
5楼#
发布于:2004-08-26 18:17
我和你一样,本来想拿个u盘驱动练习一下。不过还是没搞定,关键是在系统向U盘驱动发送CDB命令时搞不定。
按照USB驱动的写法。前面几步像GetDescriptor,SetConfig等都和windows自带的驱动执行步骤一样,返回值也一样。(我是用bushound 观察的)一直到Get Max LUN 后,按照USB MASS STRORAGE 文档说的。 此时应该发送SCSI命令INQUIRY,READ CAPABILITY这样的命令。这样 资源浏览器就会显示出盘符出来,我按照MSDN DDK所说用DeviceIoControl函数向下层驱动发送SCSI_PASS_THROUGH数据, (SCSI_PASS_THROUGH有CDB命令块),就在这一步怎么也调不出?我发现下层驱动能识别这是条INQUIRY命令,但就是返回值不对,本来NTDDK里有个SPTI示例,但那是在应用程序里发送SCSI命令,驱动里想要发送SCSI命令不知还要设置哪些值?我想在网上查找关于SCSI驱动方面的内容,一直没找到。希望你能比我好运些。 搞定后跟我说说 我的EMAIL ruyili9803@tom.com |
|
6楼#
发布于:2004-08-26 23:33
哦,谢谢!
看来不是个很大众化的问题呀,大家继续研究1 |
|