1use ctypes::{c_double, c_int, c_long, c_void};
8use shared::guiddef::REFIID;
9use shared::minwindef::{BOOL, DWORD, UINT};
10use shared::windef::{POINT, RECT};
11use shared::winerror::HRESULT;
12use shared::wtypes::BSTR;
13use um::oaidl::{SAFEARRAY, VARIANT};
14use um::oleacc::IAccessible;
15use um::uiautomationcore::{
16 CONTROLTYPEID, DockPosition, EVENTID, ExpandCollapseState, HEADINGLEVELID,
17 IRawElementProviderSimple, LANDMARKTYPEID, LiveSetting, METADATAID, NavigateDirection,
18 NotificationKind, NotificationProcessing, OrientationType, PATTERNID, PROPERTYID,
19 RowOrColumnMajor, ScrollAmount, StructureChangeType, SupportedTextSelection,
20 SynchronizedInputType, TEXTATTRIBUTEID, TextEditChangeType, TextPatternRangeEndpoint,
21 TextUnit, ToggleState, UiaChangeInfo, WindowInteractionState, WindowVisualState, ZoomUnit
22};
23use um::unknwnbase::{IUnknown, IUnknownVtbl};
24use um::winnt::{LONG, LPCWSTR};
25ENUM!{enum TreeScope {
26 TreeScope_None = 0,
27 TreeScope_Element = 0x1,
28 TreeScope_Children = 0x2,
29 TreeScope_Descendants = 0x4,
30 TreeScope_Parent = 0x8,
31 TreeScope_Ancestors = 0x10,
32 TreeScope_Subtree = (TreeScope_Element | TreeScope_Children) | TreeScope_Descendants,
33}}
34ENUM!{enum PropertyConditionFlags {
35 PropertyConditionFlags_None = 0,
36 PropertyConditionFlags_IgnoreCase = 0x1,
37 PropertyConditionFlags_MatchSubstring = 0x2,
38}}
39ENUM!{enum AutomationElementMode {
40 AutomationElementMode_None = 0,
41 AutomationElementMode_Full = AutomationElementMode_None + 1,
42}}
43ENUM!{enum TreeTraversalOptions {
44 TreeTraversalOptions_Default = 0,
45 TreeTraversalOptions_PostOrder = 0x1,
46 TreeTraversalOptions_LastToFirstOrder = 0x2,
47}}
48ENUM!{enum ConnectionRecoveryBehaviorOptions {
49 ConnectionRecoveryBehaviorOptions_Disabled = 0,
50 ConnectionRecoveryBehaviorOptions_Enabled = 0x1,
51}}
52ENUM!{enum CoalesceEventsOptions {
53 CoalesceEventsOptions_Disabled = 0,
54 CoalesceEventsOptions_Enabled = 0x1,
55}}
56STRUCT!{struct ExtendedProperty {
57 PropertyName: BSTR,
58 PropertyValue: BSTR,
59}}
60pub type UIA_HWND = *mut c_void;
61pub const UIA_InvokePatternId: c_long = 10000;
62pub const UIA_SelectionPatternId: c_long = 10001;
63pub const UIA_ValuePatternId: c_long = 10002;
64pub const UIA_RangeValuePatternId: c_long = 10003;
65pub const UIA_ScrollPatternId: c_long = 10004;
66pub const UIA_ExpandCollapsePatternId: c_long = 10005;
67pub const UIA_GridPatternId: c_long = 10006;
68pub const UIA_GridItemPatternId: c_long = 10007;
69pub const UIA_MultipleViewPatternId: c_long = 10008;
70pub const UIA_WindowPatternId: c_long = 10009;
71pub const UIA_SelectionItemPatternId: c_long = 10010;
72pub const UIA_DockPatternId: c_long = 10011;
73pub const UIA_TablePatternId: c_long = 10012;
74pub const UIA_TableItemPatternId: c_long = 10013;
75pub const UIA_TextPatternId: c_long = 10014;
76pub const UIA_TogglePatternId: c_long = 10015;
77pub const UIA_TransformPatternId: c_long = 10016;
78pub const UIA_ScrollItemPatternId: c_long = 10017;
79pub const UIA_LegacyIAccessiblePatternId: c_long = 10018;
80pub const UIA_ItemContainerPatternId: c_long = 10019;
81pub const UIA_VirtualizedItemPatternId: c_long = 10020;
82pub const UIA_SynchronizedInputPatternId: c_long = 10021;
83pub const UIA_ObjectModelPatternId: c_long = 10022;
84pub const UIA_AnnotationPatternId: c_long = 10023;
85pub const UIA_TextPattern2Id: c_long = 10024;
86pub const UIA_StylesPatternId: c_long = 10025;
87pub const UIA_SpreadsheetPatternId: c_long = 10026;
88pub const UIA_SpreadsheetItemPatternId: c_long = 10027;
89pub const UIA_TransformPattern2Id: c_long = 10028;
90pub const UIA_TextChildPatternId: c_long = 10029;
91pub const UIA_DragPatternId: c_long = 10030;
92pub const UIA_DropTargetPatternId: c_long = 10031;
93pub const UIA_TextEditPatternId: c_long = 10032;
94pub const UIA_CustomNavigationPatternId: c_long = 10033;
95pub const UIA_SelectionPattern2Id: c_long = 10034;
96pub const UIA_ToolTipOpenedEventId: c_long = 20000;
97pub const UIA_ToolTipClosedEventId: c_long = 20001;
98pub const UIA_StructureChangedEventId: c_long = 20002;
99pub const UIA_MenuOpenedEventId: c_long = 20003;
100pub const UIA_AutomationPropertyChangedEventId: c_long = 20004;
101pub const UIA_AutomationFocusChangedEventId: c_long = 20005;
102pub const UIA_AsyncContentLoadedEventId: c_long = 20006;
103pub const UIA_MenuClosedEventId: c_long = 20007;
104pub const UIA_LayoutInvalidatedEventId: c_long = 20008;
105pub const UIA_Invoke_InvokedEventId: c_long = 20009;
106pub const UIA_SelectionItem_ElementAddedToSelectionEventId: c_long = 20010;
107pub const UIA_SelectionItem_ElementRemovedFromSelectionEventId: c_long = 20011;
108pub const UIA_SelectionItem_ElementSelectedEventId: c_long = 20012;
109pub const UIA_Selection_InvalidatedEventId: c_long = 20013;
110pub const UIA_Text_TextSelectionChangedEventId: c_long = 20014;
111pub const UIA_Text_TextChangedEventId: c_long = 20015;
112pub const UIA_Window_WindowOpenedEventId: c_long = 20016;
113pub const UIA_Window_WindowClosedEventId: c_long = 20017;
114pub const UIA_MenuModeStartEventId: c_long = 20018;
115pub const UIA_MenuModeEndEventId: c_long = 20019;
116pub const UIA_InputReachedTargetEventId: c_long = 20020;
117pub const UIA_InputReachedOtherElementEventId: c_long = 20021;
118pub const UIA_InputDiscardedEventId: c_long = 20022;
119pub const UIA_SystemAlertEventId: c_long = 20023;
120pub const UIA_LiveRegionChangedEventId: c_long = 20024;
121pub const UIA_HostedFragmentRootsInvalidatedEventId: c_long = 20025;
122pub const UIA_Drag_DragStartEventId: c_long = 20026;
123pub const UIA_Drag_DragCancelEventId: c_long = 20027;
124pub const UIA_Drag_DragCompleteEventId: c_long = 20028;
125pub const UIA_DropTarget_DragEnterEventId: c_long = 20029;
126pub const UIA_DropTarget_DragLeaveEventId: c_long = 20030;
127pub const UIA_DropTarget_DroppedEventId: c_long = 20031;
128pub const UIA_TextEdit_TextChangedEventId: c_long = 20032;
129pub const UIA_TextEdit_ConversionTargetChangedEventId: c_long = 20033;
130pub const UIA_ChangesEventId: c_long = 20034;
131pub const UIA_NotificationEventId: c_long = 20035;
132pub const UIA_ActiveTextPositionChangedEventId: c_long = 20036;
133pub const UIA_RuntimeIdPropertyId: c_long = 30000;
134pub const UIA_BoundingRectanglePropertyId: c_long = 30001;
135pub const UIA_ProcessIdPropertyId: c_long = 30002;
136pub const UIA_ControlTypePropertyId: c_long = 30003;
137pub const UIA_LocalizedControlTypePropertyId: c_long = 30004;
138pub const UIA_NamePropertyId: c_long = 30005;
139pub const UIA_AcceleratorKeyPropertyId: c_long = 30006;
140pub const UIA_AccessKeyPropertyId: c_long = 30007;
141pub const UIA_HasKeyboardFocusPropertyId: c_long = 30008;
142pub const UIA_IsKeyboardFocusablePropertyId: c_long = 30009;
143pub const UIA_IsEnabledPropertyId: c_long = 30010;
144pub const UIA_AutomationIdPropertyId: c_long = 30011;
145pub const UIA_ClassNamePropertyId: c_long = 30012;
146pub const UIA_HelpTextPropertyId: c_long = 30013;
147pub const UIA_ClickablePointPropertyId: c_long = 30014;
148pub const UIA_CulturePropertyId: c_long = 30015;
149pub const UIA_IsControlElementPropertyId: c_long = 30016;
150pub const UIA_IsContentElementPropertyId: c_long = 30017;
151pub const UIA_LabeledByPropertyId: c_long = 30018;
152pub const UIA_IsPasswordPropertyId: c_long = 30019;
153pub const UIA_NativeWindowHandlePropertyId: c_long = 30020;
154pub const UIA_ItemTypePropertyId: c_long = 30021;
155pub const UIA_IsOffscreenPropertyId: c_long = 30022;
156pub const UIA_OrientationPropertyId: c_long = 30023;
157pub const UIA_FrameworkIdPropertyId: c_long = 30024;
158pub const UIA_IsRequiredForFormPropertyId: c_long = 30025;
159pub const UIA_ItemStatusPropertyId: c_long = 30026;
160pub const UIA_IsDockPatternAvailablePropertyId: c_long = 30027;
161pub const UIA_IsExpandCollapsePatternAvailablePropertyId: c_long = 30028;
162pub const UIA_IsGridItemPatternAvailablePropertyId: c_long = 30029;
163pub const UIA_IsGridPatternAvailablePropertyId: c_long = 30030;
164pub const UIA_IsInvokePatternAvailablePropertyId: c_long = 30031;
165pub const UIA_IsMultipleViewPatternAvailablePropertyId: c_long = 30032;
166pub const UIA_IsRangeValuePatternAvailablePropertyId: c_long = 30033;
167pub const UIA_IsScrollPatternAvailablePropertyId: c_long = 30034;
168pub const UIA_IsScrollItemPatternAvailablePropertyId: c_long = 30035;
169pub const UIA_IsSelectionItemPatternAvailablePropertyId: c_long = 30036;
170pub const UIA_IsSelectionPatternAvailablePropertyId: c_long = 30037;
171pub const UIA_IsTablePatternAvailablePropertyId: c_long = 30038;
172pub const UIA_IsTableItemPatternAvailablePropertyId: c_long = 30039;
173pub const UIA_IsTextPatternAvailablePropertyId: c_long = 30040;
174pub const UIA_IsTogglePatternAvailablePropertyId: c_long = 30041;
175pub const UIA_IsTransformPatternAvailablePropertyId: c_long = 30042;
176pub const UIA_IsValuePatternAvailablePropertyId: c_long = 30043;
177pub const UIA_IsWindowPatternAvailablePropertyId: c_long = 30044;
178pub const UIA_ValueValuePropertyId: c_long = 30045;
179pub const UIA_ValueIsReadOnlyPropertyId: c_long = 30046;
180pub const UIA_RangeValueValuePropertyId: c_long = 30047;
181pub const UIA_RangeValueIsReadOnlyPropertyId: c_long = 30048;
182pub const UIA_RangeValueMinimumPropertyId: c_long = 30049;
183pub const UIA_RangeValueMaximumPropertyId: c_long = 30050;
184pub const UIA_RangeValueLargeChangePropertyId: c_long = 30051;
185pub const UIA_RangeValueSmallChangePropertyId: c_long = 30052;
186pub const UIA_ScrollHorizontalScrollPercentPropertyId: c_long = 30053;
187pub const UIA_ScrollHorizontalViewSizePropertyId: c_long = 30054;
188pub const UIA_ScrollVerticalScrollPercentPropertyId: c_long = 30055;
189pub const UIA_ScrollVerticalViewSizePropertyId: c_long = 30056;
190pub const UIA_ScrollHorizontallyScrollablePropertyId: c_long = 30057;
191pub const UIA_ScrollVerticallyScrollablePropertyId: c_long = 30058;
192pub const UIA_SelectionSelectionPropertyId: c_long = 30059;
193pub const UIA_SelectionCanSelectMultiplePropertyId: c_long = 30060;
194pub const UIA_SelectionIsSelectionRequiredPropertyId: c_long = 30061;
195pub const UIA_GridRowCountPropertyId: c_long = 30062;
196pub const UIA_GridColumnCountPropertyId: c_long = 30063;
197pub const UIA_GridItemRowPropertyId: c_long = 30064;
198pub const UIA_GridItemColumnPropertyId: c_long = 30065;
199pub const UIA_GridItemRowSpanPropertyId: c_long = 30066;
200pub const UIA_GridItemColumnSpanPropertyId: c_long = 30067;
201pub const UIA_GridItemContainingGridPropertyId: c_long = 30068;
202pub const UIA_DockDockPositionPropertyId: c_long = 30069;
203pub const UIA_ExpandCollapseExpandCollapseStatePropertyId: c_long = 30070;
204pub const UIA_MultipleViewCurrentViewPropertyId: c_long = 30071;
205pub const UIA_MultipleViewSupportedViewsPropertyId: c_long = 30072;
206pub const UIA_WindowCanMaximizePropertyId: c_long = 30073;
207pub const UIA_WindowCanMinimizePropertyId: c_long = 30074;
208pub const UIA_WindowWindowVisualStatePropertyId: c_long = 30075;
209pub const UIA_WindowWindowInteractionStatePropertyId: c_long = 30076;
210pub const UIA_WindowIsModalPropertyId: c_long = 30077;
211pub const UIA_WindowIsTopmostPropertyId: c_long = 30078;
212pub const UIA_SelectionItemIsSelectedPropertyId: c_long = 30079;
213pub const UIA_SelectionItemSelectionContainerPropertyId: c_long = 30080;
214pub const UIA_TableRowHeadersPropertyId: c_long = 30081;
215pub const UIA_TableColumnHeadersPropertyId: c_long = 30082;
216pub const UIA_TableRowOrColumnMajorPropertyId: c_long = 30083;
217pub const UIA_TableItemRowHeaderItemsPropertyId: c_long = 30084;
218pub const UIA_TableItemColumnHeaderItemsPropertyId: c_long = 30085;
219pub const UIA_ToggleToggleStatePropertyId: c_long = 30086;
220pub const UIA_TransformCanMovePropertyId: c_long = 30087;
221pub const UIA_TransformCanResizePropertyId: c_long = 30088;
222pub const UIA_TransformCanRotatePropertyId: c_long = 30089;
223pub const UIA_IsLegacyIAccessiblePatternAvailablePropertyId: c_long = 30090;
224pub const UIA_LegacyIAccessibleChildIdPropertyId: c_long = 30091;
225pub const UIA_LegacyIAccessibleNamePropertyId: c_long = 30092;
226pub const UIA_LegacyIAccessibleValuePropertyId: c_long = 30093;
227pub const UIA_LegacyIAccessibleDescriptionPropertyId: c_long = 30094;
228pub const UIA_LegacyIAccessibleRolePropertyId: c_long = 30095;
229pub const UIA_LegacyIAccessibleStatePropertyId: c_long = 30096;
230pub const UIA_LegacyIAccessibleHelpPropertyId: c_long = 30097;
231pub const UIA_LegacyIAccessibleKeyboardShortcutPropertyId: c_long = 30098;
232pub const UIA_LegacyIAccessibleSelectionPropertyId: c_long = 30099;
233pub const UIA_LegacyIAccessibleDefaultActionPropertyId: c_long = 30100;
234pub const UIA_AriaRolePropertyId: c_long = 30101;
235pub const UIA_AriaPropertiesPropertyId: c_long = 30102;
236pub const UIA_IsDataValidForFormPropertyId: c_long = 30103;
237pub const UIA_ControllerForPropertyId: c_long = 30104;
238pub const UIA_DescribedByPropertyId: c_long = 30105;
239pub const UIA_FlowsToPropertyId: c_long = 30106;
240pub const UIA_ProviderDescriptionPropertyId: c_long = 30107;
241pub const UIA_IsItemContainerPatternAvailablePropertyId: c_long = 30108;
242pub const UIA_IsVirtualizedItemPatternAvailablePropertyId: c_long = 30109;
243pub const UIA_IsSynchronizedInputPatternAvailablePropertyId: c_long = 30110;
244pub const UIA_OptimizeForVisualContentPropertyId: c_long = 30111;
245pub const UIA_IsObjectModelPatternAvailablePropertyId: c_long = 30112;
246pub const UIA_AnnotationAnnotationTypeIdPropertyId: c_long = 30113;
247pub const UIA_AnnotationAnnotationTypeNamePropertyId: c_long = 30114;
248pub const UIA_AnnotationAuthorPropertyId: c_long = 30115;
249pub const UIA_AnnotationDateTimePropertyId: c_long = 30116;
250pub const UIA_AnnotationTargetPropertyId: c_long = 30117;
251pub const UIA_IsAnnotationPatternAvailablePropertyId: c_long = 30118;
252pub const UIA_IsTextPattern2AvailablePropertyId: c_long = 30119;
253pub const UIA_StylesStyleIdPropertyId: c_long = 30120;
254pub const UIA_StylesStyleNamePropertyId: c_long = 30121;
255pub const UIA_StylesFillColorPropertyId: c_long = 30122;
256pub const UIA_StylesFillPatternStylePropertyId: c_long = 30123;
257pub const UIA_StylesShapePropertyId: c_long = 30124;
258pub const UIA_StylesFillPatternColorPropertyId: c_long = 30125;
259pub const UIA_StylesExtendedPropertiesPropertyId: c_long = 30126;
260pub const UIA_IsStylesPatternAvailablePropertyId: c_long = 30127;
261pub const UIA_IsSpreadsheetPatternAvailablePropertyId: c_long = 30128;
262pub const UIA_SpreadsheetItemFormulaPropertyId: c_long = 30129;
263pub const UIA_SpreadsheetItemAnnotationObjectsPropertyId: c_long = 30130;
264pub const UIA_SpreadsheetItemAnnotationTypesPropertyId: c_long = 30131;
265pub const UIA_IsSpreadsheetItemPatternAvailablePropertyId: c_long = 30132;
266pub const UIA_Transform2CanZoomPropertyId: c_long = 30133;
267pub const UIA_IsTransformPattern2AvailablePropertyId: c_long = 30134;
268pub const UIA_LiveSettingPropertyId: c_long = 30135;
269pub const UIA_IsTextChildPatternAvailablePropertyId: c_long = 30136;
270pub const UIA_IsDragPatternAvailablePropertyId: c_long = 30137;
271pub const UIA_DragIsGrabbedPropertyId: c_long = 30138;
272pub const UIA_DragDropEffectPropertyId: c_long = 30139;
273pub const UIA_DragDropEffectsPropertyId: c_long = 30140;
274pub const UIA_IsDropTargetPatternAvailablePropertyId: c_long = 30141;
275pub const UIA_DropTargetDropTargetEffectPropertyId: c_long = 30142;
276pub const UIA_DropTargetDropTargetEffectsPropertyId: c_long = 30143;
277pub const UIA_DragGrabbedItemsPropertyId: c_long = 30144;
278pub const UIA_Transform2ZoomLevelPropertyId: c_long = 30145;
279pub const UIA_Transform2ZoomMinimumPropertyId: c_long = 30146;
280pub const UIA_Transform2ZoomMaximumPropertyId: c_long = 30147;
281pub const UIA_FlowsFromPropertyId: c_long = 30148;
282pub const UIA_IsTextEditPatternAvailablePropertyId: c_long = 30149;
283pub const UIA_IsPeripheralPropertyId: c_long = 30150;
284pub const UIA_IsCustomNavigationPatternAvailablePropertyId: c_long = 30151;
285pub const UIA_PositionInSetPropertyId: c_long = 30152;
286pub const UIA_SizeOfSetPropertyId: c_long = 30153;
287pub const UIA_LevelPropertyId: c_long = 30154;
288pub const UIA_AnnotationTypesPropertyId: c_long = 30155;
289pub const UIA_AnnotationObjectsPropertyId: c_long = 30156;
290pub const UIA_LandmarkTypePropertyId: c_long = 30157;
291pub const UIA_LocalizedLandmarkTypePropertyId: c_long = 30158;
292pub const UIA_FullDescriptionPropertyId: c_long = 30159;
293pub const UIA_FillColorPropertyId: c_long = 30160;
294pub const UIA_OutlineColorPropertyId: c_long = 30161;
295pub const UIA_FillTypePropertyId: c_long = 30162;
296pub const UIA_VisualEffectsPropertyId: c_long = 30163;
297pub const UIA_OutlineThicknessPropertyId: c_long = 30164;
298pub const UIA_CenterPointPropertyId: c_long = 30165;
299pub const UIA_RotationPropertyId: c_long = 30166;
300pub const UIA_SizePropertyId: c_long = 30167;
301pub const UIA_IsSelectionPattern2AvailablePropertyId: c_long = 30168;
302pub const UIA_Selection2FirstSelectedItemPropertyId: c_long = 30169;
303pub const UIA_Selection2LastSelectedItemPropertyId: c_long = 30170;
304pub const UIA_Selection2CurrentSelectedItemPropertyId: c_long = 30171;
305pub const UIA_Selection2ItemCountPropertyId: c_long = 30172;
306pub const UIA_HeadingLevelPropertyId: c_long = 30173;
307pub const UIA_IsDialogPropertyId: c_long = 30174;
308pub const UIA_AnimationStyleAttributeId: c_long = 40000;
309pub const UIA_BackgroundColorAttributeId: c_long = 40001;
310pub const UIA_BulletStyleAttributeId: c_long = 40002;
311pub const UIA_CapStyleAttributeId: c_long = 40003;
312pub const UIA_CultureAttributeId: c_long = 40004;
313pub const UIA_FontNameAttributeId: c_long = 40005;
314pub const UIA_FontSizeAttributeId: c_long = 40006;
315pub const UIA_FontWeightAttributeId: c_long = 40007;
316pub const UIA_ForegroundColorAttributeId: c_long = 40008;
317pub const UIA_HorizontalTextAlignmentAttributeId: c_long = 40009;
318pub const UIA_IndentationFirstLineAttributeId: c_long = 40010;
319pub const UIA_IndentationLeadingAttributeId: c_long = 40011;
320pub const UIA_IndentationTrailingAttributeId: c_long = 40012;
321pub const UIA_IsHiddenAttributeId: c_long = 40013;
322pub const UIA_IsItalicAttributeId: c_long = 40014;
323pub const UIA_IsReadOnlyAttributeId: c_long = 40015;
324pub const UIA_IsSubscriptAttributeId: c_long = 40016;
325pub const UIA_IsSuperscriptAttributeId: c_long = 40017;
326pub const UIA_MarginBottomAttributeId: c_long = 40018;
327pub const UIA_MarginLeadingAttributeId: c_long = 40019;
328pub const UIA_MarginTopAttributeId: c_long = 40020;
329pub const UIA_MarginTrailingAttributeId: c_long = 40021;
330pub const UIA_OutlineStylesAttributeId: c_long = 40022;
331pub const UIA_OverlineColorAttributeId: c_long = 40023;
332pub const UIA_OverlineStyleAttributeId: c_long = 40024;
333pub const UIA_StrikethroughColorAttributeId: c_long = 40025;
334pub const UIA_StrikethroughStyleAttributeId: c_long = 40026;
335pub const UIA_TabsAttributeId: c_long = 40027;
336pub const UIA_TextFlowDirectionsAttributeId: c_long = 40028;
337pub const UIA_UnderlineColorAttributeId: c_long = 40029;
338pub const UIA_UnderlineStyleAttributeId: c_long = 40030;
339pub const UIA_AnnotationTypesAttributeId: c_long = 40031;
340pub const UIA_AnnotationObjectsAttributeId: c_long = 40032;
341pub const UIA_StyleNameAttributeId: c_long = 40033;
342pub const UIA_StyleIdAttributeId: c_long = 40034;
343pub const UIA_LinkAttributeId: c_long = 40035;
344pub const UIA_IsActiveAttributeId: c_long = 40036;
345pub const UIA_SelectionActiveEndAttributeId: c_long = 40037;
346pub const UIA_CaretPositionAttributeId: c_long = 40038;
347pub const UIA_CaretBidiModeAttributeId: c_long = 40039;
348pub const UIA_LineSpacingAttributeId: c_long = 40040;
349pub const UIA_BeforeParagraphSpacingAttributeId: c_long = 40041;
350pub const UIA_AfterParagraphSpacingAttributeId: c_long = 40042;
351pub const UIA_SayAsInterpretAsAttributeId: c_long = 40043;
352pub const UIA_ButtonControlTypeId: c_long = 50000;
353pub const UIA_CalendarControlTypeId: c_long = 50001;
354pub const UIA_CheckBoxControlTypeId: c_long = 50002;
355pub const UIA_ComboBoxControlTypeId: c_long = 50003;
356pub const UIA_EditControlTypeId: c_long = 50004;
357pub const UIA_HyperlinkControlTypeId: c_long = 50005;
358pub const UIA_ImageControlTypeId: c_long = 50006;
359pub const UIA_ListItemControlTypeId: c_long = 50007;
360pub const UIA_ListControlTypeId: c_long = 50008;
361pub const UIA_MenuControlTypeId: c_long = 50009;
362pub const UIA_MenuBarControlTypeId: c_long = 50010;
363pub const UIA_MenuItemControlTypeId: c_long = 50011;
364pub const UIA_ProgressBarControlTypeId: c_long = 50012;
365pub const UIA_RadioButtonControlTypeId: c_long = 50013;
366pub const UIA_ScrollBarControlTypeId: c_long = 50014;
367pub const UIA_SliderControlTypeId: c_long = 50015;
368pub const UIA_SpinnerControlTypeId: c_long = 50016;
369pub const UIA_StatusBarControlTypeId: c_long = 50017;
370pub const UIA_TabControlTypeId: c_long = 50018;
371pub const UIA_TabItemControlTypeId: c_long = 50019;
372pub const UIA_TextControlTypeId: c_long = 50020;
373pub const UIA_ToolBarControlTypeId: c_long = 50021;
374pub const UIA_ToolTipControlTypeId: c_long = 50022;
375pub const UIA_TreeControlTypeId: c_long = 50023;
376pub const UIA_TreeItemControlTypeId: c_long = 50024;
377pub const UIA_CustomControlTypeId: c_long = 50025;
378pub const UIA_GroupControlTypeId: c_long = 50026;
379pub const UIA_ThumbControlTypeId: c_long = 50027;
380pub const UIA_DataGridControlTypeId: c_long = 50028;
381pub const UIA_DataItemControlTypeId: c_long = 50029;
382pub const UIA_DocumentControlTypeId: c_long = 50030;
383pub const UIA_SplitButtonControlTypeId: c_long = 50031;
384pub const UIA_WindowControlTypeId: c_long = 50032;
385pub const UIA_PaneControlTypeId: c_long = 50033;
386pub const UIA_HeaderControlTypeId: c_long = 50034;
387pub const UIA_HeaderItemControlTypeId: c_long = 50035;
388pub const UIA_TableControlTypeId: c_long = 50036;
389pub const UIA_TitleBarControlTypeId: c_long = 50037;
390pub const UIA_SeparatorControlTypeId: c_long = 50038;
391pub const UIA_SemanticZoomControlTypeId: c_long = 50039;
392pub const UIA_AppBarControlTypeId: c_long = 50040;
393pub const AnnotationType_Unknown: c_long = 60000;
394pub const AnnotationType_SpellingError: c_long = 60001;
395pub const AnnotationType_GrammarError: c_long = 60002;
396pub const AnnotationType_Comment: c_long = 60003;
397pub const AnnotationType_FormulaError: c_long = 60004;
398pub const AnnotationType_TrackChanges: c_long = 60005;
399pub const AnnotationType_Header: c_long = 60006;
400pub const AnnotationType_Footer: c_long = 60007;
401pub const AnnotationType_Highlighted: c_long = 60008;
402pub const AnnotationType_Endnote: c_long = 60009;
403pub const AnnotationType_Footnote: c_long = 60010;
404pub const AnnotationType_InsertionChange: c_long = 60011;
405pub const AnnotationType_DeletionChange: c_long = 60012;
406pub const AnnotationType_MoveChange: c_long = 60013;
407pub const AnnotationType_FormatChange: c_long = 60014;
408pub const AnnotationType_UnsyncedChange: c_long = 60015;
409pub const AnnotationType_EditingLockedChange: c_long = 60016;
410pub const AnnotationType_ExternalChange: c_long = 60017;
411pub const AnnotationType_ConflictingChange: c_long = 60018;
412pub const AnnotationType_Author: c_long = 60019;
413pub const AnnotationType_AdvancedProofingIssue: c_long = 60020;
414pub const AnnotationType_DataValidationError: c_long = 60021;
415pub const AnnotationType_CircularReferenceError: c_long = 60022;
416pub const AnnotationType_Mathematics: c_long = 60023;
417pub const AnnotationType_Sensitive: c_long = 60024;
418pub const StyleId_Custom: c_long = 70000;
419pub const StyleId_Heading1: c_long = 70001;
420pub const StyleId_Heading2: c_long = 70002;
421pub const StyleId_Heading3: c_long = 70003;
422pub const StyleId_Heading4: c_long = 70004;
423pub const StyleId_Heading5: c_long = 70005;
424pub const StyleId_Heading6: c_long = 70006;
425pub const StyleId_Heading7: c_long = 70007;
426pub const StyleId_Heading8: c_long = 70008;
427pub const StyleId_Heading9: c_long = 70009;
428pub const StyleId_Title: c_long = 70010;
429pub const StyleId_Subtitle: c_long = 70011;
430pub const StyleId_Normal: c_long = 70012;
431pub const StyleId_Emphasis: c_long = 70013;
432pub const StyleId_Quote: c_long = 70014;
433pub const StyleId_BulletedList: c_long = 70015;
434pub const StyleId_NumberedList: c_long = 70016;
435pub const UIA_CustomLandmarkTypeId: c_long = 80000;
436pub const UIA_FormLandmarkTypeId: c_long = 80001;
437pub const UIA_MainLandmarkTypeId: c_long = 80002;
438pub const UIA_NavigationLandmarkTypeId: c_long = 80003;
439pub const UIA_SearchLandmarkTypeId: c_long = 80004;
440pub const HeadingLevel_None: c_long = 80050;
441pub const HeadingLevel1: c_long = 80051;
442pub const HeadingLevel2: c_long = 80052;
443pub const HeadingLevel3: c_long = 80053;
444pub const HeadingLevel4: c_long = 80054;
445pub const HeadingLevel5: c_long = 80055;
446pub const HeadingLevel6: c_long = 80056;
447pub const HeadingLevel7: c_long = 80057;
448pub const HeadingLevel8: c_long = 80058;
449pub const HeadingLevel9: c_long = 80059;
450pub const UIA_SummaryChangeId: c_long = 90000;
451pub const UIA_SayAsInterpretAsMetadataId: c_long = 100000;
452RIDL!{#[uuid(0xd22108aa, 0x8ac5, 0x49a5, 0x83, 0x7b, 0x37, 0xbb, 0xb3, 0xd7, 0x59, 0x1e)]
453interface IUIAutomationElement(IUIAutomationElementVtbl): IUnknown(IUnknownVtbl) {
454 fn SetFocus() -> HRESULT,
455 fn GetRuntimeId(
456 runtimeId: *mut *mut SAFEARRAY,
457 ) -> HRESULT,
458 fn FindFirst(
459 scope: TreeScope,
460 condition: *mut IUIAutomationCondition,
461 found: *mut *mut IUIAutomationElement,
462 ) -> HRESULT,
463 fn FindAll(
464 scope: TreeScope,
465 condition: *mut IUIAutomationCondition,
466 found: *mut *mut IUIAutomationElementArray,
467 ) -> HRESULT,
468 fn FindFirstBuildCache(
469 scope: TreeScope,
470 condition: *mut IUIAutomationCondition,
471 cacheRequest: *mut IUIAutomationCacheRequest,
472 found: *mut *mut IUIAutomationElement,
473 ) -> HRESULT,
474 fn FindAllBuildCache(
475 scope: TreeScope,
476 condition: *mut IUIAutomationCondition,
477 cacheRequest: *mut IUIAutomationCacheRequest,
478 found: *mut *mut IUIAutomationElementArray,
479 ) -> HRESULT,
480 fn BuildUpdatedCache(
481 cacheRequest: *mut IUIAutomationCacheRequest,
482 updatedElement: *mut *mut IUIAutomationElement,
483 ) -> HRESULT,
484 fn GetCurrentPropertyValue(
485 propertyId: PROPERTYID,
486 retVal: *mut VARIANT,
487 ) -> HRESULT,
488 fn GetCurrentPropertyValueEx(
489 propertyId: PROPERTYID,
490 ignoreDefaultValue: BOOL,
491 retVal: *mut VARIANT,
492 ) -> HRESULT,
493 fn GetCachedPropertyValue(
494 propertyId: PROPERTYID,
495 retVal: *mut VARIANT,
496 ) -> HRESULT,
497 fn GetCachedPropertyValueEx(
498 propertyId: PROPERTYID,
499 ignoreDefaultValue: BOOL,
500 retVal: *mut VARIANT,
501 ) -> HRESULT,
502 fn GetCurrentPatternAs(
503 patternId: PATTERNID,
504 riid: REFIID,
505 patternObject: *mut *mut c_void,
506 ) -> HRESULT,
507 fn GetCachedPatternAs(
508 patternId: PATTERNID,
509 riid: REFIID,
510 patternObject: *mut *mut c_void,
511 ) -> HRESULT,
512 fn GetCurrentPattern(
513 patternId: PATTERNID,
514 patternObject: *mut *mut IUnknown,
515 ) -> HRESULT,
516 fn GetCachedPattern(
517 patternId: PATTERNID,
518 patternObject: *mut *mut IUnknown,
519 ) -> HRESULT,
520 fn GetCachedParent(
521 parent: *mut *mut IUIAutomationElement,
522 ) -> HRESULT,
523 fn GetCachedChildren(
524 children: *mut *mut IUIAutomationElementArray,
525 ) -> HRESULT,
526 fn get_CurrentProcessId(
527 retVal: *mut c_int,
528 ) -> HRESULT,
529 fn get_CurrentControlType(
530 retVal: *mut CONTROLTYPEID,
531 ) -> HRESULT,
532 fn get_CurrentLocalizedControlType(
533 retVal: *mut BSTR,
534 ) -> HRESULT,
535 fn get_CurrentName(
536 retVal: *mut BSTR,
537 ) -> HRESULT,
538 fn get_CurrentAcceleratorKey(
539 retVal: *mut BSTR,
540 ) -> HRESULT,
541 fn get_CurrentAccessKey(
542 retVal: *mut BSTR,
543 ) -> HRESULT,
544 fn get_CurrentHasKeyboardFocus(
545 retVal: *mut BOOL,
546 ) -> HRESULT,
547 fn get_CurrentIsKeyboardFocusable(
548 retVal: *mut BOOL,
549 ) -> HRESULT,
550 fn get_CurrentIsEnabled(
551 retVal: *mut BOOL,
552 ) -> HRESULT,
553 fn get_CurrentAutomationId(
554 retVal: *mut BSTR,
555 ) -> HRESULT,
556 fn get_CurrentClassName(
557 retVal: *mut BSTR,
558 ) -> HRESULT,
559 fn get_CurrentHelpText(
560 retVal: *mut BSTR,
561 ) -> HRESULT,
562 fn get_CurrentCulture(
563 retVal: *mut c_int,
564 ) -> HRESULT,
565 fn get_CurrentIsControlElement(
566 retVal: *mut BOOL,
567 ) -> HRESULT,
568 fn get_CurrentIsContentElement(
569 retVal: *mut BOOL,
570 ) -> HRESULT,
571 fn get_CurrentIsPassword(
572 retVal: *mut BOOL,
573 ) -> HRESULT,
574 fn get_CurrentNativeWindowHandle(
575 retVal: *mut UIA_HWND,
576 ) -> HRESULT,
577 fn get_CurrentItemType(
578 retVal: *mut BSTR,
579 ) -> HRESULT,
580 fn get_CurrentIsOffscreen(
581 retVal: *mut BOOL,
582 ) -> HRESULT,
583 fn get_CurrentOrientation(
584 retVal: *mut OrientationType,
585 ) -> HRESULT,
586 fn get_CurrentFrameworkId(
587 retVal: *mut BSTR,
588 ) -> HRESULT,
589 fn get_CurrentIsRequiredForForm(
590 retVal: *mut BOOL,
591 ) -> HRESULT,
592 fn get_CurrentItemStatus(
593 retVal: *mut BSTR,
594 ) -> HRESULT,
595 fn get_CurrentBoundingRectangle(
596 retVal: *mut RECT,
597 ) -> HRESULT,
598 fn get_CurrentLabeledBy(
599 retVal: *mut *mut IUIAutomationElement,
600 ) -> HRESULT,
601 fn get_CurrentAriaRole(
602 retVal: *mut BSTR,
603 ) -> HRESULT,
604 fn get_CurrentAriaProperties(
605 retVal: *mut BSTR,
606 ) -> HRESULT,
607 fn get_CurrentIsDataValidForForm(
608 retVal: *mut BOOL,
609 ) -> HRESULT,
610 fn get_CurrentControllerFor(
611 retVal: *mut *mut IUIAutomationElementArray,
612 ) -> HRESULT,
613 fn get_CurrentDescribedBy(
614 retVal: *mut *mut IUIAutomationElementArray,
615 ) -> HRESULT,
616 fn get_CurrentFlowsTo(
617 retVal: *mut *mut IUIAutomationElementArray,
618 ) -> HRESULT,
619 fn get_CurrentProviderDescription(
620 retVal: *mut BSTR,
621 ) -> HRESULT,
622 fn get_CachedProcessId(
623 retVal: *mut c_int,
624 ) -> HRESULT,
625 fn get_CachedControlType(
626 retVal: *mut CONTROLTYPEID,
627 ) -> HRESULT,
628 fn get_CachedLocalizedControlType(
629 retVal: *mut BSTR,
630 ) -> HRESULT,
631 fn get_CachedName(
632 retVal: *mut BSTR,
633 ) -> HRESULT,
634 fn get_CachedAcceleratorKey(
635 retVal: *mut BSTR,
636 ) -> HRESULT,
637 fn get_CachedAccessKey(
638 retVal: *mut BSTR,
639 ) -> HRESULT,
640 fn get_CachedHasKeyboardFocus(
641 retVal: *mut BOOL,
642 ) -> HRESULT,
643 fn get_CachedIsKeyboardFocusable(
644 retVal: *mut BOOL,
645 ) -> HRESULT,
646 fn get_CachedIsEnabled(
647 retVal: *mut BOOL,
648 ) -> HRESULT,
649 fn get_CachedAutomationId(
650 retVal: *mut BSTR,
651 ) -> HRESULT,
652 fn get_CachedClassName(
653 retVal: *mut BSTR,
654 ) -> HRESULT,
655 fn get_CachedHelpText(
656 retVal: *mut BSTR,
657 ) -> HRESULT,
658 fn get_CachedCulture(
659 retVal: *mut c_int,
660 ) -> HRESULT,
661 fn get_CachedIsControlElement(
662 retVal: *mut BOOL,
663 ) -> HRESULT,
664 fn get_CachedIsContentElement(
665 retVal: *mut BOOL,
666 ) -> HRESULT,
667 fn get_CachedIsPassword(
668 retVal: *mut BOOL,
669 ) -> HRESULT,
670 fn get_CachedNativeWindowHandle(
671 retVal: *mut UIA_HWND,
672 ) -> HRESULT,
673 fn get_CachedItemType(
674 retVal: *mut BSTR,
675 ) -> HRESULT,
676 fn get_CachedIsOffscreen(
677 retVal: *mut BOOL,
678 ) -> HRESULT,
679 fn get_CachedOrientation(
680 retVal: *mut OrientationType,
681 ) -> HRESULT,
682 fn get_CachedFrameworkId(
683 retVal: *mut BSTR,
684 ) -> HRESULT,
685 fn get_CachedIsRequiredForForm(
686 retVal: *mut BOOL,
687 ) -> HRESULT,
688 fn get_CachedItemStatus(
689 retVal: *mut BSTR,
690 ) -> HRESULT,
691 fn get_CachedBoundingRectangle(
692 retVal: *mut RECT,
693 ) -> HRESULT,
694 fn get_CachedLabeledBy(
695 retVal: *mut *mut IUIAutomationElement,
696 ) -> HRESULT,
697 fn get_CachedAriaRole(
698 retVal: *mut BSTR,
699 ) -> HRESULT,
700 fn get_CachedAriaProperties(
701 retVal: *mut BSTR,
702 ) -> HRESULT,
703 fn get_CachedIsDataValidForForm(
704 retVal: *mut BOOL,
705 ) -> HRESULT,
706 fn get_CachedControllerFor(
707 retVal: *mut *mut IUIAutomationElementArray,
708 ) -> HRESULT,
709 fn get_CachedDescribedBy(
710 retVal: *mut *mut IUIAutomationElementArray,
711 ) -> HRESULT,
712 fn get_CachedFlowsTo(
713 retVal: *mut *mut IUIAutomationElementArray,
714 ) -> HRESULT,
715 fn get_CachedProviderDescription(
716 retVal: *mut BSTR,
717 ) -> HRESULT,
718 fn GetClickablePoint(
719 clickable: *mut POINT,
720 gotClickable: *mut BOOL,
721 ) -> HRESULT,
722}}
723RIDL!{#[uuid(0x14314595, 0xb4bc, 0x4055, 0x95, 0xf2, 0x58, 0xf2, 0xe4, 0x2c, 0x98, 0x55)]
724interface IUIAutomationElementArray(IUIAutomationElementArrayVtbl): IUnknown(IUnknownVtbl) {
725 fn get_Length(
726 length: *mut c_int,
727 ) -> HRESULT,
728 fn GetElement(
729 index: c_int,
730 element: *mut *mut IUIAutomationElement,
731 ) -> HRESULT,
732}}
733RIDL!{#[uuid(0x352ffba8, 0x0973, 0x437c, 0xa6, 0x1f, 0xf6, 0x4c, 0xaf, 0xd8, 0x1d, 0xf9)]
734interface IUIAutomationCondition(IUIAutomationConditionVtbl): IUnknown(IUnknownVtbl) {}}
735RIDL!{#[uuid(0x1b4e1f2e, 0x75eb, 0x4d0b, 0x89, 0x52, 0x5a, 0x69, 0x98, 0x8e, 0x23, 0x07)]
736interface IUIAutomationBoolCondition(IUIAutomationBoolConditionVtbl):
737 IUIAutomationCondition(IUIAutomationConditionVtbl) {
738 fn get_BooleanValue(
739 boolVal: *mut BOOL,
740 ) -> HRESULT,
741}}
742RIDL!{#[uuid(0x99ebf2cb, 0x5578, 0x4267, 0x9a, 0xd4, 0xaf, 0xd6, 0xea, 0x77, 0xe9, 0x4b)]
743interface IUIAutomationPropertyCondition(IUIAutomationPropertyConditionVtbl):
744 IUIAutomationCondition(IUIAutomationConditionVtbl) {
745 fn get_PropertyId(
746 propertyId: *mut PROPERTYID,
747 ) -> HRESULT,
748 fn get_PropertyValue(
749 propertyValue: *mut VARIANT,
750 ) -> HRESULT,
751 fn get_PropertyConditionFlags(
752 flags: *mut PropertyConditionFlags,
753 ) -> HRESULT,
754}}
755RIDL!{#[uuid(0xa7d0af36, 0xb912, 0x45fe, 0x98, 0x55, 0x09, 0x1d, 0xdc, 0x17, 0x4a, 0xec)]
756interface IUIAutomationAndCondition(IUIAutomationAndConditionVtbl):
757 IUIAutomationCondition(IUIAutomationConditionVtbl) {
758 fn get_ChildCount(
759 childCount: *mut c_int,
760 ) -> HRESULT,
761 fn GetChildrenAsNativeArray(
762 childArray: *mut *mut *mut IUIAutomationCondition,
763 childArrayCount: *mut c_int,
764 ) -> HRESULT,
765 fn GetChildren(
766 childArray: *mut *mut SAFEARRAY,
767 ) -> HRESULT,
768}}
769RIDL!{#[uuid(0x8753f032, 0x3db1, 0x47b5, 0xa1, 0xfc, 0x6e, 0x34, 0xa2, 0x66, 0xc7, 0x12)]
770interface IUIAutomationOrCondition(IUIAutomationOrConditionVtbl):
771 IUIAutomationCondition(IUIAutomationConditionVtbl) {
772 fn get_ChildCount(
773 childCount: *mut c_int,
774 ) -> HRESULT,
775 fn GetChildrenAsNativeArray(
776 childArray: *mut *mut *mut IUIAutomationCondition,
777 childArrayCount: *mut c_int,
778 ) -> HRESULT,
779 fn GetChildren(
780 childArray: *mut *mut SAFEARRAY,
781 ) -> HRESULT,
782}}
783RIDL!{#[uuid(0xf528b657, 0x847b, 0x498c, 0x88, 0x96, 0xd5, 0x2b, 0x56, 0x54, 0x07, 0xa1)]
784interface IUIAutomationNotCondition(IUIAutomationNotConditionVtbl):
785 IUIAutomationCondition(IUIAutomationConditionVtbl) {
786 fn GetChild(
787 condition: *mut *mut IUIAutomationCondition,
788 ) -> HRESULT,
789}}
790RIDL!{#[uuid(0xb32a92b5, 0xbc25, 0x4078, 0x9c, 0x08, 0xd7, 0xee, 0x95, 0xc4, 0x8e, 0x03)]
791interface IUIAutomationCacheRequest(IUIAutomationCacheRequestVtbl): IUnknown(IUnknownVtbl) {
792 fn AddProperty(
793 propertyId: PROPERTYID,
794 ) -> HRESULT,
795 fn AddPattern(
796 patternId: PATTERNID,
797 ) -> HRESULT,
798 fn Clone(
799 clonedRequest: *mut *mut IUIAutomationCacheRequest,
800 ) -> HRESULT,
801 fn get_TreeScope(
802 scope: *mut TreeScope,
803 ) -> HRESULT,
804 fn put_TreeScope(
805 scope: TreeScope,
806 ) -> HRESULT,
807 fn get_TreeFilter(
808 filter: *mut *mut IUIAutomationCondition,
809 ) -> HRESULT,
810 fn put_TreeFilter(
811 filter: *mut IUIAutomationCondition,
812 ) -> HRESULT,
813 fn get_AutomationElementMode(
814 mode: *mut AutomationElementMode,
815 ) -> HRESULT,
816 fn put_AutomationElementMode(
817 mode: AutomationElementMode,
818 ) -> HRESULT,
819}}
820RIDL!{#[uuid(0x4042c624, 0x389c, 0x4afc, 0xa6, 0x30, 0x9d, 0xf8, 0x54, 0xa5, 0x41, 0xfc)]
821interface IUIAutomationTreeWalker(IUIAutomationTreeWalkerVtbl): IUnknown(IUnknownVtbl) {
822 fn GetParentElement(
823 element: *mut IUIAutomationElement,
824 parent: *mut *mut IUIAutomationElement,
825 ) -> HRESULT,
826 fn GetFirstChildElement(
827 element: *mut IUIAutomationElement,
828 first: *mut *mut IUIAutomationElement,
829 ) -> HRESULT,
830 fn GetLastChildElement(
831 element: *mut IUIAutomationElement,
832 last: *mut *mut IUIAutomationElement,
833 ) -> HRESULT,
834 fn GetNextSiblingElement(
835 element: *mut IUIAutomationElement,
836 next: *mut *mut IUIAutomationElement,
837 ) -> HRESULT,
838 fn GetPreviousSiblingElement(
839 element: *mut IUIAutomationElement,
840 previous: *mut *mut IUIAutomationElement,
841 ) -> HRESULT,
842 fn NormalizeElement(
843 element: *mut IUIAutomationElement,
844 normalized: *mut *mut IUIAutomationElement,
845 ) -> HRESULT,
846 fn GetParentElementBuildCache(
847 element: *mut IUIAutomationElement,
848 cacheRequest: *mut IUIAutomationCacheRequest,
849 parent: *mut *mut IUIAutomationElement,
850 ) -> HRESULT,
851 fn GetFirstChildElementBuildCache(
852 element: *mut IUIAutomationElement,
853 cacheRequest: *mut IUIAutomationCacheRequest,
854 first: *mut *mut IUIAutomationElement,
855 ) -> HRESULT,
856 fn GetLastChildElementBuildCache(
857 element: *mut IUIAutomationElement,
858 cacheRequest: *mut IUIAutomationCacheRequest,
859 last: *mut *mut IUIAutomationElement,
860 ) -> HRESULT,
861 fn GetNextSiblingElementBuildCache(
862 element: *mut IUIAutomationElement,
863 cacheRequest: *mut IUIAutomationCacheRequest,
864 next: *mut *mut IUIAutomationElement,
865 ) -> HRESULT,
866 fn GetPreviousSiblingElementBuildCache(
867 element: *mut IUIAutomationElement,
868 cacheRequest: *mut IUIAutomationCacheRequest,
869 previous: *mut *mut IUIAutomationElement,
870 ) -> HRESULT,
871 fn NormalizeElementBuildCache(
872 element: *mut IUIAutomationElement,
873 cacheRequest: *mut IUIAutomationCacheRequest,
874 normalized: *mut *mut IUIAutomationElement,
875 ) -> HRESULT,
876 fn get_Condition(
877 condition: *mut *mut IUIAutomationCondition,
878 ) -> HRESULT,
879}}
880RIDL!{#[uuid(0x146c3c17, 0xf12e, 0x4e22, 0x8c, 0x27, 0xf8, 0x94, 0xb9, 0xb7, 0x9c, 0x69)]
881interface IUIAutomationEventHandler(IUIAutomationEventHandlerVtbl): IUnknown(IUnknownVtbl) {
882 fn HandleAutomationEvent(
883 sender: *mut IUIAutomationElement,
884 eventId: EVENTID,
885 ) -> HRESULT,
886}}
887RIDL!{#[uuid(0x40cd37d4, 0xc756, 0x4b0c, 0x8c, 0x6f, 0xbd, 0xdf, 0xee, 0xb1, 0x3b, 0x50)]
888interface IUIAutomationPropertyChangedEventHandler(IUIAutomationPropertyChangedEventHandlerVtbl):
889 IUnknown(IUnknownVtbl) {
890 fn HandlePropertyChangedEvent(
891 sender: *mut IUIAutomationElement,
892 propertyId: PROPERTYID,
893 newValue: VARIANT,
894 ) -> HRESULT,
895}}
896RIDL!{#[uuid(0xe81d1b4e, 0x11c5, 0x42f8, 0x97, 0x54, 0xe7, 0x03, 0x6c, 0x79, 0xf0, 0x54)]
897interface IUIAutomationStructureChangedEventHandler(IUIAutomationStructureChangedEventHandlerVtbl):
898 IUnknown(IUnknownVtbl) {
899 fn HandleStructureChangedEvent(
900 sender: *mut IUIAutomationElement,
901 changeType: StructureChangeType,
902 runtimeId: *mut SAFEARRAY,
903 ) -> HRESULT,
904}}
905RIDL!{#[uuid(0xc270f6b5, 0x5c69, 0x4290, 0x97, 0x45, 0x7a, 0x7f, 0x97, 0x16, 0x94, 0x68)]
906interface IUIAutomationFocusChangedEventHandler(IUIAutomationFocusChangedEventHandlerVtbl):
907 IUnknown(IUnknownVtbl) {
908 fn HandleFocusChangedEvent(
909 sender: *mut IUIAutomationElement,
910 ) -> HRESULT,
911}}
912RIDL!{#[uuid(0x92FAA680, 0xE704, 0x4156, 0x93, 0x1A, 0xE3, 0x2D, 0x5B, 0xB3, 0x8F, 0x3F)]
913interface IUIAutomationTextEditTextChangedEventHandler
914 (IUIAutomationTextEditTextChangedEventHandlerVtbl): IUnknown(IUnknownVtbl) {
915 fn HandleTextEditTextChangedEvent(
916 sender: *mut IUIAutomationElement,
917 textEditChangeType: TextEditChangeType,
918 eventStrings: *mut SAFEARRAY,
919 ) -> HRESULT,
920}}
921RIDL!{#[uuid(0x58EDCA55, 0x2C3E, 0x4980, 0xB1, 0xB9, 0x56, 0xC1, 0x7F, 0x27, 0xA2, 0xA0)]
922interface IUIAutomationChangesEventHandler(IUIAutomationChangesEventHandlerVtbl):
923 IUnknown(IUnknownVtbl) {
924 fn HandleChangesEvent(
925 sender: *mut IUIAutomationElement,
926 uiaChanges: *mut UiaChangeInfo,
927 changesCount: c_int,
928 ) -> HRESULT,
929}}
930RIDL!{#[uuid(0xC7CB2637, 0xE6C2, 0x4D0C, 0x85, 0xDE, 0x49, 0x48, 0xC0, 0x21, 0x75, 0xC7)]
931interface IUIAutomationNotificationEventHandler(IUIAutomationNotificationEventHandlerVtbl):
932 IUnknown(IUnknownVtbl) {
933 fn HandleNotificationEvent(
934 sender: *mut IUIAutomationElement,
935 notificationKind: NotificationKind,
936 notificationProcessing: NotificationProcessing,
937 displayString: BSTR,
938 activityId: BSTR,
939 ) -> HRESULT,
940}}
941RIDL!{#[uuid(0xfb377fbe, 0x8ea6, 0x46d5, 0x9c, 0x73, 0x64, 0x99, 0x64, 0x2d, 0x30, 0x59)]
942interface IUIAutomationInvokePattern(IUIAutomationInvokePatternVtbl): IUnknown(IUnknownVtbl) {
943 fn Invoke() -> HRESULT,
944}}
945RIDL!{#[uuid(0xfde5ef97, 0x1464, 0x48f6, 0x90, 0xbf, 0x43, 0xd0, 0x94, 0x8e, 0x86, 0xec)]
946interface IUIAutomationDockPattern(IUIAutomationDockPatternVtbl): IUnknown(IUnknownVtbl) {
947 fn SetDockPosition(
948 dockPos: DockPosition,
949 ) -> HRESULT,
950 fn get_CurrentDockPosition(
951 retVal: *mut DockPosition,
952 ) -> HRESULT,
953 fn get_CachedDockPosition(
954 retVal: *mut DockPosition,
955 ) -> HRESULT,
956}}
957RIDL!{#[uuid(0x619be086, 0x1f4e, 0x4ee4, 0xba, 0xfa, 0x21, 0x01, 0x28, 0x73, 0x87, 0x30)]
958interface IUIAutomationExpandCollapsePattern(IUIAutomationExpandCollapsePatternVtbl):
959 IUnknown(IUnknownVtbl) {
960 fn Expand() -> HRESULT,
961 fn Collapse() -> HRESULT,
962 fn get_CurrentExpandCollapseState(
963 retVal: *mut ExpandCollapseState,
964 ) -> HRESULT,
965 fn get_CachedExpandCollapseState(
966 retVal: *mut ExpandCollapseState,
967 ) -> HRESULT,
968}}
969RIDL!{#[uuid(0x414c3cdc, 0x856b, 0x4f5b, 0x85, 0x38, 0x31, 0x31, 0xc6, 0x30, 0x25, 0x50)]
970interface IUIAutomationGridPattern(IUIAutomationGridPatternVtbl): IUnknown(IUnknownVtbl) {
971 fn GetItem(
972 row: c_int,
973 column: c_int,
974 element: *mut *mut IUIAutomationElement,
975 ) -> HRESULT,
976 fn get_CurrentRowCount(
977 retVal: *mut c_int,
978 ) -> HRESULT,
979 fn get_CurrentColumnCount(
980 retVal: *mut c_int,
981 ) -> HRESULT,
982 fn get_CachedRowCount(
983 retVal: *mut c_int,
984 ) -> HRESULT,
985 fn get_CachedColumnCount(
986 retVal: *mut c_int,
987 ) -> HRESULT,
988}}
989RIDL!{#[uuid(0x78f8ef57, 0x66c3, 0x4e09, 0xbd, 0x7c, 0xe7, 0x9b, 0x20, 0x04, 0x89, 0x4d)]
990interface IUIAutomationGridItemPattern(IUIAutomationGridItemPatternVtbl): IUnknown(IUnknownVtbl) {
991 fn get_CurrentContainingGrid(
992 retVal: *mut *mut IUIAutomationElement,
993 ) -> HRESULT,
994 fn get_CurrentRow(
995 retVal: *mut c_int,
996 ) -> HRESULT,
997 fn get_CurrentColumn(
998 retVal: *mut c_int,
999 ) -> HRESULT,
1000 fn get_CurrentRowSpan(
1001 retVal: *mut c_int,
1002 ) -> HRESULT,
1003 fn get_CurrentColumnSpan(
1004 retVal: *mut c_int,
1005 ) -> HRESULT,
1006 fn get_CachedContainingGrid(
1007 retVal: *mut *mut IUIAutomationElement,
1008 ) -> HRESULT,
1009 fn get_CachedRow(
1010 retVal: *mut c_int,
1011 ) -> HRESULT,
1012 fn get_CachedColumn(
1013 retVal: *mut c_int,
1014 ) -> HRESULT,
1015 fn get_CachedRowSpan(
1016 retVal: *mut c_int,
1017 ) -> HRESULT,
1018 fn get_CachedColumnSpan(
1019 retVal: *mut c_int,
1020 ) -> HRESULT,
1021}}
1022RIDL!{#[uuid(0x8d253c91, 0x1dc5, 0x4bb5, 0xb1, 0x8f, 0xad, 0xe1, 0x6f, 0xa4, 0x95, 0xe8)]
1023interface IUIAutomationMultipleViewPattern(IUIAutomationMultipleViewPatternVtbl):
1024 IUnknown(IUnknownVtbl) {
1025 fn GetViewName(
1026 view: c_int,
1027 name: *mut BSTR,
1028 ) -> HRESULT,
1029 fn SetCurrentView(
1030 view: c_int,
1031 ) -> HRESULT,
1032 fn get_CurrentCurrentView(
1033 retVal: *mut c_int,
1034 ) -> HRESULT,
1035 fn GetCurrentSupportedViews(
1036 retVal: *mut *mut SAFEARRAY,
1037 ) -> HRESULT,
1038 fn get_CachedCurrentView(
1039 retVal: *mut c_int,
1040 ) -> HRESULT,
1041 fn GetCachedSupportedViews(
1042 retVal: *mut *mut SAFEARRAY,
1043 ) -> HRESULT,
1044}}
1045RIDL!{#[uuid(0x71c284b3, 0xc14d, 0x4d14, 0x98, 0x1e, 0x19, 0x75, 0x1b, 0x0d, 0x75, 0x6d)]
1046interface IUIAutomationObjectModelPattern(IUIAutomationObjectModelPatternVtbl):
1047 IUnknown(IUnknownVtbl) {
1048 fn GetUnderlyingObjectModel(
1049 retVal: *mut *mut IUnknown,
1050 ) -> HRESULT,
1051}}
1052RIDL!{#[uuid(0x59213f4f, 0x7346, 0x49e5, 0xb1, 0x20, 0x80, 0x55, 0x59, 0x87, 0xa1, 0x48)]
1053interface IUIAutomationRangeValuePattern(IUIAutomationRangeValuePatternVtbl):
1054 IUnknown(IUnknownVtbl) {
1055 fn SetValue(
1056 val: c_double,
1057 ) -> HRESULT,
1058 fn get_CurrentValue(
1059 retVal: *mut c_double,
1060 ) -> HRESULT,
1061 fn get_CurrentIsReadOnly(
1062 retVal: *mut BOOL,
1063 ) -> HRESULT,
1064 fn get_CurrentMaximum(
1065 retVal: *mut c_double,
1066 ) -> HRESULT,
1067 fn get_CurrentMinimum(
1068 retVal: *mut c_double,
1069 ) -> HRESULT,
1070 fn get_CurrentLargeChange(
1071 retVal: *mut c_double,
1072 ) -> HRESULT,
1073 fn get_CurrentSmallChange(
1074 retVal: *mut c_double,
1075 ) -> HRESULT,
1076 fn get_CachedValue(
1077 retVal: *mut c_double,
1078 ) -> HRESULT,
1079 fn get_CachedIsReadOnly(
1080 retVal: *mut BOOL,
1081 ) -> HRESULT,
1082 fn get_CachedMaximum(
1083 retVal: *mut c_double,
1084 ) -> HRESULT,
1085 fn get_CachedMinimum(
1086 retVal: *mut c_double,
1087 ) -> HRESULT,
1088 fn get_CachedLargeChange(
1089 retVal: *mut c_double,
1090 ) -> HRESULT,
1091 fn get_CachedSmallChange(
1092 retVal: *mut c_double,
1093 ) -> HRESULT,
1094}}
1095RIDL!{#[uuid(0x88f4d42a, 0xe881, 0x459d, 0xa7, 0x7c, 0x73, 0xbb, 0xbb, 0x7e, 0x02, 0xdc)]
1096interface IUIAutomationScrollPattern(IUIAutomationScrollPatternVtbl): IUnknown(IUnknownVtbl) {
1097 fn Scroll(
1098 horizontalAmount: ScrollAmount,
1099 verticalAmount: ScrollAmount,
1100 ) -> HRESULT,
1101 fn SetScrollPercent(
1102 horizontalPercent: c_double,
1103 verticalPercent: c_double,
1104 ) -> HRESULT,
1105 fn get_CurrentHorizontalScrollPercent(
1106 retVal: *mut c_double,
1107 ) -> HRESULT,
1108 fn get_CurrentVerticalScrollPercent(
1109 retVal: *mut c_double,
1110 ) -> HRESULT,
1111 fn get_CurrentHorizontalViewSize(
1112 retVal: *mut c_double,
1113 ) -> HRESULT,
1114 fn get_CurrentVerticalViewSize(
1115 retVal: *mut c_double,
1116 ) -> HRESULT,
1117 fn get_CurrentHorizontallyScrollable(
1118 retVal: *mut BOOL,
1119 ) -> HRESULT,
1120 fn get_CurrentVerticallyScrollable(
1121 retVal: *mut BOOL,
1122 ) -> HRESULT,
1123 fn get_CachedHorizontalScrollPercent(
1124 retVal: *mut c_double,
1125 ) -> HRESULT,
1126 fn get_CachedVerticalScrollPercent(
1127 retVal: *mut c_double,
1128 ) -> HRESULT,
1129 fn get_CachedHorizontalViewSize(
1130 retVal: *mut c_double,
1131 ) -> HRESULT,
1132 fn get_CachedVerticalViewSize(
1133 retVal: *mut c_double,
1134 ) -> HRESULT,
1135 fn get_CachedHorizontallyScrollable(
1136 retVal: *mut BOOL,
1137 ) -> HRESULT,
1138 fn get_CachedVerticallyScrollable(
1139 retVal: *mut BOOL,
1140 ) -> HRESULT,
1141}}
1142RIDL!{#[uuid(0xb488300f, 0xd015, 0x4f19, 0x9c, 0x29, 0xbb, 0x59, 0x5e, 0x36, 0x45, 0xef)]
1143interface IUIAutomationScrollItemPattern(IUIAutomationScrollItemPatternVtbl):
1144 IUnknown(IUnknownVtbl) {
1145 fn ScrollIntoView() -> HRESULT,
1146}}
1147RIDL!{#[uuid(0x5ed5202e, 0xb2ac, 0x47a6, 0xb6, 0x38, 0x4b, 0x0b, 0xf1, 0x40, 0xd7, 0x8e)]
1148interface IUIAutomationSelectionPattern(IUIAutomationSelectionPatternVtbl):
1149 IUnknown(IUnknownVtbl) {
1150 fn GetCurrentSelection(
1151 retVal: *mut *mut IUIAutomationElementArray,
1152 ) -> HRESULT,
1153 fn get_CurrentCanSelectMultiple(
1154 retVal: *mut BOOL,
1155 ) -> HRESULT,
1156 fn get_CurrentIsSelectionRequired(
1157 retVal: *mut BOOL,
1158 ) -> HRESULT,
1159 fn GetCachedSelection(
1160 retVal: *mut *mut IUIAutomationElementArray,
1161 ) -> HRESULT,
1162 fn get_CachedCanSelectMultiple(
1163 retVal: *mut BOOL,
1164 ) -> HRESULT,
1165 fn get_CachedIsSelectionRequired(
1166 retVal: *mut BOOL,
1167 ) -> HRESULT,
1168}}
1169RIDL!{#[uuid(0x0532bfae, 0xc011, 0x4e32, 0xa3, 0x43, 0x6d, 0x64, 0x2d, 0x79, 0x85, 0x55)]
1170interface IUIAutomationSelectionPattern2(IUIAutomationSelectionPattern2Vtbl):
1171 IUIAutomationSelectionPattern(IUIAutomationSelectionPatternVtbl) {
1172 fn get_CurrentFirstSelectedItem(
1173 retVal: *mut *mut IUIAutomationElement,
1174 ) -> HRESULT,
1175 fn get_CurrentLastSelectedItem(
1176 retVal: *mut *mut IUIAutomationElement,
1177 ) -> HRESULT,
1178 fn get_CurrentCurrentSelectedItem(
1179 retVal: *mut *mut IUIAutomationElement,
1180 ) -> HRESULT,
1181 fn get_CurrentItemCount(
1182 retVal: *mut c_int,
1183 ) -> HRESULT,
1184 fn get_CachedFirstSelectedItem(
1185 retVal: *mut *mut IUIAutomationElement,
1186 ) -> HRESULT,
1187 fn get_CachedLastSelectedItem(
1188 retVal: *mut *mut IUIAutomationElement,
1189 ) -> HRESULT,
1190 fn get_CachedCurrentSelectedItem(
1191 retVal: *mut *mut IUIAutomationElement,
1192 ) -> HRESULT,
1193 fn get_CachedItemCount(
1194 retVal: *mut c_int,
1195 ) -> HRESULT,
1196}}
1197RIDL!{#[uuid(0xa8efa66a, 0x0fda, 0x421a, 0x91, 0x94, 0x38, 0x02, 0x1f, 0x35, 0x78, 0xea)]
1198interface IUIAutomationSelectionItemPattern(IUIAutomationSelectionItemPatternVtbl):
1199 IUnknown(IUnknownVtbl) {
1200 fn Select() -> HRESULT,
1201 fn AddToSelection() -> HRESULT,
1202 fn RemoveFromSelection() -> HRESULT,
1203 fn get_CurrentIsSelected(
1204 retVal: *mut BOOL,
1205 ) -> HRESULT,
1206 fn get_CurrentSelectionContainer(
1207 retVal: *mut *mut IUIAutomationElement,
1208 ) -> HRESULT,
1209 fn get_CachedIsSelected(
1210 retVal: *mut BOOL,
1211 ) -> HRESULT,
1212 fn get_CachedSelectionContainer(
1213 retVal: *mut *mut IUIAutomationElement,
1214 ) -> HRESULT,
1215}}
1216RIDL!{#[uuid(0x2233be0b, 0xafb7, 0x448b, 0x9f, 0xda, 0x3b, 0x37, 0x8a, 0xa5, 0xea, 0xe1)]
1217interface IUIAutomationSynchronizedInputPattern(IUIAutomationSynchronizedInputPatternVtbl):
1218 IUnknown(IUnknownVtbl) {
1219 fn StartListening(
1220 inputType: SynchronizedInputType,
1221 ) -> HRESULT,
1222 fn Cancel() -> HRESULT,
1223}}
1224RIDL!{#[uuid(0x620e691c, 0xea96, 0x4710, 0xa8, 0x50, 0x75, 0x4b, 0x24, 0xce, 0x24, 0x17)]
1225interface IUIAutomationTablePattern(IUIAutomationTablePatternVtbl): IUnknown(IUnknownVtbl) {
1226 fn GetCurrentRowHeaders(
1227 retVal: *mut *mut IUIAutomationElementArray,
1228 ) -> HRESULT,
1229 fn GetCurrentColumnHeaders(
1230 retVal: *mut *mut IUIAutomationElementArray,
1231 ) -> HRESULT,
1232 fn get_CurrentRowOrColumnMajor(
1233 retVal: *mut RowOrColumnMajor,
1234 ) -> HRESULT,
1235 fn GetCachedRowHeaders(
1236 retVal: *mut *mut IUIAutomationElementArray,
1237 ) -> HRESULT,
1238 fn GetCachedColumnHeaders(
1239 retVal: *mut *mut IUIAutomationElementArray,
1240 ) -> HRESULT,
1241 fn get_CachedRowOrColumnMajor(
1242 retVal: *mut RowOrColumnMajor,
1243 ) -> HRESULT,
1244}}
1245RIDL!{#[uuid(0x0b964eb3, 0xef2e, 0x4464, 0x9c, 0x79, 0x61, 0xd6, 0x17, 0x37, 0xa2, 0x7e)]
1246interface IUIAutomationTableItemPattern(IUIAutomationTableItemPatternVtbl):
1247 IUnknown(IUnknownVtbl) {
1248 fn GetCurrentRowHeaderItems(
1249 retVal: *mut *mut IUIAutomationElementArray,
1250 ) -> HRESULT,
1251 fn GetCurrentColumnHeaderItems(
1252 retVal: *mut *mut IUIAutomationElementArray,
1253 ) -> HRESULT,
1254 fn GetCachedRowHeaderItems(
1255 retVal: *mut *mut IUIAutomationElementArray,
1256 ) -> HRESULT,
1257 fn GetCachedColumnHeaderItems(
1258 retVal: *mut *mut IUIAutomationElementArray,
1259 ) -> HRESULT,
1260}}
1261RIDL!{#[uuid(0x94cf8058, 0x9b8d, 0x4ab9, 0x8b, 0xfd, 0x4c, 0xd0, 0xa3, 0x3c, 0x8c, 0x70)]
1262interface IUIAutomationTogglePattern(IUIAutomationTogglePatternVtbl): IUnknown(IUnknownVtbl) {
1263 fn Toggle() -> HRESULT,
1264 fn get_CurrentToggleState(
1265 retVal: *mut ToggleState,
1266 ) -> HRESULT,
1267 fn get_CachedToggleState(
1268 retVal: *mut ToggleState,
1269 ) -> HRESULT,
1270}}
1271RIDL!{#[uuid(0xa9b55844, 0xa55d, 0x4ef0, 0x92, 0x6d, 0x56, 0x9c, 0x16, 0xff, 0x89, 0xbb)]
1272interface IUIAutomationTransformPattern(IUIAutomationTransformPatternVtbl):
1273 IUnknown(IUnknownVtbl) {
1274 fn Move(
1275 x: c_double,
1276 y: c_double,
1277 ) -> HRESULT,
1278 fn Resize(
1279 width: c_double,
1280 height: c_double,
1281 ) -> HRESULT,
1282 fn Rotate(
1283 degrees: c_double,
1284 ) -> HRESULT,
1285 fn get_CurrentCanMove(
1286 retVal: *mut BOOL,
1287 ) -> HRESULT,
1288 fn get_CurrentCanResize(
1289 retVal: *mut BOOL,
1290 ) -> HRESULT,
1291 fn get_CurrentCanRotate(
1292 retVal: *mut BOOL,
1293 ) -> HRESULT,
1294 fn get_CachedCanMove(
1295 retVal: *mut BOOL,
1296 ) -> HRESULT,
1297 fn get_CachedCanResize(
1298 retVal: *mut BOOL,
1299 ) -> HRESULT,
1300 fn get_CachedCanRotate(
1301 retVal: *mut BOOL,
1302 ) -> HRESULT,
1303}}
1304RIDL!{#[uuid(0xa94cd8b1, 0x0844, 0x4cd6, 0x9d, 0x2d, 0x64, 0x05, 0x37, 0xab, 0x39, 0xe9)]
1305interface IUIAutomationValuePattern(IUIAutomationValuePatternVtbl): IUnknown(IUnknownVtbl) {
1306 fn SetValue(
1307 val: BSTR,
1308 ) -> HRESULT,
1309 fn get_CurrentValue(
1310 retVal: *mut BSTR,
1311 ) -> HRESULT,
1312 fn get_CurrentIsReadOnly(
1313 retVal: *mut BOOL,
1314 ) -> HRESULT,
1315 fn get_CachedValue(
1316 retVal: *mut BSTR,
1317 ) -> HRESULT,
1318 fn get_CachedIsReadOnly(
1319 retVal: *mut BOOL,
1320 ) -> HRESULT,
1321}}
1322RIDL!{#[uuid(0x0faef453, 0x9208, 0x43ef, 0xbb, 0xb2, 0x3b, 0x48, 0x51, 0x77, 0x86, 0x4f)]
1323interface IUIAutomationWindowPattern(IUIAutomationWindowPatternVtbl): IUnknown(IUnknownVtbl) {
1324 fn Close() -> HRESULT,
1325 fn WaitForInputIdle(
1326 milliseconds: c_int,
1327 success: *mut BOOL,
1328 ) -> HRESULT,
1329 fn SetWindowVisualState(
1330 state: WindowVisualState,
1331 ) -> HRESULT,
1332 fn get_CurrentCanMaximize(
1333 retVal: *mut BOOL,
1334 ) -> HRESULT,
1335 fn get_CurrentCanMinimize(
1336 retVal: *mut BOOL,
1337 ) -> HRESULT,
1338 fn get_CurrentIsModal(
1339 retVal: *mut BOOL,
1340 ) -> HRESULT,
1341 fn get_CurrentIsTopmost(
1342 retVal: *mut BOOL,
1343 ) -> HRESULT,
1344 fn get_CurrentWindowVisualState(
1345 retVal: *mut WindowVisualState,
1346 ) -> HRESULT,
1347 fn get_CurrentWindowInteractionState(
1348 retVal: *mut WindowInteractionState,
1349 ) -> HRESULT,
1350 fn get_CachedCanMaximize(
1351 retVal: *mut BOOL,
1352 ) -> HRESULT,
1353 fn get_CachedCanMinimize(
1354 retVal: *mut BOOL,
1355 ) -> HRESULT,
1356 fn get_CachedIsModal(
1357 retVal: *mut BOOL,
1358 ) -> HRESULT,
1359 fn get_CachedIsTopmost(
1360 retVal: *mut BOOL,
1361 ) -> HRESULT,
1362 fn get_CachedWindowVisualState(
1363 retVal: *mut WindowVisualState,
1364 ) -> HRESULT,
1365 fn get_CachedWindowInteractionState(
1366 retVal: *mut WindowInteractionState,
1367 ) -> HRESULT,
1368}}
1369RIDL!{#[uuid(0xa543cc6a, 0xf4ae, 0x494b, 0x82, 0x39, 0xc8, 0x14, 0x48, 0x11, 0x87, 0xa8)]
1370interface IUIAutomationTextRange(IUIAutomationTextRangeVtbl): IUnknown(IUnknownVtbl) {
1371 fn Clone(
1372 clonedRange: *mut *mut IUIAutomationTextRange,
1373 ) -> HRESULT,
1374 fn Compare(
1375 range: *mut IUIAutomationTextRange,
1376 areSame: *mut BOOL,
1377 ) -> HRESULT,
1378 fn CompareEndpoints(
1379 srcEndPoint: TextPatternRangeEndpoint,
1380 range: *mut IUIAutomationTextRange,
1381 targetEndPoint: TextPatternRangeEndpoint,
1382 compValue: *mut c_int,
1383 ) -> HRESULT,
1384 fn ExpandToEnclosingUnit(
1385 textUnit: TextUnit,
1386 ) -> HRESULT,
1387 fn FindAttribute(
1388 attr: TEXTATTRIBUTEID,
1389 val: VARIANT,
1390 backward: BOOL,
1391 found: *mut *mut IUIAutomationTextRange,
1392 ) -> HRESULT,
1393 fn FindText(
1394 text: BSTR,
1395 backward: BOOL,
1396 ignoreCase: BOOL,
1397 found: *mut *mut IUIAutomationTextRange,
1398 ) -> HRESULT,
1399 fn GetAttributeValue(
1400 attr: TEXTATTRIBUTEID,
1401 value: *mut VARIANT,
1402 ) -> HRESULT,
1403 fn GetBoundingRectangles(
1404 boundingRects: *mut *mut SAFEARRAY,
1405 ) -> HRESULT,
1406 fn GetEnclosingElement(
1407 enclosingElement: *mut *mut IUIAutomationElement,
1408 ) -> HRESULT,
1409 fn GetText(
1410 maxLength: c_int,
1411 text: *mut BSTR,
1412 ) -> HRESULT,
1413 fn Move(
1414 unit: TextUnit,
1415 count: c_int,
1416 moved: *mut c_int,
1417 ) -> HRESULT,
1418 fn MoveEndpointByUnit(
1419 endpoint: TextPatternRangeEndpoint,
1420 unit: TextUnit,
1421 count: c_int,
1422 moved: *mut c_int,
1423 ) -> HRESULT,
1424 fn MoveEndpointByRange(
1425 srcEndPoint: TextPatternRangeEndpoint,
1426 range: *mut IUIAutomationTextRange,
1427 targetEndPoint: TextPatternRangeEndpoint,
1428 ) -> HRESULT,
1429 fn Select() -> HRESULT,
1430 fn AddToSelection() -> HRESULT,
1431 fn RemoveFromSelection() -> HRESULT,
1432 fn ScrollIntoView(
1433 alignToTop: BOOL,
1434 ) -> HRESULT,
1435 fn GetChildren(
1436 children: *mut *mut IUIAutomationElementArray,
1437 ) -> HRESULT,
1438}}
1439RIDL!{#[uuid(0xBB9B40E0, 0x5E04, 0x46BD, 0x9B, 0xE0, 0x4B, 0x60, 0x1B, 0x9A, 0xFA, 0xD4)]
1440interface IUIAutomationTextRange2(IUIAutomationTextRange2Vtbl):
1441 IUIAutomationTextRange(IUIAutomationTextRangeVtbl) {
1442 fn ShowContextMenu() -> HRESULT,
1443}}
1444RIDL!{#[uuid(0x6A315D69, 0x5512, 0x4C2E, 0x85, 0xF0, 0x53, 0xFC, 0xE6, 0xDD, 0x4B, 0xC2)]
1445interface IUIAutomationTextRange3(IUIAutomationTextRange3Vtbl):
1446 IUIAutomationTextRange2(IUIAutomationTextRange2Vtbl) {
1447 fn GetEnclosingElementBuildCache(
1448 cacheRequest: *mut IUIAutomationCacheRequest,
1449 enclosingElement: *mut *mut IUIAutomationElement,
1450 ) -> HRESULT,
1451 fn GetChildrenBuildCache(
1452 cacheRequest: *mut IUIAutomationCacheRequest,
1453 children: *mut *mut IUIAutomationElementArray,
1454 ) -> HRESULT,
1455 fn GetAttributeValues(
1456attributeIds: *const TEXTATTRIBUTEID,
1458 attributeIdCount: c_int,
1459 attributeValues: *mut *mut SAFEARRAY,
1460 ) -> HRESULT,
1461}}
1462RIDL!{#[uuid(0xce4ae76a, 0xe717, 0x4c98, 0x81, 0xea, 0x47, 0x37, 0x1d, 0x02, 0x8e, 0xb6)]
1463interface IUIAutomationTextRangeArray(IUIAutomationTextRangeArrayVtbl): IUnknown(IUnknownVtbl) {
1464 fn get_Length(
1465 length: c_int,
1466 ) -> HRESULT,
1467 fn GetElement(
1468 index: c_int,
1469 element: *mut *mut IUIAutomationTextRange,
1470 ) -> HRESULT,
1471}}
1472RIDL!{#[uuid(0x32eba289, 0x3583, 0x42c9, 0x9c, 0x59, 0x3b, 0x6d, 0x9a, 0x1e, 0x9b, 0x6a)]
1473interface IUIAutomationTextPattern(IUIAutomationTextPatternVtbl): IUnknown(IUnknownVtbl) {
1474 fn RangeFromPoint(
1475 pt: POINT,
1476 range: *mut *mut IUIAutomationTextRange,
1477 ) -> HRESULT,
1478 fn RangeFromChild(
1479 child: *mut IUIAutomationElement,
1480 range: *mut *mut IUIAutomationTextRange,
1481 ) -> HRESULT,
1482 fn GetSelection(
1483 ranges: *mut *mut IUIAutomationTextRangeArray,
1484 ) -> HRESULT,
1485 fn GetVisibleRanges(
1486 ranges: *mut *mut IUIAutomationTextRangeArray,
1487 ) -> HRESULT,
1488 fn get_DocumentRange(
1489 range: *mut *mut IUIAutomationTextRange,
1490 ) -> HRESULT,
1491 fn get_SupportedTextSelection(
1492 supportedTextSelection: *mut SupportedTextSelection,
1493 ) -> HRESULT,
1494}}
1495RIDL!{#[uuid(0x506a921a, 0xfcc9, 0x409f, 0xb2, 0x3b, 0x37, 0xeb, 0x74, 0x10, 0x68, 0x72)]
1496interface IUIAutomationTextPattern2(IUIAutomationTextPattern2Vtbl):
1497 IUIAutomationTextPattern(IUIAutomationTextPatternVtbl) {
1498 fn RangeFromAnnotation(
1499 annotation: *mut IUIAutomationElement,
1500 range: *mut *mut IUIAutomationTextRange,
1501 ) -> HRESULT,
1502 fn GetCaretRange(
1503 isActive: *mut BOOL,
1504 range: *mut *mut IUIAutomationTextRange,
1505 ) -> HRESULT,
1506}}
1507RIDL!{#[uuid(0x17E21576, 0x996C, 0x4870, 0x99, 0xD9, 0xBF, 0xF3, 0x23, 0x38, 0x0C, 0x06)]
1508interface IUIAutomationTextEditPattern(IUIAutomationTextEditPatternVtbl):
1509 IUIAutomationTextPattern(IUIAutomationTextPatternVtbl) {
1510 fn GetActiveComposition(
1511 range: *mut *mut IUIAutomationTextRange,
1512 ) -> HRESULT,
1513 fn GetConversionTarget(
1514 range: *mut *mut IUIAutomationTextRange,
1515 ) -> HRESULT,
1516}}
1517RIDL!{#[uuid(0x01EA217A, 0x1766, 0x47ED, 0xA6, 0xCC, 0xAC, 0xF4, 0x92, 0x85, 0x4B, 0x1F)]
1518interface IUIAutomationCustomNavigationPattern(IUIAutomationCustomNavigationPatternVtbl):
1519 IUnknown(IUnknownVtbl) {
1520 fn Navigate(
1521 direction: NavigateDirection,
1522 pRetVal: *mut *mut IUIAutomationElement,
1523 ) -> HRESULT,
1524}}
1525RIDL!{#[uuid(0xF97933B0, 0x8DAE, 0x4496, 0x89, 0x97, 0x5B, 0xA0, 0x15, 0xFE, 0x0D, 0x82)]
1526interface IUIAutomationActiveTextPositionChangedEventHandler
1527 (IUIAutomationActiveTextPositionChangedEventHandlerVtbl): IUnknown(IUnknownVtbl) {
1528 fn HandleActiveTextPositionChangedEvent(
1529 sender: *mut IUIAutomationElement,
1530 range: *mut IUIAutomationTextRange,
1531 ) -> HRESULT,
1532}}
1533RIDL!{#[uuid(0x828055ad, 0x355b, 0x4435, 0x86, 0xd5, 0x3b, 0x51, 0xc1, 0x4a, 0x9b, 0x1b)]
1534interface IUIAutomationLegacyIAccessiblePattern(IUIAutomationLegacyIAccessiblePatternVtbl):
1535 IUnknown(IUnknownVtbl) {
1536 fn Select(
1537 flagsSelect: c_long,
1538 ) -> HRESULT,
1539 fn DoDefaultAction() -> HRESULT,
1540 fn SetValue(
1541 szValue: LPCWSTR,
1542 ) -> HRESULT,
1543 fn get_CurrentChildId(
1544 pRetVal: *mut c_int,
1545 ) -> HRESULT,
1546 fn get_CurrentName(
1547 pszName: *mut BSTR,
1548 ) -> HRESULT,
1549 fn get_CurrentValue(
1550 pszValue: *mut BSTR,
1551 ) -> HRESULT,
1552 fn get_CurrentDescription(
1553 pszDescription: *mut BSTR,
1554 ) -> HRESULT,
1555 fn get_CurrentRole(
1556 pdwRole: *mut DWORD,
1557 ) -> HRESULT,
1558 fn get_CurrentState(
1559 pdwState: *mut DWORD,
1560 ) -> HRESULT,
1561 fn get_CurrentHelp(
1562 pszHelp: *mut BSTR,
1563 ) -> HRESULT,
1564 fn get_CurrentKeyboardShortcut(
1565 pszKeyboardShortcut: *mut BSTR,
1566 ) -> HRESULT,
1567 fn GetCurrentSelection(
1568 pvarSelectedChildren: *mut *mut IUIAutomationElementArray,
1569 ) -> HRESULT,
1570 fn get_CurrentDefaultAction(
1571 pszDefaultAction: *mut BSTR,
1572 ) -> HRESULT,
1573 fn get_CachedChildId(
1574 pRetVal: *mut c_int,
1575 ) -> HRESULT,
1576 fn get_CachedName(
1577 pszName: *mut BSTR,
1578 ) -> HRESULT,
1579 fn get_CachedValue(
1580 pszValue: *mut BSTR,
1581 ) -> HRESULT,
1582 fn get_CachedDescription(
1583 pszDescription: *mut BSTR,
1584 ) -> HRESULT,
1585 fn get_CachedRole(
1586 pdwRole: *mut DWORD,
1587 ) -> HRESULT,
1588 fn get_CachedState(
1589 pdwState: *mut DWORD,
1590 ) -> HRESULT,
1591 fn get_CachedHelp(
1592 pszHelp: *mut BSTR,
1593 ) -> HRESULT,
1594 fn get_CachedKeyboardShortcut(
1595 pszKeyboardShortcut: *mut BSTR,
1596 ) -> HRESULT,
1597 fn GetCachedSelection(
1598 pvarSelectedChildren: *mut *mut IUIAutomationElementArray,
1599 ) -> HRESULT,
1600 fn get_CachedDefaultAction(
1601 pszDefaultAction: *mut BSTR,
1602 ) -> HRESULT,
1603 fn GetIAccessible(
1604 ppAccessible: *mut *mut IAccessible,
1605 ) -> HRESULT,
1606}}
1607RIDL!{#[uuid(0xc690fdb2, 0x27a8, 0x423c, 0x81, 0x2d, 0x42, 0x97, 0x73, 0xc9, 0x08, 0x4e)]
1608interface IUIAutomationItemContainerPattern(IUIAutomationItemContainerPatternVtbl):
1609 IUnknown(IUnknownVtbl) {
1610 fn FindItemByProperty(
1611 pStartAfter: *mut IUIAutomationElement,
1612 propertyId: PROPERTYID,
1613 value: VARIANT,
1614 pFound: *mut *mut IUIAutomationElement,
1615 ) -> HRESULT,
1616}}
1617RIDL!{#[uuid(0x6ba3d7a6, 0x04cf, 0x4f11, 0x87, 0x93, 0xa8, 0xd1, 0xcd, 0xe9, 0x96, 0x9f)]
1618interface IUIAutomationVirtualizedItemPattern(IUIAutomationVirtualizedItemPatternVtbl):
1619 IUnknown(IUnknownVtbl) {
1620 fn Realize() -> HRESULT,
1621}}
1622RIDL!{#[uuid(0x9a175b21, 0x339e, 0x41b1, 0x8e, 0x8b, 0x62, 0x3f, 0x6b, 0x68, 0x10, 0x98)]
1623interface IUIAutomationAnnotationPattern(IUIAutomationAnnotationPatternVtbl):
1624 IUnknown(IUnknownVtbl) {
1625 fn get_CurrentAnnotationTypeId(
1626 retVal: *mut c_int,
1627 ) -> HRESULT,
1628 fn get_CurrentAnnotationTypeName(
1629 retVal: *mut BSTR,
1630 ) -> HRESULT,
1631 fn get_CurrentAuthor(
1632 retVal: *mut BSTR,
1633 ) -> HRESULT,
1634 fn get_CurrentDateTime(
1635 retVal: *mut BSTR,
1636 ) -> HRESULT,
1637 fn get_CurrentTarget(
1638 retVal: *mut *mut IUIAutomationElement,
1639 ) -> HRESULT,
1640 fn get_CachedAnnotationTypeId(
1641 retVal: *mut c_int,
1642 ) -> HRESULT,
1643 fn get_CachedAnnotationTypeName(
1644 retVal: *mut BSTR,
1645 ) -> HRESULT,
1646 fn get_CachedAuthor(
1647 retVal: *mut BSTR,
1648 ) -> HRESULT,
1649 fn get_CachedDateTime(
1650 retVal: *mut BSTR,
1651 ) -> HRESULT,
1652 fn get_CachedTarget(
1653 retVal: *mut *mut IUIAutomationElement,
1654 ) -> HRESULT,
1655}}
1656RIDL!{#[uuid(0x85b5f0a2, 0xbd79, 0x484a, 0xad, 0x2b, 0x38, 0x8c, 0x98, 0x38, 0xd5, 0xfb)]
1657interface IUIAutomationStylesPattern(IUIAutomationStylesPatternVtbl): IUnknown(IUnknownVtbl) {
1658 fn get_CurrentStyleId(
1659 retVal: *mut c_int,
1660 ) -> HRESULT,
1661 fn get_CurrentStyleName(
1662 retVal: *mut BSTR,
1663 ) -> HRESULT,
1664 fn get_CurrentFillColor(
1665 retVal: *mut c_int,
1666 ) -> HRESULT,
1667 fn get_CurrentFillPatternStyle(
1668 retVal: *mut BSTR,
1669 ) -> HRESULT,
1670 fn get_CurrentShape(
1671 retVal: *mut BSTR,
1672 ) -> HRESULT,
1673 fn get_CurrentFillPatternColor(
1674 retVal: *mut c_int,
1675 ) -> HRESULT,
1676 fn get_CurrentExtendedProperties(
1677 retVal: *mut BSTR,
1678 ) -> HRESULT,
1679 fn GetCurrentExtendedPropertiesAsArray(
1680 propertyArray: *mut *mut ExtendedProperty,
1681 propertyCount: *mut c_int,
1682 ) -> HRESULT,
1683 fn get_CachedStyleId(
1684 retVal: *mut c_int,
1685 ) -> HRESULT,
1686 fn get_CachedStyleName(
1687 retVal: *mut BSTR,
1688 ) -> HRESULT,
1689 fn get_CachedFillColor(
1690 retVal: *mut c_int,
1691 ) -> HRESULT,
1692 fn get_CachedFillPatternStyle(
1693 retVal: *mut BSTR,
1694 ) -> HRESULT,
1695 fn get_CachedShape(
1696 retVal: *mut BSTR,
1697 ) -> HRESULT,
1698 fn get_CachedFillPatternColor(
1699 retVal: *mut c_int,
1700 ) -> HRESULT,
1701 fn get_CachedExtendedProperties(
1702 retVal: *mut BSTR,
1703 ) -> HRESULT,
1704 fn GetCachedExtendedPropertiesAsArray(
1705 propertyArray: *mut *mut ExtendedProperty,
1706 propertyCount: *mut c_int,
1707 ) -> HRESULT,
1708}}
1709RIDL!{#[uuid(0x7517a7c8, 0xfaae, 0x4de9, 0x9f, 0x08, 0x29, 0xb9, 0x1e, 0x85, 0x95, 0xc1)]
1710interface IUIAutomationSpreadsheetPattern(IUIAutomationSpreadsheetPatternVtbl):
1711 IUnknown(IUnknownVtbl) {
1712 fn GetItemByName(
1713 name: BSTR,
1714 element: *mut *mut IUIAutomationElement,
1715 ) -> HRESULT,
1716}}
1717RIDL!{#[uuid(0x7d4fb86c, 0x8d34, 0x40e1, 0x8e, 0x83, 0x62, 0xc1, 0x52, 0x04, 0xe3, 0x35)]
1718interface IUIAutomationSpreadsheetItemPattern(IUIAutomationSpreadsheetItemPatternVtbl):
1719 IUnknown(IUnknownVtbl) {
1720 fn get_CurrentFormula(
1721 retVal: *mut BSTR,
1722 ) -> HRESULT,
1723 fn GetCurrentAnnotationObjects(
1724 retVal: *mut *mut IUIAutomationElementArray,
1725 ) -> HRESULT,
1726 fn GetCurrentAnnotationTypes(
1727 retVal: *mut *mut SAFEARRAY,
1728 ) -> HRESULT,
1729 fn get_CachedFormula(
1730 retVal: *mut BSTR,
1731 ) -> HRESULT,
1732 fn GetCachedAnnotationObjects(
1733 retVal: *mut *mut IUIAutomationElementArray,
1734 ) -> HRESULT,
1735 fn GetCachedAnnotationTypes(
1736 retVal: *mut *mut SAFEARRAY,
1737 ) -> HRESULT,
1738}}
1739RIDL!{#[uuid(0x6d74d017, 0x6ecb, 0x4381, 0xb3, 0x8b, 0x3c, 0x17, 0xa4, 0x8f, 0xf1, 0xc2)]
1740interface IUIAutomationTransformPattern2(IUIAutomationTransformPattern2Vtbl):
1741 IUIAutomationTransformPattern(IUIAutomationTransformPatternVtbl) {
1742 fn Zoom(
1743 zoomValue: c_double,
1744 ) -> HRESULT,
1745 fn ZoomByUnit(
1746 zoomUnit: ZoomUnit,
1747 ) -> HRESULT,
1748 fn get_CurrentCanZoom(
1749 retVal: *mut BOOL,
1750 ) -> HRESULT,
1751 fn get_CachedCanZoom(
1752 retVal: *mut BOOL,
1753 ) -> HRESULT,
1754 fn get_CurrentZoomLevel(
1755 retVal: *mut c_double,
1756 ) -> HRESULT,
1757 fn get_CachedZoomLevel(
1758 retVal: *mut c_double,
1759 ) -> HRESULT,
1760 fn get_CurrentZoomMinimum(
1761 retVal: *mut c_double,
1762 ) -> HRESULT,
1763 fn get_CachedZoomMinimum(
1764 retVal: *mut c_double,
1765 ) -> HRESULT,
1766 fn get_CurrentZoomMaximum(
1767 retVal: *mut c_double,
1768 ) -> HRESULT,
1769 fn get_CachedZoomMaximum(
1770 retVal: *mut c_double,
1771 ) -> HRESULT,
1772}}
1773RIDL!{#[uuid(0x6552b038, 0xae05, 0x40c8, 0xab, 0xfd, 0xaa, 0x08, 0x35, 0x2a, 0xab, 0x86)]
1774interface IUIAutomationTextChildPattern(IUIAutomationTextChildPatternVtbl):
1775 IUnknown(IUnknownVtbl) {
1776 fn get_TextContainer(
1777 container: *mut *mut IUIAutomationElement,
1778 ) -> HRESULT,
1779 fn get_TextRange(
1780 range: *mut *mut IUIAutomationTextRange,
1781 ) -> HRESULT,
1782}}
1783RIDL!{#[uuid(0x1dc7b570, 0x1f54, 0x4bad, 0xbc, 0xda, 0xd3, 0x6a, 0x72, 0x2f, 0xb7, 0xbd)]
1784interface IUIAutomationDragPattern(IUIAutomationDragPatternVtbl): IUnknown(IUnknownVtbl) {
1785 fn get_CurrentIsGrabbed(
1786 retVal: *mut BOOL,
1787 ) -> HRESULT,
1788 fn get_CachedIsGrabbed(
1789 retVal: *mut BOOL,
1790 ) -> HRESULT,
1791 fn get_CurrentDropEffect(
1792 retVal: *mut BSTR,
1793 ) -> HRESULT,
1794 fn get_CachedDropEffect(
1795 retVal: *mut BSTR,
1796 ) -> HRESULT,
1797 fn get_CurrentDropEffects(
1798 retVal: *mut *mut SAFEARRAY,
1799 ) -> HRESULT,
1800 fn get_CachedDropEffects(
1801 retVal: *mut *mut SAFEARRAY,
1802 ) -> HRESULT,
1803 fn GetCurrentGrabbedItems(
1804 retVal: *mut *mut IUIAutomationElementArray,
1805 ) -> HRESULT,
1806 fn GetCachedGrabbedItems(
1807 retVal: *mut *mut IUIAutomationElementArray,
1808 ) -> HRESULT,
1809}}
1810RIDL!{#[uuid(0x69a095f7, 0xeee4, 0x430e, 0xa4, 0x6b, 0xfb, 0x73, 0xb1, 0xae, 0x39, 0xa5)]
1811interface IUIAutomationDropTargetPattern(IUIAutomationDropTargetPatternVtbl):
1812 IUnknown(IUnknownVtbl) {
1813 fn get_CurrentDropTargetEffect(
1814 retVal: *mut BSTR,
1815 ) -> HRESULT,
1816 fn get_CachedDropTargetEffect(
1817 retVal: *mut BSTR,
1818 ) -> HRESULT,
1819 fn get_CurrentDropTargetEffects(
1820 retVal: *mut *mut SAFEARRAY,
1821 ) -> HRESULT,
1822 fn get_CachedDropTargetEffects(
1823 retVal: *mut *mut SAFEARRAY,
1824 ) -> HRESULT,
1825}}
1826RIDL!{#[uuid(0x6749c683, 0xf70d, 0x4487, 0xa6, 0x98, 0x5f, 0x79, 0xd5, 0x52, 0x90, 0xd6)]
1827interface IUIAutomationElement2(IUIAutomationElement2Vtbl):
1828 IUIAutomationElement(IUIAutomationElementVtbl) {
1829 fn get_CurrentOptimizeForVisualContent(
1830 retVal: *mut BOOL,
1831 ) -> HRESULT,
1832 fn get_CachedOptimizeForVisualContent(
1833 retVal: *mut BOOL,
1834 ) -> HRESULT,
1835 fn get_CurrentLiveSetting(
1836 retVal: *mut LiveSetting,
1837 ) -> HRESULT,
1838 fn get_CachedLiveSetting(
1839 retVal: *mut LiveSetting,
1840 ) -> HRESULT,
1841 fn get_CurrentFlowsFrom(
1842 retVal: *mut *mut IUIAutomationElementArray,
1843 ) -> HRESULT,
1844 fn get_CachedFlowsFrom(
1845 retVal: *mut *mut IUIAutomationElementArray,
1846 ) -> HRESULT,
1847}}
1848RIDL!{#[uuid(0x8471DF34, 0xAEE0, 0x4A01, 0xA7, 0xDE, 0x7D, 0xB9, 0xAF, 0x12, 0xC2, 0x96)]
1849interface IUIAutomationElement3(IUIAutomationElement3Vtbl):
1850 IUIAutomationElement2(IUIAutomationElement2Vtbl) {
1851 fn ShowContextMenu() -> HRESULT,
1852 fn get_CurrentIsPeripheral(
1853 retVal: *mut BOOL,
1854 ) -> HRESULT,
1855 fn get_CachedIsPeripheral(
1856 retVal: *mut BOOL,
1857 ) -> HRESULT,
1858}}
1859RIDL!{#[uuid(0x3B6E233C, 0x52FB, 0x4063, 0xA4, 0xC9, 0x77, 0xC0, 0x75, 0xC2, 0xA0, 0x6B)]
1860interface IUIAutomationElement4(IUIAutomationElement4Vtbl):
1861 IUIAutomationElement3(IUIAutomationElement3Vtbl) {
1862 fn get_CurrentPositionInSet(
1863 retVal: *mut c_int,
1864 ) -> HRESULT,
1865 fn get_CurrentSizeOfSet(
1866 retVal: *mut c_int,
1867 ) -> HRESULT,
1868 fn get_CurrentLevel(
1869 retVal: *mut c_int,
1870 ) -> HRESULT,
1871 fn get_CurrentAnnotationTypes(
1872 retVal: *mut *mut SAFEARRAY,
1873 ) -> HRESULT,
1874 fn get_CurrentAnnotationObjects(
1875 retVal: *mut *mut IUIAutomationElementArray,
1876 ) -> HRESULT,
1877 fn get_CachedPositionInSet(
1878 retVal: *mut c_int,
1879 ) -> HRESULT,
1880 fn get_CachedSizeOfSet(
1881 retVal: *mut c_int,
1882 ) -> HRESULT,
1883 fn get_CachedLevel(
1884 retVal: *mut c_int,
1885 ) -> HRESULT,
1886 fn get_CachedAnnotationTypes(
1887 retVal: *mut *mut SAFEARRAY,
1888 ) -> HRESULT,
1889 fn get_CachedAnnotationObjects(
1890 retVal: *mut *mut IUIAutomationElementArray,
1891 ) -> HRESULT,
1892}}
1893RIDL!{#[uuid(0x98141C1D, 0x0D0E, 0x4175, 0xBB, 0xE2, 0x6B, 0xFF, 0x45, 0x58, 0x42, 0xA7)]
1894interface IUIAutomationElement5(IUIAutomationElement5Vtbl):
1895 IUIAutomationElement4(IUIAutomationElement4Vtbl) {
1896 fn get_CurrentLandmarkType(
1897 retVal: *mut LANDMARKTYPEID,
1898 ) -> HRESULT,
1899 fn get_CurrentLocalizedLandmarkType(
1900 retVal: *mut BSTR,
1901 ) -> HRESULT,
1902 fn get_CachedLandmarkType(
1903 retVal: *mut LANDMARKTYPEID,
1904 ) -> HRESULT,
1905 fn get_CachedLocalizedLandmarkType(
1906 retVal: *mut BSTR,
1907 ) -> HRESULT,
1908}}
1909RIDL!{#[uuid(0x4780d450, 0x8bca, 0x4977, 0xaf, 0xa5, 0xa4, 0xa5, 0x17, 0xf5, 0x55, 0xe3)]
1910interface IUIAutomationElement6(IUIAutomationElement6Vtbl):
1911 IUIAutomationElement5(IUIAutomationElement5Vtbl) {
1912 fn get_CurrentFullDescription(
1913 retVal: *mut BSTR,
1914 ) -> HRESULT,
1915 fn get_CachedFullDescription(
1916 retVal: *mut BSTR,
1917 ) -> HRESULT,
1918}}
1919RIDL!{#[uuid(0x204e8572, 0xcfc3, 0x4c11, 0xb0, 0xc8, 0x7d, 0xa7, 0x42, 0x07, 0x50, 0xb7)]
1920interface IUIAutomationElement7(IUIAutomationElement7Vtbl):
1921 IUIAutomationElement6(IUIAutomationElement6Vtbl) {
1922 fn FindFirstWithOptions(
1923 scope: TreeScope,
1924 condition: *mut IUIAutomationCondition,
1925 traversalOptions: TreeTraversalOptions,
1926 root: *mut IUIAutomationElement,
1927 found: *mut *mut IUIAutomationElement,
1928 ) -> HRESULT,
1929 fn FindAllWithOptions(
1930 scope: TreeScope,
1931 condition: *mut IUIAutomationCondition,
1932 traversalOptions: TreeTraversalOptions,
1933 root: *mut IUIAutomationElement,
1934 found: *mut *mut IUIAutomationElementArray,
1935 ) -> HRESULT,
1936 fn FindFirstWithOptionsBuildCache(
1937 scope: TreeScope,
1938 condition: *mut IUIAutomationCondition,
1939 cacheRequest: *mut IUIAutomationCacheRequest,
1940 traversalOptions: TreeTraversalOptions,
1941 root: *mut IUIAutomationElement,
1942 found: *mut *mut IUIAutomationElement,
1943 ) -> HRESULT,
1944 fn FindAllWithOptionsBuildCache(
1945 scope: TreeScope,
1946 condition: *mut IUIAutomationCondition,
1947 cacheRequest: *mut IUIAutomationCacheRequest,
1948 traversalOptions: TreeTraversalOptions,
1949 root: *mut IUIAutomationElement,
1950 found: *mut *mut IUIAutomationElementArray,
1951 ) -> HRESULT,
1952 fn GetCurrentMetadataValue(
1953 targetId: c_int,
1954 metadataId: METADATAID,
1955 returnVal: *mut VARIANT,
1956 ) -> HRESULT,
1957}}
1958RIDL!{#[uuid(0x8C60217D, 0x5411, 0x4CDE, 0xBC, 0xC0, 0x1C, 0xED, 0xA2, 0x23, 0x83, 0x0C)]
1959interface IUIAutomationElement8(IUIAutomationElement8Vtbl):
1960 IUIAutomationElement7(IUIAutomationElement7Vtbl) {
1961 fn get_CurrentHeadingLevel(
1962 retVal: *mut HEADINGLEVELID,
1963 ) -> HRESULT,
1964 fn get_CachedHeadingLevel(
1965 retVal: *mut HEADINGLEVELID,
1966 ) -> HRESULT,
1967}}
1968RIDL!{#[uuid(0x39325fac, 0x039d, 0x440e, 0xa3, 0xa3, 0x5e, 0xb8, 0x1a, 0x5c, 0xec, 0xc3)]
1969interface IUIAutomationElement9(IUIAutomationElement9Vtbl):
1970 IUIAutomationElement8(IUIAutomationElement8Vtbl) {
1971 fn get_CurrentIsDialog(
1972 retVal: *mut BOOL,
1973 ) -> HRESULT,
1974 fn get_CachedIsDialog(
1975 retVal: *mut BOOL,
1976 ) -> HRESULT,
1977}}
1978RIDL!{#[uuid(0x85b94ecd, 0x849d, 0x42b6, 0xb9, 0x4d, 0xd6, 0xdb, 0x23, 0xfd, 0xf5, 0xa4)]
1979interface IUIAutomationProxyFactory(IUIAutomationProxyFactoryVtbl): IUnknown(IUnknownVtbl) {
1980 fn CreateProvider(
1981 hwnd: UIA_HWND,
1982 idObject: LONG,
1983 idChild: LONG,
1984 provider: *mut *mut IRawElementProviderSimple,
1985 ) -> HRESULT,
1986 fn get_ProxyFactoryId(
1987 factoryId: *mut BSTR,
1988 ) -> HRESULT,
1989}}
1990RIDL!{#[uuid(0xd50e472e, 0xb64b, 0x490c, 0xbc, 0xa1, 0xd3, 0x06, 0x96, 0xf9, 0xf2, 0x89)]
1991interface IUIAutomationProxyFactoryEntry(IUIAutomationProxyFactoryEntryVtbl):
1992 IUnknown(IUnknownVtbl) {
1993 fn get_ProxyFactory(
1994 factory: *mut *mut IUIAutomationProxyFactory,
1995 ) -> HRESULT,
1996 fn get_ClassName(
1997 className: *mut BSTR,
1998 ) -> HRESULT,
1999 fn get_ImageName(
2000 imageName: *mut BSTR,
2001 ) -> HRESULT,
2002 fn get_AllowSubstringMatch(
2003 allowSubstringMatch: *mut BOOL,
2004 ) -> HRESULT,
2005 fn get_CanCheckBaseClass(
2006 canCheckBaseClass: *mut BOOL,
2007 ) -> HRESULT,
2008 fn get_NeedsAdviseEvents(
2009 adviseEvents: *mut BOOL,
2010 ) -> HRESULT,
2011 fn put_ClassName(
2012 className: LPCWSTR,
2013 ) -> HRESULT,
2014 fn put_ImageName(
2015 imageName: LPCWSTR,
2016 ) -> HRESULT,
2017 fn put_AllowSubstringMatch(
2018 allowSubstringMatch: BOOL,
2019 ) -> HRESULT,
2020 fn put_CanCheckBaseClass(
2021 canCheckBaseClass: BOOL,
2022 ) -> HRESULT,
2023 fn put_NeedsAdviseEvents(
2024 adviseEvents: BOOL,
2025 ) -> HRESULT,
2026 fn SetWinEventsForAutomationEvent(
2027 eventId: EVENTID,
2028 propertyId: PROPERTYID,
2029 winEvents: *mut SAFEARRAY,
2030 ) -> HRESULT,
2031 fn GetWinEventsForAutomationEvent(
2032 eventId: EVENTID,
2033 propertyId: PROPERTYID,
2034 winEvents: *mut *mut SAFEARRAY,
2035 ) -> HRESULT,
2036}}
2037RIDL!{#[uuid(0x09e31e18, 0x872d, 0x4873, 0x93, 0xd1, 0x1e, 0x54, 0x1e, 0xc1, 0x33, 0xfd)]
2038interface IUIAutomationProxyFactoryMapping(IUIAutomationProxyFactoryMappingVtbl):
2039 IUnknown(IUnknownVtbl) {
2040 fn get_Count(
2041 count: *mut UINT,
2042 ) -> HRESULT,
2043 fn GetTable(
2044 table: *mut *mut SAFEARRAY,
2045 ) -> HRESULT,
2046 fn GetEntry(
2047 index: UINT,
2048 entry: *mut *mut IUIAutomationProxyFactoryEntry,
2049 ) -> HRESULT,
2050 fn SetTable(
2051 factoryList: *mut SAFEARRAY,
2052 ) -> HRESULT,
2053 fn InsertEntries(
2054 before: UINT,
2055 factoryList: *mut SAFEARRAY,
2056 ) -> HRESULT,
2057 fn InsertEntry(
2058 before: UINT,
2059 factory: *mut IUIAutomationProxyFactoryEntry,
2060 ) -> HRESULT,
2061 fn RemoveEntry(
2062 index: UINT,
2063 ) -> HRESULT,
2064 fn ClearTable() -> HRESULT,
2065 fn RestoreDefaultTable() -> HRESULT,
2066}}
2067RIDL!{#[uuid(0xC9EE12F2, 0xC13B, 0x4408, 0x99, 0x7C, 0x63, 0x99, 0x14, 0x37, 0x7F, 0x4E)]
2068interface IUIAutomationEventHandlerGroup(IUIAutomationEventHandlerGroupVtbl):
2069 IUnknown(IUnknownVtbl) {
2070 fn AddActiveTextPositionChangedEventHandler(
2071 scope: TreeScope,
2072 cacheRequest: *mut IUIAutomationCacheRequest,
2073 handler: *mut IUIAutomationActiveTextPositionChangedEventHandler,
2074 ) -> HRESULT,
2075 fn AddAutomationEventHandler(
2076 eventId: EVENTID,
2077 scope: TreeScope,
2078 cacheRequest: *mut IUIAutomationCacheRequest,
2079 handler: *mut IUIAutomationEventHandler,
2080 ) -> HRESULT,
2081 fn AddChangesEventHandler(
2082 scope: TreeScope,
2083 changeTypes: *mut c_int,
2084 changesCount: c_int,
2085 cacheRequest: *mut IUIAutomationCacheRequest,
2086 handler: *mut IUIAutomationChangesEventHandler,
2087 ) -> HRESULT,
2088 fn AddNotificationEventHandler(
2089 scope: TreeScope,
2090 cacheRequest: *mut IUIAutomationCacheRequest,
2091 handler: *mut IUIAutomationNotificationEventHandler,
2092 ) -> HRESULT,
2093 fn AddPropertyChangedEventHandler(
2094 scope: TreeScope,
2095 cacheRequest: *mut IUIAutomationCacheRequest,
2096 handler: *mut IUIAutomationPropertyChangedEventHandler,
2097 propertyArray: *mut PROPERTYID,
2098 propertyCount: c_int,
2099 ) -> HRESULT,
2100 fn AddStructureChangedEventHandler(
2101 scope: TreeScope,
2102 cacheRequest: *mut IUIAutomationCacheRequest,
2103 handler: *mut IUIAutomationStructureChangedEventHandler,
2104 ) -> HRESULT,
2105 fn AddTextEditTextChangedEventHandler(
2106 scope: TreeScope,
2107 textEditChangeType: TextEditChangeType,
2108 cacheRequest: *mut IUIAutomationCacheRequest,
2109 handler: *mut IUIAutomationTextEditTextChangedEventHandler,
2110 ) -> HRESULT,
2111}}
2112RIDL!{#[uuid(0x30cbe57d, 0xd9d0, 0x452a, 0xab, 0x13, 0x7a, 0xc5, 0xac, 0x48, 0x25, 0xee)]
2113interface IUIAutomation(IUIAutomationVtbl): IUnknown(IUnknownVtbl) {
2114 fn CompareElements(
2115 el1: *mut IUIAutomationElement,
2116 el2: *mut IUIAutomationElement,
2117 areSame: *mut BOOL,
2118 ) -> HRESULT,
2119 fn CompareRuntimeIds(
2120 runtimeId1: *mut SAFEARRAY,
2121 runtimeId2: *mut SAFEARRAY,
2122 areSame: *mut BOOL,
2123 ) -> HRESULT,
2124 fn GetRootElement(
2125 root: *mut *mut IUIAutomationElement,
2126 ) -> HRESULT,
2127 fn ElementFromHandle(
2128 hwnd: UIA_HWND,
2129 element: *mut *mut IUIAutomationElement,
2130 ) -> HRESULT,
2131 fn ElementFromPoint(
2132 pt: POINT,
2133 element: *mut *mut IUIAutomationElement,
2134 ) -> HRESULT,
2135 fn GetFocusedElement(
2136 element: *mut *mut IUIAutomationElement,
2137 ) -> HRESULT,
2138 fn GetRootElementBuildCache(
2139 cacheRequest: *mut IUIAutomationCacheRequest,
2140 root: *mut *mut IUIAutomationElement,
2141 ) -> HRESULT,
2142 fn ElementFromHandleBuildCache(
2143 hwnd: UIA_HWND,
2144 cacheRequest: *mut IUIAutomationCacheRequest,
2145 element: *mut *mut IUIAutomationElement,
2146 ) -> HRESULT,
2147 fn ElementFromPointBuildCache(
2148 pt: POINT,
2149 cacheRequest: *mut IUIAutomationCacheRequest,
2150 element: *mut *mut IUIAutomationElement,
2151 ) -> HRESULT,
2152 fn GetFocusedElementBuildCache(
2153 cacheRequest: *mut IUIAutomationCacheRequest,
2154 element: *mut *mut IUIAutomationElement,
2155 ) -> HRESULT,
2156 fn CreateTreeWalker(
2157 pCondition: *mut IUIAutomationCondition,
2158 walker: *mut *mut IUIAutomationTreeWalker,
2159 ) -> HRESULT,
2160 fn get_ControlViewWalker(
2161 walker: *mut *mut IUIAutomationTreeWalker,
2162 ) -> HRESULT,
2163 fn get_ContentViewWalker(
2164 walker: *mut *mut IUIAutomationTreeWalker,
2165 ) -> HRESULT,
2166 fn get_RawViewWalker(
2167 walker: *mut *mut IUIAutomationTreeWalker,
2168 ) -> HRESULT,
2169 fn get_RawViewCondition(
2170 condition: *mut *mut IUIAutomationCondition,
2171 ) -> HRESULT,
2172 fn get_ControlViewCondition(
2173 condition: *mut *mut IUIAutomationCondition,
2174 ) -> HRESULT,
2175 fn get_ContentViewCondition(
2176 condition: *mut *mut IUIAutomationCondition,
2177 ) -> HRESULT,
2178 fn CreateCacheRequest(
2179 cacheRequest: *mut *mut IUIAutomationCacheRequest,
2180 ) -> HRESULT,
2181 fn CreateTrueCondition(
2182 newCondition: *mut *mut IUIAutomationCondition,
2183 ) -> HRESULT,
2184 fn CreateFalseCondition(
2185 newCondition: *mut *mut IUIAutomationCondition,
2186 ) -> HRESULT,
2187 fn CreatePropertyCondition(
2188 propertyId: PROPERTYID,
2189 value: VARIANT,
2190 newCondition: *mut *mut IUIAutomationCondition,
2191 ) -> HRESULT,
2192 fn CreatePropertyConditionEx(
2193 propertyId: PROPERTYID,
2194 value: VARIANT,
2195 flags: PropertyConditionFlags,
2196 newCondition: *mut *mut IUIAutomationCondition,
2197 ) -> HRESULT,
2198 fn CreateAndCondition(
2199 condition1: *mut IUIAutomationCondition,
2200 condition2: *mut IUIAutomationCondition,
2201 newCondition: *mut *mut IUIAutomationCondition,
2202 ) -> HRESULT,
2203 fn CreateAndConditionFromArray(
2204 conditions: *mut SAFEARRAY,
2205 newCondition: *mut *mut IUIAutomationCondition,
2206 ) -> HRESULT,
2207 fn CreateAndConditionFromNativeArray(
2208 conditions: *mut *mut IUIAutomationCondition,
2209 conditionCount: c_int,
2210 newCondition: *mut *mut IUIAutomationCondition,
2211 ) -> HRESULT,
2212 fn CreateOrCondition(
2213 condition1: *mut IUIAutomationCondition,
2214 condition2: *mut IUIAutomationCondition,
2215 newCondition: *mut *mut IUIAutomationCondition,
2216 ) -> HRESULT,
2217 fn CreateOrConditionFromArray(
2218 conditions: *mut SAFEARRAY,
2219 newCondition: *mut *mut IUIAutomationCondition,
2220 ) -> HRESULT,
2221 fn CreateOrConditionFromNativeArray(
2222 conditions: *mut *mut IUIAutomationCondition,
2223 conditionCount: c_int,
2224 newCondition: *mut *mut IUIAutomationCondition,
2225 ) -> HRESULT,
2226 fn CreateNotCondition(
2227 condition: *mut IUIAutomationCondition,
2228 newCondition: *mut *mut IUIAutomationCondition,
2229 ) -> HRESULT,
2230 fn AddAutomationEventHandler(
2231 eventId: EVENTID,
2232 element: *mut IUIAutomationElement,
2233 scope: TreeScope,
2234 cacheRequest: *mut IUIAutomationCacheRequest,
2235 handler: *mut IUIAutomationEventHandler,
2236 ) -> HRESULT,
2237 fn RemoveAutomationEventHandler(
2238 eventId: EVENTID,
2239 element: *mut IUIAutomationElement,
2240 handler: *mut IUIAutomationEventHandler,
2241 ) -> HRESULT,
2242 fn AddPropertyChangedEventHandlerNativeArray(
2243 element: *mut IUIAutomationElement,
2244 scope: TreeScope,
2245 cacheRequest: *mut IUIAutomationCacheRequest,
2246 handler: *mut IUIAutomationPropertyChangedEventHandler,
2247 propertyArray: *mut PROPERTYID,
2248 propertyCount: c_int,
2249 ) -> HRESULT,
2250 fn AddPropertyChangedEventHandler(
2251 element: *mut IUIAutomationElement,
2252 scope: TreeScope,
2253 cacheRequest: *mut IUIAutomationCacheRequest,
2254 handler: *mut IUIAutomationPropertyChangedEventHandler,
2255 propertyArray: *mut SAFEARRAY,
2256 ) -> HRESULT,
2257 fn RemovePropertyChangedEventHandler(
2258 element: *mut IUIAutomationElement,
2259 handler: *mut IUIAutomationPropertyChangedEventHandler,
2260 ) -> HRESULT,
2261 fn AddStructureChangedEventHandler(
2262 element: *mut IUIAutomationElement,
2263 scope: TreeScope,
2264 cacheRequest: *mut IUIAutomationCacheRequest,
2265 handler: *mut IUIAutomationStructureChangedEventHandler,
2266 ) -> HRESULT,
2267 fn RemoveStructureChangedEventHandler(
2268 element: *mut IUIAutomationElement,
2269 handler: *mut IUIAutomationStructureChangedEventHandler,
2270 ) -> HRESULT,
2271 fn AddFocusChangedEventHandler(
2272 cacheRequest: *mut IUIAutomationCacheRequest,
2273 handler: *mut IUIAutomationFocusChangedEventHandler,
2274 ) -> HRESULT,
2275 fn RemoveFocusChangedEventHandler(
2276 handler: *mut IUIAutomationFocusChangedEventHandler,
2277 ) -> HRESULT,
2278 fn RemoveAllEventHandlers() -> HRESULT,
2279 fn IntNativeArrayToSafeArray(
2280 array: *mut c_int,
2281 arrayCount: c_int,
2282 safeArray: *mut *mut SAFEARRAY,
2283 ) -> HRESULT,
2284 fn IntSafeArrayToNativeArray(
2285 intArray: *mut SAFEARRAY,
2286 array: *mut *mut c_int,
2287 arrayCount: *mut c_int,
2288 ) -> HRESULT,
2289 fn RectToVariant(
2290 rc: RECT,
2291 var: *mut VARIANT,
2292 ) -> HRESULT,
2293 fn VariantToRect(
2294 var: VARIANT,
2295 rc: *mut RECT,
2296 ) -> HRESULT,
2297 fn SafeArrayToRectNativeArray(
2298 rects: *mut SAFEARRAY,
2299 rectArray: *mut *mut RECT,
2300 rectArrayCount: *mut c_int,
2301 ) -> HRESULT,
2302 fn CreateProxyFactoryEntry(
2303 factory: *mut IUIAutomationProxyFactory,
2304 factoryEntry: *mut *mut IUIAutomationProxyFactoryEntry,
2305 ) -> HRESULT,
2306 fn get_ProxyFactoryMapping(
2307 factoryMapping: *mut *mut IUIAutomationProxyFactoryMapping,
2308 ) -> HRESULT,
2309 fn GetPropertyProgrammaticName(
2310 property: PROPERTYID,
2311 name: *mut BSTR,
2312 ) -> HRESULT,
2313 fn GetPatternProgrammaticName(
2314 pattern: PATTERNID,
2315 name: *mut BSTR,
2316 ) -> HRESULT,
2317 fn PollForPotentialSupportedPatterns(
2318 pElement: *mut IUIAutomationElement,
2319 patternIds: *mut *mut SAFEARRAY,
2320 patternNames: *mut *mut SAFEARRAY,
2321 ) -> HRESULT,
2322 fn PollForPotentialSupportedProperties(
2323 pElement: *mut IUIAutomationElement,
2324 propertyIds: *mut *mut SAFEARRAY,
2325 propertyNames: *mut *mut SAFEARRAY,
2326 ) -> HRESULT,
2327 fn CheckNotSupported(
2328 value: VARIANT,
2329 isNotSupported: *mut BOOL,
2330 ) -> HRESULT,
2331 fn get_ReservedNotSupportedValue(
2332 notSupportedValue: *mut *mut IUnknown,
2333 ) -> HRESULT,
2334 fn get_ReservedMixedAttributeValue(
2335 mixedAttributeValue: *mut *mut IUnknown,
2336 ) -> HRESULT,
2337 fn ElementFromIAccessible(
2338 accessible: *mut IAccessible,
2339 childId: c_int,
2340 element: *mut *mut IUIAutomationElement,
2341 ) -> HRESULT,
2342 fn ElementFromIAccessibleBuildCache(
2343 accessible: *mut IAccessible,
2344 childId: c_int,
2345 cacheRequest: *mut IUIAutomationCacheRequest,
2346 element: *mut *mut IUIAutomationElement,
2347 ) -> HRESULT,
2348}}
2349RIDL!{#[uuid(0x34723aff, 0x0c9d, 0x49d0, 0x98, 0x96, 0x7a, 0xb5, 0x2d, 0xf8, 0xcd, 0x8a)]
2350interface IUIAutomation2(IUIAutomation2Vtbl): IUIAutomation(IUIAutomationVtbl) {
2351 fn get_AutoSetFocus(
2352 autoSetFocus: *mut BOOL,
2353 ) -> HRESULT,
2354 fn put_AutoSetFocus(
2355 autoSetFocus: BOOL,
2356 ) -> HRESULT,
2357 fn get_ConnectionTimeout(
2358 timeout: *mut DWORD,
2359 ) -> HRESULT,
2360 fn put_ConnectionTimeout(
2361 timeout: DWORD,
2362 ) -> HRESULT,
2363 fn get_TransactionTimeout(
2364 timeout: *mut DWORD,
2365 ) -> HRESULT,
2366 fn put_TransactionTimeout(
2367 timeout: DWORD,
2368 ) -> HRESULT,
2369}}
2370RIDL!{#[uuid(0x73D768DA, 0x9B51, 0x4B89, 0x93, 0x6E, 0xC2, 0x09, 0x29, 0x09, 0x73, 0xE7)]
2371interface IUIAutomation3(IUIAutomation3Vtbl): IUIAutomation2(IUIAutomation2Vtbl) {
2372 fn AddTextEditTextChangedEventHandler(
2373 element: *mut IUIAutomationElement,
2374 scope: TreeScope,
2375 textEditChangeType: TextEditChangeType,
2376 cacheRequest: *mut IUIAutomationCacheRequest,
2377 handler: *mut IUIAutomationTextEditTextChangedEventHandler,
2378 ) -> HRESULT,
2379 fn RemoveTextEditTextChangedEventHandler(
2380 element: *mut IUIAutomationElement,
2381 handler: *mut IUIAutomationTextEditTextChangedEventHandler,
2382 ) -> HRESULT,
2383}}
2384RIDL!{#[uuid(0x1189C02A, 0x05F8, 0x4319, 0x8E, 0x21, 0xE8, 0x17, 0xE3, 0xDB, 0x28, 0x60)]
2385interface IUIAutomation4(IUIAutomation4Vtbl): IUIAutomation3(IUIAutomation3Vtbl) {
2386 fn AddChangesEventHandler(
2387 element: *mut IUIAutomationElement,
2388 scope: TreeScope,
2389 changeTypes: *mut c_int,
2390 changesCount: c_int,
2391 pCacheRequest: *mut IUIAutomationCacheRequest,
2392 handler: *mut IUIAutomationChangesEventHandler,
2393 ) -> HRESULT,
2394 fn RemoveChangesEventHandler(
2395 element: *mut IUIAutomationElement,
2396 handler: *mut IUIAutomationChangesEventHandler,
2397 ) -> HRESULT,
2398}}
2399RIDL!{#[uuid(0x25F700C8, 0xD816, 0x4057, 0xA9, 0xDC, 0x3C, 0xBD, 0xEE, 0x77, 0xE2, 0x56)]
2400interface IUIAutomation5(IUIAutomation5Vtbl): IUIAutomation4(IUIAutomation4Vtbl) {
2401 fn AddNotificationEventHandler(
2402 element: *mut IUIAutomationElement,
2403 scope: TreeScope,
2404 cacheRequest: *mut IUIAutomationCacheRequest,
2405 handler: *mut IUIAutomationNotificationEventHandler,
2406 ) -> HRESULT,
2407 fn RemoveNotificationEventHandler(
2408 element: *mut IUIAutomationElement,
2409 handler: *mut IUIAutomationNotificationEventHandler,
2410 ) -> HRESULT,
2411}}
2412RIDL!{#[uuid(0xAAE072DA, 0x29E3, 0x413D, 0x87, 0xA7, 0x19, 0x2D, 0xBF, 0x81, 0xED, 0x10)]
2413interface IUIAutomation6(IUIAutomation6Vtbl): IUIAutomation5(IUIAutomation5Vtbl) {
2414 fn CreateEventHandlerGroup(
2415 handlerGroup: *mut *mut IUIAutomationEventHandlerGroup,
2416 ) -> HRESULT,
2417 fn AddEventHandlerGroup(
2418 element: *mut IUIAutomationElement,
2419 handlerGroup: *mut IUIAutomationEventHandlerGroup,
2420 ) -> HRESULT,
2421 fn RemoveEventHandlerGroup(
2422 element: *mut IUIAutomationElement,
2423 handlerGroup: *mut IUIAutomationEventHandlerGroup,
2424 ) -> HRESULT,
2425 fn get_ConnectionRecoveryBehavior(
2426 connectionRecoveryBehaviorOptions: *mut ConnectionRecoveryBehaviorOptions,
2427 ) -> HRESULT,
2428 fn put_ConnectionRecoveryBehavior(
2429 connectionRecoveryBehaviorOptions: ConnectionRecoveryBehaviorOptions,
2430 ) -> HRESULT,
2431 fn get_CoalesceEvents(
2432 coalesceEventsOptions: *mut CoalesceEventsOptions,
2433 ) -> HRESULT,
2434 fn put_CoalesceEvents(
2435 coalesceEventsOptions: CoalesceEventsOptions,
2436 ) -> HRESULT,
2437 fn AddActiveTextPositionChangedEventHandler(
2438 element: *mut IUIAutomationElement,
2439 scope: TreeScope,
2440 cacheRequest: *mut IUIAutomationCacheRequest,
2441 handler: *mut IUIAutomationActiveTextPositionChangedEventHandler,
2442 ) -> HRESULT,
2443 fn RemoveActiveTextPositionChangedEventHandler(
2444 element: *mut IUIAutomationElement,
2445 handler: *mut IUIAutomationActiveTextPositionChangedEventHandler,
2446 ) -> HRESULT,
2447}}