Format method

String Format(
  1. Pointer<COMObject> number
)

Implementation

String Format(Pointer<COMObject> number) {
  final retValuePtr = calloc<HSTRING>();

  try {
    final hr = _thisPtr.ref.vtable
            .elementAt(6)
            .cast<
                Pointer<
                    NativeFunction<
                        HRESULT Function(Pointer, Pointer<COMObject> number,
                            Pointer<IntPtr>)>>>()
            .value
            .asFunction<
                int Function(
                    Pointer, Pointer<COMObject> number, Pointer<IntPtr>)>()(
        _thisPtr.ref.lpVtbl,
        number.cast<Pointer<COMObject>>().value,
        retValuePtr);

    if (FAILED(hr)) throw WindowsException(hr);

    final retValue = retValuePtr.toDartString();
    return retValue;
  } finally {
    WindowsDeleteString(retValuePtr.value);
    free(retValuePtr);
  }
}