1 /*** Autogenerated by WIDL 6.4 from include/spellcheck.idl - Do not edit ***/
2 
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10 
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15 
16 #ifndef __spellcheck_h__
17 #define __spellcheck_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __ISpellingError_FWD_DEFINED__
22 #define __ISpellingError_FWD_DEFINED__
23 typedef interface ISpellingError ISpellingError;
24 #ifdef __cplusplus
25 interface ISpellingError;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __IEnumSpellingError_FWD_DEFINED__
30 #define __IEnumSpellingError_FWD_DEFINED__
31 typedef interface IEnumSpellingError IEnumSpellingError;
32 #ifdef __cplusplus
33 interface IEnumSpellingError;
34 #endif /* __cplusplus */
35 #endif
36 
37 #ifndef __IOptionDescription_FWD_DEFINED__
38 #define __IOptionDescription_FWD_DEFINED__
39 typedef interface IOptionDescription IOptionDescription;
40 #ifdef __cplusplus
41 interface IOptionDescription;
42 #endif /* __cplusplus */
43 #endif
44 
45 #ifndef __ISpellCheckerChangedEventHandler_FWD_DEFINED__
46 #define __ISpellCheckerChangedEventHandler_FWD_DEFINED__
47 typedef interface ISpellCheckerChangedEventHandler ISpellCheckerChangedEventHandler;
48 #ifdef __cplusplus
49 interface ISpellCheckerChangedEventHandler;
50 #endif /* __cplusplus */
51 #endif
52 
53 #ifndef __ISpellChecker_FWD_DEFINED__
54 #define __ISpellChecker_FWD_DEFINED__
55 typedef interface ISpellChecker ISpellChecker;
56 #ifdef __cplusplus
57 interface ISpellChecker;
58 #endif /* __cplusplus */
59 #endif
60 
61 #ifndef __ISpellChecker2_FWD_DEFINED__
62 #define __ISpellChecker2_FWD_DEFINED__
63 typedef interface ISpellChecker2 ISpellChecker2;
64 #ifdef __cplusplus
65 interface ISpellChecker2;
66 #endif /* __cplusplus */
67 #endif
68 
69 #ifndef __ISpellCheckerFactory_FWD_DEFINED__
70 #define __ISpellCheckerFactory_FWD_DEFINED__
71 typedef interface ISpellCheckerFactory ISpellCheckerFactory;
72 #ifdef __cplusplus
73 interface ISpellCheckerFactory;
74 #endif /* __cplusplus */
75 #endif
76 
77 #ifndef __IUserDictionariesRegistrar_FWD_DEFINED__
78 #define __IUserDictionariesRegistrar_FWD_DEFINED__
79 typedef interface IUserDictionariesRegistrar IUserDictionariesRegistrar;
80 #ifdef __cplusplus
81 interface IUserDictionariesRegistrar;
82 #endif /* __cplusplus */
83 #endif
84 
85 #ifndef __SpellCheckerFactory_FWD_DEFINED__
86 #define __SpellCheckerFactory_FWD_DEFINED__
87 #ifdef __cplusplus
88 typedef class SpellCheckerFactory SpellCheckerFactory;
89 #else
90 typedef struct SpellCheckerFactory SpellCheckerFactory;
91 #endif /* defined __cplusplus */
92 #endif /* defined __SpellCheckerFactory_FWD_DEFINED__ */
93 
94 /* Headers for imported files */
95 
96 #include <oaidl.h>
97 #include <ocidl.h>
98 
99 #ifdef __cplusplus
100 extern "C" {
101 #endif
102 
103 #ifndef MIN_SPELLING_NTDDI
104 #define MIN_SPELLING_NTDDI NTDDI_WIN8
105 #endif
106 #if NTDDI_VERSION >= MIN_SPELLING_NTDDI
107 #include <winapifamily.h>
108 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
109 typedef enum WORDLIST_TYPE {
110     WORDLIST_TYPE_IGNORE = 0,
111     WORDLIST_TYPE_ADD = 1,
112     WORDLIST_TYPE_EXCLUDE = 2,
113     WORDLIST_TYPE_AUTOCORRECT = 3
114 } WORDLIST_TYPE;
115 /*****************************************************************************
116  * ISpellingError interface
117  */
118 #ifndef __ISpellingError_INTERFACE_DEFINED__
119 #define __ISpellingError_INTERFACE_DEFINED__
120 
121 typedef enum CORRECTIVE_ACTION {
122     CORRECTIVE_ACTION_NONE = 0,
123     CORRECTIVE_ACTION_GET_SUGGESTIONS = 1,
124     CORRECTIVE_ACTION_REPLACE = 2,
125     CORRECTIVE_ACTION_DELETE = 3
126 } CORRECTIVE_ACTION;
127 DEFINE_GUID(IID_ISpellingError, 0xb7c82d61, 0xfbe8, 0x4b47, 0x9b,0x27, 0x6c,0x0d,0x2e,0x0d,0xe0,0xa3);
128 #if defined(__cplusplus) && !defined(CINTERFACE)
129 MIDL_INTERFACE("b7c82d61-fbe8-4b47-9b27-6c0d2e0de0a3")
130 ISpellingError : public IUnknown
131 {
132     virtual HRESULT STDMETHODCALLTYPE get_StartIndex(
133         ULONG *val) = 0;
134 
135     virtual HRESULT STDMETHODCALLTYPE get_Length(
136         ULONG *val) = 0;
137 
138     virtual HRESULT STDMETHODCALLTYPE get_CorrectiveAction(
139         CORRECTIVE_ACTION *val) = 0;
140 
141     virtual HRESULT STDMETHODCALLTYPE get_Replacement(
142         LPWSTR *val) = 0;
143 
144 };
145 #ifdef __CRT_UUID_DECL
146 __CRT_UUID_DECL(ISpellingError, 0xb7c82d61, 0xfbe8, 0x4b47, 0x9b,0x27, 0x6c,0x0d,0x2e,0x0d,0xe0,0xa3)
147 #endif
148 #else
149 typedef struct ISpellingErrorVtbl {
150     BEGIN_INTERFACE
151 
152     /*** IUnknown methods ***/
153     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
154         ISpellingError *This,
155         REFIID riid,
156         void **ppvObject);
157 
158     ULONG (STDMETHODCALLTYPE *AddRef)(
159         ISpellingError *This);
160 
161     ULONG (STDMETHODCALLTYPE *Release)(
162         ISpellingError *This);
163 
164     /*** ISpellingError methods ***/
165     HRESULT (STDMETHODCALLTYPE *get_StartIndex)(
166         ISpellingError *This,
167         ULONG *val);
168 
169     HRESULT (STDMETHODCALLTYPE *get_Length)(
170         ISpellingError *This,
171         ULONG *val);
172 
173     HRESULT (STDMETHODCALLTYPE *get_CorrectiveAction)(
174         ISpellingError *This,
175         CORRECTIVE_ACTION *val);
176 
177     HRESULT (STDMETHODCALLTYPE *get_Replacement)(
178         ISpellingError *This,
179         LPWSTR *val);
180 
181     END_INTERFACE
182 } ISpellingErrorVtbl;
183 
184 interface ISpellingError {
185     CONST_VTBL ISpellingErrorVtbl* lpVtbl;
186 };
187 
188 #ifdef COBJMACROS
189 #ifndef WIDL_C_INLINE_WRAPPERS
190 /*** IUnknown methods ***/
191 #define ISpellingError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
192 #define ISpellingError_AddRef(This) (This)->lpVtbl->AddRef(This)
193 #define ISpellingError_Release(This) (This)->lpVtbl->Release(This)
194 /*** ISpellingError methods ***/
195 #define ISpellingError_get_StartIndex(This,val) (This)->lpVtbl->get_StartIndex(This,val)
196 #define ISpellingError_get_Length(This,val) (This)->lpVtbl->get_Length(This,val)
197 #define ISpellingError_get_CorrectiveAction(This,val) (This)->lpVtbl->get_CorrectiveAction(This,val)
198 #define ISpellingError_get_Replacement(This,val) (This)->lpVtbl->get_Replacement(This,val)
199 #else
200 /*** IUnknown methods ***/
201 static FORCEINLINE HRESULT ISpellingError_QueryInterface(ISpellingError* This,REFIID riid,void **ppvObject) {
202     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
203 }
204 static FORCEINLINE ULONG ISpellingError_AddRef(ISpellingError* This) {
205     return This->lpVtbl->AddRef(This);
206 }
207 static FORCEINLINE ULONG ISpellingError_Release(ISpellingError* This) {
208     return This->lpVtbl->Release(This);
209 }
210 /*** ISpellingError methods ***/
211 static FORCEINLINE HRESULT ISpellingError_get_StartIndex(ISpellingError* This,ULONG *val) {
212     return This->lpVtbl->get_StartIndex(This,val);
213 }
214 static FORCEINLINE HRESULT ISpellingError_get_Length(ISpellingError* This,ULONG *val) {
215     return This->lpVtbl->get_Length(This,val);
216 }
217 static FORCEINLINE HRESULT ISpellingError_get_CorrectiveAction(ISpellingError* This,CORRECTIVE_ACTION *val) {
218     return This->lpVtbl->get_CorrectiveAction(This,val);
219 }
220 static FORCEINLINE HRESULT ISpellingError_get_Replacement(ISpellingError* This,LPWSTR *val) {
221     return This->lpVtbl->get_Replacement(This,val);
222 }
223 #endif
224 #endif
225 
226 #endif
227 
228 
229 #endif  /* __ISpellingError_INTERFACE_DEFINED__ */
230 
231 /*****************************************************************************
232  * IEnumSpellingError interface
233  */
234 #ifndef __IEnumSpellingError_INTERFACE_DEFINED__
235 #define __IEnumSpellingError_INTERFACE_DEFINED__
236 
237 DEFINE_GUID(IID_IEnumSpellingError, 0x803e3bd4, 0x2828, 0x4410, 0x82,0x90, 0x41,0x8d,0x1d,0x73,0xc7,0x62);
238 #if defined(__cplusplus) && !defined(CINTERFACE)
239 MIDL_INTERFACE("803e3bd4-2828-4410-8290-418d1d73c762")
240 IEnumSpellingError : public IUnknown
241 {
242     virtual HRESULT STDMETHODCALLTYPE Next(
243         ISpellingError **val) = 0;
244 
245 };
246 #ifdef __CRT_UUID_DECL
247 __CRT_UUID_DECL(IEnumSpellingError, 0x803e3bd4, 0x2828, 0x4410, 0x82,0x90, 0x41,0x8d,0x1d,0x73,0xc7,0x62)
248 #endif
249 #else
250 typedef struct IEnumSpellingErrorVtbl {
251     BEGIN_INTERFACE
252 
253     /*** IUnknown methods ***/
254     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
255         IEnumSpellingError *This,
256         REFIID riid,
257         void **ppvObject);
258 
259     ULONG (STDMETHODCALLTYPE *AddRef)(
260         IEnumSpellingError *This);
261 
262     ULONG (STDMETHODCALLTYPE *Release)(
263         IEnumSpellingError *This);
264 
265     /*** IEnumSpellingError methods ***/
266     HRESULT (STDMETHODCALLTYPE *Next)(
267         IEnumSpellingError *This,
268         ISpellingError **val);
269 
270     END_INTERFACE
271 } IEnumSpellingErrorVtbl;
272 
273 interface IEnumSpellingError {
274     CONST_VTBL IEnumSpellingErrorVtbl* lpVtbl;
275 };
276 
277 #ifdef COBJMACROS
278 #ifndef WIDL_C_INLINE_WRAPPERS
279 /*** IUnknown methods ***/
280 #define IEnumSpellingError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
281 #define IEnumSpellingError_AddRef(This) (This)->lpVtbl->AddRef(This)
282 #define IEnumSpellingError_Release(This) (This)->lpVtbl->Release(This)
283 /*** IEnumSpellingError methods ***/
284 #define IEnumSpellingError_Next(This,val) (This)->lpVtbl->Next(This,val)
285 #else
286 /*** IUnknown methods ***/
287 static FORCEINLINE HRESULT IEnumSpellingError_QueryInterface(IEnumSpellingError* This,REFIID riid,void **ppvObject) {
288     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
289 }
290 static FORCEINLINE ULONG IEnumSpellingError_AddRef(IEnumSpellingError* This) {
291     return This->lpVtbl->AddRef(This);
292 }
293 static FORCEINLINE ULONG IEnumSpellingError_Release(IEnumSpellingError* This) {
294     return This->lpVtbl->Release(This);
295 }
296 /*** IEnumSpellingError methods ***/
297 static FORCEINLINE HRESULT IEnumSpellingError_Next(IEnumSpellingError* This,ISpellingError **val) {
298     return This->lpVtbl->Next(This,val);
299 }
300 #endif
301 #endif
302 
303 #endif
304 
305 
306 #endif  /* __IEnumSpellingError_INTERFACE_DEFINED__ */
307 
308 /*****************************************************************************
309  * IOptionDescription interface
310  */
311 #ifndef __IOptionDescription_INTERFACE_DEFINED__
312 #define __IOptionDescription_INTERFACE_DEFINED__
313 
314 DEFINE_GUID(IID_IOptionDescription, 0x432e5f85, 0x35cf, 0x4606, 0xa8,0x01, 0x6f,0x70,0x27,0x7e,0x1d,0x7a);
315 #if defined(__cplusplus) && !defined(CINTERFACE)
316 MIDL_INTERFACE("432e5f85-35cf-4606-a801-6f70277e1d7a")
317 IOptionDescription : public IUnknown
318 {
319     virtual HRESULT STDMETHODCALLTYPE get_Id(
320         LPWSTR *val) = 0;
321 
322     virtual HRESULT STDMETHODCALLTYPE get_Heading(
323         LPWSTR *val) = 0;
324 
325     virtual HRESULT STDMETHODCALLTYPE get_Description(
326         LPWSTR *val) = 0;
327 
328     virtual HRESULT STDMETHODCALLTYPE get_Labels(
329         IEnumString **val) = 0;
330 
331 };
332 #ifdef __CRT_UUID_DECL
333 __CRT_UUID_DECL(IOptionDescription, 0x432e5f85, 0x35cf, 0x4606, 0xa8,0x01, 0x6f,0x70,0x27,0x7e,0x1d,0x7a)
334 #endif
335 #else
336 typedef struct IOptionDescriptionVtbl {
337     BEGIN_INTERFACE
338 
339     /*** IUnknown methods ***/
340     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
341         IOptionDescription *This,
342         REFIID riid,
343         void **ppvObject);
344 
345     ULONG (STDMETHODCALLTYPE *AddRef)(
346         IOptionDescription *This);
347 
348     ULONG (STDMETHODCALLTYPE *Release)(
349         IOptionDescription *This);
350 
351     /*** IOptionDescription methods ***/
352     HRESULT (STDMETHODCALLTYPE *get_Id)(
353         IOptionDescription *This,
354         LPWSTR *val);
355 
356     HRESULT (STDMETHODCALLTYPE *get_Heading)(
357         IOptionDescription *This,
358         LPWSTR *val);
359 
360     HRESULT (STDMETHODCALLTYPE *get_Description)(
361         IOptionDescription *This,
362         LPWSTR *val);
363 
364     HRESULT (STDMETHODCALLTYPE *get_Labels)(
365         IOptionDescription *This,
366         IEnumString **val);
367 
368     END_INTERFACE
369 } IOptionDescriptionVtbl;
370 
371 interface IOptionDescription {
372     CONST_VTBL IOptionDescriptionVtbl* lpVtbl;
373 };
374 
375 #ifdef COBJMACROS
376 #ifndef WIDL_C_INLINE_WRAPPERS
377 /*** IUnknown methods ***/
378 #define IOptionDescription_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
379 #define IOptionDescription_AddRef(This) (This)->lpVtbl->AddRef(This)
380 #define IOptionDescription_Release(This) (This)->lpVtbl->Release(This)
381 /*** IOptionDescription methods ***/
382 #define IOptionDescription_get_Id(This,val) (This)->lpVtbl->get_Id(This,val)
383 #define IOptionDescription_get_Heading(This,val) (This)->lpVtbl->get_Heading(This,val)
384 #define IOptionDescription_get_Description(This,val) (This)->lpVtbl->get_Description(This,val)
385 #define IOptionDescription_get_Labels(This,val) (This)->lpVtbl->get_Labels(This,val)
386 #else
387 /*** IUnknown methods ***/
388 static FORCEINLINE HRESULT IOptionDescription_QueryInterface(IOptionDescription* This,REFIID riid,void **ppvObject) {
389     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
390 }
391 static FORCEINLINE ULONG IOptionDescription_AddRef(IOptionDescription* This) {
392     return This->lpVtbl->AddRef(This);
393 }
394 static FORCEINLINE ULONG IOptionDescription_Release(IOptionDescription* This) {
395     return This->lpVtbl->Release(This);
396 }
397 /*** IOptionDescription methods ***/
398 static FORCEINLINE HRESULT IOptionDescription_get_Id(IOptionDescription* This,LPWSTR *val) {
399     return This->lpVtbl->get_Id(This,val);
400 }
401 static FORCEINLINE HRESULT IOptionDescription_get_Heading(IOptionDescription* This,LPWSTR *val) {
402     return This->lpVtbl->get_Heading(This,val);
403 }
404 static FORCEINLINE HRESULT IOptionDescription_get_Description(IOptionDescription* This,LPWSTR *val) {
405     return This->lpVtbl->get_Description(This,val);
406 }
407 static FORCEINLINE HRESULT IOptionDescription_get_Labels(IOptionDescription* This,IEnumString **val) {
408     return This->lpVtbl->get_Labels(This,val);
409 }
410 #endif
411 #endif
412 
413 #endif
414 
415 
416 #endif  /* __IOptionDescription_INTERFACE_DEFINED__ */
417 
418 #ifndef __ISpellChecker_FWD_DEFINED__
419 #define __ISpellChecker_FWD_DEFINED__
420 typedef interface ISpellChecker ISpellChecker;
421 #ifdef __cplusplus
422 interface ISpellChecker;
423 #endif /* __cplusplus */
424 #endif
425 
426 /*****************************************************************************
427  * ISpellCheckerChangedEventHandler interface
428  */
429 #ifndef __ISpellCheckerChangedEventHandler_INTERFACE_DEFINED__
430 #define __ISpellCheckerChangedEventHandler_INTERFACE_DEFINED__
431 
432 DEFINE_GUID(IID_ISpellCheckerChangedEventHandler, 0x0b83a5b0, 0x792f, 0x4eab, 0x97,0x99, 0xac,0xf5,0x2c,0x5e,0xd0,0x8a);
433 #if defined(__cplusplus) && !defined(CINTERFACE)
434 MIDL_INTERFACE("0b83a5b0-792f-4eab-9799-acf52c5ed08a")
435 ISpellCheckerChangedEventHandler : public IUnknown
436 {
437     virtual HRESULT STDMETHODCALLTYPE Invoke(
438         ISpellChecker *sender) = 0;
439 
440 };
441 #ifdef __CRT_UUID_DECL
442 __CRT_UUID_DECL(ISpellCheckerChangedEventHandler, 0x0b83a5b0, 0x792f, 0x4eab, 0x97,0x99, 0xac,0xf5,0x2c,0x5e,0xd0,0x8a)
443 #endif
444 #else
445 typedef struct ISpellCheckerChangedEventHandlerVtbl {
446     BEGIN_INTERFACE
447 
448     /*** IUnknown methods ***/
449     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
450         ISpellCheckerChangedEventHandler *This,
451         REFIID riid,
452         void **ppvObject);
453 
454     ULONG (STDMETHODCALLTYPE *AddRef)(
455         ISpellCheckerChangedEventHandler *This);
456 
457     ULONG (STDMETHODCALLTYPE *Release)(
458         ISpellCheckerChangedEventHandler *This);
459 
460     /*** ISpellCheckerChangedEventHandler methods ***/
461     HRESULT (STDMETHODCALLTYPE *Invoke)(
462         ISpellCheckerChangedEventHandler *This,
463         ISpellChecker *sender);
464 
465     END_INTERFACE
466 } ISpellCheckerChangedEventHandlerVtbl;
467 
468 interface ISpellCheckerChangedEventHandler {
469     CONST_VTBL ISpellCheckerChangedEventHandlerVtbl* lpVtbl;
470 };
471 
472 #ifdef COBJMACROS
473 #ifndef WIDL_C_INLINE_WRAPPERS
474 /*** IUnknown methods ***/
475 #define ISpellCheckerChangedEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
476 #define ISpellCheckerChangedEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
477 #define ISpellCheckerChangedEventHandler_Release(This) (This)->lpVtbl->Release(This)
478 /*** ISpellCheckerChangedEventHandler methods ***/
479 #define ISpellCheckerChangedEventHandler_Invoke(This,sender) (This)->lpVtbl->Invoke(This,sender)
480 #else
481 /*** IUnknown methods ***/
482 static FORCEINLINE HRESULT ISpellCheckerChangedEventHandler_QueryInterface(ISpellCheckerChangedEventHandler* This,REFIID riid,void **ppvObject) {
483     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
484 }
485 static FORCEINLINE ULONG ISpellCheckerChangedEventHandler_AddRef(ISpellCheckerChangedEventHandler* This) {
486     return This->lpVtbl->AddRef(This);
487 }
488 static FORCEINLINE ULONG ISpellCheckerChangedEventHandler_Release(ISpellCheckerChangedEventHandler* This) {
489     return This->lpVtbl->Release(This);
490 }
491 /*** ISpellCheckerChangedEventHandler methods ***/
492 static FORCEINLINE HRESULT ISpellCheckerChangedEventHandler_Invoke(ISpellCheckerChangedEventHandler* This,ISpellChecker *sender) {
493     return This->lpVtbl->Invoke(This,sender);
494 }
495 #endif
496 #endif
497 
498 #endif
499 
500 
501 #endif  /* __ISpellCheckerChangedEventHandler_INTERFACE_DEFINED__ */
502 
503 /*****************************************************************************
504  * ISpellChecker interface
505  */
506 #ifndef __ISpellChecker_INTERFACE_DEFINED__
507 #define __ISpellChecker_INTERFACE_DEFINED__
508 
509 DEFINE_GUID(IID_ISpellChecker, 0xb6fd0b71, 0xe2bc, 0x4653, 0x8d,0x05, 0xf1,0x97,0xe4,0x12,0x77,0x0b);
510 #if defined(__cplusplus) && !defined(CINTERFACE)
511 MIDL_INTERFACE("b6fd0b71-e2bc-4653-8d05-f197e412770b")
512 ISpellChecker : public IUnknown
513 {
514     virtual HRESULT STDMETHODCALLTYPE get_LanguageTag(
515         LPWSTR *val) = 0;
516 
517     virtual HRESULT STDMETHODCALLTYPE Check(
518         LPCWSTR text,
519         IEnumSpellingError **val) = 0;
520 
521     virtual HRESULT STDMETHODCALLTYPE Suggest(
522         LPCWSTR word,
523         IEnumString **val) = 0;
524 
525     virtual HRESULT STDMETHODCALLTYPE Add(
526         LPCWSTR word) = 0;
527 
528     virtual HRESULT STDMETHODCALLTYPE Ignore(
529         LPCWSTR word) = 0;
530 
531     virtual HRESULT STDMETHODCALLTYPE AutoCorrect(
532         LPCWSTR from,
533         LPCWSTR to) = 0;
534 
535     virtual HRESULT STDMETHODCALLTYPE GetOptionValue(
536         LPCWSTR option_id,
537         BYTE *val) = 0;
538 
539     virtual HRESULT STDMETHODCALLTYPE get_OptionIds(
540         IEnumString **val) = 0;
541 
542     virtual HRESULT STDMETHODCALLTYPE get_Id(
543         LPWSTR *val) = 0;
544 
545     virtual HRESULT STDMETHODCALLTYPE get_LocalizedName(
546         LPWSTR *val) = 0;
547 
548     virtual HRESULT STDMETHODCALLTYPE add_SpellCheckerChanged(
549         ISpellCheckerChangedEventHandler *handler,
550         DWORD *event_cookie) = 0;
551 
552     virtual HRESULT STDMETHODCALLTYPE remove_SpellCheckerChanged(
553         DWORD event_cookie) = 0;
554 
555     virtual HRESULT STDMETHODCALLTYPE GetOptionDescription(
556         LPCWSTR optionId,
557         IOptionDescription **val) = 0;
558 
559     virtual HRESULT STDMETHODCALLTYPE ComprehensiveCheck(
560         LPCWSTR text,
561         IEnumSpellingError **val) = 0;
562 
563 };
564 #ifdef __CRT_UUID_DECL
565 __CRT_UUID_DECL(ISpellChecker, 0xb6fd0b71, 0xe2bc, 0x4653, 0x8d,0x05, 0xf1,0x97,0xe4,0x12,0x77,0x0b)
566 #endif
567 #else
568 typedef struct ISpellCheckerVtbl {
569     BEGIN_INTERFACE
570 
571     /*** IUnknown methods ***/
572     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
573         ISpellChecker *This,
574         REFIID riid,
575         void **ppvObject);
576 
577     ULONG (STDMETHODCALLTYPE *AddRef)(
578         ISpellChecker *This);
579 
580     ULONG (STDMETHODCALLTYPE *Release)(
581         ISpellChecker *This);
582 
583     /*** ISpellChecker methods ***/
584     HRESULT (STDMETHODCALLTYPE *get_LanguageTag)(
585         ISpellChecker *This,
586         LPWSTR *val);
587 
588     HRESULT (STDMETHODCALLTYPE *Check)(
589         ISpellChecker *This,
590         LPCWSTR text,
591         IEnumSpellingError **val);
592 
593     HRESULT (STDMETHODCALLTYPE *Suggest)(
594         ISpellChecker *This,
595         LPCWSTR word,
596         IEnumString **val);
597 
598     HRESULT (STDMETHODCALLTYPE *Add)(
599         ISpellChecker *This,
600         LPCWSTR word);
601 
602     HRESULT (STDMETHODCALLTYPE *Ignore)(
603         ISpellChecker *This,
604         LPCWSTR word);
605 
606     HRESULT (STDMETHODCALLTYPE *AutoCorrect)(
607         ISpellChecker *This,
608         LPCWSTR from,
609         LPCWSTR to);
610 
611     HRESULT (STDMETHODCALLTYPE *GetOptionValue)(
612         ISpellChecker *This,
613         LPCWSTR option_id,
614         BYTE *val);
615 
616     HRESULT (STDMETHODCALLTYPE *get_OptionIds)(
617         ISpellChecker *This,
618         IEnumString **val);
619 
620     HRESULT (STDMETHODCALLTYPE *get_Id)(
621         ISpellChecker *This,
622         LPWSTR *val);
623 
624     HRESULT (STDMETHODCALLTYPE *get_LocalizedName)(
625         ISpellChecker *This,
626         LPWSTR *val);
627 
628     HRESULT (STDMETHODCALLTYPE *add_SpellCheckerChanged)(
629         ISpellChecker *This,
630         ISpellCheckerChangedEventHandler *handler,
631         DWORD *event_cookie);
632 
633     HRESULT (STDMETHODCALLTYPE *remove_SpellCheckerChanged)(
634         ISpellChecker *This,
635         DWORD event_cookie);
636 
637     HRESULT (STDMETHODCALLTYPE *GetOptionDescription)(
638         ISpellChecker *This,
639         LPCWSTR optionId,
640         IOptionDescription **val);
641 
642     HRESULT (STDMETHODCALLTYPE *ComprehensiveCheck)(
643         ISpellChecker *This,
644         LPCWSTR text,
645         IEnumSpellingError **val);
646 
647     END_INTERFACE
648 } ISpellCheckerVtbl;
649 
650 interface ISpellChecker {
651     CONST_VTBL ISpellCheckerVtbl* lpVtbl;
652 };
653 
654 #ifdef COBJMACROS
655 #ifndef WIDL_C_INLINE_WRAPPERS
656 /*** IUnknown methods ***/
657 #define ISpellChecker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
658 #define ISpellChecker_AddRef(This) (This)->lpVtbl->AddRef(This)
659 #define ISpellChecker_Release(This) (This)->lpVtbl->Release(This)
660 /*** ISpellChecker methods ***/
661 #define ISpellChecker_get_LanguageTag(This,val) (This)->lpVtbl->get_LanguageTag(This,val)
662 #define ISpellChecker_Check(This,text,val) (This)->lpVtbl->Check(This,text,val)
663 #define ISpellChecker_Suggest(This,word,val) (This)->lpVtbl->Suggest(This,word,val)
664 #define ISpellChecker_Add(This,word) (This)->lpVtbl->Add(This,word)
665 #define ISpellChecker_Ignore(This,word) (This)->lpVtbl->Ignore(This,word)
666 #define ISpellChecker_AutoCorrect(This,from,to) (This)->lpVtbl->AutoCorrect(This,from,to)
667 #define ISpellChecker_GetOptionValue(This,option_id,val) (This)->lpVtbl->GetOptionValue(This,option_id,val)
668 #define ISpellChecker_get_OptionIds(This,val) (This)->lpVtbl->get_OptionIds(This,val)
669 #define ISpellChecker_get_Id(This,val) (This)->lpVtbl->get_Id(This,val)
670 #define ISpellChecker_get_LocalizedName(This,val) (This)->lpVtbl->get_LocalizedName(This,val)
671 #define ISpellChecker_add_SpellCheckerChanged(This,handler,event_cookie) (This)->lpVtbl->add_SpellCheckerChanged(This,handler,event_cookie)
672 #define ISpellChecker_remove_SpellCheckerChanged(This,event_cookie) (This)->lpVtbl->remove_SpellCheckerChanged(This,event_cookie)
673 #define ISpellChecker_GetOptionDescription(This,optionId,val) (This)->lpVtbl->GetOptionDescription(This,optionId,val)
674 #define ISpellChecker_ComprehensiveCheck(This,text,val) (This)->lpVtbl->ComprehensiveCheck(This,text,val)
675 #else
676 /*** IUnknown methods ***/
677 static FORCEINLINE HRESULT ISpellChecker_QueryInterface(ISpellChecker* This,REFIID riid,void **ppvObject) {
678     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
679 }
680 static FORCEINLINE ULONG ISpellChecker_AddRef(ISpellChecker* This) {
681     return This->lpVtbl->AddRef(This);
682 }
683 static FORCEINLINE ULONG ISpellChecker_Release(ISpellChecker* This) {
684     return This->lpVtbl->Release(This);
685 }
686 /*** ISpellChecker methods ***/
687 static FORCEINLINE HRESULT ISpellChecker_get_LanguageTag(ISpellChecker* This,LPWSTR *val) {
688     return This->lpVtbl->get_LanguageTag(This,val);
689 }
690 static FORCEINLINE HRESULT ISpellChecker_Check(ISpellChecker* This,LPCWSTR text,IEnumSpellingError **val) {
691     return This->lpVtbl->Check(This,text,val);
692 }
693 static FORCEINLINE HRESULT ISpellChecker_Suggest(ISpellChecker* This,LPCWSTR word,IEnumString **val) {
694     return This->lpVtbl->Suggest(This,word,val);
695 }
696 static FORCEINLINE HRESULT ISpellChecker_Add(ISpellChecker* This,LPCWSTR word) {
697     return This->lpVtbl->Add(This,word);
698 }
699 static FORCEINLINE HRESULT ISpellChecker_Ignore(ISpellChecker* This,LPCWSTR word) {
700     return This->lpVtbl->Ignore(This,word);
701 }
702 static FORCEINLINE HRESULT ISpellChecker_AutoCorrect(ISpellChecker* This,LPCWSTR from,LPCWSTR to) {
703     return This->lpVtbl->AutoCorrect(This,from,to);
704 }
705 static FORCEINLINE HRESULT ISpellChecker_GetOptionValue(ISpellChecker* This,LPCWSTR option_id,BYTE *val) {
706     return This->lpVtbl->GetOptionValue(This,option_id,val);
707 }
708 static FORCEINLINE HRESULT ISpellChecker_get_OptionIds(ISpellChecker* This,IEnumString **val) {
709     return This->lpVtbl->get_OptionIds(This,val);
710 }
711 static FORCEINLINE HRESULT ISpellChecker_get_Id(ISpellChecker* This,LPWSTR *val) {
712     return This->lpVtbl->get_Id(This,val);
713 }
714 static FORCEINLINE HRESULT ISpellChecker_get_LocalizedName(ISpellChecker* This,LPWSTR *val) {
715     return This->lpVtbl->get_LocalizedName(This,val);
716 }
717 static FORCEINLINE HRESULT ISpellChecker_add_SpellCheckerChanged(ISpellChecker* This,ISpellCheckerChangedEventHandler *handler,DWORD *event_cookie) {
718     return This->lpVtbl->add_SpellCheckerChanged(This,handler,event_cookie);
719 }
720 static FORCEINLINE HRESULT ISpellChecker_remove_SpellCheckerChanged(ISpellChecker* This,DWORD event_cookie) {
721     return This->lpVtbl->remove_SpellCheckerChanged(This,event_cookie);
722 }
723 static FORCEINLINE HRESULT ISpellChecker_GetOptionDescription(ISpellChecker* This,LPCWSTR optionId,IOptionDescription **val) {
724     return This->lpVtbl->GetOptionDescription(This,optionId,val);
725 }
726 static FORCEINLINE HRESULT ISpellChecker_ComprehensiveCheck(ISpellChecker* This,LPCWSTR text,IEnumSpellingError **val) {
727     return This->lpVtbl->ComprehensiveCheck(This,text,val);
728 }
729 #endif
730 #endif
731 
732 #endif
733 
734 
735 #endif  /* __ISpellChecker_INTERFACE_DEFINED__ */
736 
737 /*****************************************************************************
738  * ISpellChecker2 interface
739  */
740 #ifndef __ISpellChecker2_INTERFACE_DEFINED__
741 #define __ISpellChecker2_INTERFACE_DEFINED__
742 
743 DEFINE_GUID(IID_ISpellChecker2, 0xe7ed1c71, 0x87f7, 0x4378, 0xa8,0x40, 0xc9,0x20,0x0d,0xac,0xee,0x47);
744 #if defined(__cplusplus) && !defined(CINTERFACE)
745 MIDL_INTERFACE("e7ed1c71-87f7-4378-a840-c9200dacee47")
746 ISpellChecker2 : public ISpellChecker
747 {
748     virtual HRESULT STDMETHODCALLTYPE Remove(
749         LPCWSTR word) = 0;
750 
751 };
752 #ifdef __CRT_UUID_DECL
753 __CRT_UUID_DECL(ISpellChecker2, 0xe7ed1c71, 0x87f7, 0x4378, 0xa8,0x40, 0xc9,0x20,0x0d,0xac,0xee,0x47)
754 #endif
755 #else
756 typedef struct ISpellChecker2Vtbl {
757     BEGIN_INTERFACE
758 
759     /*** IUnknown methods ***/
760     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
761         ISpellChecker2 *This,
762         REFIID riid,
763         void **ppvObject);
764 
765     ULONG (STDMETHODCALLTYPE *AddRef)(
766         ISpellChecker2 *This);
767 
768     ULONG (STDMETHODCALLTYPE *Release)(
769         ISpellChecker2 *This);
770 
771     /*** ISpellChecker methods ***/
772     HRESULT (STDMETHODCALLTYPE *get_LanguageTag)(
773         ISpellChecker2 *This,
774         LPWSTR *val);
775 
776     HRESULT (STDMETHODCALLTYPE *Check)(
777         ISpellChecker2 *This,
778         LPCWSTR text,
779         IEnumSpellingError **val);
780 
781     HRESULT (STDMETHODCALLTYPE *Suggest)(
782         ISpellChecker2 *This,
783         LPCWSTR word,
784         IEnumString **val);
785 
786     HRESULT (STDMETHODCALLTYPE *Add)(
787         ISpellChecker2 *This,
788         LPCWSTR word);
789 
790     HRESULT (STDMETHODCALLTYPE *Ignore)(
791         ISpellChecker2 *This,
792         LPCWSTR word);
793 
794     HRESULT (STDMETHODCALLTYPE *AutoCorrect)(
795         ISpellChecker2 *This,
796         LPCWSTR from,
797         LPCWSTR to);
798 
799     HRESULT (STDMETHODCALLTYPE *GetOptionValue)(
800         ISpellChecker2 *This,
801         LPCWSTR option_id,
802         BYTE *val);
803 
804     HRESULT (STDMETHODCALLTYPE *get_OptionIds)(
805         ISpellChecker2 *This,
806         IEnumString **val);
807 
808     HRESULT (STDMETHODCALLTYPE *get_Id)(
809         ISpellChecker2 *This,
810         LPWSTR *val);
811 
812     HRESULT (STDMETHODCALLTYPE *get_LocalizedName)(
813         ISpellChecker2 *This,
814         LPWSTR *val);
815 
816     HRESULT (STDMETHODCALLTYPE *add_SpellCheckerChanged)(
817         ISpellChecker2 *This,
818         ISpellCheckerChangedEventHandler *handler,
819         DWORD *event_cookie);
820 
821     HRESULT (STDMETHODCALLTYPE *remove_SpellCheckerChanged)(
822         ISpellChecker2 *This,
823         DWORD event_cookie);
824 
825     HRESULT (STDMETHODCALLTYPE *GetOptionDescription)(
826         ISpellChecker2 *This,
827         LPCWSTR optionId,
828         IOptionDescription **val);
829 
830     HRESULT (STDMETHODCALLTYPE *ComprehensiveCheck)(
831         ISpellChecker2 *This,
832         LPCWSTR text,
833         IEnumSpellingError **val);
834 
835     /*** ISpellChecker2 methods ***/
836     HRESULT (STDMETHODCALLTYPE *Remove)(
837         ISpellChecker2 *This,
838         LPCWSTR word);
839 
840     END_INTERFACE
841 } ISpellChecker2Vtbl;
842 
843 interface ISpellChecker2 {
844     CONST_VTBL ISpellChecker2Vtbl* lpVtbl;
845 };
846 
847 #ifdef COBJMACROS
848 #ifndef WIDL_C_INLINE_WRAPPERS
849 /*** IUnknown methods ***/
850 #define ISpellChecker2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
851 #define ISpellChecker2_AddRef(This) (This)->lpVtbl->AddRef(This)
852 #define ISpellChecker2_Release(This) (This)->lpVtbl->Release(This)
853 /*** ISpellChecker methods ***/
854 #define ISpellChecker2_get_LanguageTag(This,val) (This)->lpVtbl->get_LanguageTag(This,val)
855 #define ISpellChecker2_Check(This,text,val) (This)->lpVtbl->Check(This,text,val)
856 #define ISpellChecker2_Suggest(This,word,val) (This)->lpVtbl->Suggest(This,word,val)
857 #define ISpellChecker2_Add(This,word) (This)->lpVtbl->Add(This,word)
858 #define ISpellChecker2_Ignore(This,word) (This)->lpVtbl->Ignore(This,word)
859 #define ISpellChecker2_AutoCorrect(This,from,to) (This)->lpVtbl->AutoCorrect(This,from,to)
860 #define ISpellChecker2_GetOptionValue(This,option_id,val) (This)->lpVtbl->GetOptionValue(This,option_id,val)
861 #define ISpellChecker2_get_OptionIds(This,val) (This)->lpVtbl->get_OptionIds(This,val)
862 #define ISpellChecker2_get_Id(This,val) (This)->lpVtbl->get_Id(This,val)
863 #define ISpellChecker2_get_LocalizedName(This,val) (This)->lpVtbl->get_LocalizedName(This,val)
864 #define ISpellChecker2_add_SpellCheckerChanged(This,handler,event_cookie) (This)->lpVtbl->add_SpellCheckerChanged(This,handler,event_cookie)
865 #define ISpellChecker2_remove_SpellCheckerChanged(This,event_cookie) (This)->lpVtbl->remove_SpellCheckerChanged(This,event_cookie)
866 #define ISpellChecker2_GetOptionDescription(This,optionId,val) (This)->lpVtbl->GetOptionDescription(This,optionId,val)
867 #define ISpellChecker2_ComprehensiveCheck(This,text,val) (This)->lpVtbl->ComprehensiveCheck(This,text,val)
868 /*** ISpellChecker2 methods ***/
869 #define ISpellChecker2_Remove(This,word) (This)->lpVtbl->Remove(This,word)
870 #else
871 /*** IUnknown methods ***/
872 static FORCEINLINE HRESULT ISpellChecker2_QueryInterface(ISpellChecker2* This,REFIID riid,void **ppvObject) {
873     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
874 }
875 static FORCEINLINE ULONG ISpellChecker2_AddRef(ISpellChecker2* This) {
876     return This->lpVtbl->AddRef(This);
877 }
878 static FORCEINLINE ULONG ISpellChecker2_Release(ISpellChecker2* This) {
879     return This->lpVtbl->Release(This);
880 }
881 /*** ISpellChecker methods ***/
882 static FORCEINLINE HRESULT ISpellChecker2_get_LanguageTag(ISpellChecker2* This,LPWSTR *val) {
883     return This->lpVtbl->get_LanguageTag(This,val);
884 }
885 static FORCEINLINE HRESULT ISpellChecker2_Check(ISpellChecker2* This,LPCWSTR text,IEnumSpellingError **val) {
886     return This->lpVtbl->Check(This,text,val);
887 }
888 static FORCEINLINE HRESULT ISpellChecker2_Suggest(ISpellChecker2* This,LPCWSTR word,IEnumString **val) {
889     return This->lpVtbl->Suggest(This,word,val);
890 }
891 static FORCEINLINE HRESULT ISpellChecker2_Add(ISpellChecker2* This,LPCWSTR word) {
892     return This->lpVtbl->Add(This,word);
893 }
894 static FORCEINLINE HRESULT ISpellChecker2_Ignore(ISpellChecker2* This,LPCWSTR word) {
895     return This->lpVtbl->Ignore(This,word);
896 }
897 static FORCEINLINE HRESULT ISpellChecker2_AutoCorrect(ISpellChecker2* This,LPCWSTR from,LPCWSTR to) {
898     return This->lpVtbl->AutoCorrect(This,from,to);
899 }
900 static FORCEINLINE HRESULT ISpellChecker2_GetOptionValue(ISpellChecker2* This,LPCWSTR option_id,BYTE *val) {
901     return This->lpVtbl->GetOptionValue(This,option_id,val);
902 }
903 static FORCEINLINE HRESULT ISpellChecker2_get_OptionIds(ISpellChecker2* This,IEnumString **val) {
904     return This->lpVtbl->get_OptionIds(This,val);
905 }
906 static FORCEINLINE HRESULT ISpellChecker2_get_Id(ISpellChecker2* This,LPWSTR *val) {
907     return This->lpVtbl->get_Id(This,val);
908 }
909 static FORCEINLINE HRESULT ISpellChecker2_get_LocalizedName(ISpellChecker2* This,LPWSTR *val) {
910     return This->lpVtbl->get_LocalizedName(This,val);
911 }
912 static FORCEINLINE HRESULT ISpellChecker2_add_SpellCheckerChanged(ISpellChecker2* This,ISpellCheckerChangedEventHandler *handler,DWORD *event_cookie) {
913     return This->lpVtbl->add_SpellCheckerChanged(This,handler,event_cookie);
914 }
915 static FORCEINLINE HRESULT ISpellChecker2_remove_SpellCheckerChanged(ISpellChecker2* This,DWORD event_cookie) {
916     return This->lpVtbl->remove_SpellCheckerChanged(This,event_cookie);
917 }
918 static FORCEINLINE HRESULT ISpellChecker2_GetOptionDescription(ISpellChecker2* This,LPCWSTR optionId,IOptionDescription **val) {
919     return This->lpVtbl->GetOptionDescription(This,optionId,val);
920 }
921 static FORCEINLINE HRESULT ISpellChecker2_ComprehensiveCheck(ISpellChecker2* This,LPCWSTR text,IEnumSpellingError **val) {
922     return This->lpVtbl->ComprehensiveCheck(This,text,val);
923 }
924 /*** ISpellChecker2 methods ***/
925 static FORCEINLINE HRESULT ISpellChecker2_Remove(ISpellChecker2* This,LPCWSTR word) {
926     return This->lpVtbl->Remove(This,word);
927 }
928 #endif
929 #endif
930 
931 #endif
932 
933 
934 #endif  /* __ISpellChecker2_INTERFACE_DEFINED__ */
935 
936 /*****************************************************************************
937  * ISpellCheckerFactory interface
938  */
939 #ifndef __ISpellCheckerFactory_INTERFACE_DEFINED__
940 #define __ISpellCheckerFactory_INTERFACE_DEFINED__
941 
942 DEFINE_GUID(IID_ISpellCheckerFactory, 0x8e018a9d, 0x2415, 0x4677, 0xbf,0x08, 0x79,0x4e,0xa6,0x1f,0x94,0xbb);
943 #if defined(__cplusplus) && !defined(CINTERFACE)
944 MIDL_INTERFACE("8e018a9d-2415-4677-bf08-794ea61f94bb")
945 ISpellCheckerFactory : public IUnknown
946 {
947     virtual HRESULT STDMETHODCALLTYPE get_SupportedLanguages(
948         IEnumString **val) = 0;
949 
950     virtual HRESULT STDMETHODCALLTYPE IsSupported(
951         LPCWSTR languageTag,
952         WINBOOL *val) = 0;
953 
954     virtual HRESULT STDMETHODCALLTYPE CreateSpellChecker(
955         LPCWSTR languageTag,
956         ISpellChecker **val) = 0;
957 
958 };
959 #ifdef __CRT_UUID_DECL
960 __CRT_UUID_DECL(ISpellCheckerFactory, 0x8e018a9d, 0x2415, 0x4677, 0xbf,0x08, 0x79,0x4e,0xa6,0x1f,0x94,0xbb)
961 #endif
962 #else
963 typedef struct ISpellCheckerFactoryVtbl {
964     BEGIN_INTERFACE
965 
966     /*** IUnknown methods ***/
967     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
968         ISpellCheckerFactory *This,
969         REFIID riid,
970         void **ppvObject);
971 
972     ULONG (STDMETHODCALLTYPE *AddRef)(
973         ISpellCheckerFactory *This);
974 
975     ULONG (STDMETHODCALLTYPE *Release)(
976         ISpellCheckerFactory *This);
977 
978     /*** ISpellCheckerFactory methods ***/
979     HRESULT (STDMETHODCALLTYPE *get_SupportedLanguages)(
980         ISpellCheckerFactory *This,
981         IEnumString **val);
982 
983     HRESULT (STDMETHODCALLTYPE *IsSupported)(
984         ISpellCheckerFactory *This,
985         LPCWSTR languageTag,
986         WINBOOL *val);
987 
988     HRESULT (STDMETHODCALLTYPE *CreateSpellChecker)(
989         ISpellCheckerFactory *This,
990         LPCWSTR languageTag,
991         ISpellChecker **val);
992 
993     END_INTERFACE
994 } ISpellCheckerFactoryVtbl;
995 
996 interface ISpellCheckerFactory {
997     CONST_VTBL ISpellCheckerFactoryVtbl* lpVtbl;
998 };
999 
1000 #ifdef COBJMACROS
1001 #ifndef WIDL_C_INLINE_WRAPPERS
1002 /*** IUnknown methods ***/
1003 #define ISpellCheckerFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1004 #define ISpellCheckerFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
1005 #define ISpellCheckerFactory_Release(This) (This)->lpVtbl->Release(This)
1006 /*** ISpellCheckerFactory methods ***/
1007 #define ISpellCheckerFactory_get_SupportedLanguages(This,val) (This)->lpVtbl->get_SupportedLanguages(This,val)
1008 #define ISpellCheckerFactory_IsSupported(This,languageTag,val) (This)->lpVtbl->IsSupported(This,languageTag,val)
1009 #define ISpellCheckerFactory_CreateSpellChecker(This,languageTag,val) (This)->lpVtbl->CreateSpellChecker(This,languageTag,val)
1010 #else
1011 /*** IUnknown methods ***/
1012 static FORCEINLINE HRESULT ISpellCheckerFactory_QueryInterface(ISpellCheckerFactory* This,REFIID riid,void **ppvObject) {
1013     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1014 }
1015 static FORCEINLINE ULONG ISpellCheckerFactory_AddRef(ISpellCheckerFactory* This) {
1016     return This->lpVtbl->AddRef(This);
1017 }
1018 static FORCEINLINE ULONG ISpellCheckerFactory_Release(ISpellCheckerFactory* This) {
1019     return This->lpVtbl->Release(This);
1020 }
1021 /*** ISpellCheckerFactory methods ***/
1022 static FORCEINLINE HRESULT ISpellCheckerFactory_get_SupportedLanguages(ISpellCheckerFactory* This,IEnumString **val) {
1023     return This->lpVtbl->get_SupportedLanguages(This,val);
1024 }
1025 static FORCEINLINE HRESULT ISpellCheckerFactory_IsSupported(ISpellCheckerFactory* This,LPCWSTR languageTag,WINBOOL *val) {
1026     return This->lpVtbl->IsSupported(This,languageTag,val);
1027 }
1028 static FORCEINLINE HRESULT ISpellCheckerFactory_CreateSpellChecker(ISpellCheckerFactory* This,LPCWSTR languageTag,ISpellChecker **val) {
1029     return This->lpVtbl->CreateSpellChecker(This,languageTag,val);
1030 }
1031 #endif
1032 #endif
1033 
1034 #endif
1035 
1036 
1037 #endif  /* __ISpellCheckerFactory_INTERFACE_DEFINED__ */
1038 
1039 #endif /* WINAPI_PARTITION_APP */
1040 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
1041 /*****************************************************************************
1042  * IUserDictionariesRegistrar interface
1043  */
1044 #ifndef __IUserDictionariesRegistrar_INTERFACE_DEFINED__
1045 #define __IUserDictionariesRegistrar_INTERFACE_DEFINED__
1046 
1047 DEFINE_GUID(IID_IUserDictionariesRegistrar, 0xaa176b85, 0x0e12, 0x4844, 0x8e,0x1a, 0xee,0xf1,0xda,0x77,0xf5,0x86);
1048 #if defined(__cplusplus) && !defined(CINTERFACE)
1049 MIDL_INTERFACE("aa176b85-0e12-4844-8e1a-eef1da77f586")
1050 IUserDictionariesRegistrar : public IUnknown
1051 {
1052     virtual HRESULT STDMETHODCALLTYPE RegisterUserDictionary(
1053         LPCWSTR dictionaryPath,
1054         LPCWSTR languageTag) = 0;
1055 
1056     virtual HRESULT STDMETHODCALLTYPE UnregisterUserDictionary(
1057         LPCWSTR dictionaryPath,
1058         LPCWSTR languageTag) = 0;
1059 
1060 };
1061 #ifdef __CRT_UUID_DECL
1062 __CRT_UUID_DECL(IUserDictionariesRegistrar, 0xaa176b85, 0x0e12, 0x4844, 0x8e,0x1a, 0xee,0xf1,0xda,0x77,0xf5,0x86)
1063 #endif
1064 #else
1065 typedef struct IUserDictionariesRegistrarVtbl {
1066     BEGIN_INTERFACE
1067 
1068     /*** IUnknown methods ***/
1069     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1070         IUserDictionariesRegistrar *This,
1071         REFIID riid,
1072         void **ppvObject);
1073 
1074     ULONG (STDMETHODCALLTYPE *AddRef)(
1075         IUserDictionariesRegistrar *This);
1076 
1077     ULONG (STDMETHODCALLTYPE *Release)(
1078         IUserDictionariesRegistrar *This);
1079 
1080     /*** IUserDictionariesRegistrar methods ***/
1081     HRESULT (STDMETHODCALLTYPE *RegisterUserDictionary)(
1082         IUserDictionariesRegistrar *This,
1083         LPCWSTR dictionaryPath,
1084         LPCWSTR languageTag);
1085 
1086     HRESULT (STDMETHODCALLTYPE *UnregisterUserDictionary)(
1087         IUserDictionariesRegistrar *This,
1088         LPCWSTR dictionaryPath,
1089         LPCWSTR languageTag);
1090 
1091     END_INTERFACE
1092 } IUserDictionariesRegistrarVtbl;
1093 
1094 interface IUserDictionariesRegistrar {
1095     CONST_VTBL IUserDictionariesRegistrarVtbl* lpVtbl;
1096 };
1097 
1098 #ifdef COBJMACROS
1099 #ifndef WIDL_C_INLINE_WRAPPERS
1100 /*** IUnknown methods ***/
1101 #define IUserDictionariesRegistrar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1102 #define IUserDictionariesRegistrar_AddRef(This) (This)->lpVtbl->AddRef(This)
1103 #define IUserDictionariesRegistrar_Release(This) (This)->lpVtbl->Release(This)
1104 /*** IUserDictionariesRegistrar methods ***/
1105 #define IUserDictionariesRegistrar_RegisterUserDictionary(This,dictionaryPath,languageTag) (This)->lpVtbl->RegisterUserDictionary(This,dictionaryPath,languageTag)
1106 #define IUserDictionariesRegistrar_UnregisterUserDictionary(This,dictionaryPath,languageTag) (This)->lpVtbl->UnregisterUserDictionary(This,dictionaryPath,languageTag)
1107 #else
1108 /*** IUnknown methods ***/
1109 static FORCEINLINE HRESULT IUserDictionariesRegistrar_QueryInterface(IUserDictionariesRegistrar* This,REFIID riid,void **ppvObject) {
1110     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1111 }
1112 static FORCEINLINE ULONG IUserDictionariesRegistrar_AddRef(IUserDictionariesRegistrar* This) {
1113     return This->lpVtbl->AddRef(This);
1114 }
1115 static FORCEINLINE ULONG IUserDictionariesRegistrar_Release(IUserDictionariesRegistrar* This) {
1116     return This->lpVtbl->Release(This);
1117 }
1118 /*** IUserDictionariesRegistrar methods ***/
1119 static FORCEINLINE HRESULT IUserDictionariesRegistrar_RegisterUserDictionary(IUserDictionariesRegistrar* This,LPCWSTR dictionaryPath,LPCWSTR languageTag) {
1120     return This->lpVtbl->RegisterUserDictionary(This,dictionaryPath,languageTag);
1121 }
1122 static FORCEINLINE HRESULT IUserDictionariesRegistrar_UnregisterUserDictionary(IUserDictionariesRegistrar* This,LPCWSTR dictionaryPath,LPCWSTR languageTag) {
1123     return This->lpVtbl->UnregisterUserDictionary(This,dictionaryPath,languageTag);
1124 }
1125 #endif
1126 #endif
1127 
1128 #endif
1129 
1130 
1131 #endif  /* __IUserDictionariesRegistrar_INTERFACE_DEFINED__ */
1132 
1133 #endif /* WINAPI_PARTITION_DESKTOP */
1134 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
1135 #ifndef __MsSpellCheckLib_LIBRARY_DEFINED__
1136 #define __MsSpellCheckLib_LIBRARY_DEFINED__
1137 
1138 DEFINE_GUID(LIBID_MsSpellCheckLib, 0x4a250e01, 0x61ea, 0x400b, 0xa2,0x7d, 0xbf,0x37,0x44,0xbc,0xc9,0xf5);
1139 
1140 /*****************************************************************************
1141  * SpellCheckerFactory coclass
1142  */
1143 
1144 DEFINE_GUID(CLSID_SpellCheckerFactory, 0x7ab36653, 0x1796, 0x484b, 0xbd,0xfa, 0xe7,0x4f,0x1d,0xb7,0xc1,0xdc);
1145 
1146 #ifdef __cplusplus
1147 class DECLSPEC_UUID("7ab36653-1796-484b-bdfa-e74f1db7c1dc") SpellCheckerFactory;
1148 #ifdef __CRT_UUID_DECL
1149 __CRT_UUID_DECL(SpellCheckerFactory, 0x7ab36653, 0x1796, 0x484b, 0xbd,0xfa, 0xe7,0x4f,0x1d,0xb7,0xc1,0xdc)
1150 #endif
1151 #endif
1152 
1153 #endif /* __MsSpellCheckLib_LIBRARY_DEFINED__ */
1154 #endif /* WINAPI_PARTITION_APP */
1155 #endif /* MIN_SPELLING_NTDDI */
1156 /* Begin additional prototypes for all interfaces */
1157 
1158 
1159 /* End additional prototypes */
1160 
1161 #ifdef __cplusplus
1162 }
1163 #endif
1164 
1165 #endif /* __spellcheck_h__ */
1166