devil209
驱动牛犊
驱动牛犊
  • 注册日期2007-01-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分732分
  • 威望94点
  • 贡献值0点
  • 好评度73点
  • 原创分0分
  • 专家分0分
阅读:1273回复:5

问一个关于传递irp的问题

楼主#
更多 发布于:2007-02-02 09:46
  小弟刚接触驱动不久,有个问题一直感到很迷惑:
一般对irp不做处理的传递是:
IoSkipCurrentIrpStackLocation(Irp);
IoCallDriver(dx->NextStackDevice,Irp);
以上NextStackDevice是本驱动邦定到的设备驱动,那么能知道具体是什么驱动吗?
如果一直按照这样传递,是不是有可能这个Irp会经过系统所有的驱动?
如果自己写了个驱动Wdm1,使用IoAttackDeviceToDeviceStack()邦定到设备堆栈后,自己又写了个Wdm2的驱动程序,使用IoAttackDeviceToDeviceStack()是不是就邦定到Wdm1上了?这时自己又写一个Wdm3的驱动程序使用IoAttackDeviceToDeviceStack(),那么发向Wdm1的Irp包就会经过Wdm2和Wdm3吗?
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
沙发#
发布于:2007-02-02 14:40
用户被禁言,该主题自动屏蔽!
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
板凳#
发布于:2007-02-02 14:48
用户被禁言,该主题自动屏蔽!
devil209
驱动牛犊
驱动牛犊
  • 注册日期2007-01-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分732分
  • 威望94点
  • 贡献值0点
  • 好评度73点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-02-02 20:25
恩,谢谢,已经明白很多了,再问以下,如果只用IoAttackDeviceToDeviceStack又怎么知道这个过滤驱动绑定到了它想绑定的功能驱动上呢 ?
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
地下室#
发布于:2007-02-05 10:35
用户被禁言,该主题自动屏蔽!
devil209
驱动牛犊
驱动牛犊
  • 注册日期2007-01-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分732分
  • 威望94点
  • 贡献值0点
  • 好评度73点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-02-05 12:22
应该是调用IoAttackDeviceToDeviceStack邦定到设备栈吧,如果不是请多指教啊。
游客

返回顶部