能力值:
( LV2,RANK:10 )
2 楼
DeviceIOControl 必须由RING3主动发起,
在RING3调用DeviceIOControl()函数,而这个调用必须得马上返回
我要的是:RING0的驱动主动向RING3应用层联系
有没有什么好方法?
能力值:
( LV2,RANK:10 )
3 楼
RING0层向 RING3的用户层窗口发送自定义消息如何?
能力值:
( LV12,RANK:240 )
4 楼
不熟悉驱动 想像出一个方法 : RING3 不断发 DeviceIOControl, RING0对象满足条件返回标志
能力值:
( LV8,RANK:120 )
5 楼
1. R3在while循环中用DeviceIOControl检测缓冲区
2. R3创建事件把句柄传入R0
3. R0创建命名事件,R3等待事件受信
...多着呢
能力值:
( LV4,RANK:50 )
6 楼
推荐信号量加共享内存
能力值:
( LV12,RANK:600 )
7 楼
参考regmon
能力值:
(RANK:330 )
8 楼
内核事件123456
能力值:
( LV2,RANK:10 )
9 楼
这样占用了太多资源,
其他同志的回答,暂时没弄明白
各位同仁的发言 往往惜墨如金 整句就一个名词
能加上主语 谓语 吗?
推荐信号量加共享内存 听起来不错,能给些示范代码么?
能力值:
(RANK:170 )
10 楼
应用层CreateEvent创建事件,把句柄传给内核,等待,内核适当的时机KeSetEvent通知应用层
能力值:
( LV9,RANK:1210 )
11 楼
有个老套的办法,ring3用重叠方式调用DeviceIoControl,驱动标记IRP为Pending,需要的时候完成这个IRP,能搜到源码,只是不清楚能不能在DISPATCH_LEVEL这样干
能力值:
( LV2,RANK:10 )
12 楼
谢谢大家的回复,谢谢
能力值:
( LV9,RANK:490 )
13 楼
楼主应该是完成事件的时候是在DISPATCH_LEVEL吧?这样可以把IRP Pending,之后再完成。
Callers of IoCompleteRequest must be running at IRQL <= DISPATCH_LEVEL.
Windows本身也经常采用这种方法,可以去看看DDK示例里面的鼠标键盘驱动。
能力值:
( LV2,RANK:10 )
14 楼
借这楼问下 LPC是不是也可以进行R0->R3通信?