hepw
驱动牛犊
驱动牛犊
  • 注册日期2001-11-13
  • 最后登录2002-02-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1583回复:5

硬件来了中断后怎样通知上层App?

楼主#
更多 发布于:2002-01-23 12:21
就像DebugPrint一样,上层App可以实时的接受从driver(WDM)发出的event。
hepw
驱动牛犊
驱动牛犊
  • 注册日期2001-11-13
  • 最后登录2002-02-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-01-25 17:47
问题解决了。和我在上面说的差不多。只是在上层App程序里
CreateEvent后不用调用OpenEvent,而是调用ResetEvent。其他
一样就行。
csyoyo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-19
  • 最后登录2007-06-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-01-23 20:33
有例子吗?
hepw
驱动牛犊
驱动牛犊
  • 注册日期2001-11-13
  • 最后登录2002-02-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-01-23 18:52
我是这么做的:
1,在App里CreateEvent,OpenEvent.
2,通过DeviceIoControl将该Event的handle传下去
3,在DEVICE_CONTROL的routine里调用ObReferenceObjectByHandle
   函数将传下来的handle转成PRKEVENT
4,在中断的时候KeSetEvent

上层App在做完DeviceIoControl后即调用WaitForSingleObject等待
driver来的Event。但总是返回WAIT_OBJECT_0,可实际上我还没触发
中断。

请高手指点。。。。
sinsei
驱动牛犊
驱动牛犊
  • 注册日期2002-01-06
  • 最后登录2002-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-01-23 17:30
采用事件的方法,中断频率能做到多少?
有试过的吗?
shaht
驱动牛犊
驱动牛犊
  • 注册日期2001-09-14
  • 最后登录2003-12-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-01-23 13:54
事件啊,App建一个Event,并作为参数给驱动,中断发生时,驱动置位,
app做一个线程等它就可.
游客

返回顶部