ic2001wsd
驱动牛犊
驱动牛犊
  • 注册日期2002-03-30
  • 最后登录2002-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2425回复:10

请问驱动程序如何与钩子函数去通信

楼主#
更多 发布于:2002-04-17 14:21
请问,我做一个驱动程序时需要实现一个功能,即:
我的驱动程序的数据时中断方式获得
在应用层,我建立了一个钩子函数
现在我想当驱动程序通过中断得到某个数据时,能够去通知我的钩子函数去做处理。
请哪位有经验的朋友给予知道,谢谢!
驱动小虫
liusz
驱动牛犊
驱动牛犊
  • 注册日期2004-03-16
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分29分
  • 威望43点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-13 11:35

不知道现在这个问题解决了没有?

我现在也需要实现这样的功能,并且要应用程序与驱动程序共享内存,不知道这种内参共享要注意什么?
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-22 10:18
在vxd下,可以这样解决你的问题:

首先写好你的回调函数,然后使用deviceiocontrol()将回调函数的句柄传给vxd,在vxd中,一旦有事件发生,需要调用你应用程序的回调函数的时候,可以使用_VWIN32_QueueUserApc()来call你的回调函数。我在2000的ddk中找了一下,好像没有找到类似的冬冬,(看英文实在头疼;))你自己可以研究一下。

by the way:有结果别忘了告诉我一声,呵呵。
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
ic2001wsd
驱动牛犊
驱动牛犊
  • 注册日期2002-03-30
  • 最后登录2002-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-21 08:45
谢谢ZydCat,我是在WIN2000下的WDM方式,不知道如何去实现



===================================================
请问,我做一个驱动程序时需要实现一个功能,即:
我的驱动程序的数据时中断方式获得
在应用层,我建立了一个钩子函数
现在我想当驱动程序通过中断得到某个数据时,能够去通知我的钩子函数去做处理。
请哪位有经验的朋友给予知道,谢谢!

驱动小虫
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-19 16:08
你做的驱动是vxd吗
如果是,我给你个例子。
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
moritenw
驱动牛犊
驱动牛犊
  • 注册日期2002-04-17
  • 最后登录2002-04-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-19 14:59
不知道可不可以在应用层上写一个CALLBACK函数,在应用层把该函数的地址传入到驱动程序中,再在驱动程序的相应事件中调用该函数,这样的做法不知道可不可以呢,如果有大侠做出来了,麻烦相告。我是新手,可是很急。。。。
jinfei
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2012-07-03
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-19 08:54
可以在驱动中声明一个事件,然后在 APP 程序中开一个线程来
等这个事件,不必用钩子
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-04-18 21:06
用户被禁言,该主题自动屏蔽!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2002-04-17 17:26
在你的驱动里面调用你的hook不可以吗?
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-04-17 15:55
hook()?
我不仅要金子,我还要点石成金的手指!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-04-17 14:53
什么是钩子函数呀
傻傻的问
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
游客

返回顶部