首页
社区
课程
招聘
[讨论]DISPATCH_LEVEL 优先级下,驱动与RING3层 通信的方法
发表于: 2008-5-24 15:23 9281

[讨论]DISPATCH_LEVEL 优先级下,驱动与RING3层 通信的方法

2008-5-24 15:23
9281
DeviceIOControl 方法, 由RING3 层主动发起,驱动层收到后必须马上返回。

但我的要求却是,RING3层要等待RING0的一个对象,(调用KeWaitForSingleObject()等待)

由RING0主动发起的通信 ,有什么方法?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
DeviceIOControl 必须由RING3主动发起,
在RING3调用DeviceIOControl()函数,而这个调用必须得马上返回

我要的是:RING0的驱动主动向RING3应用层联系

有没有什么好方法?
2008-5-24 15:32
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
RING0层向 RING3的用户层窗口发送自定义消息如何?
2008-5-24 15:33
0
雪    币: 437
活跃值: (273)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
4
不熟悉驱动 想像出一个方法 : RING3 不断发 DeviceIOControl, RING0对象满足条件返回标志
2008-5-24 15:41
0
雪    币: 354
活跃值: (10)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
5
1. R3在while循环中用DeviceIOControl检测缓冲区
2. R3创建事件把句柄传入R0
3. R0创建命名事件,R3等待事件受信
...多着呢
2008-5-24 16:01
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
推荐信号量加共享内存
2008-5-24 16:04
0
雪    币: 581
活跃值: (149)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
7
参考regmon
2008-5-24 16:14
0
雪    币: 1946
活跃值: (248)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
8
内核事件123456
2008-5-24 17:31
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这样占用了太多资源,
其他同志的回答,暂时没弄明白   
各位同仁的发言 往往惜墨如金  整句就一个名词
能加上主语 谓语 吗?

推荐信号量加共享内存 听起来不错,能给些示范代码么?
2008-5-24 18:56
0
雪    币: 2134
活跃值: (14)
能力值: (RANK:170 )
在线值:
发帖
回帖
粉丝
10
应用层CreateEvent创建事件,把句柄传给内核,等待,内核适当的时机KeSetEvent通知应用层
2008-5-24 20:59
0
雪    币: 494
活跃值: (629)
能力值: ( LV9,RANK:1210 )
在线值:
发帖
回帖
粉丝
11
有个老套的办法,ring3用重叠方式调用DeviceIoControl,驱动标记IRP为Pending,需要的时候完成这个IRP,能搜到源码,只是不清楚能不能在DISPATCH_LEVEL这样干
2008-5-24 21:35
0
雪    币: 197
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
谢谢大家的回复,谢谢
2008-5-25 01:49
0
雪    币: 108
活跃值: (141)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
13
楼主应该是完成事件的时候是在DISPATCH_LEVEL吧?这样可以把IRP Pending,之后再完成。
Callers of IoCompleteRequest must be running at IRQL <= DISPATCH_LEVEL.
Windows本身也经常采用这种方法,可以去看看DDK示例里面的鼠标键盘驱动。
2008-5-26 09:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
借这楼问下 LPC是不是也可以进行R0->R3通信?
2008-5-29 21:26
0
游客
登录 | 注册 方可回帖
返回
//