GetProcAddress函数返回指定的导出动态链接库(DLL)函数的地址。
FARPROC GetProcAddress
HMODULE 【HMODULE】, | //处理DLL模块 |
LPCSTR 【lpProcName】 | //函数名称 |
); |
参数
【HMODULE】
标识包含该函数的DLL模块。LoadLibrary或GetModuleHandle函数返回此句柄。
【lpProcName】
指向包含函数名的空值终止的字符串,或指定函数的序数值。如果该参数是序数值,则它必须在低位字中;高阶字必须为零。
返回值
如果函数成功,则返回值是DLL导出函数的地址。
如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.
备注
GetProcAddress函数用于检索DLL中导出函数的地址。
【lpProcName】指向的功能名称的拼写和大小写必须与源DLL的模块定义(.DEF)文件的EXPORTS语句中的拼写和大小写相同。
【lpProcName】参数可以通过指定与EXPORTS语句中的函数相关联的序数值来标识DLL函数。GetProcAddress通过在.DEF文件中导出的最高序数值来验证指定的序数是否在1范围内。该函数然后使用序数作为索引从函数表读取函数的地址。如果.DEF文件没有从1到【N】(其中【N】是导出的函数的数量)连续地对函数进行编号,那么GetProcAddress返回一个无效的非空地址即使在那里也会发生错误与指定的序数无关。
在函数可能不存在的情况下,函数应以名称而不是按序值指定。
也可以看看