designCapacityInMilliwattHours property

int? designCapacityInMilliwattHours

Implementation

int? get designCapacityInMilliwattHours {
  final retValuePtr = calloc<COMObject>();

  final hr = ptr.ref.vtable
          .elementAt(7)
          .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);
  }

  if (retValuePtr.ref.lpVtbl == nullptr) {
    free(retValuePtr);
    return null;
  }

  final reference = IReference<int>.fromRawPointer(retValuePtr,
      referenceIid: '{548cefbd-bc8a-5fa0-8df2-957440fc8bf4}');
  final value = reference.value;
  reference.release();

  return value;
}