阅读:1386回复:6
一个中断的问题,请高手指教
如果中断发生时,驱动正处于startio例程中,ISR处理完后申请一个DPC后返回,请问这时应返回到startio例程,还是直接执行DPC?
|
|
最新喜欢:hapi |
沙发#
发布于:2002-08-19 17:07
startio
|
|
板凳#
发布于:2002-08-19 18:06
为什么?arthurtu可不可以为我解释一下?谢谢!
|
|
地板#
发布于:2002-08-19 20:22
两者都在同一个IRQL---Dispatch_level。
|
|
|
地下室#
发布于:2002-08-19 20:47
对啊,所以为什么要先回startio?
|
|
5楼#
发布于:2002-08-19 20:54
更正一下:
DPC例程执行在DISPATCH_LEVEL级上,它们需要访问你的IRP队列,并取出队列中的下一个请求,然后把这个请求发送给StartIo例程。你可以调用IoStartNextPacket服务函数从队列中提取下一个请求,但必须在DISPATCH_LEVEL级上调用。该函数在返回前将调用你的StartIo例程。 |
|
|
6楼#
发布于:2002-08-20 08:42
你在startio中断的,dpc和startio在一个级别,中断先返回到他中断前的环境中,dpc又不能抢先startio,so。。。
|
|