阅读:1409回复:4
关于文件过滤驱动中交换缓存的问题
我遇到一个微过滤方面的问题,请各位多多指教:
我的目的:做一个透明的加解密过滤驱动; 目前问题:交换缓存好像无效; 测试方式:我先创建了一个txt文件,内容是“abcd”,我希望通过我的过滤器,让记事本打开后显示成“1234”,虽然我按照微软示例中提供的方式进行了缓存交换和内存COPY操作(调试时查看内存内容确实也变了),但发现记事本打开后还是显示“abcd”。 下面这几句代码就是测试时用的,强行把打开的文本文件内容换成数字,但是好像并没有成功。 char* tmp = "1234567890123456789"; RtlCopyMemory( p2pCtx->SwappedBuffer,tmp, Data->IoStatus.Information ); RtlCopyMemory( origBuf, p2pCtx->SwappedBuffer, Data->IoStatus.Information ); 到底问题出在哪呢? |
|
沙发#
发布于:2009-12-12 10:49
发现原来是TXT文件的问题, 改成扩展名为DOC后, 过滤成功.....
TXT文件应该是被操作系统预加载了, 应该怎么来交换它的缓存呢, 值得研究一下.... |
|
板凳#
发布于:2009-12-12 13:30
貌似txt都要刷……
|
|
地板#
发布于:2009-12-15 10:49
应该是缓存的问题
|
|
地下室#
发布于:2009-12-17 16:41
好东西啊,呵呵
|
|