zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
阅读:1441回复:5

Block driver的问题

楼主#
更多 发布于:2007-08-02 21:17
本人现在做Memory Stick的驱动,
没有sample,就把他做成block drive的形式,
目前初始化已经可以了,
但是初始化结束之后,也不进iocol 就直接结束了,
好像没有和文件系统挂上,不知道怎么挂??
希望大家能给点意见,谢谢。。
做一个出色的程序员!
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-08-02 21:22
下面是注册表的设置:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MemoryStick]
        "Profile"="MemoryStick"
        "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
        "Order"=dword:0
        "Dll"="ms_wb910.dll"
        "Prefix"="MSD"


[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MemoryStick]
    "DriverPath"="Drivers\\BuiltIn\\MemoryStick"
    "Name"="MS "
    "Folder"="Memeory stick"    ;
    "DefaultFileSystem"="FATFS"
    "AutoMount"=dword:1    ;
    "AutoPart"=dword:1
    "AutoFormat"=dword:1
    "PartitionDriver"="mspart.dll"
    "Ioctl"=dword:4
    "BootPhase"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MemoryStick\FATFS]
    ; Override common setting to enable automatic formatting of unformatted volumes
    "Flags"=dword:00000024        
    "Dll"="fatfsd.dll"
    "Paging"=dword:1
    "EnableCacheWarm"=dword:0
    "CacheSize"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MemoryStick]
    "DriverPath"="Drivers\\BuiltIn\\MemoryStick"
    ; LoadFlags 0x01 == load synchronously
    "LoadFlags"=dword:1
    "Order"=dword:0
    "BootPhase"=dword:0

谢谢大家。
做一个出色的程序员!
ddnewbie
驱动牛犊
驱动牛犊
  • 注册日期2003-07-25
  • 最后登录2009-04-13
  • 粉丝0
  • 关注0
  • 积分201分
  • 威望21点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-03 09:38
关注中。。。。
[img]D:gs.jpg[/img]
ddnewbie
驱动牛犊
驱动牛犊
  • 注册日期2003-07-25
  • 最后登录2009-04-13
  • 粉丝0
  • 关注0
  • 积分201分
  • 威望21点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-03 15:37
zai ding
[img]D:gs.jpg[/img]
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-08-03 22:29
看看你的INIT函数返回的是什么值,要返回一个非0零值才行.

如果上一条没有问题,把你的PREFIX改成DSK试一下,我没有试过一个存储设备用非DSK的名字是否可以.
学海无涯
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-08-05 01:44
init返回的是非0,呵呵,
是prefix的问题,貌似必须是DSK的。
现在修改的是ramdisk的,已经可以初始化,
在存储管理器里面可以看见大小了,
谢谢斑竹。。
做一个出色的程序员!
游客

返回顶部