【发布时间】:2016-01-04 21:18:19
【问题描述】:
我在 C# 中定义一个接口,该接口将在 C# 中实现,但从非托管 C++ 模块作为 COM 对象调用。
我知道我想要/需要 C++ API 的外观以及如何通过 ODL 定义它:
//args is an array of BSTR e.g VT_ARRAY|VT_BSTR
HRESULT DoMethod(/*[in]*/BSTR name, /*[in]*/VARIANT args);
关于VARIANT,我不确定如何在 C# 中进行设置以使 TLB 定义与此匹配。
会不会像下面这样简单?
void DoMethod(string name, string args[])
我一直在查看 COM/.NET 互操作文档,但要么我错过了这部分,要么就是不明白所描述的内容!
顺便说一句,我如何查看为给定 C# 接口发出的 COM 定义? DLL/TLB 是否易于检查?
【问题讨论】:
标签: c# c++ com com-interop