阅读:1548回复:6
两个驱动程序如何连接(不是分层)(20分)
本人正在编写文件系统过滤驱动程序,同时要考虑pci卡驱动如何利用该过滤器截获的文件流,请问这两个驱动如何相互联系。
3x 请高手指教 [编辑 - 6/12/02 by jamin_hit] |
|
沙发#
发布于:2002-06-12 11:17
这个问题以前回答过,有两个方法:
1、用IoGetDeviceObjectPointer可得到DeviceObject,具体可参考NTDDK里串口鼠标的例子。 2、也可参考WalterOney随书源码的Generic库的实现方法,EXPORT要被其它Driver调用的函数,当然,在调用这些函数前,得确保该Driver已经装载成功了。 |
|
板凳#
发布于:2002-06-12 11:20
可以用内部IOCTL,即IRP_MJ_INTERNAL_DEVICE_CONTROL,这种IO模式只有内核模式客户能够用。它的解释权完全归于驱动程序。
还可以考虑用共享内存结合事件通知的方法。 |
|
|
地板#
发布于:2002-06-12 18:09
采用i/o状态快,好像与类驱动有关。,ddk中只介绍并口类驱动。
我想利用pci卡上的内存映射,在文件系统过滤驱动中利用中断的方式进行数据的传输,同你说的内存共享及事件通知的方法好像差不多。 |
|
地下室#
发布于:2002-06-12 23:50
其实有个非常简便的方法,就是将两个驱动程序看作核心态dll,这两个dll都可以输出函数供对方使用。声明方式同应用态的差不多。
但是具体我忘记了。好像我在以前的帖子上面说过。大家可以找找看。 |
|
|
5楼#
发布于:2002-06-12 23:59
我估计上面那位老兄是要做加密之类的东西吧。
如果是这样,这种核心态dll调用是可以的,因为我用过。 具体的声明我忘记了。要的话email:jxxy1234◎hotmail。com |
|
|
6楼#
发布于:2002-06-13 08:03
jxxy:
用dll,能否详细的说一下。 email:byming@21cn.com |
|