20楼#
发布于:2007-10-11 19:09
我刚刚说的不准确啊,要弄清楚工作的文件系统层次和Filter的目标
|
|
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了,不知道对不对啊 |
|
22楼#
发布于:2007-12-21 16:33
???
|
|
|
驱动小牛
|
23楼#
发布于:2007-12-24 17:51
感谢,我也遇到同样的问题,写文件有Write ,读文件不见有Read,提示我一些思路了
|
24楼#
发布于:2008-07-10 12:34
总是没有结果
|
|
25楼#
发布于:2008-07-15 15:03
是不是这是个秘密啊,大牛们对这个问题都是支支唔唔的
|
|
26楼#
发布于:2008-09-05 15:29
大牛们出来帮忙啊,搞不定这个问题啊?我是在磁盘驱动级别做的,也是有这个问题。还有就是read的偏移量与write的不一样,老是相差很大
|
|
上一页
下一页