Variant变量问题
现在我有一个SAFEARRAY数组A,里面有10个short型数,要把a放在VARIANT变量b里面,需要做什么工作请高手帮忙!
short a[10] ,*b ;
for(int i = 0; i < 10; i++)
{
a[i]=i+2;
}
HRESULT hr=SafeArrayAllocDescriptor(1,&pArray);
if(hr!=S_OK)
return;
pArray->cbElements=sizeof(a[0]);
pArray->rgsabound[0].cElements=10;
pArray->rgsabound[0].lLbound=0;
SafeArrayAllocData(pArray);
memcpy(pArray->pvData,a,sizeof(short)*10);
pArray->fFeatures=FADF_AUTO|FADF_FIXEDSIZE;
SafeArrayAccessData(pArray,(void**)&b);
varChunk.vt = VT_ARRAY ;
varChunk.parray = pArray;
SafeArrayUnaccessData(pArray);
SafeArrayDestroy(pArray);
这个是把SAFEARRAY数组放进VARIANT变量varChunk里面
请问有什么问题么,然后再吧数据拿出来该怎么班,请大家帮忙啊!
[解决办法]
本来就是指针变化,直接赋值应该可以的