阅读:2585回复:3
请教,为什么写字板保存的文档,用Filespy拦截不到IRP_NOCACHE的Write操作
菜鸟请教,用FileSpy监控写字板保存文件时的IRP动作,却发现无法拦截到flags为 IRP_NOCACHE or IRP_PAGING_IO 的 IRP_MJ_WRITE,那么,文件数据又是如何从缓存中写入到硬盘中的呢,难道是由FASTIO完成的,或者是写字板和记事本一样,本身所用的机制特殊?
看很多前辈说的,在SfWrite中,都只需要拦截IRP_NOCACHE | IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO即可。但按照对写字板的监测,我现在在filter driver根本无法拦截到所需要的写操作。 详情请见下列数据,只要是大于512字节的文件,存储时拦截到的数据如下(注意第24行的IRP_MJ_WRITE的flags,是没有拦截所设相关标志位的) 图片:1.JPG 请达人释疑,,, |
|
|
沙发#
发布于:2009-04-16 23:38
而如果文件大小小于512字节,则可以监控到system最后会对该文件发出IRP_NOCACHE的写操作,见下图
图片:2.JPG 在这种情况下,filter driver就可以准确的拦截到写操作并对数据进行处理 |
|
|
板凳#
发布于:2009-04-21 02:38
晕倒,难道没有人有过此困扰吗?
|
|
|
地板#
发布于:2010-03-24 21:59
你的问题和我一样,可是我也不会,我帮你顶一下啊
|
|