SafeArrayAllocDescriptor function oleaut32

Pointer<SAFEARRAY> SafeArrayAllocDescriptor(
  1. int cDims
)

Allocates memory for a safe array descriptor.

Throws a WindowsException on failure.

To learn more, see learn.microsoft.com/windows/win32/api/oleauto/nf-oleauto-safearrayallocdescriptor.

Implementation

Pointer<SAFEARRAY> SafeArrayAllocDescriptor(int cDims) {
  final ppsaOut = adaptiveCalloc<Pointer<SAFEARRAY>>();
  final hr$ = HRESULT(_SafeArrayAllocDescriptor(cDims, ppsaOut));
  if (hr$.isError) {
    free(ppsaOut);
    throw WindowsException(hr$);
  }
  final result$ = ppsaOut.value;
  free(ppsaOut);
  return result$;
}