版块
论坛
喜欢
话题
应用
搜索
登录
注册
Ares的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=692
关于DLL装载的问题
DLL可以被装载到内存中的任何地址空间,但是PELOADER是怎么对DLL中的变量进行重定位的呢?
回复
(
13
)
2003-02-09 22:02
来自版块 -
内核编程
◆
◆
表情
告诉我的粉丝
提 交
bx_bird
:
//我想根据irp的机制,应该这里给IoReportTargetDeviceChangeAsynchronous传递进去一个最底层的device_object参数(我的driver的device对象基于这个底层的对象) 又看了ddk,上面的意思的确是这样.但是底层对象PDO...
(2003-02-20 13:40)
回复
bx_bird
:
我想根据irp的机制,应该这里给IoReportTargetDeviceChangeAsynchronous传递进去一个最底层的device_object参数(我的driver的device对象基于这个底层的对象) 大家说是吗? 还有,sisisisisi兄,多谢...
(2003-02-19 23:04)
回复
bx_bird
:
我在driver里调用IoReportTargetDeviceChangeAsynchronous(),结果蓝屏.softice跟进去,发现是IoReportTargetDeviceChangeAsynchronous函数内部的第一个保护性判断,看我传进去的DEVICE_OBJE...
(2003-02-19 20:36)
回复
sisisisi
:
对。类似于deamon. 不需要用rundll32来做,写NT Service需要遵循MS的规范,其实很简单,MSDN里边有现成的例子来改改就好了。rundll32是用来执行DLL的一些function,可以用rundll32来运行的dll必须满足一些条件。 俺把MSDN...
(2003-02-16 06:01)
回复
bx_bird
:
谢谢,第一次接触service这个概念,是不是相当于linux里的deamon? 我现在写好了DLL,在注册表里用rundll32.exe启动它.可是rundll32.exe的参数不明白: rundll32.exe myDLL.dll,arguement(我瞎写的是run...
(2003-02-14 18:45)
回复
sisisisi
:
DLL只是动态连接库,用的时候会自然被load到内存里. DLL自己没有生命力,是使用进程的内存空间为进程服务而已. 听你的意思应该是想自动启动一个进程, 在NT/2000下一般都是写一个的Service,设置为自动模式就和 系统挂接起来了.驱动程序比Service更...
(2003-02-13 15:36)
回复
bx_bird
:
如何在系统启动的时候自动加载一个DLL? 在注册表run目录里调用rundll32.exe是可以的.但是觉得有些dirty,正规方法是什么?
(2003-02-13 14:35)
回复
attaya
:
通过dll的rebasing programming Applications for Microsoft Windows 里有详细介绍
(2003-02-12 21:28)
回复
lu0
:
见.reloc section的说明
(2003-02-12 11:50)
回复
bx_bird
:
PIC code 里的变量应该都是相对地址,通过GOT table定位.
(2003-02-11 10:18)
回复
1
2
下一页 »
Ares
加关注
写私信
0
关注
0
粉丝
171
帖子
返回顶部