从 GetProcAddress() 返回的“地址”是什么?

What is the "address" being returned from GetProcAddress()?

提问人:itzjackyscode 提问时间:7/9/2021 最后编辑:itzjackyscode 更新时间:7/9/2021 访问量:109

问:

我有点困惑. 引用 Win32 文档:GetProcAddress()

如果函数成功,则返回值为导出的函数或变量的地址。

我知道对于函数,返回一个调用所需函数的函数指针。但是,目前尚不清楚在类似的情况下返回的内容:GetProcAddress()GetProcAddress()

DLL 代码

typedef struct {
  uint64_t foo;
  double bar;
  char* baz;
} MyStruct;

__declspec(dllexport) MyStruct* my_struct_ptr;

__declspec(dllexport) long long special_global;

应用程序代码

void* my_struct_ptr = GetProcAddress(my_dll_handle, "my_struct_ptr");
void* special_global = GetProcAddress(my_dll_handle, "special_global");

在申请中会指向什么?my_struct_ptrspecial_global

编辑:是否指向DLL或DLL指向的结构?my_struct_ptrmy_struct_ptrmy_struct_ptr

WinAPI DLL GetProcAddress

评论

1赞 RbMm 7/9/2021
In case variable exported - 此变量的地址。变量的类型不起任何作用
3赞 RbMm 7/9/2021
my_struct_ptr指向 DLL 的&my_struct_ptr

答: 暂无答案