xyz7663
驱动牛犊
驱动牛犊
  • 注册日期2004-11-11
  • 最后登录2004-11-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1633回复:2

请教驱动程序与应用程序之间的Win32事件通知问题

楼主#
更多 发布于:2004-11-11 09:08
我在为一块ISA卡使用DS编写WDM驱动程序,所需资源为11号中断,0x308 - 0x30e端口地址,现在采用Win32事件通知的方法来与驱动程序通信.在应用程序中创建一个事件句柄hEvent,使用DeviceIoControl(...)将hEvent传递给驱动程序,在驱动程序中的DeviceControl(KIrp I)中接收,
但在实际使用时一但调用这段程序,计算机马上黑屏并重起计算机,用ICE可发现说此时的IRQL>DISPATCH_LEVEL,这是怎么回事啊.(部分源码如下);我写的可能不太清楚明白,哪们好心人能帮我看一看我的问题出在哪里啦,全部源码在附件中,谢谢;
本人QQ:28685673,在线等候,谢谢
附件名称/大小 下载次数 最后更新
2004-11-11_JBQD.rar (60KB)  46
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
沙发#
发布于:2004-11-12 12:52
驱动拿到event的hangdle后,不能直接使用,必须用ObReferenceObjectByHandle 转换一下。
转换后得到一个 PRKEVENT 对象,然后就可以用KeEventXXX 和 KeWaitForXXX 来操作这个event
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
wtt2601109
驱动牛犊
驱动牛犊
  • 注册日期2005-10-14
  • 最后登录2010-12-07
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望70点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-09-12 16:47
具体怎么用,二楼可否说的更详细一些
游客

返回顶部