阅读:1483回复:8
关于一个系统错误,紧急求教版主及各位高手
我在开发中间层驱动程序时,使用事件(同步事件)等待下层完成IRP的处理。在使用Wait时,出现INVALID_PROCESS_ATTACH_ATTEMPT错误,造成系统崩溃。该错误不是每次调用都出。请教:该错误是什么原因产生的,如何解决?
谢谢 |
|
|
沙发#
发布于:2002-06-03 11:57
事件怎么传给完成例程的
|
|
板凳#
发布于:2002-06-03 13:41
作为参数
|
|
|
地板#
发布于:2002-06-03 18:15
不要在IOCOMPLETION中完成任何PROCESS SPECIFIC的动作.
|
|
|
地下室#
发布于:2002-06-05 12:52
版主:
我在完成例程中只是删除我申请的IRP。 可能我没有说清楚我的思路。我的上层是一个包过滤驱动(NDIS),下层是一个硬件驱动程序。硬件驱动程序采用系统队列对我传下的IRP排队,先返回STATUS_PENDING,待中断服务程序完成(调用NextIrp)才返回STATUS_SUCESS。我希望在STATUS_SUCCESS时,才调用IOCOMPLETE返回到上层。这就存在一个同步调用的问题。应该如何实现?我的IRQL=DISPATCH_LEVEL。 谢谢!!! |
|
|
5楼#
发布于:2002-06-07 01:37
Can\'t wait at IRQL=DISPATCH_LEVEL. Might need to create a APC to wait.
|
|
6楼#
发布于:2002-06-07 14:43
Can\'t wait at IRQL=DISPATCH_LEVEL. Might need to create a APC to wait. my IRQL=DISPATCH_LEVEL, how to lower IRQL to APC_LEVEL? How to create a APC? |
|
|
7楼#
发布于:2002-06-07 23:46
queue一个workitem 看看。
|
|
8楼#
发布于:2002-06-08 09:52
queue一个workitem 看看。 我不太明白你的含义,能说详细点吗? |
|
|