satanli1982
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4188回复:7

请问怎样在filter中调用CcFlushCache,清空文件缓存在内存中的数据?

楼主#
更多 发布于:2004-05-29 16:19
我写了一个针对记事本的文集加密程序,可是当记事本关了以后,内存中还存在明文,请问可以调用CcFlushCache清空缓存吗?
还有就是CcFlushCache的第一个参数PSECTION_OBJECT_POINTERS  
SectionObjectPointer应该怎样获得呀?
先谢了!!
satanli1982
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-08 10:07
UP
luxs200
驱动牛犊
驱动牛犊
  • 注册日期2001-07-23
  • 最后登录2015-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-06-11 14:42
FileObject中就包含SectionObjectPointer的指针。
CcFlushCache好象只是保证把高速缓存中的数据刷新到磁盘上,不保证清空高速缓存中的数据。
要清空高速缓存中的数据使用CcPurgeCacheSection。

[编辑 -  6/11/04 by  luxs200]
satanli1982
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-06-13 07:55
我想清空NotePad存在缓存中的数据,就是每次打开一个文件都从硬盘里读,可是在IRP_MJ_CLOSE中调用了CcPurgeCacheSection以后。当第二次打开同一个文件时,NotePad还是从缓存里读数据,请问为什么?谢谢
zdhe
驱动太牛
驱动太牛
  • 注册日期2001-12-26
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分72362分
  • 威望362260点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2004-08-06 01:35
i don't know how to clear data in cache.
but for confrimed read data, you can try to disable fastioread....,fastiomdlread...
then irp_mj_read does happens.

[编辑 -  8/6/04 by  zdhe]
satanli1982
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-11 09:54
to zdhe
Could you please tell me how to disable it in my filter driver, thanx a lot^_^
lzh_zhb
驱动牛犊
驱动牛犊
  • 注册日期2010-03-12
  • 最后登录2012-08-03
  • 粉丝0
  • 关注0
  • 积分38分
  • 威望381点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2010-03-23 12:00
liio
驱动小牛
驱动小牛
  • 注册日期2005-12-24
  • 最后登录2022-06-16
  • 粉丝4
  • 关注1
  • 积分24分
  • 威望343点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2010-03-28 18:57
完全 清Cache后fastio 接口可以直接Return False;
若你的IRP_MJ_READ有Nocache判定处理的话
当然,网上通常说你有2次清 Cache的机会.Create,Cleanup
因为Stream file object是不会走Create的~
游客

返回顶部