我用了一套Io函数来为我加密过的文件写入加密标识(文件尾部),标识是写成功了,但发现文件貌似又被加密了一次,而且连加密标识也被加了密了,请教各位大牛如何解决这个问题阿。不胜感激!
回复(8) 2009-07-13 16:33 来自版块 - 文件系统(过滤)驱动程序开发
表情
fazwh写的时候,要判断是否有自己的标示。如果是自己的标示(要注意处理跨标示的情况),就不要加密。只能这样处理。(2009-07-16 11:09)
fazwh写的时候,要判断是否有自己的标示。如果是自己的标示(要注意处理跨标示的情况),就不要写。只能这样处理。(2009-07-16 11:08)
chenyn引用第5楼michaelgz于2009-07-14 22:20发表的 : No, I don't think so. The cache is maintained by lower file system together with CM. Remember c...(2009-07-15 11:17)
michaelgz 我是自己build了一个Write的IRP来写加密标识的,直接发给底层了阿,应该不会触发Write例程才对的。可以这样理解吗? No, I don't think so. The cache is maintained by lower file system t...(2009-07-14 22:20)
chenyn谢谢michaelgz, 我是自己build了一个Write的IRP来写加密标识的,直接发给底层了阿,应该不会触发Write例程才对的。可以这样理解吗?(2009-07-14 09:05)
chenyn谢谢xhjjxm 建议, 我是Build了一个Write的IRP来完成这个事情的,这样子文件大小确实有了改变了。按理说我是从我的驱动直接调用底层来完成这个动作,应该不会触发我的Write例程的,这样理解不知对否? 如果确实会导致脏页回写且二次加密的话,只能另想别的办法了。(2009-07-14 09:01)
michaelgzSince you are using IO functions, there is no way you can prevent flushing dirty pages.(2009-07-13 22:22)
xhjjxm按你目前的方法和思路走下去的话,应该是在文件结尾的部分写入时,判断是不是你已经做了加密标识,然后再决定是否需要写入加密标识。 个人感觉,你的这个方法,会导致文件大小不准确。 特别是文件大小刚好在4K,8K,16K等等这种足K的情况下,会出现一些问题。 以上只是个人看法,不一定...(2009-07-13 21:07)

返回顶部