阅读:1403回复:4
大侠指点:这几个irp_mj_write没有进入过滤驱动
新建viso文件时,用filemonitor监视发现下面的IRP_MJ_WRITE*没有进入过滤驱动程序(minifilter框架),请高手指点。谢谢。
。。。 10:26:25 VISIO.EXE:2596 IRP_MJ_WRITE* F:\test\v0.vsd SUCCESS Offset: 0 Length: 4096 10:26:25 VISIO.EXE:2596 IRP_MJ_WRITE* F:\test\v0.vsd SUCCESS Offset: 4096 Length: 28672 10:26:25 VISIO.EXE:2596 IRP_MJ_WRITE* F:\test\v0.vsd SUCCESS Offset: 0 Length: 4096 10:26:25 VISIO.EXE:2596 IRP_MJ_WRITE* F:\test\v0.vsd SUCCESS Offset: 4096 Length: 28672 10:26:25 VISIO.EXE:2596 IRP_MJ_FLUSH F:\test\v0.vsd SUCCESS 10:26:25 VISIO.EXE:2596 IRP_MJ_WRITE* F:\test\v0.vsd SUCCESS Offset: 0 Length: 4096 10:26:25 VISIO.EXE:2596 IRP_MJ_WRITE* F:\test\v0.vsd SUCCESS Offset: 0 Length: 4096 。。。 |
|
沙发#
发布于:2008-01-08 10:39
指点者送分500
|
|
板凳#
发布于:2008-01-08 17:42
缓存到cache了吧
|
|
地板#
发布于:2008-01-08 17:48
引用第2楼qiweixue于2008-01-08 17:42发表的 : IRP_MJ_WRITE*与cache有什么关系? |
|
地下室#
发布于:2008-01-18 11:09
这几个操作应该是Cache把数据送往驱动程序的,可以通过
if ( 0 == ( Irp->Flags & ( IRP_NOCACHE | IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO))) { return SfPassThrough( DeviceObject, Irp ); } 条件过滤掉其它的写入操作,得到这些操作。 |
|