c++ - 如何生成 64 位 COM 代理

标签 c++ com proxy atl atlcom

我有一个 32 位 COM 服务器(及其源代码) 源生成服务器和一个 32 位代理 stub 。 (MIDL 编译器生成代理 stub 代码。)

我也想制作一个 64 位代理,以便 64 位程序可以与我的 32 位 COM 服务器通信。

如何将 32 位代理转换为与 32 位进程通信的 64 位代理? 我猜只是用/D:_M_AMD64 重新编译是不够的。

最佳答案

MIDL 编译器生成的代理代码应该可以工作。您只需从该代码构建一个 64 位 dll。

确保您的类型定义正确。确保避免使用像 UINT_PTR 这样的类型,当 64 位调用者调用 32 位服务器时,它们将不起作用。

关于c++ - 如何生成 64 位 COM 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4830654/

相关文章:

javascript - switch case 语句中的分号

c# - 从非托管 C++ 调用 C# 传递或返回 "Complex"类型

gradle - 如何使用代理通过Gradle和Maven插件将工件上传到Maven Central

c# - 使用 C/C++ 学习 COM 会帮助我更好地理解 .NET 吗?

c# - 无法使用 Visual Studio 2010 生成的 DLL 创建类型库文件,但可以使用命令行编译

javascript - Ajax 脚本管理器命名空间

apache - 当 Icecast 在代理后面工作时,如何在 Icecast 统计信息中查看正确的客户端 IP

c++ - char * 和 string 的区别

c++ - 将 std::string 深度复制到 char* 的正确方法

c++ - 来自多个线程的 COM 调用