ttzwater
驱动小牛
驱动小牛
  • 注册日期2003-06-07
  • 最后登录2011-10-04
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
阅读:1928回复:3

求救文件缓冲问题????

楼主#
更多 发布于:2004-05-28 21:02
在做一个文件加解密的项目,拿TXT文件做试验,遇到一些很奇怪的问题,想请教一下各位

我想拒绝“写字板”的读请求
于是我在收到它发出IRP_MJ_READ时,做了下面的操作:
Irp->IoStatus.Status=STATUS_INVALID_DEVICE_REQUEST;
Irp->IoStatus.Information=0;
IoCompleteRequest(Irp,IO_NO_INCREMENT);
return STATUS_INVALID_DEVICE_REQUEST;

可是,它还是能打开我的文件,虽然报有个出错提示
(拒绝其他程序如word的读请求就很成功的)

我刚开始怀疑是文件缓存的问题,于是在IRP_MJ_CREATE里加了个
CcIsFileCached的判断,但是发现从来没有判断成功过,

那是否说明没有文件被缓存?还是我判断的时机不对?
如果我的判断没错的话,那写字板到底是怎么读数据的了

太诡异了。。。
skymelai
驱动牛犊
驱动牛犊
  • 注册日期2007-08-10
  • 最后登录2010-01-29
  • 粉丝1
  • 关注0
  • 积分81分
  • 威望711点
  • 贡献值3点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-09-20 11:15
notepad 是MAP FILE的吧。
yandong_8212
驱动小牛
驱动小牛
  • 注册日期2006-07-28
  • 最后登录2011-02-11
  • 粉丝0
  • 关注0
  • 积分1046分
  • 威望464点
  • 贡献值1点
  • 好评度173点
  • 原创分0分
  • 专家分1分
板凳#
发布于:2009-09-21 12:38
FastIoRead和系统进程的所有MJ_READ都毙掉,不要去管什么FLAG,统统毙掉。
商务MSN:YanDong_8212@163.com
bestshow
驱动牛犊
驱动牛犊
  • 注册日期2009-10-31
  • 最后登录2010-09-26
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望231点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-03-22 14:54
记事本是采用的内存映射机制读写文件的,除非当中有分页请求发生否则驱动过滤是拦截不到记事本对内存的访问操作的
游客

返回顶部