阅读:1619回复:5
IoStartNextPacket的一个问题。
chris cant书中的wdmio例子中,有三个地方用到了IoStartNextPacket函数,其中
dpctoisr和startio中都是直接调用,但是在一个系统工作者线程中是这样用的。 KeRaiseIrql( DISPATCH_LEVEL, &OldIrql); IoStartNextPacket( dx->fdo, TRUE); KeLowerIrql(OldIrql); 是不是因为dpctoisr和startio是运行在dispatch_level的,系统工作者线程 是运行在passive level的。 那这样做的目的是什么呢?有什么作用呢? |
|
沙发#
发布于:2002-08-09 08:23
IoStartNextPacket和IoStartPacket都是开始一个StartIO例程
|
|
|
板凳#
发布于:2002-08-09 09:25
Callers of IoStartNextPacket must be running at IRQL DISPATCH_LEVEL.
|
|
|
地板#
发布于:2002-08-09 15:05
IoStartNextPacket和IoStartPacket都是开始一个StartIO例程 他吗的,ddk里面果然是这么写的,不仔细看,哪里能注意到这么多,哎,写个驱动讲究也太多了。 |
|
地下室#
发布于:2002-08-09 15:28
谁之错?
|
|
5楼#
发布于:2002-08-09 16:35
不好意思,引用错了,应该引用zydcat写的东西
Callers of IoStartNextPacket must be running at IRQL DISPATCH_LEVEL. 他吗的,ddk里面果然是这么写的,不仔细看,哪里能注意到这么多,哎,写个驱动讲究也太多了。 |
|