Implementation
List<String> get languages {
final retValuePtr = calloc<COMObject>();
final hr = ptr.ref.vtable
.elementAt(9)
.cast<
Pointer<
NativeFunction<
HRESULT Function(Pointer, Pointer<COMObject>)>>>()
.value
.asFunction<int Function(Pointer, Pointer<COMObject>)>()(
ptr.ref.lpVtbl, retValuePtr);
if (FAILED(hr)) {
free(retValuePtr);
throw WindowsException(hr);
}
final vectorView = IVectorView<String>.fromRawPointer(retValuePtr,
iterableIid: '{e2fcc7c1-3bfc-5a0b-b2b0-72e769d1cb7e}');
final list = vectorView.toList();
vectorView.release();
return list;
}