wu_pang_zi
驱动牛犊
驱动牛犊
  • 注册日期2004-12-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:1247回复:5

filedisk的Write.ByteOffset疑问

楼主#
更多 发布于:2008-04-02 10:52
在filedisk中,有下面一段代码:
            case IRP_MJ_WRITE:
                if ((io_stack->Parameters.Write.ByteOffset.QuadPart +
                     io_stack->Parameters.Write.Length) >
                     device_extension->file_size.QuadPart)
                {
                    irp->IoStatus.Status = STATUS_INVALID_PARAMETER;
                    irp->IoStatus.Information = 0;
                }
                ZwWriteFile(
                    device_extension->file_handle,
                    NULL,
                    NULL,
                    NULL,
                    &irp->IoStatus,
                    MmGetSystemAddressForMdlSafe(irp->MdlAddress, NormalPagePriority),
                    io_stack->Parameters.Write.Length,
                    &io_stack->Parameters.Write.ByteOffset,
                    NULL
                    );
                break;
在这里有 &io_stack->Parameters.Write.ByteOffset,这个值的含义是什么?系统又是在那一层定义了这个值呢?
wu_pang_zi
驱动牛犊
驱动牛犊
  • 注册日期2004-12-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-03 09:36
没人啊!大虾呢?
alwaysrun
驱动小牛
驱动小牛
  • 注册日期2006-06-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1059分
  • 威望752点
  • 贡献值1点
  • 好评度98点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-03 10:05
写文件的起始偏移地址
一颗平常的心!
yandong_8212
驱动小牛
驱动小牛
  • 注册日期2006-07-28
  • 最后登录2011-02-11
  • 粉丝0
  • 关注0
  • 积分1046分
  • 威望464点
  • 贡献值1点
  • 好评度173点
  • 原创分0分
  • 专家分1分
地板#
发布于:2008-04-03 11:05
这个值是在IRP里面,一发下来就有.
商务MSN:YanDong_8212@163.com
tonyfirst1
驱动牛犊
驱动牛犊
  • 注册日期2008-02-26
  • 最后登录2010-08-06
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望138点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-04-03 21:26
当应用层发起写的请求的时候,系统就会构造好这个IRP.
因为应用层要写的位置已经确定了,如果是写文件,那么文件系统会将文件的偏移位置转换为磁盘("应该是某个卷,就是filedisk 映射的那个")的偏移位置!!
wu_pang_zi
驱动牛犊
驱动牛犊
  • 注册日期2004-12-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-04-06 09:49
哦,谢谢各位!
对这方面的资料在那里介绍比较多?现在的驱动书和DDK都只讲怎么去开发,对这些细微的没有太多涉及。
游客

返回顶部