某个函数返回 VARIANT 类型的数据,其中知道这个VARIANT类型返回的是二维数组每个元素是BSTR类型,
在VC中我如何调用该函数得到该数组,并且将该数组中每个元素列举出来
CStringArray * ConvertVariantToStringArray(const _variant_t &vtContent)
{
CStringArray *parrResults = NULL;
HRESULT hr;
long nRowsCount = 0;
long nColsCount = 0;
hr = ::SafeArrayGetUBound(vtContent.parray,1,&nColsCount);
if(hr)
{
nColsCount = 0;
}
hr = ::SafeArrayGetUBound(vtContent.parray,2,&nRowsCount);
if(hr)
{
nRowsCount = 0;
}
nRowsCount++;
nColsCount++;
parrResults = new CStringArray[nRowsCount];
long lIndexs[2];
for(int i=0;i<nRowsCount;i++)
{
for(int j=0;j<nColsCount;j++)
{
_variant_t vtTemp;
lIndexs[0] = j;
lIndexs[1] = i;
::SafeArrayGetElement(vtContent.parray, lIndexs, &vtTemp);
(*(parrResults + i)).Add(ConvertVariantToString(vtTemp));
}
}
return parrResults;
}