bluesky123
驱动牛犊
驱动牛犊
  • 注册日期2002-08-02
  • 最后登录2002-10-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1386回复:6

一个中断的问题,请高手指教

楼主#
更多 发布于:2002-08-19 17:06
如果中断发生时,驱动正处于startio例程中,ISR处理完后申请一个DPC后返回,请问这时应返回到startio例程,还是直接执行DPC?

最新喜欢:

hapihapi
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-08-19 17:07
startio
bluesky123
驱动牛犊
驱动牛犊
  • 注册日期2002-08-02
  • 最后登录2002-10-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-19 18:06
为什么?arthurtu可不可以为我解释一下?谢谢!
denizen
驱动大牛
驱动大牛
  • 注册日期2001-12-30
  • 最后登录2012-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-19 20:22
两者都在同一个IRQL---Dispatch_level。
Where there is a will, there is a road.
bluesky123
驱动牛犊
驱动牛犊
  • 注册日期2002-08-02
  • 最后登录2002-10-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-19 20:47
对啊,所以为什么要先回startio?
denizen
驱动大牛
驱动大牛
  • 注册日期2001-12-30
  • 最后登录2012-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-19 20:54
更正一下:
DPC例程执行在DISPATCH_LEVEL级上,它们需要访问你的IRP队列,并取出队列中的下一个请求,然后把这个请求发送给StartIo例程。你可以调用IoStartNextPacket服务函数从队列中提取下一个请求,但必须在DISPATCH_LEVEL级上调用。该函数在返回前将调用你的StartIo例程。
Where there is a will, there is a road.
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2002-08-20 08:42
你在startio中断的,dpc和startio在一个级别,中断先返回到他中断前的环境中,dpc又不能抢先startio,so。。。
游客

返回顶部