54 IUIAutomationOrCondition_AddRef(iface);
110 IUIAutomationCondition ***out_children,
int *out_children_count)
113 IUIAutomationCondition **children;
116 TRACE(
"%p, %p, %p\n", iface, out_children, out_children_count);
121 *out_children =
NULL;
123 if (!out_children_count)
135 *out_children = children;
143 FIXME(
"%p, %p: stub\n", iface, out_children);
190 for (
i = 0;
i < in_cond_count;
i++)
202 IUIAutomationCondition_AddRef(in_conds[
i]);
234 IUIAutomationNotCondition_AddRef(iface);
307 IUIAutomationCondition_AddRef(in_cond);
337 IUIAutomationPropertyCondition_AddRef(iface);
370 TRACE(
"%p, %p\n", iface, prop_id);
431 switch (prop_info->
type)
433 case UIAutomationType_Bool:
438 case UIAutomationType_IntArray:
444 FIXME(
"Property condition evaluation for property type %#x unimplemented\n", prop_info->
type);
487 IUIAutomationBoolCondition_AddRef(iface);
516 TRACE(
"%p, %p\n", iface, ret_val);
597 IUIAutomationCondition *prop_cond, *not_cond;
604 *out_condition =
NULL;
616 IUIAutomationCondition_Release(prop_cond);
620 *out_condition = not_cond;
653 IUIAutomationCacheRequest_AddRef(iface);
722 FIXME(
"%p, %p: stub\n", iface, out_req);
730 TRACE(
"%p, %p\n", iface, scope);
744 TRACE(
"%p, %#x\n", iface, scope);
751 FIXME(
"Unimplemented TreeScope %#x\n", scope);
761 IUIAutomationCondition **
filter)
794 IUIAutomationCondition_AddRef(
filter);
826 FIXME(
"AutomationElementMode_None unsupported\n");
859 *out_cache_req =
NULL;
888 *cache_req_struct =
NULL;
896 *cache_req_struct = &cache_req_data->
cache_req;
917 0, 0, { (
DWORD_PTR)(__FILE__
": com_event_handlers_cs") }
989 if (!
event->desktop_subtree_event)
998 WARN(
"Failed to create new node lres with hr %#lx\n",
hr);
1004 hr = IWineUiaEvent_raise_event(&
event->IWineUiaEvent_iface,
v,
v2);
1007 WARN(
"raise_event failed with hr %#lx\n",
hr);
1023 WARN(
"uia_event_advise_node failed with hr %#lx\n",
hr);
1029 WARN(
"Failed to add hwnd for focus winevent, hr %#lx\n",
hr);
1054 HUIANODE focus_node =
NULL;
1060 (
void *)focus_node,
TRUE);
1062 WARN(
"uia_event_for_each on focus_node failed with hr %#lx\n",
hr);
1076 WARN(
"uia_event_for_each failed with hr %#lx\n",
hr);
1088 if (!
event->desktop_subtree_event)
1096 IRawElementProviderFragmentRoot *elroot;
1097 IRawElementProviderFragment *elfrag;
1098 IRawElementProviderSimple *elprov;
1105 WARN(
"create_msaa_provider_from_hwnd failed with hr %#lx\n",
hr);
1109 hr = IRawElementProviderSimple_QueryInterface(elprov, &IID_IRawElementProviderFragmentRoot, (
void **)&elroot);
1113 hr = IRawElementProviderFragmentRoot_GetFocus(elroot, &elfrag);
1114 IRawElementProviderFragmentRoot_Release(elroot);
1120 IRawElementProviderSimple *elprov2;
1122 hr = IRawElementProviderFragment_QueryInterface(elfrag, &IID_IRawElementProviderSimple, (
void **)&elprov2);
1123 IRawElementProviderFragment_Release(elfrag);
1127 IRawElementProviderSimple_Release(elprov);
1132 hr = IRawElementProviderSimple_GetPropertyValue(elprov, UIA_HasKeyboardFocusPropertyId, &
v);
1145 WARN(
"uia_event_for_each failed with hr %#lx\n",
hr);
1151 IRawElementProviderSimple_Release(elprov);
1158 TRACE(
"%ld, %p, %ld, %ld, %ld, %ld\n", event_id,
hwnd, obj_id, child_id,
thread_id, event_time);
1169 case EVENT_OBJECT_SHOW:
1207 WARN(
"uia_event_check_node_within_scope failed with hr %#lx\n",
hr);
1212 WARN(
"uia_event_advise_node failed with hr %#lx\n",
hr);
1223 case EVENT_OBJECT_FOCUS:
1225 static const int uia_event_id = UIA_AutomationFocusChangedEventId;
1253 case EVENT_OBJECT_DESTROY:
1255 static const int uia_event_id = UIA_AutomationFocusChangedEventId;
1301 if (!(event_id_map =
calloc(1,
sizeof(*event_id_map))))
1335 if (!(event_map =
calloc(1,
sizeof(*event_map))))
1365 event->handler_map = event_map;
1367 if (event_id == UIA_AutomationFocusChangedEventId)
1393 if (
event->git_cookie)
1416 IUnknown_Release(
entry->handler_iface);
1440 IUIAutomationElement *
elem;
1455 switch (
event->event_id)
1457 case UIA_AutomationFocusChangedEventId:
1459 IUIAutomationFocusChangedEventHandler *
handler;
1464 hr = IUIAutomationFocusChangedEventHandler_HandleFocusChangedEvent(
handler,
elem);
1465 IUIAutomationFocusChangedEventHandler_Release(
handler);
1472 IUIAutomationEventHandler *
handler;
1477 hr = IUIAutomationEventHandler_HandleAutomationEvent(
handler,
elem,
event->event_id);
1478 IUIAutomationEventHandler_Release(
handler);
1483 IUIAutomationElement_Release(
elem);
1511 IUIAutomationElementArray_AddRef(iface);
1529 TRACE(
"%p, refcount %ld\n", element_arr,
ref);
1539 IUIAutomationElement_Release(element_arr->
elements[
i]);
1553 TRACE(
"%p, %p\n", iface, out_length);
1564 IUIAutomationElement **out_elem)
1568 TRACE(
"%p, %p\n", iface, out_elem);
1577 IUIAutomationElement_AddRef(element_arr->
elements[
idx]);
1599 element_arr->
ref = 1;
1652 IUIAutomationElement9_AddRef(iface);
1673 if (
element->cached_props_count)
1677 for (
i = 0;
i <
element->cached_props_count;
i++)
1681 IUnknown_Release(
element->marshal);
1692 FIXME(
"%p: stub\n", iface);
1698 FIXME(
"%p: stub\n", iface);
1703 IUIAutomationCondition *
condition, IUIAutomationElement **found)
1705 IUIAutomationCacheRequest *cache_req;
1718 hr = IUIAutomationElement9_FindFirstBuildCache(iface, scope,
condition, cache_req, found);
1719 IUIAutomationCacheRequest_Release(cache_req);
1725 IUIAutomationCondition *
condition, IUIAutomationElementArray **found)
1727 IUIAutomationCacheRequest *cache_req;
1740 hr = IUIAutomationElement9_FindAllBuildCache(iface, scope,
condition, cache_req, found);
1741 IUIAutomationCacheRequest_Release(cache_req);
1758 params->FindFirst = find_first;
1775 IUIAutomationCondition *
condition, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **found)
1778 LONG lbound_offsets, lbound_tree_structs, elems_count, offset_idx;
1782 IUIAutomationElement *
elem;
1783 BSTR tree_struct_str;
1786 TRACE(
"%p, %#x, %p, %p, %p\n", iface, scope,
condition, cache_req, found);
1834 IUIAutomationCondition *
condition, IUIAutomationCacheRequest *cache_req, IUIAutomationElementArray **found)
1837 LONG lbound_offsets, lbound_tree_structs, elems_count;
1842 IUIAutomationElementArray *
array;
1846 TRACE(
"%p, %#x, %p, %p, %p\n", iface, scope,
condition, cache_req, found);
1878 for (
i = 0;
i < elems_count;
i++)
1880 BSTR tree_struct_str;
1883 idx = lbound_offsets +
i;
1888 idx = lbound_tree_structs +
i;
1894 cache_req_struct, offset_idx,
sa, tree_struct_str);
1903 IUIAutomationElementArray_Release(
array);
1913 IUIAutomationElement **updated_elem)
1917 IUIAutomationElement *cache_elem;
1922 TRACE(
"%p, %p, %p\n", iface, cache_req, updated_elem);
1927 *updated_elem =
NULL;
1938 *updated_elem = cache_elem;
1947 FIXME(
"%p: stub\n", iface);
1961 if (prop_type & UIAutomationType_Array)
1964 IUIAutomationElementArray *elem_arr;
1982 for (
i = 0;
i < elems;
i++)
2004 IUIAutomationElementArray_Release(elem_arr);
2008 IUIAutomationElement *out_elem;
2035 TRACE(
"%p, %d, %d, %p\n", iface, prop_id, ignore_default, ret_val);
2044 if (!ignore_default)
2045 FIXME(
"Default values currently unimplemented\n");
2051 if ((prop_info->
type == UIAutomationType_Element) || (prop_info->
type == UIAutomationType_ElementArray))
2060 FIXME(
"%p: stub\n", iface);
2078 TRACE(
"%p, %d, %d, %p\n", iface,
prop_id, ignore_default, ret_val);
2087 if (!ignore_default)
2088 FIXME(
"Default values currently unimplemented\n");
2101 FIXME(
"%p: stub\n", iface);
2108 FIXME(
"%p: stub\n", iface);
2115 FIXME(
"%p: stub\n", iface);
2122 FIXME(
"%p: stub\n", iface);
2128 FIXME(
"%p: stub\n", iface);
2133 IUIAutomationElementArray **children)
2135 FIXME(
"%p: stub\n", iface);
2141 FIXME(
"%p: stub\n", iface);
2149 *ret_val = UIA_CustomControlTypeId;
2154 *ret_val =
info->control_type_id;
2156 WARN(
"Provider returned invalid control type ID %ld\n",
V_I4(
v));
2165 TRACE(
"%p, %p\n", iface, ret_val);
2177 FIXME(
"%p: stub\n", iface);
2187 TRACE(
"%p, %p\n", iface, ret_val);
2202 FIXME(
"%p: stub\n", iface);
2208 FIXME(
"%p: stub\n", iface);
2214 FIXME(
"%p: stub\n", iface);
2220 FIXME(
"%p: stub\n", iface);
2226 FIXME(
"%p: stub\n", iface);
2232 FIXME(
"%p: stub\n", iface);
2238 FIXME(
"%p: stub\n", iface);
2244 FIXME(
"%p: stub\n", iface);
2250 FIXME(
"%p: stub\n", iface);
2256 FIXME(
"%p: stub\n", iface);
2262 FIXME(
"%p: stub\n", iface);
2268 FIXME(
"%p: stub\n", iface);
2274 FIXME(
"%p: stub\n", iface);
2280 FIXME(
"%p: stub\n", iface);
2286 FIXME(
"%p: stub\n", iface);
2292 FIXME(
"%p: stub\n", iface);
2298 FIXME(
"%p: stub\n", iface);
2304 FIXME(
"%p: stub\n", iface);
2310 FIXME(
"%p: stub\n", iface);
2319 memset(ret_val, 0,
sizeof(*ret_val));
2326 WARN(
"SafeArrayAccessData failed with hr %#lx\n",
hr);
2330 ret_val->
left = vals[0];
2331 ret_val->
top = vals[1];
2332 ret_val->
right = ret_val->
left + vals[2];
2333 ret_val->
bottom = ret_val->
top + vals[3];
2337 WARN(
"SafeArrayUnaccessData failed with hr %#lx\n",
hr);
2358 FIXME(
"%p: stub\n", iface);
2364 FIXME(
"%p: stub\n", iface);
2370 FIXME(
"%p: stub\n", iface);
2376 FIXME(
"%p: stub\n", iface);
2381 IUIAutomationElementArray **ret_val)
2383 FIXME(
"%p: stub\n", iface);
2388 IUIAutomationElementArray **ret_val)
2390 FIXME(
"%p: stub\n", iface);
2396 FIXME(
"%p: stub\n", iface);
2402 FIXME(
"%p: stub\n", iface);
2408 FIXME(
"%p: stub\n", iface);
2415 const int prop_id = UIA_ControlTypePropertyId;
2418 TRACE(
"%p, %p\n", iface, ret_val);
2433 FIXME(
"%p: stub\n", iface);
2441 const int prop_id = UIA_NamePropertyId;
2443 TRACE(
"%p, %p\n", iface, ret_val);
2462 FIXME(
"%p: stub\n", iface);
2468 FIXME(
"%p: stub\n", iface);
2475 const int prop_id = UIA_HasKeyboardFocusPropertyId;
2478 TRACE(
"%p, %p\n", iface, ret_val);
2494 const int prop_id = UIA_IsKeyboardFocusablePropertyId;
2497 TRACE(
"%p, %p\n", iface, ret_val);
2512 FIXME(
"%p: stub\n", iface);
2518 FIXME(
"%p: stub\n", iface);
2524 FIXME(
"%p: stub\n", iface);
2530 FIXME(
"%p: stub\n", iface);
2536 FIXME(
"%p: stub\n", iface);
2542 FIXME(
"%p: stub\n", iface);
2548 FIXME(
"%p: stub\n", iface);
2554 FIXME(
"%p: stub\n", iface);
2560 FIXME(
"%p: stub\n", iface);
2566 FIXME(
"%p: stub\n", iface);
2572 FIXME(
"%p: stub\n", iface);
2579 FIXME(
"%p: stub\n", iface);
2585 FIXME(
"%p: stub\n", iface);
2591 FIXME(
"%p: stub\n", iface);
2597 FIXME(
"%p: stub\n", iface);
2604 const int prop_id = UIA_BoundingRectanglePropertyId;
2607 TRACE(
"%p, %p\n", iface, ret_val);
2622 FIXME(
"%p: stub\n", iface);
2628 FIXME(
"%p: stub\n", iface);
2634 FIXME(
"%p: stub\n", iface);
2640 FIXME(
"%p: stub\n", iface);
2645 IUIAutomationElementArray **ret_val)
2647 FIXME(
"%p: stub\n", iface);
2652 IUIAutomationElementArray **ret_val)
2654 FIXME(
"%p: stub\n", iface);
2660 FIXME(
"%p: stub\n", iface);
2666 FIXME(
"%p: stub\n", iface);
2672 FIXME(
"%p: stub\n", iface);
2678 FIXME(
"%p: stub\n", iface);
2684 FIXME(
"%p: stub\n", iface);
2690 FIXME(
"%p: stub\n", iface);
2696 FIXME(
"%p: stub\n", iface);
2701 IUIAutomationElementArray **ret_val)
2703 FIXME(
"%p: stub\n", iface);
2709 FIXME(
"%p: stub\n", iface);
2715 FIXME(
"%p: stub\n", iface);
2721 FIXME(
"%p: stub\n", iface);
2727 FIXME(
"%p: stub\n", iface);
2733 FIXME(
"%p: stub\n", iface);
2739 FIXME(
"%p: stub\n", iface);
2745 FIXME(
"%p: stub\n", iface);
2751 FIXME(
"%p: stub\n", iface);
2756 IUIAutomationElementArray **ret_val)
2758 FIXME(
"%p: stub\n", iface);
2764 FIXME(
"%p: stub\n", iface);
2770 FIXME(
"%p: stub\n", iface);
2776 FIXME(
"%p: stub\n", iface);
2782 FIXME(
"%p: stub\n", iface);
2787 IUIAutomationElementArray **ret_val)
2789 FIXME(
"%p: stub\n", iface);
2795 FIXME(
"%p: stub\n", iface);
2801 FIXME(
"%p: stub\n", iface);
2807 FIXME(
"%p: stub\n", iface);
2813 FIXME(
"%p: stub\n", iface);
2819 FIXME(
"%p: stub\n", iface);
2825 FIXME(
"%p: stub\n", iface);
2831 IUIAutomationElement **found)
2833 FIXME(
"%p: stub\n", iface);
2839 IUIAutomationElementArray **found)
2841 FIXME(
"%p: stub\n", iface);
2846 IUIAutomationCondition *
condition, IUIAutomationCacheRequest *cache_req,
2849 FIXME(
"%p: stub\n", iface);
2854 IUIAutomationCondition *
condition, IUIAutomationCacheRequest *cache_req,
2857 FIXME(
"%p: stub\n", iface);
2864 FIXME(
"%p: stub\n", iface);
2870 FIXME(
"%p: stub\n", iface);
2876 FIXME(
"%p: stub\n", iface);
2882 FIXME(
"%p: stub\n", iface);
2888 FIXME(
"%p: stub\n", iface);
3035 *iface = (IUIAutomationElement *)&
element->IUIAutomationElement9_iface;
3100 if ((prop_info->
type == UIAutomationType_Element) || (prop_info->
type == UIAutomationType_ElementArray))
3122 WARN(
"Failed to create element from cache request, hr %#lx\n",
hr);
3124 IUIAutomationElement_Release(
element);
3155 IUIAutomationTreeWalker_AddRef(iface);
3164 TRACE(
"%p, refcount %ld\n", tree_walker,
ref);
3173 TRACE(
"%p, refcount %ld\n", tree_walker,
ref);
3178 IUIAutomationCondition_Release(tree_walker->
nav_cond);
3186 IUIAutomationElement **
parent)
3196 IUIAutomationElement **
first)
3206 IUIAutomationElement **
last)
3216 IUIAutomationElement **
next)
3226 IUIAutomationElement *
elem, IUIAutomationElement **prev)
3230 TRACE(
"%p, %p, %p\n", iface,
elem, prev);
3232 return IUIAutomationTreeWalker_GetPreviousSiblingElementBuildCache(iface,
elem, tree_walker->
default_cache_req, prev);
3243 IUIAutomationElement *start_elem,
int nav_dir, IUIAutomationElement **out_elem)
3277 IUIAutomationElement *
elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **
parent)
3285 IUIAutomationElement *
elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **
first)
3293 IUIAutomationElement *
elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **
last)
3301 IUIAutomationElement *
elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **
next)
3309 IUIAutomationElement *
elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **prev)
3311 TRACE(
"%p, %p, %p, %p\n", iface,
elem, cache_req, prev);
3317 IUIAutomationElement *
elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **
normalized)
3333 IUIAutomationCondition_AddRef(tree_walker->
nav_cond);
3364 if (!out_tree_walker)
3367 *out_tree_walker =
NULL;
3372 tree_walker =
calloc(1,
sizeof(*tree_walker));
3377 tree_walker->
ref = 1;
3379 IUIAutomationCondition_AddRef(nav_cond);
3425 IUIAutomation6_AddRef(iface);
3450 IUIAutomationElement *elem2,
BOOL *
match)
3452 FIXME(
"%p, %p, %p, %p: stub\n", iface, elem1, elem2,
match);
3459 FIXME(
"%p, %p, %p, %p: stub\n", iface, rt_id1, rt_id2,
match);
3488 TRACE(
"%p, %p, %p\n", iface,
hwnd, out_elem);
3504 BOOL use_default_cache_req, IUIAutomationElement **out_elem)
3516 if (use_default_cache_req)
3547 if (use_default_cache_req)
3548 IUIAutomationCacheRequest_Release(cache_req);
3555 TRACE(
"%p, %p\n", iface, out_elem);
3561 IUIAutomationElement **out_root)
3563 FIXME(
"%p, %p, %p: stub\n", iface, cache_req, out_root);
3568 IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_elem)
3570 FIXME(
"%p, %p, %p, %p: stub\n", iface,
hwnd, cache_req, out_elem);
3575 IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_elem)
3582 IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_elem)
3584 TRACE(
"%p, %p, %p\n", iface, cache_req, out_elem);
3590 IUIAutomationTreeWalker **out_walker)
3592 TRACE(
"%p, %p, %p\n", iface, cond, out_walker);
3599 FIXME(
"%p, %p: stub\n", iface, out_walker);
3605 FIXME(
"%p, %p: stub\n", iface, out_walker);
3611 FIXME(
"%p, %p: stub\n", iface, out_walker);
3617 TRACE(
"%p, %p\n", iface, out_condition);
3624 TRACE(
"%p, %p\n", iface, out_condition);
3631 FIXME(
"%p, %p: stub\n", iface, out_condition);
3639 TRACE(
"%p, %p\n", iface, out_cache_req);
3645 hr = IUIAutomationCacheRequest_AddProperty(*out_cache_req, UIA_RuntimeIdPropertyId);
3648 IUIAutomationCacheRequest_Release(*out_cache_req);
3649 *out_cache_req =
NULL;
3657 TRACE(
"%p, %p\n", iface, out_condition);
3664 TRACE(
"%p, %p\n", iface, out_condition);
3670 IUIAutomationCondition **out_condition)
3685 IUIAutomationCondition *cond2, IUIAutomationCondition **out_condition)
3687 FIXME(
"%p, %p, %p, %p: stub\n", iface, cond1, cond2, out_condition);
3692 IUIAutomationCondition **out_condition)
3694 FIXME(
"%p, %p, %p: stub\n", iface, conds, out_condition);
3699 int conds_count, IUIAutomationCondition **out_condition)
3701 FIXME(
"%p, %p, %d, %p: stub\n", iface, conds, conds_count, out_condition);
3706 IUIAutomationCondition *cond2, IUIAutomationCondition **out_condition)
3708 IUIAutomationCondition *cond_arr[2] = { cond1, cond2 };
3710 TRACE(
"%p, %p, %p, %p\n", iface, cond1, cond2, out_condition);
3716 IUIAutomationCondition **out_condition)
3718 FIXME(
"%p, %p, %p: stub\n", iface, conds, out_condition);
3723 int conds_count, IUIAutomationCondition **out_condition)
3725 FIXME(
"%p, %p, %d, %p: stub\n", iface, conds, conds_count, out_condition);
3730 IUIAutomationCondition **out_condition)
3732 TRACE(
"%p, %p, %p\n", iface, cond, out_condition);
3759 IUIAutomationCacheRequest_AddRef(cache_req);
3765 if (!(com_event =
calloc(1,
sizeof(*com_event))))
3775 hr = IUnknown_QueryInterface(handler_unk, handler_riid, (
void **)&handler_iface);
3780 IUnknown_Release(handler_iface);
3790 WARN(
"Failed to start event thread, WinEvents may not be delivered.\n");
3798 IUIAutomationCacheRequest_Release(cache_req);
3805 IUIAutomationElement *
elem,
enum TreeScope scope, IUIAutomationCacheRequest *cache_req,
3806 IUIAutomationEventHandler *
handler)
3811 TRACE(
"%p, %d, %p, %#x, %p, %p\n", iface, event_id,
elem, scope, cache_req,
handler);
3816 if (event_id == UIA_AutomationFocusChangedEventId)
3824 IUnknown_Release(handler_unk);
3847 IUIAutomationElement *
elem, IUIAutomationEventHandler *
handler)
3862 IUnknown_Release(handler_unk);
3868 IUIAutomationElement *
elem,
enum TreeScope scope, IUIAutomationCacheRequest *cache_req,
3871 FIXME(
"%p, %p, %#x, %p, %p, %p, %d: stub\n", iface,
elem, scope, cache_req,
handler,
props, props_count);
3876 IUIAutomationElement *
elem,
enum TreeScope scope, IUIAutomationCacheRequest *cache_req,
3879 FIXME(
"%p, %p, %#x, %p, %p, %p: stub\n", iface,
elem, scope, cache_req,
handler,
props);
3884 IUIAutomationElement *
elem, IUIAutomationPropertyChangedEventHandler *
handler)
3891 IUIAutomationElement *
elem,
enum TreeScope scope, IUIAutomationCacheRequest *cache_req,
3892 IUIAutomationStructureChangedEventHandler *
handler)
3894 FIXME(
"%p, %p, %#x, %p, %p: stub\n", iface,
elem, scope, cache_req,
handler);
3899 IUIAutomationElement *
elem, IUIAutomationStructureChangedEventHandler *
handler)
3906 IUIAutomationCacheRequest *cache_req, IUIAutomationFocusChangedEventHandler *
handler)
3908 IUIAutomationElement *
elem;
3917 hr = IUIAutomationFocusChangedEventHandler_QueryInterface(
handler, &
IID_IUnknown, (
void **)&handler_unk);
3921 hr = IUIAutomation6_GetRootElement(iface, &
elem);
3924 IUnknown_Release(handler_unk);
3929 &IID_IUIAutomationFocusChangedEventHandler, handler_unk);
3930 IUIAutomationElement_Release(
elem);
3931 IUnknown_Release(handler_unk);
3937 IUIAutomationFocusChangedEventHandler *
handler)
3939 IUIAutomationElement *
elem;
3945 hr = IUIAutomationFocusChangedEventHandler_QueryInterface(
handler, &
IID_IUnknown, (
void **)&handler_unk);
3949 hr = IUIAutomation6_GetRootElement(iface, &
elem);
3952 IUnknown_Release(handler_unk);
3957 IUIAutomationElement_Release(
elem);
3958 IUnknown_Release(handler_unk);
3967 TRACE(
"%p\n", iface);
3991 TRACE(
"%p, %p, %d, %p\n", iface, arr, arr_count, out_sa);
3993 if (!out_sa || !arr || !arr_count)
4004 memcpy(sa_arr, arr,
sizeof(*arr) * arr_count);
4024 TRACE(
"%p, %p, %p, %p\n", iface,
sa, out_arr, out_arr_count);
4026 if (!
sa || !out_arr || !out_arr_count)
4048 memcpy(arr, sa_arr,
sizeof(*arr) * elems);
4054 *out_arr_count = elems;
4076 int *out_rect_arr_count)
4078 FIXME(
"%p, %p, %p, %p: stub\n", iface,
sa, out_rect_arr, out_rect_arr_count);
4083 IUIAutomationProxyFactoryEntry **out_entry)
4085 FIXME(
"%p, %p, %p: stub\n", iface,
factory, out_entry);
4090 IUIAutomationProxyFactoryMapping **out_factory_map)
4092 FIXME(
"%p, %p: stub\n", iface, out_factory_map);
4098 FIXME(
"%p, %d, %p: stub\n", iface, prop_id, out_name);
4104 FIXME(
"%p, %d, %p: stub\n", iface, pattern_id, out_name);
4111 FIXME(
"%p, %p, %p, %p: stub\n", iface,
elem, out_pattern_ids, out_pattern_names);
4118 FIXME(
"%p, %p, %p, %p: stub\n", iface,
elem, out_prop_ids, out_prop_names);
4138 TRACE(
"%p, %p\n", iface, out_unk);
4145 TRACE(
"%p, %p\n", iface, out_unk);
4151 IUIAutomationElement **out_elem)
4153 FIXME(
"%p, %p, %d, %p: stub\n", iface, acc,
cid, out_elem);
4158 IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_elem)
4160 FIXME(
"%p, %p, %d, %p, %p: stub\n", iface, acc,
cid, cache_req, out_elem);
4167 FIXME(
"%p, %p: stub\n", iface, out_auto_set_focus);
4173 FIXME(
"%p, %d: stub\n", iface, auto_set_focus);
4179 FIXME(
"%p, %p: stub\n", iface, out_timeout);
4191 FIXME(
"%p, %p: stub\n", iface, out_timeout);
4204 IUIAutomationTextEditTextChangedEventHandler *
handler)
4206 FIXME(
"%p, %p, %#x, %d, %p, %p: stub\n", iface,
elem, scope,
change_type, cache_req,
handler);
4211 IUIAutomationTextEditTextChangedEventHandler *
handler)
4219 enum TreeScope scope,
int *change_types,
int change_types_count, IUIAutomationCacheRequest *cache_req,
4220 IUIAutomationChangesEventHandler *
handler)
4222 FIXME(
"%p, %p, %#x, %p, %d, %p, %p: stub\n", iface,
elem, scope, change_types, change_types_count, cache_req,
4228 IUIAutomationChangesEventHandler *
handler)
4236 enum TreeScope scope, IUIAutomationCacheRequest *cache_req, IUIAutomationNotificationEventHandler *
handler)
4238 FIXME(
"%p, %p, %#x, %p, %p: stub\n", iface,
elem, scope, cache_req,
handler);
4243 IUIAutomationNotificationEventHandler *
handler)
4251 IUIAutomationEventHandlerGroup **out_handler_group)
4253 FIXME(
"%p, %p: stub\n", iface, out_handler_group);
4258 IUIAutomationEventHandlerGroup *handler_group)
4260 FIXME(
"%p, %p, %p: stub\n", iface,
elem, handler_group);
4265 IUIAutomationEventHandlerGroup *handler_group)
4267 FIXME(
"%p, %p, %p: stub\n", iface,
elem, handler_group);
4274 FIXME(
"%p, %p: stub\n", iface, out_conn_recovery_opts);
4281 FIXME(
"%p, %#x: stub\n", iface, conn_recovery_opts);
4288 FIXME(
"%p, %p: stub\n", iface, out_coalesce_events_opts);
4295 FIXME(
"%p, %#x: stub\n", iface, coalesce_events_opts);
4300 IUIAutomationElement *
elem,
enum TreeScope scope, IUIAutomationCacheRequest *cache_req,
4301 IUIAutomationActiveTextPositionChangedEventHandler *
handler)
4303 FIXME(
"%p, %p, %#x, %p, %p: stub\n", iface,
elem, scope, cache_req,
handler);
4308 IUIAutomationElement *
elem, IUIAutomationActiveTextPositionChangedEventHandler *
handler)
4406 uia =
calloc(1,
sizeof(*uia));
static struct sockaddr_in sa
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_point(const POINT *ppt)
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_remove(struct list_entry *entry)
static int list_empty(struct list_entry *head)
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
static void list_init(struct list_entry *head)
HRESULT WINAPI CoCreateFreeThreadedMarshaler(IUnknown *outer, IUnknown **marshaler)
UINT(* handler)(MSIPACKAGE *)
static REFPROPVARIANT PROPVAR_CHANGE_FLAGS VARTYPE vt
_ACRTIMP void __cdecl qsort(void *, size_t, size_t, int(__cdecl *)(const void *, const void *))
HRESULT WINAPI SafeArrayGetElement(SAFEARRAY *psa, LONG *rgIndices, void *pvData)
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY *psa)
HRESULT WINAPI SafeArrayCopy(SAFEARRAY *psa, SAFEARRAY **ppsaOut)
SAFEARRAY *WINAPI SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements)
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
HRESULT WINAPI SafeArrayGetVartype(SAFEARRAY *psa, VARTYPE *pvt)
static const char * debugstr_variant(const VARIANT *var)
#define rb_entry(ptr, type, member)
static const FxOffsetAndName offsets[]
GLboolean GLboolean GLboolean b
GLenum const GLfloat * params
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLint GLenum GLboolean normalized
GLboolean GLboolean GLboolean GLboolean a
GLfloat GLfloat GLfloat v2
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
void *WINAPI CoTaskMemAlloc(SIZE_T size)
void WINAPI CoTaskMemFree(void *ptr)
#define memcpy(s1, s2, n)
static HRESULT change_type(VARIANT *dst, VARIANT *src, VARTYPE vt, IServiceProvider *caller)
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
#define IsEqualIID(riid1, riid2)
static unsigned __int64 next
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
#define RB_ENTRY_VALUE(element, type, field)
#define RB_FOR_EACH_ENTRY_DESTRUCTOR(elem, elem2, tree, type, field)
static int rb_put(struct rb_tree *tree, const void *key, struct rb_entry *entry)
static struct rb_entry * rb_get(const struct rb_tree *tree, const void *key)
#define RB_FOR_EACH_ENTRY(elem, tree, type, field)
static void rb_remove(struct rb_tree *tree, struct rb_entry *entry)
static void rb_init(struct rb_tree *tree, rb_compare_func_t compare)
LIST_ENTRY ProcessLocksList
IUIAutomationBoolCondition IUIAutomationBoolCondition_iface
struct UiaCondition condition
IUIAutomationCondition * view_condition
struct UiaCacheRequest cache_req
IUIAutomationCacheRequest IUIAutomationCacheRequest_iface
struct rb_tree handler_map
struct rb_tree handler_event_id_map
struct rb_tree focus_hwnd_map
struct uia_event_handler_map_entry * handler_map
struct list event_handler_map_list_entry
IUIAutomationElement ** elements
IUIAutomationElementArray IUIAutomationElementArray_iface
IUIAutomationElement9 IUIAutomationElement9_iface
struct uia_cache_property * cached_props
struct list handlers_list
struct list handlers_list
struct uia_event_handler_event_id_map_entry * handler_event_id_map
struct list handler_event_id_map_list_entry
IUIAutomation6 IUIAutomation6_iface
IUIAutomationNotCondition IUIAutomationNotCondition_iface
IUIAutomationCondition * child_iface
struct UiaNotCondition condition
struct UiaAndOrCondition condition
IUIAutomationOrCondition IUIAutomationOrCondition_iface
IUIAutomationCondition ** child_ifaces
IUIAutomationPropertyCondition IUIAutomationPropertyCondition_iface
struct UiaPropertyCondition condition
IUIAutomationCacheRequest * default_cache_req
struct UiaCondition * cond_struct
IUIAutomationTreeWalker IUIAutomationTreeWalker_iface
IUIAutomationCondition * nav_cond
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI UiaGetRuntimeId(HUIANODE huianode, SAFEARRAY **runtime_id)
HRESULT WINAPI UiaGetUpdatedCache(HUIANODE huianode, struct UiaCacheRequest *cache_req, enum NormalizeState normalize_state, struct UiaCondition *normalize_cond, SAFEARRAY **out_req, BSTR *tree_struct)
HRESULT WINAPI UiaFind(HUIANODE huianode, struct UiaFindParams *find_params, struct UiaCacheRequest *cache_req, SAFEARRAY **out_req, SAFEARRAY **out_offsets, SAFEARRAY **out_tree_structs)
HRESULT WINAPI UiaNodeFromFocus(struct UiaCacheRequest *cache_req, SAFEARRAY **out_req, BSTR *tree_struct)
HRESULT WINAPI UiaGetPropertyValue(HUIANODE huianode, PROPERTYID prop_id, VARIANT *out_val)
BOOL WINAPI UiaNodeRelease(HUIANODE huianode)
HRESULT WINAPI UiaNavigate(HUIANODE huianode, enum NavigateDirection dir, struct UiaCondition *nav_condition, struct UiaCacheRequest *cache_req, SAFEARRAY **out_req, BSTR *tree_struct)
HRESULT WINAPI UiaGetRootNode(HUIANODE *huianode)
HRESULT create_uia_node_from_hwnd(HWND hwnd, HUIANODE *out_node, int node_flags)
HRESULT WINAPI UiaHUiaNodeFromVariant(VARIANT *in_val, HUIANODE *huianode)
HRESULT WINAPI UiaNodeFromHandle(HWND hwnd, HUIANODE *huianode)
HRESULT uia_node_from_lresult(LRESULT lr, HUIANODE *huianode, int node_flags)
HRESULT create_node_from_node_provider(IWineUiaNode *node, int idx, LONG flags, VARIANT *ret_val)
void uia_node_lresult_release(LRESULT lr)
HRESULT create_uia_node_from_elprov(IRawElementProviderSimple *elprov, HUIANODE *out_node, BOOL get_hwnd_providers, int node_flags)
HRESULT get_focus_from_node_provider(IWineUiaNode *node, int idx, LONG flags, VARIANT *ret_val)
static HRESULT WINAPI uia_element_get_CurrentIsDialog(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_GetCurrentPattern(IUIAutomationElement9 *iface, PATTERNID pattern_id, IUnknown **out_pattern)
static HRESULT WINAPI uia_iface_RemoveActiveTextPositionChangedEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, IUIAutomationActiveTextPositionChangedEventHandler *handler)
static HRESULT create_uia_bool_condition_iface(IUIAutomationCondition **out_cond, enum ConditionType cond_type)
static HRESULT WINAPI uia_element_get_CurrentHelpText(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_iface_CreateEventHandlerGroup(IUIAutomation6 *iface, IUIAutomationEventHandlerGroup **out_handler_group)
static HRESULT WINAPI uia_element_get_CurrentCulture(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_iface_GetFocusedElement(IUIAutomation6 *iface, IUIAutomationElement **out_elem)
static HRESULT uia_tree_walker_navigate(IUIAutomationTreeWalker *walker, IUIAutomationCacheRequest *cache_req, IUIAutomationElement *start_elem, int nav_dir, IUIAutomationElement **out_elem)
static HRESULT WINAPI uia_iface_GetRootElement(IUIAutomation6 *iface, IUIAutomationElement **root)
static HRESULT WINAPI uia_property_condition_QueryInterface(IUIAutomationPropertyCondition *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_element_get_CurrentOrientation(IUIAutomationElement9 *iface, enum OrientationType *ret_val)
static struct uia_iface * impl_from_IUIAutomation6(IUIAutomation6 *iface)
static HRESULT WINAPI uia_tree_walker_GetNextSiblingElementBuildCache(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **next)
static HRESULT WINAPI uia_iface_RemoveAutomationEventHandler(IUIAutomation6 *iface, EVENTID event_id, IUIAutomationElement *elem, IUIAutomationEventHandler *handler)
static HRESULT WINAPI uia_element_FindFirstBuildCache(IUIAutomationElement9 *iface, enum TreeScope scope, IUIAutomationCondition *condition, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **found)
static HRESULT WINAPI uia_element_get_CurrentAutomationId(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_GetCurrentPatternAs(IUIAutomationElement9 *iface, PATTERNID pattern_id, REFIID riid, void **out_pattern)
static HRESULT WINAPI uia_tree_walker_GetParentElement(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationElement **parent)
static HRESULT WINAPI uia_element_get_CachedBoundingRectangle(IUIAutomationElement9 *iface, RECT *ret_val)
static HRESULT WINAPI uia_element_get_CachedFlowsTo(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT create_uia_element(IUIAutomationElement **iface, BOOL from_cui8, HUIANODE node)
static HRESULT WINAPI uia_iface_ElementFromPointBuildCache(IUIAutomation6 *iface, POINT pt, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_elem)
static HRESULT WINAPI uia_element_get_CachedLabeledBy(IUIAutomationElement9 *iface, IUIAutomationElement **ret_val)
static HRESULT WINAPI uia_iface_ElementFromPoint(IUIAutomation6 *iface, POINT pt, IUIAutomationElement **out_elem)
static HRESULT WINAPI uia_iface_AddPropertyChangedEventHandlerNativeArray(IUIAutomation6 *iface, IUIAutomationElement *elem, enum TreeScope scope, IUIAutomationCacheRequest *cache_req, IUIAutomationPropertyChangedEventHandler *handler, PROPERTYID *props, int props_count)
static CRITICAL_SECTION_DEBUG com_event_handlers_cs_debug
static HRESULT WINAPI uia_element_get_CachedFlowsFrom(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT get_uia_cache_request_struct_from_iface(IUIAutomationCacheRequest *cache_request, struct UiaCacheRequest **cache_req_struct)
static int __cdecl uia_compare_cache_props(const void *a, const void *b)
static ULONG WINAPI uia_cache_request_AddRef(IUIAutomationCacheRequest *iface)
static HRESULT WINAPI uia_element_get_CurrentItemStatus(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_QueryInterface(IUIAutomationElement9 *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_element_get_CurrentIsControlElement(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CurrentIsContentElement(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_GetCachedChildren(IUIAutomationElement9 *iface, IUIAutomationElementArray **children)
static HRESULT WINAPI uia_element_get_CurrentDescribedBy(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static ULONG WINAPI uia_tree_walker_AddRef(IUIAutomationTreeWalker *iface)
static HRESULT WINAPI uia_element_array_get_Length(IUIAutomationElementArray *iface, int *out_length)
static HRESULT WINAPI uia_element_get_CachedAnnotationObjects(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT WINAPI uia_tree_walker_GetParentElementBuildCache(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **parent)
static HRESULT WINAPI uia_iface_RemoveFocusChangedEventHandler(IUIAutomation6 *iface, IUIAutomationFocusChangedEventHandler *handler)
static HRESULT WINAPI uia_element_SetFocus(IUIAutomationElement9 *iface)
static HRESULT WINAPI uia_element_get_CurrentControllerFor(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT WINAPI uia_element_get_CurrentAnnotationObjects(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT create_uia_property_condition_iface(IUIAutomationCondition **out_cond, PROPERTYID prop_id, VARIANT val, enum PropertyConditionFlags prop_flags)
static void uia_event_handlers_remove_handlers(IUnknown *handler_iface, SAFEARRAY *runtime_id, int event_id)
static HRESULT WINAPI uia_element_GetCurrentPropertyValue(IUIAutomationElement9 *iface, PROPERTYID prop_id, VARIANT *ret_val)
static HRESULT WINAPI uia_element_get_CachedIsPeripheral(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_tree_walker_GetFirstChildElement(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationElement **first)
static HRESULT WINAPI uia_iface_AddActiveTextPositionChangedEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, enum TreeScope scope, IUIAutomationCacheRequest *cache_req, IUIAutomationActiveTextPositionChangedEventHandler *handler)
static HRESULT WINAPI uia_iface_GetFocusedElementBuildCache(IUIAutomation6 *iface, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_elem)
static HRESULT WINAPI uia_element_get_CurrentIsPassword(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT uia_com_focus_win_event_msaa_callback(struct uia_event *event, void *user_data)
static HRESULT WINAPI uia_iface_CreateAndConditionFromNativeArray(IUIAutomation6 *iface, IUIAutomationCondition **conds, int conds_count, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_element_FindFirstWithOptionsBuildCache(IUIAutomationElement9 *iface, enum TreeScope scope, IUIAutomationCondition *condition, IUIAutomationCacheRequest *cache_req, enum TreeTraversalOptions traversal_opts, IUIAutomationElement *root, IUIAutomationElement **found)
static ULONG WINAPI uia_iface_AddRef(IUIAutomation6 *iface)
static HRESULT WINAPI uia_element_get_CachedClassName(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CurrentIsEnabled(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CachedCulture(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_iface_GetPatternProgrammaticName(IUIAutomation6 *iface, PATTERNID pattern_id, BSTR *out_name)
static HRESULT WINAPI uia_iface_AddTextEditTextChangedEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, enum TreeScope scope, enum TextEditChangeType change_type, IUIAutomationCacheRequest *cache_req, IUIAutomationTextEditTextChangedEventHandler *handler)
static HRESULT WINAPI uia_element_get_CachedIsRequiredForForm(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_iface_IntNativeArrayToSafeArray(IUIAutomation6 *iface, int *arr, int arr_count, SAFEARRAY **out_sa)
static HRESULT WINAPI uia_element_GetCachedPatternAs(IUIAutomationElement9 *iface, PATTERNID pattern_id, REFIID riid, void **out_pattern)
static HRESULT WINAPI uia_cache_request_get_TreeScope(IUIAutomationCacheRequest *iface, enum TreeScope *scope)
static HRESULT WINAPI uia_element_FindAllWithOptionsBuildCache(IUIAutomationElement9 *iface, enum TreeScope scope, IUIAutomationCondition *condition, IUIAutomationCacheRequest *cache_req, enum TreeTraversalOptions traversal_opts, IUIAutomationElement *root, IUIAutomationElementArray **found)
static HRESULT WINAPI uia_element_get_CachedProviderDescription(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_iface_CreateTreeWalker(IUIAutomation6 *iface, IUIAutomationCondition *cond, IUIAutomationTreeWalker **out_walker)
static int uia_com_event_handler_event_id_compare(const void *key, const struct rb_entry *entry)
static HRESULT WINAPI uia_element_get_CurrentAriaRole(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CachedHeadingLevel(IUIAutomationElement9 *iface, HEADINGLEVELID *ret_val)
static HRESULT WINAPI uia_element_get_CachedAcceleratorKey(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_GetRuntimeId(IUIAutomationElement9 *iface, SAFEARRAY **runtime_id)
static const IUIAutomationElement9Vtbl uia_element_vtbl
static HRESULT WINAPI uia_iface_CreateOrConditionFromNativeArray(IUIAutomation6 *iface, IUIAutomationCondition **conds, int conds_count, IUIAutomationCondition **out_condition)
static HRESULT create_control_view_condition_iface(IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_iface_RemoveTextEditTextChangedEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, IUIAutomationTextEditTextChangedEventHandler *handler)
static HRESULT WINAPI uia_element_get_CurrentControlType(IUIAutomationElement9 *iface, CONTROLTYPEID *ret_val)
static HRESULT WINAPI uia_tree_walker_GetNextSiblingElement(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationElement **next)
static HRESULT WINAPI uia_iface_GetRootElementBuildCache(IUIAutomation6 *iface, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_root)
static ULONG WINAPI uia_iface_Release(IUIAutomation6 *iface)
static HRESULT WINAPI uia_iface_CreateProxyFactoryEntry(IUIAutomation6 *iface, IUIAutomationProxyFactory *factory, IUIAutomationProxyFactoryEntry **out_entry)
static HRESULT uia_com_event_callback(struct uia_event *event, struct uia_event_args *args, SAFEARRAY *cache_req, BSTR tree_struct)
static HRESULT WINAPI uia_iface_CompareElements(IUIAutomation6 *iface, IUIAutomationElement *elem1, IUIAutomationElement *elem2, BOOL *match)
static HRESULT WINAPI uia_element_get_CachedAnnotationTypes(IUIAutomationElement9 *iface, SAFEARRAY **ret_val)
static ULONG WINAPI uia_element_AddRef(IUIAutomationElement9 *iface)
static HRESULT WINAPI uia_iface_AddNotificationEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, enum TreeScope scope, IUIAutomationCacheRequest *cache_req, IUIAutomationNotificationEventHandler *handler)
static HRESULT WINAPI uia_iface_VariantToRect(IUIAutomation6 *iface, VARIANT var, RECT *out_rect)
static HRESULT WINAPI uia_or_condition_get_ChildCount(IUIAutomationOrCondition *iface, int *child_count)
static HRESULT WINAPI uia_cache_request_put_TreeScope(IUIAutomationCacheRequest *iface, enum TreeScope scope)
static HRESULT WINAPI uia_element_get_CurrentFrameworkId(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_iface_get_ReservedNotSupportedValue(IUIAutomation6 *iface, IUnknown **out_unk)
static HRESULT create_uia_or_condition_iface(IUIAutomationCondition **out_cond, IUIAutomationCondition **in_conds, int in_cond_count)
static HRESULT WINAPI uia_element_GetCachedPropertyValueEx(IUIAutomationElement9 *iface, PROPERTYID prop_id, BOOL ignore_default, VARIANT *ret_val)
static ULONG WINAPI uia_element_Release(IUIAutomationElement9 *iface)
static HRESULT WINAPI uia_iface_AddChangesEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, enum TreeScope scope, int *change_types, int change_types_count, IUIAutomationCacheRequest *cache_req, IUIAutomationChangesEventHandler *handler)
static ULONG WINAPI uia_element_array_Release(IUIAutomationElementArray *iface)
static HRESULT WINAPI uia_element_GetCurrentPropertyValueEx(IUIAutomationElement9 *iface, PROPERTYID prop_id, BOOL ignore_default, VARIANT *ret_val)
static struct uia_tree_walker * impl_from_IUIAutomationTreeWalker(IUIAutomationTreeWalker *iface)
static HRESULT WINAPI uia_element_GetCachedParent(IUIAutomationElement9 *iface, IUIAutomationElement **parent)
static HRESULT WINAPI uia_element_get_CachedOrientation(IUIAutomationElement9 *iface, enum OrientationType *ret_val)
static HRESULT WINAPI uia_element_get_CachedControllerFor(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT WINAPI uia_cache_request_get_TreeFilter(IUIAutomationCacheRequest *iface, IUIAutomationCondition **filter)
static struct uia_cache_request * impl_from_IUIAutomationCacheRequest(IUIAutomationCacheRequest *iface)
static ULONG WINAPI uia_bool_condition_Release(IUIAutomationBoolCondition *iface)
static HRESULT WINAPI uia_element_get_CurrentIsDataValidForForm(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_iface_get_ControlViewWalker(IUIAutomation6 *iface, IUIAutomationTreeWalker **out_walker)
static HRESULT WINAPI uia_tree_walker_NormalizeElement(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationElement **normalized)
static HRESULT WINAPI uia_iface_CreatePropertyConditionEx(IUIAutomation6 *iface, PROPERTYID prop_id, VARIANT val, enum PropertyConditionFlags flags, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_element_FindFirst(IUIAutomationElement9 *iface, enum TreeScope scope, IUIAutomationCondition *condition, IUIAutomationElement **found)
static HRESULT WINAPI uia_element_get_CachedIsOffscreen(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_property_condition_get_PropertyValue(IUIAutomationPropertyCondition *iface, VARIANT *val)
static HRESULT WINAPI uia_element_get_CurrentProviderDescription(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CurrentBoundingRectangle(IUIAutomationElement9 *iface, RECT *ret_val)
static HRESULT WINAPI uia_or_condition_GetChildren(IUIAutomationOrCondition *iface, SAFEARRAY **out_children)
static HRESULT WINAPI uia_cache_request_AddPattern(IUIAutomationCacheRequest *iface, PATTERNID pattern_id)
static HRESULT WINAPI uia_element_get_CachedHasKeyboardFocus(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CurrentIsOffscreen(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_iface_get_AutoSetFocus(IUIAutomation6 *iface, BOOL *out_auto_set_focus)
static HRESULT WINAPI uia_iface_get_ConnectionRecoveryBehavior(IUIAutomation6 *iface, enum ConnectionRecoveryBehaviorOptions *out_conn_recovery_opts)
static HRESULT WINAPI uia_tree_walker_GetPreviousSiblingElementBuildCache(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **prev)
static HRESULT WINAPI uia_iface_get_RawViewWalker(IUIAutomation6 *iface, IUIAutomationTreeWalker **out_walker)
static HRESULT WINAPI uia_iface_ElementFromHandleBuildCache(IUIAutomation6 *iface, UIA_HWND hwnd, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_elem)
static int __cdecl uia_cached_property_id_compare(const void *a, const void *b)
static HRESULT WINAPI uia_element_get_CachedControlType(IUIAutomationElement9 *iface, CONTROLTYPEID *ret_val)
static HRESULT WINAPI uia_element_get_CachedIsDialog(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CachedHelpText(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CurrentFlowsTo(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT create_uia_element_from_cache_req(IUIAutomationElement **iface, BOOL from_cui8, struct UiaCacheRequest *cache_req, LONG start_idx, SAFEARRAY *req_data, BSTR tree_struct)
static HRESULT WINAPI uia_element_get_CurrentFullDescription(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CachedFullDescription(IUIAutomationElement9 *iface, BSTR *ret_val)
HRESULT create_uia_iface(IUnknown **iface, BOOL is_cui8)
static struct uia_bool_condition * impl_from_IUIAutomationBoolCondition(IUIAutomationBoolCondition *iface)
static HRESULT set_find_params_struct(struct UiaFindParams *params, IUIAutomationCondition *cond, int scope, BOOL find_first)
static HRESULT WINAPI uia_iface_ElementFromHandle(IUIAutomation6 *iface, UIA_HWND hwnd, IUIAutomationElement **out_elem)
static HRESULT WINAPI uia_tree_walker_get_Condition(IUIAutomationTreeWalker *iface, IUIAutomationCondition **condition)
static const IUIAutomationPropertyConditionVtbl uia_property_condition_vtbl
static HRESULT WINAPI uia_element_get_CurrentSizeOfSet(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT uia_event_handlers_add_handler(IUnknown *handler_iface, SAFEARRAY *runtime_id, int event_id, struct uia_com_event *event)
static HRESULT WINAPI uia_iface_RemoveNotificationEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, IUIAutomationNotificationEventHandler *handler)
static HRESULT WINAPI uia_cache_request_get_AutomationElementMode(IUIAutomationCacheRequest *iface, enum AutomationElementMode *mode)
static HRESULT WINAPI uia_cache_request_put_TreeFilter(IUIAutomationCacheRequest *iface, IUIAutomationCondition *filter)
static ULONG WINAPI uia_or_condition_AddRef(IUIAutomationOrCondition *iface)
static HRESULT WINAPI uia_element_get_CachedIsEnabled(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_cache_request_put_AutomationElementMode(IUIAutomationCacheRequest *iface, enum AutomationElementMode mode)
static HRESULT WINAPI uia_element_BuildUpdatedCache(IUIAutomationElement9 *iface, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **updated_elem)
static HRESULT WINAPI uia_element_get_CurrentPositionInSet(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_cache_request_Clone(IUIAutomationCacheRequest *iface, IUIAutomationCacheRequest **out_req)
static HRESULT WINAPI uia_element_get_CachedOptimizeForVisualContent(IUIAutomationElement9 *iface, BOOL *ret_val)
static const IUIAutomationBoolConditionVtbl uia_bool_condition_vtbl
static HRESULT WINAPI uia_iface_get_ProxyFactoryMapping(IUIAutomation6 *iface, IUIAutomationProxyFactoryMapping **out_factory_map)
static void uia_event_handler_map_entry_destroy(struct uia_event_handler_map_entry *entry)
static HRESULT WINAPI uia_iface_PollForPotentialSupportedPatterns(IUIAutomation6 *iface, IUIAutomationElement *elem, SAFEARRAY **out_pattern_ids, SAFEARRAY **out_pattern_names)
static HRESULT WINAPI uia_element_FindFirstWithOptions(IUIAutomationElement9 *iface, enum TreeScope scope, IUIAutomationCondition *condition, enum TreeTraversalOptions traversal_opts, IUIAutomationElement *root, IUIAutomationElement **found)
static ULONG WINAPI uia_not_condition_AddRef(IUIAutomationNotCondition *iface)
static struct uia_element * impl_from_IUIAutomationElement9(IUIAutomationElement9 *iface)
static HRESULT WINAPI uia_iface_AddStructureChangedEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, enum TreeScope scope, IUIAutomationCacheRequest *cache_req, IUIAutomationStructureChangedEventHandler *handler)
static int uia_com_event_handler_id_compare(const void *key, const struct rb_entry *entry)
static struct uia_or_condition * impl_from_IUIAutomationOrCondition(IUIAutomationOrCondition *iface)
static HRESULT get_element_variant_from_node_variant(VARIANT *var, BOOL from_cui8, int prop_type)
static HRESULT WINAPI uia_element_get_CurrentLabeledBy(IUIAutomationElement9 *iface, IUIAutomationElement **ret_val)
static HRESULT WINAPI uia_iface_AddEventHandlerGroup(IUIAutomation6 *iface, IUIAutomationElement *elem, IUIAutomationEventHandlerGroup *handler_group)
static ULONG WINAPI uia_tree_walker_Release(IUIAutomationTreeWalker *iface)
static HRESULT WINAPI uia_element_get_CurrentIsRequiredForForm(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CachedLocalizedControlType(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_iface_IntSafeArrayToNativeArray(IUIAutomation6 *iface, SAFEARRAY *sa, int **out_arr, int *out_arr_count)
static HRESULT WINAPI uia_element_get_CurrentItemType(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_iface_CreateAndCondition(IUIAutomation6 *iface, IUIAutomationCondition *cond1, IUIAutomationCondition *cond2, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_iface_CreateOrCondition(IUIAutomation6 *iface, IUIAutomationCondition *cond1, IUIAutomationCondition *cond2, IUIAutomationCondition **out_condition)
static const IUIAutomationTreeWalkerVtbl uia_tree_walker_vtbl
static HRESULT WINAPI uia_iface_CreateAndConditionFromArray(IUIAutomation6 *iface, SAFEARRAY *conds, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_element_get_CachedLandmarkType(IUIAutomationElement9 *iface, LANDMARKTYPEID *ret_val)
static HRESULT WINAPI uia_iface_CreateFalseCondition(IUIAutomation6 *iface, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_element_get_CachedIsDataValidForForm(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CurrentProcessId(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_iface_CreateNotCondition(IUIAutomation6 *iface, IUIAutomationCondition *cond, IUIAutomationCondition **out_condition)
static HRESULT create_uia_cache_request_iface(IUIAutomationCacheRequest **out_cache_req)
static HRESULT WINAPI uia_not_condition_GetChild(IUIAutomationNotCondition *iface, IUIAutomationCondition **child)
static ULONG WINAPI uia_property_condition_AddRef(IUIAutomationPropertyCondition *iface)
static const IUIAutomation6Vtbl uia_iface_vtbl
static HRESULT WINAPI uia_iface_put_ConnectionRecoveryBehavior(IUIAutomation6 *iface, enum ConnectionRecoveryBehaviorOptions conn_recovery_opts)
static HRESULT WINAPI uia_element_get_CachedAutomationId(IUIAutomationElement9 *iface, BSTR *ret_val)
static struct uia_com_event_handlers com_event_handlers
static HRESULT WINAPI uia_iface_put_ConnectionTimeout(IUIAutomation6 *iface, DWORD timeout)
static HRESULT WINAPI uia_element_GetCurrentMetadataValue(IUIAutomationElement9 *iface, int target_id, METADATAID metadata_id, VARIANT *ret_val)
static HRESULT WINAPI uia_property_condition_get_PropertyConditionFlags(IUIAutomationPropertyCondition *iface, enum PropertyConditionFlags *flags)
static HRESULT WINAPI uia_element_FindAll(IUIAutomationElement9 *iface, enum TreeScope scope, IUIAutomationCondition *condition, IUIAutomationElementArray **found)
static HRESULT WINAPI uia_element_get_CachedNativeWindowHandle(IUIAutomationElement9 *iface, UIA_HWND *ret_val)
static HRESULT WINAPI uia_element_array_GetElement(IUIAutomationElementArray *iface, int idx, IUIAutomationElement **out_elem)
static HRESULT uia_com_focus_win_event_callback(struct uia_event *event, void *user_data)
static HRESULT WINAPI uia_tree_walker_NormalizeElementBuildCache(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **normalized)
static HRESULT WINAPI uia_iface_RectToVariant(IUIAutomation6 *iface, RECT rect, VARIANT *out_var)
static HRESULT WINAPI uia_iface_SafeArrayToRectNativeArray(IUIAutomation6 *iface, SAFEARRAY *sa, RECT **out_rect_arr, int *out_rect_arr_count)
static HRESULT WINAPI uia_element_get_CurrentClassName(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CurrentAccessKey(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_ShowContextMenu(IUIAutomationElement9 *iface)
HRESULT uia_com_win_event_callback(DWORD event_id, HWND hwnd, LONG obj_id, LONG child_id, DWORD thread_id, DWORD event_time)
static HRESULT WINAPI uia_element_get_CachedLocalizedLandmarkType(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_tree_walker_GetFirstChildElementBuildCache(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **first)
static HRESULT WINAPI uia_property_condition_get_PropertyId(IUIAutomationPropertyCondition *iface, PROPERTYID *prop_id)
static HRESULT WINAPI uia_element_get_CurrentLiveSetting(IUIAutomationElement9 *iface, enum LiveSetting *ret_val)
static HRESULT WINAPI uia_iface_GetPropertyProgrammaticName(IUIAutomation6 *iface, PROPERTYID prop_id, BSTR *out_name)
static HRESULT WINAPI uia_element_get_CurrentLandmarkType(IUIAutomationElement9 *iface, LANDMARKTYPEID *ret_val)
static const IUIAutomationOrConditionVtbl uia_or_condition_vtbl
static HRESULT WINAPI uia_element_GetCachedPropertyValue(IUIAutomationElement9 *iface, PROPERTYID prop_id, VARIANT *ret_val)
static const IUIAutomationNotConditionVtbl uia_not_condition_vtbl
static HRESULT WINAPI uia_element_get_CurrentAcceleratorKey(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT create_uia_tree_walker(IUIAutomationTreeWalker **out_tree_walker, IUIAutomationCondition *nav_cond)
static HRESULT WINAPI uia_element_get_CachedLevel(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_cache_request_QueryInterface(IUIAutomationCacheRequest *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_iface_CreateOrConditionFromArray(IUIAutomation6 *iface, SAFEARRAY *conds, IUIAutomationCondition **out_condition)
static HRESULT create_uia_element_array_iface(IUIAutomationElementArray **iface, int elements_count)
static HRESULT WINAPI uia_iface_put_TransactionTimeout(IUIAutomation6 *iface, DWORD timeout)
static HRESULT WINAPI uia_cache_request_AddProperty(IUIAutomationCacheRequest *iface, PROPERTYID prop_id)
static HRESULT uia_add_com_event_handler(IUIAutomation6 *iface, EVENTID event_id, IUIAutomationElement *elem, enum TreeScope scope, IUIAutomationCacheRequest *cache_req, REFIID handler_riid, IUnknown *handler_unk)
static HRESULT WINAPI uia_element_get_CachedIsPassword(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_iface_get_TransactionTimeout(IUIAutomation6 *iface, DWORD *out_timeout)
static HRESULT WINAPI uia_iface_AddFocusChangedEventHandler(IUIAutomation6 *iface, IUIAutomationCacheRequest *cache_req, IUIAutomationFocusChangedEventHandler *handler)
static struct uia_element_array * impl_from_IUIAutomationElementArray(IUIAutomationElementArray *iface)
static HRESULT uia_event_handlers_add_handler_to_event_id_map(struct uia_event_handler_map_entry *event_map)
static HRESULT WINAPI uia_iface_RemoveChangesEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, IUIAutomationChangesEventHandler *handler)
static HRESULT uia_remove_com_event_handler(EVENTID event_id, IUIAutomationElement *elem, IUnknown *handler_unk)
static HRESULT WINAPI uia_element_get_CurrentLocalizedControlType(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CurrentLocalizedLandmarkType(IUIAutomationElement9 *iface, BSTR *ret_val)
static ULONG WINAPI uia_or_condition_Release(IUIAutomationOrCondition *iface)
static HRESULT WINAPI uia_element_get_CachedProcessId(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_element_get_CurrentName(IUIAutomationElement9 *iface, BSTR *ret_val)
static BOOL uia_com_focus_handler_advise_node(struct uia_com_event *event, HUIANODE node, HWND hwnd)
static HRESULT WINAPI uia_element_get_CachedFrameworkId(IUIAutomationElement9 *iface, BSTR *ret_val)
static const IUIAutomationCacheRequestVtbl uia_cache_request_vtbl
static HRESULT WINAPI uia_iface_CheckNotSupported(IUIAutomation6 *iface, VARIANT in_val, BOOL *match)
static struct uia_property_condition * impl_from_IUIAutomationPropertyCondition(IUIAutomationPropertyCondition *iface)
static HRESULT WINAPI uia_element_get_CachedSizeOfSet(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_iface_AddPropertyChangedEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, enum TreeScope scope, IUIAutomationCacheRequest *cache_req, IUIAutomationPropertyChangedEventHandler *handler, SAFEARRAY *props)
static HRESULT WINAPI uia_element_FindAllWithOptions(IUIAutomationElement9 *iface, enum TreeScope scope, IUIAutomationCondition *condition, enum TreeTraversalOptions traversal_opts, IUIAutomationElement *root, IUIAutomationElementArray **found)
static HRESULT WINAPI uia_iface_put_AutoSetFocus(IUIAutomation6 *iface, BOOL auto_set_focus)
static HRESULT WINAPI uia_element_get_CachedIsControlElement(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_iface_get_RawViewCondition(IUIAutomation6 *iface, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_element_get_CachedItemType(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CachedItemStatus(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CachedDescribedBy(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT WINAPI uia_iface_PollForPotentialSupportedProperties(IUIAutomation6 *iface, IUIAutomationElement *elem, SAFEARRAY **out_prop_ids, SAFEARRAY **out_prop_names)
static HRESULT WINAPI uia_iface_get_ReservedMixedAttributeValue(IUIAutomation6 *iface, IUnknown **out_unk)
static HRESULT WINAPI uia_element_array_QueryInterface(IUIAutomationElementArray *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_bool_condition_QueryInterface(IUIAutomationBoolCondition *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_element_get_CurrentNativeWindowHandle(IUIAutomationElement9 *iface, UIA_HWND *ret_val)
static HRESULT WINAPI uia_iface_get_ControlViewCondition(IUIAutomation6 *iface, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_iface_get_CoalesceEvents(IUIAutomation6 *iface, enum CoalesceEventsOptions *out_coalesce_events_opts)
static HRESULT WINAPI uia_or_condition_GetChildrenAsNativeArray(IUIAutomationOrCondition *iface, IUIAutomationCondition ***out_children, int *out_children_count)
static HRESULT WINAPI uia_element_get_CurrentHasKeyboardFocus(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_tree_walker_GetPreviousSiblingElement(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationElement **prev)
static HRESULT WINAPI uia_tree_walker_QueryInterface(IUIAutomationTreeWalker *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_element_get_CurrentOptimizeForVisualContent(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CachedPositionInSet(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_iface_get_ConnectionTimeout(IUIAutomation6 *iface, DWORD *out_timeout)
static void uia_variant_rect_to_rect(VARIANT *v, RECT *ret_val)
static void uia_com_focus_win_event_handler(HUIANODE node, HWND hwnd, struct uia_event_handler_event_id_map_entry *event_id_map)
static HRESULT WINAPI uia_element_GetClickablePoint(IUIAutomationElement9 *iface, POINT *clickable, BOOL *got_clickable)
static HRESULT get_uia_condition_struct_from_iface(IUIAutomationCondition *condition, struct UiaCondition **cond_struct)
static void uia_com_focus_win_event_msaa_handler(HWND hwnd, LONG child_id)
static HRESULT WINAPI uia_element_get_CachedAccessKey(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_not_condition_QueryInterface(IUIAutomationNotCondition *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_iface_get_ContentViewWalker(IUIAutomation6 *iface, IUIAutomationTreeWalker **out_walker)
static HRESULT WINAPI uia_element_get_CurrentIsKeyboardFocusable(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_iface_QueryInterface(IUIAutomation6 *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_iface_RemovePropertyChangedEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, IUIAutomationPropertyChangedEventHandler *handler)
static HRESULT WINAPI uia_element_get_CachedName(IUIAutomationElement9 *iface, BSTR *ret_val)
static void uia_elem_get_control_type(VARIANT *v, CONTROLTYPEID *ret_val)
static HRESULT WINAPI uia_element_get_CachedLiveSetting(IUIAutomationElement9 *iface, enum LiveSetting *ret_val)
static HRESULT WINAPI uia_element_get_CurrentAriaProperties(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_iface_RemoveStructureChangedEventHandler(IUIAutomation6 *iface, IUIAutomationElement *elem, IUIAutomationStructureChangedEventHandler *handler)
static HRESULT uia_get_focused_element(IUIAutomation6 *iface, IUIAutomationCacheRequest *cache_req, BOOL use_default_cache_req, IUIAutomationElement **out_elem)
static HRESULT WINAPI uia_iface_CreateCacheRequest(IUIAutomation6 *iface, IUIAutomationCacheRequest **out_cache_req)
static HRESULT WINAPI uia_iface_CreateTrueCondition(IUIAutomation6 *iface, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_tree_walker_GetLastChildElement(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationElement **last)
static ULONG WINAPI uia_property_condition_Release(IUIAutomationPropertyCondition *iface)
static ULONG WINAPI uia_cache_request_Release(IUIAutomationCacheRequest *iface)
static ULONG WINAPI uia_bool_condition_AddRef(IUIAutomationBoolCondition *iface)
static HRESULT WINAPI uia_iface_put_CoalesceEvents(IUIAutomation6 *iface, enum CoalesceEventsOptions coalesce_events_opts)
static const IUIAutomationElementArrayVtbl uia_element_array_vtbl
static HRESULT WINAPI uia_iface_RemoveEventHandlerGroup(IUIAutomation6 *iface, IUIAutomationElement *elem, IUIAutomationEventHandlerGroup *handler_group)
static HRESULT WINAPI uia_or_condition_QueryInterface(IUIAutomationOrCondition *iface, REFIID riid, void **ppv)
static HRESULT WINAPI uia_tree_walker_GetLastChildElementBuildCache(IUIAutomationTreeWalker *iface, IUIAutomationElement *elem, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **last)
static HRESULT WINAPI uia_element_get_CachedIsKeyboardFocusable(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_iface_ElementFromIAccessible(IUIAutomation6 *iface, IAccessible *acc, int cid, IUIAutomationElement **out_elem)
static ULONG WINAPI uia_element_array_AddRef(IUIAutomationElementArray *iface)
static HRESULT WINAPI uia_iface_AddAutomationEventHandler(IUIAutomation6 *iface, EVENTID event_id, IUIAutomationElement *elem, enum TreeScope scope, IUIAutomationCacheRequest *cache_req, IUIAutomationEventHandler *handler)
static struct uia_not_condition * impl_from_IUIAutomationNotCondition(IUIAutomationNotCondition *iface)
static ULONG WINAPI uia_not_condition_Release(IUIAutomationNotCondition *iface)
static void uia_event_handler_destroy(struct uia_com_event *event)
static HRESULT create_uia_not_condition_iface(IUIAutomationCondition **out_cond, IUIAutomationCondition *in_cond)
static HRESULT WINAPI uia_element_get_CurrentHeadingLevel(IUIAutomationElement9 *iface, HEADINGLEVELID *ret_val)
static HRESULT WINAPI uia_element_get_CachedAriaRole(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_get_CachedAriaProperties(IUIAutomationElement9 *iface, BSTR *ret_val)
static HRESULT WINAPI uia_element_FindAllBuildCache(IUIAutomationElement9 *iface, enum TreeScope scope, IUIAutomationCondition *condition, IUIAutomationCacheRequest *cache_req, IUIAutomationElementArray **found)
static CRITICAL_SECTION com_event_handlers_cs
static HRESULT WINAPI uia_iface_CompareRuntimeIds(IUIAutomation6 *iface, SAFEARRAY *rt_id1, SAFEARRAY *rt_id2, BOOL *match)
static HRESULT WINAPI uia_iface_CreatePropertyCondition(IUIAutomation6 *iface, PROPERTYID prop_id, VARIANT val, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_element_get_CurrentFlowsFrom(IUIAutomationElement9 *iface, IUIAutomationElementArray **ret_val)
static HRESULT WINAPI uia_element_GetCachedPattern(IUIAutomationElement9 *iface, PATTERNID pattern_id, IUnknown **patternObject)
static HRESULT WINAPI uia_bool_condition_get_BooleanValue(IUIAutomationBoolCondition *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CurrentLevel(IUIAutomationElement9 *iface, int *ret_val)
static HRESULT WINAPI uia_element_get_CachedIsContentElement(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_element_get_CurrentAnnotationTypes(IUIAutomationElement9 *iface, SAFEARRAY **ret_val)
static HRESULT WINAPI uia_iface_get_ContentViewCondition(IUIAutomation6 *iface, IUIAutomationCondition **out_condition)
static HRESULT WINAPI uia_element_get_CurrentIsPeripheral(IUIAutomationElement9 *iface, BOOL *ret_val)
static HRESULT WINAPI uia_iface_RemoveAllEventHandlers(IUIAutomation6 *iface)
static HRESULT WINAPI uia_iface_ElementFromIAccessibleBuildCache(IUIAutomation6 *iface, IAccessible *acc, int cid, IUIAutomationCacheRequest *cache_req, IUIAutomationElement **out_elem)
HRESULT uia_add_clientside_event(HUIANODE huianode, EVENTID event_id, enum TreeScope scope, PROPERTYID *prop_ids, int prop_ids_count, struct UiaCacheRequest *cache_req, SAFEARRAY *rt_id, UiaWineEventCallback *cback, void *cback_data, HUIAEVENT *huiaevent)
HRESULT uia_event_check_node_within_event_scope(struct uia_event *event, HUIANODE node, SAFEARRAY *rt_id, HUIANODE *clientside_nav_node_out)
HRESULT WINAPI UiaRemoveEvent(HUIAEVENT huiaevent)
BOOL uia_clientside_event_start_event_thread(struct uia_event *event)
HRESULT create_msaa_provider_from_hwnd(HWND hwnd, int in_child_id, IRawElementProviderSimple **ret_elprov)
HRESULT uia_event_advise_node(struct uia_event *event, HUIANODE node)
HRESULT uia_event_for_each(int event_id, UiaWineEventForEachCallback *callback, void *user_data, BOOL clientside_only)
HRESULT uia_event_invoke(HUIANODE node, HUIANODE nav_start_node, struct uia_event_args *args, struct uia_event *event)
const struct uia_control_type_info * uia_control_type_info_from_id(CONTROLTYPEID control_type_id)
const struct uia_prop_info * uia_prop_info_from_id(PROPERTYID prop_id)
HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value)
HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value)
BOOL uia_hwnd_is_visible(HWND hwnd)
void uia_hwnd_map_init(struct rb_tree *hwnd_map)
HRESULT register_interface_in_git(IUnknown *iface, REFIID riid, DWORD *ret_cookie)
HRESULT get_interface_in_git(REFIID riid, DWORD git_cookie, IUnknown **ret_iface)
@ NODE_FLAG_IGNORE_CLIENTSIDE_HWND_PROVS
BOOL uia_hwnd_map_check_hwnd(struct rb_tree *hwnd_map, HWND hwnd)
HRESULT uia_hwnd_map_add_hwnd(struct rb_tree *hwnd_map, HWND hwnd)
HRESULT get_safearray_bounds(SAFEARRAY *sa, LONG *lbound, LONG *elems)
void uia_hwnd_map_destroy(struct rb_tree *hwnd_map)
void uia_hwnd_map_remove_hwnd(struct rb_tree *hwnd_map, HWND hwnd)
static struct uia_node * impl_from_IWineUiaNode(IWineUiaNode *iface)
HRESULT unregister_interface_in_git(DWORD git_cookie)
@ PROV_METHOD_FLAG_RETURN_NODE_LRES
int uia_compare_safearrays(SAFEARRAY *sa1, SAFEARRAY *sa2, int prop_type)
static BOOL uia_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, SIZE_T size)
@ AutomationElementMode_Full
@ AutomationElementMode_None
ConnectionRecoveryBehaviorOptions
@ PropertyConditionFlags_None
@ NavigateDirection_NextSibling
@ NavigateDirection_PreviousSibling
@ NavigateDirection_Parent
@ NavigateDirection_LastChild
@ NavigateDirection_FirstChild
#define UIA_E_ELEMENTNOTAVAILABLE
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI VariantInit(VARIANTARG *pVarg)
HRESULT WINAPI VariantCopy(VARIANTARG *pvargDest, VARIANTARG *pvargSrc)
static const WCHAR props[]
BOOL WINAPI GetGUIThreadInfo(DWORD, LPGUITHREADINFO)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
HWND WINAPI GetDesktopWindow(void)