无心化语
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分-103分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:2745回复:9

在Dispatch level的完成例程中调用须在Passive level运行的例程

楼主#
更多 发布于:2001-07-21 10:58
用户被禁言,该主题自动屏蔽!
KDriver
驱动中牛
驱动中牛
  • 注册日期2001-06-09
  • 最后登录2008-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-07-21 11:33
[QUOTE]原本由 无心化语 发表
[B]目的是在完成例程中向下一层驱动传递URB。
方法是:
发送在完成例程中构造的新的IRP到一个运行在Passive level的工作
线程,然后这个工作线程调用IoCallDriver(),重新发送Irp到底层
驱动程序。

问题在于,如何实现这段话?请高手支招。 [/B][/QUOTE]

我没有完全理解你的意思,用EXECUTIVE WORK ITEM可以吗?
“萎软”,是Microsoft的小名!
KDriver
驱动中牛
驱动中牛
  • 注册日期2001-06-09
  • 最后登录2008-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-07-21 11:34
要不然用一个共享队列来存放这些IRP
“萎软”,是Microsoft的小名!
无心化语
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分-103分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2001-07-21 12:56
用户被禁言,该主题自动屏蔽!
KDriver
驱动中牛
驱动中牛
  • 注册日期2001-06-09
  • 最后登录2008-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-07-21 15:12
你仔细看看PROGRAMMING WDM的第九章的EXECUTIVE WORK ITEM可能能够解决你的问题。
“萎软”,是Microsoft的小名!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-07-22 14:31
你可以在初始化的时候创建一个线程,这个线程是处于等待状态,当条件满足的时候触发这个线程等待的事件或SEMAPHORE,让这个线程去调用运行等级是PASSIVE_LEVEL的函数,当然,必须指定这个线程运行的优先级,最好是LOW_REALTIME_PRIORITY
如果还有什么不明白的可以看一下《WINDOWS NT设备驱动设计指南》第14章的范例〈一个基于线程的驱动程序〉
无心化语
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分-103分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2001-07-23 08:37
用户被禁言,该主题自动屏蔽!
KDriver
驱动中牛
驱动中牛
  • 注册日期2001-06-09
  • 最后登录2008-09-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-08-13 16:49
给分呀
“萎软”,是Microsoft的小名!
sttypxx
驱动牛犊
驱动牛犊
  • 注册日期2001-05-17
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-08-14 08:47
IoAllocateIrp如何呢?
ghb912
驱动牛犊
驱动牛犊
  • 注册日期2009-11-01
  • 最后登录2011-04-27
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望201点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2010-07-29 13:12
建议用 workitem创建线程,降到Passive级
游客

返回顶部