阅读:1818回复:2
我仿照filedisk写了一个fildisk(img虚拟逻辑盘)。可出现一些奇怪的问题 无法使用。
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打开虚拟盘,则出现一些乱七八糟的文件 如: $%@@!^ %*@#%~@^ $#&@#~% !@@#@% 那位高手能告诉我这些使怎么回事!!!!!!!!!!!!!!!!!!! |
|
沙发#
发布于:2004-07-14 09:05
我说错了:
只要我的filedisk装载了格式化的.img文件 就出乱七八糟的文件: S @# sdgv @#%. 我的filedisk没有挂接设备栈,因为filedisk没有.也没用系统线程 |
|
板凳#
发布于:2004-07-14 11:27
我说错了: 不用系统线程恐怕不行,因为文件句柄只是在同一个线程context中有效,属于打开线程的资源,因此当切换到别的线程时,再使用该文件句柄读写都会失败! 所以还是应该用系统线程,有时候还得用多个线程! |
|
|