各位,我现在在做一个加解密的minifilter驱动,现在遇到一个问题:我的加密头在文件首部。我在Write、read中,都会跳过这个首部(512B),通常情况下,这种情况都OK。但是发现当system进行延缓写的时候,会出现最后一部分WriteBuffer中的内容丢失,具体如下...
全文
回复(24) 2008-05-20 11:28 来自版块 - 文件系统(过滤)驱动程序开发
表情
boxcounter引用第3楼dionysus77于2008-05-21 19:47发表的 : 对不起,我没看懂,postwrite里面怎么得到的FileSize? 通过FCB来获取的 :)(2008-05-22 09:27)
dionysus77引用第2楼boxcounter于2008-05-20 13:47发表的 : dionysus77兄: 我的日志如下,这段日志是我采用1KB的加密头的结果: [TFGF] PreCallback(IRP_MJ_WRITE): IrpFlags: 0x00000043, Off...(2008-05-21 19:47)
boxcounterdionysus77兄: 我的日志如下,这段日志是我采用1KB的加密头的结果: [TFGF] PreCallback(IRP_MJ_WRITE): IrpFlags: 0x00000043, Offset(0), Length: (12288). [TFGF] PostCal...(2008-05-20 13:47)
dionysus77我也遇到这个问题,就是FileSize不够大的问题,因为SetInformation的IRP出现在磁盘写之后,而paging_io的写不能自动更新EoF。所以写入时,文件大小是不够的。自己设置一下长度再写入就好了。(2008-05-20 12:22)

返回顶部