阅读:931回复:4
为什么老是死机
我用DS写的NT式的驱动,总线是ISA的,申请资源都成功,接下来完成应用程序的请求,我想验证一下我的板子的译码是否正确,所以,在我的应用程序中发一个DeviceIocontrol请求,相应的,我的驱动里有个DeviceIocontrol来处理这个请求。我的驱动是采用同步的方式处理IRP,也就是不经过排队,但当程序执行到这里的时候就死机,电脑从启,出现以下错误:
MULTIPLE_IRP_COMPLETE_REQUESTS; 我很疑惑,我的测试程序(应用程序)只发出了一个IRP请求,但为什么出现这个错误呢?? 当我把IRP的排队方式改成异步的时候,可以顺序执行多个IRP。 难道不能用同步的方式?? |
|
|
沙发#
发布于:2003-03-28 15:30
你检查一下你的完成代码部分,是不是在处理irp的代码中已经将此次irp请求完成后,返回了状态,但回到DeviceControl时又调用了完成irp请求
|
|
板凳#
发布于:2003-03-28 16:06
问题解决了,老兄说的很对,我重复使用了IRP的完成函数!!!放分了!
|
|
|
地板#
发布于:2003-03-28 16:14
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2003-03-28 17:55
对,你说的很对,是这种情况,是出现了这种情况,现在已经改正过来了!
|
|
|