背景
这可能非常基本,也可能完全不可能。作为 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。
谢谢一堆。