【问题标题】:How can I use GetProcAddress() to load functions with unlimited function arguments?如何使用 GetProcAddress() 加载具有无限函数参数的函数?
【发布时间】:2015-02-10 15:17:22
【问题描述】:

我浏览过互联网,但没有找到答案。

之前我们使用 def 文件使用静态链接。 目前这种方法不适合,因为有些情况下 dll 无法访问。

所以现在我们需要动态加载具有无限函数参数的函数。

有没有通用的方法?只要往正确的方向推进或者一些相关的话题就可以了。

【问题讨论】:

    标签: arguments argument-passing loadlibrary getprocaddress


    【解决方案1】:

    GetProcAddress 不关心函数的参数数量。如果您使用 C++ 并且您的问题是名称修改,您可以使用 extern "C" 标记函数或将修改后的名称传递给 GetProcAddress

    【讨论】:

    • 是的,但是要调用函数我需要指定它的类型,不是吗?例如:typedef int (WINAPI *PFN_MyFunction)(char *); PFN_MyFunction pfnMyFunction; pfnMyFunction=(PFN_MyFunction)::GetProcAddress(hMyDll,”MyFunction”);
    • 是的,但您还需要知道要发送多少个参数。
    • 这就是我在这里的原因:)
    • 你怎么知道要发送什么参数?你会从哪里得到它们?
    猜你喜欢
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 2019-08-16
    • 2022-07-27
    • 2016-03-31
    • 1970-01-01
    相关资源
    最近更新 更多