com组件传递数组给容器
VARIANT data;
SAFEARRAY* sa;
sa=::SafeArrayCreateVector(VT_VARIANT,0,nDataLen);
for (int i=0;i<nDataLen;i++)
{
if(::SafeArrayPutElement(sa,(LONG *)&i,(void*)&CComVariant(pData[i]))!=S_OK)
{
return FALSE;
}
}
::VariantClear(&data);
::VariantInit(&data);
data.vt=VT_ARRAY|VT_VARIANT;
::SafeArrayCopy(sa,&(data.parray));
::SafeArrayDestroy(sa);