1 /*** Autogenerated by WIDL 3.19 from include/uiautomationcore.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __uiautomationcore_h__
16 #define __uiautomationcore_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IRawElementProviderSimple_FWD_DEFINED__
21 #define __IRawElementProviderSimple_FWD_DEFINED__
22 typedef interface IRawElementProviderSimple IRawElementProviderSimple;
23 #ifdef __cplusplus
24 interface IRawElementProviderSimple;
25 #endif /* __cplusplus */
26 #endif
27 
28 #ifndef __IAccessibleEx_FWD_DEFINED__
29 #define __IAccessibleEx_FWD_DEFINED__
30 typedef interface IAccessibleEx IAccessibleEx;
31 #ifdef __cplusplus
32 interface IAccessibleEx;
33 #endif /* __cplusplus */
34 #endif
35 
36 /* Headers for imported files */
37 
38 #include <oaidl.h>
39 #include <oleacc.h>
40 
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44 
45 enum ProviderOptions {
46     ProviderOptions_ClientSideProvider = 0x1,
47     ProviderOptions_ServerSideProvider = 0x2,
48     ProviderOptions_NonClientAreaProvider = 0x4,
49     ProviderOptions_OverrideProvider = 0x8,
50     ProviderOptions_ProviderOwnsSetFocus = 0x10,
51     ProviderOptions_UseComThreading = 0x20
52 };
53 typedef int PROPERTYID;
54 typedef int PATTERNID;
55 typedef int EVENTID;
56 typedef int TEXTATTRIBUTEID;
57 typedef int CONTROLTYPEID;
58 
59 DEFINE_GUID(LIBID_UIA, 0x930299ce, 0x9965, 0x4dec, 0xb0,0xf4, 0xa5,0x48,0x48,0xd4,0xb6,0x67);
60 
61 /*****************************************************************************
62  * IRawElementProviderSimple interface
63  */
64 #ifndef __IRawElementProviderSimple_INTERFACE_DEFINED__
65 #define __IRawElementProviderSimple_INTERFACE_DEFINED__
66 
67 DEFINE_GUID(IID_IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c);
68 #if defined(__cplusplus) && !defined(CINTERFACE)
69 MIDL_INTERFACE("d6dd68d1-86fd-4332-8666-9abedea2d24c")
70 IRawElementProviderSimple : public IUnknown
71 {
72     virtual HRESULT STDMETHODCALLTYPE get_ProviderOptions(
73         enum ProviderOptions *pRetVal) = 0;
74 
75     virtual HRESULT STDMETHODCALLTYPE GetPatternProvider(
76         PATTERNID patternId,
77         IUnknown **pRetVal) = 0;
78 
79     virtual HRESULT STDMETHODCALLTYPE GetPropertyValue(
80         PROPERTYID propertyId,
81         VARIANT *pRetVal) = 0;
82 
83     virtual HRESULT STDMETHODCALLTYPE get_HostRawElementProvider(
84         IRawElementProviderSimple **pRetVal) = 0;
85 
86 };
87 #ifdef __CRT_UUID_DECL
88 __CRT_UUID_DECL(IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c)
89 #endif
90 #else
91 typedef struct IRawElementProviderSimpleVtbl {
92     BEGIN_INTERFACE
93 
94     /*** IUnknown methods ***/
95     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
96         IRawElementProviderSimple *This,
97         REFIID riid,
98         void **ppvObject);
99 
100     ULONG (STDMETHODCALLTYPE *AddRef)(
101         IRawElementProviderSimple *This);
102 
103     ULONG (STDMETHODCALLTYPE *Release)(
104         IRawElementProviderSimple *This);
105 
106     /*** IRawElementProviderSimple methods ***/
107     HRESULT (STDMETHODCALLTYPE *get_ProviderOptions)(
108         IRawElementProviderSimple *This,
109         enum ProviderOptions *pRetVal);
110 
111     HRESULT (STDMETHODCALLTYPE *GetPatternProvider)(
112         IRawElementProviderSimple *This,
113         PATTERNID patternId,
114         IUnknown **pRetVal);
115 
116     HRESULT (STDMETHODCALLTYPE *GetPropertyValue)(
117         IRawElementProviderSimple *This,
118         PROPERTYID propertyId,
119         VARIANT *pRetVal);
120 
121     HRESULT (STDMETHODCALLTYPE *get_HostRawElementProvider)(
122         IRawElementProviderSimple *This,
123         IRawElementProviderSimple **pRetVal);
124 
125     END_INTERFACE
126 } IRawElementProviderSimpleVtbl;
127 
128 interface IRawElementProviderSimple {
129     CONST_VTBL IRawElementProviderSimpleVtbl* lpVtbl;
130 };
131 
132 #ifdef COBJMACROS
133 #ifndef WIDL_C_INLINE_WRAPPERS
134 /*** IUnknown methods ***/
135 #define IRawElementProviderSimple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
136 #define IRawElementProviderSimple_AddRef(This) (This)->lpVtbl->AddRef(This)
137 #define IRawElementProviderSimple_Release(This) (This)->lpVtbl->Release(This)
138 /*** IRawElementProviderSimple methods ***/
139 #define IRawElementProviderSimple_get_ProviderOptions(This,pRetVal) (This)->lpVtbl->get_ProviderOptions(This,pRetVal)
140 #define IRawElementProviderSimple_GetPatternProvider(This,patternId,pRetVal) (This)->lpVtbl->GetPatternProvider(This,patternId,pRetVal)
141 #define IRawElementProviderSimple_GetPropertyValue(This,propertyId,pRetVal) (This)->lpVtbl->GetPropertyValue(This,propertyId,pRetVal)
142 #define IRawElementProviderSimple_get_HostRawElementProvider(This,pRetVal) (This)->lpVtbl->get_HostRawElementProvider(This,pRetVal)
143 #else
144 /*** IUnknown methods ***/
145 static FORCEINLINE HRESULT IRawElementProviderSimple_QueryInterface(IRawElementProviderSimple* This,REFIID riid,void **ppvObject) {
146     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
147 }
148 static FORCEINLINE ULONG IRawElementProviderSimple_AddRef(IRawElementProviderSimple* This) {
149     return This->lpVtbl->AddRef(This);
150 }
151 static FORCEINLINE ULONG IRawElementProviderSimple_Release(IRawElementProviderSimple* This) {
152     return This->lpVtbl->Release(This);
153 }
154 /*** IRawElementProviderSimple methods ***/
155 static FORCEINLINE HRESULT IRawElementProviderSimple_get_ProviderOptions(IRawElementProviderSimple* This,enum ProviderOptions *pRetVal) {
156     return This->lpVtbl->get_ProviderOptions(This,pRetVal);
157 }
158 static FORCEINLINE HRESULT IRawElementProviderSimple_GetPatternProvider(IRawElementProviderSimple* This,PATTERNID patternId,IUnknown **pRetVal) {
159     return This->lpVtbl->GetPatternProvider(This,patternId,pRetVal);
160 }
161 static FORCEINLINE HRESULT IRawElementProviderSimple_GetPropertyValue(IRawElementProviderSimple* This,PROPERTYID propertyId,VARIANT *pRetVal) {
162     return This->lpVtbl->GetPropertyValue(This,propertyId,pRetVal);
163 }
164 static FORCEINLINE HRESULT IRawElementProviderSimple_get_HostRawElementProvider(IRawElementProviderSimple* This,IRawElementProviderSimple **pRetVal) {
165     return This->lpVtbl->get_HostRawElementProvider(This,pRetVal);
166 }
167 #endif
168 #endif
169 
170 #endif
171 
172 
173 #endif  /* __IRawElementProviderSimple_INTERFACE_DEFINED__ */
174 
175 /*****************************************************************************
176  * IAccessibleEx interface
177  */
178 #ifndef __IAccessibleEx_INTERFACE_DEFINED__
179 #define __IAccessibleEx_INTERFACE_DEFINED__
180 
181 DEFINE_GUID(IID_IAccessibleEx, 0xf8b80ada, 0x2c44, 0x48d0, 0x89,0xbe, 0x5f,0xf2,0x3c,0x9c,0xd8,0x75);
182 #if defined(__cplusplus) && !defined(CINTERFACE)
183 MIDL_INTERFACE("f8b80ada-2c44-48d0-89be-5ff23c9cd875")
184 IAccessibleEx : public IUnknown
185 {
186     virtual HRESULT STDMETHODCALLTYPE GetObjectForChild(
187         LONG idChild,
188         IAccessibleEx **pRetVal) = 0;
189 
190     virtual HRESULT STDMETHODCALLTYPE GetIAccessiblePair(
191         IAccessible **ppAcc,
192         LONG *pidChild) = 0;
193 
194     virtual HRESULT STDMETHODCALLTYPE GetRuntimeId(
195         SAFEARRAY **pRetVal) = 0;
196 
197     virtual HRESULT STDMETHODCALLTYPE ConvertReturnedElement(
198         IRawElementProviderSimple *pIn,
199         IAccessibleEx **ppRetValOut) = 0;
200 
201 };
202 #ifdef __CRT_UUID_DECL
203 __CRT_UUID_DECL(IAccessibleEx, 0xf8b80ada, 0x2c44, 0x48d0, 0x89,0xbe, 0x5f,0xf2,0x3c,0x9c,0xd8,0x75)
204 #endif
205 #else
206 typedef struct IAccessibleExVtbl {
207     BEGIN_INTERFACE
208 
209     /*** IUnknown methods ***/
210     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
211         IAccessibleEx *This,
212         REFIID riid,
213         void **ppvObject);
214 
215     ULONG (STDMETHODCALLTYPE *AddRef)(
216         IAccessibleEx *This);
217 
218     ULONG (STDMETHODCALLTYPE *Release)(
219         IAccessibleEx *This);
220 
221     /*** IAccessibleEx methods ***/
222     HRESULT (STDMETHODCALLTYPE *GetObjectForChild)(
223         IAccessibleEx *This,
224         LONG idChild,
225         IAccessibleEx **pRetVal);
226 
227     HRESULT (STDMETHODCALLTYPE *GetIAccessiblePair)(
228         IAccessibleEx *This,
229         IAccessible **ppAcc,
230         LONG *pidChild);
231 
232     HRESULT (STDMETHODCALLTYPE *GetRuntimeId)(
233         IAccessibleEx *This,
234         SAFEARRAY **pRetVal);
235 
236     HRESULT (STDMETHODCALLTYPE *ConvertReturnedElement)(
237         IAccessibleEx *This,
238         IRawElementProviderSimple *pIn,
239         IAccessibleEx **ppRetValOut);
240 
241     END_INTERFACE
242 } IAccessibleExVtbl;
243 
244 interface IAccessibleEx {
245     CONST_VTBL IAccessibleExVtbl* lpVtbl;
246 };
247 
248 #ifdef COBJMACROS
249 #ifndef WIDL_C_INLINE_WRAPPERS
250 /*** IUnknown methods ***/
251 #define IAccessibleEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
252 #define IAccessibleEx_AddRef(This) (This)->lpVtbl->AddRef(This)
253 #define IAccessibleEx_Release(This) (This)->lpVtbl->Release(This)
254 /*** IAccessibleEx methods ***/
255 #define IAccessibleEx_GetObjectForChild(This,idChild,pRetVal) (This)->lpVtbl->GetObjectForChild(This,idChild,pRetVal)
256 #define IAccessibleEx_GetIAccessiblePair(This,ppAcc,pidChild) (This)->lpVtbl->GetIAccessiblePair(This,ppAcc,pidChild)
257 #define IAccessibleEx_GetRuntimeId(This,pRetVal) (This)->lpVtbl->GetRuntimeId(This,pRetVal)
258 #define IAccessibleEx_ConvertReturnedElement(This,pIn,ppRetValOut) (This)->lpVtbl->ConvertReturnedElement(This,pIn,ppRetValOut)
259 #else
260 /*** IUnknown methods ***/
261 static FORCEINLINE HRESULT IAccessibleEx_QueryInterface(IAccessibleEx* This,REFIID riid,void **ppvObject) {
262     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
263 }
264 static FORCEINLINE ULONG IAccessibleEx_AddRef(IAccessibleEx* This) {
265     return This->lpVtbl->AddRef(This);
266 }
267 static FORCEINLINE ULONG IAccessibleEx_Release(IAccessibleEx* This) {
268     return This->lpVtbl->Release(This);
269 }
270 /*** IAccessibleEx methods ***/
271 static FORCEINLINE HRESULT IAccessibleEx_GetObjectForChild(IAccessibleEx* This,LONG idChild,IAccessibleEx **pRetVal) {
272     return This->lpVtbl->GetObjectForChild(This,idChild,pRetVal);
273 }
274 static FORCEINLINE HRESULT IAccessibleEx_GetIAccessiblePair(IAccessibleEx* This,IAccessible **ppAcc,LONG *pidChild) {
275     return This->lpVtbl->GetIAccessiblePair(This,ppAcc,pidChild);
276 }
277 static FORCEINLINE HRESULT IAccessibleEx_GetRuntimeId(IAccessibleEx* This,SAFEARRAY **pRetVal) {
278     return This->lpVtbl->GetRuntimeId(This,pRetVal);
279 }
280 static FORCEINLINE HRESULT IAccessibleEx_ConvertReturnedElement(IAccessibleEx* This,IRawElementProviderSimple *pIn,IAccessibleEx **ppRetValOut) {
281     return This->lpVtbl->ConvertReturnedElement(This,pIn,ppRetValOut);
282 }
283 #endif
284 #endif
285 
286 #endif
287 
288 
289 #endif  /* __IAccessibleEx_INTERFACE_DEFINED__ */
290 
291 /* Begin additional prototypes for all interfaces */
292 
293 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
294 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
295 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
296 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
297 
298 /* End additional prototypes */
299 
300 #ifdef __cplusplus
301 }
302 #endif
303 
304 #endif /* __uiautomationcore_h__ */
305