我将尝试更好地解释我想要执行的操作。 我读了一个带有函数签名的文件,我想创建一个指向每个函数的指针。指向任意函数的“通用函数签名”指针
例如,看起来像这样的文件:
something.dll;int f(char* x, int y, SOMESTRUCT z)
something.dll;void g(void)
something.dll;SOMESTRUCT l(longlong w)
现在,运行时我希望能够(通过something.dll加载和使用GetProcAddress的这些功能)来创建指向这些功能中。
现在,GetProcAddress返回指向任意函数的FARPROC,但是如何在运行时使用FARPROC来调用这些函数? 从我所知道的,我需要将FARPROC转换为正确的签名,但是我不能在运行时(或者至少我不知道如何)执行它。
有没有人有任何想法如何设计做到这一点?
谢谢! :-)
你试图以错误的方式解决问题。也许描述你想要解决什么问题。 – ybungalobill 2011-03-25 19:35:18
如果您不知道要投射到哪个函数指针类型,则'FARPROC'句柄是无用的;就像'void *'指针是无用的,如果你不知道要投射到什么数据指针类型。 – aschepler 2011-03-25 19:37:26