Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1621回复:14

在驱动程序中的事件怎么通知用户程序?

楼主#
更多 发布于:2002-07-15 11:35
如题
易水
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-15 11:59
setevent
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-07-15 12:18
那么事件的句柄传给驱动程序后驱动程序应该怎么引用它呢?
Windows 9x/Windows 2000下的引用方法有什么不同呢?
易水
tony21
驱动牛犊
驱动牛犊
  • 注册日期2001-06-25
  • 最后登录2002-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-15 12:25
使用vtoolsd提供的函数
VWIN32_PulseWin32Event(hEventRing0);

hEventRing0 :应用程序传给驱动程序的句柄
相濡以沫,不如相忘于江湖
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-15 12:35
9x下vxd可以直接用应用程序的事件句宾
2000下调用ObReferenceObjectByHandle转换一下
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
wangdongqiang
驱动牛犊
驱动牛犊
  • 注册日期2002-07-12
  • 最后登录2002-07-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-07-15 17:00
Windows? Management Instrumentation (WMI) extensions to WDM. These extensions provide the mechanism by which drivers can make measurement and instrumentation data available to user-mode applications. User mode applications access WMI data via a set of user mode APIs.
999999
驱动牛犊
驱动牛犊
  • 注册日期2002-07-02
  • 最后登录2008-03-20
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-07-15 21:50
首先在底层驱动程序中,使用IoCreateNotificationEvent函数创建一命名事件,在用户程序中,使用OpenEvent( )打开该命名事件。然后,底层驱动可以使用KeSetEvent( )通知用户程序。
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-07-15 22:04
Windows? Management Instrumentation (WMI) extensions to WDM. These extensions provide the mechanism by which drivers can make measurement and instrumentation data available to user-mode applications. User mode applications access WMI data via a set of user mode APIs.  


此非彼也
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2002-07-25 16:21
虫虫同志:
ObReferenceObjectByHandle的参数应该怎么设置?
我用它返回的对象设置事件状态,立刻死机:(
易水
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-07-25 16:50
在驱动程序中的事件怎么通知用户程序?


有个叫 lizhiwei 的哥们写过一篇文章,写得非常好,还有范例代码。给你连接,去看看吧。好像本站也有。

觉得好的话,别忘了给分。

http://codeguru.earthweb.com/system/GUIDevice.html
写驱动不如买足彩!!
freducn2002
驱动小牛
驱动小牛
  • 注册日期2002-06-26
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望29点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
  • 社区居民
10楼#
发布于:2002-07-25 17:50
楼上的精神不错啊
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2002-07-25 18:11
为什么他的程序运行没事我的一运行就出分页错啊?555555

我的这部分代码和他的几乎一模一样啊!
易水
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-07-25 18:30
 
为什么他的程序运行没事我的一运行就出分页错啊?555555

我的这部分代码和他的几乎一模一样啊!


好好读读,本站精神乃是多看少问,既然别人的好,你的不好,代码肯定是不一样的。什么叫“几乎一模一样”?调程序永远不要说这样的话,呵呵。

我估计你应该是犯了什么低级错误,如果不是的话,就是你没有理解lizhiwei哥们的程序,他在文章里提到了他的方法和别人的方法的不同之处在于:是内核创建Evnet还是Win32创建Event?好好理解理解。

等你真觉得那文章写的好的时候,别忘了给分。
觉得不好就算了。
写驱动不如买足彩!!
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-07-26 08:21
是不是内存分配的问题,把分配的内存锁定试试!VirtualLock函数。
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
14楼#
发布于:2002-07-27 12:37
[quote]为什么他的程序运行没事我的一运行就出分页错啊?555555

我的这部分代码和他的几乎一模一样啊!


好好读读,本站精神乃是多看少问,既然别人的好,你的不好,代码肯定是不一样的。什么叫“几乎一模一样”?调程序永远不要说这样的话,呵呵。

我估计你应该是犯了什么低级错误,如果不是的话,就是你没有理解lizhiwei哥们的程序,他在文章里提到了他的方法和别人的方法的不同之处在于:是内核创建Evnet还是Win32创建Event?好好理解理解。

等你真觉得那文章写的好的时候,别忘了给分。
觉得不好就算了。 [/quote]

多谢兄弟的金玉良言。
原来我是把事件指针的存放地址传出去了:(还真是弱智错误啊
易水
游客

返回顶部