阅读:1452回复:0
如何替换掉U盘的默认驱动程序?
大家好!
我这段时间也在开发对U盘读写的程序, 碰到一个驱动的问题,好久没有进展, 卡住了. 公司是做嵌入式设备的,要求要把采样的数据存储到U盘中, 仪器端是以HOST方式工作的. 在仪器中调试程序U盘程序[其它程序也是]实在太慢,BUSHOUSD也只能够捕捉一些包来分析.相当于示波器吧. 我的思路是想先在PC机上先实现U盘的读写[包括发送SCSI命令和实现文件系统], PC机器上做的C代码只要符合 ANSI C标准移植到仪器中开发环境中问题不大. 所以找到了DDK/SRC/WDM/USB/BULKUSB这个例子,这个驱动例子说明中指出提供两个BULK端点,一个 IN,一个OUT,正好符合我的需要.但是按照它的说明我修改了VID和PID,打算用这个驱动程序代替XP系统U盘默认 的驱动程序[USBSTOR.SYS],但是更新U盘驱动的时候就是不成功,每次都提示下面的错误信息: " 这个INF中的服务安装段落无效 " 我用DebugPrint来跟踪,发现系统更本没有调用我的DriverEntry. 本来打算把驱动程序搞定,然后在用户模式下写U盘的相关程序,一气呵成! INF文件中相关的节内容如下: [BULKUSB.AddService] DisplayName = %BULKUSB.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\System32\Drivers\BULKUSB.sys LoadOrderGroup = Base 但是这个驱动始终搞不定.实在痛苦, 我的问题是: 1. 可以这样替换U盘的默认驱动程序吗? 2. 上面的驱动程序安装中就近是什么问题造成的? 对这个感兴趣的朋友可以用自己手头上的U盘做个实验,要是能帮我解决这个烦人问题的话,我邮寄一份家乡 的特产给您! 也对所有提供指点的朋友表示由衷的感谢!!! 我的QQ是109130429, Email: shutian.wang@gmail.com |
|