1 
2 
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
4 
5 
6  /* File created by MIDL compiler version 7.00.0555 */
7 /* at Mon Aug 11 14:34:41 2014
8  */
9 /* Compiler settings for ia2_api_all.idl:
10     Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555
11     protocol : dce , ms_ext, c_ext, robust
12     error checks: allocation ref bounds_check enum stub_data
13     VC __declspec() decoration level:
14          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
15          DECLSPEC_UUID(), MIDL_INTERFACE()
16 */
17 /* @@MIDL_FILE_HEADING(  ) */
18 
19 #ifdef _MSC_VER
20 #  pragma warning( disable: 4049 )  /* more than 64k source lines */
21 #endif
22 
23 
24 /* verify that the <rpcndr.h> version is high enough to compile this file*/
25 #ifndef __REQUIRED_RPCNDR_H_VERSION__
26 #define __REQUIRED_RPCNDR_H_VERSION__ 475
27 #endif
28 
29 #include "rpc.h"
30 #include "rpcndr.h"
31 
32 #ifndef __RPCNDR_H_VERSION__
33 #error this stub requires an updated version of <rpcndr.h>
34 #endif // __RPCNDR_H_VERSION__
35 
36 #ifndef COM_NO_WINDOWS_H
37 #include "windows.h"
38 #include "ole2.h"
39 #endif /*COM_NO_WINDOWS_H*/
40 
41 #ifndef __ia2_api_all_h__
42 #define __ia2_api_all_h__
43 
44 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
45 #pragma once
46 #endif
47 
48 /* Forward Declarations */
49 
50 #ifndef __IAccessibleRelation_FWD_DEFINED__
51 #define __IAccessibleRelation_FWD_DEFINED__
52 typedef interface IAccessibleRelation IAccessibleRelation;
53 #endif 	/* __IAccessibleRelation_FWD_DEFINED__ */
54 
55 
56 #ifndef __IAccessibleAction_FWD_DEFINED__
57 #define __IAccessibleAction_FWD_DEFINED__
58 typedef interface IAccessibleAction IAccessibleAction;
59 #endif 	/* __IAccessibleAction_FWD_DEFINED__ */
60 
61 
62 #ifndef __IAccessible2_FWD_DEFINED__
63 #define __IAccessible2_FWD_DEFINED__
64 typedef interface IAccessible2 IAccessible2;
65 #endif 	/* __IAccessible2_FWD_DEFINED__ */
66 
67 
68 #ifndef __IAccessible2_2_FWD_DEFINED__
69 #define __IAccessible2_2_FWD_DEFINED__
70 typedef interface IAccessible2_2 IAccessible2_2;
71 #endif 	/* __IAccessible2_2_FWD_DEFINED__ */
72 
73 
74 #ifndef __IAccessibleComponent_FWD_DEFINED__
75 #define __IAccessibleComponent_FWD_DEFINED__
76 typedef interface IAccessibleComponent IAccessibleComponent;
77 #endif 	/* __IAccessibleComponent_FWD_DEFINED__ */
78 
79 
80 #ifndef __IAccessibleValue_FWD_DEFINED__
81 #define __IAccessibleValue_FWD_DEFINED__
82 typedef interface IAccessibleValue IAccessibleValue;
83 #endif 	/* __IAccessibleValue_FWD_DEFINED__ */
84 
85 
86 #ifndef __IAccessibleText_FWD_DEFINED__
87 #define __IAccessibleText_FWD_DEFINED__
88 typedef interface IAccessibleText IAccessibleText;
89 #endif 	/* __IAccessibleText_FWD_DEFINED__ */
90 
91 
92 #ifndef __IAccessibleText2_FWD_DEFINED__
93 #define __IAccessibleText2_FWD_DEFINED__
94 typedef interface IAccessibleText2 IAccessibleText2;
95 #endif 	/* __IAccessibleText2_FWD_DEFINED__ */
96 
97 
98 #ifndef __IAccessibleEditableText_FWD_DEFINED__
99 #define __IAccessibleEditableText_FWD_DEFINED__
100 typedef interface IAccessibleEditableText IAccessibleEditableText;
101 #endif 	/* __IAccessibleEditableText_FWD_DEFINED__ */
102 
103 
104 #ifndef __IAccessibleHyperlink_FWD_DEFINED__
105 #define __IAccessibleHyperlink_FWD_DEFINED__
106 typedef interface IAccessibleHyperlink IAccessibleHyperlink;
107 #endif 	/* __IAccessibleHyperlink_FWD_DEFINED__ */
108 
109 
110 #ifndef __IAccessibleHypertext_FWD_DEFINED__
111 #define __IAccessibleHypertext_FWD_DEFINED__
112 typedef interface IAccessibleHypertext IAccessibleHypertext;
113 #endif 	/* __IAccessibleHypertext_FWD_DEFINED__ */
114 
115 
116 #ifndef __IAccessibleHypertext2_FWD_DEFINED__
117 #define __IAccessibleHypertext2_FWD_DEFINED__
118 typedef interface IAccessibleHypertext2 IAccessibleHypertext2;
119 #endif 	/* __IAccessibleHypertext2_FWD_DEFINED__ */
120 
121 
122 #ifndef __IAccessibleTable_FWD_DEFINED__
123 #define __IAccessibleTable_FWD_DEFINED__
124 typedef interface IAccessibleTable IAccessibleTable;
125 #endif 	/* __IAccessibleTable_FWD_DEFINED__ */
126 
127 
128 #ifndef __IAccessibleTable2_FWD_DEFINED__
129 #define __IAccessibleTable2_FWD_DEFINED__
130 typedef interface IAccessibleTable2 IAccessibleTable2;
131 #endif 	/* __IAccessibleTable2_FWD_DEFINED__ */
132 
133 
134 #ifndef __IAccessibleTableCell_FWD_DEFINED__
135 #define __IAccessibleTableCell_FWD_DEFINED__
136 typedef interface IAccessibleTableCell IAccessibleTableCell;
137 #endif 	/* __IAccessibleTableCell_FWD_DEFINED__ */
138 
139 
140 #ifndef __IAccessibleImage_FWD_DEFINED__
141 #define __IAccessibleImage_FWD_DEFINED__
142 typedef interface IAccessibleImage IAccessibleImage;
143 #endif 	/* __IAccessibleImage_FWD_DEFINED__ */
144 
145 
146 #ifndef __IAccessibleApplication_FWD_DEFINED__
147 #define __IAccessibleApplication_FWD_DEFINED__
148 typedef interface IAccessibleApplication IAccessibleApplication;
149 #endif 	/* __IAccessibleApplication_FWD_DEFINED__ */
150 
151 
152 #ifndef __IAccessibleDocument_FWD_DEFINED__
153 #define __IAccessibleDocument_FWD_DEFINED__
154 typedef interface IAccessibleDocument IAccessibleDocument;
155 #endif 	/* __IAccessibleDocument_FWD_DEFINED__ */
156 
157 
158 #ifndef __IAccessible2_FWD_DEFINED__
159 #define __IAccessible2_FWD_DEFINED__
160 typedef interface IAccessible2 IAccessible2;
161 #endif 	/* __IAccessible2_FWD_DEFINED__ */
162 
163 
164 #ifndef __IAccessible2_2_FWD_DEFINED__
165 #define __IAccessible2_2_FWD_DEFINED__
166 typedef interface IAccessible2_2 IAccessible2_2;
167 #endif 	/* __IAccessible2_2_FWD_DEFINED__ */
168 
169 
170 #ifndef __IAccessibleAction_FWD_DEFINED__
171 #define __IAccessibleAction_FWD_DEFINED__
172 typedef interface IAccessibleAction IAccessibleAction;
173 #endif 	/* __IAccessibleAction_FWD_DEFINED__ */
174 
175 
176 #ifndef __IAccessibleApplication_FWD_DEFINED__
177 #define __IAccessibleApplication_FWD_DEFINED__
178 typedef interface IAccessibleApplication IAccessibleApplication;
179 #endif 	/* __IAccessibleApplication_FWD_DEFINED__ */
180 
181 
182 #ifndef __IAccessibleComponent_FWD_DEFINED__
183 #define __IAccessibleComponent_FWD_DEFINED__
184 typedef interface IAccessibleComponent IAccessibleComponent;
185 #endif 	/* __IAccessibleComponent_FWD_DEFINED__ */
186 
187 
188 #ifndef __IAccessibleDocument_FWD_DEFINED__
189 #define __IAccessibleDocument_FWD_DEFINED__
190 typedef interface IAccessibleDocument IAccessibleDocument;
191 #endif 	/* __IAccessibleDocument_FWD_DEFINED__ */
192 
193 
194 #ifndef __IAccessibleEditableText_FWD_DEFINED__
195 #define __IAccessibleEditableText_FWD_DEFINED__
196 typedef interface IAccessibleEditableText IAccessibleEditableText;
197 #endif 	/* __IAccessibleEditableText_FWD_DEFINED__ */
198 
199 
200 #ifndef __IAccessibleHyperlink_FWD_DEFINED__
201 #define __IAccessibleHyperlink_FWD_DEFINED__
202 typedef interface IAccessibleHyperlink IAccessibleHyperlink;
203 #endif 	/* __IAccessibleHyperlink_FWD_DEFINED__ */
204 
205 
206 #ifndef __IAccessibleText_FWD_DEFINED__
207 #define __IAccessibleText_FWD_DEFINED__
208 typedef interface IAccessibleText IAccessibleText;
209 #endif 	/* __IAccessibleText_FWD_DEFINED__ */
210 
211 
212 #ifndef __IAccessibleHypertext_FWD_DEFINED__
213 #define __IAccessibleHypertext_FWD_DEFINED__
214 typedef interface IAccessibleHypertext IAccessibleHypertext;
215 #endif 	/* __IAccessibleHypertext_FWD_DEFINED__ */
216 
217 
218 #ifndef __IAccessibleHypertext2_FWD_DEFINED__
219 #define __IAccessibleHypertext2_FWD_DEFINED__
220 typedef interface IAccessibleHypertext2 IAccessibleHypertext2;
221 #endif 	/* __IAccessibleHypertext2_FWD_DEFINED__ */
222 
223 
224 #ifndef __IAccessibleImage_FWD_DEFINED__
225 #define __IAccessibleImage_FWD_DEFINED__
226 typedef interface IAccessibleImage IAccessibleImage;
227 #endif 	/* __IAccessibleImage_FWD_DEFINED__ */
228 
229 
230 #ifndef __IAccessibleRelation_FWD_DEFINED__
231 #define __IAccessibleRelation_FWD_DEFINED__
232 typedef interface IAccessibleRelation IAccessibleRelation;
233 #endif 	/* __IAccessibleRelation_FWD_DEFINED__ */
234 
235 
236 #ifndef __IAccessibleTable_FWD_DEFINED__
237 #define __IAccessibleTable_FWD_DEFINED__
238 typedef interface IAccessibleTable IAccessibleTable;
239 #endif 	/* __IAccessibleTable_FWD_DEFINED__ */
240 
241 
242 #ifndef __IAccessibleTable2_FWD_DEFINED__
243 #define __IAccessibleTable2_FWD_DEFINED__
244 typedef interface IAccessibleTable2 IAccessibleTable2;
245 #endif 	/* __IAccessibleTable2_FWD_DEFINED__ */
246 
247 
248 #ifndef __IAccessibleTableCell_FWD_DEFINED__
249 #define __IAccessibleTableCell_FWD_DEFINED__
250 typedef interface IAccessibleTableCell IAccessibleTableCell;
251 #endif 	/* __IAccessibleTableCell_FWD_DEFINED__ */
252 
253 
254 #ifndef __IAccessibleText2_FWD_DEFINED__
255 #define __IAccessibleText2_FWD_DEFINED__
256 typedef interface IAccessibleText2 IAccessibleText2;
257 #endif 	/* __IAccessibleText2_FWD_DEFINED__ */
258 
259 
260 #ifndef __IAccessibleValue_FWD_DEFINED__
261 #define __IAccessibleValue_FWD_DEFINED__
262 typedef interface IAccessibleValue IAccessibleValue;
263 #endif 	/* __IAccessibleValue_FWD_DEFINED__ */
264 
265 
266 /* header files for imported files */
267 #include "objidl.h"
268 #include "oaidl.h"
269 #include "oleacc.h"
270 
271 #ifdef __cplusplus
272 extern "C"{
273 #endif
274 
275 
276 /* interface __MIDL_itf_ia2_api_all_0000_0000 */
277 /* [local] */
278 
279 
280 enum IA2ScrollType
281     {	IA2_SCROLL_TYPE_TOP_LEFT	= 0,
282 	IA2_SCROLL_TYPE_BOTTOM_RIGHT	= ( IA2_SCROLL_TYPE_TOP_LEFT + 1 ) ,
283 	IA2_SCROLL_TYPE_TOP_EDGE	= ( IA2_SCROLL_TYPE_BOTTOM_RIGHT + 1 ) ,
284 	IA2_SCROLL_TYPE_BOTTOM_EDGE	= ( IA2_SCROLL_TYPE_TOP_EDGE + 1 ) ,
285 	IA2_SCROLL_TYPE_LEFT_EDGE	= ( IA2_SCROLL_TYPE_BOTTOM_EDGE + 1 ) ,
286 	IA2_SCROLL_TYPE_RIGHT_EDGE	= ( IA2_SCROLL_TYPE_LEFT_EDGE + 1 ) ,
287 	IA2_SCROLL_TYPE_ANYWHERE	= ( IA2_SCROLL_TYPE_RIGHT_EDGE + 1 )
288     } ;
289 
290 enum IA2CoordinateType
291     {	IA2_COORDTYPE_SCREEN_RELATIVE	= 0,
292 	IA2_COORDTYPE_PARENT_RELATIVE	= ( IA2_COORDTYPE_SCREEN_RELATIVE + 1 )
293     } ;
294 
295 enum IA2TextSpecialOffsets
296     {	IA2_TEXT_OFFSET_LENGTH	= -1,
297 	IA2_TEXT_OFFSET_CARET	= -2
298     } ;
299 
300 enum IA2TableModelChangeType
301     {	IA2_TABLE_MODEL_CHANGE_INSERT	= 0,
302 	IA2_TABLE_MODEL_CHANGE_DELETE	= ( IA2_TABLE_MODEL_CHANGE_INSERT + 1 ) ,
303 	IA2_TABLE_MODEL_CHANGE_UPDATE	= ( IA2_TABLE_MODEL_CHANGE_DELETE + 1 )
304     } ;
305 typedef struct IA2TableModelChange
306     {
307     enum IA2TableModelChangeType type;
308     long firstRow;
309     long lastRow;
310     long firstColumn;
311     long lastColumn;
312     } 	IA2TableModelChange;
313 
314 #define	IA2_RELATION_CONTAINING_APPLICATION	( L"containingApplication" )
315 
316 #define	IA2_RELATION_CONTAINING_DOCUMENT	( L"containingDocument" )
317 
318 #define	IA2_RELATION_CONTAINING_TAB_PANE	( L"containingTabPane" )
319 
320 #define	IA2_RELATION_CONTAINING_WINDOW	( L"containingWindow" )
321 
322 #define	IA2_RELATION_CONTROLLED_BY	( L"controlledBy" )
323 
324 #define	IA2_RELATION_CONTROLLER_FOR	( L"controllerFor" )
325 
326 #define	IA2_RELATION_DESCRIBED_BY	( L"describedBy" )
327 
328 #define	IA2_RELATION_DESCRIPTION_FOR	( L"descriptionFor" )
329 
330 #define	IA2_RELATION_EMBEDDED_BY	( L"embeddedBy" )
331 
332 #define	IA2_RELATION_EMBEDS	( L"embeds" )
333 
334 #define	IA2_RELATION_FLOWS_FROM	( L"flowsFrom" )
335 
336 #define	IA2_RELATION_FLOWS_TO	( L"flowsTo" )
337 
338 #define	IA2_RELATION_LABEL_FOR	( L"labelFor" )
339 
340 #define	IA2_RELATION_LABELED_BY	( L"labelledBy" )
341 
342 #define	IA2_RELATION_LABELLED_BY	( L"labelledBy" )
343 
344 #define	IA2_RELATION_MEMBER_OF	( L"memberOf" )
345 
346 #define	IA2_RELATION_NEXT_TABBABLE	( L"nextTabbable" )
347 
348 #define	IA2_RELATION_NODE_CHILD_OF	( L"nodeChildOf" )
349 
350 #define	IA2_RELATION_NODE_PARENT_OF	( L"nodeParentOf" )
351 
352 #define	IA2_RELATION_PARENT_WINDOW_OF	( L"parentWindowOf" )
353 
354 #define	IA2_RELATION_POPUP_FOR	( L"popupFor" )
355 
356 #define	IA2_RELATION_PREVIOUS_TABBABLE	( L"previousTabbable" )
357 
358 #define	IA2_RELATION_SUBWINDOW_OF	( L"subwindowOf" )
359 
360 
361 
362 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_c_ifspec;
363 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0000_v0_0_s_ifspec;
364 
365 #ifndef __IAccessibleRelation_INTERFACE_DEFINED__
366 #define __IAccessibleRelation_INTERFACE_DEFINED__
367 
368 /* interface IAccessibleRelation */
369 /* [uuid][object] */
370 
371 
372 EXTERN_C const IID IID_IAccessibleRelation;
373 
374 #if defined(__cplusplus) && !defined(CINTERFACE)
375 
376     MIDL_INTERFACE("7CDF86EE-C3DA-496a-BDA4-281B336E1FDC")
377     IAccessibleRelation : public IUnknown
378     {
379     public:
380         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationType(
381             /* [retval][out] */ BSTR *relationType) = 0;
382 
383         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedRelationType(
384             /* [retval][out] */ BSTR *localizedRelationType) = 0;
385 
386         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nTargets(
387             /* [retval][out] */ long *nTargets) = 0;
388 
389         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_target(
390             /* [in] */ long targetIndex,
391             /* [retval][out] */ IUnknown **target) = 0;
392 
393         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targets(
394             /* [in] */ long maxTargets,
395             /* [length_is][size_is][out] */ IUnknown **targets,
396             /* [retval][out] */ long *nTargets) = 0;
397 
398     };
399 
400 #else 	/* C style interface */
401 
402     typedef struct IAccessibleRelationVtbl
403     {
404         BEGIN_INTERFACE
405 
406         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
407             IAccessibleRelation * This,
408             /* [in] */ REFIID riid,
409             /* [annotation][iid_is][out] */
410             __RPC__deref_out  void **ppvObject);
411 
412         ULONG ( STDMETHODCALLTYPE *AddRef )(
413             IAccessibleRelation * This);
414 
415         ULONG ( STDMETHODCALLTYPE *Release )(
416             IAccessibleRelation * This);
417 
418         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationType )(
419             IAccessibleRelation * This,
420             /* [retval][out] */ BSTR *relationType);
421 
422         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedRelationType )(
423             IAccessibleRelation * This,
424             /* [retval][out] */ BSTR *localizedRelationType);
425 
426         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nTargets )(
427             IAccessibleRelation * This,
428             /* [retval][out] */ long *nTargets);
429 
430         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_target )(
431             IAccessibleRelation * This,
432             /* [in] */ long targetIndex,
433             /* [retval][out] */ IUnknown **target);
434 
435         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targets )(
436             IAccessibleRelation * This,
437             /* [in] */ long maxTargets,
438             /* [length_is][size_is][out] */ IUnknown **targets,
439             /* [retval][out] */ long *nTargets);
440 
441         END_INTERFACE
442     } IAccessibleRelationVtbl;
443 
444     interface IAccessibleRelation
445     {
446         CONST_VTBL struct IAccessibleRelationVtbl *lpVtbl;
447     };
448 
449 
450 
451 #ifdef COBJMACROS
452 
453 
454 #define IAccessibleRelation_QueryInterface(This,riid,ppvObject)	\
455     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
456 
457 #define IAccessibleRelation_AddRef(This)	\
458     ( (This)->lpVtbl -> AddRef(This) )
459 
460 #define IAccessibleRelation_Release(This)	\
461     ( (This)->lpVtbl -> Release(This) )
462 
463 
464 #define IAccessibleRelation_get_relationType(This,relationType)	\
465     ( (This)->lpVtbl -> get_relationType(This,relationType) )
466 
467 #define IAccessibleRelation_get_localizedRelationType(This,localizedRelationType)	\
468     ( (This)->lpVtbl -> get_localizedRelationType(This,localizedRelationType) )
469 
470 #define IAccessibleRelation_get_nTargets(This,nTargets)	\
471     ( (This)->lpVtbl -> get_nTargets(This,nTargets) )
472 
473 #define IAccessibleRelation_get_target(This,targetIndex,target)	\
474     ( (This)->lpVtbl -> get_target(This,targetIndex,target) )
475 
476 #define IAccessibleRelation_get_targets(This,maxTargets,targets,nTargets)	\
477     ( (This)->lpVtbl -> get_targets(This,maxTargets,targets,nTargets) )
478 
479 #endif /* COBJMACROS */
480 
481 
482 #endif 	/* C style interface */
483 
484 
485 
486 
487 #endif 	/* __IAccessibleRelation_INTERFACE_DEFINED__ */
488 
489 
490 /* interface __MIDL_itf_ia2_api_all_0000_0001 */
491 /* [local] */
492 
493 
494 enum IA2Actions
495     {	IA2_ACTION_OPEN	= -1,
496 	IA2_ACTION_COMPLETE	= -2,
497 	IA2_ACTION_CLOSE	= -3
498     } ;
499 
500 
501 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_c_ifspec;
502 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0001_v0_0_s_ifspec;
503 
504 #ifndef __IAccessibleAction_INTERFACE_DEFINED__
505 #define __IAccessibleAction_INTERFACE_DEFINED__
506 
507 /* interface IAccessibleAction */
508 /* [uuid][object] */
509 
510 
511 EXTERN_C const IID IID_IAccessibleAction;
512 
513 #if defined(__cplusplus) && !defined(CINTERFACE)
514 
515     MIDL_INTERFACE("B70D9F59-3B5A-4dba-AB9E-22012F607DF5")
516     IAccessibleAction : public IUnknown
517     {
518     public:
519         virtual HRESULT STDMETHODCALLTYPE nActions(
520             /* [retval][out] */ long *nActions) = 0;
521 
522         virtual HRESULT STDMETHODCALLTYPE doAction(
523             /* [in] */ long actionIndex) = 0;
524 
525         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
526             /* [in] */ long actionIndex,
527             /* [retval][out] */ BSTR *description) = 0;
528 
529         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_keyBinding(
530             /* [in] */ long actionIndex,
531             /* [in] */ long nMaxBindings,
532             /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
533             /* [retval][out] */ long *nBindings) = 0;
534 
535         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_name(
536             /* [in] */ long actionIndex,
537             /* [retval][out] */ BSTR *name) = 0;
538 
539         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedName(
540             /* [in] */ long actionIndex,
541             /* [retval][out] */ BSTR *localizedName) = 0;
542 
543     };
544 
545 #else 	/* C style interface */
546 
547     typedef struct IAccessibleActionVtbl
548     {
549         BEGIN_INTERFACE
550 
551         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
552             IAccessibleAction * This,
553             /* [in] */ REFIID riid,
554             /* [annotation][iid_is][out] */
555             __RPC__deref_out  void **ppvObject);
556 
557         ULONG ( STDMETHODCALLTYPE *AddRef )(
558             IAccessibleAction * This);
559 
560         ULONG ( STDMETHODCALLTYPE *Release )(
561             IAccessibleAction * This);
562 
563         HRESULT ( STDMETHODCALLTYPE *nActions )(
564             IAccessibleAction * This,
565             /* [retval][out] */ long *nActions);
566 
567         HRESULT ( STDMETHODCALLTYPE *doAction )(
568             IAccessibleAction * This,
569             /* [in] */ long actionIndex);
570 
571         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
572             IAccessibleAction * This,
573             /* [in] */ long actionIndex,
574             /* [retval][out] */ BSTR *description);
575 
576         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
577             IAccessibleAction * This,
578             /* [in] */ long actionIndex,
579             /* [in] */ long nMaxBindings,
580             /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
581             /* [retval][out] */ long *nBindings);
582 
583         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
584             IAccessibleAction * This,
585             /* [in] */ long actionIndex,
586             /* [retval][out] */ BSTR *name);
587 
588         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
589             IAccessibleAction * This,
590             /* [in] */ long actionIndex,
591             /* [retval][out] */ BSTR *localizedName);
592 
593         END_INTERFACE
594     } IAccessibleActionVtbl;
595 
596     interface IAccessibleAction
597     {
598         CONST_VTBL struct IAccessibleActionVtbl *lpVtbl;
599     };
600 
601 
602 
603 #ifdef COBJMACROS
604 
605 
606 #define IAccessibleAction_QueryInterface(This,riid,ppvObject)	\
607     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
608 
609 #define IAccessibleAction_AddRef(This)	\
610     ( (This)->lpVtbl -> AddRef(This) )
611 
612 #define IAccessibleAction_Release(This)	\
613     ( (This)->lpVtbl -> Release(This) )
614 
615 
616 #define IAccessibleAction_nActions(This,nActions)	\
617     ( (This)->lpVtbl -> nActions(This,nActions) )
618 
619 #define IAccessibleAction_doAction(This,actionIndex)	\
620     ( (This)->lpVtbl -> doAction(This,actionIndex) )
621 
622 #define IAccessibleAction_get_description(This,actionIndex,description)	\
623     ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
624 
625 #define IAccessibleAction_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings)	\
626     ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
627 
628 #define IAccessibleAction_get_name(This,actionIndex,name)	\
629     ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
630 
631 #define IAccessibleAction_get_localizedName(This,actionIndex,localizedName)	\
632     ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
633 
634 #endif /* COBJMACROS */
635 
636 
637 #endif 	/* C style interface */
638 
639 
640 
641 
642 #endif 	/* __IAccessibleAction_INTERFACE_DEFINED__ */
643 
644 
645 /* interface __MIDL_itf_ia2_api_all_0000_0002 */
646 /* [local] */
647 
648 
649 enum IA2Role
650     {	IA2_ROLE_UNKNOWN	= 0,
651 	IA2_ROLE_CANVAS	= 0x401,
652 	IA2_ROLE_CAPTION	= ( IA2_ROLE_CANVAS + 1 ) ,
653 	IA2_ROLE_CHECK_MENU_ITEM	= ( IA2_ROLE_CAPTION + 1 ) ,
654 	IA2_ROLE_COLOR_CHOOSER	= ( IA2_ROLE_CHECK_MENU_ITEM + 1 ) ,
655 	IA2_ROLE_DATE_EDITOR	= ( IA2_ROLE_COLOR_CHOOSER + 1 ) ,
656 	IA2_ROLE_DESKTOP_ICON	= ( IA2_ROLE_DATE_EDITOR + 1 ) ,
657 	IA2_ROLE_DESKTOP_PANE	= ( IA2_ROLE_DESKTOP_ICON + 1 ) ,
658 	IA2_ROLE_DIRECTORY_PANE	= ( IA2_ROLE_DESKTOP_PANE + 1 ) ,
659 	IA2_ROLE_EDITBAR	= ( IA2_ROLE_DIRECTORY_PANE + 1 ) ,
660 	IA2_ROLE_EMBEDDED_OBJECT	= ( IA2_ROLE_EDITBAR + 1 ) ,
661 	IA2_ROLE_ENDNOTE	= ( IA2_ROLE_EMBEDDED_OBJECT + 1 ) ,
662 	IA2_ROLE_FILE_CHOOSER	= ( IA2_ROLE_ENDNOTE + 1 ) ,
663 	IA2_ROLE_FONT_CHOOSER	= ( IA2_ROLE_FILE_CHOOSER + 1 ) ,
664 	IA2_ROLE_FOOTER	= ( IA2_ROLE_FONT_CHOOSER + 1 ) ,
665 	IA2_ROLE_FOOTNOTE	= ( IA2_ROLE_FOOTER + 1 ) ,
666 	IA2_ROLE_FORM	= ( IA2_ROLE_FOOTNOTE + 1 ) ,
667 	IA2_ROLE_FRAME	= ( IA2_ROLE_FORM + 1 ) ,
668 	IA2_ROLE_GLASS_PANE	= ( IA2_ROLE_FRAME + 1 ) ,
669 	IA2_ROLE_HEADER	= ( IA2_ROLE_GLASS_PANE + 1 ) ,
670 	IA2_ROLE_HEADING	= ( IA2_ROLE_HEADER + 1 ) ,
671 	IA2_ROLE_ICON	= ( IA2_ROLE_HEADING + 1 ) ,
672 	IA2_ROLE_IMAGE_MAP	= ( IA2_ROLE_ICON + 1 ) ,
673 	IA2_ROLE_INPUT_METHOD_WINDOW	= ( IA2_ROLE_IMAGE_MAP + 1 ) ,
674 	IA2_ROLE_INTERNAL_FRAME	= ( IA2_ROLE_INPUT_METHOD_WINDOW + 1 ) ,
675 	IA2_ROLE_LABEL	= ( IA2_ROLE_INTERNAL_FRAME + 1 ) ,
676 	IA2_ROLE_LAYERED_PANE	= ( IA2_ROLE_LABEL + 1 ) ,
677 	IA2_ROLE_NOTE	= ( IA2_ROLE_LAYERED_PANE + 1 ) ,
678 	IA2_ROLE_OPTION_PANE	= ( IA2_ROLE_NOTE + 1 ) ,
679 	IA2_ROLE_PAGE	= ( IA2_ROLE_OPTION_PANE + 1 ) ,
680 	IA2_ROLE_PARAGRAPH	= ( IA2_ROLE_PAGE + 1 ) ,
681 	IA2_ROLE_RADIO_MENU_ITEM	= ( IA2_ROLE_PARAGRAPH + 1 ) ,
682 	IA2_ROLE_REDUNDANT_OBJECT	= ( IA2_ROLE_RADIO_MENU_ITEM + 1 ) ,
683 	IA2_ROLE_ROOT_PANE	= ( IA2_ROLE_REDUNDANT_OBJECT + 1 ) ,
684 	IA2_ROLE_RULER	= ( IA2_ROLE_ROOT_PANE + 1 ) ,
685 	IA2_ROLE_SCROLL_PANE	= ( IA2_ROLE_RULER + 1 ) ,
686 	IA2_ROLE_SECTION	= ( IA2_ROLE_SCROLL_PANE + 1 ) ,
687 	IA2_ROLE_SHAPE	= ( IA2_ROLE_SECTION + 1 ) ,
688 	IA2_ROLE_SPLIT_PANE	= ( IA2_ROLE_SHAPE + 1 ) ,
689 	IA2_ROLE_TEAR_OFF_MENU	= ( IA2_ROLE_SPLIT_PANE + 1 ) ,
690 	IA2_ROLE_TERMINAL	= ( IA2_ROLE_TEAR_OFF_MENU + 1 ) ,
691 	IA2_ROLE_TEXT_FRAME	= ( IA2_ROLE_TERMINAL + 1 ) ,
692 	IA2_ROLE_TOGGLE_BUTTON	= ( IA2_ROLE_TEXT_FRAME + 1 ) ,
693 	IA2_ROLE_VIEW_PORT	= ( IA2_ROLE_TOGGLE_BUTTON + 1 ) ,
694 	IA2_ROLE_COMPLEMENTARY_CONTENT	= ( IA2_ROLE_VIEW_PORT + 1 )
695     } ;
696 typedef long AccessibleStates;
697 
698 
699 enum IA2States
700     {	IA2_STATE_ACTIVE	= 0x1,
701 	IA2_STATE_ARMED	= 0x2,
702 	IA2_STATE_DEFUNCT	= 0x4,
703 	IA2_STATE_EDITABLE	= 0x8,
704 	IA2_STATE_HORIZONTAL	= 0x10,
705 	IA2_STATE_ICONIFIED	= 0x20,
706 	IA2_STATE_INVALID_ENTRY	= 0x40,
707 	IA2_STATE_MANAGES_DESCENDANTS	= 0x80,
708 	IA2_STATE_MODAL	= 0x100,
709 	IA2_STATE_MULTI_LINE	= 0x200,
710 	IA2_STATE_OPAQUE	= 0x400,
711 	IA2_STATE_REQUIRED	= 0x800,
712 	IA2_STATE_SELECTABLE_TEXT	= 0x1000,
713 	IA2_STATE_SINGLE_LINE	= 0x2000,
714 	IA2_STATE_STALE	= 0x4000,
715 	IA2_STATE_SUPPORTS_AUTOCOMPLETION	= 0x8000,
716 	IA2_STATE_TRANSIENT	= 0x10000,
717 	IA2_STATE_VERTICAL	= 0x20000,
718 	IA2_STATE_CHECKABLE	= 0x40000,
719 	IA2_STATE_PINNED	= 0x80000
720     } ;
721 typedef struct IA2Locale
722     {
723     BSTR language;
724     BSTR country;
725     BSTR variant;
726     } 	IA2Locale;
727 
728 
729 
730 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_c_ifspec;
731 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0002_v0_0_s_ifspec;
732 
733 #ifndef __IAccessible2_INTERFACE_DEFINED__
734 #define __IAccessible2_INTERFACE_DEFINED__
735 
736 /* interface IAccessible2 */
737 /* [uuid][object] */
738 
739 
740 EXTERN_C const IID IID_IAccessible2;
741 
742 #if defined(__cplusplus) && !defined(CINTERFACE)
743 
744     MIDL_INTERFACE("E89F726E-C4F4-4c19-BB19-B647D7FA8478")
745     IAccessible2 : public IAccessible
746     {
747     public:
748         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRelations(
749             /* [retval][out] */ long *nRelations) = 0;
750 
751         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relation(
752             /* [in] */ long relationIndex,
753             /* [retval][out] */ IAccessibleRelation **relation) = 0;
754 
755         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relations(
756             /* [in] */ long maxRelations,
757             /* [length_is][size_is][out] */ IAccessibleRelation **relations,
758             /* [retval][out] */ long *nRelations) = 0;
759 
760         virtual HRESULT STDMETHODCALLTYPE role(
761             /* [retval][out] */ long *role) = 0;
762 
763         virtual HRESULT STDMETHODCALLTYPE scrollTo(
764             /* [in] */ enum IA2ScrollType scrollType) = 0;
765 
766         virtual HRESULT STDMETHODCALLTYPE scrollToPoint(
767             /* [in] */ enum IA2CoordinateType coordinateType,
768             /* [in] */ long x,
769             /* [in] */ long y) = 0;
770 
771         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_groupPosition(
772             /* [out] */ long *groupLevel,
773             /* [out] */ long *similarItemsInGroup,
774             /* [retval][out] */ long *positionInGroup) = 0;
775 
776         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_states(
777             /* [retval][out] */ AccessibleStates *states) = 0;
778 
779         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedRole(
780             /* [retval][out] */ BSTR *extendedRole) = 0;
781 
782         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(
783             /* [retval][out] */ BSTR *localizedExtendedRole) = 0;
784 
785         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nExtendedStates(
786             /* [retval][out] */ long *nExtendedStates) = 0;
787 
788         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extendedStates(
789             /* [in] */ long maxExtendedStates,
790             /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
791             /* [retval][out] */ long *nExtendedStates) = 0;
792 
793         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(
794             /* [in] */ long maxLocalizedExtendedStates,
795             /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
796             /* [retval][out] */ long *nLocalizedExtendedStates) = 0;
797 
798         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_uniqueID(
799             /* [retval][out] */ long *uniqueID) = 0;
800 
801         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_windowHandle(
802             /* [retval][out] */ HWND *windowHandle) = 0;
803 
804         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_indexInParent(
805             /* [retval][out] */ long *indexInParent) = 0;
806 
807         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locale(
808             /* [retval][out] */ IA2Locale *locale) = 0;
809 
810         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
811             /* [retval][out] */ BSTR *attributes) = 0;
812 
813     };
814 
815 #else 	/* C style interface */
816 
817     typedef struct IAccessible2Vtbl
818     {
819         BEGIN_INTERFACE
820 
821         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
822             IAccessible2 * This,
823             /* [in] */ REFIID riid,
824             /* [annotation][iid_is][out] */
825             __RPC__deref_out  void **ppvObject);
826 
827         ULONG ( STDMETHODCALLTYPE *AddRef )(
828             IAccessible2 * This);
829 
830         ULONG ( STDMETHODCALLTYPE *Release )(
831             IAccessible2 * This);
832 
833         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
834             IAccessible2 * This,
835             /* [out] */ UINT *pctinfo);
836 
837         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
838             IAccessible2 * This,
839             /* [in] */ UINT iTInfo,
840             /* [in] */ LCID lcid,
841             /* [out] */ ITypeInfo **ppTInfo);
842 
843         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
844             IAccessible2 * This,
845             /* [in] */ REFIID riid,
846             /* [size_is][in] */ LPOLESTR *rgszNames,
847             /* [range][in] */ UINT cNames,
848             /* [in] */ LCID lcid,
849             /* [size_is][out] */ DISPID *rgDispId);
850 
851         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
852             IAccessible2 * This,
853             /* [in] */ DISPID dispIdMember,
854             /* [in] */ REFIID riid,
855             /* [in] */ LCID lcid,
856             /* [in] */ WORD wFlags,
857             /* [out][in] */ DISPPARAMS *pDispParams,
858             /* [out] */ VARIANT *pVarResult,
859             /* [out] */ EXCEPINFO *pExcepInfo,
860             /* [out] */ UINT *puArgErr);
861 
862         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )(
863             IAccessible2 * This,
864             /* [retval][out] */ IDispatch **ppdispParent);
865 
866         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )(
867             IAccessible2 * This,
868             /* [retval][out] */ long *pcountChildren);
869 
870         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )(
871             IAccessible2 * This,
872             /* [in] */ VARIANT varChild,
873             /* [retval][out] */ IDispatch **ppdispChild);
874 
875         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )(
876             IAccessible2 * This,
877             /* [optional][in] */ VARIANT varChild,
878             /* [retval][out] */ BSTR *pszName);
879 
880         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )(
881             IAccessible2 * This,
882             /* [optional][in] */ VARIANT varChild,
883             /* [retval][out] */ BSTR *pszValue);
884 
885         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )(
886             IAccessible2 * This,
887             /* [optional][in] */ VARIANT varChild,
888             /* [retval][out] */ BSTR *pszDescription);
889 
890         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )(
891             IAccessible2 * This,
892             /* [optional][in] */ VARIANT varChild,
893             /* [retval][out] */ VARIANT *pvarRole);
894 
895         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )(
896             IAccessible2 * This,
897             /* [optional][in] */ VARIANT varChild,
898             /* [retval][out] */ VARIANT *pvarState);
899 
900         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )(
901             IAccessible2 * This,
902             /* [optional][in] */ VARIANT varChild,
903             /* [retval][out] */ BSTR *pszHelp);
904 
905         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )(
906             IAccessible2 * This,
907             /* [out] */ BSTR *pszHelpFile,
908             /* [optional][in] */ VARIANT varChild,
909             /* [retval][out] */ long *pidTopic);
910 
911         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )(
912             IAccessible2 * This,
913             /* [optional][in] */ VARIANT varChild,
914             /* [retval][out] */ BSTR *pszKeyboardShortcut);
915 
916         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )(
917             IAccessible2 * This,
918             /* [retval][out] */ VARIANT *pvarChild);
919 
920         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )(
921             IAccessible2 * This,
922             /* [retval][out] */ VARIANT *pvarChildren);
923 
924         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )(
925             IAccessible2 * This,
926             /* [optional][in] */ VARIANT varChild,
927             /* [retval][out] */ BSTR *pszDefaultAction);
928 
929         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )(
930             IAccessible2 * This,
931             /* [in] */ long flagsSelect,
932             /* [optional][in] */ VARIANT varChild);
933 
934         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )(
935             IAccessible2 * This,
936             /* [out] */ long *pxLeft,
937             /* [out] */ long *pyTop,
938             /* [out] */ long *pcxWidth,
939             /* [out] */ long *pcyHeight,
940             /* [optional][in] */ VARIANT varChild);
941 
942         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )(
943             IAccessible2 * This,
944             /* [in] */ long navDir,
945             /* [optional][in] */ VARIANT varStart,
946             /* [retval][out] */ VARIANT *pvarEndUpAt);
947 
948         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )(
949             IAccessible2 * This,
950             /* [in] */ long xLeft,
951             /* [in] */ long yTop,
952             /* [retval][out] */ VARIANT *pvarChild);
953 
954         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )(
955             IAccessible2 * This,
956             /* [optional][in] */ VARIANT varChild);
957 
958         /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )(
959             IAccessible2 * This,
960             /* [optional][in] */ VARIANT varChild,
961             /* [in] */ BSTR szName);
962 
963         /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )(
964             IAccessible2 * This,
965             /* [optional][in] */ VARIANT varChild,
966             /* [in] */ BSTR szValue);
967 
968         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )(
969             IAccessible2 * This,
970             /* [retval][out] */ long *nRelations);
971 
972         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )(
973             IAccessible2 * This,
974             /* [in] */ long relationIndex,
975             /* [retval][out] */ IAccessibleRelation **relation);
976 
977         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )(
978             IAccessible2 * This,
979             /* [in] */ long maxRelations,
980             /* [length_is][size_is][out] */ IAccessibleRelation **relations,
981             /* [retval][out] */ long *nRelations);
982 
983         HRESULT ( STDMETHODCALLTYPE *role )(
984             IAccessible2 * This,
985             /* [retval][out] */ long *role);
986 
987         HRESULT ( STDMETHODCALLTYPE *scrollTo )(
988             IAccessible2 * This,
989             /* [in] */ enum IA2ScrollType scrollType);
990 
991         HRESULT ( STDMETHODCALLTYPE *scrollToPoint )(
992             IAccessible2 * This,
993             /* [in] */ enum IA2CoordinateType coordinateType,
994             /* [in] */ long x,
995             /* [in] */ long y);
996 
997         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )(
998             IAccessible2 * This,
999             /* [out] */ long *groupLevel,
1000             /* [out] */ long *similarItemsInGroup,
1001             /* [retval][out] */ long *positionInGroup);
1002 
1003         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )(
1004             IAccessible2 * This,
1005             /* [retval][out] */ AccessibleStates *states);
1006 
1007         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )(
1008             IAccessible2 * This,
1009             /* [retval][out] */ BSTR *extendedRole);
1010 
1011         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )(
1012             IAccessible2 * This,
1013             /* [retval][out] */ BSTR *localizedExtendedRole);
1014 
1015         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )(
1016             IAccessible2 * This,
1017             /* [retval][out] */ long *nExtendedStates);
1018 
1019         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )(
1020             IAccessible2 * This,
1021             /* [in] */ long maxExtendedStates,
1022             /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
1023             /* [retval][out] */ long *nExtendedStates);
1024 
1025         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )(
1026             IAccessible2 * This,
1027             /* [in] */ long maxLocalizedExtendedStates,
1028             /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
1029             /* [retval][out] */ long *nLocalizedExtendedStates);
1030 
1031         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )(
1032             IAccessible2 * This,
1033             /* [retval][out] */ long *uniqueID);
1034 
1035         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )(
1036             IAccessible2 * This,
1037             /* [retval][out] */ HWND *windowHandle);
1038 
1039         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )(
1040             IAccessible2 * This,
1041             /* [retval][out] */ long *indexInParent);
1042 
1043         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )(
1044             IAccessible2 * This,
1045             /* [retval][out] */ IA2Locale *locale);
1046 
1047         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
1048             IAccessible2 * This,
1049             /* [retval][out] */ BSTR *attributes);
1050 
1051         END_INTERFACE
1052     } IAccessible2Vtbl;
1053 
1054     interface IAccessible2
1055     {
1056         CONST_VTBL struct IAccessible2Vtbl *lpVtbl;
1057     };
1058 
1059 
1060 
1061 #ifdef COBJMACROS
1062 
1063 
1064 #define IAccessible2_QueryInterface(This,riid,ppvObject)	\
1065     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1066 
1067 #define IAccessible2_AddRef(This)	\
1068     ( (This)->lpVtbl -> AddRef(This) )
1069 
1070 #define IAccessible2_Release(This)	\
1071     ( (This)->lpVtbl -> Release(This) )
1072 
1073 
1074 #define IAccessible2_GetTypeInfoCount(This,pctinfo)	\
1075     ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
1076 
1077 #define IAccessible2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
1078     ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
1079 
1080 #define IAccessible2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
1081     ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
1082 
1083 #define IAccessible2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
1084     ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
1085 
1086 
1087 #define IAccessible2_get_accParent(This,ppdispParent)	\
1088     ( (This)->lpVtbl -> get_accParent(This,ppdispParent) )
1089 
1090 #define IAccessible2_get_accChildCount(This,pcountChildren)	\
1091     ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) )
1092 
1093 #define IAccessible2_get_accChild(This,varChild,ppdispChild)	\
1094     ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) )
1095 
1096 #define IAccessible2_get_accName(This,varChild,pszName)	\
1097     ( (This)->lpVtbl -> get_accName(This,varChild,pszName) )
1098 
1099 #define IAccessible2_get_accValue(This,varChild,pszValue)	\
1100     ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) )
1101 
1102 #define IAccessible2_get_accDescription(This,varChild,pszDescription)	\
1103     ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) )
1104 
1105 #define IAccessible2_get_accRole(This,varChild,pvarRole)	\
1106     ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) )
1107 
1108 #define IAccessible2_get_accState(This,varChild,pvarState)	\
1109     ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) )
1110 
1111 #define IAccessible2_get_accHelp(This,varChild,pszHelp)	\
1112     ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) )
1113 
1114 #define IAccessible2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
1115     ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) )
1116 
1117 #define IAccessible2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
1118     ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) )
1119 
1120 #define IAccessible2_get_accFocus(This,pvarChild)	\
1121     ( (This)->lpVtbl -> get_accFocus(This,pvarChild) )
1122 
1123 #define IAccessible2_get_accSelection(This,pvarChildren)	\
1124     ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) )
1125 
1126 #define IAccessible2_get_accDefaultAction(This,varChild,pszDefaultAction)	\
1127     ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) )
1128 
1129 #define IAccessible2_accSelect(This,flagsSelect,varChild)	\
1130     ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) )
1131 
1132 #define IAccessible2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
1133     ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) )
1134 
1135 #define IAccessible2_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
1136     ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) )
1137 
1138 #define IAccessible2_accHitTest(This,xLeft,yTop,pvarChild)	\
1139     ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) )
1140 
1141 #define IAccessible2_accDoDefaultAction(This,varChild)	\
1142     ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) )
1143 
1144 #define IAccessible2_put_accName(This,varChild,szName)	\
1145     ( (This)->lpVtbl -> put_accName(This,varChild,szName) )
1146 
1147 #define IAccessible2_put_accValue(This,varChild,szValue)	\
1148     ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) )
1149 
1150 
1151 #define IAccessible2_get_nRelations(This,nRelations)	\
1152     ( (This)->lpVtbl -> get_nRelations(This,nRelations) )
1153 
1154 #define IAccessible2_get_relation(This,relationIndex,relation)	\
1155     ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) )
1156 
1157 #define IAccessible2_get_relations(This,maxRelations,relations,nRelations)	\
1158     ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) )
1159 
1160 #define IAccessible2_role(This,role)	\
1161     ( (This)->lpVtbl -> role(This,role) )
1162 
1163 #define IAccessible2_scrollTo(This,scrollType)	\
1164     ( (This)->lpVtbl -> scrollTo(This,scrollType) )
1165 
1166 #define IAccessible2_scrollToPoint(This,coordinateType,x,y)	\
1167     ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) )
1168 
1169 #define IAccessible2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup)	\
1170     ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) )
1171 
1172 #define IAccessible2_get_states(This,states)	\
1173     ( (This)->lpVtbl -> get_states(This,states) )
1174 
1175 #define IAccessible2_get_extendedRole(This,extendedRole)	\
1176     ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) )
1177 
1178 #define IAccessible2_get_localizedExtendedRole(This,localizedExtendedRole)	\
1179     ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) )
1180 
1181 #define IAccessible2_get_nExtendedStates(This,nExtendedStates)	\
1182     ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) )
1183 
1184 #define IAccessible2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates)	\
1185     ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) )
1186 
1187 #define IAccessible2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates)	\
1188     ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) )
1189 
1190 #define IAccessible2_get_uniqueID(This,uniqueID)	\
1191     ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) )
1192 
1193 #define IAccessible2_get_windowHandle(This,windowHandle)	\
1194     ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) )
1195 
1196 #define IAccessible2_get_indexInParent(This,indexInParent)	\
1197     ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) )
1198 
1199 #define IAccessible2_get_locale(This,locale)	\
1200     ( (This)->lpVtbl -> get_locale(This,locale) )
1201 
1202 #define IAccessible2_get_attributes(This,attributes)	\
1203     ( (This)->lpVtbl -> get_attributes(This,attributes) )
1204 
1205 #endif /* COBJMACROS */
1206 
1207 
1208 #endif 	/* C style interface */
1209 
1210 
1211 
1212 
1213 #endif 	/* __IAccessible2_INTERFACE_DEFINED__ */
1214 
1215 
1216 #ifndef __IAccessible2_2_INTERFACE_DEFINED__
1217 #define __IAccessible2_2_INTERFACE_DEFINED__
1218 
1219 /* interface IAccessible2_2 */
1220 /* [uuid][object] */
1221 
1222 
1223 EXTERN_C const IID IID_IAccessible2_2;
1224 
1225 #if defined(__cplusplus) && !defined(CINTERFACE)
1226 
1227     MIDL_INTERFACE("6C9430E9-299D-4E6F-BD01-A82A1E88D3FF")
1228     IAccessible2_2 : public IAccessible2
1229     {
1230     public:
1231         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attribute(
1232             /* [in] */ BSTR name,
1233             /* [retval][out] */ VARIANT *attribute) = 0;
1234 
1235         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleWithCaret(
1236             /* [out] */ IUnknown **accessible,
1237             /* [retval][out] */ long *caretOffset) = 0;
1238 
1239         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_relationTargetsOfType(
1240             /* [in] */ BSTR type,
1241             /* [in] */ long maxTargets,
1242             /* [size_is][size_is][out] */ IUnknown ***targets,
1243             /* [retval][out] */ long *nTargets) = 0;
1244 
1245     };
1246 
1247 #else 	/* C style interface */
1248 
1249     typedef struct IAccessible2_2Vtbl
1250     {
1251         BEGIN_INTERFACE
1252 
1253         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1254             IAccessible2_2 * This,
1255             /* [in] */ REFIID riid,
1256             /* [annotation][iid_is][out] */
1257             __RPC__deref_out  void **ppvObject);
1258 
1259         ULONG ( STDMETHODCALLTYPE *AddRef )(
1260             IAccessible2_2 * This);
1261 
1262         ULONG ( STDMETHODCALLTYPE *Release )(
1263             IAccessible2_2 * This);
1264 
1265         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
1266             IAccessible2_2 * This,
1267             /* [out] */ UINT *pctinfo);
1268 
1269         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
1270             IAccessible2_2 * This,
1271             /* [in] */ UINT iTInfo,
1272             /* [in] */ LCID lcid,
1273             /* [out] */ ITypeInfo **ppTInfo);
1274 
1275         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
1276             IAccessible2_2 * This,
1277             /* [in] */ REFIID riid,
1278             /* [size_is][in] */ LPOLESTR *rgszNames,
1279             /* [range][in] */ UINT cNames,
1280             /* [in] */ LCID lcid,
1281             /* [size_is][out] */ DISPID *rgDispId);
1282 
1283         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
1284             IAccessible2_2 * This,
1285             /* [in] */ DISPID dispIdMember,
1286             /* [in] */ REFIID riid,
1287             /* [in] */ LCID lcid,
1288             /* [in] */ WORD wFlags,
1289             /* [out][in] */ DISPPARAMS *pDispParams,
1290             /* [out] */ VARIANT *pVarResult,
1291             /* [out] */ EXCEPINFO *pExcepInfo,
1292             /* [out] */ UINT *puArgErr);
1293 
1294         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )(
1295             IAccessible2_2 * This,
1296             /* [retval][out] */ IDispatch **ppdispParent);
1297 
1298         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )(
1299             IAccessible2_2 * This,
1300             /* [retval][out] */ long *pcountChildren);
1301 
1302         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )(
1303             IAccessible2_2 * This,
1304             /* [in] */ VARIANT varChild,
1305             /* [retval][out] */ IDispatch **ppdispChild);
1306 
1307         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accName )(
1308             IAccessible2_2 * This,
1309             /* [optional][in] */ VARIANT varChild,
1310             /* [retval][out] */ BSTR *pszName);
1311 
1312         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )(
1313             IAccessible2_2 * This,
1314             /* [optional][in] */ VARIANT varChild,
1315             /* [retval][out] */ BSTR *pszValue);
1316 
1317         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )(
1318             IAccessible2_2 * This,
1319             /* [optional][in] */ VARIANT varChild,
1320             /* [retval][out] */ BSTR *pszDescription);
1321 
1322         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )(
1323             IAccessible2_2 * This,
1324             /* [optional][in] */ VARIANT varChild,
1325             /* [retval][out] */ VARIANT *pvarRole);
1326 
1327         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accState )(
1328             IAccessible2_2 * This,
1329             /* [optional][in] */ VARIANT varChild,
1330             /* [retval][out] */ VARIANT *pvarState);
1331 
1332         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )(
1333             IAccessible2_2 * This,
1334             /* [optional][in] */ VARIANT varChild,
1335             /* [retval][out] */ BSTR *pszHelp);
1336 
1337         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )(
1338             IAccessible2_2 * This,
1339             /* [out] */ BSTR *pszHelpFile,
1340             /* [optional][in] */ VARIANT varChild,
1341             /* [retval][out] */ long *pidTopic);
1342 
1343         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )(
1344             IAccessible2_2 * This,
1345             /* [optional][in] */ VARIANT varChild,
1346             /* [retval][out] */ BSTR *pszKeyboardShortcut);
1347 
1348         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )(
1349             IAccessible2_2 * This,
1350             /* [retval][out] */ VARIANT *pvarChild);
1351 
1352         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )(
1353             IAccessible2_2 * This,
1354             /* [retval][out] */ VARIANT *pvarChildren);
1355 
1356         /* [id][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )(
1357             IAccessible2_2 * This,
1358             /* [optional][in] */ VARIANT varChild,
1359             /* [retval][out] */ BSTR *pszDefaultAction);
1360 
1361         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accSelect )(
1362             IAccessible2_2 * This,
1363             /* [in] */ long flagsSelect,
1364             /* [optional][in] */ VARIANT varChild);
1365 
1366         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accLocation )(
1367             IAccessible2_2 * This,
1368             /* [out] */ long *pxLeft,
1369             /* [out] */ long *pyTop,
1370             /* [out] */ long *pcxWidth,
1371             /* [out] */ long *pcyHeight,
1372             /* [optional][in] */ VARIANT varChild);
1373 
1374         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )(
1375             IAccessible2_2 * This,
1376             /* [in] */ long navDir,
1377             /* [optional][in] */ VARIANT varStart,
1378             /* [retval][out] */ VARIANT *pvarEndUpAt);
1379 
1380         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )(
1381             IAccessible2_2 * This,
1382             /* [in] */ long xLeft,
1383             /* [in] */ long yTop,
1384             /* [retval][out] */ VARIANT *pvarChild);
1385 
1386         /* [id][hidden] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )(
1387             IAccessible2_2 * This,
1388             /* [optional][in] */ VARIANT varChild);
1389 
1390         /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accName )(
1391             IAccessible2_2 * This,
1392             /* [optional][in] */ VARIANT varChild,
1393             /* [in] */ BSTR szName);
1394 
1395         /* [id][propput][hidden] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )(
1396             IAccessible2_2 * This,
1397             /* [optional][in] */ VARIANT varChild,
1398             /* [in] */ BSTR szValue);
1399 
1400         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRelations )(
1401             IAccessible2_2 * This,
1402             /* [retval][out] */ long *nRelations);
1403 
1404         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relation )(
1405             IAccessible2_2 * This,
1406             /* [in] */ long relationIndex,
1407             /* [retval][out] */ IAccessibleRelation **relation);
1408 
1409         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relations )(
1410             IAccessible2_2 * This,
1411             /* [in] */ long maxRelations,
1412             /* [length_is][size_is][out] */ IAccessibleRelation **relations,
1413             /* [retval][out] */ long *nRelations);
1414 
1415         HRESULT ( STDMETHODCALLTYPE *role )(
1416             IAccessible2_2 * This,
1417             /* [retval][out] */ long *role);
1418 
1419         HRESULT ( STDMETHODCALLTYPE *scrollTo )(
1420             IAccessible2_2 * This,
1421             /* [in] */ enum IA2ScrollType scrollType);
1422 
1423         HRESULT ( STDMETHODCALLTYPE *scrollToPoint )(
1424             IAccessible2_2 * This,
1425             /* [in] */ enum IA2CoordinateType coordinateType,
1426             /* [in] */ long x,
1427             /* [in] */ long y);
1428 
1429         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_groupPosition )(
1430             IAccessible2_2 * This,
1431             /* [out] */ long *groupLevel,
1432             /* [out] */ long *similarItemsInGroup,
1433             /* [retval][out] */ long *positionInGroup);
1434 
1435         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_states )(
1436             IAccessible2_2 * This,
1437             /* [retval][out] */ AccessibleStates *states);
1438 
1439         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedRole )(
1440             IAccessible2_2 * This,
1441             /* [retval][out] */ BSTR *extendedRole);
1442 
1443         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedRole )(
1444             IAccessible2_2 * This,
1445             /* [retval][out] */ BSTR *localizedExtendedRole);
1446 
1447         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nExtendedStates )(
1448             IAccessible2_2 * This,
1449             /* [retval][out] */ long *nExtendedStates);
1450 
1451         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extendedStates )(
1452             IAccessible2_2 * This,
1453             /* [in] */ long maxExtendedStates,
1454             /* [length_is][length_is][size_is][size_is][out] */ BSTR **extendedStates,
1455             /* [retval][out] */ long *nExtendedStates);
1456 
1457         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedExtendedStates )(
1458             IAccessible2_2 * This,
1459             /* [in] */ long maxLocalizedExtendedStates,
1460             /* [length_is][length_is][size_is][size_is][out] */ BSTR **localizedExtendedStates,
1461             /* [retval][out] */ long *nLocalizedExtendedStates);
1462 
1463         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueID )(
1464             IAccessible2_2 * This,
1465             /* [retval][out] */ long *uniqueID);
1466 
1467         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_windowHandle )(
1468             IAccessible2_2 * This,
1469             /* [retval][out] */ HWND *windowHandle);
1470 
1471         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_indexInParent )(
1472             IAccessible2_2 * This,
1473             /* [retval][out] */ long *indexInParent);
1474 
1475         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locale )(
1476             IAccessible2_2 * This,
1477             /* [retval][out] */ IA2Locale *locale);
1478 
1479         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
1480             IAccessible2_2 * This,
1481             /* [retval][out] */ BSTR *attributes);
1482 
1483         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attribute )(
1484             IAccessible2_2 * This,
1485             /* [in] */ BSTR name,
1486             /* [retval][out] */ VARIANT *attribute);
1487 
1488         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleWithCaret )(
1489             IAccessible2_2 * This,
1490             /* [out] */ IUnknown **accessible,
1491             /* [retval][out] */ long *caretOffset);
1492 
1493         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_relationTargetsOfType )(
1494             IAccessible2_2 * This,
1495             /* [in] */ BSTR type,
1496             /* [in] */ long maxTargets,
1497             /* [size_is][size_is][out] */ IUnknown ***targets,
1498             /* [retval][out] */ long *nTargets);
1499 
1500         END_INTERFACE
1501     } IAccessible2_2Vtbl;
1502 
1503     interface IAccessible2_2
1504     {
1505         CONST_VTBL struct IAccessible2_2Vtbl *lpVtbl;
1506     };
1507 
1508 
1509 
1510 #ifdef COBJMACROS
1511 
1512 
1513 #define IAccessible2_2_QueryInterface(This,riid,ppvObject)	\
1514     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1515 
1516 #define IAccessible2_2_AddRef(This)	\
1517     ( (This)->lpVtbl -> AddRef(This) )
1518 
1519 #define IAccessible2_2_Release(This)	\
1520     ( (This)->lpVtbl -> Release(This) )
1521 
1522 
1523 #define IAccessible2_2_GetTypeInfoCount(This,pctinfo)	\
1524     ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
1525 
1526 #define IAccessible2_2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
1527     ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
1528 
1529 #define IAccessible2_2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
1530     ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
1531 
1532 #define IAccessible2_2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
1533     ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
1534 
1535 
1536 #define IAccessible2_2_get_accParent(This,ppdispParent)	\
1537     ( (This)->lpVtbl -> get_accParent(This,ppdispParent) )
1538 
1539 #define IAccessible2_2_get_accChildCount(This,pcountChildren)	\
1540     ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) )
1541 
1542 #define IAccessible2_2_get_accChild(This,varChild,ppdispChild)	\
1543     ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) )
1544 
1545 #define IAccessible2_2_get_accName(This,varChild,pszName)	\
1546     ( (This)->lpVtbl -> get_accName(This,varChild,pszName) )
1547 
1548 #define IAccessible2_2_get_accValue(This,varChild,pszValue)	\
1549     ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) )
1550 
1551 #define IAccessible2_2_get_accDescription(This,varChild,pszDescription)	\
1552     ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) )
1553 
1554 #define IAccessible2_2_get_accRole(This,varChild,pvarRole)	\
1555     ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) )
1556 
1557 #define IAccessible2_2_get_accState(This,varChild,pvarState)	\
1558     ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) )
1559 
1560 #define IAccessible2_2_get_accHelp(This,varChild,pszHelp)	\
1561     ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) )
1562 
1563 #define IAccessible2_2_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
1564     ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) )
1565 
1566 #define IAccessible2_2_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
1567     ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) )
1568 
1569 #define IAccessible2_2_get_accFocus(This,pvarChild)	\
1570     ( (This)->lpVtbl -> get_accFocus(This,pvarChild) )
1571 
1572 #define IAccessible2_2_get_accSelection(This,pvarChildren)	\
1573     ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) )
1574 
1575 #define IAccessible2_2_get_accDefaultAction(This,varChild,pszDefaultAction)	\
1576     ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) )
1577 
1578 #define IAccessible2_2_accSelect(This,flagsSelect,varChild)	\
1579     ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) )
1580 
1581 #define IAccessible2_2_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
1582     ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) )
1583 
1584 #define IAccessible2_2_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
1585     ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) )
1586 
1587 #define IAccessible2_2_accHitTest(This,xLeft,yTop,pvarChild)	\
1588     ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) )
1589 
1590 #define IAccessible2_2_accDoDefaultAction(This,varChild)	\
1591     ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) )
1592 
1593 #define IAccessible2_2_put_accName(This,varChild,szName)	\
1594     ( (This)->lpVtbl -> put_accName(This,varChild,szName) )
1595 
1596 #define IAccessible2_2_put_accValue(This,varChild,szValue)	\
1597     ( (This)->lpVtbl -> put_accValue(This,varChild,szValue) )
1598 
1599 
1600 #define IAccessible2_2_get_nRelations(This,nRelations)	\
1601     ( (This)->lpVtbl -> get_nRelations(This,nRelations) )
1602 
1603 #define IAccessible2_2_get_relation(This,relationIndex,relation)	\
1604     ( (This)->lpVtbl -> get_relation(This,relationIndex,relation) )
1605 
1606 #define IAccessible2_2_get_relations(This,maxRelations,relations,nRelations)	\
1607     ( (This)->lpVtbl -> get_relations(This,maxRelations,relations,nRelations) )
1608 
1609 #define IAccessible2_2_role(This,role)	\
1610     ( (This)->lpVtbl -> role(This,role) )
1611 
1612 #define IAccessible2_2_scrollTo(This,scrollType)	\
1613     ( (This)->lpVtbl -> scrollTo(This,scrollType) )
1614 
1615 #define IAccessible2_2_scrollToPoint(This,coordinateType,x,y)	\
1616     ( (This)->lpVtbl -> scrollToPoint(This,coordinateType,x,y) )
1617 
1618 #define IAccessible2_2_get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup)	\
1619     ( (This)->lpVtbl -> get_groupPosition(This,groupLevel,similarItemsInGroup,positionInGroup) )
1620 
1621 #define IAccessible2_2_get_states(This,states)	\
1622     ( (This)->lpVtbl -> get_states(This,states) )
1623 
1624 #define IAccessible2_2_get_extendedRole(This,extendedRole)	\
1625     ( (This)->lpVtbl -> get_extendedRole(This,extendedRole) )
1626 
1627 #define IAccessible2_2_get_localizedExtendedRole(This,localizedExtendedRole)	\
1628     ( (This)->lpVtbl -> get_localizedExtendedRole(This,localizedExtendedRole) )
1629 
1630 #define IAccessible2_2_get_nExtendedStates(This,nExtendedStates)	\
1631     ( (This)->lpVtbl -> get_nExtendedStates(This,nExtendedStates) )
1632 
1633 #define IAccessible2_2_get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates)	\
1634     ( (This)->lpVtbl -> get_extendedStates(This,maxExtendedStates,extendedStates,nExtendedStates) )
1635 
1636 #define IAccessible2_2_get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates)	\
1637     ( (This)->lpVtbl -> get_localizedExtendedStates(This,maxLocalizedExtendedStates,localizedExtendedStates,nLocalizedExtendedStates) )
1638 
1639 #define IAccessible2_2_get_uniqueID(This,uniqueID)	\
1640     ( (This)->lpVtbl -> get_uniqueID(This,uniqueID) )
1641 
1642 #define IAccessible2_2_get_windowHandle(This,windowHandle)	\
1643     ( (This)->lpVtbl -> get_windowHandle(This,windowHandle) )
1644 
1645 #define IAccessible2_2_get_indexInParent(This,indexInParent)	\
1646     ( (This)->lpVtbl -> get_indexInParent(This,indexInParent) )
1647 
1648 #define IAccessible2_2_get_locale(This,locale)	\
1649     ( (This)->lpVtbl -> get_locale(This,locale) )
1650 
1651 #define IAccessible2_2_get_attributes(This,attributes)	\
1652     ( (This)->lpVtbl -> get_attributes(This,attributes) )
1653 
1654 
1655 #define IAccessible2_2_get_attribute(This,name,attribute)	\
1656     ( (This)->lpVtbl -> get_attribute(This,name,attribute) )
1657 
1658 #define IAccessible2_2_get_accessibleWithCaret(This,accessible,caretOffset)	\
1659     ( (This)->lpVtbl -> get_accessibleWithCaret(This,accessible,caretOffset) )
1660 
1661 #define IAccessible2_2_get_relationTargetsOfType(This,type,maxTargets,targets,nTargets)	\
1662     ( (This)->lpVtbl -> get_relationTargetsOfType(This,type,maxTargets,targets,nTargets) )
1663 
1664 #endif /* COBJMACROS */
1665 
1666 
1667 #endif 	/* C style interface */
1668 
1669 
1670 
1671 
1672 #endif 	/* __IAccessible2_2_INTERFACE_DEFINED__ */
1673 
1674 
1675 /* interface __MIDL_itf_ia2_api_all_0000_0004 */
1676 /* [local] */
1677 
1678 typedef long IA2Color;
1679 
1680 
1681 
1682 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_c_ifspec;
1683 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0004_v0_0_s_ifspec;
1684 
1685 #ifndef __IAccessibleComponent_INTERFACE_DEFINED__
1686 #define __IAccessibleComponent_INTERFACE_DEFINED__
1687 
1688 /* interface IAccessibleComponent */
1689 /* [uuid][object] */
1690 
1691 
1692 EXTERN_C const IID IID_IAccessibleComponent;
1693 
1694 #if defined(__cplusplus) && !defined(CINTERFACE)
1695 
1696     MIDL_INTERFACE("1546D4B0-4C98-4bda-89AE-9A64748BDDE4")
1697     IAccessibleComponent : public IUnknown
1698     {
1699     public:
1700         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_locationInParent(
1701             /* [out] */ long *x,
1702             /* [retval][out] */ long *y) = 0;
1703 
1704         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_foreground(
1705             /* [retval][out] */ IA2Color *foreground) = 0;
1706 
1707         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_background(
1708             /* [retval][out] */ IA2Color *background) = 0;
1709 
1710     };
1711 
1712 #else 	/* C style interface */
1713 
1714     typedef struct IAccessibleComponentVtbl
1715     {
1716         BEGIN_INTERFACE
1717 
1718         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1719             IAccessibleComponent * This,
1720             /* [in] */ REFIID riid,
1721             /* [annotation][iid_is][out] */
1722             __RPC__deref_out  void **ppvObject);
1723 
1724         ULONG ( STDMETHODCALLTYPE *AddRef )(
1725             IAccessibleComponent * This);
1726 
1727         ULONG ( STDMETHODCALLTYPE *Release )(
1728             IAccessibleComponent * This);
1729 
1730         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationInParent )(
1731             IAccessibleComponent * This,
1732             /* [out] */ long *x,
1733             /* [retval][out] */ long *y);
1734 
1735         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_foreground )(
1736             IAccessibleComponent * This,
1737             /* [retval][out] */ IA2Color *foreground);
1738 
1739         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_background )(
1740             IAccessibleComponent * This,
1741             /* [retval][out] */ IA2Color *background);
1742 
1743         END_INTERFACE
1744     } IAccessibleComponentVtbl;
1745 
1746     interface IAccessibleComponent
1747     {
1748         CONST_VTBL struct IAccessibleComponentVtbl *lpVtbl;
1749     };
1750 
1751 
1752 
1753 #ifdef COBJMACROS
1754 
1755 
1756 #define IAccessibleComponent_QueryInterface(This,riid,ppvObject)	\
1757     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1758 
1759 #define IAccessibleComponent_AddRef(This)	\
1760     ( (This)->lpVtbl -> AddRef(This) )
1761 
1762 #define IAccessibleComponent_Release(This)	\
1763     ( (This)->lpVtbl -> Release(This) )
1764 
1765 
1766 #define IAccessibleComponent_get_locationInParent(This,x,y)	\
1767     ( (This)->lpVtbl -> get_locationInParent(This,x,y) )
1768 
1769 #define IAccessibleComponent_get_foreground(This,foreground)	\
1770     ( (This)->lpVtbl -> get_foreground(This,foreground) )
1771 
1772 #define IAccessibleComponent_get_background(This,background)	\
1773     ( (This)->lpVtbl -> get_background(This,background) )
1774 
1775 #endif /* COBJMACROS */
1776 
1777 
1778 #endif 	/* C style interface */
1779 
1780 
1781 
1782 
1783 #endif 	/* __IAccessibleComponent_INTERFACE_DEFINED__ */
1784 
1785 
1786 #ifndef __IAccessibleValue_INTERFACE_DEFINED__
1787 #define __IAccessibleValue_INTERFACE_DEFINED__
1788 
1789 /* interface IAccessibleValue */
1790 /* [uuid][object] */
1791 
1792 
1793 EXTERN_C const IID IID_IAccessibleValue;
1794 
1795 #if defined(__cplusplus) && !defined(CINTERFACE)
1796 
1797     MIDL_INTERFACE("35855B5B-C566-4fd0-A7B1-E65465600394")
1798     IAccessibleValue : public IUnknown
1799     {
1800     public:
1801         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentValue(
1802             /* [retval][out] */ VARIANT *currentValue) = 0;
1803 
1804         virtual HRESULT STDMETHODCALLTYPE setCurrentValue(
1805             /* [in] */ VARIANT value) = 0;
1806 
1807         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_maximumValue(
1808             /* [retval][out] */ VARIANT *maximumValue) = 0;
1809 
1810         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_minimumValue(
1811             /* [retval][out] */ VARIANT *minimumValue) = 0;
1812 
1813     };
1814 
1815 #else 	/* C style interface */
1816 
1817     typedef struct IAccessibleValueVtbl
1818     {
1819         BEGIN_INTERFACE
1820 
1821         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1822             IAccessibleValue * This,
1823             /* [in] */ REFIID riid,
1824             /* [annotation][iid_is][out] */
1825             __RPC__deref_out  void **ppvObject);
1826 
1827         ULONG ( STDMETHODCALLTYPE *AddRef )(
1828             IAccessibleValue * This);
1829 
1830         ULONG ( STDMETHODCALLTYPE *Release )(
1831             IAccessibleValue * This);
1832 
1833         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentValue )(
1834             IAccessibleValue * This,
1835             /* [retval][out] */ VARIANT *currentValue);
1836 
1837         HRESULT ( STDMETHODCALLTYPE *setCurrentValue )(
1838             IAccessibleValue * This,
1839             /* [in] */ VARIANT value);
1840 
1841         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_maximumValue )(
1842             IAccessibleValue * This,
1843             /* [retval][out] */ VARIANT *maximumValue);
1844 
1845         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_minimumValue )(
1846             IAccessibleValue * This,
1847             /* [retval][out] */ VARIANT *minimumValue);
1848 
1849         END_INTERFACE
1850     } IAccessibleValueVtbl;
1851 
1852     interface IAccessibleValue
1853     {
1854         CONST_VTBL struct IAccessibleValueVtbl *lpVtbl;
1855     };
1856 
1857 
1858 
1859 #ifdef COBJMACROS
1860 
1861 
1862 #define IAccessibleValue_QueryInterface(This,riid,ppvObject)	\
1863     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1864 
1865 #define IAccessibleValue_AddRef(This)	\
1866     ( (This)->lpVtbl -> AddRef(This) )
1867 
1868 #define IAccessibleValue_Release(This)	\
1869     ( (This)->lpVtbl -> Release(This) )
1870 
1871 
1872 #define IAccessibleValue_get_currentValue(This,currentValue)	\
1873     ( (This)->lpVtbl -> get_currentValue(This,currentValue) )
1874 
1875 #define IAccessibleValue_setCurrentValue(This,value)	\
1876     ( (This)->lpVtbl -> setCurrentValue(This,value) )
1877 
1878 #define IAccessibleValue_get_maximumValue(This,maximumValue)	\
1879     ( (This)->lpVtbl -> get_maximumValue(This,maximumValue) )
1880 
1881 #define IAccessibleValue_get_minimumValue(This,minimumValue)	\
1882     ( (This)->lpVtbl -> get_minimumValue(This,minimumValue) )
1883 
1884 #endif /* COBJMACROS */
1885 
1886 
1887 #endif 	/* C style interface */
1888 
1889 
1890 
1891 
1892 #endif 	/* __IAccessibleValue_INTERFACE_DEFINED__ */
1893 
1894 
1895 /* interface __MIDL_itf_ia2_api_all_0000_0006 */
1896 /* [local] */
1897 
1898 typedef struct IA2TextSegment
1899     {
1900     BSTR text;
1901     long start;
1902     long end;
1903     } 	IA2TextSegment;
1904 
1905 
1906 enum IA2TextBoundaryType
1907     {	IA2_TEXT_BOUNDARY_CHAR	= 0,
1908 	IA2_TEXT_BOUNDARY_WORD	= ( IA2_TEXT_BOUNDARY_CHAR + 1 ) ,
1909 	IA2_TEXT_BOUNDARY_SENTENCE	= ( IA2_TEXT_BOUNDARY_WORD + 1 ) ,
1910 	IA2_TEXT_BOUNDARY_PARAGRAPH	= ( IA2_TEXT_BOUNDARY_SENTENCE + 1 ) ,
1911 	IA2_TEXT_BOUNDARY_LINE	= ( IA2_TEXT_BOUNDARY_PARAGRAPH + 1 ) ,
1912 	IA2_TEXT_BOUNDARY_ALL	= ( IA2_TEXT_BOUNDARY_LINE + 1 )
1913     } ;
1914 
1915 
1916 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_c_ifspec;
1917 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0006_v0_0_s_ifspec;
1918 
1919 #ifndef __IAccessibleText_INTERFACE_DEFINED__
1920 #define __IAccessibleText_INTERFACE_DEFINED__
1921 
1922 /* interface IAccessibleText */
1923 /* [uuid][object] */
1924 
1925 
1926 EXTERN_C const IID IID_IAccessibleText;
1927 
1928 #if defined(__cplusplus) && !defined(CINTERFACE)
1929 
1930     MIDL_INTERFACE("24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B")
1931     IAccessibleText : public IUnknown
1932     {
1933     public:
1934         virtual HRESULT STDMETHODCALLTYPE addSelection(
1935             /* [in] */ long startOffset,
1936             /* [in] */ long endOffset) = 0;
1937 
1938         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
1939             /* [in] */ long offset,
1940             /* [out] */ long *startOffset,
1941             /* [out] */ long *endOffset,
1942             /* [retval][out] */ BSTR *textAttributes) = 0;
1943 
1944         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caretOffset(
1945             /* [retval][out] */ long *offset) = 0;
1946 
1947         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_characterExtents(
1948             /* [in] */ long offset,
1949             /* [in] */ enum IA2CoordinateType coordType,
1950             /* [out] */ long *x,
1951             /* [out] */ long *y,
1952             /* [out] */ long *width,
1953             /* [retval][out] */ long *height) = 0;
1954 
1955         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelections(
1956             /* [retval][out] */ long *nSelections) = 0;
1957 
1958         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_offsetAtPoint(
1959             /* [in] */ long x,
1960             /* [in] */ long y,
1961             /* [in] */ enum IA2CoordinateType coordType,
1962             /* [retval][out] */ long *offset) = 0;
1963 
1964         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selection(
1965             /* [in] */ long selectionIndex,
1966             /* [out] */ long *startOffset,
1967             /* [retval][out] */ long *endOffset) = 0;
1968 
1969         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_text(
1970             /* [in] */ long startOffset,
1971             /* [in] */ long endOffset,
1972             /* [retval][out] */ BSTR *text) = 0;
1973 
1974         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textBeforeOffset(
1975             /* [in] */ long offset,
1976             /* [in] */ enum IA2TextBoundaryType boundaryType,
1977             /* [out] */ long *startOffset,
1978             /* [out] */ long *endOffset,
1979             /* [retval][out] */ BSTR *text) = 0;
1980 
1981         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAfterOffset(
1982             /* [in] */ long offset,
1983             /* [in] */ enum IA2TextBoundaryType boundaryType,
1984             /* [out] */ long *startOffset,
1985             /* [out] */ long *endOffset,
1986             /* [retval][out] */ BSTR *text) = 0;
1987 
1988         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_textAtOffset(
1989             /* [in] */ long offset,
1990             /* [in] */ enum IA2TextBoundaryType boundaryType,
1991             /* [out] */ long *startOffset,
1992             /* [out] */ long *endOffset,
1993             /* [retval][out] */ BSTR *text) = 0;
1994 
1995         virtual HRESULT STDMETHODCALLTYPE removeSelection(
1996             /* [in] */ long selectionIndex) = 0;
1997 
1998         virtual HRESULT STDMETHODCALLTYPE setCaretOffset(
1999             /* [in] */ long offset) = 0;
2000 
2001         virtual HRESULT STDMETHODCALLTYPE setSelection(
2002             /* [in] */ long selectionIndex,
2003             /* [in] */ long startOffset,
2004             /* [in] */ long endOffset) = 0;
2005 
2006         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nCharacters(
2007             /* [retval][out] */ long *nCharacters) = 0;
2008 
2009         virtual HRESULT STDMETHODCALLTYPE scrollSubstringTo(
2010             /* [in] */ long startIndex,
2011             /* [in] */ long endIndex,
2012             /* [in] */ enum IA2ScrollType scrollType) = 0;
2013 
2014         virtual HRESULT STDMETHODCALLTYPE scrollSubstringToPoint(
2015             /* [in] */ long startIndex,
2016             /* [in] */ long endIndex,
2017             /* [in] */ enum IA2CoordinateType coordinateType,
2018             /* [in] */ long x,
2019             /* [in] */ long y) = 0;
2020 
2021         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_newText(
2022             /* [retval][out] */ IA2TextSegment *newText) = 0;
2023 
2024         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_oldText(
2025             /* [retval][out] */ IA2TextSegment *oldText) = 0;
2026 
2027     };
2028 
2029 #else 	/* C style interface */
2030 
2031     typedef struct IAccessibleTextVtbl
2032     {
2033         BEGIN_INTERFACE
2034 
2035         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2036             IAccessibleText * This,
2037             /* [in] */ REFIID riid,
2038             /* [annotation][iid_is][out] */
2039             __RPC__deref_out  void **ppvObject);
2040 
2041         ULONG ( STDMETHODCALLTYPE *AddRef )(
2042             IAccessibleText * This);
2043 
2044         ULONG ( STDMETHODCALLTYPE *Release )(
2045             IAccessibleText * This);
2046 
2047         HRESULT ( STDMETHODCALLTYPE *addSelection )(
2048             IAccessibleText * This,
2049             /* [in] */ long startOffset,
2050             /* [in] */ long endOffset);
2051 
2052         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
2053             IAccessibleText * This,
2054             /* [in] */ long offset,
2055             /* [out] */ long *startOffset,
2056             /* [out] */ long *endOffset,
2057             /* [retval][out] */ BSTR *textAttributes);
2058 
2059         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
2060             IAccessibleText * This,
2061             /* [retval][out] */ long *offset);
2062 
2063         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
2064             IAccessibleText * This,
2065             /* [in] */ long offset,
2066             /* [in] */ enum IA2CoordinateType coordType,
2067             /* [out] */ long *x,
2068             /* [out] */ long *y,
2069             /* [out] */ long *width,
2070             /* [retval][out] */ long *height);
2071 
2072         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
2073             IAccessibleText * This,
2074             /* [retval][out] */ long *nSelections);
2075 
2076         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
2077             IAccessibleText * This,
2078             /* [in] */ long x,
2079             /* [in] */ long y,
2080             /* [in] */ enum IA2CoordinateType coordType,
2081             /* [retval][out] */ long *offset);
2082 
2083         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
2084             IAccessibleText * This,
2085             /* [in] */ long selectionIndex,
2086             /* [out] */ long *startOffset,
2087             /* [retval][out] */ long *endOffset);
2088 
2089         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
2090             IAccessibleText * This,
2091             /* [in] */ long startOffset,
2092             /* [in] */ long endOffset,
2093             /* [retval][out] */ BSTR *text);
2094 
2095         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
2096             IAccessibleText * This,
2097             /* [in] */ long offset,
2098             /* [in] */ enum IA2TextBoundaryType boundaryType,
2099             /* [out] */ long *startOffset,
2100             /* [out] */ long *endOffset,
2101             /* [retval][out] */ BSTR *text);
2102 
2103         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
2104             IAccessibleText * This,
2105             /* [in] */ long offset,
2106             /* [in] */ enum IA2TextBoundaryType boundaryType,
2107             /* [out] */ long *startOffset,
2108             /* [out] */ long *endOffset,
2109             /* [retval][out] */ BSTR *text);
2110 
2111         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
2112             IAccessibleText * This,
2113             /* [in] */ long offset,
2114             /* [in] */ enum IA2TextBoundaryType boundaryType,
2115             /* [out] */ long *startOffset,
2116             /* [out] */ long *endOffset,
2117             /* [retval][out] */ BSTR *text);
2118 
2119         HRESULT ( STDMETHODCALLTYPE *removeSelection )(
2120             IAccessibleText * This,
2121             /* [in] */ long selectionIndex);
2122 
2123         HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
2124             IAccessibleText * This,
2125             /* [in] */ long offset);
2126 
2127         HRESULT ( STDMETHODCALLTYPE *setSelection )(
2128             IAccessibleText * This,
2129             /* [in] */ long selectionIndex,
2130             /* [in] */ long startOffset,
2131             /* [in] */ long endOffset);
2132 
2133         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
2134             IAccessibleText * This,
2135             /* [retval][out] */ long *nCharacters);
2136 
2137         HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
2138             IAccessibleText * This,
2139             /* [in] */ long startIndex,
2140             /* [in] */ long endIndex,
2141             /* [in] */ enum IA2ScrollType scrollType);
2142 
2143         HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
2144             IAccessibleText * This,
2145             /* [in] */ long startIndex,
2146             /* [in] */ long endIndex,
2147             /* [in] */ enum IA2CoordinateType coordinateType,
2148             /* [in] */ long x,
2149             /* [in] */ long y);
2150 
2151         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
2152             IAccessibleText * This,
2153             /* [retval][out] */ IA2TextSegment *newText);
2154 
2155         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
2156             IAccessibleText * This,
2157             /* [retval][out] */ IA2TextSegment *oldText);
2158 
2159         END_INTERFACE
2160     } IAccessibleTextVtbl;
2161 
2162     interface IAccessibleText
2163     {
2164         CONST_VTBL struct IAccessibleTextVtbl *lpVtbl;
2165     };
2166 
2167 
2168 
2169 #ifdef COBJMACROS
2170 
2171 
2172 #define IAccessibleText_QueryInterface(This,riid,ppvObject)	\
2173     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2174 
2175 #define IAccessibleText_AddRef(This)	\
2176     ( (This)->lpVtbl -> AddRef(This) )
2177 
2178 #define IAccessibleText_Release(This)	\
2179     ( (This)->lpVtbl -> Release(This) )
2180 
2181 
2182 #define IAccessibleText_addSelection(This,startOffset,endOffset)	\
2183     ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
2184 
2185 #define IAccessibleText_get_attributes(This,offset,startOffset,endOffset,textAttributes)	\
2186     ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
2187 
2188 #define IAccessibleText_get_caretOffset(This,offset)	\
2189     ( (This)->lpVtbl -> get_caretOffset(This,offset) )
2190 
2191 #define IAccessibleText_get_characterExtents(This,offset,coordType,x,y,width,height)	\
2192     ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
2193 
2194 #define IAccessibleText_get_nSelections(This,nSelections)	\
2195     ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
2196 
2197 #define IAccessibleText_get_offsetAtPoint(This,x,y,coordType,offset)	\
2198     ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
2199 
2200 #define IAccessibleText_get_selection(This,selectionIndex,startOffset,endOffset)	\
2201     ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
2202 
2203 #define IAccessibleText_get_text(This,startOffset,endOffset,text)	\
2204     ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
2205 
2206 #define IAccessibleText_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
2207     ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
2208 
2209 #define IAccessibleText_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
2210     ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
2211 
2212 #define IAccessibleText_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
2213     ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
2214 
2215 #define IAccessibleText_removeSelection(This,selectionIndex)	\
2216     ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
2217 
2218 #define IAccessibleText_setCaretOffset(This,offset)	\
2219     ( (This)->lpVtbl -> setCaretOffset(This,offset) )
2220 
2221 #define IAccessibleText_setSelection(This,selectionIndex,startOffset,endOffset)	\
2222     ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
2223 
2224 #define IAccessibleText_get_nCharacters(This,nCharacters)	\
2225     ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
2226 
2227 #define IAccessibleText_scrollSubstringTo(This,startIndex,endIndex,scrollType)	\
2228     ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
2229 
2230 #define IAccessibleText_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y)	\
2231     ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
2232 
2233 #define IAccessibleText_get_newText(This,newText)	\
2234     ( (This)->lpVtbl -> get_newText(This,newText) )
2235 
2236 #define IAccessibleText_get_oldText(This,oldText)	\
2237     ( (This)->lpVtbl -> get_oldText(This,oldText) )
2238 
2239 #endif /* COBJMACROS */
2240 
2241 
2242 #endif 	/* C style interface */
2243 
2244 
2245 
2246 
2247 #endif 	/* __IAccessibleText_INTERFACE_DEFINED__ */
2248 
2249 
2250 #ifndef __IAccessibleText2_INTERFACE_DEFINED__
2251 #define __IAccessibleText2_INTERFACE_DEFINED__
2252 
2253 /* interface IAccessibleText2 */
2254 /* [uuid][object] */
2255 
2256 
2257 EXTERN_C const IID IID_IAccessibleText2;
2258 
2259 #if defined(__cplusplus) && !defined(CINTERFACE)
2260 
2261     MIDL_INTERFACE("9690A9CC-5C80-4DF5-852E-2D5AE4189A54")
2262     IAccessibleText2 : public IAccessibleText
2263     {
2264     public:
2265         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_attributeRange(
2266             /* [in] */ long offset,
2267             /* [in] */ BSTR filter,
2268             /* [out] */ long *startOffset,
2269             /* [out] */ long *endOffset,
2270             /* [retval][out] */ BSTR *attributeValues) = 0;
2271 
2272     };
2273 
2274 #else 	/* C style interface */
2275 
2276     typedef struct IAccessibleText2Vtbl
2277     {
2278         BEGIN_INTERFACE
2279 
2280         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2281             IAccessibleText2 * This,
2282             /* [in] */ REFIID riid,
2283             /* [annotation][iid_is][out] */
2284             __RPC__deref_out  void **ppvObject);
2285 
2286         ULONG ( STDMETHODCALLTYPE *AddRef )(
2287             IAccessibleText2 * This);
2288 
2289         ULONG ( STDMETHODCALLTYPE *Release )(
2290             IAccessibleText2 * This);
2291 
2292         HRESULT ( STDMETHODCALLTYPE *addSelection )(
2293             IAccessibleText2 * This,
2294             /* [in] */ long startOffset,
2295             /* [in] */ long endOffset);
2296 
2297         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
2298             IAccessibleText2 * This,
2299             /* [in] */ long offset,
2300             /* [out] */ long *startOffset,
2301             /* [out] */ long *endOffset,
2302             /* [retval][out] */ BSTR *textAttributes);
2303 
2304         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
2305             IAccessibleText2 * This,
2306             /* [retval][out] */ long *offset);
2307 
2308         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
2309             IAccessibleText2 * This,
2310             /* [in] */ long offset,
2311             /* [in] */ enum IA2CoordinateType coordType,
2312             /* [out] */ long *x,
2313             /* [out] */ long *y,
2314             /* [out] */ long *width,
2315             /* [retval][out] */ long *height);
2316 
2317         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
2318             IAccessibleText2 * This,
2319             /* [retval][out] */ long *nSelections);
2320 
2321         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
2322             IAccessibleText2 * This,
2323             /* [in] */ long x,
2324             /* [in] */ long y,
2325             /* [in] */ enum IA2CoordinateType coordType,
2326             /* [retval][out] */ long *offset);
2327 
2328         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
2329             IAccessibleText2 * This,
2330             /* [in] */ long selectionIndex,
2331             /* [out] */ long *startOffset,
2332             /* [retval][out] */ long *endOffset);
2333 
2334         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
2335             IAccessibleText2 * This,
2336             /* [in] */ long startOffset,
2337             /* [in] */ long endOffset,
2338             /* [retval][out] */ BSTR *text);
2339 
2340         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
2341             IAccessibleText2 * This,
2342             /* [in] */ long offset,
2343             /* [in] */ enum IA2TextBoundaryType boundaryType,
2344             /* [out] */ long *startOffset,
2345             /* [out] */ long *endOffset,
2346             /* [retval][out] */ BSTR *text);
2347 
2348         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
2349             IAccessibleText2 * This,
2350             /* [in] */ long offset,
2351             /* [in] */ enum IA2TextBoundaryType boundaryType,
2352             /* [out] */ long *startOffset,
2353             /* [out] */ long *endOffset,
2354             /* [retval][out] */ BSTR *text);
2355 
2356         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
2357             IAccessibleText2 * This,
2358             /* [in] */ long offset,
2359             /* [in] */ enum IA2TextBoundaryType boundaryType,
2360             /* [out] */ long *startOffset,
2361             /* [out] */ long *endOffset,
2362             /* [retval][out] */ BSTR *text);
2363 
2364         HRESULT ( STDMETHODCALLTYPE *removeSelection )(
2365             IAccessibleText2 * This,
2366             /* [in] */ long selectionIndex);
2367 
2368         HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
2369             IAccessibleText2 * This,
2370             /* [in] */ long offset);
2371 
2372         HRESULT ( STDMETHODCALLTYPE *setSelection )(
2373             IAccessibleText2 * This,
2374             /* [in] */ long selectionIndex,
2375             /* [in] */ long startOffset,
2376             /* [in] */ long endOffset);
2377 
2378         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
2379             IAccessibleText2 * This,
2380             /* [retval][out] */ long *nCharacters);
2381 
2382         HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
2383             IAccessibleText2 * This,
2384             /* [in] */ long startIndex,
2385             /* [in] */ long endIndex,
2386             /* [in] */ enum IA2ScrollType scrollType);
2387 
2388         HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
2389             IAccessibleText2 * This,
2390             /* [in] */ long startIndex,
2391             /* [in] */ long endIndex,
2392             /* [in] */ enum IA2CoordinateType coordinateType,
2393             /* [in] */ long x,
2394             /* [in] */ long y);
2395 
2396         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
2397             IAccessibleText2 * This,
2398             /* [retval][out] */ IA2TextSegment *newText);
2399 
2400         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
2401             IAccessibleText2 * This,
2402             /* [retval][out] */ IA2TextSegment *oldText);
2403 
2404         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributeRange )(
2405             IAccessibleText2 * This,
2406             /* [in] */ long offset,
2407             /* [in] */ BSTR filter,
2408             /* [out] */ long *startOffset,
2409             /* [out] */ long *endOffset,
2410             /* [retval][out] */ BSTR *attributeValues);
2411 
2412         END_INTERFACE
2413     } IAccessibleText2Vtbl;
2414 
2415     interface IAccessibleText2
2416     {
2417         CONST_VTBL struct IAccessibleText2Vtbl *lpVtbl;
2418     };
2419 
2420 
2421 
2422 #ifdef COBJMACROS
2423 
2424 
2425 #define IAccessibleText2_QueryInterface(This,riid,ppvObject)	\
2426     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2427 
2428 #define IAccessibleText2_AddRef(This)	\
2429     ( (This)->lpVtbl -> AddRef(This) )
2430 
2431 #define IAccessibleText2_Release(This)	\
2432     ( (This)->lpVtbl -> Release(This) )
2433 
2434 
2435 #define IAccessibleText2_addSelection(This,startOffset,endOffset)	\
2436     ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
2437 
2438 #define IAccessibleText2_get_attributes(This,offset,startOffset,endOffset,textAttributes)	\
2439     ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
2440 
2441 #define IAccessibleText2_get_caretOffset(This,offset)	\
2442     ( (This)->lpVtbl -> get_caretOffset(This,offset) )
2443 
2444 #define IAccessibleText2_get_characterExtents(This,offset,coordType,x,y,width,height)	\
2445     ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
2446 
2447 #define IAccessibleText2_get_nSelections(This,nSelections)	\
2448     ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
2449 
2450 #define IAccessibleText2_get_offsetAtPoint(This,x,y,coordType,offset)	\
2451     ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
2452 
2453 #define IAccessibleText2_get_selection(This,selectionIndex,startOffset,endOffset)	\
2454     ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
2455 
2456 #define IAccessibleText2_get_text(This,startOffset,endOffset,text)	\
2457     ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
2458 
2459 #define IAccessibleText2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
2460     ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
2461 
2462 #define IAccessibleText2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
2463     ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
2464 
2465 #define IAccessibleText2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
2466     ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
2467 
2468 #define IAccessibleText2_removeSelection(This,selectionIndex)	\
2469     ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
2470 
2471 #define IAccessibleText2_setCaretOffset(This,offset)	\
2472     ( (This)->lpVtbl -> setCaretOffset(This,offset) )
2473 
2474 #define IAccessibleText2_setSelection(This,selectionIndex,startOffset,endOffset)	\
2475     ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
2476 
2477 #define IAccessibleText2_get_nCharacters(This,nCharacters)	\
2478     ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
2479 
2480 #define IAccessibleText2_scrollSubstringTo(This,startIndex,endIndex,scrollType)	\
2481     ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
2482 
2483 #define IAccessibleText2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y)	\
2484     ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
2485 
2486 #define IAccessibleText2_get_newText(This,newText)	\
2487     ( (This)->lpVtbl -> get_newText(This,newText) )
2488 
2489 #define IAccessibleText2_get_oldText(This,oldText)	\
2490     ( (This)->lpVtbl -> get_oldText(This,oldText) )
2491 
2492 
2493 #define IAccessibleText2_get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues)	\
2494     ( (This)->lpVtbl -> get_attributeRange(This,offset,filter,startOffset,endOffset,attributeValues) )
2495 
2496 #endif /* COBJMACROS */
2497 
2498 
2499 #endif 	/* C style interface */
2500 
2501 
2502 
2503 
2504 #endif 	/* __IAccessibleText2_INTERFACE_DEFINED__ */
2505 
2506 
2507 #ifndef __IAccessibleEditableText_INTERFACE_DEFINED__
2508 #define __IAccessibleEditableText_INTERFACE_DEFINED__
2509 
2510 /* interface IAccessibleEditableText */
2511 /* [uuid][object] */
2512 
2513 
2514 EXTERN_C const IID IID_IAccessibleEditableText;
2515 
2516 #if defined(__cplusplus) && !defined(CINTERFACE)
2517 
2518     MIDL_INTERFACE("A59AA09A-7011-4b65-939D-32B1FB5547E3")
2519     IAccessibleEditableText : public IUnknown
2520     {
2521     public:
2522         virtual HRESULT STDMETHODCALLTYPE copyText(
2523             /* [in] */ long startOffset,
2524             /* [in] */ long endOffset) = 0;
2525 
2526         virtual HRESULT STDMETHODCALLTYPE deleteText(
2527             /* [in] */ long startOffset,
2528             /* [in] */ long endOffset) = 0;
2529 
2530         virtual HRESULT STDMETHODCALLTYPE insertText(
2531             /* [in] */ long offset,
2532             /* [in] */ BSTR *text) = 0;
2533 
2534         virtual HRESULT STDMETHODCALLTYPE cutText(
2535             /* [in] */ long startOffset,
2536             /* [in] */ long endOffset) = 0;
2537 
2538         virtual HRESULT STDMETHODCALLTYPE pasteText(
2539             /* [in] */ long offset) = 0;
2540 
2541         virtual HRESULT STDMETHODCALLTYPE replaceText(
2542             /* [in] */ long startOffset,
2543             /* [in] */ long endOffset,
2544             /* [in] */ BSTR *text) = 0;
2545 
2546         virtual HRESULT STDMETHODCALLTYPE setAttributes(
2547             /* [in] */ long startOffset,
2548             /* [in] */ long endOffset,
2549             /* [in] */ BSTR *attributes) = 0;
2550 
2551     };
2552 
2553 #else 	/* C style interface */
2554 
2555     typedef struct IAccessibleEditableTextVtbl
2556     {
2557         BEGIN_INTERFACE
2558 
2559         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2560             IAccessibleEditableText * This,
2561             /* [in] */ REFIID riid,
2562             /* [annotation][iid_is][out] */
2563             __RPC__deref_out  void **ppvObject);
2564 
2565         ULONG ( STDMETHODCALLTYPE *AddRef )(
2566             IAccessibleEditableText * This);
2567 
2568         ULONG ( STDMETHODCALLTYPE *Release )(
2569             IAccessibleEditableText * This);
2570 
2571         HRESULT ( STDMETHODCALLTYPE *copyText )(
2572             IAccessibleEditableText * This,
2573             /* [in] */ long startOffset,
2574             /* [in] */ long endOffset);
2575 
2576         HRESULT ( STDMETHODCALLTYPE *deleteText )(
2577             IAccessibleEditableText * This,
2578             /* [in] */ long startOffset,
2579             /* [in] */ long endOffset);
2580 
2581         HRESULT ( STDMETHODCALLTYPE *insertText )(
2582             IAccessibleEditableText * This,
2583             /* [in] */ long offset,
2584             /* [in] */ BSTR *text);
2585 
2586         HRESULT ( STDMETHODCALLTYPE *cutText )(
2587             IAccessibleEditableText * This,
2588             /* [in] */ long startOffset,
2589             /* [in] */ long endOffset);
2590 
2591         HRESULT ( STDMETHODCALLTYPE *pasteText )(
2592             IAccessibleEditableText * This,
2593             /* [in] */ long offset);
2594 
2595         HRESULT ( STDMETHODCALLTYPE *replaceText )(
2596             IAccessibleEditableText * This,
2597             /* [in] */ long startOffset,
2598             /* [in] */ long endOffset,
2599             /* [in] */ BSTR *text);
2600 
2601         HRESULT ( STDMETHODCALLTYPE *setAttributes )(
2602             IAccessibleEditableText * This,
2603             /* [in] */ long startOffset,
2604             /* [in] */ long endOffset,
2605             /* [in] */ BSTR *attributes);
2606 
2607         END_INTERFACE
2608     } IAccessibleEditableTextVtbl;
2609 
2610     interface IAccessibleEditableText
2611     {
2612         CONST_VTBL struct IAccessibleEditableTextVtbl *lpVtbl;
2613     };
2614 
2615 
2616 
2617 #ifdef COBJMACROS
2618 
2619 
2620 #define IAccessibleEditableText_QueryInterface(This,riid,ppvObject)	\
2621     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2622 
2623 #define IAccessibleEditableText_AddRef(This)	\
2624     ( (This)->lpVtbl -> AddRef(This) )
2625 
2626 #define IAccessibleEditableText_Release(This)	\
2627     ( (This)->lpVtbl -> Release(This) )
2628 
2629 
2630 #define IAccessibleEditableText_copyText(This,startOffset,endOffset)	\
2631     ( (This)->lpVtbl -> copyText(This,startOffset,endOffset) )
2632 
2633 #define IAccessibleEditableText_deleteText(This,startOffset,endOffset)	\
2634     ( (This)->lpVtbl -> deleteText(This,startOffset,endOffset) )
2635 
2636 #define IAccessibleEditableText_insertText(This,offset,text)	\
2637     ( (This)->lpVtbl -> insertText(This,offset,text) )
2638 
2639 #define IAccessibleEditableText_cutText(This,startOffset,endOffset)	\
2640     ( (This)->lpVtbl -> cutText(This,startOffset,endOffset) )
2641 
2642 #define IAccessibleEditableText_pasteText(This,offset)	\
2643     ( (This)->lpVtbl -> pasteText(This,offset) )
2644 
2645 #define IAccessibleEditableText_replaceText(This,startOffset,endOffset,text)	\
2646     ( (This)->lpVtbl -> replaceText(This,startOffset,endOffset,text) )
2647 
2648 #define IAccessibleEditableText_setAttributes(This,startOffset,endOffset,attributes)	\
2649     ( (This)->lpVtbl -> setAttributes(This,startOffset,endOffset,attributes) )
2650 
2651 #endif /* COBJMACROS */
2652 
2653 
2654 #endif 	/* C style interface */
2655 
2656 
2657 
2658 
2659 #endif 	/* __IAccessibleEditableText_INTERFACE_DEFINED__ */
2660 
2661 
2662 #ifndef __IAccessibleHyperlink_INTERFACE_DEFINED__
2663 #define __IAccessibleHyperlink_INTERFACE_DEFINED__
2664 
2665 /* interface IAccessibleHyperlink */
2666 /* [uuid][object] */
2667 
2668 
2669 EXTERN_C const IID IID_IAccessibleHyperlink;
2670 
2671 #if defined(__cplusplus) && !defined(CINTERFACE)
2672 
2673     MIDL_INTERFACE("01C20F2B-3DD2-400f-949F-AD00BDAB1D41")
2674     IAccessibleHyperlink : public IAccessibleAction
2675     {
2676     public:
2677         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchor(
2678             /* [in] */ long index,
2679             /* [retval][out] */ VARIANT *anchor) = 0;
2680 
2681         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget(
2682             /* [in] */ long index,
2683             /* [retval][out] */ VARIANT *anchorTarget) = 0;
2684 
2685         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_startIndex(
2686             /* [retval][out] */ long *index) = 0;
2687 
2688         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_endIndex(
2689             /* [retval][out] */ long *index) = 0;
2690 
2691         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_valid(
2692             /* [retval][out] */ boolean *valid) = 0;
2693 
2694     };
2695 
2696 #else 	/* C style interface */
2697 
2698     typedef struct IAccessibleHyperlinkVtbl
2699     {
2700         BEGIN_INTERFACE
2701 
2702         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2703             IAccessibleHyperlink * This,
2704             /* [in] */ REFIID riid,
2705             /* [annotation][iid_is][out] */
2706             __RPC__deref_out  void **ppvObject);
2707 
2708         ULONG ( STDMETHODCALLTYPE *AddRef )(
2709             IAccessibleHyperlink * This);
2710 
2711         ULONG ( STDMETHODCALLTYPE *Release )(
2712             IAccessibleHyperlink * This);
2713 
2714         HRESULT ( STDMETHODCALLTYPE *nActions )(
2715             IAccessibleHyperlink * This,
2716             /* [retval][out] */ long *nActions);
2717 
2718         HRESULT ( STDMETHODCALLTYPE *doAction )(
2719             IAccessibleHyperlink * This,
2720             /* [in] */ long actionIndex);
2721 
2722         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
2723             IAccessibleHyperlink * This,
2724             /* [in] */ long actionIndex,
2725             /* [retval][out] */ BSTR *description);
2726 
2727         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_keyBinding )(
2728             IAccessibleHyperlink * This,
2729             /* [in] */ long actionIndex,
2730             /* [in] */ long nMaxBindings,
2731             /* [length_is][length_is][size_is][size_is][out] */ BSTR **keyBindings,
2732             /* [retval][out] */ long *nBindings);
2733 
2734         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
2735             IAccessibleHyperlink * This,
2736             /* [in] */ long actionIndex,
2737             /* [retval][out] */ BSTR *name);
2738 
2739         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_localizedName )(
2740             IAccessibleHyperlink * This,
2741             /* [in] */ long actionIndex,
2742             /* [retval][out] */ BSTR *localizedName);
2743 
2744         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchor )(
2745             IAccessibleHyperlink * This,
2746             /* [in] */ long index,
2747             /* [retval][out] */ VARIANT *anchor);
2748 
2749         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )(
2750             IAccessibleHyperlink * This,
2751             /* [in] */ long index,
2752             /* [retval][out] */ VARIANT *anchorTarget);
2753 
2754         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_startIndex )(
2755             IAccessibleHyperlink * This,
2756             /* [retval][out] */ long *index);
2757 
2758         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_endIndex )(
2759             IAccessibleHyperlink * This,
2760             /* [retval][out] */ long *index);
2761 
2762         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_valid )(
2763             IAccessibleHyperlink * This,
2764             /* [retval][out] */ boolean *valid);
2765 
2766         END_INTERFACE
2767     } IAccessibleHyperlinkVtbl;
2768 
2769     interface IAccessibleHyperlink
2770     {
2771         CONST_VTBL struct IAccessibleHyperlinkVtbl *lpVtbl;
2772     };
2773 
2774 
2775 
2776 #ifdef COBJMACROS
2777 
2778 
2779 #define IAccessibleHyperlink_QueryInterface(This,riid,ppvObject)	\
2780     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2781 
2782 #define IAccessibleHyperlink_AddRef(This)	\
2783     ( (This)->lpVtbl -> AddRef(This) )
2784 
2785 #define IAccessibleHyperlink_Release(This)	\
2786     ( (This)->lpVtbl -> Release(This) )
2787 
2788 
2789 #define IAccessibleHyperlink_nActions(This,nActions)	\
2790     ( (This)->lpVtbl -> nActions(This,nActions) )
2791 
2792 #define IAccessibleHyperlink_doAction(This,actionIndex)	\
2793     ( (This)->lpVtbl -> doAction(This,actionIndex) )
2794 
2795 #define IAccessibleHyperlink_get_description(This,actionIndex,description)	\
2796     ( (This)->lpVtbl -> get_description(This,actionIndex,description) )
2797 
2798 #define IAccessibleHyperlink_get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings)	\
2799     ( (This)->lpVtbl -> get_keyBinding(This,actionIndex,nMaxBindings,keyBindings,nBindings) )
2800 
2801 #define IAccessibleHyperlink_get_name(This,actionIndex,name)	\
2802     ( (This)->lpVtbl -> get_name(This,actionIndex,name) )
2803 
2804 #define IAccessibleHyperlink_get_localizedName(This,actionIndex,localizedName)	\
2805     ( (This)->lpVtbl -> get_localizedName(This,actionIndex,localizedName) )
2806 
2807 
2808 #define IAccessibleHyperlink_get_anchor(This,index,anchor)	\
2809     ( (This)->lpVtbl -> get_anchor(This,index,anchor) )
2810 
2811 #define IAccessibleHyperlink_get_anchorTarget(This,index,anchorTarget)	\
2812     ( (This)->lpVtbl -> get_anchorTarget(This,index,anchorTarget) )
2813 
2814 #define IAccessibleHyperlink_get_startIndex(This,index)	\
2815     ( (This)->lpVtbl -> get_startIndex(This,index) )
2816 
2817 #define IAccessibleHyperlink_get_endIndex(This,index)	\
2818     ( (This)->lpVtbl -> get_endIndex(This,index) )
2819 
2820 #define IAccessibleHyperlink_get_valid(This,valid)	\
2821     ( (This)->lpVtbl -> get_valid(This,valid) )
2822 
2823 #endif /* COBJMACROS */
2824 
2825 
2826 #endif 	/* C style interface */
2827 
2828 
2829 
2830 
2831 #endif 	/* __IAccessibleHyperlink_INTERFACE_DEFINED__ */
2832 
2833 
2834 #ifndef __IAccessibleHypertext_INTERFACE_DEFINED__
2835 #define __IAccessibleHypertext_INTERFACE_DEFINED__
2836 
2837 /* interface IAccessibleHypertext */
2838 /* [uuid][object] */
2839 
2840 
2841 EXTERN_C const IID IID_IAccessibleHypertext;
2842 
2843 #if defined(__cplusplus) && !defined(CINTERFACE)
2844 
2845     MIDL_INTERFACE("6B4F8BBF-F1F2-418a-B35E-A195BC4103B9")
2846     IAccessibleHypertext : public IAccessibleText
2847     {
2848     public:
2849         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nHyperlinks(
2850             /* [retval][out] */ long *hyperlinkCount) = 0;
2851 
2852         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlink(
2853             /* [in] */ long index,
2854             /* [retval][out] */ IAccessibleHyperlink **hyperlink) = 0;
2855 
2856         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinkIndex(
2857             /* [in] */ long charIndex,
2858             /* [retval][out] */ long *hyperlinkIndex) = 0;
2859 
2860     };
2861 
2862 #else 	/* C style interface */
2863 
2864     typedef struct IAccessibleHypertextVtbl
2865     {
2866         BEGIN_INTERFACE
2867 
2868         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2869             IAccessibleHypertext * This,
2870             /* [in] */ REFIID riid,
2871             /* [annotation][iid_is][out] */
2872             __RPC__deref_out  void **ppvObject);
2873 
2874         ULONG ( STDMETHODCALLTYPE *AddRef )(
2875             IAccessibleHypertext * This);
2876 
2877         ULONG ( STDMETHODCALLTYPE *Release )(
2878             IAccessibleHypertext * This);
2879 
2880         HRESULT ( STDMETHODCALLTYPE *addSelection )(
2881             IAccessibleHypertext * This,
2882             /* [in] */ long startOffset,
2883             /* [in] */ long endOffset);
2884 
2885         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
2886             IAccessibleHypertext * This,
2887             /* [in] */ long offset,
2888             /* [out] */ long *startOffset,
2889             /* [out] */ long *endOffset,
2890             /* [retval][out] */ BSTR *textAttributes);
2891 
2892         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
2893             IAccessibleHypertext * This,
2894             /* [retval][out] */ long *offset);
2895 
2896         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
2897             IAccessibleHypertext * This,
2898             /* [in] */ long offset,
2899             /* [in] */ enum IA2CoordinateType coordType,
2900             /* [out] */ long *x,
2901             /* [out] */ long *y,
2902             /* [out] */ long *width,
2903             /* [retval][out] */ long *height);
2904 
2905         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
2906             IAccessibleHypertext * This,
2907             /* [retval][out] */ long *nSelections);
2908 
2909         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
2910             IAccessibleHypertext * This,
2911             /* [in] */ long x,
2912             /* [in] */ long y,
2913             /* [in] */ enum IA2CoordinateType coordType,
2914             /* [retval][out] */ long *offset);
2915 
2916         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
2917             IAccessibleHypertext * This,
2918             /* [in] */ long selectionIndex,
2919             /* [out] */ long *startOffset,
2920             /* [retval][out] */ long *endOffset);
2921 
2922         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
2923             IAccessibleHypertext * This,
2924             /* [in] */ long startOffset,
2925             /* [in] */ long endOffset,
2926             /* [retval][out] */ BSTR *text);
2927 
2928         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
2929             IAccessibleHypertext * This,
2930             /* [in] */ long offset,
2931             /* [in] */ enum IA2TextBoundaryType boundaryType,
2932             /* [out] */ long *startOffset,
2933             /* [out] */ long *endOffset,
2934             /* [retval][out] */ BSTR *text);
2935 
2936         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
2937             IAccessibleHypertext * This,
2938             /* [in] */ long offset,
2939             /* [in] */ enum IA2TextBoundaryType boundaryType,
2940             /* [out] */ long *startOffset,
2941             /* [out] */ long *endOffset,
2942             /* [retval][out] */ BSTR *text);
2943 
2944         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
2945             IAccessibleHypertext * This,
2946             /* [in] */ long offset,
2947             /* [in] */ enum IA2TextBoundaryType boundaryType,
2948             /* [out] */ long *startOffset,
2949             /* [out] */ long *endOffset,
2950             /* [retval][out] */ BSTR *text);
2951 
2952         HRESULT ( STDMETHODCALLTYPE *removeSelection )(
2953             IAccessibleHypertext * This,
2954             /* [in] */ long selectionIndex);
2955 
2956         HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
2957             IAccessibleHypertext * This,
2958             /* [in] */ long offset);
2959 
2960         HRESULT ( STDMETHODCALLTYPE *setSelection )(
2961             IAccessibleHypertext * This,
2962             /* [in] */ long selectionIndex,
2963             /* [in] */ long startOffset,
2964             /* [in] */ long endOffset);
2965 
2966         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
2967             IAccessibleHypertext * This,
2968             /* [retval][out] */ long *nCharacters);
2969 
2970         HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
2971             IAccessibleHypertext * This,
2972             /* [in] */ long startIndex,
2973             /* [in] */ long endIndex,
2974             /* [in] */ enum IA2ScrollType scrollType);
2975 
2976         HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
2977             IAccessibleHypertext * This,
2978             /* [in] */ long startIndex,
2979             /* [in] */ long endIndex,
2980             /* [in] */ enum IA2CoordinateType coordinateType,
2981             /* [in] */ long x,
2982             /* [in] */ long y);
2983 
2984         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
2985             IAccessibleHypertext * This,
2986             /* [retval][out] */ IA2TextSegment *newText);
2987 
2988         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
2989             IAccessibleHypertext * This,
2990             /* [retval][out] */ IA2TextSegment *oldText);
2991 
2992         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )(
2993             IAccessibleHypertext * This,
2994             /* [retval][out] */ long *hyperlinkCount);
2995 
2996         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )(
2997             IAccessibleHypertext * This,
2998             /* [in] */ long index,
2999             /* [retval][out] */ IAccessibleHyperlink **hyperlink);
3000 
3001         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )(
3002             IAccessibleHypertext * This,
3003             /* [in] */ long charIndex,
3004             /* [retval][out] */ long *hyperlinkIndex);
3005 
3006         END_INTERFACE
3007     } IAccessibleHypertextVtbl;
3008 
3009     interface IAccessibleHypertext
3010     {
3011         CONST_VTBL struct IAccessibleHypertextVtbl *lpVtbl;
3012     };
3013 
3014 
3015 
3016 #ifdef COBJMACROS
3017 
3018 
3019 #define IAccessibleHypertext_QueryInterface(This,riid,ppvObject)	\
3020     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3021 
3022 #define IAccessibleHypertext_AddRef(This)	\
3023     ( (This)->lpVtbl -> AddRef(This) )
3024 
3025 #define IAccessibleHypertext_Release(This)	\
3026     ( (This)->lpVtbl -> Release(This) )
3027 
3028 
3029 #define IAccessibleHypertext_addSelection(This,startOffset,endOffset)	\
3030     ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
3031 
3032 #define IAccessibleHypertext_get_attributes(This,offset,startOffset,endOffset,textAttributes)	\
3033     ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
3034 
3035 #define IAccessibleHypertext_get_caretOffset(This,offset)	\
3036     ( (This)->lpVtbl -> get_caretOffset(This,offset) )
3037 
3038 #define IAccessibleHypertext_get_characterExtents(This,offset,coordType,x,y,width,height)	\
3039     ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
3040 
3041 #define IAccessibleHypertext_get_nSelections(This,nSelections)	\
3042     ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
3043 
3044 #define IAccessibleHypertext_get_offsetAtPoint(This,x,y,coordType,offset)	\
3045     ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
3046 
3047 #define IAccessibleHypertext_get_selection(This,selectionIndex,startOffset,endOffset)	\
3048     ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
3049 
3050 #define IAccessibleHypertext_get_text(This,startOffset,endOffset,text)	\
3051     ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
3052 
3053 #define IAccessibleHypertext_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
3054     ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
3055 
3056 #define IAccessibleHypertext_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
3057     ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
3058 
3059 #define IAccessibleHypertext_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
3060     ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
3061 
3062 #define IAccessibleHypertext_removeSelection(This,selectionIndex)	\
3063     ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
3064 
3065 #define IAccessibleHypertext_setCaretOffset(This,offset)	\
3066     ( (This)->lpVtbl -> setCaretOffset(This,offset) )
3067 
3068 #define IAccessibleHypertext_setSelection(This,selectionIndex,startOffset,endOffset)	\
3069     ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
3070 
3071 #define IAccessibleHypertext_get_nCharacters(This,nCharacters)	\
3072     ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
3073 
3074 #define IAccessibleHypertext_scrollSubstringTo(This,startIndex,endIndex,scrollType)	\
3075     ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
3076 
3077 #define IAccessibleHypertext_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y)	\
3078     ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
3079 
3080 #define IAccessibleHypertext_get_newText(This,newText)	\
3081     ( (This)->lpVtbl -> get_newText(This,newText) )
3082 
3083 #define IAccessibleHypertext_get_oldText(This,oldText)	\
3084     ( (This)->lpVtbl -> get_oldText(This,oldText) )
3085 
3086 
3087 #define IAccessibleHypertext_get_nHyperlinks(This,hyperlinkCount)	\
3088     ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) )
3089 
3090 #define IAccessibleHypertext_get_hyperlink(This,index,hyperlink)	\
3091     ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) )
3092 
3093 #define IAccessibleHypertext_get_hyperlinkIndex(This,charIndex,hyperlinkIndex)	\
3094     ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) )
3095 
3096 #endif /* COBJMACROS */
3097 
3098 
3099 #endif 	/* C style interface */
3100 
3101 
3102 
3103 
3104 #endif 	/* __IAccessibleHypertext_INTERFACE_DEFINED__ */
3105 
3106 
3107 #ifndef __IAccessibleHypertext2_INTERFACE_DEFINED__
3108 #define __IAccessibleHypertext2_INTERFACE_DEFINED__
3109 
3110 /* interface IAccessibleHypertext2 */
3111 /* [uuid][object] */
3112 
3113 
3114 EXTERN_C const IID IID_IAccessibleHypertext2;
3115 
3116 #if defined(__cplusplus) && !defined(CINTERFACE)
3117 
3118     MIDL_INTERFACE("CF64D89F-8287-4B44-8501-A827453A6077")
3119     IAccessibleHypertext2 : public IAccessibleHypertext
3120     {
3121     public:
3122         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hyperlinks(
3123             /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks,
3124             /* [retval][out] */ long *nHyperlinks) = 0;
3125 
3126     };
3127 
3128 #else 	/* C style interface */
3129 
3130     typedef struct IAccessibleHypertext2Vtbl
3131     {
3132         BEGIN_INTERFACE
3133 
3134         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3135             IAccessibleHypertext2 * This,
3136             /* [in] */ REFIID riid,
3137             /* [annotation][iid_is][out] */
3138             __RPC__deref_out  void **ppvObject);
3139 
3140         ULONG ( STDMETHODCALLTYPE *AddRef )(
3141             IAccessibleHypertext2 * This);
3142 
3143         ULONG ( STDMETHODCALLTYPE *Release )(
3144             IAccessibleHypertext2 * This);
3145 
3146         HRESULT ( STDMETHODCALLTYPE *addSelection )(
3147             IAccessibleHypertext2 * This,
3148             /* [in] */ long startOffset,
3149             /* [in] */ long endOffset);
3150 
3151         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_attributes )(
3152             IAccessibleHypertext2 * This,
3153             /* [in] */ long offset,
3154             /* [out] */ long *startOffset,
3155             /* [out] */ long *endOffset,
3156             /* [retval][out] */ BSTR *textAttributes);
3157 
3158         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caretOffset )(
3159             IAccessibleHypertext2 * This,
3160             /* [retval][out] */ long *offset);
3161 
3162         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_characterExtents )(
3163             IAccessibleHypertext2 * This,
3164             /* [in] */ long offset,
3165             /* [in] */ enum IA2CoordinateType coordType,
3166             /* [out] */ long *x,
3167             /* [out] */ long *y,
3168             /* [out] */ long *width,
3169             /* [retval][out] */ long *height);
3170 
3171         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelections )(
3172             IAccessibleHypertext2 * This,
3173             /* [retval][out] */ long *nSelections);
3174 
3175         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetAtPoint )(
3176             IAccessibleHypertext2 * This,
3177             /* [in] */ long x,
3178             /* [in] */ long y,
3179             /* [in] */ enum IA2CoordinateType coordType,
3180             /* [retval][out] */ long *offset);
3181 
3182         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selection )(
3183             IAccessibleHypertext2 * This,
3184             /* [in] */ long selectionIndex,
3185             /* [out] */ long *startOffset,
3186             /* [retval][out] */ long *endOffset);
3187 
3188         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )(
3189             IAccessibleHypertext2 * This,
3190             /* [in] */ long startOffset,
3191             /* [in] */ long endOffset,
3192             /* [retval][out] */ BSTR *text);
3193 
3194         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textBeforeOffset )(
3195             IAccessibleHypertext2 * This,
3196             /* [in] */ long offset,
3197             /* [in] */ enum IA2TextBoundaryType boundaryType,
3198             /* [out] */ long *startOffset,
3199             /* [out] */ long *endOffset,
3200             /* [retval][out] */ BSTR *text);
3201 
3202         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAfterOffset )(
3203             IAccessibleHypertext2 * This,
3204             /* [in] */ long offset,
3205             /* [in] */ enum IA2TextBoundaryType boundaryType,
3206             /* [out] */ long *startOffset,
3207             /* [out] */ long *endOffset,
3208             /* [retval][out] */ BSTR *text);
3209 
3210         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_textAtOffset )(
3211             IAccessibleHypertext2 * This,
3212             /* [in] */ long offset,
3213             /* [in] */ enum IA2TextBoundaryType boundaryType,
3214             /* [out] */ long *startOffset,
3215             /* [out] */ long *endOffset,
3216             /* [retval][out] */ BSTR *text);
3217 
3218         HRESULT ( STDMETHODCALLTYPE *removeSelection )(
3219             IAccessibleHypertext2 * This,
3220             /* [in] */ long selectionIndex);
3221 
3222         HRESULT ( STDMETHODCALLTYPE *setCaretOffset )(
3223             IAccessibleHypertext2 * This,
3224             /* [in] */ long offset);
3225 
3226         HRESULT ( STDMETHODCALLTYPE *setSelection )(
3227             IAccessibleHypertext2 * This,
3228             /* [in] */ long selectionIndex,
3229             /* [in] */ long startOffset,
3230             /* [in] */ long endOffset);
3231 
3232         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nCharacters )(
3233             IAccessibleHypertext2 * This,
3234             /* [retval][out] */ long *nCharacters);
3235 
3236         HRESULT ( STDMETHODCALLTYPE *scrollSubstringTo )(
3237             IAccessibleHypertext2 * This,
3238             /* [in] */ long startIndex,
3239             /* [in] */ long endIndex,
3240             /* [in] */ enum IA2ScrollType scrollType);
3241 
3242         HRESULT ( STDMETHODCALLTYPE *scrollSubstringToPoint )(
3243             IAccessibleHypertext2 * This,
3244             /* [in] */ long startIndex,
3245             /* [in] */ long endIndex,
3246             /* [in] */ enum IA2CoordinateType coordinateType,
3247             /* [in] */ long x,
3248             /* [in] */ long y);
3249 
3250         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_newText )(
3251             IAccessibleHypertext2 * This,
3252             /* [retval][out] */ IA2TextSegment *newText);
3253 
3254         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_oldText )(
3255             IAccessibleHypertext2 * This,
3256             /* [retval][out] */ IA2TextSegment *oldText);
3257 
3258         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nHyperlinks )(
3259             IAccessibleHypertext2 * This,
3260             /* [retval][out] */ long *hyperlinkCount);
3261 
3262         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlink )(
3263             IAccessibleHypertext2 * This,
3264             /* [in] */ long index,
3265             /* [retval][out] */ IAccessibleHyperlink **hyperlink);
3266 
3267         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinkIndex )(
3268             IAccessibleHypertext2 * This,
3269             /* [in] */ long charIndex,
3270             /* [retval][out] */ long *hyperlinkIndex);
3271 
3272         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hyperlinks )(
3273             IAccessibleHypertext2 * This,
3274             /* [size_is][size_is][out] */ IAccessibleHyperlink ***hyperlinks,
3275             /* [retval][out] */ long *nHyperlinks);
3276 
3277         END_INTERFACE
3278     } IAccessibleHypertext2Vtbl;
3279 
3280     interface IAccessibleHypertext2
3281     {
3282         CONST_VTBL struct IAccessibleHypertext2Vtbl *lpVtbl;
3283     };
3284 
3285 
3286 
3287 #ifdef COBJMACROS
3288 
3289 
3290 #define IAccessibleHypertext2_QueryInterface(This,riid,ppvObject)	\
3291     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3292 
3293 #define IAccessibleHypertext2_AddRef(This)	\
3294     ( (This)->lpVtbl -> AddRef(This) )
3295 
3296 #define IAccessibleHypertext2_Release(This)	\
3297     ( (This)->lpVtbl -> Release(This) )
3298 
3299 
3300 #define IAccessibleHypertext2_addSelection(This,startOffset,endOffset)	\
3301     ( (This)->lpVtbl -> addSelection(This,startOffset,endOffset) )
3302 
3303 #define IAccessibleHypertext2_get_attributes(This,offset,startOffset,endOffset,textAttributes)	\
3304     ( (This)->lpVtbl -> get_attributes(This,offset,startOffset,endOffset,textAttributes) )
3305 
3306 #define IAccessibleHypertext2_get_caretOffset(This,offset)	\
3307     ( (This)->lpVtbl -> get_caretOffset(This,offset) )
3308 
3309 #define IAccessibleHypertext2_get_characterExtents(This,offset,coordType,x,y,width,height)	\
3310     ( (This)->lpVtbl -> get_characterExtents(This,offset,coordType,x,y,width,height) )
3311 
3312 #define IAccessibleHypertext2_get_nSelections(This,nSelections)	\
3313     ( (This)->lpVtbl -> get_nSelections(This,nSelections) )
3314 
3315 #define IAccessibleHypertext2_get_offsetAtPoint(This,x,y,coordType,offset)	\
3316     ( (This)->lpVtbl -> get_offsetAtPoint(This,x,y,coordType,offset) )
3317 
3318 #define IAccessibleHypertext2_get_selection(This,selectionIndex,startOffset,endOffset)	\
3319     ( (This)->lpVtbl -> get_selection(This,selectionIndex,startOffset,endOffset) )
3320 
3321 #define IAccessibleHypertext2_get_text(This,startOffset,endOffset,text)	\
3322     ( (This)->lpVtbl -> get_text(This,startOffset,endOffset,text) )
3323 
3324 #define IAccessibleHypertext2_get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
3325     ( (This)->lpVtbl -> get_textBeforeOffset(This,offset,boundaryType,startOffset,endOffset,text) )
3326 
3327 #define IAccessibleHypertext2_get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
3328     ( (This)->lpVtbl -> get_textAfterOffset(This,offset,boundaryType,startOffset,endOffset,text) )
3329 
3330 #define IAccessibleHypertext2_get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text)	\
3331     ( (This)->lpVtbl -> get_textAtOffset(This,offset,boundaryType,startOffset,endOffset,text) )
3332 
3333 #define IAccessibleHypertext2_removeSelection(This,selectionIndex)	\
3334     ( (This)->lpVtbl -> removeSelection(This,selectionIndex) )
3335 
3336 #define IAccessibleHypertext2_setCaretOffset(This,offset)	\
3337     ( (This)->lpVtbl -> setCaretOffset(This,offset) )
3338 
3339 #define IAccessibleHypertext2_setSelection(This,selectionIndex,startOffset,endOffset)	\
3340     ( (This)->lpVtbl -> setSelection(This,selectionIndex,startOffset,endOffset) )
3341 
3342 #define IAccessibleHypertext2_get_nCharacters(This,nCharacters)	\
3343     ( (This)->lpVtbl -> get_nCharacters(This,nCharacters) )
3344 
3345 #define IAccessibleHypertext2_scrollSubstringTo(This,startIndex,endIndex,scrollType)	\
3346     ( (This)->lpVtbl -> scrollSubstringTo(This,startIndex,endIndex,scrollType) )
3347 
3348 #define IAccessibleHypertext2_scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y)	\
3349     ( (This)->lpVtbl -> scrollSubstringToPoint(This,startIndex,endIndex,coordinateType,x,y) )
3350 
3351 #define IAccessibleHypertext2_get_newText(This,newText)	\
3352     ( (This)->lpVtbl -> get_newText(This,newText) )
3353 
3354 #define IAccessibleHypertext2_get_oldText(This,oldText)	\
3355     ( (This)->lpVtbl -> get_oldText(This,oldText) )
3356 
3357 
3358 #define IAccessibleHypertext2_get_nHyperlinks(This,hyperlinkCount)	\
3359     ( (This)->lpVtbl -> get_nHyperlinks(This,hyperlinkCount) )
3360 
3361 #define IAccessibleHypertext2_get_hyperlink(This,index,hyperlink)	\
3362     ( (This)->lpVtbl -> get_hyperlink(This,index,hyperlink) )
3363 
3364 #define IAccessibleHypertext2_get_hyperlinkIndex(This,charIndex,hyperlinkIndex)	\
3365     ( (This)->lpVtbl -> get_hyperlinkIndex(This,charIndex,hyperlinkIndex) )
3366 
3367 
3368 #define IAccessibleHypertext2_get_hyperlinks(This,hyperlinks,nHyperlinks)	\
3369     ( (This)->lpVtbl -> get_hyperlinks(This,hyperlinks,nHyperlinks) )
3370 
3371 #endif /* COBJMACROS */
3372 
3373 
3374 #endif 	/* C style interface */
3375 
3376 
3377 
3378 
3379 #endif 	/* __IAccessibleHypertext2_INTERFACE_DEFINED__ */
3380 
3381 
3382 #ifndef __IAccessibleTable_INTERFACE_DEFINED__
3383 #define __IAccessibleTable_INTERFACE_DEFINED__
3384 
3385 /* interface IAccessibleTable */
3386 /* [uuid][object] */
3387 
3388 
3389 EXTERN_C const IID IID_IAccessibleTable;
3390 
3391 #if defined(__cplusplus) && !defined(CINTERFACE)
3392 
3393     MIDL_INTERFACE("35AD8070-C20C-4fb4-B094-F4F7275DD469")
3394     IAccessibleTable : public IUnknown
3395     {
3396     public:
3397         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_accessibleAt(
3398             /* [in] */ long row,
3399             /* [in] */ long column,
3400             /* [retval][out] */ IUnknown **accessible) = 0;
3401 
3402         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
3403             /* [retval][out] */ IUnknown **accessible) = 0;
3404 
3405         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_childIndex(
3406             /* [in] */ long rowIndex,
3407             /* [in] */ long columnIndex,
3408             /* [retval][out] */ long *cellIndex) = 0;
3409 
3410         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
3411             /* [in] */ long column,
3412             /* [retval][out] */ BSTR *description) = 0;
3413 
3414         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtentAt(
3415             /* [in] */ long row,
3416             /* [in] */ long column,
3417             /* [retval][out] */ long *nColumnsSpanned) = 0;
3418 
3419         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeader(
3420             /* [out] */ IAccessibleTable **accessibleTable,
3421             /* [retval][out] */ long *startingRowIndex) = 0;
3422 
3423         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
3424             /* [in] */ long cellIndex,
3425             /* [retval][out] */ long *columnIndex) = 0;
3426 
3427         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
3428             /* [retval][out] */ long *columnCount) = 0;
3429 
3430         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
3431             /* [retval][out] */ long *rowCount) = 0;
3432 
3433         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedChildren(
3434             /* [retval][out] */ long *cellCount) = 0;
3435 
3436         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
3437             /* [retval][out] */ long *columnCount) = 0;
3438 
3439         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
3440             /* [retval][out] */ long *rowCount) = 0;
3441 
3442         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
3443             /* [in] */ long row,
3444             /* [retval][out] */ BSTR *description) = 0;
3445 
3446         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtentAt(
3447             /* [in] */ long row,
3448             /* [in] */ long column,
3449             /* [retval][out] */ long *nRowsSpanned) = 0;
3450 
3451         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeader(
3452             /* [out] */ IAccessibleTable **accessibleTable,
3453             /* [retval][out] */ long *startingColumnIndex) = 0;
3454 
3455         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
3456             /* [in] */ long cellIndex,
3457             /* [retval][out] */ long *rowIndex) = 0;
3458 
3459         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedChildren(
3460             /* [in] */ long maxChildren,
3461             /* [length_is][length_is][size_is][size_is][out] */ long **children,
3462             /* [retval][out] */ long *nChildren) = 0;
3463 
3464         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
3465             /* [in] */ long maxColumns,
3466             /* [length_is][length_is][size_is][size_is][out] */ long **columns,
3467             /* [retval][out] */ long *nColumns) = 0;
3468 
3469         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
3470             /* [in] */ long maxRows,
3471             /* [length_is][length_is][size_is][size_is][out] */ long **rows,
3472             /* [retval][out] */ long *nRows) = 0;
3473 
3474         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
3475             /* [retval][out] */ IUnknown **accessible) = 0;
3476 
3477         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
3478             /* [in] */ long column,
3479             /* [retval][out] */ boolean *isSelected) = 0;
3480 
3481         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
3482             /* [in] */ long row,
3483             /* [retval][out] */ boolean *isSelected) = 0;
3484 
3485         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
3486             /* [in] */ long row,
3487             /* [in] */ long column,
3488             /* [retval][out] */ boolean *isSelected) = 0;
3489 
3490         virtual HRESULT STDMETHODCALLTYPE selectRow(
3491             /* [in] */ long row) = 0;
3492 
3493         virtual HRESULT STDMETHODCALLTYPE selectColumn(
3494             /* [in] */ long column) = 0;
3495 
3496         virtual HRESULT STDMETHODCALLTYPE unselectRow(
3497             /* [in] */ long row) = 0;
3498 
3499         virtual HRESULT STDMETHODCALLTYPE unselectColumn(
3500             /* [in] */ long column) = 0;
3501 
3502         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtentsAtIndex(
3503             /* [in] */ long index,
3504             /* [out] */ long *row,
3505             /* [out] */ long *column,
3506             /* [out] */ long *rowExtents,
3507             /* [out] */ long *columnExtents,
3508             /* [retval][out] */ boolean *isSelected) = 0;
3509 
3510         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
3511             /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
3512 
3513     };
3514 
3515 #else 	/* C style interface */
3516 
3517     typedef struct IAccessibleTableVtbl
3518     {
3519         BEGIN_INTERFACE
3520 
3521         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3522             IAccessibleTable * This,
3523             /* [in] */ REFIID riid,
3524             /* [annotation][iid_is][out] */
3525             __RPC__deref_out  void **ppvObject);
3526 
3527         ULONG ( STDMETHODCALLTYPE *AddRef )(
3528             IAccessibleTable * This);
3529 
3530         ULONG ( STDMETHODCALLTYPE *Release )(
3531             IAccessibleTable * This);
3532 
3533         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_accessibleAt )(
3534             IAccessibleTable * This,
3535             /* [in] */ long row,
3536             /* [in] */ long column,
3537             /* [retval][out] */ IUnknown **accessible);
3538 
3539         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
3540             IAccessibleTable * This,
3541             /* [retval][out] */ IUnknown **accessible);
3542 
3543         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_childIndex )(
3544             IAccessibleTable * This,
3545             /* [in] */ long rowIndex,
3546             /* [in] */ long columnIndex,
3547             /* [retval][out] */ long *cellIndex);
3548 
3549         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
3550             IAccessibleTable * This,
3551             /* [in] */ long column,
3552             /* [retval][out] */ BSTR *description);
3553 
3554         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtentAt )(
3555             IAccessibleTable * This,
3556             /* [in] */ long row,
3557             /* [in] */ long column,
3558             /* [retval][out] */ long *nColumnsSpanned);
3559 
3560         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeader )(
3561             IAccessibleTable * This,
3562             /* [out] */ IAccessibleTable **accessibleTable,
3563             /* [retval][out] */ long *startingRowIndex);
3564 
3565         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
3566             IAccessibleTable * This,
3567             /* [in] */ long cellIndex,
3568             /* [retval][out] */ long *columnIndex);
3569 
3570         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
3571             IAccessibleTable * This,
3572             /* [retval][out] */ long *columnCount);
3573 
3574         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
3575             IAccessibleTable * This,
3576             /* [retval][out] */ long *rowCount);
3577 
3578         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedChildren )(
3579             IAccessibleTable * This,
3580             /* [retval][out] */ long *cellCount);
3581 
3582         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
3583             IAccessibleTable * This,
3584             /* [retval][out] */ long *columnCount);
3585 
3586         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
3587             IAccessibleTable * This,
3588             /* [retval][out] */ long *rowCount);
3589 
3590         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
3591             IAccessibleTable * This,
3592             /* [in] */ long row,
3593             /* [retval][out] */ BSTR *description);
3594 
3595         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtentAt )(
3596             IAccessibleTable * This,
3597             /* [in] */ long row,
3598             /* [in] */ long column,
3599             /* [retval][out] */ long *nRowsSpanned);
3600 
3601         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeader )(
3602             IAccessibleTable * This,
3603             /* [out] */ IAccessibleTable **accessibleTable,
3604             /* [retval][out] */ long *startingColumnIndex);
3605 
3606         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
3607             IAccessibleTable * This,
3608             /* [in] */ long cellIndex,
3609             /* [retval][out] */ long *rowIndex);
3610 
3611         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedChildren )(
3612             IAccessibleTable * This,
3613             /* [in] */ long maxChildren,
3614             /* [length_is][length_is][size_is][size_is][out] */ long **children,
3615             /* [retval][out] */ long *nChildren);
3616 
3617         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
3618             IAccessibleTable * This,
3619             /* [in] */ long maxColumns,
3620             /* [length_is][length_is][size_is][size_is][out] */ long **columns,
3621             /* [retval][out] */ long *nColumns);
3622 
3623         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
3624             IAccessibleTable * This,
3625             /* [in] */ long maxRows,
3626             /* [length_is][length_is][size_is][size_is][out] */ long **rows,
3627             /* [retval][out] */ long *nRows);
3628 
3629         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
3630             IAccessibleTable * This,
3631             /* [retval][out] */ IUnknown **accessible);
3632 
3633         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
3634             IAccessibleTable * This,
3635             /* [in] */ long column,
3636             /* [retval][out] */ boolean *isSelected);
3637 
3638         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
3639             IAccessibleTable * This,
3640             /* [in] */ long row,
3641             /* [retval][out] */ boolean *isSelected);
3642 
3643         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
3644             IAccessibleTable * This,
3645             /* [in] */ long row,
3646             /* [in] */ long column,
3647             /* [retval][out] */ boolean *isSelected);
3648 
3649         HRESULT ( STDMETHODCALLTYPE *selectRow )(
3650             IAccessibleTable * This,
3651             /* [in] */ long row);
3652 
3653         HRESULT ( STDMETHODCALLTYPE *selectColumn )(
3654             IAccessibleTable * This,
3655             /* [in] */ long column);
3656 
3657         HRESULT ( STDMETHODCALLTYPE *unselectRow )(
3658             IAccessibleTable * This,
3659             /* [in] */ long row);
3660 
3661         HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
3662             IAccessibleTable * This,
3663             /* [in] */ long column);
3664 
3665         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtentsAtIndex )(
3666             IAccessibleTable * This,
3667             /* [in] */ long index,
3668             /* [out] */ long *row,
3669             /* [out] */ long *column,
3670             /* [out] */ long *rowExtents,
3671             /* [out] */ long *columnExtents,
3672             /* [retval][out] */ boolean *isSelected);
3673 
3674         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
3675             IAccessibleTable * This,
3676             /* [retval][out] */ IA2TableModelChange *modelChange);
3677 
3678         END_INTERFACE
3679     } IAccessibleTableVtbl;
3680 
3681     interface IAccessibleTable
3682     {
3683         CONST_VTBL struct IAccessibleTableVtbl *lpVtbl;
3684     };
3685 
3686 
3687 
3688 #ifdef COBJMACROS
3689 
3690 
3691 #define IAccessibleTable_QueryInterface(This,riid,ppvObject)	\
3692     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
3693 
3694 #define IAccessibleTable_AddRef(This)	\
3695     ( (This)->lpVtbl -> AddRef(This) )
3696 
3697 #define IAccessibleTable_Release(This)	\
3698     ( (This)->lpVtbl -> Release(This) )
3699 
3700 
3701 #define IAccessibleTable_get_accessibleAt(This,row,column,accessible)	\
3702     ( (This)->lpVtbl -> get_accessibleAt(This,row,column,accessible) )
3703 
3704 #define IAccessibleTable_get_caption(This,accessible)	\
3705     ( (This)->lpVtbl -> get_caption(This,accessible) )
3706 
3707 #define IAccessibleTable_get_childIndex(This,rowIndex,columnIndex,cellIndex)	\
3708     ( (This)->lpVtbl -> get_childIndex(This,rowIndex,columnIndex,cellIndex) )
3709 
3710 #define IAccessibleTable_get_columnDescription(This,column,description)	\
3711     ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
3712 
3713 #define IAccessibleTable_get_columnExtentAt(This,row,column,nColumnsSpanned)	\
3714     ( (This)->lpVtbl -> get_columnExtentAt(This,row,column,nColumnsSpanned) )
3715 
3716 #define IAccessibleTable_get_columnHeader(This,accessibleTable,startingRowIndex)	\
3717     ( (This)->lpVtbl -> get_columnHeader(This,accessibleTable,startingRowIndex) )
3718 
3719 #define IAccessibleTable_get_columnIndex(This,cellIndex,columnIndex)	\
3720     ( (This)->lpVtbl -> get_columnIndex(This,cellIndex,columnIndex) )
3721 
3722 #define IAccessibleTable_get_nColumns(This,columnCount)	\
3723     ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
3724 
3725 #define IAccessibleTable_get_nRows(This,rowCount)	\
3726     ( (This)->lpVtbl -> get_nRows(This,rowCount) )
3727 
3728 #define IAccessibleTable_get_nSelectedChildren(This,cellCount)	\
3729     ( (This)->lpVtbl -> get_nSelectedChildren(This,cellCount) )
3730 
3731 #define IAccessibleTable_get_nSelectedColumns(This,columnCount)	\
3732     ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
3733 
3734 #define IAccessibleTable_get_nSelectedRows(This,rowCount)	\
3735     ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
3736 
3737 #define IAccessibleTable_get_rowDescription(This,row,description)	\
3738     ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
3739 
3740 #define IAccessibleTable_get_rowExtentAt(This,row,column,nRowsSpanned)	\
3741     ( (This)->lpVtbl -> get_rowExtentAt(This,row,column,nRowsSpanned) )
3742 
3743 #define IAccessibleTable_get_rowHeader(This,accessibleTable,startingColumnIndex)	\
3744     ( (This)->lpVtbl -> get_rowHeader(This,accessibleTable,startingColumnIndex) )
3745 
3746 #define IAccessibleTable_get_rowIndex(This,cellIndex,rowIndex)	\
3747     ( (This)->lpVtbl -> get_rowIndex(This,cellIndex,rowIndex) )
3748 
3749 #define IAccessibleTable_get_selectedChildren(This,maxChildren,children,nChildren)	\
3750     ( (This)->lpVtbl -> get_selectedChildren(This,maxChildren,children,nChildren) )
3751 
3752 #define IAccessibleTable_get_selectedColumns(This,maxColumns,columns,nColumns)	\
3753     ( (This)->lpVtbl -> get_selectedColumns(This,maxColumns,columns,nColumns) )
3754 
3755 #define IAccessibleTable_get_selectedRows(This,maxRows,rows,nRows)	\
3756     ( (This)->lpVtbl -> get_selectedRows(This,maxRows,rows,nRows) )
3757 
3758 #define IAccessibleTable_get_summary(This,accessible)	\
3759     ( (This)->lpVtbl -> get_summary(This,accessible) )
3760 
3761 #define IAccessibleTable_get_isColumnSelected(This,column,isSelected)	\
3762     ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
3763 
3764 #define IAccessibleTable_get_isRowSelected(This,row,isSelected)	\
3765     ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
3766 
3767 #define IAccessibleTable_get_isSelected(This,row,column,isSelected)	\
3768     ( (This)->lpVtbl -> get_isSelected(This,row,column,isSelected) )
3769 
3770 #define IAccessibleTable_selectRow(This,row)	\
3771     ( (This)->lpVtbl -> selectRow(This,row) )
3772 
3773 #define IAccessibleTable_selectColumn(This,column)	\
3774     ( (This)->lpVtbl -> selectColumn(This,column) )
3775 
3776 #define IAccessibleTable_unselectRow(This,row)	\
3777     ( (This)->lpVtbl -> unselectRow(This,row) )
3778 
3779 #define IAccessibleTable_unselectColumn(This,column)	\
3780     ( (This)->lpVtbl -> unselectColumn(This,column) )
3781 
3782 #define IAccessibleTable_get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected)	\
3783     ( (This)->lpVtbl -> get_rowColumnExtentsAtIndex(This,index,row,column,rowExtents,columnExtents,isSelected) )
3784 
3785 #define IAccessibleTable_get_modelChange(This,modelChange)	\
3786     ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
3787 
3788 #endif /* COBJMACROS */
3789 
3790 
3791 #endif 	/* C style interface */
3792 
3793 
3794 
3795 
3796 #endif 	/* __IAccessibleTable_INTERFACE_DEFINED__ */
3797 
3798 
3799 #ifndef __IAccessibleTable2_INTERFACE_DEFINED__
3800 #define __IAccessibleTable2_INTERFACE_DEFINED__
3801 
3802 /* interface IAccessibleTable2 */
3803 /* [uuid][object] */
3804 
3805 
3806 EXTERN_C const IID IID_IAccessibleTable2;
3807 
3808 #if defined(__cplusplus) && !defined(CINTERFACE)
3809 
3810     MIDL_INTERFACE("6167f295-06f0-4cdd-a1fa-02e25153d869")
3811     IAccessibleTable2 : public IUnknown
3812     {
3813     public:
3814         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_cellAt(
3815             /* [in] */ long row,
3816             /* [in] */ long column,
3817             /* [retval][out] */ IUnknown **cell) = 0;
3818 
3819         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_caption(
3820             /* [retval][out] */ IUnknown **accessible) = 0;
3821 
3822         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnDescription(
3823             /* [in] */ long column,
3824             /* [retval][out] */ BSTR *description) = 0;
3825 
3826         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nColumns(
3827             /* [retval][out] */ long *columnCount) = 0;
3828 
3829         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nRows(
3830             /* [retval][out] */ long *rowCount) = 0;
3831 
3832         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedCells(
3833             /* [retval][out] */ long *cellCount) = 0;
3834 
3835         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedColumns(
3836             /* [retval][out] */ long *columnCount) = 0;
3837 
3838         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nSelectedRows(
3839             /* [retval][out] */ long *rowCount) = 0;
3840 
3841         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowDescription(
3842             /* [in] */ long row,
3843             /* [retval][out] */ BSTR *description) = 0;
3844 
3845         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedCells(
3846             /* [size_is][size_is][out] */ IUnknown ***cells,
3847             /* [retval][out] */ long *nSelectedCells) = 0;
3848 
3849         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedColumns(
3850             /* [size_is][size_is][out] */ long **selectedColumns,
3851             /* [retval][out] */ long *nColumns) = 0;
3852 
3853         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_selectedRows(
3854             /* [size_is][size_is][out] */ long **selectedRows,
3855             /* [retval][out] */ long *nRows) = 0;
3856 
3857         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_summary(
3858             /* [retval][out] */ IUnknown **accessible) = 0;
3859 
3860         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isColumnSelected(
3861             /* [in] */ long column,
3862             /* [retval][out] */ boolean *isSelected) = 0;
3863 
3864         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRowSelected(
3865             /* [in] */ long row,
3866             /* [retval][out] */ boolean *isSelected) = 0;
3867 
3868         virtual HRESULT STDMETHODCALLTYPE selectRow(
3869             /* [in] */ long row) = 0;
3870 
3871         virtual HRESULT STDMETHODCALLTYPE selectColumn(
3872             /* [in] */ long column) = 0;
3873 
3874         virtual HRESULT STDMETHODCALLTYPE unselectRow(
3875             /* [in] */ long row) = 0;
3876 
3877         virtual HRESULT STDMETHODCALLTYPE unselectColumn(
3878             /* [in] */ long column) = 0;
3879 
3880         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_modelChange(
3881             /* [retval][out] */ IA2TableModelChange *modelChange) = 0;
3882 
3883     };
3884 
3885 #else 	/* C style interface */
3886 
3887     typedef struct IAccessibleTable2Vtbl
3888     {
3889         BEGIN_INTERFACE
3890 
3891         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3892             IAccessibleTable2 * This,
3893             /* [in] */ REFIID riid,
3894             /* [annotation][iid_is][out] */
3895             __RPC__deref_out  void **ppvObject);
3896 
3897         ULONG ( STDMETHODCALLTYPE *AddRef )(
3898             IAccessibleTable2 * This);
3899 
3900         ULONG ( STDMETHODCALLTYPE *Release )(
3901             IAccessibleTable2 * This);
3902 
3903         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_cellAt )(
3904             IAccessibleTable2 * This,
3905             /* [in] */ long row,
3906             /* [in] */ long column,
3907             /* [retval][out] */ IUnknown **cell);
3908 
3909         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_caption )(
3910             IAccessibleTable2 * This,
3911             /* [retval][out] */ IUnknown **accessible);
3912 
3913         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnDescription )(
3914             IAccessibleTable2 * This,
3915             /* [in] */ long column,
3916             /* [retval][out] */ BSTR *description);
3917 
3918         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nColumns )(
3919             IAccessibleTable2 * This,
3920             /* [retval][out] */ long *columnCount);
3921 
3922         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nRows )(
3923             IAccessibleTable2 * This,
3924             /* [retval][out] */ long *rowCount);
3925 
3926         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedCells )(
3927             IAccessibleTable2 * This,
3928             /* [retval][out] */ long *cellCount);
3929 
3930         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedColumns )(
3931             IAccessibleTable2 * This,
3932             /* [retval][out] */ long *columnCount);
3933 
3934         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nSelectedRows )(
3935             IAccessibleTable2 * This,
3936             /* [retval][out] */ long *rowCount);
3937 
3938         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowDescription )(
3939             IAccessibleTable2 * This,
3940             /* [in] */ long row,
3941             /* [retval][out] */ BSTR *description);
3942 
3943         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedCells )(
3944             IAccessibleTable2 * This,
3945             /* [size_is][size_is][out] */ IUnknown ***cells,
3946             /* [retval][out] */ long *nSelectedCells);
3947 
3948         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedColumns )(
3949             IAccessibleTable2 * This,
3950             /* [size_is][size_is][out] */ long **selectedColumns,
3951             /* [retval][out] */ long *nColumns);
3952 
3953         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_selectedRows )(
3954             IAccessibleTable2 * This,
3955             /* [size_is][size_is][out] */ long **selectedRows,
3956             /* [retval][out] */ long *nRows);
3957 
3958         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_summary )(
3959             IAccessibleTable2 * This,
3960             /* [retval][out] */ IUnknown **accessible);
3961 
3962         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isColumnSelected )(
3963             IAccessibleTable2 * This,
3964             /* [in] */ long column,
3965             /* [retval][out] */ boolean *isSelected);
3966 
3967         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRowSelected )(
3968             IAccessibleTable2 * This,
3969             /* [in] */ long row,
3970             /* [retval][out] */ boolean *isSelected);
3971 
3972         HRESULT ( STDMETHODCALLTYPE *selectRow )(
3973             IAccessibleTable2 * This,
3974             /* [in] */ long row);
3975 
3976         HRESULT ( STDMETHODCALLTYPE *selectColumn )(
3977             IAccessibleTable2 * This,
3978             /* [in] */ long column);
3979 
3980         HRESULT ( STDMETHODCALLTYPE *unselectRow )(
3981             IAccessibleTable2 * This,
3982             /* [in] */ long row);
3983 
3984         HRESULT ( STDMETHODCALLTYPE *unselectColumn )(
3985             IAccessibleTable2 * This,
3986             /* [in] */ long column);
3987 
3988         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_modelChange )(
3989             IAccessibleTable2 * This,
3990             /* [retval][out] */ IA2TableModelChange *modelChange);
3991 
3992         END_INTERFACE
3993     } IAccessibleTable2Vtbl;
3994 
3995     interface IAccessibleTable2
3996     {
3997         CONST_VTBL struct IAccessibleTable2Vtbl *lpVtbl;
3998     };
3999 
4000 
4001 
4002 #ifdef COBJMACROS
4003 
4004 
4005 #define IAccessibleTable2_QueryInterface(This,riid,ppvObject)	\
4006     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4007 
4008 #define IAccessibleTable2_AddRef(This)	\
4009     ( (This)->lpVtbl -> AddRef(This) )
4010 
4011 #define IAccessibleTable2_Release(This)	\
4012     ( (This)->lpVtbl -> Release(This) )
4013 
4014 
4015 #define IAccessibleTable2_get_cellAt(This,row,column,cell)	\
4016     ( (This)->lpVtbl -> get_cellAt(This,row,column,cell) )
4017 
4018 #define IAccessibleTable2_get_caption(This,accessible)	\
4019     ( (This)->lpVtbl -> get_caption(This,accessible) )
4020 
4021 #define IAccessibleTable2_get_columnDescription(This,column,description)	\
4022     ( (This)->lpVtbl -> get_columnDescription(This,column,description) )
4023 
4024 #define IAccessibleTable2_get_nColumns(This,columnCount)	\
4025     ( (This)->lpVtbl -> get_nColumns(This,columnCount) )
4026 
4027 #define IAccessibleTable2_get_nRows(This,rowCount)	\
4028     ( (This)->lpVtbl -> get_nRows(This,rowCount) )
4029 
4030 #define IAccessibleTable2_get_nSelectedCells(This,cellCount)	\
4031     ( (This)->lpVtbl -> get_nSelectedCells(This,cellCount) )
4032 
4033 #define IAccessibleTable2_get_nSelectedColumns(This,columnCount)	\
4034     ( (This)->lpVtbl -> get_nSelectedColumns(This,columnCount) )
4035 
4036 #define IAccessibleTable2_get_nSelectedRows(This,rowCount)	\
4037     ( (This)->lpVtbl -> get_nSelectedRows(This,rowCount) )
4038 
4039 #define IAccessibleTable2_get_rowDescription(This,row,description)	\
4040     ( (This)->lpVtbl -> get_rowDescription(This,row,description) )
4041 
4042 #define IAccessibleTable2_get_selectedCells(This,cells,nSelectedCells)	\
4043     ( (This)->lpVtbl -> get_selectedCells(This,cells,nSelectedCells) )
4044 
4045 #define IAccessibleTable2_get_selectedColumns(This,selectedColumns,nColumns)	\
4046     ( (This)->lpVtbl -> get_selectedColumns(This,selectedColumns,nColumns) )
4047 
4048 #define IAccessibleTable2_get_selectedRows(This,selectedRows,nRows)	\
4049     ( (This)->lpVtbl -> get_selectedRows(This,selectedRows,nRows) )
4050 
4051 #define IAccessibleTable2_get_summary(This,accessible)	\
4052     ( (This)->lpVtbl -> get_summary(This,accessible) )
4053 
4054 #define IAccessibleTable2_get_isColumnSelected(This,column,isSelected)	\
4055     ( (This)->lpVtbl -> get_isColumnSelected(This,column,isSelected) )
4056 
4057 #define IAccessibleTable2_get_isRowSelected(This,row,isSelected)	\
4058     ( (This)->lpVtbl -> get_isRowSelected(This,row,isSelected) )
4059 
4060 #define IAccessibleTable2_selectRow(This,row)	\
4061     ( (This)->lpVtbl -> selectRow(This,row) )
4062 
4063 #define IAccessibleTable2_selectColumn(This,column)	\
4064     ( (This)->lpVtbl -> selectColumn(This,column) )
4065 
4066 #define IAccessibleTable2_unselectRow(This,row)	\
4067     ( (This)->lpVtbl -> unselectRow(This,row) )
4068 
4069 #define IAccessibleTable2_unselectColumn(This,column)	\
4070     ( (This)->lpVtbl -> unselectColumn(This,column) )
4071 
4072 #define IAccessibleTable2_get_modelChange(This,modelChange)	\
4073     ( (This)->lpVtbl -> get_modelChange(This,modelChange) )
4074 
4075 #endif /* COBJMACROS */
4076 
4077 
4078 #endif 	/* C style interface */
4079 
4080 
4081 
4082 
4083 #endif 	/* __IAccessibleTable2_INTERFACE_DEFINED__ */
4084 
4085 
4086 #ifndef __IAccessibleTableCell_INTERFACE_DEFINED__
4087 #define __IAccessibleTableCell_INTERFACE_DEFINED__
4088 
4089 /* interface IAccessibleTableCell */
4090 /* [uuid][object] */
4091 
4092 
4093 EXTERN_C const IID IID_IAccessibleTableCell;
4094 
4095 #if defined(__cplusplus) && !defined(CINTERFACE)
4096 
4097     MIDL_INTERFACE("594116B1-C99F-4847-AD06-0A7A86ECE645")
4098     IAccessibleTableCell : public IUnknown
4099     {
4100     public:
4101         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnExtent(
4102             /* [retval][out] */ long *nColumnsSpanned) = 0;
4103 
4104         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnHeaderCells(
4105             /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
4106             /* [retval][out] */ long *nColumnHeaderCells) = 0;
4107 
4108         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_columnIndex(
4109             /* [retval][out] */ long *columnIndex) = 0;
4110 
4111         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowExtent(
4112             /* [retval][out] */ long *nRowsSpanned) = 0;
4113 
4114         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowHeaderCells(
4115             /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
4116             /* [retval][out] */ long *nRowHeaderCells) = 0;
4117 
4118         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowIndex(
4119             /* [retval][out] */ long *rowIndex) = 0;
4120 
4121         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isSelected(
4122             /* [retval][out] */ boolean *isSelected) = 0;
4123 
4124         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_rowColumnExtents(
4125             /* [out] */ long *row,
4126             /* [out] */ long *column,
4127             /* [out] */ long *rowExtents,
4128             /* [out] */ long *columnExtents,
4129             /* [retval][out] */ boolean *isSelected) = 0;
4130 
4131         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_table(
4132             /* [retval][out] */ IUnknown **table) = 0;
4133 
4134     };
4135 
4136 #else 	/* C style interface */
4137 
4138     typedef struct IAccessibleTableCellVtbl
4139     {
4140         BEGIN_INTERFACE
4141 
4142         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4143             IAccessibleTableCell * This,
4144             /* [in] */ REFIID riid,
4145             /* [annotation][iid_is][out] */
4146             __RPC__deref_out  void **ppvObject);
4147 
4148         ULONG ( STDMETHODCALLTYPE *AddRef )(
4149             IAccessibleTableCell * This);
4150 
4151         ULONG ( STDMETHODCALLTYPE *Release )(
4152             IAccessibleTableCell * This);
4153 
4154         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnExtent )(
4155             IAccessibleTableCell * This,
4156             /* [retval][out] */ long *nColumnsSpanned);
4157 
4158         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnHeaderCells )(
4159             IAccessibleTableCell * This,
4160             /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
4161             /* [retval][out] */ long *nColumnHeaderCells);
4162 
4163         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnIndex )(
4164             IAccessibleTableCell * This,
4165             /* [retval][out] */ long *columnIndex);
4166 
4167         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowExtent )(
4168             IAccessibleTableCell * This,
4169             /* [retval][out] */ long *nRowsSpanned);
4170 
4171         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowHeaderCells )(
4172             IAccessibleTableCell * This,
4173             /* [size_is][size_is][out] */ IUnknown ***cellAccessibles,
4174             /* [retval][out] */ long *nRowHeaderCells);
4175 
4176         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowIndex )(
4177             IAccessibleTableCell * This,
4178             /* [retval][out] */ long *rowIndex);
4179 
4180         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSelected )(
4181             IAccessibleTableCell * This,
4182             /* [retval][out] */ boolean *isSelected);
4183 
4184         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_rowColumnExtents )(
4185             IAccessibleTableCell * This,
4186             /* [out] */ long *row,
4187             /* [out] */ long *column,
4188             /* [out] */ long *rowExtents,
4189             /* [out] */ long *columnExtents,
4190             /* [retval][out] */ boolean *isSelected);
4191 
4192         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_table )(
4193             IAccessibleTableCell * This,
4194             /* [retval][out] */ IUnknown **table);
4195 
4196         END_INTERFACE
4197     } IAccessibleTableCellVtbl;
4198 
4199     interface IAccessibleTableCell
4200     {
4201         CONST_VTBL struct IAccessibleTableCellVtbl *lpVtbl;
4202     };
4203 
4204 
4205 
4206 #ifdef COBJMACROS
4207 
4208 
4209 #define IAccessibleTableCell_QueryInterface(This,riid,ppvObject)	\
4210     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4211 
4212 #define IAccessibleTableCell_AddRef(This)	\
4213     ( (This)->lpVtbl -> AddRef(This) )
4214 
4215 #define IAccessibleTableCell_Release(This)	\
4216     ( (This)->lpVtbl -> Release(This) )
4217 
4218 
4219 #define IAccessibleTableCell_get_columnExtent(This,nColumnsSpanned)	\
4220     ( (This)->lpVtbl -> get_columnExtent(This,nColumnsSpanned) )
4221 
4222 #define IAccessibleTableCell_get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells)	\
4223     ( (This)->lpVtbl -> get_columnHeaderCells(This,cellAccessibles,nColumnHeaderCells) )
4224 
4225 #define IAccessibleTableCell_get_columnIndex(This,columnIndex)	\
4226     ( (This)->lpVtbl -> get_columnIndex(This,columnIndex) )
4227 
4228 #define IAccessibleTableCell_get_rowExtent(This,nRowsSpanned)	\
4229     ( (This)->lpVtbl -> get_rowExtent(This,nRowsSpanned) )
4230 
4231 #define IAccessibleTableCell_get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells)	\
4232     ( (This)->lpVtbl -> get_rowHeaderCells(This,cellAccessibles,nRowHeaderCells) )
4233 
4234 #define IAccessibleTableCell_get_rowIndex(This,rowIndex)	\
4235     ( (This)->lpVtbl -> get_rowIndex(This,rowIndex) )
4236 
4237 #define IAccessibleTableCell_get_isSelected(This,isSelected)	\
4238     ( (This)->lpVtbl -> get_isSelected(This,isSelected) )
4239 
4240 #define IAccessibleTableCell_get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected)	\
4241     ( (This)->lpVtbl -> get_rowColumnExtents(This,row,column,rowExtents,columnExtents,isSelected) )
4242 
4243 #define IAccessibleTableCell_get_table(This,table)	\
4244     ( (This)->lpVtbl -> get_table(This,table) )
4245 
4246 #endif /* COBJMACROS */
4247 
4248 
4249 #endif 	/* C style interface */
4250 
4251 
4252 
4253 
4254 #endif 	/* __IAccessibleTableCell_INTERFACE_DEFINED__ */
4255 
4256 
4257 #ifndef __IAccessibleImage_INTERFACE_DEFINED__
4258 #define __IAccessibleImage_INTERFACE_DEFINED__
4259 
4260 /* interface IAccessibleImage */
4261 /* [uuid][object] */
4262 
4263 
4264 EXTERN_C const IID IID_IAccessibleImage;
4265 
4266 #if defined(__cplusplus) && !defined(CINTERFACE)
4267 
4268     MIDL_INTERFACE("FE5ABB3D-615E-4f7b-909F-5F0EDA9E8DDE")
4269     IAccessibleImage : public IUnknown
4270     {
4271     public:
4272         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_description(
4273             /* [retval][out] */ BSTR *description) = 0;
4274 
4275         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imagePosition(
4276             /* [in] */ enum IA2CoordinateType coordinateType,
4277             /* [out] */ long *x,
4278             /* [retval][out] */ long *y) = 0;
4279 
4280         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_imageSize(
4281             /* [out] */ long *height,
4282             /* [retval][out] */ long *width) = 0;
4283 
4284     };
4285 
4286 #else 	/* C style interface */
4287 
4288     typedef struct IAccessibleImageVtbl
4289     {
4290         BEGIN_INTERFACE
4291 
4292         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4293             IAccessibleImage * This,
4294             /* [in] */ REFIID riid,
4295             /* [annotation][iid_is][out] */
4296             __RPC__deref_out  void **ppvObject);
4297 
4298         ULONG ( STDMETHODCALLTYPE *AddRef )(
4299             IAccessibleImage * This);
4300 
4301         ULONG ( STDMETHODCALLTYPE *Release )(
4302             IAccessibleImage * This);
4303 
4304         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_description )(
4305             IAccessibleImage * This,
4306             /* [retval][out] */ BSTR *description);
4307 
4308         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imagePosition )(
4309             IAccessibleImage * This,
4310             /* [in] */ enum IA2CoordinateType coordinateType,
4311             /* [out] */ long *x,
4312             /* [retval][out] */ long *y);
4313 
4314         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageSize )(
4315             IAccessibleImage * This,
4316             /* [out] */ long *height,
4317             /* [retval][out] */ long *width);
4318 
4319         END_INTERFACE
4320     } IAccessibleImageVtbl;
4321 
4322     interface IAccessibleImage
4323     {
4324         CONST_VTBL struct IAccessibleImageVtbl *lpVtbl;
4325     };
4326 
4327 
4328 
4329 #ifdef COBJMACROS
4330 
4331 
4332 #define IAccessibleImage_QueryInterface(This,riid,ppvObject)	\
4333     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4334 
4335 #define IAccessibleImage_AddRef(This)	\
4336     ( (This)->lpVtbl -> AddRef(This) )
4337 
4338 #define IAccessibleImage_Release(This)	\
4339     ( (This)->lpVtbl -> Release(This) )
4340 
4341 
4342 #define IAccessibleImage_get_description(This,description)	\
4343     ( (This)->lpVtbl -> get_description(This,description) )
4344 
4345 #define IAccessibleImage_get_imagePosition(This,coordinateType,x,y)	\
4346     ( (This)->lpVtbl -> get_imagePosition(This,coordinateType,x,y) )
4347 
4348 #define IAccessibleImage_get_imageSize(This,height,width)	\
4349     ( (This)->lpVtbl -> get_imageSize(This,height,width) )
4350 
4351 #endif /* COBJMACROS */
4352 
4353 
4354 #endif 	/* C style interface */
4355 
4356 
4357 
4358 
4359 #endif 	/* __IAccessibleImage_INTERFACE_DEFINED__ */
4360 
4361 
4362 /* interface __MIDL_itf_ia2_api_all_0000_0016 */
4363 /* [local] */
4364 
4365 
4366 enum IA2EventID
4367     {	IA2_EVENT_ACTION_CHANGED	= 0x101,
4368 	IA2_EVENT_ACTIVE_DECENDENT_CHANGED	= ( IA2_EVENT_ACTION_CHANGED + 1 ) ,
4369 	IA2_EVENT_ACTIVE_DESCENDANT_CHANGED	= IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
4370 	IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED	= ( IA2_EVENT_ACTIVE_DESCENDANT_CHANGED + 1 ) ,
4371 	IA2_EVENT_DOCUMENT_CONTENT_CHANGED	= ( IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED + 1 ) ,
4372 	IA2_EVENT_DOCUMENT_LOAD_COMPLETE	= ( IA2_EVENT_DOCUMENT_CONTENT_CHANGED + 1 ) ,
4373 	IA2_EVENT_DOCUMENT_LOAD_STOPPED	= ( IA2_EVENT_DOCUMENT_LOAD_COMPLETE + 1 ) ,
4374 	IA2_EVENT_DOCUMENT_RELOAD	= ( IA2_EVENT_DOCUMENT_LOAD_STOPPED + 1 ) ,
4375 	IA2_EVENT_HYPERLINK_END_INDEX_CHANGED	= ( IA2_EVENT_DOCUMENT_RELOAD + 1 ) ,
4376 	IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED	= ( IA2_EVENT_HYPERLINK_END_INDEX_CHANGED + 1 ) ,
4377 	IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED	= ( IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED + 1 ) ,
4378 	IA2_EVENT_HYPERTEXT_LINK_ACTIVATED	= ( IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED + 1 ) ,
4379 	IA2_EVENT_HYPERTEXT_LINK_SELECTED	= ( IA2_EVENT_HYPERTEXT_LINK_ACTIVATED + 1 ) ,
4380 	IA2_EVENT_HYPERLINK_START_INDEX_CHANGED	= ( IA2_EVENT_HYPERTEXT_LINK_SELECTED + 1 ) ,
4381 	IA2_EVENT_HYPERTEXT_CHANGED	= ( IA2_EVENT_HYPERLINK_START_INDEX_CHANGED + 1 ) ,
4382 	IA2_EVENT_HYPERTEXT_NLINKS_CHANGED	= ( IA2_EVENT_HYPERTEXT_CHANGED + 1 ) ,
4383 	IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED	= ( IA2_EVENT_HYPERTEXT_NLINKS_CHANGED + 1 ) ,
4384 	IA2_EVENT_PAGE_CHANGED	= ( IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED + 1 ) ,
4385 	IA2_EVENT_SECTION_CHANGED	= ( IA2_EVENT_PAGE_CHANGED + 1 ) ,
4386 	IA2_EVENT_TABLE_CAPTION_CHANGED	= ( IA2_EVENT_SECTION_CHANGED + 1 ) ,
4387 	IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED	= ( IA2_EVENT_TABLE_CAPTION_CHANGED + 1 ) ,
4388 	IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED	= ( IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED + 1 ) ,
4389 	IA2_EVENT_TABLE_MODEL_CHANGED	= ( IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED + 1 ) ,
4390 	IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED	= ( IA2_EVENT_TABLE_MODEL_CHANGED + 1 ) ,
4391 	IA2_EVENT_TABLE_ROW_HEADER_CHANGED	= ( IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED + 1 ) ,
4392 	IA2_EVENT_TABLE_SUMMARY_CHANGED	= ( IA2_EVENT_TABLE_ROW_HEADER_CHANGED + 1 ) ,
4393 	IA2_EVENT_TEXT_ATTRIBUTE_CHANGED	= ( IA2_EVENT_TABLE_SUMMARY_CHANGED + 1 ) ,
4394 	IA2_EVENT_TEXT_CARET_MOVED	= ( IA2_EVENT_TEXT_ATTRIBUTE_CHANGED + 1 ) ,
4395 	IA2_EVENT_TEXT_CHANGED	= ( IA2_EVENT_TEXT_CARET_MOVED + 1 ) ,
4396 	IA2_EVENT_TEXT_COLUMN_CHANGED	= ( IA2_EVENT_TEXT_CHANGED + 1 ) ,
4397 	IA2_EVENT_TEXT_INSERTED	= ( IA2_EVENT_TEXT_COLUMN_CHANGED + 1 ) ,
4398 	IA2_EVENT_TEXT_REMOVED	= ( IA2_EVENT_TEXT_INSERTED + 1 ) ,
4399 	IA2_EVENT_TEXT_UPDATED	= ( IA2_EVENT_TEXT_REMOVED + 1 ) ,
4400 	IA2_EVENT_TEXT_SELECTION_CHANGED	= ( IA2_EVENT_TEXT_UPDATED + 1 ) ,
4401 	IA2_EVENT_VISIBLE_DATA_CHANGED	= ( IA2_EVENT_TEXT_SELECTION_CHANGED + 1 )
4402     } ;
4403 
4404 
4405 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_c_ifspec;
4406 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0016_v0_0_s_ifspec;
4407 
4408 #ifndef __IAccessibleApplication_INTERFACE_DEFINED__
4409 #define __IAccessibleApplication_INTERFACE_DEFINED__
4410 
4411 /* interface IAccessibleApplication */
4412 /* [uuid][object] */
4413 
4414 
4415 EXTERN_C const IID IID_IAccessibleApplication;
4416 
4417 #if defined(__cplusplus) && !defined(CINTERFACE)
4418 
4419     MIDL_INTERFACE("D49DED83-5B25-43F4-9B95-93B44595979E")
4420     IAccessibleApplication : public IUnknown
4421     {
4422     public:
4423         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appName(
4424             /* [retval][out] */ BSTR *name) = 0;
4425 
4426         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appVersion(
4427             /* [retval][out] */ BSTR *version) = 0;
4428 
4429         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitName(
4430             /* [retval][out] */ BSTR *name) = 0;
4431 
4432         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_toolkitVersion(
4433             /* [retval][out] */ BSTR *version) = 0;
4434 
4435     };
4436 
4437 #else 	/* C style interface */
4438 
4439     typedef struct IAccessibleApplicationVtbl
4440     {
4441         BEGIN_INTERFACE
4442 
4443         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4444             IAccessibleApplication * This,
4445             /* [in] */ REFIID riid,
4446             /* [annotation][iid_is][out] */
4447             __RPC__deref_out  void **ppvObject);
4448 
4449         ULONG ( STDMETHODCALLTYPE *AddRef )(
4450             IAccessibleApplication * This);
4451 
4452         ULONG ( STDMETHODCALLTYPE *Release )(
4453             IAccessibleApplication * This);
4454 
4455         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appName )(
4456             IAccessibleApplication * This,
4457             /* [retval][out] */ BSTR *name);
4458 
4459         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appVersion )(
4460             IAccessibleApplication * This,
4461             /* [retval][out] */ BSTR *version);
4462 
4463         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitName )(
4464             IAccessibleApplication * This,
4465             /* [retval][out] */ BSTR *name);
4466 
4467         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_toolkitVersion )(
4468             IAccessibleApplication * This,
4469             /* [retval][out] */ BSTR *version);
4470 
4471         END_INTERFACE
4472     } IAccessibleApplicationVtbl;
4473 
4474     interface IAccessibleApplication
4475     {
4476         CONST_VTBL struct IAccessibleApplicationVtbl *lpVtbl;
4477     };
4478 
4479 
4480 
4481 #ifdef COBJMACROS
4482 
4483 
4484 #define IAccessibleApplication_QueryInterface(This,riid,ppvObject)	\
4485     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4486 
4487 #define IAccessibleApplication_AddRef(This)	\
4488     ( (This)->lpVtbl -> AddRef(This) )
4489 
4490 #define IAccessibleApplication_Release(This)	\
4491     ( (This)->lpVtbl -> Release(This) )
4492 
4493 
4494 #define IAccessibleApplication_get_appName(This,name)	\
4495     ( (This)->lpVtbl -> get_appName(This,name) )
4496 
4497 #define IAccessibleApplication_get_appVersion(This,version)	\
4498     ( (This)->lpVtbl -> get_appVersion(This,version) )
4499 
4500 #define IAccessibleApplication_get_toolkitName(This,name)	\
4501     ( (This)->lpVtbl -> get_toolkitName(This,name) )
4502 
4503 #define IAccessibleApplication_get_toolkitVersion(This,version)	\
4504     ( (This)->lpVtbl -> get_toolkitVersion(This,version) )
4505 
4506 #endif /* COBJMACROS */
4507 
4508 
4509 #endif 	/* C style interface */
4510 
4511 
4512 
4513 
4514 #endif 	/* __IAccessibleApplication_INTERFACE_DEFINED__ */
4515 
4516 
4517 #ifndef __IAccessibleDocument_INTERFACE_DEFINED__
4518 #define __IAccessibleDocument_INTERFACE_DEFINED__
4519 
4520 /* interface IAccessibleDocument */
4521 /* [uuid][object] */
4522 
4523 
4524 EXTERN_C const IID IID_IAccessibleDocument;
4525 
4526 #if defined(__cplusplus) && !defined(CINTERFACE)
4527 
4528     MIDL_INTERFACE("C48C7FCF-4AB5-4056-AFA6-902D6E1D1149")
4529     IAccessibleDocument : public IUnknown
4530     {
4531     public:
4532         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_anchorTarget(
4533             /* [retval][out] */ IUnknown **accessible) = 0;
4534 
4535     };
4536 
4537 #else 	/* C style interface */
4538 
4539     typedef struct IAccessibleDocumentVtbl
4540     {
4541         BEGIN_INTERFACE
4542 
4543         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4544             IAccessibleDocument * This,
4545             /* [in] */ REFIID riid,
4546             /* [annotation][iid_is][out] */
4547             __RPC__deref_out  void **ppvObject);
4548 
4549         ULONG ( STDMETHODCALLTYPE *AddRef )(
4550             IAccessibleDocument * This);
4551 
4552         ULONG ( STDMETHODCALLTYPE *Release )(
4553             IAccessibleDocument * This);
4554 
4555         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_anchorTarget )(
4556             IAccessibleDocument * This,
4557             /* [retval][out] */ IUnknown **accessible);
4558 
4559         END_INTERFACE
4560     } IAccessibleDocumentVtbl;
4561 
4562     interface IAccessibleDocument
4563     {
4564         CONST_VTBL struct IAccessibleDocumentVtbl *lpVtbl;
4565     };
4566 
4567 
4568 
4569 #ifdef COBJMACROS
4570 
4571 
4572 #define IAccessibleDocument_QueryInterface(This,riid,ppvObject)	\
4573     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
4574 
4575 #define IAccessibleDocument_AddRef(This)	\
4576     ( (This)->lpVtbl -> AddRef(This) )
4577 
4578 #define IAccessibleDocument_Release(This)	\
4579     ( (This)->lpVtbl -> Release(This) )
4580 
4581 
4582 #define IAccessibleDocument_get_anchorTarget(This,accessible)	\
4583     ( (This)->lpVtbl -> get_anchorTarget(This,accessible) )
4584 
4585 #endif /* COBJMACROS */
4586 
4587 
4588 #endif 	/* C style interface */
4589 
4590 
4591 
4592 
4593 #endif 	/* __IAccessibleDocument_INTERFACE_DEFINED__ */
4594 
4595 
4596 /* interface __MIDL_itf_ia2_api_all_0000_0018 */
4597 /* [local] */
4598 
4599 
4600 // Type Library Definitions
4601 
4602 
4603 
4604 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_c_ifspec;
4605 extern RPC_IF_HANDLE __MIDL_itf_ia2_api_all_0000_0018_v0_0_s_ifspec;
4606 
4607 
4608 #ifndef __IAccessible2Lib_LIBRARY_DEFINED__
4609 #define __IAccessible2Lib_LIBRARY_DEFINED__
4610 
4611 /* library IAccessible2Lib */
4612 /* [hidden][version][helpstring][uuid] */
4613 
4614 
4615 
4616 
4617 
4618 
4619 
4620 
4621 
4622 
4623 
4624 
4625 
4626 
4627 
4628 
4629 
4630 
4631 
4632 
4633 
4634 
4635 
4636 
4637 
4638 
4639 
4640 
4641 EXTERN_C const IID LIBID_IAccessible2Lib;
4642 #endif /* __IAccessible2Lib_LIBRARY_DEFINED__ */
4643 
4644 /* Additional Prototypes for ALL interfaces */
4645 
4646 unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * );
4647 unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * );
4648 unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
4649 void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * );
4650 
4651 unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * );
4652 unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * );
4653 unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
4654 void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * );
4655 
4656 unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * );
4657 unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * );
4658 unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
4659 void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * );
4660 
4661 /* end of Additional Prototypes */
4662 
4663 #ifdef __cplusplus
4664 }
4665 #endif
4666 
4667 #endif
4668 
4669 
4670