C++ 安全对象数组

C++ 安全对象数组,c++,com,safearray,C++,Com,Safearray,我想把一个安全文件传递给C++ COM.< /P>中的函数。 我有一个已初始化的MetadataListenty类的对象 IMetadataListEntityPtr metadataListEntity = NULL; hr = CoCreateInstance( __uuidof(MetadataListEntity), NULL, CLSCTX_INPROC_SERVER, __uuidof(IMetadataListEntityPtr), (vo

我想把一个安全文件传递给C++ COM.< /P>中的函数。 我有一个已初始化的MetadataListenty类的对象

IMetadataListEntityPtr metadataListEntity = NULL;
hr = CoCreateInstance(
    __uuidof(MetadataListEntity),
    NULL, 
    CLSCTX_INPROC_SERVER,
    __uuidof(IMetadataListEntityPtr),
    (void**)&metadataListEntity);

metadataListEntity->PutBaseType(0);
metadataListEntity->PutDescription("");
metadataListEntity->PutId("78ba31f9-11ed-4669-9143-c4ac9f11b28b");
metadataListEntity->PutIsChecked(true);
metadataListEntity->PutItemCount(24);
metadataListEntity->PutTitle("AgeMaster");
我想创建MetadataListenty对象的数组,并将其传递给接受SafeArray的函数

我该怎么做

谢谢,
Gagan

您不了解的部分是什么?了解您计划调用的函数需要什么类型的safearray很重要。它可以是
IUnknown*
指针的安全数组(在这种情况下,您将
VT\u UNKNOWN
传递给
SafeArrayCreate
),或者
IDispatch*
指针(
VT\u DISPATCH
),或者
变量(
VT\u VARIANT
)的安全数组,每一个指针依次,将包装一个
IUnknown*
IDispatch*
。函数的文档应该告诉您该走哪条路。^否则,IDL。