如何在运行时使用类型库获取调用约定,无论是使用stdcall、cdecl、winapi还是其他类型库?
如果涉及类型库,那么您使用的是COM。COM总是使用相同的调用约定(在给定的操作系统上),因此它不会被编码到类型库中。在标题中,它显示为 STDMETHOD (或者诸如此类的——我现在懒得去检查准确的拼写),但如果有记忆的话,它基本上等同于 __cdecl . 如果记忆有用的话,还有 _STDMETHOD (或者,同样是类似的)允许您指定除 HRESULT .
STDMETHOD
__cdecl
_STDMETHOD
HRESULT