cachedDescribedBy property

Pointer<COMObject> get cachedDescribedBy

Implementation

Pointer<COMObject> get cachedDescribedBy {
  final retValuePtr = calloc<COMObject>();

  final hr = (ptr.ref.vtable + 81)
      .cast<
        Pointer<
          NativeFunction<Int32 Function(Pointer, Pointer<COMObject> retVal)>
        >
      >()
      .value
      .asFunction<int Function(Pointer, Pointer<COMObject> retVal)>()(
    ptr.ref.lpVtbl,
    retValuePtr,
  );

  if (FAILED(hr)) {
    free(retValuePtr);
    throw WindowsException(hr);
  }

  return retValuePtr;
}