l 创建
long i = 0; VARIANT va = {0}; va.vt = VT_BSTR;
SAFEARRAYBOUND bounds[1] = {0}; bounds[0].cElements = 5; SAFEARRAY* psa = SafeArrayCreate(VT_VARIANT, 1, bounds); |
l 存入元素
for(i = 0; i < 5; i++) { va.bstrVal = SysAllocString(L"test"); SafeArrayPutElement(psa, &i, &va); } |
l 获取元素
for(i = 0; i < 5; i++) { va.bstrVal = SysAllocString(L"test"); SafeArrayGetElement(psa, &i, &va); SysFreeString(va.bstrVal); } |
l 销毁
SafeArrayDestroy(psa); |
l 生成VARIANT变量
VARIANT vsa = {0}; vsa.vt = VT_ARRAY | VT_BSTR; vsa.parray = psa; |