liio
驱动小牛
驱动小牛
  • 注册日期2005-12-24
  • 最后登录2022-06-16
  • 粉丝4
  • 关注1
  • 积分24分
  • 威望343点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1191回复:1

多学多问.呵呵,自己发送Irp中关于FILE_OBJECT等的参数问题,几星期积累的糊涂

楼主#
更多 发布于:2007-01-15 18:00
  自定义Irp时,需新建立一个FILE_OBJECT,并填充Irp的头和栈.再发送到下层设备

在建立新的FILE_OBJECT 中
pFileObject->DeviceObject = DeviceObject;
    pFileObject->Flags = FO_SYNCHRONOUS_IO;
    pFileObject->RelatedFileObject = FileObject;
这三句分别是什么意思呢?

其中pFileObject->DeviceObject = DeviceObject; 是我们的设备的对象还是下层的呢?
pFileObject->RelatedFileObject = FileObject;是新建立的FILEOBJECT还是当前的呢?

呵呵,疑问太多了.请多多包含.

在Irp头中
Irp->Tail.Overlay.OriginalFileObject = pFileObject;
这个pFileObject是不是就是我们新建立的那个pFileObject呢?

在Irp栈中

IoStackLocation->DeviceObject = devExt->NextDevice ;    //卷设备?
    IoStackLocation->FileObject = pFileObject;


IoStackLocation->DeviceObject 是不是表示下一层驱动呢

IoStackLocation->FileObject是不是表示我们新增加的这个FILE_OBJECT呢

希望各位达人帮我,我都糊涂好几个星期了.实在自己搞不懂才问的.谢谢,感激!!!

还有,我想买超值版的NT文件内幕的书,240那版的

如果要开发票的话(开书的,和高会的)一起要多少钱,希望谁能告诉我,早知道早点买,怕买的人多了没货啊

5555
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2007-01-15 18:25
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
游客

返回顶部