baggio081
驱动牛犊
驱动牛犊
  • 注册日期2007-06-12
  • 最后登录2008-02-20
  • 粉丝0
  • 关注0
  • 积分440分
  • 威望45点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
阅读:1214回复:2

关于在驱动里创建事件对象

楼主#
更多 发布于:2007-07-23 19:34
在r3创建了一个事件对象Event
hEvent=CreateEvent(NULL,TRUE,FALSE,"Event");
让其Wait

然后想在驱动里想打开此Event,然后激活它,达到从驱动通知r3的目的,
UNICODE_STRING   nameEvent;
HANDLE  hEvent=NULL;
PKEVENT  Event;
RtlInitUnicodeString ( &nameEvent, L"\\Device\\Event" );
Event = IoCreateSynchronizationEvent (&nameEvent,   hEvent);

但是好象这样在驱动里不行,执行IoCreateSynchronizationEvent 就出错重起了。
不知道是什么问题,难道需要预先分配MDL才能创建吗?还是有什么其他的问题?
希望大家帮忙给点建议,谢了。

zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-07-23 20:31
IoCreateSynchronizationEvent 第二个参数需要的是PHANDLE,你应该传&handle,你直接传handle,在你这里hadnle=NULL,空指针,还不出问题.
baggio081
驱动牛犊
驱动牛犊
  • 注册日期2007-06-12
  • 最后登录2008-02-20
  • 粉丝0
  • 关注0
  • 积分440分
  • 威望45点
  • 贡献值0点
  • 好评度44点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-24 10:00
哦。。我一直在想自己创建事件的方式有没出错
没想到是这个错误
多谢了
游客

返回顶部