阅读:1633回复:2
请教驱动程序与应用程序之间的Win32事件通知问题
我在为一块ISA卡使用DS编写WDM驱动程序,所需资源为11号中断,0x308 - 0x30e端口地址,现在采用Win32事件通知的方法来与驱动程序通信.在应用程序中创建一个事件句柄hEvent,使用DeviceIoControl(...)将hEvent传递给驱动程序,在驱动程序中的DeviceControl(KIrp I)中接收,
但在实际使用时一但调用这段程序,计算机马上黑屏并重起计算机,用ICE可发现说此时的IRQL>DISPATCH_LEVEL,这是怎么回事啊.(部分源码如下);我写的可能不太清楚明白,哪们好心人能帮我看一看我的问题出在哪里啦,全部源码在附件中,谢谢; 本人QQ:28685673,在线等候,谢谢 |
|
|
沙发#
发布于:2004-11-12 12:52
驱动拿到event的hangdle后,不能直接使用,必须用ObReferenceObjectByHandle 转换一下。
转换后得到一个 PRKEVENT 对象,然后就可以用KeEventXXX 和 KeWaitForXXX 来操作这个event |
|
|
板凳#
发布于:2008-09-12 16:47
具体怎么用,二楼可否说的更详细一些
|
|