createOrCondition method

IUIAutomationCondition? createOrCondition(
  1. IUIAutomationCondition? condition1,
  2. IUIAutomationCondition? condition2
)

Creates a combination of two conditions where a match exists if either of the conditions is true.

Throws a WindowsException on failure.

To learn more, see learn.microsoft.com/windows/win32/api/uiautomationclient/nf-uiautomationclient-iuiautomation-createorcondition.

Implementation

IUIAutomationCondition? createOrCondition(
  IUIAutomationCondition? condition1,
  IUIAutomationCondition? condition2,
) {
  final newCondition = adaptiveCalloc<VTablePointer>();
  final hr$ = HRESULT(
    _CreateOrConditionFn(
      ptr,
      condition1?.ptr ?? nullptr,
      condition2?.ptr ?? nullptr,
      newCondition,
    ),
  );
  if (hr$.isError) {
    free(newCondition);
    throw WindowsException(hr$);
  }
  final result$ = newCondition.value;
  free(newCondition);
  if (result$.isNull) return null;
  return .new(result$);
}