MsgWaitForMultipleObjectsEx function user32

Win32Result<WAIT_EVENT> MsgWaitForMultipleObjectsEx(
  1. int nCount,
  2. Pointer<Pointer<NativeType>>? pHandles,
  3. int dwMilliseconds,
  4. QUEUE_STATUS_FLAGS dwWakeMask,
  5. MSG_WAIT_FOR_MULTIPLE_OBJECTS_EX_FLAGS dwFlags,
)

Waits until one or all of the specified objects are in the signaled state, an I/O completion routine or asynchronous procedure call (APC) is queued to the thread, or the time-out interval elapses.

The array of objects can include input event objects.

To learn more, see learn.microsoft.com/windows/win32/api/winuser/nf-winuser-msgwaitformultipleobjectsex.

Implementation

Win32Result<WAIT_EVENT> MsgWaitForMultipleObjectsEx(
  int nCount,
  Pointer<Pointer>? pHandles,
  int dwMilliseconds,
  QUEUE_STATUS_FLAGS dwWakeMask,
  MSG_WAIT_FOR_MULTIPLE_OBJECTS_EX_FLAGS dwFlags,
) {
  final result_ = MsgWaitForMultipleObjectsEx_Wrapper(
    nCount,
    pHandles ?? nullptr,
    dwMilliseconds,
    dwWakeMask,
    dwFlags,
  );
  return .new(value: .new(result_.value.u32), error: result_.error);
}