invoke method

void invoke(
  1. int dispIdMember,
  2. Pointer<GUID> riid,
  3. int lcid,
  4. DISPATCH_FLAGS wFlags,
  5. Pointer<DISPPARAMS> pDispParams,
  6. Pointer<VARIANT>? pVarResult,
  7. Pointer<EXCEPINFO>? pExcepInfo,
  8. Pointer<Uint32>? puArgErr,
)

Provides access to properties and methods exposed by an object.

Throws a WindowsException on failure.

To learn more, see learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-idispatch-invoke.

Implementation

@pragma('vm:prefer-inline')
void invoke(
  int dispIdMember,
  Pointer<GUID> riid,
  int lcid,
  DISPATCH_FLAGS wFlags,
  Pointer<DISPPARAMS> pDispParams,
  Pointer<VARIANT>? pVarResult,
  Pointer<EXCEPINFO>? pExcepInfo,
  Pointer<Uint32>? puArgErr,
) {
  final hr$ = HRESULT(
    _InvokeFn(
      ptr,
      dispIdMember,
      riid,
      lcid,
      wFlags,
      pDispParams,
      pVarResult ?? nullptr,
      pExcepInfo ?? nullptr,
      puArgErr ?? nullptr,
    ),
  );
  if (hr$.isError) throw WindowsException(hr$);
}