ljhjason
驱动牛犊
驱动牛犊
  • 注册日期2004-07-05
  • 最后登录2004-10-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1103回复:1

求助,关于KeInsertDeviceQueue

楼主#
更多 发布于:2004-08-09 22:48
书里的例子:
If(KeInsertDeviceQueue)
IoReleaseCancelSpinlock();
else{
dx->mycurrentirp=irp;
IoReleaseCancelSpinlock();
KeRaiseIrql();
MyStartIo();//处理IRP
KeLowerIrrql();
}

KeInsertDeviceQueue把IRP插入设备队列。如果队列为空返回False,并把队例设置为忙状态

问题1:当队列为空时,是否还把IRP插入队列中????

从上面的例子看来,好像队列为空时不把IRP插入队列中,
因为它直接把IRP处理了,没有移除的动作。

问题2:因为没有移除的动作,这个忙状态又是什么时候被恢复呢?
ljhjason
驱动牛犊
驱动牛犊
  • 注册日期2004-07-05
  • 最后登录2004-10-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-12 10:00
up
游客

返回顶部