阅读:1093回复:7
Ring3 application怎样与过滤器驱动程序 filter wdm 通信???? |
|
沙发#
发布于:2002-04-26 17:20
怎么没人感兴趣?
过滤器驱动要生成一个没有名字的Device object,那么这个过滤器驱动程序怎样与应用程序通信?可以用deviceiocontrol吗?具体怎样实现? |
|
板凳#
发布于:2002-04-26 17:50
我也想知道。问的太好了,
|
|
地板#
发布于:2002-04-27 14:20
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2002-04-27 16:53
还有过滤器驱动程序怎样实现PnP?
在WdmAddDevice Routine里实现将Filter device object连接到Target device object? |
|
5楼#
发布于:2002-04-27 17:53
在过滤驱动程序里面,你可能要创建多个设备;你可以为每个设备都命名,IOCREATESYMBOLINK什么的这个函数...
其中一个用来和你自己的APP通信,其它的则用来FILTER 其他的设备数量自己定的,最简单的就是1个了; 用来FILTER的设备要ATTACH到FILTER下层的设备上去;而另一个不需要ATTACH到任何设备,但你不要把这2个设备的派遣函数都弄到一个默认的Dispatch里面,除非你自己能识别有IRP来的时候是哪个设备的IO;最好是分别指定派遣函数,这样旧知道是你FILTER的设备来的IO呢还是你的APP发来的IO了,这里有一个例子,这个驱动里FILTER了很多设备,W32API相关的是用来和应用程序通信的~~~~好好看看吧 对于过滤驱动实现PNP,我个人觉得,如果你要过滤的设备是PNP的,那么你把响应的IRP乡下传不久可以了吗?不知我理解对不对?? |
|
|
6楼#
发布于:2002-04-28 09:10
在过滤驱动程序里面,你可能要创建多个设备;你可以为每个设备都命名,IOCREATESYMBOLINK什么的这个函数... 哎呀,真是太高兴啦:) 不过,我还有几点疑问。通常我们在AddDevice routine中创建一个PDEVICE_OBJECT fdo,然后attach到这个函数传入的 IN PDEVICE_OBJECT pdo上,在filter driver中还要这么做吗?然后在创建Filter device object并attach到要过滤的TargetDevice 上吗?这里产生另一个问题:我怎样给这两个设备分别指定不同的Dispatch呢?如果不能指定不同的Dispatch,那么我怎样区分传入的IRP并分别加以处理呢?我可以在DriverEntry中创建Filter device object吗? 每个驱动程序是否只能用一个设备来代表它呢? |
|
7楼#
发布于:2002-04-28 09:47
一个驱动程序只能将一个设备attach到一个设备栈上吗?
|
|