阅读:1802回复:4
关于IRP_MJ_QUERY_INFORMATION和Fast入口用户被禁言,该主题自动屏蔽! |
|
沙发#
发布于:2003-01-23 15:58
做Filter最头疼的问题之一就是需要修改文件大小:(
在2000下要做到没有BUG非常非常非常困难! 一般采用另外一种麻烦(头疼:)但是安全的方法: 接管FSD对文件的控制,直接和Cache Manager打交道,就是说把整个文件虚拟。代码可以参考FASTFAT源代码 还有一种做法就是使用NTFS META放文件信息,可惜只有NTFS能用 最简单的办法就是把文件信息和源文件分离,但是也有不少问题需要解决:( 难啊~ |
|
板凳#
发布于:2003-01-23 18:00
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2003-01-24 10:17
CcManager除了Lazy Write Thread是活动的,会主动发出IRP_MJ_WRITE,其它情况不会发出任何IRP到FSD(IRP_MJ_READ,IRP_MJ_CLOSE应该算是被动的)
CcManager并不是通过IRP_MJ_QUERY_INFORMATION得到文件大小的,而是通过由FSD调用CcInitializeCacheMap/CcSetFileSizes等Cc函数被动告知的。 这种直接修改FileSize而不虚拟FileObject的方法,我也没有很好的成功例子,所以没法给你更多的提示,祝好运~ |
|
地下室#
发布于:2007-07-20 09:55
不知道搂主解决这个问题了没
|
|