阅读:1532回复:3
NDIS(中间层驱动)中如何调用DLL库
请问大虾:NDIS(中间层驱动)中如何调用DLL库的函数??
谢谢!! |
|
沙发#
发布于:2003-03-05 15:00
请问大虾:NDIS(中间层驱动)中如何调用DLL库的函数?? 如果是Kernel Mode的Dll,调用的方法和普通Dll一样,有Lib更好,一起编译就行了,没有Lib就得实现内核模式下类似用户态GetProcAddr的函数查找,本站以前的帖子里常见过这个问题的讨论。 比如这个: http://www.driverdevelop.com/forum/viewthread.php?tid=19142#pid116685 如果是用户态的Dll,这个就比较麻烦了,一般的用户态函数可以通过某种门机制(CallGate)在内核态运行,但如果是设备驱动中使用,估计问题不小,抱歉我没有试过。请各位大哥指点吧。不过我想不会有什么很必要在内核调用用户态Dll的情况吧? |
|
|
板凳#
发布于:2003-03-05 15:09
callgate 是什么机制?
我自己写一个外部函数库如何调用呢?能否给个简单例子 如:int a(int b,int c) { int res; res = b+c; return res; } 这个DLL库函数如何在NDIS中引用???? [编辑 - 3/5/03 by bluetiger] |
|
地板#
发布于:2003-03-05 19:22
其实我也不是很明白,CallGate在UndocumentNT中有描述,基本是通过将函数的地址、参数等传入内核,让一个用户态的函数在内核态执行以获取内核态才拥有的权限。我没有研究过,只是记得以前看到过,应该是在UndocumentNT中吧,好像还有例子,本站对UndocumentNT的讨论也比较多,找找看吧。不过我估计对你应该没有太大用处。
|
|
|