1/*** Autogenerated by WIDL 1.6 from include/sapi51.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __sapi51_h__
16#define __sapi51_h__
17
18/* Forward declarations */
19
20#ifndef __ISpNotifySource_FWD_DEFINED__
21#define __ISpNotifySource_FWD_DEFINED__
22typedef interface ISpNotifySource ISpNotifySource;
23#endif
24
25#ifndef __ISpNotifySink_FWD_DEFINED__
26#define __ISpNotifySink_FWD_DEFINED__
27typedef interface ISpNotifySink ISpNotifySink;
28#endif
29
30#ifndef __ISpNotifyTranslator_FWD_DEFINED__
31#define __ISpNotifyTranslator_FWD_DEFINED__
32typedef interface ISpNotifyTranslator ISpNotifyTranslator;
33#endif
34
35#ifndef __ISpDataKey_FWD_DEFINED__
36#define __ISpDataKey_FWD_DEFINED__
37typedef interface ISpDataKey ISpDataKey;
38#endif
39
40#ifndef __ISpObjectWithToken_FWD_DEFINED__
41#define __ISpObjectWithToken_FWD_DEFINED__
42typedef interface ISpObjectWithToken ISpObjectWithToken;
43#endif
44
45#ifndef __IEnumSpObjectTokens_FWD_DEFINED__
46#define __IEnumSpObjectTokens_FWD_DEFINED__
47typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
48#endif
49
50#ifndef __ISpRegDataKey_FWD_DEFINED__
51#define __ISpRegDataKey_FWD_DEFINED__
52typedef interface ISpRegDataKey ISpRegDataKey;
53#endif
54
55#ifndef __ISpObjectTokenCategory_FWD_DEFINED__
56#define __ISpObjectTokenCategory_FWD_DEFINED__
57typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
58#endif
59
60#ifndef __ISpObjectToken_FWD_DEFINED__
61#define __ISpObjectToken_FWD_DEFINED__
62typedef interface ISpObjectToken ISpObjectToken;
63#endif
64
65#ifndef __ISpObjectTokenInit_FWD_DEFINED__
66#define __ISpObjectTokenInit_FWD_DEFINED__
67typedef interface ISpObjectTokenInit ISpObjectTokenInit;
68#endif
69
70#ifndef __ISpResourceManager_FWD_DEFINED__
71#define __ISpResourceManager_FWD_DEFINED__
72typedef interface ISpResourceManager ISpResourceManager;
73#endif
74
75#ifndef __ISpEventSource_FWD_DEFINED__
76#define __ISpEventSource_FWD_DEFINED__
77typedef interface ISpEventSource ISpEventSource;
78#endif
79
80#ifndef __ISpEventSink_FWD_DEFINED__
81#define __ISpEventSink_FWD_DEFINED__
82typedef interface ISpEventSink ISpEventSink;
83#endif
84
85#ifndef __ISpStreamFormat_FWD_DEFINED__
86#define __ISpStreamFormat_FWD_DEFINED__
87typedef interface ISpStreamFormat ISpStreamFormat;
88#endif
89
90#ifndef __ISpStream_FWD_DEFINED__
91#define __ISpStream_FWD_DEFINED__
92typedef interface ISpStream ISpStream;
93#endif
94
95#ifndef __ISpStreamFormatConverter_FWD_DEFINED__
96#define __ISpStreamFormatConverter_FWD_DEFINED__
97typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
98#endif
99
100#ifndef __ISpAudio_FWD_DEFINED__
101#define __ISpAudio_FWD_DEFINED__
102typedef interface ISpAudio ISpAudio;
103#endif
104
105#ifndef __ISpMMSysAudio_FWD_DEFINED__
106#define __ISpMMSysAudio_FWD_DEFINED__
107typedef interface ISpMMSysAudio ISpMMSysAudio;
108#endif
109
110#ifndef __ISpTranscript_FWD_DEFINED__
111#define __ISpTranscript_FWD_DEFINED__
112typedef interface ISpTranscript ISpTranscript;
113#endif
114
115#ifndef __ISpLexicon_FWD_DEFINED__
116#define __ISpLexicon_FWD_DEFINED__
117typedef interface ISpLexicon ISpLexicon;
118#endif
119
120#ifndef __ISpContainerLexicon_FWD_DEFINED__
121#define __ISpContainerLexicon_FWD_DEFINED__
122typedef interface ISpContainerLexicon ISpContainerLexicon;
123#endif
124
125#ifndef __ISpPhoneConverter_FWD_DEFINED__
126#define __ISpPhoneConverter_FWD_DEFINED__
127typedef interface ISpPhoneConverter ISpPhoneConverter;
128#endif
129
130#ifndef __ISpVoice_FWD_DEFINED__
131#define __ISpVoice_FWD_DEFINED__
132typedef interface ISpVoice ISpVoice;
133#endif
134
135#ifndef __ISpPhrase_FWD_DEFINED__
136#define __ISpPhrase_FWD_DEFINED__
137typedef interface ISpPhrase ISpPhrase;
138#endif
139
140#ifndef __ISpPhraseAlt_FWD_DEFINED__
141#define __ISpPhraseAlt_FWD_DEFINED__
142typedef interface ISpPhraseAlt ISpPhraseAlt;
143#endif
144
145#ifndef __ISpRecoResult_FWD_DEFINED__
146#define __ISpRecoResult_FWD_DEFINED__
147typedef interface ISpRecoResult ISpRecoResult;
148#endif
149
150#ifndef __ISpGrammarBuilder_FWD_DEFINED__
151#define __ISpGrammarBuilder_FWD_DEFINED__
152typedef interface ISpGrammarBuilder ISpGrammarBuilder;
153#endif
154
155#ifndef __ISpRecoGrammar_FWD_DEFINED__
156#define __ISpRecoGrammar_FWD_DEFINED__
157typedef interface ISpRecoGrammar ISpRecoGrammar;
158#endif
159
160#ifndef __ISpRecoContext_FWD_DEFINED__
161#define __ISpRecoContext_FWD_DEFINED__
162typedef interface ISpRecoContext ISpRecoContext;
163#endif
164
165#ifndef __ISpProperties_FWD_DEFINED__
166#define __ISpProperties_FWD_DEFINED__
167typedef interface ISpProperties ISpProperties;
168#endif
169
170#ifndef __ISpRecognizer_FWD_DEFINED__
171#define __ISpRecognizer_FWD_DEFINED__
172typedef interface ISpRecognizer ISpRecognizer;
173#endif
174
175#ifndef __ISpeechDataKey_FWD_DEFINED__
176#define __ISpeechDataKey_FWD_DEFINED__
177typedef interface ISpeechDataKey ISpeechDataKey;
178#endif
179
180#ifndef __ISpeechObjectToken_FWD_DEFINED__
181#define __ISpeechObjectToken_FWD_DEFINED__
182typedef interface ISpeechObjectToken ISpeechObjectToken;
183#endif
184
185#ifndef __ISpeechObjectTokens_FWD_DEFINED__
186#define __ISpeechObjectTokens_FWD_DEFINED__
187typedef interface ISpeechObjectTokens ISpeechObjectTokens;
188#endif
189
190#ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
191#define __ISpeechObjectTokenCategory_FWD_DEFINED__
192typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
193#endif
194
195#ifndef __ISpeechAudioFormat_FWD_DEFINED__
196#define __ISpeechAudioFormat_FWD_DEFINED__
197typedef interface ISpeechAudioFormat ISpeechAudioFormat;
198#endif
199
200#ifndef __ISpeechBaseStream_FWD_DEFINED__
201#define __ISpeechBaseStream_FWD_DEFINED__
202typedef interface ISpeechBaseStream ISpeechBaseStream;
203#endif
204
205#ifndef __ISpeechAudio_FWD_DEFINED__
206#define __ISpeechAudio_FWD_DEFINED__
207typedef interface ISpeechAudio ISpeechAudio;
208#endif
209
210#ifndef __ISpeechMMSysAudio_FWD_DEFINED__
211#define __ISpeechMMSysAudio_FWD_DEFINED__
212typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
213#endif
214
215#ifndef __ISpeechFileStream_FWD_DEFINED__
216#define __ISpeechFileStream_FWD_DEFINED__
217typedef interface ISpeechFileStream ISpeechFileStream;
218#endif
219
220#ifndef __ISpeechCustomStream_FWD_DEFINED__
221#define __ISpeechCustomStream_FWD_DEFINED__
222typedef interface ISpeechCustomStream ISpeechCustomStream;
223#endif
224
225#ifndef __ISpeechMemoryStream_FWD_DEFINED__
226#define __ISpeechMemoryStream_FWD_DEFINED__
227typedef interface ISpeechMemoryStream ISpeechMemoryStream;
228#endif
229
230#ifndef __ISpeechAudioStatus_FWD_DEFINED__
231#define __ISpeechAudioStatus_FWD_DEFINED__
232typedef interface ISpeechAudioStatus ISpeechAudioStatus;
233#endif
234
235#ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
236#define __ISpeechAudioBufferInfo_FWD_DEFINED__
237typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
238#endif
239
240#ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
241#define __ISpeechWaveFormatEx_FWD_DEFINED__
242typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
243#endif
244
245#ifndef __ISpeechVoice_FWD_DEFINED__
246#define __ISpeechVoice_FWD_DEFINED__
247typedef interface ISpeechVoice ISpeechVoice;
248#endif
249
250#ifndef __ISpeechVoiceStatus_FWD_DEFINED__
251#define __ISpeechVoiceStatus_FWD_DEFINED__
252typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
253#endif
254
255#ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
256#define ___ISpeechVoiceEvents_FWD_DEFINED__
257typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
258#endif
259
260#ifndef __ISpeechRecognizer_FWD_DEFINED__
261#define __ISpeechRecognizer_FWD_DEFINED__
262typedef interface ISpeechRecognizer ISpeechRecognizer;
263#endif
264
265#ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
266#define __ISpeechRecognizerStatus_FWD_DEFINED__
267typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
268#endif
269
270#ifndef __ISpeechRecoContext_FWD_DEFINED__
271#define __ISpeechRecoContext_FWD_DEFINED__
272typedef interface ISpeechRecoContext ISpeechRecoContext;
273#endif
274
275#ifndef __ISpeechRecoGrammar_FWD_DEFINED__
276#define __ISpeechRecoGrammar_FWD_DEFINED__
277typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
278#endif
279
280#ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
281#define ___ISpeechRecoContextEvents_FWD_DEFINED__
282typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
283#endif
284
285#ifndef __ISpeechGrammarRule_FWD_DEFINED__
286#define __ISpeechGrammarRule_FWD_DEFINED__
287typedef interface ISpeechGrammarRule ISpeechGrammarRule;
288#endif
289
290#ifndef __ISpeechGrammarRules_FWD_DEFINED__
291#define __ISpeechGrammarRules_FWD_DEFINED__
292typedef interface ISpeechGrammarRules ISpeechGrammarRules;
293#endif
294
295#ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
296#define __ISpeechGrammarRuleState_FWD_DEFINED__
297typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
298#endif
299
300#ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
301#define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
302typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
303#endif
304
305#ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
306#define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
307typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
308#endif
309
310#ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
311#define __ISpeechTextSelectionInformation_FWD_DEFINED__
312typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
313#endif
314
315#ifndef __ISpeechRecoResult_FWD_DEFINED__
316#define __ISpeechRecoResult_FWD_DEFINED__
317typedef interface ISpeechRecoResult ISpeechRecoResult;
318#endif
319
320#ifndef __ISpeechPhraseInfoBuilder_FWD_DEFINED__
321#define __ISpeechPhraseInfoBuilder_FWD_DEFINED__
322typedef interface ISpeechPhraseInfoBuilder ISpeechPhraseInfoBuilder;
323#endif
324
325#ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
326#define __ISpeechRecoResultTimes_FWD_DEFINED__
327typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
328#endif
329
330#ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
331#define __ISpeechPhraseAlternate_FWD_DEFINED__
332typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
333#endif
334
335#ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
336#define __ISpeechPhraseAlternates_FWD_DEFINED__
337typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
338#endif
339
340#ifndef __ISpeechPhraseInfo_FWD_DEFINED__
341#define __ISpeechPhraseInfo_FWD_DEFINED__
342typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
343#endif
344
345#ifndef __ISpeechPhraseElement_FWD_DEFINED__
346#define __ISpeechPhraseElement_FWD_DEFINED__
347typedef interface ISpeechPhraseElement ISpeechPhraseElement;
348#endif
349
350#ifndef __ISpeechPhraseElements_FWD_DEFINED__
351#define __ISpeechPhraseElements_FWD_DEFINED__
352typedef interface ISpeechPhraseElements ISpeechPhraseElements;
353#endif
354
355#ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
356#define __ISpeechPhraseReplacement_FWD_DEFINED__
357typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
358#endif
359
360#ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
361#define __ISpeechPhraseReplacements_FWD_DEFINED__
362typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
363#endif
364
365#ifndef __ISpeechPhraseProperty_FWD_DEFINED__
366#define __ISpeechPhraseProperty_FWD_DEFINED__
367typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
368#endif
369
370#ifndef __ISpeechPhraseProperties_FWD_DEFINED__
371#define __ISpeechPhraseProperties_FWD_DEFINED__
372typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
373#endif
374
375#ifndef __ISpeechPhraseRule_FWD_DEFINED__
376#define __ISpeechPhraseRule_FWD_DEFINED__
377typedef interface ISpeechPhraseRule ISpeechPhraseRule;
378#endif
379
380#ifndef __ISpeechPhraseRules_FWD_DEFINED__
381#define __ISpeechPhraseRules_FWD_DEFINED__
382typedef interface ISpeechPhraseRules ISpeechPhraseRules;
383#endif
384
385#ifndef __ISpeechLexiconWords_FWD_DEFINED__
386#define __ISpeechLexiconWords_FWD_DEFINED__
387typedef interface ISpeechLexiconWords ISpeechLexiconWords;
388#endif
389
390#ifndef __ISpeechLexicon_FWD_DEFINED__
391#define __ISpeechLexicon_FWD_DEFINED__
392typedef interface ISpeechLexicon ISpeechLexicon;
393#endif
394
395#ifndef __ISpeechLexiconWord_FWD_DEFINED__
396#define __ISpeechLexiconWord_FWD_DEFINED__
397typedef interface ISpeechLexiconWord ISpeechLexiconWord;
398#endif
399
400#ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
401#define __ISpeechLexiconPronunciations_FWD_DEFINED__
402typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
403#endif
404
405#ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
406#define __ISpeechLexiconPronunciation_FWD_DEFINED__
407typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
408#endif
409
410#ifndef __ISpeechPhoneConverter_FWD_DEFINED__
411#define __ISpeechPhoneConverter_FWD_DEFINED__
412typedef interface ISpeechPhoneConverter ISpeechPhoneConverter;
413#endif
414
415#ifndef __SpNotifyTranslator_FWD_DEFINED__
416#define __SpNotifyTranslator_FWD_DEFINED__
417#ifdef __cplusplus
418typedef class SpNotifyTranslator SpNotifyTranslator;
419#else
420typedef struct SpNotifyTranslator SpNotifyTranslator;
421#endif /* defined __cplusplus */
422#endif /* defined __SpNotifyTranslator_FWD_DEFINED__ */
423
424#ifndef __SpObjectTokenCategory_FWD_DEFINED__
425#define __SpObjectTokenCategory_FWD_DEFINED__
426#ifdef __cplusplus
427typedef class SpObjectTokenCategory SpObjectTokenCategory;
428#else
429typedef struct SpObjectTokenCategory SpObjectTokenCategory;
430#endif /* defined __cplusplus */
431#endif /* defined __SpObjectTokenCategory_FWD_DEFINED__ */
432
433#ifndef __SpObjectToken_FWD_DEFINED__
434#define __SpObjectToken_FWD_DEFINED__
435#ifdef __cplusplus
436typedef class SpObjectToken SpObjectToken;
437#else
438typedef struct SpObjectToken SpObjectToken;
439#endif /* defined __cplusplus */
440#endif /* defined __SpObjectToken_FWD_DEFINED__ */
441
442#ifndef __SpResourceManager_FWD_DEFINED__
443#define __SpResourceManager_FWD_DEFINED__
444#ifdef __cplusplus
445typedef class SpResourceManager SpResourceManager;
446#else
447typedef struct SpResourceManager SpResourceManager;
448#endif /* defined __cplusplus */
449#endif /* defined __SpResourceManager_FWD_DEFINED__ */
450
451#ifndef __SpStreamFormatConverter_FWD_DEFINED__
452#define __SpStreamFormatConverter_FWD_DEFINED__
453#ifdef __cplusplus
454typedef class SpStreamFormatConverter SpStreamFormatConverter;
455#else
456typedef struct SpStreamFormatConverter SpStreamFormatConverter;
457#endif /* defined __cplusplus */
458#endif /* defined __SpStreamFormatConverter_FWD_DEFINED__ */
459
460#ifndef __SpMMAudioEnum_FWD_DEFINED__
461#define __SpMMAudioEnum_FWD_DEFINED__
462#ifdef __cplusplus
463typedef class SpMMAudioEnum SpMMAudioEnum;
464#else
465typedef struct SpMMAudioEnum SpMMAudioEnum;
466#endif /* defined __cplusplus */
467#endif /* defined __SpMMAudioEnum_FWD_DEFINED__ */
468
469#ifndef __SpMMAudioIn_FWD_DEFINED__
470#define __SpMMAudioIn_FWD_DEFINED__
471#ifdef __cplusplus
472typedef class SpMMAudioIn SpMMAudioIn;
473#else
474typedef struct SpMMAudioIn SpMMAudioIn;
475#endif /* defined __cplusplus */
476#endif /* defined __SpMMAudioIn_FWD_DEFINED__ */
477
478#ifndef __SpMMAudioOut_FWD_DEFINED__
479#define __SpMMAudioOut_FWD_DEFINED__
480#ifdef __cplusplus
481typedef class SpMMAudioOut SpMMAudioOut;
482#else
483typedef struct SpMMAudioOut SpMMAudioOut;
484#endif /* defined __cplusplus */
485#endif /* defined __SpMMAudioOut_FWD_DEFINED__ */
486
487#ifndef __SpStream_FWD_DEFINED__
488#define __SpStream_FWD_DEFINED__
489#ifdef __cplusplus
490typedef class SpStream SpStream;
491#else
492typedef struct SpStream SpStream;
493#endif /* defined __cplusplus */
494#endif /* defined __SpStream_FWD_DEFINED__ */
495
496#ifndef __SpVoice_FWD_DEFINED__
497#define __SpVoice_FWD_DEFINED__
498#ifdef __cplusplus
499typedef class SpVoice SpVoice;
500#else
501typedef struct SpVoice SpVoice;
502#endif /* defined __cplusplus */
503#endif /* defined __SpVoice_FWD_DEFINED__ */
504
505#ifndef __SpSharedRecoContext_FWD_DEFINED__
506#define __SpSharedRecoContext_FWD_DEFINED__
507#ifdef __cplusplus
508typedef class SpSharedRecoContext SpSharedRecoContext;
509#else
510typedef struct SpSharedRecoContext SpSharedRecoContext;
511#endif /* defined __cplusplus */
512#endif /* defined __SpSharedRecoContext_FWD_DEFINED__ */
513
514#ifndef __SpInprocRecognizer_FWD_DEFINED__
515#define __SpInprocRecognizer_FWD_DEFINED__
516#ifdef __cplusplus
517typedef class SpInprocRecognizer SpInprocRecognizer;
518#else
519typedef struct SpInprocRecognizer SpInprocRecognizer;
520#endif /* defined __cplusplus */
521#endif /* defined __SpInprocRecognizer_FWD_DEFINED__ */
522
523#ifndef __SpSharedRecognizer_FWD_DEFINED__
524#define __SpSharedRecognizer_FWD_DEFINED__
525#ifdef __cplusplus
526typedef class SpSharedRecognizer SpSharedRecognizer;
527#else
528typedef struct SpSharedRecognizer SpSharedRecognizer;
529#endif /* defined __cplusplus */
530#endif /* defined __SpSharedRecognizer_FWD_DEFINED__ */
531
532#ifndef __SpLexicon_FWD_DEFINED__
533#define __SpLexicon_FWD_DEFINED__
534#ifdef __cplusplus
535typedef class SpLexicon SpLexicon;
536#else
537typedef struct SpLexicon SpLexicon;
538#endif /* defined __cplusplus */
539#endif /* defined __SpLexicon_FWD_DEFINED__ */
540
541#ifndef __SpUnCompressedLexicon_FWD_DEFINED__
542#define __SpUnCompressedLexicon_FWD_DEFINED__
543#ifdef __cplusplus
544typedef class SpUnCompressedLexicon SpUnCompressedLexicon;
545#else
546typedef struct SpUnCompressedLexicon SpUnCompressedLexicon;
547#endif /* defined __cplusplus */
548#endif /* defined __SpUnCompressedLexicon_FWD_DEFINED__ */
549
550#ifndef __SpCompressedLexicon_FWD_DEFINED__
551#define __SpCompressedLexicon_FWD_DEFINED__
552#ifdef __cplusplus
553typedef class SpCompressedLexicon SpCompressedLexicon;
554#else
555typedef struct SpCompressedLexicon SpCompressedLexicon;
556#endif /* defined __cplusplus */
557#endif /* defined __SpCompressedLexicon_FWD_DEFINED__ */
558
559#ifndef __SpPhoneConverter_FWD_DEFINED__
560#define __SpPhoneConverter_FWD_DEFINED__
561#ifdef __cplusplus
562typedef class SpPhoneConverter SpPhoneConverter;
563#else
564typedef struct SpPhoneConverter SpPhoneConverter;
565#endif /* defined __cplusplus */
566#endif /* defined __SpPhoneConverter_FWD_DEFINED__ */
567
568#ifndef __SpNullPhoneConverter_FWD_DEFINED__
569#define __SpNullPhoneConverter_FWD_DEFINED__
570#ifdef __cplusplus
571typedef class SpNullPhoneConverter SpNullPhoneConverter;
572#else
573typedef struct SpNullPhoneConverter SpNullPhoneConverter;
574#endif /* defined __cplusplus */
575#endif /* defined __SpNullPhoneConverter_FWD_DEFINED__ */
576
577#ifndef __SpTextSelectionInformation_FWD_DEFINED__
578#define __SpTextSelectionInformation_FWD_DEFINED__
579#ifdef __cplusplus
580typedef class SpTextSelectionInformation SpTextSelectionInformation;
581#else
582typedef struct SpTextSelectionInformation SpTextSelectionInformation;
583#endif /* defined __cplusplus */
584#endif /* defined __SpTextSelectionInformation_FWD_DEFINED__ */
585
586#ifndef __SpPhraseInfoBuilder_FWD_DEFINED__
587#define __SpPhraseInfoBuilder_FWD_DEFINED__
588#ifdef __cplusplus
589typedef class SpPhraseInfoBuilder SpPhraseInfoBuilder;
590#else
591typedef struct SpPhraseInfoBuilder SpPhraseInfoBuilder;
592#endif /* defined __cplusplus */
593#endif /* defined __SpPhraseInfoBuilder_FWD_DEFINED__ */
594
595#ifndef __SpAudioFormat_FWD_DEFINED__
596#define __SpAudioFormat_FWD_DEFINED__
597#ifdef __cplusplus
598typedef class SpAudioFormat SpAudioFormat;
599#else
600typedef struct SpAudioFormat SpAudioFormat;
601#endif /* defined __cplusplus */
602#endif /* defined __SpAudioFormat_FWD_DEFINED__ */
603
604#ifndef __SpWaveFormatEx_FWD_DEFINED__
605#define __SpWaveFormatEx_FWD_DEFINED__
606#ifdef __cplusplus
607typedef class SpWaveFormatEx SpWaveFormatEx;
608#else
609typedef struct SpWaveFormatEx SpWaveFormatEx;
610#endif /* defined __cplusplus */
611#endif /* defined __SpWaveFormatEx_FWD_DEFINED__ */
612
613#ifndef __SpInProcRecoContext_FWD_DEFINED__
614#define __SpInProcRecoContext_FWD_DEFINED__
615#ifdef __cplusplus
616typedef class SpInProcRecoContext SpInProcRecoContext;
617#else
618typedef struct SpInProcRecoContext SpInProcRecoContext;
619#endif /* defined __cplusplus */
620#endif /* defined __SpInProcRecoContext_FWD_DEFINED__ */
621
622#ifndef __SpCustomStream_FWD_DEFINED__
623#define __SpCustomStream_FWD_DEFINED__
624#ifdef __cplusplus
625typedef class SpCustomStream SpCustomStream;
626#else
627typedef struct SpCustomStream SpCustomStream;
628#endif /* defined __cplusplus */
629#endif /* defined __SpCustomStream_FWD_DEFINED__ */
630
631#ifndef __SpFileStream_FWD_DEFINED__
632#define __SpFileStream_FWD_DEFINED__
633#ifdef __cplusplus
634typedef class SpFileStream SpFileStream;
635#else
636typedef struct SpFileStream SpFileStream;
637#endif /* defined __cplusplus */
638#endif /* defined __SpFileStream_FWD_DEFINED__ */
639
640#ifndef __SpMemoryStream_FWD_DEFINED__
641#define __SpMemoryStream_FWD_DEFINED__
642#ifdef __cplusplus
643typedef class SpMemoryStream SpMemoryStream;
644#else
645typedef struct SpMemoryStream SpMemoryStream;
646#endif /* defined __cplusplus */
647#endif /* defined __SpMemoryStream_FWD_DEFINED__ */
648
649/* Headers for imported files */
650
651#include <oaidl.h>
652#include <ocidl.h>
653
654#ifdef __cplusplus
655extern "C" {
656#endif
657
658#ifndef _SAPI_VER
659#error "you have to include <sapi.h> header before this."
660#endif
661#if 0
662typedef struct WAVEFORMATEX {
663    WORD wFormatTag;
664    WORD nChannels;
665    DWORD nSamplesPerSec;
666    DWORD nAvgBytesPerSec;
667    WORD nBlockAlign;
668    WORD wBitsPerSample;
669    WORD cbSize;
670} WAVEFORMATEX;
671#endif
672#ifndef __ISpNotifySource_FWD_DEFINED__
673#define __ISpNotifySource_FWD_DEFINED__
674typedef interface ISpNotifySource ISpNotifySource;
675#endif
676
677#ifndef __ISpNotifySink_FWD_DEFINED__
678#define __ISpNotifySink_FWD_DEFINED__
679typedef interface ISpNotifySink ISpNotifySink;
680#endif
681
682#ifndef __ISpNotifyTranslator_FWD_DEFINED__
683#define __ISpNotifyTranslator_FWD_DEFINED__
684typedef interface ISpNotifyTranslator ISpNotifyTranslator;
685#endif
686
687#ifndef __ISpDataKey_FWD_DEFINED__
688#define __ISpDataKey_FWD_DEFINED__
689typedef interface ISpDataKey ISpDataKey;
690#endif
691
692#ifndef __ISpObjectTokenCategory_FWD_DEFINED__
693#define __ISpObjectTokenCategory_FWD_DEFINED__
694typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
695#endif
696
697#ifndef __ISpObjectToken_FWD_DEFINED__
698#define __ISpObjectToken_FWD_DEFINED__
699typedef interface ISpObjectToken ISpObjectToken;
700#endif
701
702#ifndef __IEnumSpObjectTokens_FWD_DEFINED__
703#define __IEnumSpObjectTokens_FWD_DEFINED__
704typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
705#endif
706
707#ifndef __ISpObjectWithToken_FWD_DEFINED__
708#define __ISpObjectWithToken_FWD_DEFINED__
709typedef interface ISpObjectWithToken ISpObjectWithToken;
710#endif
711
712#ifndef __ISpResourceManager_FWD_DEFINED__
713#define __ISpResourceManager_FWD_DEFINED__
714typedef interface ISpResourceManager ISpResourceManager;
715#endif
716
717#ifndef __ISpEventSource_FWD_DEFINED__
718#define __ISpEventSource_FWD_DEFINED__
719typedef interface ISpEventSource ISpEventSource;
720#endif
721
722#ifndef __ISpEventSink_FWD_DEFINED__
723#define __ISpEventSink_FWD_DEFINED__
724typedef interface ISpEventSink ISpEventSink;
725#endif
726
727#ifndef __ISpStreamFormat_FWD_DEFINED__
728#define __ISpStreamFormat_FWD_DEFINED__
729typedef interface ISpStreamFormat ISpStreamFormat;
730#endif
731
732#ifndef __ISpStream_FWD_DEFINED__
733#define __ISpStream_FWD_DEFINED__
734typedef interface ISpStream ISpStream;
735#endif
736
737#ifndef __ISpStreamFormatConverter_FWD_DEFINED__
738#define __ISpStreamFormatConverter_FWD_DEFINED__
739typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
740#endif
741
742#ifndef __ISpAudio_FWD_DEFINED__
743#define __ISpAudio_FWD_DEFINED__
744typedef interface ISpAudio ISpAudio;
745#endif
746
747#ifndef __ISpMMSysAudio_FWD_DEFINED__
748#define __ISpMMSysAudio_FWD_DEFINED__
749typedef interface ISpMMSysAudio ISpMMSysAudio;
750#endif
751
752#ifndef __ISpTranscript_FWD_DEFINED__
753#define __ISpTranscript_FWD_DEFINED__
754typedef interface ISpTranscript ISpTranscript;
755#endif
756
757#ifndef __ISpVoice_FWD_DEFINED__
758#define __ISpVoice_FWD_DEFINED__
759typedef interface ISpVoice ISpVoice;
760#endif
761
762#ifndef __ISpRecoResult_FWD_DEFINED__
763#define __ISpRecoResult_FWD_DEFINED__
764typedef interface ISpRecoResult ISpRecoResult;
765#endif
766
767#ifndef __ISpRecoContext_FWD_DEFINED__
768#define __ISpRecoContext_FWD_DEFINED__
769typedef interface ISpRecoContext ISpRecoContext;
770#endif
771
772#ifndef __ISpRecognizer_FWD_DEFINED__
773#define __ISpRecognizer_FWD_DEFINED__
774typedef interface ISpRecognizer ISpRecognizer;
775#endif
776
777#ifndef __ISpProperties_FWD_DEFINED__
778#define __ISpProperties_FWD_DEFINED__
779typedef interface ISpProperties ISpProperties;
780#endif
781
782#ifndef __ISpLexicon_FWD_DEFINED__
783#define __ISpLexicon_FWD_DEFINED__
784typedef interface ISpLexicon ISpLexicon;
785#endif
786
787#ifndef __ISpPhoneConverter_FWD_DEFINED__
788#define __ISpPhoneConverter_FWD_DEFINED__
789typedef interface ISpPhoneConverter ISpPhoneConverter;
790#endif
791
792#ifndef __ISpPhrase_FWD_DEFINED__
793#define __ISpPhrase_FWD_DEFINED__
794typedef interface ISpPhrase ISpPhrase;
795#endif
796
797typedef enum SPDATAKEYLOCATION {
798    SPDKL_DefaultLocation = 0,
799    SPDKL_CurrentUser = 1,
800    SPDKL_LocalMachine = 2,
801    SPDKL_CurrentConfig = 5
802} SPDATAKEYLOCATION;
803typedef enum SPSTREAMFORMAT {
804    SPSF_Default = -1,
805    SPSF_NoAssignedFormat = 0,
806    SPSF_Text = 1,
807    SPSF_NonStandardFormat = 2,
808    SPSF_ExtendedAudioFormat = 3,
809    SPSF_8kHz8BitMono = 4,
810    SPSF_8kHz8BitStereo = 5,
811    SPSF_8kHz16BitMono = 6,
812    SPSF_8kHz16BitStereo = 7,
813    SPSF_11kHz8BitMono = 8,
814    SPSF_11kHz8BitStereo = 9,
815    SPSF_11kHz16BitMono = 10,
816    SPSF_11kHz16BitStereo = 11,
817    SPSF_12kHz8BitMono = 12,
818    SPSF_12kHz8BitStereo = 13,
819    SPSF_12kHz16BitMono = 14,
820    SPSF_12kHz16BitStereo = 15,
821    SPSF_16kHz8BitMono = 16,
822    SPSF_16kHz8BitStereo = 17,
823    SPSF_16kHz16BitMono = 18,
824    SPSF_16kHz16BitStereo = 19,
825    SPSF_22kHz8BitMono = 20,
826    SPSF_22kHz8BitStereo = 21,
827    SPSF_22kHz16BitMono = 22,
828    SPSF_22kHz16BitStereo = 23,
829    SPSF_24kHz8BitMono = 24,
830    SPSF_24kHz8BitStereo = 25,
831    SPSF_24kHz16BitMono = 26,
832    SPSF_24kHz16BitStereo = 27,
833    SPSF_32kHz8BitMono = 28,
834    SPSF_32kHz8BitStereo = 29,
835    SPSF_32kHz16BitMono = 30,
836    SPSF_32kHz16BitStereo = 31,
837    SPSF_44kHz8BitMono = 32,
838    SPSF_44kHz8BitStereo = 33,
839    SPSF_44kHz16BitMono = 34,
840    SPSF_44kHz16BitStereo = 35,
841    SPSF_48kHz8BitMono = 36,
842    SPSF_48kHz8BitStereo = 37,
843    SPSF_48kHz16BitMono = 38,
844    SPSF_48kHz16BitStereo = 39,
845    SPSF_TrueSpeech_8kHz1BitMono = 40,
846    SPSF_CCITT_ALaw_8kHzMono = 41,
847    SPSF_CCITT_ALaw_8kHzStereo = 42,
848    SPSF_CCITT_ALaw_11kHzMono = 43,
849    SPSF_CCITT_ALaw_11kHzStereo = 44,
850    SPSF_CCITT_ALaw_22kHzMono = 45,
851    SPSF_CCITT_ALaw_22kHzStereo = 46,
852    SPSF_CCITT_ALaw_44kHzMono = 47,
853    SPSF_CCITT_ALaw_44kHzStereo = 48,
854    SPSF_CCITT_uLaw_8kHzMono = 49,
855    SPSF_CCITT_uLaw_8kHzStereo = 50,
856    SPSF_CCITT_uLaw_11kHzMono = 51,
857    SPSF_CCITT_uLaw_11kHzStereo = 52,
858    SPSF_CCITT_uLaw_22kHzMono = 53,
859    SPSF_CCITT_uLaw_22kHzStereo = 54,
860    SPSF_CCITT_uLaw_44kHzMono = 55,
861    SPSF_CCITT_uLaw_44kHzStereo = 56,
862    SPSF_ADPCM_8kHzMono = 57,
863    SPSF_ADPCM_8kHzStereo = 58,
864    SPSF_ADPCM_11kHzMono = 59,
865    SPSF_ADPCM_11kHzStereo = 60,
866    SPSF_ADPCM_22kHzMono = 61,
867    SPSF_ADPCM_22kHzStereo = 62,
868    SPSF_ADPCM_44kHzMono = 63,
869    SPSF_ADPCM_44kHzStereo = 64,
870    SPSF_GSM610_8kHzMono = 65,
871    SPSF_GSM610_11kHzMono = 66,
872    SPSF_GSM610_22kHzMono = 67,
873    SPSF_GSM610_44kHzMono = 68,
874    SPSF_NUM_FORMATS = 69
875} SPSTREAMFORMAT;
876typedef enum SPEVENTLPARAMTYPE {
877    SPET_LPARAM_IS_UNDEFINED = 0,
878    SPET_LPARAM_IS_TOKEN = 1,
879    SPET_LPARAM_IS_OBJECT = 2,
880    SPET_LPARAM_IS_POINTER = 3,
881    SPET_LPARAM_IS_STRING = 4
882} SPEVENTLPARAMTYPE;
883typedef enum SPEVENTENUM {
884    SPEI_UNDEFINED = 0,
885    SPEI_START_INPUT_STREAM = 1,
886    SPEI_END_INPUT_STREAM = 2,
887    SPEI_VOICE_CHANGE = 3,
888    SPEI_TTS_BOOKMARK = 4,
889    SPEI_WORD_BOUNDARY = 5,
890    SPEI_PHONEME = 6,
891    SPEI_SENTENCE_BOUNDARY = 7,
892    SPEI_VISEME = 8,
893    SPEI_TTS_AUDIO_LEVEL = 9,
894    SPEI_TTS_PRIVATE = 15,
895    SPEI_MIN_TTS = 1,
896    SPEI_MAX_TTS = 15,
897    SPEI_END_SR_STREAM = 34,
898    SPEI_SOUND_START = 35,
899    SPEI_SOUND_END = 36,
900    SPEI_PHRASE_START = 37,
901    SPEI_RECOGNITION = 38,
902    SPEI_HYPOTHESIS = 39,
903    SPEI_SR_BOOKMARK = 40,
904    SPEI_PROPERTY_NUM_CHANGE = 41,
905    SPEI_PROPERTY_STRING_CHANGE = 42,
906    SPEI_FALSE_RECOGNITION = 43,
907    SPEI_INTERFERENCE = 44,
908    SPEI_REQUEST_UI = 45,
909    SPEI_RECO_STATE_CHANGE = 46,
910    SPEI_ADAPTATION = 47,
911    SPEI_START_SR_STREAM = 48,
912    SPEI_RECO_OTHER_CONTEXT = 49,
913    SPEI_SR_AUDIO_LEVEL = 50,
914    SPEI_SR_PRIVATE = 52,
915    SPEI_MIN_SR = 34,
916    SPEI_MAX_SR = 52,
917    SPEI_RESERVED1 = 30,
918    SPEI_RESERVED2 = 33,
919    SPEI_RESERVED3 = 63
920} SPEVENTENUM;
921typedef enum SPINTERFERENCE {
922    SPINTERFERENCE_NONE = 0,
923    SPINTERFERENCE_NOISE = 1,
924    SPINTERFERENCE_NOSIGNAL = 2,
925    SPINTERFERENCE_TOOLOUD = 3,
926    SPINTERFERENCE_TOOQUIET = 4,
927    SPINTERFERENCE_TOOFAST = 5,
928    SPINTERFERENCE_TOOSLOW = 6,
929    SPINTERFERENCE_LATENCY_WARNING = 7,
930    SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN = 8,
931    SPINTERFERENCE_LATENCY_TRUNCATE_END = 9
932} SPINTERFERENCE;
933typedef enum SPENDSRSTREAMFLAGS {
934    SPESF_NONE = 0,
935    SPESF_STREAM_RELEASED = 1
936} SPENDSRSTREAMFLAGS;
937typedef enum SPVFEATURE {
938    SPVFEATURE_STRESSED = 1,
939    SPVFEATURE_EMPHASIS = 2
940} SPVFEATURE;
941typedef enum SPVISEMES {
942    SP_VISEME_0 = 0,
943    SP_VISEME_1 = 1,
944    SP_VISEME_2 = 2,
945    SP_VISEME_3 = 3,
946    SP_VISEME_4 = 4,
947    SP_VISEME_5 = 5,
948    SP_VISEME_6 = 6,
949    SP_VISEME_7 = 7,
950    SP_VISEME_8 = 8,
951    SP_VISEME_9 = 9,
952    SP_VISEME_10 = 10,
953    SP_VISEME_11 = 11,
954    SP_VISEME_12 = 12,
955    SP_VISEME_13 = 13,
956    SP_VISEME_14 = 14,
957    SP_VISEME_15 = 15,
958    SP_VISEME_16 = 16,
959    SP_VISEME_17 = 17,
960    SP_VISEME_18 = 18,
961    SP_VISEME_19 = 19,
962    SP_VISEME_20 = 20,
963    SP_VISEME_21 = 21
964} SPVISEMES;
965typedef enum SPFILEMODE {
966    SPFM_OPEN_READONLY = 0,
967    SPFM_OPEN_READWRITE = 1,
968    SPFM_CREATE = 2,
969    SPFM_CREATE_ALWAYS = 3,
970    SPFM_NUM_MODES = 4
971} SPFILEMODE;
972typedef enum _SPAUDIOSTATE {
973    SPAS_CLOSED = 0,
974    SPAS_STOP = 1,
975    SPAS_PAUSE = 2,
976    SPAS_RUN = 3
977} SPAUDIOSTATE;
978typedef enum SPDISPLYATTRIBUTES {
979    SPAF_ONE_TRAILING_SPACE = 0x2,
980    SPAF_TWO_TRAILING_SPACES = 0x4,
981    SPAF_CONSUME_LEADING_SPACES = 0x8,
982    SPAF_ALL = 0xf
983} SPDISPLAYATTRIBUTES;
984typedef enum SPPHRASEPROPERTYUNIONTYPE {
985    SPPPUT_UNUSED = 0,
986    SPPPUT_ARRAY_INDEX = 1
987} SPPHRASEPROPERTYUNIONTYPE;
988typedef enum SPRECOEVENTFLAGS {
989    SPREF_AutoPause = 0x1,
990    SPREF_Emulated = 0x2
991} SPRECOEVENTFLAGS;
992typedef enum SPPARTOFSPEECH {
993    SPPS_NotOverriden = -1,
994    SPPS_Unknown = 0,
995    SPPS_Noun = 0x1000,
996    SPPS_Verb = 0x2000,
997    SPPS_Modifier = 0x3000,
998    SPPS_Function = 0x4000,
999    SPPS_Interjection = 0x5000
1000} SPPARTOFSPEECH;
1001typedef enum SPLEXICONTYPE {
1002    eLEXTYPE_USER = 0x1,
1003    eLEXTYPE_APP = 0x2,
1004    eLEXTYPE_VENDORLEXICON = 0x4,
1005    eLEXTYPE_LETTERTOSOUND = 0x8,
1006    eLEXTYPE_MORPHOLOGY = 0x10,
1007    eLEXTYPE_RESERVED4 = 0x20,
1008    eLEXTYPE_USER_SHORTCUT = 0x40,
1009    eLEXTYPE_RESERVED6 = 0x80,
1010    eLEXTYPE_RESERVED7 = 0x100,
1011    eLEXTYPE_RESERVED8 = 0x200,
1012    eLEXTYPE_RESERVED9 = 0x400,
1013    eLEXTYPE_RESERVED10 = 0x800,
1014    eLEXTYPE_PRIVATE1 = 0x1000,
1015    eLEXTYPE_PRIVATE2 = 0x2000,
1016    eLEXTYPE_PRIVATE3 = 0x4000,
1017    eLEXTYPE_PRIVATE4 = 0x8000,
1018    eLEXTYPE_PRIVATE5 = 0x10000,
1019    eLEXTYPE_PRIVATE6 = 0x20000,
1020    eLEXTYPE_PRIVATE7 = 0x40000,
1021    eLEXTYPE_PRIVATE8 = 0x80000,
1022    eLEXTYPE_PRIVATE9 = 0x100000,
1023    eLEXTYPE_PRIVATE10 = 0x200000,
1024    eLEXTYPE_PRIVATE11 = 0x400000,
1025    eLEXTYPE_PRIVATE12 = 0x800000,
1026    eLEXTYPE_PRIVATE13 = 0x1000000,
1027    eLEXTYPE_PRIVATE14 = 0x2000000,
1028    eLEXTYPE_PRIVATE15 = 0x4000000,
1029    eLEXTYPE_PRIVATE16 = 0x8000000,
1030    eLEXTYPE_PRIVATE17 = 0x10000000,
1031    eLEXTYPE_PRIVATE18 = 0x20000000,
1032    eLEXTYPE_PRIVATE19 = 0x40000000,
1033    eLEXTYPE_PRIVATE20 = 0x80000000
1034} SPLEXICONTYPE;
1035typedef enum SPWORDTYPE {
1036    eWORDTYPE_ADDED = 1,
1037    eWORDTYPE_DELETED = 2
1038} SPWORDTYPE;
1039typedef enum SPVALUETYPE {
1040    SPDF_PROPERTY = 0x1,
1041    SPDF_REPLACEMENT = 0x2,
1042    SPDF_RULE = 0x4,
1043    SPDF_DISPLAYTEXT = 0x8,
1044    SPDF_LEXICALFORM = 0x10,
1045    SPDF_PRONUNCIATION = 0x20,
1046    SPDF_AUDIO = 0x40,
1047    SPDF_ALTERNATES = 0x80,
1048    SPDF_ALL = 0xff
1049} SPVALUETYPE;
1050typedef enum SPPHRASERNG {
1051    SPPR_ALL_ELEMENTS = -1
1052} SPPHRASERNG;
1053typedef enum SPVACTIONS {
1054    SPVA_Speak = 0,
1055    SPVA_Silence = 1,
1056    SPVA_Pronounce = 2,
1057    SPVA_Bookmark = 3,
1058    SPVA_SpellOut = 4,
1059    SPVA_Section = 5,
1060    SPVA_ParseUnknownTag = 6
1061} SPVACTIONS;
1062typedef enum SPRUNSTATE {
1063    SPRS_DONE = 1,
1064    SPRS_IS_SPEAKING = 2
1065} SPRUNSTATE;
1066typedef enum SPVLIMITS {
1067    SPMIN_VOLUME = 0,
1068    SPMAX_VOLUME = 100,
1069    SPMIN_RATE = -10,
1070    SPMAX_RATE = 10
1071} SPVLIMITS;
1072typedef enum SPVPRIORITY {
1073    SPVPRI_NORMAL = 0,
1074    SPVPRI_ALERT = 1,
1075    SPVPRI_OVER = 2
1076} SPVPRIORITY;
1077EXTERN_C const GUID SPDFID_Text;
1078EXTERN_C const GUID SPDFID_WaveFormatEx;
1079
1080#define SP_LOW_CONFIDENCE (-1)
1081
1082#define SP_NORMAL_CONFIDENCE (0)
1083
1084#define SP_HIGH_CONFIDENCE (+1)
1085
1086#define DEFAULT_WEIGHT (1)
1087
1088#define SP_MAX_WORD_LENGTH (128)
1089
1090#define SP_MAX_PRON_LENGTH (384)
1091
1092
1093#ifdef __cplusplus
1094interface ISpNotifyCallback {
1095  virtual HRESULT STDMETHODCALLTYPE NotifyCallback(WPARAM wParam, LPARAM lParam) = 0;
1096};
1097#else
1098typedef void *ISpNotifyCallback;
1099#endif
1100#if 0
1101typedef void *SPNOTIFYCALLBACK;
1102#else
1103typedef void __stdcall SPNOTIFYCALLBACK(WPARAM wParam, LPARAM lParam);
1104#endif
1105/*****************************************************************************
1106 * ISpNotifySource interface
1107 */
1108#ifndef __ISpNotifySource_INTERFACE_DEFINED__
1109#define __ISpNotifySource_INTERFACE_DEFINED__
1110
1111DEFINE_GUID(IID_ISpNotifySource, 0x5eff4aef, 0x8487, 0x11d2, 0x96,0x1c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
1112#if defined(__cplusplus) && !defined(CINTERFACE)
1113MIDL_INTERFACE("5eff4aef-8487-11d2-961c-00c04f8ee628")
1114ISpNotifySource : public IUnknown
1115{
1116    virtual HRESULT STDMETHODCALLTYPE SetNotifySink(
1117        ISpNotifySink *pNotifySink) = 0;
1118
1119    virtual HRESULT STDMETHODCALLTYPE SetNotifyWindowMessage(
1120        HWND hWnd,
1121        UINT Msg,
1122        WPARAM wParam,
1123        LPARAM lParam) = 0;
1124
1125    virtual HRESULT STDMETHODCALLTYPE SetNotifyCallbackFunction(
1126        SPNOTIFYCALLBACK *pfnCallback,
1127        WPARAM wParam,
1128        LPARAM lParam) = 0;
1129
1130    virtual HRESULT STDMETHODCALLTYPE SetNotifyCallbackInterface(
1131        ISpNotifyCallback *pSpCallback,
1132        WPARAM wParam,
1133        LPARAM lParam) = 0;
1134
1135    virtual HRESULT STDMETHODCALLTYPE SetNotifyWin32Event(
1136        ) = 0;
1137
1138    virtual HRESULT STDMETHODCALLTYPE WaitForNotifyEvent(
1139        DWORD dwMilliseconds) = 0;
1140
1141    virtual HANDLE STDMETHODCALLTYPE GetNotifyEventHandle(
1142        ) = 0;
1143
1144};
1145#ifdef __CRT_UUID_DECL
1146__CRT_UUID_DECL(ISpNotifySource, 0x5eff4aef, 0x8487, 0x11d2, 0x96,0x1c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
1147#endif
1148#else
1149typedef struct ISpNotifySourceVtbl {
1150    BEGIN_INTERFACE
1151
1152    /*** IUnknown methods ***/
1153    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1154        ISpNotifySource* This,
1155        REFIID riid,
1156        void **ppvObject);
1157
1158    ULONG (STDMETHODCALLTYPE *AddRef)(
1159        ISpNotifySource* This);
1160
1161    ULONG (STDMETHODCALLTYPE *Release)(
1162        ISpNotifySource* This);
1163
1164    /*** ISpNotifySource methods ***/
1165    HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
1166        ISpNotifySource* This,
1167        ISpNotifySink *pNotifySink);
1168
1169    HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
1170        ISpNotifySource* This,
1171        HWND hWnd,
1172        UINT Msg,
1173        WPARAM wParam,
1174        LPARAM lParam);
1175
1176    HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
1177        ISpNotifySource* This,
1178        SPNOTIFYCALLBACK *pfnCallback,
1179        WPARAM wParam,
1180        LPARAM lParam);
1181
1182    HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
1183        ISpNotifySource* This,
1184        ISpNotifyCallback *pSpCallback,
1185        WPARAM wParam,
1186        LPARAM lParam);
1187
1188    HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
1189        ISpNotifySource* This);
1190
1191    HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
1192        ISpNotifySource* This,
1193        DWORD dwMilliseconds);
1194
1195    HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
1196        ISpNotifySource* This);
1197
1198    END_INTERFACE
1199} ISpNotifySourceVtbl;
1200interface ISpNotifySource {
1201    CONST_VTBL ISpNotifySourceVtbl* lpVtbl;
1202};
1203
1204#ifdef COBJMACROS
1205#ifndef WIDL_C_INLINE_WRAPPERS
1206/*** IUnknown methods ***/
1207#define ISpNotifySource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1208#define ISpNotifySource_AddRef(This) (This)->lpVtbl->AddRef(This)
1209#define ISpNotifySource_Release(This) (This)->lpVtbl->Release(This)
1210/*** ISpNotifySource methods ***/
1211#define ISpNotifySource_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
1212#define ISpNotifySource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
1213#define ISpNotifySource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
1214#define ISpNotifySource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
1215#define ISpNotifySource_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
1216#define ISpNotifySource_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
1217#define ISpNotifySource_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
1218#else
1219/*** IUnknown methods ***/
1220static FORCEINLINE HRESULT ISpNotifySource_QueryInterface(ISpNotifySource* This,REFIID riid,void **ppvObject) {
1221    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1222}
1223static FORCEINLINE ULONG ISpNotifySource_AddRef(ISpNotifySource* This) {
1224    return This->lpVtbl->AddRef(This);
1225}
1226static FORCEINLINE ULONG ISpNotifySource_Release(ISpNotifySource* This) {
1227    return This->lpVtbl->Release(This);
1228}
1229/*** ISpNotifySource methods ***/
1230static FORCEINLINE HRESULT ISpNotifySource_SetNotifySink(ISpNotifySource* This,ISpNotifySink *pNotifySink) {
1231    return This->lpVtbl->SetNotifySink(This,pNotifySink);
1232}
1233static FORCEINLINE HRESULT ISpNotifySource_SetNotifyWindowMessage(ISpNotifySource* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
1234    return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
1235}
1236static FORCEINLINE HRESULT ISpNotifySource_SetNotifyCallbackFunction(ISpNotifySource* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
1237    return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
1238}
1239static FORCEINLINE HRESULT ISpNotifySource_SetNotifyCallbackInterface(ISpNotifySource* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
1240    return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
1241}
1242static FORCEINLINE HRESULT ISpNotifySource_SetNotifyWin32Event(ISpNotifySource* This) {
1243    return This->lpVtbl->SetNotifyWin32Event(This);
1244}
1245static FORCEINLINE HRESULT ISpNotifySource_WaitForNotifyEvent(ISpNotifySource* This,DWORD dwMilliseconds) {
1246    return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
1247}
1248static FORCEINLINE HANDLE ISpNotifySource_GetNotifyEventHandle(ISpNotifySource* This) {
1249    return This->lpVtbl->GetNotifyEventHandle(This);
1250}
1251#endif
1252#endif
1253
1254#endif
1255
1256HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifySink_Proxy(
1257    ISpNotifySource* This,
1258    ISpNotifySink *pNotifySink);
1259void __RPC_STUB ISpNotifySource_SetNotifySink_Stub(
1260    IRpcStubBuffer* This,
1261    IRpcChannelBuffer* pRpcChannelBuffer,
1262    PRPC_MESSAGE pRpcMessage,
1263    DWORD* pdwStubPhase);
1264
1265#endif  /* __ISpNotifySource_INTERFACE_DEFINED__ */
1266
1267/*****************************************************************************
1268 * ISpNotifySink interface
1269 */
1270#ifndef __ISpNotifySink_INTERFACE_DEFINED__
1271#define __ISpNotifySink_INTERFACE_DEFINED__
1272
1273DEFINE_GUID(IID_ISpNotifySink, 0x259684dc, 0x37c3, 0x11d2, 0x96,0x03, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
1274#if defined(__cplusplus) && !defined(CINTERFACE)
1275MIDL_INTERFACE("259684dc-37c3-11d2-9603-00c04f8ee628")
1276ISpNotifySink : public IUnknown
1277{
1278    virtual HRESULT STDMETHODCALLTYPE Notify(
1279        ) = 0;
1280
1281};
1282#ifdef __CRT_UUID_DECL
1283__CRT_UUID_DECL(ISpNotifySink, 0x259684dc, 0x37c3, 0x11d2, 0x96,0x03, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
1284#endif
1285#else
1286typedef struct ISpNotifySinkVtbl {
1287    BEGIN_INTERFACE
1288
1289    /*** IUnknown methods ***/
1290    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1291        ISpNotifySink* This,
1292        REFIID riid,
1293        void **ppvObject);
1294
1295    ULONG (STDMETHODCALLTYPE *AddRef)(
1296        ISpNotifySink* This);
1297
1298    ULONG (STDMETHODCALLTYPE *Release)(
1299        ISpNotifySink* This);
1300
1301    /*** ISpNotifySink methods ***/
1302    HRESULT (STDMETHODCALLTYPE *Notify)(
1303        ISpNotifySink* This);
1304
1305    END_INTERFACE
1306} ISpNotifySinkVtbl;
1307interface ISpNotifySink {
1308    CONST_VTBL ISpNotifySinkVtbl* lpVtbl;
1309};
1310
1311#ifdef COBJMACROS
1312#ifndef WIDL_C_INLINE_WRAPPERS
1313/*** IUnknown methods ***/
1314#define ISpNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1315#define ISpNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
1316#define ISpNotifySink_Release(This) (This)->lpVtbl->Release(This)
1317/*** ISpNotifySink methods ***/
1318#define ISpNotifySink_Notify(This) (This)->lpVtbl->Notify(This)
1319#else
1320/*** IUnknown methods ***/
1321static FORCEINLINE HRESULT ISpNotifySink_QueryInterface(ISpNotifySink* This,REFIID riid,void **ppvObject) {
1322    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1323}
1324static FORCEINLINE ULONG ISpNotifySink_AddRef(ISpNotifySink* This) {
1325    return This->lpVtbl->AddRef(This);
1326}
1327static FORCEINLINE ULONG ISpNotifySink_Release(ISpNotifySink* This) {
1328    return This->lpVtbl->Release(This);
1329}
1330/*** ISpNotifySink methods ***/
1331static FORCEINLINE HRESULT ISpNotifySink_Notify(ISpNotifySink* This) {
1332    return This->lpVtbl->Notify(This);
1333}
1334#endif
1335#endif
1336
1337#endif
1338
1339HRESULT STDMETHODCALLTYPE ISpNotifySink_Notify_Proxy(
1340    ISpNotifySink* This);
1341void __RPC_STUB ISpNotifySink_Notify_Stub(
1342    IRpcStubBuffer* This,
1343    IRpcChannelBuffer* pRpcChannelBuffer,
1344    PRPC_MESSAGE pRpcMessage,
1345    DWORD* pdwStubPhase);
1346
1347#endif  /* __ISpNotifySink_INTERFACE_DEFINED__ */
1348
1349/*****************************************************************************
1350 * ISpNotifyTranslator interface
1351 */
1352#ifndef __ISpNotifyTranslator_INTERFACE_DEFINED__
1353#define __ISpNotifyTranslator_INTERFACE_DEFINED__
1354
1355DEFINE_GUID(IID_ISpNotifyTranslator, 0xaca16614, 0x5d3d, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
1356#if defined(__cplusplus) && !defined(CINTERFACE)
1357MIDL_INTERFACE("aca16614-5d3d-11d2-960e-00c04f8ee628")
1358ISpNotifyTranslator : public ISpNotifySink
1359{
1360    virtual HRESULT STDMETHODCALLTYPE InitWindowMessage(
1361        HWND hWnd,
1362        UINT Msg,
1363        WPARAM wParam,
1364        LPARAM lParam) = 0;
1365
1366    virtual HRESULT STDMETHODCALLTYPE InitCallback(
1367        SPNOTIFYCALLBACK *pfnCallback,
1368        WPARAM wParam,
1369        LPARAM lParam) = 0;
1370
1371    virtual HRESULT STDMETHODCALLTYPE InitSpNotifyCallback(
1372        ISpNotifyCallback *pSpCallback,
1373        WPARAM wParam,
1374        LPARAM lParam) = 0;
1375
1376    virtual HRESULT STDMETHODCALLTYPE InitWin32Event(
1377        HANDLE hEvent,
1378        WINBOOL fCloseHandleOnRelease) = 0;
1379
1380    virtual HRESULT STDMETHODCALLTYPE Wait(
1381        DWORD dwMilliseconds) = 0;
1382
1383    virtual HANDLE STDMETHODCALLTYPE GetEventHandle(
1384        ) = 0;
1385
1386};
1387#ifdef __CRT_UUID_DECL
1388__CRT_UUID_DECL(ISpNotifyTranslator, 0xaca16614, 0x5d3d, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
1389#endif
1390#else
1391typedef struct ISpNotifyTranslatorVtbl {
1392    BEGIN_INTERFACE
1393
1394    /*** IUnknown methods ***/
1395    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1396        ISpNotifyTranslator* This,
1397        REFIID riid,
1398        void **ppvObject);
1399
1400    ULONG (STDMETHODCALLTYPE *AddRef)(
1401        ISpNotifyTranslator* This);
1402
1403    ULONG (STDMETHODCALLTYPE *Release)(
1404        ISpNotifyTranslator* This);
1405
1406    /*** ISpNotifySink methods ***/
1407    HRESULT (STDMETHODCALLTYPE *Notify)(
1408        ISpNotifyTranslator* This);
1409
1410    /*** ISpNotifyTranslator methods ***/
1411    HRESULT (STDMETHODCALLTYPE *InitWindowMessage)(
1412        ISpNotifyTranslator* This,
1413        HWND hWnd,
1414        UINT Msg,
1415        WPARAM wParam,
1416        LPARAM lParam);
1417
1418    HRESULT (STDMETHODCALLTYPE *InitCallback)(
1419        ISpNotifyTranslator* This,
1420        SPNOTIFYCALLBACK *pfnCallback,
1421        WPARAM wParam,
1422        LPARAM lParam);
1423
1424    HRESULT (STDMETHODCALLTYPE *InitSpNotifyCallback)(
1425        ISpNotifyTranslator* This,
1426        ISpNotifyCallback *pSpCallback,
1427        WPARAM wParam,
1428        LPARAM lParam);
1429
1430    HRESULT (STDMETHODCALLTYPE *InitWin32Event)(
1431        ISpNotifyTranslator* This,
1432        HANDLE hEvent,
1433        WINBOOL fCloseHandleOnRelease);
1434
1435    HRESULT (STDMETHODCALLTYPE *Wait)(
1436        ISpNotifyTranslator* This,
1437        DWORD dwMilliseconds);
1438
1439    HANDLE (STDMETHODCALLTYPE *GetEventHandle)(
1440        ISpNotifyTranslator* This);
1441
1442    END_INTERFACE
1443} ISpNotifyTranslatorVtbl;
1444interface ISpNotifyTranslator {
1445    CONST_VTBL ISpNotifyTranslatorVtbl* lpVtbl;
1446};
1447
1448#ifdef COBJMACROS
1449#ifndef WIDL_C_INLINE_WRAPPERS
1450/*** IUnknown methods ***/
1451#define ISpNotifyTranslator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1452#define ISpNotifyTranslator_AddRef(This) (This)->lpVtbl->AddRef(This)
1453#define ISpNotifyTranslator_Release(This) (This)->lpVtbl->Release(This)
1454/*** ISpNotifySink methods ***/
1455#define ISpNotifyTranslator_Notify(This) (This)->lpVtbl->Notify(This)
1456/*** ISpNotifyTranslator methods ***/
1457#define ISpNotifyTranslator_InitWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->InitWindowMessage(This,hWnd,Msg,wParam,lParam)
1458#define ISpNotifyTranslator_InitCallback(This,pfnCallback,wParam,lParam) (This)->lpVtbl->InitCallback(This,pfnCallback,wParam,lParam)
1459#define ISpNotifyTranslator_InitSpNotifyCallback(This,pSpCallback,wParam,lParam) (This)->lpVtbl->InitSpNotifyCallback(This,pSpCallback,wParam,lParam)
1460#define ISpNotifyTranslator_InitWin32Event(This,hEvent,fCloseHandleOnRelease) (This)->lpVtbl->InitWin32Event(This,hEvent,fCloseHandleOnRelease)
1461#define ISpNotifyTranslator_Wait(This,dwMilliseconds) (This)->lpVtbl->Wait(This,dwMilliseconds)
1462#define ISpNotifyTranslator_GetEventHandle(This) (This)->lpVtbl->GetEventHandle(This)
1463#else
1464/*** IUnknown methods ***/
1465static FORCEINLINE HRESULT ISpNotifyTranslator_QueryInterface(ISpNotifyTranslator* This,REFIID riid,void **ppvObject) {
1466    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1467}
1468static FORCEINLINE ULONG ISpNotifyTranslator_AddRef(ISpNotifyTranslator* This) {
1469    return This->lpVtbl->AddRef(This);
1470}
1471static FORCEINLINE ULONG ISpNotifyTranslator_Release(ISpNotifyTranslator* This) {
1472    return This->lpVtbl->Release(This);
1473}
1474/*** ISpNotifySink methods ***/
1475static FORCEINLINE HRESULT ISpNotifyTranslator_Notify(ISpNotifyTranslator* This) {
1476    return This->lpVtbl->Notify(This);
1477}
1478/*** ISpNotifyTranslator methods ***/
1479static FORCEINLINE HRESULT ISpNotifyTranslator_InitWindowMessage(ISpNotifyTranslator* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
1480    return This->lpVtbl->InitWindowMessage(This,hWnd,Msg,wParam,lParam);
1481}
1482static FORCEINLINE HRESULT ISpNotifyTranslator_InitCallback(ISpNotifyTranslator* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
1483    return This->lpVtbl->InitCallback(This,pfnCallback,wParam,lParam);
1484}
1485static FORCEINLINE HRESULT ISpNotifyTranslator_InitSpNotifyCallback(ISpNotifyTranslator* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
1486    return This->lpVtbl->InitSpNotifyCallback(This,pSpCallback,wParam,lParam);
1487}
1488static FORCEINLINE HRESULT ISpNotifyTranslator_InitWin32Event(ISpNotifyTranslator* This,HANDLE hEvent,WINBOOL fCloseHandleOnRelease) {
1489    return This->lpVtbl->InitWin32Event(This,hEvent,fCloseHandleOnRelease);
1490}
1491static FORCEINLINE HRESULT ISpNotifyTranslator_Wait(ISpNotifyTranslator* This,DWORD dwMilliseconds) {
1492    return This->lpVtbl->Wait(This,dwMilliseconds);
1493}
1494static FORCEINLINE HANDLE ISpNotifyTranslator_GetEventHandle(ISpNotifyTranslator* This) {
1495    return This->lpVtbl->GetEventHandle(This);
1496}
1497#endif
1498#endif
1499
1500#endif
1501
1502HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitWindowMessage_Proxy(
1503    ISpNotifyTranslator* This,
1504    HWND hWnd,
1505    UINT Msg,
1506    WPARAM wParam,
1507    LPARAM lParam);
1508void __RPC_STUB ISpNotifyTranslator_InitWindowMessage_Stub(
1509    IRpcStubBuffer* This,
1510    IRpcChannelBuffer* pRpcChannelBuffer,
1511    PRPC_MESSAGE pRpcMessage,
1512    DWORD* pdwStubPhase);
1513HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitCallback_Proxy(
1514    ISpNotifyTranslator* This,
1515    SPNOTIFYCALLBACK *pfnCallback,
1516    WPARAM wParam,
1517    LPARAM lParam);
1518void __RPC_STUB ISpNotifyTranslator_InitCallback_Stub(
1519    IRpcStubBuffer* This,
1520    IRpcChannelBuffer* pRpcChannelBuffer,
1521    PRPC_MESSAGE pRpcMessage,
1522    DWORD* pdwStubPhase);
1523HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitSpNotifyCallback_Proxy(
1524    ISpNotifyTranslator* This,
1525    ISpNotifyCallback *pSpCallback,
1526    WPARAM wParam,
1527    LPARAM lParam);
1528void __RPC_STUB ISpNotifyTranslator_InitSpNotifyCallback_Stub(
1529    IRpcStubBuffer* This,
1530    IRpcChannelBuffer* pRpcChannelBuffer,
1531    PRPC_MESSAGE pRpcMessage,
1532    DWORD* pdwStubPhase);
1533HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitWin32Event_Proxy(
1534    ISpNotifyTranslator* This,
1535    HANDLE hEvent,
1536    WINBOOL fCloseHandleOnRelease);
1537void __RPC_STUB ISpNotifyTranslator_InitWin32Event_Stub(
1538    IRpcStubBuffer* This,
1539    IRpcChannelBuffer* pRpcChannelBuffer,
1540    PRPC_MESSAGE pRpcMessage,
1541    DWORD* pdwStubPhase);
1542HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_Wait_Proxy(
1543    ISpNotifyTranslator* This,
1544    DWORD dwMilliseconds);
1545void __RPC_STUB ISpNotifyTranslator_Wait_Stub(
1546    IRpcStubBuffer* This,
1547    IRpcChannelBuffer* pRpcChannelBuffer,
1548    PRPC_MESSAGE pRpcMessage,
1549    DWORD* pdwStubPhase);
1550HANDLE STDMETHODCALLTYPE ISpNotifyTranslator_GetEventHandle_Proxy(
1551    ISpNotifyTranslator* This);
1552void __RPC_STUB ISpNotifyTranslator_GetEventHandle_Stub(
1553    IRpcStubBuffer* This,
1554    IRpcChannelBuffer* pRpcChannelBuffer,
1555    PRPC_MESSAGE pRpcMessage,
1556    DWORD* pdwStubPhase);
1557
1558#endif  /* __ISpNotifyTranslator_INTERFACE_DEFINED__ */
1559
1560/*****************************************************************************
1561 * ISpDataKey interface
1562 */
1563#ifndef __ISpDataKey_INTERFACE_DEFINED__
1564#define __ISpDataKey_INTERFACE_DEFINED__
1565
1566DEFINE_GUID(IID_ISpDataKey, 0x14056581, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
1567#if defined(__cplusplus) && !defined(CINTERFACE)
1568MIDL_INTERFACE("14056581-e16c-11d2-bb90-00c04f8ee6c0")
1569ISpDataKey : public IUnknown
1570{
1571    virtual HRESULT STDMETHODCALLTYPE SetData(
1572        LPCWSTR pszValueName,
1573        ULONG cbData,
1574        const BYTE *pData) = 0;
1575
1576    virtual HRESULT STDMETHODCALLTYPE GetData(
1577        LPCWSTR pszValueName,
1578        ULONG *pcbData,
1579        BYTE *pData) = 0;
1580
1581    virtual HRESULT STDMETHODCALLTYPE SetStringValue(
1582        LPCWSTR pszValueName,
1583        LPCWSTR pszValue) = 0;
1584
1585    virtual HRESULT STDMETHODCALLTYPE GetStringValue(
1586        LPCWSTR pszValueName,
1587        LPWSTR *ppszValue) = 0;
1588
1589    virtual HRESULT STDMETHODCALLTYPE SetDWORD(
1590        LPCWSTR pszValueName,
1591        DWORD dwValue) = 0;
1592
1593    virtual HRESULT STDMETHODCALLTYPE GetDWORD(
1594        LPCWSTR pszValueName,
1595        DWORD *pdwValue) = 0;
1596
1597    virtual HRESULT STDMETHODCALLTYPE OpenKey(
1598        LPCWSTR pszSubKeyName,
1599        ISpDataKey **ppSubKey) = 0;
1600
1601    virtual HRESULT STDMETHODCALLTYPE CreateKey(
1602        LPCWSTR pszSubKey,
1603        ISpDataKey **ppSubKey) = 0;
1604
1605    virtual HRESULT STDMETHODCALLTYPE DeleteKey(
1606        LPCWSTR pszSubKey) = 0;
1607
1608    virtual HRESULT STDMETHODCALLTYPE DeleteValue(
1609        LPCWSTR pszValueName) = 0;
1610
1611    virtual HRESULT STDMETHODCALLTYPE EnumKeys(
1612        ULONG Index,
1613        LPWSTR *ppszSubKeyName) = 0;
1614
1615    virtual HRESULT STDMETHODCALLTYPE EnumValues(
1616        ULONG Index,
1617        LPWSTR *ppszValueName) = 0;
1618
1619};
1620#ifdef __CRT_UUID_DECL
1621__CRT_UUID_DECL(ISpDataKey, 0x14056581, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
1622#endif
1623#else
1624typedef struct ISpDataKeyVtbl {
1625    BEGIN_INTERFACE
1626
1627    /*** IUnknown methods ***/
1628    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1629        ISpDataKey* This,
1630        REFIID riid,
1631        void **ppvObject);
1632
1633    ULONG (STDMETHODCALLTYPE *AddRef)(
1634        ISpDataKey* This);
1635
1636    ULONG (STDMETHODCALLTYPE *Release)(
1637        ISpDataKey* This);
1638
1639    /*** ISpDataKey methods ***/
1640    HRESULT (STDMETHODCALLTYPE *SetData)(
1641        ISpDataKey* This,
1642        LPCWSTR pszValueName,
1643        ULONG cbData,
1644        const BYTE *pData);
1645
1646    HRESULT (STDMETHODCALLTYPE *GetData)(
1647        ISpDataKey* This,
1648        LPCWSTR pszValueName,
1649        ULONG *pcbData,
1650        BYTE *pData);
1651
1652    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
1653        ISpDataKey* This,
1654        LPCWSTR pszValueName,
1655        LPCWSTR pszValue);
1656
1657    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
1658        ISpDataKey* This,
1659        LPCWSTR pszValueName,
1660        LPWSTR *ppszValue);
1661
1662    HRESULT (STDMETHODCALLTYPE *SetDWORD)(
1663        ISpDataKey* This,
1664        LPCWSTR pszValueName,
1665        DWORD dwValue);
1666
1667    HRESULT (STDMETHODCALLTYPE *GetDWORD)(
1668        ISpDataKey* This,
1669        LPCWSTR pszValueName,
1670        DWORD *pdwValue);
1671
1672    HRESULT (STDMETHODCALLTYPE *OpenKey)(
1673        ISpDataKey* This,
1674        LPCWSTR pszSubKeyName,
1675        ISpDataKey **ppSubKey);
1676
1677    HRESULT (STDMETHODCALLTYPE *CreateKey)(
1678        ISpDataKey* This,
1679        LPCWSTR pszSubKey,
1680        ISpDataKey **ppSubKey);
1681
1682    HRESULT (STDMETHODCALLTYPE *DeleteKey)(
1683        ISpDataKey* This,
1684        LPCWSTR pszSubKey);
1685
1686    HRESULT (STDMETHODCALLTYPE *DeleteValue)(
1687        ISpDataKey* This,
1688        LPCWSTR pszValueName);
1689
1690    HRESULT (STDMETHODCALLTYPE *EnumKeys)(
1691        ISpDataKey* This,
1692        ULONG Index,
1693        LPWSTR *ppszSubKeyName);
1694
1695    HRESULT (STDMETHODCALLTYPE *EnumValues)(
1696        ISpDataKey* This,
1697        ULONG Index,
1698        LPWSTR *ppszValueName);
1699
1700    END_INTERFACE
1701} ISpDataKeyVtbl;
1702interface ISpDataKey {
1703    CONST_VTBL ISpDataKeyVtbl* lpVtbl;
1704};
1705
1706#ifdef COBJMACROS
1707#ifndef WIDL_C_INLINE_WRAPPERS
1708/*** IUnknown methods ***/
1709#define ISpDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1710#define ISpDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
1711#define ISpDataKey_Release(This) (This)->lpVtbl->Release(This)
1712/*** ISpDataKey methods ***/
1713#define ISpDataKey_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
1714#define ISpDataKey_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
1715#define ISpDataKey_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
1716#define ISpDataKey_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
1717#define ISpDataKey_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
1718#define ISpDataKey_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
1719#define ISpDataKey_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
1720#define ISpDataKey_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
1721#define ISpDataKey_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
1722#define ISpDataKey_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
1723#define ISpDataKey_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
1724#define ISpDataKey_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
1725#else
1726/*** IUnknown methods ***/
1727static FORCEINLINE HRESULT ISpDataKey_QueryInterface(ISpDataKey* This,REFIID riid,void **ppvObject) {
1728    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1729}
1730static FORCEINLINE ULONG ISpDataKey_AddRef(ISpDataKey* This) {
1731    return This->lpVtbl->AddRef(This);
1732}
1733static FORCEINLINE ULONG ISpDataKey_Release(ISpDataKey* This) {
1734    return This->lpVtbl->Release(This);
1735}
1736/*** ISpDataKey methods ***/
1737static FORCEINLINE HRESULT ISpDataKey_SetData(ISpDataKey* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
1738    return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
1739}
1740static FORCEINLINE HRESULT ISpDataKey_GetData(ISpDataKey* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
1741    return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
1742}
1743static FORCEINLINE HRESULT ISpDataKey_SetStringValue(ISpDataKey* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
1744    return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
1745}
1746static FORCEINLINE HRESULT ISpDataKey_GetStringValue(ISpDataKey* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
1747    return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
1748}
1749static FORCEINLINE HRESULT ISpDataKey_SetDWORD(ISpDataKey* This,LPCWSTR pszValueName,DWORD dwValue) {
1750    return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
1751}
1752static FORCEINLINE HRESULT ISpDataKey_GetDWORD(ISpDataKey* This,LPCWSTR pszValueName,DWORD *pdwValue) {
1753    return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
1754}
1755static FORCEINLINE HRESULT ISpDataKey_OpenKey(ISpDataKey* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
1756    return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
1757}
1758static FORCEINLINE HRESULT ISpDataKey_CreateKey(ISpDataKey* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
1759    return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
1760}
1761static FORCEINLINE HRESULT ISpDataKey_DeleteKey(ISpDataKey* This,LPCWSTR pszSubKey) {
1762    return This->lpVtbl->DeleteKey(This,pszSubKey);
1763}
1764static FORCEINLINE HRESULT ISpDataKey_DeleteValue(ISpDataKey* This,LPCWSTR pszValueName) {
1765    return This->lpVtbl->DeleteValue(This,pszValueName);
1766}
1767static FORCEINLINE HRESULT ISpDataKey_EnumKeys(ISpDataKey* This,ULONG Index,LPWSTR *ppszSubKeyName) {
1768    return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
1769}
1770static FORCEINLINE HRESULT ISpDataKey_EnumValues(ISpDataKey* This,ULONG Index,LPWSTR *ppszValueName) {
1771    return This->lpVtbl->EnumValues(This,Index,ppszValueName);
1772}
1773#endif
1774#endif
1775
1776#endif
1777
1778HRESULT STDMETHODCALLTYPE ISpDataKey_SetData_Proxy(
1779    ISpDataKey* This,
1780    LPCWSTR pszValueName,
1781    ULONG cbData,
1782    const BYTE *pData);
1783void __RPC_STUB ISpDataKey_SetData_Stub(
1784    IRpcStubBuffer* This,
1785    IRpcChannelBuffer* pRpcChannelBuffer,
1786    PRPC_MESSAGE pRpcMessage,
1787    DWORD* pdwStubPhase);
1788HRESULT STDMETHODCALLTYPE ISpDataKey_GetData_Proxy(
1789    ISpDataKey* This,
1790    LPCWSTR pszValueName,
1791    ULONG *pcbData,
1792    BYTE *pData);
1793void __RPC_STUB ISpDataKey_GetData_Stub(
1794    IRpcStubBuffer* This,
1795    IRpcChannelBuffer* pRpcChannelBuffer,
1796    PRPC_MESSAGE pRpcMessage,
1797    DWORD* pdwStubPhase);
1798HRESULT STDMETHODCALLTYPE ISpDataKey_SetStringValue_Proxy(
1799    ISpDataKey* This,
1800    LPCWSTR pszValueName,
1801    LPCWSTR pszValue);
1802void __RPC_STUB ISpDataKey_SetStringValue_Stub(
1803    IRpcStubBuffer* This,
1804    IRpcChannelBuffer* pRpcChannelBuffer,
1805    PRPC_MESSAGE pRpcMessage,
1806    DWORD* pdwStubPhase);
1807HRESULT STDMETHODCALLTYPE ISpDataKey_GetStringValue_Proxy(
1808    ISpDataKey* This,
1809    LPCWSTR pszValueName,
1810    LPWSTR *ppszValue);
1811void __RPC_STUB ISpDataKey_GetStringValue_Stub(
1812    IRpcStubBuffer* This,
1813    IRpcChannelBuffer* pRpcChannelBuffer,
1814    PRPC_MESSAGE pRpcMessage,
1815    DWORD* pdwStubPhase);
1816HRESULT STDMETHODCALLTYPE ISpDataKey_SetDWORD_Proxy(
1817    ISpDataKey* This,
1818    LPCWSTR pszValueName,
1819    DWORD dwValue);
1820void __RPC_STUB ISpDataKey_SetDWORD_Stub(
1821    IRpcStubBuffer* This,
1822    IRpcChannelBuffer* pRpcChannelBuffer,
1823    PRPC_MESSAGE pRpcMessage,
1824    DWORD* pdwStubPhase);
1825HRESULT STDMETHODCALLTYPE ISpDataKey_GetDWORD_Proxy(
1826    ISpDataKey* This,
1827    LPCWSTR pszValueName,
1828    DWORD *pdwValue);
1829void __RPC_STUB ISpDataKey_GetDWORD_Stub(
1830    IRpcStubBuffer* This,
1831    IRpcChannelBuffer* pRpcChannelBuffer,
1832    PRPC_MESSAGE pRpcMessage,
1833    DWORD* pdwStubPhase);
1834HRESULT STDMETHODCALLTYPE ISpDataKey_OpenKey_Proxy(
1835    ISpDataKey* This,
1836    LPCWSTR pszSubKeyName,
1837    ISpDataKey **ppSubKey);
1838void __RPC_STUB ISpDataKey_OpenKey_Stub(
1839    IRpcStubBuffer* This,
1840    IRpcChannelBuffer* pRpcChannelBuffer,
1841    PRPC_MESSAGE pRpcMessage,
1842    DWORD* pdwStubPhase);
1843HRESULT STDMETHODCALLTYPE ISpDataKey_CreateKey_Proxy(
1844    ISpDataKey* This,
1845    LPCWSTR pszSubKey,
1846    ISpDataKey **ppSubKey);
1847void __RPC_STUB ISpDataKey_CreateKey_Stub(
1848    IRpcStubBuffer* This,
1849    IRpcChannelBuffer* pRpcChannelBuffer,
1850    PRPC_MESSAGE pRpcMessage,
1851    DWORD* pdwStubPhase);
1852HRESULT STDMETHODCALLTYPE ISpDataKey_DeleteKey_Proxy(
1853    ISpDataKey* This,
1854    LPCWSTR pszSubKey);
1855void __RPC_STUB ISpDataKey_DeleteKey_Stub(
1856    IRpcStubBuffer* This,
1857    IRpcChannelBuffer* pRpcChannelBuffer,
1858    PRPC_MESSAGE pRpcMessage,
1859    DWORD* pdwStubPhase);
1860HRESULT STDMETHODCALLTYPE ISpDataKey_DeleteValue_Proxy(
1861    ISpDataKey* This,
1862    LPCWSTR pszValueName);
1863void __RPC_STUB ISpDataKey_DeleteValue_Stub(
1864    IRpcStubBuffer* This,
1865    IRpcChannelBuffer* pRpcChannelBuffer,
1866    PRPC_MESSAGE pRpcMessage,
1867    DWORD* pdwStubPhase);
1868HRESULT STDMETHODCALLTYPE ISpDataKey_EnumKeys_Proxy(
1869    ISpDataKey* This,
1870    ULONG Index,
1871    LPWSTR *ppszSubKeyName);
1872void __RPC_STUB ISpDataKey_EnumKeys_Stub(
1873    IRpcStubBuffer* This,
1874    IRpcChannelBuffer* pRpcChannelBuffer,
1875    PRPC_MESSAGE pRpcMessage,
1876    DWORD* pdwStubPhase);
1877HRESULT STDMETHODCALLTYPE ISpDataKey_EnumValues_Proxy(
1878    ISpDataKey* This,
1879    ULONG Index,
1880    LPWSTR *ppszValueName);
1881void __RPC_STUB ISpDataKey_EnumValues_Stub(
1882    IRpcStubBuffer* This,
1883    IRpcChannelBuffer* pRpcChannelBuffer,
1884    PRPC_MESSAGE pRpcMessage,
1885    DWORD* pdwStubPhase);
1886
1887#endif  /* __ISpDataKey_INTERFACE_DEFINED__ */
1888
1889/*****************************************************************************
1890 * ISpObjectWithToken interface
1891 */
1892#ifndef __ISpObjectWithToken_INTERFACE_DEFINED__
1893#define __ISpObjectWithToken_INTERFACE_DEFINED__
1894
1895DEFINE_GUID(IID_ISpObjectWithToken, 0x5b559f40, 0xe952, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
1896#if defined(__cplusplus) && !defined(CINTERFACE)
1897MIDL_INTERFACE("5b559f40-e952-11d2-bb91-00c04f8ee6c0")
1898ISpObjectWithToken : public IUnknown
1899{
1900    virtual HRESULT STDMETHODCALLTYPE SetObjectToken(
1901        ISpObjectToken *pToken) = 0;
1902
1903    virtual HRESULT STDMETHODCALLTYPE GetObjectToken(
1904        ISpObjectToken **ppToken) = 0;
1905
1906};
1907#ifdef __CRT_UUID_DECL
1908__CRT_UUID_DECL(ISpObjectWithToken, 0x5b559f40, 0xe952, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
1909#endif
1910#else
1911typedef struct ISpObjectWithTokenVtbl {
1912    BEGIN_INTERFACE
1913
1914    /*** IUnknown methods ***/
1915    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1916        ISpObjectWithToken* This,
1917        REFIID riid,
1918        void **ppvObject);
1919
1920    ULONG (STDMETHODCALLTYPE *AddRef)(
1921        ISpObjectWithToken* This);
1922
1923    ULONG (STDMETHODCALLTYPE *Release)(
1924        ISpObjectWithToken* This);
1925
1926    /*** ISpObjectWithToken methods ***/
1927    HRESULT (STDMETHODCALLTYPE *SetObjectToken)(
1928        ISpObjectWithToken* This,
1929        ISpObjectToken *pToken);
1930
1931    HRESULT (STDMETHODCALLTYPE *GetObjectToken)(
1932        ISpObjectWithToken* This,
1933        ISpObjectToken **ppToken);
1934
1935    END_INTERFACE
1936} ISpObjectWithTokenVtbl;
1937interface ISpObjectWithToken {
1938    CONST_VTBL ISpObjectWithTokenVtbl* lpVtbl;
1939};
1940
1941#ifdef COBJMACROS
1942#ifndef WIDL_C_INLINE_WRAPPERS
1943/*** IUnknown methods ***/
1944#define ISpObjectWithToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1945#define ISpObjectWithToken_AddRef(This) (This)->lpVtbl->AddRef(This)
1946#define ISpObjectWithToken_Release(This) (This)->lpVtbl->Release(This)
1947/*** ISpObjectWithToken methods ***/
1948#define ISpObjectWithToken_SetObjectToken(This,pToken) (This)->lpVtbl->SetObjectToken(This,pToken)
1949#define ISpObjectWithToken_GetObjectToken(This,ppToken) (This)->lpVtbl->GetObjectToken(This,ppToken)
1950#else
1951/*** IUnknown methods ***/
1952static FORCEINLINE HRESULT ISpObjectWithToken_QueryInterface(ISpObjectWithToken* This,REFIID riid,void **ppvObject) {
1953    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1954}
1955static FORCEINLINE ULONG ISpObjectWithToken_AddRef(ISpObjectWithToken* This) {
1956    return This->lpVtbl->AddRef(This);
1957}
1958static FORCEINLINE ULONG ISpObjectWithToken_Release(ISpObjectWithToken* This) {
1959    return This->lpVtbl->Release(This);
1960}
1961/*** ISpObjectWithToken methods ***/
1962static FORCEINLINE HRESULT ISpObjectWithToken_SetObjectToken(ISpObjectWithToken* This,ISpObjectToken *pToken) {
1963    return This->lpVtbl->SetObjectToken(This,pToken);
1964}
1965static FORCEINLINE HRESULT ISpObjectWithToken_GetObjectToken(ISpObjectWithToken* This,ISpObjectToken **ppToken) {
1966    return This->lpVtbl->GetObjectToken(This,ppToken);
1967}
1968#endif
1969#endif
1970
1971#endif
1972
1973HRESULT STDMETHODCALLTYPE ISpObjectWithToken_SetObjectToken_Proxy(
1974    ISpObjectWithToken* This,
1975    ISpObjectToken *pToken);
1976void __RPC_STUB ISpObjectWithToken_SetObjectToken_Stub(
1977    IRpcStubBuffer* This,
1978    IRpcChannelBuffer* pRpcChannelBuffer,
1979    PRPC_MESSAGE pRpcMessage,
1980    DWORD* pdwStubPhase);
1981HRESULT STDMETHODCALLTYPE ISpObjectWithToken_GetObjectToken_Proxy(
1982    ISpObjectWithToken* This,
1983    ISpObjectToken **ppToken);
1984void __RPC_STUB ISpObjectWithToken_GetObjectToken_Stub(
1985    IRpcStubBuffer* This,
1986    IRpcChannelBuffer* pRpcChannelBuffer,
1987    PRPC_MESSAGE pRpcMessage,
1988    DWORD* pdwStubPhase);
1989
1990#endif  /* __ISpObjectWithToken_INTERFACE_DEFINED__ */
1991
1992/*****************************************************************************
1993 * IEnumSpObjectTokens interface
1994 */
1995#ifndef __IEnumSpObjectTokens_INTERFACE_DEFINED__
1996#define __IEnumSpObjectTokens_INTERFACE_DEFINED__
1997
1998DEFINE_GUID(IID_IEnumSpObjectTokens, 0x06b64f9e, 0x7fda, 0x11d2, 0xb4,0xf2, 0x00,0xc0,0x4f,0x79,0x73,0x96);
1999#if defined(__cplusplus) && !defined(CINTERFACE)
2000MIDL_INTERFACE("06b64f9e-7fda-11d2-b4f2-00c04f797396")
2001IEnumSpObjectTokens : public IUnknown
2002{
2003    virtual HRESULT STDMETHODCALLTYPE Next(
2004        ULONG celt,
2005        ISpObjectToken **pelt,
2006        ULONG *pceltFetched) = 0;
2007
2008    virtual HRESULT STDMETHODCALLTYPE Skip(
2009        ULONG celt) = 0;
2010
2011    virtual HRESULT STDMETHODCALLTYPE Reset(
2012        ) = 0;
2013
2014    virtual HRESULT STDMETHODCALLTYPE Clone(
2015        IEnumSpObjectTokens **ppEnum) = 0;
2016
2017    virtual HRESULT STDMETHODCALLTYPE Item(
2018        ULONG Index,
2019        ISpObjectToken **ppToken) = 0;
2020
2021    virtual HRESULT STDMETHODCALLTYPE GetCount(
2022        ULONG *pCount) = 0;
2023
2024};
2025#ifdef __CRT_UUID_DECL
2026__CRT_UUID_DECL(IEnumSpObjectTokens, 0x06b64f9e, 0x7fda, 0x11d2, 0xb4,0xf2, 0x00,0xc0,0x4f,0x79,0x73,0x96)
2027#endif
2028#else
2029typedef struct IEnumSpObjectTokensVtbl {
2030    BEGIN_INTERFACE
2031
2032    /*** IUnknown methods ***/
2033    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2034        IEnumSpObjectTokens* This,
2035        REFIID riid,
2036        void **ppvObject);
2037
2038    ULONG (STDMETHODCALLTYPE *AddRef)(
2039        IEnumSpObjectTokens* This);
2040
2041    ULONG (STDMETHODCALLTYPE *Release)(
2042        IEnumSpObjectTokens* This);
2043
2044    /*** IEnumSpObjectTokens methods ***/
2045    HRESULT (STDMETHODCALLTYPE *Next)(
2046        IEnumSpObjectTokens* This,
2047        ULONG celt,
2048        ISpObjectToken **pelt,
2049        ULONG *pceltFetched);
2050
2051    HRESULT (STDMETHODCALLTYPE *Skip)(
2052        IEnumSpObjectTokens* This,
2053        ULONG celt);
2054
2055    HRESULT (STDMETHODCALLTYPE *Reset)(
2056        IEnumSpObjectTokens* This);
2057
2058    HRESULT (STDMETHODCALLTYPE *Clone)(
2059        IEnumSpObjectTokens* This,
2060        IEnumSpObjectTokens **ppEnum);
2061
2062    HRESULT (STDMETHODCALLTYPE *Item)(
2063        IEnumSpObjectTokens* This,
2064        ULONG Index,
2065        ISpObjectToken **ppToken);
2066
2067    HRESULT (STDMETHODCALLTYPE *GetCount)(
2068        IEnumSpObjectTokens* This,
2069        ULONG *pCount);
2070
2071    END_INTERFACE
2072} IEnumSpObjectTokensVtbl;
2073interface IEnumSpObjectTokens {
2074    CONST_VTBL IEnumSpObjectTokensVtbl* lpVtbl;
2075};
2076
2077#ifdef COBJMACROS
2078#ifndef WIDL_C_INLINE_WRAPPERS
2079/*** IUnknown methods ***/
2080#define IEnumSpObjectTokens_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2081#define IEnumSpObjectTokens_AddRef(This) (This)->lpVtbl->AddRef(This)
2082#define IEnumSpObjectTokens_Release(This) (This)->lpVtbl->Release(This)
2083/*** IEnumSpObjectTokens methods ***/
2084#define IEnumSpObjectTokens_Next(This,celt,pelt,pceltFetched) (This)->lpVtbl->Next(This,celt,pelt,pceltFetched)
2085#define IEnumSpObjectTokens_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
2086#define IEnumSpObjectTokens_Reset(This) (This)->lpVtbl->Reset(This)
2087#define IEnumSpObjectTokens_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
2088#define IEnumSpObjectTokens_Item(This,Index,ppToken) (This)->lpVtbl->Item(This,Index,ppToken)
2089#define IEnumSpObjectTokens_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
2090#else
2091/*** IUnknown methods ***/
2092static FORCEINLINE HRESULT IEnumSpObjectTokens_QueryInterface(IEnumSpObjectTokens* This,REFIID riid,void **ppvObject) {
2093    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2094}
2095static FORCEINLINE ULONG IEnumSpObjectTokens_AddRef(IEnumSpObjectTokens* This) {
2096    return This->lpVtbl->AddRef(This);
2097}
2098static FORCEINLINE ULONG IEnumSpObjectTokens_Release(IEnumSpObjectTokens* This) {
2099    return This->lpVtbl->Release(This);
2100}
2101/*** IEnumSpObjectTokens methods ***/
2102static FORCEINLINE HRESULT IEnumSpObjectTokens_Next(IEnumSpObjectTokens* This,ULONG celt,ISpObjectToken **pelt,ULONG *pceltFetched) {
2103    return This->lpVtbl->Next(This,celt,pelt,pceltFetched);
2104}
2105static FORCEINLINE HRESULT IEnumSpObjectTokens_Skip(IEnumSpObjectTokens* This,ULONG celt) {
2106    return This->lpVtbl->Skip(This,celt);
2107}
2108static FORCEINLINE HRESULT IEnumSpObjectTokens_Reset(IEnumSpObjectTokens* This) {
2109    return This->lpVtbl->Reset(This);
2110}
2111static FORCEINLINE HRESULT IEnumSpObjectTokens_Clone(IEnumSpObjectTokens* This,IEnumSpObjectTokens **ppEnum) {
2112    return This->lpVtbl->Clone(This,ppEnum);
2113}
2114static FORCEINLINE HRESULT IEnumSpObjectTokens_Item(IEnumSpObjectTokens* This,ULONG Index,ISpObjectToken **ppToken) {
2115    return This->lpVtbl->Item(This,Index,ppToken);
2116}
2117static FORCEINLINE HRESULT IEnumSpObjectTokens_GetCount(IEnumSpObjectTokens* This,ULONG *pCount) {
2118    return This->lpVtbl->GetCount(This,pCount);
2119}
2120#endif
2121#endif
2122
2123#endif
2124
2125HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Next_Proxy(
2126    IEnumSpObjectTokens* This,
2127    ULONG celt,
2128    ISpObjectToken **pelt,
2129    ULONG *pceltFetched);
2130void __RPC_STUB IEnumSpObjectTokens_Next_Stub(
2131    IRpcStubBuffer* This,
2132    IRpcChannelBuffer* pRpcChannelBuffer,
2133    PRPC_MESSAGE pRpcMessage,
2134    DWORD* pdwStubPhase);
2135HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Skip_Proxy(
2136    IEnumSpObjectTokens* This,
2137    ULONG celt);
2138void __RPC_STUB IEnumSpObjectTokens_Skip_Stub(
2139    IRpcStubBuffer* This,
2140    IRpcChannelBuffer* pRpcChannelBuffer,
2141    PRPC_MESSAGE pRpcMessage,
2142    DWORD* pdwStubPhase);
2143HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Reset_Proxy(
2144    IEnumSpObjectTokens* This);
2145void __RPC_STUB IEnumSpObjectTokens_Reset_Stub(
2146    IRpcStubBuffer* This,
2147    IRpcChannelBuffer* pRpcChannelBuffer,
2148    PRPC_MESSAGE pRpcMessage,
2149    DWORD* pdwStubPhase);
2150HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Clone_Proxy(
2151    IEnumSpObjectTokens* This,
2152    IEnumSpObjectTokens **ppEnum);
2153void __RPC_STUB IEnumSpObjectTokens_Clone_Stub(
2154    IRpcStubBuffer* This,
2155    IRpcChannelBuffer* pRpcChannelBuffer,
2156    PRPC_MESSAGE pRpcMessage,
2157    DWORD* pdwStubPhase);
2158HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Item_Proxy(
2159    IEnumSpObjectTokens* This,
2160    ULONG Index,
2161    ISpObjectToken **ppToken);
2162void __RPC_STUB IEnumSpObjectTokens_Item_Stub(
2163    IRpcStubBuffer* This,
2164    IRpcChannelBuffer* pRpcChannelBuffer,
2165    PRPC_MESSAGE pRpcMessage,
2166    DWORD* pdwStubPhase);
2167HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_GetCount_Proxy(
2168    IEnumSpObjectTokens* This,
2169    ULONG *pCount);
2170void __RPC_STUB IEnumSpObjectTokens_GetCount_Stub(
2171    IRpcStubBuffer* This,
2172    IRpcChannelBuffer* pRpcChannelBuffer,
2173    PRPC_MESSAGE pRpcMessage,
2174    DWORD* pdwStubPhase);
2175
2176#endif  /* __IEnumSpObjectTokens_INTERFACE_DEFINED__ */
2177
2178/*****************************************************************************
2179 * ISpRegDataKey interface
2180 */
2181#ifndef __ISpRegDataKey_INTERFACE_DEFINED__
2182#define __ISpRegDataKey_INTERFACE_DEFINED__
2183
2184DEFINE_GUID(IID_ISpRegDataKey, 0x92a66e2b, 0xc830, 0x4149, 0x83,0xdf, 0x6f,0xc2,0xba,0x1e,0x7a,0x5b);
2185#if defined(__cplusplus) && !defined(CINTERFACE)
2186MIDL_INTERFACE("92a66e2b-c830-4149-83df-6fc2ba1e7a5b")
2187ISpRegDataKey : public ISpDataKey
2188{
2189    virtual HRESULT STDMETHODCALLTYPE SetKey(
2190        HKEY hkey,
2191        WINBOOL fReadOnly) = 0;
2192
2193};
2194#ifdef __CRT_UUID_DECL
2195__CRT_UUID_DECL(ISpRegDataKey, 0x92a66e2b, 0xc830, 0x4149, 0x83,0xdf, 0x6f,0xc2,0xba,0x1e,0x7a,0x5b)
2196#endif
2197#else
2198typedef struct ISpRegDataKeyVtbl {
2199    BEGIN_INTERFACE
2200
2201    /*** IUnknown methods ***/
2202    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2203        ISpRegDataKey* This,
2204        REFIID riid,
2205        void **ppvObject);
2206
2207    ULONG (STDMETHODCALLTYPE *AddRef)(
2208        ISpRegDataKey* This);
2209
2210    ULONG (STDMETHODCALLTYPE *Release)(
2211        ISpRegDataKey* This);
2212
2213    /*** ISpDataKey methods ***/
2214    HRESULT (STDMETHODCALLTYPE *SetData)(
2215        ISpRegDataKey* This,
2216        LPCWSTR pszValueName,
2217        ULONG cbData,
2218        const BYTE *pData);
2219
2220    HRESULT (STDMETHODCALLTYPE *GetData)(
2221        ISpRegDataKey* This,
2222        LPCWSTR pszValueName,
2223        ULONG *pcbData,
2224        BYTE *pData);
2225
2226    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
2227        ISpRegDataKey* This,
2228        LPCWSTR pszValueName,
2229        LPCWSTR pszValue);
2230
2231    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
2232        ISpRegDataKey* This,
2233        LPCWSTR pszValueName,
2234        LPWSTR *ppszValue);
2235
2236    HRESULT (STDMETHODCALLTYPE *SetDWORD)(
2237        ISpRegDataKey* This,
2238        LPCWSTR pszValueName,
2239        DWORD dwValue);
2240
2241    HRESULT (STDMETHODCALLTYPE *GetDWORD)(
2242        ISpRegDataKey* This,
2243        LPCWSTR pszValueName,
2244        DWORD *pdwValue);
2245
2246    HRESULT (STDMETHODCALLTYPE *OpenKey)(
2247        ISpRegDataKey* This,
2248        LPCWSTR pszSubKeyName,
2249        ISpDataKey **ppSubKey);
2250
2251    HRESULT (STDMETHODCALLTYPE *CreateKey)(
2252        ISpRegDataKey* This,
2253        LPCWSTR pszSubKey,
2254        ISpDataKey **ppSubKey);
2255
2256    HRESULT (STDMETHODCALLTYPE *DeleteKey)(
2257        ISpRegDataKey* This,
2258        LPCWSTR pszSubKey);
2259
2260    HRESULT (STDMETHODCALLTYPE *DeleteValue)(
2261        ISpRegDataKey* This,
2262        LPCWSTR pszValueName);
2263
2264    HRESULT (STDMETHODCALLTYPE *EnumKeys)(
2265        ISpRegDataKey* This,
2266        ULONG Index,
2267        LPWSTR *ppszSubKeyName);
2268
2269    HRESULT (STDMETHODCALLTYPE *EnumValues)(
2270        ISpRegDataKey* This,
2271        ULONG Index,
2272        LPWSTR *ppszValueName);
2273
2274    /*** ISpRegDataKey methods ***/
2275    HRESULT (STDMETHODCALLTYPE *SetKey)(
2276        ISpRegDataKey* This,
2277        HKEY hkey,
2278        WINBOOL fReadOnly);
2279
2280    END_INTERFACE
2281} ISpRegDataKeyVtbl;
2282interface ISpRegDataKey {
2283    CONST_VTBL ISpRegDataKeyVtbl* lpVtbl;
2284};
2285
2286#ifdef COBJMACROS
2287#ifndef WIDL_C_INLINE_WRAPPERS
2288/*** IUnknown methods ***/
2289#define ISpRegDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2290#define ISpRegDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
2291#define ISpRegDataKey_Release(This) (This)->lpVtbl->Release(This)
2292/*** ISpDataKey methods ***/
2293#define ISpRegDataKey_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
2294#define ISpRegDataKey_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
2295#define ISpRegDataKey_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
2296#define ISpRegDataKey_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
2297#define ISpRegDataKey_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
2298#define ISpRegDataKey_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
2299#define ISpRegDataKey_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
2300#define ISpRegDataKey_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
2301#define ISpRegDataKey_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
2302#define ISpRegDataKey_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
2303#define ISpRegDataKey_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
2304#define ISpRegDataKey_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
2305/*** ISpRegDataKey methods ***/
2306#define ISpRegDataKey_SetKey(This,hkey,fReadOnly) (This)->lpVtbl->SetKey(This,hkey,fReadOnly)
2307#else
2308/*** IUnknown methods ***/
2309static FORCEINLINE HRESULT ISpRegDataKey_QueryInterface(ISpRegDataKey* This,REFIID riid,void **ppvObject) {
2310    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2311}
2312static FORCEINLINE ULONG ISpRegDataKey_AddRef(ISpRegDataKey* This) {
2313    return This->lpVtbl->AddRef(This);
2314}
2315static FORCEINLINE ULONG ISpRegDataKey_Release(ISpRegDataKey* This) {
2316    return This->lpVtbl->Release(This);
2317}
2318/*** ISpDataKey methods ***/
2319static FORCEINLINE HRESULT ISpRegDataKey_SetData(ISpRegDataKey* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
2320    return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
2321}
2322static FORCEINLINE HRESULT ISpRegDataKey_GetData(ISpRegDataKey* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
2323    return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
2324}
2325static FORCEINLINE HRESULT ISpRegDataKey_SetStringValue(ISpRegDataKey* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
2326    return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
2327}
2328static FORCEINLINE HRESULT ISpRegDataKey_GetStringValue(ISpRegDataKey* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
2329    return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
2330}
2331static FORCEINLINE HRESULT ISpRegDataKey_SetDWORD(ISpRegDataKey* This,LPCWSTR pszValueName,DWORD dwValue) {
2332    return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
2333}
2334static FORCEINLINE HRESULT ISpRegDataKey_GetDWORD(ISpRegDataKey* This,LPCWSTR pszValueName,DWORD *pdwValue) {
2335    return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
2336}
2337static FORCEINLINE HRESULT ISpRegDataKey_OpenKey(ISpRegDataKey* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
2338    return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
2339}
2340static FORCEINLINE HRESULT ISpRegDataKey_CreateKey(ISpRegDataKey* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
2341    return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
2342}
2343static FORCEINLINE HRESULT ISpRegDataKey_DeleteKey(ISpRegDataKey* This,LPCWSTR pszSubKey) {
2344    return This->lpVtbl->DeleteKey(This,pszSubKey);
2345}
2346static FORCEINLINE HRESULT ISpRegDataKey_DeleteValue(ISpRegDataKey* This,LPCWSTR pszValueName) {
2347    return This->lpVtbl->DeleteValue(This,pszValueName);
2348}
2349static FORCEINLINE HRESULT ISpRegDataKey_EnumKeys(ISpRegDataKey* This,ULONG Index,LPWSTR *ppszSubKeyName) {
2350    return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
2351}
2352static FORCEINLINE HRESULT ISpRegDataKey_EnumValues(ISpRegDataKey* This,ULONG Index,LPWSTR *ppszValueName) {
2353    return This->lpVtbl->EnumValues(This,Index,ppszValueName);
2354}
2355/*** ISpRegDataKey methods ***/
2356static FORCEINLINE HRESULT ISpRegDataKey_SetKey(ISpRegDataKey* This,HKEY hkey,WINBOOL fReadOnly) {
2357    return This->lpVtbl->SetKey(This,hkey,fReadOnly);
2358}
2359#endif
2360#endif
2361
2362#endif
2363
2364
2365#endif  /* __ISpRegDataKey_INTERFACE_DEFINED__ */
2366
2367/*****************************************************************************
2368 * ISpObjectTokenCategory interface
2369 */
2370#ifndef __ISpObjectTokenCategory_INTERFACE_DEFINED__
2371#define __ISpObjectTokenCategory_INTERFACE_DEFINED__
2372
2373DEFINE_GUID(IID_ISpObjectTokenCategory, 0x2d3d3845, 0x39af, 0x4850, 0xbb,0xf9, 0x40,0xb4,0x97,0x80,0x01,0x1d);
2374#if defined(__cplusplus) && !defined(CINTERFACE)
2375MIDL_INTERFACE("2d3d3845-39af-4850-bbf9-40b49780011d")
2376ISpObjectTokenCategory : public ISpDataKey
2377{
2378    virtual HRESULT STDMETHODCALLTYPE SetId(
2379        LPCWSTR pszCategoryId,
2380        WINBOOL fCreateIfNotExist) = 0;
2381
2382    virtual HRESULT STDMETHODCALLTYPE GetId(
2383        LPWSTR *ppszCoMemCategoryId) = 0;
2384
2385    virtual HRESULT STDMETHODCALLTYPE GetDataKey(
2386        SPDATAKEYLOCATION spdkl,
2387        ISpDataKey **ppDataKey) = 0;
2388
2389    virtual HRESULT STDMETHODCALLTYPE EnumTokens(
2390        LPCWSTR pzsReqAttribs,
2391        LPCWSTR pszOptAttribs,
2392        IEnumSpObjectTokens **ppEnum) = 0;
2393
2394    virtual HRESULT STDMETHODCALLTYPE SetDefaultTokenId(
2395        LPCWSTR pszTokenId) = 0;
2396
2397    virtual HRESULT STDMETHODCALLTYPE GetDefaultTokenId(
2398        LPWSTR *ppszCoMemTokenId) = 0;
2399
2400};
2401#ifdef __CRT_UUID_DECL
2402__CRT_UUID_DECL(ISpObjectTokenCategory, 0x2d3d3845, 0x39af, 0x4850, 0xbb,0xf9, 0x40,0xb4,0x97,0x80,0x01,0x1d)
2403#endif
2404#else
2405typedef struct ISpObjectTokenCategoryVtbl {
2406    BEGIN_INTERFACE
2407
2408    /*** IUnknown methods ***/
2409    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2410        ISpObjectTokenCategory* This,
2411        REFIID riid,
2412        void **ppvObject);
2413
2414    ULONG (STDMETHODCALLTYPE *AddRef)(
2415        ISpObjectTokenCategory* This);
2416
2417    ULONG (STDMETHODCALLTYPE *Release)(
2418        ISpObjectTokenCategory* This);
2419
2420    /*** ISpDataKey methods ***/
2421    HRESULT (STDMETHODCALLTYPE *SetData)(
2422        ISpObjectTokenCategory* This,
2423        LPCWSTR pszValueName,
2424        ULONG cbData,
2425        const BYTE *pData);
2426
2427    HRESULT (STDMETHODCALLTYPE *GetData)(
2428        ISpObjectTokenCategory* This,
2429        LPCWSTR pszValueName,
2430        ULONG *pcbData,
2431        BYTE *pData);
2432
2433    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
2434        ISpObjectTokenCategory* This,
2435        LPCWSTR pszValueName,
2436        LPCWSTR pszValue);
2437
2438    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
2439        ISpObjectTokenCategory* This,
2440        LPCWSTR pszValueName,
2441        LPWSTR *ppszValue);
2442
2443    HRESULT (STDMETHODCALLTYPE *SetDWORD)(
2444        ISpObjectTokenCategory* This,
2445        LPCWSTR pszValueName,
2446        DWORD dwValue);
2447
2448    HRESULT (STDMETHODCALLTYPE *GetDWORD)(
2449        ISpObjectTokenCategory* This,
2450        LPCWSTR pszValueName,
2451        DWORD *pdwValue);
2452
2453    HRESULT (STDMETHODCALLTYPE *OpenKey)(
2454        ISpObjectTokenCategory* This,
2455        LPCWSTR pszSubKeyName,
2456        ISpDataKey **ppSubKey);
2457
2458    HRESULT (STDMETHODCALLTYPE *CreateKey)(
2459        ISpObjectTokenCategory* This,
2460        LPCWSTR pszSubKey,
2461        ISpDataKey **ppSubKey);
2462
2463    HRESULT (STDMETHODCALLTYPE *DeleteKey)(
2464        ISpObjectTokenCategory* This,
2465        LPCWSTR pszSubKey);
2466
2467    HRESULT (STDMETHODCALLTYPE *DeleteValue)(
2468        ISpObjectTokenCategory* This,
2469        LPCWSTR pszValueName);
2470
2471    HRESULT (STDMETHODCALLTYPE *EnumKeys)(
2472        ISpObjectTokenCategory* This,
2473        ULONG Index,
2474        LPWSTR *ppszSubKeyName);
2475
2476    HRESULT (STDMETHODCALLTYPE *EnumValues)(
2477        ISpObjectTokenCategory* This,
2478        ULONG Index,
2479        LPWSTR *ppszValueName);
2480
2481    /*** ISpObjectTokenCategory methods ***/
2482    HRESULT (STDMETHODCALLTYPE *SetId)(
2483        ISpObjectTokenCategory* This,
2484        LPCWSTR pszCategoryId,
2485        WINBOOL fCreateIfNotExist);
2486
2487    HRESULT (STDMETHODCALLTYPE *GetId)(
2488        ISpObjectTokenCategory* This,
2489        LPWSTR *ppszCoMemCategoryId);
2490
2491    HRESULT (STDMETHODCALLTYPE *GetDataKey)(
2492        ISpObjectTokenCategory* This,
2493        SPDATAKEYLOCATION spdkl,
2494        ISpDataKey **ppDataKey);
2495
2496    HRESULT (STDMETHODCALLTYPE *EnumTokens)(
2497        ISpObjectTokenCategory* This,
2498        LPCWSTR pzsReqAttribs,
2499        LPCWSTR pszOptAttribs,
2500        IEnumSpObjectTokens **ppEnum);
2501
2502    HRESULT (STDMETHODCALLTYPE *SetDefaultTokenId)(
2503        ISpObjectTokenCategory* This,
2504        LPCWSTR pszTokenId);
2505
2506    HRESULT (STDMETHODCALLTYPE *GetDefaultTokenId)(
2507        ISpObjectTokenCategory* This,
2508        LPWSTR *ppszCoMemTokenId);
2509
2510    END_INTERFACE
2511} ISpObjectTokenCategoryVtbl;
2512interface ISpObjectTokenCategory {
2513    CONST_VTBL ISpObjectTokenCategoryVtbl* lpVtbl;
2514};
2515
2516#ifdef COBJMACROS
2517#ifndef WIDL_C_INLINE_WRAPPERS
2518/*** IUnknown methods ***/
2519#define ISpObjectTokenCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2520#define ISpObjectTokenCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
2521#define ISpObjectTokenCategory_Release(This) (This)->lpVtbl->Release(This)
2522/*** ISpDataKey methods ***/
2523#define ISpObjectTokenCategory_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
2524#define ISpObjectTokenCategory_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
2525#define ISpObjectTokenCategory_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
2526#define ISpObjectTokenCategory_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
2527#define ISpObjectTokenCategory_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
2528#define ISpObjectTokenCategory_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
2529#define ISpObjectTokenCategory_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
2530#define ISpObjectTokenCategory_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
2531#define ISpObjectTokenCategory_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
2532#define ISpObjectTokenCategory_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
2533#define ISpObjectTokenCategory_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
2534#define ISpObjectTokenCategory_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
2535/*** ISpObjectTokenCategory methods ***/
2536#define ISpObjectTokenCategory_SetId(This,pszCategoryId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,fCreateIfNotExist)
2537#define ISpObjectTokenCategory_GetId(This,ppszCoMemCategoryId) (This)->lpVtbl->GetId(This,ppszCoMemCategoryId)
2538#define ISpObjectTokenCategory_GetDataKey(This,spdkl,ppDataKey) (This)->lpVtbl->GetDataKey(This,spdkl,ppDataKey)
2539#define ISpObjectTokenCategory_EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum) (This)->lpVtbl->EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum)
2540#define ISpObjectTokenCategory_SetDefaultTokenId(This,pszTokenId) (This)->lpVtbl->SetDefaultTokenId(This,pszTokenId)
2541#define ISpObjectTokenCategory_GetDefaultTokenId(This,ppszCoMemTokenId) (This)->lpVtbl->GetDefaultTokenId(This,ppszCoMemTokenId)
2542#else
2543/*** IUnknown methods ***/
2544static FORCEINLINE HRESULT ISpObjectTokenCategory_QueryInterface(ISpObjectTokenCategory* This,REFIID riid,void **ppvObject) {
2545    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2546}
2547static FORCEINLINE ULONG ISpObjectTokenCategory_AddRef(ISpObjectTokenCategory* This) {
2548    return This->lpVtbl->AddRef(This);
2549}
2550static FORCEINLINE ULONG ISpObjectTokenCategory_Release(ISpObjectTokenCategory* This) {
2551    return This->lpVtbl->Release(This);
2552}
2553/*** ISpDataKey methods ***/
2554static FORCEINLINE HRESULT ISpObjectTokenCategory_SetData(ISpObjectTokenCategory* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
2555    return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
2556}
2557static FORCEINLINE HRESULT ISpObjectTokenCategory_GetData(ISpObjectTokenCategory* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
2558    return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
2559}
2560static FORCEINLINE HRESULT ISpObjectTokenCategory_SetStringValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
2561    return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
2562}
2563static FORCEINLINE HRESULT ISpObjectTokenCategory_GetStringValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
2564    return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
2565}
2566static FORCEINLINE HRESULT ISpObjectTokenCategory_SetDWORD(ISpObjectTokenCategory* This,LPCWSTR pszValueName,DWORD dwValue) {
2567    return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
2568}
2569static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDWORD(ISpObjectTokenCategory* This,LPCWSTR pszValueName,DWORD *pdwValue) {
2570    return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
2571}
2572static FORCEINLINE HRESULT ISpObjectTokenCategory_OpenKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
2573    return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
2574}
2575static FORCEINLINE HRESULT ISpObjectTokenCategory_CreateKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
2576    return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
2577}
2578static FORCEINLINE HRESULT ISpObjectTokenCategory_DeleteKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKey) {
2579    return This->lpVtbl->DeleteKey(This,pszSubKey);
2580}
2581static FORCEINLINE HRESULT ISpObjectTokenCategory_DeleteValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName) {
2582    return This->lpVtbl->DeleteValue(This,pszValueName);
2583}
2584static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumKeys(ISpObjectTokenCategory* This,ULONG Index,LPWSTR *ppszSubKeyName) {
2585    return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
2586}
2587static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumValues(ISpObjectTokenCategory* This,ULONG Index,LPWSTR *ppszValueName) {
2588    return This->lpVtbl->EnumValues(This,Index,ppszValueName);
2589}
2590/*** ISpObjectTokenCategory methods ***/
2591static FORCEINLINE HRESULT ISpObjectTokenCategory_SetId(ISpObjectTokenCategory* This,LPCWSTR pszCategoryId,WINBOOL fCreateIfNotExist) {
2592    return This->lpVtbl->SetId(This,pszCategoryId,fCreateIfNotExist);
2593}
2594static FORCEINLINE HRESULT ISpObjectTokenCategory_GetId(ISpObjectTokenCategory* This,LPWSTR *ppszCoMemCategoryId) {
2595    return This->lpVtbl->GetId(This,ppszCoMemCategoryId);
2596}
2597static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDataKey(ISpObjectTokenCategory* This,SPDATAKEYLOCATION spdkl,ISpDataKey **ppDataKey) {
2598    return This->lpVtbl->GetDataKey(This,spdkl,ppDataKey);
2599}
2600static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumTokens(ISpObjectTokenCategory* This,LPCWSTR pzsReqAttribs,LPCWSTR pszOptAttribs,IEnumSpObjectTokens **ppEnum) {
2601    return This->lpVtbl->EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum);
2602}
2603static FORCEINLINE HRESULT ISpObjectTokenCategory_SetDefaultTokenId(ISpObjectTokenCategory* This,LPCWSTR pszTokenId) {
2604    return This->lpVtbl->SetDefaultTokenId(This,pszTokenId);
2605}
2606static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDefaultTokenId(ISpObjectTokenCategory* This,LPWSTR *ppszCoMemTokenId) {
2607    return This->lpVtbl->GetDefaultTokenId(This,ppszCoMemTokenId);
2608}
2609#endif
2610#endif
2611
2612#endif
2613
2614HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_SetId_Proxy(
2615    ISpObjectTokenCategory* This,
2616    LPCWSTR pszCategoryId,
2617    WINBOOL fCreateIfNotExist);
2618void __RPC_STUB ISpObjectTokenCategory_SetId_Stub(
2619    IRpcStubBuffer* This,
2620    IRpcChannelBuffer* pRpcChannelBuffer,
2621    PRPC_MESSAGE pRpcMessage,
2622    DWORD* pdwStubPhase);
2623HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetId_Proxy(
2624    ISpObjectTokenCategory* This,
2625    LPWSTR *ppszCoMemCategoryId);
2626void __RPC_STUB ISpObjectTokenCategory_GetId_Stub(
2627    IRpcStubBuffer* This,
2628    IRpcChannelBuffer* pRpcChannelBuffer,
2629    PRPC_MESSAGE pRpcMessage,
2630    DWORD* pdwStubPhase);
2631HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetDataKey_Proxy(
2632    ISpObjectTokenCategory* This,
2633    SPDATAKEYLOCATION spdkl,
2634    ISpDataKey **ppDataKey);
2635void __RPC_STUB ISpObjectTokenCategory_GetDataKey_Stub(
2636    IRpcStubBuffer* This,
2637    IRpcChannelBuffer* pRpcChannelBuffer,
2638    PRPC_MESSAGE pRpcMessage,
2639    DWORD* pdwStubPhase);
2640HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_EnumTokens_Proxy(
2641    ISpObjectTokenCategory* This,
2642    LPCWSTR pzsReqAttribs,
2643    LPCWSTR pszOptAttribs,
2644    IEnumSpObjectTokens **ppEnum);
2645void __RPC_STUB ISpObjectTokenCategory_EnumTokens_Stub(
2646    IRpcStubBuffer* This,
2647    IRpcChannelBuffer* pRpcChannelBuffer,
2648    PRPC_MESSAGE pRpcMessage,
2649    DWORD* pdwStubPhase);
2650HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_SetDefaultTokenId_Proxy(
2651    ISpObjectTokenCategory* This,
2652    LPCWSTR pszTokenId);
2653void __RPC_STUB ISpObjectTokenCategory_SetDefaultTokenId_Stub(
2654    IRpcStubBuffer* This,
2655    IRpcChannelBuffer* pRpcChannelBuffer,
2656    PRPC_MESSAGE pRpcMessage,
2657    DWORD* pdwStubPhase);
2658HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetDefaultTokenId_Proxy(
2659    ISpObjectTokenCategory* This,
2660    LPWSTR *ppszCoMemTokenId);
2661void __RPC_STUB ISpObjectTokenCategory_GetDefaultTokenId_Stub(
2662    IRpcStubBuffer* This,
2663    IRpcChannelBuffer* pRpcChannelBuffer,
2664    PRPC_MESSAGE pRpcMessage,
2665    DWORD* pdwStubPhase);
2666
2667#endif  /* __ISpObjectTokenCategory_INTERFACE_DEFINED__ */
2668
2669/*****************************************************************************
2670 * ISpObjectToken interface
2671 */
2672#ifndef __ISpObjectToken_INTERFACE_DEFINED__
2673#define __ISpObjectToken_INTERFACE_DEFINED__
2674
2675DEFINE_GUID(IID_ISpObjectToken, 0x14056589, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
2676#if defined(__cplusplus) && !defined(CINTERFACE)
2677MIDL_INTERFACE("14056589-e16c-11d2-bb90-00c04f8ee6c0")
2678ISpObjectToken : public ISpDataKey
2679{
2680    virtual HRESULT STDMETHODCALLTYPE SetId(
2681        LPCWSTR pszCategoryId,
2682        LPCWSTR pszTokenId,
2683        WINBOOL fCreateIfNotExist) = 0;
2684
2685    virtual HRESULT STDMETHODCALLTYPE GetId(
2686        LPWSTR *ppszCoMemTokenId) = 0;
2687
2688    virtual HRESULT STDMETHODCALLTYPE GetCategory(
2689        ISpObjectTokenCategory **ppTokenCategory) = 0;
2690
2691    virtual HRESULT STDMETHODCALLTYPE CreateInstance(
2692        IUnknown *pUnkOuter,
2693        DWORD dwClsContext,
2694        REFIID riid,
2695        void **ppvObject) = 0;
2696
2697    virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
2698        REFCLSID clsidCaller,
2699        LPCWSTR pszValueName,
2700        LPCWSTR pszFileNameSpecifier,
2701        ULONG nFolder,
2702        LPWSTR *ppszFilePath) = 0;
2703
2704    virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
2705        REFCLSID clsidCaller,
2706        LPCWSTR pszKeyName,
2707        WINBOOL fDeleteFile) = 0;
2708
2709    virtual HRESULT STDMETHODCALLTYPE Remove(
2710        const CLSID *pclsidCaller) = 0;
2711
2712    virtual HRESULT STDMETHODCALLTYPE IsUISupported(
2713        LPCWSTR pszTypeOfUI,
2714        void *pvExtraData,
2715        ULONG cbExtraData,
2716        IUnknown *punkObject,
2717        WINBOOL *pfSupported) = 0;
2718
2719    virtual HRESULT STDMETHODCALLTYPE DisplayUI(
2720        HWND hwndParent,
2721        LPCWSTR pszTitle,
2722        LPCWSTR pszTypeOfUI,
2723        void *pvExtraData,
2724        ULONG cbExtraData,
2725        IUnknown *punkObject) = 0;
2726
2727    virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
2728        LPCWSTR pszAttributes,
2729        WINBOOL *pfMatches) = 0;
2730
2731};
2732#ifdef __CRT_UUID_DECL
2733__CRT_UUID_DECL(ISpObjectToken, 0x14056589, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
2734#endif
2735#else
2736typedef struct ISpObjectTokenVtbl {
2737    BEGIN_INTERFACE
2738
2739    /*** IUnknown methods ***/
2740    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2741        ISpObjectToken* This,
2742        REFIID riid,
2743        void **ppvObject);
2744
2745    ULONG (STDMETHODCALLTYPE *AddRef)(
2746        ISpObjectToken* This);
2747
2748    ULONG (STDMETHODCALLTYPE *Release)(
2749        ISpObjectToken* This);
2750
2751    /*** ISpDataKey methods ***/
2752    HRESULT (STDMETHODCALLTYPE *SetData)(
2753        ISpObjectToken* This,
2754        LPCWSTR pszValueName,
2755        ULONG cbData,
2756        const BYTE *pData);
2757
2758    HRESULT (STDMETHODCALLTYPE *GetData)(
2759        ISpObjectToken* This,
2760        LPCWSTR pszValueName,
2761        ULONG *pcbData,
2762        BYTE *pData);
2763
2764    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
2765        ISpObjectToken* This,
2766        LPCWSTR pszValueName,
2767        LPCWSTR pszValue);
2768
2769    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
2770        ISpObjectToken* This,
2771        LPCWSTR pszValueName,
2772        LPWSTR *ppszValue);
2773
2774    HRESULT (STDMETHODCALLTYPE *SetDWORD)(
2775        ISpObjectToken* This,
2776        LPCWSTR pszValueName,
2777        DWORD dwValue);
2778
2779    HRESULT (STDMETHODCALLTYPE *GetDWORD)(
2780        ISpObjectToken* This,
2781        LPCWSTR pszValueName,
2782        DWORD *pdwValue);
2783
2784    HRESULT (STDMETHODCALLTYPE *OpenKey)(
2785        ISpObjectToken* This,
2786        LPCWSTR pszSubKeyName,
2787        ISpDataKey **ppSubKey);
2788
2789    HRESULT (STDMETHODCALLTYPE *CreateKey)(
2790        ISpObjectToken* This,
2791        LPCWSTR pszSubKey,
2792        ISpDataKey **ppSubKey);
2793
2794    HRESULT (STDMETHODCALLTYPE *DeleteKey)(
2795        ISpObjectToken* This,
2796        LPCWSTR pszSubKey);
2797
2798    HRESULT (STDMETHODCALLTYPE *DeleteValue)(
2799        ISpObjectToken* This,
2800        LPCWSTR pszValueName);
2801
2802    HRESULT (STDMETHODCALLTYPE *EnumKeys)(
2803        ISpObjectToken* This,
2804        ULONG Index,
2805        LPWSTR *ppszSubKeyName);
2806
2807    HRESULT (STDMETHODCALLTYPE *EnumValues)(
2808        ISpObjectToken* This,
2809        ULONG Index,
2810        LPWSTR *ppszValueName);
2811
2812    /*** ISpObjectToken methods ***/
2813    HRESULT (STDMETHODCALLTYPE *SetId)(
2814        ISpObjectToken* This,
2815        LPCWSTR pszCategoryId,
2816        LPCWSTR pszTokenId,
2817        WINBOOL fCreateIfNotExist);
2818
2819    HRESULT (STDMETHODCALLTYPE *GetId)(
2820        ISpObjectToken* This,
2821        LPWSTR *ppszCoMemTokenId);
2822
2823    HRESULT (STDMETHODCALLTYPE *GetCategory)(
2824        ISpObjectToken* This,
2825        ISpObjectTokenCategory **ppTokenCategory);
2826
2827    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
2828        ISpObjectToken* This,
2829        IUnknown *pUnkOuter,
2830        DWORD dwClsContext,
2831        REFIID riid,
2832        void **ppvObject);
2833
2834    HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
2835        ISpObjectToken* This,
2836        REFCLSID clsidCaller,
2837        LPCWSTR pszValueName,
2838        LPCWSTR pszFileNameSpecifier,
2839        ULONG nFolder,
2840        LPWSTR *ppszFilePath);
2841
2842    HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
2843        ISpObjectToken* This,
2844        REFCLSID clsidCaller,
2845        LPCWSTR pszKeyName,
2846        WINBOOL fDeleteFile);
2847
2848    HRESULT (STDMETHODCALLTYPE *Remove)(
2849        ISpObjectToken* This,
2850        const CLSID *pclsidCaller);
2851
2852    HRESULT (STDMETHODCALLTYPE *IsUISupported)(
2853        ISpObjectToken* This,
2854        LPCWSTR pszTypeOfUI,
2855        void *pvExtraData,
2856        ULONG cbExtraData,
2857        IUnknown *punkObject,
2858        WINBOOL *pfSupported);
2859
2860    HRESULT (STDMETHODCALLTYPE *DisplayUI)(
2861        ISpObjectToken* This,
2862        HWND hwndParent,
2863        LPCWSTR pszTitle,
2864        LPCWSTR pszTypeOfUI,
2865        void *pvExtraData,
2866        ULONG cbExtraData,
2867        IUnknown *punkObject);
2868
2869    HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
2870        ISpObjectToken* This,
2871        LPCWSTR pszAttributes,
2872        WINBOOL *pfMatches);
2873
2874    END_INTERFACE
2875} ISpObjectTokenVtbl;
2876interface ISpObjectToken {
2877    CONST_VTBL ISpObjectTokenVtbl* lpVtbl;
2878};
2879
2880#ifdef COBJMACROS
2881#ifndef WIDL_C_INLINE_WRAPPERS
2882/*** IUnknown methods ***/
2883#define ISpObjectToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2884#define ISpObjectToken_AddRef(This) (This)->lpVtbl->AddRef(This)
2885#define ISpObjectToken_Release(This) (This)->lpVtbl->Release(This)
2886/*** ISpDataKey methods ***/
2887#define ISpObjectToken_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
2888#define ISpObjectToken_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
2889#define ISpObjectToken_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
2890#define ISpObjectToken_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
2891#define ISpObjectToken_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
2892#define ISpObjectToken_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
2893#define ISpObjectToken_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
2894#define ISpObjectToken_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
2895#define ISpObjectToken_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
2896#define ISpObjectToken_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
2897#define ISpObjectToken_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
2898#define ISpObjectToken_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
2899/*** ISpObjectToken methods ***/
2900#define ISpObjectToken_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
2901#define ISpObjectToken_GetId(This,ppszCoMemTokenId) (This)->lpVtbl->GetId(This,ppszCoMemTokenId)
2902#define ISpObjectToken_GetCategory(This,ppTokenCategory) (This)->lpVtbl->GetCategory(This,ppTokenCategory)
2903#define ISpObjectToken_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
2904#define ISpObjectToken_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) (This)->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
2905#define ISpObjectToken_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
2906#define ISpObjectToken_Remove(This,pclsidCaller) (This)->lpVtbl->Remove(This,pclsidCaller)
2907#define ISpObjectToken_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
2908#define ISpObjectToken_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
2909#define ISpObjectToken_MatchesAttributes(This,pszAttributes,pfMatches) (This)->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches)
2910#else
2911/*** IUnknown methods ***/
2912static FORCEINLINE HRESULT ISpObjectToken_QueryInterface(ISpObjectToken* This,REFIID riid,void **ppvObject) {
2913    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2914}
2915static FORCEINLINE ULONG ISpObjectToken_AddRef(ISpObjectToken* This) {
2916    return This->lpVtbl->AddRef(This);
2917}
2918static FORCEINLINE ULONG ISpObjectToken_Release(ISpObjectToken* This) {
2919    return This->lpVtbl->Release(This);
2920}
2921/*** ISpDataKey methods ***/
2922static FORCEINLINE HRESULT ISpObjectToken_SetData(ISpObjectToken* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
2923    return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
2924}
2925static FORCEINLINE HRESULT ISpObjectToken_GetData(ISpObjectToken* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
2926    return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
2927}
2928static FORCEINLINE HRESULT ISpObjectToken_SetStringValue(ISpObjectToken* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
2929    return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
2930}
2931static FORCEINLINE HRESULT ISpObjectToken_GetStringValue(ISpObjectToken* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
2932    return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
2933}
2934static FORCEINLINE HRESULT ISpObjectToken_SetDWORD(ISpObjectToken* This,LPCWSTR pszValueName,DWORD dwValue) {
2935    return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
2936}
2937static FORCEINLINE HRESULT ISpObjectToken_GetDWORD(ISpObjectToken* This,LPCWSTR pszValueName,DWORD *pdwValue) {
2938    return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
2939}
2940static FORCEINLINE HRESULT ISpObjectToken_OpenKey(ISpObjectToken* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
2941    return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
2942}
2943static FORCEINLINE HRESULT ISpObjectToken_CreateKey(ISpObjectToken* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
2944    return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
2945}
2946static FORCEINLINE HRESULT ISpObjectToken_DeleteKey(ISpObjectToken* This,LPCWSTR pszSubKey) {
2947    return This->lpVtbl->DeleteKey(This,pszSubKey);
2948}
2949static FORCEINLINE HRESULT ISpObjectToken_DeleteValue(ISpObjectToken* This,LPCWSTR pszValueName) {
2950    return This->lpVtbl->DeleteValue(This,pszValueName);
2951}
2952static FORCEINLINE HRESULT ISpObjectToken_EnumKeys(ISpObjectToken* This,ULONG Index,LPWSTR *ppszSubKeyName) {
2953    return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
2954}
2955static FORCEINLINE HRESULT ISpObjectToken_EnumValues(ISpObjectToken* This,ULONG Index,LPWSTR *ppszValueName) {
2956    return This->lpVtbl->EnumValues(This,Index,ppszValueName);
2957}
2958/*** ISpObjectToken methods ***/
2959static FORCEINLINE HRESULT ISpObjectToken_SetId(ISpObjectToken* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,WINBOOL fCreateIfNotExist) {
2960    return This->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist);
2961}
2962static FORCEINLINE HRESULT ISpObjectToken_GetId(ISpObjectToken* This,LPWSTR *ppszCoMemTokenId) {
2963    return This->lpVtbl->GetId(This,ppszCoMemTokenId);
2964}
2965static FORCEINLINE HRESULT ISpObjectToken_GetCategory(ISpObjectToken* This,ISpObjectTokenCategory **ppTokenCategory) {
2966    return This->lpVtbl->GetCategory(This,ppTokenCategory);
2967}
2968static FORCEINLINE HRESULT ISpObjectToken_CreateInstance(ISpObjectToken* This,IUnknown *pUnkOuter,DWORD dwClsContext,REFIID riid,void **ppvObject) {
2969    return This->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject);
2970}
2971static FORCEINLINE HRESULT ISpObjectToken_GetStorageFileName(ISpObjectToken* This,REFCLSID clsidCaller,LPCWSTR pszValueName,LPCWSTR pszFileNameSpecifier,ULONG nFolder,LPWSTR *ppszFilePath) {
2972    return This->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath);
2973}
2974static FORCEINLINE HRESULT ISpObjectToken_RemoveStorageFileName(ISpObjectToken* This,REFCLSID clsidCaller,LPCWSTR pszKeyName,WINBOOL fDeleteFile) {
2975    return This->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile);
2976}
2977static FORCEINLINE HRESULT ISpObjectToken_Remove(ISpObjectToken* This,const CLSID *pclsidCaller) {
2978    return This->lpVtbl->Remove(This,pclsidCaller);
2979}
2980static FORCEINLINE HRESULT ISpObjectToken_IsUISupported(ISpObjectToken* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject,WINBOOL *pfSupported) {
2981    return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported);
2982}
2983static FORCEINLINE HRESULT ISpObjectToken_DisplayUI(ISpObjectToken* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject) {
2984    return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject);
2985}
2986static FORCEINLINE HRESULT ISpObjectToken_MatchesAttributes(ISpObjectToken* This,LPCWSTR pszAttributes,WINBOOL *pfMatches) {
2987    return This->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches);
2988}
2989#endif
2990#endif
2991
2992#endif
2993
2994HRESULT STDMETHODCALLTYPE ISpObjectToken_SetId_Proxy(
2995    ISpObjectToken* This,
2996    LPCWSTR pszCategoryId,
2997    LPCWSTR pszTokenId,
2998    WINBOOL fCreateIfNotExist);
2999void __RPC_STUB ISpObjectToken_SetId_Stub(
3000    IRpcStubBuffer* This,
3001    IRpcChannelBuffer* pRpcChannelBuffer,
3002    PRPC_MESSAGE pRpcMessage,
3003    DWORD* pdwStubPhase);
3004HRESULT STDMETHODCALLTYPE ISpObjectToken_GetId_Proxy(
3005    ISpObjectToken* This,
3006    LPWSTR *ppszCoMemTokenId);
3007void __RPC_STUB ISpObjectToken_GetId_Stub(
3008    IRpcStubBuffer* This,
3009    IRpcChannelBuffer* pRpcChannelBuffer,
3010    PRPC_MESSAGE pRpcMessage,
3011    DWORD* pdwStubPhase);
3012HRESULT STDMETHODCALLTYPE ISpObjectToken_GetCategory_Proxy(
3013    ISpObjectToken* This,
3014    ISpObjectTokenCategory **ppTokenCategory);
3015void __RPC_STUB ISpObjectToken_GetCategory_Stub(
3016    IRpcStubBuffer* This,
3017    IRpcChannelBuffer* pRpcChannelBuffer,
3018    PRPC_MESSAGE pRpcMessage,
3019    DWORD* pdwStubPhase);
3020HRESULT STDMETHODCALLTYPE ISpObjectToken_CreateInstance_Proxy(
3021    ISpObjectToken* This,
3022    IUnknown *pUnkOuter,
3023    DWORD dwClsContext,
3024    REFIID riid,
3025    void **ppvObject);
3026void __RPC_STUB ISpObjectToken_CreateInstance_Stub(
3027    IRpcStubBuffer* This,
3028    IRpcChannelBuffer* pRpcChannelBuffer,
3029    PRPC_MESSAGE pRpcMessage,
3030    DWORD* pdwStubPhase);
3031HRESULT STDMETHODCALLTYPE ISpObjectToken_GetStorageFileName_Proxy(
3032    ISpObjectToken* This,
3033    REFCLSID clsidCaller,
3034    LPCWSTR pszValueName,
3035    LPCWSTR pszFileNameSpecifier,
3036    ULONG nFolder,
3037    LPWSTR *ppszFilePath);
3038void __RPC_STUB ISpObjectToken_GetStorageFileName_Stub(
3039    IRpcStubBuffer* This,
3040    IRpcChannelBuffer* pRpcChannelBuffer,
3041    PRPC_MESSAGE pRpcMessage,
3042    DWORD* pdwStubPhase);
3043HRESULT STDMETHODCALLTYPE ISpObjectToken_RemoveStorageFileName_Proxy(
3044    ISpObjectToken* This,
3045    REFCLSID clsidCaller,
3046    LPCWSTR pszKeyName,
3047    WINBOOL fDeleteFile);
3048void __RPC_STUB ISpObjectToken_RemoveStorageFileName_Stub(
3049    IRpcStubBuffer* This,
3050    IRpcChannelBuffer* pRpcChannelBuffer,
3051    PRPC_MESSAGE pRpcMessage,
3052    DWORD* pdwStubPhase);
3053HRESULT STDMETHODCALLTYPE ISpObjectToken_Remove_Proxy(
3054    ISpObjectToken* This,
3055    const CLSID *pclsidCaller);
3056void __RPC_STUB ISpObjectToken_Remove_Stub(
3057    IRpcStubBuffer* This,
3058    IRpcChannelBuffer* pRpcChannelBuffer,
3059    PRPC_MESSAGE pRpcMessage,
3060    DWORD* pdwStubPhase);
3061HRESULT STDMETHODCALLTYPE ISpObjectToken_MatchesAttributes_Proxy(
3062    ISpObjectToken* This,
3063    LPCWSTR pszAttributes,
3064    WINBOOL *pfMatches);
3065void __RPC_STUB ISpObjectToken_MatchesAttributes_Stub(
3066    IRpcStubBuffer* This,
3067    IRpcChannelBuffer* pRpcChannelBuffer,
3068    PRPC_MESSAGE pRpcMessage,
3069    DWORD* pdwStubPhase);
3070
3071#endif  /* __ISpObjectToken_INTERFACE_DEFINED__ */
3072
3073/*****************************************************************************
3074 * ISpObjectTokenInit interface
3075 */
3076#ifndef __ISpObjectTokenInit_INTERFACE_DEFINED__
3077#define __ISpObjectTokenInit_INTERFACE_DEFINED__
3078
3079DEFINE_GUID(IID_ISpObjectTokenInit, 0xb8aab0cf, 0x346f, 0x49d8, 0x94,0x99, 0xc8,0xb0,0x3f,0x16,0x1d,0x51);
3080#if defined(__cplusplus) && !defined(CINTERFACE)
3081MIDL_INTERFACE("b8aab0cf-346f-49d8-9499-c8b03f161d51")
3082ISpObjectTokenInit : public ISpObjectToken
3083{
3084    virtual HRESULT STDMETHODCALLTYPE InitFromDataKey(
3085        LPCWSTR pszCategoryId,
3086        LPCWSTR pszTokenId,
3087        ISpDataKey *pDataKey) = 0;
3088
3089};
3090#ifdef __CRT_UUID_DECL
3091__CRT_UUID_DECL(ISpObjectTokenInit, 0xb8aab0cf, 0x346f, 0x49d8, 0x94,0x99, 0xc8,0xb0,0x3f,0x16,0x1d,0x51)
3092#endif
3093#else
3094typedef struct ISpObjectTokenInitVtbl {
3095    BEGIN_INTERFACE
3096
3097    /*** IUnknown methods ***/
3098    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3099        ISpObjectTokenInit* This,
3100        REFIID riid,
3101        void **ppvObject);
3102
3103    ULONG (STDMETHODCALLTYPE *AddRef)(
3104        ISpObjectTokenInit* This);
3105
3106    ULONG (STDMETHODCALLTYPE *Release)(
3107        ISpObjectTokenInit* This);
3108
3109    /*** ISpDataKey methods ***/
3110    HRESULT (STDMETHODCALLTYPE *SetData)(
3111        ISpObjectTokenInit* This,
3112        LPCWSTR pszValueName,
3113        ULONG cbData,
3114        const BYTE *pData);
3115
3116    HRESULT (STDMETHODCALLTYPE *GetData)(
3117        ISpObjectTokenInit* This,
3118        LPCWSTR pszValueName,
3119        ULONG *pcbData,
3120        BYTE *pData);
3121
3122    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
3123        ISpObjectTokenInit* This,
3124        LPCWSTR pszValueName,
3125        LPCWSTR pszValue);
3126
3127    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
3128        ISpObjectTokenInit* This,
3129        LPCWSTR pszValueName,
3130        LPWSTR *ppszValue);
3131
3132    HRESULT (STDMETHODCALLTYPE *SetDWORD)(
3133        ISpObjectTokenInit* This,
3134        LPCWSTR pszValueName,
3135        DWORD dwValue);
3136
3137    HRESULT (STDMETHODCALLTYPE *GetDWORD)(
3138        ISpObjectTokenInit* This,
3139        LPCWSTR pszValueName,
3140        DWORD *pdwValue);
3141
3142    HRESULT (STDMETHODCALLTYPE *OpenKey)(
3143        ISpObjectTokenInit* This,
3144        LPCWSTR pszSubKeyName,
3145        ISpDataKey **ppSubKey);
3146
3147    HRESULT (STDMETHODCALLTYPE *CreateKey)(
3148        ISpObjectTokenInit* This,
3149        LPCWSTR pszSubKey,
3150        ISpDataKey **ppSubKey);
3151
3152    HRESULT (STDMETHODCALLTYPE *DeleteKey)(
3153        ISpObjectTokenInit* This,
3154        LPCWSTR pszSubKey);
3155
3156    HRESULT (STDMETHODCALLTYPE *DeleteValue)(
3157        ISpObjectTokenInit* This,
3158        LPCWSTR pszValueName);
3159
3160    HRESULT (STDMETHODCALLTYPE *EnumKeys)(
3161        ISpObjectTokenInit* This,
3162        ULONG Index,
3163        LPWSTR *ppszSubKeyName);
3164
3165    HRESULT (STDMETHODCALLTYPE *EnumValues)(
3166        ISpObjectTokenInit* This,
3167        ULONG Index,
3168        LPWSTR *ppszValueName);
3169
3170    /*** ISpObjectToken methods ***/
3171    HRESULT (STDMETHODCALLTYPE *SetId)(
3172        ISpObjectTokenInit* This,
3173        LPCWSTR pszCategoryId,
3174        LPCWSTR pszTokenId,
3175        WINBOOL fCreateIfNotExist);
3176
3177    HRESULT (STDMETHODCALLTYPE *GetId)(
3178        ISpObjectTokenInit* This,
3179        LPWSTR *ppszCoMemTokenId);
3180
3181    HRESULT (STDMETHODCALLTYPE *GetCategory)(
3182        ISpObjectTokenInit* This,
3183        ISpObjectTokenCategory **ppTokenCategory);
3184
3185    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
3186        ISpObjectTokenInit* This,
3187        IUnknown *pUnkOuter,
3188        DWORD dwClsContext,
3189        REFIID riid,
3190        void **ppvObject);
3191
3192    HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
3193        ISpObjectTokenInit* This,
3194        REFCLSID clsidCaller,
3195        LPCWSTR pszValueName,
3196        LPCWSTR pszFileNameSpecifier,
3197        ULONG nFolder,
3198        LPWSTR *ppszFilePath);
3199
3200    HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
3201        ISpObjectTokenInit* This,
3202        REFCLSID clsidCaller,
3203        LPCWSTR pszKeyName,
3204        WINBOOL fDeleteFile);
3205
3206    HRESULT (STDMETHODCALLTYPE *Remove)(
3207        ISpObjectTokenInit* This,
3208        const CLSID *pclsidCaller);
3209
3210    HRESULT (STDMETHODCALLTYPE *IsUISupported)(
3211        ISpObjectTokenInit* This,
3212        LPCWSTR pszTypeOfUI,
3213        void *pvExtraData,
3214        ULONG cbExtraData,
3215        IUnknown *punkObject,
3216        WINBOOL *pfSupported);
3217
3218    HRESULT (STDMETHODCALLTYPE *DisplayUI)(
3219        ISpObjectTokenInit* This,
3220        HWND hwndParent,
3221        LPCWSTR pszTitle,
3222        LPCWSTR pszTypeOfUI,
3223        void *pvExtraData,
3224        ULONG cbExtraData,
3225        IUnknown *punkObject);
3226
3227    HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
3228        ISpObjectTokenInit* This,
3229        LPCWSTR pszAttributes,
3230        WINBOOL *pfMatches);
3231
3232    /*** ISpObjectTokenInit methods ***/
3233    HRESULT (STDMETHODCALLTYPE *InitFromDataKey)(
3234        ISpObjectTokenInit* This,
3235        LPCWSTR pszCategoryId,
3236        LPCWSTR pszTokenId,
3237        ISpDataKey *pDataKey);
3238
3239    END_INTERFACE
3240} ISpObjectTokenInitVtbl;
3241interface ISpObjectTokenInit {
3242    CONST_VTBL ISpObjectTokenInitVtbl* lpVtbl;
3243};
3244
3245#ifdef COBJMACROS
3246#ifndef WIDL_C_INLINE_WRAPPERS
3247/*** IUnknown methods ***/
3248#define ISpObjectTokenInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3249#define ISpObjectTokenInit_AddRef(This) (This)->lpVtbl->AddRef(This)
3250#define ISpObjectTokenInit_Release(This) (This)->lpVtbl->Release(This)
3251/*** ISpDataKey methods ***/
3252#define ISpObjectTokenInit_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
3253#define ISpObjectTokenInit_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
3254#define ISpObjectTokenInit_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
3255#define ISpObjectTokenInit_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
3256#define ISpObjectTokenInit_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
3257#define ISpObjectTokenInit_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
3258#define ISpObjectTokenInit_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
3259#define ISpObjectTokenInit_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
3260#define ISpObjectTokenInit_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
3261#define ISpObjectTokenInit_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
3262#define ISpObjectTokenInit_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
3263#define ISpObjectTokenInit_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
3264/*** ISpObjectToken methods ***/
3265#define ISpObjectTokenInit_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
3266#define ISpObjectTokenInit_GetId(This,ppszCoMemTokenId) (This)->lpVtbl->GetId(This,ppszCoMemTokenId)
3267#define ISpObjectTokenInit_GetCategory(This,ppTokenCategory) (This)->lpVtbl->GetCategory(This,ppTokenCategory)
3268#define ISpObjectTokenInit_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
3269#define ISpObjectTokenInit_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) (This)->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
3270#define ISpObjectTokenInit_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
3271#define ISpObjectTokenInit_Remove(This,pclsidCaller) (This)->lpVtbl->Remove(This,pclsidCaller)
3272#define ISpObjectTokenInit_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
3273#define ISpObjectTokenInit_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
3274#define ISpObjectTokenInit_MatchesAttributes(This,pszAttributes,pfMatches) (This)->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches)
3275/*** ISpObjectTokenInit methods ***/
3276#define ISpObjectTokenInit_InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey) (This)->lpVtbl->InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey)
3277#else
3278/*** IUnknown methods ***/
3279static FORCEINLINE HRESULT ISpObjectTokenInit_QueryInterface(ISpObjectTokenInit* This,REFIID riid,void **ppvObject) {
3280    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3281}
3282static FORCEINLINE ULONG ISpObjectTokenInit_AddRef(ISpObjectTokenInit* This) {
3283    return This->lpVtbl->AddRef(This);
3284}
3285static FORCEINLINE ULONG ISpObjectTokenInit_Release(ISpObjectTokenInit* This) {
3286    return This->lpVtbl->Release(This);
3287}
3288/*** ISpDataKey methods ***/
3289static FORCEINLINE HRESULT ISpObjectTokenInit_SetData(ISpObjectTokenInit* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
3290    return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
3291}
3292static FORCEINLINE HRESULT ISpObjectTokenInit_GetData(ISpObjectTokenInit* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
3293    return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
3294}
3295static FORCEINLINE HRESULT ISpObjectTokenInit_SetStringValue(ISpObjectTokenInit* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
3296    return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
3297}
3298static FORCEINLINE HRESULT ISpObjectTokenInit_GetStringValue(ISpObjectTokenInit* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
3299    return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
3300}
3301static FORCEINLINE HRESULT ISpObjectTokenInit_SetDWORD(ISpObjectTokenInit* This,LPCWSTR pszValueName,DWORD dwValue) {
3302    return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
3303}
3304static FORCEINLINE HRESULT ISpObjectTokenInit_GetDWORD(ISpObjectTokenInit* This,LPCWSTR pszValueName,DWORD *pdwValue) {
3305    return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
3306}
3307static FORCEINLINE HRESULT ISpObjectTokenInit_OpenKey(ISpObjectTokenInit* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
3308    return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
3309}
3310static FORCEINLINE HRESULT ISpObjectTokenInit_CreateKey(ISpObjectTokenInit* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
3311    return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
3312}
3313static FORCEINLINE HRESULT ISpObjectTokenInit_DeleteKey(ISpObjectTokenInit* This,LPCWSTR pszSubKey) {
3314    return This->lpVtbl->DeleteKey(This,pszSubKey);
3315}
3316static FORCEINLINE HRESULT ISpObjectTokenInit_DeleteValue(ISpObjectTokenInit* This,LPCWSTR pszValueName) {
3317    return This->lpVtbl->DeleteValue(This,pszValueName);
3318}
3319static FORCEINLINE HRESULT ISpObjectTokenInit_EnumKeys(ISpObjectTokenInit* This,ULONG Index,LPWSTR *ppszSubKeyName) {
3320    return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
3321}
3322static FORCEINLINE HRESULT ISpObjectTokenInit_EnumValues(ISpObjectTokenInit* This,ULONG Index,LPWSTR *ppszValueName) {
3323    return This->lpVtbl->EnumValues(This,Index,ppszValueName);
3324}
3325/*** ISpObjectToken methods ***/
3326static FORCEINLINE HRESULT ISpObjectTokenInit_SetId(ISpObjectTokenInit* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,WINBOOL fCreateIfNotExist) {
3327    return This->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist);
3328}
3329static FORCEINLINE HRESULT ISpObjectTokenInit_GetId(ISpObjectTokenInit* This,LPWSTR *ppszCoMemTokenId) {
3330    return This->lpVtbl->GetId(This,ppszCoMemTokenId);
3331}
3332static FORCEINLINE HRESULT ISpObjectTokenInit_GetCategory(ISpObjectTokenInit* This,ISpObjectTokenCategory **ppTokenCategory) {
3333    return This->lpVtbl->GetCategory(This,ppTokenCategory);
3334}
3335static FORCEINLINE HRESULT ISpObjectTokenInit_CreateInstance(ISpObjectTokenInit* This,IUnknown *pUnkOuter,DWORD dwClsContext,REFIID riid,void **ppvObject) {
3336    return This->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject);
3337}
3338static FORCEINLINE HRESULT ISpObjectTokenInit_GetStorageFileName(ISpObjectTokenInit* This,REFCLSID clsidCaller,LPCWSTR pszValueName,LPCWSTR pszFileNameSpecifier,ULONG nFolder,LPWSTR *ppszFilePath) {
3339    return This->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath);
3340}
3341static FORCEINLINE HRESULT ISpObjectTokenInit_RemoveStorageFileName(ISpObjectTokenInit* This,REFCLSID clsidCaller,LPCWSTR pszKeyName,WINBOOL fDeleteFile) {
3342    return This->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile);
3343}
3344static FORCEINLINE HRESULT ISpObjectTokenInit_Remove(ISpObjectTokenInit* This,const CLSID *pclsidCaller) {
3345    return This->lpVtbl->Remove(This,pclsidCaller);
3346}
3347static FORCEINLINE HRESULT ISpObjectTokenInit_IsUISupported(ISpObjectTokenInit* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject,WINBOOL *pfSupported) {
3348    return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported);
3349}
3350static FORCEINLINE HRESULT ISpObjectTokenInit_DisplayUI(ISpObjectTokenInit* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject) {
3351    return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject);
3352}
3353static FORCEINLINE HRESULT ISpObjectTokenInit_MatchesAttributes(ISpObjectTokenInit* This,LPCWSTR pszAttributes,WINBOOL *pfMatches) {
3354    return This->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches);
3355}
3356/*** ISpObjectTokenInit methods ***/
3357static FORCEINLINE HRESULT ISpObjectTokenInit_InitFromDataKey(ISpObjectTokenInit* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,ISpDataKey *pDataKey) {
3358    return This->lpVtbl->InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey);
3359}
3360#endif
3361#endif
3362
3363#endif
3364
3365HRESULT STDMETHODCALLTYPE ISpObjectTokenInit_InitFromDataKey_Proxy(
3366    ISpObjectTokenInit* This,
3367    LPCWSTR pszCategoryId,
3368    LPCWSTR pszTokenId,
3369    ISpDataKey *pDataKey);
3370void __RPC_STUB ISpObjectTokenInit_InitFromDataKey_Stub(
3371    IRpcStubBuffer* This,
3372    IRpcChannelBuffer* pRpcChannelBuffer,
3373    PRPC_MESSAGE pRpcMessage,
3374    DWORD* pdwStubPhase);
3375
3376#endif  /* __ISpObjectTokenInit_INTERFACE_DEFINED__ */
3377
3378/*****************************************************************************
3379 * ISpResourceManager interface
3380 */
3381#ifndef __ISpResourceManager_INTERFACE_DEFINED__
3382#define __ISpResourceManager_INTERFACE_DEFINED__
3383
3384DEFINE_GUID(IID_ISpResourceManager, 0x93384e18, 0x5014, 0x43d5, 0xad,0xbb, 0xa7,0x8e,0x05,0x59,0x26,0xbd);
3385#if defined(__cplusplus) && !defined(CINTERFACE)
3386MIDL_INTERFACE("93384e18-5014-43d5-adbb-a78e055926bd")
3387ISpResourceManager : public IServiceProvider
3388{
3389    virtual HRESULT STDMETHODCALLTYPE SetObject(
3390        REFGUID guidServiceId,
3391        IUnknown *pUnkObject) = 0;
3392
3393    virtual HRESULT STDMETHODCALLTYPE GetObject(
3394        REFGUID guidServiceId,
3395        REFCLSID ObjectCLSID,
3396        REFIID ObjectIID,
3397        WINBOOL fReleaseWhenLastExternalRefReleased,
3398        void **ppObject) = 0;
3399
3400};
3401#ifdef __CRT_UUID_DECL
3402__CRT_UUID_DECL(ISpResourceManager, 0x93384e18, 0x5014, 0x43d5, 0xad,0xbb, 0xa7,0x8e,0x05,0x59,0x26,0xbd)
3403#endif
3404#else
3405typedef struct ISpResourceManagerVtbl {
3406    BEGIN_INTERFACE
3407
3408    /*** IUnknown methods ***/
3409    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3410        ISpResourceManager* This,
3411        REFIID riid,
3412        void **ppvObject);
3413
3414    ULONG (STDMETHODCALLTYPE *AddRef)(
3415        ISpResourceManager* This);
3416
3417    ULONG (STDMETHODCALLTYPE *Release)(
3418        ISpResourceManager* This);
3419
3420    /*** IServiceProvider methods ***/
3421    HRESULT (STDMETHODCALLTYPE *QueryService)(
3422        ISpResourceManager* This,
3423        REFGUID guidService,
3424        REFIID riid,
3425        void **ppvObject);
3426
3427    /*** ISpResourceManager methods ***/
3428    HRESULT (STDMETHODCALLTYPE *SetObject)(
3429        ISpResourceManager* This,
3430        REFGUID guidServiceId,
3431        IUnknown *pUnkObject);
3432
3433    HRESULT (STDMETHODCALLTYPE *GetObject)(
3434        ISpResourceManager* This,
3435        REFGUID guidServiceId,
3436        REFCLSID ObjectCLSID,
3437        REFIID ObjectIID,
3438        WINBOOL fReleaseWhenLastExternalRefReleased,
3439        void **ppObject);
3440
3441    END_INTERFACE
3442} ISpResourceManagerVtbl;
3443interface ISpResourceManager {
3444    CONST_VTBL ISpResourceManagerVtbl* lpVtbl;
3445};
3446
3447#ifdef COBJMACROS
3448#ifndef WIDL_C_INLINE_WRAPPERS
3449/*** IUnknown methods ***/
3450#define ISpResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3451#define ISpResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
3452#define ISpResourceManager_Release(This) (This)->lpVtbl->Release(This)
3453/*** IServiceProvider methods ***/
3454#define ISpResourceManager_QueryService(This,guidService,riid,ppvObject) (This)->lpVtbl->QueryService(This,guidService,riid,ppvObject)
3455/*** ISpResourceManager methods ***/
3456#define ISpResourceManager_SetObject(This,guidServiceId,pUnkObject) (This)->lpVtbl->SetObject(This,guidServiceId,pUnkObject)
3457#define ISpResourceManager_GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject) (This)->lpVtbl->GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)
3458#else
3459/*** IUnknown methods ***/
3460static FORCEINLINE HRESULT ISpResourceManager_QueryInterface(ISpResourceManager* This,REFIID riid,void **ppvObject) {
3461    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3462}
3463static FORCEINLINE ULONG ISpResourceManager_AddRef(ISpResourceManager* This) {
3464    return This->lpVtbl->AddRef(This);
3465}
3466static FORCEINLINE ULONG ISpResourceManager_Release(ISpResourceManager* This) {
3467    return This->lpVtbl->Release(This);
3468}
3469/*** IServiceProvider methods ***/
3470static FORCEINLINE HRESULT ISpResourceManager_QueryService(ISpResourceManager* This,REFGUID guidService,REFIID riid,void **ppvObject) {
3471    return This->lpVtbl->QueryService(This,guidService,riid,ppvObject);
3472}
3473/*** ISpResourceManager methods ***/
3474static FORCEINLINE HRESULT ISpResourceManager_SetObject(ISpResourceManager* This,REFGUID guidServiceId,IUnknown *pUnkObject) {
3475    return This->lpVtbl->SetObject(This,guidServiceId,pUnkObject);
3476}
3477static FORCEINLINE HRESULT ISpResourceManager_GetObject(ISpResourceManager* This,REFGUID guidServiceId,REFCLSID ObjectCLSID,REFIID ObjectIID,WINBOOL fReleaseWhenLastExternalRefReleased,void **ppObject) {
3478    return This->lpVtbl->GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject);
3479}
3480#endif
3481#endif
3482
3483#endif
3484
3485HRESULT STDMETHODCALLTYPE ISpResourceManager_SetObject_Proxy(
3486    ISpResourceManager* This,
3487    REFGUID guidServiceId,
3488    IUnknown *pUnkObject);
3489void __RPC_STUB ISpResourceManager_SetObject_Stub(
3490    IRpcStubBuffer* This,
3491    IRpcChannelBuffer* pRpcChannelBuffer,
3492    PRPC_MESSAGE pRpcMessage,
3493    DWORD* pdwStubPhase);
3494HRESULT STDMETHODCALLTYPE ISpResourceManager_GetObject_Proxy(
3495    ISpResourceManager* This,
3496    REFGUID guidServiceId,
3497    REFCLSID ObjectCLSID,
3498    REFIID ObjectIID,
3499    WINBOOL fReleaseWhenLastExternalRefReleased,
3500    void **ppObject);
3501void __RPC_STUB ISpResourceManager_GetObject_Stub(
3502    IRpcStubBuffer* This,
3503    IRpcChannelBuffer* pRpcChannelBuffer,
3504    PRPC_MESSAGE pRpcMessage,
3505    DWORD* pdwStubPhase);
3506
3507#endif  /* __ISpResourceManager_INTERFACE_DEFINED__ */
3508
3509#if 0
3510typedef struct SPEVENT {
3511    WORD eEventId;
3512    WORD elParamType;
3513    ULONG ulStreamNum;
3514    ULONGLONG ullAudioStreamOffset;
3515    WPARAM wParam;
3516    LPARAM lParam;
3517} SPEVENT;
3518typedef struct SPSERIALIZEDEVENT {
3519    WORD eEventId;
3520    WORD elParamType;
3521    ULONG ulStreamNum;
3522    ULONGLONG ullAudioStreamOffset;
3523    ULONG SerializedwParam;
3524    LONG SerializedlParam;
3525} SPSERIALIZEDEVENT;
3526typedef struct SPSERIALIZEDEVENT64 {
3527    WORD eEventId;
3528    WORD elParamType;
3529    ULONG ulStreamNum;
3530    ULONGLONG ullAudioStreamOffset;
3531    ULONGLONG SerializedwParam;
3532    LONGLONG SerializedlParam;
3533} SPSERIALIZEDEVENT64;
3534#else
3535typedef struct SPEVENT {
3536  SPEVENTENUM eEventId : 16;
3537  SPEVENTLPARAMTYPE elParamType : 16;
3538  ULONG ulStreamNum;
3539  ULONGLONG ullAudioStreamOffset;
3540  WPARAM      wParam;
3541  LPARAM      lParam;
3542} SPEVENT;
3543
3544typedef struct SPSERIALIZEDEVENT {
3545  SPEVENTENUM eEventId : 16;
3546  SPEVENTLPARAMTYPE elParamType : 16;
3547  ULONG ulStreamNum;
3548  ULONGLONG ullAudioStreamOffset;
3549  ULONG SerializedwParam;
3550  LONG SerializedlParam;
3551} SPSERIALIZEDEVENT;
3552
3553typedef struct SPSERIALIZEDEVENT64 {
3554  SPEVENTENUM eEventId : 16;
3555  SPEVENTLPARAMTYPE elParamType : 16;
3556  ULONG ulStreamNum;
3557  ULONGLONG ullAudioStreamOffset;
3558  ULONGLONG SerializedwParam;
3559  LONGLONG SerializedlParam;
3560} SPSERIALIZEDEVENT64;
3561#endif
3562typedef struct SPEVENTSOURCEINFO {
3563    ULONGLONG ullEventInterest;
3564    ULONGLONG ullQueuedInterest;
3565    ULONG ulCount;
3566} SPEVENTSOURCEINFO;
3567/*****************************************************************************
3568 * ISpEventSource interface
3569 */
3570#ifndef __ISpEventSource_INTERFACE_DEFINED__
3571#define __ISpEventSource_INTERFACE_DEFINED__
3572
3573DEFINE_GUID(IID_ISpEventSource, 0xbe7a9cce, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
3574#if defined(__cplusplus) && !defined(CINTERFACE)
3575MIDL_INTERFACE("be7a9cce-5f9e-11d2-960f-00c04f8ee628")
3576ISpEventSource : public ISpNotifySource
3577{
3578    virtual HRESULT STDMETHODCALLTYPE SetInterest(
3579        ULONGLONG ullEventInterest,
3580        ULONGLONG ullQueuedInterest) = 0;
3581
3582    virtual HRESULT STDMETHODCALLTYPE GetEvents(
3583        ULONG ulCount,
3584        SPEVENT *pEventArray,
3585        ULONG *pulFetched) = 0;
3586
3587    virtual HRESULT STDMETHODCALLTYPE GetInfo(
3588        SPEVENTSOURCEINFO *pInfo) = 0;
3589
3590};
3591#ifdef __CRT_UUID_DECL
3592__CRT_UUID_DECL(ISpEventSource, 0xbe7a9cce, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
3593#endif
3594#else
3595typedef struct ISpEventSourceVtbl {
3596    BEGIN_INTERFACE
3597
3598    /*** IUnknown methods ***/
3599    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3600        ISpEventSource* This,
3601        REFIID riid,
3602        void **ppvObject);
3603
3604    ULONG (STDMETHODCALLTYPE *AddRef)(
3605        ISpEventSource* This);
3606
3607    ULONG (STDMETHODCALLTYPE *Release)(
3608        ISpEventSource* This);
3609
3610    /*** ISpNotifySource methods ***/
3611    HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
3612        ISpEventSource* This,
3613        ISpNotifySink *pNotifySink);
3614
3615    HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
3616        ISpEventSource* This,
3617        HWND hWnd,
3618        UINT Msg,
3619        WPARAM wParam,
3620        LPARAM lParam);
3621
3622    HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
3623        ISpEventSource* This,
3624        SPNOTIFYCALLBACK *pfnCallback,
3625        WPARAM wParam,
3626        LPARAM lParam);
3627
3628    HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
3629        ISpEventSource* This,
3630        ISpNotifyCallback *pSpCallback,
3631        WPARAM wParam,
3632        LPARAM lParam);
3633
3634    HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
3635        ISpEventSource* This);
3636
3637    HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
3638        ISpEventSource* This,
3639        DWORD dwMilliseconds);
3640
3641    HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
3642        ISpEventSource* This);
3643
3644    /*** ISpEventSource methods ***/
3645    HRESULT (STDMETHODCALLTYPE *SetInterest)(
3646        ISpEventSource* This,
3647        ULONGLONG ullEventInterest,
3648        ULONGLONG ullQueuedInterest);
3649
3650    HRESULT (STDMETHODCALLTYPE *GetEvents)(
3651        ISpEventSource* This,
3652        ULONG ulCount,
3653        SPEVENT *pEventArray,
3654        ULONG *pulFetched);
3655
3656    HRESULT (STDMETHODCALLTYPE *GetInfo)(
3657        ISpEventSource* This,
3658        SPEVENTSOURCEINFO *pInfo);
3659
3660    END_INTERFACE
3661} ISpEventSourceVtbl;
3662interface ISpEventSource {
3663    CONST_VTBL ISpEventSourceVtbl* lpVtbl;
3664};
3665
3666#ifdef COBJMACROS
3667#ifndef WIDL_C_INLINE_WRAPPERS
3668/*** IUnknown methods ***/
3669#define ISpEventSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3670#define ISpEventSource_AddRef(This) (This)->lpVtbl->AddRef(This)
3671#define ISpEventSource_Release(This) (This)->lpVtbl->Release(This)
3672/*** ISpNotifySource methods ***/
3673#define ISpEventSource_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
3674#define ISpEventSource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
3675#define ISpEventSource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
3676#define ISpEventSource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
3677#define ISpEventSource_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
3678#define ISpEventSource_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
3679#define ISpEventSource_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
3680/*** ISpEventSource methods ***/
3681#define ISpEventSource_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
3682#define ISpEventSource_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
3683#define ISpEventSource_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
3684#else
3685/*** IUnknown methods ***/
3686static FORCEINLINE HRESULT ISpEventSource_QueryInterface(ISpEventSource* This,REFIID riid,void **ppvObject) {
3687    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3688}
3689static FORCEINLINE ULONG ISpEventSource_AddRef(ISpEventSource* This) {
3690    return This->lpVtbl->AddRef(This);
3691}
3692static FORCEINLINE ULONG ISpEventSource_Release(ISpEventSource* This) {
3693    return This->lpVtbl->Release(This);
3694}
3695/*** ISpNotifySource methods ***/
3696static FORCEINLINE HRESULT ISpEventSource_SetNotifySink(ISpEventSource* This,ISpNotifySink *pNotifySink) {
3697    return This->lpVtbl->SetNotifySink(This,pNotifySink);
3698}
3699static FORCEINLINE HRESULT ISpEventSource_SetNotifyWindowMessage(ISpEventSource* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
3700    return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
3701}
3702static FORCEINLINE HRESULT ISpEventSource_SetNotifyCallbackFunction(ISpEventSource* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
3703    return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
3704}
3705static FORCEINLINE HRESULT ISpEventSource_SetNotifyCallbackInterface(ISpEventSource* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
3706    return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
3707}
3708static FORCEINLINE HRESULT ISpEventSource_SetNotifyWin32Event(ISpEventSource* This) {
3709    return This->lpVtbl->SetNotifyWin32Event(This);
3710}
3711static FORCEINLINE HRESULT ISpEventSource_WaitForNotifyEvent(ISpEventSource* This,DWORD dwMilliseconds) {
3712    return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
3713}
3714static FORCEINLINE HANDLE ISpEventSource_GetNotifyEventHandle(ISpEventSource* This) {
3715    return This->lpVtbl->GetNotifyEventHandle(This);
3716}
3717/*** ISpEventSource methods ***/
3718static FORCEINLINE HRESULT ISpEventSource_SetInterest(ISpEventSource* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
3719    return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
3720}
3721static FORCEINLINE HRESULT ISpEventSource_GetEvents(ISpEventSource* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
3722    return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
3723}
3724static FORCEINLINE HRESULT ISpEventSource_GetInfo(ISpEventSource* This,SPEVENTSOURCEINFO *pInfo) {
3725    return This->lpVtbl->GetInfo(This,pInfo);
3726}
3727#endif
3728#endif
3729
3730#endif
3731
3732HRESULT STDMETHODCALLTYPE ISpEventSource_SetInterest_Proxy(
3733    ISpEventSource* This,
3734    ULONGLONG ullEventInterest,
3735    ULONGLONG ullQueuedInterest);
3736void __RPC_STUB ISpEventSource_SetInterest_Stub(
3737    IRpcStubBuffer* This,
3738    IRpcChannelBuffer* pRpcChannelBuffer,
3739    PRPC_MESSAGE pRpcMessage,
3740    DWORD* pdwStubPhase);
3741HRESULT STDMETHODCALLTYPE ISpEventSource_GetEvents_Proxy(
3742    ISpEventSource* This,
3743    ULONG ulCount,
3744    SPEVENT *pEventArray,
3745    ULONG *pulFetched);
3746void __RPC_STUB ISpEventSource_GetEvents_Stub(
3747    IRpcStubBuffer* This,
3748    IRpcChannelBuffer* pRpcChannelBuffer,
3749    PRPC_MESSAGE pRpcMessage,
3750    DWORD* pdwStubPhase);
3751HRESULT STDMETHODCALLTYPE ISpEventSource_GetInfo_Proxy(
3752    ISpEventSource* This,
3753    SPEVENTSOURCEINFO *pInfo);
3754void __RPC_STUB ISpEventSource_GetInfo_Stub(
3755    IRpcStubBuffer* This,
3756    IRpcChannelBuffer* pRpcChannelBuffer,
3757    PRPC_MESSAGE pRpcMessage,
3758    DWORD* pdwStubPhase);
3759
3760#endif  /* __ISpEventSource_INTERFACE_DEFINED__ */
3761
3762/*****************************************************************************
3763 * ISpEventSink interface
3764 */
3765#ifndef __ISpEventSink_INTERFACE_DEFINED__
3766#define __ISpEventSink_INTERFACE_DEFINED__
3767
3768DEFINE_GUID(IID_ISpEventSink, 0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
3769#if defined(__cplusplus) && !defined(CINTERFACE)
3770MIDL_INTERFACE("be7a9cc9-5f9e-11d2-960f-00c04f8ee628")
3771ISpEventSink : public IUnknown
3772{
3773    virtual HRESULT STDMETHODCALLTYPE AddEvents(
3774        const SPEVENT *pEventArray,
3775        ULONG ulCount) = 0;
3776
3777    virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
3778        ULONGLONG *pullEventInterest) = 0;
3779
3780};
3781#ifdef __CRT_UUID_DECL
3782__CRT_UUID_DECL(ISpEventSink, 0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
3783#endif
3784#else
3785typedef struct ISpEventSinkVtbl {
3786    BEGIN_INTERFACE
3787
3788    /*** IUnknown methods ***/
3789    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3790        ISpEventSink* This,
3791        REFIID riid,
3792        void **ppvObject);
3793
3794    ULONG (STDMETHODCALLTYPE *AddRef)(
3795        ISpEventSink* This);
3796
3797    ULONG (STDMETHODCALLTYPE *Release)(
3798        ISpEventSink* This);
3799
3800    /*** ISpEventSink methods ***/
3801    HRESULT (STDMETHODCALLTYPE *AddEvents)(
3802        ISpEventSink* This,
3803        const SPEVENT *pEventArray,
3804        ULONG ulCount);
3805
3806    HRESULT (STDMETHODCALLTYPE *GetEventInterest)(
3807        ISpEventSink* This,
3808        ULONGLONG *pullEventInterest);
3809
3810    END_INTERFACE
3811} ISpEventSinkVtbl;
3812interface ISpEventSink {
3813    CONST_VTBL ISpEventSinkVtbl* lpVtbl;
3814};
3815
3816#ifdef COBJMACROS
3817#ifndef WIDL_C_INLINE_WRAPPERS
3818/*** IUnknown methods ***/
3819#define ISpEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3820#define ISpEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
3821#define ISpEventSink_Release(This) (This)->lpVtbl->Release(This)
3822/*** ISpEventSink methods ***/
3823#define ISpEventSink_AddEvents(This,pEventArray,ulCount) (This)->lpVtbl->AddEvents(This,pEventArray,ulCount)
3824#define ISpEventSink_GetEventInterest(This,pullEventInterest) (This)->lpVtbl->GetEventInterest(This,pullEventInterest)
3825#else
3826/*** IUnknown methods ***/
3827static FORCEINLINE HRESULT ISpEventSink_QueryInterface(ISpEventSink* This,REFIID riid,void **ppvObject) {
3828    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3829}
3830static FORCEINLINE ULONG ISpEventSink_AddRef(ISpEventSink* This) {
3831    return This->lpVtbl->AddRef(This);
3832}
3833static FORCEINLINE ULONG ISpEventSink_Release(ISpEventSink* This) {
3834    return This->lpVtbl->Release(This);
3835}
3836/*** ISpEventSink methods ***/
3837static FORCEINLINE HRESULT ISpEventSink_AddEvents(ISpEventSink* This,const SPEVENT *pEventArray,ULONG ulCount) {
3838    return This->lpVtbl->AddEvents(This,pEventArray,ulCount);
3839}
3840static FORCEINLINE HRESULT ISpEventSink_GetEventInterest(ISpEventSink* This,ULONGLONG *pullEventInterest) {
3841    return This->lpVtbl->GetEventInterest(This,pullEventInterest);
3842}
3843#endif
3844#endif
3845
3846#endif
3847
3848HRESULT STDMETHODCALLTYPE ISpEventSink_AddEvents_Proxy(
3849    ISpEventSink* This,
3850    const SPEVENT *pEventArray,
3851    ULONG ulCount);
3852void __RPC_STUB ISpEventSink_AddEvents_Stub(
3853    IRpcStubBuffer* This,
3854    IRpcChannelBuffer* pRpcChannelBuffer,
3855    PRPC_MESSAGE pRpcMessage,
3856    DWORD* pdwStubPhase);
3857HRESULT STDMETHODCALLTYPE ISpEventSink_GetEventInterest_Proxy(
3858    ISpEventSink* This,
3859    ULONGLONG *pullEventInterest);
3860void __RPC_STUB ISpEventSink_GetEventInterest_Stub(
3861    IRpcStubBuffer* This,
3862    IRpcChannelBuffer* pRpcChannelBuffer,
3863    PRPC_MESSAGE pRpcMessage,
3864    DWORD* pdwStubPhase);
3865
3866#endif  /* __ISpEventSink_INTERFACE_DEFINED__ */
3867
3868/*****************************************************************************
3869 * ISpStreamFormat interface
3870 */
3871#ifndef __ISpStreamFormat_INTERFACE_DEFINED__
3872#define __ISpStreamFormat_INTERFACE_DEFINED__
3873
3874DEFINE_GUID(IID_ISpStreamFormat, 0xbed530be, 0x2606, 0x4f4d, 0xa1,0xc0, 0x54,0xc5,0xcd,0xa5,0x56,0x6f);
3875#if defined(__cplusplus) && !defined(CINTERFACE)
3876MIDL_INTERFACE("bed530be-2606-4f4d-a1c0-54c5cda5566f")
3877ISpStreamFormat : public IStream
3878{
3879    virtual HRESULT STDMETHODCALLTYPE GetFormat(
3880        GUID *pguidFormatId,
3881        WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
3882
3883};
3884#ifdef __CRT_UUID_DECL
3885__CRT_UUID_DECL(ISpStreamFormat, 0xbed530be, 0x2606, 0x4f4d, 0xa1,0xc0, 0x54,0xc5,0xcd,0xa5,0x56,0x6f)
3886#endif
3887#else
3888typedef struct ISpStreamFormatVtbl {
3889    BEGIN_INTERFACE
3890
3891    /*** IUnknown methods ***/
3892    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3893        ISpStreamFormat* This,
3894        REFIID riid,
3895        void **ppvObject);
3896
3897    ULONG (STDMETHODCALLTYPE *AddRef)(
3898        ISpStreamFormat* This);
3899
3900    ULONG (STDMETHODCALLTYPE *Release)(
3901        ISpStreamFormat* This);
3902
3903    /*** ISequentialStream methods ***/
3904    HRESULT (STDMETHODCALLTYPE *Read)(
3905        ISpStreamFormat* This,
3906        void *pv,
3907        ULONG cb,
3908        ULONG *pcbRead);
3909
3910    HRESULT (STDMETHODCALLTYPE *Write)(
3911        ISpStreamFormat* This,
3912        const void *pv,
3913        ULONG cb,
3914        ULONG *pcbWritten);
3915
3916    /*** IStream methods ***/
3917    HRESULT (STDMETHODCALLTYPE *Seek)(
3918        ISpStreamFormat* This,
3919        LARGE_INTEGER dlibMove,
3920        DWORD dwOrigin,
3921        ULARGE_INTEGER *plibNewPosition);
3922
3923    HRESULT (STDMETHODCALLTYPE *SetSize)(
3924        ISpStreamFormat* This,
3925        ULARGE_INTEGER libNewSize);
3926
3927    HRESULT (STDMETHODCALLTYPE *CopyTo)(
3928        ISpStreamFormat* This,
3929        IStream *pstm,
3930        ULARGE_INTEGER cb,
3931        ULARGE_INTEGER *pcbRead,
3932        ULARGE_INTEGER *pcbWritten);
3933
3934    HRESULT (STDMETHODCALLTYPE *Commit)(
3935        ISpStreamFormat* This,
3936        DWORD grfCommitFlags);
3937
3938    HRESULT (STDMETHODCALLTYPE *Revert)(
3939        ISpStreamFormat* This);
3940
3941    HRESULT (STDMETHODCALLTYPE *LockRegion)(
3942        ISpStreamFormat* This,
3943        ULARGE_INTEGER libOffset,
3944        ULARGE_INTEGER cb,
3945        DWORD dwLockType);
3946
3947    HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
3948        ISpStreamFormat* This,
3949        ULARGE_INTEGER libOffset,
3950        ULARGE_INTEGER cb,
3951        DWORD dwLockType);
3952
3953    HRESULT (STDMETHODCALLTYPE *Stat)(
3954        ISpStreamFormat* This,
3955        STATSTG *pstatstg,
3956        DWORD grfStatFlag);
3957
3958    HRESULT (STDMETHODCALLTYPE *Clone)(
3959        ISpStreamFormat* This,
3960        IStream **ppstm);
3961
3962    /*** ISpStreamFormat methods ***/
3963    HRESULT (STDMETHODCALLTYPE *GetFormat)(
3964        ISpStreamFormat* This,
3965        GUID *pguidFormatId,
3966        WAVEFORMATEX **ppCoMemWaveFormatEx);
3967
3968    END_INTERFACE
3969} ISpStreamFormatVtbl;
3970interface ISpStreamFormat {
3971    CONST_VTBL ISpStreamFormatVtbl* lpVtbl;
3972};
3973
3974#ifdef COBJMACROS
3975#ifndef WIDL_C_INLINE_WRAPPERS
3976/*** IUnknown methods ***/
3977#define ISpStreamFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3978#define ISpStreamFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
3979#define ISpStreamFormat_Release(This) (This)->lpVtbl->Release(This)
3980/*** ISequentialStream methods ***/
3981#define ISpStreamFormat_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
3982#define ISpStreamFormat_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
3983/*** IStream methods ***/
3984#define ISpStreamFormat_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
3985#define ISpStreamFormat_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
3986#define ISpStreamFormat_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
3987#define ISpStreamFormat_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
3988#define ISpStreamFormat_Revert(This) (This)->lpVtbl->Revert(This)
3989#define ISpStreamFormat_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
3990#define ISpStreamFormat_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
3991#define ISpStreamFormat_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
3992#define ISpStreamFormat_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
3993/*** ISpStreamFormat methods ***/
3994#define ISpStreamFormat_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
3995#else
3996/*** IUnknown methods ***/
3997static FORCEINLINE HRESULT ISpStreamFormat_QueryInterface(ISpStreamFormat* This,REFIID riid,void **ppvObject) {
3998    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3999}
4000static FORCEINLINE ULONG ISpStreamFormat_AddRef(ISpStreamFormat* This) {
4001    return This->lpVtbl->AddRef(This);
4002}
4003static FORCEINLINE ULONG ISpStreamFormat_Release(ISpStreamFormat* This) {
4004    return This->lpVtbl->Release(This);
4005}
4006/*** ISequentialStream methods ***/
4007static FORCEINLINE HRESULT ISpStreamFormat_Read(ISpStreamFormat* This,void *pv,ULONG cb,ULONG *pcbRead) {
4008    return This->lpVtbl->Read(This,pv,cb,pcbRead);
4009}
4010static FORCEINLINE HRESULT ISpStreamFormat_Write(ISpStreamFormat* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
4011    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
4012}
4013/*** IStream methods ***/
4014static FORCEINLINE HRESULT ISpStreamFormat_Seek(ISpStreamFormat* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
4015    return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
4016}
4017static FORCEINLINE HRESULT ISpStreamFormat_SetSize(ISpStreamFormat* This,ULARGE_INTEGER libNewSize) {
4018    return This->lpVtbl->SetSize(This,libNewSize);
4019}
4020static FORCEINLINE HRESULT ISpStreamFormat_CopyTo(ISpStreamFormat* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
4021    return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
4022}
4023static FORCEINLINE HRESULT ISpStreamFormat_Commit(ISpStreamFormat* This,DWORD grfCommitFlags) {
4024    return This->lpVtbl->Commit(This,grfCommitFlags);
4025}
4026static FORCEINLINE HRESULT ISpStreamFormat_Revert(ISpStreamFormat* This) {
4027    return This->lpVtbl->Revert(This);
4028}
4029static FORCEINLINE HRESULT ISpStreamFormat_LockRegion(ISpStreamFormat* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4030    return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
4031}
4032static FORCEINLINE HRESULT ISpStreamFormat_UnlockRegion(ISpStreamFormat* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4033    return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
4034}
4035static FORCEINLINE HRESULT ISpStreamFormat_Stat(ISpStreamFormat* This,STATSTG *pstatstg,DWORD grfStatFlag) {
4036    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
4037}
4038static FORCEINLINE HRESULT ISpStreamFormat_Clone(ISpStreamFormat* This,IStream **ppstm) {
4039    return This->lpVtbl->Clone(This,ppstm);
4040}
4041/*** ISpStreamFormat methods ***/
4042static FORCEINLINE HRESULT ISpStreamFormat_GetFormat(ISpStreamFormat* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
4043    return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
4044}
4045#endif
4046#endif
4047
4048#endif
4049
4050HRESULT STDMETHODCALLTYPE ISpStreamFormat_GetFormat_Proxy(
4051    ISpStreamFormat* This,
4052    GUID *pguidFormatId,
4053    WAVEFORMATEX **ppCoMemWaveFormatEx);
4054void __RPC_STUB ISpStreamFormat_GetFormat_Stub(
4055    IRpcStubBuffer* This,
4056    IRpcChannelBuffer* pRpcChannelBuffer,
4057    PRPC_MESSAGE pRpcMessage,
4058    DWORD* pdwStubPhase);
4059
4060#endif  /* __ISpStreamFormat_INTERFACE_DEFINED__ */
4061
4062/*****************************************************************************
4063 * ISpStream interface
4064 */
4065#ifndef __ISpStream_INTERFACE_DEFINED__
4066#define __ISpStream_INTERFACE_DEFINED__
4067
4068DEFINE_GUID(IID_ISpStream, 0x12e3cca9, 0x7518, 0x44c5, 0xa5,0xe7, 0xba,0x5a,0x79,0xcb,0x92,0x9e);
4069#if defined(__cplusplus) && !defined(CINTERFACE)
4070MIDL_INTERFACE("12e3cca9-7518-44c5-a5e7-ba5a79cb929e")
4071ISpStream : public ISpStreamFormat
4072{
4073    virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
4074        IStream *pStream,
4075        REFGUID rguidFormat,
4076        const WAVEFORMATEX *pWaveFormatEx) = 0;
4077
4078    virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
4079        IStream **ppStream) = 0;
4080
4081    virtual HRESULT STDMETHODCALLTYPE BindToFile(
4082        LPCWSTR pszFileName,
4083        SPFILEMODE eMode,
4084        const GUID *pFormatId,
4085        const WAVEFORMATEX *pWaveFormatEx,
4086        ULONGLONG ullEventInterest) = 0;
4087
4088    virtual HRESULT STDMETHODCALLTYPE Close(
4089        ) = 0;
4090
4091};
4092#ifdef __CRT_UUID_DECL
4093__CRT_UUID_DECL(ISpStream, 0x12e3cca9, 0x7518, 0x44c5, 0xa5,0xe7, 0xba,0x5a,0x79,0xcb,0x92,0x9e)
4094#endif
4095#else
4096typedef struct ISpStreamVtbl {
4097    BEGIN_INTERFACE
4098
4099    /*** IUnknown methods ***/
4100    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4101        ISpStream* This,
4102        REFIID riid,
4103        void **ppvObject);
4104
4105    ULONG (STDMETHODCALLTYPE *AddRef)(
4106        ISpStream* This);
4107
4108    ULONG (STDMETHODCALLTYPE *Release)(
4109        ISpStream* This);
4110
4111    /*** ISequentialStream methods ***/
4112    HRESULT (STDMETHODCALLTYPE *Read)(
4113        ISpStream* This,
4114        void *pv,
4115        ULONG cb,
4116        ULONG *pcbRead);
4117
4118    HRESULT (STDMETHODCALLTYPE *Write)(
4119        ISpStream* This,
4120        const void *pv,
4121        ULONG cb,
4122        ULONG *pcbWritten);
4123
4124    /*** IStream methods ***/
4125    HRESULT (STDMETHODCALLTYPE *Seek)(
4126        ISpStream* This,
4127        LARGE_INTEGER dlibMove,
4128        DWORD dwOrigin,
4129        ULARGE_INTEGER *plibNewPosition);
4130
4131    HRESULT (STDMETHODCALLTYPE *SetSize)(
4132        ISpStream* This,
4133        ULARGE_INTEGER libNewSize);
4134
4135    HRESULT (STDMETHODCALLTYPE *CopyTo)(
4136        ISpStream* This,
4137        IStream *pstm,
4138        ULARGE_INTEGER cb,
4139        ULARGE_INTEGER *pcbRead,
4140        ULARGE_INTEGER *pcbWritten);
4141
4142    HRESULT (STDMETHODCALLTYPE *Commit)(
4143        ISpStream* This,
4144        DWORD grfCommitFlags);
4145
4146    HRESULT (STDMETHODCALLTYPE *Revert)(
4147        ISpStream* This);
4148
4149    HRESULT (STDMETHODCALLTYPE *LockRegion)(
4150        ISpStream* This,
4151        ULARGE_INTEGER libOffset,
4152        ULARGE_INTEGER cb,
4153        DWORD dwLockType);
4154
4155    HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
4156        ISpStream* This,
4157        ULARGE_INTEGER libOffset,
4158        ULARGE_INTEGER cb,
4159        DWORD dwLockType);
4160
4161    HRESULT (STDMETHODCALLTYPE *Stat)(
4162        ISpStream* This,
4163        STATSTG *pstatstg,
4164        DWORD grfStatFlag);
4165
4166    HRESULT (STDMETHODCALLTYPE *Clone)(
4167        ISpStream* This,
4168        IStream **ppstm);
4169
4170    /*** ISpStreamFormat methods ***/
4171    HRESULT (STDMETHODCALLTYPE *GetFormat)(
4172        ISpStream* This,
4173        GUID *pguidFormatId,
4174        WAVEFORMATEX **ppCoMemWaveFormatEx);
4175
4176    /*** ISpStream methods ***/
4177    HRESULT (STDMETHODCALLTYPE *SetBaseStream)(
4178        ISpStream* This,
4179        IStream *pStream,
4180        REFGUID rguidFormat,
4181        const WAVEFORMATEX *pWaveFormatEx);
4182
4183    HRESULT (STDMETHODCALLTYPE *GetBaseStream)(
4184        ISpStream* This,
4185        IStream **ppStream);
4186
4187    HRESULT (STDMETHODCALLTYPE *BindToFile)(
4188        ISpStream* This,
4189        LPCWSTR pszFileName,
4190        SPFILEMODE eMode,
4191        const GUID *pFormatId,
4192        const WAVEFORMATEX *pWaveFormatEx,
4193        ULONGLONG ullEventInterest);
4194
4195    HRESULT (STDMETHODCALLTYPE *Close)(
4196        ISpStream* This);
4197
4198    END_INTERFACE
4199} ISpStreamVtbl;
4200interface ISpStream {
4201    CONST_VTBL ISpStreamVtbl* lpVtbl;
4202};
4203
4204#ifdef COBJMACROS
4205#ifndef WIDL_C_INLINE_WRAPPERS
4206/*** IUnknown methods ***/
4207#define ISpStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4208#define ISpStream_AddRef(This) (This)->lpVtbl->AddRef(This)
4209#define ISpStream_Release(This) (This)->lpVtbl->Release(This)
4210/*** ISequentialStream methods ***/
4211#define ISpStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
4212#define ISpStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
4213/*** IStream methods ***/
4214#define ISpStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
4215#define ISpStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
4216#define ISpStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
4217#define ISpStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
4218#define ISpStream_Revert(This) (This)->lpVtbl->Revert(This)
4219#define ISpStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
4220#define ISpStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
4221#define ISpStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
4222#define ISpStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
4223/*** ISpStreamFormat methods ***/
4224#define ISpStream_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
4225/*** ISpStream methods ***/
4226#define ISpStream_SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx) (This)->lpVtbl->SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx)
4227#define ISpStream_GetBaseStream(This,ppStream) (This)->lpVtbl->GetBaseStream(This,ppStream)
4228#define ISpStream_BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest) (This)->lpVtbl->BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
4229#define ISpStream_Close(This) (This)->lpVtbl->Close(This)
4230#else
4231/*** IUnknown methods ***/
4232static FORCEINLINE HRESULT ISpStream_QueryInterface(ISpStream* This,REFIID riid,void **ppvObject) {
4233    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4234}
4235static FORCEINLINE ULONG ISpStream_AddRef(ISpStream* This) {
4236    return This->lpVtbl->AddRef(This);
4237}
4238static FORCEINLINE ULONG ISpStream_Release(ISpStream* This) {
4239    return This->lpVtbl->Release(This);
4240}
4241/*** ISequentialStream methods ***/
4242static FORCEINLINE HRESULT ISpStream_Read(ISpStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
4243    return This->lpVtbl->Read(This,pv,cb,pcbRead);
4244}
4245static FORCEINLINE HRESULT ISpStream_Write(ISpStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
4246    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
4247}
4248/*** IStream methods ***/
4249static FORCEINLINE HRESULT ISpStream_Seek(ISpStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
4250    return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
4251}
4252static FORCEINLINE HRESULT ISpStream_SetSize(ISpStream* This,ULARGE_INTEGER libNewSize) {
4253    return This->lpVtbl->SetSize(This,libNewSize);
4254}
4255static FORCEINLINE HRESULT ISpStream_CopyTo(ISpStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
4256    return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
4257}
4258static FORCEINLINE HRESULT ISpStream_Commit(ISpStream* This,DWORD grfCommitFlags) {
4259    return This->lpVtbl->Commit(This,grfCommitFlags);
4260}
4261static FORCEINLINE HRESULT ISpStream_Revert(ISpStream* This) {
4262    return This->lpVtbl->Revert(This);
4263}
4264static FORCEINLINE HRESULT ISpStream_LockRegion(ISpStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4265    return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
4266}
4267static FORCEINLINE HRESULT ISpStream_UnlockRegion(ISpStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4268    return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
4269}
4270static FORCEINLINE HRESULT ISpStream_Stat(ISpStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
4271    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
4272}
4273static FORCEINLINE HRESULT ISpStream_Clone(ISpStream* This,IStream **ppstm) {
4274    return This->lpVtbl->Clone(This,ppstm);
4275}
4276/*** ISpStreamFormat methods ***/
4277static FORCEINLINE HRESULT ISpStream_GetFormat(ISpStream* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
4278    return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
4279}
4280/*** ISpStream methods ***/
4281static FORCEINLINE HRESULT ISpStream_SetBaseStream(ISpStream* This,IStream *pStream,REFGUID rguidFormat,const WAVEFORMATEX *pWaveFormatEx) {
4282    return This->lpVtbl->SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx);
4283}
4284static FORCEINLINE HRESULT ISpStream_GetBaseStream(ISpStream* This,IStream **ppStream) {
4285    return This->lpVtbl->GetBaseStream(This,ppStream);
4286}
4287static FORCEINLINE HRESULT ISpStream_BindToFile(ISpStream* This,LPCWSTR pszFileName,SPFILEMODE eMode,const GUID *pFormatId,const WAVEFORMATEX *pWaveFormatEx,ULONGLONG ullEventInterest) {
4288    return This->lpVtbl->BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest);
4289}
4290static FORCEINLINE HRESULT ISpStream_Close(ISpStream* This) {
4291    return This->lpVtbl->Close(This);
4292}
4293#endif
4294#endif
4295
4296#endif
4297
4298HRESULT STDMETHODCALLTYPE ISpStream_SetBaseStream_Proxy(
4299    ISpStream* This,
4300    IStream *pStream,
4301    REFGUID rguidFormat,
4302    const WAVEFORMATEX *pWaveFormatEx);
4303void __RPC_STUB ISpStream_SetBaseStream_Stub(
4304    IRpcStubBuffer* This,
4305    IRpcChannelBuffer* pRpcChannelBuffer,
4306    PRPC_MESSAGE pRpcMessage,
4307    DWORD* pdwStubPhase);
4308HRESULT STDMETHODCALLTYPE ISpStream_GetBaseStream_Proxy(
4309    ISpStream* This,
4310    IStream **ppStream);
4311void __RPC_STUB ISpStream_GetBaseStream_Stub(
4312    IRpcStubBuffer* This,
4313    IRpcChannelBuffer* pRpcChannelBuffer,
4314    PRPC_MESSAGE pRpcMessage,
4315    DWORD* pdwStubPhase);
4316HRESULT STDMETHODCALLTYPE ISpStream_BindToFile_Proxy(
4317    ISpStream* This,
4318    LPCWSTR pszFileName,
4319    SPFILEMODE eMode,
4320    const GUID *pFormatId,
4321    const WAVEFORMATEX *pWaveFormatEx,
4322    ULONGLONG ullEventInterest);
4323void __RPC_STUB ISpStream_BindToFile_Stub(
4324    IRpcStubBuffer* This,
4325    IRpcChannelBuffer* pRpcChannelBuffer,
4326    PRPC_MESSAGE pRpcMessage,
4327    DWORD* pdwStubPhase);
4328HRESULT STDMETHODCALLTYPE ISpStream_Close_Proxy(
4329    ISpStream* This);
4330void __RPC_STUB ISpStream_Close_Stub(
4331    IRpcStubBuffer* This,
4332    IRpcChannelBuffer* pRpcChannelBuffer,
4333    PRPC_MESSAGE pRpcMessage,
4334    DWORD* pdwStubPhase);
4335
4336#endif  /* __ISpStream_INTERFACE_DEFINED__ */
4337
4338/*****************************************************************************
4339 * ISpStreamFormatConverter interface
4340 */
4341#ifndef __ISpStreamFormatConverter_INTERFACE_DEFINED__
4342#define __ISpStreamFormatConverter_INTERFACE_DEFINED__
4343
4344DEFINE_GUID(IID_ISpStreamFormatConverter, 0x678a932c, 0xea71, 0x4446, 0x9b,0x41, 0x78,0xfd,0xa6,0x28,0x0a,0x29);
4345#if defined(__cplusplus) && !defined(CINTERFACE)
4346MIDL_INTERFACE("678a932c-ea71-4446-9b41-78fda6280a29")
4347ISpStreamFormatConverter : public ISpStreamFormat
4348{
4349    virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
4350        ISpStreamFormat *pStream,
4351        WINBOOL fSetFormatToBaseStreamFormat,
4352        WINBOOL fWriteToBaseStream) = 0;
4353
4354    virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
4355        ISpStreamFormat **ppStream) = 0;
4356
4357    virtual HRESULT STDMETHODCALLTYPE SetFormat(
4358        REFGUID rguidFormatIdOfConvertedStream,
4359        const WAVEFORMATEX *pWaveFormatExOfConvertedStream) = 0;
4360
4361    virtual HRESULT STDMETHODCALLTYPE ResetSeekPosition(
4362        ) = 0;
4363
4364    virtual HRESULT STDMETHODCALLTYPE ScaleConvertedToBaseOffset(
4365        ULONGLONG ullOffsetConvertedStream,
4366        ULONGLONG *pullOffsetBaseStream) = 0;
4367
4368    virtual HRESULT STDMETHODCALLTYPE ScaleBaseToConvertedOffset(
4369        ULONGLONG ullOffsetBaseStream,
4370        ULONGLONG *pullOffsetConvertedStream) = 0;
4371
4372};
4373#ifdef __CRT_UUID_DECL
4374__CRT_UUID_DECL(ISpStreamFormatConverter, 0x678a932c, 0xea71, 0x4446, 0x9b,0x41, 0x78,0xfd,0xa6,0x28,0x0a,0x29)
4375#endif
4376#else
4377typedef struct ISpStreamFormatConverterVtbl {
4378    BEGIN_INTERFACE
4379
4380    /*** IUnknown methods ***/
4381    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4382        ISpStreamFormatConverter* This,
4383        REFIID riid,
4384        void **ppvObject);
4385
4386    ULONG (STDMETHODCALLTYPE *AddRef)(
4387        ISpStreamFormatConverter* This);
4388
4389    ULONG (STDMETHODCALLTYPE *Release)(
4390        ISpStreamFormatConverter* This);
4391
4392    /*** ISequentialStream methods ***/
4393    HRESULT (STDMETHODCALLTYPE *Read)(
4394        ISpStreamFormatConverter* This,
4395        void *pv,
4396        ULONG cb,
4397        ULONG *pcbRead);
4398
4399    HRESULT (STDMETHODCALLTYPE *Write)(
4400        ISpStreamFormatConverter* This,
4401        const void *pv,
4402        ULONG cb,
4403        ULONG *pcbWritten);
4404
4405    /*** IStream methods ***/
4406    HRESULT (STDMETHODCALLTYPE *Seek)(
4407        ISpStreamFormatConverter* This,
4408        LARGE_INTEGER dlibMove,
4409        DWORD dwOrigin,
4410        ULARGE_INTEGER *plibNewPosition);
4411
4412    HRESULT (STDMETHODCALLTYPE *SetSize)(
4413        ISpStreamFormatConverter* This,
4414        ULARGE_INTEGER libNewSize);
4415
4416    HRESULT (STDMETHODCALLTYPE *CopyTo)(
4417        ISpStreamFormatConverter* This,
4418        IStream *pstm,
4419        ULARGE_INTEGER cb,
4420        ULARGE_INTEGER *pcbRead,
4421        ULARGE_INTEGER *pcbWritten);
4422
4423    HRESULT (STDMETHODCALLTYPE *Commit)(
4424        ISpStreamFormatConverter* This,
4425        DWORD grfCommitFlags);
4426
4427    HRESULT (STDMETHODCALLTYPE *Revert)(
4428        ISpStreamFormatConverter* This);
4429
4430    HRESULT (STDMETHODCALLTYPE *LockRegion)(
4431        ISpStreamFormatConverter* This,
4432        ULARGE_INTEGER libOffset,
4433        ULARGE_INTEGER cb,
4434        DWORD dwLockType);
4435
4436    HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
4437        ISpStreamFormatConverter* This,
4438        ULARGE_INTEGER libOffset,
4439        ULARGE_INTEGER cb,
4440        DWORD dwLockType);
4441
4442    HRESULT (STDMETHODCALLTYPE *Stat)(
4443        ISpStreamFormatConverter* This,
4444        STATSTG *pstatstg,
4445        DWORD grfStatFlag);
4446
4447    HRESULT (STDMETHODCALLTYPE *Clone)(
4448        ISpStreamFormatConverter* This,
4449        IStream **ppstm);
4450
4451    /*** ISpStreamFormat methods ***/
4452    HRESULT (STDMETHODCALLTYPE *GetFormat)(
4453        ISpStreamFormatConverter* This,
4454        GUID *pguidFormatId,
4455        WAVEFORMATEX **ppCoMemWaveFormatEx);
4456
4457    /*** ISpStreamFormatConverter methods ***/
4458    HRESULT (STDMETHODCALLTYPE *SetBaseStream)(
4459        ISpStreamFormatConverter* This,
4460        ISpStreamFormat *pStream,
4461        WINBOOL fSetFormatToBaseStreamFormat,
4462        WINBOOL fWriteToBaseStream);
4463
4464    HRESULT (STDMETHODCALLTYPE *GetBaseStream)(
4465        ISpStreamFormatConverter* This,
4466        ISpStreamFormat **ppStream);
4467
4468    HRESULT (STDMETHODCALLTYPE *SetFormat)(
4469        ISpStreamFormatConverter* This,
4470        REFGUID rguidFormatIdOfConvertedStream,
4471        const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
4472
4473    HRESULT (STDMETHODCALLTYPE *ResetSeekPosition)(
4474        ISpStreamFormatConverter* This);
4475
4476    HRESULT (STDMETHODCALLTYPE *ScaleConvertedToBaseOffset)(
4477        ISpStreamFormatConverter* This,
4478        ULONGLONG ullOffsetConvertedStream,
4479        ULONGLONG *pullOffsetBaseStream);
4480
4481    HRESULT (STDMETHODCALLTYPE *ScaleBaseToConvertedOffset)(
4482        ISpStreamFormatConverter* This,
4483        ULONGLONG ullOffsetBaseStream,
4484        ULONGLONG *pullOffsetConvertedStream);
4485
4486    END_INTERFACE
4487} ISpStreamFormatConverterVtbl;
4488interface ISpStreamFormatConverter {
4489    CONST_VTBL ISpStreamFormatConverterVtbl* lpVtbl;
4490};
4491
4492#ifdef COBJMACROS
4493#ifndef WIDL_C_INLINE_WRAPPERS
4494/*** IUnknown methods ***/
4495#define ISpStreamFormatConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4496#define ISpStreamFormatConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
4497#define ISpStreamFormatConverter_Release(This) (This)->lpVtbl->Release(This)
4498/*** ISequentialStream methods ***/
4499#define ISpStreamFormatConverter_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
4500#define ISpStreamFormatConverter_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
4501/*** IStream methods ***/
4502#define ISpStreamFormatConverter_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
4503#define ISpStreamFormatConverter_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
4504#define ISpStreamFormatConverter_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
4505#define ISpStreamFormatConverter_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
4506#define ISpStreamFormatConverter_Revert(This) (This)->lpVtbl->Revert(This)
4507#define ISpStreamFormatConverter_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
4508#define ISpStreamFormatConverter_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
4509#define ISpStreamFormatConverter_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
4510#define ISpStreamFormatConverter_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
4511/*** ISpStreamFormat methods ***/
4512#define ISpStreamFormatConverter_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
4513/*** ISpStreamFormatConverter methods ***/
4514#define ISpStreamFormatConverter_SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream) (This)->lpVtbl->SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)
4515#define ISpStreamFormatConverter_GetBaseStream(This,ppStream) (This)->lpVtbl->GetBaseStream(This,ppStream)
4516#define ISpStreamFormatConverter_SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream) (This)->lpVtbl->SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)
4517#define ISpStreamFormatConverter_ResetSeekPosition(This) (This)->lpVtbl->ResetSeekPosition(This)
4518#define ISpStreamFormatConverter_ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream) (This)->lpVtbl->ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream)
4519#define ISpStreamFormatConverter_ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream) (This)->lpVtbl->ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream)
4520#else
4521/*** IUnknown methods ***/
4522static FORCEINLINE HRESULT ISpStreamFormatConverter_QueryInterface(ISpStreamFormatConverter* This,REFIID riid,void **ppvObject) {
4523    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4524}
4525static FORCEINLINE ULONG ISpStreamFormatConverter_AddRef(ISpStreamFormatConverter* This) {
4526    return This->lpVtbl->AddRef(This);
4527}
4528static FORCEINLINE ULONG ISpStreamFormatConverter_Release(ISpStreamFormatConverter* This) {
4529    return This->lpVtbl->Release(This);
4530}
4531/*** ISequentialStream methods ***/
4532static FORCEINLINE HRESULT ISpStreamFormatConverter_Read(ISpStreamFormatConverter* This,void *pv,ULONG cb,ULONG *pcbRead) {
4533    return This->lpVtbl->Read(This,pv,cb,pcbRead);
4534}
4535static FORCEINLINE HRESULT ISpStreamFormatConverter_Write(ISpStreamFormatConverter* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
4536    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
4537}
4538/*** IStream methods ***/
4539static FORCEINLINE HRESULT ISpStreamFormatConverter_Seek(ISpStreamFormatConverter* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
4540    return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
4541}
4542static FORCEINLINE HRESULT ISpStreamFormatConverter_SetSize(ISpStreamFormatConverter* This,ULARGE_INTEGER libNewSize) {
4543    return This->lpVtbl->SetSize(This,libNewSize);
4544}
4545static FORCEINLINE HRESULT ISpStreamFormatConverter_CopyTo(ISpStreamFormatConverter* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
4546    return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
4547}
4548static FORCEINLINE HRESULT ISpStreamFormatConverter_Commit(ISpStreamFormatConverter* This,DWORD grfCommitFlags) {
4549    return This->lpVtbl->Commit(This,grfCommitFlags);
4550}
4551static FORCEINLINE HRESULT ISpStreamFormatConverter_Revert(ISpStreamFormatConverter* This) {
4552    return This->lpVtbl->Revert(This);
4553}
4554static FORCEINLINE HRESULT ISpStreamFormatConverter_LockRegion(ISpStreamFormatConverter* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4555    return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
4556}
4557static FORCEINLINE HRESULT ISpStreamFormatConverter_UnlockRegion(ISpStreamFormatConverter* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4558    return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
4559}
4560static FORCEINLINE HRESULT ISpStreamFormatConverter_Stat(ISpStreamFormatConverter* This,STATSTG *pstatstg,DWORD grfStatFlag) {
4561    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
4562}
4563static FORCEINLINE HRESULT ISpStreamFormatConverter_Clone(ISpStreamFormatConverter* This,IStream **ppstm) {
4564    return This->lpVtbl->Clone(This,ppstm);
4565}
4566/*** ISpStreamFormat methods ***/
4567static FORCEINLINE HRESULT ISpStreamFormatConverter_GetFormat(ISpStreamFormatConverter* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
4568    return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
4569}
4570/*** ISpStreamFormatConverter methods ***/
4571static FORCEINLINE HRESULT ISpStreamFormatConverter_SetBaseStream(ISpStreamFormatConverter* This,ISpStreamFormat *pStream,WINBOOL fSetFormatToBaseStreamFormat,WINBOOL fWriteToBaseStream) {
4572    return This->lpVtbl->SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream);
4573}
4574static FORCEINLINE HRESULT ISpStreamFormatConverter_GetBaseStream(ISpStreamFormatConverter* This,ISpStreamFormat **ppStream) {
4575    return This->lpVtbl->GetBaseStream(This,ppStream);
4576}
4577static FORCEINLINE HRESULT ISpStreamFormatConverter_SetFormat(ISpStreamFormatConverter* This,REFGUID rguidFormatIdOfConvertedStream,const WAVEFORMATEX *pWaveFormatExOfConvertedStream) {
4578    return This->lpVtbl->SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream);
4579}
4580static FORCEINLINE HRESULT ISpStreamFormatConverter_ResetSeekPosition(ISpStreamFormatConverter* This) {
4581    return This->lpVtbl->ResetSeekPosition(This);
4582}
4583static FORCEINLINE HRESULT ISpStreamFormatConverter_ScaleConvertedToBaseOffset(ISpStreamFormatConverter* This,ULONGLONG ullOffsetConvertedStream,ULONGLONG *pullOffsetBaseStream) {
4584    return This->lpVtbl->ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream);
4585}
4586static FORCEINLINE HRESULT ISpStreamFormatConverter_ScaleBaseToConvertedOffset(ISpStreamFormatConverter* This,ULONGLONG ullOffsetBaseStream,ULONGLONG *pullOffsetConvertedStream) {
4587    return This->lpVtbl->ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream);
4588}
4589#endif
4590#endif
4591
4592#endif
4593
4594HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_SetBaseStream_Proxy(
4595    ISpStreamFormatConverter* This,
4596    ISpStreamFormat *pStream,
4597    WINBOOL fSetFormatToBaseStreamFormat,
4598    WINBOOL fWriteToBaseStream);
4599void __RPC_STUB ISpStreamFormatConverter_SetBaseStream_Stub(
4600    IRpcStubBuffer* This,
4601    IRpcChannelBuffer* pRpcChannelBuffer,
4602    PRPC_MESSAGE pRpcMessage,
4603    DWORD* pdwStubPhase);
4604HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_GetBaseStream_Proxy(
4605    ISpStreamFormatConverter* This,
4606    ISpStreamFormat **ppStream);
4607void __RPC_STUB ISpStreamFormatConverter_GetBaseStream_Stub(
4608    IRpcStubBuffer* This,
4609    IRpcChannelBuffer* pRpcChannelBuffer,
4610    PRPC_MESSAGE pRpcMessage,
4611    DWORD* pdwStubPhase);
4612HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_SetFormat_Proxy(
4613    ISpStreamFormatConverter* This,
4614    REFGUID rguidFormatIdOfConvertedStream,
4615    const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
4616void __RPC_STUB ISpStreamFormatConverter_SetFormat_Stub(
4617    IRpcStubBuffer* This,
4618    IRpcChannelBuffer* pRpcChannelBuffer,
4619    PRPC_MESSAGE pRpcMessage,
4620    DWORD* pdwStubPhase);
4621HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ResetSeekPosition_Proxy(
4622    ISpStreamFormatConverter* This);
4623void __RPC_STUB ISpStreamFormatConverter_ResetSeekPosition_Stub(
4624    IRpcStubBuffer* This,
4625    IRpcChannelBuffer* pRpcChannelBuffer,
4626    PRPC_MESSAGE pRpcMessage,
4627    DWORD* pdwStubPhase);
4628HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ScaleConvertedToBaseOffset_Proxy(
4629    ISpStreamFormatConverter* This,
4630    ULONGLONG ullOffsetConvertedStream,
4631    ULONGLONG *pullOffsetBaseStream);
4632void __RPC_STUB ISpStreamFormatConverter_ScaleConvertedToBaseOffset_Stub(
4633    IRpcStubBuffer* This,
4634    IRpcChannelBuffer* pRpcChannelBuffer,
4635    PRPC_MESSAGE pRpcMessage,
4636    DWORD* pdwStubPhase);
4637HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ScaleBaseToConvertedOffset_Proxy(
4638    ISpStreamFormatConverter* This,
4639    ULONGLONG ullOffsetBaseStream,
4640    ULONGLONG *pullOffsetConvertedStream);
4641void __RPC_STUB ISpStreamFormatConverter_ScaleBaseToConvertedOffset_Stub(
4642    IRpcStubBuffer* This,
4643    IRpcChannelBuffer* pRpcChannelBuffer,
4644    PRPC_MESSAGE pRpcMessage,
4645    DWORD* pdwStubPhase);
4646
4647#endif  /* __ISpStreamFormatConverter_INTERFACE_DEFINED__ */
4648
4649typedef struct SPAUDIOSTATUS {
4650    LONG cbFreeBuffSpace;
4651    ULONG cbNonBlockingIO;
4652    SPAUDIOSTATE State;
4653    ULONGLONG CurSeekPos;
4654    ULONGLONG CurDevicePos;
4655    DWORD dwAudioLevel;
4656    DWORD dwReserved2;
4657} SPAUDIOSTATUS;
4658typedef struct SPAUDIOBUFFERINFO {
4659    ULONG ulMsMinNotification;
4660    ULONG ulMsBufferSize;
4661    ULONG ulMsEventBias;
4662} SPAUDIOBUFFERINFO;
4663/*****************************************************************************
4664 * ISpAudio interface
4665 */
4666#ifndef __ISpAudio_INTERFACE_DEFINED__
4667#define __ISpAudio_INTERFACE_DEFINED__
4668
4669DEFINE_GUID(IID_ISpAudio, 0xc05c768f, 0xfae8, 0x4ec2, 0x8e,0x07, 0x33,0x83,0x21,0xc1,0x24,0x52);
4670#if defined(__cplusplus) && !defined(CINTERFACE)
4671MIDL_INTERFACE("c05c768f-fae8-4ec2-8e07-338321c12452")
4672ISpAudio : public ISpStreamFormat
4673{
4674    virtual HRESULT STDMETHODCALLTYPE SetState(
4675        SPAUDIOSTATE NewState,
4676        ULONGLONG ullReserved) = 0;
4677
4678    virtual HRESULT STDMETHODCALLTYPE SetFormat(
4679        REFGUID rguidFmtId,
4680        const WAVEFORMATEX *pWaveFormatEx) = 0;
4681
4682    virtual HRESULT STDMETHODCALLTYPE GetStatus(
4683        SPAUDIOSTATUS *pStatus) = 0;
4684
4685    virtual HRESULT STDMETHODCALLTYPE SetBufferInfo(
4686        const SPAUDIOBUFFERINFO *pBuffInfo) = 0;
4687
4688    virtual HRESULT STDMETHODCALLTYPE GetBufferInfo(
4689        SPAUDIOBUFFERINFO *pBuffInfo) = 0;
4690
4691    virtual HRESULT STDMETHODCALLTYPE GetDefaultFormat(
4692        GUID *pFormatId,
4693        WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
4694
4695    virtual HANDLE STDMETHODCALLTYPE EventHandle(
4696        ) = 0;
4697
4698    virtual HRESULT STDMETHODCALLTYPE GetVolumeLevel(
4699        ULONG *pLevel) = 0;
4700
4701    virtual HRESULT STDMETHODCALLTYPE SetVolumeLevel(
4702        ULONG Level) = 0;
4703
4704    virtual HRESULT STDMETHODCALLTYPE GetBufferNotifySize(
4705        ULONG *pcbSize) = 0;
4706
4707    virtual HRESULT STDMETHODCALLTYPE SetBufferNotifySize(
4708        ULONG cbSize) = 0;
4709
4710};
4711#ifdef __CRT_UUID_DECL
4712__CRT_UUID_DECL(ISpAudio, 0xc05c768f, 0xfae8, 0x4ec2, 0x8e,0x07, 0x33,0x83,0x21,0xc1,0x24,0x52)
4713#endif
4714#else
4715typedef struct ISpAudioVtbl {
4716    BEGIN_INTERFACE
4717
4718    /*** IUnknown methods ***/
4719    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4720        ISpAudio* This,
4721        REFIID riid,
4722        void **ppvObject);
4723
4724    ULONG (STDMETHODCALLTYPE *AddRef)(
4725        ISpAudio* This);
4726
4727    ULONG (STDMETHODCALLTYPE *Release)(
4728        ISpAudio* This);
4729
4730    /*** ISequentialStream methods ***/
4731    HRESULT (STDMETHODCALLTYPE *Read)(
4732        ISpAudio* This,
4733        void *pv,
4734        ULONG cb,
4735        ULONG *pcbRead);
4736
4737    HRESULT (STDMETHODCALLTYPE *Write)(
4738        ISpAudio* This,
4739        const void *pv,
4740        ULONG cb,
4741        ULONG *pcbWritten);
4742
4743    /*** IStream methods ***/
4744    HRESULT (STDMETHODCALLTYPE *Seek)(
4745        ISpAudio* This,
4746        LARGE_INTEGER dlibMove,
4747        DWORD dwOrigin,
4748        ULARGE_INTEGER *plibNewPosition);
4749
4750    HRESULT (STDMETHODCALLTYPE *SetSize)(
4751        ISpAudio* This,
4752        ULARGE_INTEGER libNewSize);
4753
4754    HRESULT (STDMETHODCALLTYPE *CopyTo)(
4755        ISpAudio* This,
4756        IStream *pstm,
4757        ULARGE_INTEGER cb,
4758        ULARGE_INTEGER *pcbRead,
4759        ULARGE_INTEGER *pcbWritten);
4760
4761    HRESULT (STDMETHODCALLTYPE *Commit)(
4762        ISpAudio* This,
4763        DWORD grfCommitFlags);
4764
4765    HRESULT (STDMETHODCALLTYPE *Revert)(
4766        ISpAudio* This);
4767
4768    HRESULT (STDMETHODCALLTYPE *LockRegion)(
4769        ISpAudio* This,
4770        ULARGE_INTEGER libOffset,
4771        ULARGE_INTEGER cb,
4772        DWORD dwLockType);
4773
4774    HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
4775        ISpAudio* This,
4776        ULARGE_INTEGER libOffset,
4777        ULARGE_INTEGER cb,
4778        DWORD dwLockType);
4779
4780    HRESULT (STDMETHODCALLTYPE *Stat)(
4781        ISpAudio* This,
4782        STATSTG *pstatstg,
4783        DWORD grfStatFlag);
4784
4785    HRESULT (STDMETHODCALLTYPE *Clone)(
4786        ISpAudio* This,
4787        IStream **ppstm);
4788
4789    /*** ISpStreamFormat methods ***/
4790    HRESULT (STDMETHODCALLTYPE *GetFormat)(
4791        ISpAudio* This,
4792        GUID *pguidFormatId,
4793        WAVEFORMATEX **ppCoMemWaveFormatEx);
4794
4795    /*** ISpAudio methods ***/
4796    HRESULT (STDMETHODCALLTYPE *SetState)(
4797        ISpAudio* This,
4798        SPAUDIOSTATE NewState,
4799        ULONGLONG ullReserved);
4800
4801    HRESULT (STDMETHODCALLTYPE *SetFormat)(
4802        ISpAudio* This,
4803        REFGUID rguidFmtId,
4804        const WAVEFORMATEX *pWaveFormatEx);
4805
4806    HRESULT (STDMETHODCALLTYPE *GetStatus)(
4807        ISpAudio* This,
4808        SPAUDIOSTATUS *pStatus);
4809
4810    HRESULT (STDMETHODCALLTYPE *SetBufferInfo)(
4811        ISpAudio* This,
4812        const SPAUDIOBUFFERINFO *pBuffInfo);
4813
4814    HRESULT (STDMETHODCALLTYPE *GetBufferInfo)(
4815        ISpAudio* This,
4816        SPAUDIOBUFFERINFO *pBuffInfo);
4817
4818    HRESULT (STDMETHODCALLTYPE *GetDefaultFormat)(
4819        ISpAudio* This,
4820        GUID *pFormatId,
4821        WAVEFORMATEX **ppCoMemWaveFormatEx);
4822
4823    HANDLE (STDMETHODCALLTYPE *EventHandle)(
4824        ISpAudio* This);
4825
4826    HRESULT (STDMETHODCALLTYPE *GetVolumeLevel)(
4827        ISpAudio* This,
4828        ULONG *pLevel);
4829
4830    HRESULT (STDMETHODCALLTYPE *SetVolumeLevel)(
4831        ISpAudio* This,
4832        ULONG Level);
4833
4834    HRESULT (STDMETHODCALLTYPE *GetBufferNotifySize)(
4835        ISpAudio* This,
4836        ULONG *pcbSize);
4837
4838    HRESULT (STDMETHODCALLTYPE *SetBufferNotifySize)(
4839        ISpAudio* This,
4840        ULONG cbSize);
4841
4842    END_INTERFACE
4843} ISpAudioVtbl;
4844interface ISpAudio {
4845    CONST_VTBL ISpAudioVtbl* lpVtbl;
4846};
4847
4848#ifdef COBJMACROS
4849#ifndef WIDL_C_INLINE_WRAPPERS
4850/*** IUnknown methods ***/
4851#define ISpAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4852#define ISpAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
4853#define ISpAudio_Release(This) (This)->lpVtbl->Release(This)
4854/*** ISequentialStream methods ***/
4855#define ISpAudio_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
4856#define ISpAudio_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
4857/*** IStream methods ***/
4858#define ISpAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
4859#define ISpAudio_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
4860#define ISpAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
4861#define ISpAudio_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
4862#define ISpAudio_Revert(This) (This)->lpVtbl->Revert(This)
4863#define ISpAudio_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
4864#define ISpAudio_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
4865#define ISpAudio_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
4866#define ISpAudio_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
4867/*** ISpStreamFormat methods ***/
4868#define ISpAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
4869/*** ISpAudio methods ***/
4870#define ISpAudio_SetState(This,NewState,ullReserved) (This)->lpVtbl->SetState(This,NewState,ullReserved)
4871#define ISpAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) (This)->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx)
4872#define ISpAudio_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
4873#define ISpAudio_SetBufferInfo(This,pBuffInfo) (This)->lpVtbl->SetBufferInfo(This,pBuffInfo)
4874#define ISpAudio_GetBufferInfo(This,pBuffInfo) (This)->lpVtbl->GetBufferInfo(This,pBuffInfo)
4875#define ISpAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
4876#define ISpAudio_EventHandle(This) (This)->lpVtbl->EventHandle(This)
4877#define ISpAudio_GetVolumeLevel(This,pLevel) (This)->lpVtbl->GetVolumeLevel(This,pLevel)
4878#define ISpAudio_SetVolumeLevel(This,Level) (This)->lpVtbl->SetVolumeLevel(This,Level)
4879#define ISpAudio_GetBufferNotifySize(This,pcbSize) (This)->lpVtbl->GetBufferNotifySize(This,pcbSize)
4880#define ISpAudio_SetBufferNotifySize(This,cbSize) (This)->lpVtbl->SetBufferNotifySize(This,cbSize)
4881#else
4882/*** IUnknown methods ***/
4883static FORCEINLINE HRESULT ISpAudio_QueryInterface(ISpAudio* This,REFIID riid,void **ppvObject) {
4884    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4885}
4886static FORCEINLINE ULONG ISpAudio_AddRef(ISpAudio* This) {
4887    return This->lpVtbl->AddRef(This);
4888}
4889static FORCEINLINE ULONG ISpAudio_Release(ISpAudio* This) {
4890    return This->lpVtbl->Release(This);
4891}
4892/*** ISequentialStream methods ***/
4893static FORCEINLINE HRESULT ISpAudio_Read(ISpAudio* This,void *pv,ULONG cb,ULONG *pcbRead) {
4894    return This->lpVtbl->Read(This,pv,cb,pcbRead);
4895}
4896static FORCEINLINE HRESULT ISpAudio_Write(ISpAudio* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
4897    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
4898}
4899/*** IStream methods ***/
4900static FORCEINLINE HRESULT ISpAudio_Seek(ISpAudio* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
4901    return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
4902}
4903static FORCEINLINE HRESULT ISpAudio_SetSize(ISpAudio* This,ULARGE_INTEGER libNewSize) {
4904    return This->lpVtbl->SetSize(This,libNewSize);
4905}
4906static FORCEINLINE HRESULT ISpAudio_CopyTo(ISpAudio* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
4907    return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
4908}
4909static FORCEINLINE HRESULT ISpAudio_Commit(ISpAudio* This,DWORD grfCommitFlags) {
4910    return This->lpVtbl->Commit(This,grfCommitFlags);
4911}
4912static FORCEINLINE HRESULT ISpAudio_Revert(ISpAudio* This) {
4913    return This->lpVtbl->Revert(This);
4914}
4915static FORCEINLINE HRESULT ISpAudio_LockRegion(ISpAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4916    return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
4917}
4918static FORCEINLINE HRESULT ISpAudio_UnlockRegion(ISpAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
4919    return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
4920}
4921static FORCEINLINE HRESULT ISpAudio_Stat(ISpAudio* This,STATSTG *pstatstg,DWORD grfStatFlag) {
4922    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
4923}
4924static FORCEINLINE HRESULT ISpAudio_Clone(ISpAudio* This,IStream **ppstm) {
4925    return This->lpVtbl->Clone(This,ppstm);
4926}
4927/*** ISpStreamFormat methods ***/
4928static FORCEINLINE HRESULT ISpAudio_GetFormat(ISpAudio* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
4929    return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
4930}
4931/*** ISpAudio methods ***/
4932static FORCEINLINE HRESULT ISpAudio_SetState(ISpAudio* This,SPAUDIOSTATE NewState,ULONGLONG ullReserved) {
4933    return This->lpVtbl->SetState(This,NewState,ullReserved);
4934}
4935static FORCEINLINE HRESULT ISpAudio_SetFormat(ISpAudio* This,REFGUID rguidFmtId,const WAVEFORMATEX *pWaveFormatEx) {
4936    return This->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx);
4937}
4938static FORCEINLINE HRESULT ISpAudio_GetStatus(ISpAudio* This,SPAUDIOSTATUS *pStatus) {
4939    return This->lpVtbl->GetStatus(This,pStatus);
4940}
4941static FORCEINLINE HRESULT ISpAudio_SetBufferInfo(ISpAudio* This,const SPAUDIOBUFFERINFO *pBuffInfo) {
4942    return This->lpVtbl->SetBufferInfo(This,pBuffInfo);
4943}
4944static FORCEINLINE HRESULT ISpAudio_GetBufferInfo(ISpAudio* This,SPAUDIOBUFFERINFO *pBuffInfo) {
4945    return This->lpVtbl->GetBufferInfo(This,pBuffInfo);
4946}
4947static FORCEINLINE HRESULT ISpAudio_GetDefaultFormat(ISpAudio* This,GUID *pFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
4948    return This->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx);
4949}
4950static FORCEINLINE HANDLE ISpAudio_EventHandle(ISpAudio* This) {
4951    return This->lpVtbl->EventHandle(This);
4952}
4953static FORCEINLINE HRESULT ISpAudio_GetVolumeLevel(ISpAudio* This,ULONG *pLevel) {
4954    return This->lpVtbl->GetVolumeLevel(This,pLevel);
4955}
4956static FORCEINLINE HRESULT ISpAudio_SetVolumeLevel(ISpAudio* This,ULONG Level) {
4957    return This->lpVtbl->SetVolumeLevel(This,Level);
4958}
4959static FORCEINLINE HRESULT ISpAudio_GetBufferNotifySize(ISpAudio* This,ULONG *pcbSize) {
4960    return This->lpVtbl->GetBufferNotifySize(This,pcbSize);
4961}
4962static FORCEINLINE HRESULT ISpAudio_SetBufferNotifySize(ISpAudio* This,ULONG cbSize) {
4963    return This->lpVtbl->SetBufferNotifySize(This,cbSize);
4964}
4965#endif
4966#endif
4967
4968#endif
4969
4970HRESULT STDMETHODCALLTYPE ISpAudio_SetState_Proxy(
4971    ISpAudio* This,
4972    SPAUDIOSTATE NewState,
4973    ULONGLONG ullReserved);
4974void __RPC_STUB ISpAudio_SetState_Stub(
4975    IRpcStubBuffer* This,
4976    IRpcChannelBuffer* pRpcChannelBuffer,
4977    PRPC_MESSAGE pRpcMessage,
4978    DWORD* pdwStubPhase);
4979HRESULT STDMETHODCALLTYPE ISpAudio_SetFormat_Proxy(
4980    ISpAudio* This,
4981    REFGUID rguidFmtId,
4982    const WAVEFORMATEX *pWaveFormatEx);
4983void __RPC_STUB ISpAudio_SetFormat_Stub(
4984    IRpcStubBuffer* This,
4985    IRpcChannelBuffer* pRpcChannelBuffer,
4986    PRPC_MESSAGE pRpcMessage,
4987    DWORD* pdwStubPhase);
4988HRESULT STDMETHODCALLTYPE ISpAudio_GetStatus_Proxy(
4989    ISpAudio* This,
4990    SPAUDIOSTATUS *pStatus);
4991void __RPC_STUB ISpAudio_GetStatus_Stub(
4992    IRpcStubBuffer* This,
4993    IRpcChannelBuffer* pRpcChannelBuffer,
4994    PRPC_MESSAGE pRpcMessage,
4995    DWORD* pdwStubPhase);
4996HRESULT STDMETHODCALLTYPE ISpAudio_SetBufferInfo_Proxy(
4997    ISpAudio* This,
4998    const SPAUDIOBUFFERINFO *pBuffInfo);
4999void __RPC_STUB ISpAudio_SetBufferInfo_Stub(
5000    IRpcStubBuffer* This,
5001    IRpcChannelBuffer* pRpcChannelBuffer,
5002    PRPC_MESSAGE pRpcMessage,
5003    DWORD* pdwStubPhase);
5004HRESULT STDMETHODCALLTYPE ISpAudio_GetBufferInfo_Proxy(
5005    ISpAudio* This,
5006    SPAUDIOBUFFERINFO *pBuffInfo);
5007void __RPC_STUB ISpAudio_GetBufferInfo_Stub(
5008    IRpcStubBuffer* This,
5009    IRpcChannelBuffer* pRpcChannelBuffer,
5010    PRPC_MESSAGE pRpcMessage,
5011    DWORD* pdwStubPhase);
5012HRESULT STDMETHODCALLTYPE ISpAudio_GetDefaultFormat_Proxy(
5013    ISpAudio* This,
5014    GUID *pFormatId,
5015    WAVEFORMATEX **ppCoMemWaveFormatEx);
5016void __RPC_STUB ISpAudio_GetDefaultFormat_Stub(
5017    IRpcStubBuffer* This,
5018    IRpcChannelBuffer* pRpcChannelBuffer,
5019    PRPC_MESSAGE pRpcMessage,
5020    DWORD* pdwStubPhase);
5021HANDLE STDMETHODCALLTYPE ISpAudio_EventHandle_Proxy(
5022    ISpAudio* This);
5023void __RPC_STUB ISpAudio_EventHandle_Stub(
5024    IRpcStubBuffer* This,
5025    IRpcChannelBuffer* pRpcChannelBuffer,
5026    PRPC_MESSAGE pRpcMessage,
5027    DWORD* pdwStubPhase);
5028HRESULT STDMETHODCALLTYPE ISpAudio_GetVolumeLevel_Proxy(
5029    ISpAudio* This,
5030    ULONG *pLevel);
5031void __RPC_STUB ISpAudio_GetVolumeLevel_Stub(
5032    IRpcStubBuffer* This,
5033    IRpcChannelBuffer* pRpcChannelBuffer,
5034    PRPC_MESSAGE pRpcMessage,
5035    DWORD* pdwStubPhase);
5036HRESULT STDMETHODCALLTYPE ISpAudio_SetVolumeLevel_Proxy(
5037    ISpAudio* This,
5038    ULONG Level);
5039void __RPC_STUB ISpAudio_SetVolumeLevel_Stub(
5040    IRpcStubBuffer* This,
5041    IRpcChannelBuffer* pRpcChannelBuffer,
5042    PRPC_MESSAGE pRpcMessage,
5043    DWORD* pdwStubPhase);
5044HRESULT STDMETHODCALLTYPE ISpAudio_GetBufferNotifySize_Proxy(
5045    ISpAudio* This,
5046    ULONG *pcbSize);
5047void __RPC_STUB ISpAudio_GetBufferNotifySize_Stub(
5048    IRpcStubBuffer* This,
5049    IRpcChannelBuffer* pRpcChannelBuffer,
5050    PRPC_MESSAGE pRpcMessage,
5051    DWORD* pdwStubPhase);
5052HRESULT STDMETHODCALLTYPE ISpAudio_SetBufferNotifySize_Proxy(
5053    ISpAudio* This,
5054    ULONG cbSize);
5055void __RPC_STUB ISpAudio_SetBufferNotifySize_Stub(
5056    IRpcStubBuffer* This,
5057    IRpcChannelBuffer* pRpcChannelBuffer,
5058    PRPC_MESSAGE pRpcMessage,
5059    DWORD* pdwStubPhase);
5060
5061#endif  /* __ISpAudio_INTERFACE_DEFINED__ */
5062
5063/*****************************************************************************
5064 * ISpMMSysAudio interface
5065 */
5066#ifndef __ISpMMSysAudio_INTERFACE_DEFINED__
5067#define __ISpMMSysAudio_INTERFACE_DEFINED__
5068
5069DEFINE_GUID(IID_ISpMMSysAudio, 0x15806f6e, 0x1d70, 0x4b48, 0x98,0xe6, 0x3b,0x1a,0x00,0x75,0x09,0xab);
5070#if defined(__cplusplus) && !defined(CINTERFACE)
5071MIDL_INTERFACE("15806f6e-1d70-4b48-98e6-3b1a007509ab")
5072ISpMMSysAudio : public ISpAudio
5073{
5074    virtual HRESULT STDMETHODCALLTYPE GetDeviceId(
5075        UINT *puDeviceId) = 0;
5076
5077    virtual HRESULT STDMETHODCALLTYPE SetDeviceId(
5078        UINT uDeviceId) = 0;
5079
5080    virtual HRESULT STDMETHODCALLTYPE GetMMHandle(
5081        void **pHandle) = 0;
5082
5083    virtual HRESULT STDMETHODCALLTYPE GetLineId(
5084        UINT *puLineId) = 0;
5085
5086    virtual HRESULT STDMETHODCALLTYPE SetLineId(
5087        UINT uLineId) = 0;
5088
5089};
5090#ifdef __CRT_UUID_DECL
5091__CRT_UUID_DECL(ISpMMSysAudio, 0x15806f6e, 0x1d70, 0x4b48, 0x98,0xe6, 0x3b,0x1a,0x00,0x75,0x09,0xab)
5092#endif
5093#else
5094typedef struct ISpMMSysAudioVtbl {
5095    BEGIN_INTERFACE
5096
5097    /*** IUnknown methods ***/
5098    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5099        ISpMMSysAudio* This,
5100        REFIID riid,
5101        void **ppvObject);
5102
5103    ULONG (STDMETHODCALLTYPE *AddRef)(
5104        ISpMMSysAudio* This);
5105
5106    ULONG (STDMETHODCALLTYPE *Release)(
5107        ISpMMSysAudio* This);
5108
5109    /*** ISequentialStream methods ***/
5110    HRESULT (STDMETHODCALLTYPE *Read)(
5111        ISpMMSysAudio* This,
5112        void *pv,
5113        ULONG cb,
5114        ULONG *pcbRead);
5115
5116    HRESULT (STDMETHODCALLTYPE *Write)(
5117        ISpMMSysAudio* This,
5118        const void *pv,
5119        ULONG cb,
5120        ULONG *pcbWritten);
5121
5122    /*** IStream methods ***/
5123    HRESULT (STDMETHODCALLTYPE *Seek)(
5124        ISpMMSysAudio* This,
5125        LARGE_INTEGER dlibMove,
5126        DWORD dwOrigin,
5127        ULARGE_INTEGER *plibNewPosition);
5128
5129    HRESULT (STDMETHODCALLTYPE *SetSize)(
5130        ISpMMSysAudio* This,
5131        ULARGE_INTEGER libNewSize);
5132
5133    HRESULT (STDMETHODCALLTYPE *CopyTo)(
5134        ISpMMSysAudio* This,
5135        IStream *pstm,
5136        ULARGE_INTEGER cb,
5137        ULARGE_INTEGER *pcbRead,
5138        ULARGE_INTEGER *pcbWritten);
5139
5140    HRESULT (STDMETHODCALLTYPE *Commit)(
5141        ISpMMSysAudio* This,
5142        DWORD grfCommitFlags);
5143
5144    HRESULT (STDMETHODCALLTYPE *Revert)(
5145        ISpMMSysAudio* This);
5146
5147    HRESULT (STDMETHODCALLTYPE *LockRegion)(
5148        ISpMMSysAudio* This,
5149        ULARGE_INTEGER libOffset,
5150        ULARGE_INTEGER cb,
5151        DWORD dwLockType);
5152
5153    HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
5154        ISpMMSysAudio* This,
5155        ULARGE_INTEGER libOffset,
5156        ULARGE_INTEGER cb,
5157        DWORD dwLockType);
5158
5159    HRESULT (STDMETHODCALLTYPE *Stat)(
5160        ISpMMSysAudio* This,
5161        STATSTG *pstatstg,
5162        DWORD grfStatFlag);
5163
5164    HRESULT (STDMETHODCALLTYPE *Clone)(
5165        ISpMMSysAudio* This,
5166        IStream **ppstm);
5167
5168    /*** ISpStreamFormat methods ***/
5169    HRESULT (STDMETHODCALLTYPE *GetFormat)(
5170        ISpMMSysAudio* This,
5171        GUID *pguidFormatId,
5172        WAVEFORMATEX **ppCoMemWaveFormatEx);
5173
5174    /*** ISpAudio methods ***/
5175    HRESULT (STDMETHODCALLTYPE *SetState)(
5176        ISpMMSysAudio* This,
5177        SPAUDIOSTATE NewState,
5178        ULONGLONG ullReserved);
5179
5180    HRESULT (STDMETHODCALLTYPE *SetFormat)(
5181        ISpMMSysAudio* This,
5182        REFGUID rguidFmtId,
5183        const WAVEFORMATEX *pWaveFormatEx);
5184
5185    HRESULT (STDMETHODCALLTYPE *GetStatus)(
5186        ISpMMSysAudio* This,
5187        SPAUDIOSTATUS *pStatus);
5188
5189    HRESULT (STDMETHODCALLTYPE *SetBufferInfo)(
5190        ISpMMSysAudio* This,
5191        const SPAUDIOBUFFERINFO *pBuffInfo);
5192
5193    HRESULT (STDMETHODCALLTYPE *GetBufferInfo)(
5194        ISpMMSysAudio* This,
5195        SPAUDIOBUFFERINFO *pBuffInfo);
5196
5197    HRESULT (STDMETHODCALLTYPE *GetDefaultFormat)(
5198        ISpMMSysAudio* This,
5199        GUID *pFormatId,
5200        WAVEFORMATEX **ppCoMemWaveFormatEx);
5201
5202    HANDLE (STDMETHODCALLTYPE *EventHandle)(
5203        ISpMMSysAudio* This);
5204
5205    HRESULT (STDMETHODCALLTYPE *GetVolumeLevel)(
5206        ISpMMSysAudio* This,
5207        ULONG *pLevel);
5208
5209    HRESULT (STDMETHODCALLTYPE *SetVolumeLevel)(
5210        ISpMMSysAudio* This,
5211        ULONG Level);
5212
5213    HRESULT (STDMETHODCALLTYPE *GetBufferNotifySize)(
5214        ISpMMSysAudio* This,
5215        ULONG *pcbSize);
5216
5217    HRESULT (STDMETHODCALLTYPE *SetBufferNotifySize)(
5218        ISpMMSysAudio* This,
5219        ULONG cbSize);
5220
5221    /*** ISpMMSysAudio methods ***/
5222    HRESULT (STDMETHODCALLTYPE *GetDeviceId)(
5223        ISpMMSysAudio* This,
5224        UINT *puDeviceId);
5225
5226    HRESULT (STDMETHODCALLTYPE *SetDeviceId)(
5227        ISpMMSysAudio* This,
5228        UINT uDeviceId);
5229
5230    HRESULT (STDMETHODCALLTYPE *GetMMHandle)(
5231        ISpMMSysAudio* This,
5232        void **pHandle);
5233
5234    HRESULT (STDMETHODCALLTYPE *GetLineId)(
5235        ISpMMSysAudio* This,
5236        UINT *puLineId);
5237
5238    HRESULT (STDMETHODCALLTYPE *SetLineId)(
5239        ISpMMSysAudio* This,
5240        UINT uLineId);
5241
5242    END_INTERFACE
5243} ISpMMSysAudioVtbl;
5244interface ISpMMSysAudio {
5245    CONST_VTBL ISpMMSysAudioVtbl* lpVtbl;
5246};
5247
5248#ifdef COBJMACROS
5249#ifndef WIDL_C_INLINE_WRAPPERS
5250/*** IUnknown methods ***/
5251#define ISpMMSysAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5252#define ISpMMSysAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
5253#define ISpMMSysAudio_Release(This) (This)->lpVtbl->Release(This)
5254/*** ISequentialStream methods ***/
5255#define ISpMMSysAudio_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
5256#define ISpMMSysAudio_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
5257/*** IStream methods ***/
5258#define ISpMMSysAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
5259#define ISpMMSysAudio_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
5260#define ISpMMSysAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
5261#define ISpMMSysAudio_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
5262#define ISpMMSysAudio_Revert(This) (This)->lpVtbl->Revert(This)
5263#define ISpMMSysAudio_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
5264#define ISpMMSysAudio_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
5265#define ISpMMSysAudio_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
5266#define ISpMMSysAudio_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
5267/*** ISpStreamFormat methods ***/
5268#define ISpMMSysAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
5269/*** ISpAudio methods ***/
5270#define ISpMMSysAudio_SetState(This,NewState,ullReserved) (This)->lpVtbl->SetState(This,NewState,ullReserved)
5271#define ISpMMSysAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) (This)->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx)
5272#define ISpMMSysAudio_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
5273#define ISpMMSysAudio_SetBufferInfo(This,pBuffInfo) (This)->lpVtbl->SetBufferInfo(This,pBuffInfo)
5274#define ISpMMSysAudio_GetBufferInfo(This,pBuffInfo) (This)->lpVtbl->GetBufferInfo(This,pBuffInfo)
5275#define ISpMMSysAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
5276#define ISpMMSysAudio_EventHandle(This) (This)->lpVtbl->EventHandle(This)
5277#define ISpMMSysAudio_GetVolumeLevel(This,pLevel) (This)->lpVtbl->GetVolumeLevel(This,pLevel)
5278#define ISpMMSysAudio_SetVolumeLevel(This,Level) (This)->lpVtbl->SetVolumeLevel(This,Level)
5279#define ISpMMSysAudio_GetBufferNotifySize(This,pcbSize) (This)->lpVtbl->GetBufferNotifySize(This,pcbSize)
5280#define ISpMMSysAudio_SetBufferNotifySize(This,cbSize) (This)->lpVtbl->SetBufferNotifySize(This,cbSize)
5281/*** ISpMMSysAudio methods ***/
5282#define ISpMMSysAudio_GetDeviceId(This,puDeviceId) (This)->lpVtbl->GetDeviceId(This,puDeviceId)
5283#define ISpMMSysAudio_SetDeviceId(This,uDeviceId) (This)->lpVtbl->SetDeviceId(This,uDeviceId)
5284#define ISpMMSysAudio_GetMMHandle(This,pHandle) (This)->lpVtbl->GetMMHandle(This,pHandle)
5285#define ISpMMSysAudio_GetLineId(This,puLineId) (This)->lpVtbl->GetLineId(This,puLineId)
5286#define ISpMMSysAudio_SetLineId(This,uLineId) (This)->lpVtbl->SetLineId(This,uLineId)
5287#else
5288/*** IUnknown methods ***/
5289static FORCEINLINE HRESULT ISpMMSysAudio_QueryInterface(ISpMMSysAudio* This,REFIID riid,void **ppvObject) {
5290    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5291}
5292static FORCEINLINE ULONG ISpMMSysAudio_AddRef(ISpMMSysAudio* This) {
5293    return This->lpVtbl->AddRef(This);
5294}
5295static FORCEINLINE ULONG ISpMMSysAudio_Release(ISpMMSysAudio* This) {
5296    return This->lpVtbl->Release(This);
5297}
5298/*** ISequentialStream methods ***/
5299static FORCEINLINE HRESULT ISpMMSysAudio_Read(ISpMMSysAudio* This,void *pv,ULONG cb,ULONG *pcbRead) {
5300    return This->lpVtbl->Read(This,pv,cb,pcbRead);
5301}
5302static FORCEINLINE HRESULT ISpMMSysAudio_Write(ISpMMSysAudio* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
5303    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
5304}
5305/*** IStream methods ***/
5306static FORCEINLINE HRESULT ISpMMSysAudio_Seek(ISpMMSysAudio* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
5307    return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
5308}
5309static FORCEINLINE HRESULT ISpMMSysAudio_SetSize(ISpMMSysAudio* This,ULARGE_INTEGER libNewSize) {
5310    return This->lpVtbl->SetSize(This,libNewSize);
5311}
5312static FORCEINLINE HRESULT ISpMMSysAudio_CopyTo(ISpMMSysAudio* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
5313    return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
5314}
5315static FORCEINLINE HRESULT ISpMMSysAudio_Commit(ISpMMSysAudio* This,DWORD grfCommitFlags) {
5316    return This->lpVtbl->Commit(This,grfCommitFlags);
5317}
5318static FORCEINLINE HRESULT ISpMMSysAudio_Revert(ISpMMSysAudio* This) {
5319    return This->lpVtbl->Revert(This);
5320}
5321static FORCEINLINE HRESULT ISpMMSysAudio_LockRegion(ISpMMSysAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
5322    return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
5323}
5324static FORCEINLINE HRESULT ISpMMSysAudio_UnlockRegion(ISpMMSysAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
5325    return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
5326}
5327static FORCEINLINE HRESULT ISpMMSysAudio_Stat(ISpMMSysAudio* This,STATSTG *pstatstg,DWORD grfStatFlag) {
5328    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
5329}
5330static FORCEINLINE HRESULT ISpMMSysAudio_Clone(ISpMMSysAudio* This,IStream **ppstm) {
5331    return This->lpVtbl->Clone(This,ppstm);
5332}
5333/*** ISpStreamFormat methods ***/
5334static FORCEINLINE HRESULT ISpMMSysAudio_GetFormat(ISpMMSysAudio* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
5335    return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
5336}
5337/*** ISpAudio methods ***/
5338static FORCEINLINE HRESULT ISpMMSysAudio_SetState(ISpMMSysAudio* This,SPAUDIOSTATE NewState,ULONGLONG ullReserved) {
5339    return This->lpVtbl->SetState(This,NewState,ullReserved);
5340}
5341static FORCEINLINE HRESULT ISpMMSysAudio_SetFormat(ISpMMSysAudio* This,REFGUID rguidFmtId,const WAVEFORMATEX *pWaveFormatEx) {
5342    return This->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx);
5343}
5344static FORCEINLINE HRESULT ISpMMSysAudio_GetStatus(ISpMMSysAudio* This,SPAUDIOSTATUS *pStatus) {
5345    return This->lpVtbl->GetStatus(This,pStatus);
5346}
5347static FORCEINLINE HRESULT ISpMMSysAudio_SetBufferInfo(ISpMMSysAudio* This,const SPAUDIOBUFFERINFO *pBuffInfo) {
5348    return This->lpVtbl->SetBufferInfo(This,pBuffInfo);
5349}
5350static FORCEINLINE HRESULT ISpMMSysAudio_GetBufferInfo(ISpMMSysAudio* This,SPAUDIOBUFFERINFO *pBuffInfo) {
5351    return This->lpVtbl->GetBufferInfo(This,pBuffInfo);
5352}
5353static FORCEINLINE HRESULT ISpMMSysAudio_GetDefaultFormat(ISpMMSysAudio* This,GUID *pFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
5354    return This->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx);
5355}
5356static FORCEINLINE HANDLE ISpMMSysAudio_EventHandle(ISpMMSysAudio* This) {
5357    return This->lpVtbl->EventHandle(This);
5358}
5359static FORCEINLINE HRESULT ISpMMSysAudio_GetVolumeLevel(ISpMMSysAudio* This,ULONG *pLevel) {
5360    return This->lpVtbl->GetVolumeLevel(This,pLevel);
5361}
5362static FORCEINLINE HRESULT ISpMMSysAudio_SetVolumeLevel(ISpMMSysAudio* This,ULONG Level) {
5363    return This->lpVtbl->SetVolumeLevel(This,Level);
5364}
5365static FORCEINLINE HRESULT ISpMMSysAudio_GetBufferNotifySize(ISpMMSysAudio* This,ULONG *pcbSize) {
5366    return This->lpVtbl->GetBufferNotifySize(This,pcbSize);
5367}
5368static FORCEINLINE HRESULT ISpMMSysAudio_SetBufferNotifySize(ISpMMSysAudio* This,ULONG cbSize) {
5369    return This->lpVtbl->SetBufferNotifySize(This,cbSize);
5370}
5371/*** ISpMMSysAudio methods ***/
5372static FORCEINLINE HRESULT ISpMMSysAudio_GetDeviceId(ISpMMSysAudio* This,UINT *puDeviceId) {
5373    return This->lpVtbl->GetDeviceId(This,puDeviceId);
5374}
5375static FORCEINLINE HRESULT ISpMMSysAudio_SetDeviceId(ISpMMSysAudio* This,UINT uDeviceId) {
5376    return This->lpVtbl->SetDeviceId(This,uDeviceId);
5377}
5378static FORCEINLINE HRESULT ISpMMSysAudio_GetMMHandle(ISpMMSysAudio* This,void **pHandle) {
5379    return This->lpVtbl->GetMMHandle(This,pHandle);
5380}
5381static FORCEINLINE HRESULT ISpMMSysAudio_GetLineId(ISpMMSysAudio* This,UINT *puLineId) {
5382    return This->lpVtbl->GetLineId(This,puLineId);
5383}
5384static FORCEINLINE HRESULT ISpMMSysAudio_SetLineId(ISpMMSysAudio* This,UINT uLineId) {
5385    return This->lpVtbl->SetLineId(This,uLineId);
5386}
5387#endif
5388#endif
5389
5390#endif
5391
5392HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetDeviceId_Proxy(
5393    ISpMMSysAudio* This,
5394    UINT *puDeviceId);
5395void __RPC_STUB ISpMMSysAudio_GetDeviceId_Stub(
5396    IRpcStubBuffer* This,
5397    IRpcChannelBuffer* pRpcChannelBuffer,
5398    PRPC_MESSAGE pRpcMessage,
5399    DWORD* pdwStubPhase);
5400HRESULT STDMETHODCALLTYPE ISpMMSysAudio_SetDeviceId_Proxy(
5401    ISpMMSysAudio* This,
5402    UINT uDeviceId);
5403void __RPC_STUB ISpMMSysAudio_SetDeviceId_Stub(
5404    IRpcStubBuffer* This,
5405    IRpcChannelBuffer* pRpcChannelBuffer,
5406    PRPC_MESSAGE pRpcMessage,
5407    DWORD* pdwStubPhase);
5408HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetMMHandle_Proxy(
5409    ISpMMSysAudio* This,
5410    void **pHandle);
5411void __RPC_STUB ISpMMSysAudio_GetMMHandle_Stub(
5412    IRpcStubBuffer* This,
5413    IRpcChannelBuffer* pRpcChannelBuffer,
5414    PRPC_MESSAGE pRpcMessage,
5415    DWORD* pdwStubPhase);
5416HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetLineId_Proxy(
5417    ISpMMSysAudio* This,
5418    UINT *puLineId);
5419void __RPC_STUB ISpMMSysAudio_GetLineId_Stub(
5420    IRpcStubBuffer* This,
5421    IRpcChannelBuffer* pRpcChannelBuffer,
5422    PRPC_MESSAGE pRpcMessage,
5423    DWORD* pdwStubPhase);
5424HRESULT STDMETHODCALLTYPE ISpMMSysAudio_SetLineId_Proxy(
5425    ISpMMSysAudio* This,
5426    UINT uLineId);
5427void __RPC_STUB ISpMMSysAudio_SetLineId_Stub(
5428    IRpcStubBuffer* This,
5429    IRpcChannelBuffer* pRpcChannelBuffer,
5430    PRPC_MESSAGE pRpcMessage,
5431    DWORD* pdwStubPhase);
5432
5433#endif  /* __ISpMMSysAudio_INTERFACE_DEFINED__ */
5434
5435/*****************************************************************************
5436 * ISpTranscript interface
5437 */
5438#ifndef __ISpTranscript_INTERFACE_DEFINED__
5439#define __ISpTranscript_INTERFACE_DEFINED__
5440
5441DEFINE_GUID(IID_ISpTranscript, 0x10f63bce, 0x201a, 0x11d3, 0xac,0x70, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
5442#if defined(__cplusplus) && !defined(CINTERFACE)
5443MIDL_INTERFACE("10f63bce-201a-11d3-ac70-00c04f8ee6c0")
5444ISpTranscript : public IUnknown
5445{
5446    virtual HRESULT STDMETHODCALLTYPE GetTranscript(
5447        LPWSTR *ppszTranscript) = 0;
5448
5449    virtual HRESULT STDMETHODCALLTYPE AppendTranscript(
5450        LPCWSTR pszTranscript) = 0;
5451
5452};
5453#ifdef __CRT_UUID_DECL
5454__CRT_UUID_DECL(ISpTranscript, 0x10f63bce, 0x201a, 0x11d3, 0xac,0x70, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
5455#endif
5456#else
5457typedef struct ISpTranscriptVtbl {
5458    BEGIN_INTERFACE
5459
5460    /*** IUnknown methods ***/
5461    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5462        ISpTranscript* This,
5463        REFIID riid,
5464        void **ppvObject);
5465
5466    ULONG (STDMETHODCALLTYPE *AddRef)(
5467        ISpTranscript* This);
5468
5469    ULONG (STDMETHODCALLTYPE *Release)(
5470        ISpTranscript* This);
5471
5472    /*** ISpTranscript methods ***/
5473    HRESULT (STDMETHODCALLTYPE *GetTranscript)(
5474        ISpTranscript* This,
5475        LPWSTR *ppszTranscript);
5476
5477    HRESULT (STDMETHODCALLTYPE *AppendTranscript)(
5478        ISpTranscript* This,
5479        LPCWSTR pszTranscript);
5480
5481    END_INTERFACE
5482} ISpTranscriptVtbl;
5483interface ISpTranscript {
5484    CONST_VTBL ISpTranscriptVtbl* lpVtbl;
5485};
5486
5487#ifdef COBJMACROS
5488#ifndef WIDL_C_INLINE_WRAPPERS
5489/*** IUnknown methods ***/
5490#define ISpTranscript_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5491#define ISpTranscript_AddRef(This) (This)->lpVtbl->AddRef(This)
5492#define ISpTranscript_Release(This) (This)->lpVtbl->Release(This)
5493/*** ISpTranscript methods ***/
5494#define ISpTranscript_GetTranscript(This,ppszTranscript) (This)->lpVtbl->GetTranscript(This,ppszTranscript)
5495#define ISpTranscript_AppendTranscript(This,pszTranscript) (This)->lpVtbl->AppendTranscript(This,pszTranscript)
5496#else
5497/*** IUnknown methods ***/
5498static FORCEINLINE HRESULT ISpTranscript_QueryInterface(ISpTranscript* This,REFIID riid,void **ppvObject) {
5499    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5500}
5501static FORCEINLINE ULONG ISpTranscript_AddRef(ISpTranscript* This) {
5502    return This->lpVtbl->AddRef(This);
5503}
5504static FORCEINLINE ULONG ISpTranscript_Release(ISpTranscript* This) {
5505    return This->lpVtbl->Release(This);
5506}
5507/*** ISpTranscript methods ***/
5508static FORCEINLINE HRESULT ISpTranscript_GetTranscript(ISpTranscript* This,LPWSTR *ppszTranscript) {
5509    return This->lpVtbl->GetTranscript(This,ppszTranscript);
5510}
5511static FORCEINLINE HRESULT ISpTranscript_AppendTranscript(ISpTranscript* This,LPCWSTR pszTranscript) {
5512    return This->lpVtbl->AppendTranscript(This,pszTranscript);
5513}
5514#endif
5515#endif
5516
5517#endif
5518
5519HRESULT STDMETHODCALLTYPE ISpTranscript_GetTranscript_Proxy(
5520    ISpTranscript* This,
5521    LPWSTR *ppszTranscript);
5522void __RPC_STUB ISpTranscript_GetTranscript_Stub(
5523    IRpcStubBuffer* This,
5524    IRpcChannelBuffer* pRpcChannelBuffer,
5525    PRPC_MESSAGE pRpcMessage,
5526    DWORD* pdwStubPhase);
5527HRESULT STDMETHODCALLTYPE ISpTranscript_AppendTranscript_Proxy(
5528    ISpTranscript* This,
5529    LPCWSTR pszTranscript);
5530void __RPC_STUB ISpTranscript_AppendTranscript_Stub(
5531    IRpcStubBuffer* This,
5532    IRpcChannelBuffer* pRpcChannelBuffer,
5533    PRPC_MESSAGE pRpcMessage,
5534    DWORD* pdwStubPhase);
5535
5536#endif  /* __ISpTranscript_INTERFACE_DEFINED__ */
5537
5538typedef WCHAR SPPHONEID;
5539typedef LPWSTR PSPPHONEID;
5540typedef LPCWSTR PCSPPHONEID;
5541typedef struct SPPHRASEELEMENT {
5542    ULONG ulAudioTimeOffset;
5543    ULONG ulAudioSizeTime;
5544    ULONG ulAudioStreamOffset;
5545    ULONG ulAudioSizeBytes;
5546    ULONG ulRetainedStreamOffset;
5547    ULONG ulRetainedSizeBytes;
5548    LPCWSTR pszDisplayText;
5549    LPCWSTR pszLexicalForm;
5550    const SPPHONEID *pszPronunciation;
5551    BYTE bDisplayAttributes;
5552    signed char RequiredConfidence;
5553    signed char ActualConfidence;
5554    BYTE Reserved;
5555    float SREngineConfidence;
5556} SPPHRASEELEMENT;
5557typedef struct SPPHRASERULE SPPHRASERULE;
5558typedef struct SPPHRASEPROPERTY SPPHRASEPROPERTY;
5559struct SPPHRASERULE {
5560    LPCWSTR pszName;
5561    ULONG ulId;
5562    ULONG ulFirstElement;
5563    ULONG ulCountOfElements;
5564    const SPPHRASERULE *pNextSibling;
5565    const SPPHRASERULE *pFirstChild;
5566    float SREngineConfidence;
5567    signed char Confidence;
5568};
5569
5570struct SPPHRASEPROPERTY {
5571    LPCWSTR pszName;
5572    __C89_NAMELESS union {
5573        ULONG ulId;
5574        __C89_NAMELESS struct {
5575            byte bType;
5576            byte bReserved;
5577            unsigned short usArrayIndex;
5578        } __C89_NAMELESSSTRUCTNAME;
5579    } __C89_NAMELESSUNIONNAME;
5580    LPCWSTR pszValue;
5581    VARIANT vValue;
5582    ULONG ulFirstElement;
5583    ULONG ulCountOfElements;
5584    const SPPHRASEPROPERTY *pNextSibling;
5585    const SPPHRASEPROPERTY *pFirstChild;
5586    float SREngineConfidence;
5587    signed char Confidence;
5588};
5589
5590typedef struct SPPHRASEREPLACEMENT {
5591    BYTE bDisplayAttributes;
5592    LPCWSTR pszReplacementText;
5593    ULONG ulFirstElement;
5594    ULONG ulCountOfElements;
5595} SPPHRASEREPLACEMENT;
5596typedef struct SPPHRASE {
5597    ULONG cbSize;
5598    WORD LangID;
5599    WORD wHomophoneGroupId;
5600    ULONGLONG ullGrammarID;
5601    ULONGLONG ftStartTime;
5602    ULONGLONG ullAudioStreamPosition;
5603    ULONG ulAudioSizeBytes;
5604    ULONG ulRetainedSizeBytes;
5605    ULONG ulAudioSizeTime;
5606    SPPHRASERULE Rule;
5607    const SPPHRASEPROPERTY *pProperties;
5608    const SPPHRASEELEMENT *pElements;
5609    ULONG cReplacements;
5610    const SPPHRASEREPLACEMENT *pReplacements;
5611    GUID SREngineID;
5612    ULONG ulSREnginePrivateDataSize;
5613    const BYTE *pSREnginePrivateData;
5614} SPPHRASE;
5615typedef struct SPSERIALIZEDPHRASE {
5616    ULONG ulSerializedSize;
5617} SPSERIALIZEDPHRASE;
5618typedef struct SPBINARYGRAMMAR {
5619    ULONG ulTotalSerializedSize;
5620} SPBINARYGRAMMAR;
5621#if 0
5622typedef void *SPSTATEHANDLE;
5623#else
5624DECLARE_HANDLE(SPSTATEHANDLE);
5625#endif
5626typedef struct SPWORDPRONUNCIATION {
5627    struct SPWORDPRONUNCIATION *pNextWordPronunciation;
5628    SPLEXICONTYPE eLexiconType;
5629    WORD LangID;
5630    WORD wPronunciationFlags;
5631    SPPARTOFSPEECH ePartOfSpeech;
5632    SPPHONEID szPronunciation[1];
5633} SPWORDPRONUNCIATION;
5634typedef struct SPWORDPRONUNCIATIONLIST {
5635    ULONG ulSize;
5636    BYTE *pvBuffer;
5637    SPWORDPRONUNCIATION *pFirstWordPronunciation;
5638} SPWORDPRONUNCIATIONLIST;
5639typedef struct SPWORD {
5640    struct SPWORD *pNextWord;
5641    WORD LangID;
5642    WORD wReserved;
5643    SPWORDTYPE eWordType;
5644    LPWSTR pszWord;
5645    SPWORDPRONUNCIATION *pFirstWordPronunciation;
5646} SPWORD;
5647typedef struct SPWORDLIST {
5648    ULONG ulSize;
5649    BYTE *pvBuffer;
5650    SPWORD *pFirstWord;
5651} SPWORDLIST;
5652/*****************************************************************************
5653 * ISpLexicon interface
5654 */
5655#ifndef __ISpLexicon_INTERFACE_DEFINED__
5656#define __ISpLexicon_INTERFACE_DEFINED__
5657
5658DEFINE_GUID(IID_ISpLexicon, 0xda41a7c2, 0x5383, 0x4db2, 0x91,0x6b, 0x6c,0x17,0x19,0xe3,0xdb,0x58);
5659#if defined(__cplusplus) && !defined(CINTERFACE)
5660MIDL_INTERFACE("da41a7c2-5383-4db2-916b-6c1719e3db58")
5661ISpLexicon : public IUnknown
5662{
5663    virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
5664        LPCWSTR pszWord,
5665        WORD LangID,
5666        DWORD dwFlags,
5667        SPWORDPRONUNCIATIONLIST *pWordPronunciationList) = 0;
5668
5669    virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
5670        LPCWSTR pszWord,
5671        WORD LangID,
5672        SPPARTOFSPEECH ePartOfSpeech,
5673        PCSPPHONEID pszPronunciation) = 0;
5674
5675    virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
5676        LPCWSTR pszWord,
5677        WORD LangID,
5678        SPPARTOFSPEECH ePartOfSpeech,
5679        PCSPPHONEID pszPronunciation) = 0;
5680
5681    virtual HRESULT STDMETHODCALLTYPE GetGeneration(
5682        DWORD *pdwGeneration) = 0;
5683
5684    virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
5685        DWORD dwFlags,
5686        DWORD *pdwGeneration,
5687        SPWORDLIST *pWordList) = 0;
5688
5689    virtual HRESULT STDMETHODCALLTYPE GetWords(
5690        DWORD dwFlags,
5691        DWORD *pdwGeneration,
5692        DWORD *pdwCookie,
5693        SPWORDLIST *pWordList) = 0;
5694
5695};
5696#ifdef __CRT_UUID_DECL
5697__CRT_UUID_DECL(ISpLexicon, 0xda41a7c2, 0x5383, 0x4db2, 0x91,0x6b, 0x6c,0x17,0x19,0xe3,0xdb,0x58)
5698#endif
5699#else
5700typedef struct ISpLexiconVtbl {
5701    BEGIN_INTERFACE
5702
5703    /*** IUnknown methods ***/
5704    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5705        ISpLexicon* This,
5706        REFIID riid,
5707        void **ppvObject);
5708
5709    ULONG (STDMETHODCALLTYPE *AddRef)(
5710        ISpLexicon* This);
5711
5712    ULONG (STDMETHODCALLTYPE *Release)(
5713        ISpLexicon* This);
5714
5715    /*** ISpLexicon methods ***/
5716    HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
5717        ISpLexicon* This,
5718        LPCWSTR pszWord,
5719        WORD LangID,
5720        DWORD dwFlags,
5721        SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
5722
5723    HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
5724        ISpLexicon* This,
5725        LPCWSTR pszWord,
5726        WORD LangID,
5727        SPPARTOFSPEECH ePartOfSpeech,
5728        PCSPPHONEID pszPronunciation);
5729
5730    HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
5731        ISpLexicon* This,
5732        LPCWSTR pszWord,
5733        WORD LangID,
5734        SPPARTOFSPEECH ePartOfSpeech,
5735        PCSPPHONEID pszPronunciation);
5736
5737    HRESULT (STDMETHODCALLTYPE *GetGeneration)(
5738        ISpLexicon* This,
5739        DWORD *pdwGeneration);
5740
5741    HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
5742        ISpLexicon* This,
5743        DWORD dwFlags,
5744        DWORD *pdwGeneration,
5745        SPWORDLIST *pWordList);
5746
5747    HRESULT (STDMETHODCALLTYPE *GetWords)(
5748        ISpLexicon* This,
5749        DWORD dwFlags,
5750        DWORD *pdwGeneration,
5751        DWORD *pdwCookie,
5752        SPWORDLIST *pWordList);
5753
5754    END_INTERFACE
5755} ISpLexiconVtbl;
5756interface ISpLexicon {
5757    CONST_VTBL ISpLexiconVtbl* lpVtbl;
5758};
5759
5760#ifdef COBJMACROS
5761#ifndef WIDL_C_INLINE_WRAPPERS
5762/*** IUnknown methods ***/
5763#define ISpLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5764#define ISpLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
5765#define ISpLexicon_Release(This) (This)->lpVtbl->Release(This)
5766/*** ISpLexicon methods ***/
5767#define ISpLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
5768#define ISpLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
5769#define ISpLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
5770#define ISpLexicon_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
5771#define ISpLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) (This)->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
5772#define ISpLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
5773#else
5774/*** IUnknown methods ***/
5775static FORCEINLINE HRESULT ISpLexicon_QueryInterface(ISpLexicon* This,REFIID riid,void **ppvObject) {
5776    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5777}
5778static FORCEINLINE ULONG ISpLexicon_AddRef(ISpLexicon* This) {
5779    return This->lpVtbl->AddRef(This);
5780}
5781static FORCEINLINE ULONG ISpLexicon_Release(ISpLexicon* This) {
5782    return This->lpVtbl->Release(This);
5783}
5784/*** ISpLexicon methods ***/
5785static FORCEINLINE HRESULT ISpLexicon_GetPronunciations(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,DWORD dwFlags,SPWORDPRONUNCIATIONLIST *pWordPronunciationList) {
5786    return This->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList);
5787}
5788static FORCEINLINE HRESULT ISpLexicon_AddPronunciation(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
5789    return This->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
5790}
5791static FORCEINLINE HRESULT ISpLexicon_RemovePronunciation(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
5792    return This->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
5793}
5794static FORCEINLINE HRESULT ISpLexicon_GetGeneration(ISpLexicon* This,DWORD *pdwGeneration) {
5795    return This->lpVtbl->GetGeneration(This,pdwGeneration);
5796}
5797static FORCEINLINE HRESULT ISpLexicon_GetGenerationChange(ISpLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
5798    return This->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList);
5799}
5800static FORCEINLINE HRESULT ISpLexicon_GetWords(ISpLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
5801    return This->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList);
5802}
5803#endif
5804#endif
5805
5806#endif
5807
5808HRESULT STDMETHODCALLTYPE ISpLexicon_GetPronunciations_Proxy(
5809    ISpLexicon* This,
5810    LPCWSTR pszWord,
5811    WORD LangID,
5812    DWORD dwFlags,
5813    SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
5814void __RPC_STUB ISpLexicon_GetPronunciations_Stub(
5815    IRpcStubBuffer* This,
5816    IRpcChannelBuffer* pRpcChannelBuffer,
5817    PRPC_MESSAGE pRpcMessage,
5818    DWORD* pdwStubPhase);
5819HRESULT STDMETHODCALLTYPE ISpLexicon_AddPronunciation_Proxy(
5820    ISpLexicon* This,
5821    LPCWSTR pszWord,
5822    WORD LangID,
5823    SPPARTOFSPEECH ePartOfSpeech,
5824    PCSPPHONEID pszPronunciation);
5825void __RPC_STUB ISpLexicon_AddPronunciation_Stub(
5826    IRpcStubBuffer* This,
5827    IRpcChannelBuffer* pRpcChannelBuffer,
5828    PRPC_MESSAGE pRpcMessage,
5829    DWORD* pdwStubPhase);
5830HRESULT STDMETHODCALLTYPE ISpLexicon_RemovePronunciation_Proxy(
5831    ISpLexicon* This,
5832    LPCWSTR pszWord,
5833    WORD LangID,
5834    SPPARTOFSPEECH ePartOfSpeech,
5835    PCSPPHONEID pszPronunciation);
5836void __RPC_STUB ISpLexicon_RemovePronunciation_Stub(
5837    IRpcStubBuffer* This,
5838    IRpcChannelBuffer* pRpcChannelBuffer,
5839    PRPC_MESSAGE pRpcMessage,
5840    DWORD* pdwStubPhase);
5841HRESULT STDMETHODCALLTYPE ISpLexicon_GetGeneration_Proxy(
5842    ISpLexicon* This,
5843    DWORD *pdwGeneration);
5844void __RPC_STUB ISpLexicon_GetGeneration_Stub(
5845    IRpcStubBuffer* This,
5846    IRpcChannelBuffer* pRpcChannelBuffer,
5847    PRPC_MESSAGE pRpcMessage,
5848    DWORD* pdwStubPhase);
5849HRESULT STDMETHODCALLTYPE ISpLexicon_GetGenerationChange_Proxy(
5850    ISpLexicon* This,
5851    DWORD dwFlags,
5852    DWORD *pdwGeneration,
5853    SPWORDLIST *pWordList);
5854void __RPC_STUB ISpLexicon_GetGenerationChange_Stub(
5855    IRpcStubBuffer* This,
5856    IRpcChannelBuffer* pRpcChannelBuffer,
5857    PRPC_MESSAGE pRpcMessage,
5858    DWORD* pdwStubPhase);
5859HRESULT STDMETHODCALLTYPE ISpLexicon_GetWords_Proxy(
5860    ISpLexicon* This,
5861    DWORD dwFlags,
5862    DWORD *pdwGeneration,
5863    DWORD *pdwCookie,
5864    SPWORDLIST *pWordList);
5865void __RPC_STUB ISpLexicon_GetWords_Stub(
5866    IRpcStubBuffer* This,
5867    IRpcChannelBuffer* pRpcChannelBuffer,
5868    PRPC_MESSAGE pRpcMessage,
5869    DWORD* pdwStubPhase);
5870
5871#endif  /* __ISpLexicon_INTERFACE_DEFINED__ */
5872
5873/*****************************************************************************
5874 * ISpContainerLexicon interface
5875 */
5876#ifndef __ISpContainerLexicon_INTERFACE_DEFINED__
5877#define __ISpContainerLexicon_INTERFACE_DEFINED__
5878
5879DEFINE_GUID(IID_ISpContainerLexicon, 0x8565572f, 0xc094, 0x41cc, 0xb5,0x6e, 0x10,0xbd,0x9c,0x3f,0xf0,0x44);
5880#if defined(__cplusplus) && !defined(CINTERFACE)
5881MIDL_INTERFACE("8565572f-c094-41cc-b56e-10bd9c3ff044")
5882ISpContainerLexicon : public ISpLexicon
5883{
5884    virtual HRESULT STDMETHODCALLTYPE AddLexicon(
5885        ISpLexicon *pAddLexicon,
5886        DWORD dwFlags) = 0;
5887
5888};
5889#ifdef __CRT_UUID_DECL
5890__CRT_UUID_DECL(ISpContainerLexicon, 0x8565572f, 0xc094, 0x41cc, 0xb5,0x6e, 0x10,0xbd,0x9c,0x3f,0xf0,0x44)
5891#endif
5892#else
5893typedef struct ISpContainerLexiconVtbl {
5894    BEGIN_INTERFACE
5895
5896    /*** IUnknown methods ***/
5897    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5898        ISpContainerLexicon* This,
5899        REFIID riid,
5900        void **ppvObject);
5901
5902    ULONG (STDMETHODCALLTYPE *AddRef)(
5903        ISpContainerLexicon* This);
5904
5905    ULONG (STDMETHODCALLTYPE *Release)(
5906        ISpContainerLexicon* This);
5907
5908    /*** ISpLexicon methods ***/
5909    HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
5910        ISpContainerLexicon* This,
5911        LPCWSTR pszWord,
5912        WORD LangID,
5913        DWORD dwFlags,
5914        SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
5915
5916    HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
5917        ISpContainerLexicon* This,
5918        LPCWSTR pszWord,
5919        WORD LangID,
5920        SPPARTOFSPEECH ePartOfSpeech,
5921        PCSPPHONEID pszPronunciation);
5922
5923    HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
5924        ISpContainerLexicon* This,
5925        LPCWSTR pszWord,
5926        WORD LangID,
5927        SPPARTOFSPEECH ePartOfSpeech,
5928        PCSPPHONEID pszPronunciation);
5929
5930    HRESULT (STDMETHODCALLTYPE *GetGeneration)(
5931        ISpContainerLexicon* This,
5932        DWORD *pdwGeneration);
5933
5934    HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
5935        ISpContainerLexicon* This,
5936        DWORD dwFlags,
5937        DWORD *pdwGeneration,
5938        SPWORDLIST *pWordList);
5939
5940    HRESULT (STDMETHODCALLTYPE *GetWords)(
5941        ISpContainerLexicon* This,
5942        DWORD dwFlags,
5943        DWORD *pdwGeneration,
5944        DWORD *pdwCookie,
5945        SPWORDLIST *pWordList);
5946
5947    /*** ISpContainerLexicon methods ***/
5948    HRESULT (STDMETHODCALLTYPE *AddLexicon)(
5949        ISpContainerLexicon* This,
5950        ISpLexicon *pAddLexicon,
5951        DWORD dwFlags);
5952
5953    END_INTERFACE
5954} ISpContainerLexiconVtbl;
5955interface ISpContainerLexicon {
5956    CONST_VTBL ISpContainerLexiconVtbl* lpVtbl;
5957};
5958
5959#ifdef COBJMACROS
5960#ifndef WIDL_C_INLINE_WRAPPERS
5961/*** IUnknown methods ***/
5962#define ISpContainerLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5963#define ISpContainerLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
5964#define ISpContainerLexicon_Release(This) (This)->lpVtbl->Release(This)
5965/*** ISpLexicon methods ***/
5966#define ISpContainerLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
5967#define ISpContainerLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
5968#define ISpContainerLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
5969#define ISpContainerLexicon_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
5970#define ISpContainerLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) (This)->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
5971#define ISpContainerLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
5972/*** ISpContainerLexicon methods ***/
5973#define ISpContainerLexicon_AddLexicon(This,pAddLexicon,dwFlags) (This)->lpVtbl->AddLexicon(This,pAddLexicon,dwFlags)
5974#else
5975/*** IUnknown methods ***/
5976static FORCEINLINE HRESULT ISpContainerLexicon_QueryInterface(ISpContainerLexicon* This,REFIID riid,void **ppvObject) {
5977    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5978}
5979static FORCEINLINE ULONG ISpContainerLexicon_AddRef(ISpContainerLexicon* This) {
5980    return This->lpVtbl->AddRef(This);
5981}
5982static FORCEINLINE ULONG ISpContainerLexicon_Release(ISpContainerLexicon* This) {
5983    return This->lpVtbl->Release(This);
5984}
5985/*** ISpLexicon methods ***/
5986static FORCEINLINE HRESULT ISpContainerLexicon_GetPronunciations(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,DWORD dwFlags,SPWORDPRONUNCIATIONLIST *pWordPronunciationList) {
5987    return This->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList);
5988}
5989static FORCEINLINE HRESULT ISpContainerLexicon_AddPronunciation(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
5990    return This->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
5991}
5992static FORCEINLINE HRESULT ISpContainerLexicon_RemovePronunciation(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
5993    return This->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
5994}
5995static FORCEINLINE HRESULT ISpContainerLexicon_GetGeneration(ISpContainerLexicon* This,DWORD *pdwGeneration) {
5996    return This->lpVtbl->GetGeneration(This,pdwGeneration);
5997}
5998static FORCEINLINE HRESULT ISpContainerLexicon_GetGenerationChange(ISpContainerLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
5999    return This->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList);
6000}
6001static FORCEINLINE HRESULT ISpContainerLexicon_GetWords(ISpContainerLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
6002    return This->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList);
6003}
6004/*** ISpContainerLexicon methods ***/
6005static FORCEINLINE HRESULT ISpContainerLexicon_AddLexicon(ISpContainerLexicon* This,ISpLexicon *pAddLexicon,DWORD dwFlags) {
6006    return This->lpVtbl->AddLexicon(This,pAddLexicon,dwFlags);
6007}
6008#endif
6009#endif
6010
6011#endif
6012
6013HRESULT STDMETHODCALLTYPE ISpContainerLexicon_AddLexicon_Proxy(
6014    ISpContainerLexicon* This,
6015    ISpLexicon *pAddLexicon,
6016    DWORD dwFlags);
6017void __RPC_STUB ISpContainerLexicon_AddLexicon_Stub(
6018    IRpcStubBuffer* This,
6019    IRpcChannelBuffer* pRpcChannelBuffer,
6020    PRPC_MESSAGE pRpcMessage,
6021    DWORD* pdwStubPhase);
6022
6023#endif  /* __ISpContainerLexicon_INTERFACE_DEFINED__ */
6024
6025/*****************************************************************************
6026 * ISpPhoneConverter interface
6027 */
6028#ifndef __ISpPhoneConverter_INTERFACE_DEFINED__
6029#define __ISpPhoneConverter_INTERFACE_DEFINED__
6030
6031DEFINE_GUID(IID_ISpPhoneConverter, 0x8445c581, 0x0cac, 0x4a38, 0xab,0xfe, 0x9b,0x2c,0xe2,0x82,0x64,0x55);
6032#if defined(__cplusplus) && !defined(CINTERFACE)
6033MIDL_INTERFACE("8445c581-0cac-4a38-abfe-9b2ce2826455")
6034ISpPhoneConverter : public ISpObjectWithToken
6035{
6036    virtual HRESULT STDMETHODCALLTYPE PhoneToId(
6037        LPCWSTR pszPhone,
6038        SPPHONEID *pId) = 0;
6039
6040    virtual HRESULT STDMETHODCALLTYPE IdToPhone(
6041        PCSPPHONEID pId,
6042        WCHAR *pszPhone) = 0;
6043
6044};
6045#ifdef __CRT_UUID_DECL
6046__CRT_UUID_DECL(ISpPhoneConverter, 0x8445c581, 0x0cac, 0x4a38, 0xab,0xfe, 0x9b,0x2c,0xe2,0x82,0x64,0x55)
6047#endif
6048#else
6049typedef struct ISpPhoneConverterVtbl {
6050    BEGIN_INTERFACE
6051
6052    /*** IUnknown methods ***/
6053    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6054        ISpPhoneConverter* This,
6055        REFIID riid,
6056        void **ppvObject);
6057
6058    ULONG (STDMETHODCALLTYPE *AddRef)(
6059        ISpPhoneConverter* This);
6060
6061    ULONG (STDMETHODCALLTYPE *Release)(
6062        ISpPhoneConverter* This);
6063
6064    /*** ISpObjectWithToken methods ***/
6065    HRESULT (STDMETHODCALLTYPE *SetObjectToken)(
6066        ISpPhoneConverter* This,
6067        ISpObjectToken *pToken);
6068
6069    HRESULT (STDMETHODCALLTYPE *GetObjectToken)(
6070        ISpPhoneConverter* This,
6071        ISpObjectToken **ppToken);
6072
6073    /*** ISpPhoneConverter methods ***/
6074    HRESULT (STDMETHODCALLTYPE *PhoneToId)(
6075        ISpPhoneConverter* This,
6076        LPCWSTR pszPhone,
6077        SPPHONEID *pId);
6078
6079    HRESULT (STDMETHODCALLTYPE *IdToPhone)(
6080        ISpPhoneConverter* This,
6081        PCSPPHONEID pId,
6082        WCHAR *pszPhone);
6083
6084    END_INTERFACE
6085} ISpPhoneConverterVtbl;
6086interface ISpPhoneConverter {
6087    CONST_VTBL ISpPhoneConverterVtbl* lpVtbl;
6088};
6089
6090#ifdef COBJMACROS
6091#ifndef WIDL_C_INLINE_WRAPPERS
6092/*** IUnknown methods ***/
6093#define ISpPhoneConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6094#define ISpPhoneConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
6095#define ISpPhoneConverter_Release(This) (This)->lpVtbl->Release(This)
6096/*** ISpObjectWithToken methods ***/
6097#define ISpPhoneConverter_SetObjectToken(This,pToken) (This)->lpVtbl->SetObjectToken(This,pToken)
6098#define ISpPhoneConverter_GetObjectToken(This,ppToken) (This)->lpVtbl->GetObjectToken(This,ppToken)
6099/*** ISpPhoneConverter methods ***/
6100#define ISpPhoneConverter_PhoneToId(This,pszPhone,pId) (This)->lpVtbl->PhoneToId(This,pszPhone,pId)
6101#define ISpPhoneConverter_IdToPhone(This,pId,pszPhone) (This)->lpVtbl->IdToPhone(This,pId,pszPhone)
6102#else
6103/*** IUnknown methods ***/
6104static FORCEINLINE HRESULT ISpPhoneConverter_QueryInterface(ISpPhoneConverter* This,REFIID riid,void **ppvObject) {
6105    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6106}
6107static FORCEINLINE ULONG ISpPhoneConverter_AddRef(ISpPhoneConverter* This) {
6108    return This->lpVtbl->AddRef(This);
6109}
6110static FORCEINLINE ULONG ISpPhoneConverter_Release(ISpPhoneConverter* This) {
6111    return This->lpVtbl->Release(This);
6112}
6113/*** ISpObjectWithToken methods ***/
6114static FORCEINLINE HRESULT ISpPhoneConverter_SetObjectToken(ISpPhoneConverter* This,ISpObjectToken *pToken) {
6115    return This->lpVtbl->SetObjectToken(This,pToken);
6116}
6117static FORCEINLINE HRESULT ISpPhoneConverter_GetObjectToken(ISpPhoneConverter* This,ISpObjectToken **ppToken) {
6118    return This->lpVtbl->GetObjectToken(This,ppToken);
6119}
6120/*** ISpPhoneConverter methods ***/
6121static FORCEINLINE HRESULT ISpPhoneConverter_PhoneToId(ISpPhoneConverter* This,LPCWSTR pszPhone,SPPHONEID *pId) {
6122    return This->lpVtbl->PhoneToId(This,pszPhone,pId);
6123}
6124static FORCEINLINE HRESULT ISpPhoneConverter_IdToPhone(ISpPhoneConverter* This,PCSPPHONEID pId,WCHAR *pszPhone) {
6125    return This->lpVtbl->IdToPhone(This,pId,pszPhone);
6126}
6127#endif
6128#endif
6129
6130#endif
6131
6132HRESULT STDMETHODCALLTYPE ISpPhoneConverter_PhoneToId_Proxy(
6133    ISpPhoneConverter* This,
6134    LPCWSTR pszPhone,
6135    SPPHONEID *pId);
6136void __RPC_STUB ISpPhoneConverter_PhoneToId_Stub(
6137    IRpcStubBuffer* This,
6138    IRpcChannelBuffer* pRpcChannelBuffer,
6139    PRPC_MESSAGE pRpcMessage,
6140    DWORD* pdwStubPhase);
6141HRESULT STDMETHODCALLTYPE ISpPhoneConverter_IdToPhone_Proxy(
6142    ISpPhoneConverter* This,
6143    PCSPPHONEID pId,
6144    WCHAR *pszPhone);
6145void __RPC_STUB ISpPhoneConverter_IdToPhone_Stub(
6146    IRpcStubBuffer* This,
6147    IRpcChannelBuffer* pRpcChannelBuffer,
6148    PRPC_MESSAGE pRpcMessage,
6149    DWORD* pdwStubPhase);
6150
6151#endif  /* __ISpPhoneConverter_INTERFACE_DEFINED__ */
6152
6153typedef struct SPVPITCH {
6154    LONG MiddleAdj;
6155    LONG RangeAdj;
6156} SPVPITCH;
6157typedef struct SPVCONTEXT {
6158    LPCWSTR pCategory;
6159    LPCWSTR pBefore;
6160    LPCWSTR pAfter;
6161} SPVCONTEXT;
6162typedef struct SPVSTATE {
6163    SPVACTIONS eAction;
6164    WORD LangID;
6165    WORD wReserved;
6166    LONG EmphAdj;
6167    LONG RateAdj;
6168    ULONG Volume;
6169    SPVPITCH PitchAdj;
6170    ULONG SilenceMSecs;
6171    SPPHONEID *pPhoneIds;
6172    SPPARTOFSPEECH ePartOfSpeech;
6173    SPVCONTEXT Context;
6174} SPVSTATE;
6175typedef struct SPVOICESTATUS {
6176    ULONG ulCurrentStream;
6177    ULONG ulLastStreamQueued;
6178    HRESULT hrLastResult;
6179    DWORD dwRunningState;
6180    ULONG ulInputWordPos;
6181    ULONG ulInputWordLen;
6182    ULONG ulInputSentPos;
6183    ULONG ulInputSentLen;
6184    LONG lBookmarkId;
6185    SPPHONEID PhonemeId;
6186    SPVISEMES VisemeId;
6187    DWORD dwReserved1;
6188    DWORD dwReserved2;
6189} SPVOICESTATUS;
6190typedef enum SPEAKFLAGS {
6191    SPF_DEFAULT = 0,
6192    SPF_ASYNC = 1,
6193    SPF_PURGEBEFORESPEAK = 2,
6194    SPF_IS_FILENAME = 4,
6195    SPF_IS_XML = 8,
6196    SPF_IS_NOT_XML = 0x10,
6197    SPF_PERSIST_XML = 0x20,
6198    SPF_NLP_SPEAK_PUNC = 0x40,
6199    SPF_NLP_MASK = SPF_NLP_SPEAK_PUNC,
6200    SPF_VOICE_MASK = (((((SPF_ASYNC | SPF_PURGEBEFORESPEAK) | SPF_IS_FILENAME) | SPF_IS_XML) | SPF_IS_NOT_XML) | SPF_NLP_MASK) | SPF_PERSIST_XML,
6201    SPF_UNUSED_FLAGS = ~SPF_VOICE_MASK
6202} SPEAKFLAGS;
6203/*****************************************************************************
6204 * ISpVoice interface
6205 */
6206#ifndef __ISpVoice_INTERFACE_DEFINED__
6207#define __ISpVoice_INTERFACE_DEFINED__
6208
6209DEFINE_GUID(IID_ISpVoice, 0x6c44df74, 0x72b9, 0x4992, 0xa1,0xec, 0xef,0x99,0x6e,0x04,0x22,0xd4);
6210#if defined(__cplusplus) && !defined(CINTERFACE)
6211MIDL_INTERFACE("6c44df74-72b9-4992-a1ec-ef996e0422d4")
6212ISpVoice : public ISpEventSource
6213{
6214    virtual HRESULT STDMETHODCALLTYPE SetOutput(
6215        IUnknown *pUnkOutput,
6216        WINBOOL fAllowFormatChanges) = 0;
6217
6218    virtual HRESULT STDMETHODCALLTYPE GetOutputObjectToken(
6219        ISpObjectToken **ppObjectToken) = 0;
6220
6221    virtual HRESULT STDMETHODCALLTYPE GetOutputStream(
6222        ISpStreamFormat **ppStream) = 0;
6223
6224    virtual HRESULT STDMETHODCALLTYPE Pause(
6225        ) = 0;
6226
6227    virtual HRESULT STDMETHODCALLTYPE Resume(
6228        ) = 0;
6229
6230    virtual HRESULT STDMETHODCALLTYPE SetVoice(
6231        ISpObjectToken *pToken) = 0;
6232
6233    virtual HRESULT STDMETHODCALLTYPE GetVoice(
6234        ISpObjectToken **ppToken) = 0;
6235
6236    virtual HRESULT STDMETHODCALLTYPE Speak(
6237        LPCWSTR pwcs,
6238        DWORD dwFlags,
6239        ULONG *pulStreamNumber) = 0;
6240
6241    virtual HRESULT STDMETHODCALLTYPE SpeakStream(
6242        IStream *pStream,
6243        DWORD dwFlags,
6244        ULONG *pulStreamNumber) = 0;
6245
6246    virtual HRESULT STDMETHODCALLTYPE GetStatus(
6247        SPVOICESTATUS *pStatus,
6248        LPWSTR *ppszLastBookmark) = 0;
6249
6250    virtual HRESULT STDMETHODCALLTYPE Skip(
6251        LPCWSTR pItemType,
6252        LONG lNumItems,
6253        ULONG *pulNumSkipped) = 0;
6254
6255    virtual HRESULT STDMETHODCALLTYPE SetPriority(
6256        SPVPRIORITY ePriority) = 0;
6257
6258    virtual HRESULT STDMETHODCALLTYPE GetPriority(
6259        SPVPRIORITY *pePriority) = 0;
6260
6261    virtual HRESULT STDMETHODCALLTYPE SetAlertBoundary(
6262        SPEVENTENUM eBoundary) = 0;
6263
6264    virtual HRESULT STDMETHODCALLTYPE GetAlertBoundary(
6265        SPEVENTENUM *peBoundary) = 0;
6266
6267    virtual HRESULT STDMETHODCALLTYPE SetRate(
6268        LONG RateAdjust) = 0;
6269
6270    virtual HRESULT STDMETHODCALLTYPE GetRate(
6271        LONG *pRateAdjust) = 0;
6272
6273    virtual HRESULT STDMETHODCALLTYPE SetVolume(
6274        USHORT usVolume) = 0;
6275
6276    virtual HRESULT STDMETHODCALLTYPE GetVolume(
6277        USHORT *pusVolume) = 0;
6278
6279    virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
6280        ULONG msTimeout) = 0;
6281
6282    virtual HRESULT STDMETHODCALLTYPE SetSyncSpeakTimeout(
6283        ULONG msTimeout) = 0;
6284
6285    virtual HRESULT STDMETHODCALLTYPE GetSyncSpeakTimeout(
6286        ULONG *pmsTimeout) = 0;
6287
6288    virtual HANDLE STDMETHODCALLTYPE SpeakCompleteEvent(
6289        ) = 0;
6290
6291    virtual HRESULT STDMETHODCALLTYPE IsUISupported(
6292        LPCWSTR pszTypeOfUI,
6293        void *pvExtraData,
6294        ULONG cbExtraData,
6295        WINBOOL *pfSupported) = 0;
6296
6297    virtual HRESULT STDMETHODCALLTYPE DisplayUI(
6298        HWND hwndParent,
6299        LPCWSTR pszTitle,
6300        LPCWSTR pszTypeOfUI,
6301        void *pvExtraData,
6302        ULONG cbExtraData) = 0;
6303
6304};
6305#ifdef __CRT_UUID_DECL
6306__CRT_UUID_DECL(ISpVoice, 0x6c44df74, 0x72b9, 0x4992, 0xa1,0xec, 0xef,0x99,0x6e,0x04,0x22,0xd4)
6307#endif
6308#else
6309typedef struct ISpVoiceVtbl {
6310    BEGIN_INTERFACE
6311
6312    /*** IUnknown methods ***/
6313    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6314        ISpVoice* This,
6315        REFIID riid,
6316        void **ppvObject);
6317
6318    ULONG (STDMETHODCALLTYPE *AddRef)(
6319        ISpVoice* This);
6320
6321    ULONG (STDMETHODCALLTYPE *Release)(
6322        ISpVoice* This);
6323
6324    /*** ISpNotifySource methods ***/
6325    HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
6326        ISpVoice* This,
6327        ISpNotifySink *pNotifySink);
6328
6329    HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
6330        ISpVoice* This,
6331        HWND hWnd,
6332        UINT Msg,
6333        WPARAM wParam,
6334        LPARAM lParam);
6335
6336    HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
6337        ISpVoice* This,
6338        SPNOTIFYCALLBACK *pfnCallback,
6339        WPARAM wParam,
6340        LPARAM lParam);
6341
6342    HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
6343        ISpVoice* This,
6344        ISpNotifyCallback *pSpCallback,
6345        WPARAM wParam,
6346        LPARAM lParam);
6347
6348    HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
6349        ISpVoice* This);
6350
6351    HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
6352        ISpVoice* This,
6353        DWORD dwMilliseconds);
6354
6355    HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
6356        ISpVoice* This);
6357
6358    /*** ISpEventSource methods ***/
6359    HRESULT (STDMETHODCALLTYPE *SetInterest)(
6360        ISpVoice* This,
6361        ULONGLONG ullEventInterest,
6362        ULONGLONG ullQueuedInterest);
6363
6364    HRESULT (STDMETHODCALLTYPE *GetEvents)(
6365        ISpVoice* This,
6366        ULONG ulCount,
6367        SPEVENT *pEventArray,
6368        ULONG *pulFetched);
6369
6370    HRESULT (STDMETHODCALLTYPE *GetInfo)(
6371        ISpVoice* This,
6372        SPEVENTSOURCEINFO *pInfo);
6373
6374    /*** ISpVoice methods ***/
6375    HRESULT (STDMETHODCALLTYPE *SetOutput)(
6376        ISpVoice* This,
6377        IUnknown *pUnkOutput,
6378        WINBOOL fAllowFormatChanges);
6379
6380    HRESULT (STDMETHODCALLTYPE *GetOutputObjectToken)(
6381        ISpVoice* This,
6382        ISpObjectToken **ppObjectToken);
6383
6384    HRESULT (STDMETHODCALLTYPE *GetOutputStream)(
6385        ISpVoice* This,
6386        ISpStreamFormat **ppStream);
6387
6388    HRESULT (STDMETHODCALLTYPE *Pause)(
6389        ISpVoice* This);
6390
6391    HRESULT (STDMETHODCALLTYPE *Resume)(
6392        ISpVoice* This);
6393
6394    HRESULT (STDMETHODCALLTYPE *SetVoice)(
6395        ISpVoice* This,
6396        ISpObjectToken *pToken);
6397
6398    HRESULT (STDMETHODCALLTYPE *GetVoice)(
6399        ISpVoice* This,
6400        ISpObjectToken **ppToken);
6401
6402    HRESULT (STDMETHODCALLTYPE *Speak)(
6403        ISpVoice* This,
6404        LPCWSTR pwcs,
6405        DWORD dwFlags,
6406        ULONG *pulStreamNumber);
6407
6408    HRESULT (STDMETHODCALLTYPE *SpeakStream)(
6409        ISpVoice* This,
6410        IStream *pStream,
6411        DWORD dwFlags,
6412        ULONG *pulStreamNumber);
6413
6414    HRESULT (STDMETHODCALLTYPE *GetStatus)(
6415        ISpVoice* This,
6416        SPVOICESTATUS *pStatus,
6417        LPWSTR *ppszLastBookmark);
6418
6419    HRESULT (STDMETHODCALLTYPE *Skip)(
6420        ISpVoice* This,
6421        LPCWSTR pItemType,
6422        LONG lNumItems,
6423        ULONG *pulNumSkipped);
6424
6425    HRESULT (STDMETHODCALLTYPE *SetPriority)(
6426        ISpVoice* This,
6427        SPVPRIORITY ePriority);
6428
6429    HRESULT (STDMETHODCALLTYPE *GetPriority)(
6430        ISpVoice* This,
6431        SPVPRIORITY *pePriority);
6432
6433    HRESULT (STDMETHODCALLTYPE *SetAlertBoundary)(
6434        ISpVoice* This,
6435        SPEVENTENUM eBoundary);
6436
6437    HRESULT (STDMETHODCALLTYPE *GetAlertBoundary)(
6438        ISpVoice* This,
6439        SPEVENTENUM *peBoundary);
6440
6441    HRESULT (STDMETHODCALLTYPE *SetRate)(
6442        ISpVoice* This,
6443        LONG RateAdjust);
6444
6445    HRESULT (STDMETHODCALLTYPE *GetRate)(
6446        ISpVoice* This,
6447        LONG *pRateAdjust);
6448
6449    HRESULT (STDMETHODCALLTYPE *SetVolume)(
6450        ISpVoice* This,
6451        USHORT usVolume);
6452
6453    HRESULT (STDMETHODCALLTYPE *GetVolume)(
6454        ISpVoice* This,
6455        USHORT *pusVolume);
6456
6457    HRESULT (STDMETHODCALLTYPE *WaitUntilDone)(
6458        ISpVoice* This,
6459        ULONG msTimeout);
6460
6461    HRESULT (STDMETHODCALLTYPE *SetSyncSpeakTimeout)(
6462        ISpVoice* This,
6463        ULONG msTimeout);
6464
6465    HRESULT (STDMETHODCALLTYPE *GetSyncSpeakTimeout)(
6466        ISpVoice* This,
6467        ULONG *pmsTimeout);
6468
6469    HANDLE (STDMETHODCALLTYPE *SpeakCompleteEvent)(
6470        ISpVoice* This);
6471
6472    HRESULT (STDMETHODCALLTYPE *IsUISupported)(
6473        ISpVoice* This,
6474        LPCWSTR pszTypeOfUI,
6475        void *pvExtraData,
6476        ULONG cbExtraData,
6477        WINBOOL *pfSupported);
6478
6479    HRESULT (STDMETHODCALLTYPE *DisplayUI)(
6480        ISpVoice* This,
6481        HWND hwndParent,
6482        LPCWSTR pszTitle,
6483        LPCWSTR pszTypeOfUI,
6484        void *pvExtraData,
6485        ULONG cbExtraData);
6486
6487    END_INTERFACE
6488} ISpVoiceVtbl;
6489interface ISpVoice {
6490    CONST_VTBL ISpVoiceVtbl* lpVtbl;
6491};
6492
6493#ifdef COBJMACROS
6494#ifndef WIDL_C_INLINE_WRAPPERS
6495/*** IUnknown methods ***/
6496#define ISpVoice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6497#define ISpVoice_AddRef(This) (This)->lpVtbl->AddRef(This)
6498#define ISpVoice_Release(This) (This)->lpVtbl->Release(This)
6499/*** ISpNotifySource methods ***/
6500#define ISpVoice_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
6501#define ISpVoice_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
6502#define ISpVoice_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
6503#define ISpVoice_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
6504#define ISpVoice_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
6505#define ISpVoice_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
6506#define ISpVoice_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
6507/*** ISpEventSource methods ***/
6508#define ISpVoice_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
6509#define ISpVoice_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
6510#define ISpVoice_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
6511/*** ISpVoice methods ***/
6512#define ISpVoice_SetOutput(This,pUnkOutput,fAllowFormatChanges) (This)->lpVtbl->SetOutput(This,pUnkOutput,fAllowFormatChanges)
6513#define ISpVoice_GetOutputObjectToken(This,ppObjectToken) (This)->lpVtbl->GetOutputObjectToken(This,ppObjectToken)
6514#define ISpVoice_GetOutputStream(This,ppStream) (This)->lpVtbl->GetOutputStream(This,ppStream)
6515#define ISpVoice_Pause(This) (This)->lpVtbl->Pause(This)
6516#define ISpVoice_Resume(This) (This)->lpVtbl->Resume(This)
6517#define ISpVoice_SetVoice(This,pToken) (This)->lpVtbl->SetVoice(This,pToken)
6518#define ISpVoice_GetVoice(This,ppToken) (This)->lpVtbl->GetVoice(This,ppToken)
6519#define ISpVoice_Speak(This,pwcs,dwFlags,pulStreamNumber) (This)->lpVtbl->Speak(This,pwcs,dwFlags,pulStreamNumber)
6520#define ISpVoice_SpeakStream(This,pStream,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakStream(This,pStream,dwFlags,pulStreamNumber)
6521#define ISpVoice_GetStatus(This,pStatus,ppszLastBookmark) (This)->lpVtbl->GetStatus(This,pStatus,ppszLastBookmark)
6522#define ISpVoice_Skip(This,pItemType,lNumItems,pulNumSkipped) (This)->lpVtbl->Skip(This,pItemType,lNumItems,pulNumSkipped)
6523#define ISpVoice_SetPriority(This,ePriority) (This)->lpVtbl->SetPriority(This,ePriority)
6524#define ISpVoice_GetPriority(This,pePriority) (This)->lpVtbl->GetPriority(This,pePriority)
6525#define ISpVoice_SetAlertBoundary(This,eBoundary) (This)->lpVtbl->SetAlertBoundary(This,eBoundary)
6526#define ISpVoice_GetAlertBoundary(This,peBoundary) (This)->lpVtbl->GetAlertBoundary(This,peBoundary)
6527#define ISpVoice_SetRate(This,RateAdjust) (This)->lpVtbl->SetRate(This,RateAdjust)
6528#define ISpVoice_GetRate(This,pRateAdjust) (This)->lpVtbl->GetRate(This,pRateAdjust)
6529#define ISpVoice_SetVolume(This,usVolume) (This)->lpVtbl->SetVolume(This,usVolume)
6530#define ISpVoice_GetVolume(This,pusVolume) (This)->lpVtbl->GetVolume(This,pusVolume)
6531#define ISpVoice_WaitUntilDone(This,msTimeout) (This)->lpVtbl->WaitUntilDone(This,msTimeout)
6532#define ISpVoice_SetSyncSpeakTimeout(This,msTimeout) (This)->lpVtbl->SetSyncSpeakTimeout(This,msTimeout)
6533#define ISpVoice_GetSyncSpeakTimeout(This,pmsTimeout) (This)->lpVtbl->GetSyncSpeakTimeout(This,pmsTimeout)
6534#define ISpVoice_SpeakCompleteEvent(This) (This)->lpVtbl->SpeakCompleteEvent(This)
6535#define ISpVoice_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
6536#define ISpVoice_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
6537#else
6538/*** IUnknown methods ***/
6539static FORCEINLINE HRESULT ISpVoice_QueryInterface(ISpVoice* This,REFIID riid,void **ppvObject) {
6540    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6541}
6542static FORCEINLINE ULONG ISpVoice_AddRef(ISpVoice* This) {
6543    return This->lpVtbl->AddRef(This);
6544}
6545static FORCEINLINE ULONG ISpVoice_Release(ISpVoice* This) {
6546    return This->lpVtbl->Release(This);
6547}
6548/*** ISpNotifySource methods ***/
6549static FORCEINLINE HRESULT ISpVoice_SetNotifySink(ISpVoice* This,ISpNotifySink *pNotifySink) {
6550    return This->lpVtbl->SetNotifySink(This,pNotifySink);
6551}
6552static FORCEINLINE HRESULT ISpVoice_SetNotifyWindowMessage(ISpVoice* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
6553    return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
6554}
6555static FORCEINLINE HRESULT ISpVoice_SetNotifyCallbackFunction(ISpVoice* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
6556    return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
6557}
6558static FORCEINLINE HRESULT ISpVoice_SetNotifyCallbackInterface(ISpVoice* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
6559    return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
6560}
6561static FORCEINLINE HRESULT ISpVoice_SetNotifyWin32Event(ISpVoice* This) {
6562    return This->lpVtbl->SetNotifyWin32Event(This);
6563}
6564static FORCEINLINE HRESULT ISpVoice_WaitForNotifyEvent(ISpVoice* This,DWORD dwMilliseconds) {
6565    return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
6566}
6567static FORCEINLINE HANDLE ISpVoice_GetNotifyEventHandle(ISpVoice* This) {
6568    return This->lpVtbl->GetNotifyEventHandle(This);
6569}
6570/*** ISpEventSource methods ***/
6571static FORCEINLINE HRESULT ISpVoice_SetInterest(ISpVoice* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
6572    return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
6573}
6574static FORCEINLINE HRESULT ISpVoice_GetEvents(ISpVoice* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
6575    return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
6576}
6577static FORCEINLINE HRESULT ISpVoice_GetInfo(ISpVoice* This,SPEVENTSOURCEINFO *pInfo) {
6578    return This->lpVtbl->GetInfo(This,pInfo);
6579}
6580/*** ISpVoice methods ***/
6581static FORCEINLINE HRESULT ISpVoice_SetOutput(ISpVoice* This,IUnknown *pUnkOutput,WINBOOL fAllowFormatChanges) {
6582    return This->lpVtbl->SetOutput(This,pUnkOutput,fAllowFormatChanges);
6583}
6584static FORCEINLINE HRESULT ISpVoice_GetOutputObjectToken(ISpVoice* This,ISpObjectToken **ppObjectToken) {
6585    return This->lpVtbl->GetOutputObjectToken(This,ppObjectToken);
6586}
6587static FORCEINLINE HRESULT ISpVoice_GetOutputStream(ISpVoice* This,ISpStreamFormat **ppStream) {
6588    return This->lpVtbl->GetOutputStream(This,ppStream);
6589}
6590static FORCEINLINE HRESULT ISpVoice_Pause(ISpVoice* This) {
6591    return This->lpVtbl->Pause(This);
6592}
6593static FORCEINLINE HRESULT ISpVoice_Resume(ISpVoice* This) {
6594    return This->lpVtbl->Resume(This);
6595}
6596static FORCEINLINE HRESULT ISpVoice_SetVoice(ISpVoice* This,ISpObjectToken *pToken) {
6597    return This->lpVtbl->SetVoice(This,pToken);
6598}
6599static FORCEINLINE HRESULT ISpVoice_GetVoice(ISpVoice* This,ISpObjectToken **ppToken) {
6600    return This->lpVtbl->GetVoice(This,ppToken);
6601}
6602static FORCEINLINE HRESULT ISpVoice_Speak(ISpVoice* This,LPCWSTR pwcs,DWORD dwFlags,ULONG *pulStreamNumber) {
6603    return This->lpVtbl->Speak(This,pwcs,dwFlags,pulStreamNumber);
6604}
6605static FORCEINLINE HRESULT ISpVoice_SpeakStream(ISpVoice* This,IStream *pStream,DWORD dwFlags,ULONG *pulStreamNumber) {
6606    return This->lpVtbl->SpeakStream(This,pStream,dwFlags,pulStreamNumber);
6607}
6608static FORCEINLINE HRESULT ISpVoice_GetStatus(ISpVoice* This,SPVOICESTATUS *pStatus,LPWSTR *ppszLastBookmark) {
6609    return This->lpVtbl->GetStatus(This,pStatus,ppszLastBookmark);
6610}
6611static FORCEINLINE HRESULT ISpVoice_Skip(ISpVoice* This,LPCWSTR pItemType,LONG lNumItems,ULONG *pulNumSkipped) {
6612    return This->lpVtbl->Skip(This,pItemType,lNumItems,pulNumSkipped);
6613}
6614static FORCEINLINE HRESULT ISpVoice_SetPriority(ISpVoice* This,SPVPRIORITY ePriority) {
6615    return This->lpVtbl->SetPriority(This,ePriority);
6616}
6617static FORCEINLINE HRESULT ISpVoice_GetPriority(ISpVoice* This,SPVPRIORITY *pePriority) {
6618    return This->lpVtbl->GetPriority(This,pePriority);
6619}
6620static FORCEINLINE HRESULT ISpVoice_SetAlertBoundary(ISpVoice* This,SPEVENTENUM eBoundary) {
6621    return This->lpVtbl->SetAlertBoundary(This,eBoundary);
6622}
6623static FORCEINLINE HRESULT ISpVoice_GetAlertBoundary(ISpVoice* This,SPEVENTENUM *peBoundary) {
6624    return This->lpVtbl->GetAlertBoundary(This,peBoundary);
6625}
6626static FORCEINLINE HRESULT ISpVoice_SetRate(ISpVoice* This,LONG RateAdjust) {
6627    return This->lpVtbl->SetRate(This,RateAdjust);
6628}
6629static FORCEINLINE HRESULT ISpVoice_GetRate(ISpVoice* This,LONG *pRateAdjust) {
6630    return This->lpVtbl->GetRate(This,pRateAdjust);
6631}
6632static FORCEINLINE HRESULT ISpVoice_SetVolume(ISpVoice* This,USHORT usVolume) {
6633    return This->lpVtbl->SetVolume(This,usVolume);
6634}
6635static FORCEINLINE HRESULT ISpVoice_GetVolume(ISpVoice* This,USHORT *pusVolume) {
6636    return This->lpVtbl->GetVolume(This,pusVolume);
6637}
6638static FORCEINLINE HRESULT ISpVoice_WaitUntilDone(ISpVoice* This,ULONG msTimeout) {
6639    return This->lpVtbl->WaitUntilDone(This,msTimeout);
6640}
6641static FORCEINLINE HRESULT ISpVoice_SetSyncSpeakTimeout(ISpVoice* This,ULONG msTimeout) {
6642    return This->lpVtbl->SetSyncSpeakTimeout(This,msTimeout);
6643}
6644static FORCEINLINE HRESULT ISpVoice_GetSyncSpeakTimeout(ISpVoice* This,ULONG *pmsTimeout) {
6645    return This->lpVtbl->GetSyncSpeakTimeout(This,pmsTimeout);
6646}
6647static FORCEINLINE HANDLE ISpVoice_SpeakCompleteEvent(ISpVoice* This) {
6648    return This->lpVtbl->SpeakCompleteEvent(This);
6649}
6650static FORCEINLINE HRESULT ISpVoice_IsUISupported(ISpVoice* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,WINBOOL *pfSupported) {
6651    return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported);
6652}
6653static FORCEINLINE HRESULT ISpVoice_DisplayUI(ISpVoice* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData) {
6654    return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData);
6655}
6656#endif
6657#endif
6658
6659#endif
6660
6661HRESULT STDMETHODCALLTYPE ISpVoice_SetOutput_Proxy(
6662    ISpVoice* This,
6663    IUnknown *pUnkOutput,
6664    WINBOOL fAllowFormatChanges);
6665void __RPC_STUB ISpVoice_SetOutput_Stub(
6666    IRpcStubBuffer* This,
6667    IRpcChannelBuffer* pRpcChannelBuffer,
6668    PRPC_MESSAGE pRpcMessage,
6669    DWORD* pdwStubPhase);
6670HRESULT STDMETHODCALLTYPE ISpVoice_GetOutputObjectToken_Proxy(
6671    ISpVoice* This,
6672    ISpObjectToken **ppObjectToken);
6673void __RPC_STUB ISpVoice_GetOutputObjectToken_Stub(
6674    IRpcStubBuffer* This,
6675    IRpcChannelBuffer* pRpcChannelBuffer,
6676    PRPC_MESSAGE pRpcMessage,
6677    DWORD* pdwStubPhase);
6678HRESULT STDMETHODCALLTYPE ISpVoice_GetOutputStream_Proxy(
6679    ISpVoice* This,
6680    ISpStreamFormat **ppStream);
6681void __RPC_STUB ISpVoice_GetOutputStream_Stub(
6682    IRpcStubBuffer* This,
6683    IRpcChannelBuffer* pRpcChannelBuffer,
6684    PRPC_MESSAGE pRpcMessage,
6685    DWORD* pdwStubPhase);
6686HRESULT STDMETHODCALLTYPE ISpVoice_Pause_Proxy(
6687    ISpVoice* This);
6688void __RPC_STUB ISpVoice_Pause_Stub(
6689    IRpcStubBuffer* This,
6690    IRpcChannelBuffer* pRpcChannelBuffer,
6691    PRPC_MESSAGE pRpcMessage,
6692    DWORD* pdwStubPhase);
6693HRESULT STDMETHODCALLTYPE ISpVoice_Resume_Proxy(
6694    ISpVoice* This);
6695void __RPC_STUB ISpVoice_Resume_Stub(
6696    IRpcStubBuffer* This,
6697    IRpcChannelBuffer* pRpcChannelBuffer,
6698    PRPC_MESSAGE pRpcMessage,
6699    DWORD* pdwStubPhase);
6700HRESULT STDMETHODCALLTYPE ISpVoice_SetVoice_Proxy(
6701    ISpVoice* This,
6702    ISpObjectToken *pToken);
6703void __RPC_STUB ISpVoice_SetVoice_Stub(
6704    IRpcStubBuffer* This,
6705    IRpcChannelBuffer* pRpcChannelBuffer,
6706    PRPC_MESSAGE pRpcMessage,
6707    DWORD* pdwStubPhase);
6708HRESULT STDMETHODCALLTYPE ISpVoice_GetVoice_Proxy(
6709    ISpVoice* This,
6710    ISpObjectToken **ppToken);
6711void __RPC_STUB ISpVoice_GetVoice_Stub(
6712    IRpcStubBuffer* This,
6713    IRpcChannelBuffer* pRpcChannelBuffer,
6714    PRPC_MESSAGE pRpcMessage,
6715    DWORD* pdwStubPhase);
6716HRESULT STDMETHODCALLTYPE ISpVoice_Speak_Proxy(
6717    ISpVoice* This,
6718    LPCWSTR pwcs,
6719    DWORD dwFlags,
6720    ULONG *pulStreamNumber);
6721void __RPC_STUB ISpVoice_Speak_Stub(
6722    IRpcStubBuffer* This,
6723    IRpcChannelBuffer* pRpcChannelBuffer,
6724    PRPC_MESSAGE pRpcMessage,
6725    DWORD* pdwStubPhase);
6726HRESULT STDMETHODCALLTYPE ISpVoice_SpeakStream_Proxy(
6727    ISpVoice* This,
6728    IStream *pStream,
6729    DWORD dwFlags,
6730    ULONG *pulStreamNumber);
6731void __RPC_STUB ISpVoice_SpeakStream_Stub(
6732    IRpcStubBuffer* This,
6733    IRpcChannelBuffer* pRpcChannelBuffer,
6734    PRPC_MESSAGE pRpcMessage,
6735    DWORD* pdwStubPhase);
6736HRESULT STDMETHODCALLTYPE ISpVoice_GetStatus_Proxy(
6737    ISpVoice* This,
6738    SPVOICESTATUS *pStatus,
6739    LPWSTR *ppszLastBookmark);
6740void __RPC_STUB ISpVoice_GetStatus_Stub(
6741    IRpcStubBuffer* This,
6742    IRpcChannelBuffer* pRpcChannelBuffer,
6743    PRPC_MESSAGE pRpcMessage,
6744    DWORD* pdwStubPhase);
6745HRESULT STDMETHODCALLTYPE ISpVoice_Skip_Proxy(
6746    ISpVoice* This,
6747    LPCWSTR pItemType,
6748    LONG lNumItems,
6749    ULONG *pulNumSkipped);
6750void __RPC_STUB ISpVoice_Skip_Stub(
6751    IRpcStubBuffer* This,
6752    IRpcChannelBuffer* pRpcChannelBuffer,
6753    PRPC_MESSAGE pRpcMessage,
6754    DWORD* pdwStubPhase);
6755HRESULT STDMETHODCALLTYPE ISpVoice_SetPriority_Proxy(
6756    ISpVoice* This,
6757    SPVPRIORITY ePriority);
6758void __RPC_STUB ISpVoice_SetPriority_Stub(
6759    IRpcStubBuffer* This,
6760    IRpcChannelBuffer* pRpcChannelBuffer,
6761    PRPC_MESSAGE pRpcMessage,
6762    DWORD* pdwStubPhase);
6763HRESULT STDMETHODCALLTYPE ISpVoice_GetPriority_Proxy(
6764    ISpVoice* This,
6765    SPVPRIORITY *pePriority);
6766void __RPC_STUB ISpVoice_GetPriority_Stub(
6767    IRpcStubBuffer* This,
6768    IRpcChannelBuffer* pRpcChannelBuffer,
6769    PRPC_MESSAGE pRpcMessage,
6770    DWORD* pdwStubPhase);
6771HRESULT STDMETHODCALLTYPE ISpVoice_SetAlertBoundary_Proxy(
6772    ISpVoice* This,
6773    SPEVENTENUM eBoundary);
6774void __RPC_STUB ISpVoice_SetAlertBoundary_Stub(
6775    IRpcStubBuffer* This,
6776    IRpcChannelBuffer* pRpcChannelBuffer,
6777    PRPC_MESSAGE pRpcMessage,
6778    DWORD* pdwStubPhase);
6779HRESULT STDMETHODCALLTYPE ISpVoice_GetAlertBoundary_Proxy(
6780    ISpVoice* This,
6781    SPEVENTENUM *peBoundary);
6782void __RPC_STUB ISpVoice_GetAlertBoundary_Stub(
6783    IRpcStubBuffer* This,
6784    IRpcChannelBuffer* pRpcChannelBuffer,
6785    PRPC_MESSAGE pRpcMessage,
6786    DWORD* pdwStubPhase);
6787HRESULT STDMETHODCALLTYPE ISpVoice_SetRate_Proxy(
6788    ISpVoice* This,
6789    LONG RateAdjust);
6790void __RPC_STUB ISpVoice_SetRate_Stub(
6791    IRpcStubBuffer* This,
6792    IRpcChannelBuffer* pRpcChannelBuffer,
6793    PRPC_MESSAGE pRpcMessage,
6794    DWORD* pdwStubPhase);
6795HRESULT STDMETHODCALLTYPE ISpVoice_GetRate_Proxy(
6796    ISpVoice* This,
6797    LONG *pRateAdjust);
6798void __RPC_STUB ISpVoice_GetRate_Stub(
6799    IRpcStubBuffer* This,
6800    IRpcChannelBuffer* pRpcChannelBuffer,
6801    PRPC_MESSAGE pRpcMessage,
6802    DWORD* pdwStubPhase);
6803HRESULT STDMETHODCALLTYPE ISpVoice_SetVolume_Proxy(
6804    ISpVoice* This,
6805    USHORT usVolume);
6806void __RPC_STUB ISpVoice_SetVolume_Stub(
6807    IRpcStubBuffer* This,
6808    IRpcChannelBuffer* pRpcChannelBuffer,
6809    PRPC_MESSAGE pRpcMessage,
6810    DWORD* pdwStubPhase);
6811HRESULT STDMETHODCALLTYPE ISpVoice_GetVolume_Proxy(
6812    ISpVoice* This,
6813    USHORT *pusVolume);
6814void __RPC_STUB ISpVoice_GetVolume_Stub(
6815    IRpcStubBuffer* This,
6816    IRpcChannelBuffer* pRpcChannelBuffer,
6817    PRPC_MESSAGE pRpcMessage,
6818    DWORD* pdwStubPhase);
6819HRESULT STDMETHODCALLTYPE ISpVoice_WaitUntilDone_Proxy(
6820    ISpVoice* This,
6821    ULONG msTimeout);
6822void __RPC_STUB ISpVoice_WaitUntilDone_Stub(
6823    IRpcStubBuffer* This,
6824    IRpcChannelBuffer* pRpcChannelBuffer,
6825    PRPC_MESSAGE pRpcMessage,
6826    DWORD* pdwStubPhase);
6827HRESULT STDMETHODCALLTYPE ISpVoice_SetSyncSpeakTimeout_Proxy(
6828    ISpVoice* This,
6829    ULONG msTimeout);
6830void __RPC_STUB ISpVoice_SetSyncSpeakTimeout_Stub(
6831    IRpcStubBuffer* This,
6832    IRpcChannelBuffer* pRpcChannelBuffer,
6833    PRPC_MESSAGE pRpcMessage,
6834    DWORD* pdwStubPhase);
6835HRESULT STDMETHODCALLTYPE ISpVoice_GetSyncSpeakTimeout_Proxy(
6836    ISpVoice* This,
6837    ULONG *pmsTimeout);
6838void __RPC_STUB ISpVoice_GetSyncSpeakTimeout_Stub(
6839    IRpcStubBuffer* This,
6840    IRpcChannelBuffer* pRpcChannelBuffer,
6841    PRPC_MESSAGE pRpcMessage,
6842    DWORD* pdwStubPhase);
6843
6844#endif  /* __ISpVoice_INTERFACE_DEFINED__ */
6845
6846/*****************************************************************************
6847 * ISpPhrase interface
6848 */
6849#ifndef __ISpPhrase_INTERFACE_DEFINED__
6850#define __ISpPhrase_INTERFACE_DEFINED__
6851
6852DEFINE_GUID(IID_ISpPhrase, 0x1a5c0354, 0xb621, 0x4b5a, 0x87,0x91, 0xd3,0x06,0xed,0x37,0x9e,0x53);
6853#if defined(__cplusplus) && !defined(CINTERFACE)
6854MIDL_INTERFACE("1a5c0354-b621-4b5a-8791-d306ed379e53")
6855ISpPhrase : public IUnknown
6856{
6857    virtual HRESULT STDMETHODCALLTYPE GetPhrase(
6858        SPPHRASE **ppCoMemPhrase) = 0;
6859
6860    virtual HRESULT STDMETHODCALLTYPE GetSerializedPhrase(
6861        SPSERIALIZEDPHRASE **ppCoMemPhrase) = 0;
6862
6863    virtual HRESULT STDMETHODCALLTYPE GetText(
6864        ULONG ulStart,
6865        ULONG ulCount,
6866        WINBOOL fUseTextReplacements,
6867        LPWSTR *ppszCoMemText,
6868        BYTE *pbDisplayAttributes) = 0;
6869
6870    virtual HRESULT STDMETHODCALLTYPE Discard(
6871        DWORD dwValueTypes) = 0;
6872
6873};
6874#ifdef __CRT_UUID_DECL
6875__CRT_UUID_DECL(ISpPhrase, 0x1a5c0354, 0xb621, 0x4b5a, 0x87,0x91, 0xd3,0x06,0xed,0x37,0x9e,0x53)
6876#endif
6877#else
6878typedef struct ISpPhraseVtbl {
6879    BEGIN_INTERFACE
6880
6881    /*** IUnknown methods ***/
6882    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6883        ISpPhrase* This,
6884        REFIID riid,
6885        void **ppvObject);
6886
6887    ULONG (STDMETHODCALLTYPE *AddRef)(
6888        ISpPhrase* This);
6889
6890    ULONG (STDMETHODCALLTYPE *Release)(
6891        ISpPhrase* This);
6892
6893    /*** ISpPhrase methods ***/
6894    HRESULT (STDMETHODCALLTYPE *GetPhrase)(
6895        ISpPhrase* This,
6896        SPPHRASE **ppCoMemPhrase);
6897
6898    HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
6899        ISpPhrase* This,
6900        SPSERIALIZEDPHRASE **ppCoMemPhrase);
6901
6902    HRESULT (STDMETHODCALLTYPE *GetText)(
6903        ISpPhrase* This,
6904        ULONG ulStart,
6905        ULONG ulCount,
6906        WINBOOL fUseTextReplacements,
6907        LPWSTR *ppszCoMemText,
6908        BYTE *pbDisplayAttributes);
6909
6910    HRESULT (STDMETHODCALLTYPE *Discard)(
6911        ISpPhrase* This,
6912        DWORD dwValueTypes);
6913
6914    END_INTERFACE
6915} ISpPhraseVtbl;
6916interface ISpPhrase {
6917    CONST_VTBL ISpPhraseVtbl* lpVtbl;
6918};
6919
6920#ifdef COBJMACROS
6921#ifndef WIDL_C_INLINE_WRAPPERS
6922/*** IUnknown methods ***/
6923#define ISpPhrase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6924#define ISpPhrase_AddRef(This) (This)->lpVtbl->AddRef(This)
6925#define ISpPhrase_Release(This) (This)->lpVtbl->Release(This)
6926/*** ISpPhrase methods ***/
6927#define ISpPhrase_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
6928#define ISpPhrase_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
6929#define ISpPhrase_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
6930#define ISpPhrase_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
6931#else
6932/*** IUnknown methods ***/
6933static FORCEINLINE HRESULT ISpPhrase_QueryInterface(ISpPhrase* This,REFIID riid,void **ppvObject) {
6934    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6935}
6936static FORCEINLINE ULONG ISpPhrase_AddRef(ISpPhrase* This) {
6937    return This->lpVtbl->AddRef(This);
6938}
6939static FORCEINLINE ULONG ISpPhrase_Release(ISpPhrase* This) {
6940    return This->lpVtbl->Release(This);
6941}
6942/*** ISpPhrase methods ***/
6943static FORCEINLINE HRESULT ISpPhrase_GetPhrase(ISpPhrase* This,SPPHRASE **ppCoMemPhrase) {
6944    return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
6945}
6946static FORCEINLINE HRESULT ISpPhrase_GetSerializedPhrase(ISpPhrase* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
6947    return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
6948}
6949static FORCEINLINE HRESULT ISpPhrase_GetText(ISpPhrase* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
6950    return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
6951}
6952static FORCEINLINE HRESULT ISpPhrase_Discard(ISpPhrase* This,DWORD dwValueTypes) {
6953    return This->lpVtbl->Discard(This,dwValueTypes);
6954}
6955#endif
6956#endif
6957
6958#endif
6959
6960HRESULT STDMETHODCALLTYPE ISpPhrase_GetPhrase_Proxy(
6961    ISpPhrase* This,
6962    SPPHRASE **ppCoMemPhrase);
6963void __RPC_STUB ISpPhrase_GetPhrase_Stub(
6964    IRpcStubBuffer* This,
6965    IRpcChannelBuffer* pRpcChannelBuffer,
6966    PRPC_MESSAGE pRpcMessage,
6967    DWORD* pdwStubPhase);
6968HRESULT STDMETHODCALLTYPE ISpPhrase_GetSerializedPhrase_Proxy(
6969    ISpPhrase* This,
6970    SPSERIALIZEDPHRASE **ppCoMemPhrase);
6971void __RPC_STUB ISpPhrase_GetSerializedPhrase_Stub(
6972    IRpcStubBuffer* This,
6973    IRpcChannelBuffer* pRpcChannelBuffer,
6974    PRPC_MESSAGE pRpcMessage,
6975    DWORD* pdwStubPhase);
6976HRESULT STDMETHODCALLTYPE ISpPhrase_GetText_Proxy(
6977    ISpPhrase* This,
6978    ULONG ulStart,
6979    ULONG ulCount,
6980    WINBOOL fUseTextReplacements,
6981    LPWSTR *ppszCoMemText,
6982    BYTE *pbDisplayAttributes);
6983void __RPC_STUB ISpPhrase_GetText_Stub(
6984    IRpcStubBuffer* This,
6985    IRpcChannelBuffer* pRpcChannelBuffer,
6986    PRPC_MESSAGE pRpcMessage,
6987    DWORD* pdwStubPhase);
6988HRESULT STDMETHODCALLTYPE ISpPhrase_Discard_Proxy(
6989    ISpPhrase* This,
6990    DWORD dwValueTypes);
6991void __RPC_STUB ISpPhrase_Discard_Stub(
6992    IRpcStubBuffer* This,
6993    IRpcChannelBuffer* pRpcChannelBuffer,
6994    PRPC_MESSAGE pRpcMessage,
6995    DWORD* pdwStubPhase);
6996
6997#endif  /* __ISpPhrase_INTERFACE_DEFINED__ */
6998
6999/*****************************************************************************
7000 * ISpPhraseAlt interface
7001 */
7002#ifndef __ISpPhraseAlt_INTERFACE_DEFINED__
7003#define __ISpPhraseAlt_INTERFACE_DEFINED__
7004
7005DEFINE_GUID(IID_ISpPhraseAlt, 0x8fcebc98, 0x4e49, 0x4067, 0x9c,0x6c, 0xd8,0x6a,0x0e,0x09,0x2e,0x3d);
7006#if defined(__cplusplus) && !defined(CINTERFACE)
7007MIDL_INTERFACE("8fcebc98-4e49-4067-9c6c-d86a0e092e3d")
7008ISpPhraseAlt : public ISpPhrase
7009{
7010    virtual HRESULT STDMETHODCALLTYPE GetAltInfo(
7011        ISpPhrase **ppParent,
7012        ULONG *pulStartElementInParent,
7013        ULONG *pcElementsInParent,
7014        ULONG *pcElementsInAlt) = 0;
7015
7016    virtual HRESULT STDMETHODCALLTYPE Commit(
7017        ) = 0;
7018
7019};
7020#ifdef __CRT_UUID_DECL
7021__CRT_UUID_DECL(ISpPhraseAlt, 0x8fcebc98, 0x4e49, 0x4067, 0x9c,0x6c, 0xd8,0x6a,0x0e,0x09,0x2e,0x3d)
7022#endif
7023#else
7024typedef struct ISpPhraseAltVtbl {
7025    BEGIN_INTERFACE
7026
7027    /*** IUnknown methods ***/
7028    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7029        ISpPhraseAlt* This,
7030        REFIID riid,
7031        void **ppvObject);
7032
7033    ULONG (STDMETHODCALLTYPE *AddRef)(
7034        ISpPhraseAlt* This);
7035
7036    ULONG (STDMETHODCALLTYPE *Release)(
7037        ISpPhraseAlt* This);
7038
7039    /*** ISpPhrase methods ***/
7040    HRESULT (STDMETHODCALLTYPE *GetPhrase)(
7041        ISpPhraseAlt* This,
7042        SPPHRASE **ppCoMemPhrase);
7043
7044    HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
7045        ISpPhraseAlt* This,
7046        SPSERIALIZEDPHRASE **ppCoMemPhrase);
7047
7048    HRESULT (STDMETHODCALLTYPE *GetText)(
7049        ISpPhraseAlt* This,
7050        ULONG ulStart,
7051        ULONG ulCount,
7052        WINBOOL fUseTextReplacements,
7053        LPWSTR *ppszCoMemText,
7054        BYTE *pbDisplayAttributes);
7055
7056    HRESULT (STDMETHODCALLTYPE *Discard)(
7057        ISpPhraseAlt* This,
7058        DWORD dwValueTypes);
7059
7060    /*** ISpPhraseAlt methods ***/
7061    HRESULT (STDMETHODCALLTYPE *GetAltInfo)(
7062        ISpPhraseAlt* This,
7063        ISpPhrase **ppParent,
7064        ULONG *pulStartElementInParent,
7065        ULONG *pcElementsInParent,
7066        ULONG *pcElementsInAlt);
7067
7068    HRESULT (STDMETHODCALLTYPE *Commit)(
7069        ISpPhraseAlt* This);
7070
7071    END_INTERFACE
7072} ISpPhraseAltVtbl;
7073interface ISpPhraseAlt {
7074    CONST_VTBL ISpPhraseAltVtbl* lpVtbl;
7075};
7076
7077#ifdef COBJMACROS
7078#ifndef WIDL_C_INLINE_WRAPPERS
7079/*** IUnknown methods ***/
7080#define ISpPhraseAlt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7081#define ISpPhraseAlt_AddRef(This) (This)->lpVtbl->AddRef(This)
7082#define ISpPhraseAlt_Release(This) (This)->lpVtbl->Release(This)
7083/*** ISpPhrase methods ***/
7084#define ISpPhraseAlt_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
7085#define ISpPhraseAlt_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
7086#define ISpPhraseAlt_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
7087#define ISpPhraseAlt_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
7088/*** ISpPhraseAlt methods ***/
7089#define ISpPhraseAlt_GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt) (This)->lpVtbl->GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt)
7090#define ISpPhraseAlt_Commit(This) (This)->lpVtbl->Commit(This)
7091#else
7092/*** IUnknown methods ***/
7093static FORCEINLINE HRESULT ISpPhraseAlt_QueryInterface(ISpPhraseAlt* This,REFIID riid,void **ppvObject) {
7094    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7095}
7096static FORCEINLINE ULONG ISpPhraseAlt_AddRef(ISpPhraseAlt* This) {
7097    return This->lpVtbl->AddRef(This);
7098}
7099static FORCEINLINE ULONG ISpPhraseAlt_Release(ISpPhraseAlt* This) {
7100    return This->lpVtbl->Release(This);
7101}
7102/*** ISpPhrase methods ***/
7103static FORCEINLINE HRESULT ISpPhraseAlt_GetPhrase(ISpPhraseAlt* This,SPPHRASE **ppCoMemPhrase) {
7104    return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
7105}
7106static FORCEINLINE HRESULT ISpPhraseAlt_GetSerializedPhrase(ISpPhraseAlt* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
7107    return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
7108}
7109static FORCEINLINE HRESULT ISpPhraseAlt_GetText(ISpPhraseAlt* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
7110    return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
7111}
7112static FORCEINLINE HRESULT ISpPhraseAlt_Discard(ISpPhraseAlt* This,DWORD dwValueTypes) {
7113    return This->lpVtbl->Discard(This,dwValueTypes);
7114}
7115/*** ISpPhraseAlt methods ***/
7116static FORCEINLINE HRESULT ISpPhraseAlt_GetAltInfo(ISpPhraseAlt* This,ISpPhrase **ppParent,ULONG *pulStartElementInParent,ULONG *pcElementsInParent,ULONG *pcElementsInAlt) {
7117    return This->lpVtbl->GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt);
7118}
7119static FORCEINLINE HRESULT ISpPhraseAlt_Commit(ISpPhraseAlt* This) {
7120    return This->lpVtbl->Commit(This);
7121}
7122#endif
7123#endif
7124
7125#endif
7126
7127HRESULT STDMETHODCALLTYPE ISpPhraseAlt_GetAltInfo_Proxy(
7128    ISpPhraseAlt* This,
7129    ISpPhrase **ppParent,
7130    ULONG *pulStartElementInParent,
7131    ULONG *pcElementsInParent,
7132    ULONG *pcElementsInAlt);
7133void __RPC_STUB ISpPhraseAlt_GetAltInfo_Stub(
7134    IRpcStubBuffer* This,
7135    IRpcChannelBuffer* pRpcChannelBuffer,
7136    PRPC_MESSAGE pRpcMessage,
7137    DWORD* pdwStubPhase);
7138HRESULT STDMETHODCALLTYPE ISpPhraseAlt_Commit_Proxy(
7139    ISpPhraseAlt* This);
7140void __RPC_STUB ISpPhraseAlt_Commit_Stub(
7141    IRpcStubBuffer* This,
7142    IRpcChannelBuffer* pRpcChannelBuffer,
7143    PRPC_MESSAGE pRpcMessage,
7144    DWORD* pdwStubPhase);
7145
7146#endif  /* __ISpPhraseAlt_INTERFACE_DEFINED__ */
7147
7148typedef struct SPRECORESULTTIMES {
7149    FILETIME ftStreamTime;
7150    ULONGLONG ullLength;
7151    DWORD dwTickCount;
7152    ULONGLONG ullStart;
7153} SPRECORESULTTIMES;
7154typedef struct SPSERIALIZEDRESULT {
7155    ULONG ulSerializedSize;
7156} SPSERIALIZEDRESULT;
7157/*****************************************************************************
7158 * ISpRecoResult interface
7159 */
7160#ifndef __ISpRecoResult_INTERFACE_DEFINED__
7161#define __ISpRecoResult_INTERFACE_DEFINED__
7162
7163DEFINE_GUID(IID_ISpRecoResult, 0x20b053be, 0xe235, 0x43cd, 0x9a,0x2a, 0x8d,0x17,0xa4,0x8b,0x78,0x42);
7164#if defined(__cplusplus) && !defined(CINTERFACE)
7165MIDL_INTERFACE("20b053be-e235-43cd-9a2a-8d17a48b7842")
7166ISpRecoResult : public ISpPhrase
7167{
7168    virtual HRESULT STDMETHODCALLTYPE GetResultTimes(
7169        SPRECORESULTTIMES *pTimes) = 0;
7170
7171    virtual HRESULT STDMETHODCALLTYPE GetAlternates(
7172        ULONG ulStartElement,
7173        ULONG cElements,
7174        ULONG ulRequestCount,
7175        ISpPhraseAlt **ppPhrases,
7176        ULONG *pcPhrasesReturned) = 0;
7177
7178    virtual HRESULT STDMETHODCALLTYPE GetAudio(
7179        ULONG ulStartElement,
7180        ULONG cElements,
7181        ISpStreamFormat **ppStream) = 0;
7182
7183    virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
7184        ULONG ulStartElement,
7185        ULONG cElements,
7186        DWORD dwFlags,
7187        ULONG *pulStreamNumber) = 0;
7188
7189    virtual HRESULT STDMETHODCALLTYPE Serialize(
7190        SPSERIALIZEDRESULT **ppCoMemSerializedResult) = 0;
7191
7192    virtual HRESULT STDMETHODCALLTYPE ScaleAudio(
7193        const GUID *pAudioFormatId,
7194        const WAVEFORMATEX *pWaveFormatEx) = 0;
7195
7196    virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
7197        ISpRecoContext **ppRecoContext) = 0;
7198
7199};
7200#ifdef __CRT_UUID_DECL
7201__CRT_UUID_DECL(ISpRecoResult, 0x20b053be, 0xe235, 0x43cd, 0x9a,0x2a, 0x8d,0x17,0xa4,0x8b,0x78,0x42)
7202#endif
7203#else
7204typedef struct ISpRecoResultVtbl {
7205    BEGIN_INTERFACE
7206
7207    /*** IUnknown methods ***/
7208    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7209        ISpRecoResult* This,
7210        REFIID riid,
7211        void **ppvObject);
7212
7213    ULONG (STDMETHODCALLTYPE *AddRef)(
7214        ISpRecoResult* This);
7215
7216    ULONG (STDMETHODCALLTYPE *Release)(
7217        ISpRecoResult* This);
7218
7219    /*** ISpPhrase methods ***/
7220    HRESULT (STDMETHODCALLTYPE *GetPhrase)(
7221        ISpRecoResult* This,
7222        SPPHRASE **ppCoMemPhrase);
7223
7224    HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
7225        ISpRecoResult* This,
7226        SPSERIALIZEDPHRASE **ppCoMemPhrase);
7227
7228    HRESULT (STDMETHODCALLTYPE *GetText)(
7229        ISpRecoResult* This,
7230        ULONG ulStart,
7231        ULONG ulCount,
7232        WINBOOL fUseTextReplacements,
7233        LPWSTR *ppszCoMemText,
7234        BYTE *pbDisplayAttributes);
7235
7236    HRESULT (STDMETHODCALLTYPE *Discard)(
7237        ISpRecoResult* This,
7238        DWORD dwValueTypes);
7239
7240    /*** ISpRecoResult methods ***/
7241    HRESULT (STDMETHODCALLTYPE *GetResultTimes)(
7242        ISpRecoResult* This,
7243        SPRECORESULTTIMES *pTimes);
7244
7245    HRESULT (STDMETHODCALLTYPE *GetAlternates)(
7246        ISpRecoResult* This,
7247        ULONG ulStartElement,
7248        ULONG cElements,
7249        ULONG ulRequestCount,
7250        ISpPhraseAlt **ppPhrases,
7251        ULONG *pcPhrasesReturned);
7252
7253    HRESULT (STDMETHODCALLTYPE *GetAudio)(
7254        ISpRecoResult* This,
7255        ULONG ulStartElement,
7256        ULONG cElements,
7257        ISpStreamFormat **ppStream);
7258
7259    HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
7260        ISpRecoResult* This,
7261        ULONG ulStartElement,
7262        ULONG cElements,
7263        DWORD dwFlags,
7264        ULONG *pulStreamNumber);
7265
7266    HRESULT (STDMETHODCALLTYPE *Serialize)(
7267        ISpRecoResult* This,
7268        SPSERIALIZEDRESULT **ppCoMemSerializedResult);
7269
7270    HRESULT (STDMETHODCALLTYPE *ScaleAudio)(
7271        ISpRecoResult* This,
7272        const GUID *pAudioFormatId,
7273        const WAVEFORMATEX *pWaveFormatEx);
7274
7275    HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
7276        ISpRecoResult* This,
7277        ISpRecoContext **ppRecoContext);
7278
7279    END_INTERFACE
7280} ISpRecoResultVtbl;
7281interface ISpRecoResult {
7282    CONST_VTBL ISpRecoResultVtbl* lpVtbl;
7283};
7284
7285#ifdef COBJMACROS
7286#ifndef WIDL_C_INLINE_WRAPPERS
7287/*** IUnknown methods ***/
7288#define ISpRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7289#define ISpRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
7290#define ISpRecoResult_Release(This) (This)->lpVtbl->Release(This)
7291/*** ISpPhrase methods ***/
7292#define ISpRecoResult_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
7293#define ISpRecoResult_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
7294#define ISpRecoResult_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
7295#define ISpRecoResult_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
7296/*** ISpRecoResult methods ***/
7297#define ISpRecoResult_GetResultTimes(This,pTimes) (This)->lpVtbl->GetResultTimes(This,pTimes)
7298#define ISpRecoResult_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) (This)->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
7299#define ISpRecoResult_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
7300#define ISpRecoResult_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
7301#define ISpRecoResult_Serialize(This,ppCoMemSerializedResult) (This)->lpVtbl->Serialize(This,ppCoMemSerializedResult)
7302#define ISpRecoResult_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
7303#define ISpRecoResult_GetRecoContext(This,ppRecoContext) (This)->lpVtbl->GetRecoContext(This,ppRecoContext)
7304#else
7305/*** IUnknown methods ***/
7306static FORCEINLINE HRESULT ISpRecoResult_QueryInterface(ISpRecoResult* This,REFIID riid,void **ppvObject) {
7307    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7308}
7309static FORCEINLINE ULONG ISpRecoResult_AddRef(ISpRecoResult* This) {
7310    return This->lpVtbl->AddRef(This);
7311}
7312static FORCEINLINE ULONG ISpRecoResult_Release(ISpRecoResult* This) {
7313    return This->lpVtbl->Release(This);
7314}
7315/*** ISpPhrase methods ***/
7316static FORCEINLINE HRESULT ISpRecoResult_GetPhrase(ISpRecoResult* This,SPPHRASE **ppCoMemPhrase) {
7317    return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
7318}
7319static FORCEINLINE HRESULT ISpRecoResult_GetSerializedPhrase(ISpRecoResult* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
7320    return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
7321}
7322static FORCEINLINE HRESULT ISpRecoResult_GetText(ISpRecoResult* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
7323    return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
7324}
7325static FORCEINLINE HRESULT ISpRecoResult_Discard(ISpRecoResult* This,DWORD dwValueTypes) {
7326    return This->lpVtbl->Discard(This,dwValueTypes);
7327}
7328/*** ISpRecoResult methods ***/
7329static FORCEINLINE HRESULT ISpRecoResult_GetResultTimes(ISpRecoResult* This,SPRECORESULTTIMES *pTimes) {
7330    return This->lpVtbl->GetResultTimes(This,pTimes);
7331}
7332static FORCEINLINE HRESULT ISpRecoResult_GetAlternates(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,ULONG ulRequestCount,ISpPhraseAlt **ppPhrases,ULONG *pcPhrasesReturned) {
7333    return This->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned);
7334}
7335static FORCEINLINE HRESULT ISpRecoResult_GetAudio(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
7336    return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
7337}
7338static FORCEINLINE HRESULT ISpRecoResult_SpeakAudio(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,DWORD dwFlags,ULONG *pulStreamNumber) {
7339    return This->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber);
7340}
7341static FORCEINLINE HRESULT ISpRecoResult_Serialize(ISpRecoResult* This,SPSERIALIZEDRESULT **ppCoMemSerializedResult) {
7342    return This->lpVtbl->Serialize(This,ppCoMemSerializedResult);
7343}
7344static FORCEINLINE HRESULT ISpRecoResult_ScaleAudio(ISpRecoResult* This,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
7345    return This->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx);
7346}
7347static FORCEINLINE HRESULT ISpRecoResult_GetRecoContext(ISpRecoResult* This,ISpRecoContext **ppRecoContext) {
7348    return This->lpVtbl->GetRecoContext(This,ppRecoContext);
7349}
7350#endif
7351#endif
7352
7353#endif
7354
7355HRESULT STDMETHODCALLTYPE ISpRecoResult_GetResultTimes_Proxy(
7356    ISpRecoResult* This,
7357    SPRECORESULTTIMES *pTimes);
7358void __RPC_STUB ISpRecoResult_GetResultTimes_Stub(
7359    IRpcStubBuffer* This,
7360    IRpcChannelBuffer* pRpcChannelBuffer,
7361    PRPC_MESSAGE pRpcMessage,
7362    DWORD* pdwStubPhase);
7363HRESULT STDMETHODCALLTYPE ISpRecoResult_GetAlternates_Proxy(
7364    ISpRecoResult* This,
7365    ULONG ulStartElement,
7366    ULONG cElements,
7367    ULONG ulRequestCount,
7368    ISpPhraseAlt **ppPhrases,
7369    ULONG *pcPhrasesReturned);
7370void __RPC_STUB ISpRecoResult_GetAlternates_Stub(
7371    IRpcStubBuffer* This,
7372    IRpcChannelBuffer* pRpcChannelBuffer,
7373    PRPC_MESSAGE pRpcMessage,
7374    DWORD* pdwStubPhase);
7375HRESULT STDMETHODCALLTYPE ISpRecoResult_GetAudio_Proxy(
7376    ISpRecoResult* This,
7377    ULONG ulStartElement,
7378    ULONG cElements,
7379    ISpStreamFormat **ppStream);
7380void __RPC_STUB ISpRecoResult_GetAudio_Stub(
7381    IRpcStubBuffer* This,
7382    IRpcChannelBuffer* pRpcChannelBuffer,
7383    PRPC_MESSAGE pRpcMessage,
7384    DWORD* pdwStubPhase);
7385HRESULT STDMETHODCALLTYPE ISpRecoResult_SpeakAudio_Proxy(
7386    ISpRecoResult* This,
7387    ULONG ulStartElement,
7388    ULONG cElements,
7389    DWORD dwFlags,
7390    ULONG *pulStreamNumber);
7391void __RPC_STUB ISpRecoResult_SpeakAudio_Stub(
7392    IRpcStubBuffer* This,
7393    IRpcChannelBuffer* pRpcChannelBuffer,
7394    PRPC_MESSAGE pRpcMessage,
7395    DWORD* pdwStubPhase);
7396HRESULT STDMETHODCALLTYPE ISpRecoResult_Serialize_Proxy(
7397    ISpRecoResult* This,
7398    SPSERIALIZEDRESULT **ppCoMemSerializedResult);
7399void __RPC_STUB ISpRecoResult_Serialize_Stub(
7400    IRpcStubBuffer* This,
7401    IRpcChannelBuffer* pRpcChannelBuffer,
7402    PRPC_MESSAGE pRpcMessage,
7403    DWORD* pdwStubPhase);
7404HRESULT STDMETHODCALLTYPE ISpRecoResult_ScaleAudio_Proxy(
7405    ISpRecoResult* This,
7406    const GUID *pAudioFormatId,
7407    const WAVEFORMATEX *pWaveFormatEx);
7408void __RPC_STUB ISpRecoResult_ScaleAudio_Stub(
7409    IRpcStubBuffer* This,
7410    IRpcChannelBuffer* pRpcChannelBuffer,
7411    PRPC_MESSAGE pRpcMessage,
7412    DWORD* pdwStubPhase);
7413HRESULT STDMETHODCALLTYPE ISpRecoResult_GetRecoContext_Proxy(
7414    ISpRecoResult* This,
7415    ISpRecoContext **ppRecoContext);
7416void __RPC_STUB ISpRecoResult_GetRecoContext_Stub(
7417    IRpcStubBuffer* This,
7418    IRpcChannelBuffer* pRpcChannelBuffer,
7419    PRPC_MESSAGE pRpcMessage,
7420    DWORD* pdwStubPhase);
7421
7422#endif  /* __ISpRecoResult_INTERFACE_DEFINED__ */
7423
7424typedef struct tagSPTEXTSELECTIONINFO {
7425    ULONG ulStartActiveOffset;
7426    ULONG cchActiveChars;
7427    ULONG ulStartSelection;
7428    ULONG cchSelection;
7429} SPTEXTSELECTIONINFO;
7430typedef enum SPWORDPRONOUNCEABLE {
7431    SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE = 0,
7432    SPWP_UNKNOWN_WORD_PRONOUNCEABLE = 1,
7433    SPWP_KNOWN_WORD_PRONOUNCEABLE = 2
7434} SPWORDPRONOUNCEABLE;
7435typedef enum SPGRAMMARSTATE {
7436    SPGS_DISABLED = 0,
7437    SPGS_ENABLED = 1,
7438    SPGS_EXCLUSIVE = 3
7439} SPGRAMMARSTATE;
7440typedef enum SPCONTEXTSTATE {
7441    SPCS_DISABLED = 0,
7442    SPCS_ENABLED = 1
7443} SPCONTEXTSTATE;
7444typedef enum SPRULESTATE {
7445    SPRS_INACTIVE = 0,
7446    SPRS_ACTIVE = 1,
7447    SPRS_ACTIVE_WITH_AUTO_PAUSE = 3
7448} SPRULESTATE;
7449#define SP_STREAMPOS_ASAP (0)
7450
7451#define SP_STREAMPOS_REALTIME (-1)
7452
7453#define SPRULETRANS_TEXTBUFFER (SPSTATEHANDLE) (-1)
7454#define SPRULETRANS_WILDCARD (SPSTATEHANDLE) (-2)
7455#define SPRULETRANS_DICTATION (SPSTATEHANDLE) (-3)
7456typedef enum SPGRAMMARWORDTYPE {
7457    SPWT_DISPLAY = 0,
7458    SPWT_LEXICAL = 1,
7459    SPWT_PRONUNCIATION = 2
7460} SPGRAMMARWORDTYPE;
7461typedef struct tagSPPROPERTYINFO {
7462    LPCWSTR pszName;
7463    ULONG ulId;
7464    LPCWSTR pszValue;
7465    VARIANT vValue;
7466} SPPROPERTYINFO;
7467typedef enum SPCFGRULEATTRIBUTES {
7468    SPRAF_TopLevel = 0x1,
7469    SPRAF_Active = 0x2,
7470    SPRAF_Export = 0x4,
7471    SPRAF_Import = 0x8,
7472    SPRAF_Interpreter = 0x10,
7473    SPRAF_Dynamic = 0x20,
7474    SPRAF_AutoPause = 0x10000
7475} SPCFGRULEATTRIBUTES;
7476/*****************************************************************************
7477 * ISpGrammarBuilder interface
7478 */
7479#ifndef __ISpGrammarBuilder_INTERFACE_DEFINED__
7480#define __ISpGrammarBuilder_INTERFACE_DEFINED__
7481
7482DEFINE_GUID(IID_ISpGrammarBuilder, 0x8137828f, 0x591a, 0x4a42, 0xbe,0x58, 0x49,0xea,0x7e,0xba,0xac,0x68);
7483#if defined(__cplusplus) && !defined(CINTERFACE)
7484MIDL_INTERFACE("8137828f-591a-4a42-be58-49ea7ebaac68")
7485ISpGrammarBuilder : public IUnknown
7486{
7487    virtual HRESULT STDMETHODCALLTYPE ResetGrammar(
7488        WORD NewLanguage) = 0;
7489
7490    virtual HRESULT STDMETHODCALLTYPE GetRule(
7491        LPCWSTR pszRuleName,
7492        DWORD dwRuleId,
7493        DWORD dwAttributes,
7494        WINBOOL fCreateIfNotExist,
7495        SPSTATEHANDLE *phInitialState) = 0;
7496
7497    virtual HRESULT STDMETHODCALLTYPE ClearRule(
7498        SPSTATEHANDLE hState) = 0;
7499
7500    virtual HRESULT STDMETHODCALLTYPE CreateNewState(
7501        SPSTATEHANDLE hState,
7502        SPSTATEHANDLE *phState) = 0;
7503
7504    virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
7505        SPSTATEHANDLE hFromState,
7506        SPSTATEHANDLE hToState,
7507        LPCWSTR psz,
7508        LPCWSTR pszSeparators,
7509        SPGRAMMARWORDTYPE eWordType,
7510        float Weight,
7511        const SPPROPERTYINFO *pPropInfo) = 0;
7512
7513    virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
7514        SPSTATEHANDLE hFromState,
7515        SPSTATEHANDLE hToState,
7516        SPSTATEHANDLE hRule,
7517        float Weight,
7518        const SPPROPERTYINFO *pPropInfo) = 0;
7519
7520    virtual HRESULT STDMETHODCALLTYPE AddResource(
7521        SPSTATEHANDLE hRuleState,
7522        LPCWSTR pszResourceName,
7523        LPCWSTR pszResourceValue) = 0;
7524
7525    virtual HRESULT STDMETHODCALLTYPE Commit(
7526        DWORD dwReserved) = 0;
7527
7528};
7529#ifdef __CRT_UUID_DECL
7530__CRT_UUID_DECL(ISpGrammarBuilder, 0x8137828f, 0x591a, 0x4a42, 0xbe,0x58, 0x49,0xea,0x7e,0xba,0xac,0x68)
7531#endif
7532#else
7533typedef struct ISpGrammarBuilderVtbl {
7534    BEGIN_INTERFACE
7535
7536    /*** IUnknown methods ***/
7537    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7538        ISpGrammarBuilder* This,
7539        REFIID riid,
7540        void **ppvObject);
7541
7542    ULONG (STDMETHODCALLTYPE *AddRef)(
7543        ISpGrammarBuilder* This);
7544
7545    ULONG (STDMETHODCALLTYPE *Release)(
7546        ISpGrammarBuilder* This);
7547
7548    /*** ISpGrammarBuilder methods ***/
7549    HRESULT (STDMETHODCALLTYPE *ResetGrammar)(
7550        ISpGrammarBuilder* This,
7551        WORD NewLanguage);
7552
7553    HRESULT (STDMETHODCALLTYPE *GetRule)(
7554        ISpGrammarBuilder* This,
7555        LPCWSTR pszRuleName,
7556        DWORD dwRuleId,
7557        DWORD dwAttributes,
7558        WINBOOL fCreateIfNotExist,
7559        SPSTATEHANDLE *phInitialState);
7560
7561    HRESULT (STDMETHODCALLTYPE *ClearRule)(
7562        ISpGrammarBuilder* This,
7563        SPSTATEHANDLE hState);
7564
7565    HRESULT (STDMETHODCALLTYPE *CreateNewState)(
7566        ISpGrammarBuilder* This,
7567        SPSTATEHANDLE hState,
7568        SPSTATEHANDLE *phState);
7569
7570    HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
7571        ISpGrammarBuilder* This,
7572        SPSTATEHANDLE hFromState,
7573        SPSTATEHANDLE hToState,
7574        LPCWSTR psz,
7575        LPCWSTR pszSeparators,
7576        SPGRAMMARWORDTYPE eWordType,
7577        float Weight,
7578        const SPPROPERTYINFO *pPropInfo);
7579
7580    HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
7581        ISpGrammarBuilder* This,
7582        SPSTATEHANDLE hFromState,
7583        SPSTATEHANDLE hToState,
7584        SPSTATEHANDLE hRule,
7585        float Weight,
7586        const SPPROPERTYINFO *pPropInfo);
7587
7588    HRESULT (STDMETHODCALLTYPE *AddResource)(
7589        ISpGrammarBuilder* This,
7590        SPSTATEHANDLE hRuleState,
7591        LPCWSTR pszResourceName,
7592        LPCWSTR pszResourceValue);
7593
7594    HRESULT (STDMETHODCALLTYPE *Commit)(
7595        ISpGrammarBuilder* This,
7596        DWORD dwReserved);
7597
7598    END_INTERFACE
7599} ISpGrammarBuilderVtbl;
7600interface ISpGrammarBuilder {
7601    CONST_VTBL ISpGrammarBuilderVtbl* lpVtbl;
7602};
7603
7604#ifdef COBJMACROS
7605#ifndef WIDL_C_INLINE_WRAPPERS
7606/*** IUnknown methods ***/
7607#define ISpGrammarBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7608#define ISpGrammarBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
7609#define ISpGrammarBuilder_Release(This) (This)->lpVtbl->Release(This)
7610/*** ISpGrammarBuilder methods ***/
7611#define ISpGrammarBuilder_ResetGrammar(This,NewLanguage) (This)->lpVtbl->ResetGrammar(This,NewLanguage)
7612#define ISpGrammarBuilder_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) (This)->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
7613#define ISpGrammarBuilder_ClearRule(This,hState) (This)->lpVtbl->ClearRule(This,hState)
7614#define ISpGrammarBuilder_CreateNewState(This,hState,phState) (This)->lpVtbl->CreateNewState(This,hState,phState)
7615#define ISpGrammarBuilder_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo) (This)->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
7616#define ISpGrammarBuilder_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) (This)->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
7617#define ISpGrammarBuilder_AddResource(This,hRuleState,pszResourceName,pszResourceValue) (This)->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue)
7618#define ISpGrammarBuilder_Commit(This,dwReserved) (This)->lpVtbl->Commit(This,dwReserved)
7619#else
7620/*** IUnknown methods ***/
7621static FORCEINLINE HRESULT ISpGrammarBuilder_QueryInterface(ISpGrammarBuilder* This,REFIID riid,void **ppvObject) {
7622    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7623}
7624static FORCEINLINE ULONG ISpGrammarBuilder_AddRef(ISpGrammarBuilder* This) {
7625    return This->lpVtbl->AddRef(This);
7626}
7627static FORCEINLINE ULONG ISpGrammarBuilder_Release(ISpGrammarBuilder* This) {
7628    return This->lpVtbl->Release(This);
7629}
7630/*** ISpGrammarBuilder methods ***/
7631static FORCEINLINE HRESULT ISpGrammarBuilder_ResetGrammar(ISpGrammarBuilder* This,WORD NewLanguage) {
7632    return This->lpVtbl->ResetGrammar(This,NewLanguage);
7633}
7634static FORCEINLINE HRESULT ISpGrammarBuilder_GetRule(ISpGrammarBuilder* This,LPCWSTR pszRuleName,DWORD dwRuleId,DWORD dwAttributes,WINBOOL fCreateIfNotExist,SPSTATEHANDLE *phInitialState) {
7635    return This->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState);
7636}
7637static FORCEINLINE HRESULT ISpGrammarBuilder_ClearRule(ISpGrammarBuilder* This,SPSTATEHANDLE hState) {
7638    return This->lpVtbl->ClearRule(This,hState);
7639}
7640static FORCEINLINE HRESULT ISpGrammarBuilder_CreateNewState(ISpGrammarBuilder* This,SPSTATEHANDLE hState,SPSTATEHANDLE *phState) {
7641    return This->lpVtbl->CreateNewState(This,hState,phState);
7642}
7643static FORCEINLINE HRESULT ISpGrammarBuilder_AddWordTransition(ISpGrammarBuilder* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,LPCWSTR pszSeparators,SPGRAMMARWORDTYPE eWordType,float Weight,const SPPROPERTYINFO *pPropInfo) {
7644    return This->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo);
7645}
7646static FORCEINLINE HRESULT ISpGrammarBuilder_AddRuleTransition(ISpGrammarBuilder* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,SPSTATEHANDLE hRule,float Weight,const SPPROPERTYINFO *pPropInfo) {
7647    return This->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo);
7648}
7649static FORCEINLINE HRESULT ISpGrammarBuilder_AddResource(ISpGrammarBuilder* This,SPSTATEHANDLE hRuleState,LPCWSTR pszResourceName,LPCWSTR pszResourceValue) {
7650    return This->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue);
7651}
7652static FORCEINLINE HRESULT ISpGrammarBuilder_Commit(ISpGrammarBuilder* This,DWORD dwReserved) {
7653    return This->lpVtbl->Commit(This,dwReserved);
7654}
7655#endif
7656#endif
7657
7658#endif
7659
7660HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_ResetGrammar_Proxy(
7661    ISpGrammarBuilder* This,
7662    WORD NewLanguage);
7663void __RPC_STUB ISpGrammarBuilder_ResetGrammar_Stub(
7664    IRpcStubBuffer* This,
7665    IRpcChannelBuffer* pRpcChannelBuffer,
7666    PRPC_MESSAGE pRpcMessage,
7667    DWORD* pdwStubPhase);
7668HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_GetRule_Proxy(
7669    ISpGrammarBuilder* This,
7670    LPCWSTR pszRuleName,
7671    DWORD dwRuleId,
7672    DWORD dwAttributes,
7673    WINBOOL fCreateIfNotExist,
7674    SPSTATEHANDLE *phInitialState);
7675void __RPC_STUB ISpGrammarBuilder_GetRule_Stub(
7676    IRpcStubBuffer* This,
7677    IRpcChannelBuffer* pRpcChannelBuffer,
7678    PRPC_MESSAGE pRpcMessage,
7679    DWORD* pdwStubPhase);
7680HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_ClearRule_Proxy(
7681    ISpGrammarBuilder* This,
7682    SPSTATEHANDLE hState);
7683void __RPC_STUB ISpGrammarBuilder_ClearRule_Stub(
7684    IRpcStubBuffer* This,
7685    IRpcChannelBuffer* pRpcChannelBuffer,
7686    PRPC_MESSAGE pRpcMessage,
7687    DWORD* pdwStubPhase);
7688HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_CreateNewState_Proxy(
7689    ISpGrammarBuilder* This,
7690    SPSTATEHANDLE hState,
7691    SPSTATEHANDLE *phState);
7692void __RPC_STUB ISpGrammarBuilder_CreateNewState_Stub(
7693    IRpcStubBuffer* This,
7694    IRpcChannelBuffer* pRpcChannelBuffer,
7695    PRPC_MESSAGE pRpcMessage,
7696    DWORD* pdwStubPhase);
7697HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddWordTransition_Proxy(
7698    ISpGrammarBuilder* This,
7699    SPSTATEHANDLE hFromState,
7700    SPSTATEHANDLE hToState,
7701    LPCWSTR psz,
7702    LPCWSTR pszSeparators,
7703    SPGRAMMARWORDTYPE eWordType,
7704    float Weight,
7705    const SPPROPERTYINFO *pPropInfo);
7706void __RPC_STUB ISpGrammarBuilder_AddWordTransition_Stub(
7707    IRpcStubBuffer* This,
7708    IRpcChannelBuffer* pRpcChannelBuffer,
7709    PRPC_MESSAGE pRpcMessage,
7710    DWORD* pdwStubPhase);
7711HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddRuleTransition_Proxy(
7712    ISpGrammarBuilder* This,
7713    SPSTATEHANDLE hFromState,
7714    SPSTATEHANDLE hToState,
7715    SPSTATEHANDLE hRule,
7716    float Weight,
7717    const SPPROPERTYINFO *pPropInfo);
7718void __RPC_STUB ISpGrammarBuilder_AddRuleTransition_Stub(
7719    IRpcStubBuffer* This,
7720    IRpcChannelBuffer* pRpcChannelBuffer,
7721    PRPC_MESSAGE pRpcMessage,
7722    DWORD* pdwStubPhase);
7723HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddResource_Proxy(
7724    ISpGrammarBuilder* This,
7725    SPSTATEHANDLE hRuleState,
7726    LPCWSTR pszResourceName,
7727    LPCWSTR pszResourceValue);
7728void __RPC_STUB ISpGrammarBuilder_AddResource_Stub(
7729    IRpcStubBuffer* This,
7730    IRpcChannelBuffer* pRpcChannelBuffer,
7731    PRPC_MESSAGE pRpcMessage,
7732    DWORD* pdwStubPhase);
7733HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_Commit_Proxy(
7734    ISpGrammarBuilder* This,
7735    DWORD dwReserved);
7736void __RPC_STUB ISpGrammarBuilder_Commit_Stub(
7737    IRpcStubBuffer* This,
7738    IRpcChannelBuffer* pRpcChannelBuffer,
7739    PRPC_MESSAGE pRpcMessage,
7740    DWORD* pdwStubPhase);
7741
7742#endif  /* __ISpGrammarBuilder_INTERFACE_DEFINED__ */
7743
7744typedef enum SPLOADOPTIONS {
7745    SPLO_STATIC = 0,
7746    SPLO_DYNAMIC = 1
7747} SPLOADOPTIONS;
7748/*****************************************************************************
7749 * ISpRecoGrammar interface
7750 */
7751#ifndef __ISpRecoGrammar_INTERFACE_DEFINED__
7752#define __ISpRecoGrammar_INTERFACE_DEFINED__
7753
7754DEFINE_GUID(IID_ISpRecoGrammar, 0x2177db29, 0x7f45, 0x47d0, 0x85,0x54, 0x06,0x7e,0x91,0xc8,0x05,0x02);
7755#if defined(__cplusplus) && !defined(CINTERFACE)
7756MIDL_INTERFACE("2177db29-7f45-47d0-8554-067e91c80502")
7757ISpRecoGrammar : public ISpGrammarBuilder
7758{
7759    virtual HRESULT STDMETHODCALLTYPE GetGrammarId(
7760        ULONGLONG *pullGrammarId) = 0;
7761
7762    virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
7763        ISpRecoContext **ppRecoCtxt) = 0;
7764
7765    virtual HRESULT STDMETHODCALLTYPE LoadCmdFromFile(
7766        LPCWSTR pszFileName,
7767        SPLOADOPTIONS Options) = 0;
7768
7769    virtual HRESULT STDMETHODCALLTYPE LoadCmdFromObject(
7770        REFCLSID rcid,
7771        LPCWSTR pszGrammarName,
7772        SPLOADOPTIONS Options) = 0;
7773
7774    virtual HRESULT STDMETHODCALLTYPE LoadCmdFromResource(
7775        HMODULE hModule,
7776        LPCWSTR pszResourceName,
7777        LPCWSTR pszResourceType,
7778        WORD wLanguage,
7779        SPLOADOPTIONS Options) = 0;
7780
7781    virtual HRESULT STDMETHODCALLTYPE LoadCmdFromMemory(
7782        const SPBINARYGRAMMAR *pGrammar,
7783        SPLOADOPTIONS Options) = 0;
7784
7785    virtual HRESULT STDMETHODCALLTYPE LoadCmdFromProprietaryGrammar(
7786        REFGUID rguidParam,
7787        LPCWSTR pszStringParam,
7788        const void *pvDataPrarm,
7789        ULONG cbDataSize,
7790        SPLOADOPTIONS Options) = 0;
7791
7792    virtual HRESULT STDMETHODCALLTYPE SetRuleState(
7793        LPCWSTR pszName,
7794        void *pReserved,
7795        SPRULESTATE NewState) = 0;
7796
7797    virtual HRESULT STDMETHODCALLTYPE SetRuleIdState(
7798        ULONG ulRuleId,
7799        SPRULESTATE NewState) = 0;
7800
7801    virtual HRESULT STDMETHODCALLTYPE LoadDictation(
7802        LPCWSTR pszTopicName,
7803        SPLOADOPTIONS Options) = 0;
7804
7805    virtual HRESULT STDMETHODCALLTYPE UnloadDictation(
7806        ) = 0;
7807
7808    virtual HRESULT STDMETHODCALLTYPE SetDictationState(
7809        SPRULESTATE NewState) = 0;
7810
7811    virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
7812        const WCHAR *pText,
7813        ULONG cchText,
7814        const SPTEXTSELECTIONINFO *pInfo) = 0;
7815
7816    virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
7817        const SPTEXTSELECTIONINFO *pInfo) = 0;
7818
7819    virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
7820        LPCWSTR pszWord,
7821        SPWORDPRONOUNCEABLE *pWordPronounceable) = 0;
7822
7823    virtual HRESULT STDMETHODCALLTYPE SetGrammarState(
7824        SPGRAMMARSTATE eGrammarState) = 0;
7825
7826    virtual HRESULT STDMETHODCALLTYPE SaveCmd(
7827        IStream *pStream,
7828        LPWSTR *ppszCoMemErrorText) = 0;
7829
7830    virtual HRESULT STDMETHODCALLTYPE GetGrammarState(
7831        SPGRAMMARSTATE *peGrammarState) = 0;
7832
7833};
7834#ifdef __CRT_UUID_DECL
7835__CRT_UUID_DECL(ISpRecoGrammar, 0x2177db29, 0x7f45, 0x47d0, 0x85,0x54, 0x06,0x7e,0x91,0xc8,0x05,0x02)
7836#endif
7837#else
7838typedef struct ISpRecoGrammarVtbl {
7839    BEGIN_INTERFACE
7840
7841    /*** IUnknown methods ***/
7842    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7843        ISpRecoGrammar* This,
7844        REFIID riid,
7845        void **ppvObject);
7846
7847    ULONG (STDMETHODCALLTYPE *AddRef)(
7848        ISpRecoGrammar* This);
7849
7850    ULONG (STDMETHODCALLTYPE *Release)(
7851        ISpRecoGrammar* This);
7852
7853    /*** ISpGrammarBuilder methods ***/
7854    HRESULT (STDMETHODCALLTYPE *ResetGrammar)(
7855        ISpRecoGrammar* This,
7856        WORD NewLanguage);
7857
7858    HRESULT (STDMETHODCALLTYPE *GetRule)(
7859        ISpRecoGrammar* This,
7860        LPCWSTR pszRuleName,
7861        DWORD dwRuleId,
7862        DWORD dwAttributes,
7863        WINBOOL fCreateIfNotExist,
7864        SPSTATEHANDLE *phInitialState);
7865
7866    HRESULT (STDMETHODCALLTYPE *ClearRule)(
7867        ISpRecoGrammar* This,
7868        SPSTATEHANDLE hState);
7869
7870    HRESULT (STDMETHODCALLTYPE *CreateNewState)(
7871        ISpRecoGrammar* This,
7872        SPSTATEHANDLE hState,
7873        SPSTATEHANDLE *phState);
7874
7875    HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
7876        ISpRecoGrammar* This,
7877        SPSTATEHANDLE hFromState,
7878        SPSTATEHANDLE hToState,
7879        LPCWSTR psz,
7880        LPCWSTR pszSeparators,
7881        SPGRAMMARWORDTYPE eWordType,
7882        float Weight,
7883        const SPPROPERTYINFO *pPropInfo);
7884
7885    HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
7886        ISpRecoGrammar* This,
7887        SPSTATEHANDLE hFromState,
7888        SPSTATEHANDLE hToState,
7889        SPSTATEHANDLE hRule,
7890        float Weight,
7891        const SPPROPERTYINFO *pPropInfo);
7892
7893    HRESULT (STDMETHODCALLTYPE *AddResource)(
7894        ISpRecoGrammar* This,
7895        SPSTATEHANDLE hRuleState,
7896        LPCWSTR pszResourceName,
7897        LPCWSTR pszResourceValue);
7898
7899    HRESULT (STDMETHODCALLTYPE *Commit)(
7900        ISpRecoGrammar* This,
7901        DWORD dwReserved);
7902
7903    /*** ISpRecoGrammar methods ***/
7904    HRESULT (STDMETHODCALLTYPE *GetGrammarId)(
7905        ISpRecoGrammar* This,
7906        ULONGLONG *pullGrammarId);
7907
7908    HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
7909        ISpRecoGrammar* This,
7910        ISpRecoContext **ppRecoCtxt);
7911
7912    HRESULT (STDMETHODCALLTYPE *LoadCmdFromFile)(
7913        ISpRecoGrammar* This,
7914        LPCWSTR pszFileName,
7915        SPLOADOPTIONS Options);
7916
7917    HRESULT (STDMETHODCALLTYPE *LoadCmdFromObject)(
7918        ISpRecoGrammar* This,
7919        REFCLSID rcid,
7920        LPCWSTR pszGrammarName,
7921        SPLOADOPTIONS Options);
7922
7923    HRESULT (STDMETHODCALLTYPE *LoadCmdFromResource)(
7924        ISpRecoGrammar* This,
7925        HMODULE hModule,
7926        LPCWSTR pszResourceName,
7927        LPCWSTR pszResourceType,
7928        WORD wLanguage,
7929        SPLOADOPTIONS Options);
7930
7931    HRESULT (STDMETHODCALLTYPE *LoadCmdFromMemory)(
7932        ISpRecoGrammar* This,
7933        const SPBINARYGRAMMAR *pGrammar,
7934        SPLOADOPTIONS Options);
7935
7936    HRESULT (STDMETHODCALLTYPE *LoadCmdFromProprietaryGrammar)(
7937        ISpRecoGrammar* This,
7938        REFGUID rguidParam,
7939        LPCWSTR pszStringParam,
7940        const void *pvDataPrarm,
7941        ULONG cbDataSize,
7942        SPLOADOPTIONS Options);
7943
7944    HRESULT (STDMETHODCALLTYPE *SetRuleState)(
7945        ISpRecoGrammar* This,
7946        LPCWSTR pszName,
7947        void *pReserved,
7948        SPRULESTATE NewState);
7949
7950    HRESULT (STDMETHODCALLTYPE *SetRuleIdState)(
7951        ISpRecoGrammar* This,
7952        ULONG ulRuleId,
7953        SPRULESTATE NewState);
7954
7955    HRESULT (STDMETHODCALLTYPE *LoadDictation)(
7956        ISpRecoGrammar* This,
7957        LPCWSTR pszTopicName,
7958        SPLOADOPTIONS Options);
7959
7960    HRESULT (STDMETHODCALLTYPE *UnloadDictation)(
7961        ISpRecoGrammar* This);
7962
7963    HRESULT (STDMETHODCALLTYPE *SetDictationState)(
7964        ISpRecoGrammar* This,
7965        SPRULESTATE NewState);
7966
7967    HRESULT (STDMETHODCALLTYPE *SetWordSequenceData)(
7968        ISpRecoGrammar* This,
7969        const WCHAR *pText,
7970        ULONG cchText,
7971        const SPTEXTSELECTIONINFO *pInfo);
7972
7973    HRESULT (STDMETHODCALLTYPE *SetTextSelection)(
7974        ISpRecoGrammar* This,
7975        const SPTEXTSELECTIONINFO *pInfo);
7976
7977    HRESULT (STDMETHODCALLTYPE *IsPronounceable)(
7978        ISpRecoGrammar* This,
7979        LPCWSTR pszWord,
7980        SPWORDPRONOUNCEABLE *pWordPronounceable);
7981
7982    HRESULT (STDMETHODCALLTYPE *SetGrammarState)(
7983        ISpRecoGrammar* This,
7984        SPGRAMMARSTATE eGrammarState);
7985
7986    HRESULT (STDMETHODCALLTYPE *SaveCmd)(
7987        ISpRecoGrammar* This,
7988        IStream *pStream,
7989        LPWSTR *ppszCoMemErrorText);
7990
7991    HRESULT (STDMETHODCALLTYPE *GetGrammarState)(
7992        ISpRecoGrammar* This,
7993        SPGRAMMARSTATE *peGrammarState);
7994
7995    END_INTERFACE
7996} ISpRecoGrammarVtbl;
7997interface ISpRecoGrammar {
7998    CONST_VTBL ISpRecoGrammarVtbl* lpVtbl;
7999};
8000
8001#ifdef COBJMACROS
8002#ifndef WIDL_C_INLINE_WRAPPERS
8003/*** IUnknown methods ***/
8004#define ISpRecoGrammar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8005#define ISpRecoGrammar_AddRef(This) (This)->lpVtbl->AddRef(This)
8006#define ISpRecoGrammar_Release(This) (This)->lpVtbl->Release(This)
8007/*** ISpGrammarBuilder methods ***/
8008#define ISpRecoGrammar_ResetGrammar(This,NewLanguage) (This)->lpVtbl->ResetGrammar(This,NewLanguage)
8009#define ISpRecoGrammar_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) (This)->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
8010#define ISpRecoGrammar_ClearRule(This,hState) (This)->lpVtbl->ClearRule(This,hState)
8011#define ISpRecoGrammar_CreateNewState(This,hState,phState) (This)->lpVtbl->CreateNewState(This,hState,phState)
8012#define ISpRecoGrammar_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo) (This)->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
8013#define ISpRecoGrammar_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) (This)->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
8014#define ISpRecoGrammar_AddResource(This,hRuleState,pszResourceName,pszResourceValue) (This)->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue)
8015#define ISpRecoGrammar_Commit(This,dwReserved) (This)->lpVtbl->Commit(This,dwReserved)
8016/*** ISpRecoGrammar methods ***/
8017#define ISpRecoGrammar_GetGrammarId(This,pullGrammarId) (This)->lpVtbl->GetGrammarId(This,pullGrammarId)
8018#define ISpRecoGrammar_GetRecoContext(This,ppRecoCtxt) (This)->lpVtbl->GetRecoContext(This,ppRecoCtxt)
8019#define ISpRecoGrammar_LoadCmdFromFile(This,pszFileName,Options) (This)->lpVtbl->LoadCmdFromFile(This,pszFileName,Options)
8020#define ISpRecoGrammar_LoadCmdFromObject(This,rcid,pszGrammarName,Options) (This)->lpVtbl->LoadCmdFromObject(This,rcid,pszGrammarName,Options)
8021#define ISpRecoGrammar_LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options) (This)->lpVtbl->LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options)
8022#define ISpRecoGrammar_LoadCmdFromMemory(This,pGrammar,Options) (This)->lpVtbl->LoadCmdFromMemory(This,pGrammar,Options)
8023#define ISpRecoGrammar_LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options) (This)->lpVtbl->LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options)
8024#define ISpRecoGrammar_SetRuleState(This,pszName,pReserved,NewState) (This)->lpVtbl->SetRuleState(This,pszName,pReserved,NewState)
8025#define ISpRecoGrammar_SetRuleIdState(This,ulRuleId,NewState) (This)->lpVtbl->SetRuleIdState(This,ulRuleId,NewState)
8026#define ISpRecoGrammar_LoadDictation(This,pszTopicName,Options) (This)->lpVtbl->LoadDictation(This,pszTopicName,Options)
8027#define ISpRecoGrammar_UnloadDictation(This) (This)->lpVtbl->UnloadDictation(This)
8028#define ISpRecoGrammar_SetDictationState(This,NewState) (This)->lpVtbl->SetDictationState(This,NewState)
8029#define ISpRecoGrammar_SetWordSequenceData(This,pText,cchText,pInfo) (This)->lpVtbl->SetWordSequenceData(This,pText,cchText,pInfo)
8030#define ISpRecoGrammar_SetTextSelection(This,pInfo) (This)->lpVtbl->SetTextSelection(This,pInfo)
8031#define ISpRecoGrammar_IsPronounceable(This,pszWord,pWordPronounceable) (This)->lpVtbl->IsPronounceable(This,pszWord,pWordPronounceable)
8032#define ISpRecoGrammar_SetGrammarState(This,eGrammarState) (This)->lpVtbl->SetGrammarState(This,eGrammarState)
8033#define ISpRecoGrammar_SaveCmd(This,pStream,ppszCoMemErrorText) (This)->lpVtbl->SaveCmd(This,pStream,ppszCoMemErrorText)
8034#define ISpRecoGrammar_GetGrammarState(This,peGrammarState) (This)->lpVtbl->GetGrammarState(This,peGrammarState)
8035#else
8036/*** IUnknown methods ***/
8037static FORCEINLINE HRESULT ISpRecoGrammar_QueryInterface(ISpRecoGrammar* This,REFIID riid,void **ppvObject) {
8038    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8039}
8040static FORCEINLINE ULONG ISpRecoGrammar_AddRef(ISpRecoGrammar* This) {
8041    return This->lpVtbl->AddRef(This);
8042}
8043static FORCEINLINE ULONG ISpRecoGrammar_Release(ISpRecoGrammar* This) {
8044    return This->lpVtbl->Release(This);
8045}
8046/*** ISpGrammarBuilder methods ***/
8047static FORCEINLINE HRESULT ISpRecoGrammar_ResetGrammar(ISpRecoGrammar* This,WORD NewLanguage) {
8048    return This->lpVtbl->ResetGrammar(This,NewLanguage);
8049}
8050static FORCEINLINE HRESULT ISpRecoGrammar_GetRule(ISpRecoGrammar* This,LPCWSTR pszRuleName,DWORD dwRuleId,DWORD dwAttributes,WINBOOL fCreateIfNotExist,SPSTATEHANDLE *phInitialState) {
8051    return This->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState);
8052}
8053static FORCEINLINE HRESULT ISpRecoGrammar_ClearRule(ISpRecoGrammar* This,SPSTATEHANDLE hState) {
8054    return This->lpVtbl->ClearRule(This,hState);
8055}
8056static FORCEINLINE HRESULT ISpRecoGrammar_CreateNewState(ISpRecoGrammar* This,SPSTATEHANDLE hState,SPSTATEHANDLE *phState) {
8057    return This->lpVtbl->CreateNewState(This,hState,phState);
8058}
8059static FORCEINLINE HRESULT ISpRecoGrammar_AddWordTransition(ISpRecoGrammar* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,LPCWSTR pszSeparators,SPGRAMMARWORDTYPE eWordType,float Weight,const SPPROPERTYINFO *pPropInfo) {
8060    return This->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo);
8061}
8062static FORCEINLINE HRESULT ISpRecoGrammar_AddRuleTransition(ISpRecoGrammar* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,SPSTATEHANDLE hRule,float Weight,const SPPROPERTYINFO *pPropInfo) {
8063    return This->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo);
8064}
8065static FORCEINLINE HRESULT ISpRecoGrammar_AddResource(ISpRecoGrammar* This,SPSTATEHANDLE hRuleState,LPCWSTR pszResourceName,LPCWSTR pszResourceValue) {
8066    return This->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue);
8067}
8068static FORCEINLINE HRESULT ISpRecoGrammar_Commit(ISpRecoGrammar* This,DWORD dwReserved) {
8069    return This->lpVtbl->Commit(This,dwReserved);
8070}
8071/*** ISpRecoGrammar methods ***/
8072static FORCEINLINE HRESULT ISpRecoGrammar_GetGrammarId(ISpRecoGrammar* This,ULONGLONG *pullGrammarId) {
8073    return This->lpVtbl->GetGrammarId(This,pullGrammarId);
8074}
8075static FORCEINLINE HRESULT ISpRecoGrammar_GetRecoContext(ISpRecoGrammar* This,ISpRecoContext **ppRecoCtxt) {
8076    return This->lpVtbl->GetRecoContext(This,ppRecoCtxt);
8077}
8078static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromFile(ISpRecoGrammar* This,LPCWSTR pszFileName,SPLOADOPTIONS Options) {
8079    return This->lpVtbl->LoadCmdFromFile(This,pszFileName,Options);
8080}
8081static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromObject(ISpRecoGrammar* This,REFCLSID rcid,LPCWSTR pszGrammarName,SPLOADOPTIONS Options) {
8082    return This->lpVtbl->LoadCmdFromObject(This,rcid,pszGrammarName,Options);
8083}
8084static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromResource(ISpRecoGrammar* This,HMODULE hModule,LPCWSTR pszResourceName,LPCWSTR pszResourceType,WORD wLanguage,SPLOADOPTIONS Options) {
8085    return This->lpVtbl->LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options);
8086}
8087static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromMemory(ISpRecoGrammar* This,const SPBINARYGRAMMAR *pGrammar,SPLOADOPTIONS Options) {
8088    return This->lpVtbl->LoadCmdFromMemory(This,pGrammar,Options);
8089}
8090static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromProprietaryGrammar(ISpRecoGrammar* This,REFGUID rguidParam,LPCWSTR pszStringParam,const void *pvDataPrarm,ULONG cbDataSize,SPLOADOPTIONS Options) {
8091    return This->lpVtbl->LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options);
8092}
8093static FORCEINLINE HRESULT ISpRecoGrammar_SetRuleState(ISpRecoGrammar* This,LPCWSTR pszName,void *pReserved,SPRULESTATE NewState) {
8094    return This->lpVtbl->SetRuleState(This,pszName,pReserved,NewState);
8095}
8096static FORCEINLINE HRESULT ISpRecoGrammar_SetRuleIdState(ISpRecoGrammar* This,ULONG ulRuleId,SPRULESTATE NewState) {
8097    return This->lpVtbl->SetRuleIdState(This,ulRuleId,NewState);
8098}
8099static FORCEINLINE HRESULT ISpRecoGrammar_LoadDictation(ISpRecoGrammar* This,LPCWSTR pszTopicName,SPLOADOPTIONS Options) {
8100    return This->lpVtbl->LoadDictation(This,pszTopicName,Options);
8101}
8102static FORCEINLINE HRESULT ISpRecoGrammar_UnloadDictation(ISpRecoGrammar* This) {
8103    return This->lpVtbl->UnloadDictation(This);
8104}
8105static FORCEINLINE HRESULT ISpRecoGrammar_SetDictationState(ISpRecoGrammar* This,SPRULESTATE NewState) {
8106    return This->lpVtbl->SetDictationState(This,NewState);
8107}
8108static FORCEINLINE HRESULT ISpRecoGrammar_SetWordSequenceData(ISpRecoGrammar* This,const WCHAR *pText,ULONG cchText,const SPTEXTSELECTIONINFO *pInfo) {
8109    return This->lpVtbl->SetWordSequenceData(This,pText,cchText,pInfo);
8110}
8111static FORCEINLINE HRESULT ISpRecoGrammar_SetTextSelection(ISpRecoGrammar* This,const SPTEXTSELECTIONINFO *pInfo) {
8112    return This->lpVtbl->SetTextSelection(This,pInfo);
8113}
8114static FORCEINLINE HRESULT ISpRecoGrammar_IsPronounceable(ISpRecoGrammar* This,LPCWSTR pszWord,SPWORDPRONOUNCEABLE *pWordPronounceable) {
8115    return This->lpVtbl->IsPronounceable(This,pszWord,pWordPronounceable);
8116}
8117static FORCEINLINE HRESULT ISpRecoGrammar_SetGrammarState(ISpRecoGrammar* This,SPGRAMMARSTATE eGrammarState) {
8118    return This->lpVtbl->SetGrammarState(This,eGrammarState);
8119}
8120static FORCEINLINE HRESULT ISpRecoGrammar_SaveCmd(ISpRecoGrammar* This,IStream *pStream,LPWSTR *ppszCoMemErrorText) {
8121    return This->lpVtbl->SaveCmd(This,pStream,ppszCoMemErrorText);
8122}
8123static FORCEINLINE HRESULT ISpRecoGrammar_GetGrammarState(ISpRecoGrammar* This,SPGRAMMARSTATE *peGrammarState) {
8124    return This->lpVtbl->GetGrammarState(This,peGrammarState);
8125}
8126#endif
8127#endif
8128
8129#endif
8130
8131HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetGrammarId_Proxy(
8132    ISpRecoGrammar* This,
8133    ULONGLONG *pullGrammarId);
8134void __RPC_STUB ISpRecoGrammar_GetGrammarId_Stub(
8135    IRpcStubBuffer* This,
8136    IRpcChannelBuffer* pRpcChannelBuffer,
8137    PRPC_MESSAGE pRpcMessage,
8138    DWORD* pdwStubPhase);
8139HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetRecoContext_Proxy(
8140    ISpRecoGrammar* This,
8141    ISpRecoContext **ppRecoCtxt);
8142void __RPC_STUB ISpRecoGrammar_GetRecoContext_Stub(
8143    IRpcStubBuffer* This,
8144    IRpcChannelBuffer* pRpcChannelBuffer,
8145    PRPC_MESSAGE pRpcMessage,
8146    DWORD* pdwStubPhase);
8147HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromFile_Proxy(
8148    ISpRecoGrammar* This,
8149    LPCWSTR pszFileName,
8150    SPLOADOPTIONS Options);
8151void __RPC_STUB ISpRecoGrammar_LoadCmdFromFile_Stub(
8152    IRpcStubBuffer* This,
8153    IRpcChannelBuffer* pRpcChannelBuffer,
8154    PRPC_MESSAGE pRpcMessage,
8155    DWORD* pdwStubPhase);
8156HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromObject_Proxy(
8157    ISpRecoGrammar* This,
8158    REFCLSID rcid,
8159    LPCWSTR pszGrammarName,
8160    SPLOADOPTIONS Options);
8161void __RPC_STUB ISpRecoGrammar_LoadCmdFromObject_Stub(
8162    IRpcStubBuffer* This,
8163    IRpcChannelBuffer* pRpcChannelBuffer,
8164    PRPC_MESSAGE pRpcMessage,
8165    DWORD* pdwStubPhase);
8166HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromResource_Proxy(
8167    ISpRecoGrammar* This,
8168    HMODULE hModule,
8169    LPCWSTR pszResourceName,
8170    LPCWSTR pszResourceType,
8171    WORD wLanguage,
8172    SPLOADOPTIONS Options);
8173void __RPC_STUB ISpRecoGrammar_LoadCmdFromResource_Stub(
8174    IRpcStubBuffer* This,
8175    IRpcChannelBuffer* pRpcChannelBuffer,
8176    PRPC_MESSAGE pRpcMessage,
8177    DWORD* pdwStubPhase);
8178HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromMemory_Proxy(
8179    ISpRecoGrammar* This,
8180    const SPBINARYGRAMMAR *pGrammar,
8181    SPLOADOPTIONS Options);
8182void __RPC_STUB ISpRecoGrammar_LoadCmdFromMemory_Stub(
8183    IRpcStubBuffer* This,
8184    IRpcChannelBuffer* pRpcChannelBuffer,
8185    PRPC_MESSAGE pRpcMessage,
8186    DWORD* pdwStubPhase);
8187HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromProprietaryGrammar_Proxy(
8188    ISpRecoGrammar* This,
8189    REFGUID rguidParam,
8190    LPCWSTR pszStringParam,
8191    const void *pvDataPrarm,
8192    ULONG cbDataSize,
8193    SPLOADOPTIONS Options);
8194void __RPC_STUB ISpRecoGrammar_LoadCmdFromProprietaryGrammar_Stub(
8195    IRpcStubBuffer* This,
8196    IRpcChannelBuffer* pRpcChannelBuffer,
8197    PRPC_MESSAGE pRpcMessage,
8198    DWORD* pdwStubPhase);
8199HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetRuleState_Proxy(
8200    ISpRecoGrammar* This,
8201    LPCWSTR pszName,
8202    void *pReserved,
8203    SPRULESTATE NewState);
8204void __RPC_STUB ISpRecoGrammar_SetRuleState_Stub(
8205    IRpcStubBuffer* This,
8206    IRpcChannelBuffer* pRpcChannelBuffer,
8207    PRPC_MESSAGE pRpcMessage,
8208    DWORD* pdwStubPhase);
8209HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetRuleIdState_Proxy(
8210    ISpRecoGrammar* This,
8211    ULONG ulRuleId,
8212    SPRULESTATE NewState);
8213void __RPC_STUB ISpRecoGrammar_SetRuleIdState_Stub(
8214    IRpcStubBuffer* This,
8215    IRpcChannelBuffer* pRpcChannelBuffer,
8216    PRPC_MESSAGE pRpcMessage,
8217    DWORD* pdwStubPhase);
8218HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadDictation_Proxy(
8219    ISpRecoGrammar* This,
8220    LPCWSTR pszTopicName,
8221    SPLOADOPTIONS Options);
8222void __RPC_STUB ISpRecoGrammar_LoadDictation_Stub(
8223    IRpcStubBuffer* This,
8224    IRpcChannelBuffer* pRpcChannelBuffer,
8225    PRPC_MESSAGE pRpcMessage,
8226    DWORD* pdwStubPhase);
8227HRESULT STDMETHODCALLTYPE ISpRecoGrammar_UnloadDictation_Proxy(
8228    ISpRecoGrammar* This);
8229void __RPC_STUB ISpRecoGrammar_UnloadDictation_Stub(
8230    IRpcStubBuffer* This,
8231    IRpcChannelBuffer* pRpcChannelBuffer,
8232    PRPC_MESSAGE pRpcMessage,
8233    DWORD* pdwStubPhase);
8234HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetDictationState_Proxy(
8235    ISpRecoGrammar* This,
8236    SPRULESTATE NewState);
8237void __RPC_STUB ISpRecoGrammar_SetDictationState_Stub(
8238    IRpcStubBuffer* This,
8239    IRpcChannelBuffer* pRpcChannelBuffer,
8240    PRPC_MESSAGE pRpcMessage,
8241    DWORD* pdwStubPhase);
8242HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetWordSequenceData_Proxy(
8243    ISpRecoGrammar* This,
8244    const WCHAR *pText,
8245    ULONG cchText,
8246    const SPTEXTSELECTIONINFO *pInfo);
8247void __RPC_STUB ISpRecoGrammar_SetWordSequenceData_Stub(
8248    IRpcStubBuffer* This,
8249    IRpcChannelBuffer* pRpcChannelBuffer,
8250    PRPC_MESSAGE pRpcMessage,
8251    DWORD* pdwStubPhase);
8252HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetTextSelection_Proxy(
8253    ISpRecoGrammar* This,
8254    const SPTEXTSELECTIONINFO *pInfo);
8255void __RPC_STUB ISpRecoGrammar_SetTextSelection_Stub(
8256    IRpcStubBuffer* This,
8257    IRpcChannelBuffer* pRpcChannelBuffer,
8258    PRPC_MESSAGE pRpcMessage,
8259    DWORD* pdwStubPhase);
8260HRESULT STDMETHODCALLTYPE ISpRecoGrammar_IsPronounceable_Proxy(
8261    ISpRecoGrammar* This,
8262    LPCWSTR pszWord,
8263    SPWORDPRONOUNCEABLE *pWordPronounceable);
8264void __RPC_STUB ISpRecoGrammar_IsPronounceable_Stub(
8265    IRpcStubBuffer* This,
8266    IRpcChannelBuffer* pRpcChannelBuffer,
8267    PRPC_MESSAGE pRpcMessage,
8268    DWORD* pdwStubPhase);
8269HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetGrammarState_Proxy(
8270    ISpRecoGrammar* This,
8271    SPGRAMMARSTATE eGrammarState);
8272void __RPC_STUB ISpRecoGrammar_SetGrammarState_Stub(
8273    IRpcStubBuffer* This,
8274    IRpcChannelBuffer* pRpcChannelBuffer,
8275    PRPC_MESSAGE pRpcMessage,
8276    DWORD* pdwStubPhase);
8277HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SaveCmd_Proxy(
8278    ISpRecoGrammar* This,
8279    IStream *pStream,
8280    LPWSTR *ppszCoMemErrorText);
8281void __RPC_STUB ISpRecoGrammar_SaveCmd_Stub(
8282    IRpcStubBuffer* This,
8283    IRpcChannelBuffer* pRpcChannelBuffer,
8284    PRPC_MESSAGE pRpcMessage,
8285    DWORD* pdwStubPhase);
8286HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetGrammarState_Proxy(
8287    ISpRecoGrammar* This,
8288    SPGRAMMARSTATE *peGrammarState);
8289void __RPC_STUB ISpRecoGrammar_GetGrammarState_Stub(
8290    IRpcStubBuffer* This,
8291    IRpcChannelBuffer* pRpcChannelBuffer,
8292    PRPC_MESSAGE pRpcMessage,
8293    DWORD* pdwStubPhase);
8294
8295#endif  /* __ISpRecoGrammar_INTERFACE_DEFINED__ */
8296
8297typedef struct SPRECOCONTEXTSTATUS {
8298    SPINTERFERENCE eInterference;
8299    WCHAR szRequestTypeOfUI[255];
8300    DWORD dwReserved1;
8301    DWORD dwReserved2;
8302} SPRECOCONTEXTSTATUS;
8303typedef enum SPBOOKMARKOPTIONS {
8304    SPBO_NONE = 0,
8305    SPBO_PAUSE = 0x1
8306} SPBOOKMARKOPTIONS;
8307typedef enum SPAUDIOOPTIONS {
8308    SPAO_NONE = 0,
8309    SPAO_RETAIN_AUDIO = 0x1
8310} SPAUDIOOPTIONS;
8311/*****************************************************************************
8312 * ISpRecoContext interface
8313 */
8314#ifndef __ISpRecoContext_INTERFACE_DEFINED__
8315#define __ISpRecoContext_INTERFACE_DEFINED__
8316
8317DEFINE_GUID(IID_ISpRecoContext, 0xf740a62f, 0x7c15, 0x489e, 0x82,0x34, 0x94,0x0a,0x33,0xd9,0x27,0x2d);
8318#if defined(__cplusplus) && !defined(CINTERFACE)
8319MIDL_INTERFACE("f740a62f-7c15-489e-8234-940a33d9272d")
8320ISpRecoContext : public ISpEventSource
8321{
8322    virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
8323        ISpRecognizer **ppRecognizer) = 0;
8324
8325    virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
8326        ULONGLONG ullGrammarId,
8327        ISpRecoGrammar **ppGrammar) = 0;
8328
8329    virtual HRESULT STDMETHODCALLTYPE GetStatus(
8330        SPRECOCONTEXTSTATUS *pStatus) = 0;
8331
8332    virtual HRESULT STDMETHODCALLTYPE GetMaxAlternates(
8333        ULONG *pcAlternates) = 0;
8334
8335    virtual HRESULT STDMETHODCALLTYPE SetMaxAlternates(
8336        ULONG cAlternates) = 0;
8337
8338    virtual HRESULT STDMETHODCALLTYPE SetAudioOptions(
8339        SPAUDIOOPTIONS Options,
8340        const GUID *pAudioFormatId,
8341        const WAVEFORMATEX *pWaveFormatEx) = 0;
8342
8343    virtual HRESULT STDMETHODCALLTYPE GetAudioOptions(
8344        SPAUDIOOPTIONS *pOptions,
8345        GUID *pAudioFormatId,
8346        WAVEFORMATEX **ppCoMemWFEX) = 0;
8347
8348    virtual HRESULT STDMETHODCALLTYPE DeserializeResult(
8349        const SPSERIALIZEDRESULT *pSerializedResult,
8350        ISpRecoResult **ppResult) = 0;
8351
8352    virtual HRESULT STDMETHODCALLTYPE Bookmark(
8353        SPBOOKMARKOPTIONS Options,
8354        ULONGLONG ullStreamPosition,
8355        LPARAM lparamEvent) = 0;
8356
8357    virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
8358        LPCWSTR pAdaptationData,
8359        const ULONG cch) = 0;
8360
8361    virtual HRESULT STDMETHODCALLTYPE Pause(
8362        DWORD dwReserved) = 0;
8363
8364    virtual HRESULT STDMETHODCALLTYPE Resume(
8365        DWORD dwReserved) = 0;
8366
8367    virtual HRESULT STDMETHODCALLTYPE SetVoice(
8368        ISpVoice *pVoice,
8369        WINBOOL fAllowFormatChanges) = 0;
8370
8371    virtual HRESULT STDMETHODCALLTYPE GetVoice(
8372        ISpVoice **ppVoice) = 0;
8373
8374    virtual HRESULT STDMETHODCALLTYPE SetVoicePurgeEvent(
8375        ULONGLONG ullEventInterest) = 0;
8376
8377    virtual HRESULT STDMETHODCALLTYPE GetVoicePurgeEvent(
8378        ULONGLONG *pullEventInterest) = 0;
8379
8380    virtual HRESULT STDMETHODCALLTYPE SetContextState(
8381        SPCONTEXTSTATE eContextState) = 0;
8382
8383    virtual HRESULT STDMETHODCALLTYPE GetContextState(
8384        SPCONTEXTSTATE *peContextState) = 0;
8385
8386};
8387#ifdef __CRT_UUID_DECL
8388__CRT_UUID_DECL(ISpRecoContext, 0xf740a62f, 0x7c15, 0x489e, 0x82,0x34, 0x94,0x0a,0x33,0xd9,0x27,0x2d)
8389#endif
8390#else
8391typedef struct ISpRecoContextVtbl {
8392    BEGIN_INTERFACE
8393
8394    /*** IUnknown methods ***/
8395    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8396        ISpRecoContext* This,
8397        REFIID riid,
8398        void **ppvObject);
8399
8400    ULONG (STDMETHODCALLTYPE *AddRef)(
8401        ISpRecoContext* This);
8402
8403    ULONG (STDMETHODCALLTYPE *Release)(
8404        ISpRecoContext* This);
8405
8406    /*** ISpNotifySource methods ***/
8407    HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
8408        ISpRecoContext* This,
8409        ISpNotifySink *pNotifySink);
8410
8411    HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
8412        ISpRecoContext* This,
8413        HWND hWnd,
8414        UINT Msg,
8415        WPARAM wParam,
8416        LPARAM lParam);
8417
8418    HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
8419        ISpRecoContext* This,
8420        SPNOTIFYCALLBACK *pfnCallback,
8421        WPARAM wParam,
8422        LPARAM lParam);
8423
8424    HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
8425        ISpRecoContext* This,
8426        ISpNotifyCallback *pSpCallback,
8427        WPARAM wParam,
8428        LPARAM lParam);
8429
8430    HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
8431        ISpRecoContext* This);
8432
8433    HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
8434        ISpRecoContext* This,
8435        DWORD dwMilliseconds);
8436
8437    HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
8438        ISpRecoContext* This);
8439
8440    /*** ISpEventSource methods ***/
8441    HRESULT (STDMETHODCALLTYPE *SetInterest)(
8442        ISpRecoContext* This,
8443        ULONGLONG ullEventInterest,
8444        ULONGLONG ullQueuedInterest);
8445
8446    HRESULT (STDMETHODCALLTYPE *GetEvents)(
8447        ISpRecoContext* This,
8448        ULONG ulCount,
8449        SPEVENT *pEventArray,
8450        ULONG *pulFetched);
8451
8452    HRESULT (STDMETHODCALLTYPE *GetInfo)(
8453        ISpRecoContext* This,
8454        SPEVENTSOURCEINFO *pInfo);
8455
8456    /*** ISpRecoContext methods ***/
8457    HRESULT (STDMETHODCALLTYPE *GetRecognizer)(
8458        ISpRecoContext* This,
8459        ISpRecognizer **ppRecognizer);
8460
8461    HRESULT (STDMETHODCALLTYPE *CreateGrammar)(
8462        ISpRecoContext* This,
8463        ULONGLONG ullGrammarId,
8464        ISpRecoGrammar **ppGrammar);
8465
8466    HRESULT (STDMETHODCALLTYPE *GetStatus)(
8467        ISpRecoContext* This,
8468        SPRECOCONTEXTSTATUS *pStatus);
8469
8470    HRESULT (STDMETHODCALLTYPE *GetMaxAlternates)(
8471        ISpRecoContext* This,
8472        ULONG *pcAlternates);
8473
8474    HRESULT (STDMETHODCALLTYPE *SetMaxAlternates)(
8475        ISpRecoContext* This,
8476        ULONG cAlternates);
8477
8478    HRESULT (STDMETHODCALLTYPE *SetAudioOptions)(
8479        ISpRecoContext* This,
8480        SPAUDIOOPTIONS Options,
8481        const GUID *pAudioFormatId,
8482        const WAVEFORMATEX *pWaveFormatEx);
8483
8484    HRESULT (STDMETHODCALLTYPE *GetAudioOptions)(
8485        ISpRecoContext* This,
8486        SPAUDIOOPTIONS *pOptions,
8487        GUID *pAudioFormatId,
8488        WAVEFORMATEX **ppCoMemWFEX);
8489
8490    HRESULT (STDMETHODCALLTYPE *DeserializeResult)(
8491        ISpRecoContext* This,
8492        const SPSERIALIZEDRESULT *pSerializedResult,
8493        ISpRecoResult **ppResult);
8494
8495    HRESULT (STDMETHODCALLTYPE *Bookmark)(
8496        ISpRecoContext* This,
8497        SPBOOKMARKOPTIONS Options,
8498        ULONGLONG ullStreamPosition,
8499        LPARAM lparamEvent);
8500
8501    HRESULT (STDMETHODCALLTYPE *SetAdaptationData)(
8502        ISpRecoContext* This,
8503        LPCWSTR pAdaptationData,
8504        const ULONG cch);
8505
8506    HRESULT (STDMETHODCALLTYPE *Pause)(
8507        ISpRecoContext* This,
8508        DWORD dwReserved);
8509
8510    HRESULT (STDMETHODCALLTYPE *Resume)(
8511        ISpRecoContext* This,
8512        DWORD dwReserved);
8513
8514    HRESULT (STDMETHODCALLTYPE *SetVoice)(
8515        ISpRecoContext* This,
8516        ISpVoice *pVoice,
8517        WINBOOL fAllowFormatChanges);
8518
8519    HRESULT (STDMETHODCALLTYPE *GetVoice)(
8520        ISpRecoContext* This,
8521        ISpVoice **ppVoice);
8522
8523    HRESULT (STDMETHODCALLTYPE *SetVoicePurgeEvent)(
8524        ISpRecoContext* This,
8525        ULONGLONG ullEventInterest);
8526
8527    HRESULT (STDMETHODCALLTYPE *GetVoicePurgeEvent)(
8528        ISpRecoContext* This,
8529        ULONGLONG *pullEventInterest);
8530
8531    HRESULT (STDMETHODCALLTYPE *SetContextState)(
8532        ISpRecoContext* This,
8533        SPCONTEXTSTATE eContextState);
8534
8535    HRESULT (STDMETHODCALLTYPE *GetContextState)(
8536        ISpRecoContext* This,
8537        SPCONTEXTSTATE *peContextState);
8538
8539    END_INTERFACE
8540} ISpRecoContextVtbl;
8541interface ISpRecoContext {
8542    CONST_VTBL ISpRecoContextVtbl* lpVtbl;
8543};
8544
8545#ifdef COBJMACROS
8546#ifndef WIDL_C_INLINE_WRAPPERS
8547/*** IUnknown methods ***/
8548#define ISpRecoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8549#define ISpRecoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
8550#define ISpRecoContext_Release(This) (This)->lpVtbl->Release(This)
8551/*** ISpNotifySource methods ***/
8552#define ISpRecoContext_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
8553#define ISpRecoContext_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
8554#define ISpRecoContext_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
8555#define ISpRecoContext_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
8556#define ISpRecoContext_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
8557#define ISpRecoContext_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
8558#define ISpRecoContext_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
8559/*** ISpEventSource methods ***/
8560#define ISpRecoContext_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
8561#define ISpRecoContext_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
8562#define ISpRecoContext_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
8563/*** ISpRecoContext methods ***/
8564#define ISpRecoContext_GetRecognizer(This,ppRecognizer) (This)->lpVtbl->GetRecognizer(This,ppRecognizer)
8565#define ISpRecoContext_CreateGrammar(This,ullGrammarId,ppGrammar) (This)->lpVtbl->CreateGrammar(This,ullGrammarId,ppGrammar)
8566#define ISpRecoContext_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
8567#define ISpRecoContext_GetMaxAlternates(This,pcAlternates) (This)->lpVtbl->GetMaxAlternates(This,pcAlternates)
8568#define ISpRecoContext_SetMaxAlternates(This,cAlternates) (This)->lpVtbl->SetMaxAlternates(This,cAlternates)
8569#define ISpRecoContext_SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx)
8570#define ISpRecoContext_GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX) (This)->lpVtbl->GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX)
8571#define ISpRecoContext_DeserializeResult(This,pSerializedResult,ppResult) (This)->lpVtbl->DeserializeResult(This,pSerializedResult,ppResult)
8572#define ISpRecoContext_Bookmark(This,Options,ullStreamPosition,lparamEvent) (This)->lpVtbl->Bookmark(This,Options,ullStreamPosition,lparamEvent)
8573#define ISpRecoContext_SetAdaptationData(This,pAdaptationData,cch) (This)->lpVtbl->SetAdaptationData(This,pAdaptationData,cch)
8574#define ISpRecoContext_Pause(This,dwReserved) (This)->lpVtbl->Pause(This,dwReserved)
8575#define ISpRecoContext_Resume(This,dwReserved) (This)->lpVtbl->Resume(This,dwReserved)
8576#define ISpRecoContext_SetVoice(This,pVoice,fAllowFormatChanges) (This)->lpVtbl->SetVoice(This,pVoice,fAllowFormatChanges)
8577#define ISpRecoContext_GetVoice(This,ppVoice) (This)->lpVtbl->GetVoice(This,ppVoice)
8578#define ISpRecoContext_SetVoicePurgeEvent(This,ullEventInterest) (This)->lpVtbl->SetVoicePurgeEvent(This,ullEventInterest)
8579#define ISpRecoContext_GetVoicePurgeEvent(This,pullEventInterest) (This)->lpVtbl->GetVoicePurgeEvent(This,pullEventInterest)
8580#define ISpRecoContext_SetContextState(This,eContextState) (This)->lpVtbl->SetContextState(This,eContextState)
8581#define ISpRecoContext_GetContextState(This,peContextState) (This)->lpVtbl->GetContextState(This,peContextState)
8582#else
8583/*** IUnknown methods ***/
8584static FORCEINLINE HRESULT ISpRecoContext_QueryInterface(ISpRecoContext* This,REFIID riid,void **ppvObject) {
8585    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8586}
8587static FORCEINLINE ULONG ISpRecoContext_AddRef(ISpRecoContext* This) {
8588    return This->lpVtbl->AddRef(This);
8589}
8590static FORCEINLINE ULONG ISpRecoContext_Release(ISpRecoContext* This) {
8591    return This->lpVtbl->Release(This);
8592}
8593/*** ISpNotifySource methods ***/
8594static FORCEINLINE HRESULT ISpRecoContext_SetNotifySink(ISpRecoContext* This,ISpNotifySink *pNotifySink) {
8595    return This->lpVtbl->SetNotifySink(This,pNotifySink);
8596}
8597static FORCEINLINE HRESULT ISpRecoContext_SetNotifyWindowMessage(ISpRecoContext* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
8598    return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
8599}
8600static FORCEINLINE HRESULT ISpRecoContext_SetNotifyCallbackFunction(ISpRecoContext* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
8601    return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
8602}
8603static FORCEINLINE HRESULT ISpRecoContext_SetNotifyCallbackInterface(ISpRecoContext* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
8604    return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
8605}
8606static FORCEINLINE HRESULT ISpRecoContext_SetNotifyWin32Event(ISpRecoContext* This) {
8607    return This->lpVtbl->SetNotifyWin32Event(This);
8608}
8609static FORCEINLINE HRESULT ISpRecoContext_WaitForNotifyEvent(ISpRecoContext* This,DWORD dwMilliseconds) {
8610    return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
8611}
8612static FORCEINLINE HANDLE ISpRecoContext_GetNotifyEventHandle(ISpRecoContext* This) {
8613    return This->lpVtbl->GetNotifyEventHandle(This);
8614}
8615/*** ISpEventSource methods ***/
8616static FORCEINLINE HRESULT ISpRecoContext_SetInterest(ISpRecoContext* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
8617    return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
8618}
8619static FORCEINLINE HRESULT ISpRecoContext_GetEvents(ISpRecoContext* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
8620    return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
8621}
8622static FORCEINLINE HRESULT ISpRecoContext_GetInfo(ISpRecoContext* This,SPEVENTSOURCEINFO *pInfo) {
8623    return This->lpVtbl->GetInfo(This,pInfo);
8624}
8625/*** ISpRecoContext methods ***/
8626static FORCEINLINE HRESULT ISpRecoContext_GetRecognizer(ISpRecoContext* This,ISpRecognizer **ppRecognizer) {
8627    return This->lpVtbl->GetRecognizer(This,ppRecognizer);
8628}
8629static FORCEINLINE HRESULT ISpRecoContext_CreateGrammar(ISpRecoContext* This,ULONGLONG ullGrammarId,ISpRecoGrammar **ppGrammar) {
8630    return This->lpVtbl->CreateGrammar(This,ullGrammarId,ppGrammar);
8631}
8632static FORCEINLINE HRESULT ISpRecoContext_GetStatus(ISpRecoContext* This,SPRECOCONTEXTSTATUS *pStatus) {
8633    return This->lpVtbl->GetStatus(This,pStatus);
8634}
8635static FORCEINLINE HRESULT ISpRecoContext_GetMaxAlternates(ISpRecoContext* This,ULONG *pcAlternates) {
8636    return This->lpVtbl->GetMaxAlternates(This,pcAlternates);
8637}
8638static FORCEINLINE HRESULT ISpRecoContext_SetMaxAlternates(ISpRecoContext* This,ULONG cAlternates) {
8639    return This->lpVtbl->SetMaxAlternates(This,cAlternates);
8640}
8641static FORCEINLINE HRESULT ISpRecoContext_SetAudioOptions(ISpRecoContext* This,SPAUDIOOPTIONS Options,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
8642    return This->lpVtbl->SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx);
8643}
8644static FORCEINLINE HRESULT ISpRecoContext_GetAudioOptions(ISpRecoContext* This,SPAUDIOOPTIONS *pOptions,GUID *pAudioFormatId,WAVEFORMATEX **ppCoMemWFEX) {
8645    return This->lpVtbl->GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX);
8646}
8647static FORCEINLINE HRESULT ISpRecoContext_DeserializeResult(ISpRecoContext* This,const SPSERIALIZEDRESULT *pSerializedResult,ISpRecoResult **ppResult) {
8648    return This->lpVtbl->DeserializeResult(This,pSerializedResult,ppResult);
8649}
8650static FORCEINLINE HRESULT ISpRecoContext_Bookmark(ISpRecoContext* This,SPBOOKMARKOPTIONS Options,ULONGLONG ullStreamPosition,LPARAM lparamEvent) {
8651    return This->lpVtbl->Bookmark(This,Options,ullStreamPosition,lparamEvent);
8652}
8653static FORCEINLINE HRESULT ISpRecoContext_SetAdaptationData(ISpRecoContext* This,LPCWSTR pAdaptationData,const ULONG cch) {
8654    return This->lpVtbl->SetAdaptationData(This,pAdaptationData,cch);
8655}
8656static FORCEINLINE HRESULT ISpRecoContext_Pause(ISpRecoContext* This,DWORD dwReserved) {
8657    return This->lpVtbl->Pause(This,dwReserved);
8658}
8659static FORCEINLINE HRESULT ISpRecoContext_Resume(ISpRecoContext* This,DWORD dwReserved) {
8660    return This->lpVtbl->Resume(This,dwReserved);
8661}
8662static FORCEINLINE HRESULT ISpRecoContext_SetVoice(ISpRecoContext* This,ISpVoice *pVoice,WINBOOL fAllowFormatChanges) {
8663    return This->lpVtbl->SetVoice(This,pVoice,fAllowFormatChanges);
8664}
8665static FORCEINLINE HRESULT ISpRecoContext_GetVoice(ISpRecoContext* This,ISpVoice **ppVoice) {
8666    return This->lpVtbl->GetVoice(This,ppVoice);
8667}
8668static FORCEINLINE HRESULT ISpRecoContext_SetVoicePurgeEvent(ISpRecoContext* This,ULONGLONG ullEventInterest) {
8669    return This->lpVtbl->SetVoicePurgeEvent(This,ullEventInterest);
8670}
8671static FORCEINLINE HRESULT ISpRecoContext_GetVoicePurgeEvent(ISpRecoContext* This,ULONGLONG *pullEventInterest) {
8672    return This->lpVtbl->GetVoicePurgeEvent(This,pullEventInterest);
8673}
8674static FORCEINLINE HRESULT ISpRecoContext_SetContextState(ISpRecoContext* This,SPCONTEXTSTATE eContextState) {
8675    return This->lpVtbl->SetContextState(This,eContextState);
8676}
8677static FORCEINLINE HRESULT ISpRecoContext_GetContextState(ISpRecoContext* This,SPCONTEXTSTATE *peContextState) {
8678    return This->lpVtbl->GetContextState(This,peContextState);
8679}
8680#endif
8681#endif
8682
8683#endif
8684
8685HRESULT STDMETHODCALLTYPE ISpRecoContext_GetRecognizer_Proxy(
8686    ISpRecoContext* This,
8687    ISpRecognizer **ppRecognizer);
8688void __RPC_STUB ISpRecoContext_GetRecognizer_Stub(
8689    IRpcStubBuffer* This,
8690    IRpcChannelBuffer* pRpcChannelBuffer,
8691    PRPC_MESSAGE pRpcMessage,
8692    DWORD* pdwStubPhase);
8693HRESULT STDMETHODCALLTYPE ISpRecoContext_CreateGrammar_Proxy(
8694    ISpRecoContext* This,
8695    ULONGLONG ullGrammarId,
8696    ISpRecoGrammar **ppGrammar);
8697void __RPC_STUB ISpRecoContext_CreateGrammar_Stub(
8698    IRpcStubBuffer* This,
8699    IRpcChannelBuffer* pRpcChannelBuffer,
8700    PRPC_MESSAGE pRpcMessage,
8701    DWORD* pdwStubPhase);
8702HRESULT STDMETHODCALLTYPE ISpRecoContext_GetStatus_Proxy(
8703    ISpRecoContext* This,
8704    SPRECOCONTEXTSTATUS *pStatus);
8705void __RPC_STUB ISpRecoContext_GetStatus_Stub(
8706    IRpcStubBuffer* This,
8707    IRpcChannelBuffer* pRpcChannelBuffer,
8708    PRPC_MESSAGE pRpcMessage,
8709    DWORD* pdwStubPhase);
8710HRESULT STDMETHODCALLTYPE ISpRecoContext_GetMaxAlternates_Proxy(
8711    ISpRecoContext* This,
8712    ULONG *pcAlternates);
8713void __RPC_STUB ISpRecoContext_GetMaxAlternates_Stub(
8714    IRpcStubBuffer* This,
8715    IRpcChannelBuffer* pRpcChannelBuffer,
8716    PRPC_MESSAGE pRpcMessage,
8717    DWORD* pdwStubPhase);
8718HRESULT STDMETHODCALLTYPE ISpRecoContext_SetMaxAlternates_Proxy(
8719    ISpRecoContext* This,
8720    ULONG cAlternates);
8721void __RPC_STUB ISpRecoContext_SetMaxAlternates_Stub(
8722    IRpcStubBuffer* This,
8723    IRpcChannelBuffer* pRpcChannelBuffer,
8724    PRPC_MESSAGE pRpcMessage,
8725    DWORD* pdwStubPhase);
8726HRESULT STDMETHODCALLTYPE ISpRecoContext_SetAudioOptions_Proxy(
8727    ISpRecoContext* This,
8728    SPAUDIOOPTIONS Options,
8729    const GUID *pAudioFormatId,
8730    const WAVEFORMATEX *pWaveFormatEx);
8731void __RPC_STUB ISpRecoContext_SetAudioOptions_Stub(
8732    IRpcStubBuffer* This,
8733    IRpcChannelBuffer* pRpcChannelBuffer,
8734    PRPC_MESSAGE pRpcMessage,
8735    DWORD* pdwStubPhase);
8736HRESULT STDMETHODCALLTYPE ISpRecoContext_GetAudioOptions_Proxy(
8737    ISpRecoContext* This,
8738    SPAUDIOOPTIONS *pOptions,
8739    GUID *pAudioFormatId,
8740    WAVEFORMATEX **ppCoMemWFEX);
8741void __RPC_STUB ISpRecoContext_GetAudioOptions_Stub(
8742    IRpcStubBuffer* This,
8743    IRpcChannelBuffer* pRpcChannelBuffer,
8744    PRPC_MESSAGE pRpcMessage,
8745    DWORD* pdwStubPhase);
8746HRESULT STDMETHODCALLTYPE ISpRecoContext_DeserializeResult_Proxy(
8747    ISpRecoContext* This,
8748    const SPSERIALIZEDRESULT *pSerializedResult,
8749    ISpRecoResult **ppResult);
8750void __RPC_STUB ISpRecoContext_DeserializeResult_Stub(
8751    IRpcStubBuffer* This,
8752    IRpcChannelBuffer* pRpcChannelBuffer,
8753    PRPC_MESSAGE pRpcMessage,
8754    DWORD* pdwStubPhase);
8755HRESULT STDMETHODCALLTYPE ISpRecoContext_Bookmark_Proxy(
8756    ISpRecoContext* This,
8757    SPBOOKMARKOPTIONS Options,
8758    ULONGLONG ullStreamPosition,
8759    LPARAM lparamEvent);
8760void __RPC_STUB ISpRecoContext_Bookmark_Stub(
8761    IRpcStubBuffer* This,
8762    IRpcChannelBuffer* pRpcChannelBuffer,
8763    PRPC_MESSAGE pRpcMessage,
8764    DWORD* pdwStubPhase);
8765HRESULT STDMETHODCALLTYPE ISpRecoContext_SetAdaptationData_Proxy(
8766    ISpRecoContext* This,
8767    LPCWSTR pAdaptationData,
8768    const ULONG cch);
8769void __RPC_STUB ISpRecoContext_SetAdaptationData_Stub(
8770    IRpcStubBuffer* This,
8771    IRpcChannelBuffer* pRpcChannelBuffer,
8772    PRPC_MESSAGE pRpcMessage,
8773    DWORD* pdwStubPhase);
8774HRESULT STDMETHODCALLTYPE ISpRecoContext_Pause_Proxy(
8775    ISpRecoContext* This,
8776    DWORD dwReserved);
8777void __RPC_STUB ISpRecoContext_Pause_Stub(
8778    IRpcStubBuffer* This,
8779    IRpcChannelBuffer* pRpcChannelBuffer,
8780    PRPC_MESSAGE pRpcMessage,
8781    DWORD* pdwStubPhase);
8782HRESULT STDMETHODCALLTYPE ISpRecoContext_Resume_Proxy(
8783    ISpRecoContext* This,
8784    DWORD dwReserved);
8785void __RPC_STUB ISpRecoContext_Resume_Stub(
8786    IRpcStubBuffer* This,
8787    IRpcChannelBuffer* pRpcChannelBuffer,
8788    PRPC_MESSAGE pRpcMessage,
8789    DWORD* pdwStubPhase);
8790HRESULT STDMETHODCALLTYPE ISpRecoContext_SetVoice_Proxy(
8791    ISpRecoContext* This,
8792    ISpVoice *pVoice,
8793    WINBOOL fAllowFormatChanges);
8794void __RPC_STUB ISpRecoContext_SetVoice_Stub(
8795    IRpcStubBuffer* This,
8796    IRpcChannelBuffer* pRpcChannelBuffer,
8797    PRPC_MESSAGE pRpcMessage,
8798    DWORD* pdwStubPhase);
8799HRESULT STDMETHODCALLTYPE ISpRecoContext_GetVoice_Proxy(
8800    ISpRecoContext* This,
8801    ISpVoice **ppVoice);
8802void __RPC_STUB ISpRecoContext_GetVoice_Stub(
8803    IRpcStubBuffer* This,
8804    IRpcChannelBuffer* pRpcChannelBuffer,
8805    PRPC_MESSAGE pRpcMessage,
8806    DWORD* pdwStubPhase);
8807HRESULT STDMETHODCALLTYPE ISpRecoContext_SetVoicePurgeEvent_Proxy(
8808    ISpRecoContext* This,
8809    ULONGLONG ullEventInterest);
8810void __RPC_STUB ISpRecoContext_SetVoicePurgeEvent_Stub(
8811    IRpcStubBuffer* This,
8812    IRpcChannelBuffer* pRpcChannelBuffer,
8813    PRPC_MESSAGE pRpcMessage,
8814    DWORD* pdwStubPhase);
8815HRESULT STDMETHODCALLTYPE ISpRecoContext_GetVoicePurgeEvent_Proxy(
8816    ISpRecoContext* This,
8817    ULONGLONG *pullEventInterest);
8818void __RPC_STUB ISpRecoContext_GetVoicePurgeEvent_Stub(
8819    IRpcStubBuffer* This,
8820    IRpcChannelBuffer* pRpcChannelBuffer,
8821    PRPC_MESSAGE pRpcMessage,
8822    DWORD* pdwStubPhase);
8823HRESULT STDMETHODCALLTYPE ISpRecoContext_SetContextState_Proxy(
8824    ISpRecoContext* This,
8825    SPCONTEXTSTATE eContextState);
8826void __RPC_STUB ISpRecoContext_SetContextState_Stub(
8827    IRpcStubBuffer* This,
8828    IRpcChannelBuffer* pRpcChannelBuffer,
8829    PRPC_MESSAGE pRpcMessage,
8830    DWORD* pdwStubPhase);
8831HRESULT STDMETHODCALLTYPE ISpRecoContext_GetContextState_Proxy(
8832    ISpRecoContext* This,
8833    SPCONTEXTSTATE *peContextState);
8834void __RPC_STUB ISpRecoContext_GetContextState_Stub(
8835    IRpcStubBuffer* This,
8836    IRpcChannelBuffer* pRpcChannelBuffer,
8837    PRPC_MESSAGE pRpcMessage,
8838    DWORD* pdwStubPhase);
8839
8840#endif  /* __ISpRecoContext_INTERFACE_DEFINED__ */
8841
8842/*****************************************************************************
8843 * ISpProperties interface
8844 */
8845#ifndef __ISpProperties_INTERFACE_DEFINED__
8846#define __ISpProperties_INTERFACE_DEFINED__
8847
8848DEFINE_GUID(IID_ISpProperties, 0x5b4fb971, 0xb115, 0x4de1, 0xad,0x97, 0xe4,0x82,0xe3,0xbf,0x6e,0xe4);
8849#if defined(__cplusplus) && !defined(CINTERFACE)
8850MIDL_INTERFACE("5b4fb971-b115-4de1-ad97-e482e3bf6ee4")
8851ISpProperties : public IUnknown
8852{
8853    virtual HRESULT STDMETHODCALLTYPE SetPropertyNum(
8854        LPCWSTR pName,
8855        LONG lValue) = 0;
8856
8857    virtual HRESULT STDMETHODCALLTYPE GetPropertyNum(
8858        LPCWSTR pName,
8859        LONG *plValue) = 0;
8860
8861    virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
8862        LPCWSTR pName,
8863        LPCWSTR pValue) = 0;
8864
8865    virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
8866        LPCWSTR pName,
8867        LPWSTR *ppCoMemValue) = 0;
8868
8869};
8870#ifdef __CRT_UUID_DECL
8871__CRT_UUID_DECL(ISpProperties, 0x5b4fb971, 0xb115, 0x4de1, 0xad,0x97, 0xe4,0x82,0xe3,0xbf,0x6e,0xe4)
8872#endif
8873#else
8874typedef struct ISpPropertiesVtbl {
8875    BEGIN_INTERFACE
8876
8877    /*** IUnknown methods ***/
8878    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8879        ISpProperties* This,
8880        REFIID riid,
8881        void **ppvObject);
8882
8883    ULONG (STDMETHODCALLTYPE *AddRef)(
8884        ISpProperties* This);
8885
8886    ULONG (STDMETHODCALLTYPE *Release)(
8887        ISpProperties* This);
8888
8889    /*** ISpProperties methods ***/
8890    HRESULT (STDMETHODCALLTYPE *SetPropertyNum)(
8891        ISpProperties* This,
8892        LPCWSTR pName,
8893        LONG lValue);
8894
8895    HRESULT (STDMETHODCALLTYPE *GetPropertyNum)(
8896        ISpProperties* This,
8897        LPCWSTR pName,
8898        LONG *plValue);
8899
8900    HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
8901        ISpProperties* This,
8902        LPCWSTR pName,
8903        LPCWSTR pValue);
8904
8905    HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
8906        ISpProperties* This,
8907        LPCWSTR pName,
8908        LPWSTR *ppCoMemValue);
8909
8910    END_INTERFACE
8911} ISpPropertiesVtbl;
8912interface ISpProperties {
8913    CONST_VTBL ISpPropertiesVtbl* lpVtbl;
8914};
8915
8916#ifdef COBJMACROS
8917#ifndef WIDL_C_INLINE_WRAPPERS
8918/*** IUnknown methods ***/
8919#define ISpProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8920#define ISpProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
8921#define ISpProperties_Release(This) (This)->lpVtbl->Release(This)
8922/*** ISpProperties methods ***/
8923#define ISpProperties_SetPropertyNum(This,pName,lValue) (This)->lpVtbl->SetPropertyNum(This,pName,lValue)
8924#define ISpProperties_GetPropertyNum(This,pName,plValue) (This)->lpVtbl->GetPropertyNum(This,pName,plValue)
8925#define ISpProperties_SetPropertyString(This,pName,pValue) (This)->lpVtbl->SetPropertyString(This,pName,pValue)
8926#define ISpProperties_GetPropertyString(This,pName,ppCoMemValue) (This)->lpVtbl->GetPropertyString(This,pName,ppCoMemValue)
8927#else
8928/*** IUnknown methods ***/
8929static FORCEINLINE HRESULT ISpProperties_QueryInterface(ISpProperties* This,REFIID riid,void **ppvObject) {
8930    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8931}
8932static FORCEINLINE ULONG ISpProperties_AddRef(ISpProperties* This) {
8933    return This->lpVtbl->AddRef(This);
8934}
8935static FORCEINLINE ULONG ISpProperties_Release(ISpProperties* This) {
8936    return This->lpVtbl->Release(This);
8937}
8938/*** ISpProperties methods ***/
8939static FORCEINLINE HRESULT ISpProperties_SetPropertyNum(ISpProperties* This,LPCWSTR pName,LONG lValue) {
8940    return This->lpVtbl->SetPropertyNum(This,pName,lValue);
8941}
8942static FORCEINLINE HRESULT ISpProperties_GetPropertyNum(ISpProperties* This,LPCWSTR pName,LONG *plValue) {
8943    return This->lpVtbl->GetPropertyNum(This,pName,plValue);
8944}
8945static FORCEINLINE HRESULT ISpProperties_SetPropertyString(ISpProperties* This,LPCWSTR pName,LPCWSTR pValue) {
8946    return This->lpVtbl->SetPropertyString(This,pName,pValue);
8947}
8948static FORCEINLINE HRESULT ISpProperties_GetPropertyString(ISpProperties* This,LPCWSTR pName,LPWSTR *ppCoMemValue) {
8949    return This->lpVtbl->GetPropertyString(This,pName,ppCoMemValue);
8950}
8951#endif
8952#endif
8953
8954#endif
8955
8956HRESULT STDMETHODCALLTYPE ISpProperties_SetPropertyNum_Proxy(
8957    ISpProperties* This,
8958    LPCWSTR pName,
8959    LONG lValue);
8960void __RPC_STUB ISpProperties_SetPropertyNum_Stub(
8961    IRpcStubBuffer* This,
8962    IRpcChannelBuffer* pRpcChannelBuffer,
8963    PRPC_MESSAGE pRpcMessage,
8964    DWORD* pdwStubPhase);
8965HRESULT STDMETHODCALLTYPE ISpProperties_GetPropertyNum_Proxy(
8966    ISpProperties* This,
8967    LPCWSTR pName,
8968    LONG *plValue);
8969void __RPC_STUB ISpProperties_GetPropertyNum_Stub(
8970    IRpcStubBuffer* This,
8971    IRpcChannelBuffer* pRpcChannelBuffer,
8972    PRPC_MESSAGE pRpcMessage,
8973    DWORD* pdwStubPhase);
8974HRESULT STDMETHODCALLTYPE ISpProperties_SetPropertyString_Proxy(
8975    ISpProperties* This,
8976    LPCWSTR pName,
8977    LPCWSTR pValue);
8978void __RPC_STUB ISpProperties_SetPropertyString_Stub(
8979    IRpcStubBuffer* This,
8980    IRpcChannelBuffer* pRpcChannelBuffer,
8981    PRPC_MESSAGE pRpcMessage,
8982    DWORD* pdwStubPhase);
8983HRESULT STDMETHODCALLTYPE ISpProperties_GetPropertyString_Proxy(
8984    ISpProperties* This,
8985    LPCWSTR pName,
8986    LPWSTR *ppCoMemValue);
8987void __RPC_STUB ISpProperties_GetPropertyString_Stub(
8988    IRpcStubBuffer* This,
8989    IRpcChannelBuffer* pRpcChannelBuffer,
8990    PRPC_MESSAGE pRpcMessage,
8991    DWORD* pdwStubPhase);
8992
8993#endif  /* __ISpProperties_INTERFACE_DEFINED__ */
8994
8995#define SP_MAX_LANGIDS (20)
8996
8997typedef struct SPRECOGNIZERSTATUS {
8998    SPAUDIOSTATUS AudioStatus;
8999    ULONGLONG ullRecognitionStreamPos;
9000    ULONG ulStreamNumber;
9001    ULONG ulNumActive;
9002    CLSID clsidEngine;
9003    ULONG cLangIDs;
9004    WORD aLangID[20];
9005    ULONGLONG ullRecognitionStreamTime;
9006} SPRECOGNIZERSTATUS;
9007typedef enum SPWAVEFORMATTYPE {
9008    SPWF_INPUT = 0,
9009    SPWF_SRENGINE = 1
9010} SPSTREAMFORMATTYPE;
9011typedef enum SPRECOSTATE {
9012    SPRST_INACTIVE = 0,
9013    SPRST_ACTIVE = 1,
9014    SPRST_ACTIVE_ALWAYS = 2,
9015    SPRST_INACTIVE_WITH_PURGE = 3,
9016    SPRST_NUM_STATES = 4
9017} SPRECOSTATE;
9018/*****************************************************************************
9019 * ISpRecognizer interface
9020 */
9021#ifndef __ISpRecognizer_INTERFACE_DEFINED__
9022#define __ISpRecognizer_INTERFACE_DEFINED__
9023
9024DEFINE_GUID(IID_ISpRecognizer, 0xc2b5f241, 0xdaa0, 0x4507, 0x9e,0x16, 0x5a,0x1e,0xaa,0x2b,0x7a,0x5c);
9025#if defined(__cplusplus) && !defined(CINTERFACE)
9026MIDL_INTERFACE("c2b5f241-daa0-4507-9e16-5a1eaa2b7a5c")
9027ISpRecognizer : public ISpProperties
9028{
9029    virtual HRESULT STDMETHODCALLTYPE SetRecognizer(
9030        ISpObjectToken *pRecognizer) = 0;
9031
9032    virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
9033        ISpObjectToken **ppRecognizer) = 0;
9034
9035    virtual HRESULT STDMETHODCALLTYPE SetInput(
9036        IUnknown *pUnkInput,
9037        WINBOOL fAllowFormatChanges) = 0;
9038
9039    virtual HRESULT STDMETHODCALLTYPE GetInputObjectToken(
9040        ISpObjectToken **ppToken) = 0;
9041
9042    virtual HRESULT STDMETHODCALLTYPE GetInputStream(
9043        ISpStreamFormat **ppStream) = 0;
9044
9045    virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
9046        ISpRecoContext **ppNewCtxt) = 0;
9047
9048    virtual HRESULT STDMETHODCALLTYPE GetRecoProfile(
9049        ISpObjectToken **ppToken) = 0;
9050
9051    virtual HRESULT STDMETHODCALLTYPE SetRecoProfile(
9052        ISpObjectToken *pToken) = 0;
9053
9054    virtual HRESULT STDMETHODCALLTYPE IsSharedInstance(
9055        ) = 0;
9056
9057    virtual HRESULT STDMETHODCALLTYPE GetRecoState(
9058        SPRECOSTATE *pState) = 0;
9059
9060    virtual HRESULT STDMETHODCALLTYPE SetRecoState(
9061        SPRECOSTATE NewState) = 0;
9062
9063    virtual HRESULT STDMETHODCALLTYPE GetStatus(
9064        SPRECOGNIZERSTATUS *pStatus) = 0;
9065
9066    virtual HRESULT STDMETHODCALLTYPE GetFormat(
9067        SPSTREAMFORMATTYPE WaveFormatType,
9068        GUID *pFormatId,
9069        WAVEFORMATEX **ppCoMemWFEX) = 0;
9070
9071    virtual HRESULT STDMETHODCALLTYPE IsUISupported(
9072        LPCWSTR pszTypeOfUI,
9073        void *pvExtraData,
9074        ULONG cbExtraData,
9075        WINBOOL *pfSupported) = 0;
9076
9077    virtual HRESULT STDMETHODCALLTYPE DisplayUI(
9078        HWND hwndParent,
9079        LPCWSTR pszTitle,
9080        LPCWSTR pszTypeOfUI,
9081        void *pvExtraData,
9082        ULONG cbExtraData) = 0;
9083
9084    virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
9085        ISpPhrase *pPhrase) = 0;
9086
9087};
9088#ifdef __CRT_UUID_DECL
9089__CRT_UUID_DECL(ISpRecognizer, 0xc2b5f241, 0xdaa0, 0x4507, 0x9e,0x16, 0x5a,0x1e,0xaa,0x2b,0x7a,0x5c)
9090#endif
9091#else
9092typedef struct ISpRecognizerVtbl {
9093    BEGIN_INTERFACE
9094
9095    /*** IUnknown methods ***/
9096    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9097        ISpRecognizer* This,
9098        REFIID riid,
9099        void **ppvObject);
9100
9101    ULONG (STDMETHODCALLTYPE *AddRef)(
9102        ISpRecognizer* This);
9103
9104    ULONG (STDMETHODCALLTYPE *Release)(
9105        ISpRecognizer* This);
9106
9107    /*** ISpProperties methods ***/
9108    HRESULT (STDMETHODCALLTYPE *SetPropertyNum)(
9109        ISpRecognizer* This,
9110        LPCWSTR pName,
9111        LONG lValue);
9112
9113    HRESULT (STDMETHODCALLTYPE *GetPropertyNum)(
9114        ISpRecognizer* This,
9115        LPCWSTR pName,
9116        LONG *plValue);
9117
9118    HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
9119        ISpRecognizer* This,
9120        LPCWSTR pName,
9121        LPCWSTR pValue);
9122
9123    HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
9124        ISpRecognizer* This,
9125        LPCWSTR pName,
9126        LPWSTR *ppCoMemValue);
9127
9128    /*** ISpRecognizer methods ***/
9129    HRESULT (STDMETHODCALLTYPE *SetRecognizer)(
9130        ISpRecognizer* This,
9131        ISpObjectToken *pRecognizer);
9132
9133    HRESULT (STDMETHODCALLTYPE *GetRecognizer)(
9134        ISpRecognizer* This,
9135        ISpObjectToken **ppRecognizer);
9136
9137    HRESULT (STDMETHODCALLTYPE *SetInput)(
9138        ISpRecognizer* This,
9139        IUnknown *pUnkInput,
9140        WINBOOL fAllowFormatChanges);
9141
9142    HRESULT (STDMETHODCALLTYPE *GetInputObjectToken)(
9143        ISpRecognizer* This,
9144        ISpObjectToken **ppToken);
9145
9146    HRESULT (STDMETHODCALLTYPE *GetInputStream)(
9147        ISpRecognizer* This,
9148        ISpStreamFormat **ppStream);
9149
9150    HRESULT (STDMETHODCALLTYPE *CreateRecoContext)(
9151        ISpRecognizer* This,
9152        ISpRecoContext **ppNewCtxt);
9153
9154    HRESULT (STDMETHODCALLTYPE *GetRecoProfile)(
9155        ISpRecognizer* This,
9156        ISpObjectToken **ppToken);
9157
9158    HRESULT (STDMETHODCALLTYPE *SetRecoProfile)(
9159        ISpRecognizer* This,
9160        ISpObjectToken *pToken);
9161
9162    HRESULT (STDMETHODCALLTYPE *IsSharedInstance)(
9163        ISpRecognizer* This);
9164
9165    HRESULT (STDMETHODCALLTYPE *GetRecoState)(
9166        ISpRecognizer* This,
9167        SPRECOSTATE *pState);
9168
9169    HRESULT (STDMETHODCALLTYPE *SetRecoState)(
9170        ISpRecognizer* This,
9171        SPRECOSTATE NewState);
9172
9173    HRESULT (STDMETHODCALLTYPE *GetStatus)(
9174        ISpRecognizer* This,
9175        SPRECOGNIZERSTATUS *pStatus);
9176
9177    HRESULT (STDMETHODCALLTYPE *GetFormat)(
9178        ISpRecognizer* This,
9179        SPSTREAMFORMATTYPE WaveFormatType,
9180        GUID *pFormatId,
9181        WAVEFORMATEX **ppCoMemWFEX);
9182
9183    HRESULT (STDMETHODCALLTYPE *IsUISupported)(
9184        ISpRecognizer* This,
9185        LPCWSTR pszTypeOfUI,
9186        void *pvExtraData,
9187        ULONG cbExtraData,
9188        WINBOOL *pfSupported);
9189
9190    HRESULT (STDMETHODCALLTYPE *DisplayUI)(
9191        ISpRecognizer* This,
9192        HWND hwndParent,
9193        LPCWSTR pszTitle,
9194        LPCWSTR pszTypeOfUI,
9195        void *pvExtraData,
9196        ULONG cbExtraData);
9197
9198    HRESULT (STDMETHODCALLTYPE *EmulateRecognition)(
9199        ISpRecognizer* This,
9200        ISpPhrase *pPhrase);
9201
9202    END_INTERFACE
9203} ISpRecognizerVtbl;
9204interface ISpRecognizer {
9205    CONST_VTBL ISpRecognizerVtbl* lpVtbl;
9206};
9207
9208#ifdef COBJMACROS
9209#ifndef WIDL_C_INLINE_WRAPPERS
9210/*** IUnknown methods ***/
9211#define ISpRecognizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9212#define ISpRecognizer_AddRef(This) (This)->lpVtbl->AddRef(This)
9213#define ISpRecognizer_Release(This) (This)->lpVtbl->Release(This)
9214/*** ISpProperties methods ***/
9215#define ISpRecognizer_SetPropertyNum(This,pName,lValue) (This)->lpVtbl->SetPropertyNum(This,pName,lValue)
9216#define ISpRecognizer_GetPropertyNum(This,pName,plValue) (This)->lpVtbl->GetPropertyNum(This,pName,plValue)
9217#define ISpRecognizer_SetPropertyString(This,pName,pValue) (This)->lpVtbl->SetPropertyString(This,pName,pValue)
9218#define ISpRecognizer_GetPropertyString(This,pName,ppCoMemValue) (This)->lpVtbl->GetPropertyString(This,pName,ppCoMemValue)
9219/*** ISpRecognizer methods ***/
9220#define ISpRecognizer_SetRecognizer(This,pRecognizer) (This)->lpVtbl->SetRecognizer(This,pRecognizer)
9221#define ISpRecognizer_GetRecognizer(This,ppRecognizer) (This)->lpVtbl->GetRecognizer(This,ppRecognizer)
9222#define ISpRecognizer_SetInput(This,pUnkInput,fAllowFormatChanges) (This)->lpVtbl->SetInput(This,pUnkInput,fAllowFormatChanges)
9223#define ISpRecognizer_GetInputObjectToken(This,ppToken) (This)->lpVtbl->GetInputObjectToken(This,ppToken)
9224#define ISpRecognizer_GetInputStream(This,ppStream) (This)->lpVtbl->GetInputStream(This,ppStream)
9225#define ISpRecognizer_CreateRecoContext(This,ppNewCtxt) (This)->lpVtbl->CreateRecoContext(This,ppNewCtxt)
9226#define ISpRecognizer_GetRecoProfile(This,ppToken) (This)->lpVtbl->GetRecoProfile(This,ppToken)
9227#define ISpRecognizer_SetRecoProfile(This,pToken) (This)->lpVtbl->SetRecoProfile(This,pToken)
9228#define ISpRecognizer_IsSharedInstance(This) (This)->lpVtbl->IsSharedInstance(This)
9229#define ISpRecognizer_GetRecoState(This,pState) (This)->lpVtbl->GetRecoState(This,pState)
9230#define ISpRecognizer_SetRecoState(This,NewState) (This)->lpVtbl->SetRecoState(This,NewState)
9231#define ISpRecognizer_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
9232#define ISpRecognizer_GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX) (This)->lpVtbl->GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX)
9233#define ISpRecognizer_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
9234#define ISpRecognizer_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
9235#define ISpRecognizer_EmulateRecognition(This,pPhrase) (This)->lpVtbl->EmulateRecognition(This,pPhrase)
9236#else
9237/*** IUnknown methods ***/
9238static FORCEINLINE HRESULT ISpRecognizer_QueryInterface(ISpRecognizer* This,REFIID riid,void **ppvObject) {
9239    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9240}
9241static FORCEINLINE ULONG ISpRecognizer_AddRef(ISpRecognizer* This) {
9242    return This->lpVtbl->AddRef(This);
9243}
9244static FORCEINLINE ULONG ISpRecognizer_Release(ISpRecognizer* This) {
9245    return This->lpVtbl->Release(This);
9246}
9247/*** ISpProperties methods ***/
9248static FORCEINLINE HRESULT ISpRecognizer_SetPropertyNum(ISpRecognizer* This,LPCWSTR pName,LONG lValue) {
9249    return This->lpVtbl->SetPropertyNum(This,pName,lValue);
9250}
9251static FORCEINLINE HRESULT ISpRecognizer_GetPropertyNum(ISpRecognizer* This,LPCWSTR pName,LONG *plValue) {
9252    return This->lpVtbl->GetPropertyNum(This,pName,plValue);
9253}
9254static FORCEINLINE HRESULT ISpRecognizer_SetPropertyString(ISpRecognizer* This,LPCWSTR pName,LPCWSTR pValue) {
9255    return This->lpVtbl->SetPropertyString(This,pName,pValue);
9256}
9257static FORCEINLINE HRESULT ISpRecognizer_GetPropertyString(ISpRecognizer* This,LPCWSTR pName,LPWSTR *ppCoMemValue) {
9258    return This->lpVtbl->GetPropertyString(This,pName,ppCoMemValue);
9259}
9260/*** ISpRecognizer methods ***/
9261static FORCEINLINE HRESULT ISpRecognizer_SetRecognizer(ISpRecognizer* This,ISpObjectToken *pRecognizer) {
9262    return This->lpVtbl->SetRecognizer(This,pRecognizer);
9263}
9264static FORCEINLINE HRESULT ISpRecognizer_GetRecognizer(ISpRecognizer* This,ISpObjectToken **ppRecognizer) {
9265    return This->lpVtbl->GetRecognizer(This,ppRecognizer);
9266}
9267static FORCEINLINE HRESULT ISpRecognizer_SetInput(ISpRecognizer* This,IUnknown *pUnkInput,WINBOOL fAllowFormatChanges) {
9268    return This->lpVtbl->SetInput(This,pUnkInput,fAllowFormatChanges);
9269}
9270static FORCEINLINE HRESULT ISpRecognizer_GetInputObjectToken(ISpRecognizer* This,ISpObjectToken **ppToken) {
9271    return This->lpVtbl->GetInputObjectToken(This,ppToken);
9272}
9273static FORCEINLINE HRESULT ISpRecognizer_GetInputStream(ISpRecognizer* This,ISpStreamFormat **ppStream) {
9274    return This->lpVtbl->GetInputStream(This,ppStream);
9275}
9276static FORCEINLINE HRESULT ISpRecognizer_CreateRecoContext(ISpRecognizer* This,ISpRecoContext **ppNewCtxt) {
9277    return This->lpVtbl->CreateRecoContext(This,ppNewCtxt);
9278}
9279static FORCEINLINE HRESULT ISpRecognizer_GetRecoProfile(ISpRecognizer* This,ISpObjectToken **ppToken) {
9280    return This->lpVtbl->GetRecoProfile(This,ppToken);
9281}
9282static FORCEINLINE HRESULT ISpRecognizer_SetRecoProfile(ISpRecognizer* This,ISpObjectToken *pToken) {
9283    return This->lpVtbl->SetRecoProfile(This,pToken);
9284}
9285static FORCEINLINE HRESULT ISpRecognizer_IsSharedInstance(ISpRecognizer* This) {
9286    return This->lpVtbl->IsSharedInstance(This);
9287}
9288static FORCEINLINE HRESULT ISpRecognizer_GetRecoState(ISpRecognizer* This,SPRECOSTATE *pState) {
9289    return This->lpVtbl->GetRecoState(This,pState);
9290}
9291static FORCEINLINE HRESULT ISpRecognizer_SetRecoState(ISpRecognizer* This,SPRECOSTATE NewState) {
9292    return This->lpVtbl->SetRecoState(This,NewState);
9293}
9294static FORCEINLINE HRESULT ISpRecognizer_GetStatus(ISpRecognizer* This,SPRECOGNIZERSTATUS *pStatus) {
9295    return This->lpVtbl->GetStatus(This,pStatus);
9296}
9297static FORCEINLINE HRESULT ISpRecognizer_GetFormat(ISpRecognizer* This,SPSTREAMFORMATTYPE WaveFormatType,GUID *pFormatId,WAVEFORMATEX **ppCoMemWFEX) {
9298    return This->lpVtbl->GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX);
9299}
9300static FORCEINLINE HRESULT ISpRecognizer_IsUISupported(ISpRecognizer* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,WINBOOL *pfSupported) {
9301    return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported);
9302}
9303static FORCEINLINE HRESULT ISpRecognizer_DisplayUI(ISpRecognizer* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData) {
9304    return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData);
9305}
9306static FORCEINLINE HRESULT ISpRecognizer_EmulateRecognition(ISpRecognizer* This,ISpPhrase *pPhrase) {
9307    return This->lpVtbl->EmulateRecognition(This,pPhrase);
9308}
9309#endif
9310#endif
9311
9312#endif
9313
9314HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecognizer_Proxy(
9315    ISpRecognizer* This,
9316    ISpObjectToken *pRecognizer);
9317void __RPC_STUB ISpRecognizer_SetRecognizer_Stub(
9318    IRpcStubBuffer* This,
9319    IRpcChannelBuffer* pRpcChannelBuffer,
9320    PRPC_MESSAGE pRpcMessage,
9321    DWORD* pdwStubPhase);
9322HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecognizer_Proxy(
9323    ISpRecognizer* This,
9324    ISpObjectToken **ppRecognizer);
9325void __RPC_STUB ISpRecognizer_GetRecognizer_Stub(
9326    IRpcStubBuffer* This,
9327    IRpcChannelBuffer* pRpcChannelBuffer,
9328    PRPC_MESSAGE pRpcMessage,
9329    DWORD* pdwStubPhase);
9330HRESULT STDMETHODCALLTYPE ISpRecognizer_SetInput_Proxy(
9331    ISpRecognizer* This,
9332    IUnknown *pUnkInput,
9333    WINBOOL fAllowFormatChanges);
9334void __RPC_STUB ISpRecognizer_SetInput_Stub(
9335    IRpcStubBuffer* This,
9336    IRpcChannelBuffer* pRpcChannelBuffer,
9337    PRPC_MESSAGE pRpcMessage,
9338    DWORD* pdwStubPhase);
9339HRESULT STDMETHODCALLTYPE ISpRecognizer_GetInputObjectToken_Proxy(
9340    ISpRecognizer* This,
9341    ISpObjectToken **ppToken);
9342void __RPC_STUB ISpRecognizer_GetInputObjectToken_Stub(
9343    IRpcStubBuffer* This,
9344    IRpcChannelBuffer* pRpcChannelBuffer,
9345    PRPC_MESSAGE pRpcMessage,
9346    DWORD* pdwStubPhase);
9347HRESULT STDMETHODCALLTYPE ISpRecognizer_GetInputStream_Proxy(
9348    ISpRecognizer* This,
9349    ISpStreamFormat **ppStream);
9350void __RPC_STUB ISpRecognizer_GetInputStream_Stub(
9351    IRpcStubBuffer* This,
9352    IRpcChannelBuffer* pRpcChannelBuffer,
9353    PRPC_MESSAGE pRpcMessage,
9354    DWORD* pdwStubPhase);
9355HRESULT STDMETHODCALLTYPE ISpRecognizer_CreateRecoContext_Proxy(
9356    ISpRecognizer* This,
9357    ISpRecoContext **ppNewCtxt);
9358void __RPC_STUB ISpRecognizer_CreateRecoContext_Stub(
9359    IRpcStubBuffer* This,
9360    IRpcChannelBuffer* pRpcChannelBuffer,
9361    PRPC_MESSAGE pRpcMessage,
9362    DWORD* pdwStubPhase);
9363HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecoProfile_Proxy(
9364    ISpRecognizer* This,
9365    ISpObjectToken **ppToken);
9366void __RPC_STUB ISpRecognizer_GetRecoProfile_Stub(
9367    IRpcStubBuffer* This,
9368    IRpcChannelBuffer* pRpcChannelBuffer,
9369    PRPC_MESSAGE pRpcMessage,
9370    DWORD* pdwStubPhase);
9371HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecoProfile_Proxy(
9372    ISpRecognizer* This,
9373    ISpObjectToken *pToken);
9374void __RPC_STUB ISpRecognizer_SetRecoProfile_Stub(
9375    IRpcStubBuffer* This,
9376    IRpcChannelBuffer* pRpcChannelBuffer,
9377    PRPC_MESSAGE pRpcMessage,
9378    DWORD* pdwStubPhase);
9379HRESULT STDMETHODCALLTYPE ISpRecognizer_IsSharedInstance_Proxy(
9380    ISpRecognizer* This);
9381void __RPC_STUB ISpRecognizer_IsSharedInstance_Stub(
9382    IRpcStubBuffer* This,
9383    IRpcChannelBuffer* pRpcChannelBuffer,
9384    PRPC_MESSAGE pRpcMessage,
9385    DWORD* pdwStubPhase);
9386HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecoState_Proxy(
9387    ISpRecognizer* This,
9388    SPRECOSTATE *pState);
9389void __RPC_STUB ISpRecognizer_GetRecoState_Stub(
9390    IRpcStubBuffer* This,
9391    IRpcChannelBuffer* pRpcChannelBuffer,
9392    PRPC_MESSAGE pRpcMessage,
9393    DWORD* pdwStubPhase);
9394HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecoState_Proxy(
9395    ISpRecognizer* This,
9396    SPRECOSTATE NewState);
9397void __RPC_STUB ISpRecognizer_SetRecoState_Stub(
9398    IRpcStubBuffer* This,
9399    IRpcChannelBuffer* pRpcChannelBuffer,
9400    PRPC_MESSAGE pRpcMessage,
9401    DWORD* pdwStubPhase);
9402HRESULT STDMETHODCALLTYPE ISpRecognizer_GetStatus_Proxy(
9403    ISpRecognizer* This,
9404    SPRECOGNIZERSTATUS *pStatus);
9405void __RPC_STUB ISpRecognizer_GetStatus_Stub(
9406    IRpcStubBuffer* This,
9407    IRpcChannelBuffer* pRpcChannelBuffer,
9408    PRPC_MESSAGE pRpcMessage,
9409    DWORD* pdwStubPhase);
9410HRESULT STDMETHODCALLTYPE ISpRecognizer_GetFormat_Proxy(
9411    ISpRecognizer* This,
9412    SPSTREAMFORMATTYPE WaveFormatType,
9413    GUID *pFormatId,
9414    WAVEFORMATEX **ppCoMemWFEX);
9415void __RPC_STUB ISpRecognizer_GetFormat_Stub(
9416    IRpcStubBuffer* This,
9417    IRpcChannelBuffer* pRpcChannelBuffer,
9418    PRPC_MESSAGE pRpcMessage,
9419    DWORD* pdwStubPhase);
9420HRESULT STDMETHODCALLTYPE ISpRecognizer_EmulateRecognition_Proxy(
9421    ISpRecognizer* This,
9422    ISpPhrase *pPhrase);
9423void __RPC_STUB ISpRecognizer_EmulateRecognition_Stub(
9424    IRpcStubBuffer* This,
9425    IRpcChannelBuffer* pRpcChannelBuffer,
9426    PRPC_MESSAGE pRpcMessage,
9427    DWORD* pdwStubPhase);
9428
9429#endif  /* __ISpRecognizer_INTERFACE_DEFINED__ */
9430
9431
9432DEFINE_GUID(LIBID_SpeechLib, 0xc866ca3a, 0x32f7, 0x11d2, 0x96,0x02, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
9433
9434#ifndef __ISpeechDataKey_FWD_DEFINED__
9435#define __ISpeechDataKey_FWD_DEFINED__
9436typedef interface ISpeechDataKey ISpeechDataKey;
9437#endif
9438
9439#ifndef __ISpeechObjectToken_FWD_DEFINED__
9440#define __ISpeechObjectToken_FWD_DEFINED__
9441typedef interface ISpeechObjectToken ISpeechObjectToken;
9442#endif
9443
9444#ifndef __ISpeechObjectTokens_FWD_DEFINED__
9445#define __ISpeechObjectTokens_FWD_DEFINED__
9446typedef interface ISpeechObjectTokens ISpeechObjectTokens;
9447#endif
9448
9449#ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
9450#define __ISpeechObjectTokenCategory_FWD_DEFINED__
9451typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
9452#endif
9453
9454#ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
9455#define __ISpeechAudioBufferInfo_FWD_DEFINED__
9456typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
9457#endif
9458
9459#ifndef __ISpeechAudioStatus_FWD_DEFINED__
9460#define __ISpeechAudioStatus_FWD_DEFINED__
9461typedef interface ISpeechAudioStatus ISpeechAudioStatus;
9462#endif
9463
9464#ifndef __ISpeechAudioFormat_FWD_DEFINED__
9465#define __ISpeechAudioFormat_FWD_DEFINED__
9466typedef interface ISpeechAudioFormat ISpeechAudioFormat;
9467#endif
9468
9469#ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
9470#define __ISpeechWaveFormatEx_FWD_DEFINED__
9471typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
9472#endif
9473
9474#ifndef __ISpeechBaseStream_FWD_DEFINED__
9475#define __ISpeechBaseStream_FWD_DEFINED__
9476typedef interface ISpeechBaseStream ISpeechBaseStream;
9477#endif
9478
9479#ifndef __ISpeechFileStream_FWD_DEFINED__
9480#define __ISpeechFileStream_FWD_DEFINED__
9481typedef interface ISpeechFileStream ISpeechFileStream;
9482#endif
9483
9484#ifndef __ISpeechMemoryStream_FWD_DEFINED__
9485#define __ISpeechMemoryStream_FWD_DEFINED__
9486typedef interface ISpeechMemoryStream ISpeechMemoryStream;
9487#endif
9488
9489#ifndef __ISpeechCustomStream_FWD_DEFINED__
9490#define __ISpeechCustomStream_FWD_DEFINED__
9491typedef interface ISpeechCustomStream ISpeechCustomStream;
9492#endif
9493
9494#ifndef __ISpeechAudio_FWD_DEFINED__
9495#define __ISpeechAudio_FWD_DEFINED__
9496typedef interface ISpeechAudio ISpeechAudio;
9497#endif
9498
9499#ifndef __ISpeechMMSysAudio_FWD_DEFINED__
9500#define __ISpeechMMSysAudio_FWD_DEFINED__
9501typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
9502#endif
9503
9504#ifndef __ISpeechVoice_FWD_DEFINED__
9505#define __ISpeechVoice_FWD_DEFINED__
9506typedef interface ISpeechVoice ISpeechVoice;
9507#endif
9508
9509#ifndef __ISpeechVoiceStatus_FWD_DEFINED__
9510#define __ISpeechVoiceStatus_FWD_DEFINED__
9511typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
9512#endif
9513
9514#ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
9515#define ___ISpeechVoiceEvents_FWD_DEFINED__
9516typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
9517#endif
9518
9519#ifndef __ISpeechRecognizer_FWD_DEFINED__
9520#define __ISpeechRecognizer_FWD_DEFINED__
9521typedef interface ISpeechRecognizer ISpeechRecognizer;
9522#endif
9523
9524#ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
9525#define __ISpeechRecognizerStatus_FWD_DEFINED__
9526typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
9527#endif
9528
9529#ifndef __ISpeechRecoContext_FWD_DEFINED__
9530#define __ISpeechRecoContext_FWD_DEFINED__
9531typedef interface ISpeechRecoContext ISpeechRecoContext;
9532#endif
9533
9534#ifndef __ISpeechRecoGrammar_FWD_DEFINED__
9535#define __ISpeechRecoGrammar_FWD_DEFINED__
9536typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
9537#endif
9538
9539#ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
9540#define ___ISpeechRecoContextEvents_FWD_DEFINED__
9541typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
9542#endif
9543
9544#ifndef __ISpeechGrammarRule_FWD_DEFINED__
9545#define __ISpeechGrammarRule_FWD_DEFINED__
9546typedef interface ISpeechGrammarRule ISpeechGrammarRule;
9547#endif
9548
9549#ifndef __ISpeechGrammarRules_FWD_DEFINED__
9550#define __ISpeechGrammarRules_FWD_DEFINED__
9551typedef interface ISpeechGrammarRules ISpeechGrammarRules;
9552#endif
9553
9554#ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
9555#define __ISpeechGrammarRuleState_FWD_DEFINED__
9556typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
9557#endif
9558
9559#ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
9560#define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
9561typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
9562#endif
9563
9564#ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
9565#define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
9566typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
9567#endif
9568
9569#ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
9570#define __ISpeechTextSelectionInformation_FWD_DEFINED__
9571typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
9572#endif
9573
9574#ifndef __ISpeechRecoResult_FWD_DEFINED__
9575#define __ISpeechRecoResult_FWD_DEFINED__
9576typedef interface ISpeechRecoResult ISpeechRecoResult;
9577#endif
9578
9579#ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
9580#define __ISpeechRecoResultTimes_FWD_DEFINED__
9581typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
9582#endif
9583
9584#ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
9585#define __ISpeechPhraseAlternate_FWD_DEFINED__
9586typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
9587#endif
9588
9589#ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
9590#define __ISpeechPhraseAlternates_FWD_DEFINED__
9591typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
9592#endif
9593
9594#ifndef __ISpeechPhraseInfo_FWD_DEFINED__
9595#define __ISpeechPhraseInfo_FWD_DEFINED__
9596typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
9597#endif
9598
9599#ifndef __ISpeechPhraseElement_FWD_DEFINED__
9600#define __ISpeechPhraseElement_FWD_DEFINED__
9601typedef interface ISpeechPhraseElement ISpeechPhraseElement;
9602#endif
9603
9604#ifndef __ISpeechPhraseElements_FWD_DEFINED__
9605#define __ISpeechPhraseElements_FWD_DEFINED__
9606typedef interface ISpeechPhraseElements ISpeechPhraseElements;
9607#endif
9608
9609#ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
9610#define __ISpeechPhraseReplacement_FWD_DEFINED__
9611typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
9612#endif
9613
9614#ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
9615#define __ISpeechPhraseReplacements_FWD_DEFINED__
9616typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
9617#endif
9618
9619#ifndef __ISpeechPhraseProperty_FWD_DEFINED__
9620#define __ISpeechPhraseProperty_FWD_DEFINED__
9621typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
9622#endif
9623
9624#ifndef __ISpeechPhraseProperties_FWD_DEFINED__
9625#define __ISpeechPhraseProperties_FWD_DEFINED__
9626typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
9627#endif
9628
9629#ifndef __ISpeechPhraseRule_FWD_DEFINED__
9630#define __ISpeechPhraseRule_FWD_DEFINED__
9631typedef interface ISpeechPhraseRule ISpeechPhraseRule;
9632#endif
9633
9634#ifndef __ISpeechPhraseRules_FWD_DEFINED__
9635#define __ISpeechPhraseRules_FWD_DEFINED__
9636typedef interface ISpeechPhraseRules ISpeechPhraseRules;
9637#endif
9638
9639#ifndef __ISpeechLexicon_FWD_DEFINED__
9640#define __ISpeechLexicon_FWD_DEFINED__
9641typedef interface ISpeechLexicon ISpeechLexicon;
9642#endif
9643
9644#ifndef __ISpeechLexiconWords_FWD_DEFINED__
9645#define __ISpeechLexiconWords_FWD_DEFINED__
9646typedef interface ISpeechLexiconWords ISpeechLexiconWords;
9647#endif
9648
9649#ifndef __ISpeechLexiconWord_FWD_DEFINED__
9650#define __ISpeechLexiconWord_FWD_DEFINED__
9651typedef interface ISpeechLexiconWord ISpeechLexiconWord;
9652#endif
9653
9654#ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
9655#define __ISpeechLexiconPronunciations_FWD_DEFINED__
9656typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
9657#endif
9658
9659#ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
9660#define __ISpeechLexiconPronunciation_FWD_DEFINED__
9661typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
9662#endif
9663
9664typedef LONG SpeechLanguageId;
9665#define __SpeechStringConstants_MODULE_DEFINED__
9666typedef enum DISPID_SpeechDataKey {
9667    DISPID_SDKSetBinaryValue = 1,
9668    DISPID_SDKGetBinaryValue = 2,
9669    DISPID_SDKSetStringValue = 3,
9670    DISPID_SDKGetStringValue = 4,
9671    DISPID_SDKSetLongValue = 5,
9672    DISPID_SDKGetlongValue = 6,
9673    DISPID_SDKOpenKey = 7,
9674    DISPID_SDKCreateKey = 8,
9675    DISPID_SDKDeleteKey = 9,
9676    DISPID_SDKDeleteValue = 10,
9677    DISPID_SDKEnumKeys = 11,
9678    DISPID_SDKEnumValues = 12
9679} DISPID_SpeechDataKey;
9680typedef enum DISPID_SpeechObjectToken {
9681    DISPID_SOTId = 1,
9682    DISPID_SOTDataKey = 2,
9683    DISPID_SOTCategory = 3,
9684    DISPID_SOTGetDescription = 4,
9685    DISPID_SOTSetId = 5,
9686    DISPID_SOTGetAttribute = 6,
9687    DISPID_SOTCreateInstance = 7,
9688    DISPID_SOTRemove = 8,
9689    DISPID_SOTGetStorageFileName = 9,
9690    DISPID_SOTRemoveStorageFileName = 10,
9691    DISPID_SOTIsUISupported = 11,
9692    DISPID_SOTDisplayUI = 12,
9693    DISPID_SOTMatchesAttributes = 13
9694} DISPID_SpeechObjectToken;
9695typedef enum SpeechDataKeyLocation {
9696    SDKLDefaultLocation = SPDKL_DefaultLocation,
9697    SDKLCurrentUser = SPDKL_CurrentUser,
9698    SDKLLocalMachine = SPDKL_LocalMachine,
9699    SDKLCurrentConfig = SPDKL_CurrentConfig
9700} SpeechDataKeyLocation;
9701typedef enum SpeechTokenContext {
9702    STCInprocServer = CLSCTX_INPROC_SERVER,
9703    STCInprocHandler = CLSCTX_INPROC_HANDLER,
9704    STCLocalServer = CLSCTX_LOCAL_SERVER,
9705    STCRemoteServer = CLSCTX_REMOTE_SERVER,
9706    STCAll = ((CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER) | CLSCTX_LOCAL_SERVER) | CLSCTX_REMOTE_SERVER
9707} SpeechTokenContext;
9708typedef enum SpeechTokenShellFolder {
9709    STSF_AppData = 0x1a,
9710    STSF_LocalAppData = 0x1c,
9711    STSF_CommonAppData = 0x23,
9712    STSF_FlagCreate = 0x8000
9713} SpeechTokenShellFolder;
9714typedef enum DISPID_SpeechObjectTokens {
9715    DISPID_SOTsCount = 1,
9716    DISPID_SOTsItem = DISPID_VALUE,
9717    DISPID_SOTs_NewEnum = DISPID_NEWENUM
9718} DISPID_SpeechObjectTokens;
9719typedef enum DISPID_SpeechObjectTokenCategory {
9720    DISPID_SOTCId = 1,
9721    DISPID_SOTCDefault = 2,
9722    DISPID_SOTCSetId = 3,
9723    DISPID_SOTCGetDataKey = 4,
9724    DISPID_SOTCEnumerateTokens = 5
9725} DISPID_SpeechObjectTokenCategory;
9726/*****************************************************************************
9727 * ISpeechDataKey interface
9728 */
9729#ifndef __ISpeechDataKey_INTERFACE_DEFINED__
9730#define __ISpeechDataKey_INTERFACE_DEFINED__
9731
9732DEFINE_GUID(IID_ISpeechDataKey, 0xce17c09b, 0x4efa, 0x44d5, 0xa4,0xc9, 0x59,0xd9,0x58,0x5a,0xb0,0xcd);
9733#if defined(__cplusplus) && !defined(CINTERFACE)
9734MIDL_INTERFACE("ce17c09b-4efa-44d5-a4c9-59d9585ab0cd")
9735ISpeechDataKey : public IDispatch
9736{
9737    virtual HRESULT STDMETHODCALLTYPE SetBinaryValue(
9738        const BSTR ValueName,
9739        VARIANT Value) = 0;
9740
9741    virtual HRESULT STDMETHODCALLTYPE GetBinaryValue(
9742        const BSTR ValueName,
9743        VARIANT *Value) = 0;
9744
9745    virtual HRESULT STDMETHODCALLTYPE SetStringValue(
9746        const BSTR ValueName,
9747        const BSTR Value) = 0;
9748
9749    virtual HRESULT STDMETHODCALLTYPE GetStringValue(
9750        const BSTR ValueName,
9751        BSTR *Value) = 0;
9752
9753    virtual HRESULT STDMETHODCALLTYPE SetLongValue(
9754        const BSTR ValueName,
9755        LONG Value) = 0;
9756
9757    virtual HRESULT STDMETHODCALLTYPE GetLongValue(
9758        const BSTR ValueName,
9759        LONG *Value) = 0;
9760
9761    virtual HRESULT STDMETHODCALLTYPE OpenKey(
9762        const BSTR SubKeyName,
9763        ISpeechDataKey **SubKey) = 0;
9764
9765    virtual HRESULT STDMETHODCALLTYPE CreateKey(
9766        const BSTR SubKeyName,
9767        ISpeechDataKey **SubKey) = 0;
9768
9769    virtual HRESULT STDMETHODCALLTYPE DeleteKey(
9770        const BSTR SubKeyName) = 0;
9771
9772    virtual HRESULT STDMETHODCALLTYPE DeleteValue(
9773        const BSTR ValueName) = 0;
9774
9775    virtual HRESULT STDMETHODCALLTYPE EnumKeys(
9776        LONG Index,
9777        BSTR *SubKeyName) = 0;
9778
9779    virtual HRESULT STDMETHODCALLTYPE EnumValues(
9780        LONG Index,
9781        BSTR *ValueName) = 0;
9782
9783};
9784#ifdef __CRT_UUID_DECL
9785__CRT_UUID_DECL(ISpeechDataKey, 0xce17c09b, 0x4efa, 0x44d5, 0xa4,0xc9, 0x59,0xd9,0x58,0x5a,0xb0,0xcd)
9786#endif
9787#else
9788typedef struct ISpeechDataKeyVtbl {
9789    BEGIN_INTERFACE
9790
9791    /*** IUnknown methods ***/
9792    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9793        ISpeechDataKey* This,
9794        REFIID riid,
9795        void **ppvObject);
9796
9797    ULONG (STDMETHODCALLTYPE *AddRef)(
9798        ISpeechDataKey* This);
9799
9800    ULONG (STDMETHODCALLTYPE *Release)(
9801        ISpeechDataKey* This);
9802
9803    /*** IDispatch methods ***/
9804    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
9805        ISpeechDataKey* This,
9806        UINT *pctinfo);
9807
9808    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
9809        ISpeechDataKey* This,
9810        UINT iTInfo,
9811        LCID lcid,
9812        ITypeInfo **ppTInfo);
9813
9814    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
9815        ISpeechDataKey* This,
9816        REFIID riid,
9817        LPOLESTR *rgszNames,
9818        UINT cNames,
9819        LCID lcid,
9820        DISPID *rgDispId);
9821
9822    HRESULT (STDMETHODCALLTYPE *Invoke)(
9823        ISpeechDataKey* This,
9824        DISPID dispIdMember,
9825        REFIID riid,
9826        LCID lcid,
9827        WORD wFlags,
9828        DISPPARAMS *pDispParams,
9829        VARIANT *pVarResult,
9830        EXCEPINFO *pExcepInfo,
9831        UINT *puArgErr);
9832
9833    /*** ISpeechDataKey methods ***/
9834    HRESULT (STDMETHODCALLTYPE *SetBinaryValue)(
9835        ISpeechDataKey* This,
9836        const BSTR ValueName,
9837        VARIANT Value);
9838
9839    HRESULT (STDMETHODCALLTYPE *GetBinaryValue)(
9840        ISpeechDataKey* This,
9841        const BSTR ValueName,
9842        VARIANT *Value);
9843
9844    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
9845        ISpeechDataKey* This,
9846        const BSTR ValueName,
9847        const BSTR Value);
9848
9849    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
9850        ISpeechDataKey* This,
9851        const BSTR ValueName,
9852        BSTR *Value);
9853
9854    HRESULT (STDMETHODCALLTYPE *SetLongValue)(
9855        ISpeechDataKey* This,
9856        const BSTR ValueName,
9857        LONG Value);
9858
9859    HRESULT (STDMETHODCALLTYPE *GetLongValue)(
9860        ISpeechDataKey* This,
9861        const BSTR ValueName,
9862        LONG *Value);
9863
9864    HRESULT (STDMETHODCALLTYPE *OpenKey)(
9865        ISpeechDataKey* This,
9866        const BSTR SubKeyName,
9867        ISpeechDataKey **SubKey);
9868
9869    HRESULT (STDMETHODCALLTYPE *CreateKey)(
9870        ISpeechDataKey* This,
9871        const BSTR SubKeyName,
9872        ISpeechDataKey **SubKey);
9873
9874    HRESULT (STDMETHODCALLTYPE *DeleteKey)(
9875        ISpeechDataKey* This,
9876        const BSTR SubKeyName);
9877
9878    HRESULT (STDMETHODCALLTYPE *DeleteValue)(
9879        ISpeechDataKey* This,
9880        const BSTR ValueName);
9881
9882    HRESULT (STDMETHODCALLTYPE *EnumKeys)(
9883        ISpeechDataKey* This,
9884        LONG Index,
9885        BSTR *SubKeyName);
9886
9887    HRESULT (STDMETHODCALLTYPE *EnumValues)(
9888        ISpeechDataKey* This,
9889        LONG Index,
9890        BSTR *ValueName);
9891
9892    END_INTERFACE
9893} ISpeechDataKeyVtbl;
9894interface ISpeechDataKey {
9895    CONST_VTBL ISpeechDataKeyVtbl* lpVtbl;
9896};
9897
9898#ifdef COBJMACROS
9899#ifndef WIDL_C_INLINE_WRAPPERS
9900/*** IUnknown methods ***/
9901#define ISpeechDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9902#define ISpeechDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
9903#define ISpeechDataKey_Release(This) (This)->lpVtbl->Release(This)
9904/*** IDispatch methods ***/
9905#define ISpeechDataKey_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
9906#define ISpeechDataKey_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
9907#define ISpeechDataKey_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
9908#define ISpeechDataKey_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
9909/*** ISpeechDataKey methods ***/
9910#define ISpeechDataKey_SetBinaryValue(This,ValueName,Value) (This)->lpVtbl->SetBinaryValue(This,ValueName,Value)
9911#define ISpeechDataKey_GetBinaryValue(This,ValueName,Value) (This)->lpVtbl->GetBinaryValue(This,ValueName,Value)
9912#define ISpeechDataKey_SetStringValue(This,ValueName,Value) (This)->lpVtbl->SetStringValue(This,ValueName,Value)
9913#define ISpeechDataKey_GetStringValue(This,ValueName,Value) (This)->lpVtbl->GetStringValue(This,ValueName,Value)
9914#define ISpeechDataKey_SetLongValue(This,ValueName,Value) (This)->lpVtbl->SetLongValue(This,ValueName,Value)
9915#define ISpeechDataKey_GetLongValue(This,ValueName,Value) (This)->lpVtbl->GetLongValue(This,ValueName,Value)
9916#define ISpeechDataKey_OpenKey(This,SubKeyName,SubKey) (This)->lpVtbl->OpenKey(This,SubKeyName,SubKey)
9917#define ISpeechDataKey_CreateKey(This,SubKeyName,SubKey) (This)->lpVtbl->CreateKey(This,SubKeyName,SubKey)
9918#define ISpeechDataKey_DeleteKey(This,SubKeyName) (This)->lpVtbl->DeleteKey(This,SubKeyName)
9919#define ISpeechDataKey_DeleteValue(This,ValueName) (This)->lpVtbl->DeleteValue(This,ValueName)
9920#define ISpeechDataKey_EnumKeys(This,Index,SubKeyName) (This)->lpVtbl->EnumKeys(This,Index,SubKeyName)
9921#define ISpeechDataKey_EnumValues(This,Index,ValueName) (This)->lpVtbl->EnumValues(This,Index,ValueName)
9922#else
9923/*** IUnknown methods ***/
9924static FORCEINLINE HRESULT ISpeechDataKey_QueryInterface(ISpeechDataKey* This,REFIID riid,void **ppvObject) {
9925    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9926}
9927static FORCEINLINE ULONG ISpeechDataKey_AddRef(ISpeechDataKey* This) {
9928    return This->lpVtbl->AddRef(This);
9929}
9930static FORCEINLINE ULONG ISpeechDataKey_Release(ISpeechDataKey* This) {
9931    return This->lpVtbl->Release(This);
9932}
9933/*** IDispatch methods ***/
9934static FORCEINLINE HRESULT ISpeechDataKey_GetTypeInfoCount(ISpeechDataKey* This,UINT *pctinfo) {
9935    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
9936}
9937static FORCEINLINE HRESULT ISpeechDataKey_GetTypeInfo(ISpeechDataKey* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
9938    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
9939}
9940static FORCEINLINE HRESULT ISpeechDataKey_GetIDsOfNames(ISpeechDataKey* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
9941    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
9942}
9943static FORCEINLINE HRESULT ISpeechDataKey_Invoke(ISpeechDataKey* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
9944    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
9945}
9946/*** ISpeechDataKey methods ***/
9947static FORCEINLINE HRESULT ISpeechDataKey_SetBinaryValue(ISpeechDataKey* This,const BSTR ValueName,VARIANT Value) {
9948    return This->lpVtbl->SetBinaryValue(This,ValueName,Value);
9949}
9950static FORCEINLINE HRESULT ISpeechDataKey_GetBinaryValue(ISpeechDataKey* This,const BSTR ValueName,VARIANT *Value) {
9951    return This->lpVtbl->GetBinaryValue(This,ValueName,Value);
9952}
9953static FORCEINLINE HRESULT ISpeechDataKey_SetStringValue(ISpeechDataKey* This,const BSTR ValueName,const BSTR Value) {
9954    return This->lpVtbl->SetStringValue(This,ValueName,Value);
9955}
9956static FORCEINLINE HRESULT ISpeechDataKey_GetStringValue(ISpeechDataKey* This,const BSTR ValueName,BSTR *Value) {
9957    return This->lpVtbl->GetStringValue(This,ValueName,Value);
9958}
9959static FORCEINLINE HRESULT ISpeechDataKey_SetLongValue(ISpeechDataKey* This,const BSTR ValueName,LONG Value) {
9960    return This->lpVtbl->SetLongValue(This,ValueName,Value);
9961}
9962static FORCEINLINE HRESULT ISpeechDataKey_GetLongValue(ISpeechDataKey* This,const BSTR ValueName,LONG *Value) {
9963    return This->lpVtbl->GetLongValue(This,ValueName,Value);
9964}
9965static FORCEINLINE HRESULT ISpeechDataKey_OpenKey(ISpeechDataKey* This,const BSTR SubKeyName,ISpeechDataKey **SubKey) {
9966    return This->lpVtbl->OpenKey(This,SubKeyName,SubKey);
9967}
9968static FORCEINLINE HRESULT ISpeechDataKey_CreateKey(ISpeechDataKey* This,const BSTR SubKeyName,ISpeechDataKey **SubKey) {
9969    return This->lpVtbl->CreateKey(This,SubKeyName,SubKey);
9970}
9971static FORCEINLINE HRESULT ISpeechDataKey_DeleteKey(ISpeechDataKey* This,const BSTR SubKeyName) {
9972    return This->lpVtbl->DeleteKey(This,SubKeyName);
9973}
9974static FORCEINLINE HRESULT ISpeechDataKey_DeleteValue(ISpeechDataKey* This,const BSTR ValueName) {
9975    return This->lpVtbl->DeleteValue(This,ValueName);
9976}
9977static FORCEINLINE HRESULT ISpeechDataKey_EnumKeys(ISpeechDataKey* This,LONG Index,BSTR *SubKeyName) {
9978    return This->lpVtbl->EnumKeys(This,Index,SubKeyName);
9979}
9980static FORCEINLINE HRESULT ISpeechDataKey_EnumValues(ISpeechDataKey* This,LONG Index,BSTR *ValueName) {
9981    return This->lpVtbl->EnumValues(This,Index,ValueName);
9982}
9983#endif
9984#endif
9985
9986#endif
9987
9988HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetBinaryValue_Proxy(
9989    ISpeechDataKey* This,
9990    const BSTR ValueName,
9991    VARIANT Value);
9992void __RPC_STUB ISpeechDataKey_SetBinaryValue_Stub(
9993    IRpcStubBuffer* This,
9994    IRpcChannelBuffer* pRpcChannelBuffer,
9995    PRPC_MESSAGE pRpcMessage,
9996    DWORD* pdwStubPhase);
9997HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetBinaryValue_Proxy(
9998    ISpeechDataKey* This,
9999    const BSTR ValueName,
10000    VARIANT *Value);
10001void __RPC_STUB ISpeechDataKey_GetBinaryValue_Stub(
10002    IRpcStubBuffer* This,
10003    IRpcChannelBuffer* pRpcChannelBuffer,
10004    PRPC_MESSAGE pRpcMessage,
10005    DWORD* pdwStubPhase);
10006HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetStringValue_Proxy(
10007    ISpeechDataKey* This,
10008    const BSTR ValueName,
10009    const BSTR Value);
10010void __RPC_STUB ISpeechDataKey_SetStringValue_Stub(
10011    IRpcStubBuffer* This,
10012    IRpcChannelBuffer* pRpcChannelBuffer,
10013    PRPC_MESSAGE pRpcMessage,
10014    DWORD* pdwStubPhase);
10015HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetStringValue_Proxy(
10016    ISpeechDataKey* This,
10017    const BSTR ValueName,
10018    BSTR *Value);
10019void __RPC_STUB ISpeechDataKey_GetStringValue_Stub(
10020    IRpcStubBuffer* This,
10021    IRpcChannelBuffer* pRpcChannelBuffer,
10022    PRPC_MESSAGE pRpcMessage,
10023    DWORD* pdwStubPhase);
10024HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetLongValue_Proxy(
10025    ISpeechDataKey* This,
10026    const BSTR ValueName,
10027    LONG Value);
10028void __RPC_STUB ISpeechDataKey_SetLongValue_Stub(
10029    IRpcStubBuffer* This,
10030    IRpcChannelBuffer* pRpcChannelBuffer,
10031    PRPC_MESSAGE pRpcMessage,
10032    DWORD* pdwStubPhase);
10033HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetLongValue_Proxy(
10034    ISpeechDataKey* This,
10035    const BSTR ValueName,
10036    LONG *Value);
10037void __RPC_STUB ISpeechDataKey_GetLongValue_Stub(
10038    IRpcStubBuffer* This,
10039    IRpcChannelBuffer* pRpcChannelBuffer,
10040    PRPC_MESSAGE pRpcMessage,
10041    DWORD* pdwStubPhase);
10042HRESULT STDMETHODCALLTYPE ISpeechDataKey_OpenKey_Proxy(
10043    ISpeechDataKey* This,
10044    const BSTR SubKeyName,
10045    ISpeechDataKey **SubKey);
10046void __RPC_STUB ISpeechDataKey_OpenKey_Stub(
10047    IRpcStubBuffer* This,
10048    IRpcChannelBuffer* pRpcChannelBuffer,
10049    PRPC_MESSAGE pRpcMessage,
10050    DWORD* pdwStubPhase);
10051HRESULT STDMETHODCALLTYPE ISpeechDataKey_CreateKey_Proxy(
10052    ISpeechDataKey* This,
10053    const BSTR SubKeyName,
10054    ISpeechDataKey **SubKey);
10055void __RPC_STUB ISpeechDataKey_CreateKey_Stub(
10056    IRpcStubBuffer* This,
10057    IRpcChannelBuffer* pRpcChannelBuffer,
10058    PRPC_MESSAGE pRpcMessage,
10059    DWORD* pdwStubPhase);
10060HRESULT STDMETHODCALLTYPE ISpeechDataKey_DeleteKey_Proxy(
10061    ISpeechDataKey* This,
10062    const BSTR SubKeyName);
10063void __RPC_STUB ISpeechDataKey_DeleteKey_Stub(
10064    IRpcStubBuffer* This,
10065    IRpcChannelBuffer* pRpcChannelBuffer,
10066    PRPC_MESSAGE pRpcMessage,
10067    DWORD* pdwStubPhase);
10068HRESULT STDMETHODCALLTYPE ISpeechDataKey_DeleteValue_Proxy(
10069    ISpeechDataKey* This,
10070    const BSTR ValueName);
10071void __RPC_STUB ISpeechDataKey_DeleteValue_Stub(
10072    IRpcStubBuffer* This,
10073    IRpcChannelBuffer* pRpcChannelBuffer,
10074    PRPC_MESSAGE pRpcMessage,
10075    DWORD* pdwStubPhase);
10076HRESULT STDMETHODCALLTYPE ISpeechDataKey_EnumKeys_Proxy(
10077    ISpeechDataKey* This,
10078    LONG Index,
10079    BSTR *SubKeyName);
10080void __RPC_STUB ISpeechDataKey_EnumKeys_Stub(
10081    IRpcStubBuffer* This,
10082    IRpcChannelBuffer* pRpcChannelBuffer,
10083    PRPC_MESSAGE pRpcMessage,
10084    DWORD* pdwStubPhase);
10085HRESULT STDMETHODCALLTYPE ISpeechDataKey_EnumValues_Proxy(
10086    ISpeechDataKey* This,
10087    LONG Index,
10088    BSTR *ValueName);
10089void __RPC_STUB ISpeechDataKey_EnumValues_Stub(
10090    IRpcStubBuffer* This,
10091    IRpcChannelBuffer* pRpcChannelBuffer,
10092    PRPC_MESSAGE pRpcMessage,
10093    DWORD* pdwStubPhase);
10094
10095#endif  /* __ISpeechDataKey_INTERFACE_DEFINED__ */
10096
10097/*****************************************************************************
10098 * ISpeechObjectToken interface
10099 */
10100#ifndef __ISpeechObjectToken_INTERFACE_DEFINED__
10101#define __ISpeechObjectToken_INTERFACE_DEFINED__
10102
10103DEFINE_GUID(IID_ISpeechObjectToken, 0xc74a3adc, 0xb727, 0x4500, 0xa8,0x4a, 0xb5,0x26,0x72,0x1c,0x8b,0x8c);
10104#if defined(__cplusplus) && !defined(CINTERFACE)
10105MIDL_INTERFACE("c74a3adc-b727-4500-a84a-b526721c8b8c")
10106ISpeechObjectToken : public IDispatch
10107{
10108    virtual HRESULT STDMETHODCALLTYPE get_Id(
10109        BSTR *ObjectId) = 0;
10110
10111    virtual HRESULT STDMETHODCALLTYPE get_DataKey(
10112        ISpeechDataKey **DataKey) = 0;
10113
10114    virtual HRESULT STDMETHODCALLTYPE get_Category(
10115        ISpeechObjectTokenCategory **Category) = 0;
10116
10117    virtual HRESULT STDMETHODCALLTYPE GetDescription(
10118        LONG Locale,
10119        BSTR *Description) = 0;
10120
10121    virtual HRESULT STDMETHODCALLTYPE SetId(
10122        BSTR Id,
10123        BSTR CategoryID = L"",
10124        VARIANT_BOOL CreateIfNotExist = 0) = 0;
10125
10126    virtual HRESULT STDMETHODCALLTYPE GetAttribute(
10127        BSTR AttributeName,
10128        BSTR *AttributeValue) = 0;
10129
10130    virtual HRESULT STDMETHODCALLTYPE CreateInstance(
10131        IUnknown *pUnkOuter,
10132        SpeechTokenContext ClsContext,
10133        IUnknown **Object) = 0;
10134
10135    virtual HRESULT STDMETHODCALLTYPE Remove(
10136        BSTR ObjectStorageCLSID) = 0;
10137
10138    virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
10139        BSTR ObjectStorageCLSID,
10140        BSTR KeyName,
10141        BSTR FileName,
10142        SpeechTokenShellFolder Folder,
10143        BSTR *FilePath) = 0;
10144
10145    virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
10146        BSTR ObjectStorageCLSID,
10147        BSTR KeyName,
10148        VARIANT_BOOL DeleteFile) = 0;
10149
10150    virtual HRESULT STDMETHODCALLTYPE IsUISupported(
10151        const BSTR TypeOfUI,
10152        const VARIANT *ExtraData,
10153        IUnknown *Object,
10154        VARIANT_BOOL *Supported) = 0;
10155
10156    virtual HRESULT STDMETHODCALLTYPE DisplayUI(
10157        LONG hWnd,
10158        BSTR Title,
10159        const BSTR TypeOfUI,
10160        const VARIANT *ExtraData = 0,
10161        IUnknown *Object = 0) = 0;
10162
10163    virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
10164        BSTR Attributes,
10165        VARIANT_BOOL *Matches) = 0;
10166
10167};
10168#ifdef __CRT_UUID_DECL
10169__CRT_UUID_DECL(ISpeechObjectToken, 0xc74a3adc, 0xb727, 0x4500, 0xa8,0x4a, 0xb5,0x26,0x72,0x1c,0x8b,0x8c)
10170#endif
10171#else
10172typedef struct ISpeechObjectTokenVtbl {
10173    BEGIN_INTERFACE
10174
10175    /*** IUnknown methods ***/
10176    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10177        ISpeechObjectToken* This,
10178        REFIID riid,
10179        void **ppvObject);
10180
10181    ULONG (STDMETHODCALLTYPE *AddRef)(
10182        ISpeechObjectToken* This);
10183
10184    ULONG (STDMETHODCALLTYPE *Release)(
10185        ISpeechObjectToken* This);
10186
10187    /*** IDispatch methods ***/
10188    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
10189        ISpeechObjectToken* This,
10190        UINT *pctinfo);
10191
10192    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
10193        ISpeechObjectToken* This,
10194        UINT iTInfo,
10195        LCID lcid,
10196        ITypeInfo **ppTInfo);
10197
10198    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
10199        ISpeechObjectToken* This,
10200        REFIID riid,
10201        LPOLESTR *rgszNames,
10202        UINT cNames,
10203        LCID lcid,
10204        DISPID *rgDispId);
10205
10206    HRESULT (STDMETHODCALLTYPE *Invoke)(
10207        ISpeechObjectToken* This,
10208        DISPID dispIdMember,
10209        REFIID riid,
10210        LCID lcid,
10211        WORD wFlags,
10212        DISPPARAMS *pDispParams,
10213        VARIANT *pVarResult,
10214        EXCEPINFO *pExcepInfo,
10215        UINT *puArgErr);
10216
10217    /*** ISpeechObjectToken methods ***/
10218    HRESULT (STDMETHODCALLTYPE *get_Id)(
10219        ISpeechObjectToken* This,
10220        BSTR *ObjectId);
10221
10222    HRESULT (STDMETHODCALLTYPE *get_DataKey)(
10223        ISpeechObjectToken* This,
10224        ISpeechDataKey **DataKey);
10225
10226    HRESULT (STDMETHODCALLTYPE *get_Category)(
10227        ISpeechObjectToken* This,
10228        ISpeechObjectTokenCategory **Category);
10229
10230    HRESULT (STDMETHODCALLTYPE *GetDescription)(
10231        ISpeechObjectToken* This,
10232        LONG Locale,
10233        BSTR *Description);
10234
10235    HRESULT (STDMETHODCALLTYPE *SetId)(
10236        ISpeechObjectToken* This,
10237        BSTR Id,
10238        BSTR CategoryID,
10239        VARIANT_BOOL CreateIfNotExist);
10240
10241    HRESULT (STDMETHODCALLTYPE *GetAttribute)(
10242        ISpeechObjectToken* This,
10243        BSTR AttributeName,
10244        BSTR *AttributeValue);
10245
10246    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
10247        ISpeechObjectToken* This,
10248        IUnknown *pUnkOuter,
10249        SpeechTokenContext ClsContext,
10250        IUnknown **Object);
10251
10252    HRESULT (STDMETHODCALLTYPE *Remove)(
10253        ISpeechObjectToken* This,
10254        BSTR ObjectStorageCLSID);
10255
10256    HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
10257        ISpeechObjectToken* This,
10258        BSTR ObjectStorageCLSID,
10259        BSTR KeyName,
10260        BSTR FileName,
10261        SpeechTokenShellFolder Folder,
10262        BSTR *FilePath);
10263
10264    HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
10265        ISpeechObjectToken* This,
10266        BSTR ObjectStorageCLSID,
10267        BSTR KeyName,
10268        VARIANT_BOOL DeleteFile);
10269
10270    HRESULT (STDMETHODCALLTYPE *IsUISupported)(
10271        ISpeechObjectToken* This,
10272        const BSTR TypeOfUI,
10273        const VARIANT *ExtraData,
10274        IUnknown *Object,
10275        VARIANT_BOOL *Supported);
10276
10277    HRESULT (STDMETHODCALLTYPE *DisplayUI)(
10278        ISpeechObjectToken* This,
10279        LONG hWnd,
10280        BSTR Title,
10281        const BSTR TypeOfUI,
10282        const VARIANT *ExtraData,
10283        IUnknown *Object);
10284
10285    HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
10286        ISpeechObjectToken* This,
10287        BSTR Attributes,
10288        VARIANT_BOOL *Matches);
10289
10290    END_INTERFACE
10291} ISpeechObjectTokenVtbl;
10292interface ISpeechObjectToken {
10293    CONST_VTBL ISpeechObjectTokenVtbl* lpVtbl;
10294};
10295
10296#ifdef COBJMACROS
10297#ifndef WIDL_C_INLINE_WRAPPERS
10298/*** IUnknown methods ***/
10299#define ISpeechObjectToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10300#define ISpeechObjectToken_AddRef(This) (This)->lpVtbl->AddRef(This)
10301#define ISpeechObjectToken_Release(This) (This)->lpVtbl->Release(This)
10302/*** IDispatch methods ***/
10303#define ISpeechObjectToken_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
10304#define ISpeechObjectToken_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
10305#define ISpeechObjectToken_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
10306#define ISpeechObjectToken_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
10307/*** ISpeechObjectToken methods ***/
10308#define ISpeechObjectToken_get_Id(This,ObjectId) (This)->lpVtbl->get_Id(This,ObjectId)
10309#define ISpeechObjectToken_get_DataKey(This,DataKey) (This)->lpVtbl->get_DataKey(This,DataKey)
10310#define ISpeechObjectToken_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
10311#define ISpeechObjectToken_GetDescription(This,Locale,Description) (This)->lpVtbl->GetDescription(This,Locale,Description)
10312#define ISpeechObjectToken_SetId(This,Id,CategoryID,CreateIfNotExist) (This)->lpVtbl->SetId(This,Id,CategoryID,CreateIfNotExist)
10313#define ISpeechObjectToken_GetAttribute(This,AttributeName,AttributeValue) (This)->lpVtbl->GetAttribute(This,AttributeName,AttributeValue)
10314#define ISpeechObjectToken_CreateInstance(This,pUnkOuter,ClsContext,Object) (This)->lpVtbl->CreateInstance(This,pUnkOuter,ClsContext,Object)
10315#define ISpeechObjectToken_Remove(This,ObjectStorageCLSID) (This)->lpVtbl->Remove(This,ObjectStorageCLSID)
10316#define ISpeechObjectToken_GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath) (This)->lpVtbl->GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath)
10317#define ISpeechObjectToken_RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile)
10318#define ISpeechObjectToken_IsUISupported(This,TypeOfUI,ExtraData,Object,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Object,Supported)
10319#define ISpeechObjectToken_DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object) (This)->lpVtbl->DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object)
10320#define ISpeechObjectToken_MatchesAttributes(This,Attributes,Matches) (This)->lpVtbl->MatchesAttributes(This,Attributes,Matches)
10321#else
10322/*** IUnknown methods ***/
10323static FORCEINLINE HRESULT ISpeechObjectToken_QueryInterface(ISpeechObjectToken* This,REFIID riid,void **ppvObject) {
10324    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10325}
10326static FORCEINLINE ULONG ISpeechObjectToken_AddRef(ISpeechObjectToken* This) {
10327    return This->lpVtbl->AddRef(This);
10328}
10329static FORCEINLINE ULONG ISpeechObjectToken_Release(ISpeechObjectToken* This) {
10330    return This->lpVtbl->Release(This);
10331}
10332/*** IDispatch methods ***/
10333static FORCEINLINE HRESULT ISpeechObjectToken_GetTypeInfoCount(ISpeechObjectToken* This,UINT *pctinfo) {
10334    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
10335}
10336static FORCEINLINE HRESULT ISpeechObjectToken_GetTypeInfo(ISpeechObjectToken* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
10337    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
10338}
10339static FORCEINLINE HRESULT ISpeechObjectToken_GetIDsOfNames(ISpeechObjectToken* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
10340    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
10341}
10342static FORCEINLINE HRESULT ISpeechObjectToken_Invoke(ISpeechObjectToken* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
10343    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
10344}
10345/*** ISpeechObjectToken methods ***/
10346static FORCEINLINE HRESULT ISpeechObjectToken_get_Id(ISpeechObjectToken* This,BSTR *ObjectId) {
10347    return This->lpVtbl->get_Id(This,ObjectId);
10348}
10349static FORCEINLINE HRESULT ISpeechObjectToken_get_DataKey(ISpeechObjectToken* This,ISpeechDataKey **DataKey) {
10350    return This->lpVtbl->get_DataKey(This,DataKey);
10351}
10352static FORCEINLINE HRESULT ISpeechObjectToken_get_Category(ISpeechObjectToken* This,ISpeechObjectTokenCategory **Category) {
10353    return This->lpVtbl->get_Category(This,Category);
10354}
10355static FORCEINLINE HRESULT ISpeechObjectToken_GetDescription(ISpeechObjectToken* This,LONG Locale,BSTR *Description) {
10356    return This->lpVtbl->GetDescription(This,Locale,Description);
10357}
10358static FORCEINLINE HRESULT ISpeechObjectToken_SetId(ISpeechObjectToken* This,BSTR Id,BSTR CategoryID,VARIANT_BOOL CreateIfNotExist) {
10359    return This->lpVtbl->SetId(This,Id,CategoryID,CreateIfNotExist);
10360}
10361static FORCEINLINE HRESULT ISpeechObjectToken_GetAttribute(ISpeechObjectToken* This,BSTR AttributeName,BSTR *AttributeValue) {
10362    return This->lpVtbl->GetAttribute(This,AttributeName,AttributeValue);
10363}
10364static FORCEINLINE HRESULT ISpeechObjectToken_CreateInstance(ISpeechObjectToken* This,IUnknown *pUnkOuter,SpeechTokenContext ClsContext,IUnknown **Object) {
10365    return This->lpVtbl->CreateInstance(This,pUnkOuter,ClsContext,Object);
10366}
10367static FORCEINLINE HRESULT ISpeechObjectToken_Remove(ISpeechObjectToken* This,BSTR ObjectStorageCLSID) {
10368    return This->lpVtbl->Remove(This,ObjectStorageCLSID);
10369}
10370static FORCEINLINE HRESULT ISpeechObjectToken_GetStorageFileName(ISpeechObjectToken* This,BSTR ObjectStorageCLSID,BSTR KeyName,BSTR FileName,SpeechTokenShellFolder Folder,BSTR *FilePath) {
10371    return This->lpVtbl->GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath);
10372}
10373static FORCEINLINE HRESULT ISpeechObjectToken_RemoveStorageFileName(ISpeechObjectToken* This,BSTR ObjectStorageCLSID,BSTR KeyName,VARIANT_BOOL DeleteFile) {
10374    return This->lpVtbl->RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile);
10375}
10376static FORCEINLINE HRESULT ISpeechObjectToken_IsUISupported(ISpeechObjectToken* This,const BSTR TypeOfUI,const VARIANT *ExtraData,IUnknown *Object,VARIANT_BOOL *Supported) {
10377    return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Object,Supported);
10378}
10379static FORCEINLINE HRESULT ISpeechObjectToken_DisplayUI(ISpeechObjectToken* This,LONG hWnd,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData,IUnknown *Object) {
10380    return This->lpVtbl->DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object);
10381}
10382static FORCEINLINE HRESULT ISpeechObjectToken_MatchesAttributes(ISpeechObjectToken* This,BSTR Attributes,VARIANT_BOOL *Matches) {
10383    return This->lpVtbl->MatchesAttributes(This,Attributes,Matches);
10384}
10385#endif
10386#endif
10387
10388#endif
10389
10390HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_Id_Proxy(
10391    ISpeechObjectToken* This,
10392    BSTR *ObjectId);
10393void __RPC_STUB ISpeechObjectToken_get_Id_Stub(
10394    IRpcStubBuffer* This,
10395    IRpcChannelBuffer* pRpcChannelBuffer,
10396    PRPC_MESSAGE pRpcMessage,
10397    DWORD* pdwStubPhase);
10398HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_DataKey_Proxy(
10399    ISpeechObjectToken* This,
10400    ISpeechDataKey **DataKey);
10401void __RPC_STUB ISpeechObjectToken_get_DataKey_Stub(
10402    IRpcStubBuffer* This,
10403    IRpcChannelBuffer* pRpcChannelBuffer,
10404    PRPC_MESSAGE pRpcMessage,
10405    DWORD* pdwStubPhase);
10406HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_Category_Proxy(
10407    ISpeechObjectToken* This,
10408    ISpeechObjectTokenCategory **Category);
10409void __RPC_STUB ISpeechObjectToken_get_Category_Stub(
10410    IRpcStubBuffer* This,
10411    IRpcChannelBuffer* pRpcChannelBuffer,
10412    PRPC_MESSAGE pRpcMessage,
10413    DWORD* pdwStubPhase);
10414HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetDescription_Proxy(
10415    ISpeechObjectToken* This,
10416    LONG Locale,
10417    BSTR *Description);
10418void __RPC_STUB ISpeechObjectToken_GetDescription_Stub(
10419    IRpcStubBuffer* This,
10420    IRpcChannelBuffer* pRpcChannelBuffer,
10421    PRPC_MESSAGE pRpcMessage,
10422    DWORD* pdwStubPhase);
10423HRESULT STDMETHODCALLTYPE ISpeechObjectToken_SetId_Proxy(
10424    ISpeechObjectToken* This,
10425    BSTR Id,
10426    BSTR CategoryID,
10427    VARIANT_BOOL CreateIfNotExist);
10428void __RPC_STUB ISpeechObjectToken_SetId_Stub(
10429    IRpcStubBuffer* This,
10430    IRpcChannelBuffer* pRpcChannelBuffer,
10431    PRPC_MESSAGE pRpcMessage,
10432    DWORD* pdwStubPhase);
10433HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetAttribute_Proxy(
10434    ISpeechObjectToken* This,
10435    BSTR AttributeName,
10436    BSTR *AttributeValue);
10437void __RPC_STUB ISpeechObjectToken_GetAttribute_Stub(
10438    IRpcStubBuffer* This,
10439    IRpcChannelBuffer* pRpcChannelBuffer,
10440    PRPC_MESSAGE pRpcMessage,
10441    DWORD* pdwStubPhase);
10442HRESULT STDMETHODCALLTYPE ISpeechObjectToken_CreateInstance_Proxy(
10443    ISpeechObjectToken* This,
10444    IUnknown *pUnkOuter,
10445    SpeechTokenContext ClsContext,
10446    IUnknown **Object);
10447void __RPC_STUB ISpeechObjectToken_CreateInstance_Stub(
10448    IRpcStubBuffer* This,
10449    IRpcChannelBuffer* pRpcChannelBuffer,
10450    PRPC_MESSAGE pRpcMessage,
10451    DWORD* pdwStubPhase);
10452HRESULT STDMETHODCALLTYPE ISpeechObjectToken_Remove_Proxy(
10453    ISpeechObjectToken* This,
10454    BSTR ObjectStorageCLSID);
10455void __RPC_STUB ISpeechObjectToken_Remove_Stub(
10456    IRpcStubBuffer* This,
10457    IRpcChannelBuffer* pRpcChannelBuffer,
10458    PRPC_MESSAGE pRpcMessage,
10459    DWORD* pdwStubPhase);
10460HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetStorageFileName_Proxy(
10461    ISpeechObjectToken* This,
10462    BSTR ObjectStorageCLSID,
10463    BSTR KeyName,
10464    BSTR FileName,
10465    SpeechTokenShellFolder Folder,
10466    BSTR *FilePath);
10467void __RPC_STUB ISpeechObjectToken_GetStorageFileName_Stub(
10468    IRpcStubBuffer* This,
10469    IRpcChannelBuffer* pRpcChannelBuffer,
10470    PRPC_MESSAGE pRpcMessage,
10471    DWORD* pdwStubPhase);
10472HRESULT STDMETHODCALLTYPE ISpeechObjectToken_RemoveStorageFileName_Proxy(
10473    ISpeechObjectToken* This,
10474    BSTR ObjectStorageCLSID,
10475    BSTR KeyName,
10476    VARIANT_BOOL DeleteFile);
10477void __RPC_STUB ISpeechObjectToken_RemoveStorageFileName_Stub(
10478    IRpcStubBuffer* This,
10479    IRpcChannelBuffer* pRpcChannelBuffer,
10480    PRPC_MESSAGE pRpcMessage,
10481    DWORD* pdwStubPhase);
10482HRESULT STDMETHODCALLTYPE ISpeechObjectToken_IsUISupported_Proxy(
10483    ISpeechObjectToken* This,
10484    const BSTR TypeOfUI,
10485    const VARIANT *ExtraData,
10486    IUnknown *Object,
10487    VARIANT_BOOL *Supported);
10488void __RPC_STUB ISpeechObjectToken_IsUISupported_Stub(
10489    IRpcStubBuffer* This,
10490    IRpcChannelBuffer* pRpcChannelBuffer,
10491    PRPC_MESSAGE pRpcMessage,
10492    DWORD* pdwStubPhase);
10493HRESULT STDMETHODCALLTYPE ISpeechObjectToken_DisplayUI_Proxy(
10494    ISpeechObjectToken* This,
10495    LONG hWnd,
10496    BSTR Title,
10497    const BSTR TypeOfUI,
10498    const VARIANT *ExtraData,
10499    IUnknown *Object);
10500void __RPC_STUB ISpeechObjectToken_DisplayUI_Stub(
10501    IRpcStubBuffer* This,
10502    IRpcChannelBuffer* pRpcChannelBuffer,
10503    PRPC_MESSAGE pRpcMessage,
10504    DWORD* pdwStubPhase);
10505HRESULT STDMETHODCALLTYPE ISpeechObjectToken_MatchesAttributes_Proxy(
10506    ISpeechObjectToken* This,
10507    BSTR Attributes,
10508    VARIANT_BOOL *Matches);
10509void __RPC_STUB ISpeechObjectToken_MatchesAttributes_Stub(
10510    IRpcStubBuffer* This,
10511    IRpcChannelBuffer* pRpcChannelBuffer,
10512    PRPC_MESSAGE pRpcMessage,
10513    DWORD* pdwStubPhase);
10514
10515#endif  /* __ISpeechObjectToken_INTERFACE_DEFINED__ */
10516
10517/*****************************************************************************
10518 * ISpeechObjectTokens interface
10519 */
10520#ifndef __ISpeechObjectTokens_INTERFACE_DEFINED__
10521#define __ISpeechObjectTokens_INTERFACE_DEFINED__
10522
10523DEFINE_GUID(IID_ISpeechObjectTokens, 0x9285b776, 0x2e7b, 0x4bc0, 0xb5,0x3e, 0x58,0x0e,0xb6,0xfa,0x96,0x7f);
10524#if defined(__cplusplus) && !defined(CINTERFACE)
10525MIDL_INTERFACE("9285b776-2e7b-4bc0-b53e-580eb6fa967f")
10526ISpeechObjectTokens : public IDispatch
10527{
10528    virtual HRESULT STDMETHODCALLTYPE get_Count(
10529        LONG *Count) = 0;
10530
10531    virtual HRESULT STDMETHODCALLTYPE Item(
10532        LONG Index,
10533        ISpeechObjectToken **Token) = 0;
10534
10535    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
10536        IUnknown **ppEnumVARIANT) = 0;
10537
10538};
10539#ifdef __CRT_UUID_DECL
10540__CRT_UUID_DECL(ISpeechObjectTokens, 0x9285b776, 0x2e7b, 0x4bc0, 0xb5,0x3e, 0x58,0x0e,0xb6,0xfa,0x96,0x7f)
10541#endif
10542#else
10543typedef struct ISpeechObjectTokensVtbl {
10544    BEGIN_INTERFACE
10545
10546    /*** IUnknown methods ***/
10547    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10548        ISpeechObjectTokens* This,
10549        REFIID riid,
10550        void **ppvObject);
10551
10552    ULONG (STDMETHODCALLTYPE *AddRef)(
10553        ISpeechObjectTokens* This);
10554
10555    ULONG (STDMETHODCALLTYPE *Release)(
10556        ISpeechObjectTokens* This);
10557
10558    /*** IDispatch methods ***/
10559    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
10560        ISpeechObjectTokens* This,
10561        UINT *pctinfo);
10562
10563    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
10564        ISpeechObjectTokens* This,
10565        UINT iTInfo,
10566        LCID lcid,
10567        ITypeInfo **ppTInfo);
10568
10569    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
10570        ISpeechObjectTokens* This,
10571        REFIID riid,
10572        LPOLESTR *rgszNames,
10573        UINT cNames,
10574        LCID lcid,
10575        DISPID *rgDispId);
10576
10577    HRESULT (STDMETHODCALLTYPE *Invoke)(
10578        ISpeechObjectTokens* This,
10579        DISPID dispIdMember,
10580        REFIID riid,
10581        LCID lcid,
10582        WORD wFlags,
10583        DISPPARAMS *pDispParams,
10584        VARIANT *pVarResult,
10585        EXCEPINFO *pExcepInfo,
10586        UINT *puArgErr);
10587
10588    /*** ISpeechObjectTokens methods ***/
10589    HRESULT (STDMETHODCALLTYPE *get_Count)(
10590        ISpeechObjectTokens* This,
10591        LONG *Count);
10592
10593    HRESULT (STDMETHODCALLTYPE *Item)(
10594        ISpeechObjectTokens* This,
10595        LONG Index,
10596        ISpeechObjectToken **Token);
10597
10598    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
10599        ISpeechObjectTokens* This,
10600        IUnknown **ppEnumVARIANT);
10601
10602    END_INTERFACE
10603} ISpeechObjectTokensVtbl;
10604interface ISpeechObjectTokens {
10605    CONST_VTBL ISpeechObjectTokensVtbl* lpVtbl;
10606};
10607
10608#ifdef COBJMACROS
10609#ifndef WIDL_C_INLINE_WRAPPERS
10610/*** IUnknown methods ***/
10611#define ISpeechObjectTokens_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10612#define ISpeechObjectTokens_AddRef(This) (This)->lpVtbl->AddRef(This)
10613#define ISpeechObjectTokens_Release(This) (This)->lpVtbl->Release(This)
10614/*** IDispatch methods ***/
10615#define ISpeechObjectTokens_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
10616#define ISpeechObjectTokens_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
10617#define ISpeechObjectTokens_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
10618#define ISpeechObjectTokens_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
10619/*** ISpeechObjectTokens methods ***/
10620#define ISpeechObjectTokens_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
10621#define ISpeechObjectTokens_Item(This,Index,Token) (This)->lpVtbl->Item(This,Index,Token)
10622#define ISpeechObjectTokens_get__NewEnum(This,ppEnumVARIANT) (This)->lpVtbl->get__NewEnum(This,ppEnumVARIANT)
10623#else
10624/*** IUnknown methods ***/
10625static FORCEINLINE HRESULT ISpeechObjectTokens_QueryInterface(ISpeechObjectTokens* This,REFIID riid,void **ppvObject) {
10626    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10627}
10628static FORCEINLINE ULONG ISpeechObjectTokens_AddRef(ISpeechObjectTokens* This) {
10629    return This->lpVtbl->AddRef(This);
10630}
10631static FORCEINLINE ULONG ISpeechObjectTokens_Release(ISpeechObjectTokens* This) {
10632    return This->lpVtbl->Release(This);
10633}
10634/*** IDispatch methods ***/
10635static FORCEINLINE HRESULT ISpeechObjectTokens_GetTypeInfoCount(ISpeechObjectTokens* This,UINT *pctinfo) {
10636    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
10637}
10638static FORCEINLINE HRESULT ISpeechObjectTokens_GetTypeInfo(ISpeechObjectTokens* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
10639    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
10640}
10641static FORCEINLINE HRESULT ISpeechObjectTokens_GetIDsOfNames(ISpeechObjectTokens* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
10642    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
10643}
10644static FORCEINLINE HRESULT ISpeechObjectTokens_Invoke(ISpeechObjectTokens* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
10645    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
10646}
10647/*** ISpeechObjectTokens methods ***/
10648static FORCEINLINE HRESULT ISpeechObjectTokens_get_Count(ISpeechObjectTokens* This,LONG *Count) {
10649    return This->lpVtbl->get_Count(This,Count);
10650}
10651static FORCEINLINE HRESULT ISpeechObjectTokens_Item(ISpeechObjectTokens* This,LONG Index,ISpeechObjectToken **Token) {
10652    return This->lpVtbl->Item(This,Index,Token);
10653}
10654static FORCEINLINE HRESULT ISpeechObjectTokens_get__NewEnum(ISpeechObjectTokens* This,IUnknown **ppEnumVARIANT) {
10655    return This->lpVtbl->get__NewEnum(This,ppEnumVARIANT);
10656}
10657#endif
10658#endif
10659
10660#endif
10661
10662HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_get_Count_Proxy(
10663    ISpeechObjectTokens* This,
10664    LONG *Count);
10665void __RPC_STUB ISpeechObjectTokens_get_Count_Stub(
10666    IRpcStubBuffer* This,
10667    IRpcChannelBuffer* pRpcChannelBuffer,
10668    PRPC_MESSAGE pRpcMessage,
10669    DWORD* pdwStubPhase);
10670HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_Item_Proxy(
10671    ISpeechObjectTokens* This,
10672    LONG Index,
10673    ISpeechObjectToken **Token);
10674void __RPC_STUB ISpeechObjectTokens_Item_Stub(
10675    IRpcStubBuffer* This,
10676    IRpcChannelBuffer* pRpcChannelBuffer,
10677    PRPC_MESSAGE pRpcMessage,
10678    DWORD* pdwStubPhase);
10679HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_get__NewEnum_Proxy(
10680    ISpeechObjectTokens* This,
10681    IUnknown **ppEnumVARIANT);
10682void __RPC_STUB ISpeechObjectTokens_get__NewEnum_Stub(
10683    IRpcStubBuffer* This,
10684    IRpcChannelBuffer* pRpcChannelBuffer,
10685    PRPC_MESSAGE pRpcMessage,
10686    DWORD* pdwStubPhase);
10687
10688#endif  /* __ISpeechObjectTokens_INTERFACE_DEFINED__ */
10689
10690/*****************************************************************************
10691 * ISpeechObjectTokenCategory interface
10692 */
10693#ifndef __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
10694#define __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
10695
10696DEFINE_GUID(IID_ISpeechObjectTokenCategory, 0xca7eac50, 0x2d01, 0x4145, 0x86,0xd4, 0x5a,0xe7,0xd7,0x0f,0x44,0x69);
10697#if defined(__cplusplus) && !defined(CINTERFACE)
10698MIDL_INTERFACE("ca7eac50-2d01-4145-86d4-5ae7d70f4469")
10699ISpeechObjectTokenCategory : public IDispatch
10700{
10701    virtual HRESULT STDMETHODCALLTYPE get_Id(
10702        BSTR *Id) = 0;
10703
10704    virtual HRESULT STDMETHODCALLTYPE put_Default(
10705        const BSTR TokenId) = 0;
10706
10707    virtual HRESULT STDMETHODCALLTYPE get_Default(
10708        BSTR *TokenId) = 0;
10709
10710    virtual HRESULT STDMETHODCALLTYPE SetId(
10711        const BSTR Id,
10712        VARIANT_BOOL CreateIfNotExist = 0) = 0;
10713
10714    virtual HRESULT STDMETHODCALLTYPE GetDataKey(
10715        SpeechDataKeyLocation Location,
10716        ISpeechDataKey **DataKey) = 0;
10717
10718    virtual HRESULT STDMETHODCALLTYPE EnumerateTokens(
10719        BSTR RequiredAttributes,
10720        BSTR OptionalAttributes,
10721        ISpeechObjectTokens **Tokens) = 0;
10722
10723};
10724#ifdef __CRT_UUID_DECL
10725__CRT_UUID_DECL(ISpeechObjectTokenCategory, 0xca7eac50, 0x2d01, 0x4145, 0x86,0xd4, 0x5a,0xe7,0xd7,0x0f,0x44,0x69)
10726#endif
10727#else
10728typedef struct ISpeechObjectTokenCategoryVtbl {
10729    BEGIN_INTERFACE
10730
10731    /*** IUnknown methods ***/
10732    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
10733        ISpeechObjectTokenCategory* This,
10734        REFIID riid,
10735        void **ppvObject);
10736
10737    ULONG (STDMETHODCALLTYPE *AddRef)(
10738        ISpeechObjectTokenCategory* This);
10739
10740    ULONG (STDMETHODCALLTYPE *Release)(
10741        ISpeechObjectTokenCategory* This);
10742
10743    /*** IDispatch methods ***/
10744    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
10745        ISpeechObjectTokenCategory* This,
10746        UINT *pctinfo);
10747
10748    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
10749        ISpeechObjectTokenCategory* This,
10750        UINT iTInfo,
10751        LCID lcid,
10752        ITypeInfo **ppTInfo);
10753
10754    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
10755        ISpeechObjectTokenCategory* This,
10756        REFIID riid,
10757        LPOLESTR *rgszNames,
10758        UINT cNames,
10759        LCID lcid,
10760        DISPID *rgDispId);
10761
10762    HRESULT (STDMETHODCALLTYPE *Invoke)(
10763        ISpeechObjectTokenCategory* This,
10764        DISPID dispIdMember,
10765        REFIID riid,
10766        LCID lcid,
10767        WORD wFlags,
10768        DISPPARAMS *pDispParams,
10769        VARIANT *pVarResult,
10770        EXCEPINFO *pExcepInfo,
10771        UINT *puArgErr);
10772
10773    /*** ISpeechObjectTokenCategory methods ***/
10774    HRESULT (STDMETHODCALLTYPE *get_Id)(
10775        ISpeechObjectTokenCategory* This,
10776        BSTR *Id);
10777
10778    HRESULT (STDMETHODCALLTYPE *put_Default)(
10779        ISpeechObjectTokenCategory* This,
10780        const BSTR TokenId);
10781
10782    HRESULT (STDMETHODCALLTYPE *get_Default)(
10783        ISpeechObjectTokenCategory* This,
10784        BSTR *TokenId);
10785
10786    HRESULT (STDMETHODCALLTYPE *SetId)(
10787        ISpeechObjectTokenCategory* This,
10788        const BSTR Id,
10789        VARIANT_BOOL CreateIfNotExist);
10790
10791    HRESULT (STDMETHODCALLTYPE *GetDataKey)(
10792        ISpeechObjectTokenCategory* This,
10793        SpeechDataKeyLocation Location,
10794        ISpeechDataKey **DataKey);
10795
10796    HRESULT (STDMETHODCALLTYPE *EnumerateTokens)(
10797        ISpeechObjectTokenCategory* This,
10798        BSTR RequiredAttributes,
10799        BSTR OptionalAttributes,
10800        ISpeechObjectTokens **Tokens);
10801
10802    END_INTERFACE
10803} ISpeechObjectTokenCategoryVtbl;
10804interface ISpeechObjectTokenCategory {
10805    CONST_VTBL ISpeechObjectTokenCategoryVtbl* lpVtbl;
10806};
10807
10808#ifdef COBJMACROS
10809#ifndef WIDL_C_INLINE_WRAPPERS
10810/*** IUnknown methods ***/
10811#define ISpeechObjectTokenCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
10812#define ISpeechObjectTokenCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
10813#define ISpeechObjectTokenCategory_Release(This) (This)->lpVtbl->Release(This)
10814/*** IDispatch methods ***/
10815#define ISpeechObjectTokenCategory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
10816#define ISpeechObjectTokenCategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
10817#define ISpeechObjectTokenCategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
10818#define ISpeechObjectTokenCategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
10819/*** ISpeechObjectTokenCategory methods ***/
10820#define ISpeechObjectTokenCategory_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
10821#define ISpeechObjectTokenCategory_put_Default(This,TokenId) (This)->lpVtbl->put_Default(This,TokenId)
10822#define ISpeechObjectTokenCategory_get_Default(This,TokenId) (This)->lpVtbl->get_Default(This,TokenId)
10823#define ISpeechObjectTokenCategory_SetId(This,Id,CreateIfNotExist) (This)->lpVtbl->SetId(This,Id,CreateIfNotExist)
10824#define ISpeechObjectTokenCategory_GetDataKey(This,Location,DataKey) (This)->lpVtbl->GetDataKey(This,Location,DataKey)
10825#define ISpeechObjectTokenCategory_EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens) (This)->lpVtbl->EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens)
10826#else
10827/*** IUnknown methods ***/
10828static FORCEINLINE HRESULT ISpeechObjectTokenCategory_QueryInterface(ISpeechObjectTokenCategory* This,REFIID riid,void **ppvObject) {
10829    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
10830}
10831static FORCEINLINE ULONG ISpeechObjectTokenCategory_AddRef(ISpeechObjectTokenCategory* This) {
10832    return This->lpVtbl->AddRef(This);
10833}
10834static FORCEINLINE ULONG ISpeechObjectTokenCategory_Release(ISpeechObjectTokenCategory* This) {
10835    return This->lpVtbl->Release(This);
10836}
10837/*** IDispatch methods ***/
10838static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetTypeInfoCount(ISpeechObjectTokenCategory* This,UINT *pctinfo) {
10839    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
10840}
10841static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetTypeInfo(ISpeechObjectTokenCategory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
10842    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
10843}
10844static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetIDsOfNames(ISpeechObjectTokenCategory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
10845    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
10846}
10847static FORCEINLINE HRESULT ISpeechObjectTokenCategory_Invoke(ISpeechObjectTokenCategory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
10848    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
10849}
10850/*** ISpeechObjectTokenCategory methods ***/
10851static FORCEINLINE HRESULT ISpeechObjectTokenCategory_get_Id(ISpeechObjectTokenCategory* This,BSTR *Id) {
10852    return This->lpVtbl->get_Id(This,Id);
10853}
10854static FORCEINLINE HRESULT ISpeechObjectTokenCategory_put_Default(ISpeechObjectTokenCategory* This,const BSTR TokenId) {
10855    return This->lpVtbl->put_Default(This,TokenId);
10856}
10857static FORCEINLINE HRESULT ISpeechObjectTokenCategory_get_Default(ISpeechObjectTokenCategory* This,BSTR *TokenId) {
10858    return This->lpVtbl->get_Default(This,TokenId);
10859}
10860static FORCEINLINE HRESULT ISpeechObjectTokenCategory_SetId(ISpeechObjectTokenCategory* This,const BSTR Id,VARIANT_BOOL CreateIfNotExist) {
10861    return This->lpVtbl->SetId(This,Id,CreateIfNotExist);
10862}
10863static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetDataKey(ISpeechObjectTokenCategory* This,SpeechDataKeyLocation Location,ISpeechDataKey **DataKey) {
10864    return This->lpVtbl->GetDataKey(This,Location,DataKey);
10865}
10866static FORCEINLINE HRESULT ISpeechObjectTokenCategory_EnumerateTokens(ISpeechObjectTokenCategory* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **Tokens) {
10867    return This->lpVtbl->EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens);
10868}
10869#endif
10870#endif
10871
10872#endif
10873
10874HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_get_Id_Proxy(
10875    ISpeechObjectTokenCategory* This,
10876    BSTR *Id);
10877void __RPC_STUB ISpeechObjectTokenCategory_get_Id_Stub(
10878    IRpcStubBuffer* This,
10879    IRpcChannelBuffer* pRpcChannelBuffer,
10880    PRPC_MESSAGE pRpcMessage,
10881    DWORD* pdwStubPhase);
10882HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_put_Default_Proxy(
10883    ISpeechObjectTokenCategory* This,
10884    const BSTR TokenId);
10885void __RPC_STUB ISpeechObjectTokenCategory_put_Default_Stub(
10886    IRpcStubBuffer* This,
10887    IRpcChannelBuffer* pRpcChannelBuffer,
10888    PRPC_MESSAGE pRpcMessage,
10889    DWORD* pdwStubPhase);
10890HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_get_Default_Proxy(
10891    ISpeechObjectTokenCategory* This,
10892    BSTR *TokenId);
10893void __RPC_STUB ISpeechObjectTokenCategory_get_Default_Stub(
10894    IRpcStubBuffer* This,
10895    IRpcChannelBuffer* pRpcChannelBuffer,
10896    PRPC_MESSAGE pRpcMessage,
10897    DWORD* pdwStubPhase);
10898HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_SetId_Proxy(
10899    ISpeechObjectTokenCategory* This,
10900    const BSTR Id,
10901    VARIANT_BOOL CreateIfNotExist);
10902void __RPC_STUB ISpeechObjectTokenCategory_SetId_Stub(
10903    IRpcStubBuffer* This,
10904    IRpcChannelBuffer* pRpcChannelBuffer,
10905    PRPC_MESSAGE pRpcMessage,
10906    DWORD* pdwStubPhase);
10907HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_GetDataKey_Proxy(
10908    ISpeechObjectTokenCategory* This,
10909    SpeechDataKeyLocation Location,
10910    ISpeechDataKey **DataKey);
10911void __RPC_STUB ISpeechObjectTokenCategory_GetDataKey_Stub(
10912    IRpcStubBuffer* This,
10913    IRpcChannelBuffer* pRpcChannelBuffer,
10914    PRPC_MESSAGE pRpcMessage,
10915    DWORD* pdwStubPhase);
10916HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_EnumerateTokens_Proxy(
10917    ISpeechObjectTokenCategory* This,
10918    BSTR RequiredAttributes,
10919    BSTR OptionalAttributes,
10920    ISpeechObjectTokens **Tokens);
10921void __RPC_STUB ISpeechObjectTokenCategory_EnumerateTokens_Stub(
10922    IRpcStubBuffer* This,
10923    IRpcChannelBuffer* pRpcChannelBuffer,
10924    PRPC_MESSAGE pRpcMessage,
10925    DWORD* pdwStubPhase);
10926
10927#endif  /* __ISpeechObjectTokenCategory_INTERFACE_DEFINED__ */
10928
10929typedef enum SpeechAudioFormatType {
10930    SAFTDefault = -1,
10931    SAFTNoAssignedFormat = 0,
10932    SAFTText = 1,
10933    SAFTNonStandardFormat = 2,
10934    SAFTExtendedAudioFormat = 3,
10935    SAFT8kHz8BitMono = 4,
10936    SAFT8kHz8BitStereo = 5,
10937    SAFT8kHz16BitMono = 6,
10938    SAFT8kHz16BitStereo = 7,
10939    SAFT11kHz8BitMono = 8,
10940    SAFT11kHz8BitStereo = 9,
10941    SAFT11kHz16BitMono = 10,
10942    SAFT11kHz16BitStereo = 11,
10943    SAFT12kHz8BitMono = 12,
10944    SAFT12kHz8BitStereo = 13,
10945    SAFT12kHz16BitMono = 14,
10946    SAFT12kHz16BitStereo = 15,
10947    SAFT16kHz8BitMono = 16,
10948    SAFT16kHz8BitStereo = 17,
10949    SAFT16kHz16BitMono = 18,
10950    SAFT16kHz16BitStereo = 19,
10951    SAFT22kHz8BitMono = 20,
10952    SAFT22kHz8BitStereo = 21,
10953    SAFT22kHz16BitMono = 22,
10954    SAFT22kHz16BitStereo = 23,
10955    SAFT24kHz8BitMono = 24,
10956    SAFT24kHz8BitStereo = 25,
10957    SAFT24kHz16BitMono = 26,
10958    SAFT24kHz16BitStereo = 27,
10959    SAFT32kHz8BitMono = 28,
10960    SAFT32kHz8BitStereo = 29,
10961    SAFT32kHz16BitMono = 30,
10962    SAFT32kHz16BitStereo = 31,
10963    SAFT44kHz8BitMono = 32,
10964    SAFT44kHz8BitStereo = 33,
10965    SAFT44kHz16BitMono = 34,
10966    SAFT44kHz16BitStereo = 35,
10967    SAFT48kHz8BitMono = 36,
10968    SAFT48kHz8BitStereo = 37,
10969    SAFT48kHz16BitMono = 38,
10970    SAFT48kHz16BitStereo = 39,
10971    SAFTTrueSpeech_8kHz1BitMono = 40,
10972    SAFTCCITT_ALaw_8kHzMono = 41,
10973    SAFTCCITT_ALaw_8kHzStereo = 42,
10974    SAFTCCITT_ALaw_11kHzMono = 43,
10975    SAFTCCITT_ALaw_11kHzStereo = 44,
10976    SAFTCCITT_ALaw_22kHzMono = 45,
10977    SAFTCCITT_ALaw_22kHzStereo = 46,
10978    SAFTCCITT_ALaw_44kHzMono = 47,
10979    SAFTCCITT_ALaw_44kHzStereo = 48,
10980    SAFTCCITT_uLaw_8kHzMono = 49,
10981    SAFTCCITT_uLaw_8kHzStereo = 50,
10982    SAFTCCITT_uLaw_11kHzMono = 51,
10983    SAFTCCITT_uLaw_11kHzStereo = 52,
10984    SAFTCCITT_uLaw_22kHzMono = 53,
10985    SAFTCCITT_uLaw_22kHzStereo = 54,
10986    SAFTCCITT_uLaw_44kHzMono = 55,
10987    SAFTCCITT_uLaw_44kHzStereo = 56,
10988    SAFTADPCM_8kHzMono = 57,
10989    SAFTADPCM_8kHzStereo = 58,
10990    SAFTADPCM_11kHzMono = 59,
10991    SAFTADPCM_11kHzStereo = 60,
10992    SAFTADPCM_22kHzMono = 61,
10993    SAFTADPCM_22kHzStereo = 62,
10994    SAFTADPCM_44kHzMono = 63,
10995    SAFTADPCM_44kHzStereo = 64,
10996    SAFTGSM610_8kHzMono = 65,
10997    SAFTGSM610_11kHzMono = 66,
10998    SAFTGSM610_22kHzMono = 67,
10999    SAFTGSM610_44kHzMono = 68
11000} SpeechAudioFormatType;
11001typedef enum DISPID_SpeechAudioFormat {
11002    DISPID_SAFType = 1,
11003    DISPID_SAFGuid = 2,
11004    DISPID_SAFGetWaveFormatEx = 3,
11005    DISPID_SAFSetWaveFormatEx = 4
11006} DISPID_SpeechAudioFormat;
11007typedef enum DISPID_SpeechBaseStream {
11008    DISPID_SBSFormat = 1,
11009    DISPID_SBSRead = 2,
11010    DISPID_SBSWrite = 3,
11011    DISPID_SBSSeek = 4
11012} DISPID_SpeechBaseStream;
11013typedef enum SpeechStreamSeekPositionType {
11014    SSSPTRelativeToStart = STREAM_SEEK_SET,
11015    SSSPTRelativeToCurrentPosition = STREAM_SEEK_CUR,
11016    SSSPTRelativeToEnd = STREAM_SEEK_END
11017} SpeechStreamSeekPositionType;
11018typedef enum DISPID_SpeechAudio {
11019    DISPID_SAStatus = 200,
11020    DISPID_SABufferInfo = 201,
11021    DISPID_SADefaultFormat = 202,
11022    DISPID_SAVolume = 203,
11023    DISPID_SABufferNotifySize = 204,
11024    DISPID_SAEventHandle = 205,
11025    DISPID_SASetState = 206
11026} DISPID_SpeechAudio;
11027typedef enum SpeechAudioState {
11028    SASClosed = SPAS_CLOSED,
11029    SASStop = SPAS_STOP,
11030    SASPause = SPAS_PAUSE,
11031    SASRun = SPAS_RUN
11032} SpeechAudioState;
11033typedef enum DISPID_SpeechMMSysAudio {
11034    DISPID_SMSADeviceId = 300,
11035    DISPID_SMSALineId = 301,
11036    DISPID_SMSAMMHandle = 302
11037} DISPID_SpeechMMSysAudio;
11038typedef enum DISPID_SpeechFileStream {
11039    DISPID_SFSOpen = 100,
11040    DISPID_SFSClose = 101
11041} DISPID_SpeechFileStream;
11042typedef enum SpeechStreamFileMode {
11043    SSFMOpenForRead = SPFM_OPEN_READONLY,
11044    SSFMOpenReadWrite = SPFM_OPEN_READWRITE,
11045    SSFMCreate = SPFM_CREATE,
11046    SSFMCreateForWrite = SPFM_CREATE_ALWAYS
11047} SpeechStreamFileMode;
11048typedef enum DISPID_SpeechCustomStream {
11049    DISPID_SCSBaseStream = 100
11050} DISPID_SpeechCustomStream;
11051typedef enum DISPID_SpeechMemoryStream {
11052    DISPID_SMSSetData = 100,
11053    DISPID_SMSGetData = 101
11054} DISPID_SpeechMemoryStream;
11055typedef enum DISPID_SpeechAudioStatus {
11056    DISPID_SASFreeBufferSpace = 1,
11057    DISPID_SASNonBlockingIO = 2,
11058    DISPID_SASState = 3,
11059    DISPID_SASCurrentSeekPosition = 4,
11060    DISPID_SASCurrentDevicePosition = 5
11061} DISPID_SpeechAudioStatus;
11062typedef enum DISPID_SpeechAudioBufferInfo {
11063    DISPID_SABIMinNotification = 1,
11064    DISPID_SABIBufferSize = 2,
11065    DISPID_SABIEventBias = 3
11066} DISPID_SpeechAudioBufferInfo;
11067typedef enum DISPID_SpeechWaveFormatEx {
11068    DISPID_SWFEFormatTag = 1,
11069    DISPID_SWFEChannels = 2,
11070    DISPID_SWFESamplesPerSec = 3,
11071    DISPID_SWFEAvgBytesPerSec = 4,
11072    DISPID_SWFEBlockAlign = 5,
11073    DISPID_SWFEBitsPerSample = 6,
11074    DISPID_SWFEExtraData = 7
11075} DISPID_SpeechWaveFormatEx;
11076typedef enum DISPID_SpeechVoice {
11077    DISPID_SVStatus = 1,
11078    DISPID_SVVoice = 2,
11079    DISPID_SVAudioOutput = 3,
11080    DISPID_SVAudioOutputStream = 4,
11081    DISPID_SVRate = 5,
11082    DISPID_SVVolume = 6,
11083    DISPID_SVAllowAudioOuputFormatChangesOnNextSet = 7,
11084    DISPID_SVEventInterests = 8,
11085    DISPID_SVPriority = 9,
11086    DISPID_SVAlertBoundary = 10,
11087    DISPID_SVSyncronousSpeakTimeout = 11,
11088    DISPID_SVSpeak = 12,
11089    DISPID_SVSpeakStream = 13,
11090    DISPID_SVPause = 14,
11091    DISPID_SVResume = 15,
11092    DISPID_SVSkip = 16,
11093    DISPID_SVGetVoices = 17,
11094    DISPID_SVGetAudioOutputs = 18,
11095    DISPID_SVWaitUntilDone = 19,
11096    DISPID_SVSpeakCompleteEvent = 20,
11097    DISPID_SVIsUISupported = 21,
11098    DISPID_SVDisplayUI = 22
11099} DISPID_SpeechVoice;
11100typedef enum SpeechVoicePriority {
11101    SVPNormal = SPVPRI_NORMAL,
11102    SVPAlert = SPVPRI_ALERT,
11103    SVPOver = SPVPRI_OVER
11104} SpeechVoicePriority;
11105typedef enum SpeechVoiceSpeakFlags {
11106    SVSFDefault = SPF_DEFAULT,
11107    SVSFlagsAsync = SPF_ASYNC,
11108    SVSFPurgeBeforeSpeak = SPF_PURGEBEFORESPEAK,
11109    SVSFIsFilename = SPF_IS_FILENAME,
11110    SVSFIsXML = SPF_IS_XML,
11111    SVSFIsNotXML = SPF_IS_NOT_XML,
11112    SVSFPersistXML = SPF_PERSIST_XML,
11113    SVSFNLPSpeakPunc = SPF_NLP_SPEAK_PUNC,
11114    SVSFNLPMask = SPF_NLP_MASK,
11115    SVSFVoiceMask = SPF_VOICE_MASK,
11116    SVSFUnusedFlags = SPF_UNUSED_FLAGS
11117} SpeechVoiceSpeakFlags;
11118typedef enum SpeechVoiceEvents {
11119    SVEStartInputStream = 0x2,
11120    SVEEndInputStream = 0x4,
11121    SVEVoiceChange = 0x8,
11122    SVEBookmark = 0x10,
11123    SVEWordBoundary = 0x20,
11124    SVEPhoneme = 0x40,
11125    SVESentenceBoundary = 0x80,
11126    SVEViseme = 0x100,
11127    SVEAudioLevel = 0x200,
11128    SVEPrivate = 0x8000,
11129    SVEAllEvents = 0x83fe
11130} SpeechVoiceEvents;
11131typedef enum DISPID_SpeechVoiceStatus {
11132    DISPID_SVSCurrentStreamNumber = 1,
11133    DISPID_SVSLastStreamNumberQueued = 2,
11134    DISPID_SVSLastResult = 3,
11135    DISPID_SVSRunningState = 4,
11136    DISPID_SVSInputWordPosition = 5,
11137    DISPID_SVSInputWordLength = 6,
11138    DISPID_SVSInputSentencePosition = 7,
11139    DISPID_SVSInputSentenceLength = 8,
11140    DISPID_SVSLastBookmark = 9,
11141    DISPID_SVSLastBookmarkId = 10,
11142    DISPID_SVSPhonemeId = 11,
11143    DISPID_SVSVisemeId = 12
11144} DISPID_SpeechVoiceStatus;
11145typedef enum SpeechRunState {
11146    SRSEDone = SPRS_DONE,
11147    SRSEIsSpeaking = SPRS_IS_SPEAKING
11148} SpeechRunState;
11149/*****************************************************************************
11150 * ISpeechAudioFormat interface
11151 */
11152#ifndef __ISpeechAudioFormat_INTERFACE_DEFINED__
11153#define __ISpeechAudioFormat_INTERFACE_DEFINED__
11154
11155DEFINE_GUID(IID_ISpeechAudioFormat, 0xe6e9c590, 0x3e18, 0x40e3, 0x82,0x99, 0x06,0x1f,0x98,0xbd,0xe7,0xc7);
11156#if defined(__cplusplus) && !defined(CINTERFACE)
11157MIDL_INTERFACE("e6e9c590-3e18-40e3-8299-061f98bde7c7")
11158ISpeechAudioFormat : public IDispatch
11159{
11160    virtual HRESULT STDMETHODCALLTYPE get_Type(
11161        SpeechAudioFormatType *AudioFormat) = 0;
11162
11163    virtual HRESULT STDMETHODCALLTYPE put_Type(
11164        SpeechAudioFormatType AudioFormat) = 0;
11165
11166    virtual HRESULT STDMETHODCALLTYPE get_Guid(
11167        BSTR *Guid) = 0;
11168
11169    virtual HRESULT STDMETHODCALLTYPE put_Guid(
11170        BSTR Guid) = 0;
11171
11172    virtual HRESULT STDMETHODCALLTYPE GetWaveFormatEx(
11173        ISpeechWaveFormatEx **SpeechWaveFormatEx) = 0;
11174
11175    virtual HRESULT STDMETHODCALLTYPE SetWaveFormatEx(
11176        ISpeechWaveFormatEx *SpeechWaveFormatEx) = 0;
11177
11178};
11179#ifdef __CRT_UUID_DECL
11180__CRT_UUID_DECL(ISpeechAudioFormat, 0xe6e9c590, 0x3e18, 0x40e3, 0x82,0x99, 0x06,0x1f,0x98,0xbd,0xe7,0xc7)
11181#endif
11182#else
11183typedef struct ISpeechAudioFormatVtbl {
11184    BEGIN_INTERFACE
11185
11186    /*** IUnknown methods ***/
11187    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11188        ISpeechAudioFormat* This,
11189        REFIID riid,
11190        void **ppvObject);
11191
11192    ULONG (STDMETHODCALLTYPE *AddRef)(
11193        ISpeechAudioFormat* This);
11194
11195    ULONG (STDMETHODCALLTYPE *Release)(
11196        ISpeechAudioFormat* This);
11197
11198    /*** IDispatch methods ***/
11199    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
11200        ISpeechAudioFormat* This,
11201        UINT *pctinfo);
11202
11203    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
11204        ISpeechAudioFormat* This,
11205        UINT iTInfo,
11206        LCID lcid,
11207        ITypeInfo **ppTInfo);
11208
11209    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
11210        ISpeechAudioFormat* This,
11211        REFIID riid,
11212        LPOLESTR *rgszNames,
11213        UINT cNames,
11214        LCID lcid,
11215        DISPID *rgDispId);
11216
11217    HRESULT (STDMETHODCALLTYPE *Invoke)(
11218        ISpeechAudioFormat* This,
11219        DISPID dispIdMember,
11220        REFIID riid,
11221        LCID lcid,
11222        WORD wFlags,
11223        DISPPARAMS *pDispParams,
11224        VARIANT *pVarResult,
11225        EXCEPINFO *pExcepInfo,
11226        UINT *puArgErr);
11227
11228    /*** ISpeechAudioFormat methods ***/
11229    HRESULT (STDMETHODCALLTYPE *get_Type)(
11230        ISpeechAudioFormat* This,
11231        SpeechAudioFormatType *AudioFormat);
11232
11233    HRESULT (STDMETHODCALLTYPE *put_Type)(
11234        ISpeechAudioFormat* This,
11235        SpeechAudioFormatType AudioFormat);
11236
11237    HRESULT (STDMETHODCALLTYPE *get_Guid)(
11238        ISpeechAudioFormat* This,
11239        BSTR *Guid);
11240
11241    HRESULT (STDMETHODCALLTYPE *put_Guid)(
11242        ISpeechAudioFormat* This,
11243        BSTR Guid);
11244
11245    HRESULT (STDMETHODCALLTYPE *GetWaveFormatEx)(
11246        ISpeechAudioFormat* This,
11247        ISpeechWaveFormatEx **SpeechWaveFormatEx);
11248
11249    HRESULT (STDMETHODCALLTYPE *SetWaveFormatEx)(
11250        ISpeechAudioFormat* This,
11251        ISpeechWaveFormatEx *SpeechWaveFormatEx);
11252
11253    END_INTERFACE
11254} ISpeechAudioFormatVtbl;
11255interface ISpeechAudioFormat {
11256    CONST_VTBL ISpeechAudioFormatVtbl* lpVtbl;
11257};
11258
11259#ifdef COBJMACROS
11260#ifndef WIDL_C_INLINE_WRAPPERS
11261/*** IUnknown methods ***/
11262#define ISpeechAudioFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11263#define ISpeechAudioFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
11264#define ISpeechAudioFormat_Release(This) (This)->lpVtbl->Release(This)
11265/*** IDispatch methods ***/
11266#define ISpeechAudioFormat_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
11267#define ISpeechAudioFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
11268#define ISpeechAudioFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
11269#define ISpeechAudioFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
11270/*** ISpeechAudioFormat methods ***/
11271#define ISpeechAudioFormat_get_Type(This,AudioFormat) (This)->lpVtbl->get_Type(This,AudioFormat)
11272#define ISpeechAudioFormat_put_Type(This,AudioFormat) (This)->lpVtbl->put_Type(This,AudioFormat)
11273#define ISpeechAudioFormat_get_Guid(This,Guid) (This)->lpVtbl->get_Guid(This,Guid)
11274#define ISpeechAudioFormat_put_Guid(This,Guid) (This)->lpVtbl->put_Guid(This,Guid)
11275#define ISpeechAudioFormat_GetWaveFormatEx(This,SpeechWaveFormatEx) (This)->lpVtbl->GetWaveFormatEx(This,SpeechWaveFormatEx)
11276#define ISpeechAudioFormat_SetWaveFormatEx(This,SpeechWaveFormatEx) (This)->lpVtbl->SetWaveFormatEx(This,SpeechWaveFormatEx)
11277#else
11278/*** IUnknown methods ***/
11279static FORCEINLINE HRESULT ISpeechAudioFormat_QueryInterface(ISpeechAudioFormat* This,REFIID riid,void **ppvObject) {
11280    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11281}
11282static FORCEINLINE ULONG ISpeechAudioFormat_AddRef(ISpeechAudioFormat* This) {
11283    return This->lpVtbl->AddRef(This);
11284}
11285static FORCEINLINE ULONG ISpeechAudioFormat_Release(ISpeechAudioFormat* This) {
11286    return This->lpVtbl->Release(This);
11287}
11288/*** IDispatch methods ***/
11289static FORCEINLINE HRESULT ISpeechAudioFormat_GetTypeInfoCount(ISpeechAudioFormat* This,UINT *pctinfo) {
11290    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
11291}
11292static FORCEINLINE HRESULT ISpeechAudioFormat_GetTypeInfo(ISpeechAudioFormat* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
11293    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
11294}
11295static FORCEINLINE HRESULT ISpeechAudioFormat_GetIDsOfNames(ISpeechAudioFormat* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
11296    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
11297}
11298static FORCEINLINE HRESULT ISpeechAudioFormat_Invoke(ISpeechAudioFormat* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
11299    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
11300}
11301/*** ISpeechAudioFormat methods ***/
11302static FORCEINLINE HRESULT ISpeechAudioFormat_get_Type(ISpeechAudioFormat* This,SpeechAudioFormatType *AudioFormat) {
11303    return This->lpVtbl->get_Type(This,AudioFormat);
11304}
11305static FORCEINLINE HRESULT ISpeechAudioFormat_put_Type(ISpeechAudioFormat* This,SpeechAudioFormatType AudioFormat) {
11306    return This->lpVtbl->put_Type(This,AudioFormat);
11307}
11308static FORCEINLINE HRESULT ISpeechAudioFormat_get_Guid(ISpeechAudioFormat* This,BSTR *Guid) {
11309    return This->lpVtbl->get_Guid(This,Guid);
11310}
11311static FORCEINLINE HRESULT ISpeechAudioFormat_put_Guid(ISpeechAudioFormat* This,BSTR Guid) {
11312    return This->lpVtbl->put_Guid(This,Guid);
11313}
11314static FORCEINLINE HRESULT ISpeechAudioFormat_GetWaveFormatEx(ISpeechAudioFormat* This,ISpeechWaveFormatEx **SpeechWaveFormatEx) {
11315    return This->lpVtbl->GetWaveFormatEx(This,SpeechWaveFormatEx);
11316}
11317static FORCEINLINE HRESULT ISpeechAudioFormat_SetWaveFormatEx(ISpeechAudioFormat* This,ISpeechWaveFormatEx *SpeechWaveFormatEx) {
11318    return This->lpVtbl->SetWaveFormatEx(This,SpeechWaveFormatEx);
11319}
11320#endif
11321#endif
11322
11323#endif
11324
11325HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_get_Type_Proxy(
11326    ISpeechAudioFormat* This,
11327    SpeechAudioFormatType *AudioFormat);
11328void __RPC_STUB ISpeechAudioFormat_get_Type_Stub(
11329    IRpcStubBuffer* This,
11330    IRpcChannelBuffer* pRpcChannelBuffer,
11331    PRPC_MESSAGE pRpcMessage,
11332    DWORD* pdwStubPhase);
11333HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_put_Type_Proxy(
11334    ISpeechAudioFormat* This,
11335    SpeechAudioFormatType AudioFormat);
11336void __RPC_STUB ISpeechAudioFormat_put_Type_Stub(
11337    IRpcStubBuffer* This,
11338    IRpcChannelBuffer* pRpcChannelBuffer,
11339    PRPC_MESSAGE pRpcMessage,
11340    DWORD* pdwStubPhase);
11341HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_get_Guid_Proxy(
11342    ISpeechAudioFormat* This,
11343    BSTR *Guid);
11344void __RPC_STUB ISpeechAudioFormat_get_Guid_Stub(
11345    IRpcStubBuffer* This,
11346    IRpcChannelBuffer* pRpcChannelBuffer,
11347    PRPC_MESSAGE pRpcMessage,
11348    DWORD* pdwStubPhase);
11349HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_put_Guid_Proxy(
11350    ISpeechAudioFormat* This,
11351    BSTR Guid);
11352void __RPC_STUB ISpeechAudioFormat_put_Guid_Stub(
11353    IRpcStubBuffer* This,
11354    IRpcChannelBuffer* pRpcChannelBuffer,
11355    PRPC_MESSAGE pRpcMessage,
11356    DWORD* pdwStubPhase);
11357HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_GetWaveFormatEx_Proxy(
11358    ISpeechAudioFormat* This,
11359    ISpeechWaveFormatEx **SpeechWaveFormatEx);
11360void __RPC_STUB ISpeechAudioFormat_GetWaveFormatEx_Stub(
11361    IRpcStubBuffer* This,
11362    IRpcChannelBuffer* pRpcChannelBuffer,
11363    PRPC_MESSAGE pRpcMessage,
11364    DWORD* pdwStubPhase);
11365HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_SetWaveFormatEx_Proxy(
11366    ISpeechAudioFormat* This,
11367    ISpeechWaveFormatEx *SpeechWaveFormatEx);
11368void __RPC_STUB ISpeechAudioFormat_SetWaveFormatEx_Stub(
11369    IRpcStubBuffer* This,
11370    IRpcChannelBuffer* pRpcChannelBuffer,
11371    PRPC_MESSAGE pRpcMessage,
11372    DWORD* pdwStubPhase);
11373
11374#endif  /* __ISpeechAudioFormat_INTERFACE_DEFINED__ */
11375
11376/*****************************************************************************
11377 * ISpeechBaseStream interface
11378 */
11379#ifndef __ISpeechBaseStream_INTERFACE_DEFINED__
11380#define __ISpeechBaseStream_INTERFACE_DEFINED__
11381
11382DEFINE_GUID(IID_ISpeechBaseStream, 0x6450336f, 0x7d49, 0x4ced, 0x80,0x97, 0x49,0xd6,0xde,0xe3,0x72,0x94);
11383#if defined(__cplusplus) && !defined(CINTERFACE)
11384MIDL_INTERFACE("6450336f-7d49-4ced-8097-49d6dee37294")
11385ISpeechBaseStream : public IDispatch
11386{
11387    virtual HRESULT STDMETHODCALLTYPE get_Format(
11388        ISpeechAudioFormat **AudioFormat) = 0;
11389
11390    virtual HRESULT STDMETHODCALLTYPE putref_Format(
11391        ISpeechAudioFormat *AudioFormat) = 0;
11392
11393    virtual HRESULT STDMETHODCALLTYPE Read(
11394        VARIANT *Buffer,
11395        LONG NumberOfBytes,
11396        LONG *BytesRead) = 0;
11397
11398    virtual HRESULT STDMETHODCALLTYPE Write(
11399        VARIANT Buffer,
11400        LONG *BytesWritten) = 0;
11401
11402    virtual HRESULT STDMETHODCALLTYPE Seek(
11403        VARIANT Position,
11404        SpeechStreamSeekPositionType Origin,
11405        VARIANT *NewPosition) = 0;
11406
11407};
11408#ifdef __CRT_UUID_DECL
11409__CRT_UUID_DECL(ISpeechBaseStream, 0x6450336f, 0x7d49, 0x4ced, 0x80,0x97, 0x49,0xd6,0xde,0xe3,0x72,0x94)
11410#endif
11411#else
11412typedef struct ISpeechBaseStreamVtbl {
11413    BEGIN_INTERFACE
11414
11415    /*** IUnknown methods ***/
11416    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11417        ISpeechBaseStream* This,
11418        REFIID riid,
11419        void **ppvObject);
11420
11421    ULONG (STDMETHODCALLTYPE *AddRef)(
11422        ISpeechBaseStream* This);
11423
11424    ULONG (STDMETHODCALLTYPE *Release)(
11425        ISpeechBaseStream* This);
11426
11427    /*** IDispatch methods ***/
11428    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
11429        ISpeechBaseStream* This,
11430        UINT *pctinfo);
11431
11432    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
11433        ISpeechBaseStream* This,
11434        UINT iTInfo,
11435        LCID lcid,
11436        ITypeInfo **ppTInfo);
11437
11438    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
11439        ISpeechBaseStream* This,
11440        REFIID riid,
11441        LPOLESTR *rgszNames,
11442        UINT cNames,
11443        LCID lcid,
11444        DISPID *rgDispId);
11445
11446    HRESULT (STDMETHODCALLTYPE *Invoke)(
11447        ISpeechBaseStream* This,
11448        DISPID dispIdMember,
11449        REFIID riid,
11450        LCID lcid,
11451        WORD wFlags,
11452        DISPPARAMS *pDispParams,
11453        VARIANT *pVarResult,
11454        EXCEPINFO *pExcepInfo,
11455        UINT *puArgErr);
11456
11457    /*** ISpeechBaseStream methods ***/
11458    HRESULT (STDMETHODCALLTYPE *get_Format)(
11459        ISpeechBaseStream* This,
11460        ISpeechAudioFormat **AudioFormat);
11461
11462    HRESULT (STDMETHODCALLTYPE *putref_Format)(
11463        ISpeechBaseStream* This,
11464        ISpeechAudioFormat *AudioFormat);
11465
11466    HRESULT (STDMETHODCALLTYPE *Read)(
11467        ISpeechBaseStream* This,
11468        VARIANT *Buffer,
11469        LONG NumberOfBytes,
11470        LONG *BytesRead);
11471
11472    HRESULT (STDMETHODCALLTYPE *Write)(
11473        ISpeechBaseStream* This,
11474        VARIANT Buffer,
11475        LONG *BytesWritten);
11476
11477    HRESULT (STDMETHODCALLTYPE *Seek)(
11478        ISpeechBaseStream* This,
11479        VARIANT Position,
11480        SpeechStreamSeekPositionType Origin,
11481        VARIANT *NewPosition);
11482
11483    END_INTERFACE
11484} ISpeechBaseStreamVtbl;
11485interface ISpeechBaseStream {
11486    CONST_VTBL ISpeechBaseStreamVtbl* lpVtbl;
11487};
11488
11489#ifdef COBJMACROS
11490#ifndef WIDL_C_INLINE_WRAPPERS
11491/*** IUnknown methods ***/
11492#define ISpeechBaseStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11493#define ISpeechBaseStream_AddRef(This) (This)->lpVtbl->AddRef(This)
11494#define ISpeechBaseStream_Release(This) (This)->lpVtbl->Release(This)
11495/*** IDispatch methods ***/
11496#define ISpeechBaseStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
11497#define ISpeechBaseStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
11498#define ISpeechBaseStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
11499#define ISpeechBaseStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
11500/*** ISpeechBaseStream methods ***/
11501#define ISpeechBaseStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
11502#define ISpeechBaseStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
11503#define ISpeechBaseStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
11504#define ISpeechBaseStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
11505#define ISpeechBaseStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
11506#else
11507/*** IUnknown methods ***/
11508static FORCEINLINE HRESULT ISpeechBaseStream_QueryInterface(ISpeechBaseStream* This,REFIID riid,void **ppvObject) {
11509    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11510}
11511static FORCEINLINE ULONG ISpeechBaseStream_AddRef(ISpeechBaseStream* This) {
11512    return This->lpVtbl->AddRef(This);
11513}
11514static FORCEINLINE ULONG ISpeechBaseStream_Release(ISpeechBaseStream* This) {
11515    return This->lpVtbl->Release(This);
11516}
11517/*** IDispatch methods ***/
11518static FORCEINLINE HRESULT ISpeechBaseStream_GetTypeInfoCount(ISpeechBaseStream* This,UINT *pctinfo) {
11519    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
11520}
11521static FORCEINLINE HRESULT ISpeechBaseStream_GetTypeInfo(ISpeechBaseStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
11522    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
11523}
11524static FORCEINLINE HRESULT ISpeechBaseStream_GetIDsOfNames(ISpeechBaseStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
11525    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
11526}
11527static FORCEINLINE HRESULT ISpeechBaseStream_Invoke(ISpeechBaseStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
11528    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
11529}
11530/*** ISpeechBaseStream methods ***/
11531static FORCEINLINE HRESULT ISpeechBaseStream_get_Format(ISpeechBaseStream* This,ISpeechAudioFormat **AudioFormat) {
11532    return This->lpVtbl->get_Format(This,AudioFormat);
11533}
11534static FORCEINLINE HRESULT ISpeechBaseStream_putref_Format(ISpeechBaseStream* This,ISpeechAudioFormat *AudioFormat) {
11535    return This->lpVtbl->putref_Format(This,AudioFormat);
11536}
11537static FORCEINLINE HRESULT ISpeechBaseStream_Read(ISpeechBaseStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
11538    return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
11539}
11540static FORCEINLINE HRESULT ISpeechBaseStream_Write(ISpeechBaseStream* This,VARIANT Buffer,LONG *BytesWritten) {
11541    return This->lpVtbl->Write(This,Buffer,BytesWritten);
11542}
11543static FORCEINLINE HRESULT ISpeechBaseStream_Seek(ISpeechBaseStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
11544    return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
11545}
11546#endif
11547#endif
11548
11549#endif
11550
11551HRESULT STDMETHODCALLTYPE ISpeechBaseStream_get_Format_Proxy(
11552    ISpeechBaseStream* This,
11553    ISpeechAudioFormat **AudioFormat);
11554void __RPC_STUB ISpeechBaseStream_get_Format_Stub(
11555    IRpcStubBuffer* This,
11556    IRpcChannelBuffer* pRpcChannelBuffer,
11557    PRPC_MESSAGE pRpcMessage,
11558    DWORD* pdwStubPhase);
11559HRESULT STDMETHODCALLTYPE ISpeechBaseStream_putref_Format_Proxy(
11560    ISpeechBaseStream* This,
11561    ISpeechAudioFormat *AudioFormat);
11562void __RPC_STUB ISpeechBaseStream_putref_Format_Stub(
11563    IRpcStubBuffer* This,
11564    IRpcChannelBuffer* pRpcChannelBuffer,
11565    PRPC_MESSAGE pRpcMessage,
11566    DWORD* pdwStubPhase);
11567HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Read_Proxy(
11568    ISpeechBaseStream* This,
11569    VARIANT *Buffer,
11570    LONG NumberOfBytes,
11571    LONG *BytesRead);
11572void __RPC_STUB ISpeechBaseStream_Read_Stub(
11573    IRpcStubBuffer* This,
11574    IRpcChannelBuffer* pRpcChannelBuffer,
11575    PRPC_MESSAGE pRpcMessage,
11576    DWORD* pdwStubPhase);
11577HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Write_Proxy(
11578    ISpeechBaseStream* This,
11579    VARIANT Buffer,
11580    LONG *BytesWritten);
11581void __RPC_STUB ISpeechBaseStream_Write_Stub(
11582    IRpcStubBuffer* This,
11583    IRpcChannelBuffer* pRpcChannelBuffer,
11584    PRPC_MESSAGE pRpcMessage,
11585    DWORD* pdwStubPhase);
11586HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Seek_Proxy(
11587    ISpeechBaseStream* This,
11588    VARIANT Position,
11589    SpeechStreamSeekPositionType Origin,
11590    VARIANT *NewPosition);
11591void __RPC_STUB ISpeechBaseStream_Seek_Stub(
11592    IRpcStubBuffer* This,
11593    IRpcChannelBuffer* pRpcChannelBuffer,
11594    PRPC_MESSAGE pRpcMessage,
11595    DWORD* pdwStubPhase);
11596
11597#endif  /* __ISpeechBaseStream_INTERFACE_DEFINED__ */
11598
11599/*****************************************************************************
11600 * ISpeechAudio interface
11601 */
11602#ifndef __ISpeechAudio_INTERFACE_DEFINED__
11603#define __ISpeechAudio_INTERFACE_DEFINED__
11604
11605DEFINE_GUID(IID_ISpeechAudio, 0xcff8e175, 0x019e, 0x11d3, 0xa0,0x8e, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5);
11606#if defined(__cplusplus) && !defined(CINTERFACE)
11607MIDL_INTERFACE("cff8e175-019e-11d3-a08e-00c04f8ef9b5")
11608ISpeechAudio : public ISpeechBaseStream
11609{
11610    virtual HRESULT STDMETHODCALLTYPE get_Status(
11611        ISpeechAudioStatus **Status) = 0;
11612
11613    virtual HRESULT STDMETHODCALLTYPE get_BufferInfo(
11614        ISpeechAudioBufferInfo **BufferInfo) = 0;
11615
11616    virtual HRESULT STDMETHODCALLTYPE get_DefaultFormat(
11617        ISpeechAudioFormat **StreamFormat) = 0;
11618
11619    virtual HRESULT STDMETHODCALLTYPE get_Volume(
11620        LONG *Volume) = 0;
11621
11622    virtual HRESULT STDMETHODCALLTYPE put_Volume(
11623        LONG Volume) = 0;
11624
11625    virtual HRESULT STDMETHODCALLTYPE get_BufferNotifySize(
11626        LONG *BufferNotifySize) = 0;
11627
11628    virtual HRESULT STDMETHODCALLTYPE put_BufferNotifySize(
11629        LONG BufferNotifySize) = 0;
11630
11631    virtual HRESULT STDMETHODCALLTYPE get_EventHandle(
11632        LONG *EventHandle) = 0;
11633
11634    virtual HRESULT STDMETHODCALLTYPE SetState(
11635        SpeechAudioState State) = 0;
11636
11637};
11638#ifdef __CRT_UUID_DECL
11639__CRT_UUID_DECL(ISpeechAudio, 0xcff8e175, 0x019e, 0x11d3, 0xa0,0x8e, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5)
11640#endif
11641#else
11642typedef struct ISpeechAudioVtbl {
11643    BEGIN_INTERFACE
11644
11645    /*** IUnknown methods ***/
11646    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11647        ISpeechAudio* This,
11648        REFIID riid,
11649        void **ppvObject);
11650
11651    ULONG (STDMETHODCALLTYPE *AddRef)(
11652        ISpeechAudio* This);
11653
11654    ULONG (STDMETHODCALLTYPE *Release)(
11655        ISpeechAudio* This);
11656
11657    /*** IDispatch methods ***/
11658    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
11659        ISpeechAudio* This,
11660        UINT *pctinfo);
11661
11662    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
11663        ISpeechAudio* This,
11664        UINT iTInfo,
11665        LCID lcid,
11666        ITypeInfo **ppTInfo);
11667
11668    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
11669        ISpeechAudio* This,
11670        REFIID riid,
11671        LPOLESTR *rgszNames,
11672        UINT cNames,
11673        LCID lcid,
11674        DISPID *rgDispId);
11675
11676    HRESULT (STDMETHODCALLTYPE *Invoke)(
11677        ISpeechAudio* This,
11678        DISPID dispIdMember,
11679        REFIID riid,
11680        LCID lcid,
11681        WORD wFlags,
11682        DISPPARAMS *pDispParams,
11683        VARIANT *pVarResult,
11684        EXCEPINFO *pExcepInfo,
11685        UINT *puArgErr);
11686
11687    /*** ISpeechBaseStream methods ***/
11688    HRESULT (STDMETHODCALLTYPE *get_Format)(
11689        ISpeechAudio* This,
11690        ISpeechAudioFormat **AudioFormat);
11691
11692    HRESULT (STDMETHODCALLTYPE *putref_Format)(
11693        ISpeechAudio* This,
11694        ISpeechAudioFormat *AudioFormat);
11695
11696    HRESULT (STDMETHODCALLTYPE *Read)(
11697        ISpeechAudio* This,
11698        VARIANT *Buffer,
11699        LONG NumberOfBytes,
11700        LONG *BytesRead);
11701
11702    HRESULT (STDMETHODCALLTYPE *Write)(
11703        ISpeechAudio* This,
11704        VARIANT Buffer,
11705        LONG *BytesWritten);
11706
11707    HRESULT (STDMETHODCALLTYPE *Seek)(
11708        ISpeechAudio* This,
11709        VARIANT Position,
11710        SpeechStreamSeekPositionType Origin,
11711        VARIANT *NewPosition);
11712
11713    /*** ISpeechAudio methods ***/
11714    HRESULT (STDMETHODCALLTYPE *get_Status)(
11715        ISpeechAudio* This,
11716        ISpeechAudioStatus **Status);
11717
11718    HRESULT (STDMETHODCALLTYPE *get_BufferInfo)(
11719        ISpeechAudio* This,
11720        ISpeechAudioBufferInfo **BufferInfo);
11721
11722    HRESULT (STDMETHODCALLTYPE *get_DefaultFormat)(
11723        ISpeechAudio* This,
11724        ISpeechAudioFormat **StreamFormat);
11725
11726    HRESULT (STDMETHODCALLTYPE *get_Volume)(
11727        ISpeechAudio* This,
11728        LONG *Volume);
11729
11730    HRESULT (STDMETHODCALLTYPE *put_Volume)(
11731        ISpeechAudio* This,
11732        LONG Volume);
11733
11734    HRESULT (STDMETHODCALLTYPE *get_BufferNotifySize)(
11735        ISpeechAudio* This,
11736        LONG *BufferNotifySize);
11737
11738    HRESULT (STDMETHODCALLTYPE *put_BufferNotifySize)(
11739        ISpeechAudio* This,
11740        LONG BufferNotifySize);
11741
11742    HRESULT (STDMETHODCALLTYPE *get_EventHandle)(
11743        ISpeechAudio* This,
11744        LONG *EventHandle);
11745
11746    HRESULT (STDMETHODCALLTYPE *SetState)(
11747        ISpeechAudio* This,
11748        SpeechAudioState State);
11749
11750    END_INTERFACE
11751} ISpeechAudioVtbl;
11752interface ISpeechAudio {
11753    CONST_VTBL ISpeechAudioVtbl* lpVtbl;
11754};
11755
11756#ifdef COBJMACROS
11757#ifndef WIDL_C_INLINE_WRAPPERS
11758/*** IUnknown methods ***/
11759#define ISpeechAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
11760#define ISpeechAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
11761#define ISpeechAudio_Release(This) (This)->lpVtbl->Release(This)
11762/*** IDispatch methods ***/
11763#define ISpeechAudio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
11764#define ISpeechAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
11765#define ISpeechAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
11766#define ISpeechAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
11767/*** ISpeechBaseStream methods ***/
11768#define ISpeechAudio_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
11769#define ISpeechAudio_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
11770#define ISpeechAudio_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
11771#define ISpeechAudio_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
11772#define ISpeechAudio_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
11773/*** ISpeechAudio methods ***/
11774#define ISpeechAudio_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
11775#define ISpeechAudio_get_BufferInfo(This,BufferInfo) (This)->lpVtbl->get_BufferInfo(This,BufferInfo)
11776#define ISpeechAudio_get_DefaultFormat(This,StreamFormat) (This)->lpVtbl->get_DefaultFormat(This,StreamFormat)
11777#define ISpeechAudio_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
11778#define ISpeechAudio_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
11779#define ISpeechAudio_get_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->get_BufferNotifySize(This,BufferNotifySize)
11780#define ISpeechAudio_put_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->put_BufferNotifySize(This,BufferNotifySize)
11781#define ISpeechAudio_get_EventHandle(This,EventHandle) (This)->lpVtbl->get_EventHandle(This,EventHandle)
11782#define ISpeechAudio_SetState(This,State) (This)->lpVtbl->SetState(This,State)
11783#else
11784/*** IUnknown methods ***/
11785static FORCEINLINE HRESULT ISpeechAudio_QueryInterface(ISpeechAudio* This,REFIID riid,void **ppvObject) {
11786    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
11787}
11788static FORCEINLINE ULONG ISpeechAudio_AddRef(ISpeechAudio* This) {
11789    return This->lpVtbl->AddRef(This);
11790}
11791static FORCEINLINE ULONG ISpeechAudio_Release(ISpeechAudio* This) {
11792    return This->lpVtbl->Release(This);
11793}
11794/*** IDispatch methods ***/
11795static FORCEINLINE HRESULT ISpeechAudio_GetTypeInfoCount(ISpeechAudio* This,UINT *pctinfo) {
11796    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
11797}
11798static FORCEINLINE HRESULT ISpeechAudio_GetTypeInfo(ISpeechAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
11799    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
11800}
11801static FORCEINLINE HRESULT ISpeechAudio_GetIDsOfNames(ISpeechAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
11802    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
11803}
11804static FORCEINLINE HRESULT ISpeechAudio_Invoke(ISpeechAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
11805    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
11806}
11807/*** ISpeechBaseStream methods ***/
11808static FORCEINLINE HRESULT ISpeechAudio_get_Format(ISpeechAudio* This,ISpeechAudioFormat **AudioFormat) {
11809    return This->lpVtbl->get_Format(This,AudioFormat);
11810}
11811static FORCEINLINE HRESULT ISpeechAudio_putref_Format(ISpeechAudio* This,ISpeechAudioFormat *AudioFormat) {
11812    return This->lpVtbl->putref_Format(This,AudioFormat);
11813}
11814static FORCEINLINE HRESULT ISpeechAudio_Read(ISpeechAudio* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
11815    return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
11816}
11817static FORCEINLINE HRESULT ISpeechAudio_Write(ISpeechAudio* This,VARIANT Buffer,LONG *BytesWritten) {
11818    return This->lpVtbl->Write(This,Buffer,BytesWritten);
11819}
11820static FORCEINLINE HRESULT ISpeechAudio_Seek(ISpeechAudio* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
11821    return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
11822}
11823/*** ISpeechAudio methods ***/
11824static FORCEINLINE HRESULT ISpeechAudio_get_Status(ISpeechAudio* This,ISpeechAudioStatus **Status) {
11825    return This->lpVtbl->get_Status(This,Status);
11826}
11827static FORCEINLINE HRESULT ISpeechAudio_get_BufferInfo(ISpeechAudio* This,ISpeechAudioBufferInfo **BufferInfo) {
11828    return This->lpVtbl->get_BufferInfo(This,BufferInfo);
11829}
11830static FORCEINLINE HRESULT ISpeechAudio_get_DefaultFormat(ISpeechAudio* This,ISpeechAudioFormat **StreamFormat) {
11831    return This->lpVtbl->get_DefaultFormat(This,StreamFormat);
11832}
11833static FORCEINLINE HRESULT ISpeechAudio_get_Volume(ISpeechAudio* This,LONG *Volume) {
11834    return This->lpVtbl->get_Volume(This,Volume);
11835}
11836static FORCEINLINE HRESULT ISpeechAudio_put_Volume(ISpeechAudio* This,LONG Volume) {
11837    return This->lpVtbl->put_Volume(This,Volume);
11838}
11839static FORCEINLINE HRESULT ISpeechAudio_get_BufferNotifySize(ISpeechAudio* This,LONG *BufferNotifySize) {
11840    return This->lpVtbl->get_BufferNotifySize(This,BufferNotifySize);
11841}
11842static FORCEINLINE HRESULT ISpeechAudio_put_BufferNotifySize(ISpeechAudio* This,LONG BufferNotifySize) {
11843    return This->lpVtbl->put_BufferNotifySize(This,BufferNotifySize);
11844}
11845static FORCEINLINE HRESULT ISpeechAudio_get_EventHandle(ISpeechAudio* This,LONG *EventHandle) {
11846    return This->lpVtbl->get_EventHandle(This,EventHandle);
11847}
11848static FORCEINLINE HRESULT ISpeechAudio_SetState(ISpeechAudio* This,SpeechAudioState State) {
11849    return This->lpVtbl->SetState(This,State);
11850}
11851#endif
11852#endif
11853
11854#endif
11855
11856HRESULT STDMETHODCALLTYPE ISpeechAudio_get_Status_Proxy(
11857    ISpeechAudio* This,
11858    ISpeechAudioStatus **Status);
11859void __RPC_STUB ISpeechAudio_get_Status_Stub(
11860    IRpcStubBuffer* This,
11861    IRpcChannelBuffer* pRpcChannelBuffer,
11862    PRPC_MESSAGE pRpcMessage,
11863    DWORD* pdwStubPhase);
11864HRESULT STDMETHODCALLTYPE ISpeechAudio_get_BufferInfo_Proxy(
11865    ISpeechAudio* This,
11866    ISpeechAudioBufferInfo **BufferInfo);
11867void __RPC_STUB ISpeechAudio_get_BufferInfo_Stub(
11868    IRpcStubBuffer* This,
11869    IRpcChannelBuffer* pRpcChannelBuffer,
11870    PRPC_MESSAGE pRpcMessage,
11871    DWORD* pdwStubPhase);
11872HRESULT STDMETHODCALLTYPE ISpeechAudio_get_DefaultFormat_Proxy(
11873    ISpeechAudio* This,
11874    ISpeechAudioFormat **StreamFormat);
11875void __RPC_STUB ISpeechAudio_get_DefaultFormat_Stub(
11876    IRpcStubBuffer* This,
11877    IRpcChannelBuffer* pRpcChannelBuffer,
11878    PRPC_MESSAGE pRpcMessage,
11879    DWORD* pdwStubPhase);
11880HRESULT STDMETHODCALLTYPE ISpeechAudio_get_Volume_Proxy(
11881    ISpeechAudio* This,
11882    LONG *Volume);
11883void __RPC_STUB ISpeechAudio_get_Volume_Stub(
11884    IRpcStubBuffer* This,
11885    IRpcChannelBuffer* pRpcChannelBuffer,
11886    PRPC_MESSAGE pRpcMessage,
11887    DWORD* pdwStubPhase);
11888HRESULT STDMETHODCALLTYPE ISpeechAudio_put_Volume_Proxy(
11889    ISpeechAudio* This,
11890    LONG Volume);
11891void __RPC_STUB ISpeechAudio_put_Volume_Stub(
11892    IRpcStubBuffer* This,
11893    IRpcChannelBuffer* pRpcChannelBuffer,
11894    PRPC_MESSAGE pRpcMessage,
11895    DWORD* pdwStubPhase);
11896HRESULT STDMETHODCALLTYPE ISpeechAudio_get_BufferNotifySize_Proxy(
11897    ISpeechAudio* This,
11898    LONG *BufferNotifySize);
11899void __RPC_STUB ISpeechAudio_get_BufferNotifySize_Stub(
11900    IRpcStubBuffer* This,
11901    IRpcChannelBuffer* pRpcChannelBuffer,
11902    PRPC_MESSAGE pRpcMessage,
11903    DWORD* pdwStubPhase);
11904HRESULT STDMETHODCALLTYPE ISpeechAudio_put_BufferNotifySize_Proxy(
11905    ISpeechAudio* This,
11906    LONG BufferNotifySize);
11907void __RPC_STUB ISpeechAudio_put_BufferNotifySize_Stub(
11908    IRpcStubBuffer* This,
11909    IRpcChannelBuffer* pRpcChannelBuffer,
11910    PRPC_MESSAGE pRpcMessage,
11911    DWORD* pdwStubPhase);
11912HRESULT STDMETHODCALLTYPE ISpeechAudio_get_EventHandle_Proxy(
11913    ISpeechAudio* This,
11914    LONG *EventHandle);
11915void __RPC_STUB ISpeechAudio_get_EventHandle_Stub(
11916    IRpcStubBuffer* This,
11917    IRpcChannelBuffer* pRpcChannelBuffer,
11918    PRPC_MESSAGE pRpcMessage,
11919    DWORD* pdwStubPhase);
11920HRESULT STDMETHODCALLTYPE ISpeechAudio_SetState_Proxy(
11921    ISpeechAudio* This,
11922    SpeechAudioState State);
11923void __RPC_STUB ISpeechAudio_SetState_Stub(
11924    IRpcStubBuffer* This,
11925    IRpcChannelBuffer* pRpcChannelBuffer,
11926    PRPC_MESSAGE pRpcMessage,
11927    DWORD* pdwStubPhase);
11928
11929#endif  /* __ISpeechAudio_INTERFACE_DEFINED__ */
11930
11931/*****************************************************************************
11932 * ISpeechMMSysAudio interface
11933 */
11934#ifndef __ISpeechMMSysAudio_INTERFACE_DEFINED__
11935#define __ISpeechMMSysAudio_INTERFACE_DEFINED__
11936
11937DEFINE_GUID(IID_ISpeechMMSysAudio, 0x3c76af6d, 0x1fd7, 0x4831, 0x81,0xd1, 0x3b,0x71,0xd5,0xa1,0x3c,0x44);
11938#if defined(__cplusplus) && !defined(CINTERFACE)
11939MIDL_INTERFACE("3c76af6d-1fd7-4831-81d1-3b71d5a13c44")
11940ISpeechMMSysAudio : public ISpeechAudio
11941{
11942    virtual HRESULT STDMETHODCALLTYPE get_DeviceId(
11943        LONG *DeviceId) = 0;
11944
11945    virtual HRESULT STDMETHODCALLTYPE put_DeviceId(
11946        LONG DeviceId) = 0;
11947
11948    virtual HRESULT STDMETHODCALLTYPE get_LineId(
11949        LONG *LineId) = 0;
11950
11951    virtual HRESULT STDMETHODCALLTYPE put_LineId(
11952        LONG LineId) = 0;
11953
11954    virtual HRESULT STDMETHODCALLTYPE get_MMHandle(
11955        LONG *Handle) = 0;
11956
11957};
11958#ifdef __CRT_UUID_DECL
11959__CRT_UUID_DECL(ISpeechMMSysAudio, 0x3c76af6d, 0x1fd7, 0x4831, 0x81,0xd1, 0x3b,0x71,0xd5,0xa1,0x3c,0x44)
11960#endif
11961#else
11962typedef struct ISpeechMMSysAudioVtbl {
11963    BEGIN_INTERFACE
11964
11965    /*** IUnknown methods ***/
11966    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
11967        ISpeechMMSysAudio* This,
11968        REFIID riid,
11969        void **ppvObject);
11970
11971    ULONG (STDMETHODCALLTYPE *AddRef)(
11972        ISpeechMMSysAudio* This);
11973
11974    ULONG (STDMETHODCALLTYPE *Release)(
11975        ISpeechMMSysAudio* This);
11976
11977    /*** IDispatch methods ***/
11978    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
11979        ISpeechMMSysAudio* This,
11980        UINT *pctinfo);
11981
11982    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
11983        ISpeechMMSysAudio* This,
11984        UINT iTInfo,
11985        LCID lcid,
11986        ITypeInfo **ppTInfo);
11987
11988    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
11989        ISpeechMMSysAudio* This,
11990        REFIID riid,
11991        LPOLESTR *rgszNames,
11992        UINT cNames,
11993        LCID lcid,
11994        DISPID *rgDispId);
11995
11996    HRESULT (STDMETHODCALLTYPE *Invoke)(
11997        ISpeechMMSysAudio* This,
11998        DISPID dispIdMember,
11999        REFIID riid,
12000        LCID lcid,
12001        WORD wFlags,
12002        DISPPARAMS *pDispParams,
12003        VARIANT *pVarResult,
12004        EXCEPINFO *pExcepInfo,
12005        UINT *puArgErr);
12006
12007    /*** ISpeechBaseStream methods ***/
12008    HRESULT (STDMETHODCALLTYPE *get_Format)(
12009        ISpeechMMSysAudio* This,
12010        ISpeechAudioFormat **AudioFormat);
12011
12012    HRESULT (STDMETHODCALLTYPE *putref_Format)(
12013        ISpeechMMSysAudio* This,
12014        ISpeechAudioFormat *AudioFormat);
12015
12016    HRESULT (STDMETHODCALLTYPE *Read)(
12017        ISpeechMMSysAudio* This,
12018        VARIANT *Buffer,
12019        LONG NumberOfBytes,
12020        LONG *BytesRead);
12021
12022    HRESULT (STDMETHODCALLTYPE *Write)(
12023        ISpeechMMSysAudio* This,
12024        VARIANT Buffer,
12025        LONG *BytesWritten);
12026
12027    HRESULT (STDMETHODCALLTYPE *Seek)(
12028        ISpeechMMSysAudio* This,
12029        VARIANT Position,
12030        SpeechStreamSeekPositionType Origin,
12031        VARIANT *NewPosition);
12032
12033    /*** ISpeechAudio methods ***/
12034    HRESULT (STDMETHODCALLTYPE *get_Status)(
12035        ISpeechMMSysAudio* This,
12036        ISpeechAudioStatus **Status);
12037
12038    HRESULT (STDMETHODCALLTYPE *get_BufferInfo)(
12039        ISpeechMMSysAudio* This,
12040        ISpeechAudioBufferInfo **BufferInfo);
12041
12042    HRESULT (STDMETHODCALLTYPE *get_DefaultFormat)(
12043        ISpeechMMSysAudio* This,
12044        ISpeechAudioFormat **StreamFormat);
12045
12046    HRESULT (STDMETHODCALLTYPE *get_Volume)(
12047        ISpeechMMSysAudio* This,
12048        LONG *Volume);
12049
12050    HRESULT (STDMETHODCALLTYPE *put_Volume)(
12051        ISpeechMMSysAudio* This,
12052        LONG Volume);
12053
12054    HRESULT (STDMETHODCALLTYPE *get_BufferNotifySize)(
12055        ISpeechMMSysAudio* This,
12056        LONG *BufferNotifySize);
12057
12058    HRESULT (STDMETHODCALLTYPE *put_BufferNotifySize)(
12059        ISpeechMMSysAudio* This,
12060        LONG BufferNotifySize);
12061
12062    HRESULT (STDMETHODCALLTYPE *get_EventHandle)(
12063        ISpeechMMSysAudio* This,
12064        LONG *EventHandle);
12065
12066    HRESULT (STDMETHODCALLTYPE *SetState)(
12067        ISpeechMMSysAudio* This,
12068        SpeechAudioState State);
12069
12070    /*** ISpeechMMSysAudio methods ***/
12071    HRESULT (STDMETHODCALLTYPE *get_DeviceId)(
12072        ISpeechMMSysAudio* This,
12073        LONG *DeviceId);
12074
12075    HRESULT (STDMETHODCALLTYPE *put_DeviceId)(
12076        ISpeechMMSysAudio* This,
12077        LONG DeviceId);
12078
12079    HRESULT (STDMETHODCALLTYPE *get_LineId)(
12080        ISpeechMMSysAudio* This,
12081        LONG *LineId);
12082
12083    HRESULT (STDMETHODCALLTYPE *put_LineId)(
12084        ISpeechMMSysAudio* This,
12085        LONG LineId);
12086
12087    HRESULT (STDMETHODCALLTYPE *get_MMHandle)(
12088        ISpeechMMSysAudio* This,
12089        LONG *Handle);
12090
12091    END_INTERFACE
12092} ISpeechMMSysAudioVtbl;
12093interface ISpeechMMSysAudio {
12094    CONST_VTBL ISpeechMMSysAudioVtbl* lpVtbl;
12095};
12096
12097#ifdef COBJMACROS
12098#ifndef WIDL_C_INLINE_WRAPPERS
12099/*** IUnknown methods ***/
12100#define ISpeechMMSysAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12101#define ISpeechMMSysAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
12102#define ISpeechMMSysAudio_Release(This) (This)->lpVtbl->Release(This)
12103/*** IDispatch methods ***/
12104#define ISpeechMMSysAudio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
12105#define ISpeechMMSysAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12106#define ISpeechMMSysAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12107#define ISpeechMMSysAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12108/*** ISpeechBaseStream methods ***/
12109#define ISpeechMMSysAudio_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
12110#define ISpeechMMSysAudio_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
12111#define ISpeechMMSysAudio_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
12112#define ISpeechMMSysAudio_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
12113#define ISpeechMMSysAudio_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
12114/*** ISpeechAudio methods ***/
12115#define ISpeechMMSysAudio_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
12116#define ISpeechMMSysAudio_get_BufferInfo(This,BufferInfo) (This)->lpVtbl->get_BufferInfo(This,BufferInfo)
12117#define ISpeechMMSysAudio_get_DefaultFormat(This,StreamFormat) (This)->lpVtbl->get_DefaultFormat(This,StreamFormat)
12118#define ISpeechMMSysAudio_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
12119#define ISpeechMMSysAudio_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
12120#define ISpeechMMSysAudio_get_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->get_BufferNotifySize(This,BufferNotifySize)
12121#define ISpeechMMSysAudio_put_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->put_BufferNotifySize(This,BufferNotifySize)
12122#define ISpeechMMSysAudio_get_EventHandle(This,EventHandle) (This)->lpVtbl->get_EventHandle(This,EventHandle)
12123#define ISpeechMMSysAudio_SetState(This,State) (This)->lpVtbl->SetState(This,State)
12124/*** ISpeechMMSysAudio methods ***/
12125#define ISpeechMMSysAudio_get_DeviceId(This,DeviceId) (This)->lpVtbl->get_DeviceId(This,DeviceId)
12126#define ISpeechMMSysAudio_put_DeviceId(This,DeviceId) (This)->lpVtbl->put_DeviceId(This,DeviceId)
12127#define ISpeechMMSysAudio_get_LineId(This,LineId) (This)->lpVtbl->get_LineId(This,LineId)
12128#define ISpeechMMSysAudio_put_LineId(This,LineId) (This)->lpVtbl->put_LineId(This,LineId)
12129#define ISpeechMMSysAudio_get_MMHandle(This,Handle) (This)->lpVtbl->get_MMHandle(This,Handle)
12130#else
12131/*** IUnknown methods ***/
12132static FORCEINLINE HRESULT ISpeechMMSysAudio_QueryInterface(ISpeechMMSysAudio* This,REFIID riid,void **ppvObject) {
12133    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12134}
12135static FORCEINLINE ULONG ISpeechMMSysAudio_AddRef(ISpeechMMSysAudio* This) {
12136    return This->lpVtbl->AddRef(This);
12137}
12138static FORCEINLINE ULONG ISpeechMMSysAudio_Release(ISpeechMMSysAudio* This) {
12139    return This->lpVtbl->Release(This);
12140}
12141/*** IDispatch methods ***/
12142static FORCEINLINE HRESULT ISpeechMMSysAudio_GetTypeInfoCount(ISpeechMMSysAudio* This,UINT *pctinfo) {
12143    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
12144}
12145static FORCEINLINE HRESULT ISpeechMMSysAudio_GetTypeInfo(ISpeechMMSysAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
12146    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
12147}
12148static FORCEINLINE HRESULT ISpeechMMSysAudio_GetIDsOfNames(ISpeechMMSysAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
12149    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
12150}
12151static FORCEINLINE HRESULT ISpeechMMSysAudio_Invoke(ISpeechMMSysAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
12152    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
12153}
12154/*** ISpeechBaseStream methods ***/
12155static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Format(ISpeechMMSysAudio* This,ISpeechAudioFormat **AudioFormat) {
12156    return This->lpVtbl->get_Format(This,AudioFormat);
12157}
12158static FORCEINLINE HRESULT ISpeechMMSysAudio_putref_Format(ISpeechMMSysAudio* This,ISpeechAudioFormat *AudioFormat) {
12159    return This->lpVtbl->putref_Format(This,AudioFormat);
12160}
12161static FORCEINLINE HRESULT ISpeechMMSysAudio_Read(ISpeechMMSysAudio* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
12162    return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
12163}
12164static FORCEINLINE HRESULT ISpeechMMSysAudio_Write(ISpeechMMSysAudio* This,VARIANT Buffer,LONG *BytesWritten) {
12165    return This->lpVtbl->Write(This,Buffer,BytesWritten);
12166}
12167static FORCEINLINE HRESULT ISpeechMMSysAudio_Seek(ISpeechMMSysAudio* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
12168    return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
12169}
12170/*** ISpeechAudio methods ***/
12171static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Status(ISpeechMMSysAudio* This,ISpeechAudioStatus **Status) {
12172    return This->lpVtbl->get_Status(This,Status);
12173}
12174static FORCEINLINE HRESULT ISpeechMMSysAudio_get_BufferInfo(ISpeechMMSysAudio* This,ISpeechAudioBufferInfo **BufferInfo) {
12175    return This->lpVtbl->get_BufferInfo(This,BufferInfo);
12176}
12177static FORCEINLINE HRESULT ISpeechMMSysAudio_get_DefaultFormat(ISpeechMMSysAudio* This,ISpeechAudioFormat **StreamFormat) {
12178    return This->lpVtbl->get_DefaultFormat(This,StreamFormat);
12179}
12180static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Volume(ISpeechMMSysAudio* This,LONG *Volume) {
12181    return This->lpVtbl->get_Volume(This,Volume);
12182}
12183static FORCEINLINE HRESULT ISpeechMMSysAudio_put_Volume(ISpeechMMSysAudio* This,LONG Volume) {
12184    return This->lpVtbl->put_Volume(This,Volume);
12185}
12186static FORCEINLINE HRESULT ISpeechMMSysAudio_get_BufferNotifySize(ISpeechMMSysAudio* This,LONG *BufferNotifySize) {
12187    return This->lpVtbl->get_BufferNotifySize(This,BufferNotifySize);
12188}
12189static FORCEINLINE HRESULT ISpeechMMSysAudio_put_BufferNotifySize(ISpeechMMSysAudio* This,LONG BufferNotifySize) {
12190    return This->lpVtbl->put_BufferNotifySize(This,BufferNotifySize);
12191}
12192static FORCEINLINE HRESULT ISpeechMMSysAudio_get_EventHandle(ISpeechMMSysAudio* This,LONG *EventHandle) {
12193    return This->lpVtbl->get_EventHandle(This,EventHandle);
12194}
12195static FORCEINLINE HRESULT ISpeechMMSysAudio_SetState(ISpeechMMSysAudio* This,SpeechAudioState State) {
12196    return This->lpVtbl->SetState(This,State);
12197}
12198/*** ISpeechMMSysAudio methods ***/
12199static FORCEINLINE HRESULT ISpeechMMSysAudio_get_DeviceId(ISpeechMMSysAudio* This,LONG *DeviceId) {
12200    return This->lpVtbl->get_DeviceId(This,DeviceId);
12201}
12202static FORCEINLINE HRESULT ISpeechMMSysAudio_put_DeviceId(ISpeechMMSysAudio* This,LONG DeviceId) {
12203    return This->lpVtbl->put_DeviceId(This,DeviceId);
12204}
12205static FORCEINLINE HRESULT ISpeechMMSysAudio_get_LineId(ISpeechMMSysAudio* This,LONG *LineId) {
12206    return This->lpVtbl->get_LineId(This,LineId);
12207}
12208static FORCEINLINE HRESULT ISpeechMMSysAudio_put_LineId(ISpeechMMSysAudio* This,LONG LineId) {
12209    return This->lpVtbl->put_LineId(This,LineId);
12210}
12211static FORCEINLINE HRESULT ISpeechMMSysAudio_get_MMHandle(ISpeechMMSysAudio* This,LONG *Handle) {
12212    return This->lpVtbl->get_MMHandle(This,Handle);
12213}
12214#endif
12215#endif
12216
12217#endif
12218
12219HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_DeviceId_Proxy(
12220    ISpeechMMSysAudio* This,
12221    LONG *DeviceId);
12222void __RPC_STUB ISpeechMMSysAudio_get_DeviceId_Stub(
12223    IRpcStubBuffer* This,
12224    IRpcChannelBuffer* pRpcChannelBuffer,
12225    PRPC_MESSAGE pRpcMessage,
12226    DWORD* pdwStubPhase);
12227HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_put_DeviceId_Proxy(
12228    ISpeechMMSysAudio* This,
12229    LONG DeviceId);
12230void __RPC_STUB ISpeechMMSysAudio_put_DeviceId_Stub(
12231    IRpcStubBuffer* This,
12232    IRpcChannelBuffer* pRpcChannelBuffer,
12233    PRPC_MESSAGE pRpcMessage,
12234    DWORD* pdwStubPhase);
12235HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_LineId_Proxy(
12236    ISpeechMMSysAudio* This,
12237    LONG *LineId);
12238void __RPC_STUB ISpeechMMSysAudio_get_LineId_Stub(
12239    IRpcStubBuffer* This,
12240    IRpcChannelBuffer* pRpcChannelBuffer,
12241    PRPC_MESSAGE pRpcMessage,
12242    DWORD* pdwStubPhase);
12243HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_put_LineId_Proxy(
12244    ISpeechMMSysAudio* This,
12245    LONG LineId);
12246void __RPC_STUB ISpeechMMSysAudio_put_LineId_Stub(
12247    IRpcStubBuffer* This,
12248    IRpcChannelBuffer* pRpcChannelBuffer,
12249    PRPC_MESSAGE pRpcMessage,
12250    DWORD* pdwStubPhase);
12251HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_MMHandle_Proxy(
12252    ISpeechMMSysAudio* This,
12253    LONG *Handle);
12254void __RPC_STUB ISpeechMMSysAudio_get_MMHandle_Stub(
12255    IRpcStubBuffer* This,
12256    IRpcChannelBuffer* pRpcChannelBuffer,
12257    PRPC_MESSAGE pRpcMessage,
12258    DWORD* pdwStubPhase);
12259
12260#endif  /* __ISpeechMMSysAudio_INTERFACE_DEFINED__ */
12261
12262/*****************************************************************************
12263 * ISpeechFileStream interface
12264 */
12265#ifndef __ISpeechFileStream_INTERFACE_DEFINED__
12266#define __ISpeechFileStream_INTERFACE_DEFINED__
12267
12268DEFINE_GUID(IID_ISpeechFileStream, 0xaf67f125, 0xab39, 0x4e93, 0xb4,0xa2, 0xcc,0x2e,0x66,0xe1,0x82,0xa7);
12269#if defined(__cplusplus) && !defined(CINTERFACE)
12270MIDL_INTERFACE("af67f125-ab39-4e93-b4a2-cc2e66e182a7")
12271ISpeechFileStream : public ISpeechBaseStream
12272{
12273    virtual HRESULT STDMETHODCALLTYPE Open(
12274        BSTR FileName,
12275        SpeechStreamFileMode FileMode = SSFMOpenForRead,
12276        VARIANT_BOOL DoEvents = 0) = 0;
12277
12278    virtual HRESULT STDMETHODCALLTYPE Close(
12279        ) = 0;
12280
12281};
12282#ifdef __CRT_UUID_DECL
12283__CRT_UUID_DECL(ISpeechFileStream, 0xaf67f125, 0xab39, 0x4e93, 0xb4,0xa2, 0xcc,0x2e,0x66,0xe1,0x82,0xa7)
12284#endif
12285#else
12286typedef struct ISpeechFileStreamVtbl {
12287    BEGIN_INTERFACE
12288
12289    /*** IUnknown methods ***/
12290    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12291        ISpeechFileStream* This,
12292        REFIID riid,
12293        void **ppvObject);
12294
12295    ULONG (STDMETHODCALLTYPE *AddRef)(
12296        ISpeechFileStream* This);
12297
12298    ULONG (STDMETHODCALLTYPE *Release)(
12299        ISpeechFileStream* This);
12300
12301    /*** IDispatch methods ***/
12302    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
12303        ISpeechFileStream* This,
12304        UINT *pctinfo);
12305
12306    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
12307        ISpeechFileStream* This,
12308        UINT iTInfo,
12309        LCID lcid,
12310        ITypeInfo **ppTInfo);
12311
12312    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
12313        ISpeechFileStream* This,
12314        REFIID riid,
12315        LPOLESTR *rgszNames,
12316        UINT cNames,
12317        LCID lcid,
12318        DISPID *rgDispId);
12319
12320    HRESULT (STDMETHODCALLTYPE *Invoke)(
12321        ISpeechFileStream* This,
12322        DISPID dispIdMember,
12323        REFIID riid,
12324        LCID lcid,
12325        WORD wFlags,
12326        DISPPARAMS *pDispParams,
12327        VARIANT *pVarResult,
12328        EXCEPINFO *pExcepInfo,
12329        UINT *puArgErr);
12330
12331    /*** ISpeechBaseStream methods ***/
12332    HRESULT (STDMETHODCALLTYPE *get_Format)(
12333        ISpeechFileStream* This,
12334        ISpeechAudioFormat **AudioFormat);
12335
12336    HRESULT (STDMETHODCALLTYPE *putref_Format)(
12337        ISpeechFileStream* This,
12338        ISpeechAudioFormat *AudioFormat);
12339
12340    HRESULT (STDMETHODCALLTYPE *Read)(
12341        ISpeechFileStream* This,
12342        VARIANT *Buffer,
12343        LONG NumberOfBytes,
12344        LONG *BytesRead);
12345
12346    HRESULT (STDMETHODCALLTYPE *Write)(
12347        ISpeechFileStream* This,
12348        VARIANT Buffer,
12349        LONG *BytesWritten);
12350
12351    HRESULT (STDMETHODCALLTYPE *Seek)(
12352        ISpeechFileStream* This,
12353        VARIANT Position,
12354        SpeechStreamSeekPositionType Origin,
12355        VARIANT *NewPosition);
12356
12357    /*** ISpeechFileStream methods ***/
12358    HRESULT (STDMETHODCALLTYPE *Open)(
12359        ISpeechFileStream* This,
12360        BSTR FileName,
12361        SpeechStreamFileMode FileMode,
12362        VARIANT_BOOL DoEvents);
12363
12364    HRESULT (STDMETHODCALLTYPE *Close)(
12365        ISpeechFileStream* This);
12366
12367    END_INTERFACE
12368} ISpeechFileStreamVtbl;
12369interface ISpeechFileStream {
12370    CONST_VTBL ISpeechFileStreamVtbl* lpVtbl;
12371};
12372
12373#ifdef COBJMACROS
12374#ifndef WIDL_C_INLINE_WRAPPERS
12375/*** IUnknown methods ***/
12376#define ISpeechFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12377#define ISpeechFileStream_AddRef(This) (This)->lpVtbl->AddRef(This)
12378#define ISpeechFileStream_Release(This) (This)->lpVtbl->Release(This)
12379/*** IDispatch methods ***/
12380#define ISpeechFileStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
12381#define ISpeechFileStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12382#define ISpeechFileStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12383#define ISpeechFileStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12384/*** ISpeechBaseStream methods ***/
12385#define ISpeechFileStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
12386#define ISpeechFileStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
12387#define ISpeechFileStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
12388#define ISpeechFileStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
12389#define ISpeechFileStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
12390/*** ISpeechFileStream methods ***/
12391#define ISpeechFileStream_Open(This,FileName,FileMode,DoEvents) (This)->lpVtbl->Open(This,FileName,FileMode,DoEvents)
12392#define ISpeechFileStream_Close(This) (This)->lpVtbl->Close(This)
12393#else
12394/*** IUnknown methods ***/
12395static FORCEINLINE HRESULT ISpeechFileStream_QueryInterface(ISpeechFileStream* This,REFIID riid,void **ppvObject) {
12396    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12397}
12398static FORCEINLINE ULONG ISpeechFileStream_AddRef(ISpeechFileStream* This) {
12399    return This->lpVtbl->AddRef(This);
12400}
12401static FORCEINLINE ULONG ISpeechFileStream_Release(ISpeechFileStream* This) {
12402    return This->lpVtbl->Release(This);
12403}
12404/*** IDispatch methods ***/
12405static FORCEINLINE HRESULT ISpeechFileStream_GetTypeInfoCount(ISpeechFileStream* This,UINT *pctinfo) {
12406    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
12407}
12408static FORCEINLINE HRESULT ISpeechFileStream_GetTypeInfo(ISpeechFileStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
12409    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
12410}
12411static FORCEINLINE HRESULT ISpeechFileStream_GetIDsOfNames(ISpeechFileStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
12412    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
12413}
12414static FORCEINLINE HRESULT ISpeechFileStream_Invoke(ISpeechFileStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
12415    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
12416}
12417/*** ISpeechBaseStream methods ***/
12418static FORCEINLINE HRESULT ISpeechFileStream_get_Format(ISpeechFileStream* This,ISpeechAudioFormat **AudioFormat) {
12419    return This->lpVtbl->get_Format(This,AudioFormat);
12420}
12421static FORCEINLINE HRESULT ISpeechFileStream_putref_Format(ISpeechFileStream* This,ISpeechAudioFormat *AudioFormat) {
12422    return This->lpVtbl->putref_Format(This,AudioFormat);
12423}
12424static FORCEINLINE HRESULT ISpeechFileStream_Read(ISpeechFileStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
12425    return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
12426}
12427static FORCEINLINE HRESULT ISpeechFileStream_Write(ISpeechFileStream* This,VARIANT Buffer,LONG *BytesWritten) {
12428    return This->lpVtbl->Write(This,Buffer,BytesWritten);
12429}
12430static FORCEINLINE HRESULT ISpeechFileStream_Seek(ISpeechFileStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
12431    return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
12432}
12433/*** ISpeechFileStream methods ***/
12434static FORCEINLINE HRESULT ISpeechFileStream_Open(ISpeechFileStream* This,BSTR FileName,SpeechStreamFileMode FileMode,VARIANT_BOOL DoEvents) {
12435    return This->lpVtbl->Open(This,FileName,FileMode,DoEvents);
12436}
12437static FORCEINLINE HRESULT ISpeechFileStream_Close(ISpeechFileStream* This) {
12438    return This->lpVtbl->Close(This);
12439}
12440#endif
12441#endif
12442
12443#endif
12444
12445HRESULT STDMETHODCALLTYPE ISpeechFileStream_Open_Proxy(
12446    ISpeechFileStream* This,
12447    BSTR FileName,
12448    SpeechStreamFileMode FileMode,
12449    VARIANT_BOOL DoEvents);
12450void __RPC_STUB ISpeechFileStream_Open_Stub(
12451    IRpcStubBuffer* This,
12452    IRpcChannelBuffer* pRpcChannelBuffer,
12453    PRPC_MESSAGE pRpcMessage,
12454    DWORD* pdwStubPhase);
12455HRESULT STDMETHODCALLTYPE ISpeechFileStream_Close_Proxy(
12456    ISpeechFileStream* This);
12457void __RPC_STUB ISpeechFileStream_Close_Stub(
12458    IRpcStubBuffer* This,
12459    IRpcChannelBuffer* pRpcChannelBuffer,
12460    PRPC_MESSAGE pRpcMessage,
12461    DWORD* pdwStubPhase);
12462
12463#endif  /* __ISpeechFileStream_INTERFACE_DEFINED__ */
12464
12465/*****************************************************************************
12466 * ISpeechCustomStream interface
12467 */
12468#ifndef __ISpeechCustomStream_INTERFACE_DEFINED__
12469#define __ISpeechCustomStream_INTERFACE_DEFINED__
12470
12471DEFINE_GUID(IID_ISpeechCustomStream, 0x1a9e9f4f, 0x104f, 0x4db8, 0xa1,0x15, 0xef,0xd7,0xfd,0x0c,0x97,0xae);
12472#if defined(__cplusplus) && !defined(CINTERFACE)
12473MIDL_INTERFACE("1a9e9f4f-104f-4db8-a115-efd7fd0c97ae")
12474ISpeechCustomStream : public ISpeechBaseStream
12475{
12476    virtual HRESULT STDMETHODCALLTYPE get_BaseStream(
12477        IUnknown **ppUnkStream) = 0;
12478
12479    virtual HRESULT STDMETHODCALLTYPE putref_BaseStream(
12480        IUnknown *pUnkStream) = 0;
12481
12482};
12483#ifdef __CRT_UUID_DECL
12484__CRT_UUID_DECL(ISpeechCustomStream, 0x1a9e9f4f, 0x104f, 0x4db8, 0xa1,0x15, 0xef,0xd7,0xfd,0x0c,0x97,0xae)
12485#endif
12486#else
12487typedef struct ISpeechCustomStreamVtbl {
12488    BEGIN_INTERFACE
12489
12490    /*** IUnknown methods ***/
12491    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12492        ISpeechCustomStream* This,
12493        REFIID riid,
12494        void **ppvObject);
12495
12496    ULONG (STDMETHODCALLTYPE *AddRef)(
12497        ISpeechCustomStream* This);
12498
12499    ULONG (STDMETHODCALLTYPE *Release)(
12500        ISpeechCustomStream* This);
12501
12502    /*** IDispatch methods ***/
12503    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
12504        ISpeechCustomStream* This,
12505        UINT *pctinfo);
12506
12507    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
12508        ISpeechCustomStream* This,
12509        UINT iTInfo,
12510        LCID lcid,
12511        ITypeInfo **ppTInfo);
12512
12513    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
12514        ISpeechCustomStream* This,
12515        REFIID riid,
12516        LPOLESTR *rgszNames,
12517        UINT cNames,
12518        LCID lcid,
12519        DISPID *rgDispId);
12520
12521    HRESULT (STDMETHODCALLTYPE *Invoke)(
12522        ISpeechCustomStream* This,
12523        DISPID dispIdMember,
12524        REFIID riid,
12525        LCID lcid,
12526        WORD wFlags,
12527        DISPPARAMS *pDispParams,
12528        VARIANT *pVarResult,
12529        EXCEPINFO *pExcepInfo,
12530        UINT *puArgErr);
12531
12532    /*** ISpeechBaseStream methods ***/
12533    HRESULT (STDMETHODCALLTYPE *get_Format)(
12534        ISpeechCustomStream* This,
12535        ISpeechAudioFormat **AudioFormat);
12536
12537    HRESULT (STDMETHODCALLTYPE *putref_Format)(
12538        ISpeechCustomStream* This,
12539        ISpeechAudioFormat *AudioFormat);
12540
12541    HRESULT (STDMETHODCALLTYPE *Read)(
12542        ISpeechCustomStream* This,
12543        VARIANT *Buffer,
12544        LONG NumberOfBytes,
12545        LONG *BytesRead);
12546
12547    HRESULT (STDMETHODCALLTYPE *Write)(
12548        ISpeechCustomStream* This,
12549        VARIANT Buffer,
12550        LONG *BytesWritten);
12551
12552    HRESULT (STDMETHODCALLTYPE *Seek)(
12553        ISpeechCustomStream* This,
12554        VARIANT Position,
12555        SpeechStreamSeekPositionType Origin,
12556        VARIANT *NewPosition);
12557
12558    /*** ISpeechCustomStream methods ***/
12559    HRESULT (STDMETHODCALLTYPE *get_BaseStream)(
12560        ISpeechCustomStream* This,
12561        IUnknown **ppUnkStream);
12562
12563    HRESULT (STDMETHODCALLTYPE *putref_BaseStream)(
12564        ISpeechCustomStream* This,
12565        IUnknown *pUnkStream);
12566
12567    END_INTERFACE
12568} ISpeechCustomStreamVtbl;
12569interface ISpeechCustomStream {
12570    CONST_VTBL ISpeechCustomStreamVtbl* lpVtbl;
12571};
12572
12573#ifdef COBJMACROS
12574#ifndef WIDL_C_INLINE_WRAPPERS
12575/*** IUnknown methods ***/
12576#define ISpeechCustomStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12577#define ISpeechCustomStream_AddRef(This) (This)->lpVtbl->AddRef(This)
12578#define ISpeechCustomStream_Release(This) (This)->lpVtbl->Release(This)
12579/*** IDispatch methods ***/
12580#define ISpeechCustomStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
12581#define ISpeechCustomStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12582#define ISpeechCustomStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12583#define ISpeechCustomStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12584/*** ISpeechBaseStream methods ***/
12585#define ISpeechCustomStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
12586#define ISpeechCustomStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
12587#define ISpeechCustomStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
12588#define ISpeechCustomStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
12589#define ISpeechCustomStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
12590/*** ISpeechCustomStream methods ***/
12591#define ISpeechCustomStream_get_BaseStream(This,ppUnkStream) (This)->lpVtbl->get_BaseStream(This,ppUnkStream)
12592#define ISpeechCustomStream_putref_BaseStream(This,pUnkStream) (This)->lpVtbl->putref_BaseStream(This,pUnkStream)
12593#else
12594/*** IUnknown methods ***/
12595static FORCEINLINE HRESULT ISpeechCustomStream_QueryInterface(ISpeechCustomStream* This,REFIID riid,void **ppvObject) {
12596    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12597}
12598static FORCEINLINE ULONG ISpeechCustomStream_AddRef(ISpeechCustomStream* This) {
12599    return This->lpVtbl->AddRef(This);
12600}
12601static FORCEINLINE ULONG ISpeechCustomStream_Release(ISpeechCustomStream* This) {
12602    return This->lpVtbl->Release(This);
12603}
12604/*** IDispatch methods ***/
12605static FORCEINLINE HRESULT ISpeechCustomStream_GetTypeInfoCount(ISpeechCustomStream* This,UINT *pctinfo) {
12606    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
12607}
12608static FORCEINLINE HRESULT ISpeechCustomStream_GetTypeInfo(ISpeechCustomStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
12609    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
12610}
12611static FORCEINLINE HRESULT ISpeechCustomStream_GetIDsOfNames(ISpeechCustomStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
12612    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
12613}
12614static FORCEINLINE HRESULT ISpeechCustomStream_Invoke(ISpeechCustomStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
12615    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
12616}
12617/*** ISpeechBaseStream methods ***/
12618static FORCEINLINE HRESULT ISpeechCustomStream_get_Format(ISpeechCustomStream* This,ISpeechAudioFormat **AudioFormat) {
12619    return This->lpVtbl->get_Format(This,AudioFormat);
12620}
12621static FORCEINLINE HRESULT ISpeechCustomStream_putref_Format(ISpeechCustomStream* This,ISpeechAudioFormat *AudioFormat) {
12622    return This->lpVtbl->putref_Format(This,AudioFormat);
12623}
12624static FORCEINLINE HRESULT ISpeechCustomStream_Read(ISpeechCustomStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
12625    return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
12626}
12627static FORCEINLINE HRESULT ISpeechCustomStream_Write(ISpeechCustomStream* This,VARIANT Buffer,LONG *BytesWritten) {
12628    return This->lpVtbl->Write(This,Buffer,BytesWritten);
12629}
12630static FORCEINLINE HRESULT ISpeechCustomStream_Seek(ISpeechCustomStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
12631    return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
12632}
12633/*** ISpeechCustomStream methods ***/
12634static FORCEINLINE HRESULT ISpeechCustomStream_get_BaseStream(ISpeechCustomStream* This,IUnknown **ppUnkStream) {
12635    return This->lpVtbl->get_BaseStream(This,ppUnkStream);
12636}
12637static FORCEINLINE HRESULT ISpeechCustomStream_putref_BaseStream(ISpeechCustomStream* This,IUnknown *pUnkStream) {
12638    return This->lpVtbl->putref_BaseStream(This,pUnkStream);
12639}
12640#endif
12641#endif
12642
12643#endif
12644
12645HRESULT STDMETHODCALLTYPE ISpeechCustomStream_get_BaseStream_Proxy(
12646    ISpeechCustomStream* This,
12647    IUnknown **ppUnkStream);
12648void __RPC_STUB ISpeechCustomStream_get_BaseStream_Stub(
12649    IRpcStubBuffer* This,
12650    IRpcChannelBuffer* pRpcChannelBuffer,
12651    PRPC_MESSAGE pRpcMessage,
12652    DWORD* pdwStubPhase);
12653HRESULT STDMETHODCALLTYPE ISpeechCustomStream_putref_BaseStream_Proxy(
12654    ISpeechCustomStream* This,
12655    IUnknown *pUnkStream);
12656void __RPC_STUB ISpeechCustomStream_putref_BaseStream_Stub(
12657    IRpcStubBuffer* This,
12658    IRpcChannelBuffer* pRpcChannelBuffer,
12659    PRPC_MESSAGE pRpcMessage,
12660    DWORD* pdwStubPhase);
12661
12662#endif  /* __ISpeechCustomStream_INTERFACE_DEFINED__ */
12663
12664/*****************************************************************************
12665 * ISpeechMemoryStream interface
12666 */
12667#ifndef __ISpeechMemoryStream_INTERFACE_DEFINED__
12668#define __ISpeechMemoryStream_INTERFACE_DEFINED__
12669
12670DEFINE_GUID(IID_ISpeechMemoryStream, 0xeeb14b68, 0x808b, 0x4abe, 0xa5,0xea, 0xb5,0x1d,0xa7,0x58,0x80,0x08);
12671#if defined(__cplusplus) && !defined(CINTERFACE)
12672MIDL_INTERFACE("eeb14b68-808b-4abe-a5ea-b51da7588008")
12673ISpeechMemoryStream : public ISpeechBaseStream
12674{
12675    virtual HRESULT STDMETHODCALLTYPE SetData(
12676        VARIANT Data) = 0;
12677
12678    virtual HRESULT STDMETHODCALLTYPE GetData(
12679        VARIANT *pData) = 0;
12680
12681};
12682#ifdef __CRT_UUID_DECL
12683__CRT_UUID_DECL(ISpeechMemoryStream, 0xeeb14b68, 0x808b, 0x4abe, 0xa5,0xea, 0xb5,0x1d,0xa7,0x58,0x80,0x08)
12684#endif
12685#else
12686typedef struct ISpeechMemoryStreamVtbl {
12687    BEGIN_INTERFACE
12688
12689    /*** IUnknown methods ***/
12690    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12691        ISpeechMemoryStream* This,
12692        REFIID riid,
12693        void **ppvObject);
12694
12695    ULONG (STDMETHODCALLTYPE *AddRef)(
12696        ISpeechMemoryStream* This);
12697
12698    ULONG (STDMETHODCALLTYPE *Release)(
12699        ISpeechMemoryStream* This);
12700
12701    /*** IDispatch methods ***/
12702    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
12703        ISpeechMemoryStream* This,
12704        UINT *pctinfo);
12705
12706    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
12707        ISpeechMemoryStream* This,
12708        UINT iTInfo,
12709        LCID lcid,
12710        ITypeInfo **ppTInfo);
12711
12712    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
12713        ISpeechMemoryStream* This,
12714        REFIID riid,
12715        LPOLESTR *rgszNames,
12716        UINT cNames,
12717        LCID lcid,
12718        DISPID *rgDispId);
12719
12720    HRESULT (STDMETHODCALLTYPE *Invoke)(
12721        ISpeechMemoryStream* This,
12722        DISPID dispIdMember,
12723        REFIID riid,
12724        LCID lcid,
12725        WORD wFlags,
12726        DISPPARAMS *pDispParams,
12727        VARIANT *pVarResult,
12728        EXCEPINFO *pExcepInfo,
12729        UINT *puArgErr);
12730
12731    /*** ISpeechBaseStream methods ***/
12732    HRESULT (STDMETHODCALLTYPE *get_Format)(
12733        ISpeechMemoryStream* This,
12734        ISpeechAudioFormat **AudioFormat);
12735
12736    HRESULT (STDMETHODCALLTYPE *putref_Format)(
12737        ISpeechMemoryStream* This,
12738        ISpeechAudioFormat *AudioFormat);
12739
12740    HRESULT (STDMETHODCALLTYPE *Read)(
12741        ISpeechMemoryStream* This,
12742        VARIANT *Buffer,
12743        LONG NumberOfBytes,
12744        LONG *BytesRead);
12745
12746    HRESULT (STDMETHODCALLTYPE *Write)(
12747        ISpeechMemoryStream* This,
12748        VARIANT Buffer,
12749        LONG *BytesWritten);
12750
12751    HRESULT (STDMETHODCALLTYPE *Seek)(
12752        ISpeechMemoryStream* This,
12753        VARIANT Position,
12754        SpeechStreamSeekPositionType Origin,
12755        VARIANT *NewPosition);
12756
12757    /*** ISpeechMemoryStream methods ***/
12758    HRESULT (STDMETHODCALLTYPE *SetData)(
12759        ISpeechMemoryStream* This,
12760        VARIANT Data);
12761
12762    HRESULT (STDMETHODCALLTYPE *GetData)(
12763        ISpeechMemoryStream* This,
12764        VARIANT *pData);
12765
12766    END_INTERFACE
12767} ISpeechMemoryStreamVtbl;
12768interface ISpeechMemoryStream {
12769    CONST_VTBL ISpeechMemoryStreamVtbl* lpVtbl;
12770};
12771
12772#ifdef COBJMACROS
12773#ifndef WIDL_C_INLINE_WRAPPERS
12774/*** IUnknown methods ***/
12775#define ISpeechMemoryStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12776#define ISpeechMemoryStream_AddRef(This) (This)->lpVtbl->AddRef(This)
12777#define ISpeechMemoryStream_Release(This) (This)->lpVtbl->Release(This)
12778/*** IDispatch methods ***/
12779#define ISpeechMemoryStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
12780#define ISpeechMemoryStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12781#define ISpeechMemoryStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12782#define ISpeechMemoryStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12783/*** ISpeechBaseStream methods ***/
12784#define ISpeechMemoryStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
12785#define ISpeechMemoryStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
12786#define ISpeechMemoryStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
12787#define ISpeechMemoryStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
12788#define ISpeechMemoryStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
12789/*** ISpeechMemoryStream methods ***/
12790#define ISpeechMemoryStream_SetData(This,Data) (This)->lpVtbl->SetData(This,Data)
12791#define ISpeechMemoryStream_GetData(This,pData) (This)->lpVtbl->GetData(This,pData)
12792#else
12793/*** IUnknown methods ***/
12794static FORCEINLINE HRESULT ISpeechMemoryStream_QueryInterface(ISpeechMemoryStream* This,REFIID riid,void **ppvObject) {
12795    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12796}
12797static FORCEINLINE ULONG ISpeechMemoryStream_AddRef(ISpeechMemoryStream* This) {
12798    return This->lpVtbl->AddRef(This);
12799}
12800static FORCEINLINE ULONG ISpeechMemoryStream_Release(ISpeechMemoryStream* This) {
12801    return This->lpVtbl->Release(This);
12802}
12803/*** IDispatch methods ***/
12804static FORCEINLINE HRESULT ISpeechMemoryStream_GetTypeInfoCount(ISpeechMemoryStream* This,UINT *pctinfo) {
12805    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
12806}
12807static FORCEINLINE HRESULT ISpeechMemoryStream_GetTypeInfo(ISpeechMemoryStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
12808    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
12809}
12810static FORCEINLINE HRESULT ISpeechMemoryStream_GetIDsOfNames(ISpeechMemoryStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
12811    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
12812}
12813static FORCEINLINE HRESULT ISpeechMemoryStream_Invoke(ISpeechMemoryStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
12814    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
12815}
12816/*** ISpeechBaseStream methods ***/
12817static FORCEINLINE HRESULT ISpeechMemoryStream_get_Format(ISpeechMemoryStream* This,ISpeechAudioFormat **AudioFormat) {
12818    return This->lpVtbl->get_Format(This,AudioFormat);
12819}
12820static FORCEINLINE HRESULT ISpeechMemoryStream_putref_Format(ISpeechMemoryStream* This,ISpeechAudioFormat *AudioFormat) {
12821    return This->lpVtbl->putref_Format(This,AudioFormat);
12822}
12823static FORCEINLINE HRESULT ISpeechMemoryStream_Read(ISpeechMemoryStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
12824    return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
12825}
12826static FORCEINLINE HRESULT ISpeechMemoryStream_Write(ISpeechMemoryStream* This,VARIANT Buffer,LONG *BytesWritten) {
12827    return This->lpVtbl->Write(This,Buffer,BytesWritten);
12828}
12829static FORCEINLINE HRESULT ISpeechMemoryStream_Seek(ISpeechMemoryStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
12830    return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
12831}
12832/*** ISpeechMemoryStream methods ***/
12833static FORCEINLINE HRESULT ISpeechMemoryStream_SetData(ISpeechMemoryStream* This,VARIANT Data) {
12834    return This->lpVtbl->SetData(This,Data);
12835}
12836static FORCEINLINE HRESULT ISpeechMemoryStream_GetData(ISpeechMemoryStream* This,VARIANT *pData) {
12837    return This->lpVtbl->GetData(This,pData);
12838}
12839#endif
12840#endif
12841
12842#endif
12843
12844HRESULT STDMETHODCALLTYPE ISpeechMemoryStream_SetData_Proxy(
12845    ISpeechMemoryStream* This,
12846    VARIANT Data);
12847void __RPC_STUB ISpeechMemoryStream_SetData_Stub(
12848    IRpcStubBuffer* This,
12849    IRpcChannelBuffer* pRpcChannelBuffer,
12850    PRPC_MESSAGE pRpcMessage,
12851    DWORD* pdwStubPhase);
12852HRESULT STDMETHODCALLTYPE ISpeechMemoryStream_GetData_Proxy(
12853    ISpeechMemoryStream* This,
12854    VARIANT *pData);
12855void __RPC_STUB ISpeechMemoryStream_GetData_Stub(
12856    IRpcStubBuffer* This,
12857    IRpcChannelBuffer* pRpcChannelBuffer,
12858    PRPC_MESSAGE pRpcMessage,
12859    DWORD* pdwStubPhase);
12860
12861#endif  /* __ISpeechMemoryStream_INTERFACE_DEFINED__ */
12862
12863/*****************************************************************************
12864 * ISpeechAudioStatus interface
12865 */
12866#ifndef __ISpeechAudioStatus_INTERFACE_DEFINED__
12867#define __ISpeechAudioStatus_INTERFACE_DEFINED__
12868
12869DEFINE_GUID(IID_ISpeechAudioStatus, 0xc62d9c91, 0x7458, 0x47f6, 0x86,0x2d, 0x1e,0xf8,0x6f,0xb0,0xb2,0x78);
12870#if defined(__cplusplus) && !defined(CINTERFACE)
12871MIDL_INTERFACE("c62d9c91-7458-47f6-862d-1ef86fb0b278")
12872ISpeechAudioStatus : public IDispatch
12873{
12874    virtual HRESULT STDMETHODCALLTYPE get_FreeBufferSpace(
12875        LONG *FreeBufferSpace) = 0;
12876
12877    virtual HRESULT STDMETHODCALLTYPE get_NonBlockingIO(
12878        LONG *NonBlockingIO) = 0;
12879
12880    virtual HRESULT STDMETHODCALLTYPE get_State(
12881        SpeechAudioState *State) = 0;
12882
12883    virtual HRESULT STDMETHODCALLTYPE get_CurrentSeekPosition(
12884        VARIANT *CurrentSeekPosition) = 0;
12885
12886    virtual HRESULT STDMETHODCALLTYPE get_CurrentDevicePosition(
12887        VARIANT *CurrentDevicePosition) = 0;
12888
12889};
12890#ifdef __CRT_UUID_DECL
12891__CRT_UUID_DECL(ISpeechAudioStatus, 0xc62d9c91, 0x7458, 0x47f6, 0x86,0x2d, 0x1e,0xf8,0x6f,0xb0,0xb2,0x78)
12892#endif
12893#else
12894typedef struct ISpeechAudioStatusVtbl {
12895    BEGIN_INTERFACE
12896
12897    /*** IUnknown methods ***/
12898    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
12899        ISpeechAudioStatus* This,
12900        REFIID riid,
12901        void **ppvObject);
12902
12903    ULONG (STDMETHODCALLTYPE *AddRef)(
12904        ISpeechAudioStatus* This);
12905
12906    ULONG (STDMETHODCALLTYPE *Release)(
12907        ISpeechAudioStatus* This);
12908
12909    /*** IDispatch methods ***/
12910    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
12911        ISpeechAudioStatus* This,
12912        UINT *pctinfo);
12913
12914    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
12915        ISpeechAudioStatus* This,
12916        UINT iTInfo,
12917        LCID lcid,
12918        ITypeInfo **ppTInfo);
12919
12920    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
12921        ISpeechAudioStatus* This,
12922        REFIID riid,
12923        LPOLESTR *rgszNames,
12924        UINT cNames,
12925        LCID lcid,
12926        DISPID *rgDispId);
12927
12928    HRESULT (STDMETHODCALLTYPE *Invoke)(
12929        ISpeechAudioStatus* This,
12930        DISPID dispIdMember,
12931        REFIID riid,
12932        LCID lcid,
12933        WORD wFlags,
12934        DISPPARAMS *pDispParams,
12935        VARIANT *pVarResult,
12936        EXCEPINFO *pExcepInfo,
12937        UINT *puArgErr);
12938
12939    /*** ISpeechAudioStatus methods ***/
12940    HRESULT (STDMETHODCALLTYPE *get_FreeBufferSpace)(
12941        ISpeechAudioStatus* This,
12942        LONG *FreeBufferSpace);
12943
12944    HRESULT (STDMETHODCALLTYPE *get_NonBlockingIO)(
12945        ISpeechAudioStatus* This,
12946        LONG *NonBlockingIO);
12947
12948    HRESULT (STDMETHODCALLTYPE *get_State)(
12949        ISpeechAudioStatus* This,
12950        SpeechAudioState *State);
12951
12952    HRESULT (STDMETHODCALLTYPE *get_CurrentSeekPosition)(
12953        ISpeechAudioStatus* This,
12954        VARIANT *CurrentSeekPosition);
12955
12956    HRESULT (STDMETHODCALLTYPE *get_CurrentDevicePosition)(
12957        ISpeechAudioStatus* This,
12958        VARIANT *CurrentDevicePosition);
12959
12960    END_INTERFACE
12961} ISpeechAudioStatusVtbl;
12962interface ISpeechAudioStatus {
12963    CONST_VTBL ISpeechAudioStatusVtbl* lpVtbl;
12964};
12965
12966#ifdef COBJMACROS
12967#ifndef WIDL_C_INLINE_WRAPPERS
12968/*** IUnknown methods ***/
12969#define ISpeechAudioStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
12970#define ISpeechAudioStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
12971#define ISpeechAudioStatus_Release(This) (This)->lpVtbl->Release(This)
12972/*** IDispatch methods ***/
12973#define ISpeechAudioStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
12974#define ISpeechAudioStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12975#define ISpeechAudioStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12976#define ISpeechAudioStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12977/*** ISpeechAudioStatus methods ***/
12978#define ISpeechAudioStatus_get_FreeBufferSpace(This,FreeBufferSpace) (This)->lpVtbl->get_FreeBufferSpace(This,FreeBufferSpace)
12979#define ISpeechAudioStatus_get_NonBlockingIO(This,NonBlockingIO) (This)->lpVtbl->get_NonBlockingIO(This,NonBlockingIO)
12980#define ISpeechAudioStatus_get_State(This,State) (This)->lpVtbl->get_State(This,State)
12981#define ISpeechAudioStatus_get_CurrentSeekPosition(This,CurrentSeekPosition) (This)->lpVtbl->get_CurrentSeekPosition(This,CurrentSeekPosition)
12982#define ISpeechAudioStatus_get_CurrentDevicePosition(This,CurrentDevicePosition) (This)->lpVtbl->get_CurrentDevicePosition(This,CurrentDevicePosition)
12983#else
12984/*** IUnknown methods ***/
12985static FORCEINLINE HRESULT ISpeechAudioStatus_QueryInterface(ISpeechAudioStatus* This,REFIID riid,void **ppvObject) {
12986    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
12987}
12988static FORCEINLINE ULONG ISpeechAudioStatus_AddRef(ISpeechAudioStatus* This) {
12989    return This->lpVtbl->AddRef(This);
12990}
12991static FORCEINLINE ULONG ISpeechAudioStatus_Release(ISpeechAudioStatus* This) {
12992    return This->lpVtbl->Release(This);
12993}
12994/*** IDispatch methods ***/
12995static FORCEINLINE HRESULT ISpeechAudioStatus_GetTypeInfoCount(ISpeechAudioStatus* This,UINT *pctinfo) {
12996    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
12997}
12998static FORCEINLINE HRESULT ISpeechAudioStatus_GetTypeInfo(ISpeechAudioStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
12999    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
13000}
13001static FORCEINLINE HRESULT ISpeechAudioStatus_GetIDsOfNames(ISpeechAudioStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
13002    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
13003}
13004static FORCEINLINE HRESULT ISpeechAudioStatus_Invoke(ISpeechAudioStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
13005    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
13006}
13007/*** ISpeechAudioStatus methods ***/
13008static FORCEINLINE HRESULT ISpeechAudioStatus_get_FreeBufferSpace(ISpeechAudioStatus* This,LONG *FreeBufferSpace) {
13009    return This->lpVtbl->get_FreeBufferSpace(This,FreeBufferSpace);
13010}
13011static FORCEINLINE HRESULT ISpeechAudioStatus_get_NonBlockingIO(ISpeechAudioStatus* This,LONG *NonBlockingIO) {
13012    return This->lpVtbl->get_NonBlockingIO(This,NonBlockingIO);
13013}
13014static FORCEINLINE HRESULT ISpeechAudioStatus_get_State(ISpeechAudioStatus* This,SpeechAudioState *State) {
13015    return This->lpVtbl->get_State(This,State);
13016}
13017static FORCEINLINE HRESULT ISpeechAudioStatus_get_CurrentSeekPosition(ISpeechAudioStatus* This,VARIANT *CurrentSeekPosition) {
13018    return This->lpVtbl->get_CurrentSeekPosition(This,CurrentSeekPosition);
13019}
13020static FORCEINLINE HRESULT ISpeechAudioStatus_get_CurrentDevicePosition(ISpeechAudioStatus* This,VARIANT *CurrentDevicePosition) {
13021    return This->lpVtbl->get_CurrentDevicePosition(This,CurrentDevicePosition);
13022}
13023#endif
13024#endif
13025
13026#endif
13027
13028HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_FreeBufferSpace_Proxy(
13029    ISpeechAudioStatus* This,
13030    LONG *FreeBufferSpace);
13031void __RPC_STUB ISpeechAudioStatus_get_FreeBufferSpace_Stub(
13032    IRpcStubBuffer* This,
13033    IRpcChannelBuffer* pRpcChannelBuffer,
13034    PRPC_MESSAGE pRpcMessage,
13035    DWORD* pdwStubPhase);
13036HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_NonBlockingIO_Proxy(
13037    ISpeechAudioStatus* This,
13038    LONG *NonBlockingIO);
13039void __RPC_STUB ISpeechAudioStatus_get_NonBlockingIO_Stub(
13040    IRpcStubBuffer* This,
13041    IRpcChannelBuffer* pRpcChannelBuffer,
13042    PRPC_MESSAGE pRpcMessage,
13043    DWORD* pdwStubPhase);
13044HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_State_Proxy(
13045    ISpeechAudioStatus* This,
13046    SpeechAudioState *State);
13047void __RPC_STUB ISpeechAudioStatus_get_State_Stub(
13048    IRpcStubBuffer* This,
13049    IRpcChannelBuffer* pRpcChannelBuffer,
13050    PRPC_MESSAGE pRpcMessage,
13051    DWORD* pdwStubPhase);
13052HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_CurrentSeekPosition_Proxy(
13053    ISpeechAudioStatus* This,
13054    VARIANT *CurrentSeekPosition);
13055void __RPC_STUB ISpeechAudioStatus_get_CurrentSeekPosition_Stub(
13056    IRpcStubBuffer* This,
13057    IRpcChannelBuffer* pRpcChannelBuffer,
13058    PRPC_MESSAGE pRpcMessage,
13059    DWORD* pdwStubPhase);
13060HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_CurrentDevicePosition_Proxy(
13061    ISpeechAudioStatus* This,
13062    VARIANT *CurrentDevicePosition);
13063void __RPC_STUB ISpeechAudioStatus_get_CurrentDevicePosition_Stub(
13064    IRpcStubBuffer* This,
13065    IRpcChannelBuffer* pRpcChannelBuffer,
13066    PRPC_MESSAGE pRpcMessage,
13067    DWORD* pdwStubPhase);
13068
13069#endif  /* __ISpeechAudioStatus_INTERFACE_DEFINED__ */
13070
13071/*****************************************************************************
13072 * ISpeechAudioBufferInfo interface
13073 */
13074#ifndef __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
13075#define __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
13076
13077DEFINE_GUID(IID_ISpeechAudioBufferInfo, 0x11b103d8, 0x1142, 0x4edf, 0xa0,0x93, 0x82,0xfb,0x39,0x15,0xf8,0xcc);
13078#if defined(__cplusplus) && !defined(CINTERFACE)
13079MIDL_INTERFACE("11b103d8-1142-4edf-a093-82fb3915f8cc")
13080ISpeechAudioBufferInfo : public IDispatch
13081{
13082    virtual HRESULT STDMETHODCALLTYPE get_MinNotification(
13083        LONG *MinNotification) = 0;
13084
13085    virtual HRESULT STDMETHODCALLTYPE put_MinNotification(
13086        LONG MinNotification) = 0;
13087
13088    virtual HRESULT STDMETHODCALLTYPE get_BufferSize(
13089        LONG *BufferSize) = 0;
13090
13091    virtual HRESULT STDMETHODCALLTYPE put_BufferSize(
13092        LONG BufferSize) = 0;
13093
13094    virtual HRESULT STDMETHODCALLTYPE get_EventBias(
13095        LONG *EventBias) = 0;
13096
13097    virtual HRESULT STDMETHODCALLTYPE put_EventBias(
13098        LONG EventBias) = 0;
13099
13100};
13101#ifdef __CRT_UUID_DECL
13102__CRT_UUID_DECL(ISpeechAudioBufferInfo, 0x11b103d8, 0x1142, 0x4edf, 0xa0,0x93, 0x82,0xfb,0x39,0x15,0xf8,0xcc)
13103#endif
13104#else
13105typedef struct ISpeechAudioBufferInfoVtbl {
13106    BEGIN_INTERFACE
13107
13108    /*** IUnknown methods ***/
13109    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13110        ISpeechAudioBufferInfo* This,
13111        REFIID riid,
13112        void **ppvObject);
13113
13114    ULONG (STDMETHODCALLTYPE *AddRef)(
13115        ISpeechAudioBufferInfo* This);
13116
13117    ULONG (STDMETHODCALLTYPE *Release)(
13118        ISpeechAudioBufferInfo* This);
13119
13120    /*** IDispatch methods ***/
13121    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
13122        ISpeechAudioBufferInfo* This,
13123        UINT *pctinfo);
13124
13125    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
13126        ISpeechAudioBufferInfo* This,
13127        UINT iTInfo,
13128        LCID lcid,
13129        ITypeInfo **ppTInfo);
13130
13131    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
13132        ISpeechAudioBufferInfo* This,
13133        REFIID riid,
13134        LPOLESTR *rgszNames,
13135        UINT cNames,
13136        LCID lcid,
13137        DISPID *rgDispId);
13138
13139    HRESULT (STDMETHODCALLTYPE *Invoke)(
13140        ISpeechAudioBufferInfo* This,
13141        DISPID dispIdMember,
13142        REFIID riid,
13143        LCID lcid,
13144        WORD wFlags,
13145        DISPPARAMS *pDispParams,
13146        VARIANT *pVarResult,
13147        EXCEPINFO *pExcepInfo,
13148        UINT *puArgErr);
13149
13150    /*** ISpeechAudioBufferInfo methods ***/
13151    HRESULT (STDMETHODCALLTYPE *get_MinNotification)(
13152        ISpeechAudioBufferInfo* This,
13153        LONG *MinNotification);
13154
13155    HRESULT (STDMETHODCALLTYPE *put_MinNotification)(
13156        ISpeechAudioBufferInfo* This,
13157        LONG MinNotification);
13158
13159    HRESULT (STDMETHODCALLTYPE *get_BufferSize)(
13160        ISpeechAudioBufferInfo* This,
13161        LONG *BufferSize);
13162
13163    HRESULT (STDMETHODCALLTYPE *put_BufferSize)(
13164        ISpeechAudioBufferInfo* This,
13165        LONG BufferSize);
13166
13167    HRESULT (STDMETHODCALLTYPE *get_EventBias)(
13168        ISpeechAudioBufferInfo* This,
13169        LONG *EventBias);
13170
13171    HRESULT (STDMETHODCALLTYPE *put_EventBias)(
13172        ISpeechAudioBufferInfo* This,
13173        LONG EventBias);
13174
13175    END_INTERFACE
13176} ISpeechAudioBufferInfoVtbl;
13177interface ISpeechAudioBufferInfo {
13178    CONST_VTBL ISpeechAudioBufferInfoVtbl* lpVtbl;
13179};
13180
13181#ifdef COBJMACROS
13182#ifndef WIDL_C_INLINE_WRAPPERS
13183/*** IUnknown methods ***/
13184#define ISpeechAudioBufferInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13185#define ISpeechAudioBufferInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
13186#define ISpeechAudioBufferInfo_Release(This) (This)->lpVtbl->Release(This)
13187/*** IDispatch methods ***/
13188#define ISpeechAudioBufferInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
13189#define ISpeechAudioBufferInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
13190#define ISpeechAudioBufferInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
13191#define ISpeechAudioBufferInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
13192/*** ISpeechAudioBufferInfo methods ***/
13193#define ISpeechAudioBufferInfo_get_MinNotification(This,MinNotification) (This)->lpVtbl->get_MinNotification(This,MinNotification)
13194#define ISpeechAudioBufferInfo_put_MinNotification(This,MinNotification) (This)->lpVtbl->put_MinNotification(This,MinNotification)
13195#define ISpeechAudioBufferInfo_get_BufferSize(This,BufferSize) (This)->lpVtbl->get_BufferSize(This,BufferSize)
13196#define ISpeechAudioBufferInfo_put_BufferSize(This,BufferSize) (This)->lpVtbl->put_BufferSize(This,BufferSize)
13197#define ISpeechAudioBufferInfo_get_EventBias(This,EventBias) (This)->lpVtbl->get_EventBias(This,EventBias)
13198#define ISpeechAudioBufferInfo_put_EventBias(This,EventBias) (This)->lpVtbl->put_EventBias(This,EventBias)
13199#else
13200/*** IUnknown methods ***/
13201static FORCEINLINE HRESULT ISpeechAudioBufferInfo_QueryInterface(ISpeechAudioBufferInfo* This,REFIID riid,void **ppvObject) {
13202    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13203}
13204static FORCEINLINE ULONG ISpeechAudioBufferInfo_AddRef(ISpeechAudioBufferInfo* This) {
13205    return This->lpVtbl->AddRef(This);
13206}
13207static FORCEINLINE ULONG ISpeechAudioBufferInfo_Release(ISpeechAudioBufferInfo* This) {
13208    return This->lpVtbl->Release(This);
13209}
13210/*** IDispatch methods ***/
13211static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetTypeInfoCount(ISpeechAudioBufferInfo* This,UINT *pctinfo) {
13212    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
13213}
13214static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetTypeInfo(ISpeechAudioBufferInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
13215    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
13216}
13217static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetIDsOfNames(ISpeechAudioBufferInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
13218    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
13219}
13220static FORCEINLINE HRESULT ISpeechAudioBufferInfo_Invoke(ISpeechAudioBufferInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
13221    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
13222}
13223/*** ISpeechAudioBufferInfo methods ***/
13224static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_MinNotification(ISpeechAudioBufferInfo* This,LONG *MinNotification) {
13225    return This->lpVtbl->get_MinNotification(This,MinNotification);
13226}
13227static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_MinNotification(ISpeechAudioBufferInfo* This,LONG MinNotification) {
13228    return This->lpVtbl->put_MinNotification(This,MinNotification);
13229}
13230static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_BufferSize(ISpeechAudioBufferInfo* This,LONG *BufferSize) {
13231    return This->lpVtbl->get_BufferSize(This,BufferSize);
13232}
13233static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_BufferSize(ISpeechAudioBufferInfo* This,LONG BufferSize) {
13234    return This->lpVtbl->put_BufferSize(This,BufferSize);
13235}
13236static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_EventBias(ISpeechAudioBufferInfo* This,LONG *EventBias) {
13237    return This->lpVtbl->get_EventBias(This,EventBias);
13238}
13239static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_EventBias(ISpeechAudioBufferInfo* This,LONG EventBias) {
13240    return This->lpVtbl->put_EventBias(This,EventBias);
13241}
13242#endif
13243#endif
13244
13245#endif
13246
13247HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_MinNotification_Proxy(
13248    ISpeechAudioBufferInfo* This,
13249    LONG *MinNotification);
13250void __RPC_STUB ISpeechAudioBufferInfo_get_MinNotification_Stub(
13251    IRpcStubBuffer* This,
13252    IRpcChannelBuffer* pRpcChannelBuffer,
13253    PRPC_MESSAGE pRpcMessage,
13254    DWORD* pdwStubPhase);
13255HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_MinNotification_Proxy(
13256    ISpeechAudioBufferInfo* This,
13257    LONG MinNotification);
13258void __RPC_STUB ISpeechAudioBufferInfo_put_MinNotification_Stub(
13259    IRpcStubBuffer* This,
13260    IRpcChannelBuffer* pRpcChannelBuffer,
13261    PRPC_MESSAGE pRpcMessage,
13262    DWORD* pdwStubPhase);
13263HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_BufferSize_Proxy(
13264    ISpeechAudioBufferInfo* This,
13265    LONG *BufferSize);
13266void __RPC_STUB ISpeechAudioBufferInfo_get_BufferSize_Stub(
13267    IRpcStubBuffer* This,
13268    IRpcChannelBuffer* pRpcChannelBuffer,
13269    PRPC_MESSAGE pRpcMessage,
13270    DWORD* pdwStubPhase);
13271HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_BufferSize_Proxy(
13272    ISpeechAudioBufferInfo* This,
13273    LONG BufferSize);
13274void __RPC_STUB ISpeechAudioBufferInfo_put_BufferSize_Stub(
13275    IRpcStubBuffer* This,
13276    IRpcChannelBuffer* pRpcChannelBuffer,
13277    PRPC_MESSAGE pRpcMessage,
13278    DWORD* pdwStubPhase);
13279HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_EventBias_Proxy(
13280    ISpeechAudioBufferInfo* This,
13281    LONG *EventBias);
13282void __RPC_STUB ISpeechAudioBufferInfo_get_EventBias_Stub(
13283    IRpcStubBuffer* This,
13284    IRpcChannelBuffer* pRpcChannelBuffer,
13285    PRPC_MESSAGE pRpcMessage,
13286    DWORD* pdwStubPhase);
13287HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_EventBias_Proxy(
13288    ISpeechAudioBufferInfo* This,
13289    LONG EventBias);
13290void __RPC_STUB ISpeechAudioBufferInfo_put_EventBias_Stub(
13291    IRpcStubBuffer* This,
13292    IRpcChannelBuffer* pRpcChannelBuffer,
13293    PRPC_MESSAGE pRpcMessage,
13294    DWORD* pdwStubPhase);
13295
13296#endif  /* __ISpeechAudioBufferInfo_INTERFACE_DEFINED__ */
13297
13298/*****************************************************************************
13299 * ISpeechWaveFormatEx interface
13300 */
13301#ifndef __ISpeechWaveFormatEx_INTERFACE_DEFINED__
13302#define __ISpeechWaveFormatEx_INTERFACE_DEFINED__
13303
13304DEFINE_GUID(IID_ISpeechWaveFormatEx, 0x7a1ef0d5, 0x1581, 0x4741, 0x88,0xe4, 0x20,0x9a,0x49,0xf1,0x1a,0x10);
13305#if defined(__cplusplus) && !defined(CINTERFACE)
13306MIDL_INTERFACE("7a1ef0d5-1581-4741-88e4-209a49f11a10")
13307ISpeechWaveFormatEx : public IDispatch
13308{
13309    virtual HRESULT STDMETHODCALLTYPE get_FormatTag(
13310        short *FormatTag) = 0;
13311
13312    virtual HRESULT STDMETHODCALLTYPE put_FormatTag(
13313        short FormatTag) = 0;
13314
13315    virtual HRESULT STDMETHODCALLTYPE get_Channels(
13316        short *Channels) = 0;
13317
13318    virtual HRESULT STDMETHODCALLTYPE put_Channels(
13319        short Channels) = 0;
13320
13321    virtual HRESULT STDMETHODCALLTYPE get_SamplesPerSec(
13322        LONG *SamplesPerSec) = 0;
13323
13324    virtual HRESULT STDMETHODCALLTYPE put_SamplesPerSec(
13325        LONG SamplesPerSec) = 0;
13326
13327    virtual HRESULT STDMETHODCALLTYPE get_AvgBytesPerSec(
13328        LONG *AvgBytesPerSec) = 0;
13329
13330    virtual HRESULT STDMETHODCALLTYPE put_AvgBytesPerSec(
13331        LONG AvgBytesPerSec) = 0;
13332
13333    virtual HRESULT STDMETHODCALLTYPE get_BlockAlign(
13334        short *BlockAlign) = 0;
13335
13336    virtual HRESULT STDMETHODCALLTYPE put_BlockAlign(
13337        short BlockAlign) = 0;
13338
13339    virtual HRESULT STDMETHODCALLTYPE get_BitsPerSample(
13340        short *BitsPerSample) = 0;
13341
13342    virtual HRESULT STDMETHODCALLTYPE put_BitsPerSample(
13343        short BitsPerSample) = 0;
13344
13345    virtual HRESULT STDMETHODCALLTYPE get_ExtraData(
13346        VARIANT *ExtraData) = 0;
13347
13348    virtual HRESULT STDMETHODCALLTYPE put_ExtraData(
13349        VARIANT ExtraData) = 0;
13350
13351};
13352#ifdef __CRT_UUID_DECL
13353__CRT_UUID_DECL(ISpeechWaveFormatEx, 0x7a1ef0d5, 0x1581, 0x4741, 0x88,0xe4, 0x20,0x9a,0x49,0xf1,0x1a,0x10)
13354#endif
13355#else
13356typedef struct ISpeechWaveFormatExVtbl {
13357    BEGIN_INTERFACE
13358
13359    /*** IUnknown methods ***/
13360    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13361        ISpeechWaveFormatEx* This,
13362        REFIID riid,
13363        void **ppvObject);
13364
13365    ULONG (STDMETHODCALLTYPE *AddRef)(
13366        ISpeechWaveFormatEx* This);
13367
13368    ULONG (STDMETHODCALLTYPE *Release)(
13369        ISpeechWaveFormatEx* This);
13370
13371    /*** IDispatch methods ***/
13372    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
13373        ISpeechWaveFormatEx* This,
13374        UINT *pctinfo);
13375
13376    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
13377        ISpeechWaveFormatEx* This,
13378        UINT iTInfo,
13379        LCID lcid,
13380        ITypeInfo **ppTInfo);
13381
13382    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
13383        ISpeechWaveFormatEx* This,
13384        REFIID riid,
13385        LPOLESTR *rgszNames,
13386        UINT cNames,
13387        LCID lcid,
13388        DISPID *rgDispId);
13389
13390    HRESULT (STDMETHODCALLTYPE *Invoke)(
13391        ISpeechWaveFormatEx* This,
13392        DISPID dispIdMember,
13393        REFIID riid,
13394        LCID lcid,
13395        WORD wFlags,
13396        DISPPARAMS *pDispParams,
13397        VARIANT *pVarResult,
13398        EXCEPINFO *pExcepInfo,
13399        UINT *puArgErr);
13400
13401    /*** ISpeechWaveFormatEx methods ***/
13402    HRESULT (STDMETHODCALLTYPE *get_FormatTag)(
13403        ISpeechWaveFormatEx* This,
13404        short *FormatTag);
13405
13406    HRESULT (STDMETHODCALLTYPE *put_FormatTag)(
13407        ISpeechWaveFormatEx* This,
13408        short FormatTag);
13409
13410    HRESULT (STDMETHODCALLTYPE *get_Channels)(
13411        ISpeechWaveFormatEx* This,
13412        short *Channels);
13413
13414    HRESULT (STDMETHODCALLTYPE *put_Channels)(
13415        ISpeechWaveFormatEx* This,
13416        short Channels);
13417
13418    HRESULT (STDMETHODCALLTYPE *get_SamplesPerSec)(
13419        ISpeechWaveFormatEx* This,
13420        LONG *SamplesPerSec);
13421
13422    HRESULT (STDMETHODCALLTYPE *put_SamplesPerSec)(
13423        ISpeechWaveFormatEx* This,
13424        LONG SamplesPerSec);
13425
13426    HRESULT (STDMETHODCALLTYPE *get_AvgBytesPerSec)(
13427        ISpeechWaveFormatEx* This,
13428        LONG *AvgBytesPerSec);
13429
13430    HRESULT (STDMETHODCALLTYPE *put_AvgBytesPerSec)(
13431        ISpeechWaveFormatEx* This,
13432        LONG AvgBytesPerSec);
13433
13434    HRESULT (STDMETHODCALLTYPE *get_BlockAlign)(
13435        ISpeechWaveFormatEx* This,
13436        short *BlockAlign);
13437
13438    HRESULT (STDMETHODCALLTYPE *put_BlockAlign)(
13439        ISpeechWaveFormatEx* This,
13440        short BlockAlign);
13441
13442    HRESULT (STDMETHODCALLTYPE *get_BitsPerSample)(
13443        ISpeechWaveFormatEx* This,
13444        short *BitsPerSample);
13445
13446    HRESULT (STDMETHODCALLTYPE *put_BitsPerSample)(
13447        ISpeechWaveFormatEx* This,
13448        short BitsPerSample);
13449
13450    HRESULT (STDMETHODCALLTYPE *get_ExtraData)(
13451        ISpeechWaveFormatEx* This,
13452        VARIANT *ExtraData);
13453
13454    HRESULT (STDMETHODCALLTYPE *put_ExtraData)(
13455        ISpeechWaveFormatEx* This,
13456        VARIANT ExtraData);
13457
13458    END_INTERFACE
13459} ISpeechWaveFormatExVtbl;
13460interface ISpeechWaveFormatEx {
13461    CONST_VTBL ISpeechWaveFormatExVtbl* lpVtbl;
13462};
13463
13464#ifdef COBJMACROS
13465#ifndef WIDL_C_INLINE_WRAPPERS
13466/*** IUnknown methods ***/
13467#define ISpeechWaveFormatEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
13468#define ISpeechWaveFormatEx_AddRef(This) (This)->lpVtbl->AddRef(This)
13469#define ISpeechWaveFormatEx_Release(This) (This)->lpVtbl->Release(This)
13470/*** IDispatch methods ***/
13471#define ISpeechWaveFormatEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
13472#define ISpeechWaveFormatEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
13473#define ISpeechWaveFormatEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
13474#define ISpeechWaveFormatEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
13475/*** ISpeechWaveFormatEx methods ***/
13476#define ISpeechWaveFormatEx_get_FormatTag(This,FormatTag) (This)->lpVtbl->get_FormatTag(This,FormatTag)
13477#define ISpeechWaveFormatEx_put_FormatTag(This,FormatTag) (This)->lpVtbl->put_FormatTag(This,FormatTag)
13478#define ISpeechWaveFormatEx_get_Channels(This,Channels) (This)->lpVtbl->get_Channels(This,Channels)
13479#define ISpeechWaveFormatEx_put_Channels(This,Channels) (This)->lpVtbl->put_Channels(This,Channels)
13480#define ISpeechWaveFormatEx_get_SamplesPerSec(This,SamplesPerSec) (This)->lpVtbl->get_SamplesPerSec(This,SamplesPerSec)
13481#define ISpeechWaveFormatEx_put_SamplesPerSec(This,SamplesPerSec) (This)->lpVtbl->put_SamplesPerSec(This,SamplesPerSec)
13482#define ISpeechWaveFormatEx_get_AvgBytesPerSec(This,AvgBytesPerSec) (This)->lpVtbl->get_AvgBytesPerSec(This,AvgBytesPerSec)
13483#define ISpeechWaveFormatEx_put_AvgBytesPerSec(This,AvgBytesPerSec) (This)->lpVtbl->put_AvgBytesPerSec(This,AvgBytesPerSec)
13484#define ISpeechWaveFormatEx_get_BlockAlign(This,BlockAlign) (This)->lpVtbl->get_BlockAlign(This,BlockAlign)
13485#define ISpeechWaveFormatEx_put_BlockAlign(This,BlockAlign) (This)->lpVtbl->put_BlockAlign(This,BlockAlign)
13486#define ISpeechWaveFormatEx_get_BitsPerSample(This,BitsPerSample) (This)->lpVtbl->get_BitsPerSample(This,BitsPerSample)
13487#define ISpeechWaveFormatEx_put_BitsPerSample(This,BitsPerSample) (This)->lpVtbl->put_BitsPerSample(This,BitsPerSample)
13488#define ISpeechWaveFormatEx_get_ExtraData(This,ExtraData) (This)->lpVtbl->get_ExtraData(This,ExtraData)
13489#define ISpeechWaveFormatEx_put_ExtraData(This,ExtraData) (This)->lpVtbl->put_ExtraData(This,ExtraData)
13490#else
13491/*** IUnknown methods ***/
13492static FORCEINLINE HRESULT ISpeechWaveFormatEx_QueryInterface(ISpeechWaveFormatEx* This,REFIID riid,void **ppvObject) {
13493    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
13494}
13495static FORCEINLINE ULONG ISpeechWaveFormatEx_AddRef(ISpeechWaveFormatEx* This) {
13496    return This->lpVtbl->AddRef(This);
13497}
13498static FORCEINLINE ULONG ISpeechWaveFormatEx_Release(ISpeechWaveFormatEx* This) {
13499    return This->lpVtbl->Release(This);
13500}
13501/*** IDispatch methods ***/
13502static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetTypeInfoCount(ISpeechWaveFormatEx* This,UINT *pctinfo) {
13503    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
13504}
13505static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetTypeInfo(ISpeechWaveFormatEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
13506    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
13507}
13508static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetIDsOfNames(ISpeechWaveFormatEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
13509    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
13510}
13511static FORCEINLINE HRESULT ISpeechWaveFormatEx_Invoke(ISpeechWaveFormatEx* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
13512    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
13513}
13514/*** ISpeechWaveFormatEx methods ***/
13515static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_FormatTag(ISpeechWaveFormatEx* This,short *FormatTag) {
13516    return This->lpVtbl->get_FormatTag(This,FormatTag);
13517}
13518static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_FormatTag(ISpeechWaveFormatEx* This,short FormatTag) {
13519    return This->lpVtbl->put_FormatTag(This,FormatTag);
13520}
13521static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_Channels(ISpeechWaveFormatEx* This,short *Channels) {
13522    return This->lpVtbl->get_Channels(This,Channels);
13523}
13524static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_Channels(ISpeechWaveFormatEx* This,short Channels) {
13525    return This->lpVtbl->put_Channels(This,Channels);
13526}
13527static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_SamplesPerSec(ISpeechWaveFormatEx* This,LONG *SamplesPerSec) {
13528    return This->lpVtbl->get_SamplesPerSec(This,SamplesPerSec);
13529}
13530static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_SamplesPerSec(ISpeechWaveFormatEx* This,LONG SamplesPerSec) {
13531    return This->lpVtbl->put_SamplesPerSec(This,SamplesPerSec);
13532}
13533static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_AvgBytesPerSec(ISpeechWaveFormatEx* This,LONG *AvgBytesPerSec) {
13534    return This->lpVtbl->get_AvgBytesPerSec(This,AvgBytesPerSec);
13535}
13536static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_AvgBytesPerSec(ISpeechWaveFormatEx* This,LONG AvgBytesPerSec) {
13537    return This->lpVtbl->put_AvgBytesPerSec(This,AvgBytesPerSec);
13538}
13539static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_BlockAlign(ISpeechWaveFormatEx* This,short *BlockAlign) {
13540    return This->lpVtbl->get_BlockAlign(This,BlockAlign);
13541}
13542static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_BlockAlign(ISpeechWaveFormatEx* This,short BlockAlign) {
13543    return This->lpVtbl->put_BlockAlign(This,BlockAlign);
13544}
13545static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_BitsPerSample(ISpeechWaveFormatEx* This,short *BitsPerSample) {
13546    return This->lpVtbl->get_BitsPerSample(This,BitsPerSample);
13547}
13548static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_BitsPerSample(ISpeechWaveFormatEx* This,short BitsPerSample) {
13549    return This->lpVtbl->put_BitsPerSample(This,BitsPerSample);
13550}
13551static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_ExtraData(ISpeechWaveFormatEx* This,VARIANT *ExtraData) {
13552    return This->lpVtbl->get_ExtraData(This,ExtraData);
13553}
13554static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_ExtraData(ISpeechWaveFormatEx* This,VARIANT ExtraData) {
13555    return This->lpVtbl->put_ExtraData(This,ExtraData);
13556}
13557#endif
13558#endif
13559
13560#endif
13561
13562HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_FormatTag_Proxy(
13563    ISpeechWaveFormatEx* This,
13564    short *FormatTag);
13565void __RPC_STUB ISpeechWaveFormatEx_get_FormatTag_Stub(
13566    IRpcStubBuffer* This,
13567    IRpcChannelBuffer* pRpcChannelBuffer,
13568    PRPC_MESSAGE pRpcMessage,
13569    DWORD* pdwStubPhase);
13570HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_FormatTag_Proxy(
13571    ISpeechWaveFormatEx* This,
13572    short FormatTag);
13573void __RPC_STUB ISpeechWaveFormatEx_put_FormatTag_Stub(
13574    IRpcStubBuffer* This,
13575    IRpcChannelBuffer* pRpcChannelBuffer,
13576    PRPC_MESSAGE pRpcMessage,
13577    DWORD* pdwStubPhase);
13578HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_Channels_Proxy(
13579    ISpeechWaveFormatEx* This,
13580    short *Channels);
13581void __RPC_STUB ISpeechWaveFormatEx_get_Channels_Stub(
13582    IRpcStubBuffer* This,
13583    IRpcChannelBuffer* pRpcChannelBuffer,
13584    PRPC_MESSAGE pRpcMessage,
13585    DWORD* pdwStubPhase);
13586HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_Channels_Proxy(
13587    ISpeechWaveFormatEx* This,
13588    short Channels);
13589void __RPC_STUB ISpeechWaveFormatEx_put_Channels_Stub(
13590    IRpcStubBuffer* This,
13591    IRpcChannelBuffer* pRpcChannelBuffer,
13592    PRPC_MESSAGE pRpcMessage,
13593    DWORD* pdwStubPhase);
13594HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_SamplesPerSec_Proxy(
13595    ISpeechWaveFormatEx* This,
13596    LONG *SamplesPerSec);
13597void __RPC_STUB ISpeechWaveFormatEx_get_SamplesPerSec_Stub(
13598    IRpcStubBuffer* This,
13599    IRpcChannelBuffer* pRpcChannelBuffer,
13600    PRPC_MESSAGE pRpcMessage,
13601    DWORD* pdwStubPhase);
13602HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_SamplesPerSec_Proxy(
13603    ISpeechWaveFormatEx* This,
13604    LONG SamplesPerSec);
13605void __RPC_STUB ISpeechWaveFormatEx_put_SamplesPerSec_Stub(
13606    IRpcStubBuffer* This,
13607    IRpcChannelBuffer* pRpcChannelBuffer,
13608    PRPC_MESSAGE pRpcMessage,
13609    DWORD* pdwStubPhase);
13610HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_AvgBytesPerSec_Proxy(
13611    ISpeechWaveFormatEx* This,
13612    LONG *AvgBytesPerSec);
13613void __RPC_STUB ISpeechWaveFormatEx_get_AvgBytesPerSec_Stub(
13614    IRpcStubBuffer* This,
13615    IRpcChannelBuffer* pRpcChannelBuffer,
13616    PRPC_MESSAGE pRpcMessage,
13617    DWORD* pdwStubPhase);
13618HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_AvgBytesPerSec_Proxy(
13619    ISpeechWaveFormatEx* This,
13620    LONG AvgBytesPerSec);
13621void __RPC_STUB ISpeechWaveFormatEx_put_AvgBytesPerSec_Stub(
13622    IRpcStubBuffer* This,
13623    IRpcChannelBuffer* pRpcChannelBuffer,
13624    PRPC_MESSAGE pRpcMessage,
13625    DWORD* pdwStubPhase);
13626HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_BlockAlign_Proxy(
13627    ISpeechWaveFormatEx* This,
13628    short *BlockAlign);
13629void __RPC_STUB ISpeechWaveFormatEx_get_BlockAlign_Stub(
13630    IRpcStubBuffer* This,
13631    IRpcChannelBuffer* pRpcChannelBuffer,
13632    PRPC_MESSAGE pRpcMessage,
13633    DWORD* pdwStubPhase);
13634HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_BlockAlign_Proxy(
13635    ISpeechWaveFormatEx* This,
13636    short BlockAlign);
13637void __RPC_STUB ISpeechWaveFormatEx_put_BlockAlign_Stub(
13638    IRpcStubBuffer* This,
13639    IRpcChannelBuffer* pRpcChannelBuffer,
13640    PRPC_MESSAGE pRpcMessage,
13641    DWORD* pdwStubPhase);
13642HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_BitsPerSample_Proxy(
13643    ISpeechWaveFormatEx* This,
13644    short *BitsPerSample);
13645void __RPC_STUB ISpeechWaveFormatEx_get_BitsPerSample_Stub(
13646    IRpcStubBuffer* This,
13647    IRpcChannelBuffer* pRpcChannelBuffer,
13648    PRPC_MESSAGE pRpcMessage,
13649    DWORD* pdwStubPhase);
13650HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_BitsPerSample_Proxy(
13651    ISpeechWaveFormatEx* This,
13652    short BitsPerSample);
13653void __RPC_STUB ISpeechWaveFormatEx_put_BitsPerSample_Stub(
13654    IRpcStubBuffer* This,
13655    IRpcChannelBuffer* pRpcChannelBuffer,
13656    PRPC_MESSAGE pRpcMessage,
13657    DWORD* pdwStubPhase);
13658HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_ExtraData_Proxy(
13659    ISpeechWaveFormatEx* This,
13660    VARIANT *ExtraData);
13661void __RPC_STUB ISpeechWaveFormatEx_get_ExtraData_Stub(
13662    IRpcStubBuffer* This,
13663    IRpcChannelBuffer* pRpcChannelBuffer,
13664    PRPC_MESSAGE pRpcMessage,
13665    DWORD* pdwStubPhase);
13666HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_ExtraData_Proxy(
13667    ISpeechWaveFormatEx* This,
13668    VARIANT ExtraData);
13669void __RPC_STUB ISpeechWaveFormatEx_put_ExtraData_Stub(
13670    IRpcStubBuffer* This,
13671    IRpcChannelBuffer* pRpcChannelBuffer,
13672    PRPC_MESSAGE pRpcMessage,
13673    DWORD* pdwStubPhase);
13674
13675#endif  /* __ISpeechWaveFormatEx_INTERFACE_DEFINED__ */
13676
13677/*****************************************************************************
13678 * ISpeechVoice interface
13679 */
13680#ifndef __ISpeechVoice_INTERFACE_DEFINED__
13681#define __ISpeechVoice_INTERFACE_DEFINED__
13682
13683DEFINE_GUID(IID_ISpeechVoice, 0x269316d8, 0x57bd, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96);
13684#if defined(__cplusplus) && !defined(CINTERFACE)
13685MIDL_INTERFACE("269316d8-57bd-11d2-9eee-00c04f797396")
13686ISpeechVoice : public IDispatch
13687{
13688    virtual HRESULT STDMETHODCALLTYPE get_Status(
13689        ISpeechVoiceStatus **Status) = 0;
13690
13691    virtual HRESULT STDMETHODCALLTYPE get_Voice(
13692        ISpeechObjectToken **Voice) = 0;
13693
13694    virtual HRESULT STDMETHODCALLTYPE putref_Voice(
13695        ISpeechObjectToken *Voice) = 0;
13696
13697    virtual HRESULT STDMETHODCALLTYPE get_AudioOutput(
13698        ISpeechObjectToken **AudioOutput) = 0;
13699
13700    virtual HRESULT STDMETHODCALLTYPE putref_AudioOutput(
13701        ISpeechObjectToken *AudioOutput) = 0;
13702
13703    virtual HRESULT STDMETHODCALLTYPE get_AudioOutputStream(
13704        ISpeechBaseStream **AudioOutputStream) = 0;
13705
13706    virtual HRESULT STDMETHODCALLTYPE putref_AudioOutputStream(
13707        ISpeechBaseStream *AudioOutputStream) = 0;
13708
13709    virtual HRESULT STDMETHODCALLTYPE get_Rate(
13710        LONG *Rate) = 0;
13711
13712    virtual HRESULT STDMETHODCALLTYPE put_Rate(
13713        LONG Rate) = 0;
13714
13715    virtual HRESULT STDMETHODCALLTYPE get_Volume(
13716        LONG *Volume) = 0;
13717
13718    virtual HRESULT STDMETHODCALLTYPE put_Volume(
13719        LONG Volume) = 0;
13720
13721    virtual HRESULT STDMETHODCALLTYPE put_AllowAudioOutputFormatChangesOnNextSet(
13722        VARIANT_BOOL Allow) = 0;
13723
13724    virtual HRESULT STDMETHODCALLTYPE get_AllowAudioOutputFormatChangesOnNextSet(
13725        VARIANT_BOOL *Allow) = 0;
13726
13727    virtual HRESULT STDMETHODCALLTYPE get_EventInterests(
13728        SpeechVoiceEvents *EventInterestFlags) = 0;
13729
13730    virtual HRESULT STDMETHODCALLTYPE put_EventInterests(
13731        SpeechVoiceEvents EventInterestFlags) = 0;
13732
13733    virtual HRESULT STDMETHODCALLTYPE put_Priority(
13734        SpeechVoicePriority Priority) = 0;
13735
13736    virtual HRESULT STDMETHODCALLTYPE get_Priority(
13737        SpeechVoicePriority *Priority) = 0;
13738
13739    virtual HRESULT STDMETHODCALLTYPE put_AlertBoundary(
13740        SpeechVoiceEvents Boundary) = 0;
13741
13742    virtual HRESULT STDMETHODCALLTYPE get_AlertBoundary(
13743        SpeechVoiceEvents *Boundary) = 0;
13744
13745    virtual HRESULT STDMETHODCALLTYPE put_SynchronousSpeakTimeout(
13746        LONG msTimeout) = 0;
13747
13748    virtual HRESULT STDMETHODCALLTYPE get_SynchronousSpeakTimeout(
13749        LONG *msTimeout) = 0;
13750
13751    virtual HRESULT STDMETHODCALLTYPE Speak(
13752        BSTR Text,
13753        SpeechVoiceSpeakFlags Flags,
13754        LONG *StreamNumber) = 0;
13755
13756    virtual HRESULT STDMETHODCALLTYPE SpeakStream(
13757        ISpeechBaseStream *Stream,
13758        SpeechVoiceSpeakFlags Flags,
13759        LONG *StreamNumber) = 0;
13760
13761    virtual HRESULT STDMETHODCALLTYPE Pause(
13762        ) = 0;
13763
13764    virtual HRESULT STDMETHODCALLTYPE Resume(
13765        ) = 0;
13766
13767    virtual HRESULT STDMETHODCALLTYPE Skip(
13768        const BSTR Type,
13769        LONG NumItems,
13770        LONG *NumSkipped) = 0;
13771
13772    virtual HRESULT STDMETHODCALLTYPE GetVoices(
13773        BSTR RequiredAttributes,
13774        BSTR OptionalAttributes,
13775        ISpeechObjectTokens **ObjectTokens) = 0;
13776
13777    virtual HRESULT STDMETHODCALLTYPE GetAudioOutputs(
13778        BSTR RequiredAttributes,
13779        BSTR OptionalAttributes,
13780        ISpeechObjectTokens **ObjectTokens) = 0;
13781
13782    virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
13783        LONG msTimeout,
13784        VARIANT_BOOL *Done) = 0;
13785
13786    virtual HRESULT STDMETHODCALLTYPE SpeakCompleteEvent(
13787        LONG *Handle) = 0;
13788
13789    virtual HRESULT STDMETHODCALLTYPE IsUISupported(
13790        const BSTR TypeOfUI,
13791        const VARIANT *ExtraData,
13792        VARIANT_BOOL *Supported) = 0;
13793
13794    virtual HRESULT STDMETHODCALLTYPE DisplayUI(
13795        LONG hWndParent,
13796        BSTR Title,
13797        const BSTR TypeOfUI,
13798        const VARIANT *ExtraData = 0) = 0;
13799
13800};
13801#ifdef __CRT_UUID_DECL
13802__CRT_UUID_DECL(ISpeechVoice, 0x269316d8, 0x57bd, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96)
13803#endif
13804#else
13805typedef struct ISpeechVoiceVtbl {
13806    BEGIN_INTERFACE
13807
13808    /*** IUnknown methods ***/
13809    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
13810        ISpeechVoice* This,
13811        REFIID riid,
13812        void **ppvObject);
13813
13814    ULONG (STDMETHODCALLTYPE *AddRef)(
13815        ISpeechVoice* This);
13816
13817    ULONG (STDMETHODCALLTYPE *Release)(
13818        ISpeechVoice* This);
13819
13820    /*** IDispatch methods ***/
13821    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
13822        ISpeechVoice* This,
13823        UINT *pctinfo);
13824
13825    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
13826        ISpeechVoice* This,
13827        UINT iTInfo,
13828        LCID lcid,
13829        ITypeInfo **ppTInfo);
13830
13831    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
13832        ISpeechVoice* This,
13833        REFIID riid,
13834        LPOLESTR *rgszNames,
13835        UINT cNames,
13836        LCID lcid,
13837        DISPID *rgDispId);
13838
13839    HRESULT (STDMETHODCALLTYPE *Invoke)(
13840        ISpeechVoice* This,
13841        DISPID dispIdMember,
13842        REFIID riid,
13843        LCID lcid,
13844        WORD wFlags,
13845        DISPPARAMS *pDispParams,
13846        VARIANT *pVarResult,
13847        EXCEPINFO *pExcepInfo,
13848        UINT *puArgErr);
13849
13850    /*** ISpeechVoice methods ***/
13851    HRESULT (STDMETHODCALLTYPE *get_Status)(
13852        ISpeechVoice* This,
13853        ISpeechVoiceStatus **Status);
13854
13855    HRESULT (STDMETHODCALLTYPE *get_Voice)(
13856        ISpeechVoice* This,
13857        ISpeechObjectToken **Voice);
13858
13859    HRESULT (STDMETHODCALLTYPE *putref_Voice)(
13860        ISpeechVoice* This,
13861        ISpeechObjectToken *Voice);
13862
13863    HRESULT (STDMETHODCALLTYPE *get_AudioOutput)(
13864        ISpeechVoice* This,
13865        ISpeechObjectToken **AudioOutput);
13866
13867    HRESULT (STDMETHODCALLTYPE *putref_AudioOutput)(
13868        ISpeechVoice* This,
13869        ISpeechObjectToken *AudioOutput);
13870
13871    HRESULT (STDMETHODCALLTYPE *get_AudioOutputStream)(
13872        ISpeechVoice* This,
13873        ISpeechBaseStream **AudioOutputStream);
13874
13875    HRESULT (STDMETHODCALLTYPE *putref_AudioOutputStream)(
13876        ISpeechVoice* This,
13877        ISpeechBaseStream *AudioOutputStream);
13878
13879    HRESULT (STDMETHODCALLTYPE *get_Rate)(
13880        ISpeechVoice* This,
13881        LONG *Rate);
13882
13883    HRESULT (STDMETHODCALLTYPE *put_Rate)(
13884        ISpeechVoice* This,
13885        LONG Rate);
13886
13887    HRESULT (STDMETHODCALLTYPE *get_Volume)(
13888        ISpeechVoice* This,
13889        LONG *Volume);
13890
13891    HRESULT (STDMETHODCALLTYPE *put_Volume)(
13892        ISpeechVoice* This,
13893        LONG Volume);
13894
13895    HRESULT (STDMETHODCALLTYPE *put_AllowAudioOutputFormatChangesOnNextSet)(
13896        ISpeechVoice* This,
13897        VARIANT_BOOL Allow);
13898
13899    HRESULT (STDMETHODCALLTYPE *get_AllowAudioOutputFormatChangesOnNextSet)(
13900        ISpeechVoice* This,
13901        VARIANT_BOOL *Allow);
13902
13903    HRESULT (STDMETHODCALLTYPE *get_EventInterests)(
13904        ISpeechVoice* This,
13905        SpeechVoiceEvents *EventInterestFlags);
13906
13907    HRESULT (STDMETHODCALLTYPE *put_EventInterests)(
13908        ISpeechVoice* This,
13909        SpeechVoiceEvents EventInterestFlags);
13910
13911    HRESULT (STDMETHODCALLTYPE *put_Priority)(
13912        ISpeechVoice* This,
13913        SpeechVoicePriority Priority);
13914
13915    HRESULT (STDMETHODCALLTYPE *get_Priority)(
13916        ISpeechVoice* This,
13917        SpeechVoicePriority *Priority);
13918
13919    HRESULT (STDMETHODCALLTYPE *put_AlertBoundary)(
13920        ISpeechVoice* This,
13921        SpeechVoiceEvents Boundary);
13922
13923    HRESULT (STDMETHODCALLTYPE *get_AlertBoundary)(
13924        ISpeechVoice* This,
13925        SpeechVoiceEvents *Boundary);
13926
13927    HRESULT (STDMETHODCALLTYPE *put_SynchronousSpeakTimeout)(
13928        ISpeechVoice* This,
13929        LONG msTimeout);
13930
13931    HRESULT (STDMETHODCALLTYPE *get_SynchronousSpeakTimeout)(
13932        ISpeechVoice* This,
13933        LONG *msTimeout);
13934
13935    HRESULT (STDMETHODCALLTYPE *Speak)(
13936        ISpeechVoice* This,
13937        BSTR Text,
13938        SpeechVoiceSpeakFlags Flags,
13939        LONG *StreamNumber);
13940
13941    HRESULT (STDMETHODCALLTYPE *SpeakStream)(
13942        ISpeechVoice* This,
13943        ISpeechBaseStream *Stream,
13944        SpeechVoiceSpeakFlags Flags,
13945        LONG *StreamNumber);
13946
13947    HRESULT (STDMETHODCALLTYPE *Pause)(
13948        ISpeechVoice* This);
13949
13950    HRESULT (STDMETHODCALLTYPE *Resume)(
13951        ISpeechVoice* This);
13952
13953    HRESULT (STDMETHODCALLTYPE *Skip)(
13954        ISpeechVoice* This,
13955        const BSTR Type,
13956        LONG NumItems,
13957        LONG *NumSkipped);
13958
13959    HRESULT (STDMETHODCALLTYPE *GetVoices)(
13960        ISpeechVoice* This,
13961        BSTR RequiredAttributes,
13962        BSTR OptionalAttributes,
13963        ISpeechObjectTokens **ObjectTokens);
13964
13965    HRESULT (STDMETHODCALLTYPE *GetAudioOutputs)(
13966        ISpeechVoice* This,
13967        BSTR RequiredAttributes,
13968        BSTR OptionalAttributes,
13969        ISpeechObjectTokens **ObjectTokens);
13970
13971    HRESULT (STDMETHODCALLTYPE *WaitUntilDone)(
13972        ISpeechVoice* This,
13973        LONG msTimeout,
13974        VARIANT_BOOL *Done);
13975
13976    HRESULT (STDMETHODCALLTYPE *SpeakCompleteEvent)(
13977        ISpeechVoice* This,
13978        LONG *Handle);
13979
13980    HRESULT (STDMETHODCALLTYPE *IsUISupported)(
13981        ISpeechVoice* This,
13982        const BSTR TypeOfUI,
13983        const VARIANT *ExtraData,
13984        VARIANT_BOOL *Supported);
13985
13986    HRESULT (STDMETHODCALLTYPE *DisplayUI)(
13987        ISpeechVoice* This,
13988        LONG hWndParent,
13989        BSTR Title,
13990        const BSTR TypeOfUI,
13991        const VARIANT *ExtraData);
13992
13993    END_INTERFACE
13994} ISpeechVoiceVtbl;
13995interface ISpeechVoice {
13996    CONST_VTBL ISpeechVoiceVtbl* lpVtbl;
13997};
13998
13999#ifdef COBJMACROS
14000#ifndef WIDL_C_INLINE_WRAPPERS
14001/*** IUnknown methods ***/
14002#define ISpeechVoice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14003#define ISpeechVoice_AddRef(This) (This)->lpVtbl->AddRef(This)
14004#define ISpeechVoice_Release(This) (This)->lpVtbl->Release(This)
14005/*** IDispatch methods ***/
14006#define ISpeechVoice_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
14007#define ISpeechVoice_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
14008#define ISpeechVoice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
14009#define ISpeechVoice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
14010/*** ISpeechVoice methods ***/
14011#define ISpeechVoice_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
14012#define ISpeechVoice_get_Voice(This,Voice) (This)->lpVtbl->get_Voice(This,Voice)
14013#define ISpeechVoice_putref_Voice(This,Voice) (This)->lpVtbl->putref_Voice(This,Voice)
14014#define ISpeechVoice_get_AudioOutput(This,AudioOutput) (This)->lpVtbl->get_AudioOutput(This,AudioOutput)
14015#define ISpeechVoice_putref_AudioOutput(This,AudioOutput) (This)->lpVtbl->putref_AudioOutput(This,AudioOutput)
14016#define ISpeechVoice_get_AudioOutputStream(This,AudioOutputStream) (This)->lpVtbl->get_AudioOutputStream(This,AudioOutputStream)
14017#define ISpeechVoice_putref_AudioOutputStream(This,AudioOutputStream) (This)->lpVtbl->putref_AudioOutputStream(This,AudioOutputStream)
14018#define ISpeechVoice_get_Rate(This,Rate) (This)->lpVtbl->get_Rate(This,Rate)
14019#define ISpeechVoice_put_Rate(This,Rate) (This)->lpVtbl->put_Rate(This,Rate)
14020#define ISpeechVoice_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
14021#define ISpeechVoice_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
14022#define ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->put_AllowAudioOutputFormatChangesOnNextSet(This,Allow)
14023#define ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->get_AllowAudioOutputFormatChangesOnNextSet(This,Allow)
14024#define ISpeechVoice_get_EventInterests(This,EventInterestFlags) (This)->lpVtbl->get_EventInterests(This,EventInterestFlags)
14025#define ISpeechVoice_put_EventInterests(This,EventInterestFlags) (This)->lpVtbl->put_EventInterests(This,EventInterestFlags)
14026#define ISpeechVoice_put_Priority(This,Priority) (This)->lpVtbl->put_Priority(This,Priority)
14027#define ISpeechVoice_get_Priority(This,Priority) (This)->lpVtbl->get_Priority(This,Priority)
14028#define ISpeechVoice_put_AlertBoundary(This,Boundary) (This)->lpVtbl->put_AlertBoundary(This,Boundary)
14029#define ISpeechVoice_get_AlertBoundary(This,Boundary) (This)->lpVtbl->get_AlertBoundary(This,Boundary)
14030#define ISpeechVoice_put_SynchronousSpeakTimeout(This,msTimeout) (This)->lpVtbl->put_SynchronousSpeakTimeout(This,msTimeout)
14031#define ISpeechVoice_get_SynchronousSpeakTimeout(This,msTimeout) (This)->lpVtbl->get_SynchronousSpeakTimeout(This,msTimeout)
14032#define ISpeechVoice_Speak(This,Text,Flags,StreamNumber) (This)->lpVtbl->Speak(This,Text,Flags,StreamNumber)
14033#define ISpeechVoice_SpeakStream(This,Stream,Flags,StreamNumber) (This)->lpVtbl->SpeakStream(This,Stream,Flags,StreamNumber)
14034#define ISpeechVoice_Pause(This) (This)->lpVtbl->Pause(This)
14035#define ISpeechVoice_Resume(This) (This)->lpVtbl->Resume(This)
14036#define ISpeechVoice_Skip(This,Type,NumItems,NumSkipped) (This)->lpVtbl->Skip(This,Type,NumItems,NumSkipped)
14037#define ISpeechVoice_GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
14038#define ISpeechVoice_GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
14039#define ISpeechVoice_WaitUntilDone(This,msTimeout,Done) (This)->lpVtbl->WaitUntilDone(This,msTimeout,Done)
14040#define ISpeechVoice_SpeakCompleteEvent(This,Handle) (This)->lpVtbl->SpeakCompleteEvent(This,Handle)
14041#define ISpeechVoice_IsUISupported(This,TypeOfUI,ExtraData,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported)
14042#define ISpeechVoice_DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData) (This)->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)
14043#else
14044/*** IUnknown methods ***/
14045static FORCEINLINE HRESULT ISpeechVoice_QueryInterface(ISpeechVoice* This,REFIID riid,void **ppvObject) {
14046    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14047}
14048static FORCEINLINE ULONG ISpeechVoice_AddRef(ISpeechVoice* This) {
14049    return This->lpVtbl->AddRef(This);
14050}
14051static FORCEINLINE ULONG ISpeechVoice_Release(ISpeechVoice* This) {
14052    return This->lpVtbl->Release(This);
14053}
14054/*** IDispatch methods ***/
14055static FORCEINLINE HRESULT ISpeechVoice_GetTypeInfoCount(ISpeechVoice* This,UINT *pctinfo) {
14056    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
14057}
14058static FORCEINLINE HRESULT ISpeechVoice_GetTypeInfo(ISpeechVoice* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
14059    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
14060}
14061static FORCEINLINE HRESULT ISpeechVoice_GetIDsOfNames(ISpeechVoice* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
14062    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
14063}
14064static FORCEINLINE HRESULT ISpeechVoice_Invoke(ISpeechVoice* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
14065    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
14066}
14067/*** ISpeechVoice methods ***/
14068static FORCEINLINE HRESULT ISpeechVoice_get_Status(ISpeechVoice* This,ISpeechVoiceStatus **Status) {
14069    return This->lpVtbl->get_Status(This,Status);
14070}
14071static FORCEINLINE HRESULT ISpeechVoice_get_Voice(ISpeechVoice* This,ISpeechObjectToken **Voice) {
14072    return This->lpVtbl->get_Voice(This,Voice);
14073}
14074static FORCEINLINE HRESULT ISpeechVoice_putref_Voice(ISpeechVoice* This,ISpeechObjectToken *Voice) {
14075    return This->lpVtbl->putref_Voice(This,Voice);
14076}
14077static FORCEINLINE HRESULT ISpeechVoice_get_AudioOutput(ISpeechVoice* This,ISpeechObjectToken **AudioOutput) {
14078    return This->lpVtbl->get_AudioOutput(This,AudioOutput);
14079}
14080static FORCEINLINE HRESULT ISpeechVoice_putref_AudioOutput(ISpeechVoice* This,ISpeechObjectToken *AudioOutput) {
14081    return This->lpVtbl->putref_AudioOutput(This,AudioOutput);
14082}
14083static FORCEINLINE HRESULT ISpeechVoice_get_AudioOutputStream(ISpeechVoice* This,ISpeechBaseStream **AudioOutputStream) {
14084    return This->lpVtbl->get_AudioOutputStream(This,AudioOutputStream);
14085}
14086static FORCEINLINE HRESULT ISpeechVoice_putref_AudioOutputStream(ISpeechVoice* This,ISpeechBaseStream *AudioOutputStream) {
14087    return This->lpVtbl->putref_AudioOutputStream(This,AudioOutputStream);
14088}
14089static FORCEINLINE HRESULT ISpeechVoice_get_Rate(ISpeechVoice* This,LONG *Rate) {
14090    return This->lpVtbl->get_Rate(This,Rate);
14091}
14092static FORCEINLINE HRESULT ISpeechVoice_put_Rate(ISpeechVoice* This,LONG Rate) {
14093    return This->lpVtbl->put_Rate(This,Rate);
14094}
14095static FORCEINLINE HRESULT ISpeechVoice_get_Volume(ISpeechVoice* This,LONG *Volume) {
14096    return This->lpVtbl->get_Volume(This,Volume);
14097}
14098static FORCEINLINE HRESULT ISpeechVoice_put_Volume(ISpeechVoice* This,LONG Volume) {
14099    return This->lpVtbl->put_Volume(This,Volume);
14100}
14101static FORCEINLINE HRESULT ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet(ISpeechVoice* This,VARIANT_BOOL Allow) {
14102    return This->lpVtbl->put_AllowAudioOutputFormatChangesOnNextSet(This,Allow);
14103}
14104static FORCEINLINE HRESULT ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet(ISpeechVoice* This,VARIANT_BOOL *Allow) {
14105    return This->lpVtbl->get_AllowAudioOutputFormatChangesOnNextSet(This,Allow);
14106}
14107static FORCEINLINE HRESULT ISpeechVoice_get_EventInterests(ISpeechVoice* This,SpeechVoiceEvents *EventInterestFlags) {
14108    return This->lpVtbl->get_EventInterests(This,EventInterestFlags);
14109}
14110static FORCEINLINE HRESULT ISpeechVoice_put_EventInterests(ISpeechVoice* This,SpeechVoiceEvents EventInterestFlags) {
14111    return This->lpVtbl->put_EventInterests(This,EventInterestFlags);
14112}
14113static FORCEINLINE HRESULT ISpeechVoice_put_Priority(ISpeechVoice* This,SpeechVoicePriority Priority) {
14114    return This->lpVtbl->put_Priority(This,Priority);
14115}
14116static FORCEINLINE HRESULT ISpeechVoice_get_Priority(ISpeechVoice* This,SpeechVoicePriority *Priority) {
14117    return This->lpVtbl->get_Priority(This,Priority);
14118}
14119static FORCEINLINE HRESULT ISpeechVoice_put_AlertBoundary(ISpeechVoice* This,SpeechVoiceEvents Boundary) {
14120    return This->lpVtbl->put_AlertBoundary(This,Boundary);
14121}
14122static FORCEINLINE HRESULT ISpeechVoice_get_AlertBoundary(ISpeechVoice* This,SpeechVoiceEvents *Boundary) {
14123    return This->lpVtbl->get_AlertBoundary(This,Boundary);
14124}
14125static FORCEINLINE HRESULT ISpeechVoice_put_SynchronousSpeakTimeout(ISpeechVoice* This,LONG msTimeout) {
14126    return This->lpVtbl->put_SynchronousSpeakTimeout(This,msTimeout);
14127}
14128static FORCEINLINE HRESULT ISpeechVoice_get_SynchronousSpeakTimeout(ISpeechVoice* This,LONG *msTimeout) {
14129    return This->lpVtbl->get_SynchronousSpeakTimeout(This,msTimeout);
14130}
14131static FORCEINLINE HRESULT ISpeechVoice_Speak(ISpeechVoice* This,BSTR Text,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
14132    return This->lpVtbl->Speak(This,Text,Flags,StreamNumber);
14133}
14134static FORCEINLINE HRESULT ISpeechVoice_SpeakStream(ISpeechVoice* This,ISpeechBaseStream *Stream,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
14135    return This->lpVtbl->SpeakStream(This,Stream,Flags,StreamNumber);
14136}
14137static FORCEINLINE HRESULT ISpeechVoice_Pause(ISpeechVoice* This) {
14138    return This->lpVtbl->Pause(This);
14139}
14140static FORCEINLINE HRESULT ISpeechVoice_Resume(ISpeechVoice* This) {
14141    return This->lpVtbl->Resume(This);
14142}
14143static FORCEINLINE HRESULT ISpeechVoice_Skip(ISpeechVoice* This,const BSTR Type,LONG NumItems,LONG *NumSkipped) {
14144    return This->lpVtbl->Skip(This,Type,NumItems,NumSkipped);
14145}
14146static FORCEINLINE HRESULT ISpeechVoice_GetVoices(ISpeechVoice* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
14147    return This->lpVtbl->GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
14148}
14149static FORCEINLINE HRESULT ISpeechVoice_GetAudioOutputs(ISpeechVoice* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
14150    return This->lpVtbl->GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
14151}
14152static FORCEINLINE HRESULT ISpeechVoice_WaitUntilDone(ISpeechVoice* This,LONG msTimeout,VARIANT_BOOL *Done) {
14153    return This->lpVtbl->WaitUntilDone(This,msTimeout,Done);
14154}
14155static FORCEINLINE HRESULT ISpeechVoice_SpeakCompleteEvent(ISpeechVoice* This,LONG *Handle) {
14156    return This->lpVtbl->SpeakCompleteEvent(This,Handle);
14157}
14158static FORCEINLINE HRESULT ISpeechVoice_IsUISupported(ISpeechVoice* This,const BSTR TypeOfUI,const VARIANT *ExtraData,VARIANT_BOOL *Supported) {
14159    return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported);
14160}
14161static FORCEINLINE HRESULT ISpeechVoice_DisplayUI(ISpeechVoice* This,LONG hWndParent,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData) {
14162    return This->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData);
14163}
14164#endif
14165#endif
14166
14167#endif
14168
14169HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Status_Proxy(
14170    ISpeechVoice* This,
14171    ISpeechVoiceStatus **Status);
14172void __RPC_STUB ISpeechVoice_get_Status_Stub(
14173    IRpcStubBuffer* This,
14174    IRpcChannelBuffer* pRpcChannelBuffer,
14175    PRPC_MESSAGE pRpcMessage,
14176    DWORD* pdwStubPhase);
14177HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Voice_Proxy(
14178    ISpeechVoice* This,
14179    ISpeechObjectToken **Voice);
14180void __RPC_STUB ISpeechVoice_get_Voice_Stub(
14181    IRpcStubBuffer* This,
14182    IRpcChannelBuffer* pRpcChannelBuffer,
14183    PRPC_MESSAGE pRpcMessage,
14184    DWORD* pdwStubPhase);
14185HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_Voice_Proxy(
14186    ISpeechVoice* This,
14187    ISpeechObjectToken *Voice);
14188void __RPC_STUB ISpeechVoice_putref_Voice_Stub(
14189    IRpcStubBuffer* This,
14190    IRpcChannelBuffer* pRpcChannelBuffer,
14191    PRPC_MESSAGE pRpcMessage,
14192    DWORD* pdwStubPhase);
14193HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AudioOutput_Proxy(
14194    ISpeechVoice* This,
14195    ISpeechObjectToken **AudioOutput);
14196void __RPC_STUB ISpeechVoice_get_AudioOutput_Stub(
14197    IRpcStubBuffer* This,
14198    IRpcChannelBuffer* pRpcChannelBuffer,
14199    PRPC_MESSAGE pRpcMessage,
14200    DWORD* pdwStubPhase);
14201HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_AudioOutput_Proxy(
14202    ISpeechVoice* This,
14203    ISpeechObjectToken *AudioOutput);
14204void __RPC_STUB ISpeechVoice_putref_AudioOutput_Stub(
14205    IRpcStubBuffer* This,
14206    IRpcChannelBuffer* pRpcChannelBuffer,
14207    PRPC_MESSAGE pRpcMessage,
14208    DWORD* pdwStubPhase);
14209HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AudioOutputStream_Proxy(
14210    ISpeechVoice* This,
14211    ISpeechBaseStream **AudioOutputStream);
14212void __RPC_STUB ISpeechVoice_get_AudioOutputStream_Stub(
14213    IRpcStubBuffer* This,
14214    IRpcChannelBuffer* pRpcChannelBuffer,
14215    PRPC_MESSAGE pRpcMessage,
14216    DWORD* pdwStubPhase);
14217HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_AudioOutputStream_Proxy(
14218    ISpeechVoice* This,
14219    ISpeechBaseStream *AudioOutputStream);
14220void __RPC_STUB ISpeechVoice_putref_AudioOutputStream_Stub(
14221    IRpcStubBuffer* This,
14222    IRpcChannelBuffer* pRpcChannelBuffer,
14223    PRPC_MESSAGE pRpcMessage,
14224    DWORD* pdwStubPhase);
14225HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Rate_Proxy(
14226    ISpeechVoice* This,
14227    LONG *Rate);
14228void __RPC_STUB ISpeechVoice_get_Rate_Stub(
14229    IRpcStubBuffer* This,
14230    IRpcChannelBuffer* pRpcChannelBuffer,
14231    PRPC_MESSAGE pRpcMessage,
14232    DWORD* pdwStubPhase);
14233HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Rate_Proxy(
14234    ISpeechVoice* This,
14235    LONG Rate);
14236void __RPC_STUB ISpeechVoice_put_Rate_Stub(
14237    IRpcStubBuffer* This,
14238    IRpcChannelBuffer* pRpcChannelBuffer,
14239    PRPC_MESSAGE pRpcMessage,
14240    DWORD* pdwStubPhase);
14241HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Volume_Proxy(
14242    ISpeechVoice* This,
14243    LONG *Volume);
14244void __RPC_STUB ISpeechVoice_get_Volume_Stub(
14245    IRpcStubBuffer* This,
14246    IRpcChannelBuffer* pRpcChannelBuffer,
14247    PRPC_MESSAGE pRpcMessage,
14248    DWORD* pdwStubPhase);
14249HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Volume_Proxy(
14250    ISpeechVoice* This,
14251    LONG Volume);
14252void __RPC_STUB ISpeechVoice_put_Volume_Stub(
14253    IRpcStubBuffer* This,
14254    IRpcChannelBuffer* pRpcChannelBuffer,
14255    PRPC_MESSAGE pRpcMessage,
14256    DWORD* pdwStubPhase);
14257HRESULT STDMETHODCALLTYPE ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet_Proxy(
14258    ISpeechVoice* This,
14259    VARIANT_BOOL Allow);
14260void __RPC_STUB ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet_Stub(
14261    IRpcStubBuffer* This,
14262    IRpcChannelBuffer* pRpcChannelBuffer,
14263    PRPC_MESSAGE pRpcMessage,
14264    DWORD* pdwStubPhase);
14265HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet_Proxy(
14266    ISpeechVoice* This,
14267    VARIANT_BOOL *Allow);
14268void __RPC_STUB ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet_Stub(
14269    IRpcStubBuffer* This,
14270    IRpcChannelBuffer* pRpcChannelBuffer,
14271    PRPC_MESSAGE pRpcMessage,
14272    DWORD* pdwStubPhase);
14273HRESULT STDMETHODCALLTYPE ISpeechVoice_get_EventInterests_Proxy(
14274    ISpeechVoice* This,
14275    SpeechVoiceEvents *EventInterestFlags);
14276void __RPC_STUB ISpeechVoice_get_EventInterests_Stub(
14277    IRpcStubBuffer* This,
14278    IRpcChannelBuffer* pRpcChannelBuffer,
14279    PRPC_MESSAGE pRpcMessage,
14280    DWORD* pdwStubPhase);
14281HRESULT STDMETHODCALLTYPE ISpeechVoice_put_EventInterests_Proxy(
14282    ISpeechVoice* This,
14283    SpeechVoiceEvents EventInterestFlags);
14284void __RPC_STUB ISpeechVoice_put_EventInterests_Stub(
14285    IRpcStubBuffer* This,
14286    IRpcChannelBuffer* pRpcChannelBuffer,
14287    PRPC_MESSAGE pRpcMessage,
14288    DWORD* pdwStubPhase);
14289HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Priority_Proxy(
14290    ISpeechVoice* This,
14291    SpeechVoicePriority Priority);
14292void __RPC_STUB ISpeechVoice_put_Priority_Stub(
14293    IRpcStubBuffer* This,
14294    IRpcChannelBuffer* pRpcChannelBuffer,
14295    PRPC_MESSAGE pRpcMessage,
14296    DWORD* pdwStubPhase);
14297HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Priority_Proxy(
14298    ISpeechVoice* This,
14299    SpeechVoicePriority *Priority);
14300void __RPC_STUB ISpeechVoice_get_Priority_Stub(
14301    IRpcStubBuffer* This,
14302    IRpcChannelBuffer* pRpcChannelBuffer,
14303    PRPC_MESSAGE pRpcMessage,
14304    DWORD* pdwStubPhase);
14305HRESULT STDMETHODCALLTYPE ISpeechVoice_put_AlertBoundary_Proxy(
14306    ISpeechVoice* This,
14307    SpeechVoiceEvents Boundary);
14308void __RPC_STUB ISpeechVoice_put_AlertBoundary_Stub(
14309    IRpcStubBuffer* This,
14310    IRpcChannelBuffer* pRpcChannelBuffer,
14311    PRPC_MESSAGE pRpcMessage,
14312    DWORD* pdwStubPhase);
14313HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AlertBoundary_Proxy(
14314    ISpeechVoice* This,
14315    SpeechVoiceEvents *Boundary);
14316void __RPC_STUB ISpeechVoice_get_AlertBoundary_Stub(
14317    IRpcStubBuffer* This,
14318    IRpcChannelBuffer* pRpcChannelBuffer,
14319    PRPC_MESSAGE pRpcMessage,
14320    DWORD* pdwStubPhase);
14321HRESULT STDMETHODCALLTYPE ISpeechVoice_put_SynchronousSpeakTimeout_Proxy(
14322    ISpeechVoice* This,
14323    LONG msTimeout);
14324void __RPC_STUB ISpeechVoice_put_SynchronousSpeakTimeout_Stub(
14325    IRpcStubBuffer* This,
14326    IRpcChannelBuffer* pRpcChannelBuffer,
14327    PRPC_MESSAGE pRpcMessage,
14328    DWORD* pdwStubPhase);
14329HRESULT STDMETHODCALLTYPE ISpeechVoice_get_SynchronousSpeakTimeout_Proxy(
14330    ISpeechVoice* This,
14331    LONG *msTimeout);
14332void __RPC_STUB ISpeechVoice_get_SynchronousSpeakTimeout_Stub(
14333    IRpcStubBuffer* This,
14334    IRpcChannelBuffer* pRpcChannelBuffer,
14335    PRPC_MESSAGE pRpcMessage,
14336    DWORD* pdwStubPhase);
14337HRESULT STDMETHODCALLTYPE ISpeechVoice_Speak_Proxy(
14338    ISpeechVoice* This,
14339    BSTR Text,
14340    SpeechVoiceSpeakFlags Flags,
14341    LONG *StreamNumber);
14342void __RPC_STUB ISpeechVoice_Speak_Stub(
14343    IRpcStubBuffer* This,
14344    IRpcChannelBuffer* pRpcChannelBuffer,
14345    PRPC_MESSAGE pRpcMessage,
14346    DWORD* pdwStubPhase);
14347HRESULT STDMETHODCALLTYPE ISpeechVoice_SpeakStream_Proxy(
14348    ISpeechVoice* This,
14349    ISpeechBaseStream *Stream,
14350    SpeechVoiceSpeakFlags Flags,
14351    LONG *StreamNumber);
14352void __RPC_STUB ISpeechVoice_SpeakStream_Stub(
14353    IRpcStubBuffer* This,
14354    IRpcChannelBuffer* pRpcChannelBuffer,
14355    PRPC_MESSAGE pRpcMessage,
14356    DWORD* pdwStubPhase);
14357HRESULT STDMETHODCALLTYPE ISpeechVoice_Pause_Proxy(
14358    ISpeechVoice* This);
14359void __RPC_STUB ISpeechVoice_Pause_Stub(
14360    IRpcStubBuffer* This,
14361    IRpcChannelBuffer* pRpcChannelBuffer,
14362    PRPC_MESSAGE pRpcMessage,
14363    DWORD* pdwStubPhase);
14364HRESULT STDMETHODCALLTYPE ISpeechVoice_Resume_Proxy(
14365    ISpeechVoice* This);
14366void __RPC_STUB ISpeechVoice_Resume_Stub(
14367    IRpcStubBuffer* This,
14368    IRpcChannelBuffer* pRpcChannelBuffer,
14369    PRPC_MESSAGE pRpcMessage,
14370    DWORD* pdwStubPhase);
14371HRESULT STDMETHODCALLTYPE ISpeechVoice_Skip_Proxy(
14372    ISpeechVoice* This,
14373    const BSTR Type,
14374    LONG NumItems,
14375    LONG *NumSkipped);
14376void __RPC_STUB ISpeechVoice_Skip_Stub(
14377    IRpcStubBuffer* This,
14378    IRpcChannelBuffer* pRpcChannelBuffer,
14379    PRPC_MESSAGE pRpcMessage,
14380    DWORD* pdwStubPhase);
14381HRESULT STDMETHODCALLTYPE ISpeechVoice_GetVoices_Proxy(
14382    ISpeechVoice* This,
14383    BSTR RequiredAttributes,
14384    BSTR OptionalAttributes,
14385    ISpeechObjectTokens **ObjectTokens);
14386void __RPC_STUB ISpeechVoice_GetVoices_Stub(
14387    IRpcStubBuffer* This,
14388    IRpcChannelBuffer* pRpcChannelBuffer,
14389    PRPC_MESSAGE pRpcMessage,
14390    DWORD* pdwStubPhase);
14391HRESULT STDMETHODCALLTYPE ISpeechVoice_GetAudioOutputs_Proxy(
14392    ISpeechVoice* This,
14393    BSTR RequiredAttributes,
14394    BSTR OptionalAttributes,
14395    ISpeechObjectTokens **ObjectTokens);
14396void __RPC_STUB ISpeechVoice_GetAudioOutputs_Stub(
14397    IRpcStubBuffer* This,
14398    IRpcChannelBuffer* pRpcChannelBuffer,
14399    PRPC_MESSAGE pRpcMessage,
14400    DWORD* pdwStubPhase);
14401HRESULT STDMETHODCALLTYPE ISpeechVoice_WaitUntilDone_Proxy(
14402    ISpeechVoice* This,
14403    LONG msTimeout,
14404    VARIANT_BOOL *Done);
14405void __RPC_STUB ISpeechVoice_WaitUntilDone_Stub(
14406    IRpcStubBuffer* This,
14407    IRpcChannelBuffer* pRpcChannelBuffer,
14408    PRPC_MESSAGE pRpcMessage,
14409    DWORD* pdwStubPhase);
14410HRESULT STDMETHODCALLTYPE ISpeechVoice_SpeakCompleteEvent_Proxy(
14411    ISpeechVoice* This,
14412    LONG *Handle);
14413void __RPC_STUB ISpeechVoice_SpeakCompleteEvent_Stub(
14414    IRpcStubBuffer* This,
14415    IRpcChannelBuffer* pRpcChannelBuffer,
14416    PRPC_MESSAGE pRpcMessage,
14417    DWORD* pdwStubPhase);
14418HRESULT STDMETHODCALLTYPE ISpeechVoice_IsUISupported_Proxy(
14419    ISpeechVoice* This,
14420    const BSTR TypeOfUI,
14421    const VARIANT *ExtraData,
14422    VARIANT_BOOL *Supported);
14423void __RPC_STUB ISpeechVoice_IsUISupported_Stub(
14424    IRpcStubBuffer* This,
14425    IRpcChannelBuffer* pRpcChannelBuffer,
14426    PRPC_MESSAGE pRpcMessage,
14427    DWORD* pdwStubPhase);
14428HRESULT STDMETHODCALLTYPE ISpeechVoice_DisplayUI_Proxy(
14429    ISpeechVoice* This,
14430    LONG hWndParent,
14431    BSTR Title,
14432    const BSTR TypeOfUI,
14433    const VARIANT *ExtraData);
14434void __RPC_STUB ISpeechVoice_DisplayUI_Stub(
14435    IRpcStubBuffer* This,
14436    IRpcChannelBuffer* pRpcChannelBuffer,
14437    PRPC_MESSAGE pRpcMessage,
14438    DWORD* pdwStubPhase);
14439
14440#endif  /* __ISpeechVoice_INTERFACE_DEFINED__ */
14441
14442/*****************************************************************************
14443 * ISpeechVoiceStatus interface
14444 */
14445#ifndef __ISpeechVoiceStatus_INTERFACE_DEFINED__
14446#define __ISpeechVoiceStatus_INTERFACE_DEFINED__
14447
14448DEFINE_GUID(IID_ISpeechVoiceStatus, 0x8be47b07, 0x57f6, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96);
14449#if defined(__cplusplus) && !defined(CINTERFACE)
14450MIDL_INTERFACE("8be47b07-57f6-11d2-9eee-00c04f797396")
14451ISpeechVoiceStatus : public IDispatch
14452{
14453    virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamNumber(
14454        LONG *StreamNumber) = 0;
14455
14456    virtual HRESULT STDMETHODCALLTYPE get_LastStreamNumberQueued(
14457        LONG *StreamNumber) = 0;
14458
14459    virtual HRESULT STDMETHODCALLTYPE get_LastHResult(
14460        LONG *HResult) = 0;
14461
14462    virtual HRESULT STDMETHODCALLTYPE get_RunningState(
14463        SpeechRunState *State) = 0;
14464
14465    virtual HRESULT STDMETHODCALLTYPE get_InputWordPosition(
14466        LONG *Position) = 0;
14467
14468    virtual HRESULT STDMETHODCALLTYPE get_InputWordLength(
14469        LONG *Length) = 0;
14470
14471    virtual HRESULT STDMETHODCALLTYPE get_InputSentencePosition(
14472        LONG *Position) = 0;
14473
14474    virtual HRESULT STDMETHODCALLTYPE get_InputSentenceLength(
14475        LONG *Length) = 0;
14476
14477    virtual HRESULT STDMETHODCALLTYPE get_LastBookmark(
14478        BSTR *Bookmark) = 0;
14479
14480    virtual HRESULT STDMETHODCALLTYPE get_LastBookmarkId(
14481        LONG *BookmarkId) = 0;
14482
14483    virtual HRESULT STDMETHODCALLTYPE get_PhonemeId(
14484        short *PhoneId) = 0;
14485
14486    virtual HRESULT STDMETHODCALLTYPE get_VisemeId(
14487        short *VisemeId) = 0;
14488
14489};
14490#ifdef __CRT_UUID_DECL
14491__CRT_UUID_DECL(ISpeechVoiceStatus, 0x8be47b07, 0x57f6, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96)
14492#endif
14493#else
14494typedef struct ISpeechVoiceStatusVtbl {
14495    BEGIN_INTERFACE
14496
14497    /*** IUnknown methods ***/
14498    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
14499        ISpeechVoiceStatus* This,
14500        REFIID riid,
14501        void **ppvObject);
14502
14503    ULONG (STDMETHODCALLTYPE *AddRef)(
14504        ISpeechVoiceStatus* This);
14505
14506    ULONG (STDMETHODCALLTYPE *Release)(
14507        ISpeechVoiceStatus* This);
14508
14509    /*** IDispatch methods ***/
14510    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
14511        ISpeechVoiceStatus* This,
14512        UINT *pctinfo);
14513
14514    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
14515        ISpeechVoiceStatus* This,
14516        UINT iTInfo,
14517        LCID lcid,
14518        ITypeInfo **ppTInfo);
14519
14520    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
14521        ISpeechVoiceStatus* This,
14522        REFIID riid,
14523        LPOLESTR *rgszNames,
14524        UINT cNames,
14525        LCID lcid,
14526        DISPID *rgDispId);
14527
14528    HRESULT (STDMETHODCALLTYPE *Invoke)(
14529        ISpeechVoiceStatus* This,
14530        DISPID dispIdMember,
14531        REFIID riid,
14532        LCID lcid,
14533        WORD wFlags,
14534        DISPPARAMS *pDispParams,
14535        VARIANT *pVarResult,
14536        EXCEPINFO *pExcepInfo,
14537        UINT *puArgErr);
14538
14539    /*** ISpeechVoiceStatus methods ***/
14540    HRESULT (STDMETHODCALLTYPE *get_CurrentStreamNumber)(
14541        ISpeechVoiceStatus* This,
14542        LONG *StreamNumber);
14543
14544    HRESULT (STDMETHODCALLTYPE *get_LastStreamNumberQueued)(
14545        ISpeechVoiceStatus* This,
14546        LONG *StreamNumber);
14547
14548    HRESULT (STDMETHODCALLTYPE *get_LastHResult)(
14549        ISpeechVoiceStatus* This,
14550        LONG *HResult);
14551
14552    HRESULT (STDMETHODCALLTYPE *get_RunningState)(
14553        ISpeechVoiceStatus* This,
14554        SpeechRunState *State);
14555
14556    HRESULT (STDMETHODCALLTYPE *get_InputWordPosition)(
14557        ISpeechVoiceStatus* This,
14558        LONG *Position);
14559
14560    HRESULT (STDMETHODCALLTYPE *get_InputWordLength)(
14561        ISpeechVoiceStatus* This,
14562        LONG *Length);
14563
14564    HRESULT (STDMETHODCALLTYPE *get_InputSentencePosition)(
14565        ISpeechVoiceStatus* This,
14566        LONG *Position);
14567
14568    HRESULT (STDMETHODCALLTYPE *get_InputSentenceLength)(
14569        ISpeechVoiceStatus* This,
14570        LONG *Length);
14571
14572    HRESULT (STDMETHODCALLTYPE *get_LastBookmark)(
14573        ISpeechVoiceStatus* This,
14574        BSTR *Bookmark);
14575
14576    HRESULT (STDMETHODCALLTYPE *get_LastBookmarkId)(
14577        ISpeechVoiceStatus* This,
14578        LONG *BookmarkId);
14579
14580    HRESULT (STDMETHODCALLTYPE *get_PhonemeId)(
14581        ISpeechVoiceStatus* This,
14582        short *PhoneId);
14583
14584    HRESULT (STDMETHODCALLTYPE *get_VisemeId)(
14585        ISpeechVoiceStatus* This,
14586        short *VisemeId);
14587
14588    END_INTERFACE
14589} ISpeechVoiceStatusVtbl;
14590interface ISpeechVoiceStatus {
14591    CONST_VTBL ISpeechVoiceStatusVtbl* lpVtbl;
14592};
14593
14594#ifdef COBJMACROS
14595#ifndef WIDL_C_INLINE_WRAPPERS
14596/*** IUnknown methods ***/
14597#define ISpeechVoiceStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
14598#define ISpeechVoiceStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
14599#define ISpeechVoiceStatus_Release(This) (This)->lpVtbl->Release(This)
14600/*** IDispatch methods ***/
14601#define ISpeechVoiceStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
14602#define ISpeechVoiceStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
14603#define ISpeechVoiceStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
14604#define ISpeechVoiceStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
14605/*** ISpeechVoiceStatus methods ***/
14606#define ISpeechVoiceStatus_get_CurrentStreamNumber(This,StreamNumber) (This)->lpVtbl->get_CurrentStreamNumber(This,StreamNumber)
14607#define ISpeechVoiceStatus_get_LastStreamNumberQueued(This,StreamNumber) (This)->lpVtbl->get_LastStreamNumberQueued(This,StreamNumber)
14608#define ISpeechVoiceStatus_get_LastHResult(This,HResult) (This)->lpVtbl->get_LastHResult(This,HResult)
14609#define ISpeechVoiceStatus_get_RunningState(This,State) (This)->lpVtbl->get_RunningState(This,State)
14610#define ISpeechVoiceStatus_get_InputWordPosition(This,Position) (This)->lpVtbl->get_InputWordPosition(This,Position)
14611#define ISpeechVoiceStatus_get_InputWordLength(This,Length) (This)->lpVtbl->get_InputWordLength(This,Length)
14612#define ISpeechVoiceStatus_get_InputSentencePosition(This,Position) (This)->lpVtbl->get_InputSentencePosition(This,Position)
14613#define ISpeechVoiceStatus_get_InputSentenceLength(This,Length) (This)->lpVtbl->get_InputSentenceLength(This,Length)
14614#define ISpeechVoiceStatus_get_LastBookmark(This,Bookmark) (This)->lpVtbl->get_LastBookmark(This,Bookmark)
14615#define ISpeechVoiceStatus_get_LastBookmarkId(This,BookmarkId) (This)->lpVtbl->get_LastBookmarkId(This,BookmarkId)
14616#define ISpeechVoiceStatus_get_PhonemeId(This,PhoneId) (This)->lpVtbl->get_PhonemeId(This,PhoneId)
14617#define ISpeechVoiceStatus_get_VisemeId(This,VisemeId) (This)->lpVtbl->get_VisemeId(This,VisemeId)
14618#else
14619/*** IUnknown methods ***/
14620static FORCEINLINE HRESULT ISpeechVoiceStatus_QueryInterface(ISpeechVoiceStatus* This,REFIID riid,void **ppvObject) {
14621    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
14622}
14623static FORCEINLINE ULONG ISpeechVoiceStatus_AddRef(ISpeechVoiceStatus* This) {
14624    return This->lpVtbl->AddRef(This);
14625}
14626static FORCEINLINE ULONG ISpeechVoiceStatus_Release(ISpeechVoiceStatus* This) {
14627    return This->lpVtbl->Release(This);
14628}
14629/*** IDispatch methods ***/
14630static FORCEINLINE HRESULT ISpeechVoiceStatus_GetTypeInfoCount(ISpeechVoiceStatus* This,UINT *pctinfo) {
14631    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
14632}
14633static FORCEINLINE HRESULT ISpeechVoiceStatus_GetTypeInfo(ISpeechVoiceStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
14634    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
14635}
14636static FORCEINLINE HRESULT ISpeechVoiceStatus_GetIDsOfNames(ISpeechVoiceStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
14637    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
14638}
14639static FORCEINLINE HRESULT ISpeechVoiceStatus_Invoke(ISpeechVoiceStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
14640    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
14641}
14642/*** ISpeechVoiceStatus methods ***/
14643static FORCEINLINE HRESULT ISpeechVoiceStatus_get_CurrentStreamNumber(ISpeechVoiceStatus* This,LONG *StreamNumber) {
14644    return This->lpVtbl->get_CurrentStreamNumber(This,StreamNumber);
14645}
14646static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastStreamNumberQueued(ISpeechVoiceStatus* This,LONG *StreamNumber) {
14647    return This->lpVtbl->get_LastStreamNumberQueued(This,StreamNumber);
14648}
14649static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastHResult(ISpeechVoiceStatus* This,LONG *HResult) {
14650    return This->lpVtbl->get_LastHResult(This,HResult);
14651}
14652static FORCEINLINE HRESULT ISpeechVoiceStatus_get_RunningState(ISpeechVoiceStatus* This,SpeechRunState *State) {
14653    return This->lpVtbl->get_RunningState(This,State);
14654}
14655static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputWordPosition(ISpeechVoiceStatus* This,LONG *Position) {
14656    return This->lpVtbl->get_InputWordPosition(This,Position);
14657}
14658static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputWordLength(ISpeechVoiceStatus* This,LONG *Length) {
14659    return This->lpVtbl->get_InputWordLength(This,Length);
14660}
14661static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputSentencePosition(ISpeechVoiceStatus* This,LONG *Position) {
14662    return This->lpVtbl->get_InputSentencePosition(This,Position);
14663}
14664static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputSentenceLength(ISpeechVoiceStatus* This,LONG *Length) {
14665    return This->lpVtbl->get_InputSentenceLength(This,Length);
14666}
14667static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastBookmark(ISpeechVoiceStatus* This,BSTR *Bookmark) {
14668    return This->lpVtbl->get_LastBookmark(This,Bookmark);
14669}
14670static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastBookmarkId(ISpeechVoiceStatus* This,LONG *BookmarkId) {
14671    return This->lpVtbl->get_LastBookmarkId(This,BookmarkId);
14672}
14673static FORCEINLINE HRESULT ISpeechVoiceStatus_get_PhonemeId(ISpeechVoiceStatus* This,short *PhoneId) {
14674    return This->lpVtbl->get_PhonemeId(This,PhoneId);
14675}
14676static FORCEINLINE HRESULT ISpeechVoiceStatus_get_VisemeId(ISpeechVoiceStatus* This,short *VisemeId) {
14677    return This->lpVtbl->get_VisemeId(This,VisemeId);
14678}
14679#endif
14680#endif
14681
14682#endif
14683
14684HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_CurrentStreamNumber_Proxy(
14685    ISpeechVoiceStatus* This,
14686    LONG *StreamNumber);
14687void __RPC_STUB ISpeechVoiceStatus_get_CurrentStreamNumber_Stub(
14688    IRpcStubBuffer* This,
14689    IRpcChannelBuffer* pRpcChannelBuffer,
14690    PRPC_MESSAGE pRpcMessage,
14691    DWORD* pdwStubPhase);
14692HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastStreamNumberQueued_Proxy(
14693    ISpeechVoiceStatus* This,
14694    LONG *StreamNumber);
14695void __RPC_STUB ISpeechVoiceStatus_get_LastStreamNumberQueued_Stub(
14696    IRpcStubBuffer* This,
14697    IRpcChannelBuffer* pRpcChannelBuffer,
14698    PRPC_MESSAGE pRpcMessage,
14699    DWORD* pdwStubPhase);
14700HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastHResult_Proxy(
14701    ISpeechVoiceStatus* This,
14702    LONG *HResult);
14703void __RPC_STUB ISpeechVoiceStatus_get_LastHResult_Stub(
14704    IRpcStubBuffer* This,
14705    IRpcChannelBuffer* pRpcChannelBuffer,
14706    PRPC_MESSAGE pRpcMessage,
14707    DWORD* pdwStubPhase);
14708HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_RunningState_Proxy(
14709    ISpeechVoiceStatus* This,
14710    SpeechRunState *State);
14711void __RPC_STUB ISpeechVoiceStatus_get_RunningState_Stub(
14712    IRpcStubBuffer* This,
14713    IRpcChannelBuffer* pRpcChannelBuffer,
14714    PRPC_MESSAGE pRpcMessage,
14715    DWORD* pdwStubPhase);
14716HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputWordPosition_Proxy(
14717    ISpeechVoiceStatus* This,
14718    LONG *Position);
14719void __RPC_STUB ISpeechVoiceStatus_get_InputWordPosition_Stub(
14720    IRpcStubBuffer* This,
14721    IRpcChannelBuffer* pRpcChannelBuffer,
14722    PRPC_MESSAGE pRpcMessage,
14723    DWORD* pdwStubPhase);
14724HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputWordLength_Proxy(
14725    ISpeechVoiceStatus* This,
14726    LONG *Length);
14727void __RPC_STUB ISpeechVoiceStatus_get_InputWordLength_Stub(
14728    IRpcStubBuffer* This,
14729    IRpcChannelBuffer* pRpcChannelBuffer,
14730    PRPC_MESSAGE pRpcMessage,
14731    DWORD* pdwStubPhase);
14732HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputSentencePosition_Proxy(
14733    ISpeechVoiceStatus* This,
14734    LONG *Position);
14735void __RPC_STUB ISpeechVoiceStatus_get_InputSentencePosition_Stub(
14736    IRpcStubBuffer* This,
14737    IRpcChannelBuffer* pRpcChannelBuffer,
14738    PRPC_MESSAGE pRpcMessage,
14739    DWORD* pdwStubPhase);
14740HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputSentenceLength_Proxy(
14741    ISpeechVoiceStatus* This,
14742    LONG *Length);
14743void __RPC_STUB ISpeechVoiceStatus_get_InputSentenceLength_Stub(
14744    IRpcStubBuffer* This,
14745    IRpcChannelBuffer* pRpcChannelBuffer,
14746    PRPC_MESSAGE pRpcMessage,
14747    DWORD* pdwStubPhase);
14748HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastBookmark_Proxy(
14749    ISpeechVoiceStatus* This,
14750    BSTR *Bookmark);
14751void __RPC_STUB ISpeechVoiceStatus_get_LastBookmark_Stub(
14752    IRpcStubBuffer* This,
14753    IRpcChannelBuffer* pRpcChannelBuffer,
14754    PRPC_MESSAGE pRpcMessage,
14755    DWORD* pdwStubPhase);
14756HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastBookmarkId_Proxy(
14757    ISpeechVoiceStatus* This,
14758    LONG *BookmarkId);
14759void __RPC_STUB ISpeechVoiceStatus_get_LastBookmarkId_Stub(
14760    IRpcStubBuffer* This,
14761    IRpcChannelBuffer* pRpcChannelBuffer,
14762    PRPC_MESSAGE pRpcMessage,
14763    DWORD* pdwStubPhase);
14764HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_PhonemeId_Proxy(
14765    ISpeechVoiceStatus* This,
14766    short *PhoneId);
14767void __RPC_STUB ISpeechVoiceStatus_get_PhonemeId_Stub(
14768    IRpcStubBuffer* This,
14769    IRpcChannelBuffer* pRpcChannelBuffer,
14770    PRPC_MESSAGE pRpcMessage,
14771    DWORD* pdwStubPhase);
14772HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_VisemeId_Proxy(
14773    ISpeechVoiceStatus* This,
14774    short *VisemeId);
14775void __RPC_STUB ISpeechVoiceStatus_get_VisemeId_Stub(
14776    IRpcStubBuffer* This,
14777    IRpcChannelBuffer* pRpcChannelBuffer,
14778    PRPC_MESSAGE pRpcMessage,
14779    DWORD* pdwStubPhase);
14780
14781#endif  /* __ISpeechVoiceStatus_INTERFACE_DEFINED__ */
14782
14783typedef enum SpeechVisemeType {
14784    SVP_0 = 0,
14785    SVP_1 = 1,
14786    SVP_2 = 2,
14787    SVP_3 = 3,
14788    SVP_4 = 4,
14789    SVP_5 = 5,
14790    SVP_6 = 6,
14791    SVP_7 = 7,
14792    SVP_8 = 8,
14793    SVP_9 = 9,
14794    SVP_10 = 10,
14795    SVP_11 = 11,
14796    SVP_12 = 12,
14797    SVP_13 = 13,
14798    SVP_14 = 14,
14799    SVP_15 = 15,
14800    SVP_16 = 16,
14801    SVP_17 = 17,
14802    SVP_18 = 18,
14803    SVP_19 = 19,
14804    SVP_20 = 20,
14805    SVP_21 = 21
14806} SpeechVisemeType;
14807typedef enum SpeechVisemeFeature {
14808    SVF_None = 0,
14809    SVF_Stressed = SPVFEATURE_STRESSED,
14810    SVF_Emphasis = SPVFEATURE_EMPHASIS
14811} SpeechVisemeFeature;
14812typedef enum DISPID_SpeechVoiceEvent {
14813    DISPID_SVEStreamStart = 1,
14814    DISPID_SVEStreamEnd = 2,
14815    DISPID_SVEVoiceChange = 3,
14816    DISPID_SVEBookmark = 4,
14817    DISPID_SVEWord = 5,
14818    DISPID_SVEPhoneme = 6,
14819    DISPID_SVESentenceBoundary = 7,
14820    DISPID_SVEViseme = 8,
14821    DISPID_SVEAudioLevel = 9,
14822    DISPID_SVEEnginePrivate = 10
14823} DISPID_SpeechVoiceEvent;
14824typedef enum DISPID_SpeechRecognizer {
14825    DISPID_SRRecognizer = 1,
14826    DISPID_SRAllowAudioInputFormatChangesOnNextSet = 2,
14827    DISPID_SRAudioInput = 3,
14828    DISPID_SRAudioInputStream = 4,
14829    DISPID_SRIsShared = 5,
14830    DISPID_SRState = 6,
14831    DISPID_SRStatus = 7,
14832    DISPID_SRProfile = 8,
14833    DISPID_SREmulateRecognition = 9,
14834    DISPID_SRCreateRecoContext = 10,
14835    DISPID_SRGetFormat = 11,
14836    DISPID_SRSetPropertyNumber = 12,
14837    DISPID_SRGetPropertyNumber = 13,
14838    DISPID_SRSetPropertyString = 14,
14839    DISPID_SRGetPropertyString = 15,
14840    DISPID_SRIsUISupported = 16,
14841    DISPID_SRDisplayUI = 17,
14842    DISPID_SRGetRecognizers = 18,
14843    DISPID_SVGetAudioInputs = 19,
14844    DISPID_SVGetProfiles = 20
14845} DISPID_SpeechRecognizer;
14846typedef enum SpeechRecognizerState {
14847    SRSInactive = SPRST_INACTIVE,
14848    SRSActive = SPRST_ACTIVE,
14849    SRSActiveAlways = SPRST_ACTIVE_ALWAYS,
14850    SRSInactiveWithPurge = SPRST_INACTIVE_WITH_PURGE
14851} SpeechRecognizerState;
14852typedef enum SpeechDisplayAttributes {
14853    SDA_No_Trailing_Space = 0,
14854    SDA_One_Trailing_Space = SPAF_ONE_TRAILING_SPACE,
14855    SDA_Two_Trailing_Spaces = SPAF_TWO_TRAILING_SPACES,
14856    SDA_Consume_Leading_Spaces = SPAF_CONSUME_LEADING_SPACES
14857} SpeechDisplayAttributes;
14858typedef enum SpeechFormatType {
14859    SFTInput = SPWF_INPUT,
14860    SFTSREngine = SPWF_SRENGINE
14861} SpeechFormatType;
14862typedef enum DISPID_SpeechRecognizerStatus {
14863    DISPID_SRSAudioStatus = 1,
14864    DISPID_SRSCurrentStreamPosition = 2,
14865    DISPID_SRSCurrentStreamNumber = 3,
14866    DISPID_SRSNumberOfActiveRules = 4,
14867    DISPID_SRSClsidEngine = 5,
14868    DISPID_SRSSupportedLanguages = 6
14869} DISPID_SpeechRecognizerStatus;
14870typedef enum DISPID_SpeechRecoContext {
14871    DISPID_SRCRecognizer = 1,
14872    DISPID_SRCAudioInInterferenceStatus = 2,
14873    DISPID_SRCRequestedUIType = 3,
14874    DISPID_SRCVoice = 4,
14875    DISPID_SRAllowVoiceFormatMatchingOnNextSet = 5,
14876    DISPID_SRCVoicePurgeEvent = 6,
14877    DISPID_SRCEventInterests = 7,
14878    DISPID_SRCCmdMaxAlternates = 8,
14879    DISPID_SRCState = 9,
14880    DISPID_SRCRetainedAudio = 10,
14881    DISPID_SRCRetainedAudioFormat = 11,
14882    DISPID_SRCPause = 12,
14883    DISPID_SRCResume = 13,
14884    DISPID_SRCCreateGrammar = 14,
14885    DISPID_SRCCreateResultFromMemory = 15,
14886    DISPID_SRCBookmark = 16,
14887    DISPID_SRCSetAdaptationData = 17
14888} DISPID_SpeechRecoContext;
14889typedef enum SpeechRetainedAudioOptions {
14890    SRAONone = SPAO_NONE,
14891    SRAORetainAudio = SPAO_RETAIN_AUDIO
14892} SpeechRetainedAudioOptions;
14893typedef enum SpeechBookmarkOptions {
14894    SBONone = SPBO_NONE,
14895    SBOPause = SPBO_PAUSE
14896} SpeechBookmarkOptions;
14897typedef enum SpeechInterference {
14898    SINone = SPINTERFERENCE_NONE,
14899    SINoise = SPINTERFERENCE_NOISE,
14900    SINoSignal = SPINTERFERENCE_NOSIGNAL,
14901    SITooLoud = SPINTERFERENCE_TOOLOUD,
14902    SITooQuiet = SPINTERFERENCE_TOOQUIET,
14903    SITooFast = SPINTERFERENCE_TOOFAST,
14904    SITooSlow = SPINTERFERENCE_TOOSLOW
14905} SpeechInterference;
14906typedef enum SpeechRecoEvents {
14907    SREStreamEnd = 0x1,
14908    SRESoundStart = 0x2,
14909    SRESoundEnd = 0x4,
14910    SREPhraseStart = 0x8,
14911    SRERecognition = 0x10,
14912    SREHypothesis = 0x20,
14913    SREBookmark = 0x40,
14914    SREPropertyNumChange = 0x80,
14915    SREPropertyStringChange = 0x100,
14916    SREFalseRecognition = 0x200,
14917    SREInterference = 0x400,
14918    SRERequestUI = 0x800,
14919    SREStateChange = 0x1000,
14920    SREAdaptation = 0x2000,
14921    SREStreamStart = 0x4000,
14922    SRERecoOtherContext = 0x8000,
14923    SREAudioLevel = 0x10000,
14924    SREPrivate = 0x40000,
14925    SREAllEvents = 0x5ffff
14926} SpeechRecoEvents;
14927typedef enum SpeechRecoContextState {
14928    SRCS_Disabled = SPCS_DISABLED,
14929    SRCS_Enabled = SPCS_ENABLED
14930} SpeechRecoContextState;
14931typedef enum DISPIDSPRG {
14932    DISPID_SRGId = 1,
14933    DISPID_SRGRecoContext = 2,
14934    DISPID_SRGState = 3,
14935    DISPID_SRGRules = 4,
14936    DISPID_SRGReset = 5,
14937    DISPID_SRGCommit = 6,
14938    DISPID_SRGCmdLoadFromFile = 7,
14939    DISPID_SRGCmdLoadFromObject = 8,
14940    DISPID_SRGCmdLoadFromResource = 9,
14941    DISPID_SRGCmdLoadFromMemory = 10,
14942    DISPID_SRGCmdLoadFromProprietaryGrammar = 11,
14943    DISPID_SRGCmdSetRuleState = 12,
14944    DISPID_SRGCmdSetRuleIdState = 13,
14945    DISPID_SRGDictationLoad = 14,
14946    DISPID_SRGDictationUnload = 15,
14947    DISPID_SRGDictationSetState = 16,
14948    DISPID_SRGSetWordSequenceData = 17,
14949    DISPID_SRGSetTextSelection = 18,
14950    DISPID_SRGIsPronounceable = 19
14951} DISPIDSPRG;
14952typedef enum SpeechLoadOption {
14953    SLOStatic = SPLO_STATIC,
14954    SLODynamic = SPLO_DYNAMIC
14955} SpeechLoadOption;
14956typedef enum SpeechWordPronounceable {
14957    SWPUnknownWordUnpronounceable = SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE,
14958    SWPUnknownWordPronounceable = SPWP_UNKNOWN_WORD_PRONOUNCEABLE,
14959    SWPKnownWordPronounceable = SPWP_KNOWN_WORD_PRONOUNCEABLE
14960} SpeechWordPronounceable;
14961typedef enum SpeechGrammarState {
14962    SGSEnabled = SPGS_ENABLED,
14963    SGSDisabled = SPGS_DISABLED,
14964    SGSExclusive = SPGS_EXCLUSIVE
14965} SpeechGrammarState;
14966typedef enum SpeechRuleState {
14967    SGDSInactive = SPRS_INACTIVE,
14968    SGDSActive = SPRS_ACTIVE,
14969    SGDSActiveWithAutoPause = SPRS_ACTIVE_WITH_AUTO_PAUSE
14970} SpeechRuleState;
14971typedef enum SpeechRuleAttributes {
14972    SRATopLevel = SPRAF_TopLevel,
14973    SRADefaultToActive = SPRAF_Active,
14974    SRAExport = SPRAF_Export,
14975    SRAImport = SPRAF_Import,
14976    SRAInterpreter = SPRAF_Interpreter,
14977    SRADynamic = SPRAF_Dynamic
14978} SpeechRuleAttributes;
14979typedef enum SpeechGrammarWordType {
14980    SGDisplay = SPWT_DISPLAY,
14981    SGLexical = SPWT_LEXICAL,
14982    SGPronounciation = SPWT_PRONUNCIATION
14983} SpeechGrammarWordType;
14984typedef enum DISPID_SpeechRecoContextEvents {
14985    DISPID_SRCEStartStream = 1,
14986    DISPID_SRCEEndStream = 2,
14987    DISPID_SRCEBookmark = 3,
14988    DISPID_SRCESoundStart = 4,
14989    DISPID_SRCESoundEnd = 5,
14990    DISPID_SRCEPhraseStart = 6,
14991    DISPID_SRCERecognition = 7,
14992    DISPID_SRCEHypothesis = 8,
14993    DISPID_SRCEPropertyNumberChange = 9,
14994    DISPID_SRCEPropertyStringChange = 10,
14995    DISPID_SRCEFalseRecognition = 11,
14996    DISPID_SRCEInterference = 12,
14997    DISPID_SRCERequestUI = 13,
14998    DISPID_SRCERecognizerStateChange = 14,
14999    DISPID_SRCEAdaptation = 15,
15000    DISPID_SRCERecognitionForOtherContext = 16,
15001    DISPID_SRCEAudioLevel = 17,
15002    DISPID_SRCEEnginePrivate = 18
15003} DISPID_SpeechRecoContextEvents;
15004typedef enum SpeechRecognitionType {
15005    SRTStandard = 0,
15006    SRTAutopause = SPREF_AutoPause,
15007    SRTEmulated = SPREF_Emulated
15008} SpeechRecognitionType;
15009typedef enum DISPID_SpeechGrammarRule {
15010    DISPID_SGRAttributes = 1,
15011    DISPID_SGRInitialState = 2,
15012    DISPID_SGRName = 3,
15013    DISPID_SGRId = 4,
15014    DISPID_SGRClear = 5,
15015    DISPID_SGRAddResource = 6,
15016    DISPID_SGRAddState = 7
15017} DISPID_SpeechGrammarRule;
15018typedef enum DISPID_SpeechGrammarRules {
15019    DISPID_SGRsCount = 1,
15020    DISPID_SGRsDynamic = 2,
15021    DISPID_SGRsAdd = 3,
15022    DISPID_SGRsCommit = 4,
15023    DISPID_SGRsCommitAndSave = 5,
15024    DISPID_SGRsFindRule = 6,
15025    DISPID_SGRsItem = DISPID_VALUE,
15026    DISPID_SGRs_NewEnum = DISPID_NEWENUM
15027} DISPID_SpeechGrammarRules;
15028typedef enum DISPID_SpeechGrammarRuleState {
15029    DISPID_SGRSRule = 1,
15030    DISPID_SGRSTransitions = 2,
15031    DISPID_SGRSAddWordTransition = 3,
15032    DISPID_SGRSAddRuleTransition = 4,
15033    DISPID_SGRSAddSpecialTransition = 5
15034} DISPID_SpeechGrammarRuleState;
15035typedef enum SpeechSpecialTransitionType {
15036    SSTTWildcard = 1,
15037    SSTTDictation = 2,
15038    SSTTTextBuffer = 3
15039} SpeechSpecialTransitionType;
15040typedef enum DISPID_SpeechGrammarRuleStateTransitions {
15041    DISPID_SGRSTsCount = 1,
15042    DISPID_SGRSTsItem = DISPID_VALUE,
15043    DISPID_SGRSTs_NewEnum = DISPID_NEWENUM
15044} DISPID_SpeechGrammarRuleStateTransitions;
15045typedef enum DISPID_SpeechGrammarRuleStateTransition {
15046    DISPID_SGRSTType = 1,
15047    DISPID_SGRSTText = 2,
15048    DISPID_SGRSTRule = 3,
15049    DISPID_SGRSTWeight = 4,
15050    DISPID_SGRSTPropertyName = 5,
15051    DISPID_SGRSTPropertyId = 6,
15052    DISPID_SGRSTPropertyValue = 7,
15053    DISPID_SGRSTNextState = 8
15054} DISPID_SpeechGrammarRuleStateTransition;
15055typedef enum SpeechGrammarRuleStateTransitionType {
15056    SGRSTTEpsilon = 0,
15057    SGRSTTWord = 1,
15058    SGRSTTRule = 2,
15059    SGRSTTDictation = 3,
15060    SGRSTTWildcard = 4,
15061    SGRSTTTextBuffer = 5
15062} SpeechGrammarRuleStateTransitionType;
15063typedef enum DISPIDSPTSI {
15064    DISPIDSPTSI_ActiveOffset = 1,
15065    DISPIDSPTSI_ActiveLength = 2,
15066    DISPIDSPTSI_SelectionOffset = 3,
15067    DISPIDSPTSI_SelectionLength = 4
15068} DISPIDSPTSI;
15069typedef enum DISPID_SpeechRecoResult {
15070    DISPID_SRRRecoContext = 1,
15071    DISPID_SRRTimes = 2,
15072    DISPID_SRRAudioFormat = 3,
15073    DISPID_SRRPhraseInfo = 4,
15074    DISPID_SRRAlternates = 5,
15075    DISPID_SRRAudio = 6,
15076    DISPID_SRRSpeakAudio = 7,
15077    DISPID_SRRSaveToMemory = 8,
15078    DISPID_SRRDiscardResultInfo = 9
15079} DISPID_SpeechRecoResult;
15080typedef enum SpeechDiscardType {
15081    SDTProperty = SPDF_PROPERTY,
15082    SDTReplacement = SPDF_REPLACEMENT,
15083    SDTRule = SPDF_RULE,
15084    SDTDisplayText = SPDF_DISPLAYTEXT,
15085    SDTLexicalForm = SPDF_LEXICALFORM,
15086    SDTPronunciation = SPDF_PRONUNCIATION,
15087    SDTAudio = SPDF_AUDIO,
15088    SDTAlternates = SPDF_ALTERNATES,
15089    SDTAll = SPDF_ALL
15090} SpeechDiscardType;
15091typedef enum DISPID_SpeechPhraseBuilder {
15092    DISPID_SPPBRestorePhraseFromMemory = 1
15093} DISPID_SpeechPhraseBuilder;
15094typedef enum DISPID_SpeechRecoResultTimes {
15095    DISPID_SRRTStreamTime = 1,
15096    DISPID_SRRTLength = 2,
15097    DISPID_SRRTTickCount = 3,
15098    DISPID_SRRTOffsetFromStart = 4
15099} DISPID_SpeechRecoResultTimes;
15100typedef enum DISPID_SpeechPhraseAlternate {
15101    DISPID_SPARecoResult = 1,
15102    DISPID_SPAStartElementInResult = 2,
15103    DISPID_SPANumberOfElementsInResult = 3,
15104    DISPID_SPAPhraseInfo = 4,
15105    DISPID_SPACommit = 5
15106} DISPID_SpeechPhraseAlternate;
15107typedef enum DISPID_SpeechPhraseAlternates {
15108    DISPID_SPAsCount = 1,
15109    DISPID_SPAsItem = DISPID_VALUE,
15110    DISPID_SPAs_NewEnum = DISPID_NEWENUM
15111} DISPID_SpeechPhraseAlternates;
15112typedef enum DISPID_SpeechPhraseInfo {
15113    DISPID_SPILanguageId = 1,
15114    DISPID_SPIGrammarId = 2,
15115    DISPID_SPIStartTime = 3,
15116    DISPID_SPIAudioStreamPosition = 4,
15117    DISPID_SPIAudioSizeBytes = 5,
15118    DISPID_SPIRetainedSizeBytes = 6,
15119    DISPID_SPIAudioSizeTime = 7,
15120    DISPID_SPIRule = 8,
15121    DISPID_SPIProperties = 9,
15122    DISPID_SPIElements = 10,
15123    DISPID_SPIReplacements = 11,
15124    DISPID_SPIEngineId = 12,
15125    DISPID_SPIEnginePrivateData = 13,
15126    DISPID_SPISaveToMemory = 14,
15127    DISPID_SPIGetText = 15,
15128    DISPID_SPIGetDisplayAttributes = 16
15129} DISPID_SpeechPhraseInfo;
15130typedef enum DISPID_SpeechPhraseElement {
15131    DISPID_SPEAudioTimeOffset = 1,
15132    DISPID_SPEAudioSizeTime = 2,
15133    DISPID_SPEAudioStreamOffset = 3,
15134    DISPID_SPEAudioSizeBytes = 4,
15135    DISPID_SPERetainedStreamOffset = 5,
15136    DISPID_SPERetainedSizeBytes = 6,
15137    DISPID_SPEDisplayText = 7,
15138    DISPID_SPELexicalForm = 8,
15139    DISPID_SPEPronunciation = 9,
15140    DISPID_SPEDisplayAttributes = 10,
15141    DISPID_SPERequiredConfidence = 11,
15142    DISPID_SPEActualConfidence = 12,
15143    DISPID_SPEEngineConfidence = 13
15144} DISPID_SpeechPhraseElement;
15145typedef enum SpeechEngineConfidence {
15146    SECLowConfidence = -1,
15147    SECNormalConfidence = 0,
15148    SECHighConfidence = 1
15149} SpeechEngineConfidence;
15150typedef enum DISPID_SpeechPhraseElements {
15151    DISPID_SPEsCount = 1,
15152    DISPID_SPEsItem = DISPID_VALUE,
15153    DISPID_SPEs_NewEnum = DISPID_NEWENUM
15154} DISPID_SpeechPhraseElements;
15155typedef enum DISPID_SpeechPhraseReplacement {
15156    DISPID_SPRDisplayAttributes = 1,
15157    DISPID_SPRText = 2,
15158    DISPID_SPRFirstElement = 3,
15159    DISPID_SPRNumberOfElements = 4
15160} DISPID_SpeechPhraseReplacement;
15161typedef enum DISPID_SpeechPhraseReplacements {
15162    DISPID_SPRsCount = 1,
15163    DISPID_SPRsItem = DISPID_VALUE,
15164    DISPID_SPRs_NewEnum = DISPID_NEWENUM
15165} DISPID_SpeechPhraseReplacements;
15166typedef enum DISPID_SpeechPhraseProperty {
15167    DISPID_SPPName = 1,
15168    DISPID_SPPId = 2,
15169    DISPID_SPPValue = 3,
15170    DISPID_SPPFirstElement = 4,
15171    DISPID_SPPNumberOfElements = 5,
15172    DISPID_SPPEngineConfidence = 6,
15173    DISPID_SPPConfidence = 7,
15174    DISPID_SPPParent = 8,
15175    DISPID_SPPChildren = 9
15176} DISPID_SpeechPhraseProperty;
15177typedef enum DISPID_SpeechPhraseProperties {
15178    DISPID_SPPsCount = 1,
15179    DISPID_SPPsItem = DISPID_VALUE,
15180    DISPID_SPPs_NewEnum = DISPID_NEWENUM
15181} DISPID_SpeechPhraseProperties;
15182typedef enum DISPID_SpeechPhraseRule {
15183    DISPID_SPRuleName = 1,
15184    DISPID_SPRuleId = 2,
15185    DISPID_SPRuleFirstElement = 3,
15186    DISPID_SPRuleNumberOfElements = 4,
15187    DISPID_SPRuleParent = 5,
15188    DISPID_SPRuleChildren = 6,
15189    DISPID_SPRuleConfidence = 7,
15190    DISPID_SPRuleEngineConfidence = 8
15191} DISPID_SpeechPhraseRule;
15192typedef enum DISPID_SpeechPhraseRules {
15193    DISPID_SPRulesCount = 1,
15194    DISPID_SPRulesItem = DISPID_VALUE,
15195    DISPID_SPRules_NewEnum = DISPID_NEWENUM
15196} DISPID_SpeechPhraseRules;
15197typedef enum DISPID_SpeechLexicon {
15198    DISPID_SLGenerationId = 1,
15199    DISPID_SLGetWords = 2,
15200    DISPID_SLAddPronunciation = 3,
15201    DISPID_SLAddPronunciationByPhoneIds = 4,
15202    DISPID_SLRemovePronunciation = 5,
15203    DISPID_SLRemovePronunciationByPhoneIds = 6,
15204    DISPID_SLGetPronunciations = 7,
15205    DISPID_SLGetGenerationChange = 8
15206} DISPID_SpeechLexicon;
15207typedef enum SpeechLexiconType {
15208    SLTUser = eLEXTYPE_USER,
15209    SLTApp = eLEXTYPE_APP
15210} SpeechLexiconType;
15211typedef enum SpeechPartOfSpeech {
15212    SPSNotOverriden = SPPS_NotOverriden,
15213    SPSUnknown = SPPS_Unknown,
15214    SPSNoun = SPPS_Noun,
15215    SPSVerb = SPPS_Verb,
15216    SPSModifier = SPPS_Modifier,
15217    SPSFunction = SPPS_Function,
15218    SPSInterjection = SPPS_Interjection
15219} SpeechPartOfSpeech;
15220typedef enum DISPID_SpeechLexiconWords {
15221    DISPID_SLWsCount = 1,
15222    DISPID_SLWsItem = DISPID_VALUE,
15223    DISPID_SLWs_NewEnum = DISPID_NEWENUM
15224} DISPID_SpeechLexiconWords;
15225typedef enum SpeechWordType {
15226    SWTAdded = eWORDTYPE_ADDED,
15227    SWTDeleted = eWORDTYPE_DELETED
15228} SpeechWordType;
15229typedef enum DISPID_SpeechLexiconWord {
15230    DISPID_SLWLangId = 1,
15231    DISPID_SLWType = 2,
15232    DISPID_SLWWord = 3,
15233    DISPID_SLWPronunciations = 4
15234} DISPID_SpeechLexiconWord;
15235typedef enum DISPID_SpeechLexiconProns {
15236    DISPID_SLPsCount = 1,
15237    DISPID_SLPsItem = DISPID_VALUE,
15238    DISPID_SLPs_NewEnum = DISPID_NEWENUM
15239} DISPID_SpeechLexiconProns;
15240typedef enum DISPID_SpeechLexiconPronunciation {
15241    DISPID_SLPType = 1,
15242    DISPID_SLPLangId = 2,
15243    DISPID_SLPPartOfSpeech = 3,
15244    DISPID_SLPPhoneIds = 4,
15245    DISPID_SLPSymbolic = 5
15246} DISPID_SpeechLexiconPronunciation;
15247typedef enum DISPID_SpeechPhoneConverter {
15248    DISPID_SPCLangId = 1,
15249    DISPID_SPCPhoneToId = 2,
15250    DISPID_SPCIdToPhone = 3
15251} DISPID_SpeechPhoneConverter;
15252/*****************************************************************************
15253 * _ISpeechVoiceEvents dispinterface
15254 */
15255#ifndef ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__
15256#define ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__
15257
15258DEFINE_GUID(DIID__ISpeechVoiceEvents, 0xa372acd1, 0x3bef, 0x4bbd, 0x8f,0xfb, 0xcb,0x3e,0x2b,0x41,0x6a,0xf8);
15259#if defined(__cplusplus) && !defined(CINTERFACE)
15260MIDL_INTERFACE("a372acd1-3bef-4bbd-8ffb-cb3e2b416af8")
15261_ISpeechVoiceEvents : public IDispatch
15262{
15263};
15264#ifdef __CRT_UUID_DECL
15265__CRT_UUID_DECL(_ISpeechVoiceEvents, 0xa372acd1, 0x3bef, 0x4bbd, 0x8f,0xfb, 0xcb,0x3e,0x2b,0x41,0x6a,0xf8)
15266#endif
15267#else
15268typedef struct _ISpeechVoiceEventsVtbl {
15269    BEGIN_INTERFACE
15270
15271    /*** IUnknown methods ***/
15272    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15273        _ISpeechVoiceEvents* This,
15274        REFIID riid,
15275        void **ppvObject);
15276
15277    ULONG (STDMETHODCALLTYPE *AddRef)(
15278        _ISpeechVoiceEvents* This);
15279
15280    ULONG (STDMETHODCALLTYPE *Release)(
15281        _ISpeechVoiceEvents* This);
15282
15283    /*** IDispatch methods ***/
15284    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
15285        _ISpeechVoiceEvents* This,
15286        UINT *pctinfo);
15287
15288    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
15289        _ISpeechVoiceEvents* This,
15290        UINT iTInfo,
15291        LCID lcid,
15292        ITypeInfo **ppTInfo);
15293
15294    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
15295        _ISpeechVoiceEvents* This,
15296        REFIID riid,
15297        LPOLESTR *rgszNames,
15298        UINT cNames,
15299        LCID lcid,
15300        DISPID *rgDispId);
15301
15302    HRESULT (STDMETHODCALLTYPE *Invoke)(
15303        _ISpeechVoiceEvents* This,
15304        DISPID dispIdMember,
15305        REFIID riid,
15306        LCID lcid,
15307        WORD wFlags,
15308        DISPPARAMS *pDispParams,
15309        VARIANT *pVarResult,
15310        EXCEPINFO *pExcepInfo,
15311        UINT *puArgErr);
15312
15313    END_INTERFACE
15314} _ISpeechVoiceEventsVtbl;
15315interface _ISpeechVoiceEvents {
15316    CONST_VTBL _ISpeechVoiceEventsVtbl* lpVtbl;
15317};
15318
15319#ifdef COBJMACROS
15320#ifndef WIDL_C_INLINE_WRAPPERS
15321/*** IUnknown methods ***/
15322#define _ISpeechVoiceEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15323#define _ISpeechVoiceEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
15324#define _ISpeechVoiceEvents_Release(This) (This)->lpVtbl->Release(This)
15325/*** IDispatch methods ***/
15326#define _ISpeechVoiceEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
15327#define _ISpeechVoiceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
15328#define _ISpeechVoiceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
15329#define _ISpeechVoiceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
15330#else
15331/*** IUnknown methods ***/
15332static FORCEINLINE HRESULT _ISpeechVoiceEvents_QueryInterface(_ISpeechVoiceEvents* This,REFIID riid,void **ppvObject) {
15333    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15334}
15335static FORCEINLINE ULONG _ISpeechVoiceEvents_AddRef(_ISpeechVoiceEvents* This) {
15336    return This->lpVtbl->AddRef(This);
15337}
15338static FORCEINLINE ULONG _ISpeechVoiceEvents_Release(_ISpeechVoiceEvents* This) {
15339    return This->lpVtbl->Release(This);
15340}
15341/*** IDispatch methods ***/
15342static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetTypeInfoCount(_ISpeechVoiceEvents* This,UINT *pctinfo) {
15343    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
15344}
15345static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetTypeInfo(_ISpeechVoiceEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
15346    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
15347}
15348static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetIDsOfNames(_ISpeechVoiceEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
15349    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
15350}
15351static FORCEINLINE HRESULT _ISpeechVoiceEvents_Invoke(_ISpeechVoiceEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
15352    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
15353}
15354#endif
15355#endif
15356
15357#endif
15358
15359#endif  /* ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__ */
15360
15361/*****************************************************************************
15362 * ISpeechRecognizer interface
15363 */
15364#ifndef __ISpeechRecognizer_INTERFACE_DEFINED__
15365#define __ISpeechRecognizer_INTERFACE_DEFINED__
15366
15367DEFINE_GUID(IID_ISpeechRecognizer, 0x2d5f1c0c, 0xbd75, 0x4b08, 0x94,0x78, 0x3b,0x11,0xfe,0xa2,0x58,0x6c);
15368#if defined(__cplusplus) && !defined(CINTERFACE)
15369MIDL_INTERFACE("2d5f1c0c-bd75-4b08-9478-3b11fea2586c")
15370ISpeechRecognizer : public IDispatch
15371{
15372    virtual HRESULT STDMETHODCALLTYPE putref_Recognizer(
15373        ISpeechObjectToken *Recognizer) = 0;
15374
15375    virtual HRESULT STDMETHODCALLTYPE get_Recognizer(
15376        ISpeechObjectToken **Recognizer) = 0;
15377
15378    virtual HRESULT STDMETHODCALLTYPE put_AllowAudioInputFormatChangesOnNextSet(
15379        VARIANT_BOOL Allow) = 0;
15380
15381    virtual HRESULT STDMETHODCALLTYPE get_AllowAudioInputFormatChangesOnNextSet(
15382        VARIANT_BOOL *Allow) = 0;
15383
15384    virtual HRESULT STDMETHODCALLTYPE putref_AudioInput(
15385        ISpeechObjectToken *AudioInput = 0) = 0;
15386
15387    virtual HRESULT STDMETHODCALLTYPE get_AudioInput(
15388        ISpeechObjectToken **AudioInput) = 0;
15389
15390    virtual HRESULT STDMETHODCALLTYPE putref_AudioInputStream(
15391        ISpeechBaseStream *AudioInputStream = 0) = 0;
15392
15393    virtual HRESULT STDMETHODCALLTYPE get_AudioInputStream(
15394        ISpeechBaseStream **AudioInputStream) = 0;
15395
15396    virtual HRESULT STDMETHODCALLTYPE get_IsShared(
15397        VARIANT_BOOL *Shared) = 0;
15398
15399    virtual HRESULT STDMETHODCALLTYPE put_State(
15400        SpeechRecognizerState State) = 0;
15401
15402    virtual HRESULT STDMETHODCALLTYPE get_State(
15403        SpeechRecognizerState *State) = 0;
15404
15405    virtual HRESULT STDMETHODCALLTYPE get_Status(
15406        ISpeechRecognizerStatus **Status) = 0;
15407
15408    virtual HRESULT STDMETHODCALLTYPE putref_Profile(
15409        ISpeechObjectToken *Profile = 0) = 0;
15410
15411    virtual HRESULT STDMETHODCALLTYPE get_Profile(
15412        ISpeechObjectToken **Profile) = 0;
15413
15414    virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
15415        VARIANT TextElements,
15416        VARIANT *ElementDisplayAttributes = 0,
15417        LONG LanguageId = 0) = 0;
15418
15419    virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
15420        ISpeechRecoContext **NewContext) = 0;
15421
15422    virtual HRESULT STDMETHODCALLTYPE GetFormat(
15423        SpeechFormatType Type,
15424        ISpeechAudioFormat **Format) = 0;
15425
15426    virtual HRESULT STDMETHODCALLTYPE SetPropertyNumber(
15427        const BSTR Name,
15428        LONG Value,
15429        VARIANT_BOOL *Supported) = 0;
15430
15431    virtual HRESULT STDMETHODCALLTYPE GetPropertyNumber(
15432        const BSTR Name,
15433        LONG *Value,
15434        VARIANT_BOOL *Supported) = 0;
15435
15436    virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
15437        const BSTR Name,
15438        const BSTR Value,
15439        VARIANT_BOOL *Supported) = 0;
15440
15441    virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
15442        const BSTR Name,
15443        BSTR *Value,
15444        VARIANT_BOOL *Supported) = 0;
15445
15446    virtual HRESULT STDMETHODCALLTYPE IsUISupported(
15447        const BSTR TypeOfUI,
15448        const VARIANT *ExtraData,
15449        VARIANT_BOOL *Supported) = 0;
15450
15451    virtual HRESULT STDMETHODCALLTYPE DisplayUI(
15452        LONG hWndParent,
15453        BSTR Title,
15454        const BSTR TypeOfUI,
15455        const VARIANT *ExtraData = 0) = 0;
15456
15457    virtual HRESULT STDMETHODCALLTYPE GetRecognizers(
15458        BSTR RequiredAttributes,
15459        BSTR OptionalAttributes,
15460        ISpeechObjectTokens **ObjectTokens) = 0;
15461
15462    virtual HRESULT STDMETHODCALLTYPE GetAudioInputs(
15463        BSTR RequiredAttributes,
15464        BSTR OptionalAttributes,
15465        ISpeechObjectTokens **ObjectTokens) = 0;
15466
15467    virtual HRESULT STDMETHODCALLTYPE GetProfiles(
15468        BSTR RequiredAttributes,
15469        BSTR OptionalAttributes,
15470        ISpeechObjectTokens **ObjectTokens) = 0;
15471
15472};
15473#ifdef __CRT_UUID_DECL
15474__CRT_UUID_DECL(ISpeechRecognizer, 0x2d5f1c0c, 0xbd75, 0x4b08, 0x94,0x78, 0x3b,0x11,0xfe,0xa2,0x58,0x6c)
15475#endif
15476#else
15477typedef struct ISpeechRecognizerVtbl {
15478    BEGIN_INTERFACE
15479
15480    /*** IUnknown methods ***/
15481    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
15482        ISpeechRecognizer* This,
15483        REFIID riid,
15484        void **ppvObject);
15485
15486    ULONG (STDMETHODCALLTYPE *AddRef)(
15487        ISpeechRecognizer* This);
15488
15489    ULONG (STDMETHODCALLTYPE *Release)(
15490        ISpeechRecognizer* This);
15491
15492    /*** IDispatch methods ***/
15493    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
15494        ISpeechRecognizer* This,
15495        UINT *pctinfo);
15496
15497    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
15498        ISpeechRecognizer* This,
15499        UINT iTInfo,
15500        LCID lcid,
15501        ITypeInfo **ppTInfo);
15502
15503    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
15504        ISpeechRecognizer* This,
15505        REFIID riid,
15506        LPOLESTR *rgszNames,
15507        UINT cNames,
15508        LCID lcid,
15509        DISPID *rgDispId);
15510
15511    HRESULT (STDMETHODCALLTYPE *Invoke)(
15512        ISpeechRecognizer* This,
15513        DISPID dispIdMember,
15514        REFIID riid,
15515        LCID lcid,
15516        WORD wFlags,
15517        DISPPARAMS *pDispParams,
15518        VARIANT *pVarResult,
15519        EXCEPINFO *pExcepInfo,
15520        UINT *puArgErr);
15521
15522    /*** ISpeechRecognizer methods ***/
15523    HRESULT (STDMETHODCALLTYPE *putref_Recognizer)(
15524        ISpeechRecognizer* This,
15525        ISpeechObjectToken *Recognizer);
15526
15527    HRESULT (STDMETHODCALLTYPE *get_Recognizer)(
15528        ISpeechRecognizer* This,
15529        ISpeechObjectToken **Recognizer);
15530
15531    HRESULT (STDMETHODCALLTYPE *put_AllowAudioInputFormatChangesOnNextSet)(
15532        ISpeechRecognizer* This,
15533        VARIANT_BOOL Allow);
15534
15535    HRESULT (STDMETHODCALLTYPE *get_AllowAudioInputFormatChangesOnNextSet)(
15536        ISpeechRecognizer* This,
15537        VARIANT_BOOL *Allow);
15538
15539    HRESULT (STDMETHODCALLTYPE *putref_AudioInput)(
15540        ISpeechRecognizer* This,
15541        ISpeechObjectToken *AudioInput);
15542
15543    HRESULT (STDMETHODCALLTYPE *get_AudioInput)(
15544        ISpeechRecognizer* This,
15545        ISpeechObjectToken **AudioInput);
15546
15547    HRESULT (STDMETHODCALLTYPE *putref_AudioInputStream)(
15548        ISpeechRecognizer* This,
15549        ISpeechBaseStream *AudioInputStream);
15550
15551    HRESULT (STDMETHODCALLTYPE *get_AudioInputStream)(
15552        ISpeechRecognizer* This,
15553        ISpeechBaseStream **AudioInputStream);
15554
15555    HRESULT (STDMETHODCALLTYPE *get_IsShared)(
15556        ISpeechRecognizer* This,
15557        VARIANT_BOOL *Shared);
15558
15559    HRESULT (STDMETHODCALLTYPE *put_State)(
15560        ISpeechRecognizer* This,
15561        SpeechRecognizerState State);
15562
15563    HRESULT (STDMETHODCALLTYPE *get_State)(
15564        ISpeechRecognizer* This,
15565        SpeechRecognizerState *State);
15566
15567    HRESULT (STDMETHODCALLTYPE *get_Status)(
15568        ISpeechRecognizer* This,
15569        ISpeechRecognizerStatus **Status);
15570
15571    HRESULT (STDMETHODCALLTYPE *putref_Profile)(
15572        ISpeechRecognizer* This,
15573        ISpeechObjectToken *Profile);
15574
15575    HRESULT (STDMETHODCALLTYPE *get_Profile)(
15576        ISpeechRecognizer* This,
15577        ISpeechObjectToken **Profile);
15578
15579    HRESULT (STDMETHODCALLTYPE *EmulateRecognition)(
15580        ISpeechRecognizer* This,
15581        VARIANT TextElements,
15582        VARIANT *ElementDisplayAttributes,
15583        LONG LanguageId);
15584
15585    HRESULT (STDMETHODCALLTYPE *CreateRecoContext)(
15586        ISpeechRecognizer* This,
15587        ISpeechRecoContext **NewContext);
15588
15589    HRESULT (STDMETHODCALLTYPE *GetFormat)(
15590        ISpeechRecognizer* This,
15591        SpeechFormatType Type,
15592        ISpeechAudioFormat **Format);
15593
15594    HRESULT (STDMETHODCALLTYPE *SetPropertyNumber)(
15595        ISpeechRecognizer* This,
15596        const BSTR Name,
15597        LONG Value,
15598        VARIANT_BOOL *Supported);
15599
15600    HRESULT (STDMETHODCALLTYPE *GetPropertyNumber)(
15601        ISpeechRecognizer* This,
15602        const BSTR Name,
15603        LONG *Value,
15604        VARIANT_BOOL *Supported);
15605
15606    HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
15607        ISpeechRecognizer* This,
15608        const BSTR Name,
15609        const BSTR Value,
15610        VARIANT_BOOL *Supported);
15611
15612    HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
15613        ISpeechRecognizer* This,
15614        const BSTR Name,
15615        BSTR *Value,
15616        VARIANT_BOOL *Supported);
15617
15618    HRESULT (STDMETHODCALLTYPE *IsUISupported)(
15619        ISpeechRecognizer* This,
15620        const BSTR TypeOfUI,
15621        const VARIANT *ExtraData,
15622        VARIANT_BOOL *Supported);
15623
15624    HRESULT (STDMETHODCALLTYPE *DisplayUI)(
15625        ISpeechRecognizer* This,
15626        LONG hWndParent,
15627        BSTR Title,
15628        const BSTR TypeOfUI,
15629        const VARIANT *ExtraData);
15630
15631    HRESULT (STDMETHODCALLTYPE *GetRecognizers)(
15632        ISpeechRecognizer* This,
15633        BSTR RequiredAttributes,
15634        BSTR OptionalAttributes,
15635        ISpeechObjectTokens **ObjectTokens);
15636
15637    HRESULT (STDMETHODCALLTYPE *GetAudioInputs)(
15638        ISpeechRecognizer* This,
15639        BSTR RequiredAttributes,
15640        BSTR OptionalAttributes,
15641        ISpeechObjectTokens **ObjectTokens);
15642
15643    HRESULT (STDMETHODCALLTYPE *GetProfiles)(
15644        ISpeechRecognizer* This,
15645        BSTR RequiredAttributes,
15646        BSTR OptionalAttributes,
15647        ISpeechObjectTokens **ObjectTokens);
15648
15649    END_INTERFACE
15650} ISpeechRecognizerVtbl;
15651interface ISpeechRecognizer {
15652    CONST_VTBL ISpeechRecognizerVtbl* lpVtbl;
15653};
15654
15655#ifdef COBJMACROS
15656#ifndef WIDL_C_INLINE_WRAPPERS
15657/*** IUnknown methods ***/
15658#define ISpeechRecognizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
15659#define ISpeechRecognizer_AddRef(This) (This)->lpVtbl->AddRef(This)
15660#define ISpeechRecognizer_Release(This) (This)->lpVtbl->Release(This)
15661/*** IDispatch methods ***/
15662#define ISpeechRecognizer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
15663#define ISpeechRecognizer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
15664#define ISpeechRecognizer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
15665#define ISpeechRecognizer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
15666/*** ISpeechRecognizer methods ***/
15667#define ISpeechRecognizer_putref_Recognizer(This,Recognizer) (This)->lpVtbl->putref_Recognizer(This,Recognizer)
15668#define ISpeechRecognizer_get_Recognizer(This,Recognizer) (This)->lpVtbl->get_Recognizer(This,Recognizer)
15669#define ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->put_AllowAudioInputFormatChangesOnNextSet(This,Allow)
15670#define ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->get_AllowAudioInputFormatChangesOnNextSet(This,Allow)
15671#define ISpeechRecognizer_putref_AudioInput(This,AudioInput) (This)->lpVtbl->putref_AudioInput(This,AudioInput)
15672#define ISpeechRecognizer_get_AudioInput(This,AudioInput) (This)->lpVtbl->get_AudioInput(This,AudioInput)
15673#define ISpeechRecognizer_putref_AudioInputStream(This,AudioInputStream) (This)->lpVtbl->putref_AudioInputStream(This,AudioInputStream)
15674#define ISpeechRecognizer_get_AudioInputStream(This,AudioInputStream) (This)->lpVtbl->get_AudioInputStream(This,AudioInputStream)
15675#define ISpeechRecognizer_get_IsShared(This,Shared) (This)->lpVtbl->get_IsShared(This,Shared)
15676#define ISpeechRecognizer_put_State(This,State) (This)->lpVtbl->put_State(This,State)
15677#define ISpeechRecognizer_get_State(This,State) (This)->lpVtbl->get_State(This,State)
15678#define ISpeechRecognizer_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
15679#define ISpeechRecognizer_putref_Profile(This,Profile) (This)->lpVtbl->putref_Profile(This,Profile)
15680#define ISpeechRecognizer_get_Profile(This,Profile) (This)->lpVtbl->get_Profile(This,Profile)
15681#define ISpeechRecognizer_EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId) (This)->lpVtbl->EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId)
15682#define ISpeechRecognizer_CreateRecoContext(This,NewContext) (This)->lpVtbl->CreateRecoContext(This,NewContext)
15683#define ISpeechRecognizer_GetFormat(This,Type,Format) (This)->lpVtbl->GetFormat(This,Type,Format)
15684#define ISpeechRecognizer_SetPropertyNumber(This,Name,Value,Supported) (This)->lpVtbl->SetPropertyNumber(This,Name,Value,Supported)
15685#define ISpeechRecognizer_GetPropertyNumber(This,Name,Value,Supported) (This)->lpVtbl->GetPropertyNumber(This,Name,Value,Supported)
15686#define ISpeechRecognizer_SetPropertyString(This,Name,Value,Supported) (This)->lpVtbl->SetPropertyString(This,Name,Value,Supported)
15687#define ISpeechRecognizer_GetPropertyString(This,Name,Value,Supported) (This)->lpVtbl->GetPropertyString(This,Name,Value,Supported)
15688#define ISpeechRecognizer_IsUISupported(This,TypeOfUI,ExtraData,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported)
15689#define ISpeechRecognizer_DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData) (This)->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)
15690#define ISpeechRecognizer_GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
15691#define ISpeechRecognizer_GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
15692#define ISpeechRecognizer_GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
15693#else
15694/*** IUnknown methods ***/
15695static FORCEINLINE HRESULT ISpeechRecognizer_QueryInterface(ISpeechRecognizer* This,REFIID riid,void **ppvObject) {
15696    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
15697}
15698static FORCEINLINE ULONG ISpeechRecognizer_AddRef(ISpeechRecognizer* This) {
15699    return This->lpVtbl->AddRef(This);
15700}
15701static FORCEINLINE ULONG ISpeechRecognizer_Release(ISpeechRecognizer* This) {
15702    return This->lpVtbl->Release(This);
15703}
15704/*** IDispatch methods ***/
15705static FORCEINLINE HRESULT ISpeechRecognizer_GetTypeInfoCount(ISpeechRecognizer* This,UINT *pctinfo) {
15706    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
15707}
15708static FORCEINLINE HRESULT ISpeechRecognizer_GetTypeInfo(ISpeechRecognizer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
15709    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
15710}
15711static FORCEINLINE HRESULT ISpeechRecognizer_GetIDsOfNames(ISpeechRecognizer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
15712    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
15713}
15714static FORCEINLINE HRESULT ISpeechRecognizer_Invoke(ISpeechRecognizer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
15715    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
15716}
15717/*** ISpeechRecognizer methods ***/
15718static FORCEINLINE HRESULT ISpeechRecognizer_putref_Recognizer(ISpeechRecognizer* This,ISpeechObjectToken *Recognizer) {
15719    return This->lpVtbl->putref_Recognizer(This,Recognizer);
15720}
15721static FORCEINLINE HRESULT ISpeechRecognizer_get_Recognizer(ISpeechRecognizer* This,ISpeechObjectToken **Recognizer) {
15722    return This->lpVtbl->get_Recognizer(This,Recognizer);
15723}
15724static FORCEINLINE HRESULT ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet(ISpeechRecognizer* This,VARIANT_BOOL Allow) {
15725    return This->lpVtbl->put_AllowAudioInputFormatChangesOnNextSet(This,Allow);
15726}
15727static FORCEINLINE HRESULT ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet(ISpeechRecognizer* This,VARIANT_BOOL *Allow) {
15728    return This->lpVtbl->get_AllowAudioInputFormatChangesOnNextSet(This,Allow);
15729}
15730static FORCEINLINE HRESULT ISpeechRecognizer_putref_AudioInput(ISpeechRecognizer* This,ISpeechObjectToken *AudioInput) {
15731    return This->lpVtbl->putref_AudioInput(This,AudioInput);
15732}
15733static FORCEINLINE HRESULT ISpeechRecognizer_get_AudioInput(ISpeechRecognizer* This,ISpeechObjectToken **AudioInput) {
15734    return This->lpVtbl->get_AudioInput(This,AudioInput);
15735}
15736static FORCEINLINE HRESULT ISpeechRecognizer_putref_AudioInputStream(ISpeechRecognizer* This,ISpeechBaseStream *AudioInputStream) {
15737    return This->lpVtbl->putref_AudioInputStream(This,AudioInputStream);
15738}
15739static FORCEINLINE HRESULT ISpeechRecognizer_get_AudioInputStream(ISpeechRecognizer* This,ISpeechBaseStream **AudioInputStream) {
15740    return This->lpVtbl->get_AudioInputStream(This,AudioInputStream);
15741}
15742static FORCEINLINE HRESULT ISpeechRecognizer_get_IsShared(ISpeechRecognizer* This,VARIANT_BOOL *Shared) {
15743    return This->lpVtbl->get_IsShared(This,Shared);
15744}
15745static FORCEINLINE HRESULT ISpeechRecognizer_put_State(ISpeechRecognizer* This,SpeechRecognizerState State) {
15746    return This->lpVtbl->put_State(This,State);
15747}
15748static FORCEINLINE HRESULT ISpeechRecognizer_get_State(ISpeechRecognizer* This,SpeechRecognizerState *State) {
15749    return This->lpVtbl->get_State(This,State);
15750}
15751static FORCEINLINE HRESULT ISpeechRecognizer_get_Status(ISpeechRecognizer* This,ISpeechRecognizerStatus **Status) {
15752    return This->lpVtbl->get_Status(This,Status);
15753}
15754static FORCEINLINE HRESULT ISpeechRecognizer_putref_Profile(ISpeechRecognizer* This,ISpeechObjectToken *Profile) {
15755    return This->lpVtbl->putref_Profile(This,Profile);
15756}
15757static FORCEINLINE HRESULT ISpeechRecognizer_get_Profile(ISpeechRecognizer* This,ISpeechObjectToken **Profile) {
15758    return This->lpVtbl->get_Profile(This,Profile);
15759}
15760static FORCEINLINE HRESULT ISpeechRecognizer_EmulateRecognition(ISpeechRecognizer* This,VARIANT TextElements,VARIANT *ElementDisplayAttributes,LONG LanguageId) {
15761    return This->lpVtbl->EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId);
15762}
15763static FORCEINLINE HRESULT ISpeechRecognizer_CreateRecoContext(ISpeechRecognizer* This,ISpeechRecoContext **NewContext) {
15764    return This->lpVtbl->CreateRecoContext(This,NewContext);
15765}
15766static FORCEINLINE HRESULT ISpeechRecognizer_GetFormat(ISpeechRecognizer* This,SpeechFormatType Type,ISpeechAudioFormat **Format) {
15767    return This->lpVtbl->GetFormat(This,Type,Format);
15768}
15769static FORCEINLINE HRESULT ISpeechRecognizer_SetPropertyNumber(ISpeechRecognizer* This,const BSTR Name,LONG Value,VARIANT_BOOL *Supported) {
15770    return This->lpVtbl->SetPropertyNumber(This,Name,Value,Supported);
15771}
15772static FORCEINLINE HRESULT ISpeechRecognizer_GetPropertyNumber(ISpeechRecognizer* This,const BSTR Name,LONG *Value,VARIANT_BOOL *Supported) {
15773    return This->lpVtbl->GetPropertyNumber(This,Name,Value,Supported);
15774}
15775static FORCEINLINE HRESULT ISpeechRecognizer_SetPropertyString(ISpeechRecognizer* This,const BSTR Name,const BSTR Value,VARIANT_BOOL *Supported) {
15776    return This->lpVtbl->SetPropertyString(This,Name,Value,Supported);
15777}
15778static FORCEINLINE HRESULT ISpeechRecognizer_GetPropertyString(ISpeechRecognizer* This,const BSTR Name,BSTR *Value,VARIANT_BOOL *Supported) {
15779    return This->lpVtbl->GetPropertyString(This,Name,Value,Supported);
15780}
15781static FORCEINLINE HRESULT ISpeechRecognizer_IsUISupported(ISpeechRecognizer* This,const BSTR TypeOfUI,const VARIANT *ExtraData,VARIANT_BOOL *Supported) {
15782    return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported);
15783}
15784static FORCEINLINE HRESULT ISpeechRecognizer_DisplayUI(ISpeechRecognizer* This,LONG hWndParent,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData) {
15785    return This->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData);
15786}
15787static FORCEINLINE HRESULT ISpeechRecognizer_GetRecognizers(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
15788    return This->lpVtbl->GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
15789}
15790static FORCEINLINE HRESULT ISpeechRecognizer_GetAudioInputs(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
15791    return This->lpVtbl->GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
15792}
15793static FORCEINLINE HRESULT ISpeechRecognizer_GetProfiles(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
15794    return This->lpVtbl->GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
15795}
15796#endif
15797#endif
15798
15799#endif
15800
15801HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_Recognizer_Proxy(
15802    ISpeechRecognizer* This,
15803    ISpeechObjectToken *Recognizer);
15804void __RPC_STUB ISpeechRecognizer_putref_Recognizer_Stub(
15805    IRpcStubBuffer* This,
15806    IRpcChannelBuffer* pRpcChannelBuffer,
15807    PRPC_MESSAGE pRpcMessage,
15808    DWORD* pdwStubPhase);
15809HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Recognizer_Proxy(
15810    ISpeechRecognizer* This,
15811    ISpeechObjectToken **Recognizer);
15812void __RPC_STUB ISpeechRecognizer_get_Recognizer_Stub(
15813    IRpcStubBuffer* This,
15814    IRpcChannelBuffer* pRpcChannelBuffer,
15815    PRPC_MESSAGE pRpcMessage,
15816    DWORD* pdwStubPhase);
15817HRESULT STDMETHODCALLTYPE ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet_Proxy(
15818    ISpeechRecognizer* This,
15819    VARIANT_BOOL Allow);
15820void __RPC_STUB ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet_Stub(
15821    IRpcStubBuffer* This,
15822    IRpcChannelBuffer* pRpcChannelBuffer,
15823    PRPC_MESSAGE pRpcMessage,
15824    DWORD* pdwStubPhase);
15825HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet_Proxy(
15826    ISpeechRecognizer* This,
15827    VARIANT_BOOL *Allow);
15828void __RPC_STUB ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet_Stub(
15829    IRpcStubBuffer* This,
15830    IRpcChannelBuffer* pRpcChannelBuffer,
15831    PRPC_MESSAGE pRpcMessage,
15832    DWORD* pdwStubPhase);
15833HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_AudioInput_Proxy(
15834    ISpeechRecognizer* This,
15835    ISpeechObjectToken *AudioInput);
15836void __RPC_STUB ISpeechRecognizer_putref_AudioInput_Stub(
15837    IRpcStubBuffer* This,
15838    IRpcChannelBuffer* pRpcChannelBuffer,
15839    PRPC_MESSAGE pRpcMessage,
15840    DWORD* pdwStubPhase);
15841HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AudioInput_Proxy(
15842    ISpeechRecognizer* This,
15843    ISpeechObjectToken **AudioInput);
15844void __RPC_STUB ISpeechRecognizer_get_AudioInput_Stub(
15845    IRpcStubBuffer* This,
15846    IRpcChannelBuffer* pRpcChannelBuffer,
15847    PRPC_MESSAGE pRpcMessage,
15848    DWORD* pdwStubPhase);
15849HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_AudioInputStream_Proxy(
15850    ISpeechRecognizer* This,
15851    ISpeechBaseStream *AudioInputStream);
15852void __RPC_STUB ISpeechRecognizer_putref_AudioInputStream_Stub(
15853    IRpcStubBuffer* This,
15854    IRpcChannelBuffer* pRpcChannelBuffer,
15855    PRPC_MESSAGE pRpcMessage,
15856    DWORD* pdwStubPhase);
15857HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AudioInputStream_Proxy(
15858    ISpeechRecognizer* This,
15859    ISpeechBaseStream **AudioInputStream);
15860void __RPC_STUB ISpeechRecognizer_get_AudioInputStream_Stub(
15861    IRpcStubBuffer* This,
15862    IRpcChannelBuffer* pRpcChannelBuffer,
15863    PRPC_MESSAGE pRpcMessage,
15864    DWORD* pdwStubPhase);
15865HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_IsShared_Proxy(
15866    ISpeechRecognizer* This,
15867    VARIANT_BOOL *Shared);
15868void __RPC_STUB ISpeechRecognizer_get_IsShared_Stub(
15869    IRpcStubBuffer* This,
15870    IRpcChannelBuffer* pRpcChannelBuffer,
15871    PRPC_MESSAGE pRpcMessage,
15872    DWORD* pdwStubPhase);
15873HRESULT STDMETHODCALLTYPE ISpeechRecognizer_put_State_Proxy(
15874    ISpeechRecognizer* This,
15875    SpeechRecognizerState State);
15876void __RPC_STUB ISpeechRecognizer_put_State_Stub(
15877    IRpcStubBuffer* This,
15878    IRpcChannelBuffer* pRpcChannelBuffer,
15879    PRPC_MESSAGE pRpcMessage,
15880    DWORD* pdwStubPhase);
15881HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_State_Proxy(
15882    ISpeechRecognizer* This,
15883    SpeechRecognizerState *State);
15884void __RPC_STUB ISpeechRecognizer_get_State_Stub(
15885    IRpcStubBuffer* This,
15886    IRpcChannelBuffer* pRpcChannelBuffer,
15887    PRPC_MESSAGE pRpcMessage,
15888    DWORD* pdwStubPhase);
15889HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Status_Proxy(
15890    ISpeechRecognizer* This,
15891    ISpeechRecognizerStatus **Status);
15892void __RPC_STUB ISpeechRecognizer_get_Status_Stub(
15893    IRpcStubBuffer* This,
15894    IRpcChannelBuffer* pRpcChannelBuffer,
15895    PRPC_MESSAGE pRpcMessage,
15896    DWORD* pdwStubPhase);
15897HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_Profile_Proxy(
15898    ISpeechRecognizer* This,
15899    ISpeechObjectToken *Profile);
15900void __RPC_STUB ISpeechRecognizer_putref_Profile_Stub(
15901    IRpcStubBuffer* This,
15902    IRpcChannelBuffer* pRpcChannelBuffer,
15903    PRPC_MESSAGE pRpcMessage,
15904    DWORD* pdwStubPhase);
15905HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Profile_Proxy(
15906    ISpeechRecognizer* This,
15907    ISpeechObjectToken **Profile);
15908void __RPC_STUB ISpeechRecognizer_get_Profile_Stub(
15909    IRpcStubBuffer* This,
15910    IRpcChannelBuffer* pRpcChannelBuffer,
15911    PRPC_MESSAGE pRpcMessage,
15912    DWORD* pdwStubPhase);
15913HRESULT STDMETHODCALLTYPE ISpeechRecognizer_EmulateRecognition_Proxy(
15914    ISpeechRecognizer* This,
15915    VARIANT TextElements,
15916    VARIANT *ElementDisplayAttributes,
15917    LONG LanguageId);
15918void __RPC_STUB ISpeechRecognizer_EmulateRecognition_Stub(
15919    IRpcStubBuffer* This,
15920    IRpcChannelBuffer* pRpcChannelBuffer,
15921    PRPC_MESSAGE pRpcMessage,
15922    DWORD* pdwStubPhase);
15923HRESULT STDMETHODCALLTYPE ISpeechRecognizer_CreateRecoContext_Proxy(
15924    ISpeechRecognizer* This,
15925    ISpeechRecoContext **NewContext);
15926void __RPC_STUB ISpeechRecognizer_CreateRecoContext_Stub(
15927    IRpcStubBuffer* This,
15928    IRpcChannelBuffer* pRpcChannelBuffer,
15929    PRPC_MESSAGE pRpcMessage,
15930    DWORD* pdwStubPhase);
15931HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetFormat_Proxy(
15932    ISpeechRecognizer* This,
15933    SpeechFormatType Type,
15934    ISpeechAudioFormat **Format);
15935void __RPC_STUB ISpeechRecognizer_GetFormat_Stub(
15936    IRpcStubBuffer* This,
15937    IRpcChannelBuffer* pRpcChannelBuffer,
15938    PRPC_MESSAGE pRpcMessage,
15939    DWORD* pdwStubPhase);
15940HRESULT STDMETHODCALLTYPE ISpeechRecognizer_SetPropertyNumber_Proxy(
15941    ISpeechRecognizer* This,
15942    const BSTR Name,
15943    LONG Value,
15944    VARIANT_BOOL *Supported);
15945void __RPC_STUB ISpeechRecognizer_SetPropertyNumber_Stub(
15946    IRpcStubBuffer* This,
15947    IRpcChannelBuffer* pRpcChannelBuffer,
15948    PRPC_MESSAGE pRpcMessage,
15949    DWORD* pdwStubPhase);
15950HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetPropertyNumber_Proxy(
15951    ISpeechRecognizer* This,
15952    const BSTR Name,
15953    LONG *Value,
15954    VARIANT_BOOL *Supported);
15955void __RPC_STUB ISpeechRecognizer_GetPropertyNumber_Stub(
15956    IRpcStubBuffer* This,
15957    IRpcChannelBuffer* pRpcChannelBuffer,
15958    PRPC_MESSAGE pRpcMessage,
15959    DWORD* pdwStubPhase);
15960HRESULT STDMETHODCALLTYPE ISpeechRecognizer_SetPropertyString_Proxy(
15961    ISpeechRecognizer* This,
15962    const BSTR Name,
15963    const BSTR Value,
15964    VARIANT_BOOL *Supported);
15965void __RPC_STUB ISpeechRecognizer_SetPropertyString_Stub(
15966    IRpcStubBuffer* This,
15967    IRpcChannelBuffer* pRpcChannelBuffer,
15968    PRPC_MESSAGE pRpcMessage,
15969    DWORD* pdwStubPhase);
15970HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetPropertyString_Proxy(
15971    ISpeechRecognizer* This,
15972    const BSTR Name,
15973    BSTR *Value,
15974    VARIANT_BOOL *Supported);
15975void __RPC_STUB ISpeechRecognizer_GetPropertyString_Stub(
15976    IRpcStubBuffer* This,
15977    IRpcChannelBuffer* pRpcChannelBuffer,
15978    PRPC_MESSAGE pRpcMessage,
15979    DWORD* pdwStubPhase);
15980HRESULT STDMETHODCALLTYPE ISpeechRecognizer_IsUISupported_Proxy(
15981    ISpeechRecognizer* This,
15982    const BSTR TypeOfUI,
15983    const VARIANT *ExtraData,
15984    VARIANT_BOOL *Supported);
15985void __RPC_STUB ISpeechRecognizer_IsUISupported_Stub(
15986    IRpcStubBuffer* This,
15987    IRpcChannelBuffer* pRpcChannelBuffer,
15988    PRPC_MESSAGE pRpcMessage,
15989    DWORD* pdwStubPhase);
15990HRESULT STDMETHODCALLTYPE ISpeechRecognizer_DisplayUI_Proxy(
15991    ISpeechRecognizer* This,
15992    LONG hWndParent,
15993    BSTR Title,
15994    const BSTR TypeOfUI,
15995    const VARIANT *ExtraData);
15996void __RPC_STUB ISpeechRecognizer_DisplayUI_Stub(
15997    IRpcStubBuffer* This,
15998    IRpcChannelBuffer* pRpcChannelBuffer,
15999    PRPC_MESSAGE pRpcMessage,
16000    DWORD* pdwStubPhase);
16001HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetRecognizers_Proxy(
16002    ISpeechRecognizer* This,
16003    BSTR RequiredAttributes,
16004    BSTR OptionalAttributes,
16005    ISpeechObjectTokens **ObjectTokens);
16006void __RPC_STUB ISpeechRecognizer_GetRecognizers_Stub(
16007    IRpcStubBuffer* This,
16008    IRpcChannelBuffer* pRpcChannelBuffer,
16009    PRPC_MESSAGE pRpcMessage,
16010    DWORD* pdwStubPhase);
16011HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetAudioInputs_Proxy(
16012    ISpeechRecognizer* This,
16013    BSTR RequiredAttributes,
16014    BSTR OptionalAttributes,
16015    ISpeechObjectTokens **ObjectTokens);
16016void __RPC_STUB ISpeechRecognizer_GetAudioInputs_Stub(
16017    IRpcStubBuffer* This,
16018    IRpcChannelBuffer* pRpcChannelBuffer,
16019    PRPC_MESSAGE pRpcMessage,
16020    DWORD* pdwStubPhase);
16021HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetProfiles_Proxy(
16022    ISpeechRecognizer* This,
16023    BSTR RequiredAttributes,
16024    BSTR OptionalAttributes,
16025    ISpeechObjectTokens **ObjectTokens);
16026void __RPC_STUB ISpeechRecognizer_GetProfiles_Stub(
16027    IRpcStubBuffer* This,
16028    IRpcChannelBuffer* pRpcChannelBuffer,
16029    PRPC_MESSAGE pRpcMessage,
16030    DWORD* pdwStubPhase);
16031
16032#endif  /* __ISpeechRecognizer_INTERFACE_DEFINED__ */
16033
16034/*****************************************************************************
16035 * ISpeechRecognizerStatus interface
16036 */
16037#ifndef __ISpeechRecognizerStatus_INTERFACE_DEFINED__
16038#define __ISpeechRecognizerStatus_INTERFACE_DEFINED__
16039
16040DEFINE_GUID(IID_ISpeechRecognizerStatus, 0xbff9e781, 0x53ec, 0x484e, 0xbb,0x8a, 0x0e,0x1b,0x55,0x51,0xe3,0x5c);
16041#if defined(__cplusplus) && !defined(CINTERFACE)
16042MIDL_INTERFACE("bff9e781-53ec-484e-bb8a-0e1b5551e35c")
16043ISpeechRecognizerStatus : public IDispatch
16044{
16045    virtual HRESULT STDMETHODCALLTYPE get_AudioStatus(
16046        ISpeechAudioStatus **AudioStatus) = 0;
16047
16048    virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamPosition(
16049        VARIANT *pCurrentStreamPos) = 0;
16050
16051    virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamNumber(
16052        LONG *StreamNumber) = 0;
16053
16054    virtual HRESULT STDMETHODCALLTYPE get_NumberOfActiveRules(
16055        LONG *NumberOfActiveRules) = 0;
16056
16057    virtual HRESULT STDMETHODCALLTYPE get_ClsidEngine(
16058        BSTR *ClsidEngine) = 0;
16059
16060    virtual HRESULT STDMETHODCALLTYPE get_SupportedLanguages(
16061        VARIANT *SupportedLanguages) = 0;
16062
16063};
16064#ifdef __CRT_UUID_DECL
16065__CRT_UUID_DECL(ISpeechRecognizerStatus, 0xbff9e781, 0x53ec, 0x484e, 0xbb,0x8a, 0x0e,0x1b,0x55,0x51,0xe3,0x5c)
16066#endif
16067#else
16068typedef struct ISpeechRecognizerStatusVtbl {
16069    BEGIN_INTERFACE
16070
16071    /*** IUnknown methods ***/
16072    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
16073        ISpeechRecognizerStatus* This,
16074        REFIID riid,
16075        void **ppvObject);
16076
16077    ULONG (STDMETHODCALLTYPE *AddRef)(
16078        ISpeechRecognizerStatus* This);
16079
16080    ULONG (STDMETHODCALLTYPE *Release)(
16081        ISpeechRecognizerStatus* This);
16082
16083    /*** IDispatch methods ***/
16084    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
16085        ISpeechRecognizerStatus* This,
16086        UINT *pctinfo);
16087
16088    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
16089        ISpeechRecognizerStatus* This,
16090        UINT iTInfo,
16091        LCID lcid,
16092        ITypeInfo **ppTInfo);
16093
16094    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
16095        ISpeechRecognizerStatus* This,
16096        REFIID riid,
16097        LPOLESTR *rgszNames,
16098        UINT cNames,
16099        LCID lcid,
16100        DISPID *rgDispId);
16101
16102    HRESULT (STDMETHODCALLTYPE *Invoke)(
16103        ISpeechRecognizerStatus* This,
16104        DISPID dispIdMember,
16105        REFIID riid,
16106        LCID lcid,
16107        WORD wFlags,
16108        DISPPARAMS *pDispParams,
16109        VARIANT *pVarResult,
16110        EXCEPINFO *pExcepInfo,
16111        UINT *puArgErr);
16112
16113    /*** ISpeechRecognizerStatus methods ***/
16114    HRESULT (STDMETHODCALLTYPE *get_AudioStatus)(
16115        ISpeechRecognizerStatus* This,
16116        ISpeechAudioStatus **AudioStatus);
16117
16118    HRESULT (STDMETHODCALLTYPE *get_CurrentStreamPosition)(
16119        ISpeechRecognizerStatus* This,
16120        VARIANT *pCurrentStreamPos);
16121
16122    HRESULT (STDMETHODCALLTYPE *get_CurrentStreamNumber)(
16123        ISpeechRecognizerStatus* This,
16124        LONG *StreamNumber);
16125
16126    HRESULT (STDMETHODCALLTYPE *get_NumberOfActiveRules)(
16127        ISpeechRecognizerStatus* This,
16128        LONG *NumberOfActiveRules);
16129
16130    HRESULT (STDMETHODCALLTYPE *get_ClsidEngine)(
16131        ISpeechRecognizerStatus* This,
16132        BSTR *ClsidEngine);
16133
16134    HRESULT (STDMETHODCALLTYPE *get_SupportedLanguages)(
16135        ISpeechRecognizerStatus* This,
16136        VARIANT *SupportedLanguages);
16137
16138    END_INTERFACE
16139} ISpeechRecognizerStatusVtbl;
16140interface ISpeechRecognizerStatus {
16141    CONST_VTBL ISpeechRecognizerStatusVtbl* lpVtbl;
16142};
16143
16144#ifdef COBJMACROS
16145#ifndef WIDL_C_INLINE_WRAPPERS
16146/*** IUnknown methods ***/
16147#define ISpeechRecognizerStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16148#define ISpeechRecognizerStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
16149#define ISpeechRecognizerStatus_Release(This) (This)->lpVtbl->Release(This)
16150/*** IDispatch methods ***/
16151#define ISpeechRecognizerStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
16152#define ISpeechRecognizerStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
16153#define ISpeechRecognizerStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
16154#define ISpeechRecognizerStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
16155/*** ISpeechRecognizerStatus methods ***/
16156#define ISpeechRecognizerStatus_get_AudioStatus(This,AudioStatus) (This)->lpVtbl->get_AudioStatus(This,AudioStatus)
16157#define ISpeechRecognizerStatus_get_CurrentStreamPosition(This,pCurrentStreamPos) (This)->lpVtbl->get_CurrentStreamPosition(This,pCurrentStreamPos)
16158#define ISpeechRecognizerStatus_get_CurrentStreamNumber(This,StreamNumber) (This)->lpVtbl->get_CurrentStreamNumber(This,StreamNumber)
16159#define ISpeechRecognizerStatus_get_NumberOfActiveRules(This,NumberOfActiveRules) (This)->lpVtbl->get_NumberOfActiveRules(This,NumberOfActiveRules)
16160#define ISpeechRecognizerStatus_get_ClsidEngine(This,ClsidEngine) (This)->lpVtbl->get_ClsidEngine(This,ClsidEngine)
16161#define ISpeechRecognizerStatus_get_SupportedLanguages(This,SupportedLanguages) (This)->lpVtbl->get_SupportedLanguages(This,SupportedLanguages)
16162#else
16163/*** IUnknown methods ***/
16164static FORCEINLINE HRESULT ISpeechRecognizerStatus_QueryInterface(ISpeechRecognizerStatus* This,REFIID riid,void **ppvObject) {
16165    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
16166}
16167static FORCEINLINE ULONG ISpeechRecognizerStatus_AddRef(ISpeechRecognizerStatus* This) {
16168    return This->lpVtbl->AddRef(This);
16169}
16170static FORCEINLINE ULONG ISpeechRecognizerStatus_Release(ISpeechRecognizerStatus* This) {
16171    return This->lpVtbl->Release(This);
16172}
16173/*** IDispatch methods ***/
16174static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetTypeInfoCount(ISpeechRecognizerStatus* This,UINT *pctinfo) {
16175    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
16176}
16177static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetTypeInfo(ISpeechRecognizerStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
16178    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
16179}
16180static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetIDsOfNames(ISpeechRecognizerStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
16181    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
16182}
16183static FORCEINLINE HRESULT ISpeechRecognizerStatus_Invoke(ISpeechRecognizerStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
16184    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
16185}
16186/*** ISpeechRecognizerStatus methods ***/
16187static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_AudioStatus(ISpeechRecognizerStatus* This,ISpeechAudioStatus **AudioStatus) {
16188    return This->lpVtbl->get_AudioStatus(This,AudioStatus);
16189}
16190static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_CurrentStreamPosition(ISpeechRecognizerStatus* This,VARIANT *pCurrentStreamPos) {
16191    return This->lpVtbl->get_CurrentStreamPosition(This,pCurrentStreamPos);
16192}
16193static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_CurrentStreamNumber(ISpeechRecognizerStatus* This,LONG *StreamNumber) {
16194    return This->lpVtbl->get_CurrentStreamNumber(This,StreamNumber);
16195}
16196static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_NumberOfActiveRules(ISpeechRecognizerStatus* This,LONG *NumberOfActiveRules) {
16197    return This->lpVtbl->get_NumberOfActiveRules(This,NumberOfActiveRules);
16198}
16199static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_ClsidEngine(ISpeechRecognizerStatus* This,BSTR *ClsidEngine) {
16200    return This->lpVtbl->get_ClsidEngine(This,ClsidEngine);
16201}
16202static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_SupportedLanguages(ISpeechRecognizerStatus* This,VARIANT *SupportedLanguages) {
16203    return This->lpVtbl->get_SupportedLanguages(This,SupportedLanguages);
16204}
16205#endif
16206#endif
16207
16208#endif
16209
16210HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_AudioStatus_Proxy(
16211    ISpeechRecognizerStatus* This,
16212    ISpeechAudioStatus **AudioStatus);
16213void __RPC_STUB ISpeechRecognizerStatus_get_AudioStatus_Stub(
16214    IRpcStubBuffer* This,
16215    IRpcChannelBuffer* pRpcChannelBuffer,
16216    PRPC_MESSAGE pRpcMessage,
16217    DWORD* pdwStubPhase);
16218HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_CurrentStreamPosition_Proxy(
16219    ISpeechRecognizerStatus* This,
16220    VARIANT *pCurrentStreamPos);
16221void __RPC_STUB ISpeechRecognizerStatus_get_CurrentStreamPosition_Stub(
16222    IRpcStubBuffer* This,
16223    IRpcChannelBuffer* pRpcChannelBuffer,
16224    PRPC_MESSAGE pRpcMessage,
16225    DWORD* pdwStubPhase);
16226HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_CurrentStreamNumber_Proxy(
16227    ISpeechRecognizerStatus* This,
16228    LONG *StreamNumber);
16229void __RPC_STUB ISpeechRecognizerStatus_get_CurrentStreamNumber_Stub(
16230    IRpcStubBuffer* This,
16231    IRpcChannelBuffer* pRpcChannelBuffer,
16232    PRPC_MESSAGE pRpcMessage,
16233    DWORD* pdwStubPhase);
16234HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_NumberOfActiveRules_Proxy(
16235    ISpeechRecognizerStatus* This,
16236    LONG *NumberOfActiveRules);
16237void __RPC_STUB ISpeechRecognizerStatus_get_NumberOfActiveRules_Stub(
16238    IRpcStubBuffer* This,
16239    IRpcChannelBuffer* pRpcChannelBuffer,
16240    PRPC_MESSAGE pRpcMessage,
16241    DWORD* pdwStubPhase);
16242HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_ClsidEngine_Proxy(
16243    ISpeechRecognizerStatus* This,
16244    BSTR *ClsidEngine);
16245void __RPC_STUB ISpeechRecognizerStatus_get_ClsidEngine_Stub(
16246    IRpcStubBuffer* This,
16247    IRpcChannelBuffer* pRpcChannelBuffer,
16248    PRPC_MESSAGE pRpcMessage,
16249    DWORD* pdwStubPhase);
16250HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_SupportedLanguages_Proxy(
16251    ISpeechRecognizerStatus* This,
16252    VARIANT *SupportedLanguages);
16253void __RPC_STUB ISpeechRecognizerStatus_get_SupportedLanguages_Stub(
16254    IRpcStubBuffer* This,
16255    IRpcChannelBuffer* pRpcChannelBuffer,
16256    PRPC_MESSAGE pRpcMessage,
16257    DWORD* pdwStubPhase);
16258
16259#endif  /* __ISpeechRecognizerStatus_INTERFACE_DEFINED__ */
16260
16261/*****************************************************************************
16262 * ISpeechRecoContext interface
16263 */
16264#ifndef __ISpeechRecoContext_INTERFACE_DEFINED__
16265#define __ISpeechRecoContext_INTERFACE_DEFINED__
16266
16267DEFINE_GUID(IID_ISpeechRecoContext, 0x580aa49d, 0x7e1e, 0x4809, 0xb8,0xe2, 0x57,0xda,0x80,0x61,0x04,0xb8);
16268#if defined(__cplusplus) && !defined(CINTERFACE)
16269MIDL_INTERFACE("580aa49d-7e1e-4809-b8e2-57da806104b8")
16270ISpeechRecoContext : public IDispatch
16271{
16272    virtual HRESULT STDMETHODCALLTYPE get_Recognizer(
16273        ISpeechRecognizer **Recognizer) = 0;
16274
16275    virtual HRESULT STDMETHODCALLTYPE get_AudioInputInterferenceStatus(
16276        SpeechInterference *Interference) = 0;
16277
16278    virtual HRESULT STDMETHODCALLTYPE get_RequestedUIType(
16279        BSTR *UIType) = 0;
16280
16281    virtual HRESULT STDMETHODCALLTYPE putref_Voice(
16282        ISpeechVoice *Voice) = 0;
16283
16284    virtual HRESULT STDMETHODCALLTYPE get_Voice(
16285        ISpeechVoice **Voice) = 0;
16286
16287    virtual HRESULT STDMETHODCALLTYPE put_AllowVoiceFormatMatchingOnNextSet(
16288        VARIANT_BOOL Allow) = 0;
16289
16290    virtual HRESULT STDMETHODCALLTYPE get_AllowVoiceFormatMatchingOnNextSet(
16291        VARIANT_BOOL *pAllow) = 0;
16292
16293    virtual HRESULT STDMETHODCALLTYPE put_VoicePurgeEvent(
16294        SpeechRecoEvents EventInterest) = 0;
16295
16296    virtual HRESULT STDMETHODCALLTYPE get_VoicePurgeEvent(
16297        SpeechRecoEvents *EventInterest) = 0;
16298
16299    virtual HRESULT STDMETHODCALLTYPE put_EventInterests(
16300        SpeechRecoEvents EventInterest) = 0;
16301
16302    virtual HRESULT STDMETHODCALLTYPE get_EventInterests(
16303        SpeechRecoEvents *EventInterest) = 0;
16304
16305    virtual HRESULT STDMETHODCALLTYPE put_CmdMaxAlternates(
16306        LONG MaxAlternates) = 0;
16307
16308    virtual HRESULT STDMETHODCALLTYPE get_CmdMaxAlternates(
16309        LONG *MaxAlternates) = 0;
16310
16311    virtual HRESULT STDMETHODCALLTYPE put_State(
16312        SpeechRecoContextState State) = 0;
16313
16314    virtual HRESULT STDMETHODCALLTYPE get_State(
16315        SpeechRecoContextState *State) = 0;
16316
16317    virtual HRESULT STDMETHODCALLTYPE put_RetainedAudio(
16318        SpeechRetainedAudioOptions Option) = 0;
16319
16320    virtual HRESULT STDMETHODCALLTYPE get_RetainedAudio(
16321        SpeechRetainedAudioOptions *Option) = 0;
16322
16323    virtual HRESULT STDMETHODCALLTYPE putref_RetainedAudioFormat(
16324        ISpeechAudioFormat *Format) = 0;
16325
16326    virtual HRESULT STDMETHODCALLTYPE get_RetainedAudioFormat(
16327        ISpeechAudioFormat **Format) = 0;
16328
16329    virtual HRESULT STDMETHODCALLTYPE Pause(
16330        ) = 0;
16331
16332    virtual HRESULT STDMETHODCALLTYPE Resume(
16333        ) = 0;
16334
16335    virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
16336        VARIANT GrammarId,
16337        ISpeechRecoGrammar **Grammar) = 0;
16338
16339    virtual HRESULT STDMETHODCALLTYPE CreateResultFromMemory(
16340        VARIANT *ResultBlock,
16341        ISpeechRecoResult **Result) = 0;
16342
16343    virtual HRESULT STDMETHODCALLTYPE Bookmark(
16344        SpeechBookmarkOptions Options,
16345        VARIANT StreamPos,
16346        VARIANT BookmarkId) = 0;
16347
16348    virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
16349        BSTR AdaptationString) = 0;
16350
16351};
16352#ifdef __CRT_UUID_DECL
16353__CRT_UUID_DECL(ISpeechRecoContext, 0x580aa49d, 0x7e1e, 0x4809, 0xb8,0xe2, 0x57,0xda,0x80,0x61,0x04,0xb8)
16354#endif
16355#else
16356typedef struct ISpeechRecoContextVtbl {
16357    BEGIN_INTERFACE
16358
16359    /*** IUnknown methods ***/
16360    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
16361        ISpeechRecoContext* This,
16362        REFIID riid,
16363        void **ppvObject);
16364
16365    ULONG (STDMETHODCALLTYPE *AddRef)(
16366        ISpeechRecoContext* This);
16367
16368    ULONG (STDMETHODCALLTYPE *Release)(
16369        ISpeechRecoContext* This);
16370
16371    /*** IDispatch methods ***/
16372    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
16373        ISpeechRecoContext* This,
16374        UINT *pctinfo);
16375
16376    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
16377        ISpeechRecoContext* This,
16378        UINT iTInfo,
16379        LCID lcid,
16380        ITypeInfo **ppTInfo);
16381
16382    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
16383        ISpeechRecoContext* This,
16384        REFIID riid,
16385        LPOLESTR *rgszNames,
16386        UINT cNames,
16387        LCID lcid,
16388        DISPID *rgDispId);
16389
16390    HRESULT (STDMETHODCALLTYPE *Invoke)(
16391        ISpeechRecoContext* This,
16392        DISPID dispIdMember,
16393        REFIID riid,
16394        LCID lcid,
16395        WORD wFlags,
16396        DISPPARAMS *pDispParams,
16397        VARIANT *pVarResult,
16398        EXCEPINFO *pExcepInfo,
16399        UINT *puArgErr);
16400
16401    /*** ISpeechRecoContext methods ***/
16402    HRESULT (STDMETHODCALLTYPE *get_Recognizer)(
16403        ISpeechRecoContext* This,
16404        ISpeechRecognizer **Recognizer);
16405
16406    HRESULT (STDMETHODCALLTYPE *get_AudioInputInterferenceStatus)(
16407        ISpeechRecoContext* This,
16408        SpeechInterference *Interference);
16409
16410    HRESULT (STDMETHODCALLTYPE *get_RequestedUIType)(
16411        ISpeechRecoContext* This,
16412        BSTR *UIType);
16413
16414    HRESULT (STDMETHODCALLTYPE *putref_Voice)(
16415        ISpeechRecoContext* This,
16416        ISpeechVoice *Voice);
16417
16418    HRESULT (STDMETHODCALLTYPE *get_Voice)(
16419        ISpeechRecoContext* This,
16420        ISpeechVoice **Voice);
16421
16422    HRESULT (STDMETHODCALLTYPE *put_AllowVoiceFormatMatchingOnNextSet)(
16423        ISpeechRecoContext* This,
16424        VARIANT_BOOL Allow);
16425
16426    HRESULT (STDMETHODCALLTYPE *get_AllowVoiceFormatMatchingOnNextSet)(
16427        ISpeechRecoContext* This,
16428        VARIANT_BOOL *pAllow);
16429
16430    HRESULT (STDMETHODCALLTYPE *put_VoicePurgeEvent)(
16431        ISpeechRecoContext* This,
16432        SpeechRecoEvents EventInterest);
16433
16434    HRESULT (STDMETHODCALLTYPE *get_VoicePurgeEvent)(
16435        ISpeechRecoContext* This,
16436        SpeechRecoEvents *EventInterest);
16437
16438    HRESULT (STDMETHODCALLTYPE *put_EventInterests)(
16439        ISpeechRecoContext* This,
16440        SpeechRecoEvents EventInterest);
16441
16442    HRESULT (STDMETHODCALLTYPE *get_EventInterests)(
16443        ISpeechRecoContext* This,
16444        SpeechRecoEvents *EventInterest);
16445
16446    HRESULT (STDMETHODCALLTYPE *put_CmdMaxAlternates)(
16447        ISpeechRecoContext* This,
16448        LONG MaxAlternates);
16449
16450    HRESULT (STDMETHODCALLTYPE *get_CmdMaxAlternates)(
16451        ISpeechRecoContext* This,
16452        LONG *MaxAlternates);
16453
16454    HRESULT (STDMETHODCALLTYPE *put_State)(
16455        ISpeechRecoContext* This,
16456        SpeechRecoContextState State);
16457
16458    HRESULT (STDMETHODCALLTYPE *get_State)(
16459        ISpeechRecoContext* This,
16460        SpeechRecoContextState *State);
16461
16462    HRESULT (STDMETHODCALLTYPE *put_RetainedAudio)(
16463        ISpeechRecoContext* This,
16464        SpeechRetainedAudioOptions Option);
16465
16466    HRESULT (STDMETHODCALLTYPE *get_RetainedAudio)(
16467        ISpeechRecoContext* This,
16468        SpeechRetainedAudioOptions *Option);
16469
16470    HRESULT (STDMETHODCALLTYPE *putref_RetainedAudioFormat)(
16471        ISpeechRecoContext* This,
16472        ISpeechAudioFormat *Format);
16473
16474    HRESULT (STDMETHODCALLTYPE *get_RetainedAudioFormat)(
16475        ISpeechRecoContext* This,
16476        ISpeechAudioFormat **Format);
16477
16478    HRESULT (STDMETHODCALLTYPE *Pause)(
16479        ISpeechRecoContext* This);
16480
16481    HRESULT (STDMETHODCALLTYPE *Resume)(
16482        ISpeechRecoContext* This);
16483
16484    HRESULT (STDMETHODCALLTYPE *CreateGrammar)(
16485        ISpeechRecoContext* This,
16486        VARIANT GrammarId,
16487        ISpeechRecoGrammar **Grammar);
16488
16489    HRESULT (STDMETHODCALLTYPE *CreateResultFromMemory)(
16490        ISpeechRecoContext* This,
16491        VARIANT *ResultBlock,
16492        ISpeechRecoResult **Result);
16493
16494    HRESULT (STDMETHODCALLTYPE *Bookmark)(
16495        ISpeechRecoContext* This,
16496        SpeechBookmarkOptions Options,
16497        VARIANT StreamPos,
16498        VARIANT BookmarkId);
16499
16500    HRESULT (STDMETHODCALLTYPE *SetAdaptationData)(
16501        ISpeechRecoContext* This,
16502        BSTR AdaptationString);
16503
16504    END_INTERFACE
16505} ISpeechRecoContextVtbl;
16506interface ISpeechRecoContext {
16507    CONST_VTBL ISpeechRecoContextVtbl* lpVtbl;
16508};
16509
16510#ifdef COBJMACROS
16511#ifndef WIDL_C_INLINE_WRAPPERS
16512/*** IUnknown methods ***/
16513#define ISpeechRecoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
16514#define ISpeechRecoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
16515#define ISpeechRecoContext_Release(This) (This)->lpVtbl->Release(This)
16516/*** IDispatch methods ***/
16517#define ISpeechRecoContext_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
16518#define ISpeechRecoContext_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
16519#define ISpeechRecoContext_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
16520#define ISpeechRecoContext_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
16521/*** ISpeechRecoContext methods ***/
16522#define ISpeechRecoContext_get_Recognizer(This,Recognizer) (This)->lpVtbl->get_Recognizer(This,Recognizer)
16523#define ISpeechRecoContext_get_AudioInputInterferenceStatus(This,Interference) (This)->lpVtbl->get_AudioInputInterferenceStatus(This,Interference)
16524#define ISpeechRecoContext_get_RequestedUIType(This,UIType) (This)->lpVtbl->get_RequestedUIType(This,UIType)
16525#define ISpeechRecoContext_putref_Voice(This,Voice) (This)->lpVtbl->putref_Voice(This,Voice)
16526#define ISpeechRecoContext_get_Voice(This,Voice) (This)->lpVtbl->get_Voice(This,Voice)
16527#define ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet(This,Allow) (This)->lpVtbl->put_AllowVoiceFormatMatchingOnNextSet(This,Allow)
16528#define ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet(This,pAllow) (This)->lpVtbl->get_AllowVoiceFormatMatchingOnNextSet(This,pAllow)
16529#define ISpeechRecoContext_put_VoicePurgeEvent(This,EventInterest) (This)->lpVtbl->put_VoicePurgeEvent(This,EventInterest)
16530#define ISpeechRecoContext_get_VoicePurgeEvent(This,EventInterest) (This)->lpVtbl->get_VoicePurgeEvent(This,EventInterest)
16531#define ISpeechRecoContext_put_EventInterests(This,EventInterest) (This)->lpVtbl->put_EventInterests(This,EventInterest)
16532#define ISpeechRecoContext_get_EventInterests(This,EventInterest) (This)->lpVtbl->get_EventInterests(This,EventInterest)
16533#define ISpeechRecoContext_put_CmdMaxAlternates(This,MaxAlternates) (This)->lpVtbl->put_CmdMaxAlternates(This,MaxAlternates)
16534#define ISpeechRecoContext_get_CmdMaxAlternates(This,MaxAlternates) (This)->lpVtbl->get_CmdMaxAlternates(This,MaxAlternates)
16535#define ISpeechRecoContext_put_State(This,State) (This)->lpVtbl->put_State(This,State)
16536#define ISpeechRecoContext_get_State(This,State) (This)->lpVtbl->get_State(This,State)
16537#define ISpeechRecoContext_put_RetainedAudio(This,Option) (This)->lpVtbl->put_RetainedAudio(This,Option)
16538#define ISpeechRecoContext_get_RetainedAudio(This,Option) (This)->lpVtbl->get_RetainedAudio(This,Option)
16539#define ISpeechRecoContext_putref_RetainedAudioFormat(This,Format) (This)->lpVtbl->putref_RetainedAudioFormat(This,Format)
16540#define ISpeechRecoContext_get_RetainedAudioFormat(This,Format) (This)->lpVtbl->get_RetainedAudioFormat(This,Format)
16541#define ISpeechRecoContext_Pause(This) (This)->lpVtbl->Pause(This)
16542#define ISpeechRecoContext_Resume(This) (This)->lpVtbl->Resume(This)
16543#define ISpeechRecoContext_CreateGrammar(This,GrammarId,Grammar) (This)->lpVtbl->CreateGrammar(This,GrammarId,Grammar)
16544#define ISpeechRecoContext_CreateResultFromMemory(This,ResultBlock,Result) (This)->lpVtbl->CreateResultFromMemory(This,ResultBlock,Result)
16545#define ISpeechRecoContext_Bookmark(This,Options,StreamPos,BookmarkId) (This)->lpVtbl->Bookmark(This,Options,StreamPos,BookmarkId)
16546#define ISpeechRecoContext_SetAdaptationData(This,AdaptationString) (This)->lpVtbl->SetAdaptationData(This,AdaptationString)
16547#else
16548/*** IUnknown methods ***/
16549static FORCEINLINE HRESULT ISpeechRecoContext_QueryInterface(ISpeechRecoContext* This,REFIID riid,void **ppvObject) {
16550    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
16551}
16552static FORCEINLINE ULONG ISpeechRecoContext_AddRef(ISpeechRecoContext* This) {
16553    return This->lpVtbl->AddRef(This);
16554}
16555static FORCEINLINE ULONG ISpeechRecoContext_Release(ISpeechRecoContext* This) {
16556    return This->lpVtbl->Release(This);
16557}
16558/*** IDispatch methods ***/
16559static FORCEINLINE HRESULT ISpeechRecoContext_GetTypeInfoCount(ISpeechRecoContext* This,UINT *pctinfo) {
16560    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
16561}
16562static FORCEINLINE HRESULT ISpeechRecoContext_GetTypeInfo(ISpeechRecoContext* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
16563    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
16564}
16565static FORCEINLINE HRESULT ISpeechRecoContext_GetIDsOfNames(ISpeechRecoContext* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
16566    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
16567}
16568static FORCEINLINE HRESULT ISpeechRecoContext_Invoke(ISpeechRecoContext* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
16569    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
16570}
16571/*** ISpeechRecoContext methods ***/
16572static FORCEINLINE HRESULT ISpeechRecoContext_get_Recognizer(ISpeechRecoContext* This,ISpeechRecognizer **Recognizer) {
16573    return This->lpVtbl->get_Recognizer(This,Recognizer);
16574}
16575static FORCEINLINE HRESULT ISpeechRecoContext_get_AudioInputInterferenceStatus(ISpeechRecoContext* This,SpeechInterference *Interference) {
16576    return This->lpVtbl->get_AudioInputInterferenceStatus(This,Interference);
16577}
16578static FORCEINLINE HRESULT ISpeechRecoContext_get_RequestedUIType(ISpeechRecoContext* This,BSTR *UIType) {
16579    return This->lpVtbl->get_RequestedUIType(This,UIType);
16580}
16581static FORCEINLINE HRESULT ISpeechRecoContext_putref_Voice(ISpeechRecoContext* This,ISpeechVoice *Voice) {
16582    return This->lpVtbl->putref_Voice(This,Voice);
16583}
16584static FORCEINLINE HRESULT ISpeechRecoContext_get_Voice(ISpeechRecoContext* This,ISpeechVoice **Voice) {
16585    return This->lpVtbl->get_Voice(This,Voice);
16586}
16587static FORCEINLINE HRESULT ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet(ISpeechRecoContext* This,VARIANT_BOOL Allow) {
16588    return This->lpVtbl->put_AllowVoiceFormatMatchingOnNextSet(This,Allow);
16589}
16590static FORCEINLINE HRESULT ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet(ISpeechRecoContext* This,VARIANT_BOOL *pAllow) {
16591    return This->lpVtbl->get_AllowVoiceFormatMatchingOnNextSet(This,pAllow);
16592}
16593static FORCEINLINE HRESULT ISpeechRecoContext_put_VoicePurgeEvent(ISpeechRecoContext* This,SpeechRecoEvents EventInterest) {
16594    return This->lpVtbl->put_VoicePurgeEvent(This,EventInterest);
16595}
16596static FORCEINLINE HRESULT ISpeechRecoContext_get_VoicePurgeEvent(ISpeechRecoContext* This,SpeechRecoEvents *EventInterest) {
16597    return This->lpVtbl->get_VoicePurgeEvent(This,EventInterest);
16598}
16599static FORCEINLINE HRESULT ISpeechRecoContext_put_EventInterests(ISpeechRecoContext* This,SpeechRecoEvents EventInterest) {
16600    return This->lpVtbl->put_EventInterests(This,EventInterest);
16601}
16602static FORCEINLINE HRESULT ISpeechRecoContext_get_EventInterests(ISpeechRecoContext* This,SpeechRecoEvents *EventInterest) {
16603    return This->lpVtbl->get_EventInterests(This,EventInterest);
16604}
16605static FORCEINLINE HRESULT ISpeechRecoContext_put_CmdMaxAlternates(ISpeechRecoContext* This,LONG MaxAlternates) {
16606    return This->lpVtbl->put_CmdMaxAlternates(This,MaxAlternates);
16607}
16608static FORCEINLINE HRESULT ISpeechRecoContext_get_CmdMaxAlternates(ISpeechRecoContext* This,LONG *MaxAlternates) {
16609    return This->lpVtbl->get_CmdMaxAlternates(This,MaxAlternates);
16610}
16611static FORCEINLINE HRESULT ISpeechRecoContext_put_State(ISpeechRecoContext* This,SpeechRecoContextState State) {
16612    return This->lpVtbl->put_State(This,State);
16613}
16614static FORCEINLINE HRESULT ISpeechRecoContext_get_State(ISpeechRecoContext* This,SpeechRecoContextState *State) {
16615    return This->lpVtbl->get_State(This,State);
16616}
16617static FORCEINLINE HRESULT ISpeechRecoContext_put_RetainedAudio(ISpeechRecoContext* This,SpeechRetainedAudioOptions Option) {
16618    return This->lpVtbl->put_RetainedAudio(This,Option);
16619}
16620static FORCEINLINE HRESULT ISpeechRecoContext_get_RetainedAudio(ISpeechRecoContext* This,SpeechRetainedAudioOptions *Option) {
16621    return This->lpVtbl->get_RetainedAudio(This,Option);
16622}
16623static FORCEINLINE HRESULT ISpeechRecoContext_putref_RetainedAudioFormat(ISpeechRecoContext* This,ISpeechAudioFormat *Format) {
16624    return This->lpVtbl->putref_RetainedAudioFormat(This,Format);
16625}
16626static FORCEINLINE HRESULT ISpeechRecoContext_get_RetainedAudioFormat(ISpeechRecoContext* This,ISpeechAudioFormat **Format) {
16627    return This->lpVtbl->get_RetainedAudioFormat(This,Format);
16628}
16629static FORCEINLINE HRESULT ISpeechRecoContext_Pause(ISpeechRecoContext* This) {
16630    return This->lpVtbl->Pause(This);
16631}
16632static FORCEINLINE HRESULT ISpeechRecoContext_Resume(ISpeechRecoContext* This) {
16633    return This->lpVtbl->Resume(This);
16634}
16635static FORCEINLINE HRESULT ISpeechRecoContext_CreateGrammar(ISpeechRecoContext* This,VARIANT GrammarId,ISpeechRecoGrammar **Grammar) {
16636    return This->lpVtbl->CreateGrammar(This,GrammarId,Grammar);
16637}
16638static FORCEINLINE HRESULT ISpeechRecoContext_CreateResultFromMemory(ISpeechRecoContext* This,VARIANT *ResultBlock,ISpeechRecoResult **Result) {
16639    return This->lpVtbl->CreateResultFromMemory(This,ResultBlock,Result);
16640}
16641static FORCEINLINE HRESULT ISpeechRecoContext_Bookmark(ISpeechRecoContext* This,SpeechBookmarkOptions Options,VARIANT StreamPos,VARIANT BookmarkId) {
16642    return This->lpVtbl->Bookmark(This,Options,StreamPos,BookmarkId);
16643}
16644static FORCEINLINE HRESULT ISpeechRecoContext_SetAdaptationData(ISpeechRecoContext* This,BSTR AdaptationString) {
16645    return This->lpVtbl->SetAdaptationData(This,AdaptationString);
16646}
16647#endif
16648#endif
16649
16650#endif
16651
16652HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_Recognizer_Proxy(
16653    ISpeechRecoContext* This,
16654    ISpeechRecognizer **Recognizer);
16655void __RPC_STUB ISpeechRecoContext_get_Recognizer_Stub(
16656    IRpcStubBuffer* This,
16657    IRpcChannelBuffer* pRpcChannelBuffer,
16658    PRPC_MESSAGE pRpcMessage,
16659    DWORD* pdwStubPhase);
16660HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_AudioInputInterferenceStatus_Proxy(
16661    ISpeechRecoContext* This,
16662    SpeechInterference *Interference);
16663void __RPC_STUB ISpeechRecoContext_get_AudioInputInterferenceStatus_Stub(
16664    IRpcStubBuffer* This,
16665    IRpcChannelBuffer* pRpcChannelBuffer,
16666    PRPC_MESSAGE pRpcMessage,
16667    DWORD* pdwStubPhase);
16668HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RequestedUIType_Proxy(
16669    ISpeechRecoContext* This,
16670    BSTR *UIType);
16671void __RPC_STUB ISpeechRecoContext_get_RequestedUIType_Stub(
16672    IRpcStubBuffer* This,
16673    IRpcChannelBuffer* pRpcChannelBuffer,
16674    PRPC_MESSAGE pRpcMessage,
16675    DWORD* pdwStubPhase);
16676HRESULT STDMETHODCALLTYPE ISpeechRecoContext_putref_Voice_Proxy(
16677    ISpeechRecoContext* This,
16678    ISpeechVoice *Voice);
16679void __RPC_STUB ISpeechRecoContext_putref_Voice_Stub(
16680    IRpcStubBuffer* This,
16681    IRpcChannelBuffer* pRpcChannelBuffer,
16682    PRPC_MESSAGE pRpcMessage,
16683    DWORD* pdwStubPhase);
16684HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_Voice_Proxy(
16685    ISpeechRecoContext* This,
16686    ISpeechVoice **Voice);
16687void __RPC_STUB ISpeechRecoContext_get_Voice_Stub(
16688    IRpcStubBuffer* This,
16689    IRpcChannelBuffer* pRpcChannelBuffer,
16690    PRPC_MESSAGE pRpcMessage,
16691    DWORD* pdwStubPhase);
16692HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet_Proxy(
16693    ISpeechRecoContext* This,
16694    VARIANT_BOOL Allow);
16695void __RPC_STUB ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet_Stub(
16696    IRpcStubBuffer* This,
16697    IRpcChannelBuffer* pRpcChannelBuffer,
16698    PRPC_MESSAGE pRpcMessage,
16699    DWORD* pdwStubPhase);
16700HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet_Proxy(
16701    ISpeechRecoContext* This,
16702    VARIANT_BOOL *pAllow);
16703void __RPC_STUB ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet_Stub(
16704    IRpcStubBuffer* This,
16705    IRpcChannelBuffer* pRpcChannelBuffer,
16706    PRPC_MESSAGE pRpcMessage,
16707    DWORD* pdwStubPhase);
16708HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_VoicePurgeEvent_Proxy(
16709    ISpeechRecoContext* This,
16710    SpeechRecoEvents EventInterest);
16711void __RPC_STUB ISpeechRecoContext_put_VoicePurgeEvent_Stub(
16712    IRpcStubBuffer* This,
16713    IRpcChannelBuffer* pRpcChannelBuffer,
16714    PRPC_MESSAGE pRpcMessage,
16715    DWORD* pdwStubPhase);
16716HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_VoicePurgeEvent_Proxy(
16717    ISpeechRecoContext* This,
16718    SpeechRecoEvents *EventInterest);
16719void __RPC_STUB ISpeechRecoContext_get_VoicePurgeEvent_Stub(
16720    IRpcStubBuffer* This,
16721    IRpcChannelBuffer* pRpcChannelBuffer,
16722    PRPC_MESSAGE pRpcMessage,
16723    DWORD* pdwStubPhase);
16724HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_EventInterests_Proxy(
16725    ISpeechRecoContext* This,
16726    SpeechRecoEvents EventInterest);
16727void __RPC_STUB ISpeechRecoContext_put_EventInterests_Stub(
16728    IRpcStubBuffer* This,
16729    IRpcChannelBuffer* pRpcChannelBuffer,
16730    PRPC_MESSAGE pRpcMessage,
16731    DWORD* pdwStubPhase);
16732HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_EventInterests_Proxy(
16733    ISpeechRecoContext* This,
16734    SpeechRecoEvents *EventInterest);
16735void __RPC_STUB ISpeechRecoContext_get_EventInterests_Stub(
16736    IRpcStubBuffer* This,
16737    IRpcChannelBuffer* pRpcChannelBuffer,
16738    PRPC_MESSAGE pRpcMessage,
16739    DWORD* pdwStubPhase);
16740HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_CmdMaxAlternates_Proxy(
16741    ISpeechRecoContext* This,
16742    LONG MaxAlternates);
16743void __RPC_STUB ISpeechRecoContext_put_CmdMaxAlternates_Stub(
16744    IRpcStubBuffer* This,
16745    IRpcChannelBuffer* pRpcChannelBuffer,
16746    PRPC_MESSAGE pRpcMessage,
16747    DWORD* pdwStubPhase);
16748HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_CmdMaxAlternates_Proxy(
16749    ISpeechRecoContext* This,
16750    LONG *MaxAlternates);
16751void __RPC_STUB ISpeechRecoContext_get_CmdMaxAlternates_Stub(
16752    IRpcStubBuffer* This,
16753    IRpcChannelBuffer* pRpcChannelBuffer,
16754    PRPC_MESSAGE pRpcMessage,
16755    DWORD* pdwStubPhase);
16756HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_State_Proxy(
16757    ISpeechRecoContext* This,
16758    SpeechRecoContextState State);
16759void __RPC_STUB ISpeechRecoContext_put_State_Stub(
16760    IRpcStubBuffer* This,
16761    IRpcChannelBuffer* pRpcChannelBuffer,
16762    PRPC_MESSAGE pRpcMessage,
16763    DWORD* pdwStubPhase);
16764HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_State_Proxy(
16765    ISpeechRecoContext* This,
16766    SpeechRecoContextState *State);
16767void __RPC_STUB ISpeechRecoContext_get_State_Stub(
16768    IRpcStubBuffer* This,
16769    IRpcChannelBuffer* pRpcChannelBuffer,
16770    PRPC_MESSAGE pRpcMessage,
16771    DWORD* pdwStubPhase);
16772HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_RetainedAudio_Proxy(
16773    ISpeechRecoContext* This,
16774    SpeechRetainedAudioOptions Option);
16775void __RPC_STUB ISpeechRecoContext_put_RetainedAudio_Stub(
16776    IRpcStubBuffer* This,
16777    IRpcChannelBuffer* pRpcChannelBuffer,
16778    PRPC_MESSAGE pRpcMessage,
16779    DWORD* pdwStubPhase);
16780HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RetainedAudio_Proxy(
16781    ISpeechRecoContext* This,
16782    SpeechRetainedAudioOptions *Option);
16783void __RPC_STUB ISpeechRecoContext_get_RetainedAudio_Stub(
16784    IRpcStubBuffer* This,
16785    IRpcChannelBuffer* pRpcChannelBuffer,
16786    PRPC_MESSAGE pRpcMessage,
16787    DWORD* pdwStubPhase);
16788HRESULT STDMETHODCALLTYPE ISpeechRecoContext_putref_RetainedAudioFormat_Proxy(
16789    ISpeechRecoContext* This,
16790    ISpeechAudioFormat *Format);
16791void __RPC_STUB ISpeechRecoContext_putref_RetainedAudioFormat_Stub(
16792    IRpcStubBuffer* This,
16793    IRpcChannelBuffer* pRpcChannelBuffer,
16794    PRPC_MESSAGE pRpcMessage,
16795    DWORD* pdwStubPhase);
16796HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RetainedAudioFormat_Proxy(
16797    ISpeechRecoContext* This,
16798    ISpeechAudioFormat **Format);
16799void __RPC_STUB ISpeechRecoContext_get_RetainedAudioFormat_Stub(
16800    IRpcStubBuffer* This,
16801    IRpcChannelBuffer* pRpcChannelBuffer,
16802    PRPC_MESSAGE pRpcMessage,
16803    DWORD* pdwStubPhase);
16804HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Pause_Proxy(
16805    ISpeechRecoContext* This);
16806void __RPC_STUB ISpeechRecoContext_Pause_Stub(
16807    IRpcStubBuffer* This,
16808    IRpcChannelBuffer* pRpcChannelBuffer,
16809    PRPC_MESSAGE pRpcMessage,
16810    DWORD* pdwStubPhase);
16811HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Resume_Proxy(
16812    ISpeechRecoContext* This);
16813void __RPC_STUB ISpeechRecoContext_Resume_Stub(
16814    IRpcStubBuffer* This,
16815    IRpcChannelBuffer* pRpcChannelBuffer,
16816    PRPC_MESSAGE pRpcMessage,
16817    DWORD* pdwStubPhase);
16818HRESULT STDMETHODCALLTYPE ISpeechRecoContext_CreateGrammar_Proxy(
16819    ISpeechRecoContext* This,
16820    VARIANT GrammarId,
16821    ISpeechRecoGrammar **Grammar);
16822void __RPC_STUB ISpeechRecoContext_CreateGrammar_Stub(
16823    IRpcStubBuffer* This,
16824    IRpcChannelBuffer* pRpcChannelBuffer,
16825    PRPC_MESSAGE pRpcMessage,
16826    DWORD* pdwStubPhase);
16827HRESULT STDMETHODCALLTYPE ISpeechRecoContext_CreateResultFromMemory_Proxy(
16828    ISpeechRecoContext* This,
16829    VARIANT *ResultBlock,
16830    ISpeechRecoResult **Result);
16831void __RPC_STUB ISpeechRecoContext_CreateResultFromMemory_Stub(
16832    IRpcStubBuffer* This,
16833    IRpcChannelBuffer* pRpcChannelBuffer,
16834    PRPC_MESSAGE pRpcMessage,
16835    DWORD* pdwStubPhase);
16836HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Bookmark_Proxy(
16837    ISpeechRecoContext* This,
16838    SpeechBookmarkOptions Options,
16839    VARIANT StreamPos,
16840    VARIANT BookmarkId);
16841void __RPC_STUB ISpeechRecoContext_Bookmark_Stub(
16842    IRpcStubBuffer* This,
16843    IRpcChannelBuffer* pRpcChannelBuffer,
16844    PRPC_MESSAGE pRpcMessage,
16845    DWORD* pdwStubPhase);
16846HRESULT STDMETHODCALLTYPE ISpeechRecoContext_SetAdaptationData_Proxy(
16847    ISpeechRecoContext* This,
16848    BSTR AdaptationString);
16849void __RPC_STUB ISpeechRecoContext_SetAdaptationData_Stub(
16850    IRpcStubBuffer* This,
16851    IRpcChannelBuffer* pRpcChannelBuffer,
16852    PRPC_MESSAGE pRpcMessage,
16853    DWORD* pdwStubPhase);
16854
16855#endif  /* __ISpeechRecoContext_INTERFACE_DEFINED__ */
16856
16857/*****************************************************************************
16858 * ISpeechRecoGrammar interface
16859 */
16860#ifndef __ISpeechRecoGrammar_INTERFACE_DEFINED__
16861#define __ISpeechRecoGrammar_INTERFACE_DEFINED__
16862
16863DEFINE_GUID(IID_ISpeechRecoGrammar, 0xb6d6f79f, 0x2158, 0x4e50, 0xb5,0xbc, 0x9a,0x9c,0xcd,0x85,0x2a,0x09);
16864#if defined(__cplusplus) && !defined(CINTERFACE)
16865MIDL_INTERFACE("b6d6f79f-2158-4e50-b5bc-9a9ccd852a09")
16866ISpeechRecoGrammar : public IDispatch
16867{
16868    virtual HRESULT STDMETHODCALLTYPE get_Id(
16869        VARIANT *Id) = 0;
16870
16871    virtual HRESULT STDMETHODCALLTYPE get_RecoContext(
16872        ISpeechRecoContext **RecoContext) = 0;
16873
16874    virtual HRESULT STDMETHODCALLTYPE put_State(
16875        SpeechGrammarState State) = 0;
16876
16877    virtual HRESULT STDMETHODCALLTYPE get_State(
16878        SpeechGrammarState *State) = 0;
16879
16880    virtual HRESULT STDMETHODCALLTYPE get_Rules(
16881        ISpeechGrammarRules **Rules) = 0;
16882
16883    virtual HRESULT STDMETHODCALLTYPE Reset(
16884        SpeechLanguageId NewLanguage = 0) = 0;
16885
16886    virtual HRESULT STDMETHODCALLTYPE CmdLoadFromFile(
16887        const BSTR FileName,
16888        SpeechLoadOption LoadOption = SLOStatic) = 0;
16889
16890    virtual HRESULT STDMETHODCALLTYPE CmdLoadFromObject(
16891        const BSTR ClassId,
16892        const BSTR GrammarName,
16893        SpeechLoadOption LoadOption = SLOStatic) = 0;
16894
16895    virtual HRESULT STDMETHODCALLTYPE CmdLoadFromResource(
16896        LONG hModule,
16897        VARIANT ResourceName,
16898        VARIANT ResourceType,
16899        SpeechLanguageId LanguageId,
16900        SpeechLoadOption LoadOption = SLOStatic) = 0;
16901
16902    virtual HRESULT STDMETHODCALLTYPE CmdLoadFromMemory(
16903        VARIANT GrammarData,
16904        SpeechLoadOption LoadOption = SLOStatic) = 0;
16905
16906    virtual HRESULT STDMETHODCALLTYPE CmdLoadFromProprietaryGrammar(
16907        const BSTR ProprietaryGuid,
16908        const BSTR ProprietaryString,
16909        VARIANT ProprietaryData,
16910        SpeechLoadOption LoadOption = SLOStatic) = 0;
16911
16912    virtual HRESULT STDMETHODCALLTYPE CmdSetRuleState(
16913        const BSTR Name,
16914        SpeechRuleState State) = 0;
16915
16916    virtual HRESULT STDMETHODCALLTYPE CmdSetRuleIdState(
16917        LONG RuleId,
16918        SpeechRuleState State) = 0;
16919
16920    virtual HRESULT STDMETHODCALLTYPE DictationLoad(
16921        const BSTR TopicName = L"",
16922        SpeechLoadOption LoadOption = SLOStatic) = 0;
16923
16924    virtual HRESULT STDMETHODCALLTYPE DictationUnload(
16925        ) = 0;
16926
16927    virtual HRESULT STDMETHODCALLTYPE DictationSetState(
16928        SpeechRuleState State) = 0;
16929
16930    virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
16931        const BSTR Text,
16932        LONG TextLength,
16933        ISpeechTextSelectionInformation *Info) = 0;
16934
16935    virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
16936        ISpeechTextSelectionInformation *Info) = 0;
16937
16938    virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
16939        const BSTR Word,
16940        SpeechWordPronounceable *WordPronounceable) = 0;
16941
16942};
16943#ifdef __CRT_UUID_DECL
16944__CRT_UUID_DECL(ISpeechRecoGrammar, 0xb6d6f79f, 0x2158, 0x4e50, 0xb5,0xbc, 0x9a,0x9c,0xcd,0x85,0x2a,0x09)
16945#endif
16946#else
16947typedef struct ISpeechRecoGrammarVtbl {
16948    BEGIN_INTERFACE
16949
16950    /*** IUnknown methods ***/
16951    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
16952        ISpeechRecoGrammar* This,
16953        REFIID riid,
16954        void **ppvObject);
16955
16956    ULONG (STDMETHODCALLTYPE *AddRef)(
16957        ISpeechRecoGrammar* This);
16958
16959    ULONG (STDMETHODCALLTYPE *Release)(
16960        ISpeechRecoGrammar* This);
16961
16962    /*** IDispatch methods ***/
16963    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
16964        ISpeechRecoGrammar* This,
16965        UINT *pctinfo);
16966
16967    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
16968        ISpeechRecoGrammar* This,
16969        UINT iTInfo,
16970        LCID lcid,
16971        ITypeInfo **ppTInfo);
16972
16973    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
16974        ISpeechRecoGrammar* This,
16975        REFIID riid,
16976        LPOLESTR *rgszNames,
16977        UINT cNames,
16978        LCID lcid,
16979        DISPID *rgDispId);
16980
16981    HRESULT (STDMETHODCALLTYPE *Invoke)(
16982        ISpeechRecoGrammar* This,
16983        DISPID dispIdMember,
16984        REFIID riid,
16985        LCID lcid,
16986        WORD wFlags,
16987        DISPPARAMS *pDispParams,
16988        VARIANT *pVarResult,
16989        EXCEPINFO *pExcepInfo,
16990        UINT *puArgErr);
16991
16992    /*** ISpeechRecoGrammar methods ***/
16993    HRESULT (STDMETHODCALLTYPE *get_Id)(
16994        ISpeechRecoGrammar* This,
16995        VARIANT *Id);
16996
16997    HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
16998        ISpeechRecoGrammar* This,
16999        ISpeechRecoContext **RecoContext);
17000
17001    HRESULT (STDMETHODCALLTYPE *put_State)(
17002        ISpeechRecoGrammar* This,
17003        SpeechGrammarState State);
17004
17005    HRESULT (STDMETHODCALLTYPE *get_State)(
17006        ISpeechRecoGrammar* This,
17007        SpeechGrammarState *State);
17008
17009    HRESULT (STDMETHODCALLTYPE *get_Rules)(
17010        ISpeechRecoGrammar* This,
17011        ISpeechGrammarRules **Rules);
17012
17013    HRESULT (STDMETHODCALLTYPE *Reset)(
17014        ISpeechRecoGrammar* This,
17015        SpeechLanguageId NewLanguage);
17016
17017    HRESULT (STDMETHODCALLTYPE *CmdLoadFromFile)(
17018        ISpeechRecoGrammar* This,
17019        const BSTR FileName,
17020        SpeechLoadOption LoadOption);
17021
17022    HRESULT (STDMETHODCALLTYPE *CmdLoadFromObject)(
17023        ISpeechRecoGrammar* This,
17024        const BSTR ClassId,
17025        const BSTR GrammarName,
17026        SpeechLoadOption LoadOption);
17027
17028    HRESULT (STDMETHODCALLTYPE *CmdLoadFromResource)(
17029        ISpeechRecoGrammar* This,
17030        LONG hModule,
17031        VARIANT ResourceName,
17032        VARIANT ResourceType,
17033        SpeechLanguageId LanguageId,
17034        SpeechLoadOption LoadOption);
17035
17036    HRESULT (STDMETHODCALLTYPE *CmdLoadFromMemory)(
17037        ISpeechRecoGrammar* This,
17038        VARIANT GrammarData,
17039        SpeechLoadOption LoadOption);
17040
17041    HRESULT (STDMETHODCALLTYPE *CmdLoadFromProprietaryGrammar)(
17042        ISpeechRecoGrammar* This,
17043        const BSTR ProprietaryGuid,
17044        const BSTR ProprietaryString,
17045        VARIANT ProprietaryData,
17046        SpeechLoadOption LoadOption);
17047
17048    HRESULT (STDMETHODCALLTYPE *CmdSetRuleState)(
17049        ISpeechRecoGrammar* This,
17050        const BSTR Name,
17051        SpeechRuleState State);
17052
17053    HRESULT (STDMETHODCALLTYPE *CmdSetRuleIdState)(
17054        ISpeechRecoGrammar* This,
17055        LONG RuleId,
17056        SpeechRuleState State);
17057
17058    HRESULT (STDMETHODCALLTYPE *DictationLoad)(
17059        ISpeechRecoGrammar* This,
17060        const BSTR TopicName,
17061        SpeechLoadOption LoadOption);
17062
17063    HRESULT (STDMETHODCALLTYPE *DictationUnload)(
17064        ISpeechRecoGrammar* This);
17065
17066    HRESULT (STDMETHODCALLTYPE *DictationSetState)(
17067        ISpeechRecoGrammar* This,
17068        SpeechRuleState State);
17069
17070    HRESULT (STDMETHODCALLTYPE *SetWordSequenceData)(
17071        ISpeechRecoGrammar* This,
17072        const BSTR Text,
17073        LONG TextLength,
17074        ISpeechTextSelectionInformation *Info);
17075
17076    HRESULT (STDMETHODCALLTYPE *SetTextSelection)(
17077        ISpeechRecoGrammar* This,
17078        ISpeechTextSelectionInformation *Info);
17079
17080    HRESULT (STDMETHODCALLTYPE *IsPronounceable)(
17081        ISpeechRecoGrammar* This,
17082        const BSTR Word,
17083        SpeechWordPronounceable *WordPronounceable);
17084
17085    END_INTERFACE
17086} ISpeechRecoGrammarVtbl;
17087interface ISpeechRecoGrammar {
17088    CONST_VTBL ISpeechRecoGrammarVtbl* lpVtbl;
17089};
17090
17091#ifdef COBJMACROS
17092#ifndef WIDL_C_INLINE_WRAPPERS
17093/*** IUnknown methods ***/
17094#define ISpeechRecoGrammar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17095#define ISpeechRecoGrammar_AddRef(This) (This)->lpVtbl->AddRef(This)
17096#define ISpeechRecoGrammar_Release(This) (This)->lpVtbl->Release(This)
17097/*** IDispatch methods ***/
17098#define ISpeechRecoGrammar_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
17099#define ISpeechRecoGrammar_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
17100#define ISpeechRecoGrammar_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
17101#define ISpeechRecoGrammar_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
17102/*** ISpeechRecoGrammar methods ***/
17103#define ISpeechRecoGrammar_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
17104#define ISpeechRecoGrammar_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
17105#define ISpeechRecoGrammar_put_State(This,State) (This)->lpVtbl->put_State(This,State)
17106#define ISpeechRecoGrammar_get_State(This,State) (This)->lpVtbl->get_State(This,State)
17107#define ISpeechRecoGrammar_get_Rules(This,Rules) (This)->lpVtbl->get_Rules(This,Rules)
17108#define ISpeechRecoGrammar_Reset(This,NewLanguage) (This)->lpVtbl->Reset(This,NewLanguage)
17109#define ISpeechRecoGrammar_CmdLoadFromFile(This,FileName,LoadOption) (This)->lpVtbl->CmdLoadFromFile(This,FileName,LoadOption)
17110#define ISpeechRecoGrammar_CmdLoadFromObject(This,ClassId,GrammarName,LoadOption) (This)->lpVtbl->CmdLoadFromObject(This,ClassId,GrammarName,LoadOption)
17111#define ISpeechRecoGrammar_CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption) (This)->lpVtbl->CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption)
17112#define ISpeechRecoGrammar_CmdLoadFromMemory(This,GrammarData,LoadOption) (This)->lpVtbl->CmdLoadFromMemory(This,GrammarData,LoadOption)
17113#define ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption) (This)->lpVtbl->CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption)
17114#define ISpeechRecoGrammar_CmdSetRuleState(This,Name,State) (This)->lpVtbl->CmdSetRuleState(This,Name,State)
17115#define ISpeechRecoGrammar_CmdSetRuleIdState(This,RuleId,State) (This)->lpVtbl->CmdSetRuleIdState(This,RuleId,State)
17116#define ISpeechRecoGrammar_DictationLoad(This,TopicName,LoadOption) (This)->lpVtbl->DictationLoad(This,TopicName,LoadOption)
17117#define ISpeechRecoGrammar_DictationUnload(This) (This)->lpVtbl->DictationUnload(This)
17118#define ISpeechRecoGrammar_DictationSetState(This,State) (This)->lpVtbl->DictationSetState(This,State)
17119#define ISpeechRecoGrammar_SetWordSequenceData(This,Text,TextLength,Info) (This)->lpVtbl->SetWordSequenceData(This,Text,TextLength,Info)
17120#define ISpeechRecoGrammar_SetTextSelection(This,Info) (This)->lpVtbl->SetTextSelection(This,Info)
17121#define ISpeechRecoGrammar_IsPronounceable(This,Word,WordPronounceable) (This)->lpVtbl->IsPronounceable(This,Word,WordPronounceable)
17122#else
17123/*** IUnknown methods ***/
17124static FORCEINLINE HRESULT ISpeechRecoGrammar_QueryInterface(ISpeechRecoGrammar* This,REFIID riid,void **ppvObject) {
17125    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17126}
17127static FORCEINLINE ULONG ISpeechRecoGrammar_AddRef(ISpeechRecoGrammar* This) {
17128    return This->lpVtbl->AddRef(This);
17129}
17130static FORCEINLINE ULONG ISpeechRecoGrammar_Release(ISpeechRecoGrammar* This) {
17131    return This->lpVtbl->Release(This);
17132}
17133/*** IDispatch methods ***/
17134static FORCEINLINE HRESULT ISpeechRecoGrammar_GetTypeInfoCount(ISpeechRecoGrammar* This,UINT *pctinfo) {
17135    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
17136}
17137static FORCEINLINE HRESULT ISpeechRecoGrammar_GetTypeInfo(ISpeechRecoGrammar* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
17138    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
17139}
17140static FORCEINLINE HRESULT ISpeechRecoGrammar_GetIDsOfNames(ISpeechRecoGrammar* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
17141    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
17142}
17143static FORCEINLINE HRESULT ISpeechRecoGrammar_Invoke(ISpeechRecoGrammar* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
17144    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
17145}
17146/*** ISpeechRecoGrammar methods ***/
17147static FORCEINLINE HRESULT ISpeechRecoGrammar_get_Id(ISpeechRecoGrammar* This,VARIANT *Id) {
17148    return This->lpVtbl->get_Id(This,Id);
17149}
17150static FORCEINLINE HRESULT ISpeechRecoGrammar_get_RecoContext(ISpeechRecoGrammar* This,ISpeechRecoContext **RecoContext) {
17151    return This->lpVtbl->get_RecoContext(This,RecoContext);
17152}
17153static FORCEINLINE HRESULT ISpeechRecoGrammar_put_State(ISpeechRecoGrammar* This,SpeechGrammarState State) {
17154    return This->lpVtbl->put_State(This,State);
17155}
17156static FORCEINLINE HRESULT ISpeechRecoGrammar_get_State(ISpeechRecoGrammar* This,SpeechGrammarState *State) {
17157    return This->lpVtbl->get_State(This,State);
17158}
17159static FORCEINLINE HRESULT ISpeechRecoGrammar_get_Rules(ISpeechRecoGrammar* This,ISpeechGrammarRules **Rules) {
17160    return This->lpVtbl->get_Rules(This,Rules);
17161}
17162static FORCEINLINE HRESULT ISpeechRecoGrammar_Reset(ISpeechRecoGrammar* This,SpeechLanguageId NewLanguage) {
17163    return This->lpVtbl->Reset(This,NewLanguage);
17164}
17165static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromFile(ISpeechRecoGrammar* This,const BSTR FileName,SpeechLoadOption LoadOption) {
17166    return This->lpVtbl->CmdLoadFromFile(This,FileName,LoadOption);
17167}
17168static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromObject(ISpeechRecoGrammar* This,const BSTR ClassId,const BSTR GrammarName,SpeechLoadOption LoadOption) {
17169    return This->lpVtbl->CmdLoadFromObject(This,ClassId,GrammarName,LoadOption);
17170}
17171static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromResource(ISpeechRecoGrammar* This,LONG hModule,VARIANT ResourceName,VARIANT ResourceType,SpeechLanguageId LanguageId,SpeechLoadOption LoadOption) {
17172    return This->lpVtbl->CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption);
17173}
17174static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromMemory(ISpeechRecoGrammar* This,VARIANT GrammarData,SpeechLoadOption LoadOption) {
17175    return This->lpVtbl->CmdLoadFromMemory(This,GrammarData,LoadOption);
17176}
17177static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar(ISpeechRecoGrammar* This,const BSTR ProprietaryGuid,const BSTR ProprietaryString,VARIANT ProprietaryData,SpeechLoadOption LoadOption) {
17178    return This->lpVtbl->CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption);
17179}
17180static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdSetRuleState(ISpeechRecoGrammar* This,const BSTR Name,SpeechRuleState State) {
17181    return This->lpVtbl->CmdSetRuleState(This,Name,State);
17182}
17183static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdSetRuleIdState(ISpeechRecoGrammar* This,LONG RuleId,SpeechRuleState State) {
17184    return This->lpVtbl->CmdSetRuleIdState(This,RuleId,State);
17185}
17186static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationLoad(ISpeechRecoGrammar* This,const BSTR TopicName,SpeechLoadOption LoadOption) {
17187    return This->lpVtbl->DictationLoad(This,TopicName,LoadOption);
17188}
17189static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationUnload(ISpeechRecoGrammar* This) {
17190    return This->lpVtbl->DictationUnload(This);
17191}
17192static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationSetState(ISpeechRecoGrammar* This,SpeechRuleState State) {
17193    return This->lpVtbl->DictationSetState(This,State);
17194}
17195static FORCEINLINE HRESULT ISpeechRecoGrammar_SetWordSequenceData(ISpeechRecoGrammar* This,const BSTR Text,LONG TextLength,ISpeechTextSelectionInformation *Info) {
17196    return This->lpVtbl->SetWordSequenceData(This,Text,TextLength,Info);
17197}
17198static FORCEINLINE HRESULT ISpeechRecoGrammar_SetTextSelection(ISpeechRecoGrammar* This,ISpeechTextSelectionInformation *Info) {
17199    return This->lpVtbl->SetTextSelection(This,Info);
17200}
17201static FORCEINLINE HRESULT ISpeechRecoGrammar_IsPronounceable(ISpeechRecoGrammar* This,const BSTR Word,SpeechWordPronounceable *WordPronounceable) {
17202    return This->lpVtbl->IsPronounceable(This,Word,WordPronounceable);
17203}
17204#endif
17205#endif
17206
17207#endif
17208
17209HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_Id_Proxy(
17210    ISpeechRecoGrammar* This,
17211    VARIANT *Id);
17212void __RPC_STUB ISpeechRecoGrammar_get_Id_Stub(
17213    IRpcStubBuffer* This,
17214    IRpcChannelBuffer* pRpcChannelBuffer,
17215    PRPC_MESSAGE pRpcMessage,
17216    DWORD* pdwStubPhase);
17217HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_RecoContext_Proxy(
17218    ISpeechRecoGrammar* This,
17219    ISpeechRecoContext **RecoContext);
17220void __RPC_STUB ISpeechRecoGrammar_get_RecoContext_Stub(
17221    IRpcStubBuffer* This,
17222    IRpcChannelBuffer* pRpcChannelBuffer,
17223    PRPC_MESSAGE pRpcMessage,
17224    DWORD* pdwStubPhase);
17225HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_put_State_Proxy(
17226    ISpeechRecoGrammar* This,
17227    SpeechGrammarState State);
17228void __RPC_STUB ISpeechRecoGrammar_put_State_Stub(
17229    IRpcStubBuffer* This,
17230    IRpcChannelBuffer* pRpcChannelBuffer,
17231    PRPC_MESSAGE pRpcMessage,
17232    DWORD* pdwStubPhase);
17233HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_State_Proxy(
17234    ISpeechRecoGrammar* This,
17235    SpeechGrammarState *State);
17236void __RPC_STUB ISpeechRecoGrammar_get_State_Stub(
17237    IRpcStubBuffer* This,
17238    IRpcChannelBuffer* pRpcChannelBuffer,
17239    PRPC_MESSAGE pRpcMessage,
17240    DWORD* pdwStubPhase);
17241HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_Rules_Proxy(
17242    ISpeechRecoGrammar* This,
17243    ISpeechGrammarRules **Rules);
17244void __RPC_STUB ISpeechRecoGrammar_get_Rules_Stub(
17245    IRpcStubBuffer* This,
17246    IRpcChannelBuffer* pRpcChannelBuffer,
17247    PRPC_MESSAGE pRpcMessage,
17248    DWORD* pdwStubPhase);
17249HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_Reset_Proxy(
17250    ISpeechRecoGrammar* This,
17251    SpeechLanguageId NewLanguage);
17252void __RPC_STUB ISpeechRecoGrammar_Reset_Stub(
17253    IRpcStubBuffer* This,
17254    IRpcChannelBuffer* pRpcChannelBuffer,
17255    PRPC_MESSAGE pRpcMessage,
17256    DWORD* pdwStubPhase);
17257HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromFile_Proxy(
17258    ISpeechRecoGrammar* This,
17259    const BSTR FileName,
17260    SpeechLoadOption LoadOption);
17261void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromFile_Stub(
17262    IRpcStubBuffer* This,
17263    IRpcChannelBuffer* pRpcChannelBuffer,
17264    PRPC_MESSAGE pRpcMessage,
17265    DWORD* pdwStubPhase);
17266HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromObject_Proxy(
17267    ISpeechRecoGrammar* This,
17268    const BSTR ClassId,
17269    const BSTR GrammarName,
17270    SpeechLoadOption LoadOption);
17271void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromObject_Stub(
17272    IRpcStubBuffer* This,
17273    IRpcChannelBuffer* pRpcChannelBuffer,
17274    PRPC_MESSAGE pRpcMessage,
17275    DWORD* pdwStubPhase);
17276HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromResource_Proxy(
17277    ISpeechRecoGrammar* This,
17278    LONG hModule,
17279    VARIANT ResourceName,
17280    VARIANT ResourceType,
17281    SpeechLanguageId LanguageId,
17282    SpeechLoadOption LoadOption);
17283void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromResource_Stub(
17284    IRpcStubBuffer* This,
17285    IRpcChannelBuffer* pRpcChannelBuffer,
17286    PRPC_MESSAGE pRpcMessage,
17287    DWORD* pdwStubPhase);
17288HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromMemory_Proxy(
17289    ISpeechRecoGrammar* This,
17290    VARIANT GrammarData,
17291    SpeechLoadOption LoadOption);
17292void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromMemory_Stub(
17293    IRpcStubBuffer* This,
17294    IRpcChannelBuffer* pRpcChannelBuffer,
17295    PRPC_MESSAGE pRpcMessage,
17296    DWORD* pdwStubPhase);
17297HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar_Proxy(
17298    ISpeechRecoGrammar* This,
17299    const BSTR ProprietaryGuid,
17300    const BSTR ProprietaryString,
17301    VARIANT ProprietaryData,
17302    SpeechLoadOption LoadOption);
17303void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar_Stub(
17304    IRpcStubBuffer* This,
17305    IRpcChannelBuffer* pRpcChannelBuffer,
17306    PRPC_MESSAGE pRpcMessage,
17307    DWORD* pdwStubPhase);
17308HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdSetRuleState_Proxy(
17309    ISpeechRecoGrammar* This,
17310    const BSTR Name,
17311    SpeechRuleState State);
17312void __RPC_STUB ISpeechRecoGrammar_CmdSetRuleState_Stub(
17313    IRpcStubBuffer* This,
17314    IRpcChannelBuffer* pRpcChannelBuffer,
17315    PRPC_MESSAGE pRpcMessage,
17316    DWORD* pdwStubPhase);
17317HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdSetRuleIdState_Proxy(
17318    ISpeechRecoGrammar* This,
17319    LONG RuleId,
17320    SpeechRuleState State);
17321void __RPC_STUB ISpeechRecoGrammar_CmdSetRuleIdState_Stub(
17322    IRpcStubBuffer* This,
17323    IRpcChannelBuffer* pRpcChannelBuffer,
17324    PRPC_MESSAGE pRpcMessage,
17325    DWORD* pdwStubPhase);
17326HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationLoad_Proxy(
17327    ISpeechRecoGrammar* This,
17328    const BSTR TopicName,
17329    SpeechLoadOption LoadOption);
17330void __RPC_STUB ISpeechRecoGrammar_DictationLoad_Stub(
17331    IRpcStubBuffer* This,
17332    IRpcChannelBuffer* pRpcChannelBuffer,
17333    PRPC_MESSAGE pRpcMessage,
17334    DWORD* pdwStubPhase);
17335HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationUnload_Proxy(
17336    ISpeechRecoGrammar* This);
17337void __RPC_STUB ISpeechRecoGrammar_DictationUnload_Stub(
17338    IRpcStubBuffer* This,
17339    IRpcChannelBuffer* pRpcChannelBuffer,
17340    PRPC_MESSAGE pRpcMessage,
17341    DWORD* pdwStubPhase);
17342HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationSetState_Proxy(
17343    ISpeechRecoGrammar* This,
17344    SpeechRuleState State);
17345void __RPC_STUB ISpeechRecoGrammar_DictationSetState_Stub(
17346    IRpcStubBuffer* This,
17347    IRpcChannelBuffer* pRpcChannelBuffer,
17348    PRPC_MESSAGE pRpcMessage,
17349    DWORD* pdwStubPhase);
17350HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_SetWordSequenceData_Proxy(
17351    ISpeechRecoGrammar* This,
17352    const BSTR Text,
17353    LONG TextLength,
17354    ISpeechTextSelectionInformation *Info);
17355void __RPC_STUB ISpeechRecoGrammar_SetWordSequenceData_Stub(
17356    IRpcStubBuffer* This,
17357    IRpcChannelBuffer* pRpcChannelBuffer,
17358    PRPC_MESSAGE pRpcMessage,
17359    DWORD* pdwStubPhase);
17360HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_SetTextSelection_Proxy(
17361    ISpeechRecoGrammar* This,
17362    ISpeechTextSelectionInformation *Info);
17363void __RPC_STUB ISpeechRecoGrammar_SetTextSelection_Stub(
17364    IRpcStubBuffer* This,
17365    IRpcChannelBuffer* pRpcChannelBuffer,
17366    PRPC_MESSAGE pRpcMessage,
17367    DWORD* pdwStubPhase);
17368HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_IsPronounceable_Proxy(
17369    ISpeechRecoGrammar* This,
17370    const BSTR Word,
17371    SpeechWordPronounceable *WordPronounceable);
17372void __RPC_STUB ISpeechRecoGrammar_IsPronounceable_Stub(
17373    IRpcStubBuffer* This,
17374    IRpcChannelBuffer* pRpcChannelBuffer,
17375    PRPC_MESSAGE pRpcMessage,
17376    DWORD* pdwStubPhase);
17377
17378#endif  /* __ISpeechRecoGrammar_INTERFACE_DEFINED__ */
17379
17380/*****************************************************************************
17381 * _ISpeechRecoContextEvents dispinterface
17382 */
17383#ifndef ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
17384#define ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
17385
17386DEFINE_GUID(DIID__ISpeechRecoContextEvents, 0x7b8fcb42, 0x0e9d, 0x4f00, 0xa0,0x48, 0x7b,0x04,0xd6,0x17,0x9d,0x3d);
17387#if defined(__cplusplus) && !defined(CINTERFACE)
17388MIDL_INTERFACE("7b8fcb42-0e9d-4f00-a048-7b04d6179d3d")
17389_ISpeechRecoContextEvents : public IDispatch
17390{
17391};
17392#ifdef __CRT_UUID_DECL
17393__CRT_UUID_DECL(_ISpeechRecoContextEvents, 0x7b8fcb42, 0x0e9d, 0x4f00, 0xa0,0x48, 0x7b,0x04,0xd6,0x17,0x9d,0x3d)
17394#endif
17395#else
17396typedef struct _ISpeechRecoContextEventsVtbl {
17397    BEGIN_INTERFACE
17398
17399    /*** IUnknown methods ***/
17400    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17401        _ISpeechRecoContextEvents* This,
17402        REFIID riid,
17403        void **ppvObject);
17404
17405    ULONG (STDMETHODCALLTYPE *AddRef)(
17406        _ISpeechRecoContextEvents* This);
17407
17408    ULONG (STDMETHODCALLTYPE *Release)(
17409        _ISpeechRecoContextEvents* This);
17410
17411    /*** IDispatch methods ***/
17412    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
17413        _ISpeechRecoContextEvents* This,
17414        UINT *pctinfo);
17415
17416    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
17417        _ISpeechRecoContextEvents* This,
17418        UINT iTInfo,
17419        LCID lcid,
17420        ITypeInfo **ppTInfo);
17421
17422    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
17423        _ISpeechRecoContextEvents* This,
17424        REFIID riid,
17425        LPOLESTR *rgszNames,
17426        UINT cNames,
17427        LCID lcid,
17428        DISPID *rgDispId);
17429
17430    HRESULT (STDMETHODCALLTYPE *Invoke)(
17431        _ISpeechRecoContextEvents* This,
17432        DISPID dispIdMember,
17433        REFIID riid,
17434        LCID lcid,
17435        WORD wFlags,
17436        DISPPARAMS *pDispParams,
17437        VARIANT *pVarResult,
17438        EXCEPINFO *pExcepInfo,
17439        UINT *puArgErr);
17440
17441    END_INTERFACE
17442} _ISpeechRecoContextEventsVtbl;
17443interface _ISpeechRecoContextEvents {
17444    CONST_VTBL _ISpeechRecoContextEventsVtbl* lpVtbl;
17445};
17446
17447#ifdef COBJMACROS
17448#ifndef WIDL_C_INLINE_WRAPPERS
17449/*** IUnknown methods ***/
17450#define _ISpeechRecoContextEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17451#define _ISpeechRecoContextEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
17452#define _ISpeechRecoContextEvents_Release(This) (This)->lpVtbl->Release(This)
17453/*** IDispatch methods ***/
17454#define _ISpeechRecoContextEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
17455#define _ISpeechRecoContextEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
17456#define _ISpeechRecoContextEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
17457#define _ISpeechRecoContextEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
17458#else
17459/*** IUnknown methods ***/
17460static FORCEINLINE HRESULT _ISpeechRecoContextEvents_QueryInterface(_ISpeechRecoContextEvents* This,REFIID riid,void **ppvObject) {
17461    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17462}
17463static FORCEINLINE ULONG _ISpeechRecoContextEvents_AddRef(_ISpeechRecoContextEvents* This) {
17464    return This->lpVtbl->AddRef(This);
17465}
17466static FORCEINLINE ULONG _ISpeechRecoContextEvents_Release(_ISpeechRecoContextEvents* This) {
17467    return This->lpVtbl->Release(This);
17468}
17469/*** IDispatch methods ***/
17470static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetTypeInfoCount(_ISpeechRecoContextEvents* This,UINT *pctinfo) {
17471    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
17472}
17473static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetTypeInfo(_ISpeechRecoContextEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
17474    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
17475}
17476static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetIDsOfNames(_ISpeechRecoContextEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
17477    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
17478}
17479static FORCEINLINE HRESULT _ISpeechRecoContextEvents_Invoke(_ISpeechRecoContextEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
17480    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
17481}
17482#endif
17483#endif
17484
17485#endif
17486
17487#endif  /* ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__ */
17488
17489/*****************************************************************************
17490 * ISpeechGrammarRule interface
17491 */
17492#ifndef __ISpeechGrammarRule_INTERFACE_DEFINED__
17493#define __ISpeechGrammarRule_INTERFACE_DEFINED__
17494
17495DEFINE_GUID(IID_ISpeechGrammarRule, 0xafe719cf, 0x5dd1, 0x44f2, 0x99,0x9c, 0x7a,0x39,0x9f,0x1c,0xfc,0xcc);
17496#if defined(__cplusplus) && !defined(CINTERFACE)
17497MIDL_INTERFACE("afe719cf-5dd1-44f2-999c-7a399f1cfccc")
17498ISpeechGrammarRule : public IDispatch
17499{
17500    virtual HRESULT STDMETHODCALLTYPE get_Attributes(
17501        SpeechRuleAttributes *Attributes) = 0;
17502
17503    virtual HRESULT STDMETHODCALLTYPE get_InitialState(
17504        ISpeechGrammarRuleState **State) = 0;
17505
17506    virtual HRESULT STDMETHODCALLTYPE get_Name(
17507        BSTR *Name) = 0;
17508
17509    virtual HRESULT STDMETHODCALLTYPE get_Id(
17510        LONG *Id) = 0;
17511
17512    virtual HRESULT STDMETHODCALLTYPE Clear(
17513        ) = 0;
17514
17515    virtual HRESULT STDMETHODCALLTYPE AddResource(
17516        const BSTR ResourceName,
17517        const BSTR ResourceValue) = 0;
17518
17519    virtual HRESULT STDMETHODCALLTYPE AddState(
17520        ISpeechGrammarRuleState **State) = 0;
17521
17522};
17523#ifdef __CRT_UUID_DECL
17524__CRT_UUID_DECL(ISpeechGrammarRule, 0xafe719cf, 0x5dd1, 0x44f2, 0x99,0x9c, 0x7a,0x39,0x9f,0x1c,0xfc,0xcc)
17525#endif
17526#else
17527typedef struct ISpeechGrammarRuleVtbl {
17528    BEGIN_INTERFACE
17529
17530    /*** IUnknown methods ***/
17531    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17532        ISpeechGrammarRule* This,
17533        REFIID riid,
17534        void **ppvObject);
17535
17536    ULONG (STDMETHODCALLTYPE *AddRef)(
17537        ISpeechGrammarRule* This);
17538
17539    ULONG (STDMETHODCALLTYPE *Release)(
17540        ISpeechGrammarRule* This);
17541
17542    /*** IDispatch methods ***/
17543    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
17544        ISpeechGrammarRule* This,
17545        UINT *pctinfo);
17546
17547    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
17548        ISpeechGrammarRule* This,
17549        UINT iTInfo,
17550        LCID lcid,
17551        ITypeInfo **ppTInfo);
17552
17553    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
17554        ISpeechGrammarRule* This,
17555        REFIID riid,
17556        LPOLESTR *rgszNames,
17557        UINT cNames,
17558        LCID lcid,
17559        DISPID *rgDispId);
17560
17561    HRESULT (STDMETHODCALLTYPE *Invoke)(
17562        ISpeechGrammarRule* This,
17563        DISPID dispIdMember,
17564        REFIID riid,
17565        LCID lcid,
17566        WORD wFlags,
17567        DISPPARAMS *pDispParams,
17568        VARIANT *pVarResult,
17569        EXCEPINFO *pExcepInfo,
17570        UINT *puArgErr);
17571
17572    /*** ISpeechGrammarRule methods ***/
17573    HRESULT (STDMETHODCALLTYPE *get_Attributes)(
17574        ISpeechGrammarRule* This,
17575        SpeechRuleAttributes *Attributes);
17576
17577    HRESULT (STDMETHODCALLTYPE *get_InitialState)(
17578        ISpeechGrammarRule* This,
17579        ISpeechGrammarRuleState **State);
17580
17581    HRESULT (STDMETHODCALLTYPE *get_Name)(
17582        ISpeechGrammarRule* This,
17583        BSTR *Name);
17584
17585    HRESULT (STDMETHODCALLTYPE *get_Id)(
17586        ISpeechGrammarRule* This,
17587        LONG *Id);
17588
17589    HRESULT (STDMETHODCALLTYPE *Clear)(
17590        ISpeechGrammarRule* This);
17591
17592    HRESULT (STDMETHODCALLTYPE *AddResource)(
17593        ISpeechGrammarRule* This,
17594        const BSTR ResourceName,
17595        const BSTR ResourceValue);
17596
17597    HRESULT (STDMETHODCALLTYPE *AddState)(
17598        ISpeechGrammarRule* This,
17599        ISpeechGrammarRuleState **State);
17600
17601    END_INTERFACE
17602} ISpeechGrammarRuleVtbl;
17603interface ISpeechGrammarRule {
17604    CONST_VTBL ISpeechGrammarRuleVtbl* lpVtbl;
17605};
17606
17607#ifdef COBJMACROS
17608#ifndef WIDL_C_INLINE_WRAPPERS
17609/*** IUnknown methods ***/
17610#define ISpeechGrammarRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17611#define ISpeechGrammarRule_AddRef(This) (This)->lpVtbl->AddRef(This)
17612#define ISpeechGrammarRule_Release(This) (This)->lpVtbl->Release(This)
17613/*** IDispatch methods ***/
17614#define ISpeechGrammarRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
17615#define ISpeechGrammarRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
17616#define ISpeechGrammarRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
17617#define ISpeechGrammarRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
17618/*** ISpeechGrammarRule methods ***/
17619#define ISpeechGrammarRule_get_Attributes(This,Attributes) (This)->lpVtbl->get_Attributes(This,Attributes)
17620#define ISpeechGrammarRule_get_InitialState(This,State) (This)->lpVtbl->get_InitialState(This,State)
17621#define ISpeechGrammarRule_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
17622#define ISpeechGrammarRule_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
17623#define ISpeechGrammarRule_Clear(This) (This)->lpVtbl->Clear(This)
17624#define ISpeechGrammarRule_AddResource(This,ResourceName,ResourceValue) (This)->lpVtbl->AddResource(This,ResourceName,ResourceValue)
17625#define ISpeechGrammarRule_AddState(This,State) (This)->lpVtbl->AddState(This,State)
17626#else
17627/*** IUnknown methods ***/
17628static FORCEINLINE HRESULT ISpeechGrammarRule_QueryInterface(ISpeechGrammarRule* This,REFIID riid,void **ppvObject) {
17629    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17630}
17631static FORCEINLINE ULONG ISpeechGrammarRule_AddRef(ISpeechGrammarRule* This) {
17632    return This->lpVtbl->AddRef(This);
17633}
17634static FORCEINLINE ULONG ISpeechGrammarRule_Release(ISpeechGrammarRule* This) {
17635    return This->lpVtbl->Release(This);
17636}
17637/*** IDispatch methods ***/
17638static FORCEINLINE HRESULT ISpeechGrammarRule_GetTypeInfoCount(ISpeechGrammarRule* This,UINT *pctinfo) {
17639    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
17640}
17641static FORCEINLINE HRESULT ISpeechGrammarRule_GetTypeInfo(ISpeechGrammarRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
17642    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
17643}
17644static FORCEINLINE HRESULT ISpeechGrammarRule_GetIDsOfNames(ISpeechGrammarRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
17645    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
17646}
17647static FORCEINLINE HRESULT ISpeechGrammarRule_Invoke(ISpeechGrammarRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
17648    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
17649}
17650/*** ISpeechGrammarRule methods ***/
17651static FORCEINLINE HRESULT ISpeechGrammarRule_get_Attributes(ISpeechGrammarRule* This,SpeechRuleAttributes *Attributes) {
17652    return This->lpVtbl->get_Attributes(This,Attributes);
17653}
17654static FORCEINLINE HRESULT ISpeechGrammarRule_get_InitialState(ISpeechGrammarRule* This,ISpeechGrammarRuleState **State) {
17655    return This->lpVtbl->get_InitialState(This,State);
17656}
17657static FORCEINLINE HRESULT ISpeechGrammarRule_get_Name(ISpeechGrammarRule* This,BSTR *Name) {
17658    return This->lpVtbl->get_Name(This,Name);
17659}
17660static FORCEINLINE HRESULT ISpeechGrammarRule_get_Id(ISpeechGrammarRule* This,LONG *Id) {
17661    return This->lpVtbl->get_Id(This,Id);
17662}
17663static FORCEINLINE HRESULT ISpeechGrammarRule_Clear(ISpeechGrammarRule* This) {
17664    return This->lpVtbl->Clear(This);
17665}
17666static FORCEINLINE HRESULT ISpeechGrammarRule_AddResource(ISpeechGrammarRule* This,const BSTR ResourceName,const BSTR ResourceValue) {
17667    return This->lpVtbl->AddResource(This,ResourceName,ResourceValue);
17668}
17669static FORCEINLINE HRESULT ISpeechGrammarRule_AddState(ISpeechGrammarRule* This,ISpeechGrammarRuleState **State) {
17670    return This->lpVtbl->AddState(This,State);
17671}
17672#endif
17673#endif
17674
17675#endif
17676
17677HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Attributes_Proxy(
17678    ISpeechGrammarRule* This,
17679    SpeechRuleAttributes *Attributes);
17680void __RPC_STUB ISpeechGrammarRule_get_Attributes_Stub(
17681    IRpcStubBuffer* This,
17682    IRpcChannelBuffer* pRpcChannelBuffer,
17683    PRPC_MESSAGE pRpcMessage,
17684    DWORD* pdwStubPhase);
17685HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_InitialState_Proxy(
17686    ISpeechGrammarRule* This,
17687    ISpeechGrammarRuleState **State);
17688void __RPC_STUB ISpeechGrammarRule_get_InitialState_Stub(
17689    IRpcStubBuffer* This,
17690    IRpcChannelBuffer* pRpcChannelBuffer,
17691    PRPC_MESSAGE pRpcMessage,
17692    DWORD* pdwStubPhase);
17693HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Name_Proxy(
17694    ISpeechGrammarRule* This,
17695    BSTR *Name);
17696void __RPC_STUB ISpeechGrammarRule_get_Name_Stub(
17697    IRpcStubBuffer* This,
17698    IRpcChannelBuffer* pRpcChannelBuffer,
17699    PRPC_MESSAGE pRpcMessage,
17700    DWORD* pdwStubPhase);
17701HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Id_Proxy(
17702    ISpeechGrammarRule* This,
17703    LONG *Id);
17704void __RPC_STUB ISpeechGrammarRule_get_Id_Stub(
17705    IRpcStubBuffer* This,
17706    IRpcChannelBuffer* pRpcChannelBuffer,
17707    PRPC_MESSAGE pRpcMessage,
17708    DWORD* pdwStubPhase);
17709HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_Clear_Proxy(
17710    ISpeechGrammarRule* This);
17711void __RPC_STUB ISpeechGrammarRule_Clear_Stub(
17712    IRpcStubBuffer* This,
17713    IRpcChannelBuffer* pRpcChannelBuffer,
17714    PRPC_MESSAGE pRpcMessage,
17715    DWORD* pdwStubPhase);
17716HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_AddResource_Proxy(
17717    ISpeechGrammarRule* This,
17718    const BSTR ResourceName,
17719    const BSTR ResourceValue);
17720void __RPC_STUB ISpeechGrammarRule_AddResource_Stub(
17721    IRpcStubBuffer* This,
17722    IRpcChannelBuffer* pRpcChannelBuffer,
17723    PRPC_MESSAGE pRpcMessage,
17724    DWORD* pdwStubPhase);
17725HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_AddState_Proxy(
17726    ISpeechGrammarRule* This,
17727    ISpeechGrammarRuleState **State);
17728void __RPC_STUB ISpeechGrammarRule_AddState_Stub(
17729    IRpcStubBuffer* This,
17730    IRpcChannelBuffer* pRpcChannelBuffer,
17731    PRPC_MESSAGE pRpcMessage,
17732    DWORD* pdwStubPhase);
17733
17734#endif  /* __ISpeechGrammarRule_INTERFACE_DEFINED__ */
17735
17736/*****************************************************************************
17737 * ISpeechGrammarRules interface
17738 */
17739#ifndef __ISpeechGrammarRules_INTERFACE_DEFINED__
17740#define __ISpeechGrammarRules_INTERFACE_DEFINED__
17741
17742DEFINE_GUID(IID_ISpeechGrammarRules, 0x6ffa3b44, 0xfc2d, 0x40d1, 0x8a,0xfc, 0x32,0x91,0x1c,0x7f,0x1a,0xd1);
17743#if defined(__cplusplus) && !defined(CINTERFACE)
17744MIDL_INTERFACE("6ffa3b44-fc2d-40d1-8afc-32911c7f1ad1")
17745ISpeechGrammarRules : public IDispatch
17746{
17747    virtual HRESULT STDMETHODCALLTYPE get_Count(
17748        LONG *Count) = 0;
17749
17750    virtual HRESULT STDMETHODCALLTYPE FindRule(
17751        VARIANT RuleNameOrId,
17752        ISpeechGrammarRule **Rule) = 0;
17753
17754    virtual HRESULT STDMETHODCALLTYPE Item(
17755        LONG Index,
17756        ISpeechGrammarRule **Rule) = 0;
17757
17758    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
17759        IUnknown **EnumVARIANT) = 0;
17760
17761    virtual HRESULT STDMETHODCALLTYPE get_Dynamic(
17762        VARIANT_BOOL *Dynamic) = 0;
17763
17764    virtual HRESULT STDMETHODCALLTYPE Add(
17765        BSTR RuleName,
17766        SpeechRuleAttributes Attributes,
17767        LONG RuleId,
17768        ISpeechGrammarRule **Rule) = 0;
17769
17770    virtual HRESULT STDMETHODCALLTYPE Commit(
17771        ) = 0;
17772
17773    virtual HRESULT STDMETHODCALLTYPE CommitAndSave(
17774        BSTR *ErrorText,
17775        VARIANT *SaveStream) = 0;
17776
17777};
17778#ifdef __CRT_UUID_DECL
17779__CRT_UUID_DECL(ISpeechGrammarRules, 0x6ffa3b44, 0xfc2d, 0x40d1, 0x8a,0xfc, 0x32,0x91,0x1c,0x7f,0x1a,0xd1)
17780#endif
17781#else
17782typedef struct ISpeechGrammarRulesVtbl {
17783    BEGIN_INTERFACE
17784
17785    /*** IUnknown methods ***/
17786    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
17787        ISpeechGrammarRules* This,
17788        REFIID riid,
17789        void **ppvObject);
17790
17791    ULONG (STDMETHODCALLTYPE *AddRef)(
17792        ISpeechGrammarRules* This);
17793
17794    ULONG (STDMETHODCALLTYPE *Release)(
17795        ISpeechGrammarRules* This);
17796
17797    /*** IDispatch methods ***/
17798    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
17799        ISpeechGrammarRules* This,
17800        UINT *pctinfo);
17801
17802    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
17803        ISpeechGrammarRules* This,
17804        UINT iTInfo,
17805        LCID lcid,
17806        ITypeInfo **ppTInfo);
17807
17808    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
17809        ISpeechGrammarRules* This,
17810        REFIID riid,
17811        LPOLESTR *rgszNames,
17812        UINT cNames,
17813        LCID lcid,
17814        DISPID *rgDispId);
17815
17816    HRESULT (STDMETHODCALLTYPE *Invoke)(
17817        ISpeechGrammarRules* This,
17818        DISPID dispIdMember,
17819        REFIID riid,
17820        LCID lcid,
17821        WORD wFlags,
17822        DISPPARAMS *pDispParams,
17823        VARIANT *pVarResult,
17824        EXCEPINFO *pExcepInfo,
17825        UINT *puArgErr);
17826
17827    /*** ISpeechGrammarRules methods ***/
17828    HRESULT (STDMETHODCALLTYPE *get_Count)(
17829        ISpeechGrammarRules* This,
17830        LONG *Count);
17831
17832    HRESULT (STDMETHODCALLTYPE *FindRule)(
17833        ISpeechGrammarRules* This,
17834        VARIANT RuleNameOrId,
17835        ISpeechGrammarRule **Rule);
17836
17837    HRESULT (STDMETHODCALLTYPE *Item)(
17838        ISpeechGrammarRules* This,
17839        LONG Index,
17840        ISpeechGrammarRule **Rule);
17841
17842    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
17843        ISpeechGrammarRules* This,
17844        IUnknown **EnumVARIANT);
17845
17846    HRESULT (STDMETHODCALLTYPE *get_Dynamic)(
17847        ISpeechGrammarRules* This,
17848        VARIANT_BOOL *Dynamic);
17849
17850    HRESULT (STDMETHODCALLTYPE *Add)(
17851        ISpeechGrammarRules* This,
17852        BSTR RuleName,
17853        SpeechRuleAttributes Attributes,
17854        LONG RuleId,
17855        ISpeechGrammarRule **Rule);
17856
17857    HRESULT (STDMETHODCALLTYPE *Commit)(
17858        ISpeechGrammarRules* This);
17859
17860    HRESULT (STDMETHODCALLTYPE *CommitAndSave)(
17861        ISpeechGrammarRules* This,
17862        BSTR *ErrorText,
17863        VARIANT *SaveStream);
17864
17865    END_INTERFACE
17866} ISpeechGrammarRulesVtbl;
17867interface ISpeechGrammarRules {
17868    CONST_VTBL ISpeechGrammarRulesVtbl* lpVtbl;
17869};
17870
17871#ifdef COBJMACROS
17872#ifndef WIDL_C_INLINE_WRAPPERS
17873/*** IUnknown methods ***/
17874#define ISpeechGrammarRules_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
17875#define ISpeechGrammarRules_AddRef(This) (This)->lpVtbl->AddRef(This)
17876#define ISpeechGrammarRules_Release(This) (This)->lpVtbl->Release(This)
17877/*** IDispatch methods ***/
17878#define ISpeechGrammarRules_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
17879#define ISpeechGrammarRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
17880#define ISpeechGrammarRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
17881#define ISpeechGrammarRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
17882/*** ISpeechGrammarRules methods ***/
17883#define ISpeechGrammarRules_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
17884#define ISpeechGrammarRules_FindRule(This,RuleNameOrId,Rule) (This)->lpVtbl->FindRule(This,RuleNameOrId,Rule)
17885#define ISpeechGrammarRules_Item(This,Index,Rule) (This)->lpVtbl->Item(This,Index,Rule)
17886#define ISpeechGrammarRules_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
17887#define ISpeechGrammarRules_get_Dynamic(This,Dynamic) (This)->lpVtbl->get_Dynamic(This,Dynamic)
17888#define ISpeechGrammarRules_Add(This,RuleName,Attributes,RuleId,Rule) (This)->lpVtbl->Add(This,RuleName,Attributes,RuleId,Rule)
17889#define ISpeechGrammarRules_Commit(This) (This)->lpVtbl->Commit(This)
17890#define ISpeechGrammarRules_CommitAndSave(This,ErrorText,SaveStream) (This)->lpVtbl->CommitAndSave(This,ErrorText,SaveStream)
17891#else
17892/*** IUnknown methods ***/
17893static FORCEINLINE HRESULT ISpeechGrammarRules_QueryInterface(ISpeechGrammarRules* This,REFIID riid,void **ppvObject) {
17894    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
17895}
17896static FORCEINLINE ULONG ISpeechGrammarRules_AddRef(ISpeechGrammarRules* This) {
17897    return This->lpVtbl->AddRef(This);
17898}
17899static FORCEINLINE ULONG ISpeechGrammarRules_Release(ISpeechGrammarRules* This) {
17900    return This->lpVtbl->Release(This);
17901}
17902/*** IDispatch methods ***/
17903static FORCEINLINE HRESULT ISpeechGrammarRules_GetTypeInfoCount(ISpeechGrammarRules* This,UINT *pctinfo) {
17904    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
17905}
17906static FORCEINLINE HRESULT ISpeechGrammarRules_GetTypeInfo(ISpeechGrammarRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
17907    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
17908}
17909static FORCEINLINE HRESULT ISpeechGrammarRules_GetIDsOfNames(ISpeechGrammarRules* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
17910    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
17911}
17912static FORCEINLINE HRESULT ISpeechGrammarRules_Invoke(ISpeechGrammarRules* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
17913    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
17914}
17915/*** ISpeechGrammarRules methods ***/
17916static FORCEINLINE HRESULT ISpeechGrammarRules_get_Count(ISpeechGrammarRules* This,LONG *Count) {
17917    return This->lpVtbl->get_Count(This,Count);
17918}
17919static FORCEINLINE HRESULT ISpeechGrammarRules_FindRule(ISpeechGrammarRules* This,VARIANT RuleNameOrId,ISpeechGrammarRule **Rule) {
17920    return This->lpVtbl->FindRule(This,RuleNameOrId,Rule);
17921}
17922static FORCEINLINE HRESULT ISpeechGrammarRules_Item(ISpeechGrammarRules* This,LONG Index,ISpeechGrammarRule **Rule) {
17923    return This->lpVtbl->Item(This,Index,Rule);
17924}
17925static FORCEINLINE HRESULT ISpeechGrammarRules_get__NewEnum(ISpeechGrammarRules* This,IUnknown **EnumVARIANT) {
17926    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
17927}
17928static FORCEINLINE HRESULT ISpeechGrammarRules_get_Dynamic(ISpeechGrammarRules* This,VARIANT_BOOL *Dynamic) {
17929    return This->lpVtbl->get_Dynamic(This,Dynamic);
17930}
17931static FORCEINLINE HRESULT ISpeechGrammarRules_Add(ISpeechGrammarRules* This,BSTR RuleName,SpeechRuleAttributes Attributes,LONG RuleId,ISpeechGrammarRule **Rule) {
17932    return This->lpVtbl->Add(This,RuleName,Attributes,RuleId,Rule);
17933}
17934static FORCEINLINE HRESULT ISpeechGrammarRules_Commit(ISpeechGrammarRules* This) {
17935    return This->lpVtbl->Commit(This);
17936}
17937static FORCEINLINE HRESULT ISpeechGrammarRules_CommitAndSave(ISpeechGrammarRules* This,BSTR *ErrorText,VARIANT *SaveStream) {
17938    return This->lpVtbl->CommitAndSave(This,ErrorText,SaveStream);
17939}
17940#endif
17941#endif
17942
17943#endif
17944
17945HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get_Count_Proxy(
17946    ISpeechGrammarRules* This,
17947    LONG *Count);
17948void __RPC_STUB ISpeechGrammarRules_get_Count_Stub(
17949    IRpcStubBuffer* This,
17950    IRpcChannelBuffer* pRpcChannelBuffer,
17951    PRPC_MESSAGE pRpcMessage,
17952    DWORD* pdwStubPhase);
17953HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_FindRule_Proxy(
17954    ISpeechGrammarRules* This,
17955    VARIANT RuleNameOrId,
17956    ISpeechGrammarRule **Rule);
17957void __RPC_STUB ISpeechGrammarRules_FindRule_Stub(
17958    IRpcStubBuffer* This,
17959    IRpcChannelBuffer* pRpcChannelBuffer,
17960    PRPC_MESSAGE pRpcMessage,
17961    DWORD* pdwStubPhase);
17962HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Item_Proxy(
17963    ISpeechGrammarRules* This,
17964    LONG Index,
17965    ISpeechGrammarRule **Rule);
17966void __RPC_STUB ISpeechGrammarRules_Item_Stub(
17967    IRpcStubBuffer* This,
17968    IRpcChannelBuffer* pRpcChannelBuffer,
17969    PRPC_MESSAGE pRpcMessage,
17970    DWORD* pdwStubPhase);
17971HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get__NewEnum_Proxy(
17972    ISpeechGrammarRules* This,
17973    IUnknown **EnumVARIANT);
17974void __RPC_STUB ISpeechGrammarRules_get__NewEnum_Stub(
17975    IRpcStubBuffer* This,
17976    IRpcChannelBuffer* pRpcChannelBuffer,
17977    PRPC_MESSAGE pRpcMessage,
17978    DWORD* pdwStubPhase);
17979HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get_Dynamic_Proxy(
17980    ISpeechGrammarRules* This,
17981    VARIANT_BOOL *Dynamic);
17982void __RPC_STUB ISpeechGrammarRules_get_Dynamic_Stub(
17983    IRpcStubBuffer* This,
17984    IRpcChannelBuffer* pRpcChannelBuffer,
17985    PRPC_MESSAGE pRpcMessage,
17986    DWORD* pdwStubPhase);
17987HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Add_Proxy(
17988    ISpeechGrammarRules* This,
17989    BSTR RuleName,
17990    SpeechRuleAttributes Attributes,
17991    LONG RuleId,
17992    ISpeechGrammarRule **Rule);
17993void __RPC_STUB ISpeechGrammarRules_Add_Stub(
17994    IRpcStubBuffer* This,
17995    IRpcChannelBuffer* pRpcChannelBuffer,
17996    PRPC_MESSAGE pRpcMessage,
17997    DWORD* pdwStubPhase);
17998HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Commit_Proxy(
17999    ISpeechGrammarRules* This);
18000void __RPC_STUB ISpeechGrammarRules_Commit_Stub(
18001    IRpcStubBuffer* This,
18002    IRpcChannelBuffer* pRpcChannelBuffer,
18003    PRPC_MESSAGE pRpcMessage,
18004    DWORD* pdwStubPhase);
18005HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_CommitAndSave_Proxy(
18006    ISpeechGrammarRules* This,
18007    BSTR *ErrorText,
18008    VARIANT *SaveStream);
18009void __RPC_STUB ISpeechGrammarRules_CommitAndSave_Stub(
18010    IRpcStubBuffer* This,
18011    IRpcChannelBuffer* pRpcChannelBuffer,
18012    PRPC_MESSAGE pRpcMessage,
18013    DWORD* pdwStubPhase);
18014
18015#endif  /* __ISpeechGrammarRules_INTERFACE_DEFINED__ */
18016
18017/*****************************************************************************
18018 * ISpeechGrammarRuleState interface
18019 */
18020#ifndef __ISpeechGrammarRuleState_INTERFACE_DEFINED__
18021#define __ISpeechGrammarRuleState_INTERFACE_DEFINED__
18022
18023DEFINE_GUID(IID_ISpeechGrammarRuleState, 0xd4286f2c, 0xee67, 0x45ae, 0xb9,0x28, 0x28,0xd6,0x95,0x36,0x2e,0xda);
18024#if defined(__cplusplus) && !defined(CINTERFACE)
18025MIDL_INTERFACE("d4286f2c-ee67-45ae-b928-28d695362eda")
18026ISpeechGrammarRuleState : public IDispatch
18027{
18028    virtual HRESULT STDMETHODCALLTYPE get_Rule(
18029        ISpeechGrammarRule **Rule) = 0;
18030
18031    virtual HRESULT STDMETHODCALLTYPE get_Transitions(
18032        ISpeechGrammarRuleStateTransitions **Transitions) = 0;
18033
18034    virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
18035        ISpeechGrammarRuleState *DestState,
18036        const BSTR Words,
18037        const BSTR Separators = L" ",
18038        SpeechGrammarWordType Type = SGLexical,
18039        const BSTR PropertyName = L"",
18040        LONG PropertyId = 0,
18041        VARIANT *PropertyValue = 0,
18042        float Weight = 1) = 0;
18043
18044    virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
18045        ISpeechGrammarRuleState *DestinationState,
18046        ISpeechGrammarRule *Rule,
18047        const BSTR PropertyName = L"",
18048        LONG PropertyId = 0,
18049        VARIANT *PropertyValue = 0,
18050        float Weight = 1) = 0;
18051
18052    virtual HRESULT STDMETHODCALLTYPE AddSpecialTransition(
18053        ISpeechGrammarRuleState *DestinationState,
18054        SpeechSpecialTransitionType Type,
18055        const BSTR PropertyName = L"",
18056        LONG PropertyId = 0,
18057        VARIANT *PropertyValue = 0,
18058        float Weight = 1) = 0;
18059
18060};
18061#ifdef __CRT_UUID_DECL
18062__CRT_UUID_DECL(ISpeechGrammarRuleState, 0xd4286f2c, 0xee67, 0x45ae, 0xb9,0x28, 0x28,0xd6,0x95,0x36,0x2e,0xda)
18063#endif
18064#else
18065typedef struct ISpeechGrammarRuleStateVtbl {
18066    BEGIN_INTERFACE
18067
18068    /*** IUnknown methods ***/
18069    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18070        ISpeechGrammarRuleState* This,
18071        REFIID riid,
18072        void **ppvObject);
18073
18074    ULONG (STDMETHODCALLTYPE *AddRef)(
18075        ISpeechGrammarRuleState* This);
18076
18077    ULONG (STDMETHODCALLTYPE *Release)(
18078        ISpeechGrammarRuleState* This);
18079
18080    /*** IDispatch methods ***/
18081    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
18082        ISpeechGrammarRuleState* This,
18083        UINT *pctinfo);
18084
18085    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
18086        ISpeechGrammarRuleState* This,
18087        UINT iTInfo,
18088        LCID lcid,
18089        ITypeInfo **ppTInfo);
18090
18091    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
18092        ISpeechGrammarRuleState* This,
18093        REFIID riid,
18094        LPOLESTR *rgszNames,
18095        UINT cNames,
18096        LCID lcid,
18097        DISPID *rgDispId);
18098
18099    HRESULT (STDMETHODCALLTYPE *Invoke)(
18100        ISpeechGrammarRuleState* This,
18101        DISPID dispIdMember,
18102        REFIID riid,
18103        LCID lcid,
18104        WORD wFlags,
18105        DISPPARAMS *pDispParams,
18106        VARIANT *pVarResult,
18107        EXCEPINFO *pExcepInfo,
18108        UINT *puArgErr);
18109
18110    /*** ISpeechGrammarRuleState methods ***/
18111    HRESULT (STDMETHODCALLTYPE *get_Rule)(
18112        ISpeechGrammarRuleState* This,
18113        ISpeechGrammarRule **Rule);
18114
18115    HRESULT (STDMETHODCALLTYPE *get_Transitions)(
18116        ISpeechGrammarRuleState* This,
18117        ISpeechGrammarRuleStateTransitions **Transitions);
18118
18119    HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
18120        ISpeechGrammarRuleState* This,
18121        ISpeechGrammarRuleState *DestState,
18122        const BSTR Words,
18123        const BSTR Separators,
18124        SpeechGrammarWordType Type,
18125        const BSTR PropertyName,
18126        LONG PropertyId,
18127        VARIANT *PropertyValue,
18128        float Weight);
18129
18130    HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
18131        ISpeechGrammarRuleState* This,
18132        ISpeechGrammarRuleState *DestinationState,
18133        ISpeechGrammarRule *Rule,
18134        const BSTR PropertyName,
18135        LONG PropertyId,
18136        VARIANT *PropertyValue,
18137        float Weight);
18138
18139    HRESULT (STDMETHODCALLTYPE *AddSpecialTransition)(
18140        ISpeechGrammarRuleState* This,
18141        ISpeechGrammarRuleState *DestinationState,
18142        SpeechSpecialTransitionType Type,
18143        const BSTR PropertyName,
18144        LONG PropertyId,
18145        VARIANT *PropertyValue,
18146        float Weight);
18147
18148    END_INTERFACE
18149} ISpeechGrammarRuleStateVtbl;
18150interface ISpeechGrammarRuleState {
18151    CONST_VTBL ISpeechGrammarRuleStateVtbl* lpVtbl;
18152};
18153
18154#ifdef COBJMACROS
18155#ifndef WIDL_C_INLINE_WRAPPERS
18156/*** IUnknown methods ***/
18157#define ISpeechGrammarRuleState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18158#define ISpeechGrammarRuleState_AddRef(This) (This)->lpVtbl->AddRef(This)
18159#define ISpeechGrammarRuleState_Release(This) (This)->lpVtbl->Release(This)
18160/*** IDispatch methods ***/
18161#define ISpeechGrammarRuleState_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
18162#define ISpeechGrammarRuleState_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
18163#define ISpeechGrammarRuleState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
18164#define ISpeechGrammarRuleState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
18165/*** ISpeechGrammarRuleState methods ***/
18166#define ISpeechGrammarRuleState_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
18167#define ISpeechGrammarRuleState_get_Transitions(This,Transitions) (This)->lpVtbl->get_Transitions(This,Transitions)
18168#define ISpeechGrammarRuleState_AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight)
18169#define ISpeechGrammarRuleState_AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight)
18170#define ISpeechGrammarRuleState_AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight)
18171#else
18172/*** IUnknown methods ***/
18173static FORCEINLINE HRESULT ISpeechGrammarRuleState_QueryInterface(ISpeechGrammarRuleState* This,REFIID riid,void **ppvObject) {
18174    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18175}
18176static FORCEINLINE ULONG ISpeechGrammarRuleState_AddRef(ISpeechGrammarRuleState* This) {
18177    return This->lpVtbl->AddRef(This);
18178}
18179static FORCEINLINE ULONG ISpeechGrammarRuleState_Release(ISpeechGrammarRuleState* This) {
18180    return This->lpVtbl->Release(This);
18181}
18182/*** IDispatch methods ***/
18183static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetTypeInfoCount(ISpeechGrammarRuleState* This,UINT *pctinfo) {
18184    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
18185}
18186static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetTypeInfo(ISpeechGrammarRuleState* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
18187    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
18188}
18189static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetIDsOfNames(ISpeechGrammarRuleState* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
18190    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
18191}
18192static FORCEINLINE HRESULT ISpeechGrammarRuleState_Invoke(ISpeechGrammarRuleState* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
18193    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
18194}
18195/*** ISpeechGrammarRuleState methods ***/
18196static FORCEINLINE HRESULT ISpeechGrammarRuleState_get_Rule(ISpeechGrammarRuleState* This,ISpeechGrammarRule **Rule) {
18197    return This->lpVtbl->get_Rule(This,Rule);
18198}
18199static FORCEINLINE HRESULT ISpeechGrammarRuleState_get_Transitions(ISpeechGrammarRuleState* This,ISpeechGrammarRuleStateTransitions **Transitions) {
18200    return This->lpVtbl->get_Transitions(This,Transitions);
18201}
18202static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddWordTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestState,const BSTR Words,const BSTR Separators,SpeechGrammarWordType Type,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
18203    return This->lpVtbl->AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight);
18204}
18205static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddRuleTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestinationState,ISpeechGrammarRule *Rule,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
18206    return This->lpVtbl->AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight);
18207}
18208static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddSpecialTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestinationState,SpeechSpecialTransitionType Type,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
18209    return This->lpVtbl->AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight);
18210}
18211#endif
18212#endif
18213
18214#endif
18215
18216HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_get_Rule_Proxy(
18217    ISpeechGrammarRuleState* This,
18218    ISpeechGrammarRule **Rule);
18219void __RPC_STUB ISpeechGrammarRuleState_get_Rule_Stub(
18220    IRpcStubBuffer* This,
18221    IRpcChannelBuffer* pRpcChannelBuffer,
18222    PRPC_MESSAGE pRpcMessage,
18223    DWORD* pdwStubPhase);
18224HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_get_Transitions_Proxy(
18225    ISpeechGrammarRuleState* This,
18226    ISpeechGrammarRuleStateTransitions **Transitions);
18227void __RPC_STUB ISpeechGrammarRuleState_get_Transitions_Stub(
18228    IRpcStubBuffer* This,
18229    IRpcChannelBuffer* pRpcChannelBuffer,
18230    PRPC_MESSAGE pRpcMessage,
18231    DWORD* pdwStubPhase);
18232HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddWordTransition_Proxy(
18233    ISpeechGrammarRuleState* This,
18234    ISpeechGrammarRuleState *DestState,
18235    const BSTR Words,
18236    const BSTR Separators,
18237    SpeechGrammarWordType Type,
18238    const BSTR PropertyName,
18239    LONG PropertyId,
18240    VARIANT *PropertyValue,
18241    float Weight);
18242void __RPC_STUB ISpeechGrammarRuleState_AddWordTransition_Stub(
18243    IRpcStubBuffer* This,
18244    IRpcChannelBuffer* pRpcChannelBuffer,
18245    PRPC_MESSAGE pRpcMessage,
18246    DWORD* pdwStubPhase);
18247HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddRuleTransition_Proxy(
18248    ISpeechGrammarRuleState* This,
18249    ISpeechGrammarRuleState *DestinationState,
18250    ISpeechGrammarRule *Rule,
18251    const BSTR PropertyName,
18252    LONG PropertyId,
18253    VARIANT *PropertyValue,
18254    float Weight);
18255void __RPC_STUB ISpeechGrammarRuleState_AddRuleTransition_Stub(
18256    IRpcStubBuffer* This,
18257    IRpcChannelBuffer* pRpcChannelBuffer,
18258    PRPC_MESSAGE pRpcMessage,
18259    DWORD* pdwStubPhase);
18260HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddSpecialTransition_Proxy(
18261    ISpeechGrammarRuleState* This,
18262    ISpeechGrammarRuleState *DestinationState,
18263    SpeechSpecialTransitionType Type,
18264    const BSTR PropertyName,
18265    LONG PropertyId,
18266    VARIANT *PropertyValue,
18267    float Weight);
18268void __RPC_STUB ISpeechGrammarRuleState_AddSpecialTransition_Stub(
18269    IRpcStubBuffer* This,
18270    IRpcChannelBuffer* pRpcChannelBuffer,
18271    PRPC_MESSAGE pRpcMessage,
18272    DWORD* pdwStubPhase);
18273
18274#endif  /* __ISpeechGrammarRuleState_INTERFACE_DEFINED__ */
18275
18276/*****************************************************************************
18277 * ISpeechGrammarRuleStateTransitions interface
18278 */
18279#ifndef __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
18280#define __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
18281
18282DEFINE_GUID(IID_ISpeechGrammarRuleStateTransitions, 0xeabce657, 0x75bc, 0x44a2, 0xaa,0x7f, 0xc5,0x64,0x76,0x74,0x29,0x63);
18283#if defined(__cplusplus) && !defined(CINTERFACE)
18284MIDL_INTERFACE("eabce657-75bc-44a2-aa7f-c56476742963")
18285ISpeechGrammarRuleStateTransitions : public IDispatch
18286{
18287    virtual HRESULT STDMETHODCALLTYPE get_Count(
18288        LONG *Count) = 0;
18289
18290    virtual HRESULT STDMETHODCALLTYPE Item(
18291        LONG Index,
18292        ISpeechGrammarRuleStateTransition **Transition) = 0;
18293
18294    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
18295        IUnknown **EnumVARIANT) = 0;
18296
18297};
18298#ifdef __CRT_UUID_DECL
18299__CRT_UUID_DECL(ISpeechGrammarRuleStateTransitions, 0xeabce657, 0x75bc, 0x44a2, 0xaa,0x7f, 0xc5,0x64,0x76,0x74,0x29,0x63)
18300#endif
18301#else
18302typedef struct ISpeechGrammarRuleStateTransitionsVtbl {
18303    BEGIN_INTERFACE
18304
18305    /*** IUnknown methods ***/
18306    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18307        ISpeechGrammarRuleStateTransitions* This,
18308        REFIID riid,
18309        void **ppvObject);
18310
18311    ULONG (STDMETHODCALLTYPE *AddRef)(
18312        ISpeechGrammarRuleStateTransitions* This);
18313
18314    ULONG (STDMETHODCALLTYPE *Release)(
18315        ISpeechGrammarRuleStateTransitions* This);
18316
18317    /*** IDispatch methods ***/
18318    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
18319        ISpeechGrammarRuleStateTransitions* This,
18320        UINT *pctinfo);
18321
18322    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
18323        ISpeechGrammarRuleStateTransitions* This,
18324        UINT iTInfo,
18325        LCID lcid,
18326        ITypeInfo **ppTInfo);
18327
18328    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
18329        ISpeechGrammarRuleStateTransitions* This,
18330        REFIID riid,
18331        LPOLESTR *rgszNames,
18332        UINT cNames,
18333        LCID lcid,
18334        DISPID *rgDispId);
18335
18336    HRESULT (STDMETHODCALLTYPE *Invoke)(
18337        ISpeechGrammarRuleStateTransitions* This,
18338        DISPID dispIdMember,
18339        REFIID riid,
18340        LCID lcid,
18341        WORD wFlags,
18342        DISPPARAMS *pDispParams,
18343        VARIANT *pVarResult,
18344        EXCEPINFO *pExcepInfo,
18345        UINT *puArgErr);
18346
18347    /*** ISpeechGrammarRuleStateTransitions methods ***/
18348    HRESULT (STDMETHODCALLTYPE *get_Count)(
18349        ISpeechGrammarRuleStateTransitions* This,
18350        LONG *Count);
18351
18352    HRESULT (STDMETHODCALLTYPE *Item)(
18353        ISpeechGrammarRuleStateTransitions* This,
18354        LONG Index,
18355        ISpeechGrammarRuleStateTransition **Transition);
18356
18357    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
18358        ISpeechGrammarRuleStateTransitions* This,
18359        IUnknown **EnumVARIANT);
18360
18361    END_INTERFACE
18362} ISpeechGrammarRuleStateTransitionsVtbl;
18363interface ISpeechGrammarRuleStateTransitions {
18364    CONST_VTBL ISpeechGrammarRuleStateTransitionsVtbl* lpVtbl;
18365};
18366
18367#ifdef COBJMACROS
18368#ifndef WIDL_C_INLINE_WRAPPERS
18369/*** IUnknown methods ***/
18370#define ISpeechGrammarRuleStateTransitions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18371#define ISpeechGrammarRuleStateTransitions_AddRef(This) (This)->lpVtbl->AddRef(This)
18372#define ISpeechGrammarRuleStateTransitions_Release(This) (This)->lpVtbl->Release(This)
18373/*** IDispatch methods ***/
18374#define ISpeechGrammarRuleStateTransitions_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
18375#define ISpeechGrammarRuleStateTransitions_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
18376#define ISpeechGrammarRuleStateTransitions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
18377#define ISpeechGrammarRuleStateTransitions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
18378/*** ISpeechGrammarRuleStateTransitions methods ***/
18379#define ISpeechGrammarRuleStateTransitions_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
18380#define ISpeechGrammarRuleStateTransitions_Item(This,Index,Transition) (This)->lpVtbl->Item(This,Index,Transition)
18381#define ISpeechGrammarRuleStateTransitions_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
18382#else
18383/*** IUnknown methods ***/
18384static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_QueryInterface(ISpeechGrammarRuleStateTransitions* This,REFIID riid,void **ppvObject) {
18385    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18386}
18387static FORCEINLINE ULONG ISpeechGrammarRuleStateTransitions_AddRef(ISpeechGrammarRuleStateTransitions* This) {
18388    return This->lpVtbl->AddRef(This);
18389}
18390static FORCEINLINE ULONG ISpeechGrammarRuleStateTransitions_Release(ISpeechGrammarRuleStateTransitions* This) {
18391    return This->lpVtbl->Release(This);
18392}
18393/*** IDispatch methods ***/
18394static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetTypeInfoCount(ISpeechGrammarRuleStateTransitions* This,UINT *pctinfo) {
18395    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
18396}
18397static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetTypeInfo(ISpeechGrammarRuleStateTransitions* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
18398    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
18399}
18400static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetIDsOfNames(ISpeechGrammarRuleStateTransitions* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
18401    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
18402}
18403static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_Invoke(ISpeechGrammarRuleStateTransitions* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
18404    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
18405}
18406/*** ISpeechGrammarRuleStateTransitions methods ***/
18407static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_get_Count(ISpeechGrammarRuleStateTransitions* This,LONG *Count) {
18408    return This->lpVtbl->get_Count(This,Count);
18409}
18410static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_Item(ISpeechGrammarRuleStateTransitions* This,LONG Index,ISpeechGrammarRuleStateTransition **Transition) {
18411    return This->lpVtbl->Item(This,Index,Transition);
18412}
18413static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_get__NewEnum(ISpeechGrammarRuleStateTransitions* This,IUnknown **EnumVARIANT) {
18414    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
18415}
18416#endif
18417#endif
18418
18419#endif
18420
18421HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_get_Count_Proxy(
18422    ISpeechGrammarRuleStateTransitions* This,
18423    LONG *Count);
18424void __RPC_STUB ISpeechGrammarRuleStateTransitions_get_Count_Stub(
18425    IRpcStubBuffer* This,
18426    IRpcChannelBuffer* pRpcChannelBuffer,
18427    PRPC_MESSAGE pRpcMessage,
18428    DWORD* pdwStubPhase);
18429HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_Item_Proxy(
18430    ISpeechGrammarRuleStateTransitions* This,
18431    LONG Index,
18432    ISpeechGrammarRuleStateTransition **Transition);
18433void __RPC_STUB ISpeechGrammarRuleStateTransitions_Item_Stub(
18434    IRpcStubBuffer* This,
18435    IRpcChannelBuffer* pRpcChannelBuffer,
18436    PRPC_MESSAGE pRpcMessage,
18437    DWORD* pdwStubPhase);
18438HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_get__NewEnum_Proxy(
18439    ISpeechGrammarRuleStateTransitions* This,
18440    IUnknown **EnumVARIANT);
18441void __RPC_STUB ISpeechGrammarRuleStateTransitions_get__NewEnum_Stub(
18442    IRpcStubBuffer* This,
18443    IRpcChannelBuffer* pRpcChannelBuffer,
18444    PRPC_MESSAGE pRpcMessage,
18445    DWORD* pdwStubPhase);
18446
18447#endif  /* __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__ */
18448
18449/*****************************************************************************
18450 * ISpeechGrammarRuleStateTransition interface
18451 */
18452#ifndef __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
18453#define __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
18454
18455DEFINE_GUID(IID_ISpeechGrammarRuleStateTransition, 0xcafd1db1, 0x41d1, 0x4a06, 0x98,0x63, 0xe2,0xe8,0x1d,0xa1,0x7a,0x9a);
18456#if defined(__cplusplus) && !defined(CINTERFACE)
18457MIDL_INTERFACE("cafd1db1-41d1-4a06-9863-e2e81da17a9a")
18458ISpeechGrammarRuleStateTransition : public IDispatch
18459{
18460    virtual HRESULT STDMETHODCALLTYPE get_Type(
18461        SpeechGrammarRuleStateTransitionType *Type) = 0;
18462
18463    virtual HRESULT STDMETHODCALLTYPE get_Text(
18464        BSTR *Text) = 0;
18465
18466    virtual HRESULT STDMETHODCALLTYPE get_Rule(
18467        ISpeechGrammarRule **Rule) = 0;
18468
18469    virtual HRESULT STDMETHODCALLTYPE get_Weight(
18470        VARIANT *Weight) = 0;
18471
18472    virtual HRESULT STDMETHODCALLTYPE get_PropertyName(
18473        BSTR *PropertyName) = 0;
18474
18475    virtual HRESULT STDMETHODCALLTYPE get_PropertyId(
18476        LONG *PropertyId) = 0;
18477
18478    virtual HRESULT STDMETHODCALLTYPE get_PropertyValue(
18479        VARIANT *PropertyValue) = 0;
18480
18481    virtual HRESULT STDMETHODCALLTYPE get_NextState(
18482        ISpeechGrammarRuleState **NextState) = 0;
18483
18484};
18485#ifdef __CRT_UUID_DECL
18486__CRT_UUID_DECL(ISpeechGrammarRuleStateTransition, 0xcafd1db1, 0x41d1, 0x4a06, 0x98,0x63, 0xe2,0xe8,0x1d,0xa1,0x7a,0x9a)
18487#endif
18488#else
18489typedef struct ISpeechGrammarRuleStateTransitionVtbl {
18490    BEGIN_INTERFACE
18491
18492    /*** IUnknown methods ***/
18493    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18494        ISpeechGrammarRuleStateTransition* This,
18495        REFIID riid,
18496        void **ppvObject);
18497
18498    ULONG (STDMETHODCALLTYPE *AddRef)(
18499        ISpeechGrammarRuleStateTransition* This);
18500
18501    ULONG (STDMETHODCALLTYPE *Release)(
18502        ISpeechGrammarRuleStateTransition* This);
18503
18504    /*** IDispatch methods ***/
18505    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
18506        ISpeechGrammarRuleStateTransition* This,
18507        UINT *pctinfo);
18508
18509    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
18510        ISpeechGrammarRuleStateTransition* This,
18511        UINT iTInfo,
18512        LCID lcid,
18513        ITypeInfo **ppTInfo);
18514
18515    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
18516        ISpeechGrammarRuleStateTransition* This,
18517        REFIID riid,
18518        LPOLESTR *rgszNames,
18519        UINT cNames,
18520        LCID lcid,
18521        DISPID *rgDispId);
18522
18523    HRESULT (STDMETHODCALLTYPE *Invoke)(
18524        ISpeechGrammarRuleStateTransition* This,
18525        DISPID dispIdMember,
18526        REFIID riid,
18527        LCID lcid,
18528        WORD wFlags,
18529        DISPPARAMS *pDispParams,
18530        VARIANT *pVarResult,
18531        EXCEPINFO *pExcepInfo,
18532        UINT *puArgErr);
18533
18534    /*** ISpeechGrammarRuleStateTransition methods ***/
18535    HRESULT (STDMETHODCALLTYPE *get_Type)(
18536        ISpeechGrammarRuleStateTransition* This,
18537        SpeechGrammarRuleStateTransitionType *Type);
18538
18539    HRESULT (STDMETHODCALLTYPE *get_Text)(
18540        ISpeechGrammarRuleStateTransition* This,
18541        BSTR *Text);
18542
18543    HRESULT (STDMETHODCALLTYPE *get_Rule)(
18544        ISpeechGrammarRuleStateTransition* This,
18545        ISpeechGrammarRule **Rule);
18546
18547    HRESULT (STDMETHODCALLTYPE *get_Weight)(
18548        ISpeechGrammarRuleStateTransition* This,
18549        VARIANT *Weight);
18550
18551    HRESULT (STDMETHODCALLTYPE *get_PropertyName)(
18552        ISpeechGrammarRuleStateTransition* This,
18553        BSTR *PropertyName);
18554
18555    HRESULT (STDMETHODCALLTYPE *get_PropertyId)(
18556        ISpeechGrammarRuleStateTransition* This,
18557        LONG *PropertyId);
18558
18559    HRESULT (STDMETHODCALLTYPE *get_PropertyValue)(
18560        ISpeechGrammarRuleStateTransition* This,
18561        VARIANT *PropertyValue);
18562
18563    HRESULT (STDMETHODCALLTYPE *get_NextState)(
18564        ISpeechGrammarRuleStateTransition* This,
18565        ISpeechGrammarRuleState **NextState);
18566
18567    END_INTERFACE
18568} ISpeechGrammarRuleStateTransitionVtbl;
18569interface ISpeechGrammarRuleStateTransition {
18570    CONST_VTBL ISpeechGrammarRuleStateTransitionVtbl* lpVtbl;
18571};
18572
18573#ifdef COBJMACROS
18574#ifndef WIDL_C_INLINE_WRAPPERS
18575/*** IUnknown methods ***/
18576#define ISpeechGrammarRuleStateTransition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18577#define ISpeechGrammarRuleStateTransition_AddRef(This) (This)->lpVtbl->AddRef(This)
18578#define ISpeechGrammarRuleStateTransition_Release(This) (This)->lpVtbl->Release(This)
18579/*** IDispatch methods ***/
18580#define ISpeechGrammarRuleStateTransition_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
18581#define ISpeechGrammarRuleStateTransition_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
18582#define ISpeechGrammarRuleStateTransition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
18583#define ISpeechGrammarRuleStateTransition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
18584/*** ISpeechGrammarRuleStateTransition methods ***/
18585#define ISpeechGrammarRuleStateTransition_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
18586#define ISpeechGrammarRuleStateTransition_get_Text(This,Text) (This)->lpVtbl->get_Text(This,Text)
18587#define ISpeechGrammarRuleStateTransition_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
18588#define ISpeechGrammarRuleStateTransition_get_Weight(This,Weight) (This)->lpVtbl->get_Weight(This,Weight)
18589#define ISpeechGrammarRuleStateTransition_get_PropertyName(This,PropertyName) (This)->lpVtbl->get_PropertyName(This,PropertyName)
18590#define ISpeechGrammarRuleStateTransition_get_PropertyId(This,PropertyId) (This)->lpVtbl->get_PropertyId(This,PropertyId)
18591#define ISpeechGrammarRuleStateTransition_get_PropertyValue(This,PropertyValue) (This)->lpVtbl->get_PropertyValue(This,PropertyValue)
18592#define ISpeechGrammarRuleStateTransition_get_NextState(This,NextState) (This)->lpVtbl->get_NextState(This,NextState)
18593#else
18594/*** IUnknown methods ***/
18595static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_QueryInterface(ISpeechGrammarRuleStateTransition* This,REFIID riid,void **ppvObject) {
18596    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18597}
18598static FORCEINLINE ULONG ISpeechGrammarRuleStateTransition_AddRef(ISpeechGrammarRuleStateTransition* This) {
18599    return This->lpVtbl->AddRef(This);
18600}
18601static FORCEINLINE ULONG ISpeechGrammarRuleStateTransition_Release(ISpeechGrammarRuleStateTransition* This) {
18602    return This->lpVtbl->Release(This);
18603}
18604/*** IDispatch methods ***/
18605static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetTypeInfoCount(ISpeechGrammarRuleStateTransition* This,UINT *pctinfo) {
18606    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
18607}
18608static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetTypeInfo(ISpeechGrammarRuleStateTransition* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
18609    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
18610}
18611static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetIDsOfNames(ISpeechGrammarRuleStateTransition* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
18612    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
18613}
18614static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_Invoke(ISpeechGrammarRuleStateTransition* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
18615    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
18616}
18617/*** ISpeechGrammarRuleStateTransition methods ***/
18618static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Type(ISpeechGrammarRuleStateTransition* This,SpeechGrammarRuleStateTransitionType *Type) {
18619    return This->lpVtbl->get_Type(This,Type);
18620}
18621static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Text(ISpeechGrammarRuleStateTransition* This,BSTR *Text) {
18622    return This->lpVtbl->get_Text(This,Text);
18623}
18624static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Rule(ISpeechGrammarRuleStateTransition* This,ISpeechGrammarRule **Rule) {
18625    return This->lpVtbl->get_Rule(This,Rule);
18626}
18627static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Weight(ISpeechGrammarRuleStateTransition* This,VARIANT *Weight) {
18628    return This->lpVtbl->get_Weight(This,Weight);
18629}
18630static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyName(ISpeechGrammarRuleStateTransition* This,BSTR *PropertyName) {
18631    return This->lpVtbl->get_PropertyName(This,PropertyName);
18632}
18633static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyId(ISpeechGrammarRuleStateTransition* This,LONG *PropertyId) {
18634    return This->lpVtbl->get_PropertyId(This,PropertyId);
18635}
18636static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyValue(ISpeechGrammarRuleStateTransition* This,VARIANT *PropertyValue) {
18637    return This->lpVtbl->get_PropertyValue(This,PropertyValue);
18638}
18639static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_NextState(ISpeechGrammarRuleStateTransition* This,ISpeechGrammarRuleState **NextState) {
18640    return This->lpVtbl->get_NextState(This,NextState);
18641}
18642#endif
18643#endif
18644
18645#endif
18646
18647HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Type_Proxy(
18648    ISpeechGrammarRuleStateTransition* This,
18649    SpeechGrammarRuleStateTransitionType *Type);
18650void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Type_Stub(
18651    IRpcStubBuffer* This,
18652    IRpcChannelBuffer* pRpcChannelBuffer,
18653    PRPC_MESSAGE pRpcMessage,
18654    DWORD* pdwStubPhase);
18655HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Text_Proxy(
18656    ISpeechGrammarRuleStateTransition* This,
18657    BSTR *Text);
18658void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Text_Stub(
18659    IRpcStubBuffer* This,
18660    IRpcChannelBuffer* pRpcChannelBuffer,
18661    PRPC_MESSAGE pRpcMessage,
18662    DWORD* pdwStubPhase);
18663HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Rule_Proxy(
18664    ISpeechGrammarRuleStateTransition* This,
18665    ISpeechGrammarRule **Rule);
18666void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Rule_Stub(
18667    IRpcStubBuffer* This,
18668    IRpcChannelBuffer* pRpcChannelBuffer,
18669    PRPC_MESSAGE pRpcMessage,
18670    DWORD* pdwStubPhase);
18671HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Weight_Proxy(
18672    ISpeechGrammarRuleStateTransition* This,
18673    VARIANT *Weight);
18674void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Weight_Stub(
18675    IRpcStubBuffer* This,
18676    IRpcChannelBuffer* pRpcChannelBuffer,
18677    PRPC_MESSAGE pRpcMessage,
18678    DWORD* pdwStubPhase);
18679HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyName_Proxy(
18680    ISpeechGrammarRuleStateTransition* This,
18681    BSTR *PropertyName);
18682void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyName_Stub(
18683    IRpcStubBuffer* This,
18684    IRpcChannelBuffer* pRpcChannelBuffer,
18685    PRPC_MESSAGE pRpcMessage,
18686    DWORD* pdwStubPhase);
18687HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyId_Proxy(
18688    ISpeechGrammarRuleStateTransition* This,
18689    LONG *PropertyId);
18690void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyId_Stub(
18691    IRpcStubBuffer* This,
18692    IRpcChannelBuffer* pRpcChannelBuffer,
18693    PRPC_MESSAGE pRpcMessage,
18694    DWORD* pdwStubPhase);
18695HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyValue_Proxy(
18696    ISpeechGrammarRuleStateTransition* This,
18697    VARIANT *PropertyValue);
18698void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyValue_Stub(
18699    IRpcStubBuffer* This,
18700    IRpcChannelBuffer* pRpcChannelBuffer,
18701    PRPC_MESSAGE pRpcMessage,
18702    DWORD* pdwStubPhase);
18703HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_NextState_Proxy(
18704    ISpeechGrammarRuleStateTransition* This,
18705    ISpeechGrammarRuleState **NextState);
18706void __RPC_STUB ISpeechGrammarRuleStateTransition_get_NextState_Stub(
18707    IRpcStubBuffer* This,
18708    IRpcChannelBuffer* pRpcChannelBuffer,
18709    PRPC_MESSAGE pRpcMessage,
18710    DWORD* pdwStubPhase);
18711
18712#endif  /* __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__ */
18713
18714/*****************************************************************************
18715 * ISpeechTextSelectionInformation interface
18716 */
18717#ifndef __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
18718#define __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
18719
18720DEFINE_GUID(IID_ISpeechTextSelectionInformation, 0x3b9c7e7a, 0x6eee, 0x4ded, 0x90,0x92, 0x11,0x65,0x72,0x79,0xad,0xbe);
18721#if defined(__cplusplus) && !defined(CINTERFACE)
18722MIDL_INTERFACE("3b9c7e7a-6eee-4ded-9092-11657279adbe")
18723ISpeechTextSelectionInformation : public IDispatch
18724{
18725    virtual HRESULT STDMETHODCALLTYPE put_ActiveOffset(
18726        LONG ActiveOffset) = 0;
18727
18728    virtual HRESULT STDMETHODCALLTYPE get_ActiveOffset(
18729        LONG *ActiveOffset) = 0;
18730
18731    virtual HRESULT STDMETHODCALLTYPE put_ActiveLength(
18732        LONG ActiveLength) = 0;
18733
18734    virtual HRESULT STDMETHODCALLTYPE get_ActiveLength(
18735        LONG *ActiveLength) = 0;
18736
18737    virtual HRESULT STDMETHODCALLTYPE put_SelectionOffset(
18738        LONG SelectionOffset) = 0;
18739
18740    virtual HRESULT STDMETHODCALLTYPE get_SelectionOffset(
18741        LONG *SelectionOffset) = 0;
18742
18743    virtual HRESULT STDMETHODCALLTYPE put_SelectionLength(
18744        LONG SelectionLength) = 0;
18745
18746    virtual HRESULT STDMETHODCALLTYPE get_SelectionLength(
18747        LONG *SelectionLength) = 0;
18748
18749};
18750#ifdef __CRT_UUID_DECL
18751__CRT_UUID_DECL(ISpeechTextSelectionInformation, 0x3b9c7e7a, 0x6eee, 0x4ded, 0x90,0x92, 0x11,0x65,0x72,0x79,0xad,0xbe)
18752#endif
18753#else
18754typedef struct ISpeechTextSelectionInformationVtbl {
18755    BEGIN_INTERFACE
18756
18757    /*** IUnknown methods ***/
18758    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
18759        ISpeechTextSelectionInformation* This,
18760        REFIID riid,
18761        void **ppvObject);
18762
18763    ULONG (STDMETHODCALLTYPE *AddRef)(
18764        ISpeechTextSelectionInformation* This);
18765
18766    ULONG (STDMETHODCALLTYPE *Release)(
18767        ISpeechTextSelectionInformation* This);
18768
18769    /*** IDispatch methods ***/
18770    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
18771        ISpeechTextSelectionInformation* This,
18772        UINT *pctinfo);
18773
18774    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
18775        ISpeechTextSelectionInformation* This,
18776        UINT iTInfo,
18777        LCID lcid,
18778        ITypeInfo **ppTInfo);
18779
18780    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
18781        ISpeechTextSelectionInformation* This,
18782        REFIID riid,
18783        LPOLESTR *rgszNames,
18784        UINT cNames,
18785        LCID lcid,
18786        DISPID *rgDispId);
18787
18788    HRESULT (STDMETHODCALLTYPE *Invoke)(
18789        ISpeechTextSelectionInformation* This,
18790        DISPID dispIdMember,
18791        REFIID riid,
18792        LCID lcid,
18793        WORD wFlags,
18794        DISPPARAMS *pDispParams,
18795        VARIANT *pVarResult,
18796        EXCEPINFO *pExcepInfo,
18797        UINT *puArgErr);
18798
18799    /*** ISpeechTextSelectionInformation methods ***/
18800    HRESULT (STDMETHODCALLTYPE *put_ActiveOffset)(
18801        ISpeechTextSelectionInformation* This,
18802        LONG ActiveOffset);
18803
18804    HRESULT (STDMETHODCALLTYPE *get_ActiveOffset)(
18805        ISpeechTextSelectionInformation* This,
18806        LONG *ActiveOffset);
18807
18808    HRESULT (STDMETHODCALLTYPE *put_ActiveLength)(
18809        ISpeechTextSelectionInformation* This,
18810        LONG ActiveLength);
18811
18812    HRESULT (STDMETHODCALLTYPE *get_ActiveLength)(
18813        ISpeechTextSelectionInformation* This,
18814        LONG *ActiveLength);
18815
18816    HRESULT (STDMETHODCALLTYPE *put_SelectionOffset)(
18817        ISpeechTextSelectionInformation* This,
18818        LONG SelectionOffset);
18819
18820    HRESULT (STDMETHODCALLTYPE *get_SelectionOffset)(
18821        ISpeechTextSelectionInformation* This,
18822        LONG *SelectionOffset);
18823
18824    HRESULT (STDMETHODCALLTYPE *put_SelectionLength)(
18825        ISpeechTextSelectionInformation* This,
18826        LONG SelectionLength);
18827
18828    HRESULT (STDMETHODCALLTYPE *get_SelectionLength)(
18829        ISpeechTextSelectionInformation* This,
18830        LONG *SelectionLength);
18831
18832    END_INTERFACE
18833} ISpeechTextSelectionInformationVtbl;
18834interface ISpeechTextSelectionInformation {
18835    CONST_VTBL ISpeechTextSelectionInformationVtbl* lpVtbl;
18836};
18837
18838#ifdef COBJMACROS
18839#ifndef WIDL_C_INLINE_WRAPPERS
18840/*** IUnknown methods ***/
18841#define ISpeechTextSelectionInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
18842#define ISpeechTextSelectionInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
18843#define ISpeechTextSelectionInformation_Release(This) (This)->lpVtbl->Release(This)
18844/*** IDispatch methods ***/
18845#define ISpeechTextSelectionInformation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
18846#define ISpeechTextSelectionInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
18847#define ISpeechTextSelectionInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
18848#define ISpeechTextSelectionInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
18849/*** ISpeechTextSelectionInformation methods ***/
18850#define ISpeechTextSelectionInformation_put_ActiveOffset(This,ActiveOffset) (This)->lpVtbl->put_ActiveOffset(This,ActiveOffset)
18851#define ISpeechTextSelectionInformation_get_ActiveOffset(This,ActiveOffset) (This)->lpVtbl->get_ActiveOffset(This,ActiveOffset)
18852#define ISpeechTextSelectionInformation_put_ActiveLength(This,ActiveLength) (This)->lpVtbl->put_ActiveLength(This,ActiveLength)
18853#define ISpeechTextSelectionInformation_get_ActiveLength(This,ActiveLength) (This)->lpVtbl->get_ActiveLength(This,ActiveLength)
18854#define ISpeechTextSelectionInformation_put_SelectionOffset(This,SelectionOffset) (This)->lpVtbl->put_SelectionOffset(This,SelectionOffset)
18855#define ISpeechTextSelectionInformation_get_SelectionOffset(This,SelectionOffset) (This)->lpVtbl->get_SelectionOffset(This,SelectionOffset)
18856#define ISpeechTextSelectionInformation_put_SelectionLength(This,SelectionLength) (This)->lpVtbl->put_SelectionLength(This,SelectionLength)
18857#define ISpeechTextSelectionInformation_get_SelectionLength(This,SelectionLength) (This)->lpVtbl->get_SelectionLength(This,SelectionLength)
18858#else
18859/*** IUnknown methods ***/
18860static FORCEINLINE HRESULT ISpeechTextSelectionInformation_QueryInterface(ISpeechTextSelectionInformation* This,REFIID riid,void **ppvObject) {
18861    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
18862}
18863static FORCEINLINE ULONG ISpeechTextSelectionInformation_AddRef(ISpeechTextSelectionInformation* This) {
18864    return This->lpVtbl->AddRef(This);
18865}
18866static FORCEINLINE ULONG ISpeechTextSelectionInformation_Release(ISpeechTextSelectionInformation* This) {
18867    return This->lpVtbl->Release(This);
18868}
18869/*** IDispatch methods ***/
18870static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetTypeInfoCount(ISpeechTextSelectionInformation* This,UINT *pctinfo) {
18871    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
18872}
18873static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetTypeInfo(ISpeechTextSelectionInformation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
18874    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
18875}
18876static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetIDsOfNames(ISpeechTextSelectionInformation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
18877    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
18878}
18879static FORCEINLINE HRESULT ISpeechTextSelectionInformation_Invoke(ISpeechTextSelectionInformation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
18880    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
18881}
18882/*** ISpeechTextSelectionInformation methods ***/
18883static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_ActiveOffset(ISpeechTextSelectionInformation* This,LONG ActiveOffset) {
18884    return This->lpVtbl->put_ActiveOffset(This,ActiveOffset);
18885}
18886static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_ActiveOffset(ISpeechTextSelectionInformation* This,LONG *ActiveOffset) {
18887    return This->lpVtbl->get_ActiveOffset(This,ActiveOffset);
18888}
18889static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_ActiveLength(ISpeechTextSelectionInformation* This,LONG ActiveLength) {
18890    return This->lpVtbl->put_ActiveLength(This,ActiveLength);
18891}
18892static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_ActiveLength(ISpeechTextSelectionInformation* This,LONG *ActiveLength) {
18893    return This->lpVtbl->get_ActiveLength(This,ActiveLength);
18894}
18895static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_SelectionOffset(ISpeechTextSelectionInformation* This,LONG SelectionOffset) {
18896    return This->lpVtbl->put_SelectionOffset(This,SelectionOffset);
18897}
18898static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_SelectionOffset(ISpeechTextSelectionInformation* This,LONG *SelectionOffset) {
18899    return This->lpVtbl->get_SelectionOffset(This,SelectionOffset);
18900}
18901static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_SelectionLength(ISpeechTextSelectionInformation* This,LONG SelectionLength) {
18902    return This->lpVtbl->put_SelectionLength(This,SelectionLength);
18903}
18904static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_SelectionLength(ISpeechTextSelectionInformation* This,LONG *SelectionLength) {
18905    return This->lpVtbl->get_SelectionLength(This,SelectionLength);
18906}
18907#endif
18908#endif
18909
18910#endif
18911
18912HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_ActiveOffset_Proxy(
18913    ISpeechTextSelectionInformation* This,
18914    LONG ActiveOffset);
18915void __RPC_STUB ISpeechTextSelectionInformation_put_ActiveOffset_Stub(
18916    IRpcStubBuffer* This,
18917    IRpcChannelBuffer* pRpcChannelBuffer,
18918    PRPC_MESSAGE pRpcMessage,
18919    DWORD* pdwStubPhase);
18920HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_ActiveOffset_Proxy(
18921    ISpeechTextSelectionInformation* This,
18922    LONG *ActiveOffset);
18923void __RPC_STUB ISpeechTextSelectionInformation_get_ActiveOffset_Stub(
18924    IRpcStubBuffer* This,
18925    IRpcChannelBuffer* pRpcChannelBuffer,
18926    PRPC_MESSAGE pRpcMessage,
18927    DWORD* pdwStubPhase);
18928HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_ActiveLength_Proxy(
18929    ISpeechTextSelectionInformation* This,
18930    LONG ActiveLength);
18931void __RPC_STUB ISpeechTextSelectionInformation_put_ActiveLength_Stub(
18932    IRpcStubBuffer* This,
18933    IRpcChannelBuffer* pRpcChannelBuffer,
18934    PRPC_MESSAGE pRpcMessage,
18935    DWORD* pdwStubPhase);
18936HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_ActiveLength_Proxy(
18937    ISpeechTextSelectionInformation* This,
18938    LONG *ActiveLength);
18939void __RPC_STUB ISpeechTextSelectionInformation_get_ActiveLength_Stub(
18940    IRpcStubBuffer* This,
18941    IRpcChannelBuffer* pRpcChannelBuffer,
18942    PRPC_MESSAGE pRpcMessage,
18943    DWORD* pdwStubPhase);
18944HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_SelectionOffset_Proxy(
18945    ISpeechTextSelectionInformation* This,
18946    LONG SelectionOffset);
18947void __RPC_STUB ISpeechTextSelectionInformation_put_SelectionOffset_Stub(
18948    IRpcStubBuffer* This,
18949    IRpcChannelBuffer* pRpcChannelBuffer,
18950    PRPC_MESSAGE pRpcMessage,
18951    DWORD* pdwStubPhase);
18952HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_SelectionOffset_Proxy(
18953    ISpeechTextSelectionInformation* This,
18954    LONG *SelectionOffset);
18955void __RPC_STUB ISpeechTextSelectionInformation_get_SelectionOffset_Stub(
18956    IRpcStubBuffer* This,
18957    IRpcChannelBuffer* pRpcChannelBuffer,
18958    PRPC_MESSAGE pRpcMessage,
18959    DWORD* pdwStubPhase);
18960HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_SelectionLength_Proxy(
18961    ISpeechTextSelectionInformation* This,
18962    LONG SelectionLength);
18963void __RPC_STUB ISpeechTextSelectionInformation_put_SelectionLength_Stub(
18964    IRpcStubBuffer* This,
18965    IRpcChannelBuffer* pRpcChannelBuffer,
18966    PRPC_MESSAGE pRpcMessage,
18967    DWORD* pdwStubPhase);
18968HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_SelectionLength_Proxy(
18969    ISpeechTextSelectionInformation* This,
18970    LONG *SelectionLength);
18971void __RPC_STUB ISpeechTextSelectionInformation_get_SelectionLength_Stub(
18972    IRpcStubBuffer* This,
18973    IRpcChannelBuffer* pRpcChannelBuffer,
18974    PRPC_MESSAGE pRpcMessage,
18975    DWORD* pdwStubPhase);
18976
18977#endif  /* __ISpeechTextSelectionInformation_INTERFACE_DEFINED__ */
18978
18979/*****************************************************************************
18980 * ISpeechRecoResult interface
18981 */
18982#ifndef __ISpeechRecoResult_INTERFACE_DEFINED__
18983#define __ISpeechRecoResult_INTERFACE_DEFINED__
18984
18985DEFINE_GUID(IID_ISpeechRecoResult, 0xed2879cf, 0xced9, 0x4ee6, 0xa5,0x34, 0xde,0x01,0x91,0xd5,0x46,0x8d);
18986#if defined(__cplusplus) && !defined(CINTERFACE)
18987MIDL_INTERFACE("ed2879cf-ced9-4ee6-a534-de0191d5468d")
18988ISpeechRecoResult : public IDispatch
18989{
18990    virtual HRESULT STDMETHODCALLTYPE get_RecoContext(
18991        ISpeechRecoContext **RecoContext) = 0;
18992
18993    virtual HRESULT STDMETHODCALLTYPE get_Times(
18994        ISpeechRecoResultTimes **Times) = 0;
18995
18996    virtual HRESULT STDMETHODCALLTYPE putref_AudioFormat(
18997        ISpeechAudioFormat *Format) = 0;
18998
18999    virtual HRESULT STDMETHODCALLTYPE get_AudioFormat(
19000        ISpeechAudioFormat **Format) = 0;
19001
19002    virtual HRESULT STDMETHODCALLTYPE get_PhraseInfo(
19003        ISpeechPhraseInfo **PhraseInfo) = 0;
19004
19005    virtual HRESULT STDMETHODCALLTYPE Alternates(
19006        LONG RequestCount,
19007        LONG StartElement,
19008        LONG Elements,
19009        ISpeechPhraseAlternates **Alternates) = 0;
19010
19011    virtual HRESULT STDMETHODCALLTYPE Audio(
19012        LONG StartElement,
19013        LONG Elements,
19014        ISpeechMemoryStream **Stream) = 0;
19015
19016    virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
19017        LONG StartElement,
19018        LONG Elements,
19019        SpeechVoiceSpeakFlags Flags,
19020        LONG *StreamNumber) = 0;
19021
19022    virtual HRESULT STDMETHODCALLTYPE SaveToMemory(
19023        VARIANT *ResultBlock) = 0;
19024
19025    virtual HRESULT STDMETHODCALLTYPE DiscardResultInfo(
19026        SpeechDiscardType ValueTypes) = 0;
19027
19028};
19029#ifdef __CRT_UUID_DECL
19030__CRT_UUID_DECL(ISpeechRecoResult, 0xed2879cf, 0xced9, 0x4ee6, 0xa5,0x34, 0xde,0x01,0x91,0xd5,0x46,0x8d)
19031#endif
19032#else
19033typedef struct ISpeechRecoResultVtbl {
19034    BEGIN_INTERFACE
19035
19036    /*** IUnknown methods ***/
19037    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19038        ISpeechRecoResult* This,
19039        REFIID riid,
19040        void **ppvObject);
19041
19042    ULONG (STDMETHODCALLTYPE *AddRef)(
19043        ISpeechRecoResult* This);
19044
19045    ULONG (STDMETHODCALLTYPE *Release)(
19046        ISpeechRecoResult* This);
19047
19048    /*** IDispatch methods ***/
19049    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
19050        ISpeechRecoResult* This,
19051        UINT *pctinfo);
19052
19053    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
19054        ISpeechRecoResult* This,
19055        UINT iTInfo,
19056        LCID lcid,
19057        ITypeInfo **ppTInfo);
19058
19059    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
19060        ISpeechRecoResult* This,
19061        REFIID riid,
19062        LPOLESTR *rgszNames,
19063        UINT cNames,
19064        LCID lcid,
19065        DISPID *rgDispId);
19066
19067    HRESULT (STDMETHODCALLTYPE *Invoke)(
19068        ISpeechRecoResult* This,
19069        DISPID dispIdMember,
19070        REFIID riid,
19071        LCID lcid,
19072        WORD wFlags,
19073        DISPPARAMS *pDispParams,
19074        VARIANT *pVarResult,
19075        EXCEPINFO *pExcepInfo,
19076        UINT *puArgErr);
19077
19078    /*** ISpeechRecoResult methods ***/
19079    HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
19080        ISpeechRecoResult* This,
19081        ISpeechRecoContext **RecoContext);
19082
19083    HRESULT (STDMETHODCALLTYPE *get_Times)(
19084        ISpeechRecoResult* This,
19085        ISpeechRecoResultTimes **Times);
19086
19087    HRESULT (STDMETHODCALLTYPE *putref_AudioFormat)(
19088        ISpeechRecoResult* This,
19089        ISpeechAudioFormat *Format);
19090
19091    HRESULT (STDMETHODCALLTYPE *get_AudioFormat)(
19092        ISpeechRecoResult* This,
19093        ISpeechAudioFormat **Format);
19094
19095    HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
19096        ISpeechRecoResult* This,
19097        ISpeechPhraseInfo **PhraseInfo);
19098
19099    HRESULT (STDMETHODCALLTYPE *Alternates)(
19100        ISpeechRecoResult* This,
19101        LONG RequestCount,
19102        LONG StartElement,
19103        LONG Elements,
19104        ISpeechPhraseAlternates **Alternates);
19105
19106    HRESULT (STDMETHODCALLTYPE *Audio)(
19107        ISpeechRecoResult* This,
19108        LONG StartElement,
19109        LONG Elements,
19110        ISpeechMemoryStream **Stream);
19111
19112    HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
19113        ISpeechRecoResult* This,
19114        LONG StartElement,
19115        LONG Elements,
19116        SpeechVoiceSpeakFlags Flags,
19117        LONG *StreamNumber);
19118
19119    HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
19120        ISpeechRecoResult* This,
19121        VARIANT *ResultBlock);
19122
19123    HRESULT (STDMETHODCALLTYPE *DiscardResultInfo)(
19124        ISpeechRecoResult* This,
19125        SpeechDiscardType ValueTypes);
19126
19127    END_INTERFACE
19128} ISpeechRecoResultVtbl;
19129interface ISpeechRecoResult {
19130    CONST_VTBL ISpeechRecoResultVtbl* lpVtbl;
19131};
19132
19133#ifdef COBJMACROS
19134#ifndef WIDL_C_INLINE_WRAPPERS
19135/*** IUnknown methods ***/
19136#define ISpeechRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19137#define ISpeechRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
19138#define ISpeechRecoResult_Release(This) (This)->lpVtbl->Release(This)
19139/*** IDispatch methods ***/
19140#define ISpeechRecoResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
19141#define ISpeechRecoResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19142#define ISpeechRecoResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19143#define ISpeechRecoResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19144/*** ISpeechRecoResult methods ***/
19145#define ISpeechRecoResult_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
19146#define ISpeechRecoResult_get_Times(This,Times) (This)->lpVtbl->get_Times(This,Times)
19147#define ISpeechRecoResult_putref_AudioFormat(This,Format) (This)->lpVtbl->putref_AudioFormat(This,Format)
19148#define ISpeechRecoResult_get_AudioFormat(This,Format) (This)->lpVtbl->get_AudioFormat(This,Format)
19149#define ISpeechRecoResult_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
19150#define ISpeechRecoResult_Alternates(This,RequestCount,StartElement,Elements,Alternates) (This)->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates)
19151#define ISpeechRecoResult_Audio(This,StartElement,Elements,Stream) (This)->lpVtbl->Audio(This,StartElement,Elements,Stream)
19152#define ISpeechRecoResult_SpeakAudio(This,StartElement,Elements,Flags,StreamNumber) (This)->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
19153#define ISpeechRecoResult_SaveToMemory(This,ResultBlock) (This)->lpVtbl->SaveToMemory(This,ResultBlock)
19154#define ISpeechRecoResult_DiscardResultInfo(This,ValueTypes) (This)->lpVtbl->DiscardResultInfo(This,ValueTypes)
19155#else
19156/*** IUnknown methods ***/
19157static FORCEINLINE HRESULT ISpeechRecoResult_QueryInterface(ISpeechRecoResult* This,REFIID riid,void **ppvObject) {
19158    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19159}
19160static FORCEINLINE ULONG ISpeechRecoResult_AddRef(ISpeechRecoResult* This) {
19161    return This->lpVtbl->AddRef(This);
19162}
19163static FORCEINLINE ULONG ISpeechRecoResult_Release(ISpeechRecoResult* This) {
19164    return This->lpVtbl->Release(This);
19165}
19166/*** IDispatch methods ***/
19167static FORCEINLINE HRESULT ISpeechRecoResult_GetTypeInfoCount(ISpeechRecoResult* This,UINT *pctinfo) {
19168    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
19169}
19170static FORCEINLINE HRESULT ISpeechRecoResult_GetTypeInfo(ISpeechRecoResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
19171    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
19172}
19173static FORCEINLINE HRESULT ISpeechRecoResult_GetIDsOfNames(ISpeechRecoResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
19174    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
19175}
19176static FORCEINLINE HRESULT ISpeechRecoResult_Invoke(ISpeechRecoResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
19177    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
19178}
19179/*** ISpeechRecoResult methods ***/
19180static FORCEINLINE HRESULT ISpeechRecoResult_get_RecoContext(ISpeechRecoResult* This,ISpeechRecoContext **RecoContext) {
19181    return This->lpVtbl->get_RecoContext(This,RecoContext);
19182}
19183static FORCEINLINE HRESULT ISpeechRecoResult_get_Times(ISpeechRecoResult* This,ISpeechRecoResultTimes **Times) {
19184    return This->lpVtbl->get_Times(This,Times);
19185}
19186static FORCEINLINE HRESULT ISpeechRecoResult_putref_AudioFormat(ISpeechRecoResult* This,ISpeechAudioFormat *Format) {
19187    return This->lpVtbl->putref_AudioFormat(This,Format);
19188}
19189static FORCEINLINE HRESULT ISpeechRecoResult_get_AudioFormat(ISpeechRecoResult* This,ISpeechAudioFormat **Format) {
19190    return This->lpVtbl->get_AudioFormat(This,Format);
19191}
19192static FORCEINLINE HRESULT ISpeechRecoResult_get_PhraseInfo(ISpeechRecoResult* This,ISpeechPhraseInfo **PhraseInfo) {
19193    return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
19194}
19195static FORCEINLINE HRESULT ISpeechRecoResult_Alternates(ISpeechRecoResult* This,LONG RequestCount,LONG StartElement,LONG Elements,ISpeechPhraseAlternates **Alternates) {
19196    return This->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates);
19197}
19198static FORCEINLINE HRESULT ISpeechRecoResult_Audio(ISpeechRecoResult* This,LONG StartElement,LONG Elements,ISpeechMemoryStream **Stream) {
19199    return This->lpVtbl->Audio(This,StartElement,Elements,Stream);
19200}
19201static FORCEINLINE HRESULT ISpeechRecoResult_SpeakAudio(ISpeechRecoResult* This,LONG StartElement,LONG Elements,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
19202    return This->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber);
19203}
19204static FORCEINLINE HRESULT ISpeechRecoResult_SaveToMemory(ISpeechRecoResult* This,VARIANT *ResultBlock) {
19205    return This->lpVtbl->SaveToMemory(This,ResultBlock);
19206}
19207static FORCEINLINE HRESULT ISpeechRecoResult_DiscardResultInfo(ISpeechRecoResult* This,SpeechDiscardType ValueTypes) {
19208    return This->lpVtbl->DiscardResultInfo(This,ValueTypes);
19209}
19210#endif
19211#endif
19212
19213#endif
19214
19215HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_RecoContext_Proxy(
19216    ISpeechRecoResult* This,
19217    ISpeechRecoContext **RecoContext);
19218void __RPC_STUB ISpeechRecoResult_get_RecoContext_Stub(
19219    IRpcStubBuffer* This,
19220    IRpcChannelBuffer* pRpcChannelBuffer,
19221    PRPC_MESSAGE pRpcMessage,
19222    DWORD* pdwStubPhase);
19223HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_Times_Proxy(
19224    ISpeechRecoResult* This,
19225    ISpeechRecoResultTimes **Times);
19226void __RPC_STUB ISpeechRecoResult_get_Times_Stub(
19227    IRpcStubBuffer* This,
19228    IRpcChannelBuffer* pRpcChannelBuffer,
19229    PRPC_MESSAGE pRpcMessage,
19230    DWORD* pdwStubPhase);
19231HRESULT STDMETHODCALLTYPE ISpeechRecoResult_putref_AudioFormat_Proxy(
19232    ISpeechRecoResult* This,
19233    ISpeechAudioFormat *Format);
19234void __RPC_STUB ISpeechRecoResult_putref_AudioFormat_Stub(
19235    IRpcStubBuffer* This,
19236    IRpcChannelBuffer* pRpcChannelBuffer,
19237    PRPC_MESSAGE pRpcMessage,
19238    DWORD* pdwStubPhase);
19239HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_AudioFormat_Proxy(
19240    ISpeechRecoResult* This,
19241    ISpeechAudioFormat **Format);
19242void __RPC_STUB ISpeechRecoResult_get_AudioFormat_Stub(
19243    IRpcStubBuffer* This,
19244    IRpcChannelBuffer* pRpcChannelBuffer,
19245    PRPC_MESSAGE pRpcMessage,
19246    DWORD* pdwStubPhase);
19247HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_PhraseInfo_Proxy(
19248    ISpeechRecoResult* This,
19249    ISpeechPhraseInfo **PhraseInfo);
19250void __RPC_STUB ISpeechRecoResult_get_PhraseInfo_Stub(
19251    IRpcStubBuffer* This,
19252    IRpcChannelBuffer* pRpcChannelBuffer,
19253    PRPC_MESSAGE pRpcMessage,
19254    DWORD* pdwStubPhase);
19255HRESULT STDMETHODCALLTYPE ISpeechRecoResult_Alternates_Proxy(
19256    ISpeechRecoResult* This,
19257    LONG RequestCount,
19258    LONG StartElement,
19259    LONG Elements,
19260    ISpeechPhraseAlternates **Alternates);
19261void __RPC_STUB ISpeechRecoResult_Alternates_Stub(
19262    IRpcStubBuffer* This,
19263    IRpcChannelBuffer* pRpcChannelBuffer,
19264    PRPC_MESSAGE pRpcMessage,
19265    DWORD* pdwStubPhase);
19266HRESULT STDMETHODCALLTYPE ISpeechRecoResult_Audio_Proxy(
19267    ISpeechRecoResult* This,
19268    LONG StartElement,
19269    LONG Elements,
19270    ISpeechMemoryStream **Stream);
19271void __RPC_STUB ISpeechRecoResult_Audio_Stub(
19272    IRpcStubBuffer* This,
19273    IRpcChannelBuffer* pRpcChannelBuffer,
19274    PRPC_MESSAGE pRpcMessage,
19275    DWORD* pdwStubPhase);
19276HRESULT STDMETHODCALLTYPE ISpeechRecoResult_SpeakAudio_Proxy(
19277    ISpeechRecoResult* This,
19278    LONG StartElement,
19279    LONG Elements,
19280    SpeechVoiceSpeakFlags Flags,
19281    LONG *StreamNumber);
19282void __RPC_STUB ISpeechRecoResult_SpeakAudio_Stub(
19283    IRpcStubBuffer* This,
19284    IRpcChannelBuffer* pRpcChannelBuffer,
19285    PRPC_MESSAGE pRpcMessage,
19286    DWORD* pdwStubPhase);
19287HRESULT STDMETHODCALLTYPE ISpeechRecoResult_SaveToMemory_Proxy(
19288    ISpeechRecoResult* This,
19289    VARIANT *ResultBlock);
19290void __RPC_STUB ISpeechRecoResult_SaveToMemory_Stub(
19291    IRpcStubBuffer* This,
19292    IRpcChannelBuffer* pRpcChannelBuffer,
19293    PRPC_MESSAGE pRpcMessage,
19294    DWORD* pdwStubPhase);
19295HRESULT STDMETHODCALLTYPE ISpeechRecoResult_DiscardResultInfo_Proxy(
19296    ISpeechRecoResult* This,
19297    SpeechDiscardType ValueTypes);
19298void __RPC_STUB ISpeechRecoResult_DiscardResultInfo_Stub(
19299    IRpcStubBuffer* This,
19300    IRpcChannelBuffer* pRpcChannelBuffer,
19301    PRPC_MESSAGE pRpcMessage,
19302    DWORD* pdwStubPhase);
19303
19304#endif  /* __ISpeechRecoResult_INTERFACE_DEFINED__ */
19305
19306/*****************************************************************************
19307 * ISpeechPhraseInfoBuilder interface
19308 */
19309#ifndef __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__
19310#define __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__
19311
19312DEFINE_GUID(IID_ISpeechPhraseInfoBuilder, 0x3b151836, 0xdf3a, 0x4e0a, 0x84,0x6c, 0xd2,0xad,0xc9,0x33,0x43,0x33);
19313#if defined(__cplusplus) && !defined(CINTERFACE)
19314MIDL_INTERFACE("3b151836-df3a-4e0a-846c-d2adc9334333")
19315ISpeechPhraseInfoBuilder : public IDispatch
19316{
19317    virtual HRESULT STDMETHODCALLTYPE RestorePhraseFromMemory(
19318        VARIANT *PhraseInMemory,
19319        ISpeechPhraseInfo **PhraseInfo) = 0;
19320
19321};
19322#ifdef __CRT_UUID_DECL
19323__CRT_UUID_DECL(ISpeechPhraseInfoBuilder, 0x3b151836, 0xdf3a, 0x4e0a, 0x84,0x6c, 0xd2,0xad,0xc9,0x33,0x43,0x33)
19324#endif
19325#else
19326typedef struct ISpeechPhraseInfoBuilderVtbl {
19327    BEGIN_INTERFACE
19328
19329    /*** IUnknown methods ***/
19330    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19331        ISpeechPhraseInfoBuilder* This,
19332        REFIID riid,
19333        void **ppvObject);
19334
19335    ULONG (STDMETHODCALLTYPE *AddRef)(
19336        ISpeechPhraseInfoBuilder* This);
19337
19338    ULONG (STDMETHODCALLTYPE *Release)(
19339        ISpeechPhraseInfoBuilder* This);
19340
19341    /*** IDispatch methods ***/
19342    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
19343        ISpeechPhraseInfoBuilder* This,
19344        UINT *pctinfo);
19345
19346    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
19347        ISpeechPhraseInfoBuilder* This,
19348        UINT iTInfo,
19349        LCID lcid,
19350        ITypeInfo **ppTInfo);
19351
19352    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
19353        ISpeechPhraseInfoBuilder* This,
19354        REFIID riid,
19355        LPOLESTR *rgszNames,
19356        UINT cNames,
19357        LCID lcid,
19358        DISPID *rgDispId);
19359
19360    HRESULT (STDMETHODCALLTYPE *Invoke)(
19361        ISpeechPhraseInfoBuilder* This,
19362        DISPID dispIdMember,
19363        REFIID riid,
19364        LCID lcid,
19365        WORD wFlags,
19366        DISPPARAMS *pDispParams,
19367        VARIANT *pVarResult,
19368        EXCEPINFO *pExcepInfo,
19369        UINT *puArgErr);
19370
19371    /*** ISpeechPhraseInfoBuilder methods ***/
19372    HRESULT (STDMETHODCALLTYPE *RestorePhraseFromMemory)(
19373        ISpeechPhraseInfoBuilder* This,
19374        VARIANT *PhraseInMemory,
19375        ISpeechPhraseInfo **PhraseInfo);
19376
19377    END_INTERFACE
19378} ISpeechPhraseInfoBuilderVtbl;
19379interface ISpeechPhraseInfoBuilder {
19380    CONST_VTBL ISpeechPhraseInfoBuilderVtbl* lpVtbl;
19381};
19382
19383#ifdef COBJMACROS
19384#ifndef WIDL_C_INLINE_WRAPPERS
19385/*** IUnknown methods ***/
19386#define ISpeechPhraseInfoBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19387#define ISpeechPhraseInfoBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
19388#define ISpeechPhraseInfoBuilder_Release(This) (This)->lpVtbl->Release(This)
19389/*** IDispatch methods ***/
19390#define ISpeechPhraseInfoBuilder_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
19391#define ISpeechPhraseInfoBuilder_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19392#define ISpeechPhraseInfoBuilder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19393#define ISpeechPhraseInfoBuilder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19394/*** ISpeechPhraseInfoBuilder methods ***/
19395#define ISpeechPhraseInfoBuilder_RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo) (This)->lpVtbl->RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo)
19396#else
19397/*** IUnknown methods ***/
19398static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_QueryInterface(ISpeechPhraseInfoBuilder* This,REFIID riid,void **ppvObject) {
19399    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19400}
19401static FORCEINLINE ULONG ISpeechPhraseInfoBuilder_AddRef(ISpeechPhraseInfoBuilder* This) {
19402    return This->lpVtbl->AddRef(This);
19403}
19404static FORCEINLINE ULONG ISpeechPhraseInfoBuilder_Release(ISpeechPhraseInfoBuilder* This) {
19405    return This->lpVtbl->Release(This);
19406}
19407/*** IDispatch methods ***/
19408static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetTypeInfoCount(ISpeechPhraseInfoBuilder* This,UINT *pctinfo) {
19409    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
19410}
19411static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetTypeInfo(ISpeechPhraseInfoBuilder* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
19412    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
19413}
19414static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetIDsOfNames(ISpeechPhraseInfoBuilder* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
19415    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
19416}
19417static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_Invoke(ISpeechPhraseInfoBuilder* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
19418    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
19419}
19420/*** ISpeechPhraseInfoBuilder methods ***/
19421static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_RestorePhraseFromMemory(ISpeechPhraseInfoBuilder* This,VARIANT *PhraseInMemory,ISpeechPhraseInfo **PhraseInfo) {
19422    return This->lpVtbl->RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo);
19423}
19424#endif
19425#endif
19426
19427#endif
19428
19429HRESULT STDMETHODCALLTYPE ISpeechPhraseInfoBuilder_RestorePhraseFromMemory_Proxy(
19430    ISpeechPhraseInfoBuilder* This,
19431    VARIANT *PhraseInMemory,
19432    ISpeechPhraseInfo **PhraseInfo);
19433void __RPC_STUB ISpeechPhraseInfoBuilder_RestorePhraseFromMemory_Stub(
19434    IRpcStubBuffer* This,
19435    IRpcChannelBuffer* pRpcChannelBuffer,
19436    PRPC_MESSAGE pRpcMessage,
19437    DWORD* pdwStubPhase);
19438
19439#endif  /* __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__ */
19440
19441/*****************************************************************************
19442 * ISpeechRecoResultTimes interface
19443 */
19444#ifndef __ISpeechRecoResultTimes_INTERFACE_DEFINED__
19445#define __ISpeechRecoResultTimes_INTERFACE_DEFINED__
19446
19447DEFINE_GUID(IID_ISpeechRecoResultTimes, 0x62b3b8fb, 0xf6e7, 0x41be, 0xbd,0xcb, 0x05,0x6b,0x1c,0x29,0xef,0xc0);
19448#if defined(__cplusplus) && !defined(CINTERFACE)
19449MIDL_INTERFACE("62b3b8fb-f6e7-41be-bdcb-056b1c29efc0")
19450ISpeechRecoResultTimes : public IDispatch
19451{
19452    virtual HRESULT STDMETHODCALLTYPE get_StreamTime(
19453        VARIANT *Time) = 0;
19454
19455    virtual HRESULT STDMETHODCALLTYPE get_Length(
19456        VARIANT *Length) = 0;
19457
19458    virtual HRESULT STDMETHODCALLTYPE get_TickCount(
19459        LONG *TickCount) = 0;
19460
19461    virtual HRESULT STDMETHODCALLTYPE get_OffsetFromStart(
19462        VARIANT *OffsetFromStart) = 0;
19463
19464};
19465#ifdef __CRT_UUID_DECL
19466__CRT_UUID_DECL(ISpeechRecoResultTimes, 0x62b3b8fb, 0xf6e7, 0x41be, 0xbd,0xcb, 0x05,0x6b,0x1c,0x29,0xef,0xc0)
19467#endif
19468#else
19469typedef struct ISpeechRecoResultTimesVtbl {
19470    BEGIN_INTERFACE
19471
19472    /*** IUnknown methods ***/
19473    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19474        ISpeechRecoResultTimes* This,
19475        REFIID riid,
19476        void **ppvObject);
19477
19478    ULONG (STDMETHODCALLTYPE *AddRef)(
19479        ISpeechRecoResultTimes* This);
19480
19481    ULONG (STDMETHODCALLTYPE *Release)(
19482        ISpeechRecoResultTimes* This);
19483
19484    /*** IDispatch methods ***/
19485    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
19486        ISpeechRecoResultTimes* This,
19487        UINT *pctinfo);
19488
19489    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
19490        ISpeechRecoResultTimes* This,
19491        UINT iTInfo,
19492        LCID lcid,
19493        ITypeInfo **ppTInfo);
19494
19495    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
19496        ISpeechRecoResultTimes* This,
19497        REFIID riid,
19498        LPOLESTR *rgszNames,
19499        UINT cNames,
19500        LCID lcid,
19501        DISPID *rgDispId);
19502
19503    HRESULT (STDMETHODCALLTYPE *Invoke)(
19504        ISpeechRecoResultTimes* This,
19505        DISPID dispIdMember,
19506        REFIID riid,
19507        LCID lcid,
19508        WORD wFlags,
19509        DISPPARAMS *pDispParams,
19510        VARIANT *pVarResult,
19511        EXCEPINFO *pExcepInfo,
19512        UINT *puArgErr);
19513
19514    /*** ISpeechRecoResultTimes methods ***/
19515    HRESULT (STDMETHODCALLTYPE *get_StreamTime)(
19516        ISpeechRecoResultTimes* This,
19517        VARIANT *Time);
19518
19519    HRESULT (STDMETHODCALLTYPE *get_Length)(
19520        ISpeechRecoResultTimes* This,
19521        VARIANT *Length);
19522
19523    HRESULT (STDMETHODCALLTYPE *get_TickCount)(
19524        ISpeechRecoResultTimes* This,
19525        LONG *TickCount);
19526
19527    HRESULT (STDMETHODCALLTYPE *get_OffsetFromStart)(
19528        ISpeechRecoResultTimes* This,
19529        VARIANT *OffsetFromStart);
19530
19531    END_INTERFACE
19532} ISpeechRecoResultTimesVtbl;
19533interface ISpeechRecoResultTimes {
19534    CONST_VTBL ISpeechRecoResultTimesVtbl* lpVtbl;
19535};
19536
19537#ifdef COBJMACROS
19538#ifndef WIDL_C_INLINE_WRAPPERS
19539/*** IUnknown methods ***/
19540#define ISpeechRecoResultTimes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19541#define ISpeechRecoResultTimes_AddRef(This) (This)->lpVtbl->AddRef(This)
19542#define ISpeechRecoResultTimes_Release(This) (This)->lpVtbl->Release(This)
19543/*** IDispatch methods ***/
19544#define ISpeechRecoResultTimes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
19545#define ISpeechRecoResultTimes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19546#define ISpeechRecoResultTimes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19547#define ISpeechRecoResultTimes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19548/*** ISpeechRecoResultTimes methods ***/
19549#define ISpeechRecoResultTimes_get_StreamTime(This,Time) (This)->lpVtbl->get_StreamTime(This,Time)
19550#define ISpeechRecoResultTimes_get_Length(This,Length) (This)->lpVtbl->get_Length(This,Length)
19551#define ISpeechRecoResultTimes_get_TickCount(This,TickCount) (This)->lpVtbl->get_TickCount(This,TickCount)
19552#define ISpeechRecoResultTimes_get_OffsetFromStart(This,OffsetFromStart) (This)->lpVtbl->get_OffsetFromStart(This,OffsetFromStart)
19553#else
19554/*** IUnknown methods ***/
19555static FORCEINLINE HRESULT ISpeechRecoResultTimes_QueryInterface(ISpeechRecoResultTimes* This,REFIID riid,void **ppvObject) {
19556    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19557}
19558static FORCEINLINE ULONG ISpeechRecoResultTimes_AddRef(ISpeechRecoResultTimes* This) {
19559    return This->lpVtbl->AddRef(This);
19560}
19561static FORCEINLINE ULONG ISpeechRecoResultTimes_Release(ISpeechRecoResultTimes* This) {
19562    return This->lpVtbl->Release(This);
19563}
19564/*** IDispatch methods ***/
19565static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetTypeInfoCount(ISpeechRecoResultTimes* This,UINT *pctinfo) {
19566    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
19567}
19568static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetTypeInfo(ISpeechRecoResultTimes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
19569    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
19570}
19571static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetIDsOfNames(ISpeechRecoResultTimes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
19572    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
19573}
19574static FORCEINLINE HRESULT ISpeechRecoResultTimes_Invoke(ISpeechRecoResultTimes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
19575    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
19576}
19577/*** ISpeechRecoResultTimes methods ***/
19578static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_StreamTime(ISpeechRecoResultTimes* This,VARIANT *Time) {
19579    return This->lpVtbl->get_StreamTime(This,Time);
19580}
19581static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_Length(ISpeechRecoResultTimes* This,VARIANT *Length) {
19582    return This->lpVtbl->get_Length(This,Length);
19583}
19584static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_TickCount(ISpeechRecoResultTimes* This,LONG *TickCount) {
19585    return This->lpVtbl->get_TickCount(This,TickCount);
19586}
19587static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_OffsetFromStart(ISpeechRecoResultTimes* This,VARIANT *OffsetFromStart) {
19588    return This->lpVtbl->get_OffsetFromStart(This,OffsetFromStart);
19589}
19590#endif
19591#endif
19592
19593#endif
19594
19595HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_StreamTime_Proxy(
19596    ISpeechRecoResultTimes* This,
19597    VARIANT *Time);
19598void __RPC_STUB ISpeechRecoResultTimes_get_StreamTime_Stub(
19599    IRpcStubBuffer* This,
19600    IRpcChannelBuffer* pRpcChannelBuffer,
19601    PRPC_MESSAGE pRpcMessage,
19602    DWORD* pdwStubPhase);
19603HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_Length_Proxy(
19604    ISpeechRecoResultTimes* This,
19605    VARIANT *Length);
19606void __RPC_STUB ISpeechRecoResultTimes_get_Length_Stub(
19607    IRpcStubBuffer* This,
19608    IRpcChannelBuffer* pRpcChannelBuffer,
19609    PRPC_MESSAGE pRpcMessage,
19610    DWORD* pdwStubPhase);
19611HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_TickCount_Proxy(
19612    ISpeechRecoResultTimes* This,
19613    LONG *TickCount);
19614void __RPC_STUB ISpeechRecoResultTimes_get_TickCount_Stub(
19615    IRpcStubBuffer* This,
19616    IRpcChannelBuffer* pRpcChannelBuffer,
19617    PRPC_MESSAGE pRpcMessage,
19618    DWORD* pdwStubPhase);
19619HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_OffsetFromStart_Proxy(
19620    ISpeechRecoResultTimes* This,
19621    VARIANT *OffsetFromStart);
19622void __RPC_STUB ISpeechRecoResultTimes_get_OffsetFromStart_Stub(
19623    IRpcStubBuffer* This,
19624    IRpcChannelBuffer* pRpcChannelBuffer,
19625    PRPC_MESSAGE pRpcMessage,
19626    DWORD* pdwStubPhase);
19627
19628#endif  /* __ISpeechRecoResultTimes_INTERFACE_DEFINED__ */
19629
19630/*****************************************************************************
19631 * ISpeechPhraseAlternate interface
19632 */
19633#ifndef __ISpeechPhraseAlternate_INTERFACE_DEFINED__
19634#define __ISpeechPhraseAlternate_INTERFACE_DEFINED__
19635
19636DEFINE_GUID(IID_ISpeechPhraseAlternate, 0x27864a2a, 0x2b9f, 0x4cb8, 0x92,0xd3, 0x0d,0x27,0x22,0xfd,0x1e,0x73);
19637#if defined(__cplusplus) && !defined(CINTERFACE)
19638MIDL_INTERFACE("27864a2a-2b9f-4cb8-92d3-0d2722fd1e73")
19639ISpeechPhraseAlternate : public IDispatch
19640{
19641    virtual HRESULT STDMETHODCALLTYPE get_RecoResult(
19642        ISpeechRecoResult **RecoResult) = 0;
19643
19644    virtual HRESULT STDMETHODCALLTYPE get_StartElementInResult(
19645        LONG *StartElement) = 0;
19646
19647    virtual HRESULT STDMETHODCALLTYPE get_NumberOfElementsInResult(
19648        LONG *NumberOfElements) = 0;
19649
19650    virtual HRESULT STDMETHODCALLTYPE get_PhraseInfo(
19651        ISpeechPhraseInfo **PhraseInfo) = 0;
19652
19653    virtual HRESULT STDMETHODCALLTYPE Commit(
19654        ) = 0;
19655
19656};
19657#ifdef __CRT_UUID_DECL
19658__CRT_UUID_DECL(ISpeechPhraseAlternate, 0x27864a2a, 0x2b9f, 0x4cb8, 0x92,0xd3, 0x0d,0x27,0x22,0xfd,0x1e,0x73)
19659#endif
19660#else
19661typedef struct ISpeechPhraseAlternateVtbl {
19662    BEGIN_INTERFACE
19663
19664    /*** IUnknown methods ***/
19665    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19666        ISpeechPhraseAlternate* This,
19667        REFIID riid,
19668        void **ppvObject);
19669
19670    ULONG (STDMETHODCALLTYPE *AddRef)(
19671        ISpeechPhraseAlternate* This);
19672
19673    ULONG (STDMETHODCALLTYPE *Release)(
19674        ISpeechPhraseAlternate* This);
19675
19676    /*** IDispatch methods ***/
19677    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
19678        ISpeechPhraseAlternate* This,
19679        UINT *pctinfo);
19680
19681    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
19682        ISpeechPhraseAlternate* This,
19683        UINT iTInfo,
19684        LCID lcid,
19685        ITypeInfo **ppTInfo);
19686
19687    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
19688        ISpeechPhraseAlternate* This,
19689        REFIID riid,
19690        LPOLESTR *rgszNames,
19691        UINT cNames,
19692        LCID lcid,
19693        DISPID *rgDispId);
19694
19695    HRESULT (STDMETHODCALLTYPE *Invoke)(
19696        ISpeechPhraseAlternate* This,
19697        DISPID dispIdMember,
19698        REFIID riid,
19699        LCID lcid,
19700        WORD wFlags,
19701        DISPPARAMS *pDispParams,
19702        VARIANT *pVarResult,
19703        EXCEPINFO *pExcepInfo,
19704        UINT *puArgErr);
19705
19706    /*** ISpeechPhraseAlternate methods ***/
19707    HRESULT (STDMETHODCALLTYPE *get_RecoResult)(
19708        ISpeechPhraseAlternate* This,
19709        ISpeechRecoResult **RecoResult);
19710
19711    HRESULT (STDMETHODCALLTYPE *get_StartElementInResult)(
19712        ISpeechPhraseAlternate* This,
19713        LONG *StartElement);
19714
19715    HRESULT (STDMETHODCALLTYPE *get_NumberOfElementsInResult)(
19716        ISpeechPhraseAlternate* This,
19717        LONG *NumberOfElements);
19718
19719    HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
19720        ISpeechPhraseAlternate* This,
19721        ISpeechPhraseInfo **PhraseInfo);
19722
19723    HRESULT (STDMETHODCALLTYPE *Commit)(
19724        ISpeechPhraseAlternate* This);
19725
19726    END_INTERFACE
19727} ISpeechPhraseAlternateVtbl;
19728interface ISpeechPhraseAlternate {
19729    CONST_VTBL ISpeechPhraseAlternateVtbl* lpVtbl;
19730};
19731
19732#ifdef COBJMACROS
19733#ifndef WIDL_C_INLINE_WRAPPERS
19734/*** IUnknown methods ***/
19735#define ISpeechPhraseAlternate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19736#define ISpeechPhraseAlternate_AddRef(This) (This)->lpVtbl->AddRef(This)
19737#define ISpeechPhraseAlternate_Release(This) (This)->lpVtbl->Release(This)
19738/*** IDispatch methods ***/
19739#define ISpeechPhraseAlternate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
19740#define ISpeechPhraseAlternate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19741#define ISpeechPhraseAlternate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19742#define ISpeechPhraseAlternate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19743/*** ISpeechPhraseAlternate methods ***/
19744#define ISpeechPhraseAlternate_get_RecoResult(This,RecoResult) (This)->lpVtbl->get_RecoResult(This,RecoResult)
19745#define ISpeechPhraseAlternate_get_StartElementInResult(This,StartElement) (This)->lpVtbl->get_StartElementInResult(This,StartElement)
19746#define ISpeechPhraseAlternate_get_NumberOfElementsInResult(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElementsInResult(This,NumberOfElements)
19747#define ISpeechPhraseAlternate_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
19748#define ISpeechPhraseAlternate_Commit(This) (This)->lpVtbl->Commit(This)
19749#else
19750/*** IUnknown methods ***/
19751static FORCEINLINE HRESULT ISpeechPhraseAlternate_QueryInterface(ISpeechPhraseAlternate* This,REFIID riid,void **ppvObject) {
19752    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19753}
19754static FORCEINLINE ULONG ISpeechPhraseAlternate_AddRef(ISpeechPhraseAlternate* This) {
19755    return This->lpVtbl->AddRef(This);
19756}
19757static FORCEINLINE ULONG ISpeechPhraseAlternate_Release(ISpeechPhraseAlternate* This) {
19758    return This->lpVtbl->Release(This);
19759}
19760/*** IDispatch methods ***/
19761static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetTypeInfoCount(ISpeechPhraseAlternate* This,UINT *pctinfo) {
19762    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
19763}
19764static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetTypeInfo(ISpeechPhraseAlternate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
19765    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
19766}
19767static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetIDsOfNames(ISpeechPhraseAlternate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
19768    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
19769}
19770static FORCEINLINE HRESULT ISpeechPhraseAlternate_Invoke(ISpeechPhraseAlternate* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
19771    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
19772}
19773/*** ISpeechPhraseAlternate methods ***/
19774static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_RecoResult(ISpeechPhraseAlternate* This,ISpeechRecoResult **RecoResult) {
19775    return This->lpVtbl->get_RecoResult(This,RecoResult);
19776}
19777static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_StartElementInResult(ISpeechPhraseAlternate* This,LONG *StartElement) {
19778    return This->lpVtbl->get_StartElementInResult(This,StartElement);
19779}
19780static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_NumberOfElementsInResult(ISpeechPhraseAlternate* This,LONG *NumberOfElements) {
19781    return This->lpVtbl->get_NumberOfElementsInResult(This,NumberOfElements);
19782}
19783static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_PhraseInfo(ISpeechPhraseAlternate* This,ISpeechPhraseInfo **PhraseInfo) {
19784    return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
19785}
19786static FORCEINLINE HRESULT ISpeechPhraseAlternate_Commit(ISpeechPhraseAlternate* This) {
19787    return This->lpVtbl->Commit(This);
19788}
19789#endif
19790#endif
19791
19792#endif
19793
19794HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_RecoResult_Proxy(
19795    ISpeechPhraseAlternate* This,
19796    ISpeechRecoResult **RecoResult);
19797void __RPC_STUB ISpeechPhraseAlternate_get_RecoResult_Stub(
19798    IRpcStubBuffer* This,
19799    IRpcChannelBuffer* pRpcChannelBuffer,
19800    PRPC_MESSAGE pRpcMessage,
19801    DWORD* pdwStubPhase);
19802HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_StartElementInResult_Proxy(
19803    ISpeechPhraseAlternate* This,
19804    LONG *StartElement);
19805void __RPC_STUB ISpeechPhraseAlternate_get_StartElementInResult_Stub(
19806    IRpcStubBuffer* This,
19807    IRpcChannelBuffer* pRpcChannelBuffer,
19808    PRPC_MESSAGE pRpcMessage,
19809    DWORD* pdwStubPhase);
19810HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_NumberOfElementsInResult_Proxy(
19811    ISpeechPhraseAlternate* This,
19812    LONG *NumberOfElements);
19813void __RPC_STUB ISpeechPhraseAlternate_get_NumberOfElementsInResult_Stub(
19814    IRpcStubBuffer* This,
19815    IRpcChannelBuffer* pRpcChannelBuffer,
19816    PRPC_MESSAGE pRpcMessage,
19817    DWORD* pdwStubPhase);
19818HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_PhraseInfo_Proxy(
19819    ISpeechPhraseAlternate* This,
19820    ISpeechPhraseInfo **PhraseInfo);
19821void __RPC_STUB ISpeechPhraseAlternate_get_PhraseInfo_Stub(
19822    IRpcStubBuffer* This,
19823    IRpcChannelBuffer* pRpcChannelBuffer,
19824    PRPC_MESSAGE pRpcMessage,
19825    DWORD* pdwStubPhase);
19826HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_Commit_Proxy(
19827    ISpeechPhraseAlternate* This);
19828void __RPC_STUB ISpeechPhraseAlternate_Commit_Stub(
19829    IRpcStubBuffer* This,
19830    IRpcChannelBuffer* pRpcChannelBuffer,
19831    PRPC_MESSAGE pRpcMessage,
19832    DWORD* pdwStubPhase);
19833
19834#endif  /* __ISpeechPhraseAlternate_INTERFACE_DEFINED__ */
19835
19836/*****************************************************************************
19837 * ISpeechPhraseAlternates interface
19838 */
19839#ifndef __ISpeechPhraseAlternates_INTERFACE_DEFINED__
19840#define __ISpeechPhraseAlternates_INTERFACE_DEFINED__
19841
19842DEFINE_GUID(IID_ISpeechPhraseAlternates, 0xb238b6d5, 0xf276, 0x4c3d, 0xa6,0xc1, 0x29,0x74,0x80,0x1c,0x3c,0xc2);
19843#if defined(__cplusplus) && !defined(CINTERFACE)
19844MIDL_INTERFACE("b238b6d5-f276-4c3d-a6c1-2974801c3cc2")
19845ISpeechPhraseAlternates : public IDispatch
19846{
19847    virtual HRESULT STDMETHODCALLTYPE get_Count(
19848        LONG *Count) = 0;
19849
19850    virtual HRESULT STDMETHODCALLTYPE Item(
19851        LONG Index,
19852        ISpeechPhraseAlternate **PhraseAlternate) = 0;
19853
19854    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
19855        IUnknown **EnumVARIANT) = 0;
19856
19857};
19858#ifdef __CRT_UUID_DECL
19859__CRT_UUID_DECL(ISpeechPhraseAlternates, 0xb238b6d5, 0xf276, 0x4c3d, 0xa6,0xc1, 0x29,0x74,0x80,0x1c,0x3c,0xc2)
19860#endif
19861#else
19862typedef struct ISpeechPhraseAlternatesVtbl {
19863    BEGIN_INTERFACE
19864
19865    /*** IUnknown methods ***/
19866    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
19867        ISpeechPhraseAlternates* This,
19868        REFIID riid,
19869        void **ppvObject);
19870
19871    ULONG (STDMETHODCALLTYPE *AddRef)(
19872        ISpeechPhraseAlternates* This);
19873
19874    ULONG (STDMETHODCALLTYPE *Release)(
19875        ISpeechPhraseAlternates* This);
19876
19877    /*** IDispatch methods ***/
19878    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
19879        ISpeechPhraseAlternates* This,
19880        UINT *pctinfo);
19881
19882    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
19883        ISpeechPhraseAlternates* This,
19884        UINT iTInfo,
19885        LCID lcid,
19886        ITypeInfo **ppTInfo);
19887
19888    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
19889        ISpeechPhraseAlternates* This,
19890        REFIID riid,
19891        LPOLESTR *rgszNames,
19892        UINT cNames,
19893        LCID lcid,
19894        DISPID *rgDispId);
19895
19896    HRESULT (STDMETHODCALLTYPE *Invoke)(
19897        ISpeechPhraseAlternates* This,
19898        DISPID dispIdMember,
19899        REFIID riid,
19900        LCID lcid,
19901        WORD wFlags,
19902        DISPPARAMS *pDispParams,
19903        VARIANT *pVarResult,
19904        EXCEPINFO *pExcepInfo,
19905        UINT *puArgErr);
19906
19907    /*** ISpeechPhraseAlternates methods ***/
19908    HRESULT (STDMETHODCALLTYPE *get_Count)(
19909        ISpeechPhraseAlternates* This,
19910        LONG *Count);
19911
19912    HRESULT (STDMETHODCALLTYPE *Item)(
19913        ISpeechPhraseAlternates* This,
19914        LONG Index,
19915        ISpeechPhraseAlternate **PhraseAlternate);
19916
19917    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
19918        ISpeechPhraseAlternates* This,
19919        IUnknown **EnumVARIANT);
19920
19921    END_INTERFACE
19922} ISpeechPhraseAlternatesVtbl;
19923interface ISpeechPhraseAlternates {
19924    CONST_VTBL ISpeechPhraseAlternatesVtbl* lpVtbl;
19925};
19926
19927#ifdef COBJMACROS
19928#ifndef WIDL_C_INLINE_WRAPPERS
19929/*** IUnknown methods ***/
19930#define ISpeechPhraseAlternates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
19931#define ISpeechPhraseAlternates_AddRef(This) (This)->lpVtbl->AddRef(This)
19932#define ISpeechPhraseAlternates_Release(This) (This)->lpVtbl->Release(This)
19933/*** IDispatch methods ***/
19934#define ISpeechPhraseAlternates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
19935#define ISpeechPhraseAlternates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19936#define ISpeechPhraseAlternates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19937#define ISpeechPhraseAlternates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19938/*** ISpeechPhraseAlternates methods ***/
19939#define ISpeechPhraseAlternates_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
19940#define ISpeechPhraseAlternates_Item(This,Index,PhraseAlternate) (This)->lpVtbl->Item(This,Index,PhraseAlternate)
19941#define ISpeechPhraseAlternates_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
19942#else
19943/*** IUnknown methods ***/
19944static FORCEINLINE HRESULT ISpeechPhraseAlternates_QueryInterface(ISpeechPhraseAlternates* This,REFIID riid,void **ppvObject) {
19945    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
19946}
19947static FORCEINLINE ULONG ISpeechPhraseAlternates_AddRef(ISpeechPhraseAlternates* This) {
19948    return This->lpVtbl->AddRef(This);
19949}
19950static FORCEINLINE ULONG ISpeechPhraseAlternates_Release(ISpeechPhraseAlternates* This) {
19951    return This->lpVtbl->Release(This);
19952}
19953/*** IDispatch methods ***/
19954static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetTypeInfoCount(ISpeechPhraseAlternates* This,UINT *pctinfo) {
19955    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
19956}
19957static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetTypeInfo(ISpeechPhraseAlternates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
19958    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
19959}
19960static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetIDsOfNames(ISpeechPhraseAlternates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
19961    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
19962}
19963static FORCEINLINE HRESULT ISpeechPhraseAlternates_Invoke(ISpeechPhraseAlternates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
19964    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
19965}
19966/*** ISpeechPhraseAlternates methods ***/
19967static FORCEINLINE HRESULT ISpeechPhraseAlternates_get_Count(ISpeechPhraseAlternates* This,LONG *Count) {
19968    return This->lpVtbl->get_Count(This,Count);
19969}
19970static FORCEINLINE HRESULT ISpeechPhraseAlternates_Item(ISpeechPhraseAlternates* This,LONG Index,ISpeechPhraseAlternate **PhraseAlternate) {
19971    return This->lpVtbl->Item(This,Index,PhraseAlternate);
19972}
19973static FORCEINLINE HRESULT ISpeechPhraseAlternates_get__NewEnum(ISpeechPhraseAlternates* This,IUnknown **EnumVARIANT) {
19974    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
19975}
19976#endif
19977#endif
19978
19979#endif
19980
19981HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_get_Count_Proxy(
19982    ISpeechPhraseAlternates* This,
19983    LONG *Count);
19984void __RPC_STUB ISpeechPhraseAlternates_get_Count_Stub(
19985    IRpcStubBuffer* This,
19986    IRpcChannelBuffer* pRpcChannelBuffer,
19987    PRPC_MESSAGE pRpcMessage,
19988    DWORD* pdwStubPhase);
19989HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_Item_Proxy(
19990    ISpeechPhraseAlternates* This,
19991    LONG Index,
19992    ISpeechPhraseAlternate **PhraseAlternate);
19993void __RPC_STUB ISpeechPhraseAlternates_Item_Stub(
19994    IRpcStubBuffer* This,
19995    IRpcChannelBuffer* pRpcChannelBuffer,
19996    PRPC_MESSAGE pRpcMessage,
19997    DWORD* pdwStubPhase);
19998HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_get__NewEnum_Proxy(
19999    ISpeechPhraseAlternates* This,
20000    IUnknown **EnumVARIANT);
20001void __RPC_STUB ISpeechPhraseAlternates_get__NewEnum_Stub(
20002    IRpcStubBuffer* This,
20003    IRpcChannelBuffer* pRpcChannelBuffer,
20004    PRPC_MESSAGE pRpcMessage,
20005    DWORD* pdwStubPhase);
20006
20007#endif  /* __ISpeechPhraseAlternates_INTERFACE_DEFINED__ */
20008
20009/*****************************************************************************
20010 * ISpeechPhraseInfo interface
20011 */
20012#ifndef __ISpeechPhraseInfo_INTERFACE_DEFINED__
20013#define __ISpeechPhraseInfo_INTERFACE_DEFINED__
20014
20015DEFINE_GUID(IID_ISpeechPhraseInfo, 0x961559cf, 0x4e67, 0x4662, 0x8b,0xf0, 0xd9,0x3f,0x1f,0xcd,0x61,0xb3);
20016#if defined(__cplusplus) && !defined(CINTERFACE)
20017MIDL_INTERFACE("961559cf-4e67-4662-8bf0-d93f1fcd61b3")
20018ISpeechPhraseInfo : public IDispatch
20019{
20020    virtual HRESULT STDMETHODCALLTYPE get_LanguageId(
20021        LONG *LanguageId) = 0;
20022
20023    virtual HRESULT STDMETHODCALLTYPE get_GrammarId(
20024        VARIANT *GrammarId) = 0;
20025
20026    virtual HRESULT STDMETHODCALLTYPE get_StartTime(
20027        VARIANT *StartTime) = 0;
20028
20029    virtual HRESULT STDMETHODCALLTYPE get_AudioStreamPosition(
20030        VARIANT *AudioStreamPosition) = 0;
20031
20032    virtual HRESULT STDMETHODCALLTYPE get_AudioSizeBytes(
20033        LONG *pAudioSizeBytes) = 0;
20034
20035    virtual HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes(
20036        LONG *RetainedSizeBytes) = 0;
20037
20038    virtual HRESULT STDMETHODCALLTYPE get_AudioSizeTime(
20039        LONG *AudioSizeTime) = 0;
20040
20041    virtual HRESULT STDMETHODCALLTYPE get_Rule(
20042        ISpeechPhraseRule **Rule) = 0;
20043
20044    virtual HRESULT STDMETHODCALLTYPE get_Properties(
20045        ISpeechPhraseProperties **Properties) = 0;
20046
20047    virtual HRESULT STDMETHODCALLTYPE get_Elements(
20048        ISpeechPhraseElements **Elements) = 0;
20049
20050    virtual HRESULT STDMETHODCALLTYPE get_Replacements(
20051        ISpeechPhraseReplacements **Replacements) = 0;
20052
20053    virtual HRESULT STDMETHODCALLTYPE get_EngineId(
20054        BSTR *EngineIdGuid) = 0;
20055
20056    virtual HRESULT STDMETHODCALLTYPE get_EnginePrivateData(
20057        VARIANT *PrivateData) = 0;
20058
20059    virtual HRESULT STDMETHODCALLTYPE SaveToMemory(
20060        VARIANT *PhraseBlock) = 0;
20061
20062    virtual HRESULT STDMETHODCALLTYPE GetText(
20063        LONG StartElement,
20064        LONG Elements,
20065        VARIANT_BOOL UseReplacements,
20066        BSTR *Text) = 0;
20067
20068    virtual HRESULT STDMETHODCALLTYPE GetDisplayAttributes(
20069        LONG StartElement,
20070        LONG Elements,
20071        VARIANT_BOOL UseReplacements,
20072        SpeechDisplayAttributes *DisplayAttributes) = 0;
20073
20074};
20075#ifdef __CRT_UUID_DECL
20076__CRT_UUID_DECL(ISpeechPhraseInfo, 0x961559cf, 0x4e67, 0x4662, 0x8b,0xf0, 0xd9,0x3f,0x1f,0xcd,0x61,0xb3)
20077#endif
20078#else
20079typedef struct ISpeechPhraseInfoVtbl {
20080    BEGIN_INTERFACE
20081
20082    /*** IUnknown methods ***/
20083    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20084        ISpeechPhraseInfo* This,
20085        REFIID riid,
20086        void **ppvObject);
20087
20088    ULONG (STDMETHODCALLTYPE *AddRef)(
20089        ISpeechPhraseInfo* This);
20090
20091    ULONG (STDMETHODCALLTYPE *Release)(
20092        ISpeechPhraseInfo* This);
20093
20094    /*** IDispatch methods ***/
20095    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
20096        ISpeechPhraseInfo* This,
20097        UINT *pctinfo);
20098
20099    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
20100        ISpeechPhraseInfo* This,
20101        UINT iTInfo,
20102        LCID lcid,
20103        ITypeInfo **ppTInfo);
20104
20105    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
20106        ISpeechPhraseInfo* This,
20107        REFIID riid,
20108        LPOLESTR *rgszNames,
20109        UINT cNames,
20110        LCID lcid,
20111        DISPID *rgDispId);
20112
20113    HRESULT (STDMETHODCALLTYPE *Invoke)(
20114        ISpeechPhraseInfo* This,
20115        DISPID dispIdMember,
20116        REFIID riid,
20117        LCID lcid,
20118        WORD wFlags,
20119        DISPPARAMS *pDispParams,
20120        VARIANT *pVarResult,
20121        EXCEPINFO *pExcepInfo,
20122        UINT *puArgErr);
20123
20124    /*** ISpeechPhraseInfo methods ***/
20125    HRESULT (STDMETHODCALLTYPE *get_LanguageId)(
20126        ISpeechPhraseInfo* This,
20127        LONG *LanguageId);
20128
20129    HRESULT (STDMETHODCALLTYPE *get_GrammarId)(
20130        ISpeechPhraseInfo* This,
20131        VARIANT *GrammarId);
20132
20133    HRESULT (STDMETHODCALLTYPE *get_StartTime)(
20134        ISpeechPhraseInfo* This,
20135        VARIANT *StartTime);
20136
20137    HRESULT (STDMETHODCALLTYPE *get_AudioStreamPosition)(
20138        ISpeechPhraseInfo* This,
20139        VARIANT *AudioStreamPosition);
20140
20141    HRESULT (STDMETHODCALLTYPE *get_AudioSizeBytes)(
20142        ISpeechPhraseInfo* This,
20143        LONG *pAudioSizeBytes);
20144
20145    HRESULT (STDMETHODCALLTYPE *get_RetainedSizeBytes)(
20146        ISpeechPhraseInfo* This,
20147        LONG *RetainedSizeBytes);
20148
20149    HRESULT (STDMETHODCALLTYPE *get_AudioSizeTime)(
20150        ISpeechPhraseInfo* This,
20151        LONG *AudioSizeTime);
20152
20153    HRESULT (STDMETHODCALLTYPE *get_Rule)(
20154        ISpeechPhraseInfo* This,
20155        ISpeechPhraseRule **Rule);
20156
20157    HRESULT (STDMETHODCALLTYPE *get_Properties)(
20158        ISpeechPhraseInfo* This,
20159        ISpeechPhraseProperties **Properties);
20160
20161    HRESULT (STDMETHODCALLTYPE *get_Elements)(
20162        ISpeechPhraseInfo* This,
20163        ISpeechPhraseElements **Elements);
20164
20165    HRESULT (STDMETHODCALLTYPE *get_Replacements)(
20166        ISpeechPhraseInfo* This,
20167        ISpeechPhraseReplacements **Replacements);
20168
20169    HRESULT (STDMETHODCALLTYPE *get_EngineId)(
20170        ISpeechPhraseInfo* This,
20171        BSTR *EngineIdGuid);
20172
20173    HRESULT (STDMETHODCALLTYPE *get_EnginePrivateData)(
20174        ISpeechPhraseInfo* This,
20175        VARIANT *PrivateData);
20176
20177    HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
20178        ISpeechPhraseInfo* This,
20179        VARIANT *PhraseBlock);
20180
20181    HRESULT (STDMETHODCALLTYPE *GetText)(
20182        ISpeechPhraseInfo* This,
20183        LONG StartElement,
20184        LONG Elements,
20185        VARIANT_BOOL UseReplacements,
20186        BSTR *Text);
20187
20188    HRESULT (STDMETHODCALLTYPE *GetDisplayAttributes)(
20189        ISpeechPhraseInfo* This,
20190        LONG StartElement,
20191        LONG Elements,
20192        VARIANT_BOOL UseReplacements,
20193        SpeechDisplayAttributes *DisplayAttributes);
20194
20195    END_INTERFACE
20196} ISpeechPhraseInfoVtbl;
20197interface ISpeechPhraseInfo {
20198    CONST_VTBL ISpeechPhraseInfoVtbl* lpVtbl;
20199};
20200
20201#ifdef COBJMACROS
20202#ifndef WIDL_C_INLINE_WRAPPERS
20203/*** IUnknown methods ***/
20204#define ISpeechPhraseInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20205#define ISpeechPhraseInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
20206#define ISpeechPhraseInfo_Release(This) (This)->lpVtbl->Release(This)
20207/*** IDispatch methods ***/
20208#define ISpeechPhraseInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
20209#define ISpeechPhraseInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
20210#define ISpeechPhraseInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
20211#define ISpeechPhraseInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
20212/*** ISpeechPhraseInfo methods ***/
20213#define ISpeechPhraseInfo_get_LanguageId(This,LanguageId) (This)->lpVtbl->get_LanguageId(This,LanguageId)
20214#define ISpeechPhraseInfo_get_GrammarId(This,GrammarId) (This)->lpVtbl->get_GrammarId(This,GrammarId)
20215#define ISpeechPhraseInfo_get_StartTime(This,StartTime) (This)->lpVtbl->get_StartTime(This,StartTime)
20216#define ISpeechPhraseInfo_get_AudioStreamPosition(This,AudioStreamPosition) (This)->lpVtbl->get_AudioStreamPosition(This,AudioStreamPosition)
20217#define ISpeechPhraseInfo_get_AudioSizeBytes(This,pAudioSizeBytes) (This)->lpVtbl->get_AudioSizeBytes(This,pAudioSizeBytes)
20218#define ISpeechPhraseInfo_get_RetainedSizeBytes(This,RetainedSizeBytes) (This)->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes)
20219#define ISpeechPhraseInfo_get_AudioSizeTime(This,AudioSizeTime) (This)->lpVtbl->get_AudioSizeTime(This,AudioSizeTime)
20220#define ISpeechPhraseInfo_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
20221#define ISpeechPhraseInfo_get_Properties(This,Properties) (This)->lpVtbl->get_Properties(This,Properties)
20222#define ISpeechPhraseInfo_get_Elements(This,Elements) (This)->lpVtbl->get_Elements(This,Elements)
20223#define ISpeechPhraseInfo_get_Replacements(This,Replacements) (This)->lpVtbl->get_Replacements(This,Replacements)
20224#define ISpeechPhraseInfo_get_EngineId(This,EngineIdGuid) (This)->lpVtbl->get_EngineId(This,EngineIdGuid)
20225#define ISpeechPhraseInfo_get_EnginePrivateData(This,PrivateData) (This)->lpVtbl->get_EnginePrivateData(This,PrivateData)
20226#define ISpeechPhraseInfo_SaveToMemory(This,PhraseBlock) (This)->lpVtbl->SaveToMemory(This,PhraseBlock)
20227#define ISpeechPhraseInfo_GetText(This,StartElement,Elements,UseReplacements,Text) (This)->lpVtbl->GetText(This,StartElement,Elements,UseReplacements,Text)
20228#define ISpeechPhraseInfo_GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes) (This)->lpVtbl->GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes)
20229#else
20230/*** IUnknown methods ***/
20231static FORCEINLINE HRESULT ISpeechPhraseInfo_QueryInterface(ISpeechPhraseInfo* This,REFIID riid,void **ppvObject) {
20232    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20233}
20234static FORCEINLINE ULONG ISpeechPhraseInfo_AddRef(ISpeechPhraseInfo* This) {
20235    return This->lpVtbl->AddRef(This);
20236}
20237static FORCEINLINE ULONG ISpeechPhraseInfo_Release(ISpeechPhraseInfo* This) {
20238    return This->lpVtbl->Release(This);
20239}
20240/*** IDispatch methods ***/
20241static FORCEINLINE HRESULT ISpeechPhraseInfo_GetTypeInfoCount(ISpeechPhraseInfo* This,UINT *pctinfo) {
20242    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
20243}
20244static FORCEINLINE HRESULT ISpeechPhraseInfo_GetTypeInfo(ISpeechPhraseInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
20245    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
20246}
20247static FORCEINLINE HRESULT ISpeechPhraseInfo_GetIDsOfNames(ISpeechPhraseInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
20248    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
20249}
20250static FORCEINLINE HRESULT ISpeechPhraseInfo_Invoke(ISpeechPhraseInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
20251    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
20252}
20253/*** ISpeechPhraseInfo methods ***/
20254static FORCEINLINE HRESULT ISpeechPhraseInfo_get_LanguageId(ISpeechPhraseInfo* This,LONG *LanguageId) {
20255    return This->lpVtbl->get_LanguageId(This,LanguageId);
20256}
20257static FORCEINLINE HRESULT ISpeechPhraseInfo_get_GrammarId(ISpeechPhraseInfo* This,VARIANT *GrammarId) {
20258    return This->lpVtbl->get_GrammarId(This,GrammarId);
20259}
20260static FORCEINLINE HRESULT ISpeechPhraseInfo_get_StartTime(ISpeechPhraseInfo* This,VARIANT *StartTime) {
20261    return This->lpVtbl->get_StartTime(This,StartTime);
20262}
20263static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioStreamPosition(ISpeechPhraseInfo* This,VARIANT *AudioStreamPosition) {
20264    return This->lpVtbl->get_AudioStreamPosition(This,AudioStreamPosition);
20265}
20266static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioSizeBytes(ISpeechPhraseInfo* This,LONG *pAudioSizeBytes) {
20267    return This->lpVtbl->get_AudioSizeBytes(This,pAudioSizeBytes);
20268}
20269static FORCEINLINE HRESULT ISpeechPhraseInfo_get_RetainedSizeBytes(ISpeechPhraseInfo* This,LONG *RetainedSizeBytes) {
20270    return This->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes);
20271}
20272static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioSizeTime(ISpeechPhraseInfo* This,LONG *AudioSizeTime) {
20273    return This->lpVtbl->get_AudioSizeTime(This,AudioSizeTime);
20274}
20275static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Rule(ISpeechPhraseInfo* This,ISpeechPhraseRule **Rule) {
20276    return This->lpVtbl->get_Rule(This,Rule);
20277}
20278static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Properties(ISpeechPhraseInfo* This,ISpeechPhraseProperties **Properties) {
20279    return This->lpVtbl->get_Properties(This,Properties);
20280}
20281static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Elements(ISpeechPhraseInfo* This,ISpeechPhraseElements **Elements) {
20282    return This->lpVtbl->get_Elements(This,Elements);
20283}
20284static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Replacements(ISpeechPhraseInfo* This,ISpeechPhraseReplacements **Replacements) {
20285    return This->lpVtbl->get_Replacements(This,Replacements);
20286}
20287static FORCEINLINE HRESULT ISpeechPhraseInfo_get_EngineId(ISpeechPhraseInfo* This,BSTR *EngineIdGuid) {
20288    return This->lpVtbl->get_EngineId(This,EngineIdGuid);
20289}
20290static FORCEINLINE HRESULT ISpeechPhraseInfo_get_EnginePrivateData(ISpeechPhraseInfo* This,VARIANT *PrivateData) {
20291    return This->lpVtbl->get_EnginePrivateData(This,PrivateData);
20292}
20293static FORCEINLINE HRESULT ISpeechPhraseInfo_SaveToMemory(ISpeechPhraseInfo* This,VARIANT *PhraseBlock) {
20294    return This->lpVtbl->SaveToMemory(This,PhraseBlock);
20295}
20296static FORCEINLINE HRESULT ISpeechPhraseInfo_GetText(ISpeechPhraseInfo* This,LONG StartElement,LONG Elements,VARIANT_BOOL UseReplacements,BSTR *Text) {
20297    return This->lpVtbl->GetText(This,StartElement,Elements,UseReplacements,Text);
20298}
20299static FORCEINLINE HRESULT ISpeechPhraseInfo_GetDisplayAttributes(ISpeechPhraseInfo* This,LONG StartElement,LONG Elements,VARIANT_BOOL UseReplacements,SpeechDisplayAttributes *DisplayAttributes) {
20300    return This->lpVtbl->GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes);
20301}
20302#endif
20303#endif
20304
20305#endif
20306
20307HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_LanguageId_Proxy(
20308    ISpeechPhraseInfo* This,
20309    LONG *LanguageId);
20310void __RPC_STUB ISpeechPhraseInfo_get_LanguageId_Stub(
20311    IRpcStubBuffer* This,
20312    IRpcChannelBuffer* pRpcChannelBuffer,
20313    PRPC_MESSAGE pRpcMessage,
20314    DWORD* pdwStubPhase);
20315HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_GrammarId_Proxy(
20316    ISpeechPhraseInfo* This,
20317    VARIANT *GrammarId);
20318void __RPC_STUB ISpeechPhraseInfo_get_GrammarId_Stub(
20319    IRpcStubBuffer* This,
20320    IRpcChannelBuffer* pRpcChannelBuffer,
20321    PRPC_MESSAGE pRpcMessage,
20322    DWORD* pdwStubPhase);
20323HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_StartTime_Proxy(
20324    ISpeechPhraseInfo* This,
20325    VARIANT *StartTime);
20326void __RPC_STUB ISpeechPhraseInfo_get_StartTime_Stub(
20327    IRpcStubBuffer* This,
20328    IRpcChannelBuffer* pRpcChannelBuffer,
20329    PRPC_MESSAGE pRpcMessage,
20330    DWORD* pdwStubPhase);
20331HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioStreamPosition_Proxy(
20332    ISpeechPhraseInfo* This,
20333    VARIANT *AudioStreamPosition);
20334void __RPC_STUB ISpeechPhraseInfo_get_AudioStreamPosition_Stub(
20335    IRpcStubBuffer* This,
20336    IRpcChannelBuffer* pRpcChannelBuffer,
20337    PRPC_MESSAGE pRpcMessage,
20338    DWORD* pdwStubPhase);
20339HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioSizeBytes_Proxy(
20340    ISpeechPhraseInfo* This,
20341    LONG *pAudioSizeBytes);
20342void __RPC_STUB ISpeechPhraseInfo_get_AudioSizeBytes_Stub(
20343    IRpcStubBuffer* This,
20344    IRpcChannelBuffer* pRpcChannelBuffer,
20345    PRPC_MESSAGE pRpcMessage,
20346    DWORD* pdwStubPhase);
20347HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_RetainedSizeBytes_Proxy(
20348    ISpeechPhraseInfo* This,
20349    LONG *RetainedSizeBytes);
20350void __RPC_STUB ISpeechPhraseInfo_get_RetainedSizeBytes_Stub(
20351    IRpcStubBuffer* This,
20352    IRpcChannelBuffer* pRpcChannelBuffer,
20353    PRPC_MESSAGE pRpcMessage,
20354    DWORD* pdwStubPhase);
20355HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioSizeTime_Proxy(
20356    ISpeechPhraseInfo* This,
20357    LONG *AudioSizeTime);
20358void __RPC_STUB ISpeechPhraseInfo_get_AudioSizeTime_Stub(
20359    IRpcStubBuffer* This,
20360    IRpcChannelBuffer* pRpcChannelBuffer,
20361    PRPC_MESSAGE pRpcMessage,
20362    DWORD* pdwStubPhase);
20363HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Rule_Proxy(
20364    ISpeechPhraseInfo* This,
20365    ISpeechPhraseRule **Rule);
20366void __RPC_STUB ISpeechPhraseInfo_get_Rule_Stub(
20367    IRpcStubBuffer* This,
20368    IRpcChannelBuffer* pRpcChannelBuffer,
20369    PRPC_MESSAGE pRpcMessage,
20370    DWORD* pdwStubPhase);
20371HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Properties_Proxy(
20372    ISpeechPhraseInfo* This,
20373    ISpeechPhraseProperties **Properties);
20374void __RPC_STUB ISpeechPhraseInfo_get_Properties_Stub(
20375    IRpcStubBuffer* This,
20376    IRpcChannelBuffer* pRpcChannelBuffer,
20377    PRPC_MESSAGE pRpcMessage,
20378    DWORD* pdwStubPhase);
20379HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Elements_Proxy(
20380    ISpeechPhraseInfo* This,
20381    ISpeechPhraseElements **Elements);
20382void __RPC_STUB ISpeechPhraseInfo_get_Elements_Stub(
20383    IRpcStubBuffer* This,
20384    IRpcChannelBuffer* pRpcChannelBuffer,
20385    PRPC_MESSAGE pRpcMessage,
20386    DWORD* pdwStubPhase);
20387HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Replacements_Proxy(
20388    ISpeechPhraseInfo* This,
20389    ISpeechPhraseReplacements **Replacements);
20390void __RPC_STUB ISpeechPhraseInfo_get_Replacements_Stub(
20391    IRpcStubBuffer* This,
20392    IRpcChannelBuffer* pRpcChannelBuffer,
20393    PRPC_MESSAGE pRpcMessage,
20394    DWORD* pdwStubPhase);
20395HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_EngineId_Proxy(
20396    ISpeechPhraseInfo* This,
20397    BSTR *EngineIdGuid);
20398void __RPC_STUB ISpeechPhraseInfo_get_EngineId_Stub(
20399    IRpcStubBuffer* This,
20400    IRpcChannelBuffer* pRpcChannelBuffer,
20401    PRPC_MESSAGE pRpcMessage,
20402    DWORD* pdwStubPhase);
20403HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_EnginePrivateData_Proxy(
20404    ISpeechPhraseInfo* This,
20405    VARIANT *PrivateData);
20406void __RPC_STUB ISpeechPhraseInfo_get_EnginePrivateData_Stub(
20407    IRpcStubBuffer* This,
20408    IRpcChannelBuffer* pRpcChannelBuffer,
20409    PRPC_MESSAGE pRpcMessage,
20410    DWORD* pdwStubPhase);
20411HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_SaveToMemory_Proxy(
20412    ISpeechPhraseInfo* This,
20413    VARIANT *PhraseBlock);
20414void __RPC_STUB ISpeechPhraseInfo_SaveToMemory_Stub(
20415    IRpcStubBuffer* This,
20416    IRpcChannelBuffer* pRpcChannelBuffer,
20417    PRPC_MESSAGE pRpcMessage,
20418    DWORD* pdwStubPhase);
20419HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_GetText_Proxy(
20420    ISpeechPhraseInfo* This,
20421    LONG StartElement,
20422    LONG Elements,
20423    VARIANT_BOOL UseReplacements,
20424    BSTR *Text);
20425void __RPC_STUB ISpeechPhraseInfo_GetText_Stub(
20426    IRpcStubBuffer* This,
20427    IRpcChannelBuffer* pRpcChannelBuffer,
20428    PRPC_MESSAGE pRpcMessage,
20429    DWORD* pdwStubPhase);
20430HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_GetDisplayAttributes_Proxy(
20431    ISpeechPhraseInfo* This,
20432    LONG StartElement,
20433    LONG Elements,
20434    VARIANT_BOOL UseReplacements,
20435    SpeechDisplayAttributes *DisplayAttributes);
20436void __RPC_STUB ISpeechPhraseInfo_GetDisplayAttributes_Stub(
20437    IRpcStubBuffer* This,
20438    IRpcChannelBuffer* pRpcChannelBuffer,
20439    PRPC_MESSAGE pRpcMessage,
20440    DWORD* pdwStubPhase);
20441
20442#endif  /* __ISpeechPhraseInfo_INTERFACE_DEFINED__ */
20443
20444/*****************************************************************************
20445 * ISpeechPhraseElement interface
20446 */
20447#ifndef __ISpeechPhraseElement_INTERFACE_DEFINED__
20448#define __ISpeechPhraseElement_INTERFACE_DEFINED__
20449
20450DEFINE_GUID(IID_ISpeechPhraseElement, 0xe6176f96, 0xe373, 0x4801, 0xb2,0x23, 0x3b,0x62,0xc0,0x68,0xc0,0xb4);
20451#if defined(__cplusplus) && !defined(CINTERFACE)
20452MIDL_INTERFACE("e6176f96-e373-4801-b223-3b62c068c0b4")
20453ISpeechPhraseElement : public IDispatch
20454{
20455    virtual HRESULT STDMETHODCALLTYPE get_AudioTimeOffset(
20456        LONG *AudioTimeOffset) = 0;
20457
20458    virtual HRESULT STDMETHODCALLTYPE get_AudioSizeTime(
20459        LONG *AudioSizeTime) = 0;
20460
20461    virtual HRESULT STDMETHODCALLTYPE get_AudioStreamOffset(
20462        LONG *AudioStreamOffset) = 0;
20463
20464    virtual HRESULT STDMETHODCALLTYPE get_AudioSizeBytes(
20465        LONG *AudioSizeBytes) = 0;
20466
20467    virtual HRESULT STDMETHODCALLTYPE get_RetainedStreamOffset(
20468        LONG *RetainedStreamOffset) = 0;
20469
20470    virtual HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes(
20471        LONG *RetainedSizeBytes) = 0;
20472
20473    virtual HRESULT STDMETHODCALLTYPE get_DisplayText(
20474        BSTR *DisplayText) = 0;
20475
20476    virtual HRESULT STDMETHODCALLTYPE get_LexicalForm(
20477        BSTR *LexicalForm) = 0;
20478
20479    virtual HRESULT STDMETHODCALLTYPE get_Pronunciation(
20480        VARIANT *Pronunciation) = 0;
20481
20482    virtual HRESULT STDMETHODCALLTYPE get_DisplayAttributes(
20483        SpeechDisplayAttributes *DisplayAttributes) = 0;
20484
20485    virtual HRESULT STDMETHODCALLTYPE get_RequiredConfidence(
20486        SpeechEngineConfidence *RequiredConfidence) = 0;
20487
20488    virtual HRESULT STDMETHODCALLTYPE get_ActualConfidence(
20489        SpeechEngineConfidence *ActualConfidence) = 0;
20490
20491    virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
20492        float *EngineConfidence) = 0;
20493
20494};
20495#ifdef __CRT_UUID_DECL
20496__CRT_UUID_DECL(ISpeechPhraseElement, 0xe6176f96, 0xe373, 0x4801, 0xb2,0x23, 0x3b,0x62,0xc0,0x68,0xc0,0xb4)
20497#endif
20498#else
20499typedef struct ISpeechPhraseElementVtbl {
20500    BEGIN_INTERFACE
20501
20502    /*** IUnknown methods ***/
20503    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20504        ISpeechPhraseElement* This,
20505        REFIID riid,
20506        void **ppvObject);
20507
20508    ULONG (STDMETHODCALLTYPE *AddRef)(
20509        ISpeechPhraseElement* This);
20510
20511    ULONG (STDMETHODCALLTYPE *Release)(
20512        ISpeechPhraseElement* This);
20513
20514    /*** IDispatch methods ***/
20515    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
20516        ISpeechPhraseElement* This,
20517        UINT *pctinfo);
20518
20519    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
20520        ISpeechPhraseElement* This,
20521        UINT iTInfo,
20522        LCID lcid,
20523        ITypeInfo **ppTInfo);
20524
20525    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
20526        ISpeechPhraseElement* This,
20527        REFIID riid,
20528        LPOLESTR *rgszNames,
20529        UINT cNames,
20530        LCID lcid,
20531        DISPID *rgDispId);
20532
20533    HRESULT (STDMETHODCALLTYPE *Invoke)(
20534        ISpeechPhraseElement* This,
20535        DISPID dispIdMember,
20536        REFIID riid,
20537        LCID lcid,
20538        WORD wFlags,
20539        DISPPARAMS *pDispParams,
20540        VARIANT *pVarResult,
20541        EXCEPINFO *pExcepInfo,
20542        UINT *puArgErr);
20543
20544    /*** ISpeechPhraseElement methods ***/
20545    HRESULT (STDMETHODCALLTYPE *get_AudioTimeOffset)(
20546        ISpeechPhraseElement* This,
20547        LONG *AudioTimeOffset);
20548
20549    HRESULT (STDMETHODCALLTYPE *get_AudioSizeTime)(
20550        ISpeechPhraseElement* This,
20551        LONG *AudioSizeTime);
20552
20553    HRESULT (STDMETHODCALLTYPE *get_AudioStreamOffset)(
20554        ISpeechPhraseElement* This,
20555        LONG *AudioStreamOffset);
20556
20557    HRESULT (STDMETHODCALLTYPE *get_AudioSizeBytes)(
20558        ISpeechPhraseElement* This,
20559        LONG *AudioSizeBytes);
20560
20561    HRESULT (STDMETHODCALLTYPE *get_RetainedStreamOffset)(
20562        ISpeechPhraseElement* This,
20563        LONG *RetainedStreamOffset);
20564
20565    HRESULT (STDMETHODCALLTYPE *get_RetainedSizeBytes)(
20566        ISpeechPhraseElement* This,
20567        LONG *RetainedSizeBytes);
20568
20569    HRESULT (STDMETHODCALLTYPE *get_DisplayText)(
20570        ISpeechPhraseElement* This,
20571        BSTR *DisplayText);
20572
20573    HRESULT (STDMETHODCALLTYPE *get_LexicalForm)(
20574        ISpeechPhraseElement* This,
20575        BSTR *LexicalForm);
20576
20577    HRESULT (STDMETHODCALLTYPE *get_Pronunciation)(
20578        ISpeechPhraseElement* This,
20579        VARIANT *Pronunciation);
20580
20581    HRESULT (STDMETHODCALLTYPE *get_DisplayAttributes)(
20582        ISpeechPhraseElement* This,
20583        SpeechDisplayAttributes *DisplayAttributes);
20584
20585    HRESULT (STDMETHODCALLTYPE *get_RequiredConfidence)(
20586        ISpeechPhraseElement* This,
20587        SpeechEngineConfidence *RequiredConfidence);
20588
20589    HRESULT (STDMETHODCALLTYPE *get_ActualConfidence)(
20590        ISpeechPhraseElement* This,
20591        SpeechEngineConfidence *ActualConfidence);
20592
20593    HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
20594        ISpeechPhraseElement* This,
20595        float *EngineConfidence);
20596
20597    END_INTERFACE
20598} ISpeechPhraseElementVtbl;
20599interface ISpeechPhraseElement {
20600    CONST_VTBL ISpeechPhraseElementVtbl* lpVtbl;
20601};
20602
20603#ifdef COBJMACROS
20604#ifndef WIDL_C_INLINE_WRAPPERS
20605/*** IUnknown methods ***/
20606#define ISpeechPhraseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20607#define ISpeechPhraseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
20608#define ISpeechPhraseElement_Release(This) (This)->lpVtbl->Release(This)
20609/*** IDispatch methods ***/
20610#define ISpeechPhraseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
20611#define ISpeechPhraseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
20612#define ISpeechPhraseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
20613#define ISpeechPhraseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
20614/*** ISpeechPhraseElement methods ***/
20615#define ISpeechPhraseElement_get_AudioTimeOffset(This,AudioTimeOffset) (This)->lpVtbl->get_AudioTimeOffset(This,AudioTimeOffset)
20616#define ISpeechPhraseElement_get_AudioSizeTime(This,AudioSizeTime) (This)->lpVtbl->get_AudioSizeTime(This,AudioSizeTime)
20617#define ISpeechPhraseElement_get_AudioStreamOffset(This,AudioStreamOffset) (This)->lpVtbl->get_AudioStreamOffset(This,AudioStreamOffset)
20618#define ISpeechPhraseElement_get_AudioSizeBytes(This,AudioSizeBytes) (This)->lpVtbl->get_AudioSizeBytes(This,AudioSizeBytes)
20619#define ISpeechPhraseElement_get_RetainedStreamOffset(This,RetainedStreamOffset) (This)->lpVtbl->get_RetainedStreamOffset(This,RetainedStreamOffset)
20620#define ISpeechPhraseElement_get_RetainedSizeBytes(This,RetainedSizeBytes) (This)->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes)
20621#define ISpeechPhraseElement_get_DisplayText(This,DisplayText) (This)->lpVtbl->get_DisplayText(This,DisplayText)
20622#define ISpeechPhraseElement_get_LexicalForm(This,LexicalForm) (This)->lpVtbl->get_LexicalForm(This,LexicalForm)
20623#define ISpeechPhraseElement_get_Pronunciation(This,Pronunciation) (This)->lpVtbl->get_Pronunciation(This,Pronunciation)
20624#define ISpeechPhraseElement_get_DisplayAttributes(This,DisplayAttributes) (This)->lpVtbl->get_DisplayAttributes(This,DisplayAttributes)
20625#define ISpeechPhraseElement_get_RequiredConfidence(This,RequiredConfidence) (This)->lpVtbl->get_RequiredConfidence(This,RequiredConfidence)
20626#define ISpeechPhraseElement_get_ActualConfidence(This,ActualConfidence) (This)->lpVtbl->get_ActualConfidence(This,ActualConfidence)
20627#define ISpeechPhraseElement_get_EngineConfidence(This,EngineConfidence) (This)->lpVtbl->get_EngineConfidence(This,EngineConfidence)
20628#else
20629/*** IUnknown methods ***/
20630static FORCEINLINE HRESULT ISpeechPhraseElement_QueryInterface(ISpeechPhraseElement* This,REFIID riid,void **ppvObject) {
20631    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20632}
20633static FORCEINLINE ULONG ISpeechPhraseElement_AddRef(ISpeechPhraseElement* This) {
20634    return This->lpVtbl->AddRef(This);
20635}
20636static FORCEINLINE ULONG ISpeechPhraseElement_Release(ISpeechPhraseElement* This) {
20637    return This->lpVtbl->Release(This);
20638}
20639/*** IDispatch methods ***/
20640static FORCEINLINE HRESULT ISpeechPhraseElement_GetTypeInfoCount(ISpeechPhraseElement* This,UINT *pctinfo) {
20641    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
20642}
20643static FORCEINLINE HRESULT ISpeechPhraseElement_GetTypeInfo(ISpeechPhraseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
20644    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
20645}
20646static FORCEINLINE HRESULT ISpeechPhraseElement_GetIDsOfNames(ISpeechPhraseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
20647    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
20648}
20649static FORCEINLINE HRESULT ISpeechPhraseElement_Invoke(ISpeechPhraseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
20650    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
20651}
20652/*** ISpeechPhraseElement methods ***/
20653static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioTimeOffset(ISpeechPhraseElement* This,LONG *AudioTimeOffset) {
20654    return This->lpVtbl->get_AudioTimeOffset(This,AudioTimeOffset);
20655}
20656static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioSizeTime(ISpeechPhraseElement* This,LONG *AudioSizeTime) {
20657    return This->lpVtbl->get_AudioSizeTime(This,AudioSizeTime);
20658}
20659static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioStreamOffset(ISpeechPhraseElement* This,LONG *AudioStreamOffset) {
20660    return This->lpVtbl->get_AudioStreamOffset(This,AudioStreamOffset);
20661}
20662static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioSizeBytes(ISpeechPhraseElement* This,LONG *AudioSizeBytes) {
20663    return This->lpVtbl->get_AudioSizeBytes(This,AudioSizeBytes);
20664}
20665static FORCEINLINE HRESULT ISpeechPhraseElement_get_RetainedStreamOffset(ISpeechPhraseElement* This,LONG *RetainedStreamOffset) {
20666    return This->lpVtbl->get_RetainedStreamOffset(This,RetainedStreamOffset);
20667}
20668static FORCEINLINE HRESULT ISpeechPhraseElement_get_RetainedSizeBytes(ISpeechPhraseElement* This,LONG *RetainedSizeBytes) {
20669    return This->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes);
20670}
20671static FORCEINLINE HRESULT ISpeechPhraseElement_get_DisplayText(ISpeechPhraseElement* This,BSTR *DisplayText) {
20672    return This->lpVtbl->get_DisplayText(This,DisplayText);
20673}
20674static FORCEINLINE HRESULT ISpeechPhraseElement_get_LexicalForm(ISpeechPhraseElement* This,BSTR *LexicalForm) {
20675    return This->lpVtbl->get_LexicalForm(This,LexicalForm);
20676}
20677static FORCEINLINE HRESULT ISpeechPhraseElement_get_Pronunciation(ISpeechPhraseElement* This,VARIANT *Pronunciation) {
20678    return This->lpVtbl->get_Pronunciation(This,Pronunciation);
20679}
20680static FORCEINLINE HRESULT ISpeechPhraseElement_get_DisplayAttributes(ISpeechPhraseElement* This,SpeechDisplayAttributes *DisplayAttributes) {
20681    return This->lpVtbl->get_DisplayAttributes(This,DisplayAttributes);
20682}
20683static FORCEINLINE HRESULT ISpeechPhraseElement_get_RequiredConfidence(ISpeechPhraseElement* This,SpeechEngineConfidence *RequiredConfidence) {
20684    return This->lpVtbl->get_RequiredConfidence(This,RequiredConfidence);
20685}
20686static FORCEINLINE HRESULT ISpeechPhraseElement_get_ActualConfidence(ISpeechPhraseElement* This,SpeechEngineConfidence *ActualConfidence) {
20687    return This->lpVtbl->get_ActualConfidence(This,ActualConfidence);
20688}
20689static FORCEINLINE HRESULT ISpeechPhraseElement_get_EngineConfidence(ISpeechPhraseElement* This,float *EngineConfidence) {
20690    return This->lpVtbl->get_EngineConfidence(This,EngineConfidence);
20691}
20692#endif
20693#endif
20694
20695#endif
20696
20697HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioTimeOffset_Proxy(
20698    ISpeechPhraseElement* This,
20699    LONG *AudioTimeOffset);
20700void __RPC_STUB ISpeechPhraseElement_get_AudioTimeOffset_Stub(
20701    IRpcStubBuffer* This,
20702    IRpcChannelBuffer* pRpcChannelBuffer,
20703    PRPC_MESSAGE pRpcMessage,
20704    DWORD* pdwStubPhase);
20705HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioSizeTime_Proxy(
20706    ISpeechPhraseElement* This,
20707    LONG *AudioSizeTime);
20708void __RPC_STUB ISpeechPhraseElement_get_AudioSizeTime_Stub(
20709    IRpcStubBuffer* This,
20710    IRpcChannelBuffer* pRpcChannelBuffer,
20711    PRPC_MESSAGE pRpcMessage,
20712    DWORD* pdwStubPhase);
20713HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioStreamOffset_Proxy(
20714    ISpeechPhraseElement* This,
20715    LONG *AudioStreamOffset);
20716void __RPC_STUB ISpeechPhraseElement_get_AudioStreamOffset_Stub(
20717    IRpcStubBuffer* This,
20718    IRpcChannelBuffer* pRpcChannelBuffer,
20719    PRPC_MESSAGE pRpcMessage,
20720    DWORD* pdwStubPhase);
20721HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioSizeBytes_Proxy(
20722    ISpeechPhraseElement* This,
20723    LONG *AudioSizeBytes);
20724void __RPC_STUB ISpeechPhraseElement_get_AudioSizeBytes_Stub(
20725    IRpcStubBuffer* This,
20726    IRpcChannelBuffer* pRpcChannelBuffer,
20727    PRPC_MESSAGE pRpcMessage,
20728    DWORD* pdwStubPhase);
20729HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RetainedStreamOffset_Proxy(
20730    ISpeechPhraseElement* This,
20731    LONG *RetainedStreamOffset);
20732void __RPC_STUB ISpeechPhraseElement_get_RetainedStreamOffset_Stub(
20733    IRpcStubBuffer* This,
20734    IRpcChannelBuffer* pRpcChannelBuffer,
20735    PRPC_MESSAGE pRpcMessage,
20736    DWORD* pdwStubPhase);
20737HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RetainedSizeBytes_Proxy(
20738    ISpeechPhraseElement* This,
20739    LONG *RetainedSizeBytes);
20740void __RPC_STUB ISpeechPhraseElement_get_RetainedSizeBytes_Stub(
20741    IRpcStubBuffer* This,
20742    IRpcChannelBuffer* pRpcChannelBuffer,
20743    PRPC_MESSAGE pRpcMessage,
20744    DWORD* pdwStubPhase);
20745HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_DisplayText_Proxy(
20746    ISpeechPhraseElement* This,
20747    BSTR *DisplayText);
20748void __RPC_STUB ISpeechPhraseElement_get_DisplayText_Stub(
20749    IRpcStubBuffer* This,
20750    IRpcChannelBuffer* pRpcChannelBuffer,
20751    PRPC_MESSAGE pRpcMessage,
20752    DWORD* pdwStubPhase);
20753HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_LexicalForm_Proxy(
20754    ISpeechPhraseElement* This,
20755    BSTR *LexicalForm);
20756void __RPC_STUB ISpeechPhraseElement_get_LexicalForm_Stub(
20757    IRpcStubBuffer* This,
20758    IRpcChannelBuffer* pRpcChannelBuffer,
20759    PRPC_MESSAGE pRpcMessage,
20760    DWORD* pdwStubPhase);
20761HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_Pronunciation_Proxy(
20762    ISpeechPhraseElement* This,
20763    VARIANT *Pronunciation);
20764void __RPC_STUB ISpeechPhraseElement_get_Pronunciation_Stub(
20765    IRpcStubBuffer* This,
20766    IRpcChannelBuffer* pRpcChannelBuffer,
20767    PRPC_MESSAGE pRpcMessage,
20768    DWORD* pdwStubPhase);
20769HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_DisplayAttributes_Proxy(
20770    ISpeechPhraseElement* This,
20771    SpeechDisplayAttributes *DisplayAttributes);
20772void __RPC_STUB ISpeechPhraseElement_get_DisplayAttributes_Stub(
20773    IRpcStubBuffer* This,
20774    IRpcChannelBuffer* pRpcChannelBuffer,
20775    PRPC_MESSAGE pRpcMessage,
20776    DWORD* pdwStubPhase);
20777HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RequiredConfidence_Proxy(
20778    ISpeechPhraseElement* This,
20779    SpeechEngineConfidence *RequiredConfidence);
20780void __RPC_STUB ISpeechPhraseElement_get_RequiredConfidence_Stub(
20781    IRpcStubBuffer* This,
20782    IRpcChannelBuffer* pRpcChannelBuffer,
20783    PRPC_MESSAGE pRpcMessage,
20784    DWORD* pdwStubPhase);
20785HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_ActualConfidence_Proxy(
20786    ISpeechPhraseElement* This,
20787    SpeechEngineConfidence *ActualConfidence);
20788void __RPC_STUB ISpeechPhraseElement_get_ActualConfidence_Stub(
20789    IRpcStubBuffer* This,
20790    IRpcChannelBuffer* pRpcChannelBuffer,
20791    PRPC_MESSAGE pRpcMessage,
20792    DWORD* pdwStubPhase);
20793HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_EngineConfidence_Proxy(
20794    ISpeechPhraseElement* This,
20795    float *EngineConfidence);
20796void __RPC_STUB ISpeechPhraseElement_get_EngineConfidence_Stub(
20797    IRpcStubBuffer* This,
20798    IRpcChannelBuffer* pRpcChannelBuffer,
20799    PRPC_MESSAGE pRpcMessage,
20800    DWORD* pdwStubPhase);
20801
20802#endif  /* __ISpeechPhraseElement_INTERFACE_DEFINED__ */
20803
20804/*****************************************************************************
20805 * ISpeechPhraseElements interface
20806 */
20807#ifndef __ISpeechPhraseElements_INTERFACE_DEFINED__
20808#define __ISpeechPhraseElements_INTERFACE_DEFINED__
20809
20810DEFINE_GUID(IID_ISpeechPhraseElements, 0x0626b328, 0x3478, 0x467d, 0xa0,0xb3, 0xd0,0x85,0x3b,0x93,0xdd,0xa3);
20811#if defined(__cplusplus) && !defined(CINTERFACE)
20812MIDL_INTERFACE("0626b328-3478-467d-a0b3-d0853b93dda3")
20813ISpeechPhraseElements : public IDispatch
20814{
20815    virtual HRESULT STDMETHODCALLTYPE get_Count(
20816        LONG *Count) = 0;
20817
20818    virtual HRESULT STDMETHODCALLTYPE Item(
20819        LONG Index,
20820        ISpeechPhraseElement **Element) = 0;
20821
20822    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
20823        IUnknown **EnumVARIANT) = 0;
20824
20825};
20826#ifdef __CRT_UUID_DECL
20827__CRT_UUID_DECL(ISpeechPhraseElements, 0x0626b328, 0x3478, 0x467d, 0xa0,0xb3, 0xd0,0x85,0x3b,0x93,0xdd,0xa3)
20828#endif
20829#else
20830typedef struct ISpeechPhraseElementsVtbl {
20831    BEGIN_INTERFACE
20832
20833    /*** IUnknown methods ***/
20834    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
20835        ISpeechPhraseElements* This,
20836        REFIID riid,
20837        void **ppvObject);
20838
20839    ULONG (STDMETHODCALLTYPE *AddRef)(
20840        ISpeechPhraseElements* This);
20841
20842    ULONG (STDMETHODCALLTYPE *Release)(
20843        ISpeechPhraseElements* This);
20844
20845    /*** IDispatch methods ***/
20846    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
20847        ISpeechPhraseElements* This,
20848        UINT *pctinfo);
20849
20850    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
20851        ISpeechPhraseElements* This,
20852        UINT iTInfo,
20853        LCID lcid,
20854        ITypeInfo **ppTInfo);
20855
20856    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
20857        ISpeechPhraseElements* This,
20858        REFIID riid,
20859        LPOLESTR *rgszNames,
20860        UINT cNames,
20861        LCID lcid,
20862        DISPID *rgDispId);
20863
20864    HRESULT (STDMETHODCALLTYPE *Invoke)(
20865        ISpeechPhraseElements* This,
20866        DISPID dispIdMember,
20867        REFIID riid,
20868        LCID lcid,
20869        WORD wFlags,
20870        DISPPARAMS *pDispParams,
20871        VARIANT *pVarResult,
20872        EXCEPINFO *pExcepInfo,
20873        UINT *puArgErr);
20874
20875    /*** ISpeechPhraseElements methods ***/
20876    HRESULT (STDMETHODCALLTYPE *get_Count)(
20877        ISpeechPhraseElements* This,
20878        LONG *Count);
20879
20880    HRESULT (STDMETHODCALLTYPE *Item)(
20881        ISpeechPhraseElements* This,
20882        LONG Index,
20883        ISpeechPhraseElement **Element);
20884
20885    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
20886        ISpeechPhraseElements* This,
20887        IUnknown **EnumVARIANT);
20888
20889    END_INTERFACE
20890} ISpeechPhraseElementsVtbl;
20891interface ISpeechPhraseElements {
20892    CONST_VTBL ISpeechPhraseElementsVtbl* lpVtbl;
20893};
20894
20895#ifdef COBJMACROS
20896#ifndef WIDL_C_INLINE_WRAPPERS
20897/*** IUnknown methods ***/
20898#define ISpeechPhraseElements_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
20899#define ISpeechPhraseElements_AddRef(This) (This)->lpVtbl->AddRef(This)
20900#define ISpeechPhraseElements_Release(This) (This)->lpVtbl->Release(This)
20901/*** IDispatch methods ***/
20902#define ISpeechPhraseElements_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
20903#define ISpeechPhraseElements_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
20904#define ISpeechPhraseElements_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
20905#define ISpeechPhraseElements_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
20906/*** ISpeechPhraseElements methods ***/
20907#define ISpeechPhraseElements_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
20908#define ISpeechPhraseElements_Item(This,Index,Element) (This)->lpVtbl->Item(This,Index,Element)
20909#define ISpeechPhraseElements_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
20910#else
20911/*** IUnknown methods ***/
20912static FORCEINLINE HRESULT ISpeechPhraseElements_QueryInterface(ISpeechPhraseElements* This,REFIID riid,void **ppvObject) {
20913    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
20914}
20915static FORCEINLINE ULONG ISpeechPhraseElements_AddRef(ISpeechPhraseElements* This) {
20916    return This->lpVtbl->AddRef(This);
20917}
20918static FORCEINLINE ULONG ISpeechPhraseElements_Release(ISpeechPhraseElements* This) {
20919    return This->lpVtbl->Release(This);
20920}
20921/*** IDispatch methods ***/
20922static FORCEINLINE HRESULT ISpeechPhraseElements_GetTypeInfoCount(ISpeechPhraseElements* This,UINT *pctinfo) {
20923    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
20924}
20925static FORCEINLINE HRESULT ISpeechPhraseElements_GetTypeInfo(ISpeechPhraseElements* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
20926    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
20927}
20928static FORCEINLINE HRESULT ISpeechPhraseElements_GetIDsOfNames(ISpeechPhraseElements* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
20929    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
20930}
20931static FORCEINLINE HRESULT ISpeechPhraseElements_Invoke(ISpeechPhraseElements* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
20932    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
20933}
20934/*** ISpeechPhraseElements methods ***/
20935static FORCEINLINE HRESULT ISpeechPhraseElements_get_Count(ISpeechPhraseElements* This,LONG *Count) {
20936    return This->lpVtbl->get_Count(This,Count);
20937}
20938static FORCEINLINE HRESULT ISpeechPhraseElements_Item(ISpeechPhraseElements* This,LONG Index,ISpeechPhraseElement **Element) {
20939    return This->lpVtbl->Item(This,Index,Element);
20940}
20941static FORCEINLINE HRESULT ISpeechPhraseElements_get__NewEnum(ISpeechPhraseElements* This,IUnknown **EnumVARIANT) {
20942    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
20943}
20944#endif
20945#endif
20946
20947#endif
20948
20949HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_get_Count_Proxy(
20950    ISpeechPhraseElements* This,
20951    LONG *Count);
20952void __RPC_STUB ISpeechPhraseElements_get_Count_Stub(
20953    IRpcStubBuffer* This,
20954    IRpcChannelBuffer* pRpcChannelBuffer,
20955    PRPC_MESSAGE pRpcMessage,
20956    DWORD* pdwStubPhase);
20957HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_Item_Proxy(
20958    ISpeechPhraseElements* This,
20959    LONG Index,
20960    ISpeechPhraseElement **Element);
20961void __RPC_STUB ISpeechPhraseElements_Item_Stub(
20962    IRpcStubBuffer* This,
20963    IRpcChannelBuffer* pRpcChannelBuffer,
20964    PRPC_MESSAGE pRpcMessage,
20965    DWORD* pdwStubPhase);
20966HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_get__NewEnum_Proxy(
20967    ISpeechPhraseElements* This,
20968    IUnknown **EnumVARIANT);
20969void __RPC_STUB ISpeechPhraseElements_get__NewEnum_Stub(
20970    IRpcStubBuffer* This,
20971    IRpcChannelBuffer* pRpcChannelBuffer,
20972    PRPC_MESSAGE pRpcMessage,
20973    DWORD* pdwStubPhase);
20974
20975#endif  /* __ISpeechPhraseElements_INTERFACE_DEFINED__ */
20976
20977/*****************************************************************************
20978 * ISpeechPhraseReplacement interface
20979 */
20980#ifndef __ISpeechPhraseReplacement_INTERFACE_DEFINED__
20981#define __ISpeechPhraseReplacement_INTERFACE_DEFINED__
20982
20983DEFINE_GUID(IID_ISpeechPhraseReplacement, 0x2890a410, 0x53a7, 0x4fb5, 0x94,0xec, 0x06,0xd4,0x99,0x8e,0x3d,0x02);
20984#if defined(__cplusplus) && !defined(CINTERFACE)
20985MIDL_INTERFACE("2890a410-53a7-4fb5-94ec-06d4998e3d02")
20986ISpeechPhraseReplacement : public IDispatch
20987{
20988    virtual HRESULT STDMETHODCALLTYPE get_DisplayAttributes(
20989        SpeechDisplayAttributes *DisplayAttributes) = 0;
20990
20991    virtual HRESULT STDMETHODCALLTYPE get_Text(
20992        BSTR *Text) = 0;
20993
20994    virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
20995        LONG *FirstElement) = 0;
20996
20997    virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
20998        LONG *NumberOfElements) = 0;
20999
21000};
21001#ifdef __CRT_UUID_DECL
21002__CRT_UUID_DECL(ISpeechPhraseReplacement, 0x2890a410, 0x53a7, 0x4fb5, 0x94,0xec, 0x06,0xd4,0x99,0x8e,0x3d,0x02)
21003#endif
21004#else
21005typedef struct ISpeechPhraseReplacementVtbl {
21006    BEGIN_INTERFACE
21007
21008    /*** IUnknown methods ***/
21009    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21010        ISpeechPhraseReplacement* This,
21011        REFIID riid,
21012        void **ppvObject);
21013
21014    ULONG (STDMETHODCALLTYPE *AddRef)(
21015        ISpeechPhraseReplacement* This);
21016
21017    ULONG (STDMETHODCALLTYPE *Release)(
21018        ISpeechPhraseReplacement* This);
21019
21020    /*** IDispatch methods ***/
21021    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
21022        ISpeechPhraseReplacement* This,
21023        UINT *pctinfo);
21024
21025    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
21026        ISpeechPhraseReplacement* This,
21027        UINT iTInfo,
21028        LCID lcid,
21029        ITypeInfo **ppTInfo);
21030
21031    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
21032        ISpeechPhraseReplacement* This,
21033        REFIID riid,
21034        LPOLESTR *rgszNames,
21035        UINT cNames,
21036        LCID lcid,
21037        DISPID *rgDispId);
21038
21039    HRESULT (STDMETHODCALLTYPE *Invoke)(
21040        ISpeechPhraseReplacement* This,
21041        DISPID dispIdMember,
21042        REFIID riid,
21043        LCID lcid,
21044        WORD wFlags,
21045        DISPPARAMS *pDispParams,
21046        VARIANT *pVarResult,
21047        EXCEPINFO *pExcepInfo,
21048        UINT *puArgErr);
21049
21050    /*** ISpeechPhraseReplacement methods ***/
21051    HRESULT (STDMETHODCALLTYPE *get_DisplayAttributes)(
21052        ISpeechPhraseReplacement* This,
21053        SpeechDisplayAttributes *DisplayAttributes);
21054
21055    HRESULT (STDMETHODCALLTYPE *get_Text)(
21056        ISpeechPhraseReplacement* This,
21057        BSTR *Text);
21058
21059    HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
21060        ISpeechPhraseReplacement* This,
21061        LONG *FirstElement);
21062
21063    HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
21064        ISpeechPhraseReplacement* This,
21065        LONG *NumberOfElements);
21066
21067    END_INTERFACE
21068} ISpeechPhraseReplacementVtbl;
21069interface ISpeechPhraseReplacement {
21070    CONST_VTBL ISpeechPhraseReplacementVtbl* lpVtbl;
21071};
21072
21073#ifdef COBJMACROS
21074#ifndef WIDL_C_INLINE_WRAPPERS
21075/*** IUnknown methods ***/
21076#define ISpeechPhraseReplacement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21077#define ISpeechPhraseReplacement_AddRef(This) (This)->lpVtbl->AddRef(This)
21078#define ISpeechPhraseReplacement_Release(This) (This)->lpVtbl->Release(This)
21079/*** IDispatch methods ***/
21080#define ISpeechPhraseReplacement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
21081#define ISpeechPhraseReplacement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
21082#define ISpeechPhraseReplacement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
21083#define ISpeechPhraseReplacement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
21084/*** ISpeechPhraseReplacement methods ***/
21085#define ISpeechPhraseReplacement_get_DisplayAttributes(This,DisplayAttributes) (This)->lpVtbl->get_DisplayAttributes(This,DisplayAttributes)
21086#define ISpeechPhraseReplacement_get_Text(This,Text) (This)->lpVtbl->get_Text(This,Text)
21087#define ISpeechPhraseReplacement_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
21088#define ISpeechPhraseReplacement_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
21089#else
21090/*** IUnknown methods ***/
21091static FORCEINLINE HRESULT ISpeechPhraseReplacement_QueryInterface(ISpeechPhraseReplacement* This,REFIID riid,void **ppvObject) {
21092    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21093}
21094static FORCEINLINE ULONG ISpeechPhraseReplacement_AddRef(ISpeechPhraseReplacement* This) {
21095    return This->lpVtbl->AddRef(This);
21096}
21097static FORCEINLINE ULONG ISpeechPhraseReplacement_Release(ISpeechPhraseReplacement* This) {
21098    return This->lpVtbl->Release(This);
21099}
21100/*** IDispatch methods ***/
21101static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetTypeInfoCount(ISpeechPhraseReplacement* This,UINT *pctinfo) {
21102    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
21103}
21104static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetTypeInfo(ISpeechPhraseReplacement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
21105    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
21106}
21107static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetIDsOfNames(ISpeechPhraseReplacement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
21108    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
21109}
21110static FORCEINLINE HRESULT ISpeechPhraseReplacement_Invoke(ISpeechPhraseReplacement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
21111    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
21112}
21113/*** ISpeechPhraseReplacement methods ***/
21114static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_DisplayAttributes(ISpeechPhraseReplacement* This,SpeechDisplayAttributes *DisplayAttributes) {
21115    return This->lpVtbl->get_DisplayAttributes(This,DisplayAttributes);
21116}
21117static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_Text(ISpeechPhraseReplacement* This,BSTR *Text) {
21118    return This->lpVtbl->get_Text(This,Text);
21119}
21120static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_FirstElement(ISpeechPhraseReplacement* This,LONG *FirstElement) {
21121    return This->lpVtbl->get_FirstElement(This,FirstElement);
21122}
21123static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_NumberOfElements(ISpeechPhraseReplacement* This,LONG *NumberOfElements) {
21124    return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
21125}
21126#endif
21127#endif
21128
21129#endif
21130
21131HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_DisplayAttributes_Proxy(
21132    ISpeechPhraseReplacement* This,
21133    SpeechDisplayAttributes *DisplayAttributes);
21134void __RPC_STUB ISpeechPhraseReplacement_get_DisplayAttributes_Stub(
21135    IRpcStubBuffer* This,
21136    IRpcChannelBuffer* pRpcChannelBuffer,
21137    PRPC_MESSAGE pRpcMessage,
21138    DWORD* pdwStubPhase);
21139HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_Text_Proxy(
21140    ISpeechPhraseReplacement* This,
21141    BSTR *Text);
21142void __RPC_STUB ISpeechPhraseReplacement_get_Text_Stub(
21143    IRpcStubBuffer* This,
21144    IRpcChannelBuffer* pRpcChannelBuffer,
21145    PRPC_MESSAGE pRpcMessage,
21146    DWORD* pdwStubPhase);
21147HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_FirstElement_Proxy(
21148    ISpeechPhraseReplacement* This,
21149    LONG *FirstElement);
21150void __RPC_STUB ISpeechPhraseReplacement_get_FirstElement_Stub(
21151    IRpcStubBuffer* This,
21152    IRpcChannelBuffer* pRpcChannelBuffer,
21153    PRPC_MESSAGE pRpcMessage,
21154    DWORD* pdwStubPhase);
21155HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_NumberOfElements_Proxy(
21156    ISpeechPhraseReplacement* This,
21157    LONG *NumberOfElements);
21158void __RPC_STUB ISpeechPhraseReplacement_get_NumberOfElements_Stub(
21159    IRpcStubBuffer* This,
21160    IRpcChannelBuffer* pRpcChannelBuffer,
21161    PRPC_MESSAGE pRpcMessage,
21162    DWORD* pdwStubPhase);
21163
21164#endif  /* __ISpeechPhraseReplacement_INTERFACE_DEFINED__ */
21165
21166/*****************************************************************************
21167 * ISpeechPhraseReplacements interface
21168 */
21169#ifndef __ISpeechPhraseReplacements_INTERFACE_DEFINED__
21170#define __ISpeechPhraseReplacements_INTERFACE_DEFINED__
21171
21172DEFINE_GUID(IID_ISpeechPhraseReplacements, 0x38bc662f, 0x2257, 0x4525, 0x95,0x9e, 0x20,0x69,0xd2,0x59,0x6c,0x05);
21173#if defined(__cplusplus) && !defined(CINTERFACE)
21174MIDL_INTERFACE("38bc662f-2257-4525-959e-2069d2596c05")
21175ISpeechPhraseReplacements : public IDispatch
21176{
21177    virtual HRESULT STDMETHODCALLTYPE get_Count(
21178        LONG *Count) = 0;
21179
21180    virtual HRESULT STDMETHODCALLTYPE Item(
21181        LONG Index,
21182        ISpeechPhraseReplacement **Reps) = 0;
21183
21184    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
21185        IUnknown **EnumVARIANT) = 0;
21186
21187};
21188#ifdef __CRT_UUID_DECL
21189__CRT_UUID_DECL(ISpeechPhraseReplacements, 0x38bc662f, 0x2257, 0x4525, 0x95,0x9e, 0x20,0x69,0xd2,0x59,0x6c,0x05)
21190#endif
21191#else
21192typedef struct ISpeechPhraseReplacementsVtbl {
21193    BEGIN_INTERFACE
21194
21195    /*** IUnknown methods ***/
21196    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21197        ISpeechPhraseReplacements* This,
21198        REFIID riid,
21199        void **ppvObject);
21200
21201    ULONG (STDMETHODCALLTYPE *AddRef)(
21202        ISpeechPhraseReplacements* This);
21203
21204    ULONG (STDMETHODCALLTYPE *Release)(
21205        ISpeechPhraseReplacements* This);
21206
21207    /*** IDispatch methods ***/
21208    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
21209        ISpeechPhraseReplacements* This,
21210        UINT *pctinfo);
21211
21212    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
21213        ISpeechPhraseReplacements* This,
21214        UINT iTInfo,
21215        LCID lcid,
21216        ITypeInfo **ppTInfo);
21217
21218    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
21219        ISpeechPhraseReplacements* This,
21220        REFIID riid,
21221        LPOLESTR *rgszNames,
21222        UINT cNames,
21223        LCID lcid,
21224        DISPID *rgDispId);
21225
21226    HRESULT (STDMETHODCALLTYPE *Invoke)(
21227        ISpeechPhraseReplacements* This,
21228        DISPID dispIdMember,
21229        REFIID riid,
21230        LCID lcid,
21231        WORD wFlags,
21232        DISPPARAMS *pDispParams,
21233        VARIANT *pVarResult,
21234        EXCEPINFO *pExcepInfo,
21235        UINT *puArgErr);
21236
21237    /*** ISpeechPhraseReplacements methods ***/
21238    HRESULT (STDMETHODCALLTYPE *get_Count)(
21239        ISpeechPhraseReplacements* This,
21240        LONG *Count);
21241
21242    HRESULT (STDMETHODCALLTYPE *Item)(
21243        ISpeechPhraseReplacements* This,
21244        LONG Index,
21245        ISpeechPhraseReplacement **Reps);
21246
21247    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
21248        ISpeechPhraseReplacements* This,
21249        IUnknown **EnumVARIANT);
21250
21251    END_INTERFACE
21252} ISpeechPhraseReplacementsVtbl;
21253interface ISpeechPhraseReplacements {
21254    CONST_VTBL ISpeechPhraseReplacementsVtbl* lpVtbl;
21255};
21256
21257#ifdef COBJMACROS
21258#ifndef WIDL_C_INLINE_WRAPPERS
21259/*** IUnknown methods ***/
21260#define ISpeechPhraseReplacements_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21261#define ISpeechPhraseReplacements_AddRef(This) (This)->lpVtbl->AddRef(This)
21262#define ISpeechPhraseReplacements_Release(This) (This)->lpVtbl->Release(This)
21263/*** IDispatch methods ***/
21264#define ISpeechPhraseReplacements_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
21265#define ISpeechPhraseReplacements_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
21266#define ISpeechPhraseReplacements_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
21267#define ISpeechPhraseReplacements_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
21268/*** ISpeechPhraseReplacements methods ***/
21269#define ISpeechPhraseReplacements_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
21270#define ISpeechPhraseReplacements_Item(This,Index,Reps) (This)->lpVtbl->Item(This,Index,Reps)
21271#define ISpeechPhraseReplacements_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
21272#else
21273/*** IUnknown methods ***/
21274static FORCEINLINE HRESULT ISpeechPhraseReplacements_QueryInterface(ISpeechPhraseReplacements* This,REFIID riid,void **ppvObject) {
21275    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21276}
21277static FORCEINLINE ULONG ISpeechPhraseReplacements_AddRef(ISpeechPhraseReplacements* This) {
21278    return This->lpVtbl->AddRef(This);
21279}
21280static FORCEINLINE ULONG ISpeechPhraseReplacements_Release(ISpeechPhraseReplacements* This) {
21281    return This->lpVtbl->Release(This);
21282}
21283/*** IDispatch methods ***/
21284static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetTypeInfoCount(ISpeechPhraseReplacements* This,UINT *pctinfo) {
21285    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
21286}
21287static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetTypeInfo(ISpeechPhraseReplacements* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
21288    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
21289}
21290static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetIDsOfNames(ISpeechPhraseReplacements* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
21291    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
21292}
21293static FORCEINLINE HRESULT ISpeechPhraseReplacements_Invoke(ISpeechPhraseReplacements* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
21294    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
21295}
21296/*** ISpeechPhraseReplacements methods ***/
21297static FORCEINLINE HRESULT ISpeechPhraseReplacements_get_Count(ISpeechPhraseReplacements* This,LONG *Count) {
21298    return This->lpVtbl->get_Count(This,Count);
21299}
21300static FORCEINLINE HRESULT ISpeechPhraseReplacements_Item(ISpeechPhraseReplacements* This,LONG Index,ISpeechPhraseReplacement **Reps) {
21301    return This->lpVtbl->Item(This,Index,Reps);
21302}
21303static FORCEINLINE HRESULT ISpeechPhraseReplacements_get__NewEnum(ISpeechPhraseReplacements* This,IUnknown **EnumVARIANT) {
21304    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
21305}
21306#endif
21307#endif
21308
21309#endif
21310
21311HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_get_Count_Proxy(
21312    ISpeechPhraseReplacements* This,
21313    LONG *Count);
21314void __RPC_STUB ISpeechPhraseReplacements_get_Count_Stub(
21315    IRpcStubBuffer* This,
21316    IRpcChannelBuffer* pRpcChannelBuffer,
21317    PRPC_MESSAGE pRpcMessage,
21318    DWORD* pdwStubPhase);
21319HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_Item_Proxy(
21320    ISpeechPhraseReplacements* This,
21321    LONG Index,
21322    ISpeechPhraseReplacement **Reps);
21323void __RPC_STUB ISpeechPhraseReplacements_Item_Stub(
21324    IRpcStubBuffer* This,
21325    IRpcChannelBuffer* pRpcChannelBuffer,
21326    PRPC_MESSAGE pRpcMessage,
21327    DWORD* pdwStubPhase);
21328HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_get__NewEnum_Proxy(
21329    ISpeechPhraseReplacements* This,
21330    IUnknown **EnumVARIANT);
21331void __RPC_STUB ISpeechPhraseReplacements_get__NewEnum_Stub(
21332    IRpcStubBuffer* This,
21333    IRpcChannelBuffer* pRpcChannelBuffer,
21334    PRPC_MESSAGE pRpcMessage,
21335    DWORD* pdwStubPhase);
21336
21337#endif  /* __ISpeechPhraseReplacements_INTERFACE_DEFINED__ */
21338
21339/*****************************************************************************
21340 * ISpeechPhraseProperty interface
21341 */
21342#ifndef __ISpeechPhraseProperty_INTERFACE_DEFINED__
21343#define __ISpeechPhraseProperty_INTERFACE_DEFINED__
21344
21345DEFINE_GUID(IID_ISpeechPhraseProperty, 0xce563d48, 0x961e, 0x4732, 0xa2,0xe1, 0x37,0x8a,0x42,0xb4,0x30,0xbe);
21346#if defined(__cplusplus) && !defined(CINTERFACE)
21347MIDL_INTERFACE("ce563d48-961e-4732-a2e1-378a42b430be")
21348ISpeechPhraseProperty : public IDispatch
21349{
21350    virtual HRESULT STDMETHODCALLTYPE get_Name(
21351        BSTR *Name) = 0;
21352
21353    virtual HRESULT STDMETHODCALLTYPE get_Id(
21354        LONG *Id) = 0;
21355
21356    virtual HRESULT STDMETHODCALLTYPE get_Value(
21357        VARIANT *Value) = 0;
21358
21359    virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
21360        LONG *FirstElement) = 0;
21361
21362    virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
21363        LONG *NumberOfElements) = 0;
21364
21365    virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
21366        float *Confidence) = 0;
21367
21368    virtual HRESULT STDMETHODCALLTYPE get_Confidence(
21369        SpeechEngineConfidence *Confidence) = 0;
21370
21371    virtual HRESULT STDMETHODCALLTYPE get_Parent(
21372        ISpeechPhraseProperty **ParentProperty) = 0;
21373
21374    virtual HRESULT STDMETHODCALLTYPE get_Children(
21375        ISpeechPhraseProperties **Children) = 0;
21376
21377};
21378#ifdef __CRT_UUID_DECL
21379__CRT_UUID_DECL(ISpeechPhraseProperty, 0xce563d48, 0x961e, 0x4732, 0xa2,0xe1, 0x37,0x8a,0x42,0xb4,0x30,0xbe)
21380#endif
21381#else
21382typedef struct ISpeechPhrasePropertyVtbl {
21383    BEGIN_INTERFACE
21384
21385    /*** IUnknown methods ***/
21386    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21387        ISpeechPhraseProperty* This,
21388        REFIID riid,
21389        void **ppvObject);
21390
21391    ULONG (STDMETHODCALLTYPE *AddRef)(
21392        ISpeechPhraseProperty* This);
21393
21394    ULONG (STDMETHODCALLTYPE *Release)(
21395        ISpeechPhraseProperty* This);
21396
21397    /*** IDispatch methods ***/
21398    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
21399        ISpeechPhraseProperty* This,
21400        UINT *pctinfo);
21401
21402    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
21403        ISpeechPhraseProperty* This,
21404        UINT iTInfo,
21405        LCID lcid,
21406        ITypeInfo **ppTInfo);
21407
21408    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
21409        ISpeechPhraseProperty* This,
21410        REFIID riid,
21411        LPOLESTR *rgszNames,
21412        UINT cNames,
21413        LCID lcid,
21414        DISPID *rgDispId);
21415
21416    HRESULT (STDMETHODCALLTYPE *Invoke)(
21417        ISpeechPhraseProperty* This,
21418        DISPID dispIdMember,
21419        REFIID riid,
21420        LCID lcid,
21421        WORD wFlags,
21422        DISPPARAMS *pDispParams,
21423        VARIANT *pVarResult,
21424        EXCEPINFO *pExcepInfo,
21425        UINT *puArgErr);
21426
21427    /*** ISpeechPhraseProperty methods ***/
21428    HRESULT (STDMETHODCALLTYPE *get_Name)(
21429        ISpeechPhraseProperty* This,
21430        BSTR *Name);
21431
21432    HRESULT (STDMETHODCALLTYPE *get_Id)(
21433        ISpeechPhraseProperty* This,
21434        LONG *Id);
21435
21436    HRESULT (STDMETHODCALLTYPE *get_Value)(
21437        ISpeechPhraseProperty* This,
21438        VARIANT *Value);
21439
21440    HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
21441        ISpeechPhraseProperty* This,
21442        LONG *FirstElement);
21443
21444    HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
21445        ISpeechPhraseProperty* This,
21446        LONG *NumberOfElements);
21447
21448    HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
21449        ISpeechPhraseProperty* This,
21450        float *Confidence);
21451
21452    HRESULT (STDMETHODCALLTYPE *get_Confidence)(
21453        ISpeechPhraseProperty* This,
21454        SpeechEngineConfidence *Confidence);
21455
21456    HRESULT (STDMETHODCALLTYPE *get_Parent)(
21457        ISpeechPhraseProperty* This,
21458        ISpeechPhraseProperty **ParentProperty);
21459
21460    HRESULT (STDMETHODCALLTYPE *get_Children)(
21461        ISpeechPhraseProperty* This,
21462        ISpeechPhraseProperties **Children);
21463
21464    END_INTERFACE
21465} ISpeechPhrasePropertyVtbl;
21466interface ISpeechPhraseProperty {
21467    CONST_VTBL ISpeechPhrasePropertyVtbl* lpVtbl;
21468};
21469
21470#ifdef COBJMACROS
21471#ifndef WIDL_C_INLINE_WRAPPERS
21472/*** IUnknown methods ***/
21473#define ISpeechPhraseProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21474#define ISpeechPhraseProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
21475#define ISpeechPhraseProperty_Release(This) (This)->lpVtbl->Release(This)
21476/*** IDispatch methods ***/
21477#define ISpeechPhraseProperty_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
21478#define ISpeechPhraseProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
21479#define ISpeechPhraseProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
21480#define ISpeechPhraseProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
21481/*** ISpeechPhraseProperty methods ***/
21482#define ISpeechPhraseProperty_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
21483#define ISpeechPhraseProperty_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
21484#define ISpeechPhraseProperty_get_Value(This,Value) (This)->lpVtbl->get_Value(This,Value)
21485#define ISpeechPhraseProperty_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
21486#define ISpeechPhraseProperty_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
21487#define ISpeechPhraseProperty_get_EngineConfidence(This,Confidence) (This)->lpVtbl->get_EngineConfidence(This,Confidence)
21488#define ISpeechPhraseProperty_get_Confidence(This,Confidence) (This)->lpVtbl->get_Confidence(This,Confidence)
21489#define ISpeechPhraseProperty_get_Parent(This,ParentProperty) (This)->lpVtbl->get_Parent(This,ParentProperty)
21490#define ISpeechPhraseProperty_get_Children(This,Children) (This)->lpVtbl->get_Children(This,Children)
21491#else
21492/*** IUnknown methods ***/
21493static FORCEINLINE HRESULT ISpeechPhraseProperty_QueryInterface(ISpeechPhraseProperty* This,REFIID riid,void **ppvObject) {
21494    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21495}
21496static FORCEINLINE ULONG ISpeechPhraseProperty_AddRef(ISpeechPhraseProperty* This) {
21497    return This->lpVtbl->AddRef(This);
21498}
21499static FORCEINLINE ULONG ISpeechPhraseProperty_Release(ISpeechPhraseProperty* This) {
21500    return This->lpVtbl->Release(This);
21501}
21502/*** IDispatch methods ***/
21503static FORCEINLINE HRESULT ISpeechPhraseProperty_GetTypeInfoCount(ISpeechPhraseProperty* This,UINT *pctinfo) {
21504    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
21505}
21506static FORCEINLINE HRESULT ISpeechPhraseProperty_GetTypeInfo(ISpeechPhraseProperty* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
21507    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
21508}
21509static FORCEINLINE HRESULT ISpeechPhraseProperty_GetIDsOfNames(ISpeechPhraseProperty* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
21510    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
21511}
21512static FORCEINLINE HRESULT ISpeechPhraseProperty_Invoke(ISpeechPhraseProperty* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
21513    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
21514}
21515/*** ISpeechPhraseProperty methods ***/
21516static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Name(ISpeechPhraseProperty* This,BSTR *Name) {
21517    return This->lpVtbl->get_Name(This,Name);
21518}
21519static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Id(ISpeechPhraseProperty* This,LONG *Id) {
21520    return This->lpVtbl->get_Id(This,Id);
21521}
21522static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Value(ISpeechPhraseProperty* This,VARIANT *Value) {
21523    return This->lpVtbl->get_Value(This,Value);
21524}
21525static FORCEINLINE HRESULT ISpeechPhraseProperty_get_FirstElement(ISpeechPhraseProperty* This,LONG *FirstElement) {
21526    return This->lpVtbl->get_FirstElement(This,FirstElement);
21527}
21528static FORCEINLINE HRESULT ISpeechPhraseProperty_get_NumberOfElements(ISpeechPhraseProperty* This,LONG *NumberOfElements) {
21529    return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
21530}
21531static FORCEINLINE HRESULT ISpeechPhraseProperty_get_EngineConfidence(ISpeechPhraseProperty* This,float *Confidence) {
21532    return This->lpVtbl->get_EngineConfidence(This,Confidence);
21533}
21534static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Confidence(ISpeechPhraseProperty* This,SpeechEngineConfidence *Confidence) {
21535    return This->lpVtbl->get_Confidence(This,Confidence);
21536}
21537static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Parent(ISpeechPhraseProperty* This,ISpeechPhraseProperty **ParentProperty) {
21538    return This->lpVtbl->get_Parent(This,ParentProperty);
21539}
21540static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Children(ISpeechPhraseProperty* This,ISpeechPhraseProperties **Children) {
21541    return This->lpVtbl->get_Children(This,Children);
21542}
21543#endif
21544#endif
21545
21546#endif
21547
21548HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Name_Proxy(
21549    ISpeechPhraseProperty* This,
21550    BSTR *Name);
21551void __RPC_STUB ISpeechPhraseProperty_get_Name_Stub(
21552    IRpcStubBuffer* This,
21553    IRpcChannelBuffer* pRpcChannelBuffer,
21554    PRPC_MESSAGE pRpcMessage,
21555    DWORD* pdwStubPhase);
21556HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Id_Proxy(
21557    ISpeechPhraseProperty* This,
21558    LONG *Id);
21559void __RPC_STUB ISpeechPhraseProperty_get_Id_Stub(
21560    IRpcStubBuffer* This,
21561    IRpcChannelBuffer* pRpcChannelBuffer,
21562    PRPC_MESSAGE pRpcMessage,
21563    DWORD* pdwStubPhase);
21564HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Value_Proxy(
21565    ISpeechPhraseProperty* This,
21566    VARIANT *Value);
21567void __RPC_STUB ISpeechPhraseProperty_get_Value_Stub(
21568    IRpcStubBuffer* This,
21569    IRpcChannelBuffer* pRpcChannelBuffer,
21570    PRPC_MESSAGE pRpcMessage,
21571    DWORD* pdwStubPhase);
21572HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_FirstElement_Proxy(
21573    ISpeechPhraseProperty* This,
21574    LONG *FirstElement);
21575void __RPC_STUB ISpeechPhraseProperty_get_FirstElement_Stub(
21576    IRpcStubBuffer* This,
21577    IRpcChannelBuffer* pRpcChannelBuffer,
21578    PRPC_MESSAGE pRpcMessage,
21579    DWORD* pdwStubPhase);
21580HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_NumberOfElements_Proxy(
21581    ISpeechPhraseProperty* This,
21582    LONG *NumberOfElements);
21583void __RPC_STUB ISpeechPhraseProperty_get_NumberOfElements_Stub(
21584    IRpcStubBuffer* This,
21585    IRpcChannelBuffer* pRpcChannelBuffer,
21586    PRPC_MESSAGE pRpcMessage,
21587    DWORD* pdwStubPhase);
21588HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_EngineConfidence_Proxy(
21589    ISpeechPhraseProperty* This,
21590    float *Confidence);
21591void __RPC_STUB ISpeechPhraseProperty_get_EngineConfidence_Stub(
21592    IRpcStubBuffer* This,
21593    IRpcChannelBuffer* pRpcChannelBuffer,
21594    PRPC_MESSAGE pRpcMessage,
21595    DWORD* pdwStubPhase);
21596HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Confidence_Proxy(
21597    ISpeechPhraseProperty* This,
21598    SpeechEngineConfidence *Confidence);
21599void __RPC_STUB ISpeechPhraseProperty_get_Confidence_Stub(
21600    IRpcStubBuffer* This,
21601    IRpcChannelBuffer* pRpcChannelBuffer,
21602    PRPC_MESSAGE pRpcMessage,
21603    DWORD* pdwStubPhase);
21604HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Parent_Proxy(
21605    ISpeechPhraseProperty* This,
21606    ISpeechPhraseProperty **ParentProperty);
21607void __RPC_STUB ISpeechPhraseProperty_get_Parent_Stub(
21608    IRpcStubBuffer* This,
21609    IRpcChannelBuffer* pRpcChannelBuffer,
21610    PRPC_MESSAGE pRpcMessage,
21611    DWORD* pdwStubPhase);
21612HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Children_Proxy(
21613    ISpeechPhraseProperty* This,
21614    ISpeechPhraseProperties **Children);
21615void __RPC_STUB ISpeechPhraseProperty_get_Children_Stub(
21616    IRpcStubBuffer* This,
21617    IRpcChannelBuffer* pRpcChannelBuffer,
21618    PRPC_MESSAGE pRpcMessage,
21619    DWORD* pdwStubPhase);
21620
21621#endif  /* __ISpeechPhraseProperty_INTERFACE_DEFINED__ */
21622
21623/*****************************************************************************
21624 * ISpeechPhraseProperties interface
21625 */
21626#ifndef __ISpeechPhraseProperties_INTERFACE_DEFINED__
21627#define __ISpeechPhraseProperties_INTERFACE_DEFINED__
21628
21629DEFINE_GUID(IID_ISpeechPhraseProperties, 0x08166b47, 0x102e, 0x4b23, 0xa5,0x99, 0xbd,0xb9,0x8d,0xbf,0xd1,0xf4);
21630#if defined(__cplusplus) && !defined(CINTERFACE)
21631MIDL_INTERFACE("08166b47-102e-4b23-a599-bdb98dbfd1f4")
21632ISpeechPhraseProperties : public IDispatch
21633{
21634    virtual HRESULT STDMETHODCALLTYPE get_Count(
21635        LONG *Count) = 0;
21636
21637    virtual HRESULT STDMETHODCALLTYPE Item(
21638        LONG Index,
21639        ISpeechPhraseProperty **Property) = 0;
21640
21641    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
21642        IUnknown **EnumVARIANT) = 0;
21643
21644};
21645#ifdef __CRT_UUID_DECL
21646__CRT_UUID_DECL(ISpeechPhraseProperties, 0x08166b47, 0x102e, 0x4b23, 0xa5,0x99, 0xbd,0xb9,0x8d,0xbf,0xd1,0xf4)
21647#endif
21648#else
21649typedef struct ISpeechPhrasePropertiesVtbl {
21650    BEGIN_INTERFACE
21651
21652    /*** IUnknown methods ***/
21653    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21654        ISpeechPhraseProperties* This,
21655        REFIID riid,
21656        void **ppvObject);
21657
21658    ULONG (STDMETHODCALLTYPE *AddRef)(
21659        ISpeechPhraseProperties* This);
21660
21661    ULONG (STDMETHODCALLTYPE *Release)(
21662        ISpeechPhraseProperties* This);
21663
21664    /*** IDispatch methods ***/
21665    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
21666        ISpeechPhraseProperties* This,
21667        UINT *pctinfo);
21668
21669    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
21670        ISpeechPhraseProperties* This,
21671        UINT iTInfo,
21672        LCID lcid,
21673        ITypeInfo **ppTInfo);
21674
21675    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
21676        ISpeechPhraseProperties* This,
21677        REFIID riid,
21678        LPOLESTR *rgszNames,
21679        UINT cNames,
21680        LCID lcid,
21681        DISPID *rgDispId);
21682
21683    HRESULT (STDMETHODCALLTYPE *Invoke)(
21684        ISpeechPhraseProperties* This,
21685        DISPID dispIdMember,
21686        REFIID riid,
21687        LCID lcid,
21688        WORD wFlags,
21689        DISPPARAMS *pDispParams,
21690        VARIANT *pVarResult,
21691        EXCEPINFO *pExcepInfo,
21692        UINT *puArgErr);
21693
21694    /*** ISpeechPhraseProperties methods ***/
21695    HRESULT (STDMETHODCALLTYPE *get_Count)(
21696        ISpeechPhraseProperties* This,
21697        LONG *Count);
21698
21699    HRESULT (STDMETHODCALLTYPE *Item)(
21700        ISpeechPhraseProperties* This,
21701        LONG Index,
21702        ISpeechPhraseProperty **Property);
21703
21704    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
21705        ISpeechPhraseProperties* This,
21706        IUnknown **EnumVARIANT);
21707
21708    END_INTERFACE
21709} ISpeechPhrasePropertiesVtbl;
21710interface ISpeechPhraseProperties {
21711    CONST_VTBL ISpeechPhrasePropertiesVtbl* lpVtbl;
21712};
21713
21714#ifdef COBJMACROS
21715#ifndef WIDL_C_INLINE_WRAPPERS
21716/*** IUnknown methods ***/
21717#define ISpeechPhraseProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21718#define ISpeechPhraseProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
21719#define ISpeechPhraseProperties_Release(This) (This)->lpVtbl->Release(This)
21720/*** IDispatch methods ***/
21721#define ISpeechPhraseProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
21722#define ISpeechPhraseProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
21723#define ISpeechPhraseProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
21724#define ISpeechPhraseProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
21725/*** ISpeechPhraseProperties methods ***/
21726#define ISpeechPhraseProperties_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
21727#define ISpeechPhraseProperties_Item(This,Index,Property) (This)->lpVtbl->Item(This,Index,Property)
21728#define ISpeechPhraseProperties_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
21729#else
21730/*** IUnknown methods ***/
21731static FORCEINLINE HRESULT ISpeechPhraseProperties_QueryInterface(ISpeechPhraseProperties* This,REFIID riid,void **ppvObject) {
21732    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21733}
21734static FORCEINLINE ULONG ISpeechPhraseProperties_AddRef(ISpeechPhraseProperties* This) {
21735    return This->lpVtbl->AddRef(This);
21736}
21737static FORCEINLINE ULONG ISpeechPhraseProperties_Release(ISpeechPhraseProperties* This) {
21738    return This->lpVtbl->Release(This);
21739}
21740/*** IDispatch methods ***/
21741static FORCEINLINE HRESULT ISpeechPhraseProperties_GetTypeInfoCount(ISpeechPhraseProperties* This,UINT *pctinfo) {
21742    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
21743}
21744static FORCEINLINE HRESULT ISpeechPhraseProperties_GetTypeInfo(ISpeechPhraseProperties* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
21745    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
21746}
21747static FORCEINLINE HRESULT ISpeechPhraseProperties_GetIDsOfNames(ISpeechPhraseProperties* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
21748    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
21749}
21750static FORCEINLINE HRESULT ISpeechPhraseProperties_Invoke(ISpeechPhraseProperties* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
21751    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
21752}
21753/*** ISpeechPhraseProperties methods ***/
21754static FORCEINLINE HRESULT ISpeechPhraseProperties_get_Count(ISpeechPhraseProperties* This,LONG *Count) {
21755    return This->lpVtbl->get_Count(This,Count);
21756}
21757static FORCEINLINE HRESULT ISpeechPhraseProperties_Item(ISpeechPhraseProperties* This,LONG Index,ISpeechPhraseProperty **Property) {
21758    return This->lpVtbl->Item(This,Index,Property);
21759}
21760static FORCEINLINE HRESULT ISpeechPhraseProperties_get__NewEnum(ISpeechPhraseProperties* This,IUnknown **EnumVARIANT) {
21761    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
21762}
21763#endif
21764#endif
21765
21766#endif
21767
21768HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_get_Count_Proxy(
21769    ISpeechPhraseProperties* This,
21770    LONG *Count);
21771void __RPC_STUB ISpeechPhraseProperties_get_Count_Stub(
21772    IRpcStubBuffer* This,
21773    IRpcChannelBuffer* pRpcChannelBuffer,
21774    PRPC_MESSAGE pRpcMessage,
21775    DWORD* pdwStubPhase);
21776HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_Item_Proxy(
21777    ISpeechPhraseProperties* This,
21778    LONG Index,
21779    ISpeechPhraseProperty **Property);
21780void __RPC_STUB ISpeechPhraseProperties_Item_Stub(
21781    IRpcStubBuffer* This,
21782    IRpcChannelBuffer* pRpcChannelBuffer,
21783    PRPC_MESSAGE pRpcMessage,
21784    DWORD* pdwStubPhase);
21785HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_get__NewEnum_Proxy(
21786    ISpeechPhraseProperties* This,
21787    IUnknown **EnumVARIANT);
21788void __RPC_STUB ISpeechPhraseProperties_get__NewEnum_Stub(
21789    IRpcStubBuffer* This,
21790    IRpcChannelBuffer* pRpcChannelBuffer,
21791    PRPC_MESSAGE pRpcMessage,
21792    DWORD* pdwStubPhase);
21793
21794#endif  /* __ISpeechPhraseProperties_INTERFACE_DEFINED__ */
21795
21796/*****************************************************************************
21797 * ISpeechPhraseRule interface
21798 */
21799#ifndef __ISpeechPhraseRule_INTERFACE_DEFINED__
21800#define __ISpeechPhraseRule_INTERFACE_DEFINED__
21801
21802DEFINE_GUID(IID_ISpeechPhraseRule, 0xa7bfe112, 0xa4a0, 0x48d9, 0xb6,0x02, 0xc3,0x13,0x84,0x3f,0x69,0x64);
21803#if defined(__cplusplus) && !defined(CINTERFACE)
21804MIDL_INTERFACE("a7bfe112-a4a0-48d9-b602-c313843f6964")
21805ISpeechPhraseRule : public IDispatch
21806{
21807    virtual HRESULT STDMETHODCALLTYPE get_Name(
21808        BSTR *Name) = 0;
21809
21810    virtual HRESULT STDMETHODCALLTYPE get_Id(
21811        LONG *Id) = 0;
21812
21813    virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
21814        LONG *FirstElement) = 0;
21815
21816    virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
21817        LONG *NumberOfElements) = 0;
21818
21819    virtual HRESULT STDMETHODCALLTYPE get_Parent(
21820        ISpeechPhraseRule **Parent) = 0;
21821
21822    virtual HRESULT STDMETHODCALLTYPE get_Children(
21823        ISpeechPhraseRules **Children) = 0;
21824
21825    virtual HRESULT STDMETHODCALLTYPE get_Confidence(
21826        SpeechEngineConfidence *ActualConfidence) = 0;
21827
21828    virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
21829        float *EngineConfidence) = 0;
21830
21831};
21832#ifdef __CRT_UUID_DECL
21833__CRT_UUID_DECL(ISpeechPhraseRule, 0xa7bfe112, 0xa4a0, 0x48d9, 0xb6,0x02, 0xc3,0x13,0x84,0x3f,0x69,0x64)
21834#endif
21835#else
21836typedef struct ISpeechPhraseRuleVtbl {
21837    BEGIN_INTERFACE
21838
21839    /*** IUnknown methods ***/
21840    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
21841        ISpeechPhraseRule* This,
21842        REFIID riid,
21843        void **ppvObject);
21844
21845    ULONG (STDMETHODCALLTYPE *AddRef)(
21846        ISpeechPhraseRule* This);
21847
21848    ULONG (STDMETHODCALLTYPE *Release)(
21849        ISpeechPhraseRule* This);
21850
21851    /*** IDispatch methods ***/
21852    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
21853        ISpeechPhraseRule* This,
21854        UINT *pctinfo);
21855
21856    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
21857        ISpeechPhraseRule* This,
21858        UINT iTInfo,
21859        LCID lcid,
21860        ITypeInfo **ppTInfo);
21861
21862    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
21863        ISpeechPhraseRule* This,
21864        REFIID riid,
21865        LPOLESTR *rgszNames,
21866        UINT cNames,
21867        LCID lcid,
21868        DISPID *rgDispId);
21869
21870    HRESULT (STDMETHODCALLTYPE *Invoke)(
21871        ISpeechPhraseRule* This,
21872        DISPID dispIdMember,
21873        REFIID riid,
21874        LCID lcid,
21875        WORD wFlags,
21876        DISPPARAMS *pDispParams,
21877        VARIANT *pVarResult,
21878        EXCEPINFO *pExcepInfo,
21879        UINT *puArgErr);
21880
21881    /*** ISpeechPhraseRule methods ***/
21882    HRESULT (STDMETHODCALLTYPE *get_Name)(
21883        ISpeechPhraseRule* This,
21884        BSTR *Name);
21885
21886    HRESULT (STDMETHODCALLTYPE *get_Id)(
21887        ISpeechPhraseRule* This,
21888        LONG *Id);
21889
21890    HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
21891        ISpeechPhraseRule* This,
21892        LONG *FirstElement);
21893
21894    HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
21895        ISpeechPhraseRule* This,
21896        LONG *NumberOfElements);
21897
21898    HRESULT (STDMETHODCALLTYPE *get_Parent)(
21899        ISpeechPhraseRule* This,
21900        ISpeechPhraseRule **Parent);
21901
21902    HRESULT (STDMETHODCALLTYPE *get_Children)(
21903        ISpeechPhraseRule* This,
21904        ISpeechPhraseRules **Children);
21905
21906    HRESULT (STDMETHODCALLTYPE *get_Confidence)(
21907        ISpeechPhraseRule* This,
21908        SpeechEngineConfidence *ActualConfidence);
21909
21910    HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
21911        ISpeechPhraseRule* This,
21912        float *EngineConfidence);
21913
21914    END_INTERFACE
21915} ISpeechPhraseRuleVtbl;
21916interface ISpeechPhraseRule {
21917    CONST_VTBL ISpeechPhraseRuleVtbl* lpVtbl;
21918};
21919
21920#ifdef COBJMACROS
21921#ifndef WIDL_C_INLINE_WRAPPERS
21922/*** IUnknown methods ***/
21923#define ISpeechPhraseRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
21924#define ISpeechPhraseRule_AddRef(This) (This)->lpVtbl->AddRef(This)
21925#define ISpeechPhraseRule_Release(This) (This)->lpVtbl->Release(This)
21926/*** IDispatch methods ***/
21927#define ISpeechPhraseRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
21928#define ISpeechPhraseRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
21929#define ISpeechPhraseRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
21930#define ISpeechPhraseRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
21931/*** ISpeechPhraseRule methods ***/
21932#define ISpeechPhraseRule_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
21933#define ISpeechPhraseRule_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
21934#define ISpeechPhraseRule_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
21935#define ISpeechPhraseRule_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
21936#define ISpeechPhraseRule_get_Parent(This,Parent) (This)->lpVtbl->get_Parent(This,Parent)
21937#define ISpeechPhraseRule_get_Children(This,Children) (This)->lpVtbl->get_Children(This,Children)
21938#define ISpeechPhraseRule_get_Confidence(This,ActualConfidence) (This)->lpVtbl->get_Confidence(This,ActualConfidence)
21939#define ISpeechPhraseRule_get_EngineConfidence(This,EngineConfidence) (This)->lpVtbl->get_EngineConfidence(This,EngineConfidence)
21940#else
21941/*** IUnknown methods ***/
21942static FORCEINLINE HRESULT ISpeechPhraseRule_QueryInterface(ISpeechPhraseRule* This,REFIID riid,void **ppvObject) {
21943    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
21944}
21945static FORCEINLINE ULONG ISpeechPhraseRule_AddRef(ISpeechPhraseRule* This) {
21946    return This->lpVtbl->AddRef(This);
21947}
21948static FORCEINLINE ULONG ISpeechPhraseRule_Release(ISpeechPhraseRule* This) {
21949    return This->lpVtbl->Release(This);
21950}
21951/*** IDispatch methods ***/
21952static FORCEINLINE HRESULT ISpeechPhraseRule_GetTypeInfoCount(ISpeechPhraseRule* This,UINT *pctinfo) {
21953    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
21954}
21955static FORCEINLINE HRESULT ISpeechPhraseRule_GetTypeInfo(ISpeechPhraseRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
21956    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
21957}
21958static FORCEINLINE HRESULT ISpeechPhraseRule_GetIDsOfNames(ISpeechPhraseRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
21959    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
21960}
21961static FORCEINLINE HRESULT ISpeechPhraseRule_Invoke(ISpeechPhraseRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
21962    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
21963}
21964/*** ISpeechPhraseRule methods ***/
21965static FORCEINLINE HRESULT ISpeechPhraseRule_get_Name(ISpeechPhraseRule* This,BSTR *Name) {
21966    return This->lpVtbl->get_Name(This,Name);
21967}
21968static FORCEINLINE HRESULT ISpeechPhraseRule_get_Id(ISpeechPhraseRule* This,LONG *Id) {
21969    return This->lpVtbl->get_Id(This,Id);
21970}
21971static FORCEINLINE HRESULT ISpeechPhraseRule_get_FirstElement(ISpeechPhraseRule* This,LONG *FirstElement) {
21972    return This->lpVtbl->get_FirstElement(This,FirstElement);
21973}
21974static FORCEINLINE HRESULT ISpeechPhraseRule_get_NumberOfElements(ISpeechPhraseRule* This,LONG *NumberOfElements) {
21975    return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
21976}
21977static FORCEINLINE HRESULT ISpeechPhraseRule_get_Parent(ISpeechPhraseRule* This,ISpeechPhraseRule **Parent) {
21978    return This->lpVtbl->get_Parent(This,Parent);
21979}
21980static FORCEINLINE HRESULT ISpeechPhraseRule_get_Children(ISpeechPhraseRule* This,ISpeechPhraseRules **Children) {
21981    return This->lpVtbl->get_Children(This,Children);
21982}
21983static FORCEINLINE HRESULT ISpeechPhraseRule_get_Confidence(ISpeechPhraseRule* This,SpeechEngineConfidence *ActualConfidence) {
21984    return This->lpVtbl->get_Confidence(This,ActualConfidence);
21985}
21986static FORCEINLINE HRESULT ISpeechPhraseRule_get_EngineConfidence(ISpeechPhraseRule* This,float *EngineConfidence) {
21987    return This->lpVtbl->get_EngineConfidence(This,EngineConfidence);
21988}
21989#endif
21990#endif
21991
21992#endif
21993
21994HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Name_Proxy(
21995    ISpeechPhraseRule* This,
21996    BSTR *Name);
21997void __RPC_STUB ISpeechPhraseRule_get_Name_Stub(
21998    IRpcStubBuffer* This,
21999    IRpcChannelBuffer* pRpcChannelBuffer,
22000    PRPC_MESSAGE pRpcMessage,
22001    DWORD* pdwStubPhase);
22002HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Id_Proxy(
22003    ISpeechPhraseRule* This,
22004    LONG *Id);
22005void __RPC_STUB ISpeechPhraseRule_get_Id_Stub(
22006    IRpcStubBuffer* This,
22007    IRpcChannelBuffer* pRpcChannelBuffer,
22008    PRPC_MESSAGE pRpcMessage,
22009    DWORD* pdwStubPhase);
22010HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_FirstElement_Proxy(
22011    ISpeechPhraseRule* This,
22012    LONG *FirstElement);
22013void __RPC_STUB ISpeechPhraseRule_get_FirstElement_Stub(
22014    IRpcStubBuffer* This,
22015    IRpcChannelBuffer* pRpcChannelBuffer,
22016    PRPC_MESSAGE pRpcMessage,
22017    DWORD* pdwStubPhase);
22018HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_NumberOfElements_Proxy(
22019    ISpeechPhraseRule* This,
22020    LONG *NumberOfElements);
22021void __RPC_STUB ISpeechPhraseRule_get_NumberOfElements_Stub(
22022    IRpcStubBuffer* This,
22023    IRpcChannelBuffer* pRpcChannelBuffer,
22024    PRPC_MESSAGE pRpcMessage,
22025    DWORD* pdwStubPhase);
22026HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Parent_Proxy(
22027    ISpeechPhraseRule* This,
22028    ISpeechPhraseRule **Parent);
22029void __RPC_STUB ISpeechPhraseRule_get_Parent_Stub(
22030    IRpcStubBuffer* This,
22031    IRpcChannelBuffer* pRpcChannelBuffer,
22032    PRPC_MESSAGE pRpcMessage,
22033    DWORD* pdwStubPhase);
22034HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Children_Proxy(
22035    ISpeechPhraseRule* This,
22036    ISpeechPhraseRules **Children);
22037void __RPC_STUB ISpeechPhraseRule_get_Children_Stub(
22038    IRpcStubBuffer* This,
22039    IRpcChannelBuffer* pRpcChannelBuffer,
22040    PRPC_MESSAGE pRpcMessage,
22041    DWORD* pdwStubPhase);
22042HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Confidence_Proxy(
22043    ISpeechPhraseRule* This,
22044    SpeechEngineConfidence *ActualConfidence);
22045void __RPC_STUB ISpeechPhraseRule_get_Confidence_Stub(
22046    IRpcStubBuffer* This,
22047    IRpcChannelBuffer* pRpcChannelBuffer,
22048    PRPC_MESSAGE pRpcMessage,
22049    DWORD* pdwStubPhase);
22050HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_EngineConfidence_Proxy(
22051    ISpeechPhraseRule* This,
22052    float *EngineConfidence);
22053void __RPC_STUB ISpeechPhraseRule_get_EngineConfidence_Stub(
22054    IRpcStubBuffer* This,
22055    IRpcChannelBuffer* pRpcChannelBuffer,
22056    PRPC_MESSAGE pRpcMessage,
22057    DWORD* pdwStubPhase);
22058
22059#endif  /* __ISpeechPhraseRule_INTERFACE_DEFINED__ */
22060
22061/*****************************************************************************
22062 * ISpeechPhraseRules interface
22063 */
22064#ifndef __ISpeechPhraseRules_INTERFACE_DEFINED__
22065#define __ISpeechPhraseRules_INTERFACE_DEFINED__
22066
22067DEFINE_GUID(IID_ISpeechPhraseRules, 0x9047d593, 0x01dd, 0x4b72, 0x81,0xa3, 0xe4,0xa0,0xca,0x69,0xf4,0x07);
22068#if defined(__cplusplus) && !defined(CINTERFACE)
22069MIDL_INTERFACE("9047d593-01dd-4b72-81a3-e4a0ca69f407")
22070ISpeechPhraseRules : public IDispatch
22071{
22072    virtual HRESULT STDMETHODCALLTYPE get_Count(
22073        LONG *Count) = 0;
22074
22075    virtual HRESULT STDMETHODCALLTYPE Item(
22076        LONG Index,
22077        ISpeechPhraseRule **Rule) = 0;
22078
22079    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
22080        IUnknown **EnumVARIANT) = 0;
22081
22082};
22083#ifdef __CRT_UUID_DECL
22084__CRT_UUID_DECL(ISpeechPhraseRules, 0x9047d593, 0x01dd, 0x4b72, 0x81,0xa3, 0xe4,0xa0,0xca,0x69,0xf4,0x07)
22085#endif
22086#else
22087typedef struct ISpeechPhraseRulesVtbl {
22088    BEGIN_INTERFACE
22089
22090    /*** IUnknown methods ***/
22091    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
22092        ISpeechPhraseRules* This,
22093        REFIID riid,
22094        void **ppvObject);
22095
22096    ULONG (STDMETHODCALLTYPE *AddRef)(
22097        ISpeechPhraseRules* This);
22098
22099    ULONG (STDMETHODCALLTYPE *Release)(
22100        ISpeechPhraseRules* This);
22101
22102    /*** IDispatch methods ***/
22103    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
22104        ISpeechPhraseRules* This,
22105        UINT *pctinfo);
22106
22107    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
22108        ISpeechPhraseRules* This,
22109        UINT iTInfo,
22110        LCID lcid,
22111        ITypeInfo **ppTInfo);
22112
22113    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
22114        ISpeechPhraseRules* This,
22115        REFIID riid,
22116        LPOLESTR *rgszNames,
22117        UINT cNames,
22118        LCID lcid,
22119        DISPID *rgDispId);
22120
22121    HRESULT (STDMETHODCALLTYPE *Invoke)(
22122        ISpeechPhraseRules* This,
22123        DISPID dispIdMember,
22124        REFIID riid,
22125        LCID lcid,
22126        WORD wFlags,
22127        DISPPARAMS *pDispParams,
22128        VARIANT *pVarResult,
22129        EXCEPINFO *pExcepInfo,
22130        UINT *puArgErr);
22131
22132    /*** ISpeechPhraseRules methods ***/
22133    HRESULT (STDMETHODCALLTYPE *get_Count)(
22134        ISpeechPhraseRules* This,
22135        LONG *Count);
22136
22137    HRESULT (STDMETHODCALLTYPE *Item)(
22138        ISpeechPhraseRules* This,
22139        LONG Index,
22140        ISpeechPhraseRule **Rule);
22141
22142    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
22143        ISpeechPhraseRules* This,
22144        IUnknown **EnumVARIANT);
22145
22146    END_INTERFACE
22147} ISpeechPhraseRulesVtbl;
22148interface ISpeechPhraseRules {
22149    CONST_VTBL ISpeechPhraseRulesVtbl* lpVtbl;
22150};
22151
22152#ifdef COBJMACROS
22153#ifndef WIDL_C_INLINE_WRAPPERS
22154/*** IUnknown methods ***/
22155#define ISpeechPhraseRules_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
22156#define ISpeechPhraseRules_AddRef(This) (This)->lpVtbl->AddRef(This)
22157#define ISpeechPhraseRules_Release(This) (This)->lpVtbl->Release(This)
22158/*** IDispatch methods ***/
22159#define ISpeechPhraseRules_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
22160#define ISpeechPhraseRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
22161#define ISpeechPhraseRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
22162#define ISpeechPhraseRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
22163/*** ISpeechPhraseRules methods ***/
22164#define ISpeechPhraseRules_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
22165#define ISpeechPhraseRules_Item(This,Index,Rule) (This)->lpVtbl->Item(This,Index,Rule)
22166#define ISpeechPhraseRules_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
22167#else
22168/*** IUnknown methods ***/
22169static FORCEINLINE HRESULT ISpeechPhraseRules_QueryInterface(ISpeechPhraseRules* This,REFIID riid,void **ppvObject) {
22170    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
22171}
22172static FORCEINLINE ULONG ISpeechPhraseRules_AddRef(ISpeechPhraseRules* This) {
22173    return This->lpVtbl->AddRef(This);
22174}
22175static FORCEINLINE ULONG ISpeechPhraseRules_Release(ISpeechPhraseRules* This) {
22176    return This->lpVtbl->Release(This);
22177}
22178/*** IDispatch methods ***/
22179static FORCEINLINE HRESULT ISpeechPhraseRules_GetTypeInfoCount(ISpeechPhraseRules* This,UINT *pctinfo) {
22180    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
22181}
22182static FORCEINLINE HRESULT ISpeechPhraseRules_GetTypeInfo(ISpeechPhraseRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
22183    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
22184}
22185static FORCEINLINE HRESULT ISpeechPhraseRules_GetIDsOfNames(ISpeechPhraseRules* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
22186    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
22187}
22188static FORCEINLINE HRESULT ISpeechPhraseRules_Invoke(ISpeechPhraseRules* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
22189    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
22190}
22191/*** ISpeechPhraseRules methods ***/
22192static FORCEINLINE HRESULT ISpeechPhraseRules_get_Count(ISpeechPhraseRules* This,LONG *Count) {
22193    return This->lpVtbl->get_Count(This,Count);
22194}
22195static FORCEINLINE HRESULT ISpeechPhraseRules_Item(ISpeechPhraseRules* This,LONG Index,ISpeechPhraseRule **Rule) {
22196    return This->lpVtbl->Item(This,Index,Rule);
22197}
22198static FORCEINLINE HRESULT ISpeechPhraseRules_get__NewEnum(ISpeechPhraseRules* This,IUnknown **EnumVARIANT) {
22199    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
22200}
22201#endif
22202#endif
22203
22204#endif
22205
22206HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_get_Count_Proxy(
22207    ISpeechPhraseRules* This,
22208    LONG *Count);
22209void __RPC_STUB ISpeechPhraseRules_get_Count_Stub(
22210    IRpcStubBuffer* This,
22211    IRpcChannelBuffer* pRpcChannelBuffer,
22212    PRPC_MESSAGE pRpcMessage,
22213    DWORD* pdwStubPhase);
22214HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_Item_Proxy(
22215    ISpeechPhraseRules* This,
22216    LONG Index,
22217    ISpeechPhraseRule **Rule);
22218void __RPC_STUB ISpeechPhraseRules_Item_Stub(
22219    IRpcStubBuffer* This,
22220    IRpcChannelBuffer* pRpcChannelBuffer,
22221    PRPC_MESSAGE pRpcMessage,
22222    DWORD* pdwStubPhase);
22223HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_get__NewEnum_Proxy(
22224    ISpeechPhraseRules* This,
22225    IUnknown **EnumVARIANT);
22226void __RPC_STUB ISpeechPhraseRules_get__NewEnum_Stub(
22227    IRpcStubBuffer* This,
22228    IRpcChannelBuffer* pRpcChannelBuffer,
22229    PRPC_MESSAGE pRpcMessage,
22230    DWORD* pdwStubPhase);
22231
22232#endif  /* __ISpeechPhraseRules_INTERFACE_DEFINED__ */
22233
22234/*****************************************************************************
22235 * ISpeechLexiconWords interface
22236 */
22237#ifndef __ISpeechLexiconWords_INTERFACE_DEFINED__
22238#define __ISpeechLexiconWords_INTERFACE_DEFINED__
22239
22240DEFINE_GUID(IID_ISpeechLexiconWords, 0x8d199862, 0x415e, 0x47d5, 0xac,0x4f, 0xfa,0xa6,0x08,0xb4,0x24,0xe6);
22241#if defined(__cplusplus) && !defined(CINTERFACE)
22242MIDL_INTERFACE("8d199862-415e-47d5-ac4f-faa608b424e6")
22243ISpeechLexiconWords : public IDispatch
22244{
22245    virtual HRESULT STDMETHODCALLTYPE get_Count(
22246        LONG *Count) = 0;
22247
22248    virtual HRESULT STDMETHODCALLTYPE Item(
22249        LONG Index,
22250        ISpeechLexiconWord **Word) = 0;
22251
22252    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
22253        IUnknown **EnumVARIANT) = 0;
22254
22255};
22256#ifdef __CRT_UUID_DECL
22257__CRT_UUID_DECL(ISpeechLexiconWords, 0x8d199862, 0x415e, 0x47d5, 0xac,0x4f, 0xfa,0xa6,0x08,0xb4,0x24,0xe6)
22258#endif
22259#else
22260typedef struct ISpeechLexiconWordsVtbl {
22261    BEGIN_INTERFACE
22262
22263    /*** IUnknown methods ***/
22264    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
22265        ISpeechLexiconWords* This,
22266        REFIID riid,
22267        void **ppvObject);
22268
22269    ULONG (STDMETHODCALLTYPE *AddRef)(
22270        ISpeechLexiconWords* This);
22271
22272    ULONG (STDMETHODCALLTYPE *Release)(
22273        ISpeechLexiconWords* This);
22274
22275    /*** IDispatch methods ***/
22276    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
22277        ISpeechLexiconWords* This,
22278        UINT *pctinfo);
22279
22280    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
22281        ISpeechLexiconWords* This,
22282        UINT iTInfo,
22283        LCID lcid,
22284        ITypeInfo **ppTInfo);
22285
22286    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
22287        ISpeechLexiconWords* This,
22288        REFIID riid,
22289        LPOLESTR *rgszNames,
22290        UINT cNames,
22291        LCID lcid,
22292        DISPID *rgDispId);
22293
22294    HRESULT (STDMETHODCALLTYPE *Invoke)(
22295        ISpeechLexiconWords* This,
22296        DISPID dispIdMember,
22297        REFIID riid,
22298        LCID lcid,
22299        WORD wFlags,
22300        DISPPARAMS *pDispParams,
22301        VARIANT *pVarResult,
22302        EXCEPINFO *pExcepInfo,
22303        UINT *puArgErr);
22304
22305    /*** ISpeechLexiconWords methods ***/
22306    HRESULT (STDMETHODCALLTYPE *get_Count)(
22307        ISpeechLexiconWords* This,
22308        LONG *Count);
22309
22310    HRESULT (STDMETHODCALLTYPE *Item)(
22311        ISpeechLexiconWords* This,
22312        LONG Index,
22313        ISpeechLexiconWord **Word);
22314
22315    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
22316        ISpeechLexiconWords* This,
22317        IUnknown **EnumVARIANT);
22318
22319    END_INTERFACE
22320} ISpeechLexiconWordsVtbl;
22321interface ISpeechLexiconWords {
22322    CONST_VTBL ISpeechLexiconWordsVtbl* lpVtbl;
22323};
22324
22325#ifdef COBJMACROS
22326#ifndef WIDL_C_INLINE_WRAPPERS
22327/*** IUnknown methods ***/
22328#define ISpeechLexiconWords_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
22329#define ISpeechLexiconWords_AddRef(This) (This)->lpVtbl->AddRef(This)
22330#define ISpeechLexiconWords_Release(This) (This)->lpVtbl->Release(This)
22331/*** IDispatch methods ***/
22332#define ISpeechLexiconWords_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
22333#define ISpeechLexiconWords_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
22334#define ISpeechLexiconWords_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
22335#define ISpeechLexiconWords_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
22336/*** ISpeechLexiconWords methods ***/
22337#define ISpeechLexiconWords_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
22338#define ISpeechLexiconWords_Item(This,Index,Word) (This)->lpVtbl->Item(This,Index,Word)
22339#define ISpeechLexiconWords_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
22340#else
22341/*** IUnknown methods ***/
22342static FORCEINLINE HRESULT ISpeechLexiconWords_QueryInterface(ISpeechLexiconWords* This,REFIID riid,void **ppvObject) {
22343    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
22344}
22345static FORCEINLINE ULONG ISpeechLexiconWords_AddRef(ISpeechLexiconWords* This) {
22346    return This->lpVtbl->AddRef(This);
22347}
22348static FORCEINLINE ULONG ISpeechLexiconWords_Release(ISpeechLexiconWords* This) {
22349    return This->lpVtbl->Release(This);
22350}
22351/*** IDispatch methods ***/
22352static FORCEINLINE HRESULT ISpeechLexiconWords_GetTypeInfoCount(ISpeechLexiconWords* This,UINT *pctinfo) {
22353    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
22354}
22355static FORCEINLINE HRESULT ISpeechLexiconWords_GetTypeInfo(ISpeechLexiconWords* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
22356    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
22357}
22358static FORCEINLINE HRESULT ISpeechLexiconWords_GetIDsOfNames(ISpeechLexiconWords* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
22359    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
22360}
22361static FORCEINLINE HRESULT ISpeechLexiconWords_Invoke(ISpeechLexiconWords* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
22362    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
22363}
22364/*** ISpeechLexiconWords methods ***/
22365static FORCEINLINE HRESULT ISpeechLexiconWords_get_Count(ISpeechLexiconWords* This,LONG *Count) {
22366    return This->lpVtbl->get_Count(This,Count);
22367}
22368static FORCEINLINE HRESULT ISpeechLexiconWords_Item(ISpeechLexiconWords* This,LONG Index,ISpeechLexiconWord **Word) {
22369    return This->lpVtbl->Item(This,Index,Word);
22370}
22371static FORCEINLINE HRESULT ISpeechLexiconWords_get__NewEnum(ISpeechLexiconWords* This,IUnknown **EnumVARIANT) {
22372    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
22373}
22374#endif
22375#endif
22376
22377#endif
22378
22379HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_get_Count_Proxy(
22380    ISpeechLexiconWords* This,
22381    LONG *Count);
22382void __RPC_STUB ISpeechLexiconWords_get_Count_Stub(
22383    IRpcStubBuffer* This,
22384    IRpcChannelBuffer* pRpcChannelBuffer,
22385    PRPC_MESSAGE pRpcMessage,
22386    DWORD* pdwStubPhase);
22387HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_Item_Proxy(
22388    ISpeechLexiconWords* This,
22389    LONG Index,
22390    ISpeechLexiconWord **Word);
22391void __RPC_STUB ISpeechLexiconWords_Item_Stub(
22392    IRpcStubBuffer* This,
22393    IRpcChannelBuffer* pRpcChannelBuffer,
22394    PRPC_MESSAGE pRpcMessage,
22395    DWORD* pdwStubPhase);
22396HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_get__NewEnum_Proxy(
22397    ISpeechLexiconWords* This,
22398    IUnknown **EnumVARIANT);
22399void __RPC_STUB ISpeechLexiconWords_get__NewEnum_Stub(
22400    IRpcStubBuffer* This,
22401    IRpcChannelBuffer* pRpcChannelBuffer,
22402    PRPC_MESSAGE pRpcMessage,
22403    DWORD* pdwStubPhase);
22404
22405#endif  /* __ISpeechLexiconWords_INTERFACE_DEFINED__ */
22406
22407/*****************************************************************************
22408 * ISpeechLexicon interface
22409 */
22410#ifndef __ISpeechLexicon_INTERFACE_DEFINED__
22411#define __ISpeechLexicon_INTERFACE_DEFINED__
22412
22413DEFINE_GUID(IID_ISpeechLexicon, 0x3da7627a, 0xc7ae, 0x4b23, 0x87,0x08, 0x63,0x8c,0x50,0x36,0x2c,0x25);
22414#if defined(__cplusplus) && !defined(CINTERFACE)
22415MIDL_INTERFACE("3da7627a-c7ae-4b23-8708-638c50362c25")
22416ISpeechLexicon : public IDispatch
22417{
22418    virtual HRESULT STDMETHODCALLTYPE get_GenerationId(
22419        LONG *GenerationId) = 0;
22420
22421    virtual HRESULT STDMETHODCALLTYPE GetWords(
22422        SpeechLexiconType Flags,
22423        LONG *GenerationID,
22424        ISpeechLexiconWords **Words) = 0;
22425
22426    virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
22427        BSTR bstrWord,
22428        SpeechLanguageId LangId,
22429        SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
22430        BSTR bstrPronunciation = L"") = 0;
22431
22432    virtual HRESULT STDMETHODCALLTYPE AddPronunciationByPhoneIds(
22433        BSTR bstrWord,
22434        SpeechLanguageId LangId,
22435        SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
22436        VARIANT *PhoneIds = 0) = 0;
22437
22438    virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
22439        BSTR bstrWord,
22440        SpeechLanguageId LangId,
22441        SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
22442        BSTR bstrPronunciation = L"") = 0;
22443
22444    virtual HRESULT STDMETHODCALLTYPE RemovePronunciationByPhoneIds(
22445        BSTR bstrWord,
22446        SpeechLanguageId LangId,
22447        SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
22448        VARIANT *PhoneIds = 0) = 0;
22449
22450    virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
22451        BSTR bstrWord,
22452        SpeechLanguageId LangId,
22453        SpeechLexiconType TypeFlags,
22454        ISpeechLexiconPronunciations **ppPronunciations) = 0;
22455
22456    virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
22457        LONG *GenerationID,
22458        ISpeechLexiconWords **ppWords) = 0;
22459
22460};
22461#ifdef __CRT_UUID_DECL
22462__CRT_UUID_DECL(ISpeechLexicon, 0x3da7627a, 0xc7ae, 0x4b23, 0x87,0x08, 0x63,0x8c,0x50,0x36,0x2c,0x25)
22463#endif
22464#else
22465typedef struct ISpeechLexiconVtbl {
22466    BEGIN_INTERFACE
22467
22468    /*** IUnknown methods ***/
22469    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
22470        ISpeechLexicon* This,
22471        REFIID riid,
22472        void **ppvObject);
22473
22474    ULONG (STDMETHODCALLTYPE *AddRef)(
22475        ISpeechLexicon* This);
22476
22477    ULONG (STDMETHODCALLTYPE *Release)(
22478        ISpeechLexicon* This);
22479
22480    /*** IDispatch methods ***/
22481    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
22482        ISpeechLexicon* This,
22483        UINT *pctinfo);
22484
22485    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
22486        ISpeechLexicon* This,
22487        UINT iTInfo,
22488        LCID lcid,
22489        ITypeInfo **ppTInfo);
22490
22491    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
22492        ISpeechLexicon* This,
22493        REFIID riid,
22494        LPOLESTR *rgszNames,
22495        UINT cNames,
22496        LCID lcid,
22497        DISPID *rgDispId);
22498
22499    HRESULT (STDMETHODCALLTYPE *Invoke)(
22500        ISpeechLexicon* This,
22501        DISPID dispIdMember,
22502        REFIID riid,
22503        LCID lcid,
22504        WORD wFlags,
22505        DISPPARAMS *pDispParams,
22506        VARIANT *pVarResult,
22507        EXCEPINFO *pExcepInfo,
22508        UINT *puArgErr);
22509
22510    /*** ISpeechLexicon methods ***/
22511    HRESULT (STDMETHODCALLTYPE *get_GenerationId)(
22512        ISpeechLexicon* This,
22513        LONG *GenerationId);
22514
22515    HRESULT (STDMETHODCALLTYPE *GetWords)(
22516        ISpeechLexicon* This,
22517        SpeechLexiconType Flags,
22518        LONG *GenerationID,
22519        ISpeechLexiconWords **Words);
22520
22521    HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
22522        ISpeechLexicon* This,
22523        BSTR bstrWord,
22524        SpeechLanguageId LangId,
22525        SpeechPartOfSpeech PartOfSpeech,
22526        BSTR bstrPronunciation);
22527
22528    HRESULT (STDMETHODCALLTYPE *AddPronunciationByPhoneIds)(
22529        ISpeechLexicon* This,
22530        BSTR bstrWord,
22531        SpeechLanguageId LangId,
22532        SpeechPartOfSpeech PartOfSpeech,
22533        VARIANT *PhoneIds);
22534
22535    HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
22536        ISpeechLexicon* This,
22537        BSTR bstrWord,
22538        SpeechLanguageId LangId,
22539        SpeechPartOfSpeech PartOfSpeech,
22540        BSTR bstrPronunciation);
22541
22542    HRESULT (STDMETHODCALLTYPE *RemovePronunciationByPhoneIds)(
22543        ISpeechLexicon* This,
22544        BSTR bstrWord,
22545        SpeechLanguageId LangId,
22546        SpeechPartOfSpeech PartOfSpeech,
22547        VARIANT *PhoneIds);
22548
22549    HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
22550        ISpeechLexicon* This,
22551        BSTR bstrWord,
22552        SpeechLanguageId LangId,
22553        SpeechLexiconType TypeFlags,
22554        ISpeechLexiconPronunciations **ppPronunciations);
22555
22556    HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
22557        ISpeechLexicon* This,
22558        LONG *GenerationID,
22559        ISpeechLexiconWords **ppWords);
22560
22561    END_INTERFACE
22562} ISpeechLexiconVtbl;
22563interface ISpeechLexicon {
22564    CONST_VTBL ISpeechLexiconVtbl* lpVtbl;
22565};
22566
22567#ifdef COBJMACROS
22568#ifndef WIDL_C_INLINE_WRAPPERS
22569/*** IUnknown methods ***/
22570#define ISpeechLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
22571#define ISpeechLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
22572#define ISpeechLexicon_Release(This) (This)->lpVtbl->Release(This)
22573/*** IDispatch methods ***/
22574#define ISpeechLexicon_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
22575#define ISpeechLexicon_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
22576#define ISpeechLexicon_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
22577#define ISpeechLexicon_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
22578/*** ISpeechLexicon methods ***/
22579#define ISpeechLexicon_get_GenerationId(This,GenerationId) (This)->lpVtbl->get_GenerationId(This,GenerationId)
22580#define ISpeechLexicon_GetWords(This,Flags,GenerationID,Words) (This)->lpVtbl->GetWords(This,Flags,GenerationID,Words)
22581#define ISpeechLexicon_AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation) (This)->lpVtbl->AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)
22582#define ISpeechLexicon_AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds) (This)->lpVtbl->AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)
22583#define ISpeechLexicon_RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation) (This)->lpVtbl->RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)
22584#define ISpeechLexicon_RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds) (This)->lpVtbl->RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)
22585#define ISpeechLexicon_GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations) (This)->lpVtbl->GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations)
22586#define ISpeechLexicon_GetGenerationChange(This,GenerationID,ppWords) (This)->lpVtbl->GetGenerationChange(This,GenerationID,ppWords)
22587#else
22588/*** IUnknown methods ***/
22589static FORCEINLINE HRESULT ISpeechLexicon_QueryInterface(ISpeechLexicon* This,REFIID riid,void **ppvObject) {
22590    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
22591}
22592static FORCEINLINE ULONG ISpeechLexicon_AddRef(ISpeechLexicon* This) {
22593    return This->lpVtbl->AddRef(This);
22594}
22595static FORCEINLINE ULONG ISpeechLexicon_Release(ISpeechLexicon* This) {
22596    return This->lpVtbl->Release(This);
22597}
22598/*** IDispatch methods ***/
22599static FORCEINLINE HRESULT ISpeechLexicon_GetTypeInfoCount(ISpeechLexicon* This,UINT *pctinfo) {
22600    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
22601}
22602static FORCEINLINE HRESULT ISpeechLexicon_GetTypeInfo(ISpeechLexicon* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
22603    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
22604}
22605static FORCEINLINE HRESULT ISpeechLexicon_GetIDsOfNames(ISpeechLexicon* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
22606    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
22607}
22608static FORCEINLINE HRESULT ISpeechLexicon_Invoke(ISpeechLexicon* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
22609    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
22610}
22611/*** ISpeechLexicon methods ***/
22612static FORCEINLINE HRESULT ISpeechLexicon_get_GenerationId(ISpeechLexicon* This,LONG *GenerationId) {
22613    return This->lpVtbl->get_GenerationId(This,GenerationId);
22614}
22615static FORCEINLINE HRESULT ISpeechLexicon_GetWords(ISpeechLexicon* This,SpeechLexiconType Flags,LONG *GenerationID,ISpeechLexiconWords **Words) {
22616    return This->lpVtbl->GetWords(This,Flags,GenerationID,Words);
22617}
22618static FORCEINLINE HRESULT ISpeechLexicon_AddPronunciation(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,BSTR bstrPronunciation) {
22619    return This->lpVtbl->AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation);
22620}
22621static FORCEINLINE HRESULT ISpeechLexicon_AddPronunciationByPhoneIds(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,VARIANT *PhoneIds) {
22622    return This->lpVtbl->AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds);
22623}
22624static FORCEINLINE HRESULT ISpeechLexicon_RemovePronunciation(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,BSTR bstrPronunciation) {
22625    return This->lpVtbl->RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation);
22626}
22627static FORCEINLINE HRESULT ISpeechLexicon_RemovePronunciationByPhoneIds(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,VARIANT *PhoneIds) {
22628    return This->lpVtbl->RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds);
22629}
22630static FORCEINLINE HRESULT ISpeechLexicon_GetPronunciations(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechLexiconType TypeFlags,ISpeechLexiconPronunciations **ppPronunciations) {
22631    return This->lpVtbl->GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations);
22632}
22633static FORCEINLINE HRESULT ISpeechLexicon_GetGenerationChange(ISpeechLexicon* This,LONG *GenerationID,ISpeechLexiconWords **ppWords) {
22634    return This->lpVtbl->GetGenerationChange(This,GenerationID,ppWords);
22635}
22636#endif
22637#endif
22638
22639#endif
22640
22641HRESULT STDMETHODCALLTYPE ISpeechLexicon_get_GenerationId_Proxy(
22642    ISpeechLexicon* This,
22643    LONG *GenerationId);
22644void __RPC_STUB ISpeechLexicon_get_GenerationId_Stub(
22645    IRpcStubBuffer* This,
22646    IRpcChannelBuffer* pRpcChannelBuffer,
22647    PRPC_MESSAGE pRpcMessage,
22648    DWORD* pdwStubPhase);
22649HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetWords_Proxy(
22650    ISpeechLexicon* This,
22651    SpeechLexiconType Flags,
22652    LONG *GenerationID,
22653    ISpeechLexiconWords **Words);
22654void __RPC_STUB ISpeechLexicon_GetWords_Stub(
22655    IRpcStubBuffer* This,
22656    IRpcChannelBuffer* pRpcChannelBuffer,
22657    PRPC_MESSAGE pRpcMessage,
22658    DWORD* pdwStubPhase);
22659HRESULT STDMETHODCALLTYPE ISpeechLexicon_AddPronunciation_Proxy(
22660    ISpeechLexicon* This,
22661    BSTR bstrWord,
22662    SpeechLanguageId LangId,
22663    SpeechPartOfSpeech PartOfSpeech,
22664    BSTR bstrPronunciation);
22665void __RPC_STUB ISpeechLexicon_AddPronunciation_Stub(
22666    IRpcStubBuffer* This,
22667    IRpcChannelBuffer* pRpcChannelBuffer,
22668    PRPC_MESSAGE pRpcMessage,
22669    DWORD* pdwStubPhase);
22670HRESULT STDMETHODCALLTYPE ISpeechLexicon_AddPronunciationByPhoneIds_Proxy(
22671    ISpeechLexicon* This,
22672    BSTR bstrWord,
22673    SpeechLanguageId LangId,
22674    SpeechPartOfSpeech PartOfSpeech,
22675    VARIANT *PhoneIds);
22676void __RPC_STUB ISpeechLexicon_AddPronunciationByPhoneIds_Stub(
22677    IRpcStubBuffer* This,
22678    IRpcChannelBuffer* pRpcChannelBuffer,
22679    PRPC_MESSAGE pRpcMessage,
22680    DWORD* pdwStubPhase);
22681HRESULT STDMETHODCALLTYPE ISpeechLexicon_RemovePronunciation_Proxy(
22682    ISpeechLexicon* This,
22683    BSTR bstrWord,
22684    SpeechLanguageId LangId,
22685    SpeechPartOfSpeech PartOfSpeech,
22686    BSTR bstrPronunciation);
22687void __RPC_STUB ISpeechLexicon_RemovePronunciation_Stub(
22688    IRpcStubBuffer* This,
22689    IRpcChannelBuffer* pRpcChannelBuffer,
22690    PRPC_MESSAGE pRpcMessage,
22691    DWORD* pdwStubPhase);
22692HRESULT STDMETHODCALLTYPE ISpeechLexicon_RemovePronunciationByPhoneIds_Proxy(
22693    ISpeechLexicon* This,
22694    BSTR bstrWord,
22695    SpeechLanguageId LangId,
22696    SpeechPartOfSpeech PartOfSpeech,
22697    VARIANT *PhoneIds);
22698void __RPC_STUB ISpeechLexicon_RemovePronunciationByPhoneIds_Stub(
22699    IRpcStubBuffer* This,
22700    IRpcChannelBuffer* pRpcChannelBuffer,
22701    PRPC_MESSAGE pRpcMessage,
22702    DWORD* pdwStubPhase);
22703HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetPronunciations_Proxy(
22704    ISpeechLexicon* This,
22705    BSTR bstrWord,
22706    SpeechLanguageId LangId,
22707    SpeechLexiconType TypeFlags,
22708    ISpeechLexiconPronunciations **ppPronunciations);
22709void __RPC_STUB ISpeechLexicon_GetPronunciations_Stub(
22710    IRpcStubBuffer* This,
22711    IRpcChannelBuffer* pRpcChannelBuffer,
22712    PRPC_MESSAGE pRpcMessage,
22713    DWORD* pdwStubPhase);
22714HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetGenerationChange_Proxy(
22715    ISpeechLexicon* This,
22716    LONG *GenerationID,
22717    ISpeechLexiconWords **ppWords);
22718void __RPC_STUB ISpeechLexicon_GetGenerationChange_Stub(
22719    IRpcStubBuffer* This,
22720    IRpcChannelBuffer* pRpcChannelBuffer,
22721    PRPC_MESSAGE pRpcMessage,
22722    DWORD* pdwStubPhase);
22723
22724#endif  /* __ISpeechLexicon_INTERFACE_DEFINED__ */
22725
22726/*****************************************************************************
22727 * ISpeechLexiconWord interface
22728 */
22729#ifndef __ISpeechLexiconWord_INTERFACE_DEFINED__
22730#define __ISpeechLexiconWord_INTERFACE_DEFINED__
22731
22732DEFINE_GUID(IID_ISpeechLexiconWord, 0x4e5b933c, 0xc9be, 0x48ed, 0x88,0x42, 0x1e,0xe5,0x1b,0xb1,0xd4,0xff);
22733#if defined(__cplusplus) && !defined(CINTERFACE)
22734MIDL_INTERFACE("4e5b933c-c9be-48ed-8842-1ee51bb1d4ff")
22735ISpeechLexiconWord : public IDispatch
22736{
22737    virtual HRESULT STDMETHODCALLTYPE get_LangId(
22738        SpeechLanguageId *LangId) = 0;
22739
22740    virtual HRESULT STDMETHODCALLTYPE get_Type(
22741        SpeechWordType *WordType) = 0;
22742
22743    virtual HRESULT STDMETHODCALLTYPE get_Word(
22744        BSTR *Word) = 0;
22745
22746    virtual HRESULT STDMETHODCALLTYPE get_Pronunciations(
22747        ISpeechLexiconPronunciations **Pronunciations) = 0;
22748
22749};
22750#ifdef __CRT_UUID_DECL
22751__CRT_UUID_DECL(ISpeechLexiconWord, 0x4e5b933c, 0xc9be, 0x48ed, 0x88,0x42, 0x1e,0xe5,0x1b,0xb1,0xd4,0xff)
22752#endif
22753#else
22754typedef struct ISpeechLexiconWordVtbl {
22755    BEGIN_INTERFACE
22756
22757    /*** IUnknown methods ***/
22758    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
22759        ISpeechLexiconWord* This,
22760        REFIID riid,
22761        void **ppvObject);
22762
22763    ULONG (STDMETHODCALLTYPE *AddRef)(
22764        ISpeechLexiconWord* This);
22765
22766    ULONG (STDMETHODCALLTYPE *Release)(
22767        ISpeechLexiconWord* This);
22768
22769    /*** IDispatch methods ***/
22770    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
22771        ISpeechLexiconWord* This,
22772        UINT *pctinfo);
22773
22774    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
22775        ISpeechLexiconWord* This,
22776        UINT iTInfo,
22777        LCID lcid,
22778        ITypeInfo **ppTInfo);
22779
22780    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
22781        ISpeechLexiconWord* This,
22782        REFIID riid,
22783        LPOLESTR *rgszNames,
22784        UINT cNames,
22785        LCID lcid,
22786        DISPID *rgDispId);
22787
22788    HRESULT (STDMETHODCALLTYPE *Invoke)(
22789        ISpeechLexiconWord* This,
22790        DISPID dispIdMember,
22791        REFIID riid,
22792        LCID lcid,
22793        WORD wFlags,
22794        DISPPARAMS *pDispParams,
22795        VARIANT *pVarResult,
22796        EXCEPINFO *pExcepInfo,
22797        UINT *puArgErr);
22798
22799    /*** ISpeechLexiconWord methods ***/
22800    HRESULT (STDMETHODCALLTYPE *get_LangId)(
22801        ISpeechLexiconWord* This,
22802        SpeechLanguageId *LangId);
22803
22804    HRESULT (STDMETHODCALLTYPE *get_Type)(
22805        ISpeechLexiconWord* This,
22806        SpeechWordType *WordType);
22807
22808    HRESULT (STDMETHODCALLTYPE *get_Word)(
22809        ISpeechLexiconWord* This,
22810        BSTR *Word);
22811
22812    HRESULT (STDMETHODCALLTYPE *get_Pronunciations)(
22813        ISpeechLexiconWord* This,
22814        ISpeechLexiconPronunciations **Pronunciations);
22815
22816    END_INTERFACE
22817} ISpeechLexiconWordVtbl;
22818interface ISpeechLexiconWord {
22819    CONST_VTBL ISpeechLexiconWordVtbl* lpVtbl;
22820};
22821
22822#ifdef COBJMACROS
22823#ifndef WIDL_C_INLINE_WRAPPERS
22824/*** IUnknown methods ***/
22825#define ISpeechLexiconWord_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
22826#define ISpeechLexiconWord_AddRef(This) (This)->lpVtbl->AddRef(This)
22827#define ISpeechLexiconWord_Release(This) (This)->lpVtbl->Release(This)
22828/*** IDispatch methods ***/
22829#define ISpeechLexiconWord_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
22830#define ISpeechLexiconWord_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
22831#define ISpeechLexiconWord_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
22832#define ISpeechLexiconWord_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
22833/*** ISpeechLexiconWord methods ***/
22834#define ISpeechLexiconWord_get_LangId(This,LangId) (This)->lpVtbl->get_LangId(This,LangId)
22835#define ISpeechLexiconWord_get_Type(This,WordType) (This)->lpVtbl->get_Type(This,WordType)
22836#define ISpeechLexiconWord_get_Word(This,Word) (This)->lpVtbl->get_Word(This,Word)
22837#define ISpeechLexiconWord_get_Pronunciations(This,Pronunciations) (This)->lpVtbl->get_Pronunciations(This,Pronunciations)
22838#else
22839/*** IUnknown methods ***/
22840static FORCEINLINE HRESULT ISpeechLexiconWord_QueryInterface(ISpeechLexiconWord* This,REFIID riid,void **ppvObject) {
22841    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
22842}
22843static FORCEINLINE ULONG ISpeechLexiconWord_AddRef(ISpeechLexiconWord* This) {
22844    return This->lpVtbl->AddRef(This);
22845}
22846static FORCEINLINE ULONG ISpeechLexiconWord_Release(ISpeechLexiconWord* This) {
22847    return This->lpVtbl->Release(This);
22848}
22849/*** IDispatch methods ***/
22850static FORCEINLINE HRESULT ISpeechLexiconWord_GetTypeInfoCount(ISpeechLexiconWord* This,UINT *pctinfo) {
22851    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
22852}
22853static FORCEINLINE HRESULT ISpeechLexiconWord_GetTypeInfo(ISpeechLexiconWord* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
22854    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
22855}
22856static FORCEINLINE HRESULT ISpeechLexiconWord_GetIDsOfNames(ISpeechLexiconWord* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
22857    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
22858}
22859static FORCEINLINE HRESULT ISpeechLexiconWord_Invoke(ISpeechLexiconWord* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
22860    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
22861}
22862/*** ISpeechLexiconWord methods ***/
22863static FORCEINLINE HRESULT ISpeechLexiconWord_get_LangId(ISpeechLexiconWord* This,SpeechLanguageId *LangId) {
22864    return This->lpVtbl->get_LangId(This,LangId);
22865}
22866static FORCEINLINE HRESULT ISpeechLexiconWord_get_Type(ISpeechLexiconWord* This,SpeechWordType *WordType) {
22867    return This->lpVtbl->get_Type(This,WordType);
22868}
22869static FORCEINLINE HRESULT ISpeechLexiconWord_get_Word(ISpeechLexiconWord* This,BSTR *Word) {
22870    return This->lpVtbl->get_Word(This,Word);
22871}
22872static FORCEINLINE HRESULT ISpeechLexiconWord_get_Pronunciations(ISpeechLexiconWord* This,ISpeechLexiconPronunciations **Pronunciations) {
22873    return This->lpVtbl->get_Pronunciations(This,Pronunciations);
22874}
22875#endif
22876#endif
22877
22878#endif
22879
22880HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_LangId_Proxy(
22881    ISpeechLexiconWord* This,
22882    SpeechLanguageId *LangId);
22883void __RPC_STUB ISpeechLexiconWord_get_LangId_Stub(
22884    IRpcStubBuffer* This,
22885    IRpcChannelBuffer* pRpcChannelBuffer,
22886    PRPC_MESSAGE pRpcMessage,
22887    DWORD* pdwStubPhase);
22888HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Type_Proxy(
22889    ISpeechLexiconWord* This,
22890    SpeechWordType *WordType);
22891void __RPC_STUB ISpeechLexiconWord_get_Type_Stub(
22892    IRpcStubBuffer* This,
22893    IRpcChannelBuffer* pRpcChannelBuffer,
22894    PRPC_MESSAGE pRpcMessage,
22895    DWORD* pdwStubPhase);
22896HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Word_Proxy(
22897    ISpeechLexiconWord* This,
22898    BSTR *Word);
22899void __RPC_STUB ISpeechLexiconWord_get_Word_Stub(
22900    IRpcStubBuffer* This,
22901    IRpcChannelBuffer* pRpcChannelBuffer,
22902    PRPC_MESSAGE pRpcMessage,
22903    DWORD* pdwStubPhase);
22904HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Pronunciations_Proxy(
22905    ISpeechLexiconWord* This,
22906    ISpeechLexiconPronunciations **Pronunciations);
22907void __RPC_STUB ISpeechLexiconWord_get_Pronunciations_Stub(
22908    IRpcStubBuffer* This,
22909    IRpcChannelBuffer* pRpcChannelBuffer,
22910    PRPC_MESSAGE pRpcMessage,
22911    DWORD* pdwStubPhase);
22912
22913#endif  /* __ISpeechLexiconWord_INTERFACE_DEFINED__ */
22914
22915/*****************************************************************************
22916 * ISpeechLexiconPronunciations interface
22917 */
22918#ifndef __ISpeechLexiconPronunciations_INTERFACE_DEFINED__
22919#define __ISpeechLexiconPronunciations_INTERFACE_DEFINED__
22920
22921DEFINE_GUID(IID_ISpeechLexiconPronunciations, 0x72829128, 0x5682, 0x4704, 0xa0,0xd4, 0x3e,0x2b,0xb6,0xf2,0xea,0xd3);
22922#if defined(__cplusplus) && !defined(CINTERFACE)
22923MIDL_INTERFACE("72829128-5682-4704-a0d4-3e2bb6f2ead3")
22924ISpeechLexiconPronunciations : public IDispatch
22925{
22926    virtual HRESULT STDMETHODCALLTYPE get_Count(
22927        LONG *Count) = 0;
22928
22929    virtual HRESULT STDMETHODCALLTYPE Item(
22930        LONG Index,
22931        ISpeechLexiconPronunciation **Pronunciation) = 0;
22932
22933    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
22934        IUnknown **EnumVARIANT) = 0;
22935
22936};
22937#ifdef __CRT_UUID_DECL
22938__CRT_UUID_DECL(ISpeechLexiconPronunciations, 0x72829128, 0x5682, 0x4704, 0xa0,0xd4, 0x3e,0x2b,0xb6,0xf2,0xea,0xd3)
22939#endif
22940#else
22941typedef struct ISpeechLexiconPronunciationsVtbl {
22942    BEGIN_INTERFACE
22943
22944    /*** IUnknown methods ***/
22945    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
22946        ISpeechLexiconPronunciations* This,
22947        REFIID riid,
22948        void **ppvObject);
22949
22950    ULONG (STDMETHODCALLTYPE *AddRef)(
22951        ISpeechLexiconPronunciations* This);
22952
22953    ULONG (STDMETHODCALLTYPE *Release)(
22954        ISpeechLexiconPronunciations* This);
22955
22956    /*** IDispatch methods ***/
22957    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
22958        ISpeechLexiconPronunciations* This,
22959        UINT *pctinfo);
22960
22961    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
22962        ISpeechLexiconPronunciations* This,
22963        UINT iTInfo,
22964        LCID lcid,
22965        ITypeInfo **ppTInfo);
22966
22967    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
22968        ISpeechLexiconPronunciations* This,
22969        REFIID riid,
22970        LPOLESTR *rgszNames,
22971        UINT cNames,
22972        LCID lcid,
22973        DISPID *rgDispId);
22974
22975    HRESULT (STDMETHODCALLTYPE *Invoke)(
22976        ISpeechLexiconPronunciations* This,
22977        DISPID dispIdMember,
22978        REFIID riid,
22979        LCID lcid,
22980        WORD wFlags,
22981        DISPPARAMS *pDispParams,
22982        VARIANT *pVarResult,
22983        EXCEPINFO *pExcepInfo,
22984        UINT *puArgErr);
22985
22986    /*** ISpeechLexiconPronunciations methods ***/
22987    HRESULT (STDMETHODCALLTYPE *get_Count)(
22988        ISpeechLexiconPronunciations* This,
22989        LONG *Count);
22990
22991    HRESULT (STDMETHODCALLTYPE *Item)(
22992        ISpeechLexiconPronunciations* This,
22993        LONG Index,
22994        ISpeechLexiconPronunciation **Pronunciation);
22995
22996    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
22997        ISpeechLexiconPronunciations* This,
22998        IUnknown **EnumVARIANT);
22999
23000    END_INTERFACE
23001} ISpeechLexiconPronunciationsVtbl;
23002interface ISpeechLexiconPronunciations {
23003    CONST_VTBL ISpeechLexiconPronunciationsVtbl* lpVtbl;
23004};
23005
23006#ifdef COBJMACROS
23007#ifndef WIDL_C_INLINE_WRAPPERS
23008/*** IUnknown methods ***/
23009#define ISpeechLexiconPronunciations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23010#define ISpeechLexiconPronunciations_AddRef(This) (This)->lpVtbl->AddRef(This)
23011#define ISpeechLexiconPronunciations_Release(This) (This)->lpVtbl->Release(This)
23012/*** IDispatch methods ***/
23013#define ISpeechLexiconPronunciations_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
23014#define ISpeechLexiconPronunciations_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
23015#define ISpeechLexiconPronunciations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
23016#define ISpeechLexiconPronunciations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
23017/*** ISpeechLexiconPronunciations methods ***/
23018#define ISpeechLexiconPronunciations_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
23019#define ISpeechLexiconPronunciations_Item(This,Index,Pronunciation) (This)->lpVtbl->Item(This,Index,Pronunciation)
23020#define ISpeechLexiconPronunciations_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
23021#else
23022/*** IUnknown methods ***/
23023static FORCEINLINE HRESULT ISpeechLexiconPronunciations_QueryInterface(ISpeechLexiconPronunciations* This,REFIID riid,void **ppvObject) {
23024    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23025}
23026static FORCEINLINE ULONG ISpeechLexiconPronunciations_AddRef(ISpeechLexiconPronunciations* This) {
23027    return This->lpVtbl->AddRef(This);
23028}
23029static FORCEINLINE ULONG ISpeechLexiconPronunciations_Release(ISpeechLexiconPronunciations* This) {
23030    return This->lpVtbl->Release(This);
23031}
23032/*** IDispatch methods ***/
23033static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetTypeInfoCount(ISpeechLexiconPronunciations* This,UINT *pctinfo) {
23034    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
23035}
23036static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetTypeInfo(ISpeechLexiconPronunciations* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
23037    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
23038}
23039static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetIDsOfNames(ISpeechLexiconPronunciations* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
23040    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
23041}
23042static FORCEINLINE HRESULT ISpeechLexiconPronunciations_Invoke(ISpeechLexiconPronunciations* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
23043    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
23044}
23045/*** ISpeechLexiconPronunciations methods ***/
23046static FORCEINLINE HRESULT ISpeechLexiconPronunciations_get_Count(ISpeechLexiconPronunciations* This,LONG *Count) {
23047    return This->lpVtbl->get_Count(This,Count);
23048}
23049static FORCEINLINE HRESULT ISpeechLexiconPronunciations_Item(ISpeechLexiconPronunciations* This,LONG Index,ISpeechLexiconPronunciation **Pronunciation) {
23050    return This->lpVtbl->Item(This,Index,Pronunciation);
23051}
23052static FORCEINLINE HRESULT ISpeechLexiconPronunciations_get__NewEnum(ISpeechLexiconPronunciations* This,IUnknown **EnumVARIANT) {
23053    return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
23054}
23055#endif
23056#endif
23057
23058#endif
23059
23060HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_get_Count_Proxy(
23061    ISpeechLexiconPronunciations* This,
23062    LONG *Count);
23063void __RPC_STUB ISpeechLexiconPronunciations_get_Count_Stub(
23064    IRpcStubBuffer* This,
23065    IRpcChannelBuffer* pRpcChannelBuffer,
23066    PRPC_MESSAGE pRpcMessage,
23067    DWORD* pdwStubPhase);
23068HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_Item_Proxy(
23069    ISpeechLexiconPronunciations* This,
23070    LONG Index,
23071    ISpeechLexiconPronunciation **Pronunciation);
23072void __RPC_STUB ISpeechLexiconPronunciations_Item_Stub(
23073    IRpcStubBuffer* This,
23074    IRpcChannelBuffer* pRpcChannelBuffer,
23075    PRPC_MESSAGE pRpcMessage,
23076    DWORD* pdwStubPhase);
23077HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_get__NewEnum_Proxy(
23078    ISpeechLexiconPronunciations* This,
23079    IUnknown **EnumVARIANT);
23080void __RPC_STUB ISpeechLexiconPronunciations_get__NewEnum_Stub(
23081    IRpcStubBuffer* This,
23082    IRpcChannelBuffer* pRpcChannelBuffer,
23083    PRPC_MESSAGE pRpcMessage,
23084    DWORD* pdwStubPhase);
23085
23086#endif  /* __ISpeechLexiconPronunciations_INTERFACE_DEFINED__ */
23087
23088/*****************************************************************************
23089 * ISpeechLexiconPronunciation interface
23090 */
23091#ifndef __ISpeechLexiconPronunciation_INTERFACE_DEFINED__
23092#define __ISpeechLexiconPronunciation_INTERFACE_DEFINED__
23093
23094DEFINE_GUID(IID_ISpeechLexiconPronunciation, 0x95252c5d, 0x9e43, 0x4f4a, 0x98,0x99, 0x48,0xee,0x73,0x35,0x2f,0x9f);
23095#if defined(__cplusplus) && !defined(CINTERFACE)
23096MIDL_INTERFACE("95252c5d-9e43-4f4a-9899-48ee73352f9f")
23097ISpeechLexiconPronunciation : public IDispatch
23098{
23099    virtual HRESULT STDMETHODCALLTYPE get_Type(
23100        SpeechLexiconType *LexiconType) = 0;
23101
23102    virtual HRESULT STDMETHODCALLTYPE get_LangId(
23103        SpeechLanguageId *LangId) = 0;
23104
23105    virtual HRESULT STDMETHODCALLTYPE get_PartOfSpeech(
23106        SpeechPartOfSpeech *PartOfSpeech) = 0;
23107
23108    virtual HRESULT STDMETHODCALLTYPE get_PhoneIds(
23109        VARIANT *PhoneIds) = 0;
23110
23111    virtual HRESULT STDMETHODCALLTYPE get_Symbolic(
23112        BSTR *Symbolic) = 0;
23113
23114};
23115#ifdef __CRT_UUID_DECL
23116__CRT_UUID_DECL(ISpeechLexiconPronunciation, 0x95252c5d, 0x9e43, 0x4f4a, 0x98,0x99, 0x48,0xee,0x73,0x35,0x2f,0x9f)
23117#endif
23118#else
23119typedef struct ISpeechLexiconPronunciationVtbl {
23120    BEGIN_INTERFACE
23121
23122    /*** IUnknown methods ***/
23123    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23124        ISpeechLexiconPronunciation* This,
23125        REFIID riid,
23126        void **ppvObject);
23127
23128    ULONG (STDMETHODCALLTYPE *AddRef)(
23129        ISpeechLexiconPronunciation* This);
23130
23131    ULONG (STDMETHODCALLTYPE *Release)(
23132        ISpeechLexiconPronunciation* This);
23133
23134    /*** IDispatch methods ***/
23135    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
23136        ISpeechLexiconPronunciation* This,
23137        UINT *pctinfo);
23138
23139    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
23140        ISpeechLexiconPronunciation* This,
23141        UINT iTInfo,
23142        LCID lcid,
23143        ITypeInfo **ppTInfo);
23144
23145    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
23146        ISpeechLexiconPronunciation* This,
23147        REFIID riid,
23148        LPOLESTR *rgszNames,
23149        UINT cNames,
23150        LCID lcid,
23151        DISPID *rgDispId);
23152
23153    HRESULT (STDMETHODCALLTYPE *Invoke)(
23154        ISpeechLexiconPronunciation* This,
23155        DISPID dispIdMember,
23156        REFIID riid,
23157        LCID lcid,
23158        WORD wFlags,
23159        DISPPARAMS *pDispParams,
23160        VARIANT *pVarResult,
23161        EXCEPINFO *pExcepInfo,
23162        UINT *puArgErr);
23163
23164    /*** ISpeechLexiconPronunciation methods ***/
23165    HRESULT (STDMETHODCALLTYPE *get_Type)(
23166        ISpeechLexiconPronunciation* This,
23167        SpeechLexiconType *LexiconType);
23168
23169    HRESULT (STDMETHODCALLTYPE *get_LangId)(
23170        ISpeechLexiconPronunciation* This,
23171        SpeechLanguageId *LangId);
23172
23173    HRESULT (STDMETHODCALLTYPE *get_PartOfSpeech)(
23174        ISpeechLexiconPronunciation* This,
23175        SpeechPartOfSpeech *PartOfSpeech);
23176
23177    HRESULT (STDMETHODCALLTYPE *get_PhoneIds)(
23178        ISpeechLexiconPronunciation* This,
23179        VARIANT *PhoneIds);
23180
23181    HRESULT (STDMETHODCALLTYPE *get_Symbolic)(
23182        ISpeechLexiconPronunciation* This,
23183        BSTR *Symbolic);
23184
23185    END_INTERFACE
23186} ISpeechLexiconPronunciationVtbl;
23187interface ISpeechLexiconPronunciation {
23188    CONST_VTBL ISpeechLexiconPronunciationVtbl* lpVtbl;
23189};
23190
23191#ifdef COBJMACROS
23192#ifndef WIDL_C_INLINE_WRAPPERS
23193/*** IUnknown methods ***/
23194#define ISpeechLexiconPronunciation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23195#define ISpeechLexiconPronunciation_AddRef(This) (This)->lpVtbl->AddRef(This)
23196#define ISpeechLexiconPronunciation_Release(This) (This)->lpVtbl->Release(This)
23197/*** IDispatch methods ***/
23198#define ISpeechLexiconPronunciation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
23199#define ISpeechLexiconPronunciation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
23200#define ISpeechLexiconPronunciation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
23201#define ISpeechLexiconPronunciation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
23202/*** ISpeechLexiconPronunciation methods ***/
23203#define ISpeechLexiconPronunciation_get_Type(This,LexiconType) (This)->lpVtbl->get_Type(This,LexiconType)
23204#define ISpeechLexiconPronunciation_get_LangId(This,LangId) (This)->lpVtbl->get_LangId(This,LangId)
23205#define ISpeechLexiconPronunciation_get_PartOfSpeech(This,PartOfSpeech) (This)->lpVtbl->get_PartOfSpeech(This,PartOfSpeech)
23206#define ISpeechLexiconPronunciation_get_PhoneIds(This,PhoneIds) (This)->lpVtbl->get_PhoneIds(This,PhoneIds)
23207#define ISpeechLexiconPronunciation_get_Symbolic(This,Symbolic) (This)->lpVtbl->get_Symbolic(This,Symbolic)
23208#else
23209/*** IUnknown methods ***/
23210static FORCEINLINE HRESULT ISpeechLexiconPronunciation_QueryInterface(ISpeechLexiconPronunciation* This,REFIID riid,void **ppvObject) {
23211    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23212}
23213static FORCEINLINE ULONG ISpeechLexiconPronunciation_AddRef(ISpeechLexiconPronunciation* This) {
23214    return This->lpVtbl->AddRef(This);
23215}
23216static FORCEINLINE ULONG ISpeechLexiconPronunciation_Release(ISpeechLexiconPronunciation* This) {
23217    return This->lpVtbl->Release(This);
23218}
23219/*** IDispatch methods ***/
23220static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetTypeInfoCount(ISpeechLexiconPronunciation* This,UINT *pctinfo) {
23221    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
23222}
23223static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetTypeInfo(ISpeechLexiconPronunciation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
23224    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
23225}
23226static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetIDsOfNames(ISpeechLexiconPronunciation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
23227    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
23228}
23229static FORCEINLINE HRESULT ISpeechLexiconPronunciation_Invoke(ISpeechLexiconPronunciation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
23230    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
23231}
23232/*** ISpeechLexiconPronunciation methods ***/
23233static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_Type(ISpeechLexiconPronunciation* This,SpeechLexiconType *LexiconType) {
23234    return This->lpVtbl->get_Type(This,LexiconType);
23235}
23236static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_LangId(ISpeechLexiconPronunciation* This,SpeechLanguageId *LangId) {
23237    return This->lpVtbl->get_LangId(This,LangId);
23238}
23239static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_PartOfSpeech(ISpeechLexiconPronunciation* This,SpeechPartOfSpeech *PartOfSpeech) {
23240    return This->lpVtbl->get_PartOfSpeech(This,PartOfSpeech);
23241}
23242static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_PhoneIds(ISpeechLexiconPronunciation* This,VARIANT *PhoneIds) {
23243    return This->lpVtbl->get_PhoneIds(This,PhoneIds);
23244}
23245static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_Symbolic(ISpeechLexiconPronunciation* This,BSTR *Symbolic) {
23246    return This->lpVtbl->get_Symbolic(This,Symbolic);
23247}
23248#endif
23249#endif
23250
23251#endif
23252
23253HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_Type_Proxy(
23254    ISpeechLexiconPronunciation* This,
23255    SpeechLexiconType *LexiconType);
23256void __RPC_STUB ISpeechLexiconPronunciation_get_Type_Stub(
23257    IRpcStubBuffer* This,
23258    IRpcChannelBuffer* pRpcChannelBuffer,
23259    PRPC_MESSAGE pRpcMessage,
23260    DWORD* pdwStubPhase);
23261HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_LangId_Proxy(
23262    ISpeechLexiconPronunciation* This,
23263    SpeechLanguageId *LangId);
23264void __RPC_STUB ISpeechLexiconPronunciation_get_LangId_Stub(
23265    IRpcStubBuffer* This,
23266    IRpcChannelBuffer* pRpcChannelBuffer,
23267    PRPC_MESSAGE pRpcMessage,
23268    DWORD* pdwStubPhase);
23269HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_PartOfSpeech_Proxy(
23270    ISpeechLexiconPronunciation* This,
23271    SpeechPartOfSpeech *PartOfSpeech);
23272void __RPC_STUB ISpeechLexiconPronunciation_get_PartOfSpeech_Stub(
23273    IRpcStubBuffer* This,
23274    IRpcChannelBuffer* pRpcChannelBuffer,
23275    PRPC_MESSAGE pRpcMessage,
23276    DWORD* pdwStubPhase);
23277HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_PhoneIds_Proxy(
23278    ISpeechLexiconPronunciation* This,
23279    VARIANT *PhoneIds);
23280void __RPC_STUB ISpeechLexiconPronunciation_get_PhoneIds_Stub(
23281    IRpcStubBuffer* This,
23282    IRpcChannelBuffer* pRpcChannelBuffer,
23283    PRPC_MESSAGE pRpcMessage,
23284    DWORD* pdwStubPhase);
23285HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_Symbolic_Proxy(
23286    ISpeechLexiconPronunciation* This,
23287    BSTR *Symbolic);
23288void __RPC_STUB ISpeechLexiconPronunciation_get_Symbolic_Stub(
23289    IRpcStubBuffer* This,
23290    IRpcChannelBuffer* pRpcChannelBuffer,
23291    PRPC_MESSAGE pRpcMessage,
23292    DWORD* pdwStubPhase);
23293
23294#endif  /* __ISpeechLexiconPronunciation_INTERFACE_DEFINED__ */
23295
23296/*****************************************************************************
23297 * ISpeechPhoneConverter interface
23298 */
23299#ifndef __ISpeechPhoneConverter_INTERFACE_DEFINED__
23300#define __ISpeechPhoneConverter_INTERFACE_DEFINED__
23301
23302DEFINE_GUID(IID_ISpeechPhoneConverter, 0xc3e4f353, 0x433f, 0x43d6, 0x89,0xa1, 0x6a,0x62,0xa7,0x05,0x4c,0x3d);
23303#if defined(__cplusplus) && !defined(CINTERFACE)
23304MIDL_INTERFACE("c3e4f353-433f-43d6-89a1-6a62a7054c3d")
23305ISpeechPhoneConverter : public IDispatch
23306{
23307    virtual HRESULT STDMETHODCALLTYPE get_LanguageId(
23308        SpeechLanguageId *LanguageId) = 0;
23309
23310    virtual HRESULT STDMETHODCALLTYPE put_LanguageId(
23311        SpeechLanguageId LanguageId) = 0;
23312
23313    virtual HRESULT STDMETHODCALLTYPE PhoneToId(
23314        const BSTR Phonemes,
23315        VARIANT *IdArray) = 0;
23316
23317    virtual HRESULT STDMETHODCALLTYPE IdToPhone(
23318        const VARIANT IdArray,
23319        BSTR *Phonemes) = 0;
23320
23321};
23322#ifdef __CRT_UUID_DECL
23323__CRT_UUID_DECL(ISpeechPhoneConverter, 0xc3e4f353, 0x433f, 0x43d6, 0x89,0xa1, 0x6a,0x62,0xa7,0x05,0x4c,0x3d)
23324#endif
23325#else
23326typedef struct ISpeechPhoneConverterVtbl {
23327    BEGIN_INTERFACE
23328
23329    /*** IUnknown methods ***/
23330    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
23331        ISpeechPhoneConverter* This,
23332        REFIID riid,
23333        void **ppvObject);
23334
23335    ULONG (STDMETHODCALLTYPE *AddRef)(
23336        ISpeechPhoneConverter* This);
23337
23338    ULONG (STDMETHODCALLTYPE *Release)(
23339        ISpeechPhoneConverter* This);
23340
23341    /*** IDispatch methods ***/
23342    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
23343        ISpeechPhoneConverter* This,
23344        UINT *pctinfo);
23345
23346    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
23347        ISpeechPhoneConverter* This,
23348        UINT iTInfo,
23349        LCID lcid,
23350        ITypeInfo **ppTInfo);
23351
23352    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
23353        ISpeechPhoneConverter* This,
23354        REFIID riid,
23355        LPOLESTR *rgszNames,
23356        UINT cNames,
23357        LCID lcid,
23358        DISPID *rgDispId);
23359
23360    HRESULT (STDMETHODCALLTYPE *Invoke)(
23361        ISpeechPhoneConverter* This,
23362        DISPID dispIdMember,
23363        REFIID riid,
23364        LCID lcid,
23365        WORD wFlags,
23366        DISPPARAMS *pDispParams,
23367        VARIANT *pVarResult,
23368        EXCEPINFO *pExcepInfo,
23369        UINT *puArgErr);
23370
23371    /*** ISpeechPhoneConverter methods ***/
23372    HRESULT (STDMETHODCALLTYPE *get_LanguageId)(
23373        ISpeechPhoneConverter* This,
23374        SpeechLanguageId *LanguageId);
23375
23376    HRESULT (STDMETHODCALLTYPE *put_LanguageId)(
23377        ISpeechPhoneConverter* This,
23378        SpeechLanguageId LanguageId);
23379
23380    HRESULT (STDMETHODCALLTYPE *PhoneToId)(
23381        ISpeechPhoneConverter* This,
23382        const BSTR Phonemes,
23383        VARIANT *IdArray);
23384
23385    HRESULT (STDMETHODCALLTYPE *IdToPhone)(
23386        ISpeechPhoneConverter* This,
23387        const VARIANT IdArray,
23388        BSTR *Phonemes);
23389
23390    END_INTERFACE
23391} ISpeechPhoneConverterVtbl;
23392interface ISpeechPhoneConverter {
23393    CONST_VTBL ISpeechPhoneConverterVtbl* lpVtbl;
23394};
23395
23396#ifdef COBJMACROS
23397#ifndef WIDL_C_INLINE_WRAPPERS
23398/*** IUnknown methods ***/
23399#define ISpeechPhoneConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
23400#define ISpeechPhoneConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
23401#define ISpeechPhoneConverter_Release(This) (This)->lpVtbl->Release(This)
23402/*** IDispatch methods ***/
23403#define ISpeechPhoneConverter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
23404#define ISpeechPhoneConverter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
23405#define ISpeechPhoneConverter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
23406#define ISpeechPhoneConverter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
23407/*** ISpeechPhoneConverter methods ***/
23408#define ISpeechPhoneConverter_get_LanguageId(This,LanguageId) (This)->lpVtbl->get_LanguageId(This,LanguageId)
23409#define ISpeechPhoneConverter_put_LanguageId(This,LanguageId) (This)->lpVtbl->put_LanguageId(This,LanguageId)
23410#define ISpeechPhoneConverter_PhoneToId(This,Phonemes,IdArray) (This)->lpVtbl->PhoneToId(This,Phonemes,IdArray)
23411#define ISpeechPhoneConverter_IdToPhone(This,IdArray,Phonemes) (This)->lpVtbl->IdToPhone(This,IdArray,Phonemes)
23412#else
23413/*** IUnknown methods ***/
23414static FORCEINLINE HRESULT ISpeechPhoneConverter_QueryInterface(ISpeechPhoneConverter* This,REFIID riid,void **ppvObject) {
23415    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
23416}
23417static FORCEINLINE ULONG ISpeechPhoneConverter_AddRef(ISpeechPhoneConverter* This) {
23418    return This->lpVtbl->AddRef(This);
23419}
23420static FORCEINLINE ULONG ISpeechPhoneConverter_Release(ISpeechPhoneConverter* This) {
23421    return This->lpVtbl->Release(This);
23422}
23423/*** IDispatch methods ***/
23424static FORCEINLINE HRESULT ISpeechPhoneConverter_GetTypeInfoCount(ISpeechPhoneConverter* This,UINT *pctinfo) {
23425    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
23426}
23427static FORCEINLINE HRESULT ISpeechPhoneConverter_GetTypeInfo(ISpeechPhoneConverter* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
23428    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
23429}
23430static FORCEINLINE HRESULT ISpeechPhoneConverter_GetIDsOfNames(ISpeechPhoneConverter* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
23431    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
23432}
23433static FORCEINLINE HRESULT ISpeechPhoneConverter_Invoke(ISpeechPhoneConverter* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
23434    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
23435}
23436/*** ISpeechPhoneConverter methods ***/
23437static FORCEINLINE HRESULT ISpeechPhoneConverter_get_LanguageId(ISpeechPhoneConverter* This,SpeechLanguageId *LanguageId) {
23438    return This->lpVtbl->get_LanguageId(This,LanguageId);
23439}
23440static FORCEINLINE HRESULT ISpeechPhoneConverter_put_LanguageId(ISpeechPhoneConverter* This,SpeechLanguageId LanguageId) {
23441    return This->lpVtbl->put_LanguageId(This,LanguageId);
23442}
23443static FORCEINLINE HRESULT ISpeechPhoneConverter_PhoneToId(ISpeechPhoneConverter* This,const BSTR Phonemes,VARIANT *IdArray) {
23444    return This->lpVtbl->PhoneToId(This,Phonemes,IdArray);
23445}
23446static FORCEINLINE HRESULT ISpeechPhoneConverter_IdToPhone(ISpeechPhoneConverter* This,const VARIANT IdArray,BSTR *Phonemes) {
23447    return This->lpVtbl->IdToPhone(This,IdArray,Phonemes);
23448}
23449#endif
23450#endif
23451
23452#endif
23453
23454HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_get_LanguageId_Proxy(
23455    ISpeechPhoneConverter* This,
23456    SpeechLanguageId *LanguageId);
23457void __RPC_STUB ISpeechPhoneConverter_get_LanguageId_Stub(
23458    IRpcStubBuffer* This,
23459    IRpcChannelBuffer* pRpcChannelBuffer,
23460    PRPC_MESSAGE pRpcMessage,
23461    DWORD* pdwStubPhase);
23462HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_put_LanguageId_Proxy(
23463    ISpeechPhoneConverter* This,
23464    SpeechLanguageId LanguageId);
23465void __RPC_STUB ISpeechPhoneConverter_put_LanguageId_Stub(
23466    IRpcStubBuffer* This,
23467    IRpcChannelBuffer* pRpcChannelBuffer,
23468    PRPC_MESSAGE pRpcMessage,
23469    DWORD* pdwStubPhase);
23470HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_PhoneToId_Proxy(
23471    ISpeechPhoneConverter* This,
23472    const BSTR Phonemes,
23473    VARIANT *IdArray);
23474void __RPC_STUB ISpeechPhoneConverter_PhoneToId_Stub(
23475    IRpcStubBuffer* This,
23476    IRpcChannelBuffer* pRpcChannelBuffer,
23477    PRPC_MESSAGE pRpcMessage,
23478    DWORD* pdwStubPhase);
23479HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_IdToPhone_Proxy(
23480    ISpeechPhoneConverter* This,
23481    const VARIANT IdArray,
23482    BSTR *Phonemes);
23483void __RPC_STUB ISpeechPhoneConverter_IdToPhone_Stub(
23484    IRpcStubBuffer* This,
23485    IRpcChannelBuffer* pRpcChannelBuffer,
23486    PRPC_MESSAGE pRpcMessage,
23487    DWORD* pdwStubPhase);
23488
23489#endif  /* __ISpeechPhoneConverter_INTERFACE_DEFINED__ */
23490
23491/*****************************************************************************
23492 * SpNotifyTranslator coclass
23493 */
23494
23495DEFINE_GUID(CLSID_SpNotifyTranslator, 0xe2ae5372, 0x5d40, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
23496
23497#ifdef __cplusplus
23498class DECLSPEC_UUID("e2ae5372-5d40-11d2-960e-00c04f8ee628") SpNotifyTranslator;
23499#ifdef __CRT_UUID_DECL
23500__CRT_UUID_DECL(SpNotifyTranslator, 0xe2ae5372, 0x5d40, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
23501#endif
23502#endif
23503
23504/*****************************************************************************
23505 * SpObjectTokenCategory coclass
23506 */
23507
23508DEFINE_GUID(CLSID_SpObjectTokenCategory, 0xa910187f, 0x0c7a, 0x45ac, 0x92,0xcc, 0x59,0xed,0xaf,0xb7,0x7b,0x53);
23509
23510#ifdef __cplusplus
23511class DECLSPEC_UUID("a910187f-0c7a-45ac-92cc-59edafb77b53") SpObjectTokenCategory;
23512#ifdef __CRT_UUID_DECL
23513__CRT_UUID_DECL(SpObjectTokenCategory, 0xa910187f, 0x0c7a, 0x45ac, 0x92,0xcc, 0x59,0xed,0xaf,0xb7,0x7b,0x53)
23514#endif
23515#endif
23516
23517/*****************************************************************************
23518 * SpObjectToken coclass
23519 */
23520
23521DEFINE_GUID(CLSID_SpObjectToken, 0xef411752, 0x3736, 0x4cb4, 0x9c,0x8c, 0x8e,0xf4,0xcc,0xb5,0x8e,0xfe);
23522
23523#ifdef __cplusplus
23524class DECLSPEC_UUID("ef411752-3736-4cb4-9c8c-8ef4ccb58efe") SpObjectToken;
23525#ifdef __CRT_UUID_DECL
23526__CRT_UUID_DECL(SpObjectToken, 0xef411752, 0x3736, 0x4cb4, 0x9c,0x8c, 0x8e,0xf4,0xcc,0xb5,0x8e,0xfe)
23527#endif
23528#endif
23529
23530/*****************************************************************************
23531 * SpResourceManager coclass
23532 */
23533
23534DEFINE_GUID(CLSID_SpResourceManager, 0x96749373, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96);
23535
23536#ifdef __cplusplus
23537class DECLSPEC_UUID("96749373-3391-11d2-9ee3-00c04f797396") SpResourceManager;
23538#ifdef __CRT_UUID_DECL
23539__CRT_UUID_DECL(SpResourceManager, 0x96749373, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96)
23540#endif
23541#endif
23542
23543/*****************************************************************************
23544 * SpStreamFormatConverter coclass
23545 */
23546
23547DEFINE_GUID(CLSID_SpStreamFormatConverter, 0x7013943a, 0xe2ec, 0x11d2, 0xa0,0x86, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5);
23548
23549#ifdef __cplusplus
23550class DECLSPEC_UUID("7013943a-e2ec-11d2-a086-00c04f8ef9b5") SpStreamFormatConverter;
23551#ifdef __CRT_UUID_DECL
23552__CRT_UUID_DECL(SpStreamFormatConverter, 0x7013943a, 0xe2ec, 0x11d2, 0xa0,0x86, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5)
23553#endif
23554#endif
23555
23556/*****************************************************************************
23557 * SpMMAudioEnum coclass
23558 */
23559
23560DEFINE_GUID(CLSID_SpMMAudioEnum, 0xab1890a0, 0xe91f, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
23561
23562#ifdef __cplusplus
23563class DECLSPEC_UUID("ab1890a0-e91f-11d2-bb91-00c04f8ee6c0") SpMMAudioEnum;
23564#ifdef __CRT_UUID_DECL
23565__CRT_UUID_DECL(SpMMAudioEnum, 0xab1890a0, 0xe91f, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
23566#endif
23567#endif
23568
23569/*****************************************************************************
23570 * SpMMAudioIn coclass
23571 */
23572
23573DEFINE_GUID(CLSID_SpMMAudioIn, 0xcf3d2e50, 0x53f2, 0x11d2, 0x96,0x0c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
23574
23575#ifdef __cplusplus
23576class DECLSPEC_UUID("cf3d2e50-53f2-11d2-960c-00c04f8ee628") SpMMAudioIn;
23577#ifdef __CRT_UUID_DECL
23578__CRT_UUID_DECL(SpMMAudioIn, 0xcf3d2e50, 0x53f2, 0x11d2, 0x96,0x0c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
23579#endif
23580#endif
23581
23582/*****************************************************************************
23583 * SpMMAudioOut coclass
23584 */
23585
23586DEFINE_GUID(CLSID_SpMMAudioOut, 0xa8c680eb, 0x3d32, 0x11d2, 0x9e,0xe7, 0x00,0xc0,0x4f,0x79,0x73,0x96);
23587
23588#ifdef __cplusplus
23589class DECLSPEC_UUID("a8c680eb-3d32-11d2-9ee7-00c04f797396") SpMMAudioOut;
23590#ifdef __CRT_UUID_DECL
23591__CRT_UUID_DECL(SpMMAudioOut, 0xa8c680eb, 0x3d32, 0x11d2, 0x9e,0xe7, 0x00,0xc0,0x4f,0x79,0x73,0x96)
23592#endif
23593#endif
23594
23595/*****************************************************************************
23596 * SpStream coclass
23597 */
23598
23599DEFINE_GUID(CLSID_SpStream, 0x715d9c59, 0x4442, 0x11d2, 0x96,0x05, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
23600
23601#ifdef __cplusplus
23602class DECLSPEC_UUID("715d9c59-4442-11d2-9605-00c04f8ee628") SpStream;
23603#ifdef __CRT_UUID_DECL
23604__CRT_UUID_DECL(SpStream, 0x715d9c59, 0x4442, 0x11d2, 0x96,0x05, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
23605#endif
23606#endif
23607
23608/*****************************************************************************
23609 * SpVoice coclass
23610 */
23611
23612DEFINE_GUID(CLSID_SpVoice, 0x96749377, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96);
23613
23614#ifdef __cplusplus
23615class DECLSPEC_UUID("96749377-3391-11d2-9ee3-00c04f797396") SpVoice;
23616#ifdef __CRT_UUID_DECL
23617__CRT_UUID_DECL(SpVoice, 0x96749377, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96)
23618#endif
23619#endif
23620
23621/*****************************************************************************
23622 * SpSharedRecoContext coclass
23623 */
23624
23625DEFINE_GUID(CLSID_SpSharedRecoContext, 0x47206204, 0x5eca, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
23626
23627#ifdef __cplusplus
23628class DECLSPEC_UUID("47206204-5eca-11d2-960f-00c04f8ee628") SpSharedRecoContext;
23629#ifdef __CRT_UUID_DECL
23630__CRT_UUID_DECL(SpSharedRecoContext, 0x47206204, 0x5eca, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
23631#endif
23632#endif
23633
23634/*****************************************************************************
23635 * SpInprocRecognizer coclass
23636 */
23637
23638DEFINE_GUID(CLSID_SpInprocRecognizer, 0x41b89b6b, 0x9399, 0x11d2, 0x96,0x23, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
23639
23640#ifdef __cplusplus
23641class DECLSPEC_UUID("41b89b6b-9399-11d2-9623-00c04f8ee628") SpInprocRecognizer;
23642#ifdef __CRT_UUID_DECL
23643__CRT_UUID_DECL(SpInprocRecognizer, 0x41b89b6b, 0x9399, 0x11d2, 0x96,0x23, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
23644#endif
23645#endif
23646
23647/*****************************************************************************
23648 * SpSharedRecognizer coclass
23649 */
23650
23651DEFINE_GUID(CLSID_SpSharedRecognizer, 0x3bee4890, 0x4fe9, 0x4a37, 0x8c,0x1e, 0x5e,0x7e,0x12,0x79,0x1c,0x1f);
23652
23653#ifdef __cplusplus
23654class DECLSPEC_UUID("3bee4890-4fe9-4a37-8c1e-5e7e12791c1f") SpSharedRecognizer;
23655#ifdef __CRT_UUID_DECL
23656__CRT_UUID_DECL(SpSharedRecognizer, 0x3bee4890, 0x4fe9, 0x4a37, 0x8c,0x1e, 0x5e,0x7e,0x12,0x79,0x1c,0x1f)
23657#endif
23658#endif
23659
23660/*****************************************************************************
23661 * SpLexicon coclass
23662 */
23663
23664DEFINE_GUID(CLSID_SpLexicon, 0x0655e396, 0x25d0, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c);
23665
23666#ifdef __cplusplus
23667class DECLSPEC_UUID("0655e396-25d0-11d3-9c26-00c04f8ef87c") SpLexicon;
23668#ifdef __CRT_UUID_DECL
23669__CRT_UUID_DECL(SpLexicon, 0x0655e396, 0x25d0, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c)
23670#endif
23671#endif
23672
23673/*****************************************************************************
23674 * SpUnCompressedLexicon coclass
23675 */
23676
23677DEFINE_GUID(CLSID_SpUnCompressedLexicon, 0xc9e37c15, 0xdf92, 0x4727, 0x85,0xd6, 0x72,0xe5,0xee,0xb6,0x99,0x5a);
23678
23679#ifdef __cplusplus
23680class DECLSPEC_UUID("c9e37c15-df92-4727-85d6-72e5eeb6995a") SpUnCompressedLexicon;
23681#ifdef __CRT_UUID_DECL
23682__CRT_UUID_DECL(SpUnCompressedLexicon, 0xc9e37c15, 0xdf92, 0x4727, 0x85,0xd6, 0x72,0xe5,0xee,0xb6,0x99,0x5a)
23683#endif
23684#endif
23685
23686/*****************************************************************************
23687 * SpCompressedLexicon coclass
23688 */
23689
23690DEFINE_GUID(CLSID_SpCompressedLexicon, 0x90903716, 0x2f42, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c);
23691
23692#ifdef __cplusplus
23693class DECLSPEC_UUID("90903716-2f42-11d3-9c26-00c04f8ef87c") SpCompressedLexicon;
23694#ifdef __CRT_UUID_DECL
23695__CRT_UUID_DECL(SpCompressedLexicon, 0x90903716, 0x2f42, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c)
23696#endif
23697#endif
23698
23699/*****************************************************************************
23700 * SpPhoneConverter coclass
23701 */
23702
23703DEFINE_GUID(CLSID_SpPhoneConverter, 0x9185f743, 0x1143, 0x4c28, 0x86,0xb5, 0xbf,0xf1,0x4f,0x20,0xe5,0xc8);
23704
23705#ifdef __cplusplus
23706class DECLSPEC_UUID("9185f743-1143-4c28-86b5-bff14f20e5c8") SpPhoneConverter;
23707#ifdef __CRT_UUID_DECL
23708__CRT_UUID_DECL(SpPhoneConverter, 0x9185f743, 0x1143, 0x4c28, 0x86,0xb5, 0xbf,0xf1,0x4f,0x20,0xe5,0xc8)
23709#endif
23710#endif
23711
23712/*****************************************************************************
23713 * SpNullPhoneConverter coclass
23714 */
23715
23716DEFINE_GUID(CLSID_SpNullPhoneConverter, 0x455f24e9, 0x7396, 0x4a16, 0x97,0x15, 0x7c,0x0f,0xdb,0xe3,0xef,0xe3);
23717
23718#ifdef __cplusplus
23719class DECLSPEC_UUID("455f24e9-7396-4a16-9715-7c0fdbe3efe3") SpNullPhoneConverter;
23720#ifdef __CRT_UUID_DECL
23721__CRT_UUID_DECL(SpNullPhoneConverter, 0x455f24e9, 0x7396, 0x4a16, 0x97,0x15, 0x7c,0x0f,0xdb,0xe3,0xef,0xe3)
23722#endif
23723#endif
23724
23725/*****************************************************************************
23726 * SpTextSelectionInformation coclass
23727 */
23728
23729DEFINE_GUID(CLSID_SpTextSelectionInformation, 0x0f92030a, 0xcbfd, 0x4ab8, 0xa1,0x64, 0xff,0x59,0x85,0x54,0x7f,0xf6);
23730
23731#ifdef __cplusplus
23732class DECLSPEC_UUID("0f92030a-cbfd-4ab8-a164-ff5985547ff6") SpTextSelectionInformation;
23733#ifdef __CRT_UUID_DECL
23734__CRT_UUID_DECL(SpTextSelectionInformation, 0x0f92030a, 0xcbfd, 0x4ab8, 0xa1,0x64, 0xff,0x59,0x85,0x54,0x7f,0xf6)
23735#endif
23736#endif
23737
23738/*****************************************************************************
23739 * SpPhraseInfoBuilder coclass
23740 */
23741
23742DEFINE_GUID(CLSID_SpPhraseInfoBuilder, 0xc23fc28d, 0xc55f, 0x4720, 0x8b,0x32, 0x91,0xf7,0x3c,0x2b,0xd5,0xd1);
23743
23744#ifdef __cplusplus
23745class DECLSPEC_UUID("c23fc28d-c55f-4720-8b32-91f73c2bd5d1") SpPhraseInfoBuilder;
23746#ifdef __CRT_UUID_DECL
23747__CRT_UUID_DECL(SpPhraseInfoBuilder, 0xc23fc28d, 0xc55f, 0x4720, 0x8b,0x32, 0x91,0xf7,0x3c,0x2b,0xd5,0xd1)
23748#endif
23749#endif
23750
23751/*****************************************************************************
23752 * SpAudioFormat coclass
23753 */
23754
23755DEFINE_GUID(CLSID_SpAudioFormat, 0x9ef96870, 0xe160, 0x4792, 0x82,0x0d, 0x48,0xcf,0x06,0x49,0xe4,0xec);
23756
23757#ifdef __cplusplus
23758class DECLSPEC_UUID("9ef96870-e160-4792-820d-48cf0649e4ec") SpAudioFormat;
23759#ifdef __CRT_UUID_DECL
23760__CRT_UUID_DECL(SpAudioFormat, 0x9ef96870, 0xe160, 0x4792, 0x82,0x0d, 0x48,0xcf,0x06,0x49,0xe4,0xec)
23761#endif
23762#endif
23763
23764/*****************************************************************************
23765 * SpWaveFormatEx coclass
23766 */
23767
23768DEFINE_GUID(CLSID_SpWaveFormatEx, 0xc79a574c, 0x63be, 0x44b9, 0x80,0x1f, 0x28,0x3f,0x87,0xf8,0x98,0xbe);
23769
23770#ifdef __cplusplus
23771class DECLSPEC_UUID("c79a574c-63be-44b9-801f-283f87f898be") SpWaveFormatEx;
23772#ifdef __CRT_UUID_DECL
23773__CRT_UUID_DECL(SpWaveFormatEx, 0xc79a574c, 0x63be, 0x44b9, 0x80,0x1f, 0x28,0x3f,0x87,0xf8,0x98,0xbe)
23774#endif
23775#endif
23776
23777/*****************************************************************************
23778 * SpInProcRecoContext coclass
23779 */
23780
23781DEFINE_GUID(CLSID_SpInProcRecoContext, 0x73ad6842, 0xace0, 0x45e8, 0xa4,0xdd, 0x87,0x95,0x88,0x1a,0x2c,0x2a);
23782
23783#ifdef __cplusplus
23784class DECLSPEC_UUID("73ad6842-ace0-45e8-a4dd-8795881a2c2a") SpInProcRecoContext;
23785#ifdef __CRT_UUID_DECL
23786__CRT_UUID_DECL(SpInProcRecoContext, 0x73ad6842, 0xace0, 0x45e8, 0xa4,0xdd, 0x87,0x95,0x88,0x1a,0x2c,0x2a)
23787#endif
23788#endif
23789
23790/*****************************************************************************
23791 * SpCustomStream coclass
23792 */
23793
23794DEFINE_GUID(CLSID_SpCustomStream, 0x8dbef13f, 0x1948, 0x4aa8, 0x8c,0xf0, 0x04,0x8e,0xeb,0xed,0x95,0xd8);
23795
23796#ifdef __cplusplus
23797class DECLSPEC_UUID("8dbef13f-1948-4aa8-8cf0-048eebed95d8") SpCustomStream;
23798#ifdef __CRT_UUID_DECL
23799__CRT_UUID_DECL(SpCustomStream, 0x8dbef13f, 0x1948, 0x4aa8, 0x8c,0xf0, 0x04,0x8e,0xeb,0xed,0x95,0xd8)
23800#endif
23801#endif
23802
23803/*****************************************************************************
23804 * SpFileStream coclass
23805 */
23806
23807DEFINE_GUID(CLSID_SpFileStream, 0x947812b3, 0x2ae1, 0x4644, 0xba,0x86, 0x9e,0x90,0xde,0xd7,0xec,0x91);
23808
23809#ifdef __cplusplus
23810class DECLSPEC_UUID("947812b3-2ae1-4644-ba86-9e90ded7ec91") SpFileStream;
23811#ifdef __CRT_UUID_DECL
23812__CRT_UUID_DECL(SpFileStream, 0x947812b3, 0x2ae1, 0x4644, 0xba,0x86, 0x9e,0x90,0xde,0xd7,0xec,0x91)
23813#endif
23814#endif
23815
23816/*****************************************************************************
23817 * SpMemoryStream coclass
23818 */
23819
23820DEFINE_GUID(CLSID_SpMemoryStream, 0x5fb7ef7d, 0xdff4, 0x468a, 0xb6,0xb7, 0x2f,0xcb,0xd1,0x88,0xf9,0x94);
23821
23822#ifdef __cplusplus
23823class DECLSPEC_UUID("5fb7ef7d-dff4-468a-b6b7-2fcbd188f994") SpMemoryStream;
23824#ifdef __CRT_UUID_DECL
23825__CRT_UUID_DECL(SpMemoryStream, 0x5fb7ef7d, 0xdff4, 0x468a, 0xb6,0xb7, 0x2f,0xcb,0xd1,0x88,0xf9,0x94)
23826#endif
23827#endif
23828
23829/* Begin additional prototypes for all interfaces */
23830
23831ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
23832unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
23833unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
23834void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
23835ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
23836unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
23837unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
23838void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
23839ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
23840unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
23841unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
23842void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
23843
23844/* End additional prototypes */
23845
23846#ifdef __cplusplus
23847}
23848#endif
23849
23850#endif /* __sapi51_h__ */
23851