zhiji
驱动牛犊
驱动牛犊
  • 注册日期2002-03-10
  • 最后登录2009-07-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1817回复:2

我仿照filedisk写了一个fildisk(img虚拟逻辑盘)。可出现一些奇怪的问题 无法使用。

楼主#
更多 发布于:2004-07-12 20:42
IoCreateDevice ZwCreateFile参数和filedisk一样
IOCTL处理代码也和fildisk一样,只是不创建线程。


!!!!!!!!!!
可在我的电脑里 filedisk 运行正常 我的filedisk却不行:

?????????
我用filedisk打开一个全为0的.img文件:
    filedisk可以正常格式化.
    可我的filedisk却无法格式化????
    (点击右键菜单格式化项后,到IOCTL_DISK_GET_PARTITION_INFO就停止了,可我发现
I/O管理器对驱动的访问都应以Close File结束)
Wdm1 checked 09:33:04 IOCTL_DISK_GET_DRIVE_GEOMETRY
Wdm1 checked 09:33:05 IOCTL_DISK_MEDIA_REMOVAL
Wdm1 checked 09:33:05 IOCTL_DISK_IS_WRITABLE
Wdm1 checked 09:33:05 IOCTL_DISK_GET_DRIVE_GEOMETRY
Wdm1 checked 09:33:05 IOCTL_DISK_GET_PARTITION_INFO
Wdm1 checked 09:33:05 IOCTL_DISK_MEDIA_REMOVAL
Wdm1 checked 09:33:05 IOCTL_DISK_GET_DRIVE_GEOMETRY
Wdm1 checked 09:33:05 IOCTL_DISK_CHECK_VERIFY
Wdm1 checked 09:33:05 IOCTL_DISK_GET_PARTITION_INFO
Wdm1 checked 09:33:05 Close File

Wdm1 checked 09:33:05 IOCTL_DISK_IS_WRITABLE
Wdm1 checked 09:33:05 IOCTL_DISK_GET_DRIVE_GEOMETRY
Wdm1 checked 09:33:05 IOCTL_DISK_GET_PARTITION_INFO


我用filedisk打开(创建虚拟盘)一个空的32m的.img文件(格式化完毕,但img上没有文件):
    我的filedisk显示没有文件--但有十几M的空间以被占用。

我用我的filedisk打开一个有文件的.img文件:
    windows打开虚拟盘,则出现一些乱七八糟的文件 如: $%@@!^ %*@#%~@^ $#&@#~%
!@@#@%


那位高手能告诉我这些使怎么回事!!!!!!!!!!!!!!!!!!!
zhiji
驱动牛犊
驱动牛犊
  • 注册日期2002-03-10
  • 最后登录2009-07-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-14 09:05
我说错了:
  只要我的filedisk装载了格式化的.img文件  就出乱七八糟的文件: S @# sdgv @#%.

  我的filedisk没有挂接设备栈,因为filedisk没有.也没用系统线程
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-14 11:27
我说错了:
  只要我的filedisk装载了格式化的.img文件  就出乱七八糟的文件: S @# sdgv @#%.

  我的filedisk没有挂接设备栈,因为filedisk没有.也没用系统线程
 

不用系统线程恐怕不行,因为文件句柄只是在同一个线程context中有效,属于打开线程的资源,因此当切换到别的线程时,再使用该文件句柄读写都会失败!
所以还是应该用系统线程,有时候还得用多个线程!
不停学习
游客

返回顶部