【发布时间】:2012-08-20 20:10:50
【问题描述】:
背景
这可能非常基本,也可能完全不可能。作为 COM 新手,我不知道,鉴于我的 COM 词汇量有限,Google 让我失望了。
我有一个内部定义了许多数据结构的 ATL/MFC C++ COM 对象。 我还有一个引用此 COM 对象的 C# 项目。在 C# 中,我可以调用通过 C++ 端 .IDL 文件公开的方法并获得有效结果(终于!)。
问题
我想使用 .IDL 文件以某种方式将 100 个左右的 C++ 数据结构暴露给 C#(最好不要单独包装每个数据结构)。然后在 C# 中,我将简单地填充适当的结构并调用 COM 方法将数据结构传递到 C++。
基本上,我想在 C# 中重用已经定义的 C++ 结构。这可能吗?如果有,怎么做?
如果重要的话,我正在使用 Visual Studio 2010 和 .NET 4 Framework。
非常感谢。
【问题讨论】:
标签: c# visual-c++ com