user32/tests: Add DBCS WM_CHAR tests for edit control.
[wine.git] / include / uiautomationclient.idl
blobffef7b840fb51bf758a3a691db6ba9948169058d
1 /*
2 * Copyright 2012 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #define DO_NO_IMPORTS
20 import "uiautomationcore.idl";
22 cpp_quote( "#ifndef _INC_UIAUTOMATIONCOREAPI" )
24 enum TreeScope {
25 TreeScope_Element = 0x01,
26 TreeScope_Children = 0x02,
27 TreeScope_Descendants = 0x04,
28 TreeScope_Parent = 0x08,
29 TreeScope_Ancestors = 0x10,
30 TreeScope_SubTree = TreeScope_Element | TreeScope_Children | TreeScope_Descendants,
33 enum PropertyConditionFlags {
34 PropertyConditionFlags_None = 0x00,
35 PropertyConditionFlags_IgnoreCase = 0x01,
38 enum AutomationElementMode {
39 AutomationElementMode_None = 0x00,
40 AutomationElementMode_Full = 0x01,
43 enum TreeTraversalOptions {
44 TreeTraversalOptions_Default = 0x00,
45 TreeTraversalOptions_PostOrder = 0x01,
46 TreeTraversalOptions_LastToFirstOrder = 0x02,
49 enum ConnectionRecoveryBehaviorOptions {
50 ConnectionRecoveryBehaviorOptions_Disabled = 0x00,
51 ConnectionRecoveryBehaviorOptions_Enabled = 0x01,
54 enum CoalesceEventsOptions {
55 CoalesceEventsOptions_Disabled = 0x00,
56 CoalesceEventsOptions_Enabled = 0x01,
59 cpp_quote( "#endif" )
61 struct ExtendedProperty
63 BSTR PropertyName;
64 BSTR PropertyValue;
67 typedef void * UIA_HWND;
70 uuid(944de083-8fb8-45cf-bcb7-c477acb2f897),
71 lcid(0),
72 version(1.0)
74 library UIAutomationClient {
75 importlib ("stdole2.tlb");
77 /* FIXME: Uncomment when properly supported in widl
78 [dllname("<no entry points>")]
79 module UIA_PatternIds
82 const long UIA_InvokePatternId = 10000;
83 const long UIA_SelectionPatternId = 10001;
84 const long UIA_ValuePatternId = 10002;
85 const long UIA_RangeValuePatternId = 10003;
86 const long UIA_ScrollPatternId = 10004;
87 const long UIA_ExpandCollapsePatternId = 10005;
88 const long UIA_GridPatternId = 10006;
89 const long UIA_GridItemPatternId = 10007;
90 const long UIA_MultipleViewPatternId = 10008;
91 const long UIA_WindowPatternId = 10009;
92 const long UIA_SelectionItemPatternId = 10010;
93 const long UIA_DockPatternId = 10011;
94 const long UIA_TablePatternId = 10012;
95 const long UIA_TableItemPatternId = 10013;
96 const long UIA_TextPatternId = 10014;
97 const long UIA_TogglePatternId = 10015;
98 const long UIA_TransformPatternId = 10016;
99 const long UIA_ScrollItemPatternId = 10017;
100 const long UIA_LegacyIAccessiblePatternId = 10018;
101 const long UIA_ItemContainerPatternId = 10019;
102 const long UIA_VirtualizedItemPatternId = 10020;
103 const long UIA_SynchronizedInputPatternId = 10021;
104 const long UIA_ObjectModelPatternId = 10022;
105 const long UIA_AnnotationPatternId = 10023;
106 const long UIA_TextPattern2Id = 10024;
107 const long UIA_StylesPatternId = 10025;
108 const long UIA_SpreadsheetPatternId = 10026;
109 const long UIA_SpreadsheetItemPatternId = 10027;
110 const long UIA_TransformPattern2Id = 10028;
111 const long UIA_TextChildPatternId = 10029;
112 const long UIA_DragPatternId = 10030;
113 const long UIA_DropTargetPatternId = 10031;
114 const long UIA_TextEditPatternId = 10032;
115 const long UIA_CustomNavigationPatternId = 10033;
120 /* FIXME: Uncomment when properly supported in widl
121 [dllname("<no entry points>")]
122 module UIA_EventIds
125 const long UIA_ToolTipOpenedEventId = 20000;
126 const long UIA_ToolTipClosedEventId = 20001;
127 const long UIA_StructureChangedEventId = 20002;
128 const long UIA_MenuOpenedEventId = 20003;
129 const long UIA_AutomationPropertyChangedEventId = 20004;
130 const long UIA_AutomationFocusChangedEventId = 20005;
131 const long UIA_AsyncContentLoadedEventId = 20006;
132 const long UIA_MenuClosedEventId = 20007;
133 const long UIA_LayoutInvalidatedEventId = 20008;
134 const long UIA_Invoke_InvokedEventId = 20009;
135 const long UIA_SelectionItem_ElementAddedToSelectionEventId = 20010;
136 const long UIA_SelectionItem_ElementRemovedFromSelectionEventId = 20011;
137 const long UIA_SelectionItem_ElementSelectedEventId= 20012;
138 const long UIA_Selection_InvalidatedEventId = 20013;
139 const long UIA_Text_TextSelectionChangedEventId = 20014;
140 const long UIA_Text_TextChangedEventId = 20015;
141 const long UIA_Window_WindowOpenedEventId = 20016;
142 const long UIA_Window_WindowClosedEventId = 20017;
143 const long UIA_MenuModeStartEventId = 20018;
144 const long UIA_MenuModeEndEventId = 20019;
145 const long UIA_InputReachedTargetEventId = 20020;
146 const long UIA_InputReachedOtherElementEventId = 20021;
147 const long UIA_InputDiscardedEventId = 20022;
148 const long UIA_SystemAlertEventId = 20023;
149 const long UIA_LiveRegionChangedEventId = 20024;
150 const long UIA_HostedFragmentRootsInvalidatedEventId = 20025;
151 const long UIA_Drag_DragStartEventId = 20026;
152 const long UIA_Drag_DragCancelEventId = 20027;
153 const long UIA_Drag_DragCompleteEventId = 20028;
154 const long UIA_DropTarget_DragEnterEventId = 20029;
155 const long UIA_DropTarget_DragLeaveEventId = 20030;
156 const long UIA_DropTarget_DroppedEventId = 20031;
157 const long UIA_TextEdit_TextChangedEventId = 20032;
158 const long UIA_TextEdit_ConversionTargetChangedEventId = 20033;
163 /* FIXME: Uncomment when properly supported in widl
164 [dllname("<no entry points>")]
165 module UIA_PropertyIds
168 const long UIA_RuntimeIdPropertyId = 30000;
169 const long UIA_BoundingRectanglePropertyId = 30001;
170 const long UIA_ProcessIdPropertyId = 30002;
171 const long UIA_ControlTypePropertyId = 30003;
172 const long UIA_LocalizedControlTypePropertyId = 30004;
173 const long UIA_NamePropertyId = 30005;
174 const long UIA_AcceleratorKeyPropertyId = 30006;
175 const long UIA_AccessKeyPropertyId = 30007;
176 const long UIA_HasKeyboardFocusPropertyId = 30008;
177 const long UIA_IsKeyboardFocusablePropertyId = 30009;
178 const long UIA_IsEnabledPropertyId = 30010;
179 const long UIA_AutomationIdPropertyId = 30011;
180 const long UIA_ClassNamePropertyId = 30012;
181 const long UIA_HelpTextPropertyId = 30013;
182 const long UIA_ClickablePointPropertyId = 30014;
183 const long UIA_CulturePropertyId = 30015;
184 const long UIA_IsControlElementPropertyId = 30016;
185 const long UIA_IsContentElementPropertyId = 30017;
186 const long UIA_LabeledByPropertyId = 30018;
187 const long UIA_IsPasswordPropertyId = 30019;
188 const long UIA_NativeWindowHandlePropertyId = 30020;
189 const long UIA_ItemTypePropertyId = 30021;
190 const long UIA_IsOffscreenPropertyId = 30022;
191 const long UIA_OrientationPropertyId = 30023;
192 const long UIA_FrameworkIdPropertyId = 30024;
193 const long UIA_IsRequiredForFormPropertyId = 30025;
194 const long UIA_ItemStatusPropertyId = 30026;
195 const long UIA_IsDockPatternAvailablePropertyId = 30027;
196 const long UIA_IsExpandCollapsePatternAvailablePropertyId = 30028;
197 const long UIA_IsGridItemPatternAvailablePropertyId = 30029;
198 const long UIA_IsGridPatternAvailablePropertyId = 30030;
199 const long UIA_IsInvokePatternAvailablePropertyId = 30031;
200 const long UIA_IsMultipleViewPatternAvailablePropertyId = 30032;
201 const long UIA_IsRangeValuePatternAvailablePropertyId = 30033;
202 const long UIA_IsScrollPatternAvailablePropertyId = 30034;
203 const long UIA_IsScrollItemPatternAvailablePropertyId = 30035;
204 const long UIA_IsSelectionItemPatternAvailablePropertyId = 30036;
205 const long UIA_IsSelectionPatternAvailablePropertyId = 30037;
206 const long UIA_IsTablePatternAvailablePropertyId = 30038;
207 const long UIA_IsTableItemPatternAvailablePropertyId = 30039;
208 const long UIA_IsTextPatternAvailablePropertyId = 30040;
209 const long UIA_IsTogglePatternAvailablePropertyId = 30041;
210 const long UIA_IsTransformPatternAvailablePropertyId = 30042;
211 const long UIA_IsValuePatternAvailablePropertyId = 30043;
212 const long UIA_IsWindowPatternAvailablePropertyId = 30044;
213 const long UIA_ValueValuePropertyId = 30045;
214 const long UIA_ValueIsReadOnlyPropertyId = 30046;
215 const long UIA_RangeValueValuePropertyId = 30047;
216 const long UIA_RangeValueIsReadOnlyPropertyId = 30048;
217 const long UIA_RangeValueMinimumPropertyId = 30049;
218 const long UIA_RangeValueMaximumPropertyId = 30050;
219 const long UIA_RangeValueLargeChangePropertyId = 30051;
220 const long UIA_RangeValueSmallChangePropertyId = 30052;
221 const long UIA_ScrollHorizontalScrollPercentPropertyId = 30053;
222 const long UIA_ScrollHorizontalViewSizePropertyId = 30054;
223 const long UIA_ScrollVerticalScrollPercentPropertyId = 30055;
224 const long UIA_ScrollVerticalViewSizePropertyId = 30056;
225 const long UIA_ScrollHorizontallyScrollablePropertyId = 30057;
226 const long UIA_ScrollVerticallyScrollablePropertyId = 30058;
227 const long UIA_SelectionSelectionPropertyId = 30059;
228 const long UIA_SelectionCanSelectMultiplePropertyId = 30060;
229 const long UIA_SelectionIsSelectionRequiredPropertyId = 30061;
230 const long UIA_GridRowCountPropertyId = 30062;
231 const long UIA_GridColumnCountPropertyId = 30063;
232 const long UIA_GridItemRowPropertyId = 30064;
233 const long UIA_GridItemColumnPropertyId = 30065;
234 const long UIA_GridItemRowSpanPropertyId = 30066;
235 const long UIA_GridItemColumnSpanPropertyId = 30067;
236 const long UIA_GridItemContainingGridPropertyId = 30068;
237 const long UIA_DockDockPositionPropertyId = 30069;
238 const long UIA_ExpandCollapseExpandCollapseStatePropertyId = 30070;
239 const long UIA_MultipleViewCurrentViewPropertyId = 30071;
240 const long UIA_MultipleViewSupportedViewsPropertyId = 30072;
241 const long UIA_WindowCanMaximizePropertyId = 30073;
242 const long UIA_WindowCanMinimizePropertyId = 30074;
243 const long UIA_WindowWindowVisualStatePropertyId = 30075;
244 const long UIA_WindowWindowInteractionStatePropertyId = 30076;
245 const long UIA_WindowIsModalPropertyId = 30077;
246 const long UIA_WindowIsTopmostPropertyId = 30078;
247 const long UIA_SelectionItemIsSelectedPropertyId = 30079;
248 const long UIA_SelectionItemSelectionContainerPropertyId = 30080;
249 const long UIA_TableRowHeadersPropertyId = 30081;
250 const long UIA_TableColumnHeadersPropertyId = 30082;
251 const long UIA_TableRowOrColumnMajorPropertyId = 30083;
252 const long UIA_TableItemRowHeaderItemsPropertyId = 30084;
253 const long UIA_TableItemColumnHeaderItemsPropertyId = 30085;
254 const long UIA_ToggleToggleStatePropertyId = 30086;
255 const long UIA_TransformCanMovePropertyId = 30087;
256 const long UIA_TransformCanResizePropertyId = 30088;
257 const long UIA_TransformCanRotatePropertyId = 30089;
258 const long UIA_IsLegacyIAccessiblePatternAvailablePropertyId = 30090;
259 const long UIA_LegacyIAccessibleChildIdPropertyId = 30091;
260 const long UIA_LegacyIAccessibleNamePropertyId = 30092;
261 const long UIA_LegacyIAccessibleValuePropertyId = 30093;
262 const long UIA_LegacyIAccessibleDescriptionPropertyId = 30094;
263 const long UIA_LegacyIAccessibleRolePropertyId = 30095;
264 const long UIA_LegacyIAccessibleStatePropertyId = 30096;
265 const long UIA_LegacyIAccessibleHelpPropertyId = 30097;
266 const long UIA_LegacyIAccessibleKeyboardShortcutPropertyId = 30098;
267 const long UIA_LegacyIAccessibleSelectionPropertyId = 30099;
268 const long UIA_LegacyIAccessibleDefaultActionPropertyId = 30100;
269 const long UIA_AriaRolePropertyId = 30101;
270 const long UIA_AriaPropertiesPropertyId = 30102;
271 const long UIA_IsDataValidForFormPropertyId = 30103;
272 const long UIA_ControllerForPropertyId = 30104;
273 const long UIA_DescribedByPropertyId = 30105;
274 const long UIA_FlowsToPropertyId = 30106;
275 const long UIA_ProviderDescriptionPropertyId = 30107;
276 const long UIA_IsItemContainerPatternAvailablePropertyId = 30108;
277 const long UIA_IsVirtualizedItemPatternAvailablePropertyId = 30109;
278 const long UIA_IsSynchronizedInputPatternAvailablePropertyId = 30110;
279 const long UIA_OptimizeForVisualContentPropertyId = 30111;
280 const long UIA_IsObjectModelPatternAvailablePropertyId = 30112;
281 const long UIA_AnnotationAnnotationTypeIdPropertyId = 30113;
282 const long UIA_AnnotationAnnotationTypeNamePropertyId = 30114;
283 const long UIA_AnnotationAuthorPropertyId = 30115;
284 const long UIA_AnnotationDateTimePropertyId = 30116;
285 const long UIA_AnnotationTargetPropertyId = 30117;
286 const long UIA_IsAnnotationPatternAvailablePropertyId = 30118;
287 const long UIA_IsTextPattern2AvailablePropertyId = 30119;
288 const long UIA_StylesStyleIdPropertyId = 30120;
289 const long UIA_StylesStyleNamePropertyId = 30121;
290 const long UIA_StylesFillColorPropertyId = 30122;
291 const long UIA_StylesFillPatternStylePropertyId = 30123;
292 const long UIA_StylesShapePropertyId = 30124;
293 const long UIA_StylesFillPatternColorPropertyId = 30125;
294 const long UIA_StylesExtendedPropertiesPropertyId = 30126;
295 const long UIA_IsStylesPatternAvailablePropertyId = 30127;
296 const long UIA_IsSpreadsheetPatternAvailablePropertyId = 30128;
297 const long UIA_SpreadsheetItemFormulaPropertyId = 30129;
298 const long UIA_SpreadsheetItemAnnotationObjectsPropertyId = 30130;
299 const long UIA_SpreadsheetItemAnnotationTypesPropertyId = 30131;
300 const long UIA_IsSpreadsheetItemPatternAvailablePropertyId = 30132;
301 const long UIA_Transform2CanZoomPropertyId = 30133;
302 const long UIA_IsTransformPattern2AvailablePropertyId = 30134;
303 const long UIA_LiveSettingPropertyId = 30135;
304 const long UIA_IsTextChildPatternAvailablePropertyId = 30136;
305 const long UIA_IsDragPatternAvailablePropertyId = 30137;
306 const long UIA_DragIsGrabbedPropertyId = 30138;
307 const long UIA_DragDropEffectPropertyId = 30139;
308 const long UIA_DragDropEffectsPropertyId = 30140;
309 const long UIA_IsDropTargetPatternAvailablePropertyId = 30141;
310 const long UIA_DropTargetDropTargetEffectPropertyId = 30142;
311 const long UIA_DropTargetDropTargetEffectsPropertyId = 30143;
312 const long UIA_DragGrabbedItemsPropertyId = 30144;
313 const long UIA_Transform2ZoomLevelPropertyId = 30145;
314 const long UIA_Transform2ZoomMinimumPropertyId = 30146;
315 const long UIA_Transform2ZoomMaximumPropertyId = 30147;
316 const long UIA_FlowsFromPropertyId = 30148;
317 const long UIA_IsTextEditPatternAvailablePropertyId = 30149;
318 const long UIA_IsPeripheralPropertyId = 30150;
319 const long UIA_IsCustomNavigationPatternAvailablePropertyId = 30151;
320 const long UIA_PositionInSetPropertyId = 30152;
321 const long UIA_SizeOfSetPropertyId = 30153;
322 const long UIA_LevelPropertyId = 30154;
323 const long UIA_AnnotationTypesPropertyId = 30155;
324 const long UIA_AnnotationObjectsPropertyId = 30156;
325 const long UIA_LandmarkTypePropertyId = 30157;
326 const long UIA_LocalizedLandmarkTypePropertyId = 30158;
327 const long UIA_FullDescriptionPropertyId = 30159;
328 const long UIA_FillColorPropertyId = 30160;
329 const long UIA_OutlineColorPropertyId = 30161;
330 const long UIA_FillTypePropertyId = 30162;
331 const long UIA_VisualEffectsPropertyId = 30163;
332 const long UIA_OutlineThicknessPropertyId = 30164;
333 const long UIA_CenterPointPropertyId = 30165;
334 const long UIA_RotationPropertyId = 30166;
335 const long UIA_SizePropertyId = 30167;
336 const long UIA_IsSelectionPattern2AvailablePropertyId = 30168;
337 const long UIA_Selection2FirstSelectedItemPropertyId = 30169;
338 const long UIA_Selection2LastSelectedItemPropertyId = 30170;
339 const long UIA_Selection2CurrentSelectedItemPropertyId = 30171;
340 const long UIA_Selection2ItemCountPropertyId = 30172;
341 const long UIA_HeadingLevelPropertyId = 30173;
342 const long UIA_IsDialogPropertyId = 30174;
346 /* FIXME: Uncomment when properly supported in widl
347 [dllname("<no entry points>")]
348 module UIA_ControlTypeIds
351 const long UIA_ButtonControlTypeId = 50000;
352 const long UIA_CalendarControlTypeId = 50001;
353 const long UIA_CheckBoxControlTypeId = 50002;
354 const long UIA_ComboBoxControlTypeId = 50003;
355 const long UIA_EditControlTypeId = 50004;
356 const long UIA_HyperlinkControlTypeId = 50005;
357 const long UIA_ImageControlTypeId = 50006;
358 const long UIA_ListItemControlTypeId = 50007;
359 const long UIA_ListControlTypeId = 50008;
360 const long UIA_MenuControlTypeId = 50009;
361 const long UIA_MenuBarControlTypeId = 50010;
362 const long UIA_MenuItemControlTypeId = 50011;
363 const long UIA_ProgressBarControlTypeId = 50012;
364 const long UIA_RadioButtonControlTypeId = 50013;
365 const long UIA_ScrollBarControlTypeId = 50014;
366 const long UIA_SliderControlTypeId = 50015;
367 const long UIA_SpinnerControlTypeId = 50016;
368 const long UIA_StatusBarControlTypeId = 50017;
369 const long UIA_TabControlTypeId = 50018;
370 const long UIA_TabItemControlTypeId = 50019;
371 const long UIA_TextControlTypeId = 50020;
372 const long UIA_ToolBarControlTypeId = 50021;
373 const long UIA_ToolTipControlTypeId = 50022;
374 const long UIA_TreeControlTypeId = 50023;
375 const long UIA_TreeItemControlTypeId = 50024;
376 const long UIA_CustomControlTypeId = 50025;
377 const long UIA_GroupControlTypeId = 50026;
378 const long UIA_ThumbControlTypeId = 50027;
379 const long UIA_DataGridControlTypeId = 50028;
380 const long UIA_DataItemControlTypeId = 50029;
381 const long UIA_DocumentControlTypeId = 50030;
382 const long UIA_SplitButtonControlTypeId = 50031;
383 const long UIA_WindowControlTypeId = 50032;
384 const long UIA_PaneControlTypeId = 50033;
385 const long UIA_HeaderControlTypeId = 50034;
386 const long UIA_HeaderItemControlTypeId = 50035;
387 const long UIA_TableControlTypeId = 50036;
388 const long UIA_TitleBarControlTypeId = 50037;
389 const long UIA_SeparatorControlTypeId = 50038;
390 const long UIA_SemanticZoomControlTypeId = 50039;
391 const long UIA_AppBarControlTypeId = 50040;
396 interface IUIAutomationElement;
397 interface IUIAutomationElementArray;
400 object,
401 uuid(352ffba8-0973-437c-a61f-f64cafd81df9),
402 pointer_default(unique)
404 interface IUIAutomationCondition : IUnknown
409 object,
410 uuid(1b4e1f2e-75eb-4d0b-8952-5a69988e2307),
411 pointer_default(unique)
413 interface IUIAutomationBoolCondition : IUIAutomationCondition
415 [propget] HRESULT BooleanValue([out, retval] BOOL *boolVal);
419 object,
420 uuid(99ebf2cb-5578-4267-9ad4-afd6ea77e94b),
421 pointer_default(unique)
423 interface IUIAutomationPropertyCondition : IUIAutomationCondition
425 [propget] HRESULT PropertyId([out, retval] PROPERTYID *propertyId);
426 [propget] HRESULT PropertyValue([out, retval] VARIANT *propertyValue);
427 [propget] HRESULT PropertyConditionFlags([out, retval] enum PropertyConditionFlags *flags);
431 object,
432 uuid(a7d0af36-b912-45fe-9855-091ddc174aec),
433 pointer_default(unique)
435 interface IUIAutomationAndCondition : IUIAutomationCondition
437 [propget] HRESULT ChildCount([out, retval] int *childCount);
439 HRESULT GetChildrenAsNativeArray(
440 [out, size_is( ,*childArrayCount)] IUIAutomationCondition ***childArray,
441 [out] int *childArrayCount);
443 HRESULT GetChildren([out, retval] SAFEARRAY(IUIAutomationCondition) *childArray);
447 object,
448 uuid(8753f032-3db1-47b5-a1fc-6e34a266c712),
449 pointer_default(unique)
451 interface IUIAutomationOrCondition : IUIAutomationCondition
453 [propget] HRESULT ChildCount([out, retval] int *childCount);
455 HRESULT GetChildrenAsNativeArray(
456 [out, size_is( ,*childArrayCount)] IUIAutomationCondition ***childArray,
457 [out] int *childArrayCount);
459 HRESULT GetChildren([out, retval] SAFEARRAY(IUIAutomationCondition) *childArray);
463 object,
464 uuid(f528b657-847b-498c-8896-d52b565407a1),
465 pointer_default(unique)
467 interface IUIAutomationNotCondition : IUIAutomationCondition
469 HRESULT GetChild([out, retval] IUIAutomationCondition **condition);
473 object,
474 uuid(b32a92b5-bc25-4078-9c08-d7ee95c48e03),
475 pointer_default(unique)
477 interface IUIAutomationCacheRequest : IUnknown
479 HRESULT AddProperty([in] PROPERTYID propertyId);
480 HRESULT AddPattern([in] PATTERNID patternId);
481 HRESULT Clone([out, retval] IUIAutomationCacheRequest **clonedRequest);
483 [propget] HRESULT TreeScope([out, retval] enum TreeScope *scope);
484 [propput] HRESULT TreeScope([in] enum TreeScope scope);
485 [propget] HRESULT TreeFilter([out, retval] IUIAutomationCondition **filter);
486 [propput] HRESULT TreeFilter([in] IUIAutomationCondition *filter);
487 [propget] HRESULT AutomationElementMode([out, retval] enum AutomationElementMode *mode);
488 [propput] HRESULT AutomationElementMode([in] enum AutomationElementMode mode);
492 object,
493 uuid(4042c624-389c-4afc-a630-9df854a541fc),
494 pointer_default(unique)
496 interface IUIAutomationTreeWalker : IUnknown
498 HRESULT GetParentElement(
499 [in] IUIAutomationElement *element,
500 [out, retval] IUIAutomationElement **parent);
501 HRESULT GetFirstChildElement(
502 [in] IUIAutomationElement *element,
503 [out, retval] IUIAutomationElement **first);
504 HRESULT GetLastChildElement(
505 [in] IUIAutomationElement *element,
506 [out, retval] IUIAutomationElement **last);
507 HRESULT GetNextSiblingElement(
508 [in] IUIAutomationElement *element,
509 [out, retval] IUIAutomationElement **next);
510 HRESULT GetPreviousSiblingElement(
511 [in] IUIAutomationElement *element,
512 [out, retval] IUIAutomationElement **previous);
513 HRESULT NormalizeElement(
514 [in] IUIAutomationElement *element,
515 [out, retval] IUIAutomationElement **normalized);
517 HRESULT GetParentElementBuildCache(
518 [in] IUIAutomationElement *element,
519 [in] IUIAutomationCacheRequest *cacheRequest,
520 [out, retval] IUIAutomationElement **parent);
521 HRESULT GetFirstChildElementBuildCache(
522 [in] IUIAutomationElement *element,
523 [in] IUIAutomationCacheRequest *cacheRequest,
524 [out, retval] IUIAutomationElement **first);
525 HRESULT GetLastChildElementBuildCache(
526 [in] IUIAutomationElement *element,
527 [in] IUIAutomationCacheRequest *cacheRequest,
528 [out, retval] IUIAutomationElement **last);
529 HRESULT GetNextSiblingElementBuildCache(
530 [in] IUIAutomationElement *element,
531 [in] IUIAutomationCacheRequest *cacheRequest,
532 [out, retval] IUIAutomationElement **next);
533 HRESULT GetPreviousSiblingElementBuildCache(
534 [in] IUIAutomationElement *element,
535 [in] IUIAutomationCacheRequest *cacheRequest,
536 [out, retval] IUIAutomationElement **previous);
537 HRESULT NormalizeElementBuildCache(
538 [in] IUIAutomationElement *element,
539 [in] IUIAutomationCacheRequest *cacheRequest,
540 [out, retval] IUIAutomationElement **normalized);
542 [propget] HRESULT Condition([out, retval] IUIAutomationCondition **condition);
546 object,
547 uuid(146c3c17-f12e-4e22-8c27-f894b9b79c69),
548 pointer_default(unique),
549 oleautomation
551 interface IUIAutomationEventHandler : IUnknown
553 HRESULT HandleAutomationEvent(
554 [in] IUIAutomationElement *sender,
555 [in] EVENTID eventId);
559 object,
560 uuid(40cd37d4-c756-4b0c-8c6f-bddfeeb13b50),
561 pointer_default(unique),
562 oleautomation
564 interface IUIAutomationPropertyChangedEventHandler : IUnknown
566 HRESULT HandlePropertyChangedEvent(
567 [in] IUIAutomationElement *sender,
568 [in] PROPERTYID propertyId,
569 [in] VARIANT newValue);
573 object,
574 uuid(e81d1b4e-11c5-42f8-9754-e7036c79f054),
575 pointer_default(unique),
576 oleautomation
578 interface IUIAutomationStructureChangedEventHandler : IUnknown
580 HRESULT HandleStructureChangedEvent(
581 [in] IUIAutomationElement *sender,
582 [in] enum StructureChangeType changeType,
583 [in] SAFEARRAY(int) runtimeId);
587 object,
588 uuid(c270f6b5-5c69-4290-9745-7a7f97169468),
589 pointer_default(unique),
590 oleautomation
592 interface IUIAutomationFocusChangedEventHandler : IUnknown
594 HRESULT HandleFocusChangedEvent([in] IUIAutomationElement *sender);
598 object,
599 uuid(92faa680-e704-4156-931a-e32d5bb38f3f),
600 pointer_default(unique),
601 oleautomation
603 interface IUIAutomationTextEditTextChangedEventHandler : IUnknown
605 HRESULT HandleTextEditTextChangedEvent(
606 [in] IUIAutomationElement *sender,
607 [in] enum TextEditChangeType textEditChangeType,
608 [in] SAFEARRAY(BSTR) eventStrings);
612 object,
613 uuid(58edca55-2c3e-4980-b1b9-56c17f27a2a0),
614 pointer_default(unique),
615 oleautomation
617 interface IUIAutomationChangesEventHandler : IUnknown
619 HRESULT HandleChangesEvent(
620 [in] IUIAutomationElement *sender,
621 [in, size_is(changesCount)] struct UiaChangeInfo *uiaChanges,
622 [in] int changesCount);
625 interface IUIAutomationNotificationEventHandler;
627 interface IUIAutomationInvokePattern;
628 interface IUIAutomationDockPattern;
629 interface IUIAutomationExpandCollapsePattern;
630 interface IUIAutomationGridPattern;
631 interface IUIAutomationGridItemPattern;
632 interface IUIAutomationMultipleViewPattern;
633 interface IUIAutomationObjectModelPattern;
634 interface IUIAutomationRangeValuePattern;
635 interface IUIAutomationScrollPattern;
636 interface IUIAutomationScrollItemPattern;
637 interface IUIAutomationSelectionPattern;
638 interface IUIAutomationSelectionItemPattern;
639 interface IUIAutomationSynchronizedInputPattern;
640 interface IUIAutomationTablePattern;
641 interface IUIAutomationTableItemPattern;
642 interface IUIAutomationTogglePattern;
643 interface IUIAutomationTransformPattern;
646 object,
647 uuid(a94cd8b1-0844-4cd6-9d2d-640537ab39e9),
648 pointer_default(unique)
650 interface IUIAutomationValuePattern : IUnknown
652 HRESULT SetValue([in] BSTR val);
654 [propget] HRESULT CurrentValue([out, retval] BSTR *retVal);
655 [propget] HRESULT CurrentIsReadOnly([out, retval] BOOL *retVal);
656 [propget] HRESULT CachedValue([out, retval] BSTR *retVal);
657 [propget] HRESULT CachedIsReadOnly([out, retval] BOOL *retVal);
661 object,
662 uuid(0faef453-9208-43ef-bbb2-3b485177864f),
663 pointer_default(unique)
665 interface IUIAutomationWindowPattern : IUnknown
667 HRESULT Close();
669 HRESULT WaitForInputIdle(
670 [in] int milliseconds,
671 [out, retval] BOOL *success);
672 HRESULT SetWindowVisualState([in] enum WindowVisualState state);
674 [propget] HRESULT CurrentCanMaximize([out, retval] BOOL *retVal);
675 [propget] HRESULT CurrentCanMinimize([out, retval] BOOL *retVal);
676 [propget] HRESULT CurrentIsModal([out, retval] BOOL *retVal);
677 [propget] HRESULT CurrentIsTopmost([out, retval] BOOL *retVal);
678 [propget] HRESULT CurrentWindowVisualState([out, retval] enum WindowVisualState *retVal);
679 [propget] HRESULT CurrentWindowInteractionState([out, retval] enum WindowInteractionState *retVal);
680 [propget] HRESULT CachedCanMaximize([out, retval] BOOL *retVal);
681 [propget] HRESULT CachedCanMinimize([out, retval] BOOL *retVal);
682 [propget] HRESULT CachedIsModal([out, retval] BOOL *retVal);
683 [propget] HRESULT CachedIsTopmost([out, retval] BOOL *retVal);
684 [propget] HRESULT CachedWindowVisualState([out, retval] enum WindowVisualState *retVal);
685 [propget] HRESULT CachedWindowInteractionState([out, retval] enum WindowInteractionState *retVal);
688 interface IUIAutomationTextRange;
689 interface IUIAutomationTextRange2;
690 interface IUIAutomationTextRangeArray;
691 interface IUIAutomationTextPattern;
692 interface IUIAutomationTextPattern2;
693 interface IUIAutomationTextEditPattern;
694 interface IUIAutomationCustomNavigationPattern;
695 interface IUIAutomationActiveTextPositionChangedEventHandler;
698 object,
699 uuid(828055ad-355b-4435-86d5-3b51c14a9b1b),
700 pointer_default(unique)
702 interface IUIAutomationLegacyIAccessiblePattern: IUnknown
704 HRESULT Select(long flagsSelect);
705 HRESULT DoDefaultAction();
706 HRESULT SetValue(LPCWSTR szValue);
708 [propget] HRESULT CurrentChildId([out, retval] int *pRetVal);
709 [propget] HRESULT CurrentName([out, retval] BSTR *pszName);
710 [propget] HRESULT CurrentValue([out, retval] BSTR *pszValue);
711 [propget] HRESULT CurrentDescription([out, retval] BSTR *pszDescription);
712 [propget] HRESULT CurrentRole([out, retval] DWORD *pdwRole);
713 [propget] HRESULT CurrentState([out, retval] DWORD *pdwState);
714 [propget] HRESULT CurrentHelp([out, retval] BSTR *pszHelp);
715 [propget] HRESULT CurrentKeyboardShortcut([out, retval] BSTR *pszKeyboardShortcut);
716 HRESULT GetCurrentSelection([out, retval] IUIAutomationElementArray **pvarSelectedChildren);
717 [propget] HRESULT CurrentDefaultAction([out, retval] BSTR *pszDefaultAction);
719 [propget] HRESULT CachedChildId([out, retval] int *pRetVal);
720 [propget] HRESULT CachedName([out, retval] BSTR *pszName);
721 [propget] HRESULT CachedValue([out, retval] BSTR *pszValue);
722 [propget] HRESULT CachedDescription([out, retval] BSTR *pszDescription);
723 [propget] HRESULT CachedRole([out, retval] DWORD *pdwRole);
724 [propget] HRESULT CachedState([out, retval] DWORD *pdwState);
725 [propget] HRESULT CachedHelp([out, retval] BSTR *pszHelp);
726 [propget] HRESULT CachedKeyboardShortcut([out, retval] BSTR *pszKeyboardShortcut);
727 HRESULT GetCachedSelection([out, retval] IUIAutomationElementArray **pvarSelectedChildren);
728 [propget] HRESULT CachedDefaultAction([out, retval] BSTR *pszDefaultAction);
730 HRESULT GetIAccessible([out, retval] IAccessible **ppAccessible);
733 interface IUIAutomationItemContainerPattern;
734 interface IUIAutomationVirtualizedItemPattern;
735 interface IUIAutomationAnnotationPattern;
736 interface IUIAutomationStylesPattern;
737 interface IUIAutomationSpreadsheetPattern;
738 interface IUIAutomationSpreadsheetItemPattern;
739 interface IUIAutomationTransformPattern2;
740 interface IUIAutomationTextChildPattern;
741 interface IUIAutomationDragPattern;
742 interface IUIAutomationDropTargetPattern;
745 object,
746 uuid(d22108aa-8ac5-49a5-837b-37bbb3d7591e),
747 pointer_default(unique)
749 interface IUIAutomationElement : IUnknown
751 HRESULT SetFocus();
752 HRESULT GetRuntimeId([out, retval] SAFEARRAY(int) *runtimeId);
754 HRESULT FindFirst(
755 [in] enum TreeScope scope,
756 [in] IUIAutomationCondition *condition,
757 [out, retval] IUIAutomationElement **found);
758 HRESULT FindAll(
759 [in] enum TreeScope scope,
760 [in] IUIAutomationCondition *condition,
761 [out, retval] IUIAutomationElementArray **found);
763 HRESULT FindFirstBuildCache(
764 [in] enum TreeScope scope,
765 [in] IUIAutomationCondition *condition,
766 [in] IUIAutomationCacheRequest *cacheRequest,
767 [out, retval] IUIAutomationElement **found);
768 HRESULT FindAllBuildCache(
769 [in] enum TreeScope scope,
770 [in] IUIAutomationCondition *condition,
771 [in] IUIAutomationCacheRequest *cacheRequest,
772 [out, retval] IUIAutomationElementArray **found);
774 HRESULT BuildUpdatedCache(
775 [in] IUIAutomationCacheRequest *cacheRequest,
776 [out, retval] IUIAutomationElement **updatedElement);
778 HRESULT GetCurrentPropertyValue(
779 [in] PROPERTYID propertyId,
780 [out, retval] VARIANT *retVal);
781 HRESULT GetCurrentPropertyValueEx(
782 [in] PROPERTYID propertyId,
783 [in] BOOL ignoreDefaultValue,
784 [out, retval] VARIANT *retVal);
786 HRESULT GetCachedPropertyValue(
787 [in] PROPERTYID propertyId,
788 [out, retval] VARIANT *retVal);
789 HRESULT GetCachedPropertyValueEx(
790 [in] PROPERTYID propertyId,
791 [in] BOOL ignoreDefaultValue,
792 [out, retval] VARIANT *retVal);
794 HRESULT GetCurrentPatternAs(
795 [in] PATTERNID patternId,
796 [in] REFIID riid,
797 [out, iid_is(riid), retval] void **patternObject);
798 HRESULT GetCachedPatternAs(
799 [in] PATTERNID patternId,
800 [in] REFIID riid,
801 [out, iid_is(riid), retval] void **patternObject);
803 HRESULT GetCurrentPattern(
804 [in] PATTERNID patternId,
805 [out, retval] IUnknown **patternObject);
806 HRESULT GetCachedPattern(
807 [in] PATTERNID patternId,
808 [out, retval] IUnknown **patternObject);
810 HRESULT GetCachedParent([out, retval] IUIAutomationElement **parent);
811 HRESULT GetCachedChildren([out, retval] IUIAutomationElementArray **children);
813 [propget] HRESULT CurrentProcessId([out, retval] int *retVal);
814 [propget] HRESULT CurrentControlType([out, retval] CONTROLTYPEID *retVal);
815 [propget] HRESULT CurrentLocalizedControlType([out, retval] BSTR *retVal);
816 [propget] HRESULT CurrentName([out, retval] BSTR *retVal);
817 [propget] HRESULT CurrentAcceleratorKey([out, retval] BSTR *retVal);
818 [propget] HRESULT CurrentAccessKey([out, retval] BSTR *retVal);
819 [propget] HRESULT CurrentHasKeyboardFocus([out, retval] BOOL *retVal);
820 [propget] HRESULT CurrentIsKeyboardFocusable([out, retval] BOOL *retVal);
821 [propget] HRESULT CurrentIsEnabled([out, retval] BOOL *retVal);
822 [propget] HRESULT CurrentAutomationId([out, retval] BSTR *retVal);
823 [propget] HRESULT CurrentClassName([out, retval] BSTR *retVal);
824 [propget] HRESULT CurrentHelpText([out, retval] BSTR *retVal);
825 [propget] HRESULT CurrentCulture([out, retval] int *retVal);
826 [propget] HRESULT CurrentIsControlElement([out, retval] BOOL *retVal);
827 [propget] HRESULT CurrentIsContentElement([out, retval] BOOL *retVal);
828 [propget] HRESULT CurrentIsPassword([out, retval] BOOL *retVal);
829 [propget] HRESULT CurrentNativeWindowHandle([out, retval] UIA_HWND *retVal);
830 [propget] HRESULT CurrentItemType([out, retval] BSTR *retVal);
831 [propget] HRESULT CurrentIsOffscreen([out, retval] BOOL *retVal);
832 [propget] HRESULT CurrentOrientation([out, retval] enum OrientationType *retVal);
833 [propget] HRESULT CurrentFrameworkId([out, retval] BSTR *retVal);
834 [propget] HRESULT CurrentIsRequiredForForm([out, retval] BOOL *retVal);
835 [propget] HRESULT CurrentItemStatus([out, retval] BSTR *retVal);
836 [propget] HRESULT CurrentBoundingRectangle([out, retval] RECT *retVal);
837 [propget] HRESULT CurrentLabeledBy([out, retval] IUIAutomationElement **retVal);
838 [propget] HRESULT CurrentAriaRole([out, retval] BSTR *retVal);
839 [propget] HRESULT CurrentAriaProperties([out, retval] BSTR *retVal);
840 [propget] HRESULT CurrentIsDataValidForForm([out, retval] BOOL *retVal);
841 [propget] HRESULT CurrentControllerFor([out, retval] IUIAutomationElementArray **retVal);
842 [propget] HRESULT CurrentDescribedBy([out, retval] IUIAutomationElementArray **retVal);
843 [propget] HRESULT CurrentFlowsTo([out, retval] IUIAutomationElementArray **retVal);
844 [propget] HRESULT CurrentProviderDescription([out, retval] BSTR *retVal);
846 [propget] HRESULT CachedProcessId([out, retval] int *retVal);
847 [propget] HRESULT CachedControlType([out, retval] CONTROLTYPEID *retVal);
848 [propget] HRESULT CachedLocalizedControlType([out, retval] BSTR *retVal);
849 [propget] HRESULT CachedName([out, retval] BSTR *retVal);
850 [propget] HRESULT CachedAcceleratorKey([out, retval] BSTR *retVal);
851 [propget] HRESULT CachedAccessKey([out, retval] BSTR *retVal);
852 [propget] HRESULT CachedHasKeyboardFocus([out, retval] BOOL *retVal);
853 [propget] HRESULT CachedIsKeyboardFocusable([out, retval] BOOL *retVal);
854 [propget] HRESULT CachedIsEnabled([out, retval] BOOL *retVal);
855 [propget] HRESULT CachedAutomationId([out, retval] BSTR *retVal);
856 [propget] HRESULT CachedClassName([out, retval] BSTR *retVal);
857 [propget] HRESULT CachedHelpText([out, retval] BSTR *retVal);
858 [propget] HRESULT CachedCulture([out, retval] int *retVal);
859 [propget] HRESULT CachedIsControlElement([out, retval] BOOL *retVal);
860 [propget] HRESULT CachedIsContentElement([out, retval] BOOL *retVal);
861 [propget] HRESULT CachedIsPassword([out, retval] BOOL *retVal);
862 [propget] HRESULT CachedNativeWindowHandle([out, retval] UIA_HWND *retVal);
863 [propget] HRESULT CachedItemType([out, retval] BSTR *retVal);
864 [propget] HRESULT CachedIsOffscreen([out, retval] BOOL *retVal);
865 [propget] HRESULT CachedOrientation([out, retval] enum OrientationType *retVal);
866 [propget] HRESULT CachedFrameworkId([out, retval] BSTR *retVal);
867 [propget] HRESULT CachedIsRequiredForForm([out, retval] BOOL *retVal);
868 [propget] HRESULT CachedItemStatus([out, retval] BSTR *retVal);
869 [propget] HRESULT CachedBoundingRectangle([out, retval] RECT *retVal);
870 [propget] HRESULT CachedLabeledBy([out, retval] IUIAutomationElement **retVal);
871 [propget] HRESULT CachedAriaRole([out, retval] BSTR *retVal);
872 [propget] HRESULT CachedAriaProperties([out, retval] BSTR *retVal);
873 [propget] HRESULT CachedIsDataValidForForm([out, retval] BOOL *retVal);
874 [propget] HRESULT CachedControllerFor([out, retval] IUIAutomationElementArray **retVal);
875 [propget] HRESULT CachedDescribedBy([out, retval] IUIAutomationElementArray **retVal);
876 [propget] HRESULT CachedFlowsTo([out, retval] IUIAutomationElementArray **retVal);
877 [propget] HRESULT CachedProviderDescription([out, retval] BSTR *retVal);
879 HRESULT GetClickablePoint(
880 [out] POINT *clickable,
881 [out, retval] BOOL *gotClickable);
885 object,
886 uuid(6749c683-f70d-4487-a698-5f79d55290d6),
887 pointer_default(unique)
889 interface IUIAutomationElement2 : IUIAutomationElement
891 [propget] HRESULT CurrentOptimizeForVisualContent([out, retval] BOOL *retVal);
892 [propget] HRESULT CachedOptimizeForVisualContent([out, retval] BOOL *retVal);
894 [propget] HRESULT CurrentLiveSetting([out, retval] enum LiveSetting *retVal);
895 [propget] HRESULT CachedLiveSetting([out, retval] enum LiveSetting *retVal);
897 [propget] HRESULT CurrentFlowsFrom([out, retval] IUIAutomationElementArray **retVal);
898 [propget] HRESULT CachedFlowsFrom([out, retval] IUIAutomationElementArray **retVal);
902 object,
903 uuid(8471df34-aee0-4a01-a7de-7db9af12c296),
904 pointer_default(unique)
906 interface IUIAutomationElement3 : IUIAutomationElement2
908 HRESULT ShowContextMenu();
910 [propget] HRESULT CurrentIsPeripheral([out, retval] BOOL *retVal);
911 [propget] HRESULT CachedIsPeripheral([out, retval] BOOL *retVal);
915 object,
916 uuid(3b6e233c-52fb-4063-a4c9-77c075c2a06b),
917 pointer_default(unique)
919 interface IUIAutomationElement4 : IUIAutomationElement3
921 [propget] HRESULT CurrentPositionInSet([out, retval] int *retVal);
922 [propget] HRESULT CurrentSizeOfSet([out, retval] int *retVal);
923 [propget] HRESULT CurrentLevel([out, retval] int *retVal);
924 [propget] HRESULT CurrentAnnotationTypes([out, retval] SAFEARRAY(int) *retVal);
925 [propget] HRESULT CurrentAnnotationObjects([out, retval] IUIAutomationElementArray **retVal);
927 [propget] HRESULT CachedPositionInSet([out, retval] int *retVal);
928 [propget] HRESULT CachedSizeOfSet([out, retval] int *retVal);
929 [propget] HRESULT CachedLevel([out, retval] int *retVal);
930 [propget] HRESULT CachedAnnotationTypes([out, retval] SAFEARRAY(int) *retVal);
931 [propget] HRESULT CachedAnnotationObjects([out, retval] IUIAutomationElementArray **retVal);
935 object,
936 uuid(98141c1d-0d0e-4175-bbe2-6bff455842a7),
937 pointer_default(unique)
939 interface IUIAutomationElement5 : IUIAutomationElement4
941 [propget] HRESULT CurrentLandmarkType([out, retval] LANDMARKTYPEID *retVal);
942 [propget] HRESULT CurrentLocalizedLandmarkType([out, retval] BSTR *retVal);
944 [propget] HRESULT CachedLandmarkType([out, retval] LANDMARKTYPEID *retVal);
945 [propget] HRESULT CachedLocalizedLandmarkType([out, retval] BSTR *retVal);
949 object,
950 uuid(4780d450-8bca-4977-afa5-a4a517f555e3),
951 pointer_default(unique)
953 interface IUIAutomationElement6 : IUIAutomationElement5
955 [propget] HRESULT CurrentFullDescription([out, retval] BSTR *retVal);
956 [propget] HRESULT CachedFullDescription([out, retval] BSTR *retVal);
960 object,
961 uuid(204e8572-cfc3-4c11-b0c8-7da7420750b7),
962 pointer_default(unique)
964 interface IUIAutomationElement7 : IUIAutomationElement6
966 HRESULT FindFirstWithOptions(
967 [in] enum TreeScope scope,
968 [in] IUIAutomationCondition *condition,
969 [in] enum TreeTraversalOptions traversalOptions,
970 [in] IUIAutomationElement *root,
971 [out, retval] IUIAutomationElement **found);
972 HRESULT FindAllWithOptions(
973 [in] enum TreeScope scope,
974 [in] IUIAutomationCondition *condition,
975 [in] enum TreeTraversalOptions traversalOptions,
976 [in] IUIAutomationElement *root,
977 [out, retval] IUIAutomationElementArray **found);
979 HRESULT FindFirstWithOptionsBuildCache(
980 [in] enum TreeScope scope,
981 [in] IUIAutomationCondition *condition,
982 [in] IUIAutomationCacheRequest *cacheRequest,
983 [in] enum TreeTraversalOptions traversalOptions,
984 [in] IUIAutomationElement *root,
985 [out, retval] IUIAutomationElement **found);
986 HRESULT FindAllWithOptionsBuildCache(
987 [in] enum TreeScope scope,
988 [in] IUIAutomationCondition *condition,
989 [in] IUIAutomationCacheRequest *cacheRequest,
990 [in] enum TreeTraversalOptions traversalOptions,
991 [in] IUIAutomationElement *root,
992 [out, retval] IUIAutomationElementArray **found);
994 HRESULT GetCurrentMetadataValue(
995 [in] int targetId,
996 [in] METADATAID metadataId,
997 [out, retval] VARIANT *returnVal);
1001 object,
1002 uuid(8c60217d-5411-4cde-bcc0-1ceda223830c),
1003 pointer_default(unique)
1005 interface IUIAutomationElement8 : IUIAutomationElement7
1007 [propget] HRESULT CurrentHeadingLevel([out, retval] HEADINGLEVELID *retVal);
1008 [propget] HRESULT CachedHeadingLevel([out, retval] HEADINGLEVELID *retVal);
1012 object,
1013 uuid(39325fac-039d-440e-a3a3-5eb81a5cecc3),
1014 pointer_default(unique)
1016 interface IUIAutomationElement9 : IUIAutomationElement8
1018 [propget] HRESULT CurrentIsDialog([out, retval] BOOL *retVal);
1019 [propget] HRESULT CachedIsDialog([out, retval] BOOL *retVal);
1023 object,
1024 uuid(14314595-b4bc-4055-95f2-58f2e42c9855),
1025 pointer_default(unique)
1027 interface IUIAutomationElementArray : IUnknown
1029 [propget] HRESULT Length([out, retval] int *length);
1031 HRESULT GetElement(
1032 [in] int index,
1033 [out, retval] IUIAutomationElement **element);
1036 interface IUIAutomationProxyFactory;
1037 interface IUIAutomationProxyFactoryEntry;
1038 interface IUIAutomationProxyFactoryMapping;
1041 object,
1042 uuid(c9ee12f2-c13b-4408-997c-639914377f4e),
1043 pointer_default(unique)
1045 interface IUIAutomationEventHandlerGroup : IUnknown
1047 HRESULT AddActiveTextPositionChangedEventHandler(
1048 [in] enum TreeScope scope,
1049 [in] IUIAutomationCacheRequest *cacheRequest,
1050 [in] IUIAutomationActiveTextPositionChangedEventHandler *handler);
1051 HRESULT AddAutomationEventHandler(
1052 [in] EVENTID eventId,
1053 [in] enum TreeScope scope,
1054 [in] IUIAutomationCacheRequest *cacheRequest,
1055 [in] IUIAutomationEventHandler *handler);
1056 HRESULT AddChangesEventHandler(
1057 [in] enum TreeScope scope,
1058 [in, size_is(changesCount)] int *changeTypes,
1059 [in] int changesCount,
1060 [in] IUIAutomationCacheRequest *cacheRequest,
1061 [in] IUIAutomationChangesEventHandler *handler);
1062 HRESULT AddNotificationEventHandler(
1063 [in] enum TreeScope scope,
1064 [in] IUIAutomationCacheRequest *cacheRequest,
1065 [in] IUIAutomationNotificationEventHandler *handler);
1066 HRESULT AddPropertyChangedEventHandler(
1067 [in] enum TreeScope scope,
1068 [in] IUIAutomationCacheRequest *cacheRequest,
1069 [in] IUIAutomationPropertyChangedEventHandler *handler,
1070 [in, size_is(propertyCount)] PROPERTYID *propertyArray,
1071 [in] int propertyCount);
1072 HRESULT AddStructureChangedEventHandler(
1073 [in] enum TreeScope scope,
1074 [in] IUIAutomationCacheRequest *cacheRequest,
1075 [in] IUIAutomationStructureChangedEventHandler *handler);
1076 HRESULT AddTextEditTextChangedEventHandler(
1077 [in] enum TreeScope scope,
1078 [in] enum TextEditChangeType textEditChangeType,
1079 [in] IUIAutomationCacheRequest *cacheRequest,
1080 [in] IUIAutomationTextEditTextChangedEventHandler *handler);
1084 object,
1085 uuid(30cbe57d-d9d0-452a-ab13-7ac5ac4825ee),
1086 pointer_default(unique)
1088 interface IUIAutomation : IUnknown
1090 HRESULT CompareElements(
1091 [in] IUIAutomationElement *el1,
1092 [in] IUIAutomationElement *el2,
1093 [out, retval] BOOL *areSame);
1094 HRESULT CompareRuntimeIds(
1095 [in] SAFEARRAY(int) runtimeId1,
1096 [in] SAFEARRAY(int) runtimeId2,
1097 [out, retval] BOOL *areSame);
1099 HRESULT GetRootElement([out, retval] IUIAutomationElement **root);
1100 HRESULT ElementFromHandle(
1101 [in] UIA_HWND hwnd,
1102 [out, retval] IUIAutomationElement **element);
1103 HRESULT ElementFromPoint(
1104 [in] POINT pt,
1105 [out, retval] IUIAutomationElement **element);
1106 HRESULT GetFocusedElement([out, retval] IUIAutomationElement **element);
1108 HRESULT GetRootElementBuildCache(
1109 [in] IUIAutomationCacheRequest *cacheRequest,
1110 [out, retval] IUIAutomationElement **root);
1111 HRESULT ElementFromHandleBuildCache(
1112 [in] UIA_HWND hwnd,
1113 [in] IUIAutomationCacheRequest *cacheRequest,
1114 [out, retval] IUIAutomationElement **element);
1115 HRESULT ElementFromPointBuildCache(
1116 [in] POINT pt,
1117 [in] IUIAutomationCacheRequest *cacheRequest,
1118 [out, retval] IUIAutomationElement **element);
1119 HRESULT GetFocusedElementBuildCache(
1120 [in] IUIAutomationCacheRequest *cacheRequest,
1121 [out, retval] IUIAutomationElement **element);
1123 HRESULT CreateTreeWalker(
1124 [in] IUIAutomationCondition *pCondition,
1125 [out, retval] IUIAutomationTreeWalker **walker);
1127 [propget] HRESULT ControlViewWalker([out, retval] IUIAutomationTreeWalker **walker);
1128 [propget] HRESULT ContentViewWalker([out, retval] IUIAutomationTreeWalker **walker);
1129 [propget] HRESULT RawViewWalker([out, retval] IUIAutomationTreeWalker **walker);
1131 [propget] HRESULT RawViewCondition([out, retval] IUIAutomationCondition **condition);
1132 [propget] HRESULT ControlViewCondition([out, retval] IUIAutomationCondition **condition);
1133 [propget] HRESULT ContentViewCondition([out, retval] IUIAutomationCondition **condition);
1135 HRESULT CreateCacheRequest([out, retval] IUIAutomationCacheRequest **cacheRequest);
1137 HRESULT CreateTrueCondition([out, retval] IUIAutomationCondition **newCondition);
1138 HRESULT CreateFalseCondition([out, retval] IUIAutomationCondition **newCondition);
1139 HRESULT CreatePropertyCondition(
1140 [in] PROPERTYID propertyId,
1141 [in] VARIANT value,
1142 [out, retval] IUIAutomationCondition **newCondition);
1143 HRESULT CreatePropertyConditionEx(
1144 [in] PROPERTYID propertyId,
1145 [in] VARIANT value,
1146 [in] enum PropertyConditionFlags flags,
1147 [out, retval] IUIAutomationCondition **newCondition);
1149 HRESULT CreateAndCondition(
1150 [in] IUIAutomationCondition *condition1,
1151 [in] IUIAutomationCondition *condition2,
1152 [out, retval] IUIAutomationCondition **newCondition);
1153 HRESULT CreateAndConditionFromArray(
1154 [in] SAFEARRAY(IUIAutomationCondition) conditions,
1155 [out, retval] IUIAutomationCondition **newCondition);
1156 HRESULT CreateAndConditionFromNativeArray(
1157 [in, size_is(conditionCount)] IUIAutomationCondition **conditions,
1158 [in] int conditionCount,
1159 [out, retval] IUIAutomationCondition **newCondition);
1161 HRESULT CreateOrCondition(
1162 [in] IUIAutomationCondition *condition1,
1163 [in] IUIAutomationCondition *condition2,
1164 [out, retval] IUIAutomationCondition **newCondition);
1165 HRESULT CreateOrConditionFromArray(
1166 [in] SAFEARRAY(IUIAutomationCondition) conditions,
1167 [out, retval] IUIAutomationCondition **newCondition);
1168 HRESULT CreateOrConditionFromNativeArray(
1169 [in, size_is(conditionCount)] IUIAutomationCondition **conditions,
1170 [in] int conditionCount,
1171 [out, retval] IUIAutomationCondition **newCondition);
1173 HRESULT CreateNotCondition(
1174 [in] IUIAutomationCondition *condition,
1175 [out, retval] IUIAutomationCondition **newCondition);
1177 HRESULT AddAutomationEventHandler(
1178 [in] EVENTID eventId,
1179 [in] IUIAutomationElement *element,
1180 [in] enum TreeScope scope,
1181 [in] IUIAutomationCacheRequest *cacheRequest,
1182 [in] IUIAutomationEventHandler *handler);
1183 HRESULT RemoveAutomationEventHandler(
1184 [in] EVENTID eventId,
1185 [in] IUIAutomationElement *element,
1186 [in] IUIAutomationEventHandler *handler);
1188 HRESULT AddPropertyChangedEventHandlerNativeArray(
1189 [in] IUIAutomationElement *element,
1190 [in] enum TreeScope scope,
1191 [in] IUIAutomationCacheRequest *cacheRequest,
1192 [in] IUIAutomationPropertyChangedEventHandler *handler,
1193 [in, size_is(propertyCount)] PROPERTYID *propertyArray,
1194 [in] int propertyCount);
1195 HRESULT AddPropertyChangedEventHandler(
1196 [in] IUIAutomationElement *element,
1197 [in] enum TreeScope scope,
1198 [in] IUIAutomationCacheRequest *cacheRequest,
1199 [in] IUIAutomationPropertyChangedEventHandler *handler,
1200 [in] SAFEARRAY(PROPERTYID) propertyArray);
1201 HRESULT RemovePropertyChangedEventHandler(
1202 [in] IUIAutomationElement *element,
1203 [in] IUIAutomationPropertyChangedEventHandler *handler);
1205 HRESULT AddStructureChangedEventHandler(
1206 [in] IUIAutomationElement *element,
1207 [in] enum TreeScope scope,
1208 [in] IUIAutomationCacheRequest *cacheRequest,
1209 [in] IUIAutomationStructureChangedEventHandler *handler);
1210 HRESULT RemoveStructureChangedEventHandler(
1211 [in] IUIAutomationElement *element,
1212 [in] IUIAutomationStructureChangedEventHandler *handler);
1214 HRESULT AddFocusChangedEventHandler(
1215 [in] IUIAutomationCacheRequest *cacheRequest,
1216 [in] IUIAutomationFocusChangedEventHandler *handler);
1217 HRESULT RemoveFocusChangedEventHandler([in] IUIAutomationFocusChangedEventHandler *handler);
1219 HRESULT RemoveAllEventHandlers();
1221 HRESULT IntNativeArrayToSafeArray(
1222 [in, size_is(arrayCount)] int *array,
1223 [in] int arrayCount,
1224 [out, retval] SAFEARRAY(int) *safeArray);
1225 HRESULT IntSafeArrayToNativeArray(
1226 [in] SAFEARRAY(int) intArray,
1227 [out, size_is( ,*arrayCount)] int **array,
1228 [out, retval] int *arrayCount);
1230 HRESULT RectToVariant(
1231 [in] RECT rc,
1232 [out, retval] VARIANT *var);
1233 HRESULT VariantToRect(
1234 [in] VARIANT var,
1235 [out, retval] RECT *rc);
1236 HRESULT SafeArrayToRectNativeArray(
1237 [in] SAFEARRAY(double) rects,
1238 [out, size_is( ,*rectArrayCount)] RECT **rectArray,
1239 [out, retval] int *rectArrayCount);
1241 HRESULT CreateProxyFactoryEntry(
1242 [in] IUIAutomationProxyFactory *factory,
1243 [out, retval] IUIAutomationProxyFactoryEntry **factoryEntry);
1244 [propget] HRESULT ProxyFactoryMapping([out, retval] IUIAutomationProxyFactoryMapping **factoryMapping);
1246 HRESULT GetPropertyProgrammaticName(
1247 [in] PROPERTYID property,
1248 [out, retval] BSTR *name);
1249 HRESULT GetPatternProgrammaticName(
1250 [in] PATTERNID pattern,
1251 [out, retval] BSTR *name);
1253 HRESULT PollForPotentialSupportedPatterns(
1254 [in] IUIAutomationElement *pElement,
1255 [out] SAFEARRAY(int) *patternIds,
1256 [out] SAFEARRAY(BSTR) *patternNames);
1257 HRESULT PollForPotentialSupportedProperties(
1258 [in] IUIAutomationElement *pElement,
1259 [out] SAFEARRAY(int) *propertyIds,
1260 [out] SAFEARRAY(BSTR) *propertyNames);
1262 HRESULT CheckNotSupported(
1263 [in] VARIANT value,
1264 [out, retval] BOOL *isNotSupported);
1266 [propget] HRESULT ReservedNotSupportedValue([out, retval] IUnknown **notSupportedValue);
1267 [propget] HRESULT ReservedMixedAttributeValue([out, retval] IUnknown **mixedAttributeValue);
1269 HRESULT ElementFromIAccessible(
1270 [in] IAccessible *accessible,
1271 [in] int childId,
1272 [out, retval] IUIAutomationElement **element);
1273 HRESULT ElementFromIAccessibleBuildCache(
1274 [in] IAccessible *accessible,
1275 [in] int childId,
1276 [in] IUIAutomationCacheRequest *cacheRequest,
1277 [out, retval] IUIAutomationElement **element);
1281 object,
1282 uuid(34723aff-0c9d-49d0-9896-7ab52df8cd8a),
1283 pointer_default(unique)
1285 interface IUIAutomation2 : IUIAutomation
1287 [propget] HRESULT AutoSetFocus([out, retval] BOOL *autoSetFocus);
1288 [propput] HRESULT AutoSetFocus([in] BOOL autoSetFocus);
1290 [propget] HRESULT ConnectionTimeout([out, retval] DWORD *timeout);
1291 [propput] HRESULT ConnectionTimeout([in] DWORD timeout);
1293 [propget] HRESULT TransactionTimeout([out, retval] DWORD *timeout);
1294 [propput] HRESULT TransactionTimeout([in] DWORD timeout);
1298 object,
1299 uuid(73d768da-9b51-4b89-936e-c209290973e7),
1300 pointer_default(unique)
1302 interface IUIAutomation3 : IUIAutomation2
1304 HRESULT AddTextEditTextChangedEventHandler(
1305 [in] IUIAutomationElement *element,
1306 [in] enum TreeScope scope,
1307 [in] enum TextEditChangeType textEditChangeType,
1308 [in] IUIAutomationCacheRequest *cacheRequest,
1309 [in] IUIAutomationTextEditTextChangedEventHandler *handler);
1310 HRESULT RemoveTextEditTextChangedEventHandler(
1311 [in] IUIAutomationElement *element,
1312 [in] IUIAutomationTextEditTextChangedEventHandler *handler);
1316 object,
1317 uuid(1189c02a-05f8-4319-8e21-e817e3db2860),
1318 pointer_default(unique)
1320 interface IUIAutomation4 : IUIAutomation3
1322 HRESULT AddChangesEventHandler(
1323 [in] IUIAutomationElement *element,
1324 [in] enum TreeScope scope,
1325 [in, size_is(changesCount)] int *changeTypes,
1326 [in] int changesCount,
1327 [in] IUIAutomationCacheRequest *pCacheRequest,
1328 [in] IUIAutomationChangesEventHandler *handler);
1329 HRESULT RemoveChangesEventHandler(
1330 [in] IUIAutomationElement *element,
1331 [in] IUIAutomationChangesEventHandler *handler);
1335 object,
1336 uuid(25f700c8-d816-4057-a9dc-3cbdee77e256),
1337 pointer_default(unique)
1339 interface IUIAutomation5 : IUIAutomation4
1341 HRESULT AddNotificationEventHandler(
1342 [in] IUIAutomationElement *element,
1343 [in] enum TreeScope scope,
1344 [in] IUIAutomationCacheRequest *cacheRequest,
1345 [in] IUIAutomationNotificationEventHandler *handler);
1346 HRESULT RemoveNotificationEventHandler(
1347 [in] IUIAutomationElement *element,
1348 [in] IUIAutomationNotificationEventHandler *handler);
1352 object,
1353 uuid(aae072da-29e3-413d-87a7-192dbf81ed10),
1354 pointer_default(unique)
1356 interface IUIAutomation6 : IUIAutomation5
1358 HRESULT CreateEventHandlerGroup([out] IUIAutomationEventHandlerGroup **handlerGroup);
1359 HRESULT AddEventHandlerGroup(
1360 [in] IUIAutomationElement *element,
1361 [in] IUIAutomationEventHandlerGroup *handlerGroup);
1362 HRESULT RemoveEventHandlerGroup(
1363 [in] IUIAutomationElement *element,
1364 [in] IUIAutomationEventHandlerGroup *handlerGroup);
1366 [propget] HRESULT ConnectionRecoveryBehavior(
1367 [out, retval] enum ConnectionRecoveryBehaviorOptions *connectionRecoveryBehaviorOptions);
1368 [propput] HRESULT ConnectionRecoveryBehavior(
1369 [in] enum ConnectionRecoveryBehaviorOptions connectionRecoveryBehaviorOptions);
1371 [propget] HRESULT CoalesceEvents([out, retval] enum CoalesceEventsOptions *coalesceEventsOptions);
1372 [propput] HRESULT CoalesceEvents([in] enum CoalesceEventsOptions coalesceEventsOptions);
1374 HRESULT AddActiveTextPositionChangedEventHandler(
1375 [in] IUIAutomationElement *element,
1376 [in] enum TreeScope scope,
1377 [in] IUIAutomationCacheRequest *cacheRequest,
1378 [in] IUIAutomationActiveTextPositionChangedEventHandler *handler);
1379 HRESULT RemoveActiveTextPositionChangedEventHandler(
1380 [in] IUIAutomationElement *element,
1381 [in] IUIAutomationActiveTextPositionChangedEventHandler *handler);
1385 uuid(ff48dba4-60ef-4201-aa87-54103eef594e),
1386 version(1.0),
1387 threading(both)
1389 coclass CUIAutomation
1391 [default] interface IUIAutomation;
1395 uuid(e22ad333-b25f-460c-83d0-0581107395c9),
1396 version(1.0),
1397 threading(both)
1399 coclass CUIAutomation8
1401 [default] interface IUIAutomation2;
1402 interface IUIAutomation3;
1403 interface IUIAutomation4;
1404 interface IUIAutomation5;
1405 interface IUIAutomation6;