阅读:1094回复:5
实在找不到了,绝望了,请tooflat 进来看看
我在MJ_READ中设置了完成例程.(工作很好)
现在我想得到CurrentByteOffset, (就是文件当前指针) 实现找不到在哪里?几个Offset都找过了, 我在ReadCompletion中发送请求去 得到是 H L 0 0 0 8 |
|
|
沙发#
发布于:2007-09-21 15:30
刚在论坛搜了一下,好像说,如果系统自己read/write 好像offset 不会变化
难道要在完成例程中,每次设一次. IrpStack->Parameters.Read.ByteOffset.QuadPart 的值? |
|
|
板凳#
发布于:2007-09-21 15:33
Parameters.Read.Length 一直是4096
现在请教一下,如果 文件为9K, 最后1K如何标识文件已结束? |
|
|
地板#
发布于:2007-09-24 09:08
昨天找别人测了一下sfilter他说, IrpStack->Parameters.Read.ByteOffset.QuadPart
是正常文件指针, IoStatus.Information 是正常的返回长度. 我现在在filemon的框架中做的, IrpStack->Parameters.Read.ByteOffset.QuadPart 老是0 IoStatus.Information 总是4096, 何解? 是不是要用局部锁,锁下资源? |
|
|
地下室#
发布于:2007-09-25 08:51
IoStatus.Information 总是4096, 那是因为每次文件系统从磁盘上读内容时, 每次都以4096,即页面的大小为单位读取.
|
|
5楼#
发布于:2007-09-25 17:49
那个指针的问题,我查了几天, offset为0,好像是正常的.
这个就比较麻烦了. |
|
|