yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
阅读:1984回复:11

请问怎样实现两个驱动之间相互通讯

楼主#
更多 发布于:2007-06-15 08:22
如题,
我现在知道用 INTERNAL DEVICE CONTROL 可以,但是网上详细介绍的资料很少,请介绍一下细节,谢谢!!!!!!!!!!!!!!!!!!!!!!
另外看到用 ZwCreateFile ZwWriteFile 等函数也可以实现,但是参数比较多,我还在试.
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
沙发#
发布于:2007-06-15 11:29
用户被禁言,该主题自动屏蔽!
yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-15 12:45
用IoGetDeviceObjectPointer得到的device object,然后在驱动中用IoBuildDeviceIoControlRequest构建一个Device Control的IRP,然后调用IoCallDriver发送下去,现在试验已经可以工作了。

!!!!!!!!!!!!!!!!!!!!!!!!!!

兄弟,涉及到这几步的代码能给我看看吗?我也是这样调试的,但是没有试成功,可能有些地方没有设置好.

我的邮箱 yan_hg@163.com

一定高分相送
谢谢了
yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-06-15 15:42
我的 IoGetDeviceObjectPointer 调用现在还是一直返回错误,正在试那里出错了.
希望能看看你在这里是怎么设的
yan_hg
驱动牛犊
驱动牛犊
  • 注册日期2006-10-20
  • 最后登录2008-06-29
  • 粉丝0
  • 关注0
  • 积分385分
  • 威望47点
  • 贡献值0点
  • 好评度46点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-06-15 15:44
我留个电子邮箱,你有联系方式吗?希望能和你交流一下
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
5楼#
发布于:2007-06-15 19:11
用户被禁言,该主题自动屏蔽!
LitteSW
驱动中牛
驱动中牛
  • 注册日期2001-06-10
  • 最后登录2010-08-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-06-17 13:02
1. 用紧耦合方式。也就是说从1个驱动中导出函数,类似于DLL,另外1个驱动通过LIB和.H直接调用。
2. 通过2个驱动共享同一内存,通过互斥标志访问。达到数据通信。
3.用IoCallDriver。在另一个驱动中的INTERNAL DEVICE CONTROL 中响应相应的IRP即可。
穿梭于都市高楼之间,总是孜孜不倦地追寻着自由,蓦然回首,去发现已陷入深深的枷锁之中
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
7楼#
发布于:2007-06-17 17:13
用户被禁言,该主题自动屏蔽!
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-06-18 12:41
1. src\storage\class\classpnp

2. search for IoBuildDeviceIoControlRequest/IoBuildSynchronousFsdRequest/IoBuildAsynchronousFsdRequest
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
9楼#
发布于:2007-06-18 12:49
还有一个很简单的例子,就是IP Filter Hook的例子,DDK的文档有代码的。
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
10楼#
发布于:2007-06-18 14:59
用户被禁言,该主题自动屏蔽!
niumowangmeng
驱动牛犊
驱动牛犊
  • 注册日期2008-02-22
  • 最后登录2008-06-07
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望16点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2008-03-23 20:59
codeproject上有一篇文章使介绍这个知识的。
introduction to driver part3
游客

返回顶部