Tag: iunknown

将IUnknowns的SAFEARRAY转换/转换为可迭代的接口指针数组

我在C#中有以下接口,其中一个具有相同名称的类(没有我)实现它。 [ComVisible(true)] [Guid(“B2B134CC-70A6-43CD-9E1E-B3A3D9992C3E”)] public interface IOrder { long GetQuantity(); long GetOrderType(); long GetPositionType(); } 公共类Order的实现:IOrder只有三个私有字段和一个带有3个参数的构造函数。 在其他地方,我有以下方法,结果我想在C ++非托管代码中工作,通过COM和.tlb / .tlh文件传输。 public ScOrder[] GetOrders() { //constant return value for simplicity return new Order[] { new Order(1, 2, 3), new Order(4, 5, 6) }; } 我已经设法使用C#托管代码在C ++非托管代码之间进行基础工作。 但是类arrays被certificate是一个不同的挑战…… 我承认,对我来说,COM是新的,残酷的混淆和C ++很久以前被遗忘……但是我正在开发这两个库,所以我不放弃; 我希望C ++ DLL作为一些程序和我的C#代码之间的代理。 澄清:我既不使用MFC也不使用ATL。 我在C ++代码中使用#import来获取C#生成的接口和类指针以及其他我还不太了解的COM内容。 经过一个小时的研究,我只是去这里寻求帮助>。< 以下是我想要实现的C […]