我用FileDisk虚拟出来的磁盘,在格式化时,我想做一些额外的工作:1)先将用来虚拟的文件清0,然后再进行格式化。2)我还想在格式化的时候,在用来虚拟的文件头空出10k个字节。请高手帮帮忙。谢谢!
回复(12) 2003-02-24 18:18 来自版块 - 文件系统(过滤)驱动程序开发
表情
Coolice哦,这样啊 可能什么地方出了问题,我在read/write 加了DbgPrint,Format时能看见(2003-02-26 10:55)
lidr20021,确实没有停住,我的断点是用DbgBreakPoint做的。 2,我如果用在虚盘上建文件或目录或浏览虚盘,在断点处就会停下。 3,我用的是SoftIce, 驱动程序是用DriverMonitor启动的。(2003-02-26 10:14)
Coolice怎么可能没停住啊???你是用Softice么? Format到了底层就是变成read/write 具体的Format操作是FSD实现的,Storage Driver不管这事,只负责读写(2003-02-26 09:52)
birch2002我现在也在看这东西啊,我也又点不懂,能不能聊聊啊,我的QQ是15622711(2003-02-25 18:48)
lidr20021,我是用UEdit做的文件。 2,即使我不进行异或处理,format时,IRP_MJ_READ/WRITE处的断点也不会被执行,这说明format时的文件读写肯定不是在IRP_MJ_READ/WRITE中进行的。 3,我用SoftICE在format时可以拦截到ZwWrit...(2003-02-25 17:51)
Coolice你不是用的sparse文件吧?sparse不能直接异或(2003-02-25 17:35)
lidr2002但是我遇到下面两个问题: 1,我在IRP_MJ_READ/WRITE处设断点,然后格式化,程序没有运行到断点处。 2,1)我用32M的a文件(已经清0),虚拟成f:,然后格式化。 2)Umount f盘; 3)把文件a里的所有数据与0xDD异或; 4)...(2003-02-25 14:55)
Coolice那个线程里的IRP_MJ_READ/WRITE就是读写的全部,没有别的地方(2003-02-25 14:31)
lidr2002谢谢! 1,如果加偏移量,我必须在 对虚拟文件进行读和写的所有地方进行偏移量处理。 但在filedisk.c文件中只有线程函数的IRP_MJ_READ:和IRP_MJ_WRITE:处有读写操作,而且这两个位置的读写不是可逆的。 请问:读写虚拟文件都有那些地方? ...(2003-02-25 13:14)
Coolice1)先将用来虚拟的文件清0,然后再进行格式化。 -> 除非快速格式化,否则格式化会自行清0 2)我还想在格式化的时候,在用来虚拟的文件头空出10k个字节。 -> 加一个偏移量可行,但必须是该虚拟文件所在逻辑盘扇区大小的整数倍 (2003-02-25 12:34)

返回顶部