阅读:2380回复:3
求解: DpcForIsr 中调用 KeSetEvent 报页错误
驱动:
1. 创建命名pEvent: IoCreateNotificationEvent( ... ) 2. DpcForIsr中KeSetEvent( pEvent ... ) 应用: 1. hEvent = OpenEvent( ... ) 2. WaitForSingleObject( ... ) ------------------------------------------------- 应用: 1. hEvent = CreateEvent(...) 2. 将hEvent传到驱动 DeviceIoControl( ... ) 3. WaitForSingleObject( ... ) 驱动: 1. 收到hEvent 2. 得到EVENT指针pEvent: ObReferenceObjectByHandle( hEvent... ) 3. DpcForIsr中KeSetEvent( pEvent ... ) --------------------------------------------------------------------------------------- Win2000 SP4 以上两种方法执行到KeSetEvent时均挂掉 请知道答案的朋友给予提示 |
|
沙发#
发布于:2007-11-21 14:52
bugcheck code ??
dump file?? |
|
板凳#
发布于:2007-11-21 17:26
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2008-02-29 10:24
你这第二种方法时到ObReferenceObjectByHandle我的一个代码就蓝屏了
“注意该IOCTL必须在PASSIVE_LEVEL级上处理,并且在拥有hEvent句柄的进程上下文中。” IRQL肯定是要注意的。 但是“在拥有hEvent句柄的进程上下文中。”这句有点费解。莫非跟MmMapLockedPagesSpecifyCache一样有讲究。 |
|