Esme Povirk (@madewokherd) commented about dlls/uiautomationcore/tests/uiautomation.c:
+static HRESULT WINAPI ProviderWinEventHandler_RespondToWinEvent(IProxyProviderWinEventHandler *iface,
DWORD event_id, HWND hwnd, LONG obj_id, LONG child_id, IProxyProviderWinEventSink *event_sink)
+{
- struct Provider *This = impl_from_ProviderWinEventHandler(iface);
- HRESULT hr;
- add_method_call(This, WINEVENT_HANDLER_RESPOND_TO_WINEVENT);
- if (This->expected_tid)
ok(This->expected_tid == GetCurrentThreadId(), "Unexpected tid %ld\n", GetCurrentThreadId());
- This->last_call_tid = GetCurrentThreadId();
- PROV_METHOD_TRACE(This, RespondToWinEvent);
- ok(This->win_event_handler_data.exp_win_event_id == event_id, "Unexpected win_event id %ld\n", event_id);
- ok(This->win_event_handler_data.exp_win_event_hwnd == hwnd, "Unexpected win_event hwnd %p\n", hwnd);
- ok(This->win_event_handler_data.exp_win_event_obj_id == obj_id, "Unexpected win_event obj_id %ld\n", obj_id);
- ok(This->win_event_handler_data.exp_win_event_child_id == child_id, "Unexpected win_event child_id %ld\n", child_id);
How likely are real events to come in and interfere with this?