gxzbme
驱动牛犊
驱动牛犊
  • 注册日期2001-08-09
  • 最后登录2006-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1731回复:5

win2k的driver之间的通讯?

楼主#
更多 发布于:2001-08-27 15:15
win2k的driver之间的通讯

两个driver(不同类)之间可以使用类似DeviceIoControl的函数吗?有没有这样的函数?

最新喜欢:

eyeszhueyeszh...
wangbo
驱动牛犊
驱动牛犊
  • 注册日期2001-06-11
  • 最后登录2002-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-27 15:39
有,你在DDK文档里找找,你也可以试试系统CALLBACK对象,我以前用CALLBACK对象做过
神仙?妖怪? 谢谢!
gxzbme
驱动牛犊
驱动牛犊
  • 注册日期2001-08-09
  • 最后登录2006-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-27 15:57
谢谢大虾回答!
deviceioctrl有内部的,比如mouclass和moufiltr,i8042prt,
但他们都是FILE_DEVICE_MOUSE。
我的两个程序,一个是FILE_DEVICE_mouse, 一个是FILE_DEVICE_unkonw。
可以用zw(create,read,write),但我已经将read,write作了他用,也不能共享。只能打ioctrl的主意。

请问大虾,
你使用callback是在不同的文件类driver中吗?
LitteSW
驱动中牛
驱动中牛
  • 注册日期2001-06-10
  • 最后登录2010-08-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-28 20:25
在驱动程序间可以用IoCallDriver发送IRP包进行通讯。
穿梭于都市高楼之间,总是孜孜不倦地追寻着自由,蓦然回首,去发现已陷入深深的枷锁之中
gxzbme
驱动牛犊
驱动牛犊
  • 注册日期2001-08-09
  • 最后登录2006-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-08-31 00:16
谢谢你们的帮助!!!

这个问题我几经解决了。是用DriverStudio来解决的。
原来在DriverStudio中,一个驱动程序的service可以是一个对象,
这样通过对象指针可以访问另一驱动的任何成员变量,还可以通过软fifo类,结合事件,互相传递大量的数据。

这简直太方便了!太方便了!!!

编了一个月的驱动,简直就是进行了一次“长征”!
有时叫天不灵,入地无门,头撞铁板,眼冒金星,不知东南。
胡打乱闯,四处溜达,浪费不少时间,做了太多太多的无用功。
忽然有一天,以前看不懂的代码,不会用的程序、工具,安不
上的驱动,无可奈何的蓝屏。。。杜有了解决的办法。仔细想想
以前的无用功,也不是真的没有功劳。长征是播种机,长征是革
命的摇篮,长征是革命的熔炉......

这里向各位欲写驱动的难友进言:
1。先看基础知识,比如<wdm驱动程序编程指南〉
2。看一些NT自带和书上带的例子,并使他们能编译并安装、执行。
   这就需要熟悉一些NT和ds提供的小工具,比如命令行的编译工
   具、设置工具,驱动的安装工具、调试工具。

3。研究代码,细节上搞清楚信息的控制关系,代码的执行次序,
   一些最基本的函数用法,irp结构及其在不同时期的数据特点,
   大的方面,搞清楚DRIVER,SERVICE,DEVICE之间的关系,pdo与
   fdo的关系;BUS DRIVER, FUNCTION DRIVER, CLASS DRIVER,
   FILTER DRIVER 的关系。

   了解了这些,学会了用这些知识,相当与学会了汇编语言。而
DRIVER STUDIO 相当于高级语言。由于有了前面的基础知识,你对
DRIVER STUDIO 中的结构和编程方法才会有叫深刻的理解和认识。
我开始就一点也看不懂它带的例子。怎么这么简练?编译好了,
也不会用。等把前面的知识基本搞清楚了,再看这些例子,方佛
以前学PASCAL和C++语言,由于先用汇编写过半年的程序,高级语言
中的每一句,都能大概知道是怎么由汇编完成的,因此学的非常
顺利,EASY。

    希望大家的长征时间能短一些。

gxzbme
驱动牛犊
驱动牛犊
  • 注册日期2001-08-09
  • 最后登录2006-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-08-31 00:21
谢谢你们的帮助!!!

这个问题我几经解决了。是用DriverStudio来解决的。
原来在DriverStudio中,一个驱动程序的service可以是一个对象,
这样通过对象指针可以访问另一驱动的任何成员变量,还可以通过软fifo类,结合事件,互相传递大量的数据。

这简直太方便了!太方便了!!!

编了一个月的驱动,简直就是进行了一次“长征”!
有时叫天不灵,入地无门,头撞铁板,眼冒金星,不知东南。
胡打乱闯,四处溜达,浪费不少时间,做了太多太多的无用功。
忽然有一天,以前看不懂的代码,不会用的程序、工具,安不
上的驱动,无可奈何的蓝屏。。。杜有了解决的办法。仔细想想
以前的无用功,也不是真的没有功劳。长征是播种机,长征是革
命的摇篮,长征是革命的熔炉......

这里向各位欲写驱动的难友进言:
1。先看基础知识,比如“wdm驱动程序编程指南”
2。看一些NT自带和书上带的例子,并使他们能编译并安装、执行。
   这就需要熟悉一些NT和ds提供的小工具,比如命令行的编译工
   具、设置工具,驱动的安装工具、调试工具。

3。研究代码,细节上搞清楚信息的控制关系,代码的执行次序,
   一些最基本的函数用法,irp结构及其在不同时期的数据特点,
   大的方面,搞清楚DRIVER,SERVICE,DEVICE之间的关系,pdo与
   fdo的关系;BUS DRIVER, FUNCTION DRIVER, CLASS DRIVER,
   FILTER DRIVER 的关系。

   了解了这些,学会了用这些知识,相当与学会了汇编语言。而
DRIVER STUDIO 相当于高级语言。由于有了前面的基础知识,你对
DRIVER STUDIO 中的结构和编程方法才会有叫深刻的理解和认识。
我开始就一点也看不懂它带的例子。怎么这么简练?编译好了,
也不会用。等把前面的知识基本搞清楚了,再看这些例子,方佛
以前学PASCAL和C++语言,由于先用汇编写过半年的程序,高级语言
中的每一句,都能大概知道是怎么由汇编完成的,因此学的非常
顺利,EASY。

    希望大家的长征时间能短一些。

游客

返回顶部