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