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