阅读:2248回复:7
[求教]如何解决IRQL_NOT_LESS_OR_EQUAL错误?
在DriverEntry中初始化event对象:
KeInitializeEvent(&event,NotificationEvent,FALSE); 在sys中的DispatchIoCtl例程中写了如下代码: KeWaitForSingleObject(&event,Executive,KernelMode,FALSE,NULL); 执行到这里的时候蓝屏.显示 0x0000000A IRQL_NOT_LESS_OR_EQUAL 说是什么IRQL过高,可是DispatchIoctl时是PASSIVE_LEVEL,已经是最低的了啊. 各位大牛帮忙看看,偶是菜鸟... |
|
最新喜欢:Leopar... |
沙发#
发布于:2007-08-16 08:50
event怎么传递的?全局变量?
用!analyze -v看一下WinDbg怎么说 |
|
|
板凳#
发布于:2007-08-16 09:02
event是全局变量....
Use !analyze -v to get detailed debugging information. BugCheck A, {0, 2, 1, 804dd11d} !analyze -v 显示: Probably caused by : memory_corruption Followup: memory_corruption --------- |
|
地板#
发布于:2007-08-16 16:29
仔细检查下指针的使用。我以前就是经常指针造成这样的错误
|
|
|
地下室#
发布于:2007-08-17 07:35
你确定是在这行出错么?或者那个event确实有初始化?WinDbg可是说你要向地址0写数据,虽然KeWaitxxx也有可能写什么数据,但写到0就太扯了
|
|
|
5楼#
发布于:2007-08-17 09:34
很奇怪啊.我把初始化的代码放到KeWaitForSingleObject所在的块里,蓝屏消失了!
但是一但创建多个KEVENT对象用KeWairForMultipleObjects依然蓝屏,错误代码一样. |
|
6楼#
发布于:2007-08-17 14:08
,你的事件是全局的吗?不初始事件,BSOD是很正常的
|
|
|
7楼#
发布于:2007-08-17 18:34
不初始事件?偶把InitEvent写在DriverEntry中的呀
|
|