阅读:5132回复:5
驱动中使用KeSetEvent蓝屏
在驱动中的MPSendPackets中写入KeSetEvent(hhEvent, 0, FALSE);安装蓝屏提示IRQL_NOT_LESS_OR_EQUAL,好像是分页内存的问题,怎么解决?
|
|
|
沙发#
发布于:2008-07-02 12:11
1 去掉后是否蓝屏?
2 加上后蓝屏,看看蓝屏的位置 3 可能是irq的level是否超出了setevent的要求? |
|
|
板凳#
发布于:2008-07-02 16:37
event初始化了没有?
|
|
地板#
发布于:2008-07-02 18:10
去掉KeSetEvent(hhEvent, 0, FALSE);就不蓝屏,hhEvent初始化为NULL
事件是在应用程序里创建的 如果是irq的level是否超出了setevent的要求,那怎么看irq的level呢? |
|
|
地下室#
发布于:2008-07-03 13:53
获取当前调用event事情所有dispatch的irq 的level,特别是蓝屏时的值。然后和ddk比较
要不就用调试器调试跟踪调试好了,最简单的 |
|
|
5楼#
发布于:2008-07-04 22:33
ASSERT(KeGetCurrentIrql() <= DISPATCH_LEVEL);
KeRaiseIrql(DISPATCH_LEVEL, &oldirql); KeSetEvent(ppEvent,0,FALSE); KeLowerIrql(oldirql); 加入以上代码还是蓝屏 |
|
|