status property

AsyncStatus get status

Implementation

AsyncStatus get status {
  final retValuePtr = calloc<Int32>();

  try {
    final hr = ptr.ref.vtable
        .elementAt(7)
        .cast<
            Pointer<
                NativeFunction<
                    HRESULT Function(
                        VTablePointer lpVtbl, Pointer<Int32> retValuePtr)>>>()
        .value
        .asFunction<
            int Function(VTablePointer lpVtbl,
                Pointer<Int32> retValuePtr)>()(ptr.ref.lpVtbl, retValuePtr);

    if (FAILED(hr)) throwWindowsException(hr);

    return AsyncStatus.from(retValuePtr.value);
  } finally {
    free(retValuePtr);
  }
}