1#include "variant.hpp"
2
3#include <oleauto.h>
4
5FFWmiVariant::FFWmiVariant(std::initializer_list<PCWSTR> strings) : FFWmiVariant() {
6 SAFEARRAYBOUND bound = {
7 .cElements = (ULONG) strings.size(),
8 .lLbound = 0,
9 };
10 SAFEARRAY* psa = SafeArrayCreate(VT_BSTR, 1, &bound);
11
12 LONG i = 0;
13 for (PCWSTR str : strings) {
14 SafeArrayPutElement(psa, &i, bstr_t(str));
15 ++i;
16 }
17
18 this->vt = VT_ARRAY | VT_BSTR;
19 this->parray = psa;
20}