zlw
zlw
驱动牛犊
驱动牛犊
  • 注册日期2001-05-24
  • 最后登录2004-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1763回复:1

虚拟软驱的一个问题

楼主#
更多 发布于:2004-07-22 21:48
我为了练手,最近在做一个虚拟软驱的工具。现在已经基本上完成,但是发现一个问题,找不到解决的资料。
这个工具是用一个自己做的软bus驱动枚举PDO,上面是一个功能驱动,直接向外暴露MOUNTDEV_MOUNTED_DEVICE_GUID接口。数据用适当大小的内存缓冲区记录,因为本身就是数字的,开始就可以读写,无须低格,当然磁盘上无文件系统,仍需格式化才能使用。低格的ioctl是处理了的,但没有处理format track ex。
现在的问题是模拟1.44的软盘很正常,可以被格式化,读写。但是其它类型全部不能正常用微软explorer格式化,不过可以加载镜像,然后使用。
我的IOCTL_DISK_GET_DRIVE_GEOMETRY返回模拟的媒体的信息,IOCTL_STORAGE_GET_MEDIA_TYPES返回软驱支持的所有媒体类型信息。这些媒体信息应该没错。
具体的现象是:假如模拟的驱动器包含1.44的能力,且媒体不是1.44的,这时explorer的格式化提示为1.44盘片,格式化会失败(还没执行format ioctl,可能检查时就出错了)。假如驱动器不包含1.44的能力,比如1.2的驱动器,explorer的格式化信息中根本没有媒体类型信息显示,格式化按键也没有反应。
请各位大虾帮忙看看是哪里的问题,马上就要完工的东西了,就算是小东西,我也想搞得实用性强一些,而且想搞清楚问题的原因。
yeaiping
驱动牛犊
驱动牛犊
  • 注册日期2007-07-29
  • 最后登录2014-07-06
  • 粉丝3
  • 关注6
  • 积分86分
  • 威望629点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-06-07 09:42
我也想搞一个虚拟软驱,不知道怎么下手
授人以鱼不如授人以渔,反之,求鱼不如求渔
游客

返回顶部