1 #ifndef __UIAUTO_HH_INCLUDED__
2 #define __UIAUTO_HH_INCLUDED__
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #include <oleacc.h>
9
10 EXTERN_C const IID IID_IUIAutomation;
11 EXTERN_C const IID CLSID_CUIAutomation;
12 EXTERN_C const IID IID_IUIAutomationElement;
13 EXTERN_C const IID IID_IUIAutomationTextPattern;
14 EXTERN_C const IID IID_IUIAutomationTextRange;
15 EXTERN_C const IID IID_IUIAutomationTreeWalker;
16
17 typedef interface IUIAutomationElement IUIAutomationElement;
18 typedef interface IUIAutomationElementArray IUIAutomationElementArray;
19 typedef interface IUIAutomationTextPattern IUIAutomationTextPattern;
20 typedef interface IUIAutomationTextRange IUIAutomationTextRange;
21 typedef interface IUIAutomationTextRangeArray IUIAutomationTextRangeArray;
22 typedef interface IUIAutomationCacheRequest IUIAutomationCacheRequest;
23 typedef interface IUIAutomationTreeWalker IUIAutomationTreeWalker;
24 typedef interface IUIAutomationCondition IUIAutomationCondition;
25 typedef interface IUIAutomationEventHandler IUIAutomationEventHandler;
26 typedef interface IUIAutomationPropertyChangedEventHandler IUIAutomationPropertyChangedEventHandler;
27 typedef interface IUIAutomationStructureChangedEventHandler IUIAutomationStructureChangedEventHandler;
28 typedef interface IUIAutomationFocusChangedEventHandler IUIAutomationFocusChangedEventHandler;
29 typedef interface IUIAutomationProxyFactory IUIAutomationProxyFactory;
30 typedef interface IUIAutomationProxyFactoryEntry IUIAutomationProxyFactoryEntry;
31 typedef interface IUIAutomationProxyFactoryMapping IUIAutomationProxyFactoryMapping;
32
33 typedef void *UIA_HWND;
34 typedef int PROPERTYID;
35 typedef int EVENTID;
36 typedef int PATTERNID;
37 typedef int CONTROLTYPEID;
38 typedef int TEXTATTRIBUTEID;
39
40 enum TreeScope
41 {
42 TreeScope_Element = 0x1,
43 TreeScope_Children = 0x2,
44 TreeScope_Descendants = 0x4,
45 TreeScope_Parent = 0x8,
46 TreeScope_Ancestors = 0x10,
47 TreeScope_Subtree = ( ( TreeScope_Element | TreeScope_Children ) | TreeScope_Descendants )
48 };
49
50 enum PropertyConditionFlags
51 {
52 PropertyConditionFlags_None = 0,
53 PropertyConditionFlags_IgnoreCase = 0x1
54 };
55
56 enum OrientationType
57 {
58 OrientationType_None = 0,
59 OrientationType_Horizontal = 1,
60 OrientationType_Vertical = 2
61 };
62
63 enum SupportedTextSelection
64 {
65 SupportedTextSelection_None = 0,
66 SupportedTextSelection_Single = 1,
67 SupportedTextSelection_Multiple = 2
68 };
69
70 enum TextPatternRangeEndpoint
71 {
72 TextPatternRangeEndpoint_Start = 0,
73 TextPatternRangeEndpoint_End = 1
74 };
75
76 enum TextUnit
77 {
78 TextUnit_Character = 0,
79 TextUnit_Format = 1,
80 TextUnit_Word = 2,
81 TextUnit_Line = 3,
82 TextUnit_Paragraph = 4,
83 TextUnit_Page = 5,
84 TextUnit_Document = 6
85 };
86
87 enum ProviderOptions
88 {
89 ProviderOptions_ClientSideProvider = 0x1,
90 ProviderOptions_ServerSideProvider = 0x2,
91 ProviderOptions_NonClientAreaProvider = 0x4,
92 ProviderOptions_OverrideProvider = 0x8,
93 ProviderOptions_ProviderOwnsSetFocus = 0x10,
94 ProviderOptions_UseComThreading = 0x20
95 } ;
96
97 /* UIA_PatternIds */
98 const long UIA_InvokePatternId = 10000;
99 const long UIA_SelectionPatternId = 10001;
100 const long UIA_ValuePatternId = 10002;
101 const long UIA_RangeValuePatternId = 10003;
102 const long UIA_ScrollPatternId = 10004;
103 const long UIA_ExpandCollapsePatternId = 10005;
104 const long UIA_GridPatternId = 10006;
105 const long UIA_GridItemPatternId = 10007;
106 const long UIA_MultipleViewPatternId = 10008;
107 const long UIA_WindowPatternId = 10009;
108 const long UIA_SelectionItemPatternId = 10010;
109 const long UIA_DockPatternId = 10011;
110 const long UIA_TablePatternId = 10012;
111 const long UIA_TableItemPatternId = 10013;
112 const long UIA_TextPatternId = 10014;
113 const long UIA_TogglePatternId = 10015;
114 const long UIA_TransformPatternId = 10016;
115 const long UIA_ScrollItemPatternId = 10017;
116 const long UIA_LegacyIAccessiblePatternId = 10018;
117 const long UIA_ItemContainerPatternId = 10019;
118 const long UIA_VirtualizedItemPatternId = 10020;
119 const long UIA_SynchronizedInputPatternId = 10021;
120
121 #ifdef INTERFACE
122 #undef INTERFACE
123 #endif
124
125 #define INTERFACE IUIAutomation
DECLARE_INTERFACE_(IUIAutomation,IUnknown)126 DECLARE_INTERFACE_(IUIAutomation, IUnknown)
127 {
128 STDMETHOD(CompareElements)(THIS_ IUIAutomationElement *, IUIAutomationElement *, BOOL *) PURE;
129 STDMETHOD(CompareRuntimeIds)(THIS_ SAFEARRAY *, SAFEARRAY *, BOOL *) PURE;
130 STDMETHOD(GetRootElement)(THIS_ IUIAutomationElement **) PURE;
131 STDMETHOD(ElementFromHandle)(THIS_ UIA_HWND, IUIAutomationElement **) PURE;
132 STDMETHOD(ElementFromPoint)(THIS_ POINT, IUIAutomationElement **) PURE;
133 STDMETHOD(GetFocusedElement)(THIS_ IUIAutomationElement **) PURE;
134 STDMETHOD(GetRootElementBuildCache)(THIS_ IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
135 STDMETHOD(ElementFromHandleBuildCache)(THIS_ UIA_HWND, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
136 STDMETHOD(ElementFromPointBuildCache)(THIS_ POINT, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
137 STDMETHOD(GetFocusedElementBuildCache)(THIS_ IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
138 STDMETHOD(CreateTreeWalker)(THIS_ IUIAutomationCondition *, IUIAutomationTreeWalker **) PURE;
139 STDMETHOD(get_ControlViewWalker)(THIS_ IUIAutomationTreeWalker **) PURE;
140 STDMETHOD(get_ContentViewWalker)(THIS_ IUIAutomationTreeWalker **) PURE;
141 STDMETHOD(get_RawViewWalker)(THIS_ IUIAutomationTreeWalker **) PURE;
142 STDMETHOD(get_RawViewCondition)(THIS_ IUIAutomationCondition **) PURE;
143 STDMETHOD(get_ControlViewCondition)(THIS_ IUIAutomationCondition **) PURE;
144 STDMETHOD(get_ContentViewCondition)(THIS_ IUIAutomationCondition **) PURE;
145 STDMETHOD(CreateCacheRequest)(THIS_ IUIAutomationCacheRequest **) PURE;
146 STDMETHOD(CreateTrueCondition)(THIS_ IUIAutomationCondition **) PURE;
147 STDMETHOD(CreateFalseCondition)(THIS_ IUIAutomationCondition **) PURE;
148 STDMETHOD(CreatePropertyCondition)(THIS_ PROPERTYID, VARIANT, IUIAutomationCondition **) PURE;
149 STDMETHOD(CreatePropertyConditionEx)(THIS_ PROPERTYID, VARIANT, enum PropertyConditionFlags, IUIAutomationCondition **) PURE;
150 STDMETHOD(CreateAndCondition)(THIS_ IUIAutomationCondition *, IUIAutomationCondition *, IUIAutomationCondition **) PURE;
151 STDMETHOD(CreateAndConditionFromArray)(THIS_ SAFEARRAY *, IUIAutomationCondition **) PURE;
152 STDMETHOD(CreateAndConditionFromNativeArray)(THIS_ IUIAutomationCondition **, int , IUIAutomationCondition **) PURE;
153 STDMETHOD(CreateOrCondition)(THIS_ IUIAutomationCondition *, IUIAutomationCondition *, IUIAutomationCondition **) PURE;
154 STDMETHOD(CreateOrConditionFromArray)(THIS_ SAFEARRAY *, IUIAutomationCondition **) PURE;
155 STDMETHOD(CreateOrConditionFromNativeArray)(THIS_ IUIAutomationCondition **, int , IUIAutomationCondition **) PURE;
156 STDMETHOD(CreateNotCondition)(THIS_ IUIAutomationCondition *, IUIAutomationCondition **) PURE;
157 STDMETHOD(AddAutomationEventHandler)(THIS_ EVENTID, IUIAutomationElement *, enum TreeScope, IUIAutomationCacheRequest *, IUIAutomationEventHandler *) PURE;
158 STDMETHOD(RemoveAutomationEventHandler)(THIS_ EVENTID, IUIAutomationElement *, IUIAutomationEventHandler *) PURE;
159 STDMETHOD(AddPropertyChangedEventHandlerNativeArray)(THIS_ IUIAutomationElement *, enum TreeScope, IUIAutomationCacheRequest *,
160 IUIAutomationPropertyChangedEventHandler *, PROPERTYID *, int) PURE;
161 STDMETHOD(AddPropertyChangedEventHandler)(THIS_ IUIAutomationElement *, enum TreeScope, EVENTID, IUIAutomationCacheRequest *,
162 IUIAutomationPropertyChangedEventHandler *, SAFEARRAY *) PURE;
163 STDMETHOD(RemovePropertyChangedEventHandler)(THIS_ IUIAutomationElement *, IUIAutomationPropertyChangedEventHandler *) PURE;
164 STDMETHOD(AddStructureChangedEventHandler)(THIS_ IUIAutomationElement *, enum TreeScope, IUIAutomationCacheRequest *, IUIAutomationStructureChangedEventHandler *) PURE;
165 STDMETHOD(RemoveStructureChangedEventHandler)(THIS_ IUIAutomationElement *, IUIAutomationStructureChangedEventHandler *) PURE;
166 STDMETHOD(AddFocusChangedEventHandler)(THIS_ IUIAutomationCacheRequest *, IUIAutomationFocusChangedEventHandler *) PURE;
167 STDMETHOD(RemoveFocusChangedEventHandler)(THIS_ IUIAutomationFocusChangedEventHandler *) PURE;
168 STDMETHOD(RemoveAllEventHandlers)(THIS) PURE;
169 STDMETHOD(IntNativeArrayToSafeArray)(THIS_ int *, int, SAFEARRAY **) PURE;
170 STDMETHOD(IntSafeArrayToNativeArray)(THIS_ SAFEARRAY *, int **, int *) PURE;
171 STDMETHOD(RectToVariant)(THIS_ RECT, VARIANT *) PURE;
172 STDMETHOD(VariantToRect)(THIS_ VARIANT, RECT *) PURE;
173 STDMETHOD(SafeArrayToRectNativeArray)(THIS_ SAFEARRAY *, RECT **, int *) PURE;
174 STDMETHOD(CreateProxyFactoryEntry)(THIS_ IUIAutomationProxyFactory *, IUIAutomationProxyFactoryEntry **) PURE;
175 STDMETHOD(get_ProxyFactoryMapping)(THIS_ IUIAutomationProxyFactoryMapping **) PURE;
176 STDMETHOD(GetPropertyProgrammaticName)(THIS_ PROPERTYID, BSTR *) PURE;
177 STDMETHOD(GetPatternProgrammaticName)(THIS_ PATTERNID, BSTR *) PURE;
178 STDMETHOD(PollForPotentialSupportedPatterns)(THIS_ IUIAutomationElement *, SAFEARRAY **, SAFEARRAY **) PURE;
179 STDMETHOD(PollForPotentialSupportedProperties)(THIS_ IUIAutomationElement *, SAFEARRAY **, SAFEARRAY **) PURE;
180 STDMETHOD(CheckNotSupported)(THIS_ VARIANT, BOOL *) PURE;
181 STDMETHOD(get_ReservedNotSupportedValue)(THIS_ IUnknown **) PURE;
182 STDMETHOD(get_ReservedMixedAttributeValue)(THIS_ IUnknown **) PURE;
183 STDMETHOD(ElementFromIAccessible)(THIS_ IAccessible *, int, IUIAutomationElement **) PURE;
184 STDMETHOD(ElementFromIAccessibleBuildCache)(THIS_ IAccessible *, int, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
185 };
186 #undef INTERFACE
187
188 #define INTERFACE IUIAutomationElement
DECLARE_INTERFACE_(IUIAutomationElement,IUnknown)189 DECLARE_INTERFACE_(IUIAutomationElement, IUnknown)
190 {
191 STDMETHOD(SetFocus)(THIS) PURE;
192 STDMETHOD(GetRuntimeId)(THIS_ SAFEARRAY **) PURE;
193 STDMETHOD(FindFirst)(THIS_ enum TreeScope, IUIAutomationCondition *, IUIAutomationElement **) PURE;
194 STDMETHOD(FindAll)(THIS_ enum TreeScope, IUIAutomationCondition *, IUIAutomationElementArray **) PURE;
195 STDMETHOD(FindFirstBuildCache)(THIS_ enum TreeScope, IUIAutomationCondition *, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
196 STDMETHOD(FindAllBuildCache)(THIS_ enum TreeScope, IUIAutomationCondition *, IUIAutomationCacheRequest *, IUIAutomationElementArray **) PURE;
197 STDMETHOD(BuildUpdatedCache)(THIS_ IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
198 STDMETHOD(GetCurrentPropertyValue)(THIS_ PROPERTYID, VARIANT *) PURE;
199 STDMETHOD(GetCurrentPropertyValueEx)(THIS_ PROPERTYID, BOOL, VARIANT *) PURE;
200 STDMETHOD(GetCachedPropertyValue)(THIS_ PROPERTYID, VARIANT *) PURE;
201 STDMETHOD(GetCachedPropertyValueEx)(THIS_ PROPERTYID, BOOL, VARIANT *) PURE;
202 STDMETHOD(GetCurrentPatternAs)(THIS_ PATTERNID, REFIID, void **) PURE;
203 STDMETHOD(GetCachedPatternAs)(THIS_ PATTERNID, REFIID, void **) PURE;
204 STDMETHOD(GetCurrentPattern)(THIS_ PATTERNID, IUnknown **) PURE;
205 STDMETHOD(GetCachedPattern)(THIS_ PATTERNID, IUnknown **) PURE;
206 STDMETHOD(GetCachedParent)(THIS_ IUIAutomationElement **) PURE;
207 STDMETHOD(GetCachedChildren)(THIS_ IUIAutomationElement **) PURE;
208 STDMETHOD(get_CurrentProcessId)(THIS_ int *) PURE;
209 STDMETHOD(get_CurrentControlType)(THIS_ CONTROLTYPEID *) PURE;
210 STDMETHOD(get_CurrentLocalizedControlType)(THIS_ BSTR *) PURE;
211 STDMETHOD(get_CurrentName)(THIS_ BSTR *) PURE;
212 STDMETHOD(get_CurrentAcceleratorKey)(THIS_ BSTR *) PURE;
213 STDMETHOD(get_CurrentAccessKey)(THIS_ BSTR *) PURE;
214 STDMETHOD(get_CurrentHasKeyboardFocus)(THIS_ BOOL *) PURE;
215 STDMETHOD(get_CurrentIsKeyboardFocusable)(THIS_ BOOL *) PURE;
216 STDMETHOD(get_CurrentIsEnabled)(THIS_ BOOL *) PURE;
217 STDMETHOD(get_CurrentAutomationId)(THIS_ BSTR *) PURE;
218 STDMETHOD(get_CurrentClassName)(THIS_ BSTR *) PURE;
219 STDMETHOD(get_CurrentHelpText)(THIS_ BSTR *) PURE;
220 STDMETHOD(get_CurrentCulture)(THIS_ int *) PURE;
221 STDMETHOD(get_CurrentIsControlElement)(THIS_ BOOL *) PURE;
222 STDMETHOD(get_CurrentIsContentElement)(THIS_ BOOL *) PURE;
223 STDMETHOD(get_CurrentIsPassword)(THIS_ BOOL *) PURE;
224 STDMETHOD(get_CurrentNativeWindowHandle)(THIS_ UIA_HWND *) PURE;
225 STDMETHOD(get_CurrentItemType)(THIS_ BSTR *) PURE;
226 STDMETHOD(get_CurrentIsOffscreen)(THIS_ BOOL *) PURE;
227 STDMETHOD(get_CurrentOrientation)(THIS_ enum OrientationType *) PURE;
228 STDMETHOD(get_CurrentFrameworkId)(THIS_ BSTR *) PURE;
229 STDMETHOD(get_CurrentIsRequiredForForm)(THIS_ BOOL *) PURE;
230 STDMETHOD(get_CurrentItemStatus)(THIS_ BSTR *) PURE;
231 STDMETHOD(get_CurrentBoundingRectangle)(THIS_ RECT *) PURE;
232 STDMETHOD(get_CurrentLabeledBy)(THIS_ IUIAutomationElement **) PURE;
233 STDMETHOD(get_CurrentAriaRole)(THIS_ BSTR *) PURE;
234 STDMETHOD(get_CurrentAriaProperties)(THIS_ BSTR *) PURE;
235 STDMETHOD(get_CurrentIsDataValidForForm)(THIS_ BOOL *) PURE;
236 STDMETHOD(get_CurrentControllerFor)(THIS_ IUIAutomationElementArray **) PURE;
237 STDMETHOD(get_CurrentDescribedBy)(THIS_ IUIAutomationElementArray **) PURE;
238 STDMETHOD(get_CurrentFlowsTo)(THIS_ IUIAutomationElementArray **) PURE;
239 STDMETHOD(get_CurrentProviderDescription)(THIS_ BSTR *) PURE;
240 STDMETHOD(get_CachedProcessId)(THIS_ int *) PURE;
241 STDMETHOD(get_CachedControlType)(THIS_ CONTROLTYPEID *) PURE;
242 STDMETHOD(get_CachedLocalizedControlType)(THIS_ BSTR *) PURE;
243 STDMETHOD(get_CachedName)(THIS_ BSTR *) PURE;
244 STDMETHOD(get_CachedAcceleratorKey)(THIS_ BSTR *) PURE;
245 STDMETHOD(get_CachedAccessKey)(THIS_ BSTR *) PURE;
246 STDMETHOD(get_CachedHasKeyboardFocus)(THIS_ BOOL *) PURE;
247 STDMETHOD(get_CachedIsKeyboardFocusable)(THIS_ BOOL *) PURE;
248 STDMETHOD(get_CachedIsEnabled)(THIS_ BOOL *) PURE;
249 STDMETHOD(get_CachedAutomationId)(THIS_ BSTR *) PURE;
250 STDMETHOD(get_CachedClassName)(THIS_ BSTR *) PURE;
251 STDMETHOD(get_CachedHelpText)(THIS_ BSTR *) PURE;
252 STDMETHOD(get_CachedCulture)(THIS_ int *) PURE;
253 STDMETHOD(get_CachedIsControlElement)(THIS_ BOOL *) PURE;
254 STDMETHOD(get_CachedIsContentElement)(THIS_ BOOL *) PURE;
255 STDMETHOD(get_CachedIsPassword)(THIS_ BOOL *) PURE;
256 STDMETHOD(get_CachedNativeWindowHandle)(THIS_ UIA_HWND *) PURE;
257 STDMETHOD(get_CachedItemType)(THIS_ BSTR *) PURE;
258 STDMETHOD(get_CachedIsOffscreen)(THIS_ BOOL *) PURE;
259 STDMETHOD(get_CachedOrientation)(THIS_ enum OrientationType *) PURE;
260 STDMETHOD(get_CachedFrameworkId)(THIS_ BSTR *) PURE;
261 STDMETHOD(get_CachedIsRequiredForForm)(THIS_ BOOL *) PURE;
262 STDMETHOD(get_CachedItemStatus)(THIS_ BSTR *) PURE;
263 STDMETHOD(get_CachedBoundingRectangle)(THIS_ RECT *) PURE;
264 STDMETHOD(get_CachedLabeledBy)(THIS_ IUIAutomationElement **) PURE;
265 STDMETHOD(get_CachedAriaRole)(THIS_ BSTR *) PURE;
266 STDMETHOD(get_CachedAriaProperties)(THIS_ BSTR *) PURE;
267 STDMETHOD(get_CachedIsDataValidForForm)(THIS_ BOOL *) PURE;
268 STDMETHOD(get_CachedControllerFor)(THIS_ IUIAutomationElementArray **) PURE;
269 STDMETHOD(get_CachedDescribedBy)(THIS_ IUIAutomationElementArray **) PURE;
270 STDMETHOD(get_CachedFlowsTo)(THIS_ IUIAutomationElementArray **) PURE;
271 STDMETHOD(get_CachedProviderDescription)(THIS_ BSTR *) PURE;
272 };
273 #undef INTERFACE
274
275 #define INTERFACE IUIAutomationTextPattern
DECLARE_INTERFACE_(IUIAutomationTextPattern,IUnknown)276 DECLARE_INTERFACE_(IUIAutomationTextPattern, IUnknown)
277 {
278 STDMETHOD(RangeFromPoint)(THIS_ POINT, IUIAutomationTextRange **) PURE;
279 STDMETHOD(RangeFromChild)(THIS_ IUIAutomationElement *, IUIAutomationTextRange **) PURE;
280 STDMETHOD(GetSelection)(THIS_ IUIAutomationTextRangeArray **) PURE;
281 STDMETHOD(GetVisibleRanges)(THIS_ IUIAutomationTextRangeArray **) PURE;
282 STDMETHOD(get_DocumentRange)(THIS_ IUIAutomationTextRange **) PURE;
283 STDMETHOD(get_SupportedTextSelection)(THIS_ enum SupportedTextSelection *) PURE;
284 };
285 #undef INTERFACE
286
287 #define INTERFACE IUIAutomationTreeWalker
DECLARE_INTERFACE_(IUIAutomationTreeWalker,IUnknown)288 DECLARE_INTERFACE_(IUIAutomationTreeWalker, IUnknown)
289 {
290 STDMETHOD(GetParentElement)(THIS_ IUIAutomationElement *, IUIAutomationElement **) PURE;
291 STDMETHOD(GetFirstChildElement)(THIS_ IUIAutomationElement *, IUIAutomationElement **) PURE;
292 STDMETHOD(GetLastChildElement)(THIS_ IUIAutomationElement *, IUIAutomationElement **) PURE;
293 STDMETHOD(GetNextSiblingElement)(THIS_ IUIAutomationElement *, IUIAutomationElement **) PURE;
294 STDMETHOD(GetPreviousSiblingElement)(THIS_ IUIAutomationElement *, IUIAutomationElement **) PURE;
295 STDMETHOD(NormalizeElement)(THIS_ IUIAutomationElement *, IUIAutomationElement **) PURE;
296 STDMETHOD(GetParentElementBuildCache)(THIS_ IUIAutomationElement *, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
297 STDMETHOD(GetFirstChildElementBuildCache)(THIS_ IUIAutomationElement *, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
298 STDMETHOD(GetLastChildElementBuildCache)(THIS_ IUIAutomationElement *, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
299 STDMETHOD(GetNextSiblingElementBuildCache)(THIS_ IUIAutomationElement *, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
300 STDMETHOD(GetPreviousSiblingElementBuildCache)(THIS_ IUIAutomationElement *, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
301 STDMETHOD(NormalizeElementBuildCache)(THIS_ IUIAutomationElement *, IUIAutomationCacheRequest *, IUIAutomationElement **) PURE;
302 STDMETHOD(get_Condition)(THIS_ IUIAutomationCondition **) PURE;
303 };
304 #undef INTERFACE
305
306 #define INTERFACE IUIAutomationTextRange
DECLARE_INTERFACE_(IUIAutomationTextRange,IUnknown)307 DECLARE_INTERFACE_(IUIAutomationTextRange, IUnknown)
308 {
309 STDMETHOD(Clone)(THIS_ IUIAutomationTextRange **) PURE;
310 STDMETHOD(Compare)(THIS_ IUIAutomationTextRange *, BOOL *) PURE;
311 STDMETHOD(CompareEndpoints)(THIS_ enum TextPatternRangeEndpoint, IUIAutomationTextRange *, enum TextPatternRangeEndpoint, int *) PURE;
312 STDMETHOD(ExpandToEnclosingUnit)(THIS_ enum TextUnit) PURE;
313 STDMETHOD(FindAttribute)(THIS_ TEXTATTRIBUTEID, VARIANT, BOOL, IUIAutomationTextRange **) PURE;
314 STDMETHOD(FindText)(THIS_ BSTR, BOOL, BOOL, IUIAutomationTextRange **) PURE;
315 STDMETHOD(GetAttributeValue)(THIS_ TEXTATTRIBUTEID, VARIANT *) PURE;
316 STDMETHOD(GetBoundingRectangles)(THIS_ SAFEARRAY **) PURE;
317 STDMETHOD(GetEnclosingElement)(THIS_ IUIAutomationElement **) PURE;
318 STDMETHOD(GetText)(THIS_ int, BSTR *) PURE;
319 STDMETHOD(Move)(THIS_ enum TextUnit, int, int *) PURE;
320 STDMETHOD(MoveEndpointByUnit)(THIS_ enum TextPatternRangeEndpoint, enum TextUnit, int *) PURE;
321 STDMETHOD(MoveEndpointByRange)(THIS_ enum TextPatternRangeEndpoint, IUIAutomationTextRange *, enum TextPatternRangeEndpoint) PURE;
322 STDMETHOD(Select)(THIS) PURE;
323 STDMETHOD(AddToSelection)(THIS) PURE;
324 STDMETHOD(RemoveFromSelection)(THIS) PURE;
325 STDMETHOD(ScrollIntoView)(THIS_ BOOL) PURE;
326 STDMETHOD(GetChildren)(THIS_ IUIAutomationElementArray **) PURE;
327 };
328 #undef INTERFACE
329
330 #ifdef __cplusplus
331 }
332 #endif
333
334 #endif // UIAUTO_HH
335