阅读:2519回复:11
在文件尾添加加密标识问题
各位大牛.我做的透明加密标识是放在文件尾巴的.有以下一个问题想请教下.
我是在IRP_MJ_CLEANUP中自己构造写IRP中来增加文件尾的.写的FLAG为IRP_NOCACHE,经过测试后发现在WORD中存DOC文件时正常无误,存为其它格式如RTF时候就返回C0000002.如果FLAG为0的话,又重入了我的IRP_MJ_WRITE事件导致重复加密.请问各位碰到这种情况应该如何处理.3X |
|
沙发#
发布于:2007-06-20 10:29
再顶一下,期待各位大牛给出解答.
|
|
板凳#
发布于:2007-06-21 09:34
再顶一下,要沉下去了
|
|
地板#
发布于:2007-06-21 11:45
现在人就是死活不会说的人
|
|
|
地下室#
发布于:2007-06-21 16:51
cleanup前还是后?
|
|
5楼#
发布于:2007-07-03 21:26
我在IRP_MJ_CLEANUP中自己构造写IRP中来增加文件尾,老是报STATUS_FILE_CLOSE,修改FileObject也不成,楼主能不能看看你的代码是如何写进的
|
|
6楼#
发布于:2007-08-01 16:59
i will tell if i know |
|
7楼#
发布于:2007-08-02 10:28
cleanup irp完成后,只能对file object进行paging io
|
|
8楼#
发布于:2007-08-02 10:49
It is important to note that when all handles to a file object have been closed, this does not necessarily mean that the file object is no longer being used. System components, such as the Cache Manager and the Memory Manager, might hold outstanding references to the file object. These components can still read to or write from a file, even after an IRP_MJ_CLEANUP request is received.
|
|
|
9楼#
发布于:2007-08-02 14:43
CLEANUP之后FILEOBJECT是否有效这是不定的,所以在CLEANUP之后RW可能会有问题,
建议在CLEANUP之前进行RW; 如果保险的话最好搞个HANDLE计数,当减到0时ADD; |
|
|
10楼#
发布于:2007-08-02 17:42
引用第9楼devia于2007-08-02 14:43发表的 : cleanup 和 close并没有严格地定义其作用范围,所以必须自己有一套跟踪机制。 比较好的就是在流上下文中记录打开的状态。 不过对于内存映射的清除一直是个头痛的问题。 |
|
|
11楼#
发布于:2009-01-15 09:48
我在IRP_MJ_CLEANUP中自己构造写IRP中来增加文件尾,老是报STATUS_FILE_CLOSE,修改FileObject也不成,楼主能不能看看你的代码是如何写进的
这是因为在CLEANUP中不能以NONCACHE的方式进行写, 你要以CACHE的方式进行写就没有问题了. |
|
|