pVal->vt=VT_BSTR|VT_ARRAY;
SAFEARRAYBOUND pSab[1];//一维数组24588-8192=16396+12
pSab[0].lLbound=0;
pSab[0].cElements=10);
SAFEARRAY *pSa;
pSa=SafeArrayCreate(VT_BSTR,1,pSab);//创建一维数组
for(int i=0;i<10;i++)
{
  BSTR bstr=SysAllocString(L"hello world");
  SafeArrayPutElement(pSa,&i,&bstr);
}
pVal->pasrray=pSa//pSa是生成的一个安全数组
这样就行啦吧