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