dinput: Fix EnumObjects callback return value handling.
[wine.git] / include / uiautomationclient.idl
blob7a0b50288d46e7e6abb65619db86c7610f756998
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 id(2),
73 version(1.0)
75 library UIAutomationClient {
76 importlib ("stdole2.tlb");
78 /* FIXME: Uncomment when properly supported in widl
79 [dllname("<no entry points>")]
80 module UIA_PatternIds
83 const long UIA_InvokePatternId = 10000;
84 const long UIA_SelectionPatternId = 10001;
85 const long UIA_ValuePatternId = 10002;
86 const long UIA_RangeValuePatternId = 10003;
87 const long UIA_ScrollPatternId = 10004;
88 const long UIA_ExpandCollapsePatternId = 10005;
89 const long UIA_GridPatternId = 10006;
90 const long UIA_GridItemPatternId = 10007;
91 const long UIA_MultipleViewPatternId = 10008;
92 const long UIA_WindowPatternId = 10009;
93 const long UIA_SelectionItemPatternId = 10010;
94 const long UIA_DockPatternId = 10011;
95 const long UIA_TablePatternId = 10012;
96 const long UIA_TableItemPatternId = 10013;
97 const long UIA_TextPatternId = 10014;
98 const long UIA_TogglePatternId = 10015;
99 const long UIA_TransformPatternId = 10016;
100 const long UIA_ScrollItemPatternId = 10017;
101 const long UIA_LegacyIAccessiblePatternId = 10018;
102 const long UIA_ItemContainerPatternId = 10019;
103 const long UIA_VirtualizedItemPatternId = 10020;
104 const long UIA_SynchronizedInputPatternId = 10021;
105 const long UIA_ObjectModelPatternId = 10022;
106 const long UIA_AnnotationPatternId = 10023;
107 const long UIA_TextPattern2Id = 10024;
108 const long UIA_StylesPatternId = 10025;
109 const long UIA_SpreadsheetPatternId = 10026;
110 const long UIA_SpreadsheetItemPatternId = 10027;
111 const long UIA_TransformPattern2Id = 10028;
112 const long UIA_TextChildPatternId = 10029;
113 const long UIA_DragPatternId = 10030;
114 const long UIA_DropTargetPatternId = 10031;
115 const long UIA_TextEditPatternId = 10032;
116 const long UIA_CustomNavigationPatternId = 10033;
121 /* FIXME: Uncomment when properly supported in widl
122 [dllname("<no entry points>")]
123 module UIA_EventIds
126 const long UIA_ToolTipOpenedEventId = 20000;
127 const long UIA_ToolTipClosedEventId = 20001;
128 const long UIA_StructureChangedEventId = 20002;
129 const long UIA_MenuOpenedEventId = 20003;
130 const long UIA_AutomationPropertyChangedEventId = 20004;
131 const long UIA_AutomationFocusChangedEventId = 20005;
132 const long UIA_AsyncContentLoadedEventId = 20006;
133 const long UIA_MenuClosedEventId = 20007;
134 const long UIA_LayoutInvalidatedEventId = 20008;
135 const long UIA_Invoke_InvokedEventId = 20009;
136 const long UIA_SelectionItem_ElementAddedToSelectionEventId = 20010;
137 const long UIA_SelectionItem_ElementRemovedFromSelectionEventId = 20011;
138 const long UIA_SelectionItem_ElementSelectedEventId= 20012;
139 const long UIA_Selection_InvalidatedEventId = 20013;
140 const long UIA_Text_TextSelectionChangedEventId = 20014;
141 const long UIA_Text_TextChangedEventId = 20015;
142 const long UIA_Window_WindowOpenedEventId = 20016;
143 const long UIA_Window_WindowClosedEventId = 20017;
144 const long UIA_MenuModeStartEventId = 20018;
145 const long UIA_MenuModeEndEventId = 20019;
146 const long UIA_InputReachedTargetEventId = 20020;
147 const long UIA_InputReachedOtherElementEventId = 20021;
148 const long UIA_InputDiscardedEventId = 20022;
149 const long UIA_SystemAlertEventId = 20023;
150 const long UIA_LiveRegionChangedEventId = 20024;
151 const long UIA_HostedFragmentRootsInvalidatedEventId = 20025;
152 const long UIA_Drag_DragStartEventId = 20026;
153 const long UIA_Drag_DragCancelEventId = 20027;
154 const long UIA_Drag_DragCompleteEventId = 20028;
155 const long UIA_DropTarget_DragEnterEventId = 20029;
156 const long UIA_DropTarget_DragLeaveEventId = 20030;
157 const long UIA_DropTarget_DroppedEventId = 20031;
158 const long UIA_TextEdit_TextChangedEventId = 20032;
159 const long UIA_TextEdit_ConversionTargetChangedEventId = 20033;
160 const long UIA_ChangesEventId = 20034;
161 const long UIA_NotificationEventId = 20035;
166 /* FIXME: Uncomment when properly supported in widl
167 [dllname("<no entry points>")]
168 module UIA_PropertyIds
171 const long UIA_RuntimeIdPropertyId = 30000;
172 const long UIA_BoundingRectanglePropertyId = 30001;
173 const long UIA_ProcessIdPropertyId = 30002;
174 const long UIA_ControlTypePropertyId = 30003;
175 const long UIA_LocalizedControlTypePropertyId = 30004;
176 const long UIA_NamePropertyId = 30005;
177 const long UIA_AcceleratorKeyPropertyId = 30006;
178 const long UIA_AccessKeyPropertyId = 30007;
179 const long UIA_HasKeyboardFocusPropertyId = 30008;
180 const long UIA_IsKeyboardFocusablePropertyId = 30009;
181 const long UIA_IsEnabledPropertyId = 30010;
182 const long UIA_AutomationIdPropertyId = 30011;
183 const long UIA_ClassNamePropertyId = 30012;
184 const long UIA_HelpTextPropertyId = 30013;
185 const long UIA_ClickablePointPropertyId = 30014;
186 const long UIA_CulturePropertyId = 30015;
187 const long UIA_IsControlElementPropertyId = 30016;
188 const long UIA_IsContentElementPropertyId = 30017;
189 const long UIA_LabeledByPropertyId = 30018;
190 const long UIA_IsPasswordPropertyId = 30019;
191 const long UIA_NativeWindowHandlePropertyId = 30020;
192 const long UIA_ItemTypePropertyId = 30021;
193 const long UIA_IsOffscreenPropertyId = 30022;
194 const long UIA_OrientationPropertyId = 30023;
195 const long UIA_FrameworkIdPropertyId = 30024;
196 const long UIA_IsRequiredForFormPropertyId = 30025;
197 const long UIA_ItemStatusPropertyId = 30026;
198 const long UIA_IsDockPatternAvailablePropertyId = 30027;
199 const long UIA_IsExpandCollapsePatternAvailablePropertyId = 30028;
200 const long UIA_IsGridItemPatternAvailablePropertyId = 30029;
201 const long UIA_IsGridPatternAvailablePropertyId = 30030;
202 const long UIA_IsInvokePatternAvailablePropertyId = 30031;
203 const long UIA_IsMultipleViewPatternAvailablePropertyId = 30032;
204 const long UIA_IsRangeValuePatternAvailablePropertyId = 30033;
205 const long UIA_IsScrollPatternAvailablePropertyId = 30034;
206 const long UIA_IsScrollItemPatternAvailablePropertyId = 30035;
207 const long UIA_IsSelectionItemPatternAvailablePropertyId = 30036;
208 const long UIA_IsSelectionPatternAvailablePropertyId = 30037;
209 const long UIA_IsTablePatternAvailablePropertyId = 30038;
210 const long UIA_IsTableItemPatternAvailablePropertyId = 30039;
211 const long UIA_IsTextPatternAvailablePropertyId = 30040;
212 const long UIA_IsTogglePatternAvailablePropertyId = 30041;
213 const long UIA_IsTransformPatternAvailablePropertyId = 30042;
214 const long UIA_IsValuePatternAvailablePropertyId = 30043;
215 const long UIA_IsWindowPatternAvailablePropertyId = 30044;
216 const long UIA_ValueValuePropertyId = 30045;
217 const long UIA_ValueIsReadOnlyPropertyId = 30046;
218 const long UIA_RangeValueValuePropertyId = 30047;
219 const long UIA_RangeValueIsReadOnlyPropertyId = 30048;
220 const long UIA_RangeValueMinimumPropertyId = 30049;
221 const long UIA_RangeValueMaximumPropertyId = 30050;
222 const long UIA_RangeValueLargeChangePropertyId = 30051;
223 const long UIA_RangeValueSmallChangePropertyId = 30052;
224 const long UIA_ScrollHorizontalScrollPercentPropertyId = 30053;
225 const long UIA_ScrollHorizontalViewSizePropertyId = 30054;
226 const long UIA_ScrollVerticalScrollPercentPropertyId = 30055;
227 const long UIA_ScrollVerticalViewSizePropertyId = 30056;
228 const long UIA_ScrollHorizontallyScrollablePropertyId = 30057;
229 const long UIA_ScrollVerticallyScrollablePropertyId = 30058;
230 const long UIA_SelectionSelectionPropertyId = 30059;
231 const long UIA_SelectionCanSelectMultiplePropertyId = 30060;
232 const long UIA_SelectionIsSelectionRequiredPropertyId = 30061;
233 const long UIA_GridRowCountPropertyId = 30062;
234 const long UIA_GridColumnCountPropertyId = 30063;
235 const long UIA_GridItemRowPropertyId = 30064;
236 const long UIA_GridItemColumnPropertyId = 30065;
237 const long UIA_GridItemRowSpanPropertyId = 30066;
238 const long UIA_GridItemColumnSpanPropertyId = 30067;
239 const long UIA_GridItemContainingGridPropertyId = 30068;
240 const long UIA_DockDockPositionPropertyId = 30069;
241 const long UIA_ExpandCollapseExpandCollapseStatePropertyId = 30070;
242 const long UIA_MultipleViewCurrentViewPropertyId = 30071;
243 const long UIA_MultipleViewSupportedViewsPropertyId = 30072;
244 const long UIA_WindowCanMaximizePropertyId = 30073;
245 const long UIA_WindowCanMinimizePropertyId = 30074;
246 const long UIA_WindowWindowVisualStatePropertyId = 30075;
247 const long UIA_WindowWindowInteractionStatePropertyId = 30076;
248 const long UIA_WindowIsModalPropertyId = 30077;
249 const long UIA_WindowIsTopmostPropertyId = 30078;
250 const long UIA_SelectionItemIsSelectedPropertyId = 30079;
251 const long UIA_SelectionItemSelectionContainerPropertyId = 30080;
252 const long UIA_TableRowHeadersPropertyId = 30081;
253 const long UIA_TableColumnHeadersPropertyId = 30082;
254 const long UIA_TableRowOrColumnMajorPropertyId = 30083;
255 const long UIA_TableItemRowHeaderItemsPropertyId = 30084;
256 const long UIA_TableItemColumnHeaderItemsPropertyId = 30085;
257 const long UIA_ToggleToggleStatePropertyId = 30086;
258 const long UIA_TransformCanMovePropertyId = 30087;
259 const long UIA_TransformCanResizePropertyId = 30088;
260 const long UIA_TransformCanRotatePropertyId = 30089;
261 const long UIA_IsLegacyIAccessiblePatternAvailablePropertyId = 30090;
262 const long UIA_LegacyIAccessibleChildIdPropertyId = 30091;
263 const long UIA_LegacyIAccessibleNamePropertyId = 30092;
264 const long UIA_LegacyIAccessibleValuePropertyId = 30093;
265 const long UIA_LegacyIAccessibleDescriptionPropertyId = 30094;
266 const long UIA_LegacyIAccessibleRolePropertyId = 30095;
267 const long UIA_LegacyIAccessibleStatePropertyId = 30096;
268 const long UIA_LegacyIAccessibleHelpPropertyId = 30097;
269 const long UIA_LegacyIAccessibleKeyboardShortcutPropertyId = 30098;
270 const long UIA_LegacyIAccessibleSelectionPropertyId = 30099;
271 const long UIA_LegacyIAccessibleDefaultActionPropertyId = 30100;
272 const long UIA_AriaRolePropertyId = 30101;
273 const long UIA_AriaPropertiesPropertyId = 30102;
274 const long UIA_IsDataValidForFormPropertyId = 30103;
275 const long UIA_ControllerForPropertyId = 30104;
276 const long UIA_DescribedByPropertyId = 30105;
277 const long UIA_FlowsToPropertyId = 30106;
278 const long UIA_ProviderDescriptionPropertyId = 30107;
279 const long UIA_IsItemContainerPatternAvailablePropertyId = 30108;
280 const long UIA_IsVirtualizedItemPatternAvailablePropertyId = 30109;
281 const long UIA_IsSynchronizedInputPatternAvailablePropertyId = 30110;
282 const long UIA_OptimizeForVisualContentPropertyId = 30111;
283 const long UIA_IsObjectModelPatternAvailablePropertyId = 30112;
284 const long UIA_AnnotationAnnotationTypeIdPropertyId = 30113;
285 const long UIA_AnnotationAnnotationTypeNamePropertyId = 30114;
286 const long UIA_AnnotationAuthorPropertyId = 30115;
287 const long UIA_AnnotationDateTimePropertyId = 30116;
288 const long UIA_AnnotationTargetPropertyId = 30117;
289 const long UIA_IsAnnotationPatternAvailablePropertyId = 30118;
290 const long UIA_IsTextPattern2AvailablePropertyId = 30119;
291 const long UIA_StylesStyleIdPropertyId = 30120;
292 const long UIA_StylesStyleNamePropertyId = 30121;
293 const long UIA_StylesFillColorPropertyId = 30122;
294 const long UIA_StylesFillPatternStylePropertyId = 30123;
295 const long UIA_StylesShapePropertyId = 30124;
296 const long UIA_StylesFillPatternColorPropertyId = 30125;
297 const long UIA_StylesExtendedPropertiesPropertyId = 30126;
298 const long UIA_IsStylesPatternAvailablePropertyId = 30127;
299 const long UIA_IsSpreadsheetPatternAvailablePropertyId = 30128;
300 const long UIA_SpreadsheetItemFormulaPropertyId = 30129;
301 const long UIA_SpreadsheetItemAnnotationObjectsPropertyId = 30130;
302 const long UIA_SpreadsheetItemAnnotationTypesPropertyId = 30131;
303 const long UIA_IsSpreadsheetItemPatternAvailablePropertyId = 30132;
304 const long UIA_Transform2CanZoomPropertyId = 30133;
305 const long UIA_IsTransformPattern2AvailablePropertyId = 30134;
306 const long UIA_LiveSettingPropertyId = 30135;
307 const long UIA_IsTextChildPatternAvailablePropertyId = 30136;
308 const long UIA_IsDragPatternAvailablePropertyId = 30137;
309 const long UIA_DragIsGrabbedPropertyId = 30138;
310 const long UIA_DragDropEffectPropertyId = 30139;
311 const long UIA_DragDropEffectsPropertyId = 30140;
312 const long UIA_IsDropTargetPatternAvailablePropertyId = 30141;
313 const long UIA_DropTargetDropTargetEffectPropertyId = 30142;
314 const long UIA_DropTargetDropTargetEffectsPropertyId = 30143;
315 const long UIA_DragGrabbedItemsPropertyId = 30144;
316 const long UIA_Transform2ZoomLevelPropertyId = 30145;
317 const long UIA_Transform2ZoomMinimumPropertyId = 30146;
318 const long UIA_Transform2ZoomMaximumPropertyId = 30147;
319 const long UIA_FlowsFromPropertyId = 30148;
320 const long UIA_IsTextEditPatternAvailablePropertyId = 30149;
321 const long UIA_IsPeripheralPropertyId = 30150;
322 const long UIA_IsCustomNavigationPatternAvailablePropertyId = 30151;
323 const long UIA_PositionInSetPropertyId = 30152;
324 const long UIA_SizeOfSetPropertyId = 30153;
325 const long UIA_LevelPropertyId = 30154;
326 const long UIA_AnnotationTypesPropertyId = 30155;
327 const long UIA_AnnotationObjectsPropertyId = 30156;
328 const long UIA_LandmarkTypePropertyId = 30157;
329 const long UIA_LocalizedLandmarkTypePropertyId = 30158;
330 const long UIA_FullDescriptionPropertyId = 30159;
331 const long UIA_FillColorPropertyId = 30160;
332 const long UIA_OutlineColorPropertyId = 30161;
333 const long UIA_FillTypePropertyId = 30162;
334 const long UIA_VisualEffectsPropertyId = 30163;
335 const long UIA_OutlineThicknessPropertyId = 30164;
336 const long UIA_CenterPointPropertyId = 30165;
337 const long UIA_RotationPropertyId = 30166;
338 const long UIA_SizePropertyId = 30167;
339 const long UIA_IsSelectionPattern2AvailablePropertyId = 30168;
340 const long UIA_Selection2FirstSelectedItemPropertyId = 30169;
341 const long UIA_Selection2LastSelectedItemPropertyId = 30170;
342 const long UIA_Selection2CurrentSelectedItemPropertyId = 30171;
343 const long UIA_Selection2ItemCountPropertyId = 30172;
344 const long UIA_HeadingLevelPropertyId = 30173;
345 const long UIA_IsDialogPropertyId = 30174;
349 /* FIXME: Uncomment when properly supported in widl
350 [dllname("<no entry points>")]
351 module UIA_ControlTypeIds
354 const long UIA_ButtonControlTypeId = 50000;
355 const long UIA_CalendarControlTypeId = 50001;
356 const long UIA_CheckBoxControlTypeId = 50002;
357 const long UIA_ComboBoxControlTypeId = 50003;
358 const long UIA_EditControlTypeId = 50004;
359 const long UIA_HyperlinkControlTypeId = 50005;
360 const long UIA_ImageControlTypeId = 50006;
361 const long UIA_ListItemControlTypeId = 50007;
362 const long UIA_ListControlTypeId = 50008;
363 const long UIA_MenuControlTypeId = 50009;
364 const long UIA_MenuBarControlTypeId = 50010;
365 const long UIA_MenuItemControlTypeId = 50011;
366 const long UIA_ProgressBarControlTypeId = 50012;
367 const long UIA_RadioButtonControlTypeId = 50013;
368 const long UIA_ScrollBarControlTypeId = 50014;
369 const long UIA_SliderControlTypeId = 50015;
370 const long UIA_SpinnerControlTypeId = 50016;
371 const long UIA_StatusBarControlTypeId = 50017;
372 const long UIA_TabControlTypeId = 50018;
373 const long UIA_TabItemControlTypeId = 50019;
374 const long UIA_TextControlTypeId = 50020;
375 const long UIA_ToolBarControlTypeId = 50021;
376 const long UIA_ToolTipControlTypeId = 50022;
377 const long UIA_TreeControlTypeId = 50023;
378 const long UIA_TreeItemControlTypeId = 50024;
379 const long UIA_CustomControlTypeId = 50025;
380 const long UIA_GroupControlTypeId = 50026;
381 const long UIA_ThumbControlTypeId = 50027;
382 const long UIA_DataGridControlTypeId = 50028;
383 const long UIA_DataItemControlTypeId = 50029;
384 const long UIA_DocumentControlTypeId = 50030;
385 const long UIA_SplitButtonControlTypeId = 50031;
386 const long UIA_WindowControlTypeId = 50032;
387 const long UIA_PaneControlTypeId = 50033;
388 const long UIA_HeaderControlTypeId = 50034;
389 const long UIA_HeaderItemControlTypeId = 50035;
390 const long UIA_TableControlTypeId = 50036;
391 const long UIA_TitleBarControlTypeId = 50037;
392 const long UIA_SeparatorControlTypeId = 50038;
393 const long UIA_SemanticZoomControlTypeId = 50039;
394 const long UIA_AppBarControlTypeId = 50040;
399 interface IUIAutomationElement;
400 interface IUIAutomationElementArray;
403 object,
404 uuid(352ffba8-0973-437c-a61f-f64cafd81df9),
405 pointer_default(unique)
407 interface IUIAutomationCondition : IUnknown
412 object,
413 uuid(1b4e1f2e-75eb-4d0b-8952-5a69988e2307),
414 pointer_default(unique)
416 interface IUIAutomationBoolCondition : IUIAutomationCondition
418 [propget] HRESULT BooleanValue([out, retval] BOOL *boolVal);
422 object,
423 uuid(99ebf2cb-5578-4267-9ad4-afd6ea77e94b),
424 pointer_default(unique)
426 interface IUIAutomationPropertyCondition : IUIAutomationCondition
428 [propget] HRESULT PropertyId([out, retval] PROPERTYID *propertyId);
429 [propget] HRESULT PropertyValue([out, retval] VARIANT *propertyValue);
430 [propget] HRESULT PropertyConditionFlags([out, retval] enum PropertyConditionFlags *flags);
434 object,
435 uuid(a7d0af36-b912-45fe-9855-091ddc174aec),
436 pointer_default(unique)
438 interface IUIAutomationAndCondition : IUIAutomationCondition
440 [propget] HRESULT ChildCount([out, retval] int *childCount);
442 HRESULT GetChildrenAsNativeArray(
443 [out, size_is( ,*childArrayCount)] IUIAutomationCondition ***childArray,
444 [out] int *childArrayCount);
446 HRESULT GetChildren([out, retval] SAFEARRAY(IUIAutomationCondition) *childArray);
450 object,
451 uuid(8753f032-3db1-47b5-a1fc-6e34a266c712),
452 pointer_default(unique)
454 interface IUIAutomationOrCondition : IUIAutomationCondition
456 [propget] HRESULT ChildCount([out, retval] int *childCount);
458 HRESULT GetChildrenAsNativeArray(
459 [out, size_is( ,*childArrayCount)] IUIAutomationCondition ***childArray,
460 [out] int *childArrayCount);
462 HRESULT GetChildren([out, retval] SAFEARRAY(IUIAutomationCondition) *childArray);
466 object,
467 uuid(f528b657-847b-498c-8896-d52b565407a1),
468 pointer_default(unique)
470 interface IUIAutomationNotCondition : IUIAutomationCondition
472 HRESULT GetChild([out, retval] IUIAutomationCondition **condition);
476 object,
477 uuid(b32a92b5-bc25-4078-9c08-d7ee95c48e03),
478 pointer_default(unique)
480 interface IUIAutomationCacheRequest : IUnknown
482 HRESULT AddProperty([in] PROPERTYID propertyId);
483 HRESULT AddPattern([in] PATTERNID patternId);
484 HRESULT Clone([out, retval] IUIAutomationCacheRequest **clonedRequest);
486 [propget] HRESULT TreeScope([out, retval] enum TreeScope *scope);
487 [propput] HRESULT TreeScope([in] enum TreeScope scope);
488 [propget] HRESULT TreeFilter([out, retval] IUIAutomationCondition **filter);
489 [propput] HRESULT TreeFilter([in] IUIAutomationCondition *filter);
490 [propget] HRESULT AutomationElementMode([out, retval] enum AutomationElementMode *mode);
491 [propput] HRESULT AutomationElementMode([in] enum AutomationElementMode mode);
495 object,
496 uuid(4042c624-389c-4afc-a630-9df854a541fc),
497 pointer_default(unique)
499 interface IUIAutomationTreeWalker : IUnknown
501 HRESULT GetParentElement(
502 [in] IUIAutomationElement *element,
503 [out, retval] IUIAutomationElement **parent);
504 HRESULT GetFirstChildElement(
505 [in] IUIAutomationElement *element,
506 [out, retval] IUIAutomationElement **first);
507 HRESULT GetLastChildElement(
508 [in] IUIAutomationElement *element,
509 [out, retval] IUIAutomationElement **last);
510 HRESULT GetNextSiblingElement(
511 [in] IUIAutomationElement *element,
512 [out, retval] IUIAutomationElement **next);
513 HRESULT GetPreviousSiblingElement(
514 [in] IUIAutomationElement *element,
515 [out, retval] IUIAutomationElement **previous);
516 HRESULT NormalizeElement(
517 [in] IUIAutomationElement *element,
518 [out, retval] IUIAutomationElement **normalized);
520 HRESULT GetParentElementBuildCache(
521 [in] IUIAutomationElement *element,
522 [in] IUIAutomationCacheRequest *cacheRequest,
523 [out, retval] IUIAutomationElement **parent);
524 HRESULT GetFirstChildElementBuildCache(
525 [in] IUIAutomationElement *element,
526 [in] IUIAutomationCacheRequest *cacheRequest,
527 [out, retval] IUIAutomationElement **first);
528 HRESULT GetLastChildElementBuildCache(
529 [in] IUIAutomationElement *element,
530 [in] IUIAutomationCacheRequest *cacheRequest,
531 [out, retval] IUIAutomationElement **last);
532 HRESULT GetNextSiblingElementBuildCache(
533 [in] IUIAutomationElement *element,
534 [in] IUIAutomationCacheRequest *cacheRequest,
535 [out, retval] IUIAutomationElement **next);
536 HRESULT GetPreviousSiblingElementBuildCache(
537 [in] IUIAutomationElement *element,
538 [in] IUIAutomationCacheRequest *cacheRequest,
539 [out, retval] IUIAutomationElement **previous);
540 HRESULT NormalizeElementBuildCache(
541 [in] IUIAutomationElement *element,
542 [in] IUIAutomationCacheRequest *cacheRequest,
543 [out, retval] IUIAutomationElement **normalized);
545 [propget] HRESULT Condition([out, retval] IUIAutomationCondition **condition);
549 object,
550 uuid(146c3c17-f12e-4e22-8c27-f894b9b79c69),
551 pointer_default(unique),
552 oleautomation
554 interface IUIAutomationEventHandler : IUnknown
556 HRESULT HandleAutomationEvent(
557 [in] IUIAutomationElement *sender,
558 [in] EVENTID eventId);
562 object,
563 uuid(40cd37d4-c756-4b0c-8c6f-bddfeeb13b50),
564 pointer_default(unique),
565 oleautomation
567 interface IUIAutomationPropertyChangedEventHandler : IUnknown
569 HRESULT HandlePropertyChangedEvent(
570 [in] IUIAutomationElement *sender,
571 [in] PROPERTYID propertyId,
572 [in] VARIANT newValue);
576 object,
577 uuid(e81d1b4e-11c5-42f8-9754-e7036c79f054),
578 pointer_default(unique),
579 oleautomation
581 interface IUIAutomationStructureChangedEventHandler : IUnknown
583 HRESULT HandleStructureChangedEvent(
584 [in] IUIAutomationElement *sender,
585 [in] enum StructureChangeType changeType,
586 [in] SAFEARRAY(int) runtimeId);
590 object,
591 uuid(c270f6b5-5c69-4290-9745-7a7f97169468),
592 pointer_default(unique),
593 oleautomation
595 interface IUIAutomationFocusChangedEventHandler : IUnknown
597 HRESULT HandleFocusChangedEvent([in] IUIAutomationElement *sender);
601 object,
602 uuid(92faa680-e704-4156-931a-e32d5bb38f3f),
603 pointer_default(unique),
604 oleautomation
606 interface IUIAutomationTextEditTextChangedEventHandler : IUnknown
608 HRESULT HandleTextEditTextChangedEvent(
609 [in] IUIAutomationElement *sender,
610 [in] enum TextEditChangeType textEditChangeType,
611 [in] SAFEARRAY(BSTR) eventStrings);
615 object,
616 uuid(58edca55-2c3e-4980-b1b9-56c17f27a2a0),
617 pointer_default(unique),
618 oleautomation
620 interface IUIAutomationChangesEventHandler : IUnknown
622 HRESULT HandleChangesEvent(
623 [in] IUIAutomationElement *sender,
624 [in, size_is(changesCount)] struct UiaChangeInfo *uiaChanges,
625 [in] int changesCount);
629 object,
630 uuid(c7cb2637-e6c2-4d0c-85de-4948c02175c7),
631 pointer_default(unique),
632 oleautomation
634 interface IUIAutomationNotificationEventHandler : IUnknown
636 HRESULT HandleNotificationEvent(
637 [in] IUIAutomationElement *sender,
638 enum NotificationKind notificationKind,
639 enum NotificationProcessing notificationProcessing,
640 [in] BSTR displayString,
641 [in] BSTR activityId);
645 object,
646 uuid(fb377fbe-8ea6-46d5-9c73-6499642d3059),
647 pointer_default(unique)
649 interface IUIAutomationInvokePattern : IUnknown
651 HRESULT Invoke();
655 object,
656 uuid(fde5ef97-1464-48f6-90bf-43d0948e86ec),
657 pointer_default(unique)
659 interface IUIAutomationDockPattern : IUnknown
661 HRESULT SetDockPosition([in] enum DockPosition dockPos);
662 [propget] HRESULT CurrentDockPosition([out, retval] enum DockPosition *retVal);
663 [propget] HRESULT CachedDockPosition([out, retval] enum DockPosition *retVal);
667 object,
668 uuid(619be086-1f4e-4ee4-bafa-210128738730),
669 pointer_default(unique)
671 interface IUIAutomationExpandCollapsePattern : IUnknown
673 HRESULT Expand();
674 HRESULT Collapse();
675 [propget] HRESULT CurrentExpandCollapseState([out, retval] enum ExpandCollapseState *retVal);
676 [propget] HRESULT CachedExpandCollapseState([out, retval] enum ExpandCollapseState *retVal);
680 object,
681 uuid(414c3cdc-856b-4f5b-8538-3131c6302550),
682 pointer_default(unique)
684 interface IUIAutomationGridPattern : IUnknown
686 HRESULT GetItem(
687 [in] int row,
688 [in] int column,
689 [out, retval] IUIAutomationElement **element);
691 [propget] HRESULT CurrentRowCount([out, retval] int *retVal);
692 [propget] HRESULT CurrentColumnCount([out, retval] int *retVal);
693 [propget] HRESULT CachedRowCount([out, retval] int *retVal);
694 [propget] HRESULT CachedColumnCount([out, retval] int *retVal);
698 object,
699 uuid(78f8ef57-66c3-4e09-bd7c-e79b2004894d),
700 pointer_default(unique)
702 interface IUIAutomationGridItemPattern : IUnknown
704 [propget] HRESULT CurrentContainingGrid([out, retval] IUIAutomationElement **retVal);
705 [propget] HRESULT CurrentRow([out, retval] int *retVal);
706 [propget] HRESULT CurrentColumn([out, retval] int *retVal);
707 [propget] HRESULT CurrentRowSpan([out, retval] int *retVal);
708 [propget] HRESULT CurrentColumnSpan([out, retval] int *retVal);
709 [propget] HRESULT CachedContainingGrid([out, retval] IUIAutomationElement **retVal);
710 [propget] HRESULT CachedRow([out, retval] int *retVal);
711 [propget] HRESULT CachedColumn([out, retval] int *retVal);
712 [propget] HRESULT CachedRowSpan([out, retval] int *retVal);
713 [propget] HRESULT CachedColumnSpan([out, retval] int *retVal);
717 object,
718 uuid(8d253c91-1dc5-4bb5-b18f-ade16fa495e8),
719 pointer_default(unique)
721 interface IUIAutomationMultipleViewPattern : IUnknown
723 HRESULT GetViewName(
724 [in] int view,
725 [out, retval] BSTR *name);
727 HRESULT SetCurrentView([in] int view);
729 [propget] HRESULT CurrentCurrentView([out, retval] int *retVal);
730 HRESULT GetCurrentSupportedViews([out, retval] SAFEARRAY(int) *retVal);
732 [propget] HRESULT CachedCurrentView([out, retval] int *retVal);
733 HRESULT GetCachedSupportedViews([out, retval] SAFEARRAY(int) *retVal);
737 object,
738 uuid(71c284b3-c14d-4d14-981e-19751b0d756d),
739 pointer_default(unique)
741 interface IUIAutomationObjectModelPattern : IUnknown
743 HRESULT GetUnderlyingObjectModel([out, retval] IUnknown **retVal);
747 object,
748 uuid(59213f4f-7346-49e5-b120-80555987a148),
749 pointer_default(unique)
751 interface IUIAutomationRangeValuePattern : IUnknown
753 HRESULT SetValue([in] double val);
755 [propget] HRESULT CurrentValue([out, retval] double *retVal);
756 [propget] HRESULT CurrentIsReadOnly([out, retval] BOOL *retVal);
757 [propget] HRESULT CurrentMaximum([out, retval] double *retVal);
758 [propget] HRESULT CurrentMinimum([out, retval] double *retVal);
759 [propget] HRESULT CurrentLargeChange([out, retval] double *retVal);
760 [propget] HRESULT CurrentSmallChange([out, retval] double *retVal);
762 [propget] HRESULT CachedValue([out, retval] double *retVal);
763 [propget] HRESULT CachedIsReadOnly([out, retval] BOOL *retVal);
764 [propget] HRESULT CachedMaximum([out, retval] double *retVal);
765 [propget] HRESULT CachedMinimum([out, retval] double *retVal);
766 [propget] HRESULT CachedLargeChange([out, retval] double *retVal);
767 [propget] HRESULT CachedSmallChange([out, retval] double *retVal);
771 object,
772 uuid(88f4d42a-e881-459d-a77c-73bbbb7e02dc),
773 pointer_default(unique)
775 interface IUIAutomationScrollPattern : IUnknown
777 HRESULT Scroll(
778 [in] enum ScrollAmount horizontalAmount,
779 [in] enum ScrollAmount verticalAmount);
780 HRESULT SetScrollPercent(
781 [in] double horizontalPercent,
782 [in] double verticalPercent);
784 [propget] HRESULT CurrentHorizontalScrollPercent([out, retval] double *retVal);
785 [propget] HRESULT CurrentVerticalScrollPercent([out, retval] double *retVal);
786 [propget] HRESULT CurrentHorizontalViewSize([out, retval] double *retVal);
787 [propget] HRESULT CurrentVerticalViewSize([out, retval] double *retVal);
788 [propget] HRESULT CurrentHorizontallyScrollable([out, retval] BOOL *retVal);
789 [propget] HRESULT CurrentVerticallyScrollable([out, retval] BOOL *retVal);
791 [propget] HRESULT CachedHorizontalScrollPercent([out, retval] double *retVal);
792 [propget] HRESULT CachedVerticalScrollPercent([out, retval] double *retVal);
793 [propget] HRESULT CachedHorizontalViewSize([out, retval] double *retVal);
794 [propget] HRESULT CachedVerticalViewSize([out, retval] double *retVal);
795 [propget] HRESULT CachedHorizontallyScrollable([out, retval] BOOL *retVal);
796 [propget] HRESULT CachedVerticallyScrollable([out, retval] BOOL *retVal);
800 object,
801 uuid(b488300f-d015-4f19-9c29-bb595e3645ef),
802 pointer_default(unique)
804 interface IUIAutomationScrollItemPattern : IUnknown
806 HRESULT ScrollIntoView();
810 object,
811 uuid(5ed5202e-b2ac-47a6-b638-4b0bf140d78e),
812 pointer_default(unique)
814 interface IUIAutomationSelectionPattern : IUnknown
816 HRESULT GetCurrentSelection([out, retval] IUIAutomationElementArray **retVal);
817 [propget] HRESULT CurrentCanSelectMultiple([out, retval] BOOL *retVal);
818 [propget] HRESULT CurrentIsSelectionRequired([out, retval] BOOL *retVal);
820 HRESULT GetCachedSelection([out, retval] IUIAutomationElementArray **retVal);
821 [propget] HRESULT CachedCanSelectMultiple([out, retval] BOOL *retVal);
822 [propget] HRESULT CachedIsSelectionRequired([out, retval] BOOL *retVal);
826 object,
827 uuid(a8efa66a-0fda-421a-9194-38021f3578ea),
828 pointer_default(unique)
830 interface IUIAutomationSelectionItemPattern : IUnknown
832 HRESULT Select();
833 HRESULT AddToSelection();
834 HRESULT RemoveFromSelection();
836 [propget] HRESULT CurrentIsSelected([out, retval] BOOL *retVal);
837 [propget] HRESULT CurrentSelectionContainer([out, retval] IUIAutomationElement **retVal);
839 [propget] HRESULT CachedIsSelected([out, retval] BOOL *retVal);
840 [propget] HRESULT CachedSelectionContainer([out, retval] IUIAutomationElement **retVal);
844 object,
845 uuid(2233be0b-afb7-448b-9fda-3b378aa5eae1),
846 pointer_default(unique)
848 interface IUIAutomationSynchronizedInputPattern : IUnknown
850 HRESULT StartListening([in] enum SynchronizedInputType inputType);
851 HRESULT Cancel();
855 object,
856 uuid(620e691c-ea96-4710-a850-754b24ce2417),
857 pointer_default(unique)
859 interface IUIAutomationTablePattern : IUnknown
861 HRESULT GetCurrentRowHeaders([out, retval] IUIAutomationElementArray **retVal);
862 HRESULT GetCurrentColumnHeaders([out, retval] IUIAutomationElementArray **retVal);
863 [propget] HRESULT CurrentRowOrColumnMajor([out, retval] enum RowOrColumnMajor *retVal);
865 HRESULT GetCachedRowHeaders([out, retval] IUIAutomationElementArray **retVal);
866 HRESULT GetCachedColumnHeaders([out, retval] IUIAutomationElementArray **retVal);
867 [propget] HRESULT CachedRowOrColumnMajor([out, retval] enum RowOrColumnMajor *retVal);
871 object,
872 uuid(0b964eb3-ef2e-4464-9c79-61d61737a27e),
873 pointer_default(unique)
875 interface IUIAutomationTableItemPattern : IUnknown
877 HRESULT GetCurrentRowHeaderItems([out, retval] IUIAutomationElementArray **retVal);
878 HRESULT GetCurrentColumnHeaderItems([out, retval] IUIAutomationElementArray **retVal);
880 HRESULT GetCachedRowHeaderItems([out, retval] IUIAutomationElementArray **retVal);
881 HRESULT GetCachedColumnHeaderItems([out, retval] IUIAutomationElementArray **retVal);
885 object,
886 uuid(94cf8058-9b8d-4ab9-8bfd-4cd0a33c8c70),
887 pointer_default(unique)
889 interface IUIAutomationTogglePattern : IUnknown
891 HRESULT Toggle();
893 [propget] HRESULT CurrentToggleState([out, retval] enum ToggleState *retVal);
894 [propget] HRESULT CachedToggleState([out, retval] enum ToggleState *retVal);
898 object,
899 uuid(a9b55844-a55d-4ef0-926d-569c16ff89bb),
900 pointer_default(unique)
902 interface IUIAutomationTransformPattern : IUnknown
904 HRESULT Move(
905 [in] double x,
906 [in] double y);
907 HRESULT Resize(
908 [in] double width,
909 [in] double height);
910 HRESULT Rotate([in] double degrees);
912 [propget] HRESULT CurrentCanMove([out, retval] BOOL *retVal);
913 [propget] HRESULT CurrentCanResize([out, retval] BOOL *retVal);
914 [propget] HRESULT CurrentCanRotate([out, retval] BOOL *retVal);
916 [propget] HRESULT CachedCanMove([out, retval] BOOL *retVal);
917 [propget] HRESULT CachedCanResize([out, retval] BOOL *retVal);
918 [propget] HRESULT CachedCanRotate([out, retval] BOOL *retVal);
922 object,
923 uuid(a94cd8b1-0844-4cd6-9d2d-640537ab39e9),
924 pointer_default(unique)
926 interface IUIAutomationValuePattern : IUnknown
928 HRESULT SetValue([in] BSTR val);
930 [propget] HRESULT CurrentValue([out, retval] BSTR *retVal);
931 [propget] HRESULT CurrentIsReadOnly([out, retval] BOOL *retVal);
932 [propget] HRESULT CachedValue([out, retval] BSTR *retVal);
933 [propget] HRESULT CachedIsReadOnly([out, retval] BOOL *retVal);
937 object,
938 uuid(0faef453-9208-43ef-bbb2-3b485177864f),
939 pointer_default(unique)
941 interface IUIAutomationWindowPattern : IUnknown
943 HRESULT Close();
945 HRESULT WaitForInputIdle(
946 [in] int milliseconds,
947 [out, retval] BOOL *success);
948 HRESULT SetWindowVisualState([in] enum WindowVisualState state);
950 [propget] HRESULT CurrentCanMaximize([out, retval] BOOL *retVal);
951 [propget] HRESULT CurrentCanMinimize([out, retval] BOOL *retVal);
952 [propget] HRESULT CurrentIsModal([out, retval] BOOL *retVal);
953 [propget] HRESULT CurrentIsTopmost([out, retval] BOOL *retVal);
954 [propget] HRESULT CurrentWindowVisualState([out, retval] enum WindowVisualState *retVal);
955 [propget] HRESULT CurrentWindowInteractionState([out, retval] enum WindowInteractionState *retVal);
956 [propget] HRESULT CachedCanMaximize([out, retval] BOOL *retVal);
957 [propget] HRESULT CachedCanMinimize([out, retval] BOOL *retVal);
958 [propget] HRESULT CachedIsModal([out, retval] BOOL *retVal);
959 [propget] HRESULT CachedIsTopmost([out, retval] BOOL *retVal);
960 [propget] HRESULT CachedWindowVisualState([out, retval] enum WindowVisualState *retVal);
961 [propget] HRESULT CachedWindowInteractionState([out, retval] enum WindowInteractionState *retVal);
965 object,
966 uuid(a543cc6a-f4ae-494b-8239-c814481187a8),
967 pointer_default(unique)
969 interface IUIAutomationTextRange : IUnknown
971 HRESULT Clone([out, retval] IUIAutomationTextRange **clonedRange);
972 HRESULT Compare(
973 [in] IUIAutomationTextRange *range,
974 [out, retval] BOOL *areSame);
975 HRESULT CompareEndpoints(
976 [in] enum TextPatternRangeEndpoint srcEndPoint,
977 [in] IUIAutomationTextRange *range,
978 [in] enum TextPatternRangeEndpoint targetEndPoint,
979 [out, retval] int *compValue);
981 HRESULT ExpandToEnclosingUnit([in] enum TextUnit textUnit);
983 HRESULT FindAttribute(
984 [in] TEXTATTRIBUTEID attr,
985 [in] VARIANT val,
986 [in] BOOL backward,
987 [out, retval] IUIAutomationTextRange **found);
988 HRESULT FindText(
989 [in] BSTR text,
990 [in] BOOL backward,
991 [in] BOOL ignoreCase,
992 [out, retval] IUIAutomationTextRange **found);
994 HRESULT GetAttributeValue(
995 [in] TEXTATTRIBUTEID attr,
996 [out, retval] VARIANT *value);
997 HRESULT GetBoundingRectangles([out, retval] SAFEARRAY(double) *boundingRects);
998 HRESULT GetEnclosingElement([out, retval] IUIAutomationElement **enclosingElement);
999 HRESULT GetText(
1000 [in] int maxLength,
1001 [out, retval] BSTR *text);
1003 HRESULT Move(
1004 [in] enum TextUnit unit,
1005 [in] int count,
1006 [out, retval] int *moved);
1007 HRESULT MoveEndpointByUnit(
1008 [in] enum TextPatternRangeEndpoint endpoint,
1009 [in] enum TextUnit unit,
1010 [in] int count,
1011 [out, retval] int *moved);
1012 HRESULT MoveEndpointByRange(
1013 [in] enum TextPatternRangeEndpoint srcEndPoint,
1014 [in] IUIAutomationTextRange *range,
1015 [in] enum TextPatternRangeEndpoint targetEndPoint);
1017 HRESULT Select();
1018 HRESULT AddToSelection();
1019 HRESULT RemoveFromSelection( );
1020 HRESULT ScrollIntoView([in] BOOL alignToTop);
1022 HRESULT GetChildren([out, retval] IUIAutomationElementArray **children);
1026 object,
1027 uuid(bb9b40e0-5e04-46bd-9be0-4b601b9afad4),
1028 pointer_default(unique)
1030 interface IUIAutomationTextRange2 : IUIAutomationTextRange
1032 HRESULT ShowContextMenu();
1036 object,
1037 uuid(ce4ae76a-e717-4c98-81ea-47371d028eb6),
1038 pointer_default(unique)
1040 interface IUIAutomationTextRangeArray : IUnknown
1042 [propget] HRESULT Length([out, retval] int *length);
1043 HRESULT GetElement(
1044 [in] int index,
1045 [out, retval] IUIAutomationTextRange **element);
1049 object,
1050 uuid(32eba289-3583-42c9-9c59-3b6d9a1e9b6a),
1051 pointer_default(unique)
1053 interface IUIAutomationTextPattern : IUnknown
1055 HRESULT RangeFromPoint(
1056 [in] POINT pt,
1057 [out, retval] IUIAutomationTextRange **range);
1058 HRESULT RangeFromChild(
1059 [in] IUIAutomationElement *child,
1060 [out, retval] IUIAutomationTextRange **range);
1062 HRESULT GetSelection([out, retval] IUIAutomationTextRangeArray **ranges);
1063 HRESULT GetVisibleRanges([out, retval] IUIAutomationTextRangeArray **ranges);
1064 [propget] HRESULT DocumentRange([out, retval] IUIAutomationTextRange **range);
1065 [propget] HRESULT SupportedTextSelection([out, retval] enum SupportedTextSelection *supportedTextSelection);
1070 object,
1071 uuid(506a921a-fcc9-409f-b23b-37eb74106872),
1072 pointer_default(unique)
1074 interface IUIAutomationTextPattern2 : IUIAutomationTextPattern
1076 HRESULT RangeFromAnnotation(
1077 [in] IUIAutomationElement *annotation,
1078 [out, retval] IUIAutomationTextRange **range);
1080 HRESULT GetCaretRange(
1081 [out] BOOL *isActive,
1082 [out, retval] IUIAutomationTextRange **range);
1086 object,
1087 uuid(17e21576-996c-4870-99d9-bff323380c06),
1088 pointer_default(unique)
1090 interface IUIAutomationTextEditPattern : IUIAutomationTextPattern
1092 HRESULT GetActiveComposition([out, retval] IUIAutomationTextRange **range);
1093 HRESULT GetConversionTarget([out, retval] IUIAutomationTextRange **range);
1097 object,
1098 uuid(01ea217a-1766-47ed-a6cc-acf492854b1f),
1099 pointer_default(unique)
1101 interface IUIAutomationCustomNavigationPattern : IUnknown
1103 HRESULT Navigate(
1104 [in] enum NavigateDirection direction,
1105 [out, retval] IUIAutomationElement **pRetVal);
1109 object,
1110 uuid(f97933b0-8dae-4496-8997-5ba015fe0d82),
1111 pointer_default(unique),
1112 oleautomation
1114 interface IUIAutomationActiveTextPositionChangedEventHandler : IUnknown
1116 HRESULT HandleActiveTextPositionChangedEvent(
1117 [in] IUIAutomationElement *sender,
1118 [in] IUIAutomationTextRange *range);
1122 object,
1123 uuid(828055ad-355b-4435-86d5-3b51c14a9b1b),
1124 pointer_default(unique)
1126 interface IUIAutomationLegacyIAccessiblePattern: IUnknown
1128 HRESULT Select(long flagsSelect);
1129 HRESULT DoDefaultAction();
1130 HRESULT SetValue(LPCWSTR szValue);
1132 [propget] HRESULT CurrentChildId([out, retval] int *pRetVal);
1133 [propget] HRESULT CurrentName([out, retval] BSTR *pszName);
1134 [propget] HRESULT CurrentValue([out, retval] BSTR *pszValue);
1135 [propget] HRESULT CurrentDescription([out, retval] BSTR *pszDescription);
1136 [propget] HRESULT CurrentRole([out, retval] DWORD *pdwRole);
1137 [propget] HRESULT CurrentState([out, retval] DWORD *pdwState);
1138 [propget] HRESULT CurrentHelp([out, retval] BSTR *pszHelp);
1139 [propget] HRESULT CurrentKeyboardShortcut([out, retval] BSTR *pszKeyboardShortcut);
1140 HRESULT GetCurrentSelection([out, retval] IUIAutomationElementArray **pvarSelectedChildren);
1141 [propget] HRESULT CurrentDefaultAction([out, retval] BSTR *pszDefaultAction);
1143 [propget] HRESULT CachedChildId([out, retval] int *pRetVal);
1144 [propget] HRESULT CachedName([out, retval] BSTR *pszName);
1145 [propget] HRESULT CachedValue([out, retval] BSTR *pszValue);
1146 [propget] HRESULT CachedDescription([out, retval] BSTR *pszDescription);
1147 [propget] HRESULT CachedRole([out, retval] DWORD *pdwRole);
1148 [propget] HRESULT CachedState([out, retval] DWORD *pdwState);
1149 [propget] HRESULT CachedHelp([out, retval] BSTR *pszHelp);
1150 [propget] HRESULT CachedKeyboardShortcut([out, retval] BSTR *pszKeyboardShortcut);
1151 HRESULT GetCachedSelection([out, retval] IUIAutomationElementArray **pvarSelectedChildren);
1152 [propget] HRESULT CachedDefaultAction([out, retval] BSTR *pszDefaultAction);
1154 HRESULT GetIAccessible([out, retval] IAccessible **ppAccessible);
1158 object,
1159 uuid(c690fdb2-27a8-423c-812d-429773c9084e),
1160 pointer_default(unique)
1162 interface IUIAutomationItemContainerPattern : IUnknown
1164 HRESULT FindItemByProperty(
1165 [in] IUIAutomationElement *pStartAfter,
1166 [in] PROPERTYID propertyId,
1167 [in] VARIANT value,
1168 [out, retval] IUIAutomationElement **pFound);
1172 object,
1173 uuid(6ba3d7a6-04cf-4f11-8793-a8d1cde9969f),
1174 pointer_default(unique)
1176 interface IUIAutomationVirtualizedItemPattern : IUnknown
1178 HRESULT Realize();
1182 object,
1183 uuid(9a175b21-339e-41b1-8e8b-623f6b681098),
1184 pointer_default(unique)
1186 interface IUIAutomationAnnotationPattern : IUnknown
1188 [propget] HRESULT CurrentAnnotationTypeId([out, retval] int *retVal);
1189 [propget] HRESULT CurrentAnnotationTypeName([out, retval] BSTR *retVal);
1190 [propget] HRESULT CurrentAuthor( [out, retval] BSTR *retVal);
1191 [propget] HRESULT CurrentDateTime( [out, retval] BSTR *retVal);
1192 [propget] HRESULT CurrentTarget( [out, retval] IUIAutomationElement **retVal);
1194 [propget] HRESULT CachedAnnotationTypeId([out, retval] int *retVal);
1195 [propget] HRESULT CachedAnnotationTypeName([out, retval] BSTR *retVal);
1196 [propget] HRESULT CachedAuthor( [out, retval] BSTR *retVal);
1197 [propget] HRESULT CachedDateTime( [out, retval] BSTR *retVal);
1198 [propget] HRESULT CachedTarget( [out, retval] IUIAutomationElement **retVal);
1202 object,
1203 uuid(85b5f0a2-bd79-484a-ad2b-388c9838d5fb),
1204 pointer_default(unique)
1206 interface IUIAutomationStylesPattern : IUnknown
1208 [propget] HRESULT CurrentStyleId([out, retval] int *retVal);
1209 [propget] HRESULT CurrentStyleName([out, retval] BSTR *retVal);
1210 [propget] HRESULT CurrentFillColor([out, retval] int *retVal);
1211 [propget] HRESULT CurrentFillPatternStyle([out, retval] BSTR *retVal);
1212 [propget] HRESULT CurrentShape([out, retval] BSTR *retVal);
1213 [propget] HRESULT CurrentFillPatternColor([out, retval] int *retVal);
1214 [propget] HRESULT CurrentExtendedProperties([out, retval] BSTR *retVal);
1215 HRESULT GetCurrentExtendedPropertiesAsArray(
1216 [out, size_is( ,*propertyCount)] struct ExtendedProperty **propertyArray,
1217 [out] int *propertyCount);
1219 [propget] HRESULT CachedStyleId([out, retval] int *retVal);
1220 [propget] HRESULT CachedStyleName([out, retval] BSTR *retVal);
1221 [propget] HRESULT CachedFillColor([out, retval] int *retVal);
1222 [propget] HRESULT CachedFillPatternStyle([out, retval] BSTR *retVal);
1223 [propget] HRESULT CachedShape([out, retval] BSTR *retVal);
1224 [propget] HRESULT CachedFillPatternColor([out, retval] int *retVal);
1225 [propget] HRESULT CachedExtendedProperties([out, retval] BSTR *retVal);
1226 HRESULT GetCachedExtendedPropertiesAsArray(
1227 [out, size_is( ,*propertyCount)] struct ExtendedProperty **propertyArray,
1228 [out] int *propertyCount);
1232 object,
1233 uuid(7517a7c8-faae-4de9-9f08-29b91e8595c1),
1234 pointer_default(unique)
1236 interface IUIAutomationSpreadsheetPattern : IUnknown
1238 HRESULT GetItemByName(
1239 [in] BSTR name,
1240 [out, retval] IUIAutomationElement **element);
1244 object,
1245 uuid(7d4fb86c-8d34-40e1-8e83-62c15204e335),
1246 pointer_default(unique)
1248 interface IUIAutomationSpreadsheetItemPattern : IUnknown
1250 [propget] HRESULT CurrentFormula([out, retval] BSTR *retVal);
1251 HRESULT GetCurrentAnnotationObjects([out, retval] IUIAutomationElementArray **retVal);
1252 HRESULT GetCurrentAnnotationTypes([out, retval] SAFEARRAY(int) *retVal);
1254 [propget] HRESULT CachedFormula([out, retval] BSTR *retVal);
1255 HRESULT GetCachedAnnotationObjects([out, retval] IUIAutomationElementArray **retVal);
1256 HRESULT GetCachedAnnotationTypes([out, retval] SAFEARRAY(int) *retVal);
1260 object,
1261 uuid(6d74d017-6ecb-4381-b38b-3c17a48ff1c2),
1262 pointer_default(unique)
1264 interface IUIAutomationTransformPattern2 : IUIAutomationTransformPattern
1266 HRESULT Zoom([in] double zoomValue);
1267 HRESULT ZoomByUnit([in] enum ZoomUnit zoomUnit);
1269 [propget] HRESULT CurrentCanZoom([out, retval] BOOL *retVal);
1270 [propget] HRESULT CachedCanZoom([out, retval] BOOL *retVal);
1272 [propget] HRESULT CurrentZoomLevel([out, retval] double *retVal);
1273 [propget] HRESULT CachedZoomLevel([out, retval] double *retVal);
1275 [propget] HRESULT CurrentZoomMinimum([out, retval] double *retVal);
1276 [propget] HRESULT CachedZoomMinimum([out, retval] double *retVal);
1278 [propget] HRESULT CurrentZoomMaximum([out, retval] double *retVal);
1279 [propget] HRESULT CachedZoomMaximum([out, retval] double *retVal);
1283 object,
1284 uuid(6552b038-ae05-40c8-abfd-aa08352aab86),
1285 pointer_default(unique)
1287 interface IUIAutomationTextChildPattern : IUnknown
1289 [propget] HRESULT TextContainer([out, retval] IUIAutomationElement **container);
1290 [propget] HRESULT TextRange([out, retval] IUIAutomationTextRange **range);
1294 object,
1295 uuid(1dc7b570-1f54-4bad-bcda-d36a722fb7bd),
1296 pointer_default(unique)
1298 interface IUIAutomationDragPattern : IUnknown
1300 [propget] HRESULT CurrentIsGrabbed([out, retval] BOOL *retVal);
1301 [propget] HRESULT CachedIsGrabbed([out, retval] BOOL *retVal);
1303 [propget] HRESULT CurrentDropEffect([out, retval] BSTR *retVal);
1304 [propget] HRESULT CachedDropEffect([out, retval] BSTR *retVal);
1306 [propget] HRESULT CurrentDropEffects([out, retval] SAFEARRAY(BSTR) *retVal);
1307 [propget] HRESULT CachedDropEffects([out, retval] SAFEARRAY(BSTR) *retVal);
1309 HRESULT GetCurrentGrabbedItems([out, retval] IUIAutomationElementArray **retVal);
1310 HRESULT GetCachedGrabbedItems([out, retval] IUIAutomationElementArray **retVal);
1314 object,
1315 uuid(69a095f7-eee4-430e-a46b-fb73b1ae39a5),
1316 pointer_default(unique)
1318 interface IUIAutomationDropTargetPattern : IUnknown
1320 [propget] HRESULT CurrentDropTargetEffect([out, retval] BSTR *retVal);
1321 [propget] HRESULT CachedDropTargetEffect([out, retval] BSTR *retVal);
1323 [propget] HRESULT CurrentDropTargetEffects([out, retval] SAFEARRAY(BSTR) *retVal);
1324 [propget] HRESULT CachedDropTargetEffects([out, retval] SAFEARRAY(BSTR) *retVal);
1328 object,
1329 uuid(d22108aa-8ac5-49a5-837b-37bbb3d7591e),
1330 pointer_default(unique)
1332 interface IUIAutomationElement : IUnknown
1334 HRESULT SetFocus();
1335 HRESULT GetRuntimeId([out, retval] SAFEARRAY(int) *runtimeId);
1337 HRESULT FindFirst(
1338 [in] enum TreeScope scope,
1339 [in] IUIAutomationCondition *condition,
1340 [out, retval] IUIAutomationElement **found);
1341 HRESULT FindAll(
1342 [in] enum TreeScope scope,
1343 [in] IUIAutomationCondition *condition,
1344 [out, retval] IUIAutomationElementArray **found);
1346 HRESULT FindFirstBuildCache(
1347 [in] enum TreeScope scope,
1348 [in] IUIAutomationCondition *condition,
1349 [in] IUIAutomationCacheRequest *cacheRequest,
1350 [out, retval] IUIAutomationElement **found);
1351 HRESULT FindAllBuildCache(
1352 [in] enum TreeScope scope,
1353 [in] IUIAutomationCondition *condition,
1354 [in] IUIAutomationCacheRequest *cacheRequest,
1355 [out, retval] IUIAutomationElementArray **found);
1357 HRESULT BuildUpdatedCache(
1358 [in] IUIAutomationCacheRequest *cacheRequest,
1359 [out, retval] IUIAutomationElement **updatedElement);
1361 HRESULT GetCurrentPropertyValue(
1362 [in] PROPERTYID propertyId,
1363 [out, retval] VARIANT *retVal);
1364 HRESULT GetCurrentPropertyValueEx(
1365 [in] PROPERTYID propertyId,
1366 [in] BOOL ignoreDefaultValue,
1367 [out, retval] VARIANT *retVal);
1369 HRESULT GetCachedPropertyValue(
1370 [in] PROPERTYID propertyId,
1371 [out, retval] VARIANT *retVal);
1372 HRESULT GetCachedPropertyValueEx(
1373 [in] PROPERTYID propertyId,
1374 [in] BOOL ignoreDefaultValue,
1375 [out, retval] VARIANT *retVal);
1377 HRESULT GetCurrentPatternAs(
1378 [in] PATTERNID patternId,
1379 [in] REFIID riid,
1380 [out, iid_is(riid), retval] void **patternObject);
1381 HRESULT GetCachedPatternAs(
1382 [in] PATTERNID patternId,
1383 [in] REFIID riid,
1384 [out, iid_is(riid), retval] void **patternObject);
1386 HRESULT GetCurrentPattern(
1387 [in] PATTERNID patternId,
1388 [out, retval] IUnknown **patternObject);
1389 HRESULT GetCachedPattern(
1390 [in] PATTERNID patternId,
1391 [out, retval] IUnknown **patternObject);
1393 HRESULT GetCachedParent([out, retval] IUIAutomationElement **parent);
1394 HRESULT GetCachedChildren([out, retval] IUIAutomationElementArray **children);
1396 [propget] HRESULT CurrentProcessId([out, retval] int *retVal);
1397 [propget] HRESULT CurrentControlType([out, retval] CONTROLTYPEID *retVal);
1398 [propget] HRESULT CurrentLocalizedControlType([out, retval] BSTR *retVal);
1399 [propget] HRESULT CurrentName([out, retval] BSTR *retVal);
1400 [propget] HRESULT CurrentAcceleratorKey([out, retval] BSTR *retVal);
1401 [propget] HRESULT CurrentAccessKey([out, retval] BSTR *retVal);
1402 [propget] HRESULT CurrentHasKeyboardFocus([out, retval] BOOL *retVal);
1403 [propget] HRESULT CurrentIsKeyboardFocusable([out, retval] BOOL *retVal);
1404 [propget] HRESULT CurrentIsEnabled([out, retval] BOOL *retVal);
1405 [propget] HRESULT CurrentAutomationId([out, retval] BSTR *retVal);
1406 [propget] HRESULT CurrentClassName([out, retval] BSTR *retVal);
1407 [propget] HRESULT CurrentHelpText([out, retval] BSTR *retVal);
1408 [propget] HRESULT CurrentCulture([out, retval] int *retVal);
1409 [propget] HRESULT CurrentIsControlElement([out, retval] BOOL *retVal);
1410 [propget] HRESULT CurrentIsContentElement([out, retval] BOOL *retVal);
1411 [propget] HRESULT CurrentIsPassword([out, retval] BOOL *retVal);
1412 [propget] HRESULT CurrentNativeWindowHandle([out, retval] UIA_HWND *retVal);
1413 [propget] HRESULT CurrentItemType([out, retval] BSTR *retVal);
1414 [propget] HRESULT CurrentIsOffscreen([out, retval] BOOL *retVal);
1415 [propget] HRESULT CurrentOrientation([out, retval] enum OrientationType *retVal);
1416 [propget] HRESULT CurrentFrameworkId([out, retval] BSTR *retVal);
1417 [propget] HRESULT CurrentIsRequiredForForm([out, retval] BOOL *retVal);
1418 [propget] HRESULT CurrentItemStatus([out, retval] BSTR *retVal);
1419 [propget] HRESULT CurrentBoundingRectangle([out, retval] RECT *retVal);
1420 [propget] HRESULT CurrentLabeledBy([out, retval] IUIAutomationElement **retVal);
1421 [propget] HRESULT CurrentAriaRole([out, retval] BSTR *retVal);
1422 [propget] HRESULT CurrentAriaProperties([out, retval] BSTR *retVal);
1423 [propget] HRESULT CurrentIsDataValidForForm([out, retval] BOOL *retVal);
1424 [propget] HRESULT CurrentControllerFor([out, retval] IUIAutomationElementArray **retVal);
1425 [propget] HRESULT CurrentDescribedBy([out, retval] IUIAutomationElementArray **retVal);
1426 [propget] HRESULT CurrentFlowsTo([out, retval] IUIAutomationElementArray **retVal);
1427 [propget] HRESULT CurrentProviderDescription([out, retval] BSTR *retVal);
1429 [propget] HRESULT CachedProcessId([out, retval] int *retVal);
1430 [propget] HRESULT CachedControlType([out, retval] CONTROLTYPEID *retVal);
1431 [propget] HRESULT CachedLocalizedControlType([out, retval] BSTR *retVal);
1432 [propget] HRESULT CachedName([out, retval] BSTR *retVal);
1433 [propget] HRESULT CachedAcceleratorKey([out, retval] BSTR *retVal);
1434 [propget] HRESULT CachedAccessKey([out, retval] BSTR *retVal);
1435 [propget] HRESULT CachedHasKeyboardFocus([out, retval] BOOL *retVal);
1436 [propget] HRESULT CachedIsKeyboardFocusable([out, retval] BOOL *retVal);
1437 [propget] HRESULT CachedIsEnabled([out, retval] BOOL *retVal);
1438 [propget] HRESULT CachedAutomationId([out, retval] BSTR *retVal);
1439 [propget] HRESULT CachedClassName([out, retval] BSTR *retVal);
1440 [propget] HRESULT CachedHelpText([out, retval] BSTR *retVal);
1441 [propget] HRESULT CachedCulture([out, retval] int *retVal);
1442 [propget] HRESULT CachedIsControlElement([out, retval] BOOL *retVal);
1443 [propget] HRESULT CachedIsContentElement([out, retval] BOOL *retVal);
1444 [propget] HRESULT CachedIsPassword([out, retval] BOOL *retVal);
1445 [propget] HRESULT CachedNativeWindowHandle([out, retval] UIA_HWND *retVal);
1446 [propget] HRESULT CachedItemType([out, retval] BSTR *retVal);
1447 [propget] HRESULT CachedIsOffscreen([out, retval] BOOL *retVal);
1448 [propget] HRESULT CachedOrientation([out, retval] enum OrientationType *retVal);
1449 [propget] HRESULT CachedFrameworkId([out, retval] BSTR *retVal);
1450 [propget] HRESULT CachedIsRequiredForForm([out, retval] BOOL *retVal);
1451 [propget] HRESULT CachedItemStatus([out, retval] BSTR *retVal);
1452 [propget] HRESULT CachedBoundingRectangle([out, retval] RECT *retVal);
1453 [propget] HRESULT CachedLabeledBy([out, retval] IUIAutomationElement **retVal);
1454 [propget] HRESULT CachedAriaRole([out, retval] BSTR *retVal);
1455 [propget] HRESULT CachedAriaProperties([out, retval] BSTR *retVal);
1456 [propget] HRESULT CachedIsDataValidForForm([out, retval] BOOL *retVal);
1457 [propget] HRESULT CachedControllerFor([out, retval] IUIAutomationElementArray **retVal);
1458 [propget] HRESULT CachedDescribedBy([out, retval] IUIAutomationElementArray **retVal);
1459 [propget] HRESULT CachedFlowsTo([out, retval] IUIAutomationElementArray **retVal);
1460 [propget] HRESULT CachedProviderDescription([out, retval] BSTR *retVal);
1462 HRESULT GetClickablePoint(
1463 [out] POINT *clickable,
1464 [out, retval] BOOL *gotClickable);
1468 object,
1469 uuid(6749c683-f70d-4487-a698-5f79d55290d6),
1470 pointer_default(unique)
1472 interface IUIAutomationElement2 : IUIAutomationElement
1474 [propget] HRESULT CurrentOptimizeForVisualContent([out, retval] BOOL *retVal);
1475 [propget] HRESULT CachedOptimizeForVisualContent([out, retval] BOOL *retVal);
1477 [propget] HRESULT CurrentLiveSetting([out, retval] enum LiveSetting *retVal);
1478 [propget] HRESULT CachedLiveSetting([out, retval] enum LiveSetting *retVal);
1480 [propget] HRESULT CurrentFlowsFrom([out, retval] IUIAutomationElementArray **retVal);
1481 [propget] HRESULT CachedFlowsFrom([out, retval] IUIAutomationElementArray **retVal);
1485 object,
1486 uuid(8471df34-aee0-4a01-a7de-7db9af12c296),
1487 pointer_default(unique)
1489 interface IUIAutomationElement3 : IUIAutomationElement2
1491 HRESULT ShowContextMenu();
1493 [propget] HRESULT CurrentIsPeripheral([out, retval] BOOL *retVal);
1494 [propget] HRESULT CachedIsPeripheral([out, retval] BOOL *retVal);
1498 object,
1499 uuid(3b6e233c-52fb-4063-a4c9-77c075c2a06b),
1500 pointer_default(unique)
1502 interface IUIAutomationElement4 : IUIAutomationElement3
1504 [propget] HRESULT CurrentPositionInSet([out, retval] int *retVal);
1505 [propget] HRESULT CurrentSizeOfSet([out, retval] int *retVal);
1506 [propget] HRESULT CurrentLevel([out, retval] int *retVal);
1507 [propget] HRESULT CurrentAnnotationTypes([out, retval] SAFEARRAY(int) *retVal);
1508 [propget] HRESULT CurrentAnnotationObjects([out, retval] IUIAutomationElementArray **retVal);
1510 [propget] HRESULT CachedPositionInSet([out, retval] int *retVal);
1511 [propget] HRESULT CachedSizeOfSet([out, retval] int *retVal);
1512 [propget] HRESULT CachedLevel([out, retval] int *retVal);
1513 [propget] HRESULT CachedAnnotationTypes([out, retval] SAFEARRAY(int) *retVal);
1514 [propget] HRESULT CachedAnnotationObjects([out, retval] IUIAutomationElementArray **retVal);
1518 object,
1519 uuid(98141c1d-0d0e-4175-bbe2-6bff455842a7),
1520 pointer_default(unique)
1522 interface IUIAutomationElement5 : IUIAutomationElement4
1524 [propget] HRESULT CurrentLandmarkType([out, retval] LANDMARKTYPEID *retVal);
1525 [propget] HRESULT CurrentLocalizedLandmarkType([out, retval] BSTR *retVal);
1527 [propget] HRESULT CachedLandmarkType([out, retval] LANDMARKTYPEID *retVal);
1528 [propget] HRESULT CachedLocalizedLandmarkType([out, retval] BSTR *retVal);
1532 object,
1533 uuid(4780d450-8bca-4977-afa5-a4a517f555e3),
1534 pointer_default(unique)
1536 interface IUIAutomationElement6 : IUIAutomationElement5
1538 [propget] HRESULT CurrentFullDescription([out, retval] BSTR *retVal);
1539 [propget] HRESULT CachedFullDescription([out, retval] BSTR *retVal);
1543 object,
1544 uuid(204e8572-cfc3-4c11-b0c8-7da7420750b7),
1545 pointer_default(unique)
1547 interface IUIAutomationElement7 : IUIAutomationElement6
1549 HRESULT FindFirstWithOptions(
1550 [in] enum TreeScope scope,
1551 [in] IUIAutomationCondition *condition,
1552 [in] enum TreeTraversalOptions traversalOptions,
1553 [in] IUIAutomationElement *root,
1554 [out, retval] IUIAutomationElement **found);
1555 HRESULT FindAllWithOptions(
1556 [in] enum TreeScope scope,
1557 [in] IUIAutomationCondition *condition,
1558 [in] enum TreeTraversalOptions traversalOptions,
1559 [in] IUIAutomationElement *root,
1560 [out, retval] IUIAutomationElementArray **found);
1562 HRESULT FindFirstWithOptionsBuildCache(
1563 [in] enum TreeScope scope,
1564 [in] IUIAutomationCondition *condition,
1565 [in] IUIAutomationCacheRequest *cacheRequest,
1566 [in] enum TreeTraversalOptions traversalOptions,
1567 [in] IUIAutomationElement *root,
1568 [out, retval] IUIAutomationElement **found);
1569 HRESULT FindAllWithOptionsBuildCache(
1570 [in] enum TreeScope scope,
1571 [in] IUIAutomationCondition *condition,
1572 [in] IUIAutomationCacheRequest *cacheRequest,
1573 [in] enum TreeTraversalOptions traversalOptions,
1574 [in] IUIAutomationElement *root,
1575 [out, retval] IUIAutomationElementArray **found);
1577 HRESULT GetCurrentMetadataValue(
1578 [in] int targetId,
1579 [in] METADATAID metadataId,
1580 [out, retval] VARIANT *returnVal);
1584 object,
1585 uuid(8c60217d-5411-4cde-bcc0-1ceda223830c),
1586 pointer_default(unique)
1588 interface IUIAutomationElement8 : IUIAutomationElement7
1590 [propget] HRESULT CurrentHeadingLevel([out, retval] HEADINGLEVELID *retVal);
1591 [propget] HRESULT CachedHeadingLevel([out, retval] HEADINGLEVELID *retVal);
1595 object,
1596 uuid(39325fac-039d-440e-a3a3-5eb81a5cecc3),
1597 pointer_default(unique)
1599 interface IUIAutomationElement9 : IUIAutomationElement8
1601 [propget] HRESULT CurrentIsDialog([out, retval] BOOL *retVal);
1602 [propget] HRESULT CachedIsDialog([out, retval] BOOL *retVal);
1606 object,
1607 uuid(14314595-b4bc-4055-95f2-58f2e42c9855),
1608 pointer_default(unique)
1610 interface IUIAutomationElementArray : IUnknown
1612 [propget] HRESULT Length([out, retval] int *length);
1614 HRESULT GetElement(
1615 [in] int index,
1616 [out, retval] IUIAutomationElement **element);
1620 object,
1621 uuid(85b94ecd-849d-42b6-b94d-d6db23fdf5a4),
1622 pointer_default(unique)
1624 interface IUIAutomationProxyFactory : IUnknown
1626 HRESULT CreateProvider(
1627 [in] UIA_HWND hwnd,
1628 [in] LONG idObject,
1629 [in] LONG idChild,
1630 [out, retval] IRawElementProviderSimple **provider);
1632 [propget] HRESULT ProxyFactoryId([out, retval] BSTR *factoryId);
1636 object,
1637 uuid(d50e472e-b64b-490c-bca1-d30696f9f289),
1638 pointer_default(unique)
1640 interface IUIAutomationProxyFactoryEntry : IUnknown
1642 [propget] HRESULT ProxyFactory([out, retval] IUIAutomationProxyFactory **factory);
1644 [propget] HRESULT ClassName([out, retval] BSTR *className);
1645 [propget] HRESULT ImageName([out, retval] BSTR *imageName);
1646 [propget] HRESULT AllowSubstringMatch([out, retval] BOOL *allowSubstringMatch);
1647 [propget] HRESULT CanCheckBaseClass([out, retval] BOOL *canCheckBaseClass);
1648 [propget] HRESULT NeedsAdviseEvents([out, retval] BOOL *adviseEvents);
1650 [propput] HRESULT ClassName([in] LPCWSTR className);
1651 [propput] HRESULT ImageName([in] LPCWSTR imageName);
1652 [propput] HRESULT AllowSubstringMatch([in] BOOL allowSubstringMatch);
1653 [propput] HRESULT CanCheckBaseClass([in] BOOL canCheckBaseClass);
1654 [propput] HRESULT NeedsAdviseEvents([in] BOOL adviseEvents);
1656 HRESULT SetWinEventsForAutomationEvent(
1657 [in] EVENTID eventId,
1658 [in] PROPERTYID propertyId,
1659 [in] SAFEARRAY(UINT) winEvents);
1660 HRESULT GetWinEventsForAutomationEvent(
1661 [in] EVENTID eventId,
1662 [in] PROPERTYID propertyId,
1663 [out, retval] SAFEARRAY(UINT) *winEvents);
1667 object,
1668 uuid(09e31e18-872d-4873-93d1-1e541ec133fd),
1669 pointer_default(unique)
1671 interface IUIAutomationProxyFactoryMapping : IUnknown
1673 [propget] HRESULT Count([out, retval] UINT *count);
1675 HRESULT GetTable([out, retval] SAFEARRAY(IUIAutomationProxyFactoryEntry) *table);
1676 HRESULT GetEntry(
1677 [in] UINT index,
1678 [out, retval] IUIAutomationProxyFactoryEntry **entry);
1680 HRESULT SetTable([in] SAFEARRAY(IUIAutomationProxyFactoryEntry) factoryList);
1681 HRESULT InsertEntries(
1682 [in] UINT before,
1683 [in] SAFEARRAY(IUIAutomationProxyFactoryEntry) factoryList);
1684 HRESULT InsertEntry(
1685 [in] UINT before,
1686 [in] IUIAutomationProxyFactoryEntry *factory);
1688 HRESULT RemoveEntry([in] UINT index);
1689 HRESULT ClearTable();
1690 HRESULT RestoreDefaultTable();
1694 object,
1695 uuid(c9ee12f2-c13b-4408-997c-639914377f4e),
1696 pointer_default(unique)
1698 interface IUIAutomationEventHandlerGroup : IUnknown
1700 HRESULT AddActiveTextPositionChangedEventHandler(
1701 [in] enum TreeScope scope,
1702 [in] IUIAutomationCacheRequest *cacheRequest,
1703 [in] IUIAutomationActiveTextPositionChangedEventHandler *handler);
1704 HRESULT AddAutomationEventHandler(
1705 [in] EVENTID eventId,
1706 [in] enum TreeScope scope,
1707 [in] IUIAutomationCacheRequest *cacheRequest,
1708 [in] IUIAutomationEventHandler *handler);
1709 HRESULT AddChangesEventHandler(
1710 [in] enum TreeScope scope,
1711 [in, size_is(changesCount)] int *changeTypes,
1712 [in] int changesCount,
1713 [in] IUIAutomationCacheRequest *cacheRequest,
1714 [in] IUIAutomationChangesEventHandler *handler);
1715 HRESULT AddNotificationEventHandler(
1716 [in] enum TreeScope scope,
1717 [in] IUIAutomationCacheRequest *cacheRequest,
1718 [in] IUIAutomationNotificationEventHandler *handler);
1719 HRESULT AddPropertyChangedEventHandler(
1720 [in] enum TreeScope scope,
1721 [in] IUIAutomationCacheRequest *cacheRequest,
1722 [in] IUIAutomationPropertyChangedEventHandler *handler,
1723 [in, size_is(propertyCount)] PROPERTYID *propertyArray,
1724 [in] int propertyCount);
1725 HRESULT AddStructureChangedEventHandler(
1726 [in] enum TreeScope scope,
1727 [in] IUIAutomationCacheRequest *cacheRequest,
1728 [in] IUIAutomationStructureChangedEventHandler *handler);
1729 HRESULT AddTextEditTextChangedEventHandler(
1730 [in] enum TreeScope scope,
1731 [in] enum TextEditChangeType textEditChangeType,
1732 [in] IUIAutomationCacheRequest *cacheRequest,
1733 [in] IUIAutomationTextEditTextChangedEventHandler *handler);
1737 object,
1738 uuid(30cbe57d-d9d0-452a-ab13-7ac5ac4825ee),
1739 pointer_default(unique)
1741 interface IUIAutomation : IUnknown
1743 HRESULT CompareElements(
1744 [in] IUIAutomationElement *el1,
1745 [in] IUIAutomationElement *el2,
1746 [out, retval] BOOL *areSame);
1747 HRESULT CompareRuntimeIds(
1748 [in] SAFEARRAY(int) runtimeId1,
1749 [in] SAFEARRAY(int) runtimeId2,
1750 [out, retval] BOOL *areSame);
1752 HRESULT GetRootElement([out, retval] IUIAutomationElement **root);
1753 HRESULT ElementFromHandle(
1754 [in] UIA_HWND hwnd,
1755 [out, retval] IUIAutomationElement **element);
1756 HRESULT ElementFromPoint(
1757 [in] POINT pt,
1758 [out, retval] IUIAutomationElement **element);
1759 HRESULT GetFocusedElement([out, retval] IUIAutomationElement **element);
1761 HRESULT GetRootElementBuildCache(
1762 [in] IUIAutomationCacheRequest *cacheRequest,
1763 [out, retval] IUIAutomationElement **root);
1764 HRESULT ElementFromHandleBuildCache(
1765 [in] UIA_HWND hwnd,
1766 [in] IUIAutomationCacheRequest *cacheRequest,
1767 [out, retval] IUIAutomationElement **element);
1768 HRESULT ElementFromPointBuildCache(
1769 [in] POINT pt,
1770 [in] IUIAutomationCacheRequest *cacheRequest,
1771 [out, retval] IUIAutomationElement **element);
1772 HRESULT GetFocusedElementBuildCache(
1773 [in] IUIAutomationCacheRequest *cacheRequest,
1774 [out, retval] IUIAutomationElement **element);
1776 HRESULT CreateTreeWalker(
1777 [in] IUIAutomationCondition *pCondition,
1778 [out, retval] IUIAutomationTreeWalker **walker);
1780 [propget] HRESULT ControlViewWalker([out, retval] IUIAutomationTreeWalker **walker);
1781 [propget] HRESULT ContentViewWalker([out, retval] IUIAutomationTreeWalker **walker);
1782 [propget] HRESULT RawViewWalker([out, retval] IUIAutomationTreeWalker **walker);
1784 [propget] HRESULT RawViewCondition([out, retval] IUIAutomationCondition **condition);
1785 [propget] HRESULT ControlViewCondition([out, retval] IUIAutomationCondition **condition);
1786 [propget] HRESULT ContentViewCondition([out, retval] IUIAutomationCondition **condition);
1788 HRESULT CreateCacheRequest([out, retval] IUIAutomationCacheRequest **cacheRequest);
1790 HRESULT CreateTrueCondition([out, retval] IUIAutomationCondition **newCondition);
1791 HRESULT CreateFalseCondition([out, retval] IUIAutomationCondition **newCondition);
1792 HRESULT CreatePropertyCondition(
1793 [in] PROPERTYID propertyId,
1794 [in] VARIANT value,
1795 [out, retval] IUIAutomationCondition **newCondition);
1796 HRESULT CreatePropertyConditionEx(
1797 [in] PROPERTYID propertyId,
1798 [in] VARIANT value,
1799 [in] enum PropertyConditionFlags flags,
1800 [out, retval] IUIAutomationCondition **newCondition);
1802 HRESULT CreateAndCondition(
1803 [in] IUIAutomationCondition *condition1,
1804 [in] IUIAutomationCondition *condition2,
1805 [out, retval] IUIAutomationCondition **newCondition);
1806 HRESULT CreateAndConditionFromArray(
1807 [in] SAFEARRAY(IUIAutomationCondition) conditions,
1808 [out, retval] IUIAutomationCondition **newCondition);
1809 HRESULT CreateAndConditionFromNativeArray(
1810 [in, size_is(conditionCount)] IUIAutomationCondition **conditions,
1811 [in] int conditionCount,
1812 [out, retval] IUIAutomationCondition **newCondition);
1814 HRESULT CreateOrCondition(
1815 [in] IUIAutomationCondition *condition1,
1816 [in] IUIAutomationCondition *condition2,
1817 [out, retval] IUIAutomationCondition **newCondition);
1818 HRESULT CreateOrConditionFromArray(
1819 [in] SAFEARRAY(IUIAutomationCondition) conditions,
1820 [out, retval] IUIAutomationCondition **newCondition);
1821 HRESULT CreateOrConditionFromNativeArray(
1822 [in, size_is(conditionCount)] IUIAutomationCondition **conditions,
1823 [in] int conditionCount,
1824 [out, retval] IUIAutomationCondition **newCondition);
1826 HRESULT CreateNotCondition(
1827 [in] IUIAutomationCondition *condition,
1828 [out, retval] IUIAutomationCondition **newCondition);
1830 HRESULT AddAutomationEventHandler(
1831 [in] EVENTID eventId,
1832 [in] IUIAutomationElement *element,
1833 [in] enum TreeScope scope,
1834 [in] IUIAutomationCacheRequest *cacheRequest,
1835 [in] IUIAutomationEventHandler *handler);
1836 HRESULT RemoveAutomationEventHandler(
1837 [in] EVENTID eventId,
1838 [in] IUIAutomationElement *element,
1839 [in] IUIAutomationEventHandler *handler);
1841 HRESULT AddPropertyChangedEventHandlerNativeArray(
1842 [in] IUIAutomationElement *element,
1843 [in] enum TreeScope scope,
1844 [in] IUIAutomationCacheRequest *cacheRequest,
1845 [in] IUIAutomationPropertyChangedEventHandler *handler,
1846 [in, size_is(propertyCount)] PROPERTYID *propertyArray,
1847 [in] int propertyCount);
1848 HRESULT AddPropertyChangedEventHandler(
1849 [in] IUIAutomationElement *element,
1850 [in] enum TreeScope scope,
1851 [in] IUIAutomationCacheRequest *cacheRequest,
1852 [in] IUIAutomationPropertyChangedEventHandler *handler,
1853 [in] SAFEARRAY(PROPERTYID) propertyArray);
1854 HRESULT RemovePropertyChangedEventHandler(
1855 [in] IUIAutomationElement *element,
1856 [in] IUIAutomationPropertyChangedEventHandler *handler);
1858 HRESULT AddStructureChangedEventHandler(
1859 [in] IUIAutomationElement *element,
1860 [in] enum TreeScope scope,
1861 [in] IUIAutomationCacheRequest *cacheRequest,
1862 [in] IUIAutomationStructureChangedEventHandler *handler);
1863 HRESULT RemoveStructureChangedEventHandler(
1864 [in] IUIAutomationElement *element,
1865 [in] IUIAutomationStructureChangedEventHandler *handler);
1867 HRESULT AddFocusChangedEventHandler(
1868 [in] IUIAutomationCacheRequest *cacheRequest,
1869 [in] IUIAutomationFocusChangedEventHandler *handler);
1870 HRESULT RemoveFocusChangedEventHandler([in] IUIAutomationFocusChangedEventHandler *handler);
1872 HRESULT RemoveAllEventHandlers();
1874 HRESULT IntNativeArrayToSafeArray(
1875 [in, size_is(arrayCount)] int *array,
1876 [in] int arrayCount,
1877 [out, retval] SAFEARRAY(int) *safeArray);
1878 HRESULT IntSafeArrayToNativeArray(
1879 [in] SAFEARRAY(int) intArray,
1880 [out, size_is( ,*arrayCount)] int **array,
1881 [out, retval] int *arrayCount);
1883 HRESULT RectToVariant(
1884 [in] RECT rc,
1885 [out, retval] VARIANT *var);
1886 HRESULT VariantToRect(
1887 [in] VARIANT var,
1888 [out, retval] RECT *rc);
1889 HRESULT SafeArrayToRectNativeArray(
1890 [in] SAFEARRAY(double) rects,
1891 [out, size_is( ,*rectArrayCount)] RECT **rectArray,
1892 [out, retval] int *rectArrayCount);
1894 HRESULT CreateProxyFactoryEntry(
1895 [in] IUIAutomationProxyFactory *factory,
1896 [out, retval] IUIAutomationProxyFactoryEntry **factoryEntry);
1897 [propget] HRESULT ProxyFactoryMapping([out, retval] IUIAutomationProxyFactoryMapping **factoryMapping);
1899 HRESULT GetPropertyProgrammaticName(
1900 [in] PROPERTYID property,
1901 [out, retval] BSTR *name);
1902 HRESULT GetPatternProgrammaticName(
1903 [in] PATTERNID pattern,
1904 [out, retval] BSTR *name);
1906 HRESULT PollForPotentialSupportedPatterns(
1907 [in] IUIAutomationElement *pElement,
1908 [out] SAFEARRAY(int) *patternIds,
1909 [out] SAFEARRAY(BSTR) *patternNames);
1910 HRESULT PollForPotentialSupportedProperties(
1911 [in] IUIAutomationElement *pElement,
1912 [out] SAFEARRAY(int) *propertyIds,
1913 [out] SAFEARRAY(BSTR) *propertyNames);
1915 HRESULT CheckNotSupported(
1916 [in] VARIANT value,
1917 [out, retval] BOOL *isNotSupported);
1919 [propget] HRESULT ReservedNotSupportedValue([out, retval] IUnknown **notSupportedValue);
1920 [propget] HRESULT ReservedMixedAttributeValue([out, retval] IUnknown **mixedAttributeValue);
1922 HRESULT ElementFromIAccessible(
1923 [in] IAccessible *accessible,
1924 [in] int childId,
1925 [out, retval] IUIAutomationElement **element);
1926 HRESULT ElementFromIAccessibleBuildCache(
1927 [in] IAccessible *accessible,
1928 [in] int childId,
1929 [in] IUIAutomationCacheRequest *cacheRequest,
1930 [out, retval] IUIAutomationElement **element);
1934 object,
1935 uuid(34723aff-0c9d-49d0-9896-7ab52df8cd8a),
1936 pointer_default(unique)
1938 interface IUIAutomation2 : IUIAutomation
1940 [propget] HRESULT AutoSetFocus([out, retval] BOOL *autoSetFocus);
1941 [propput] HRESULT AutoSetFocus([in] BOOL autoSetFocus);
1943 [propget] HRESULT ConnectionTimeout([out, retval] DWORD *timeout);
1944 [propput] HRESULT ConnectionTimeout([in] DWORD timeout);
1946 [propget] HRESULT TransactionTimeout([out, retval] DWORD *timeout);
1947 [propput] HRESULT TransactionTimeout([in] DWORD timeout);
1951 object,
1952 uuid(73d768da-9b51-4b89-936e-c209290973e7),
1953 pointer_default(unique)
1955 interface IUIAutomation3 : IUIAutomation2
1957 HRESULT AddTextEditTextChangedEventHandler(
1958 [in] IUIAutomationElement *element,
1959 [in] enum TreeScope scope,
1960 [in] enum TextEditChangeType textEditChangeType,
1961 [in] IUIAutomationCacheRequest *cacheRequest,
1962 [in] IUIAutomationTextEditTextChangedEventHandler *handler);
1963 HRESULT RemoveTextEditTextChangedEventHandler(
1964 [in] IUIAutomationElement *element,
1965 [in] IUIAutomationTextEditTextChangedEventHandler *handler);
1969 object,
1970 uuid(1189c02a-05f8-4319-8e21-e817e3db2860),
1971 pointer_default(unique)
1973 interface IUIAutomation4 : IUIAutomation3
1975 HRESULT AddChangesEventHandler(
1976 [in] IUIAutomationElement *element,
1977 [in] enum TreeScope scope,
1978 [in, size_is(changesCount)] int *changeTypes,
1979 [in] int changesCount,
1980 [in] IUIAutomationCacheRequest *pCacheRequest,
1981 [in] IUIAutomationChangesEventHandler *handler);
1982 HRESULT RemoveChangesEventHandler(
1983 [in] IUIAutomationElement *element,
1984 [in] IUIAutomationChangesEventHandler *handler);
1988 object,
1989 uuid(25f700c8-d816-4057-a9dc-3cbdee77e256),
1990 pointer_default(unique)
1992 interface IUIAutomation5 : IUIAutomation4
1994 HRESULT AddNotificationEventHandler(
1995 [in] IUIAutomationElement *element,
1996 [in] enum TreeScope scope,
1997 [in] IUIAutomationCacheRequest *cacheRequest,
1998 [in] IUIAutomationNotificationEventHandler *handler);
1999 HRESULT RemoveNotificationEventHandler(
2000 [in] IUIAutomationElement *element,
2001 [in] IUIAutomationNotificationEventHandler *handler);
2005 object,
2006 uuid(aae072da-29e3-413d-87a7-192dbf81ed10),
2007 pointer_default(unique)
2009 interface IUIAutomation6 : IUIAutomation5
2011 HRESULT CreateEventHandlerGroup([out] IUIAutomationEventHandlerGroup **handlerGroup);
2012 HRESULT AddEventHandlerGroup(
2013 [in] IUIAutomationElement *element,
2014 [in] IUIAutomationEventHandlerGroup *handlerGroup);
2015 HRESULT RemoveEventHandlerGroup(
2016 [in] IUIAutomationElement *element,
2017 [in] IUIAutomationEventHandlerGroup *handlerGroup);
2019 [propget] HRESULT ConnectionRecoveryBehavior(
2020 [out, retval] enum ConnectionRecoveryBehaviorOptions *connectionRecoveryBehaviorOptions);
2021 [propput] HRESULT ConnectionRecoveryBehavior(
2022 [in] enum ConnectionRecoveryBehaviorOptions connectionRecoveryBehaviorOptions);
2024 [propget] HRESULT CoalesceEvents([out, retval] enum CoalesceEventsOptions *coalesceEventsOptions);
2025 [propput] HRESULT CoalesceEvents([in] enum CoalesceEventsOptions coalesceEventsOptions);
2027 HRESULT AddActiveTextPositionChangedEventHandler(
2028 [in] IUIAutomationElement *element,
2029 [in] enum TreeScope scope,
2030 [in] IUIAutomationCacheRequest *cacheRequest,
2031 [in] IUIAutomationActiveTextPositionChangedEventHandler *handler);
2032 HRESULT RemoveActiveTextPositionChangedEventHandler(
2033 [in] IUIAutomationElement *element,
2034 [in] IUIAutomationActiveTextPositionChangedEventHandler *handler);
2038 uuid(ff48dba4-60ef-4201-aa87-54103eef594e),
2039 version(1.0),
2040 threading(both)
2042 coclass CUIAutomation
2044 [default] interface IUIAutomation;
2048 uuid(e22ad333-b25f-460c-83d0-0581107395c9),
2049 version(1.0),
2050 threading(both)
2052 coclass CUIAutomation8
2054 [default] interface IUIAutomation2;
2055 interface IUIAutomation3;
2056 interface IUIAutomation4;
2057 interface IUIAutomation5;
2058 interface IUIAutomation6;