我需要在 C++ 中实现一个类,该类可以从非托管 C++ 调用 C# 函数并返回一个值。我已经使用 MIDL/RPC 绑定(bind)命名管道完成了从 C++ 到 C++ 的这项工作,效果很好,但现在我的服务器应用程序正在迁移到 C#,但客户端必须保持非托管 C++(它是一个资源管理器扩展)。
我看过各种方法,很多人建议使用 COM,据我了解,COM 与其说是用于 IPC/RPC,不如说是用于在客户端应用程序中托管服务对象。 COM 是否可以实现这一点?如果可以,谁能给我指出一个好的引用或示例的方向?
编辑:
需要说明的是,我不能使用托管代码,因为客户端 (DLL) 已加载到 Explorer 的进程空间中。
我想要实现的是,当用户右键单击文件时,扩展程序将向正在运行的服务( session 0)询问有关该文件的一些详细信息。这以前是通过 C++ <-> C++ 客户端/服务器中的 RPC 完成的。现在服务器已升级到 C#,但我不确定我的选择是什么。 COM 是一个选项吗?
谢谢, J
最佳答案
关于c# - 使用 COM for RPC 从 C++ 到 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7821221/