exdata
驱动牛犊
驱动牛犊
  • 注册日期2002-11-11
  • 最后登录2007-07-16
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1063回复:1

这个(可能是一群)大虾写的WDM驱动汇编代码如何编程实现??

楼主#
更多 发布于:2003-12-16 20:43
在DDK文档中有以下说明:
_PELDR_GetProcAddress
#include vxdldr.h

PVOID CDECL PELDR_GetProcAddress(HPEMODULE hModule,
    PVOID FuncName, PHLIST phList);

但这好像是给VXD用的函数吧?如何在DS环境中写WDM驱动如何能够实现下面的代码呢,大伙研究研究。。。

这是从一个(可能是一群)大虾写的WDM驱动剪下来的汇编代码:
.........
。。。push    0
.text:0041159B push    eax
.text:0041159C push    ecx
.text:0041159D call    _PELDR_GetProcAddress   ;;注意这
....
....
_PELDR_GetProcAddress:
.text:004164C0 push    ebp
.text:004164C1 mov     ebp, esp
.text:004164C3 push    ecx
.text:004164C4 push    [ebp+arg_8]
.text:004164C7 push    [ebp+arg_4]
.text:004164CA push    [ebp+arg_0]
.text:004164CD VxDCall _PELDR_GetProcAddress ;;注意这里
.text:004164D3 mov     [ebp+var_4], eax
.text:004164D6 add     esp, 0Ch
.text:004164D9 mov     eax, [ebp+var_4]
.text:004164DC mov     esp, ebp
.text:004164DE pop     ebp
.text:004164DF retn

BTW,DS的DriverWork提供KVxdCall类,但似乎。。。???不知能否实现。
exdata
驱动牛犊
驱动牛犊
  • 注册日期2002-11-11
  • 最后登录2007-07-16
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-16 21:04
实际运行VxDCall _PELDR_GetProcAddress是进入 INT 20!!!
游客

返回顶部