如何从类型库中获取函数的调用约定?

发布于 2024-09-05 03:36:21 字数 59 浏览 11 评论 0原文

如何使用类型库在运行时获取调用约定,无论是使用 stdcall、cdecl、winapi 还是任何其他?

How can I get the calling convention at runtime using type library whether using stdcall, cdecl, winapi or any other?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰雪之触 2024-09-12 03:36:21

如果涉及类型库,则您正在使用 COM。 COM 始终使用相同的调用约定(在给定的操作系统上),因此它不会被编码到类型库中。在标题中,它显示为 STDMETHOD (或类似的东西 - 我现在懒得检查确切的拼写),但如果没记错的话,它基本上相当于 __cdecl< /代码>。如果没记错的话,还有一个 _STDMETHOD(或者类似的东西)可以让您指定除 HRESULT 之外的返回类型。

If a typelibrary is involved, you're using COM. COM always uses the same calling convention (on a given OS), so it isn't encoded into the type library. In the headers it shows up as STDMETHOD (or something like that -- I'm too lazy to check the exact spelling at the moment), but if memory serves it's basically equivalent to __cdecl. If memory serves, there's also an _STDMETHOD (or, again, something similar) that lets you specify a return type other than HRESULT.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文