我有一个来自第三方的COM接口,它有一个功能
STDMETHOD(GetProperties)(THIS_ /*[in]*/IUnknown* pObject, /*[out, retval]*/VARIANT *pPropertyArray)
第二个参数是IUnknowns的SAFEARRAY。
我想在C#中使用此接口,并尝试按如下方式对其进行编组。
[Guid("61D0A8E3-C792-4956-8E96-594315B95902")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
[ComVisible(true)]
public interface IPropertySource
{
void GetProperties([In, MarshalAs(UnmanagedType.IUnknown)]Object objectSource,
[In, Out, MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_UNKNOWN)] object[] properties);
};
但是第二个参数没有正确编组。
有人可以帮我正确的编组吗?
此致 拉姆