uuchen
驱动牛犊
驱动牛犊
  • 注册日期2003-03-07
  • 最后登录2003-04-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:955回复:1

怎样分配一个带有额外堆栈单元的IRP?

楼主#
更多 发布于:2003-03-31 15:15
还是在 oney书中,“完成I/O请求”一章中。讲有关“何时调用IoMarkIrpPending”时,提到:
驱动程序通常做的是分配一个带有额外堆栈单元的IRP,在第一个单元中设置DeviceObject指针,在调用IoSetCompletionRoutine和IoCallDriver前用IoSetNextIrpStackLocation函数跳过那个额外堆栈单元。如果你这样做,那么在完成例程中调用IoMarkIrpPending将不会出现问题,并且完成例程也能得到了一个有效的设备对象。
用哪个函数创建这个额外的堆栈单元呢?
请给一个有关的程序片
zhangleierli
驱动小牛
驱动小牛
  • 注册日期2007-01-31
  • 最后登录2017-05-24
  • 粉丝1
  • 关注0
  • 积分3分
  • 威望158点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-08-16 16:38
同求答案,这地方我也没看懂
游客

返回顶部