zy860326
驱动牛犊
驱动牛犊
  • 注册日期2009-09-02
  • 最后登录2010-09-07
  • 粉丝2
  • 关注2
  • 积分48分
  • 威望371点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2200回复:5

为什么双击打开一个txt文件没有截获到IRP_MJ_READ操作?

楼主#
更多 发布于:2009-11-04 16:32
rt

但是双击一个zip之类的文件就可以截获到IRP_MJ_READ操作

知道的大侠麻烦帮帮忙啊!

另外,如何从海量的文件读操作中鉴别出真正的读呢?比如,鼠标焦点的转换也会导致相应的READ IRP,等等。
如何把这部分废操作过滤掉??
zy860326
驱动牛犊
驱动牛犊
  • 注册日期2009-09-02
  • 最后登录2010-09-07
  • 粉丝2
  • 关注2
  • 积分48分
  • 威望371点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-11-04 16:55
自己先顶起啊!
neak47
驱动小牛
驱动小牛
  • 注册日期2009-05-25
  • 最后登录2016-01-09
  • 粉丝4
  • 关注0
  • 积分140分
  • 威望1221点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分1分
板凳#
发布于:2009-11-04 18:00
记事本文件是一种内存映射文件,在你用notepad.exe进程打开txt文件前,explorer.exe进程已经将一部分内容预读到cache中了,如果你想得到read操作,需要先清掉cache  
zy860326
驱动牛犊
驱动牛犊
  • 注册日期2009-09-02
  • 最后登录2010-09-07
  • 粉丝2
  • 关注2
  • 积分48分
  • 威望371点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-11-05 08:39
赞一个

太谢谢啦!!!
zy860326
驱动牛犊
驱动牛犊
  • 注册日期2009-09-02
  • 最后登录2010-09-07
  • 粉丝2
  • 关注2
  • 积分48分
  • 威望371点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-11-05 09:14
恩,之前没说的很清楚,是第一次打开的时候会产生读操作,或者是焦点移到txt文件上时会有读操作,之后就可能因为成为内存映射文件,再读的时候就不会产生IRP_MJ_READ操作了。
feng_zhibing
驱动牛犊
驱动牛犊
  • 注册日期2009-12-11
  • 最后登录2009-12-23
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望191点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-12-11 15:30
能问一下,什么时候清掉cache  呀?用什么方法清掉缓存呀??
游客

返回顶部