在C++中,要创建一个指向VARIANTs的SAFEARRAY指针,可以按照以下步骤进行:
#include<windows.h>
#include <oleauto.h>
SAFEARRAY* pSafeArray = SafeArrayCreateVector(VT_VARIANT, 0, 3);
这里的VT_VARIANT
表示SAFEARRAY中的元素类型为VARIANT,0
表示起始索引,3
表示数组中的元素个数。
for (long i = 0; i < 3; i++) {
VARIANT variant;
VariantInit(&variant);
V_VT(&variant) = VT_I4;
V_I4(&variant) = i * 2;
SafeArrayPutElement(pSafeArray, &i, &variant);
VariantClear(&variant);
}
这里将SAFEARRAY中的每个元素设置为一个整数类型的VARIANT,值分别为0、2、4。
SafeArrayDestroy(pSafeArray);
完整的代码示例如下:
#include<windows.h>
#include <oleauto.h>
int main() {
SAFEARRAY* pSafeArray = SafeArrayCreateVector(VT_VARIANT, 0, 3);
for (long i = 0; i < 3; i++) {
VARIANT variant;
VariantInit(&variant);
V_VT(&variant) = VT_I4;
V_I4(&variant) = i * 2;
SafeArrayPutElement(pSafeArray, &i, &variant);
VariantClear(&variant);
}
SafeArrayDestroy(pSafeArray);
return 0;
}
这样就可以创建一个指向VARIANTs的SAFEARRAY指针,并设置其值。
领取专属 10元无门槛券
手把手带您无忧上云