stevphen1
驱动牛犊
驱动牛犊
  • 注册日期2007-09-29
  • 最后登录2007-11-02
  • 粉丝0
  • 关注0
  • 积分230分
  • 威望24点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2007-10-11 19:09
我刚刚说的不准确啊,要弄清楚工作的文件系统层次和Filter的目标
qianjunhua
驱动小牛
驱动小牛
  • 注册日期2003-12-08
  • 最后登录2013-02-27
  • 粉丝11
  • 关注0
  • 积分712分
  • 威望1052点
  • 贡献值1点
  • 好评度57点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2007-11-05 14:09
sorry,说错了,不是收不到irp_mj_read,而是
Irp->Flags & (IRP_NOCACHE | IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO)
总是为否



记事本是通过mapview 来读的吧,这个mapview函数对应的内刻的函数(我忘了)做的工作 也就是通过文件系统来读取数据的,但是 cache manager 对于这个函数的调用起了很大的帮助,就是它会map 整个文件到一个虚拟内存里面来,所以这个时候的 read ahead的 work thread 就会来发送IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO 的irp 读写磁盘, 显然 记事本得到的数据都是从cache里面得到的,也就是说irp里面是不含有这些flag的。当这个文件很小的时候,也就只有一次的 物理 read了,不知道对不对啊
newkey
驱动小牛
驱动小牛
  • 注册日期2002-10-03
  • 最后登录2013-10-13
  • 粉丝1
  • 关注0
  • 积分45分
  • 威望392点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2007-12-21 16:33
???
www.xDrv.com
zhoujiamurong
驱动小牛
驱动小牛
  • 注册日期2006-03-20
  • 最后登录2009-05-06
  • 粉丝4
  • 关注0
  • 积分1081分
  • 威望360点
  • 贡献值0点
  • 好评度215点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2007-12-24 17:51
感谢,我也遇到同样的问题,写文件有Write ,读文件不见有Read,提示我一些思路了
stpaladin
驱动牛犊
驱动牛犊
  • 注册日期2008-06-19
  • 最后登录2010-12-29
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望39点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2008-07-10 12:34
总是没有结果
stpaladin
驱动牛犊
驱动牛犊
  • 注册日期2008-06-19
  • 最后登录2010-12-29
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望39点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2008-07-15 15:03
是不是这是个秘密啊,大牛们对这个问题都是支支唔唔的
zmb921
驱动牛犊
驱动牛犊
  • 注册日期2005-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望146点
  • 贡献值1点
  • 好评度21点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2008-09-05 15:29
大牛们出来帮忙啊,搞不定这个问题啊?我是在磁盘驱动级别做的,也是有这个问题。还有就是read的偏移量与write的不一样,老是相差很大
上一页 下一页
游客

返回顶部