首页
社区
课程
招聘
[讨论]如何在过滤驱动中建立多个设备?RING3如何与其通信?
发表于: 2008-5-25 10:19 6024

[讨论]如何在过滤驱动中建立多个设备?RING3如何与其通信?

2008-5-25 10:19
6024
RING3程序需要与过滤驱动通信,如何实现?
我的想法是,在驱动中建立多个设备对象,比如,建立2个设备
一个设备为ATTACH DEVICE,就是过滤驱动的设备对象,另一个设备对象专门负责与我的RING3层程序通信。
问题来了,多设备驱动的Dispatch函数(分派函数)是如何实现的呢?有没有现成的代码示例?
过滤驱动是比较特殊的设备对象,在实现中需要注意什么呢?
恳请各位看官不要吝惜笔墨,帮帮我吧,能给点代码最好了谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我自己想了一个垃圾办法,
这2个设备对象,拥有同样类型的设备扩展,这个设备扩展中有一个标志量,
分配例程(Dispatch函数)根据传递进的设备对象,获取设备扩展,再根据设备扩展中的标志量
得知调用者 是过滤驱动对象,还是我们用来与RING3通信的设备对象。从而进行不同的处理。
垃圾办法,没实践过

问题解决,这个办法极端垃圾
2008-5-25 10:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呃,你弄几个全局变量记录一下你创建的deviceobject不行么?然后再分发函数的时候判断,如果是attach底层的处理后下发,如果是自己用的处理后完成不可以么?
2008-5-26 10:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
attach device 应该需要记录attach到的下层device 判断这里应该就可以了
2008-5-29 21:09
0
雪    币: 214
活跃值: (46)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
用不同类型的DeviceType
2008-5-31 18:57
0
雪    币: 236
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
同一个驱动创建的多个设备对象,他们的设备扩展一样吗?我试验的怎么不一样啊,就是设备扩展中我设置了一个字符串,在一个设备的分发例程中访问他初始化,另外的设备好像这个变量就还是空的
2008-10-20 19:56
0
雪    币: 214
活跃值: (46)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
设备扩展不一样,不过你可以自行修改DeviceObject->DeviceExtension域使他们一样

或者使用DriverExtension共享数据
2008-10-20 20:58
0
雪    币: 207
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
大家都在研究驱动了...
2008-10-20 22:34
0
游客
登录 | 注册 方可回帖
返回
//