1 
2 #pragma warning( disable: 4049 )  /* more than 64k source lines */
3 
4 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
5 
6 
7  /* File created by MIDL compiler version 6.00.0347 */
8 /* Compiler settings for sapi.idl:
9     Oicf, W1, Zp8, env=Win32 (32b run)
10     protocol : dce , ms_ext, c_ext
11     error checks: allocation ref bounds_check enum stub_data
12     VC __declspec() decoration level:
13          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
14          DECLSPEC_UUID(), MIDL_INTERFACE()
15 */
16 //@@MIDL_FILE_HEADING(  )
17 
18 
19 /* verify that the <rpcndr.h> version is high enough to compile this file*/
20 #ifndef __REQUIRED_RPCNDR_H_VERSION__
21 #define __REQUIRED_RPCNDR_H_VERSION__ 440
22 #endif
23 
24 #include "rpc.h"
25 #include "rpcndr.h"
26 
27 #ifndef __RPCNDR_H_VERSION__
28 #error this stub requires an updated version of <rpcndr.h>
29 #endif // __RPCNDR_H_VERSION__
30 
31 #ifndef COM_NO_WINDOWS_H
32 #include "windows.h"
33 #include "ole2.h"
34 #endif /*COM_NO_WINDOWS_H*/
35 
36 #ifndef __sapi_h__
37 #define __sapi_h__
38 
39 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
40 #pragma once
41 #endif
42 
43 /* Forward Declarations */
44 
45 #ifndef __ISpNotifySource_FWD_DEFINED__
46 #define __ISpNotifySource_FWD_DEFINED__
47 typedef interface ISpNotifySource ISpNotifySource;
48 #endif 	/* __ISpNotifySource_FWD_DEFINED__ */
49 
50 
51 #ifndef __ISpNotifySink_FWD_DEFINED__
52 #define __ISpNotifySink_FWD_DEFINED__
53 typedef interface ISpNotifySink ISpNotifySink;
54 #endif 	/* __ISpNotifySink_FWD_DEFINED__ */
55 
56 
57 #ifndef __ISpNotifyTranslator_FWD_DEFINED__
58 #define __ISpNotifyTranslator_FWD_DEFINED__
59 typedef interface ISpNotifyTranslator ISpNotifyTranslator;
60 #endif 	/* __ISpNotifyTranslator_FWD_DEFINED__ */
61 
62 
63 #ifndef __ISpDataKey_FWD_DEFINED__
64 #define __ISpDataKey_FWD_DEFINED__
65 typedef interface ISpDataKey ISpDataKey;
66 #endif 	/* __ISpDataKey_FWD_DEFINED__ */
67 
68 
69 #ifndef __ISpRegDataKey_FWD_DEFINED__
70 #define __ISpRegDataKey_FWD_DEFINED__
71 typedef interface ISpRegDataKey ISpRegDataKey;
72 #endif 	/* __ISpRegDataKey_FWD_DEFINED__ */
73 
74 
75 #ifndef __ISpObjectTokenCategory_FWD_DEFINED__
76 #define __ISpObjectTokenCategory_FWD_DEFINED__
77 typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
78 #endif 	/* __ISpObjectTokenCategory_FWD_DEFINED__ */
79 
80 
81 #ifndef __ISpObjectToken_FWD_DEFINED__
82 #define __ISpObjectToken_FWD_DEFINED__
83 typedef interface ISpObjectToken ISpObjectToken;
84 #endif 	/* __ISpObjectToken_FWD_DEFINED__ */
85 
86 
87 #ifndef __ISpObjectTokenInit_FWD_DEFINED__
88 #define __ISpObjectTokenInit_FWD_DEFINED__
89 typedef interface ISpObjectTokenInit ISpObjectTokenInit;
90 #endif 	/* __ISpObjectTokenInit_FWD_DEFINED__ */
91 
92 
93 #ifndef __IEnumSpObjectTokens_FWD_DEFINED__
94 #define __IEnumSpObjectTokens_FWD_DEFINED__
95 typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
96 #endif 	/* __IEnumSpObjectTokens_FWD_DEFINED__ */
97 
98 
99 #ifndef __ISpObjectWithToken_FWD_DEFINED__
100 #define __ISpObjectWithToken_FWD_DEFINED__
101 typedef interface ISpObjectWithToken ISpObjectWithToken;
102 #endif 	/* __ISpObjectWithToken_FWD_DEFINED__ */
103 
104 
105 #ifndef __ISpResourceManager_FWD_DEFINED__
106 #define __ISpResourceManager_FWD_DEFINED__
107 typedef interface ISpResourceManager ISpResourceManager;
108 #endif 	/* __ISpResourceManager_FWD_DEFINED__ */
109 
110 
111 #ifndef __ISpEventSource_FWD_DEFINED__
112 #define __ISpEventSource_FWD_DEFINED__
113 typedef interface ISpEventSource ISpEventSource;
114 #endif 	/* __ISpEventSource_FWD_DEFINED__ */
115 
116 
117 #ifndef __ISpEventSink_FWD_DEFINED__
118 #define __ISpEventSink_FWD_DEFINED__
119 typedef interface ISpEventSink ISpEventSink;
120 #endif 	/* __ISpEventSink_FWD_DEFINED__ */
121 
122 
123 #ifndef __ISpStreamFormat_FWD_DEFINED__
124 #define __ISpStreamFormat_FWD_DEFINED__
125 typedef interface ISpStreamFormat ISpStreamFormat;
126 #endif 	/* __ISpStreamFormat_FWD_DEFINED__ */
127 
128 
129 #ifndef __ISpStream_FWD_DEFINED__
130 #define __ISpStream_FWD_DEFINED__
131 typedef interface ISpStream ISpStream;
132 #endif 	/* __ISpStream_FWD_DEFINED__ */
133 
134 
135 #ifndef __ISpStreamFormatConverter_FWD_DEFINED__
136 #define __ISpStreamFormatConverter_FWD_DEFINED__
137 typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
138 #endif 	/* __ISpStreamFormatConverter_FWD_DEFINED__ */
139 
140 
141 #ifndef __ISpAudio_FWD_DEFINED__
142 #define __ISpAudio_FWD_DEFINED__
143 typedef interface ISpAudio ISpAudio;
144 #endif 	/* __ISpAudio_FWD_DEFINED__ */
145 
146 
147 #ifndef __ISpMMSysAudio_FWD_DEFINED__
148 #define __ISpMMSysAudio_FWD_DEFINED__
149 typedef interface ISpMMSysAudio ISpMMSysAudio;
150 #endif 	/* __ISpMMSysAudio_FWD_DEFINED__ */
151 
152 
153 #ifndef __ISpTranscript_FWD_DEFINED__
154 #define __ISpTranscript_FWD_DEFINED__
155 typedef interface ISpTranscript ISpTranscript;
156 #endif 	/* __ISpTranscript_FWD_DEFINED__ */
157 
158 
159 #ifndef __ISpLexicon_FWD_DEFINED__
160 #define __ISpLexicon_FWD_DEFINED__
161 typedef interface ISpLexicon ISpLexicon;
162 #endif 	/* __ISpLexicon_FWD_DEFINED__ */
163 
164 
165 #ifndef __ISpContainerLexicon_FWD_DEFINED__
166 #define __ISpContainerLexicon_FWD_DEFINED__
167 typedef interface ISpContainerLexicon ISpContainerLexicon;
168 #endif 	/* __ISpContainerLexicon_FWD_DEFINED__ */
169 
170 
171 #ifndef __ISpPhoneConverter_FWD_DEFINED__
172 #define __ISpPhoneConverter_FWD_DEFINED__
173 typedef interface ISpPhoneConverter ISpPhoneConverter;
174 #endif 	/* __ISpPhoneConverter_FWD_DEFINED__ */
175 
176 
177 #ifndef __ISpVoice_FWD_DEFINED__
178 #define __ISpVoice_FWD_DEFINED__
179 typedef interface ISpVoice ISpVoice;
180 #endif 	/* __ISpVoice_FWD_DEFINED__ */
181 
182 
183 #ifndef __ISpPhrase_FWD_DEFINED__
184 #define __ISpPhrase_FWD_DEFINED__
185 typedef interface ISpPhrase ISpPhrase;
186 #endif 	/* __ISpPhrase_FWD_DEFINED__ */
187 
188 
189 #ifndef __ISpPhraseAlt_FWD_DEFINED__
190 #define __ISpPhraseAlt_FWD_DEFINED__
191 typedef interface ISpPhraseAlt ISpPhraseAlt;
192 #endif 	/* __ISpPhraseAlt_FWD_DEFINED__ */
193 
194 
195 #ifndef __ISpRecoResult_FWD_DEFINED__
196 #define __ISpRecoResult_FWD_DEFINED__
197 typedef interface ISpRecoResult ISpRecoResult;
198 #endif 	/* __ISpRecoResult_FWD_DEFINED__ */
199 
200 
201 #ifndef __ISpGrammarBuilder_FWD_DEFINED__
202 #define __ISpGrammarBuilder_FWD_DEFINED__
203 typedef interface ISpGrammarBuilder ISpGrammarBuilder;
204 #endif 	/* __ISpGrammarBuilder_FWD_DEFINED__ */
205 
206 
207 #ifndef __ISpRecoGrammar_FWD_DEFINED__
208 #define __ISpRecoGrammar_FWD_DEFINED__
209 typedef interface ISpRecoGrammar ISpRecoGrammar;
210 #endif 	/* __ISpRecoGrammar_FWD_DEFINED__ */
211 
212 
213 #ifndef __ISpRecoContext_FWD_DEFINED__
214 #define __ISpRecoContext_FWD_DEFINED__
215 typedef interface ISpRecoContext ISpRecoContext;
216 #endif 	/* __ISpRecoContext_FWD_DEFINED__ */
217 
218 
219 #ifndef __ISpProperties_FWD_DEFINED__
220 #define __ISpProperties_FWD_DEFINED__
221 typedef interface ISpProperties ISpProperties;
222 #endif 	/* __ISpProperties_FWD_DEFINED__ */
223 
224 
225 #ifndef __ISpRecognizer_FWD_DEFINED__
226 #define __ISpRecognizer_FWD_DEFINED__
227 typedef interface ISpRecognizer ISpRecognizer;
228 #endif 	/* __ISpRecognizer_FWD_DEFINED__ */
229 
230 
231 #ifndef __ISpeechDataKey_FWD_DEFINED__
232 #define __ISpeechDataKey_FWD_DEFINED__
233 typedef interface ISpeechDataKey ISpeechDataKey;
234 #endif 	/* __ISpeechDataKey_FWD_DEFINED__ */
235 
236 
237 #ifndef __ISpeechObjectToken_FWD_DEFINED__
238 #define __ISpeechObjectToken_FWD_DEFINED__
239 typedef interface ISpeechObjectToken ISpeechObjectToken;
240 #endif 	/* __ISpeechObjectToken_FWD_DEFINED__ */
241 
242 
243 #ifndef __ISpeechObjectTokens_FWD_DEFINED__
244 #define __ISpeechObjectTokens_FWD_DEFINED__
245 typedef interface ISpeechObjectTokens ISpeechObjectTokens;
246 #endif 	/* __ISpeechObjectTokens_FWD_DEFINED__ */
247 
248 
249 #ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
250 #define __ISpeechObjectTokenCategory_FWD_DEFINED__
251 typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
252 #endif 	/* __ISpeechObjectTokenCategory_FWD_DEFINED__ */
253 
254 
255 #ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
256 #define __ISpeechAudioBufferInfo_FWD_DEFINED__
257 typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
258 #endif 	/* __ISpeechAudioBufferInfo_FWD_DEFINED__ */
259 
260 
261 #ifndef __ISpeechAudioStatus_FWD_DEFINED__
262 #define __ISpeechAudioStatus_FWD_DEFINED__
263 typedef interface ISpeechAudioStatus ISpeechAudioStatus;
264 #endif 	/* __ISpeechAudioStatus_FWD_DEFINED__ */
265 
266 
267 #ifndef __ISpeechAudioFormat_FWD_DEFINED__
268 #define __ISpeechAudioFormat_FWD_DEFINED__
269 typedef interface ISpeechAudioFormat ISpeechAudioFormat;
270 #endif 	/* __ISpeechAudioFormat_FWD_DEFINED__ */
271 
272 
273 #ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
274 #define __ISpeechWaveFormatEx_FWD_DEFINED__
275 typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
276 #endif 	/* __ISpeechWaveFormatEx_FWD_DEFINED__ */
277 
278 
279 #ifndef __ISpeechBaseStream_FWD_DEFINED__
280 #define __ISpeechBaseStream_FWD_DEFINED__
281 typedef interface ISpeechBaseStream ISpeechBaseStream;
282 #endif 	/* __ISpeechBaseStream_FWD_DEFINED__ */
283 
284 
285 #ifndef __ISpeechFileStream_FWD_DEFINED__
286 #define __ISpeechFileStream_FWD_DEFINED__
287 typedef interface ISpeechFileStream ISpeechFileStream;
288 #endif 	/* __ISpeechFileStream_FWD_DEFINED__ */
289 
290 
291 #ifndef __ISpeechMemoryStream_FWD_DEFINED__
292 #define __ISpeechMemoryStream_FWD_DEFINED__
293 typedef interface ISpeechMemoryStream ISpeechMemoryStream;
294 #endif 	/* __ISpeechMemoryStream_FWD_DEFINED__ */
295 
296 
297 #ifndef __ISpeechCustomStream_FWD_DEFINED__
298 #define __ISpeechCustomStream_FWD_DEFINED__
299 typedef interface ISpeechCustomStream ISpeechCustomStream;
300 #endif 	/* __ISpeechCustomStream_FWD_DEFINED__ */
301 
302 
303 #ifndef __ISpeechAudio_FWD_DEFINED__
304 #define __ISpeechAudio_FWD_DEFINED__
305 typedef interface ISpeechAudio ISpeechAudio;
306 #endif 	/* __ISpeechAudio_FWD_DEFINED__ */
307 
308 
309 #ifndef __ISpeechMMSysAudio_FWD_DEFINED__
310 #define __ISpeechMMSysAudio_FWD_DEFINED__
311 typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
312 #endif 	/* __ISpeechMMSysAudio_FWD_DEFINED__ */
313 
314 
315 #ifndef __ISpeechVoice_FWD_DEFINED__
316 #define __ISpeechVoice_FWD_DEFINED__
317 typedef interface ISpeechVoice ISpeechVoice;
318 #endif 	/* __ISpeechVoice_FWD_DEFINED__ */
319 
320 
321 #ifndef __ISpeechVoiceStatus_FWD_DEFINED__
322 #define __ISpeechVoiceStatus_FWD_DEFINED__
323 typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
324 #endif 	/* __ISpeechVoiceStatus_FWD_DEFINED__ */
325 
326 
327 #ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
328 #define ___ISpeechVoiceEvents_FWD_DEFINED__
329 typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
330 #endif 	/* ___ISpeechVoiceEvents_FWD_DEFINED__ */
331 
332 
333 #ifndef __ISpeechRecognizer_FWD_DEFINED__
334 #define __ISpeechRecognizer_FWD_DEFINED__
335 typedef interface ISpeechRecognizer ISpeechRecognizer;
336 #endif 	/* __ISpeechRecognizer_FWD_DEFINED__ */
337 
338 
339 #ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
340 #define __ISpeechRecognizerStatus_FWD_DEFINED__
341 typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
342 #endif 	/* __ISpeechRecognizerStatus_FWD_DEFINED__ */
343 
344 
345 #ifndef __ISpeechRecoContext_FWD_DEFINED__
346 #define __ISpeechRecoContext_FWD_DEFINED__
347 typedef interface ISpeechRecoContext ISpeechRecoContext;
348 #endif 	/* __ISpeechRecoContext_FWD_DEFINED__ */
349 
350 
351 #ifndef __ISpeechRecoGrammar_FWD_DEFINED__
352 #define __ISpeechRecoGrammar_FWD_DEFINED__
353 typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
354 #endif 	/* __ISpeechRecoGrammar_FWD_DEFINED__ */
355 
356 
357 #ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
358 #define ___ISpeechRecoContextEvents_FWD_DEFINED__
359 typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
360 #endif 	/* ___ISpeechRecoContextEvents_FWD_DEFINED__ */
361 
362 
363 #ifndef __ISpeechGrammarRule_FWD_DEFINED__
364 #define __ISpeechGrammarRule_FWD_DEFINED__
365 typedef interface ISpeechGrammarRule ISpeechGrammarRule;
366 #endif 	/* __ISpeechGrammarRule_FWD_DEFINED__ */
367 
368 
369 #ifndef __ISpeechGrammarRules_FWD_DEFINED__
370 #define __ISpeechGrammarRules_FWD_DEFINED__
371 typedef interface ISpeechGrammarRules ISpeechGrammarRules;
372 #endif 	/* __ISpeechGrammarRules_FWD_DEFINED__ */
373 
374 
375 #ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
376 #define __ISpeechGrammarRuleState_FWD_DEFINED__
377 typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
378 #endif 	/* __ISpeechGrammarRuleState_FWD_DEFINED__ */
379 
380 
381 #ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
382 #define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
383 typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
384 #endif 	/* __ISpeechGrammarRuleStateTransition_FWD_DEFINED__ */
385 
386 
387 #ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
388 #define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
389 typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
390 #endif 	/* __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__ */
391 
392 
393 #ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
394 #define __ISpeechTextSelectionInformation_FWD_DEFINED__
395 typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
396 #endif 	/* __ISpeechTextSelectionInformation_FWD_DEFINED__ */
397 
398 
399 #ifndef __ISpeechRecoResult_FWD_DEFINED__
400 #define __ISpeechRecoResult_FWD_DEFINED__
401 typedef interface ISpeechRecoResult ISpeechRecoResult;
402 #endif 	/* __ISpeechRecoResult_FWD_DEFINED__ */
403 
404 
405 #ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
406 #define __ISpeechRecoResultTimes_FWD_DEFINED__
407 typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
408 #endif 	/* __ISpeechRecoResultTimes_FWD_DEFINED__ */
409 
410 
411 #ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
412 #define __ISpeechPhraseAlternate_FWD_DEFINED__
413 typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
414 #endif 	/* __ISpeechPhraseAlternate_FWD_DEFINED__ */
415 
416 
417 #ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
418 #define __ISpeechPhraseAlternates_FWD_DEFINED__
419 typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
420 #endif 	/* __ISpeechPhraseAlternates_FWD_DEFINED__ */
421 
422 
423 #ifndef __ISpeechPhraseInfo_FWD_DEFINED__
424 #define __ISpeechPhraseInfo_FWD_DEFINED__
425 typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
426 #endif 	/* __ISpeechPhraseInfo_FWD_DEFINED__ */
427 
428 
429 #ifndef __ISpeechPhraseElement_FWD_DEFINED__
430 #define __ISpeechPhraseElement_FWD_DEFINED__
431 typedef interface ISpeechPhraseElement ISpeechPhraseElement;
432 #endif 	/* __ISpeechPhraseElement_FWD_DEFINED__ */
433 
434 
435 #ifndef __ISpeechPhraseElements_FWD_DEFINED__
436 #define __ISpeechPhraseElements_FWD_DEFINED__
437 typedef interface ISpeechPhraseElements ISpeechPhraseElements;
438 #endif 	/* __ISpeechPhraseElements_FWD_DEFINED__ */
439 
440 
441 #ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
442 #define __ISpeechPhraseReplacement_FWD_DEFINED__
443 typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
444 #endif 	/* __ISpeechPhraseReplacement_FWD_DEFINED__ */
445 
446 
447 #ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
448 #define __ISpeechPhraseReplacements_FWD_DEFINED__
449 typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
450 #endif 	/* __ISpeechPhraseReplacements_FWD_DEFINED__ */
451 
452 
453 #ifndef __ISpeechPhraseProperty_FWD_DEFINED__
454 #define __ISpeechPhraseProperty_FWD_DEFINED__
455 typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
456 #endif 	/* __ISpeechPhraseProperty_FWD_DEFINED__ */
457 
458 
459 #ifndef __ISpeechPhraseProperties_FWD_DEFINED__
460 #define __ISpeechPhraseProperties_FWD_DEFINED__
461 typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
462 #endif 	/* __ISpeechPhraseProperties_FWD_DEFINED__ */
463 
464 
465 #ifndef __ISpeechPhraseRule_FWD_DEFINED__
466 #define __ISpeechPhraseRule_FWD_DEFINED__
467 typedef interface ISpeechPhraseRule ISpeechPhraseRule;
468 #endif 	/* __ISpeechPhraseRule_FWD_DEFINED__ */
469 
470 
471 #ifndef __ISpeechPhraseRules_FWD_DEFINED__
472 #define __ISpeechPhraseRules_FWD_DEFINED__
473 typedef interface ISpeechPhraseRules ISpeechPhraseRules;
474 #endif 	/* __ISpeechPhraseRules_FWD_DEFINED__ */
475 
476 
477 #ifndef __ISpeechLexicon_FWD_DEFINED__
478 #define __ISpeechLexicon_FWD_DEFINED__
479 typedef interface ISpeechLexicon ISpeechLexicon;
480 #endif 	/* __ISpeechLexicon_FWD_DEFINED__ */
481 
482 
483 #ifndef __ISpeechLexiconWords_FWD_DEFINED__
484 #define __ISpeechLexiconWords_FWD_DEFINED__
485 typedef interface ISpeechLexiconWords ISpeechLexiconWords;
486 #endif 	/* __ISpeechLexiconWords_FWD_DEFINED__ */
487 
488 
489 #ifndef __ISpeechLexiconWord_FWD_DEFINED__
490 #define __ISpeechLexiconWord_FWD_DEFINED__
491 typedef interface ISpeechLexiconWord ISpeechLexiconWord;
492 #endif 	/* __ISpeechLexiconWord_FWD_DEFINED__ */
493 
494 
495 #ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
496 #define __ISpeechLexiconPronunciations_FWD_DEFINED__
497 typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
498 #endif 	/* __ISpeechLexiconPronunciations_FWD_DEFINED__ */
499 
500 
501 #ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
502 #define __ISpeechLexiconPronunciation_FWD_DEFINED__
503 typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
504 #endif 	/* __ISpeechLexiconPronunciation_FWD_DEFINED__ */
505 
506 
507 #ifndef __ISpeechPhraseInfoBuilder_FWD_DEFINED__
508 #define __ISpeechPhraseInfoBuilder_FWD_DEFINED__
509 typedef interface ISpeechPhraseInfoBuilder ISpeechPhraseInfoBuilder;
510 #endif 	/* __ISpeechPhraseInfoBuilder_FWD_DEFINED__ */
511 
512 
513 #ifndef __ISpeechPhoneConverter_FWD_DEFINED__
514 #define __ISpeechPhoneConverter_FWD_DEFINED__
515 typedef interface ISpeechPhoneConverter ISpeechPhoneConverter;
516 #endif 	/* __ISpeechPhoneConverter_FWD_DEFINED__ */
517 
518 
519 #ifndef __SpNotifyTranslator_FWD_DEFINED__
520 #define __SpNotifyTranslator_FWD_DEFINED__
521 
522 #ifdef __cplusplus
523 typedef class SpNotifyTranslator SpNotifyTranslator;
524 #else
525 typedef struct SpNotifyTranslator SpNotifyTranslator;
526 #endif /* __cplusplus */
527 
528 #endif 	/* __SpNotifyTranslator_FWD_DEFINED__ */
529 
530 
531 #ifndef __SpObjectTokenCategory_FWD_DEFINED__
532 #define __SpObjectTokenCategory_FWD_DEFINED__
533 
534 #ifdef __cplusplus
535 typedef class SpObjectTokenCategory SpObjectTokenCategory;
536 #else
537 typedef struct SpObjectTokenCategory SpObjectTokenCategory;
538 #endif /* __cplusplus */
539 
540 #endif 	/* __SpObjectTokenCategory_FWD_DEFINED__ */
541 
542 
543 #ifndef __SpObjectToken_FWD_DEFINED__
544 #define __SpObjectToken_FWD_DEFINED__
545 
546 #ifdef __cplusplus
547 typedef class SpObjectToken SpObjectToken;
548 #else
549 typedef struct SpObjectToken SpObjectToken;
550 #endif /* __cplusplus */
551 
552 #endif 	/* __SpObjectToken_FWD_DEFINED__ */
553 
554 
555 #ifndef __SpResourceManager_FWD_DEFINED__
556 #define __SpResourceManager_FWD_DEFINED__
557 
558 #ifdef __cplusplus
559 typedef class SpResourceManager SpResourceManager;
560 #else
561 typedef struct SpResourceManager SpResourceManager;
562 #endif /* __cplusplus */
563 
564 #endif 	/* __SpResourceManager_FWD_DEFINED__ */
565 
566 
567 #ifndef __SpStreamFormatConverter_FWD_DEFINED__
568 #define __SpStreamFormatConverter_FWD_DEFINED__
569 
570 #ifdef __cplusplus
571 typedef class SpStreamFormatConverter SpStreamFormatConverter;
572 #else
573 typedef struct SpStreamFormatConverter SpStreamFormatConverter;
574 #endif /* __cplusplus */
575 
576 #endif 	/* __SpStreamFormatConverter_FWD_DEFINED__ */
577 
578 
579 #ifndef __SpMMAudioEnum_FWD_DEFINED__
580 #define __SpMMAudioEnum_FWD_DEFINED__
581 
582 #ifdef __cplusplus
583 typedef class SpMMAudioEnum SpMMAudioEnum;
584 #else
585 typedef struct SpMMAudioEnum SpMMAudioEnum;
586 #endif /* __cplusplus */
587 
588 #endif 	/* __SpMMAudioEnum_FWD_DEFINED__ */
589 
590 
591 #ifndef __SpMMAudioIn_FWD_DEFINED__
592 #define __SpMMAudioIn_FWD_DEFINED__
593 
594 #ifdef __cplusplus
595 typedef class SpMMAudioIn SpMMAudioIn;
596 #else
597 typedef struct SpMMAudioIn SpMMAudioIn;
598 #endif /* __cplusplus */
599 
600 #endif 	/* __SpMMAudioIn_FWD_DEFINED__ */
601 
602 
603 #ifndef __SpMMAudioOut_FWD_DEFINED__
604 #define __SpMMAudioOut_FWD_DEFINED__
605 
606 #ifdef __cplusplus
607 typedef class SpMMAudioOut SpMMAudioOut;
608 #else
609 typedef struct SpMMAudioOut SpMMAudioOut;
610 #endif /* __cplusplus */
611 
612 #endif 	/* __SpMMAudioOut_FWD_DEFINED__ */
613 
614 
615 #ifndef __SpRecPlayAudio_FWD_DEFINED__
616 #define __SpRecPlayAudio_FWD_DEFINED__
617 
618 #ifdef __cplusplus
619 typedef class SpRecPlayAudio SpRecPlayAudio;
620 #else
621 typedef struct SpRecPlayAudio SpRecPlayAudio;
622 #endif /* __cplusplus */
623 
624 #endif 	/* __SpRecPlayAudio_FWD_DEFINED__ */
625 
626 
627 #ifndef __SpStream_FWD_DEFINED__
628 #define __SpStream_FWD_DEFINED__
629 
630 #ifdef __cplusplus
631 typedef class SpStream SpStream;
632 #else
633 typedef struct SpStream SpStream;
634 #endif /* __cplusplus */
635 
636 #endif 	/* __SpStream_FWD_DEFINED__ */
637 
638 
639 #ifndef __SpVoice_FWD_DEFINED__
640 #define __SpVoice_FWD_DEFINED__
641 
642 #ifdef __cplusplus
643 typedef class SpVoice SpVoice;
644 #else
645 typedef struct SpVoice SpVoice;
646 #endif /* __cplusplus */
647 
648 #endif 	/* __SpVoice_FWD_DEFINED__ */
649 
650 
651 #ifndef __SpSharedRecoContext_FWD_DEFINED__
652 #define __SpSharedRecoContext_FWD_DEFINED__
653 
654 #ifdef __cplusplus
655 typedef class SpSharedRecoContext SpSharedRecoContext;
656 #else
657 typedef struct SpSharedRecoContext SpSharedRecoContext;
658 #endif /* __cplusplus */
659 
660 #endif 	/* __SpSharedRecoContext_FWD_DEFINED__ */
661 
662 
663 #ifndef __SpInprocRecognizer_FWD_DEFINED__
664 #define __SpInprocRecognizer_FWD_DEFINED__
665 
666 #ifdef __cplusplus
667 typedef class SpInprocRecognizer SpInprocRecognizer;
668 #else
669 typedef struct SpInprocRecognizer SpInprocRecognizer;
670 #endif /* __cplusplus */
671 
672 #endif 	/* __SpInprocRecognizer_FWD_DEFINED__ */
673 
674 
675 #ifndef __SpSharedRecognizer_FWD_DEFINED__
676 #define __SpSharedRecognizer_FWD_DEFINED__
677 
678 #ifdef __cplusplus
679 typedef class SpSharedRecognizer SpSharedRecognizer;
680 #else
681 typedef struct SpSharedRecognizer SpSharedRecognizer;
682 #endif /* __cplusplus */
683 
684 #endif 	/* __SpSharedRecognizer_FWD_DEFINED__ */
685 
686 
687 #ifndef __SpLexicon_FWD_DEFINED__
688 #define __SpLexicon_FWD_DEFINED__
689 
690 #ifdef __cplusplus
691 typedef class SpLexicon SpLexicon;
692 #else
693 typedef struct SpLexicon SpLexicon;
694 #endif /* __cplusplus */
695 
696 #endif 	/* __SpLexicon_FWD_DEFINED__ */
697 
698 
699 #ifndef __SpUnCompressedLexicon_FWD_DEFINED__
700 #define __SpUnCompressedLexicon_FWD_DEFINED__
701 
702 #ifdef __cplusplus
703 typedef class SpUnCompressedLexicon SpUnCompressedLexicon;
704 #else
705 typedef struct SpUnCompressedLexicon SpUnCompressedLexicon;
706 #endif /* __cplusplus */
707 
708 #endif 	/* __SpUnCompressedLexicon_FWD_DEFINED__ */
709 
710 
711 #ifndef __SpCompressedLexicon_FWD_DEFINED__
712 #define __SpCompressedLexicon_FWD_DEFINED__
713 
714 #ifdef __cplusplus
715 typedef class SpCompressedLexicon SpCompressedLexicon;
716 #else
717 typedef struct SpCompressedLexicon SpCompressedLexicon;
718 #endif /* __cplusplus */
719 
720 #endif 	/* __SpCompressedLexicon_FWD_DEFINED__ */
721 
722 
723 #ifndef __SpPhoneConverter_FWD_DEFINED__
724 #define __SpPhoneConverter_FWD_DEFINED__
725 
726 #ifdef __cplusplus
727 typedef class SpPhoneConverter SpPhoneConverter;
728 #else
729 typedef struct SpPhoneConverter SpPhoneConverter;
730 #endif /* __cplusplus */
731 
732 #endif 	/* __SpPhoneConverter_FWD_DEFINED__ */
733 
734 
735 #ifndef __SpNullPhoneConverter_FWD_DEFINED__
736 #define __SpNullPhoneConverter_FWD_DEFINED__
737 
738 #ifdef __cplusplus
739 typedef class SpNullPhoneConverter SpNullPhoneConverter;
740 #else
741 typedef struct SpNullPhoneConverter SpNullPhoneConverter;
742 #endif /* __cplusplus */
743 
744 #endif 	/* __SpNullPhoneConverter_FWD_DEFINED__ */
745 
746 
747 #ifndef __SpTextSelectionInformation_FWD_DEFINED__
748 #define __SpTextSelectionInformation_FWD_DEFINED__
749 
750 #ifdef __cplusplus
751 typedef class SpTextSelectionInformation SpTextSelectionInformation;
752 #else
753 typedef struct SpTextSelectionInformation SpTextSelectionInformation;
754 #endif /* __cplusplus */
755 
756 #endif 	/* __SpTextSelectionInformation_FWD_DEFINED__ */
757 
758 
759 #ifndef __SpPhraseInfoBuilder_FWD_DEFINED__
760 #define __SpPhraseInfoBuilder_FWD_DEFINED__
761 
762 #ifdef __cplusplus
763 typedef class SpPhraseInfoBuilder SpPhraseInfoBuilder;
764 #else
765 typedef struct SpPhraseInfoBuilder SpPhraseInfoBuilder;
766 #endif /* __cplusplus */
767 
768 #endif 	/* __SpPhraseInfoBuilder_FWD_DEFINED__ */
769 
770 
771 #ifndef __SpAudioFormat_FWD_DEFINED__
772 #define __SpAudioFormat_FWD_DEFINED__
773 
774 #ifdef __cplusplus
775 typedef class SpAudioFormat SpAudioFormat;
776 #else
777 typedef struct SpAudioFormat SpAudioFormat;
778 #endif /* __cplusplus */
779 
780 #endif 	/* __SpAudioFormat_FWD_DEFINED__ */
781 
782 
783 #ifndef __SpWaveFormatEx_FWD_DEFINED__
784 #define __SpWaveFormatEx_FWD_DEFINED__
785 
786 #ifdef __cplusplus
787 typedef class SpWaveFormatEx SpWaveFormatEx;
788 #else
789 typedef struct SpWaveFormatEx SpWaveFormatEx;
790 #endif /* __cplusplus */
791 
792 #endif 	/* __SpWaveFormatEx_FWD_DEFINED__ */
793 
794 
795 #ifndef __SpInProcRecoContext_FWD_DEFINED__
796 #define __SpInProcRecoContext_FWD_DEFINED__
797 
798 #ifdef __cplusplus
799 typedef class SpInProcRecoContext SpInProcRecoContext;
800 #else
801 typedef struct SpInProcRecoContext SpInProcRecoContext;
802 #endif /* __cplusplus */
803 
804 #endif 	/* __SpInProcRecoContext_FWD_DEFINED__ */
805 
806 
807 #ifndef __SpCustomStream_FWD_DEFINED__
808 #define __SpCustomStream_FWD_DEFINED__
809 
810 #ifdef __cplusplus
811 typedef class SpCustomStream SpCustomStream;
812 #else
813 typedef struct SpCustomStream SpCustomStream;
814 #endif /* __cplusplus */
815 
816 #endif 	/* __SpCustomStream_FWD_DEFINED__ */
817 
818 
819 #ifndef __SpFileStream_FWD_DEFINED__
820 #define __SpFileStream_FWD_DEFINED__
821 
822 #ifdef __cplusplus
823 typedef class SpFileStream SpFileStream;
824 #else
825 typedef struct SpFileStream SpFileStream;
826 #endif /* __cplusplus */
827 
828 #endif 	/* __SpFileStream_FWD_DEFINED__ */
829 
830 
831 #ifndef __SpMemoryStream_FWD_DEFINED__
832 #define __SpMemoryStream_FWD_DEFINED__
833 
834 #ifdef __cplusplus
835 typedef class SpMemoryStream SpMemoryStream;
836 #else
837 typedef struct SpMemoryStream SpMemoryStream;
838 #endif /* __cplusplus */
839 
840 #endif 	/* __SpMemoryStream_FWD_DEFINED__ */
841 
842 
843 /* header files for imported files */
844 #include "oaidl.h"
845 #include "ocidl.h"
846 
847 #ifdef __cplusplus
848 extern "C"{
849 #endif
850 
851 void * __RPC_USER MIDL_user_allocate(size_t);
852 void __RPC_USER MIDL_user_free( void * );
853 
854 /* interface __MIDL_itf_sapi_0000 */
855 /* [local] */
856 
857 #pragma warning(disable:4201) // Allow nameless structs/unions
858 #pragma comment(lib, "sapi.lib")
859 #if 0
860 typedef /* [hidden][restricted] */ struct WAVEFORMATEX
861     {
862     WORD wFormatTag;
863     WORD nChannels;
864     DWORD nSamplesPerSec;
865     DWORD nAvgBytesPerSec;
866     WORD nBlockAlign;
867     WORD wBitsPerSample;
868     WORD cbSize;
869     } 	WAVEFORMATEX;
870 
871 #else
872 #include <mmsystem.h>
873 #endif
874 
875 
876 
877 
878 
879 
880 
881 
882 
883 
884 
885 
886 
887 
888 
889 
890 
891 
892 
893 
894 
895 
896 
897 
898 
899 typedef /* [hidden] */
900 enum SPDATAKEYLOCATION
901     {	SPDKL_DefaultLocation	= 0,
902 	SPDKL_CurrentUser	= 1,
903 	SPDKL_LocalMachine	= 2,
904 	SPDKL_CurrentConfig	= 5
905     } 	SPDATAKEYLOCATION;
906 
907 #define SPDUI_EngineProperties   L"EngineProperties"
908 #define SPDUI_AddRemoveWord      L"AddRemoveWord"
909 #define SPDUI_UserTraining       L"UserTraining"
910 #define SPDUI_MicTraining        L"MicTraining"
911 #define SPDUI_RecoProfileProperties L"RecoProfileProperties"
912 #define SPDUI_AudioProperties    L"AudioProperties"
913 #define SPDUI_AudioVolume        L"AudioVolume"
914 typedef /* [hidden] */
915 enum SPSTREAMFORMAT
916     {	SPSF_Default	= -1,
917 	SPSF_NoAssignedFormat	= 0,
918 	SPSF_Text	= SPSF_NoAssignedFormat + 1,
919 	SPSF_NonStandardFormat	= SPSF_Text + 1,
920 	SPSF_ExtendedAudioFormat	= SPSF_NonStandardFormat + 1,
921 	SPSF_8kHz8BitMono	= SPSF_ExtendedAudioFormat + 1,
922 	SPSF_8kHz8BitStereo	= SPSF_8kHz8BitMono + 1,
923 	SPSF_8kHz16BitMono	= SPSF_8kHz8BitStereo + 1,
924 	SPSF_8kHz16BitStereo	= SPSF_8kHz16BitMono + 1,
925 	SPSF_11kHz8BitMono	= SPSF_8kHz16BitStereo + 1,
926 	SPSF_11kHz8BitStereo	= SPSF_11kHz8BitMono + 1,
927 	SPSF_11kHz16BitMono	= SPSF_11kHz8BitStereo + 1,
928 	SPSF_11kHz16BitStereo	= SPSF_11kHz16BitMono + 1,
929 	SPSF_12kHz8BitMono	= SPSF_11kHz16BitStereo + 1,
930 	SPSF_12kHz8BitStereo	= SPSF_12kHz8BitMono + 1,
931 	SPSF_12kHz16BitMono	= SPSF_12kHz8BitStereo + 1,
932 	SPSF_12kHz16BitStereo	= SPSF_12kHz16BitMono + 1,
933 	SPSF_16kHz8BitMono	= SPSF_12kHz16BitStereo + 1,
934 	SPSF_16kHz8BitStereo	= SPSF_16kHz8BitMono + 1,
935 	SPSF_16kHz16BitMono	= SPSF_16kHz8BitStereo + 1,
936 	SPSF_16kHz16BitStereo	= SPSF_16kHz16BitMono + 1,
937 	SPSF_22kHz8BitMono	= SPSF_16kHz16BitStereo + 1,
938 	SPSF_22kHz8BitStereo	= SPSF_22kHz8BitMono + 1,
939 	SPSF_22kHz16BitMono	= SPSF_22kHz8BitStereo + 1,
940 	SPSF_22kHz16BitStereo	= SPSF_22kHz16BitMono + 1,
941 	SPSF_24kHz8BitMono	= SPSF_22kHz16BitStereo + 1,
942 	SPSF_24kHz8BitStereo	= SPSF_24kHz8BitMono + 1,
943 	SPSF_24kHz16BitMono	= SPSF_24kHz8BitStereo + 1,
944 	SPSF_24kHz16BitStereo	= SPSF_24kHz16BitMono + 1,
945 	SPSF_32kHz8BitMono	= SPSF_24kHz16BitStereo + 1,
946 	SPSF_32kHz8BitStereo	= SPSF_32kHz8BitMono + 1,
947 	SPSF_32kHz16BitMono	= SPSF_32kHz8BitStereo + 1,
948 	SPSF_32kHz16BitStereo	= SPSF_32kHz16BitMono + 1,
949 	SPSF_44kHz8BitMono	= SPSF_32kHz16BitStereo + 1,
950 	SPSF_44kHz8BitStereo	= SPSF_44kHz8BitMono + 1,
951 	SPSF_44kHz16BitMono	= SPSF_44kHz8BitStereo + 1,
952 	SPSF_44kHz16BitStereo	= SPSF_44kHz16BitMono + 1,
953 	SPSF_48kHz8BitMono	= SPSF_44kHz16BitStereo + 1,
954 	SPSF_48kHz8BitStereo	= SPSF_48kHz8BitMono + 1,
955 	SPSF_48kHz16BitMono	= SPSF_48kHz8BitStereo + 1,
956 	SPSF_48kHz16BitStereo	= SPSF_48kHz16BitMono + 1,
957 	SPSF_TrueSpeech_8kHz1BitMono	= SPSF_48kHz16BitStereo + 1,
958 	SPSF_CCITT_ALaw_8kHzMono	= SPSF_TrueSpeech_8kHz1BitMono + 1,
959 	SPSF_CCITT_ALaw_8kHzStereo	= SPSF_CCITT_ALaw_8kHzMono + 1,
960 	SPSF_CCITT_ALaw_11kHzMono	= SPSF_CCITT_ALaw_8kHzStereo + 1,
961 	SPSF_CCITT_ALaw_11kHzStereo	= SPSF_CCITT_ALaw_11kHzMono + 1,
962 	SPSF_CCITT_ALaw_22kHzMono	= SPSF_CCITT_ALaw_11kHzStereo + 1,
963 	SPSF_CCITT_ALaw_22kHzStereo	= SPSF_CCITT_ALaw_22kHzMono + 1,
964 	SPSF_CCITT_ALaw_44kHzMono	= SPSF_CCITT_ALaw_22kHzStereo + 1,
965 	SPSF_CCITT_ALaw_44kHzStereo	= SPSF_CCITT_ALaw_44kHzMono + 1,
966 	SPSF_CCITT_uLaw_8kHzMono	= SPSF_CCITT_ALaw_44kHzStereo + 1,
967 	SPSF_CCITT_uLaw_8kHzStereo	= SPSF_CCITT_uLaw_8kHzMono + 1,
968 	SPSF_CCITT_uLaw_11kHzMono	= SPSF_CCITT_uLaw_8kHzStereo + 1,
969 	SPSF_CCITT_uLaw_11kHzStereo	= SPSF_CCITT_uLaw_11kHzMono + 1,
970 	SPSF_CCITT_uLaw_22kHzMono	= SPSF_CCITT_uLaw_11kHzStereo + 1,
971 	SPSF_CCITT_uLaw_22kHzStereo	= SPSF_CCITT_uLaw_22kHzMono + 1,
972 	SPSF_CCITT_uLaw_44kHzMono	= SPSF_CCITT_uLaw_22kHzStereo + 1,
973 	SPSF_CCITT_uLaw_44kHzStereo	= SPSF_CCITT_uLaw_44kHzMono + 1,
974 	SPSF_ADPCM_8kHzMono	= SPSF_CCITT_uLaw_44kHzStereo + 1,
975 	SPSF_ADPCM_8kHzStereo	= SPSF_ADPCM_8kHzMono + 1,
976 	SPSF_ADPCM_11kHzMono	= SPSF_ADPCM_8kHzStereo + 1,
977 	SPSF_ADPCM_11kHzStereo	= SPSF_ADPCM_11kHzMono + 1,
978 	SPSF_ADPCM_22kHzMono	= SPSF_ADPCM_11kHzStereo + 1,
979 	SPSF_ADPCM_22kHzStereo	= SPSF_ADPCM_22kHzMono + 1,
980 	SPSF_ADPCM_44kHzMono	= SPSF_ADPCM_22kHzStereo + 1,
981 	SPSF_ADPCM_44kHzStereo	= SPSF_ADPCM_44kHzMono + 1,
982 	SPSF_GSM610_8kHzMono	= SPSF_ADPCM_44kHzStereo + 1,
983 	SPSF_GSM610_11kHzMono	= SPSF_GSM610_8kHzMono + 1,
984 	SPSF_GSM610_22kHzMono	= SPSF_GSM610_11kHzMono + 1,
985 	SPSF_GSM610_44kHzMono	= SPSF_GSM610_22kHzMono + 1,
986 	SPSF_NUM_FORMATS	= SPSF_GSM610_44kHzMono + 1
987     } 	SPSTREAMFORMAT;
988 
989 EXTERN_C const GUID SPDFID_Text;
990 EXTERN_C const GUID SPDFID_WaveFormatEx;
991 #define SPREG_USER_ROOT          L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech"
992 #define SPREG_LOCAL_MACHINE_ROOT L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech"
993 #define SPCAT_AUDIOOUT         L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput"
994 #define SPCAT_AUDIOIN          L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput"
995 #define SPCAT_VOICES           L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices"
996 #define SPCAT_RECOGNIZERS      L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Recognizers"
997 #define SPCAT_APPLEXICONS      L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AppLexicons"
998 #define SPCAT_PHONECONVERTERS  L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\PhoneConverters"
999 #define SPCAT_RECOPROFILES     L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\RecoProfiles"
1000 #define SPMMSYS_AUDIO_IN_TOKEN_ID        L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput\\TokenEnums\\MMAudioIn\\"
1001 #define SPMMSYS_AUDIO_OUT_TOKEN_ID       L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput\\TokenEnums\\MMAudioOut\\"
1002 #define SPCURRENT_USER_LEXICON_TOKEN_ID  L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserLexicon"
1003 #define SPTOKENVALUE_CLSID L"CLSID"
1004 #define SPTOKENKEY_FILES L"Files"
1005 #define SPTOKENKEY_UI L"UI"
1006 #define SPTOKENKEY_ATTRIBUTES L"Attributes"
1007 #define SPVOICECATEGORY_TTSRATE L"DefaultTTSRate"
1008 #define SPPROP_RESOURCE_USAGE              L"ResourceUsage"
1009 #define SPPROP_HIGH_CONFIDENCE_THRESHOLD   L"HighConfidenceThreshold"
1010 #define SPPROP_NORMAL_CONFIDENCE_THRESHOLD L"NormalConfidenceThreshold"
1011 #define SPPROP_LOW_CONFIDENCE_THRESHOLD    L"LowConfidenceThreshold"
1012 #define SPPROP_RESPONSE_SPEED              L"ResponseSpeed"
1013 #define SPPROP_COMPLEX_RESPONSE_SPEED      L"ComplexResponseSpeed"
1014 #define SPPROP_ADAPTATION_ON               L"AdaptationOn"
1015 #define SPTOPIC_SPELLING L"Spelling"
1016 #define SPWILDCARD L"..."
1017 #define SPDICTATION    L"*"
1018 #define SPINFDICTATION L"*+"
1019 #define	SP_LOW_CONFIDENCE	( -1 )
1020 
1021 #define	SP_NORMAL_CONFIDENCE	( 0 )
1022 
1023 #define	SP_HIGH_CONFIDENCE	( +1 )
1024 
1025 #define	DEFAULT_WEIGHT	( 1 )
1026 
1027 #define	SP_MAX_WORD_LENGTH	( 128 )
1028 
1029 #define	SP_MAX_PRON_LENGTH	( 384 )
1030 
1031 #if defined(__cplusplus)
1032 interface ISpNotifyCallback
1033 {
1034 virtual HRESULT STDMETHODCALLTYPE NotifyCallback(
1035                                      WPARAM wParam,
1036                                      LPARAM lParam) = 0;
1037 };
1038 #else
1039 typedef void *ISpNotifyCallback;
1040 
1041 #endif
1042 #if 0
1043 typedef void *SPNOTIFYCALLBACK;
1044 
1045 #else
1046 typedef void __stdcall SPNOTIFYCALLBACK(WPARAM wParam, LPARAM lParam);
1047 #endif
1048 
1049 
1050 extern RPC_IF_HANDLE __MIDL_itf_sapi_0000_v0_0_c_ifspec;
1051 extern RPC_IF_HANDLE __MIDL_itf_sapi_0000_v0_0_s_ifspec;
1052 
1053 #ifndef __ISpNotifySource_INTERFACE_DEFINED__
1054 #define __ISpNotifySource_INTERFACE_DEFINED__
1055 
1056 /* interface ISpNotifySource */
1057 /* [restricted][unique][helpstring][uuid][object] */
1058 
1059 
1060 EXTERN_C const IID IID_ISpNotifySource;
1061 
1062 #if defined(__cplusplus) && !defined(CINTERFACE)
1063 
1064     MIDL_INTERFACE("5EFF4AEF-8487-11D2-961C-00C04F8EE628")
1065     ISpNotifySource : public IUnknown
1066     {
1067     public:
1068         virtual HRESULT STDMETHODCALLTYPE SetNotifySink(
1069             /* [in] */ ISpNotifySink *pNotifySink) = 0;
1070 
1071         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetNotifyWindowMessage(
1072             /* [in] */ HWND hWnd,
1073             /* [in] */ UINT Msg,
1074             /* [in] */ WPARAM wParam,
1075             /* [in] */ LPARAM lParam) = 0;
1076 
1077         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetNotifyCallbackFunction(
1078             /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
1079             /* [in] */ WPARAM wParam,
1080             /* [in] */ LPARAM lParam) = 0;
1081 
1082         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetNotifyCallbackInterface(
1083             /* [in] */ ISpNotifyCallback *pSpCallback,
1084             /* [in] */ WPARAM wParam,
1085             /* [in] */ LPARAM lParam) = 0;
1086 
1087         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetNotifyWin32Event( void) = 0;
1088 
1089         virtual /* [local] */ HRESULT STDMETHODCALLTYPE WaitForNotifyEvent(
1090             /* [in] */ DWORD dwMilliseconds) = 0;
1091 
1092         virtual /* [local] */ HANDLE STDMETHODCALLTYPE GetNotifyEventHandle( void) = 0;
1093 
1094     };
1095 
1096 #else 	/* C style interface */
1097 
1098     typedef struct ISpNotifySourceVtbl
1099     {
1100         BEGIN_INTERFACE
1101 
1102         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1103             ISpNotifySource * This,
1104             /* [in] */ REFIID riid,
1105             /* [iid_is][out] */ void **ppvObject);
1106 
1107         ULONG ( STDMETHODCALLTYPE *AddRef )(
1108             ISpNotifySource * This);
1109 
1110         ULONG ( STDMETHODCALLTYPE *Release )(
1111             ISpNotifySource * This);
1112 
1113         HRESULT ( STDMETHODCALLTYPE *SetNotifySink )(
1114             ISpNotifySource * This,
1115             /* [in] */ ISpNotifySink *pNotifySink);
1116 
1117         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWindowMessage )(
1118             ISpNotifySource * This,
1119             /* [in] */ HWND hWnd,
1120             /* [in] */ UINT Msg,
1121             /* [in] */ WPARAM wParam,
1122             /* [in] */ LPARAM lParam);
1123 
1124         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackFunction )(
1125             ISpNotifySource * This,
1126             /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
1127             /* [in] */ WPARAM wParam,
1128             /* [in] */ LPARAM lParam);
1129 
1130         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackInterface )(
1131             ISpNotifySource * This,
1132             /* [in] */ ISpNotifyCallback *pSpCallback,
1133             /* [in] */ WPARAM wParam,
1134             /* [in] */ LPARAM lParam);
1135 
1136         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWin32Event )(
1137             ISpNotifySource * This);
1138 
1139         /* [local] */ HRESULT ( STDMETHODCALLTYPE *WaitForNotifyEvent )(
1140             ISpNotifySource * This,
1141             /* [in] */ DWORD dwMilliseconds);
1142 
1143         /* [local] */ HANDLE ( STDMETHODCALLTYPE *GetNotifyEventHandle )(
1144             ISpNotifySource * This);
1145 
1146         END_INTERFACE
1147     } ISpNotifySourceVtbl;
1148 
1149     interface ISpNotifySource
1150     {
1151         CONST_VTBL struct ISpNotifySourceVtbl *lpVtbl;
1152     };
1153 
1154 
1155 
1156 #ifdef COBJMACROS
1157 
1158 
1159 #define ISpNotifySource_QueryInterface(This,riid,ppvObject)	\
1160     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1161 
1162 #define ISpNotifySource_AddRef(This)	\
1163     (This)->lpVtbl -> AddRef(This)
1164 
1165 #define ISpNotifySource_Release(This)	\
1166     (This)->lpVtbl -> Release(This)
1167 
1168 
1169 #define ISpNotifySource_SetNotifySink(This,pNotifySink)	\
1170     (This)->lpVtbl -> SetNotifySink(This,pNotifySink)
1171 
1172 #define ISpNotifySource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)	\
1173     (This)->lpVtbl -> SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
1174 
1175 #define ISpNotifySource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)	\
1176     (This)->lpVtbl -> SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
1177 
1178 #define ISpNotifySource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)	\
1179     (This)->lpVtbl -> SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
1180 
1181 #define ISpNotifySource_SetNotifyWin32Event(This)	\
1182     (This)->lpVtbl -> SetNotifyWin32Event(This)
1183 
1184 #define ISpNotifySource_WaitForNotifyEvent(This,dwMilliseconds)	\
1185     (This)->lpVtbl -> WaitForNotifyEvent(This,dwMilliseconds)
1186 
1187 #define ISpNotifySource_GetNotifyEventHandle(This)	\
1188     (This)->lpVtbl -> GetNotifyEventHandle(This)
1189 
1190 #endif /* COBJMACROS */
1191 
1192 
1193 #endif 	/* C style interface */
1194 
1195 
1196 
1197 HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifySink_Proxy(
1198     ISpNotifySource * This,
1199     /* [in] */ ISpNotifySink *pNotifySink);
1200 
1201 
1202 void __RPC_STUB ISpNotifySource_SetNotifySink_Stub(
1203     IRpcStubBuffer *This,
1204     IRpcChannelBuffer *_pRpcChannelBuffer,
1205     PRPC_MESSAGE _pRpcMessage,
1206     DWORD *_pdwStubPhase);
1207 
1208 
1209 /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifyWindowMessage_Proxy(
1210     ISpNotifySource * This,
1211     /* [in] */ HWND hWnd,
1212     /* [in] */ UINT Msg,
1213     /* [in] */ WPARAM wParam,
1214     /* [in] */ LPARAM lParam);
1215 
1216 
1217 void __RPC_STUB ISpNotifySource_SetNotifyWindowMessage_Stub(
1218     IRpcStubBuffer *This,
1219     IRpcChannelBuffer *_pRpcChannelBuffer,
1220     PRPC_MESSAGE _pRpcMessage,
1221     DWORD *_pdwStubPhase);
1222 
1223 
1224 /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifyCallbackFunction_Proxy(
1225     ISpNotifySource * This,
1226     /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
1227     /* [in] */ WPARAM wParam,
1228     /* [in] */ LPARAM lParam);
1229 
1230 
1231 void __RPC_STUB ISpNotifySource_SetNotifyCallbackFunction_Stub(
1232     IRpcStubBuffer *This,
1233     IRpcChannelBuffer *_pRpcChannelBuffer,
1234     PRPC_MESSAGE _pRpcMessage,
1235     DWORD *_pdwStubPhase);
1236 
1237 
1238 /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifyCallbackInterface_Proxy(
1239     ISpNotifySource * This,
1240     /* [in] */ ISpNotifyCallback *pSpCallback,
1241     /* [in] */ WPARAM wParam,
1242     /* [in] */ LPARAM lParam);
1243 
1244 
1245 void __RPC_STUB ISpNotifySource_SetNotifyCallbackInterface_Stub(
1246     IRpcStubBuffer *This,
1247     IRpcChannelBuffer *_pRpcChannelBuffer,
1248     PRPC_MESSAGE _pRpcMessage,
1249     DWORD *_pdwStubPhase);
1250 
1251 
1252 /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifyWin32Event_Proxy(
1253     ISpNotifySource * This);
1254 
1255 
1256 void __RPC_STUB ISpNotifySource_SetNotifyWin32Event_Stub(
1257     IRpcStubBuffer *This,
1258     IRpcChannelBuffer *_pRpcChannelBuffer,
1259     PRPC_MESSAGE _pRpcMessage,
1260     DWORD *_pdwStubPhase);
1261 
1262 
1263 /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_WaitForNotifyEvent_Proxy(
1264     ISpNotifySource * This,
1265     /* [in] */ DWORD dwMilliseconds);
1266 
1267 
1268 void __RPC_STUB ISpNotifySource_WaitForNotifyEvent_Stub(
1269     IRpcStubBuffer *This,
1270     IRpcChannelBuffer *_pRpcChannelBuffer,
1271     PRPC_MESSAGE _pRpcMessage,
1272     DWORD *_pdwStubPhase);
1273 
1274 
1275 /* [local] */ HANDLE STDMETHODCALLTYPE ISpNotifySource_GetNotifyEventHandle_Proxy(
1276     ISpNotifySource * This);
1277 
1278 
1279 void __RPC_STUB ISpNotifySource_GetNotifyEventHandle_Stub(
1280     IRpcStubBuffer *This,
1281     IRpcChannelBuffer *_pRpcChannelBuffer,
1282     PRPC_MESSAGE _pRpcMessage,
1283     DWORD *_pdwStubPhase);
1284 
1285 
1286 
1287 #endif 	/* __ISpNotifySource_INTERFACE_DEFINED__ */
1288 
1289 
1290 #ifndef __ISpNotifySink_INTERFACE_DEFINED__
1291 #define __ISpNotifySink_INTERFACE_DEFINED__
1292 
1293 /* interface ISpNotifySink */
1294 /* [restricted][unique][helpstring][uuid][object] */
1295 
1296 
1297 EXTERN_C const IID IID_ISpNotifySink;
1298 
1299 #if defined(__cplusplus) && !defined(CINTERFACE)
1300 
1301     MIDL_INTERFACE("259684DC-37C3-11D2-9603-00C04F8EE628")
1302     ISpNotifySink : public IUnknown
1303     {
1304     public:
1305         virtual HRESULT STDMETHODCALLTYPE Notify( void) = 0;
1306 
1307     };
1308 
1309 #else 	/* C style interface */
1310 
1311     typedef struct ISpNotifySinkVtbl
1312     {
1313         BEGIN_INTERFACE
1314 
1315         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1316             ISpNotifySink * This,
1317             /* [in] */ REFIID riid,
1318             /* [iid_is][out] */ void **ppvObject);
1319 
1320         ULONG ( STDMETHODCALLTYPE *AddRef )(
1321             ISpNotifySink * This);
1322 
1323         ULONG ( STDMETHODCALLTYPE *Release )(
1324             ISpNotifySink * This);
1325 
1326         HRESULT ( STDMETHODCALLTYPE *Notify )(
1327             ISpNotifySink * This);
1328 
1329         END_INTERFACE
1330     } ISpNotifySinkVtbl;
1331 
1332     interface ISpNotifySink
1333     {
1334         CONST_VTBL struct ISpNotifySinkVtbl *lpVtbl;
1335     };
1336 
1337 
1338 
1339 #ifdef COBJMACROS
1340 
1341 
1342 #define ISpNotifySink_QueryInterface(This,riid,ppvObject)	\
1343     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1344 
1345 #define ISpNotifySink_AddRef(This)	\
1346     (This)->lpVtbl -> AddRef(This)
1347 
1348 #define ISpNotifySink_Release(This)	\
1349     (This)->lpVtbl -> Release(This)
1350 
1351 
1352 #define ISpNotifySink_Notify(This)	\
1353     (This)->lpVtbl -> Notify(This)
1354 
1355 #endif /* COBJMACROS */
1356 
1357 
1358 #endif 	/* C style interface */
1359 
1360 
1361 
1362 HRESULT STDMETHODCALLTYPE ISpNotifySink_Notify_Proxy(
1363     ISpNotifySink * This);
1364 
1365 
1366 void __RPC_STUB ISpNotifySink_Notify_Stub(
1367     IRpcStubBuffer *This,
1368     IRpcChannelBuffer *_pRpcChannelBuffer,
1369     PRPC_MESSAGE _pRpcMessage,
1370     DWORD *_pdwStubPhase);
1371 
1372 
1373 
1374 #endif 	/* __ISpNotifySink_INTERFACE_DEFINED__ */
1375 
1376 
1377 #ifndef __ISpNotifyTranslator_INTERFACE_DEFINED__
1378 #define __ISpNotifyTranslator_INTERFACE_DEFINED__
1379 
1380 /* interface ISpNotifyTranslator */
1381 /* [restricted][local][unique][helpstring][uuid][object] */
1382 
1383 
1384 EXTERN_C const IID IID_ISpNotifyTranslator;
1385 
1386 #if defined(__cplusplus) && !defined(CINTERFACE)
1387 
1388     MIDL_INTERFACE("ACA16614-5D3D-11D2-960E-00C04F8EE628")
1389     ISpNotifyTranslator : public ISpNotifySink
1390     {
1391     public:
1392         virtual HRESULT STDMETHODCALLTYPE InitWindowMessage(
1393             /* [in] */ HWND hWnd,
1394             /* [in] */ UINT Msg,
1395             /* [in] */ WPARAM wParam,
1396             /* [in] */ LPARAM lParam) = 0;
1397 
1398         virtual HRESULT STDMETHODCALLTYPE InitCallback(
1399             /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
1400             /* [in] */ WPARAM wParam,
1401             /* [in] */ LPARAM lParam) = 0;
1402 
1403         virtual HRESULT STDMETHODCALLTYPE InitSpNotifyCallback(
1404             /* [in] */ ISpNotifyCallback *pSpCallback,
1405             /* [in] */ WPARAM wParam,
1406             /* [in] */ LPARAM lParam) = 0;
1407 
1408         virtual HRESULT STDMETHODCALLTYPE InitWin32Event(
1409             HANDLE hEvent,
1410             BOOL fCloseHandleOnRelease) = 0;
1411 
1412         virtual HRESULT STDMETHODCALLTYPE Wait(
1413             /* [in] */ DWORD dwMilliseconds) = 0;
1414 
1415         virtual HANDLE STDMETHODCALLTYPE GetEventHandle( void) = 0;
1416 
1417     };
1418 
1419 #else 	/* C style interface */
1420 
1421     typedef struct ISpNotifyTranslatorVtbl
1422     {
1423         BEGIN_INTERFACE
1424 
1425         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1426             ISpNotifyTranslator * This,
1427             /* [in] */ REFIID riid,
1428             /* [iid_is][out] */ void **ppvObject);
1429 
1430         ULONG ( STDMETHODCALLTYPE *AddRef )(
1431             ISpNotifyTranslator * This);
1432 
1433         ULONG ( STDMETHODCALLTYPE *Release )(
1434             ISpNotifyTranslator * This);
1435 
1436         HRESULT ( STDMETHODCALLTYPE *Notify )(
1437             ISpNotifyTranslator * This);
1438 
1439         HRESULT ( STDMETHODCALLTYPE *InitWindowMessage )(
1440             ISpNotifyTranslator * This,
1441             /* [in] */ HWND hWnd,
1442             /* [in] */ UINT Msg,
1443             /* [in] */ WPARAM wParam,
1444             /* [in] */ LPARAM lParam);
1445 
1446         HRESULT ( STDMETHODCALLTYPE *InitCallback )(
1447             ISpNotifyTranslator * This,
1448             /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
1449             /* [in] */ WPARAM wParam,
1450             /* [in] */ LPARAM lParam);
1451 
1452         HRESULT ( STDMETHODCALLTYPE *InitSpNotifyCallback )(
1453             ISpNotifyTranslator * This,
1454             /* [in] */ ISpNotifyCallback *pSpCallback,
1455             /* [in] */ WPARAM wParam,
1456             /* [in] */ LPARAM lParam);
1457 
1458         HRESULT ( STDMETHODCALLTYPE *InitWin32Event )(
1459             ISpNotifyTranslator * This,
1460             HANDLE hEvent,
1461             BOOL fCloseHandleOnRelease);
1462 
1463         HRESULT ( STDMETHODCALLTYPE *Wait )(
1464             ISpNotifyTranslator * This,
1465             /* [in] */ DWORD dwMilliseconds);
1466 
1467         HANDLE ( STDMETHODCALLTYPE *GetEventHandle )(
1468             ISpNotifyTranslator * This);
1469 
1470         END_INTERFACE
1471     } ISpNotifyTranslatorVtbl;
1472 
1473     interface ISpNotifyTranslator
1474     {
1475         CONST_VTBL struct ISpNotifyTranslatorVtbl *lpVtbl;
1476     };
1477 
1478 
1479 
1480 #ifdef COBJMACROS
1481 
1482 
1483 #define ISpNotifyTranslator_QueryInterface(This,riid,ppvObject)	\
1484     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1485 
1486 #define ISpNotifyTranslator_AddRef(This)	\
1487     (This)->lpVtbl -> AddRef(This)
1488 
1489 #define ISpNotifyTranslator_Release(This)	\
1490     (This)->lpVtbl -> Release(This)
1491 
1492 
1493 #define ISpNotifyTranslator_Notify(This)	\
1494     (This)->lpVtbl -> Notify(This)
1495 
1496 
1497 #define ISpNotifyTranslator_InitWindowMessage(This,hWnd,Msg,wParam,lParam)	\
1498     (This)->lpVtbl -> InitWindowMessage(This,hWnd,Msg,wParam,lParam)
1499 
1500 #define ISpNotifyTranslator_InitCallback(This,pfnCallback,wParam,lParam)	\
1501     (This)->lpVtbl -> InitCallback(This,pfnCallback,wParam,lParam)
1502 
1503 #define ISpNotifyTranslator_InitSpNotifyCallback(This,pSpCallback,wParam,lParam)	\
1504     (This)->lpVtbl -> InitSpNotifyCallback(This,pSpCallback,wParam,lParam)
1505 
1506 #define ISpNotifyTranslator_InitWin32Event(This,hEvent,fCloseHandleOnRelease)	\
1507     (This)->lpVtbl -> InitWin32Event(This,hEvent,fCloseHandleOnRelease)
1508 
1509 #define ISpNotifyTranslator_Wait(This,dwMilliseconds)	\
1510     (This)->lpVtbl -> Wait(This,dwMilliseconds)
1511 
1512 #define ISpNotifyTranslator_GetEventHandle(This)	\
1513     (This)->lpVtbl -> GetEventHandle(This)
1514 
1515 #endif /* COBJMACROS */
1516 
1517 
1518 #endif 	/* C style interface */
1519 
1520 
1521 
1522 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitWindowMessage_Proxy(
1523     ISpNotifyTranslator * This,
1524     /* [in] */ HWND hWnd,
1525     /* [in] */ UINT Msg,
1526     /* [in] */ WPARAM wParam,
1527     /* [in] */ LPARAM lParam);
1528 
1529 
1530 void __RPC_STUB ISpNotifyTranslator_InitWindowMessage_Stub(
1531     IRpcStubBuffer *This,
1532     IRpcChannelBuffer *_pRpcChannelBuffer,
1533     PRPC_MESSAGE _pRpcMessage,
1534     DWORD *_pdwStubPhase);
1535 
1536 
1537 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitCallback_Proxy(
1538     ISpNotifyTranslator * This,
1539     /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
1540     /* [in] */ WPARAM wParam,
1541     /* [in] */ LPARAM lParam);
1542 
1543 
1544 void __RPC_STUB ISpNotifyTranslator_InitCallback_Stub(
1545     IRpcStubBuffer *This,
1546     IRpcChannelBuffer *_pRpcChannelBuffer,
1547     PRPC_MESSAGE _pRpcMessage,
1548     DWORD *_pdwStubPhase);
1549 
1550 
1551 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitSpNotifyCallback_Proxy(
1552     ISpNotifyTranslator * This,
1553     /* [in] */ ISpNotifyCallback *pSpCallback,
1554     /* [in] */ WPARAM wParam,
1555     /* [in] */ LPARAM lParam);
1556 
1557 
1558 void __RPC_STUB ISpNotifyTranslator_InitSpNotifyCallback_Stub(
1559     IRpcStubBuffer *This,
1560     IRpcChannelBuffer *_pRpcChannelBuffer,
1561     PRPC_MESSAGE _pRpcMessage,
1562     DWORD *_pdwStubPhase);
1563 
1564 
1565 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitWin32Event_Proxy(
1566     ISpNotifyTranslator * This,
1567     HANDLE hEvent,
1568     BOOL fCloseHandleOnRelease);
1569 
1570 
1571 void __RPC_STUB ISpNotifyTranslator_InitWin32Event_Stub(
1572     IRpcStubBuffer *This,
1573     IRpcChannelBuffer *_pRpcChannelBuffer,
1574     PRPC_MESSAGE _pRpcMessage,
1575     DWORD *_pdwStubPhase);
1576 
1577 
1578 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_Wait_Proxy(
1579     ISpNotifyTranslator * This,
1580     /* [in] */ DWORD dwMilliseconds);
1581 
1582 
1583 void __RPC_STUB ISpNotifyTranslator_Wait_Stub(
1584     IRpcStubBuffer *This,
1585     IRpcChannelBuffer *_pRpcChannelBuffer,
1586     PRPC_MESSAGE _pRpcMessage,
1587     DWORD *_pdwStubPhase);
1588 
1589 
1590 HANDLE STDMETHODCALLTYPE ISpNotifyTranslator_GetEventHandle_Proxy(
1591     ISpNotifyTranslator * This);
1592 
1593 
1594 void __RPC_STUB ISpNotifyTranslator_GetEventHandle_Stub(
1595     IRpcStubBuffer *This,
1596     IRpcChannelBuffer *_pRpcChannelBuffer,
1597     PRPC_MESSAGE _pRpcMessage,
1598     DWORD *_pdwStubPhase);
1599 
1600 
1601 
1602 #endif 	/* __ISpNotifyTranslator_INTERFACE_DEFINED__ */
1603 
1604 
1605 #ifndef __ISpDataKey_INTERFACE_DEFINED__
1606 #define __ISpDataKey_INTERFACE_DEFINED__
1607 
1608 /* interface ISpDataKey */
1609 /* [restricted][unique][helpstring][uuid][object] */
1610 
1611 
1612 EXTERN_C const IID IID_ISpDataKey;
1613 
1614 #if defined(__cplusplus) && !defined(CINTERFACE)
1615 
1616     MIDL_INTERFACE("14056581-E16C-11D2-BB90-00C04F8EE6C0")
1617     ISpDataKey : public IUnknown
1618     {
1619     public:
1620         virtual HRESULT STDMETHODCALLTYPE SetData(
1621             const WCHAR *pszValueName,
1622             ULONG cbData,
1623             const BYTE *pData) = 0;
1624 
1625         virtual HRESULT STDMETHODCALLTYPE GetData(
1626             const WCHAR *pszValueName,
1627             ULONG *pcbData,
1628             BYTE *pData) = 0;
1629 
1630         virtual HRESULT STDMETHODCALLTYPE SetStringValue(
1631             const WCHAR *pszValueName,
1632             const WCHAR *pszValue) = 0;
1633 
1634         virtual HRESULT STDMETHODCALLTYPE GetStringValue(
1635             const WCHAR *pszValueName,
1636             WCHAR **ppszValue) = 0;
1637 
1638         virtual HRESULT STDMETHODCALLTYPE SetDWORD(
1639             const WCHAR *pszValueName,
1640             DWORD dwValue) = 0;
1641 
1642         virtual HRESULT STDMETHODCALLTYPE GetDWORD(
1643             const WCHAR *pszValueName,
1644             DWORD *pdwValue) = 0;
1645 
1646         virtual HRESULT STDMETHODCALLTYPE OpenKey(
1647             const WCHAR *pszSubKeyName,
1648             ISpDataKey **ppSubKey) = 0;
1649 
1650         virtual HRESULT STDMETHODCALLTYPE CreateKey(
1651             const WCHAR *pszSubKey,
1652             ISpDataKey **ppSubKey) = 0;
1653 
1654         virtual HRESULT STDMETHODCALLTYPE DeleteKey(
1655             const WCHAR *pszSubKey) = 0;
1656 
1657         virtual HRESULT STDMETHODCALLTYPE DeleteValue(
1658             const WCHAR *pszValueName) = 0;
1659 
1660         virtual HRESULT STDMETHODCALLTYPE EnumKeys(
1661             ULONG Index,
1662             WCHAR **ppszSubKeyName) = 0;
1663 
1664         virtual HRESULT STDMETHODCALLTYPE EnumValues(
1665             ULONG Index,
1666             WCHAR **ppszValueName) = 0;
1667 
1668     };
1669 
1670 #else 	/* C style interface */
1671 
1672     typedef struct ISpDataKeyVtbl
1673     {
1674         BEGIN_INTERFACE
1675 
1676         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1677             ISpDataKey * This,
1678             /* [in] */ REFIID riid,
1679             /* [iid_is][out] */ void **ppvObject);
1680 
1681         ULONG ( STDMETHODCALLTYPE *AddRef )(
1682             ISpDataKey * This);
1683 
1684         ULONG ( STDMETHODCALLTYPE *Release )(
1685             ISpDataKey * This);
1686 
1687         HRESULT ( STDMETHODCALLTYPE *SetData )(
1688             ISpDataKey * This,
1689             const WCHAR *pszValueName,
1690             ULONG cbData,
1691             const BYTE *pData);
1692 
1693         HRESULT ( STDMETHODCALLTYPE *GetData )(
1694             ISpDataKey * This,
1695             const WCHAR *pszValueName,
1696             ULONG *pcbData,
1697             BYTE *pData);
1698 
1699         HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
1700             ISpDataKey * This,
1701             const WCHAR *pszValueName,
1702             const WCHAR *pszValue);
1703 
1704         HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
1705             ISpDataKey * This,
1706             const WCHAR *pszValueName,
1707             WCHAR **ppszValue);
1708 
1709         HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
1710             ISpDataKey * This,
1711             const WCHAR *pszValueName,
1712             DWORD dwValue);
1713 
1714         HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
1715             ISpDataKey * This,
1716             const WCHAR *pszValueName,
1717             DWORD *pdwValue);
1718 
1719         HRESULT ( STDMETHODCALLTYPE *OpenKey )(
1720             ISpDataKey * This,
1721             const WCHAR *pszSubKeyName,
1722             ISpDataKey **ppSubKey);
1723 
1724         HRESULT ( STDMETHODCALLTYPE *CreateKey )(
1725             ISpDataKey * This,
1726             const WCHAR *pszSubKey,
1727             ISpDataKey **ppSubKey);
1728 
1729         HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
1730             ISpDataKey * This,
1731             const WCHAR *pszSubKey);
1732 
1733         HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
1734             ISpDataKey * This,
1735             const WCHAR *pszValueName);
1736 
1737         HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
1738             ISpDataKey * This,
1739             ULONG Index,
1740             WCHAR **ppszSubKeyName);
1741 
1742         HRESULT ( STDMETHODCALLTYPE *EnumValues )(
1743             ISpDataKey * This,
1744             ULONG Index,
1745             WCHAR **ppszValueName);
1746 
1747         END_INTERFACE
1748     } ISpDataKeyVtbl;
1749 
1750     interface ISpDataKey
1751     {
1752         CONST_VTBL struct ISpDataKeyVtbl *lpVtbl;
1753     };
1754 
1755 
1756 
1757 #ifdef COBJMACROS
1758 
1759 
1760 #define ISpDataKey_QueryInterface(This,riid,ppvObject)	\
1761     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
1762 
1763 #define ISpDataKey_AddRef(This)	\
1764     (This)->lpVtbl -> AddRef(This)
1765 
1766 #define ISpDataKey_Release(This)	\
1767     (This)->lpVtbl -> Release(This)
1768 
1769 
1770 #define ISpDataKey_SetData(This,pszValueName,cbData,pData)	\
1771     (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
1772 
1773 #define ISpDataKey_GetData(This,pszValueName,pcbData,pData)	\
1774     (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
1775 
1776 #define ISpDataKey_SetStringValue(This,pszValueName,pszValue)	\
1777     (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
1778 
1779 #define ISpDataKey_GetStringValue(This,pszValueName,ppszValue)	\
1780     (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
1781 
1782 #define ISpDataKey_SetDWORD(This,pszValueName,dwValue)	\
1783     (This)->lpVtbl -> SetDWORD(This,pszValueName,dwValue)
1784 
1785 #define ISpDataKey_GetDWORD(This,pszValueName,pdwValue)	\
1786     (This)->lpVtbl -> GetDWORD(This,pszValueName,pdwValue)
1787 
1788 #define ISpDataKey_OpenKey(This,pszSubKeyName,ppSubKey)	\
1789     (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
1790 
1791 #define ISpDataKey_CreateKey(This,pszSubKey,ppSubKey)	\
1792     (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
1793 
1794 #define ISpDataKey_DeleteKey(This,pszSubKey)	\
1795     (This)->lpVtbl -> DeleteKey(This,pszSubKey)
1796 
1797 #define ISpDataKey_DeleteValue(This,pszValueName)	\
1798     (This)->lpVtbl -> DeleteValue(This,pszValueName)
1799 
1800 #define ISpDataKey_EnumKeys(This,Index,ppszSubKeyName)	\
1801     (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
1802 
1803 #define ISpDataKey_EnumValues(This,Index,ppszValueName)	\
1804     (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
1805 
1806 #endif /* COBJMACROS */
1807 
1808 
1809 #endif 	/* C style interface */
1810 
1811 
1812 
1813 HRESULT STDMETHODCALLTYPE ISpDataKey_SetData_Proxy(
1814     ISpDataKey * This,
1815     const WCHAR *pszValueName,
1816     ULONG cbData,
1817     const BYTE *pData);
1818 
1819 
1820 void __RPC_STUB ISpDataKey_SetData_Stub(
1821     IRpcStubBuffer *This,
1822     IRpcChannelBuffer *_pRpcChannelBuffer,
1823     PRPC_MESSAGE _pRpcMessage,
1824     DWORD *_pdwStubPhase);
1825 
1826 
1827 HRESULT STDMETHODCALLTYPE ISpDataKey_GetData_Proxy(
1828     ISpDataKey * This,
1829     const WCHAR *pszValueName,
1830     ULONG *pcbData,
1831     BYTE *pData);
1832 
1833 
1834 void __RPC_STUB ISpDataKey_GetData_Stub(
1835     IRpcStubBuffer *This,
1836     IRpcChannelBuffer *_pRpcChannelBuffer,
1837     PRPC_MESSAGE _pRpcMessage,
1838     DWORD *_pdwStubPhase);
1839 
1840 
1841 HRESULT STDMETHODCALLTYPE ISpDataKey_SetStringValue_Proxy(
1842     ISpDataKey * This,
1843     const WCHAR *pszValueName,
1844     const WCHAR *pszValue);
1845 
1846 
1847 void __RPC_STUB ISpDataKey_SetStringValue_Stub(
1848     IRpcStubBuffer *This,
1849     IRpcChannelBuffer *_pRpcChannelBuffer,
1850     PRPC_MESSAGE _pRpcMessage,
1851     DWORD *_pdwStubPhase);
1852 
1853 
1854 HRESULT STDMETHODCALLTYPE ISpDataKey_GetStringValue_Proxy(
1855     ISpDataKey * This,
1856     const WCHAR *pszValueName,
1857     WCHAR **ppszValue);
1858 
1859 
1860 void __RPC_STUB ISpDataKey_GetStringValue_Stub(
1861     IRpcStubBuffer *This,
1862     IRpcChannelBuffer *_pRpcChannelBuffer,
1863     PRPC_MESSAGE _pRpcMessage,
1864     DWORD *_pdwStubPhase);
1865 
1866 
1867 HRESULT STDMETHODCALLTYPE ISpDataKey_SetDWORD_Proxy(
1868     ISpDataKey * This,
1869     const WCHAR *pszValueName,
1870     DWORD dwValue);
1871 
1872 
1873 void __RPC_STUB ISpDataKey_SetDWORD_Stub(
1874     IRpcStubBuffer *This,
1875     IRpcChannelBuffer *_pRpcChannelBuffer,
1876     PRPC_MESSAGE _pRpcMessage,
1877     DWORD *_pdwStubPhase);
1878 
1879 
1880 HRESULT STDMETHODCALLTYPE ISpDataKey_GetDWORD_Proxy(
1881     ISpDataKey * This,
1882     const WCHAR *pszValueName,
1883     DWORD *pdwValue);
1884 
1885 
1886 void __RPC_STUB ISpDataKey_GetDWORD_Stub(
1887     IRpcStubBuffer *This,
1888     IRpcChannelBuffer *_pRpcChannelBuffer,
1889     PRPC_MESSAGE _pRpcMessage,
1890     DWORD *_pdwStubPhase);
1891 
1892 
1893 HRESULT STDMETHODCALLTYPE ISpDataKey_OpenKey_Proxy(
1894     ISpDataKey * This,
1895     const WCHAR *pszSubKeyName,
1896     ISpDataKey **ppSubKey);
1897 
1898 
1899 void __RPC_STUB ISpDataKey_OpenKey_Stub(
1900     IRpcStubBuffer *This,
1901     IRpcChannelBuffer *_pRpcChannelBuffer,
1902     PRPC_MESSAGE _pRpcMessage,
1903     DWORD *_pdwStubPhase);
1904 
1905 
1906 HRESULT STDMETHODCALLTYPE ISpDataKey_CreateKey_Proxy(
1907     ISpDataKey * This,
1908     const WCHAR *pszSubKey,
1909     ISpDataKey **ppSubKey);
1910 
1911 
1912 void __RPC_STUB ISpDataKey_CreateKey_Stub(
1913     IRpcStubBuffer *This,
1914     IRpcChannelBuffer *_pRpcChannelBuffer,
1915     PRPC_MESSAGE _pRpcMessage,
1916     DWORD *_pdwStubPhase);
1917 
1918 
1919 HRESULT STDMETHODCALLTYPE ISpDataKey_DeleteKey_Proxy(
1920     ISpDataKey * This,
1921     const WCHAR *pszSubKey);
1922 
1923 
1924 void __RPC_STUB ISpDataKey_DeleteKey_Stub(
1925     IRpcStubBuffer *This,
1926     IRpcChannelBuffer *_pRpcChannelBuffer,
1927     PRPC_MESSAGE _pRpcMessage,
1928     DWORD *_pdwStubPhase);
1929 
1930 
1931 HRESULT STDMETHODCALLTYPE ISpDataKey_DeleteValue_Proxy(
1932     ISpDataKey * This,
1933     const WCHAR *pszValueName);
1934 
1935 
1936 void __RPC_STUB ISpDataKey_DeleteValue_Stub(
1937     IRpcStubBuffer *This,
1938     IRpcChannelBuffer *_pRpcChannelBuffer,
1939     PRPC_MESSAGE _pRpcMessage,
1940     DWORD *_pdwStubPhase);
1941 
1942 
1943 HRESULT STDMETHODCALLTYPE ISpDataKey_EnumKeys_Proxy(
1944     ISpDataKey * This,
1945     ULONG Index,
1946     WCHAR **ppszSubKeyName);
1947 
1948 
1949 void __RPC_STUB ISpDataKey_EnumKeys_Stub(
1950     IRpcStubBuffer *This,
1951     IRpcChannelBuffer *_pRpcChannelBuffer,
1952     PRPC_MESSAGE _pRpcMessage,
1953     DWORD *_pdwStubPhase);
1954 
1955 
1956 HRESULT STDMETHODCALLTYPE ISpDataKey_EnumValues_Proxy(
1957     ISpDataKey * This,
1958     ULONG Index,
1959     WCHAR **ppszValueName);
1960 
1961 
1962 void __RPC_STUB ISpDataKey_EnumValues_Stub(
1963     IRpcStubBuffer *This,
1964     IRpcChannelBuffer *_pRpcChannelBuffer,
1965     PRPC_MESSAGE _pRpcMessage,
1966     DWORD *_pdwStubPhase);
1967 
1968 
1969 
1970 #endif 	/* __ISpDataKey_INTERFACE_DEFINED__ */
1971 
1972 
1973 #ifndef __ISpRegDataKey_INTERFACE_DEFINED__
1974 #define __ISpRegDataKey_INTERFACE_DEFINED__
1975 
1976 /* interface ISpRegDataKey */
1977 /* [restricted][unique][helpstring][uuid][object] */
1978 
1979 
1980 EXTERN_C const IID IID_ISpRegDataKey;
1981 
1982 #if defined(__cplusplus) && !defined(CINTERFACE)
1983 
1984     MIDL_INTERFACE("92A66E2B-C830-4149-83DF-6FC2BA1E7A5B")
1985     ISpRegDataKey : public ISpDataKey
1986     {
1987     public:
1988         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetKey(
1989             /* [in] */ HKEY hkey,
1990             /* [in] */ BOOL fReadOnly) = 0;
1991 
1992     };
1993 
1994 #else 	/* C style interface */
1995 
1996     typedef struct ISpRegDataKeyVtbl
1997     {
1998         BEGIN_INTERFACE
1999 
2000         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2001             ISpRegDataKey * This,
2002             /* [in] */ REFIID riid,
2003             /* [iid_is][out] */ void **ppvObject);
2004 
2005         ULONG ( STDMETHODCALLTYPE *AddRef )(
2006             ISpRegDataKey * This);
2007 
2008         ULONG ( STDMETHODCALLTYPE *Release )(
2009             ISpRegDataKey * This);
2010 
2011         HRESULT ( STDMETHODCALLTYPE *SetData )(
2012             ISpRegDataKey * This,
2013             const WCHAR *pszValueName,
2014             ULONG cbData,
2015             const BYTE *pData);
2016 
2017         HRESULT ( STDMETHODCALLTYPE *GetData )(
2018             ISpRegDataKey * This,
2019             const WCHAR *pszValueName,
2020             ULONG *pcbData,
2021             BYTE *pData);
2022 
2023         HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
2024             ISpRegDataKey * This,
2025             const WCHAR *pszValueName,
2026             const WCHAR *pszValue);
2027 
2028         HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
2029             ISpRegDataKey * This,
2030             const WCHAR *pszValueName,
2031             WCHAR **ppszValue);
2032 
2033         HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
2034             ISpRegDataKey * This,
2035             const WCHAR *pszValueName,
2036             DWORD dwValue);
2037 
2038         HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
2039             ISpRegDataKey * This,
2040             const WCHAR *pszValueName,
2041             DWORD *pdwValue);
2042 
2043         HRESULT ( STDMETHODCALLTYPE *OpenKey )(
2044             ISpRegDataKey * This,
2045             const WCHAR *pszSubKeyName,
2046             ISpDataKey **ppSubKey);
2047 
2048         HRESULT ( STDMETHODCALLTYPE *CreateKey )(
2049             ISpRegDataKey * This,
2050             const WCHAR *pszSubKey,
2051             ISpDataKey **ppSubKey);
2052 
2053         HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
2054             ISpRegDataKey * This,
2055             const WCHAR *pszSubKey);
2056 
2057         HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
2058             ISpRegDataKey * This,
2059             const WCHAR *pszValueName);
2060 
2061         HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
2062             ISpRegDataKey * This,
2063             ULONG Index,
2064             WCHAR **ppszSubKeyName);
2065 
2066         HRESULT ( STDMETHODCALLTYPE *EnumValues )(
2067             ISpRegDataKey * This,
2068             ULONG Index,
2069             WCHAR **ppszValueName);
2070 
2071         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetKey )(
2072             ISpRegDataKey * This,
2073             /* [in] */ HKEY hkey,
2074             /* [in] */ BOOL fReadOnly);
2075 
2076         END_INTERFACE
2077     } ISpRegDataKeyVtbl;
2078 
2079     interface ISpRegDataKey
2080     {
2081         CONST_VTBL struct ISpRegDataKeyVtbl *lpVtbl;
2082     };
2083 
2084 
2085 
2086 #ifdef COBJMACROS
2087 
2088 
2089 #define ISpRegDataKey_QueryInterface(This,riid,ppvObject)	\
2090     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
2091 
2092 #define ISpRegDataKey_AddRef(This)	\
2093     (This)->lpVtbl -> AddRef(This)
2094 
2095 #define ISpRegDataKey_Release(This)	\
2096     (This)->lpVtbl -> Release(This)
2097 
2098 
2099 #define ISpRegDataKey_SetData(This,pszValueName,cbData,pData)	\
2100     (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
2101 
2102 #define ISpRegDataKey_GetData(This,pszValueName,pcbData,pData)	\
2103     (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
2104 
2105 #define ISpRegDataKey_SetStringValue(This,pszValueName,pszValue)	\
2106     (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
2107 
2108 #define ISpRegDataKey_GetStringValue(This,pszValueName,ppszValue)	\
2109     (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
2110 
2111 #define ISpRegDataKey_SetDWORD(This,pszValueName,dwValue)	\
2112     (This)->lpVtbl -> SetDWORD(This,pszValueName,dwValue)
2113 
2114 #define ISpRegDataKey_GetDWORD(This,pszValueName,pdwValue)	\
2115     (This)->lpVtbl -> GetDWORD(This,pszValueName,pdwValue)
2116 
2117 #define ISpRegDataKey_OpenKey(This,pszSubKeyName,ppSubKey)	\
2118     (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
2119 
2120 #define ISpRegDataKey_CreateKey(This,pszSubKey,ppSubKey)	\
2121     (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
2122 
2123 #define ISpRegDataKey_DeleteKey(This,pszSubKey)	\
2124     (This)->lpVtbl -> DeleteKey(This,pszSubKey)
2125 
2126 #define ISpRegDataKey_DeleteValue(This,pszValueName)	\
2127     (This)->lpVtbl -> DeleteValue(This,pszValueName)
2128 
2129 #define ISpRegDataKey_EnumKeys(This,Index,ppszSubKeyName)	\
2130     (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
2131 
2132 #define ISpRegDataKey_EnumValues(This,Index,ppszValueName)	\
2133     (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
2134 
2135 
2136 #define ISpRegDataKey_SetKey(This,hkey,fReadOnly)	\
2137     (This)->lpVtbl -> SetKey(This,hkey,fReadOnly)
2138 
2139 #endif /* COBJMACROS */
2140 
2141 
2142 #endif 	/* C style interface */
2143 
2144 
2145 
2146 /* [local] */ HRESULT STDMETHODCALLTYPE ISpRegDataKey_SetKey_Proxy(
2147     ISpRegDataKey * This,
2148     /* [in] */ HKEY hkey,
2149     /* [in] */ BOOL fReadOnly);
2150 
2151 
2152 void __RPC_STUB ISpRegDataKey_SetKey_Stub(
2153     IRpcStubBuffer *This,
2154     IRpcChannelBuffer *_pRpcChannelBuffer,
2155     PRPC_MESSAGE _pRpcMessage,
2156     DWORD *_pdwStubPhase);
2157 
2158 
2159 
2160 #endif 	/* __ISpRegDataKey_INTERFACE_DEFINED__ */
2161 
2162 
2163 #ifndef __ISpObjectTokenCategory_INTERFACE_DEFINED__
2164 #define __ISpObjectTokenCategory_INTERFACE_DEFINED__
2165 
2166 /* interface ISpObjectTokenCategory */
2167 /* [restricted][unique][helpstring][uuid][object] */
2168 
2169 
2170 EXTERN_C const IID IID_ISpObjectTokenCategory;
2171 
2172 #if defined(__cplusplus) && !defined(CINTERFACE)
2173 
2174     MIDL_INTERFACE("2D3D3845-39AF-4850-BBF9-40B49780011D")
2175     ISpObjectTokenCategory : public ISpDataKey
2176     {
2177     public:
2178         virtual HRESULT STDMETHODCALLTYPE SetId(
2179             /* [in] */ const WCHAR *pszCategoryId,
2180             BOOL fCreateIfNotExist) = 0;
2181 
2182         virtual HRESULT STDMETHODCALLTYPE GetId(
2183             /* [out] */ WCHAR **ppszCoMemCategoryId) = 0;
2184 
2185         virtual HRESULT STDMETHODCALLTYPE GetDataKey(
2186             SPDATAKEYLOCATION spdkl,
2187             ISpDataKey **ppDataKey) = 0;
2188 
2189         virtual HRESULT STDMETHODCALLTYPE EnumTokens(
2190             /* [string][in] */ const WCHAR *pzsReqAttribs,
2191             /* [string][in] */ const WCHAR *pszOptAttribs,
2192             /* [out] */ IEnumSpObjectTokens **ppEnum) = 0;
2193 
2194         virtual HRESULT STDMETHODCALLTYPE SetDefaultTokenId(
2195             /* [in] */ const WCHAR *pszTokenId) = 0;
2196 
2197         virtual HRESULT STDMETHODCALLTYPE GetDefaultTokenId(
2198             /* [out] */ WCHAR **ppszCoMemTokenId) = 0;
2199 
2200     };
2201 
2202 #else 	/* C style interface */
2203 
2204     typedef struct ISpObjectTokenCategoryVtbl
2205     {
2206         BEGIN_INTERFACE
2207 
2208         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2209             ISpObjectTokenCategory * This,
2210             /* [in] */ REFIID riid,
2211             /* [iid_is][out] */ void **ppvObject);
2212 
2213         ULONG ( STDMETHODCALLTYPE *AddRef )(
2214             ISpObjectTokenCategory * This);
2215 
2216         ULONG ( STDMETHODCALLTYPE *Release )(
2217             ISpObjectTokenCategory * This);
2218 
2219         HRESULT ( STDMETHODCALLTYPE *SetData )(
2220             ISpObjectTokenCategory * This,
2221             const WCHAR *pszValueName,
2222             ULONG cbData,
2223             const BYTE *pData);
2224 
2225         HRESULT ( STDMETHODCALLTYPE *GetData )(
2226             ISpObjectTokenCategory * This,
2227             const WCHAR *pszValueName,
2228             ULONG *pcbData,
2229             BYTE *pData);
2230 
2231         HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
2232             ISpObjectTokenCategory * This,
2233             const WCHAR *pszValueName,
2234             const WCHAR *pszValue);
2235 
2236         HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
2237             ISpObjectTokenCategory * This,
2238             const WCHAR *pszValueName,
2239             WCHAR **ppszValue);
2240 
2241         HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
2242             ISpObjectTokenCategory * This,
2243             const WCHAR *pszValueName,
2244             DWORD dwValue);
2245 
2246         HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
2247             ISpObjectTokenCategory * This,
2248             const WCHAR *pszValueName,
2249             DWORD *pdwValue);
2250 
2251         HRESULT ( STDMETHODCALLTYPE *OpenKey )(
2252             ISpObjectTokenCategory * This,
2253             const WCHAR *pszSubKeyName,
2254             ISpDataKey **ppSubKey);
2255 
2256         HRESULT ( STDMETHODCALLTYPE *CreateKey )(
2257             ISpObjectTokenCategory * This,
2258             const WCHAR *pszSubKey,
2259             ISpDataKey **ppSubKey);
2260 
2261         HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
2262             ISpObjectTokenCategory * This,
2263             const WCHAR *pszSubKey);
2264 
2265         HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
2266             ISpObjectTokenCategory * This,
2267             const WCHAR *pszValueName);
2268 
2269         HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
2270             ISpObjectTokenCategory * This,
2271             ULONG Index,
2272             WCHAR **ppszSubKeyName);
2273 
2274         HRESULT ( STDMETHODCALLTYPE *EnumValues )(
2275             ISpObjectTokenCategory * This,
2276             ULONG Index,
2277             WCHAR **ppszValueName);
2278 
2279         HRESULT ( STDMETHODCALLTYPE *SetId )(
2280             ISpObjectTokenCategory * This,
2281             /* [in] */ const WCHAR *pszCategoryId,
2282             BOOL fCreateIfNotExist);
2283 
2284         HRESULT ( STDMETHODCALLTYPE *GetId )(
2285             ISpObjectTokenCategory * This,
2286             /* [out] */ WCHAR **ppszCoMemCategoryId);
2287 
2288         HRESULT ( STDMETHODCALLTYPE *GetDataKey )(
2289             ISpObjectTokenCategory * This,
2290             SPDATAKEYLOCATION spdkl,
2291             ISpDataKey **ppDataKey);
2292 
2293         HRESULT ( STDMETHODCALLTYPE *EnumTokens )(
2294             ISpObjectTokenCategory * This,
2295             /* [string][in] */ const WCHAR *pzsReqAttribs,
2296             /* [string][in] */ const WCHAR *pszOptAttribs,
2297             /* [out] */ IEnumSpObjectTokens **ppEnum);
2298 
2299         HRESULT ( STDMETHODCALLTYPE *SetDefaultTokenId )(
2300             ISpObjectTokenCategory * This,
2301             /* [in] */ const WCHAR *pszTokenId);
2302 
2303         HRESULT ( STDMETHODCALLTYPE *GetDefaultTokenId )(
2304             ISpObjectTokenCategory * This,
2305             /* [out] */ WCHAR **ppszCoMemTokenId);
2306 
2307         END_INTERFACE
2308     } ISpObjectTokenCategoryVtbl;
2309 
2310     interface ISpObjectTokenCategory
2311     {
2312         CONST_VTBL struct ISpObjectTokenCategoryVtbl *lpVtbl;
2313     };
2314 
2315 
2316 
2317 #ifdef COBJMACROS
2318 
2319 
2320 #define ISpObjectTokenCategory_QueryInterface(This,riid,ppvObject)	\
2321     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
2322 
2323 #define ISpObjectTokenCategory_AddRef(This)	\
2324     (This)->lpVtbl -> AddRef(This)
2325 
2326 #define ISpObjectTokenCategory_Release(This)	\
2327     (This)->lpVtbl -> Release(This)
2328 
2329 
2330 #define ISpObjectTokenCategory_SetData(This,pszValueName,cbData,pData)	\
2331     (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
2332 
2333 #define ISpObjectTokenCategory_GetData(This,pszValueName,pcbData,pData)	\
2334     (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
2335 
2336 #define ISpObjectTokenCategory_SetStringValue(This,pszValueName,pszValue)	\
2337     (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
2338 
2339 #define ISpObjectTokenCategory_GetStringValue(This,pszValueName,ppszValue)	\
2340     (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
2341 
2342 #define ISpObjectTokenCategory_SetDWORD(This,pszValueName,dwValue)	\
2343     (This)->lpVtbl -> SetDWORD(This,pszValueName,dwValue)
2344 
2345 #define ISpObjectTokenCategory_GetDWORD(This,pszValueName,pdwValue)	\
2346     (This)->lpVtbl -> GetDWORD(This,pszValueName,pdwValue)
2347 
2348 #define ISpObjectTokenCategory_OpenKey(This,pszSubKeyName,ppSubKey)	\
2349     (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
2350 
2351 #define ISpObjectTokenCategory_CreateKey(This,pszSubKey,ppSubKey)	\
2352     (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
2353 
2354 #define ISpObjectTokenCategory_DeleteKey(This,pszSubKey)	\
2355     (This)->lpVtbl -> DeleteKey(This,pszSubKey)
2356 
2357 #define ISpObjectTokenCategory_DeleteValue(This,pszValueName)	\
2358     (This)->lpVtbl -> DeleteValue(This,pszValueName)
2359 
2360 #define ISpObjectTokenCategory_EnumKeys(This,Index,ppszSubKeyName)	\
2361     (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
2362 
2363 #define ISpObjectTokenCategory_EnumValues(This,Index,ppszValueName)	\
2364     (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
2365 
2366 
2367 #define ISpObjectTokenCategory_SetId(This,pszCategoryId,fCreateIfNotExist)	\
2368     (This)->lpVtbl -> SetId(This,pszCategoryId,fCreateIfNotExist)
2369 
2370 #define ISpObjectTokenCategory_GetId(This,ppszCoMemCategoryId)	\
2371     (This)->lpVtbl -> GetId(This,ppszCoMemCategoryId)
2372 
2373 #define ISpObjectTokenCategory_GetDataKey(This,spdkl,ppDataKey)	\
2374     (This)->lpVtbl -> GetDataKey(This,spdkl,ppDataKey)
2375 
2376 #define ISpObjectTokenCategory_EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum)	\
2377     (This)->lpVtbl -> EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum)
2378 
2379 #define ISpObjectTokenCategory_SetDefaultTokenId(This,pszTokenId)	\
2380     (This)->lpVtbl -> SetDefaultTokenId(This,pszTokenId)
2381 
2382 #define ISpObjectTokenCategory_GetDefaultTokenId(This,ppszCoMemTokenId)	\
2383     (This)->lpVtbl -> GetDefaultTokenId(This,ppszCoMemTokenId)
2384 
2385 #endif /* COBJMACROS */
2386 
2387 
2388 #endif 	/* C style interface */
2389 
2390 
2391 
2392 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_SetId_Proxy(
2393     ISpObjectTokenCategory * This,
2394     /* [in] */ const WCHAR *pszCategoryId,
2395     BOOL fCreateIfNotExist);
2396 
2397 
2398 void __RPC_STUB ISpObjectTokenCategory_SetId_Stub(
2399     IRpcStubBuffer *This,
2400     IRpcChannelBuffer *_pRpcChannelBuffer,
2401     PRPC_MESSAGE _pRpcMessage,
2402     DWORD *_pdwStubPhase);
2403 
2404 
2405 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetId_Proxy(
2406     ISpObjectTokenCategory * This,
2407     /* [out] */ WCHAR **ppszCoMemCategoryId);
2408 
2409 
2410 void __RPC_STUB ISpObjectTokenCategory_GetId_Stub(
2411     IRpcStubBuffer *This,
2412     IRpcChannelBuffer *_pRpcChannelBuffer,
2413     PRPC_MESSAGE _pRpcMessage,
2414     DWORD *_pdwStubPhase);
2415 
2416 
2417 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetDataKey_Proxy(
2418     ISpObjectTokenCategory * This,
2419     SPDATAKEYLOCATION spdkl,
2420     ISpDataKey **ppDataKey);
2421 
2422 
2423 void __RPC_STUB ISpObjectTokenCategory_GetDataKey_Stub(
2424     IRpcStubBuffer *This,
2425     IRpcChannelBuffer *_pRpcChannelBuffer,
2426     PRPC_MESSAGE _pRpcMessage,
2427     DWORD *_pdwStubPhase);
2428 
2429 
2430 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_EnumTokens_Proxy(
2431     ISpObjectTokenCategory * This,
2432     /* [string][in] */ const WCHAR *pzsReqAttribs,
2433     /* [string][in] */ const WCHAR *pszOptAttribs,
2434     /* [out] */ IEnumSpObjectTokens **ppEnum);
2435 
2436 
2437 void __RPC_STUB ISpObjectTokenCategory_EnumTokens_Stub(
2438     IRpcStubBuffer *This,
2439     IRpcChannelBuffer *_pRpcChannelBuffer,
2440     PRPC_MESSAGE _pRpcMessage,
2441     DWORD *_pdwStubPhase);
2442 
2443 
2444 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_SetDefaultTokenId_Proxy(
2445     ISpObjectTokenCategory * This,
2446     /* [in] */ const WCHAR *pszTokenId);
2447 
2448 
2449 void __RPC_STUB ISpObjectTokenCategory_SetDefaultTokenId_Stub(
2450     IRpcStubBuffer *This,
2451     IRpcChannelBuffer *_pRpcChannelBuffer,
2452     PRPC_MESSAGE _pRpcMessage,
2453     DWORD *_pdwStubPhase);
2454 
2455 
2456 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetDefaultTokenId_Proxy(
2457     ISpObjectTokenCategory * This,
2458     /* [out] */ WCHAR **ppszCoMemTokenId);
2459 
2460 
2461 void __RPC_STUB ISpObjectTokenCategory_GetDefaultTokenId_Stub(
2462     IRpcStubBuffer *This,
2463     IRpcChannelBuffer *_pRpcChannelBuffer,
2464     PRPC_MESSAGE _pRpcMessage,
2465     DWORD *_pdwStubPhase);
2466 
2467 
2468 
2469 #endif 	/* __ISpObjectTokenCategory_INTERFACE_DEFINED__ */
2470 
2471 
2472 #ifndef __ISpObjectToken_INTERFACE_DEFINED__
2473 #define __ISpObjectToken_INTERFACE_DEFINED__
2474 
2475 /* interface ISpObjectToken */
2476 /* [restricted][unique][helpstring][uuid][object] */
2477 
2478 
2479 EXTERN_C const IID IID_ISpObjectToken;
2480 
2481 #if defined(__cplusplus) && !defined(CINTERFACE)
2482 
2483     MIDL_INTERFACE("14056589-E16C-11D2-BB90-00C04F8EE6C0")
2484     ISpObjectToken : public ISpDataKey
2485     {
2486     public:
2487         virtual HRESULT STDMETHODCALLTYPE SetId(
2488             const WCHAR *pszCategoryId,
2489             const WCHAR *pszTokenId,
2490             BOOL fCreateIfNotExist) = 0;
2491 
2492         virtual HRESULT STDMETHODCALLTYPE GetId(
2493             WCHAR **ppszCoMemTokenId) = 0;
2494 
2495         virtual HRESULT STDMETHODCALLTYPE GetCategory(
2496             ISpObjectTokenCategory **ppTokenCategory) = 0;
2497 
2498         virtual HRESULT STDMETHODCALLTYPE CreateInstance(
2499             /* [in] */ IUnknown *pUnkOuter,
2500             /* [in] */ DWORD dwClsContext,
2501             /* [in] */ REFIID riid,
2502             /* [iid_is][out] */ void **ppvObject) = 0;
2503 
2504         virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
2505             /* [in] */ REFCLSID clsidCaller,
2506             /* [in] */ const WCHAR *pszValueName,
2507             /* [in] */ const WCHAR *pszFileNameSpecifier,
2508             /* [in] */ ULONG nFolder,
2509             /* [out] */ WCHAR **ppszFilePath) = 0;
2510 
2511         virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
2512             /* [in] */ REFCLSID clsidCaller,
2513             /* [in] */ const WCHAR *pszKeyName,
2514             /* [in] */ BOOL fDeleteFile) = 0;
2515 
2516         virtual HRESULT STDMETHODCALLTYPE Remove(
2517             const CLSID *pclsidCaller) = 0;
2518 
2519         virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsUISupported(
2520             /* [in] */ const WCHAR *pszTypeOfUI,
2521             /* [in] */ void *pvExtraData,
2522             /* [in] */ ULONG cbExtraData,
2523             /* [in] */ IUnknown *punkObject,
2524             /* [out] */ BOOL *pfSupported) = 0;
2525 
2526         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DisplayUI(
2527             /* [in] */ HWND hwndParent,
2528             /* [in] */ const WCHAR *pszTitle,
2529             /* [in] */ const WCHAR *pszTypeOfUI,
2530             /* [in] */ void *pvExtraData,
2531             /* [in] */ ULONG cbExtraData,
2532             /* [in] */ IUnknown *punkObject) = 0;
2533 
2534         virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
2535             /* [in] */ const WCHAR *pszAttributes,
2536             /* [out] */ BOOL *pfMatches) = 0;
2537 
2538     };
2539 
2540 #else 	/* C style interface */
2541 
2542     typedef struct ISpObjectTokenVtbl
2543     {
2544         BEGIN_INTERFACE
2545 
2546         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2547             ISpObjectToken * This,
2548             /* [in] */ REFIID riid,
2549             /* [iid_is][out] */ void **ppvObject);
2550 
2551         ULONG ( STDMETHODCALLTYPE *AddRef )(
2552             ISpObjectToken * This);
2553 
2554         ULONG ( STDMETHODCALLTYPE *Release )(
2555             ISpObjectToken * This);
2556 
2557         HRESULT ( STDMETHODCALLTYPE *SetData )(
2558             ISpObjectToken * This,
2559             const WCHAR *pszValueName,
2560             ULONG cbData,
2561             const BYTE *pData);
2562 
2563         HRESULT ( STDMETHODCALLTYPE *GetData )(
2564             ISpObjectToken * This,
2565             const WCHAR *pszValueName,
2566             ULONG *pcbData,
2567             BYTE *pData);
2568 
2569         HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
2570             ISpObjectToken * This,
2571             const WCHAR *pszValueName,
2572             const WCHAR *pszValue);
2573 
2574         HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
2575             ISpObjectToken * This,
2576             const WCHAR *pszValueName,
2577             WCHAR **ppszValue);
2578 
2579         HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
2580             ISpObjectToken * This,
2581             const WCHAR *pszValueName,
2582             DWORD dwValue);
2583 
2584         HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
2585             ISpObjectToken * This,
2586             const WCHAR *pszValueName,
2587             DWORD *pdwValue);
2588 
2589         HRESULT ( STDMETHODCALLTYPE *OpenKey )(
2590             ISpObjectToken * This,
2591             const WCHAR *pszSubKeyName,
2592             ISpDataKey **ppSubKey);
2593 
2594         HRESULT ( STDMETHODCALLTYPE *CreateKey )(
2595             ISpObjectToken * This,
2596             const WCHAR *pszSubKey,
2597             ISpDataKey **ppSubKey);
2598 
2599         HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
2600             ISpObjectToken * This,
2601             const WCHAR *pszSubKey);
2602 
2603         HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
2604             ISpObjectToken * This,
2605             const WCHAR *pszValueName);
2606 
2607         HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
2608             ISpObjectToken * This,
2609             ULONG Index,
2610             WCHAR **ppszSubKeyName);
2611 
2612         HRESULT ( STDMETHODCALLTYPE *EnumValues )(
2613             ISpObjectToken * This,
2614             ULONG Index,
2615             WCHAR **ppszValueName);
2616 
2617         HRESULT ( STDMETHODCALLTYPE *SetId )(
2618             ISpObjectToken * This,
2619             const WCHAR *pszCategoryId,
2620             const WCHAR *pszTokenId,
2621             BOOL fCreateIfNotExist);
2622 
2623         HRESULT ( STDMETHODCALLTYPE *GetId )(
2624             ISpObjectToken * This,
2625             WCHAR **ppszCoMemTokenId);
2626 
2627         HRESULT ( STDMETHODCALLTYPE *GetCategory )(
2628             ISpObjectToken * This,
2629             ISpObjectTokenCategory **ppTokenCategory);
2630 
2631         HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
2632             ISpObjectToken * This,
2633             /* [in] */ IUnknown *pUnkOuter,
2634             /* [in] */ DWORD dwClsContext,
2635             /* [in] */ REFIID riid,
2636             /* [iid_is][out] */ void **ppvObject);
2637 
2638         HRESULT ( STDMETHODCALLTYPE *GetStorageFileName )(
2639             ISpObjectToken * This,
2640             /* [in] */ REFCLSID clsidCaller,
2641             /* [in] */ const WCHAR *pszValueName,
2642             /* [in] */ const WCHAR *pszFileNameSpecifier,
2643             /* [in] */ ULONG nFolder,
2644             /* [out] */ WCHAR **ppszFilePath);
2645 
2646         HRESULT ( STDMETHODCALLTYPE *RemoveStorageFileName )(
2647             ISpObjectToken * This,
2648             /* [in] */ REFCLSID clsidCaller,
2649             /* [in] */ const WCHAR *pszKeyName,
2650             /* [in] */ BOOL fDeleteFile);
2651 
2652         HRESULT ( STDMETHODCALLTYPE *Remove )(
2653             ISpObjectToken * This,
2654             const CLSID *pclsidCaller);
2655 
2656         /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
2657             ISpObjectToken * This,
2658             /* [in] */ const WCHAR *pszTypeOfUI,
2659             /* [in] */ void *pvExtraData,
2660             /* [in] */ ULONG cbExtraData,
2661             /* [in] */ IUnknown *punkObject,
2662             /* [out] */ BOOL *pfSupported);
2663 
2664         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
2665             ISpObjectToken * This,
2666             /* [in] */ HWND hwndParent,
2667             /* [in] */ const WCHAR *pszTitle,
2668             /* [in] */ const WCHAR *pszTypeOfUI,
2669             /* [in] */ void *pvExtraData,
2670             /* [in] */ ULONG cbExtraData,
2671             /* [in] */ IUnknown *punkObject);
2672 
2673         HRESULT ( STDMETHODCALLTYPE *MatchesAttributes )(
2674             ISpObjectToken * This,
2675             /* [in] */ const WCHAR *pszAttributes,
2676             /* [out] */ BOOL *pfMatches);
2677 
2678         END_INTERFACE
2679     } ISpObjectTokenVtbl;
2680 
2681     interface ISpObjectToken
2682     {
2683         CONST_VTBL struct ISpObjectTokenVtbl *lpVtbl;
2684     };
2685 
2686 
2687 
2688 #ifdef COBJMACROS
2689 
2690 
2691 #define ISpObjectToken_QueryInterface(This,riid,ppvObject)	\
2692     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
2693 
2694 #define ISpObjectToken_AddRef(This)	\
2695     (This)->lpVtbl -> AddRef(This)
2696 
2697 #define ISpObjectToken_Release(This)	\
2698     (This)->lpVtbl -> Release(This)
2699 
2700 
2701 #define ISpObjectToken_SetData(This,pszValueName,cbData,pData)	\
2702     (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
2703 
2704 #define ISpObjectToken_GetData(This,pszValueName,pcbData,pData)	\
2705     (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
2706 
2707 #define ISpObjectToken_SetStringValue(This,pszValueName,pszValue)	\
2708     (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
2709 
2710 #define ISpObjectToken_GetStringValue(This,pszValueName,ppszValue)	\
2711     (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
2712 
2713 #define ISpObjectToken_SetDWORD(This,pszValueName,dwValue)	\
2714     (This)->lpVtbl -> SetDWORD(This,pszValueName,dwValue)
2715 
2716 #define ISpObjectToken_GetDWORD(This,pszValueName,pdwValue)	\
2717     (This)->lpVtbl -> GetDWORD(This,pszValueName,pdwValue)
2718 
2719 #define ISpObjectToken_OpenKey(This,pszSubKeyName,ppSubKey)	\
2720     (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
2721 
2722 #define ISpObjectToken_CreateKey(This,pszSubKey,ppSubKey)	\
2723     (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
2724 
2725 #define ISpObjectToken_DeleteKey(This,pszSubKey)	\
2726     (This)->lpVtbl -> DeleteKey(This,pszSubKey)
2727 
2728 #define ISpObjectToken_DeleteValue(This,pszValueName)	\
2729     (This)->lpVtbl -> DeleteValue(This,pszValueName)
2730 
2731 #define ISpObjectToken_EnumKeys(This,Index,ppszSubKeyName)	\
2732     (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
2733 
2734 #define ISpObjectToken_EnumValues(This,Index,ppszValueName)	\
2735     (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
2736 
2737 
2738 #define ISpObjectToken_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)	\
2739     (This)->lpVtbl -> SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
2740 
2741 #define ISpObjectToken_GetId(This,ppszCoMemTokenId)	\
2742     (This)->lpVtbl -> GetId(This,ppszCoMemTokenId)
2743 
2744 #define ISpObjectToken_GetCategory(This,ppTokenCategory)	\
2745     (This)->lpVtbl -> GetCategory(This,ppTokenCategory)
2746 
2747 #define ISpObjectToken_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)	\
2748     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
2749 
2750 #define ISpObjectToken_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)	\
2751     (This)->lpVtbl -> GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
2752 
2753 #define ISpObjectToken_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)	\
2754     (This)->lpVtbl -> RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
2755 
2756 #define ISpObjectToken_Remove(This,pclsidCaller)	\
2757     (This)->lpVtbl -> Remove(This,pclsidCaller)
2758 
2759 #define ISpObjectToken_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)	\
2760     (This)->lpVtbl -> IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
2761 
2762 #define ISpObjectToken_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)	\
2763     (This)->lpVtbl -> DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
2764 
2765 #define ISpObjectToken_MatchesAttributes(This,pszAttributes,pfMatches)	\
2766     (This)->lpVtbl -> MatchesAttributes(This,pszAttributes,pfMatches)
2767 
2768 #endif /* COBJMACROS */
2769 
2770 
2771 #endif 	/* C style interface */
2772 
2773 
2774 
2775 HRESULT STDMETHODCALLTYPE ISpObjectToken_SetId_Proxy(
2776     ISpObjectToken * This,
2777     const WCHAR *pszCategoryId,
2778     const WCHAR *pszTokenId,
2779     BOOL fCreateIfNotExist);
2780 
2781 
2782 void __RPC_STUB ISpObjectToken_SetId_Stub(
2783     IRpcStubBuffer *This,
2784     IRpcChannelBuffer *_pRpcChannelBuffer,
2785     PRPC_MESSAGE _pRpcMessage,
2786     DWORD *_pdwStubPhase);
2787 
2788 
2789 HRESULT STDMETHODCALLTYPE ISpObjectToken_GetId_Proxy(
2790     ISpObjectToken * This,
2791     WCHAR **ppszCoMemTokenId);
2792 
2793 
2794 void __RPC_STUB ISpObjectToken_GetId_Stub(
2795     IRpcStubBuffer *This,
2796     IRpcChannelBuffer *_pRpcChannelBuffer,
2797     PRPC_MESSAGE _pRpcMessage,
2798     DWORD *_pdwStubPhase);
2799 
2800 
2801 HRESULT STDMETHODCALLTYPE ISpObjectToken_GetCategory_Proxy(
2802     ISpObjectToken * This,
2803     ISpObjectTokenCategory **ppTokenCategory);
2804 
2805 
2806 void __RPC_STUB ISpObjectToken_GetCategory_Stub(
2807     IRpcStubBuffer *This,
2808     IRpcChannelBuffer *_pRpcChannelBuffer,
2809     PRPC_MESSAGE _pRpcMessage,
2810     DWORD *_pdwStubPhase);
2811 
2812 
2813 HRESULT STDMETHODCALLTYPE ISpObjectToken_CreateInstance_Proxy(
2814     ISpObjectToken * This,
2815     /* [in] */ IUnknown *pUnkOuter,
2816     /* [in] */ DWORD dwClsContext,
2817     /* [in] */ REFIID riid,
2818     /* [iid_is][out] */ void **ppvObject);
2819 
2820 
2821 void __RPC_STUB ISpObjectToken_CreateInstance_Stub(
2822     IRpcStubBuffer *This,
2823     IRpcChannelBuffer *_pRpcChannelBuffer,
2824     PRPC_MESSAGE _pRpcMessage,
2825     DWORD *_pdwStubPhase);
2826 
2827 
2828 HRESULT STDMETHODCALLTYPE ISpObjectToken_GetStorageFileName_Proxy(
2829     ISpObjectToken * This,
2830     /* [in] */ REFCLSID clsidCaller,
2831     /* [in] */ const WCHAR *pszValueName,
2832     /* [in] */ const WCHAR *pszFileNameSpecifier,
2833     /* [in] */ ULONG nFolder,
2834     /* [out] */ WCHAR **ppszFilePath);
2835 
2836 
2837 void __RPC_STUB ISpObjectToken_GetStorageFileName_Stub(
2838     IRpcStubBuffer *This,
2839     IRpcChannelBuffer *_pRpcChannelBuffer,
2840     PRPC_MESSAGE _pRpcMessage,
2841     DWORD *_pdwStubPhase);
2842 
2843 
2844 HRESULT STDMETHODCALLTYPE ISpObjectToken_RemoveStorageFileName_Proxy(
2845     ISpObjectToken * This,
2846     /* [in] */ REFCLSID clsidCaller,
2847     /* [in] */ const WCHAR *pszKeyName,
2848     /* [in] */ BOOL fDeleteFile);
2849 
2850 
2851 void __RPC_STUB ISpObjectToken_RemoveStorageFileName_Stub(
2852     IRpcStubBuffer *This,
2853     IRpcChannelBuffer *_pRpcChannelBuffer,
2854     PRPC_MESSAGE _pRpcMessage,
2855     DWORD *_pdwStubPhase);
2856 
2857 
2858 HRESULT STDMETHODCALLTYPE ISpObjectToken_Remove_Proxy(
2859     ISpObjectToken * This,
2860     const CLSID *pclsidCaller);
2861 
2862 
2863 void __RPC_STUB ISpObjectToken_Remove_Stub(
2864     IRpcStubBuffer *This,
2865     IRpcChannelBuffer *_pRpcChannelBuffer,
2866     PRPC_MESSAGE _pRpcMessage,
2867     DWORD *_pdwStubPhase);
2868 
2869 
2870 /* [local] */ HRESULT STDMETHODCALLTYPE ISpObjectToken_IsUISupported_Proxy(
2871     ISpObjectToken * This,
2872     /* [in] */ const WCHAR *pszTypeOfUI,
2873     /* [in] */ void *pvExtraData,
2874     /* [in] */ ULONG cbExtraData,
2875     /* [in] */ IUnknown *punkObject,
2876     /* [out] */ BOOL *pfSupported);
2877 
2878 
2879 void __RPC_STUB ISpObjectToken_IsUISupported_Stub(
2880     IRpcStubBuffer *This,
2881     IRpcChannelBuffer *_pRpcChannelBuffer,
2882     PRPC_MESSAGE _pRpcMessage,
2883     DWORD *_pdwStubPhase);
2884 
2885 
2886 /* [local] */ HRESULT STDMETHODCALLTYPE ISpObjectToken_DisplayUI_Proxy(
2887     ISpObjectToken * This,
2888     /* [in] */ HWND hwndParent,
2889     /* [in] */ const WCHAR *pszTitle,
2890     /* [in] */ const WCHAR *pszTypeOfUI,
2891     /* [in] */ void *pvExtraData,
2892     /* [in] */ ULONG cbExtraData,
2893     /* [in] */ IUnknown *punkObject);
2894 
2895 
2896 void __RPC_STUB ISpObjectToken_DisplayUI_Stub(
2897     IRpcStubBuffer *This,
2898     IRpcChannelBuffer *_pRpcChannelBuffer,
2899     PRPC_MESSAGE _pRpcMessage,
2900     DWORD *_pdwStubPhase);
2901 
2902 
2903 HRESULT STDMETHODCALLTYPE ISpObjectToken_MatchesAttributes_Proxy(
2904     ISpObjectToken * This,
2905     /* [in] */ const WCHAR *pszAttributes,
2906     /* [out] */ BOOL *pfMatches);
2907 
2908 
2909 void __RPC_STUB ISpObjectToken_MatchesAttributes_Stub(
2910     IRpcStubBuffer *This,
2911     IRpcChannelBuffer *_pRpcChannelBuffer,
2912     PRPC_MESSAGE _pRpcMessage,
2913     DWORD *_pdwStubPhase);
2914 
2915 
2916 
2917 #endif 	/* __ISpObjectToken_INTERFACE_DEFINED__ */
2918 
2919 
2920 #ifndef __ISpObjectTokenInit_INTERFACE_DEFINED__
2921 #define __ISpObjectTokenInit_INTERFACE_DEFINED__
2922 
2923 /* interface ISpObjectTokenInit */
2924 /* [restricted][unique][helpstring][uuid][object] */
2925 
2926 
2927 EXTERN_C const IID IID_ISpObjectTokenInit;
2928 
2929 #if defined(__cplusplus) && !defined(CINTERFACE)
2930 
2931     MIDL_INTERFACE("B8AAB0CF-346F-49D8-9499-C8B03F161D51")
2932     ISpObjectTokenInit : public ISpObjectToken
2933     {
2934     public:
2935         virtual HRESULT STDMETHODCALLTYPE InitFromDataKey(
2936             /* [in] */ const WCHAR *pszCategoryId,
2937             /* [in] */ const WCHAR *pszTokenId,
2938             /* [in] */ ISpDataKey *pDataKey) = 0;
2939 
2940     };
2941 
2942 #else 	/* C style interface */
2943 
2944     typedef struct ISpObjectTokenInitVtbl
2945     {
2946         BEGIN_INTERFACE
2947 
2948         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2949             ISpObjectTokenInit * This,
2950             /* [in] */ REFIID riid,
2951             /* [iid_is][out] */ void **ppvObject);
2952 
2953         ULONG ( STDMETHODCALLTYPE *AddRef )(
2954             ISpObjectTokenInit * This);
2955 
2956         ULONG ( STDMETHODCALLTYPE *Release )(
2957             ISpObjectTokenInit * This);
2958 
2959         HRESULT ( STDMETHODCALLTYPE *SetData )(
2960             ISpObjectTokenInit * This,
2961             const WCHAR *pszValueName,
2962             ULONG cbData,
2963             const BYTE *pData);
2964 
2965         HRESULT ( STDMETHODCALLTYPE *GetData )(
2966             ISpObjectTokenInit * This,
2967             const WCHAR *pszValueName,
2968             ULONG *pcbData,
2969             BYTE *pData);
2970 
2971         HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
2972             ISpObjectTokenInit * This,
2973             const WCHAR *pszValueName,
2974             const WCHAR *pszValue);
2975 
2976         HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
2977             ISpObjectTokenInit * This,
2978             const WCHAR *pszValueName,
2979             WCHAR **ppszValue);
2980 
2981         HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
2982             ISpObjectTokenInit * This,
2983             const WCHAR *pszValueName,
2984             DWORD dwValue);
2985 
2986         HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
2987             ISpObjectTokenInit * This,
2988             const WCHAR *pszValueName,
2989             DWORD *pdwValue);
2990 
2991         HRESULT ( STDMETHODCALLTYPE *OpenKey )(
2992             ISpObjectTokenInit * This,
2993             const WCHAR *pszSubKeyName,
2994             ISpDataKey **ppSubKey);
2995 
2996         HRESULT ( STDMETHODCALLTYPE *CreateKey )(
2997             ISpObjectTokenInit * This,
2998             const WCHAR *pszSubKey,
2999             ISpDataKey **ppSubKey);
3000 
3001         HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
3002             ISpObjectTokenInit * This,
3003             const WCHAR *pszSubKey);
3004 
3005         HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
3006             ISpObjectTokenInit * This,
3007             const WCHAR *pszValueName);
3008 
3009         HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
3010             ISpObjectTokenInit * This,
3011             ULONG Index,
3012             WCHAR **ppszSubKeyName);
3013 
3014         HRESULT ( STDMETHODCALLTYPE *EnumValues )(
3015             ISpObjectTokenInit * This,
3016             ULONG Index,
3017             WCHAR **ppszValueName);
3018 
3019         HRESULT ( STDMETHODCALLTYPE *SetId )(
3020             ISpObjectTokenInit * This,
3021             const WCHAR *pszCategoryId,
3022             const WCHAR *pszTokenId,
3023             BOOL fCreateIfNotExist);
3024 
3025         HRESULT ( STDMETHODCALLTYPE *GetId )(
3026             ISpObjectTokenInit * This,
3027             WCHAR **ppszCoMemTokenId);
3028 
3029         HRESULT ( STDMETHODCALLTYPE *GetCategory )(
3030             ISpObjectTokenInit * This,
3031             ISpObjectTokenCategory **ppTokenCategory);
3032 
3033         HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
3034             ISpObjectTokenInit * This,
3035             /* [in] */ IUnknown *pUnkOuter,
3036             /* [in] */ DWORD dwClsContext,
3037             /* [in] */ REFIID riid,
3038             /* [iid_is][out] */ void **ppvObject);
3039 
3040         HRESULT ( STDMETHODCALLTYPE *GetStorageFileName )(
3041             ISpObjectTokenInit * This,
3042             /* [in] */ REFCLSID clsidCaller,
3043             /* [in] */ const WCHAR *pszValueName,
3044             /* [in] */ const WCHAR *pszFileNameSpecifier,
3045             /* [in] */ ULONG nFolder,
3046             /* [out] */ WCHAR **ppszFilePath);
3047 
3048         HRESULT ( STDMETHODCALLTYPE *RemoveStorageFileName )(
3049             ISpObjectTokenInit * This,
3050             /* [in] */ REFCLSID clsidCaller,
3051             /* [in] */ const WCHAR *pszKeyName,
3052             /* [in] */ BOOL fDeleteFile);
3053 
3054         HRESULT ( STDMETHODCALLTYPE *Remove )(
3055             ISpObjectTokenInit * This,
3056             const CLSID *pclsidCaller);
3057 
3058         /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
3059             ISpObjectTokenInit * This,
3060             /* [in] */ const WCHAR *pszTypeOfUI,
3061             /* [in] */ void *pvExtraData,
3062             /* [in] */ ULONG cbExtraData,
3063             /* [in] */ IUnknown *punkObject,
3064             /* [out] */ BOOL *pfSupported);
3065 
3066         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
3067             ISpObjectTokenInit * This,
3068             /* [in] */ HWND hwndParent,
3069             /* [in] */ const WCHAR *pszTitle,
3070             /* [in] */ const WCHAR *pszTypeOfUI,
3071             /* [in] */ void *pvExtraData,
3072             /* [in] */ ULONG cbExtraData,
3073             /* [in] */ IUnknown *punkObject);
3074 
3075         HRESULT ( STDMETHODCALLTYPE *MatchesAttributes )(
3076             ISpObjectTokenInit * This,
3077             /* [in] */ const WCHAR *pszAttributes,
3078             /* [out] */ BOOL *pfMatches);
3079 
3080         HRESULT ( STDMETHODCALLTYPE *InitFromDataKey )(
3081             ISpObjectTokenInit * This,
3082             /* [in] */ const WCHAR *pszCategoryId,
3083             /* [in] */ const WCHAR *pszTokenId,
3084             /* [in] */ ISpDataKey *pDataKey);
3085 
3086         END_INTERFACE
3087     } ISpObjectTokenInitVtbl;
3088 
3089     interface ISpObjectTokenInit
3090     {
3091         CONST_VTBL struct ISpObjectTokenInitVtbl *lpVtbl;
3092     };
3093 
3094 
3095 
3096 #ifdef COBJMACROS
3097 
3098 
3099 #define ISpObjectTokenInit_QueryInterface(This,riid,ppvObject)	\
3100     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
3101 
3102 #define ISpObjectTokenInit_AddRef(This)	\
3103     (This)->lpVtbl -> AddRef(This)
3104 
3105 #define ISpObjectTokenInit_Release(This)	\
3106     (This)->lpVtbl -> Release(This)
3107 
3108 
3109 #define ISpObjectTokenInit_SetData(This,pszValueName,cbData,pData)	\
3110     (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
3111 
3112 #define ISpObjectTokenInit_GetData(This,pszValueName,pcbData,pData)	\
3113     (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
3114 
3115 #define ISpObjectTokenInit_SetStringValue(This,pszValueName,pszValue)	\
3116     (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
3117 
3118 #define ISpObjectTokenInit_GetStringValue(This,pszValueName,ppszValue)	\
3119     (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
3120 
3121 #define ISpObjectTokenInit_SetDWORD(This,pszValueName,dwValue)	\
3122     (This)->lpVtbl -> SetDWORD(This,pszValueName,dwValue)
3123 
3124 #define ISpObjectTokenInit_GetDWORD(This,pszValueName,pdwValue)	\
3125     (This)->lpVtbl -> GetDWORD(This,pszValueName,pdwValue)
3126 
3127 #define ISpObjectTokenInit_OpenKey(This,pszSubKeyName,ppSubKey)	\
3128     (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
3129 
3130 #define ISpObjectTokenInit_CreateKey(This,pszSubKey,ppSubKey)	\
3131     (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
3132 
3133 #define ISpObjectTokenInit_DeleteKey(This,pszSubKey)	\
3134     (This)->lpVtbl -> DeleteKey(This,pszSubKey)
3135 
3136 #define ISpObjectTokenInit_DeleteValue(This,pszValueName)	\
3137     (This)->lpVtbl -> DeleteValue(This,pszValueName)
3138 
3139 #define ISpObjectTokenInit_EnumKeys(This,Index,ppszSubKeyName)	\
3140     (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
3141 
3142 #define ISpObjectTokenInit_EnumValues(This,Index,ppszValueName)	\
3143     (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
3144 
3145 
3146 #define ISpObjectTokenInit_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)	\
3147     (This)->lpVtbl -> SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
3148 
3149 #define ISpObjectTokenInit_GetId(This,ppszCoMemTokenId)	\
3150     (This)->lpVtbl -> GetId(This,ppszCoMemTokenId)
3151 
3152 #define ISpObjectTokenInit_GetCategory(This,ppTokenCategory)	\
3153     (This)->lpVtbl -> GetCategory(This,ppTokenCategory)
3154 
3155 #define ISpObjectTokenInit_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)	\
3156     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
3157 
3158 #define ISpObjectTokenInit_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)	\
3159     (This)->lpVtbl -> GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
3160 
3161 #define ISpObjectTokenInit_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)	\
3162     (This)->lpVtbl -> RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
3163 
3164 #define ISpObjectTokenInit_Remove(This,pclsidCaller)	\
3165     (This)->lpVtbl -> Remove(This,pclsidCaller)
3166 
3167 #define ISpObjectTokenInit_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)	\
3168     (This)->lpVtbl -> IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
3169 
3170 #define ISpObjectTokenInit_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)	\
3171     (This)->lpVtbl -> DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
3172 
3173 #define ISpObjectTokenInit_MatchesAttributes(This,pszAttributes,pfMatches)	\
3174     (This)->lpVtbl -> MatchesAttributes(This,pszAttributes,pfMatches)
3175 
3176 
3177 #define ISpObjectTokenInit_InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey)	\
3178     (This)->lpVtbl -> InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey)
3179 
3180 #endif /* COBJMACROS */
3181 
3182 
3183 #endif 	/* C style interface */
3184 
3185 
3186 
3187 HRESULT STDMETHODCALLTYPE ISpObjectTokenInit_InitFromDataKey_Proxy(
3188     ISpObjectTokenInit * This,
3189     /* [in] */ const WCHAR *pszCategoryId,
3190     /* [in] */ const WCHAR *pszTokenId,
3191     /* [in] */ ISpDataKey *pDataKey);
3192 
3193 
3194 void __RPC_STUB ISpObjectTokenInit_InitFromDataKey_Stub(
3195     IRpcStubBuffer *This,
3196     IRpcChannelBuffer *_pRpcChannelBuffer,
3197     PRPC_MESSAGE _pRpcMessage,
3198     DWORD *_pdwStubPhase);
3199 
3200 
3201 
3202 #endif 	/* __ISpObjectTokenInit_INTERFACE_DEFINED__ */
3203 
3204 
3205 #ifndef __IEnumSpObjectTokens_INTERFACE_DEFINED__
3206 #define __IEnumSpObjectTokens_INTERFACE_DEFINED__
3207 
3208 /* interface IEnumSpObjectTokens */
3209 /* [restricted][unique][helpstring][uuid][object] */
3210 
3211 
3212 EXTERN_C const IID IID_IEnumSpObjectTokens;
3213 
3214 #if defined(__cplusplus) && !defined(CINTERFACE)
3215 
3216     MIDL_INTERFACE("06B64F9E-7FDA-11D2-B4F2-00C04F797396")
3217     IEnumSpObjectTokens : public IUnknown
3218     {
3219     public:
3220         virtual HRESULT STDMETHODCALLTYPE Next(
3221             /* [in] */ ULONG celt,
3222             /* [length_is][size_is][out] */ ISpObjectToken **pelt,
3223             /* [out] */ ULONG *pceltFetched) = 0;
3224 
3225         virtual HRESULT STDMETHODCALLTYPE Skip(
3226             /* [in] */ ULONG celt) = 0;
3227 
3228         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
3229 
3230         virtual HRESULT STDMETHODCALLTYPE Clone(
3231             /* [out] */ IEnumSpObjectTokens **ppEnum) = 0;
3232 
3233         virtual HRESULT STDMETHODCALLTYPE Item(
3234             /* [in] */ ULONG Index,
3235             /* [out] */ ISpObjectToken **ppToken) = 0;
3236 
3237         virtual HRESULT STDMETHODCALLTYPE GetCount(
3238             /* [out] */ ULONG *pCount) = 0;
3239 
3240     };
3241 
3242 #else 	/* C style interface */
3243 
3244     typedef struct IEnumSpObjectTokensVtbl
3245     {
3246         BEGIN_INTERFACE
3247 
3248         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3249             IEnumSpObjectTokens * This,
3250             /* [in] */ REFIID riid,
3251             /* [iid_is][out] */ void **ppvObject);
3252 
3253         ULONG ( STDMETHODCALLTYPE *AddRef )(
3254             IEnumSpObjectTokens * This);
3255 
3256         ULONG ( STDMETHODCALLTYPE *Release )(
3257             IEnumSpObjectTokens * This);
3258 
3259         HRESULT ( STDMETHODCALLTYPE *Next )(
3260             IEnumSpObjectTokens * This,
3261             /* [in] */ ULONG celt,
3262             /* [length_is][size_is][out] */ ISpObjectToken **pelt,
3263             /* [out] */ ULONG *pceltFetched);
3264 
3265         HRESULT ( STDMETHODCALLTYPE *Skip )(
3266             IEnumSpObjectTokens * This,
3267             /* [in] */ ULONG celt);
3268 
3269         HRESULT ( STDMETHODCALLTYPE *Reset )(
3270             IEnumSpObjectTokens * This);
3271 
3272         HRESULT ( STDMETHODCALLTYPE *Clone )(
3273             IEnumSpObjectTokens * This,
3274             /* [out] */ IEnumSpObjectTokens **ppEnum);
3275 
3276         HRESULT ( STDMETHODCALLTYPE *Item )(
3277             IEnumSpObjectTokens * This,
3278             /* [in] */ ULONG Index,
3279             /* [out] */ ISpObjectToken **ppToken);
3280 
3281         HRESULT ( STDMETHODCALLTYPE *GetCount )(
3282             IEnumSpObjectTokens * This,
3283             /* [out] */ ULONG *pCount);
3284 
3285         END_INTERFACE
3286     } IEnumSpObjectTokensVtbl;
3287 
3288     interface IEnumSpObjectTokens
3289     {
3290         CONST_VTBL struct IEnumSpObjectTokensVtbl *lpVtbl;
3291     };
3292 
3293 
3294 
3295 #ifdef COBJMACROS
3296 
3297 
3298 #define IEnumSpObjectTokens_QueryInterface(This,riid,ppvObject)	\
3299     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
3300 
3301 #define IEnumSpObjectTokens_AddRef(This)	\
3302     (This)->lpVtbl -> AddRef(This)
3303 
3304 #define IEnumSpObjectTokens_Release(This)	\
3305     (This)->lpVtbl -> Release(This)
3306 
3307 
3308 #define IEnumSpObjectTokens_Next(This,celt,pelt,pceltFetched)	\
3309     (This)->lpVtbl -> Next(This,celt,pelt,pceltFetched)
3310 
3311 #define IEnumSpObjectTokens_Skip(This,celt)	\
3312     (This)->lpVtbl -> Skip(This,celt)
3313 
3314 #define IEnumSpObjectTokens_Reset(This)	\
3315     (This)->lpVtbl -> Reset(This)
3316 
3317 #define IEnumSpObjectTokens_Clone(This,ppEnum)	\
3318     (This)->lpVtbl -> Clone(This,ppEnum)
3319 
3320 #define IEnumSpObjectTokens_Item(This,Index,ppToken)	\
3321     (This)->lpVtbl -> Item(This,Index,ppToken)
3322 
3323 #define IEnumSpObjectTokens_GetCount(This,pCount)	\
3324     (This)->lpVtbl -> GetCount(This,pCount)
3325 
3326 #endif /* COBJMACROS */
3327 
3328 
3329 #endif 	/* C style interface */
3330 
3331 
3332 
3333 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Next_Proxy(
3334     IEnumSpObjectTokens * This,
3335     /* [in] */ ULONG celt,
3336     /* [length_is][size_is][out] */ ISpObjectToken **pelt,
3337     /* [out] */ ULONG *pceltFetched);
3338 
3339 
3340 void __RPC_STUB IEnumSpObjectTokens_Next_Stub(
3341     IRpcStubBuffer *This,
3342     IRpcChannelBuffer *_pRpcChannelBuffer,
3343     PRPC_MESSAGE _pRpcMessage,
3344     DWORD *_pdwStubPhase);
3345 
3346 
3347 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Skip_Proxy(
3348     IEnumSpObjectTokens * This,
3349     /* [in] */ ULONG celt);
3350 
3351 
3352 void __RPC_STUB IEnumSpObjectTokens_Skip_Stub(
3353     IRpcStubBuffer *This,
3354     IRpcChannelBuffer *_pRpcChannelBuffer,
3355     PRPC_MESSAGE _pRpcMessage,
3356     DWORD *_pdwStubPhase);
3357 
3358 
3359 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Reset_Proxy(
3360     IEnumSpObjectTokens * This);
3361 
3362 
3363 void __RPC_STUB IEnumSpObjectTokens_Reset_Stub(
3364     IRpcStubBuffer *This,
3365     IRpcChannelBuffer *_pRpcChannelBuffer,
3366     PRPC_MESSAGE _pRpcMessage,
3367     DWORD *_pdwStubPhase);
3368 
3369 
3370 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Clone_Proxy(
3371     IEnumSpObjectTokens * This,
3372     /* [out] */ IEnumSpObjectTokens **ppEnum);
3373 
3374 
3375 void __RPC_STUB IEnumSpObjectTokens_Clone_Stub(
3376     IRpcStubBuffer *This,
3377     IRpcChannelBuffer *_pRpcChannelBuffer,
3378     PRPC_MESSAGE _pRpcMessage,
3379     DWORD *_pdwStubPhase);
3380 
3381 
3382 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Item_Proxy(
3383     IEnumSpObjectTokens * This,
3384     /* [in] */ ULONG Index,
3385     /* [out] */ ISpObjectToken **ppToken);
3386 
3387 
3388 void __RPC_STUB IEnumSpObjectTokens_Item_Stub(
3389     IRpcStubBuffer *This,
3390     IRpcChannelBuffer *_pRpcChannelBuffer,
3391     PRPC_MESSAGE _pRpcMessage,
3392     DWORD *_pdwStubPhase);
3393 
3394 
3395 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_GetCount_Proxy(
3396     IEnumSpObjectTokens * This,
3397     /* [out] */ ULONG *pCount);
3398 
3399 
3400 void __RPC_STUB IEnumSpObjectTokens_GetCount_Stub(
3401     IRpcStubBuffer *This,
3402     IRpcChannelBuffer *_pRpcChannelBuffer,
3403     PRPC_MESSAGE _pRpcMessage,
3404     DWORD *_pdwStubPhase);
3405 
3406 
3407 
3408 #endif 	/* __IEnumSpObjectTokens_INTERFACE_DEFINED__ */
3409 
3410 
3411 #ifndef __ISpObjectWithToken_INTERFACE_DEFINED__
3412 #define __ISpObjectWithToken_INTERFACE_DEFINED__
3413 
3414 /* interface ISpObjectWithToken */
3415 /* [restricted][unique][helpstring][uuid][object] */
3416 
3417 
3418 EXTERN_C const IID IID_ISpObjectWithToken;
3419 
3420 #if defined(__cplusplus) && !defined(CINTERFACE)
3421 
3422     MIDL_INTERFACE("5B559F40-E952-11D2-BB91-00C04F8EE6C0")
3423     ISpObjectWithToken : public IUnknown
3424     {
3425     public:
3426         virtual HRESULT STDMETHODCALLTYPE SetObjectToken(
3427             ISpObjectToken *pToken) = 0;
3428 
3429         virtual HRESULT STDMETHODCALLTYPE GetObjectToken(
3430             ISpObjectToken **ppToken) = 0;
3431 
3432     };
3433 
3434 #else 	/* C style interface */
3435 
3436     typedef struct ISpObjectWithTokenVtbl
3437     {
3438         BEGIN_INTERFACE
3439 
3440         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3441             ISpObjectWithToken * This,
3442             /* [in] */ REFIID riid,
3443             /* [iid_is][out] */ void **ppvObject);
3444 
3445         ULONG ( STDMETHODCALLTYPE *AddRef )(
3446             ISpObjectWithToken * This);
3447 
3448         ULONG ( STDMETHODCALLTYPE *Release )(
3449             ISpObjectWithToken * This);
3450 
3451         HRESULT ( STDMETHODCALLTYPE *SetObjectToken )(
3452             ISpObjectWithToken * This,
3453             ISpObjectToken *pToken);
3454 
3455         HRESULT ( STDMETHODCALLTYPE *GetObjectToken )(
3456             ISpObjectWithToken * This,
3457             ISpObjectToken **ppToken);
3458 
3459         END_INTERFACE
3460     } ISpObjectWithTokenVtbl;
3461 
3462     interface ISpObjectWithToken
3463     {
3464         CONST_VTBL struct ISpObjectWithTokenVtbl *lpVtbl;
3465     };
3466 
3467 
3468 
3469 #ifdef COBJMACROS
3470 
3471 
3472 #define ISpObjectWithToken_QueryInterface(This,riid,ppvObject)	\
3473     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
3474 
3475 #define ISpObjectWithToken_AddRef(This)	\
3476     (This)->lpVtbl -> AddRef(This)
3477 
3478 #define ISpObjectWithToken_Release(This)	\
3479     (This)->lpVtbl -> Release(This)
3480 
3481 
3482 #define ISpObjectWithToken_SetObjectToken(This,pToken)	\
3483     (This)->lpVtbl -> SetObjectToken(This,pToken)
3484 
3485 #define ISpObjectWithToken_GetObjectToken(This,ppToken)	\
3486     (This)->lpVtbl -> GetObjectToken(This,ppToken)
3487 
3488 #endif /* COBJMACROS */
3489 
3490 
3491 #endif 	/* C style interface */
3492 
3493 
3494 
3495 HRESULT STDMETHODCALLTYPE ISpObjectWithToken_SetObjectToken_Proxy(
3496     ISpObjectWithToken * This,
3497     ISpObjectToken *pToken);
3498 
3499 
3500 void __RPC_STUB ISpObjectWithToken_SetObjectToken_Stub(
3501     IRpcStubBuffer *This,
3502     IRpcChannelBuffer *_pRpcChannelBuffer,
3503     PRPC_MESSAGE _pRpcMessage,
3504     DWORD *_pdwStubPhase);
3505 
3506 
3507 HRESULT STDMETHODCALLTYPE ISpObjectWithToken_GetObjectToken_Proxy(
3508     ISpObjectWithToken * This,
3509     ISpObjectToken **ppToken);
3510 
3511 
3512 void __RPC_STUB ISpObjectWithToken_GetObjectToken_Stub(
3513     IRpcStubBuffer *This,
3514     IRpcChannelBuffer *_pRpcChannelBuffer,
3515     PRPC_MESSAGE _pRpcMessage,
3516     DWORD *_pdwStubPhase);
3517 
3518 
3519 
3520 #endif 	/* __ISpObjectWithToken_INTERFACE_DEFINED__ */
3521 
3522 
3523 #ifndef __ISpResourceManager_INTERFACE_DEFINED__
3524 #define __ISpResourceManager_INTERFACE_DEFINED__
3525 
3526 /* interface ISpResourceManager */
3527 /* [restricted][unique][helpstring][uuid][object] */
3528 
3529 
3530 EXTERN_C const IID IID_ISpResourceManager;
3531 
3532 #if defined(__cplusplus) && !defined(CINTERFACE)
3533 
3534     MIDL_INTERFACE("93384E18-5014-43D5-ADBB-A78E055926BD")
3535     ISpResourceManager : public IServiceProvider
3536     {
3537     public:
3538         virtual HRESULT STDMETHODCALLTYPE SetObject(
3539             /* [in] */ REFGUID guidServiceId,
3540             /* [in] */ IUnknown *pUnkObject) = 0;
3541 
3542         virtual HRESULT STDMETHODCALLTYPE GetObject(
3543             /* [in] */ REFGUID guidServiceId,
3544             /* [in] */ REFCLSID ObjectCLSID,
3545             /* [in] */ REFIID ObjectIID,
3546             /* [in] */ BOOL fReleaseWhenLastExternalRefReleased,
3547             /* [iid_is][out] */ void **ppObject) = 0;
3548 
3549     };
3550 
3551 #else 	/* C style interface */
3552 
3553     typedef struct ISpResourceManagerVtbl
3554     {
3555         BEGIN_INTERFACE
3556 
3557         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3558             ISpResourceManager * This,
3559             /* [in] */ REFIID riid,
3560             /* [iid_is][out] */ void **ppvObject);
3561 
3562         ULONG ( STDMETHODCALLTYPE *AddRef )(
3563             ISpResourceManager * This);
3564 
3565         ULONG ( STDMETHODCALLTYPE *Release )(
3566             ISpResourceManager * This);
3567 
3568         /* [local] */ HRESULT ( STDMETHODCALLTYPE *QueryService )(
3569             ISpResourceManager * This,
3570             /* [in] */ REFGUID guidService,
3571             /* [in] */ REFIID riid,
3572             /* [out] */ void **ppvObject);
3573 
3574         HRESULT ( STDMETHODCALLTYPE *SetObject )(
3575             ISpResourceManager * This,
3576             /* [in] */ REFGUID guidServiceId,
3577             /* [in] */ IUnknown *pUnkObject);
3578 
3579         HRESULT ( STDMETHODCALLTYPE *GetObject )(
3580             ISpResourceManager * This,
3581             /* [in] */ REFGUID guidServiceId,
3582             /* [in] */ REFCLSID ObjectCLSID,
3583             /* [in] */ REFIID ObjectIID,
3584             /* [in] */ BOOL fReleaseWhenLastExternalRefReleased,
3585             /* [iid_is][out] */ void **ppObject);
3586 
3587         END_INTERFACE
3588     } ISpResourceManagerVtbl;
3589 
3590     interface ISpResourceManager
3591     {
3592         CONST_VTBL struct ISpResourceManagerVtbl *lpVtbl;
3593     };
3594 
3595 
3596 
3597 #ifdef COBJMACROS
3598 
3599 
3600 #define ISpResourceManager_QueryInterface(This,riid,ppvObject)	\
3601     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
3602 
3603 #define ISpResourceManager_AddRef(This)	\
3604     (This)->lpVtbl -> AddRef(This)
3605 
3606 #define ISpResourceManager_Release(This)	\
3607     (This)->lpVtbl -> Release(This)
3608 
3609 
3610 #define ISpResourceManager_QueryService(This,guidService,riid,ppvObject)	\
3611     (This)->lpVtbl -> QueryService(This,guidService,riid,ppvObject)
3612 
3613 
3614 #define ISpResourceManager_SetObject(This,guidServiceId,pUnkObject)	\
3615     (This)->lpVtbl -> SetObject(This,guidServiceId,pUnkObject)
3616 
3617 #define ISpResourceManager_GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)	\
3618     (This)->lpVtbl -> GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)
3619 
3620 #endif /* COBJMACROS */
3621 
3622 
3623 #endif 	/* C style interface */
3624 
3625 
3626 
3627 HRESULT STDMETHODCALLTYPE ISpResourceManager_SetObject_Proxy(
3628     ISpResourceManager * This,
3629     /* [in] */ REFGUID guidServiceId,
3630     /* [in] */ IUnknown *pUnkObject);
3631 
3632 
3633 void __RPC_STUB ISpResourceManager_SetObject_Stub(
3634     IRpcStubBuffer *This,
3635     IRpcChannelBuffer *_pRpcChannelBuffer,
3636     PRPC_MESSAGE _pRpcMessage,
3637     DWORD *_pdwStubPhase);
3638 
3639 
3640 HRESULT STDMETHODCALLTYPE ISpResourceManager_GetObject_Proxy(
3641     ISpResourceManager * This,
3642     /* [in] */ REFGUID guidServiceId,
3643     /* [in] */ REFCLSID ObjectCLSID,
3644     /* [in] */ REFIID ObjectIID,
3645     /* [in] */ BOOL fReleaseWhenLastExternalRefReleased,
3646     /* [iid_is][out] */ void **ppObject);
3647 
3648 
3649 void __RPC_STUB ISpResourceManager_GetObject_Stub(
3650     IRpcStubBuffer *This,
3651     IRpcChannelBuffer *_pRpcChannelBuffer,
3652     PRPC_MESSAGE _pRpcMessage,
3653     DWORD *_pdwStubPhase);
3654 
3655 
3656 
3657 #endif 	/* __ISpResourceManager_INTERFACE_DEFINED__ */
3658 
3659 
3660 /* interface __MIDL_itf_sapi_0262 */
3661 /* [local] */
3662 
3663 typedef /* [hidden] */
3664 enum SPEVENTLPARAMTYPE
3665     {	SPET_LPARAM_IS_UNDEFINED	= 0,
3666 	SPET_LPARAM_IS_TOKEN	= SPET_LPARAM_IS_UNDEFINED + 1,
3667 	SPET_LPARAM_IS_OBJECT	= SPET_LPARAM_IS_TOKEN + 1,
3668 	SPET_LPARAM_IS_POINTER	= SPET_LPARAM_IS_OBJECT + 1,
3669 	SPET_LPARAM_IS_STRING	= SPET_LPARAM_IS_POINTER + 1
3670     } 	SPEVENTLPARAMTYPE;
3671 
3672 typedef /* [hidden] */
3673 enum SPEVENTENUM
3674     {	SPEI_UNDEFINED	= 0,
3675 	SPEI_START_INPUT_STREAM	= 1,
3676 	SPEI_END_INPUT_STREAM	= 2,
3677 	SPEI_VOICE_CHANGE	= 3,
3678 	SPEI_TTS_BOOKMARK	= 4,
3679 	SPEI_WORD_BOUNDARY	= 5,
3680 	SPEI_PHONEME	= 6,
3681 	SPEI_SENTENCE_BOUNDARY	= 7,
3682 	SPEI_VISEME	= 8,
3683 	SPEI_TTS_AUDIO_LEVEL	= 9,
3684 	SPEI_TTS_PRIVATE	= 15,
3685 	SPEI_MIN_TTS	= 1,
3686 	SPEI_MAX_TTS	= 15,
3687 	SPEI_END_SR_STREAM	= 34,
3688 	SPEI_SOUND_START	= 35,
3689 	SPEI_SOUND_END	= 36,
3690 	SPEI_PHRASE_START	= 37,
3691 	SPEI_RECOGNITION	= 38,
3692 	SPEI_HYPOTHESIS	= 39,
3693 	SPEI_SR_BOOKMARK	= 40,
3694 	SPEI_PROPERTY_NUM_CHANGE	= 41,
3695 	SPEI_PROPERTY_STRING_CHANGE	= 42,
3696 	SPEI_FALSE_RECOGNITION	= 43,
3697 	SPEI_INTERFERENCE	= 44,
3698 	SPEI_REQUEST_UI	= 45,
3699 	SPEI_RECO_STATE_CHANGE	= 46,
3700 	SPEI_ADAPTATION	= 47,
3701 	SPEI_START_SR_STREAM	= 48,
3702 	SPEI_RECO_OTHER_CONTEXT	= 49,
3703 	SPEI_SR_AUDIO_LEVEL	= 50,
3704 	SPEI_SR_PRIVATE	= 52,
3705 	SPEI_MIN_SR	= 34,
3706 	SPEI_MAX_SR	= 52,
3707 	SPEI_RESERVED1	= 30,
3708 	SPEI_RESERVED2	= 33,
3709 	SPEI_RESERVED3	= 63
3710     } 	SPEVENTENUM;
3711 
3712 #define SPFEI_FLAGCHECK ( (1ui64 << SPEI_RESERVED1) | (1ui64 << SPEI_RESERVED2) )
3713 #define SPFEI_ALL_TTS_EVENTS (0x000000000000FFFEui64 | SPFEI_FLAGCHECK)
3714 #define SPFEI_ALL_SR_EVENTS  (0x001FFFFC00000000ui64 | SPFEI_FLAGCHECK)
3715 #define SPFEI_ALL_EVENTS      0xEFFFFFFFFFFFFFFFui64
3716 #define SPFEI(SPEI_ord) ((1ui64 << SPEI_ord) | SPFEI_FLAGCHECK)
3717 #if 0
3718 typedef /* [hidden][restricted] */ struct SPEVENT
3719     {
3720     WORD eEventId;
3721     WORD elParamType;
3722     ULONG ulStreamNum;
3723     ULONGLONG ullAudioStreamOffset;
3724     WPARAM wParam;
3725     LPARAM lParam;
3726     } 	SPEVENT;
3727 
3728 typedef /* [hidden][restricted] */ struct SPSERIALIZEDEVENT
3729     {
3730     WORD eEventId;
3731     WORD elParamType;
3732     ULONG ulStreamNum;
3733     ULONGLONG ullAudioStreamOffset;
3734     ULONG SerializedwParam;
3735     LONG SerializedlParam;
3736     } 	SPSERIALIZEDEVENT;
3737 
3738 typedef /* [hidden][restricted] */ struct SPSERIALIZEDEVENT64
3739     {
3740     WORD eEventId;
3741     WORD elParamType;
3742     ULONG ulStreamNum;
3743     ULONGLONG ullAudioStreamOffset;
3744     ULONGLONG SerializedwParam;
3745     LONGLONG SerializedlParam;
3746     } 	SPSERIALIZEDEVENT64;
3747 
3748 #else
3749 typedef struct SPEVENT
3750 {
3751     SPEVENTENUM        eEventId : 16;
3752     SPEVENTLPARAMTYPE  elParamType : 16;
3753     ULONG       ulStreamNum;
3754     ULONGLONG   ullAudioStreamOffset;
3755     WPARAM      wParam;
3756     LPARAM      lParam;
3757 } SPEVENT;
3758 typedef struct SPSERIALIZEDEVENT
3759 {
3760     SPEVENTENUM        eEventId : 16;
3761     SPEVENTLPARAMTYPE  elParamType : 16;
3762     ULONG       ulStreamNum;
3763     ULONGLONG   ullAudioStreamOffset;
3764     ULONG       SerializedwParam;
3765     LONG        SerializedlParam;
3766 } SPSERIALIZEDEVENT;
3767 typedef struct SPSERIALIZEDEVENT64
3768 {
3769     SPEVENTENUM        eEventId : 16;
3770     SPEVENTLPARAMTYPE  elParamType : 16;
3771     ULONG       ulStreamNum;
3772     ULONGLONG   ullAudioStreamOffset;
3773     ULONGLONG   SerializedwParam;
3774     LONGLONG    SerializedlParam;
3775 } SPSERIALIZEDEVENT64;
3776 #endif
3777 typedef /* [hidden] */
3778 enum SPINTERFERENCE
3779     {	SPINTERFERENCE_NONE	= 0,
3780 	SPINTERFERENCE_NOISE	= SPINTERFERENCE_NONE + 1,
3781 	SPINTERFERENCE_NOSIGNAL	= SPINTERFERENCE_NOISE + 1,
3782 	SPINTERFERENCE_TOOLOUD	= SPINTERFERENCE_NOSIGNAL + 1,
3783 	SPINTERFERENCE_TOOQUIET	= SPINTERFERENCE_TOOLOUD + 1,
3784 	SPINTERFERENCE_TOOFAST	= SPINTERFERENCE_TOOQUIET + 1,
3785 	SPINTERFERENCE_TOOSLOW	= SPINTERFERENCE_TOOFAST + 1
3786     } 	SPINTERFERENCE;
3787 
3788 typedef /* [hidden] */
3789 enum SPENDSRSTREAMFLAGS
3790     {	SPESF_NONE	= 0,
3791 	SPESF_STREAM_RELEASED	= 1 << 0
3792     } 	SPENDSRSTREAMFLAGS;
3793 
3794 typedef /* [hidden] */
3795 enum SPVFEATURE
3796     {	SPVFEATURE_STRESSED	= 1L << 0,
3797 	SPVFEATURE_EMPHASIS	= 1L << 1
3798     } 	SPVFEATURE;
3799 
3800 typedef /* [hidden] */
3801 enum SPVISEMES
3802     {	SP_VISEME_0	= 0,
3803 	SP_VISEME_1	= SP_VISEME_0 + 1,
3804 	SP_VISEME_2	= SP_VISEME_1 + 1,
3805 	SP_VISEME_3	= SP_VISEME_2 + 1,
3806 	SP_VISEME_4	= SP_VISEME_3 + 1,
3807 	SP_VISEME_5	= SP_VISEME_4 + 1,
3808 	SP_VISEME_6	= SP_VISEME_5 + 1,
3809 	SP_VISEME_7	= SP_VISEME_6 + 1,
3810 	SP_VISEME_8	= SP_VISEME_7 + 1,
3811 	SP_VISEME_9	= SP_VISEME_8 + 1,
3812 	SP_VISEME_10	= SP_VISEME_9 + 1,
3813 	SP_VISEME_11	= SP_VISEME_10 + 1,
3814 	SP_VISEME_12	= SP_VISEME_11 + 1,
3815 	SP_VISEME_13	= SP_VISEME_12 + 1,
3816 	SP_VISEME_14	= SP_VISEME_13 + 1,
3817 	SP_VISEME_15	= SP_VISEME_14 + 1,
3818 	SP_VISEME_16	= SP_VISEME_15 + 1,
3819 	SP_VISEME_17	= SP_VISEME_16 + 1,
3820 	SP_VISEME_18	= SP_VISEME_17 + 1,
3821 	SP_VISEME_19	= SP_VISEME_18 + 1,
3822 	SP_VISEME_20	= SP_VISEME_19 + 1,
3823 	SP_VISEME_21	= SP_VISEME_20 + 1
3824     } 	SPVISEMES;
3825 
3826 typedef /* [hidden][restricted] */ struct SPEVENTSOURCEINFO
3827     {
3828     ULONGLONG ullEventInterest;
3829     ULONGLONG ullQueuedInterest;
3830     ULONG ulCount;
3831     } 	SPEVENTSOURCEINFO;
3832 
3833 
3834 
3835 extern RPC_IF_HANDLE __MIDL_itf_sapi_0262_v0_0_c_ifspec;
3836 extern RPC_IF_HANDLE __MIDL_itf_sapi_0262_v0_0_s_ifspec;
3837 
3838 #ifndef __ISpEventSource_INTERFACE_DEFINED__
3839 #define __ISpEventSource_INTERFACE_DEFINED__
3840 
3841 /* interface ISpEventSource */
3842 /* [restricted][local][unique][helpstring][uuid][object] */
3843 
3844 
3845 EXTERN_C const IID IID_ISpEventSource;
3846 
3847 #if defined(__cplusplus) && !defined(CINTERFACE)
3848 
3849     MIDL_INTERFACE("BE7A9CCE-5F9E-11D2-960F-00C04F8EE628")
3850     ISpEventSource : public ISpNotifySource
3851     {
3852     public:
3853         virtual HRESULT STDMETHODCALLTYPE SetInterest(
3854             /* [in] */ ULONGLONG ullEventInterest,
3855             /* [in] */ ULONGLONG ullQueuedInterest) = 0;
3856 
3857         virtual HRESULT STDMETHODCALLTYPE GetEvents(
3858             /* [in] */ ULONG ulCount,
3859             /* [size_is][out] */ SPEVENT *pEventArray,
3860             /* [out] */ ULONG *pulFetched) = 0;
3861 
3862         virtual HRESULT STDMETHODCALLTYPE GetInfo(
3863             /* [out] */ SPEVENTSOURCEINFO *pInfo) = 0;
3864 
3865     };
3866 
3867 #else 	/* C style interface */
3868 
3869     typedef struct ISpEventSourceVtbl
3870     {
3871         BEGIN_INTERFACE
3872 
3873         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3874             ISpEventSource * This,
3875             /* [in] */ REFIID riid,
3876             /* [iid_is][out] */ void **ppvObject);
3877 
3878         ULONG ( STDMETHODCALLTYPE *AddRef )(
3879             ISpEventSource * This);
3880 
3881         ULONG ( STDMETHODCALLTYPE *Release )(
3882             ISpEventSource * This);
3883 
3884         HRESULT ( STDMETHODCALLTYPE *SetNotifySink )(
3885             ISpEventSource * This,
3886             /* [in] */ ISpNotifySink *pNotifySink);
3887 
3888         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWindowMessage )(
3889             ISpEventSource * This,
3890             /* [in] */ HWND hWnd,
3891             /* [in] */ UINT Msg,
3892             /* [in] */ WPARAM wParam,
3893             /* [in] */ LPARAM lParam);
3894 
3895         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackFunction )(
3896             ISpEventSource * This,
3897             /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
3898             /* [in] */ WPARAM wParam,
3899             /* [in] */ LPARAM lParam);
3900 
3901         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackInterface )(
3902             ISpEventSource * This,
3903             /* [in] */ ISpNotifyCallback *pSpCallback,
3904             /* [in] */ WPARAM wParam,
3905             /* [in] */ LPARAM lParam);
3906 
3907         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWin32Event )(
3908             ISpEventSource * This);
3909 
3910         /* [local] */ HRESULT ( STDMETHODCALLTYPE *WaitForNotifyEvent )(
3911             ISpEventSource * This,
3912             /* [in] */ DWORD dwMilliseconds);
3913 
3914         /* [local] */ HANDLE ( STDMETHODCALLTYPE *GetNotifyEventHandle )(
3915             ISpEventSource * This);
3916 
3917         HRESULT ( STDMETHODCALLTYPE *SetInterest )(
3918             ISpEventSource * This,
3919             /* [in] */ ULONGLONG ullEventInterest,
3920             /* [in] */ ULONGLONG ullQueuedInterest);
3921 
3922         HRESULT ( STDMETHODCALLTYPE *GetEvents )(
3923             ISpEventSource * This,
3924             /* [in] */ ULONG ulCount,
3925             /* [size_is][out] */ SPEVENT *pEventArray,
3926             /* [out] */ ULONG *pulFetched);
3927 
3928         HRESULT ( STDMETHODCALLTYPE *GetInfo )(
3929             ISpEventSource * This,
3930             /* [out] */ SPEVENTSOURCEINFO *pInfo);
3931 
3932         END_INTERFACE
3933     } ISpEventSourceVtbl;
3934 
3935     interface ISpEventSource
3936     {
3937         CONST_VTBL struct ISpEventSourceVtbl *lpVtbl;
3938     };
3939 
3940 
3941 
3942 #ifdef COBJMACROS
3943 
3944 
3945 #define ISpEventSource_QueryInterface(This,riid,ppvObject)	\
3946     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
3947 
3948 #define ISpEventSource_AddRef(This)	\
3949     (This)->lpVtbl -> AddRef(This)
3950 
3951 #define ISpEventSource_Release(This)	\
3952     (This)->lpVtbl -> Release(This)
3953 
3954 
3955 #define ISpEventSource_SetNotifySink(This,pNotifySink)	\
3956     (This)->lpVtbl -> SetNotifySink(This,pNotifySink)
3957 
3958 #define ISpEventSource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)	\
3959     (This)->lpVtbl -> SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
3960 
3961 #define ISpEventSource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)	\
3962     (This)->lpVtbl -> SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
3963 
3964 #define ISpEventSource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)	\
3965     (This)->lpVtbl -> SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
3966 
3967 #define ISpEventSource_SetNotifyWin32Event(This)	\
3968     (This)->lpVtbl -> SetNotifyWin32Event(This)
3969 
3970 #define ISpEventSource_WaitForNotifyEvent(This,dwMilliseconds)	\
3971     (This)->lpVtbl -> WaitForNotifyEvent(This,dwMilliseconds)
3972 
3973 #define ISpEventSource_GetNotifyEventHandle(This)	\
3974     (This)->lpVtbl -> GetNotifyEventHandle(This)
3975 
3976 
3977 #define ISpEventSource_SetInterest(This,ullEventInterest,ullQueuedInterest)	\
3978     (This)->lpVtbl -> SetInterest(This,ullEventInterest,ullQueuedInterest)
3979 
3980 #define ISpEventSource_GetEvents(This,ulCount,pEventArray,pulFetched)	\
3981     (This)->lpVtbl -> GetEvents(This,ulCount,pEventArray,pulFetched)
3982 
3983 #define ISpEventSource_GetInfo(This,pInfo)	\
3984     (This)->lpVtbl -> GetInfo(This,pInfo)
3985 
3986 #endif /* COBJMACROS */
3987 
3988 
3989 #endif 	/* C style interface */
3990 
3991 
3992 
3993 HRESULT STDMETHODCALLTYPE ISpEventSource_SetInterest_Proxy(
3994     ISpEventSource * This,
3995     /* [in] */ ULONGLONG ullEventInterest,
3996     /* [in] */ ULONGLONG ullQueuedInterest);
3997 
3998 
3999 void __RPC_STUB ISpEventSource_SetInterest_Stub(
4000     IRpcStubBuffer *This,
4001     IRpcChannelBuffer *_pRpcChannelBuffer,
4002     PRPC_MESSAGE _pRpcMessage,
4003     DWORD *_pdwStubPhase);
4004 
4005 
4006 HRESULT STDMETHODCALLTYPE ISpEventSource_GetEvents_Proxy(
4007     ISpEventSource * This,
4008     /* [in] */ ULONG ulCount,
4009     /* [size_is][out] */ SPEVENT *pEventArray,
4010     /* [out] */ ULONG *pulFetched);
4011 
4012 
4013 void __RPC_STUB ISpEventSource_GetEvents_Stub(
4014     IRpcStubBuffer *This,
4015     IRpcChannelBuffer *_pRpcChannelBuffer,
4016     PRPC_MESSAGE _pRpcMessage,
4017     DWORD *_pdwStubPhase);
4018 
4019 
4020 HRESULT STDMETHODCALLTYPE ISpEventSource_GetInfo_Proxy(
4021     ISpEventSource * This,
4022     /* [out] */ SPEVENTSOURCEINFO *pInfo);
4023 
4024 
4025 void __RPC_STUB ISpEventSource_GetInfo_Stub(
4026     IRpcStubBuffer *This,
4027     IRpcChannelBuffer *_pRpcChannelBuffer,
4028     PRPC_MESSAGE _pRpcMessage,
4029     DWORD *_pdwStubPhase);
4030 
4031 
4032 
4033 #endif 	/* __ISpEventSource_INTERFACE_DEFINED__ */
4034 
4035 
4036 #ifndef __ISpEventSink_INTERFACE_DEFINED__
4037 #define __ISpEventSink_INTERFACE_DEFINED__
4038 
4039 /* interface ISpEventSink */
4040 /* [restricted][local][unique][helpstring][uuid][object] */
4041 
4042 
4043 EXTERN_C const IID IID_ISpEventSink;
4044 
4045 #if defined(__cplusplus) && !defined(CINTERFACE)
4046 
4047     MIDL_INTERFACE("BE7A9CC9-5F9E-11D2-960F-00C04F8EE628")
4048     ISpEventSink : public IUnknown
4049     {
4050     public:
4051         virtual HRESULT STDMETHODCALLTYPE AddEvents(
4052             /* [in] */ const SPEVENT *pEventArray,
4053             /* [in] */ ULONG ulCount) = 0;
4054 
4055         virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
4056             /* [out] */ ULONGLONG *pullEventInterest) = 0;
4057 
4058     };
4059 
4060 #else 	/* C style interface */
4061 
4062     typedef struct ISpEventSinkVtbl
4063     {
4064         BEGIN_INTERFACE
4065 
4066         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4067             ISpEventSink * This,
4068             /* [in] */ REFIID riid,
4069             /* [iid_is][out] */ void **ppvObject);
4070 
4071         ULONG ( STDMETHODCALLTYPE *AddRef )(
4072             ISpEventSink * This);
4073 
4074         ULONG ( STDMETHODCALLTYPE *Release )(
4075             ISpEventSink * This);
4076 
4077         HRESULT ( STDMETHODCALLTYPE *AddEvents )(
4078             ISpEventSink * This,
4079             /* [in] */ const SPEVENT *pEventArray,
4080             /* [in] */ ULONG ulCount);
4081 
4082         HRESULT ( STDMETHODCALLTYPE *GetEventInterest )(
4083             ISpEventSink * This,
4084             /* [out] */ ULONGLONG *pullEventInterest);
4085 
4086         END_INTERFACE
4087     } ISpEventSinkVtbl;
4088 
4089     interface ISpEventSink
4090     {
4091         CONST_VTBL struct ISpEventSinkVtbl *lpVtbl;
4092     };
4093 
4094 
4095 
4096 #ifdef COBJMACROS
4097 
4098 
4099 #define ISpEventSink_QueryInterface(This,riid,ppvObject)	\
4100     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
4101 
4102 #define ISpEventSink_AddRef(This)	\
4103     (This)->lpVtbl -> AddRef(This)
4104 
4105 #define ISpEventSink_Release(This)	\
4106     (This)->lpVtbl -> Release(This)
4107 
4108 
4109 #define ISpEventSink_AddEvents(This,pEventArray,ulCount)	\
4110     (This)->lpVtbl -> AddEvents(This,pEventArray,ulCount)
4111 
4112 #define ISpEventSink_GetEventInterest(This,pullEventInterest)	\
4113     (This)->lpVtbl -> GetEventInterest(This,pullEventInterest)
4114 
4115 #endif /* COBJMACROS */
4116 
4117 
4118 #endif 	/* C style interface */
4119 
4120 
4121 
4122 HRESULT STDMETHODCALLTYPE ISpEventSink_AddEvents_Proxy(
4123     ISpEventSink * This,
4124     /* [in] */ const SPEVENT *pEventArray,
4125     /* [in] */ ULONG ulCount);
4126 
4127 
4128 void __RPC_STUB ISpEventSink_AddEvents_Stub(
4129     IRpcStubBuffer *This,
4130     IRpcChannelBuffer *_pRpcChannelBuffer,
4131     PRPC_MESSAGE _pRpcMessage,
4132     DWORD *_pdwStubPhase);
4133 
4134 
4135 HRESULT STDMETHODCALLTYPE ISpEventSink_GetEventInterest_Proxy(
4136     ISpEventSink * This,
4137     /* [out] */ ULONGLONG *pullEventInterest);
4138 
4139 
4140 void __RPC_STUB ISpEventSink_GetEventInterest_Stub(
4141     IRpcStubBuffer *This,
4142     IRpcChannelBuffer *_pRpcChannelBuffer,
4143     PRPC_MESSAGE _pRpcMessage,
4144     DWORD *_pdwStubPhase);
4145 
4146 
4147 
4148 #endif 	/* __ISpEventSink_INTERFACE_DEFINED__ */
4149 
4150 
4151 #ifndef __ISpStreamFormat_INTERFACE_DEFINED__
4152 #define __ISpStreamFormat_INTERFACE_DEFINED__
4153 
4154 /* interface ISpStreamFormat */
4155 /* [restricted][unique][helpstring][uuid][object] */
4156 
4157 
4158 EXTERN_C const IID IID_ISpStreamFormat;
4159 
4160 #if defined(__cplusplus) && !defined(CINTERFACE)
4161 
4162     MIDL_INTERFACE("BED530BE-2606-4F4D-A1C0-54C5CDA5566F")
4163     ISpStreamFormat : public IStream
4164     {
4165     public:
4166         virtual HRESULT STDMETHODCALLTYPE GetFormat(
4167             GUID *pguidFormatId,
4168             WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
4169 
4170     };
4171 
4172 #else 	/* C style interface */
4173 
4174     typedef struct ISpStreamFormatVtbl
4175     {
4176         BEGIN_INTERFACE
4177 
4178         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4179             ISpStreamFormat * This,
4180             /* [in] */ REFIID riid,
4181             /* [iid_is][out] */ void **ppvObject);
4182 
4183         ULONG ( STDMETHODCALLTYPE *AddRef )(
4184             ISpStreamFormat * This);
4185 
4186         ULONG ( STDMETHODCALLTYPE *Release )(
4187             ISpStreamFormat * This);
4188 
4189         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
4190             ISpStreamFormat * This,
4191             /* [length_is][size_is][out] */ void *pv,
4192             /* [in] */ ULONG cb,
4193             /* [out] */ ULONG *pcbRead);
4194 
4195         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
4196             ISpStreamFormat * This,
4197             /* [size_is][in] */ const void *pv,
4198             /* [in] */ ULONG cb,
4199             /* [out] */ ULONG *pcbWritten);
4200 
4201         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
4202             ISpStreamFormat * This,
4203             /* [in] */ LARGE_INTEGER dlibMove,
4204             /* [in] */ DWORD dwOrigin,
4205             /* [out] */ ULARGE_INTEGER *plibNewPosition);
4206 
4207         HRESULT ( STDMETHODCALLTYPE *SetSize )(
4208             ISpStreamFormat * This,
4209             /* [in] */ ULARGE_INTEGER libNewSize);
4210 
4211         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
4212             ISpStreamFormat * This,
4213             /* [unique][in] */ IStream *pstm,
4214             /* [in] */ ULARGE_INTEGER cb,
4215             /* [out] */ ULARGE_INTEGER *pcbRead,
4216             /* [out] */ ULARGE_INTEGER *pcbWritten);
4217 
4218         HRESULT ( STDMETHODCALLTYPE *Commit )(
4219             ISpStreamFormat * This,
4220             /* [in] */ DWORD grfCommitFlags);
4221 
4222         HRESULT ( STDMETHODCALLTYPE *Revert )(
4223             ISpStreamFormat * This);
4224 
4225         HRESULT ( STDMETHODCALLTYPE *LockRegion )(
4226             ISpStreamFormat * This,
4227             /* [in] */ ULARGE_INTEGER libOffset,
4228             /* [in] */ ULARGE_INTEGER cb,
4229             /* [in] */ DWORD dwLockType);
4230 
4231         HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
4232             ISpStreamFormat * This,
4233             /* [in] */ ULARGE_INTEGER libOffset,
4234             /* [in] */ ULARGE_INTEGER cb,
4235             /* [in] */ DWORD dwLockType);
4236 
4237         HRESULT ( STDMETHODCALLTYPE *Stat )(
4238             ISpStreamFormat * This,
4239             /* [out] */ STATSTG *pstatstg,
4240             /* [in] */ DWORD grfStatFlag);
4241 
4242         HRESULT ( STDMETHODCALLTYPE *Clone )(
4243             ISpStreamFormat * This,
4244             /* [out] */ IStream **ppstm);
4245 
4246         HRESULT ( STDMETHODCALLTYPE *GetFormat )(
4247             ISpStreamFormat * This,
4248             GUID *pguidFormatId,
4249             WAVEFORMATEX **ppCoMemWaveFormatEx);
4250 
4251         END_INTERFACE
4252     } ISpStreamFormatVtbl;
4253 
4254     interface ISpStreamFormat
4255     {
4256         CONST_VTBL struct ISpStreamFormatVtbl *lpVtbl;
4257     };
4258 
4259 
4260 
4261 #ifdef COBJMACROS
4262 
4263 
4264 #define ISpStreamFormat_QueryInterface(This,riid,ppvObject)	\
4265     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
4266 
4267 #define ISpStreamFormat_AddRef(This)	\
4268     (This)->lpVtbl -> AddRef(This)
4269 
4270 #define ISpStreamFormat_Release(This)	\
4271     (This)->lpVtbl -> Release(This)
4272 
4273 
4274 #define ISpStreamFormat_Read(This,pv,cb,pcbRead)	\
4275     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
4276 
4277 #define ISpStreamFormat_Write(This,pv,cb,pcbWritten)	\
4278     (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
4279 
4280 
4281 #define ISpStreamFormat_Seek(This,dlibMove,dwOrigin,plibNewPosition)	\
4282     (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
4283 
4284 #define ISpStreamFormat_SetSize(This,libNewSize)	\
4285     (This)->lpVtbl -> SetSize(This,libNewSize)
4286 
4287 #define ISpStreamFormat_CopyTo(This,pstm,cb,pcbRead,pcbWritten)	\
4288     (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
4289 
4290 #define ISpStreamFormat_Commit(This,grfCommitFlags)	\
4291     (This)->lpVtbl -> Commit(This,grfCommitFlags)
4292 
4293 #define ISpStreamFormat_Revert(This)	\
4294     (This)->lpVtbl -> Revert(This)
4295 
4296 #define ISpStreamFormat_LockRegion(This,libOffset,cb,dwLockType)	\
4297     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
4298 
4299 #define ISpStreamFormat_UnlockRegion(This,libOffset,cb,dwLockType)	\
4300     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
4301 
4302 #define ISpStreamFormat_Stat(This,pstatstg,grfStatFlag)	\
4303     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
4304 
4305 #define ISpStreamFormat_Clone(This,ppstm)	\
4306     (This)->lpVtbl -> Clone(This,ppstm)
4307 
4308 
4309 #define ISpStreamFormat_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)	\
4310     (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
4311 
4312 #endif /* COBJMACROS */
4313 
4314 
4315 #endif 	/* C style interface */
4316 
4317 
4318 
4319 HRESULT STDMETHODCALLTYPE ISpStreamFormat_GetFormat_Proxy(
4320     ISpStreamFormat * This,
4321     GUID *pguidFormatId,
4322     WAVEFORMATEX **ppCoMemWaveFormatEx);
4323 
4324 
4325 void __RPC_STUB ISpStreamFormat_GetFormat_Stub(
4326     IRpcStubBuffer *This,
4327     IRpcChannelBuffer *_pRpcChannelBuffer,
4328     PRPC_MESSAGE _pRpcMessage,
4329     DWORD *_pdwStubPhase);
4330 
4331 
4332 
4333 #endif 	/* __ISpStreamFormat_INTERFACE_DEFINED__ */
4334 
4335 
4336 /* interface __MIDL_itf_sapi_0265 */
4337 /* [local] */
4338 
4339 typedef /* [hidden] */
4340 enum SPFILEMODE
4341     {	SPFM_OPEN_READONLY	= 0,
4342 	SPFM_OPEN_READWRITE	= SPFM_OPEN_READONLY + 1,
4343 	SPFM_CREATE	= SPFM_OPEN_READWRITE + 1,
4344 	SPFM_CREATE_ALWAYS	= SPFM_CREATE + 1,
4345 	SPFM_NUM_MODES	= SPFM_CREATE_ALWAYS + 1
4346     } 	SPFILEMODE;
4347 
4348 
4349 
4350 extern RPC_IF_HANDLE __MIDL_itf_sapi_0265_v0_0_c_ifspec;
4351 extern RPC_IF_HANDLE __MIDL_itf_sapi_0265_v0_0_s_ifspec;
4352 
4353 #ifndef __ISpStream_INTERFACE_DEFINED__
4354 #define __ISpStream_INTERFACE_DEFINED__
4355 
4356 /* interface ISpStream */
4357 /* [restricted][unique][helpstring][uuid][object] */
4358 
4359 
4360 EXTERN_C const IID IID_ISpStream;
4361 
4362 #if defined(__cplusplus) && !defined(CINTERFACE)
4363 
4364     MIDL_INTERFACE("12E3CCA9-7518-44C5-A5E7-BA5A79CB929E")
4365     ISpStream : public ISpStreamFormat
4366     {
4367     public:
4368         virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
4369             IStream *pStream,
4370             REFGUID rguidFormat,
4371             const WAVEFORMATEX *pWaveFormatEx) = 0;
4372 
4373         virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
4374             IStream **ppStream) = 0;
4375 
4376         virtual HRESULT STDMETHODCALLTYPE BindToFile(
4377             const WCHAR *pszFileName,
4378             SPFILEMODE eMode,
4379             const GUID *pFormatId,
4380             const WAVEFORMATEX *pWaveFormatEx,
4381             ULONGLONG ullEventInterest) = 0;
4382 
4383         virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
4384 
4385     };
4386 
4387 #else 	/* C style interface */
4388 
4389     typedef struct ISpStreamVtbl
4390     {
4391         BEGIN_INTERFACE
4392 
4393         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4394             ISpStream * This,
4395             /* [in] */ REFIID riid,
4396             /* [iid_is][out] */ void **ppvObject);
4397 
4398         ULONG ( STDMETHODCALLTYPE *AddRef )(
4399             ISpStream * This);
4400 
4401         ULONG ( STDMETHODCALLTYPE *Release )(
4402             ISpStream * This);
4403 
4404         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
4405             ISpStream * This,
4406             /* [length_is][size_is][out] */ void *pv,
4407             /* [in] */ ULONG cb,
4408             /* [out] */ ULONG *pcbRead);
4409 
4410         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
4411             ISpStream * This,
4412             /* [size_is][in] */ const void *pv,
4413             /* [in] */ ULONG cb,
4414             /* [out] */ ULONG *pcbWritten);
4415 
4416         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
4417             ISpStream * This,
4418             /* [in] */ LARGE_INTEGER dlibMove,
4419             /* [in] */ DWORD dwOrigin,
4420             /* [out] */ ULARGE_INTEGER *plibNewPosition);
4421 
4422         HRESULT ( STDMETHODCALLTYPE *SetSize )(
4423             ISpStream * This,
4424             /* [in] */ ULARGE_INTEGER libNewSize);
4425 
4426         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
4427             ISpStream * This,
4428             /* [unique][in] */ IStream *pstm,
4429             /* [in] */ ULARGE_INTEGER cb,
4430             /* [out] */ ULARGE_INTEGER *pcbRead,
4431             /* [out] */ ULARGE_INTEGER *pcbWritten);
4432 
4433         HRESULT ( STDMETHODCALLTYPE *Commit )(
4434             ISpStream * This,
4435             /* [in] */ DWORD grfCommitFlags);
4436 
4437         HRESULT ( STDMETHODCALLTYPE *Revert )(
4438             ISpStream * This);
4439 
4440         HRESULT ( STDMETHODCALLTYPE *LockRegion )(
4441             ISpStream * This,
4442             /* [in] */ ULARGE_INTEGER libOffset,
4443             /* [in] */ ULARGE_INTEGER cb,
4444             /* [in] */ DWORD dwLockType);
4445 
4446         HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
4447             ISpStream * This,
4448             /* [in] */ ULARGE_INTEGER libOffset,
4449             /* [in] */ ULARGE_INTEGER cb,
4450             /* [in] */ DWORD dwLockType);
4451 
4452         HRESULT ( STDMETHODCALLTYPE *Stat )(
4453             ISpStream * This,
4454             /* [out] */ STATSTG *pstatstg,
4455             /* [in] */ DWORD grfStatFlag);
4456 
4457         HRESULT ( STDMETHODCALLTYPE *Clone )(
4458             ISpStream * This,
4459             /* [out] */ IStream **ppstm);
4460 
4461         HRESULT ( STDMETHODCALLTYPE *GetFormat )(
4462             ISpStream * This,
4463             GUID *pguidFormatId,
4464             WAVEFORMATEX **ppCoMemWaveFormatEx);
4465 
4466         HRESULT ( STDMETHODCALLTYPE *SetBaseStream )(
4467             ISpStream * This,
4468             IStream *pStream,
4469             REFGUID rguidFormat,
4470             const WAVEFORMATEX *pWaveFormatEx);
4471 
4472         HRESULT ( STDMETHODCALLTYPE *GetBaseStream )(
4473             ISpStream * This,
4474             IStream **ppStream);
4475 
4476         HRESULT ( STDMETHODCALLTYPE *BindToFile )(
4477             ISpStream * This,
4478             const WCHAR *pszFileName,
4479             SPFILEMODE eMode,
4480             const GUID *pFormatId,
4481             const WAVEFORMATEX *pWaveFormatEx,
4482             ULONGLONG ullEventInterest);
4483 
4484         HRESULT ( STDMETHODCALLTYPE *Close )(
4485             ISpStream * This);
4486 
4487         END_INTERFACE
4488     } ISpStreamVtbl;
4489 
4490     interface ISpStream
4491     {
4492         CONST_VTBL struct ISpStreamVtbl *lpVtbl;
4493     };
4494 
4495 
4496 
4497 #ifdef COBJMACROS
4498 
4499 
4500 #define ISpStream_QueryInterface(This,riid,ppvObject)	\
4501     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
4502 
4503 #define ISpStream_AddRef(This)	\
4504     (This)->lpVtbl -> AddRef(This)
4505 
4506 #define ISpStream_Release(This)	\
4507     (This)->lpVtbl -> Release(This)
4508 
4509 
4510 #define ISpStream_Read(This,pv,cb,pcbRead)	\
4511     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
4512 
4513 #define ISpStream_Write(This,pv,cb,pcbWritten)	\
4514     (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
4515 
4516 
4517 #define ISpStream_Seek(This,dlibMove,dwOrigin,plibNewPosition)	\
4518     (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
4519 
4520 #define ISpStream_SetSize(This,libNewSize)	\
4521     (This)->lpVtbl -> SetSize(This,libNewSize)
4522 
4523 #define ISpStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten)	\
4524     (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
4525 
4526 #define ISpStream_Commit(This,grfCommitFlags)	\
4527     (This)->lpVtbl -> Commit(This,grfCommitFlags)
4528 
4529 #define ISpStream_Revert(This)	\
4530     (This)->lpVtbl -> Revert(This)
4531 
4532 #define ISpStream_LockRegion(This,libOffset,cb,dwLockType)	\
4533     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
4534 
4535 #define ISpStream_UnlockRegion(This,libOffset,cb,dwLockType)	\
4536     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
4537 
4538 #define ISpStream_Stat(This,pstatstg,grfStatFlag)	\
4539     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
4540 
4541 #define ISpStream_Clone(This,ppstm)	\
4542     (This)->lpVtbl -> Clone(This,ppstm)
4543 
4544 
4545 #define ISpStream_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)	\
4546     (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
4547 
4548 
4549 #define ISpStream_SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx)	\
4550     (This)->lpVtbl -> SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx)
4551 
4552 #define ISpStream_GetBaseStream(This,ppStream)	\
4553     (This)->lpVtbl -> GetBaseStream(This,ppStream)
4554 
4555 #define ISpStream_BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)	\
4556     (This)->lpVtbl -> BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
4557 
4558 #define ISpStream_Close(This)	\
4559     (This)->lpVtbl -> Close(This)
4560 
4561 #endif /* COBJMACROS */
4562 
4563 
4564 #endif 	/* C style interface */
4565 
4566 
4567 
4568 HRESULT STDMETHODCALLTYPE ISpStream_SetBaseStream_Proxy(
4569     ISpStream * This,
4570     IStream *pStream,
4571     REFGUID rguidFormat,
4572     const WAVEFORMATEX *pWaveFormatEx);
4573 
4574 
4575 void __RPC_STUB ISpStream_SetBaseStream_Stub(
4576     IRpcStubBuffer *This,
4577     IRpcChannelBuffer *_pRpcChannelBuffer,
4578     PRPC_MESSAGE _pRpcMessage,
4579     DWORD *_pdwStubPhase);
4580 
4581 
4582 HRESULT STDMETHODCALLTYPE ISpStream_GetBaseStream_Proxy(
4583     ISpStream * This,
4584     IStream **ppStream);
4585 
4586 
4587 void __RPC_STUB ISpStream_GetBaseStream_Stub(
4588     IRpcStubBuffer *This,
4589     IRpcChannelBuffer *_pRpcChannelBuffer,
4590     PRPC_MESSAGE _pRpcMessage,
4591     DWORD *_pdwStubPhase);
4592 
4593 
4594 HRESULT STDMETHODCALLTYPE ISpStream_BindToFile_Proxy(
4595     ISpStream * This,
4596     const WCHAR *pszFileName,
4597     SPFILEMODE eMode,
4598     const GUID *pFormatId,
4599     const WAVEFORMATEX *pWaveFormatEx,
4600     ULONGLONG ullEventInterest);
4601 
4602 
4603 void __RPC_STUB ISpStream_BindToFile_Stub(
4604     IRpcStubBuffer *This,
4605     IRpcChannelBuffer *_pRpcChannelBuffer,
4606     PRPC_MESSAGE _pRpcMessage,
4607     DWORD *_pdwStubPhase);
4608 
4609 
4610 HRESULT STDMETHODCALLTYPE ISpStream_Close_Proxy(
4611     ISpStream * This);
4612 
4613 
4614 void __RPC_STUB ISpStream_Close_Stub(
4615     IRpcStubBuffer *This,
4616     IRpcChannelBuffer *_pRpcChannelBuffer,
4617     PRPC_MESSAGE _pRpcMessage,
4618     DWORD *_pdwStubPhase);
4619 
4620 
4621 
4622 #endif 	/* __ISpStream_INTERFACE_DEFINED__ */
4623 
4624 
4625 #ifndef __ISpStreamFormatConverter_INTERFACE_DEFINED__
4626 #define __ISpStreamFormatConverter_INTERFACE_DEFINED__
4627 
4628 /* interface ISpStreamFormatConverter */
4629 /* [restricted][unique][helpstring][uuid][object] */
4630 
4631 
4632 EXTERN_C const IID IID_ISpStreamFormatConverter;
4633 
4634 #if defined(__cplusplus) && !defined(CINTERFACE)
4635 
4636     MIDL_INTERFACE("678A932C-EA71-4446-9B41-78FDA6280A29")
4637     ISpStreamFormatConverter : public ISpStreamFormat
4638     {
4639     public:
4640         virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
4641             /* [in] */ ISpStreamFormat *pStream,
4642             /* [in] */ BOOL fSetFormatToBaseStreamFormat,
4643             /* [in] */ BOOL fWriteToBaseStream) = 0;
4644 
4645         virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
4646             /* [out] */ ISpStreamFormat **ppStream) = 0;
4647 
4648         virtual HRESULT STDMETHODCALLTYPE SetFormat(
4649             /* [in] */ REFGUID rguidFormatIdOfConvertedStream,
4650             /* [in] */ const WAVEFORMATEX *pWaveFormatExOfConvertedStream) = 0;
4651 
4652         virtual HRESULT STDMETHODCALLTYPE ResetSeekPosition( void) = 0;
4653 
4654         virtual HRESULT STDMETHODCALLTYPE ScaleConvertedToBaseOffset(
4655             /* [in] */ ULONGLONG ullOffsetConvertedStream,
4656             /* [out] */ ULONGLONG *pullOffsetBaseStream) = 0;
4657 
4658         virtual HRESULT STDMETHODCALLTYPE ScaleBaseToConvertedOffset(
4659             /* [in] */ ULONGLONG ullOffsetBaseStream,
4660             /* [out] */ ULONGLONG *pullOffsetConvertedStream) = 0;
4661 
4662     };
4663 
4664 #else 	/* C style interface */
4665 
4666     typedef struct ISpStreamFormatConverterVtbl
4667     {
4668         BEGIN_INTERFACE
4669 
4670         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4671             ISpStreamFormatConverter * This,
4672             /* [in] */ REFIID riid,
4673             /* [iid_is][out] */ void **ppvObject);
4674 
4675         ULONG ( STDMETHODCALLTYPE *AddRef )(
4676             ISpStreamFormatConverter * This);
4677 
4678         ULONG ( STDMETHODCALLTYPE *Release )(
4679             ISpStreamFormatConverter * This);
4680 
4681         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
4682             ISpStreamFormatConverter * This,
4683             /* [length_is][size_is][out] */ void *pv,
4684             /* [in] */ ULONG cb,
4685             /* [out] */ ULONG *pcbRead);
4686 
4687         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
4688             ISpStreamFormatConverter * This,
4689             /* [size_is][in] */ const void *pv,
4690             /* [in] */ ULONG cb,
4691             /* [out] */ ULONG *pcbWritten);
4692 
4693         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
4694             ISpStreamFormatConverter * This,
4695             /* [in] */ LARGE_INTEGER dlibMove,
4696             /* [in] */ DWORD dwOrigin,
4697             /* [out] */ ULARGE_INTEGER *plibNewPosition);
4698 
4699         HRESULT ( STDMETHODCALLTYPE *SetSize )(
4700             ISpStreamFormatConverter * This,
4701             /* [in] */ ULARGE_INTEGER libNewSize);
4702 
4703         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
4704             ISpStreamFormatConverter * This,
4705             /* [unique][in] */ IStream *pstm,
4706             /* [in] */ ULARGE_INTEGER cb,
4707             /* [out] */ ULARGE_INTEGER *pcbRead,
4708             /* [out] */ ULARGE_INTEGER *pcbWritten);
4709 
4710         HRESULT ( STDMETHODCALLTYPE *Commit )(
4711             ISpStreamFormatConverter * This,
4712             /* [in] */ DWORD grfCommitFlags);
4713 
4714         HRESULT ( STDMETHODCALLTYPE *Revert )(
4715             ISpStreamFormatConverter * This);
4716 
4717         HRESULT ( STDMETHODCALLTYPE *LockRegion )(
4718             ISpStreamFormatConverter * This,
4719             /* [in] */ ULARGE_INTEGER libOffset,
4720             /* [in] */ ULARGE_INTEGER cb,
4721             /* [in] */ DWORD dwLockType);
4722 
4723         HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
4724             ISpStreamFormatConverter * This,
4725             /* [in] */ ULARGE_INTEGER libOffset,
4726             /* [in] */ ULARGE_INTEGER cb,
4727             /* [in] */ DWORD dwLockType);
4728 
4729         HRESULT ( STDMETHODCALLTYPE *Stat )(
4730             ISpStreamFormatConverter * This,
4731             /* [out] */ STATSTG *pstatstg,
4732             /* [in] */ DWORD grfStatFlag);
4733 
4734         HRESULT ( STDMETHODCALLTYPE *Clone )(
4735             ISpStreamFormatConverter * This,
4736             /* [out] */ IStream **ppstm);
4737 
4738         HRESULT ( STDMETHODCALLTYPE *GetFormat )(
4739             ISpStreamFormatConverter * This,
4740             GUID *pguidFormatId,
4741             WAVEFORMATEX **ppCoMemWaveFormatEx);
4742 
4743         HRESULT ( STDMETHODCALLTYPE *SetBaseStream )(
4744             ISpStreamFormatConverter * This,
4745             /* [in] */ ISpStreamFormat *pStream,
4746             /* [in] */ BOOL fSetFormatToBaseStreamFormat,
4747             /* [in] */ BOOL fWriteToBaseStream);
4748 
4749         HRESULT ( STDMETHODCALLTYPE *GetBaseStream )(
4750             ISpStreamFormatConverter * This,
4751             /* [out] */ ISpStreamFormat **ppStream);
4752 
4753         HRESULT ( STDMETHODCALLTYPE *SetFormat )(
4754             ISpStreamFormatConverter * This,
4755             /* [in] */ REFGUID rguidFormatIdOfConvertedStream,
4756             /* [in] */ const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
4757 
4758         HRESULT ( STDMETHODCALLTYPE *ResetSeekPosition )(
4759             ISpStreamFormatConverter * This);
4760 
4761         HRESULT ( STDMETHODCALLTYPE *ScaleConvertedToBaseOffset )(
4762             ISpStreamFormatConverter * This,
4763             /* [in] */ ULONGLONG ullOffsetConvertedStream,
4764             /* [out] */ ULONGLONG *pullOffsetBaseStream);
4765 
4766         HRESULT ( STDMETHODCALLTYPE *ScaleBaseToConvertedOffset )(
4767             ISpStreamFormatConverter * This,
4768             /* [in] */ ULONGLONG ullOffsetBaseStream,
4769             /* [out] */ ULONGLONG *pullOffsetConvertedStream);
4770 
4771         END_INTERFACE
4772     } ISpStreamFormatConverterVtbl;
4773 
4774     interface ISpStreamFormatConverter
4775     {
4776         CONST_VTBL struct ISpStreamFormatConverterVtbl *lpVtbl;
4777     };
4778 
4779 
4780 
4781 #ifdef COBJMACROS
4782 
4783 
4784 #define ISpStreamFormatConverter_QueryInterface(This,riid,ppvObject)	\
4785     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
4786 
4787 #define ISpStreamFormatConverter_AddRef(This)	\
4788     (This)->lpVtbl -> AddRef(This)
4789 
4790 #define ISpStreamFormatConverter_Release(This)	\
4791     (This)->lpVtbl -> Release(This)
4792 
4793 
4794 #define ISpStreamFormatConverter_Read(This,pv,cb,pcbRead)	\
4795     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
4796 
4797 #define ISpStreamFormatConverter_Write(This,pv,cb,pcbWritten)	\
4798     (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
4799 
4800 
4801 #define ISpStreamFormatConverter_Seek(This,dlibMove,dwOrigin,plibNewPosition)	\
4802     (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
4803 
4804 #define ISpStreamFormatConverter_SetSize(This,libNewSize)	\
4805     (This)->lpVtbl -> SetSize(This,libNewSize)
4806 
4807 #define ISpStreamFormatConverter_CopyTo(This,pstm,cb,pcbRead,pcbWritten)	\
4808     (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
4809 
4810 #define ISpStreamFormatConverter_Commit(This,grfCommitFlags)	\
4811     (This)->lpVtbl -> Commit(This,grfCommitFlags)
4812 
4813 #define ISpStreamFormatConverter_Revert(This)	\
4814     (This)->lpVtbl -> Revert(This)
4815 
4816 #define ISpStreamFormatConverter_LockRegion(This,libOffset,cb,dwLockType)	\
4817     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
4818 
4819 #define ISpStreamFormatConverter_UnlockRegion(This,libOffset,cb,dwLockType)	\
4820     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
4821 
4822 #define ISpStreamFormatConverter_Stat(This,pstatstg,grfStatFlag)	\
4823     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
4824 
4825 #define ISpStreamFormatConverter_Clone(This,ppstm)	\
4826     (This)->lpVtbl -> Clone(This,ppstm)
4827 
4828 
4829 #define ISpStreamFormatConverter_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)	\
4830     (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
4831 
4832 
4833 #define ISpStreamFormatConverter_SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)	\
4834     (This)->lpVtbl -> SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)
4835 
4836 #define ISpStreamFormatConverter_GetBaseStream(This,ppStream)	\
4837     (This)->lpVtbl -> GetBaseStream(This,ppStream)
4838 
4839 #define ISpStreamFormatConverter_SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)	\
4840     (This)->lpVtbl -> SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)
4841 
4842 #define ISpStreamFormatConverter_ResetSeekPosition(This)	\
4843     (This)->lpVtbl -> ResetSeekPosition(This)
4844 
4845 #define ISpStreamFormatConverter_ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream)	\
4846     (This)->lpVtbl -> ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream)
4847 
4848 #define ISpStreamFormatConverter_ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream)	\
4849     (This)->lpVtbl -> ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream)
4850 
4851 #endif /* COBJMACROS */
4852 
4853 
4854 #endif 	/* C style interface */
4855 
4856 
4857 
4858 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_SetBaseStream_Proxy(
4859     ISpStreamFormatConverter * This,
4860     /* [in] */ ISpStreamFormat *pStream,
4861     /* [in] */ BOOL fSetFormatToBaseStreamFormat,
4862     /* [in] */ BOOL fWriteToBaseStream);
4863 
4864 
4865 void __RPC_STUB ISpStreamFormatConverter_SetBaseStream_Stub(
4866     IRpcStubBuffer *This,
4867     IRpcChannelBuffer *_pRpcChannelBuffer,
4868     PRPC_MESSAGE _pRpcMessage,
4869     DWORD *_pdwStubPhase);
4870 
4871 
4872 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_GetBaseStream_Proxy(
4873     ISpStreamFormatConverter * This,
4874     /* [out] */ ISpStreamFormat **ppStream);
4875 
4876 
4877 void __RPC_STUB ISpStreamFormatConverter_GetBaseStream_Stub(
4878     IRpcStubBuffer *This,
4879     IRpcChannelBuffer *_pRpcChannelBuffer,
4880     PRPC_MESSAGE _pRpcMessage,
4881     DWORD *_pdwStubPhase);
4882 
4883 
4884 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_SetFormat_Proxy(
4885     ISpStreamFormatConverter * This,
4886     /* [in] */ REFGUID rguidFormatIdOfConvertedStream,
4887     /* [in] */ const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
4888 
4889 
4890 void __RPC_STUB ISpStreamFormatConverter_SetFormat_Stub(
4891     IRpcStubBuffer *This,
4892     IRpcChannelBuffer *_pRpcChannelBuffer,
4893     PRPC_MESSAGE _pRpcMessage,
4894     DWORD *_pdwStubPhase);
4895 
4896 
4897 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ResetSeekPosition_Proxy(
4898     ISpStreamFormatConverter * This);
4899 
4900 
4901 void __RPC_STUB ISpStreamFormatConverter_ResetSeekPosition_Stub(
4902     IRpcStubBuffer *This,
4903     IRpcChannelBuffer *_pRpcChannelBuffer,
4904     PRPC_MESSAGE _pRpcMessage,
4905     DWORD *_pdwStubPhase);
4906 
4907 
4908 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ScaleConvertedToBaseOffset_Proxy(
4909     ISpStreamFormatConverter * This,
4910     /* [in] */ ULONGLONG ullOffsetConvertedStream,
4911     /* [out] */ ULONGLONG *pullOffsetBaseStream);
4912 
4913 
4914 void __RPC_STUB ISpStreamFormatConverter_ScaleConvertedToBaseOffset_Stub(
4915     IRpcStubBuffer *This,
4916     IRpcChannelBuffer *_pRpcChannelBuffer,
4917     PRPC_MESSAGE _pRpcMessage,
4918     DWORD *_pdwStubPhase);
4919 
4920 
4921 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ScaleBaseToConvertedOffset_Proxy(
4922     ISpStreamFormatConverter * This,
4923     /* [in] */ ULONGLONG ullOffsetBaseStream,
4924     /* [out] */ ULONGLONG *pullOffsetConvertedStream);
4925 
4926 
4927 void __RPC_STUB ISpStreamFormatConverter_ScaleBaseToConvertedOffset_Stub(
4928     IRpcStubBuffer *This,
4929     IRpcChannelBuffer *_pRpcChannelBuffer,
4930     PRPC_MESSAGE _pRpcMessage,
4931     DWORD *_pdwStubPhase);
4932 
4933 
4934 
4935 #endif 	/* __ISpStreamFormatConverter_INTERFACE_DEFINED__ */
4936 
4937 
4938 /* interface __MIDL_itf_sapi_0267 */
4939 /* [local] */
4940 
4941 typedef /* [hidden] */
4942 enum _SPAUDIOSTATE
4943     {	SPAS_CLOSED	= 0,
4944 	SPAS_STOP	= SPAS_CLOSED + 1,
4945 	SPAS_PAUSE	= SPAS_STOP + 1,
4946 	SPAS_RUN	= SPAS_PAUSE + 1
4947     } 	SPAUDIOSTATE;
4948 
4949 typedef /* [hidden][restricted] */ struct SPAUDIOSTATUS
4950     {
4951     long cbFreeBuffSpace;
4952     ULONG cbNonBlockingIO;
4953     SPAUDIOSTATE State;
4954     ULONGLONG CurSeekPos;
4955     ULONGLONG CurDevicePos;
4956     DWORD dwReserved1;
4957     DWORD dwReserved2;
4958     } 	SPAUDIOSTATUS;
4959 
4960 typedef /* [hidden][restricted] */ struct SPAUDIOBUFFERINFO
4961     {
4962     ULONG ulMsMinNotification;
4963     ULONG ulMsBufferSize;
4964     ULONG ulMsEventBias;
4965     } 	SPAUDIOBUFFERINFO;
4966 
4967 
4968 
4969 extern RPC_IF_HANDLE __MIDL_itf_sapi_0267_v0_0_c_ifspec;
4970 extern RPC_IF_HANDLE __MIDL_itf_sapi_0267_v0_0_s_ifspec;
4971 
4972 #ifndef __ISpAudio_INTERFACE_DEFINED__
4973 #define __ISpAudio_INTERFACE_DEFINED__
4974 
4975 /* interface ISpAudio */
4976 /* [restricted][local][unique][helpstring][uuid][object] */
4977 
4978 
4979 EXTERN_C const IID IID_ISpAudio;
4980 
4981 #if defined(__cplusplus) && !defined(CINTERFACE)
4982 
4983     MIDL_INTERFACE("C05C768F-FAE8-4EC2-8E07-338321C12452")
4984     ISpAudio : public ISpStreamFormat
4985     {
4986     public:
4987         virtual HRESULT STDMETHODCALLTYPE SetState(
4988             /* [in] */ SPAUDIOSTATE NewState,
4989             /* [in] */ ULONGLONG ullReserved) = 0;
4990 
4991         virtual HRESULT STDMETHODCALLTYPE SetFormat(
4992             /* [in] */ REFGUID rguidFmtId,
4993             /* [in] */ const WAVEFORMATEX *pWaveFormatEx) = 0;
4994 
4995         virtual HRESULT STDMETHODCALLTYPE GetStatus(
4996             /* [out] */ SPAUDIOSTATUS *pStatus) = 0;
4997 
4998         virtual HRESULT STDMETHODCALLTYPE SetBufferInfo(
4999             /* [in] */ const SPAUDIOBUFFERINFO *pBuffInfo) = 0;
5000 
5001         virtual HRESULT STDMETHODCALLTYPE GetBufferInfo(
5002             /* [out] */ SPAUDIOBUFFERINFO *pBuffInfo) = 0;
5003 
5004         virtual HRESULT STDMETHODCALLTYPE GetDefaultFormat(
5005             /* [out] */ GUID *pFormatId,
5006             /* [out] */ WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
5007 
5008         virtual HANDLE STDMETHODCALLTYPE EventHandle( void) = 0;
5009 
5010         virtual HRESULT STDMETHODCALLTYPE GetVolumeLevel(
5011             /* [out] */ ULONG *pLevel) = 0;
5012 
5013         virtual HRESULT STDMETHODCALLTYPE SetVolumeLevel(
5014             /* [in] */ ULONG Level) = 0;
5015 
5016         virtual HRESULT STDMETHODCALLTYPE GetBufferNotifySize(
5017             /* [out] */ ULONG *pcbSize) = 0;
5018 
5019         virtual HRESULT STDMETHODCALLTYPE SetBufferNotifySize(
5020             /* [in] */ ULONG cbSize) = 0;
5021 
5022     };
5023 
5024 #else 	/* C style interface */
5025 
5026     typedef struct ISpAudioVtbl
5027     {
5028         BEGIN_INTERFACE
5029 
5030         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5031             ISpAudio * This,
5032             /* [in] */ REFIID riid,
5033             /* [iid_is][out] */ void **ppvObject);
5034 
5035         ULONG ( STDMETHODCALLTYPE *AddRef )(
5036             ISpAudio * This);
5037 
5038         ULONG ( STDMETHODCALLTYPE *Release )(
5039             ISpAudio * This);
5040 
5041         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
5042             ISpAudio * This,
5043             /* [length_is][size_is][out] */ void *pv,
5044             /* [in] */ ULONG cb,
5045             /* [out] */ ULONG *pcbRead);
5046 
5047         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
5048             ISpAudio * This,
5049             /* [size_is][in] */ const void *pv,
5050             /* [in] */ ULONG cb,
5051             /* [out] */ ULONG *pcbWritten);
5052 
5053         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
5054             ISpAudio * This,
5055             /* [in] */ LARGE_INTEGER dlibMove,
5056             /* [in] */ DWORD dwOrigin,
5057             /* [out] */ ULARGE_INTEGER *plibNewPosition);
5058 
5059         HRESULT ( STDMETHODCALLTYPE *SetSize )(
5060             ISpAudio * This,
5061             /* [in] */ ULARGE_INTEGER libNewSize);
5062 
5063         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
5064             ISpAudio * This,
5065             /* [unique][in] */ IStream *pstm,
5066             /* [in] */ ULARGE_INTEGER cb,
5067             /* [out] */ ULARGE_INTEGER *pcbRead,
5068             /* [out] */ ULARGE_INTEGER *pcbWritten);
5069 
5070         HRESULT ( STDMETHODCALLTYPE *Commit )(
5071             ISpAudio * This,
5072             /* [in] */ DWORD grfCommitFlags);
5073 
5074         HRESULT ( STDMETHODCALLTYPE *Revert )(
5075             ISpAudio * This);
5076 
5077         HRESULT ( STDMETHODCALLTYPE *LockRegion )(
5078             ISpAudio * This,
5079             /* [in] */ ULARGE_INTEGER libOffset,
5080             /* [in] */ ULARGE_INTEGER cb,
5081             /* [in] */ DWORD dwLockType);
5082 
5083         HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
5084             ISpAudio * This,
5085             /* [in] */ ULARGE_INTEGER libOffset,
5086             /* [in] */ ULARGE_INTEGER cb,
5087             /* [in] */ DWORD dwLockType);
5088 
5089         HRESULT ( STDMETHODCALLTYPE *Stat )(
5090             ISpAudio * This,
5091             /* [out] */ STATSTG *pstatstg,
5092             /* [in] */ DWORD grfStatFlag);
5093 
5094         HRESULT ( STDMETHODCALLTYPE *Clone )(
5095             ISpAudio * This,
5096             /* [out] */ IStream **ppstm);
5097 
5098         HRESULT ( STDMETHODCALLTYPE *GetFormat )(
5099             ISpAudio * This,
5100             GUID *pguidFormatId,
5101             WAVEFORMATEX **ppCoMemWaveFormatEx);
5102 
5103         HRESULT ( STDMETHODCALLTYPE *SetState )(
5104             ISpAudio * This,
5105             /* [in] */ SPAUDIOSTATE NewState,
5106             /* [in] */ ULONGLONG ullReserved);
5107 
5108         HRESULT ( STDMETHODCALLTYPE *SetFormat )(
5109             ISpAudio * This,
5110             /* [in] */ REFGUID rguidFmtId,
5111             /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
5112 
5113         HRESULT ( STDMETHODCALLTYPE *GetStatus )(
5114             ISpAudio * This,
5115             /* [out] */ SPAUDIOSTATUS *pStatus);
5116 
5117         HRESULT ( STDMETHODCALLTYPE *SetBufferInfo )(
5118             ISpAudio * This,
5119             /* [in] */ const SPAUDIOBUFFERINFO *pBuffInfo);
5120 
5121         HRESULT ( STDMETHODCALLTYPE *GetBufferInfo )(
5122             ISpAudio * This,
5123             /* [out] */ SPAUDIOBUFFERINFO *pBuffInfo);
5124 
5125         HRESULT ( STDMETHODCALLTYPE *GetDefaultFormat )(
5126             ISpAudio * This,
5127             /* [out] */ GUID *pFormatId,
5128             /* [out] */ WAVEFORMATEX **ppCoMemWaveFormatEx);
5129 
5130         HANDLE ( STDMETHODCALLTYPE *EventHandle )(
5131             ISpAudio * This);
5132 
5133         HRESULT ( STDMETHODCALLTYPE *GetVolumeLevel )(
5134             ISpAudio * This,
5135             /* [out] */ ULONG *pLevel);
5136 
5137         HRESULT ( STDMETHODCALLTYPE *SetVolumeLevel )(
5138             ISpAudio * This,
5139             /* [in] */ ULONG Level);
5140 
5141         HRESULT ( STDMETHODCALLTYPE *GetBufferNotifySize )(
5142             ISpAudio * This,
5143             /* [out] */ ULONG *pcbSize);
5144 
5145         HRESULT ( STDMETHODCALLTYPE *SetBufferNotifySize )(
5146             ISpAudio * This,
5147             /* [in] */ ULONG cbSize);
5148 
5149         END_INTERFACE
5150     } ISpAudioVtbl;
5151 
5152     interface ISpAudio
5153     {
5154         CONST_VTBL struct ISpAudioVtbl *lpVtbl;
5155     };
5156 
5157 
5158 
5159 #ifdef COBJMACROS
5160 
5161 
5162 #define ISpAudio_QueryInterface(This,riid,ppvObject)	\
5163     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
5164 
5165 #define ISpAudio_AddRef(This)	\
5166     (This)->lpVtbl -> AddRef(This)
5167 
5168 #define ISpAudio_Release(This)	\
5169     (This)->lpVtbl -> Release(This)
5170 
5171 
5172 #define ISpAudio_Read(This,pv,cb,pcbRead)	\
5173     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
5174 
5175 #define ISpAudio_Write(This,pv,cb,pcbWritten)	\
5176     (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
5177 
5178 
5179 #define ISpAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition)	\
5180     (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
5181 
5182 #define ISpAudio_SetSize(This,libNewSize)	\
5183     (This)->lpVtbl -> SetSize(This,libNewSize)
5184 
5185 #define ISpAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten)	\
5186     (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
5187 
5188 #define ISpAudio_Commit(This,grfCommitFlags)	\
5189     (This)->lpVtbl -> Commit(This,grfCommitFlags)
5190 
5191 #define ISpAudio_Revert(This)	\
5192     (This)->lpVtbl -> Revert(This)
5193 
5194 #define ISpAudio_LockRegion(This,libOffset,cb,dwLockType)	\
5195     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
5196 
5197 #define ISpAudio_UnlockRegion(This,libOffset,cb,dwLockType)	\
5198     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
5199 
5200 #define ISpAudio_Stat(This,pstatstg,grfStatFlag)	\
5201     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
5202 
5203 #define ISpAudio_Clone(This,ppstm)	\
5204     (This)->lpVtbl -> Clone(This,ppstm)
5205 
5206 
5207 #define ISpAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)	\
5208     (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
5209 
5210 
5211 #define ISpAudio_SetState(This,NewState,ullReserved)	\
5212     (This)->lpVtbl -> SetState(This,NewState,ullReserved)
5213 
5214 #define ISpAudio_SetFormat(This,rguidFmtId,pWaveFormatEx)	\
5215     (This)->lpVtbl -> SetFormat(This,rguidFmtId,pWaveFormatEx)
5216 
5217 #define ISpAudio_GetStatus(This,pStatus)	\
5218     (This)->lpVtbl -> GetStatus(This,pStatus)
5219 
5220 #define ISpAudio_SetBufferInfo(This,pBuffInfo)	\
5221     (This)->lpVtbl -> SetBufferInfo(This,pBuffInfo)
5222 
5223 #define ISpAudio_GetBufferInfo(This,pBuffInfo)	\
5224     (This)->lpVtbl -> GetBufferInfo(This,pBuffInfo)
5225 
5226 #define ISpAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)	\
5227     (This)->lpVtbl -> GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
5228 
5229 #define ISpAudio_EventHandle(This)	\
5230     (This)->lpVtbl -> EventHandle(This)
5231 
5232 #define ISpAudio_GetVolumeLevel(This,pLevel)	\
5233     (This)->lpVtbl -> GetVolumeLevel(This,pLevel)
5234 
5235 #define ISpAudio_SetVolumeLevel(This,Level)	\
5236     (This)->lpVtbl -> SetVolumeLevel(This,Level)
5237 
5238 #define ISpAudio_GetBufferNotifySize(This,pcbSize)	\
5239     (This)->lpVtbl -> GetBufferNotifySize(This,pcbSize)
5240 
5241 #define ISpAudio_SetBufferNotifySize(This,cbSize)	\
5242     (This)->lpVtbl -> SetBufferNotifySize(This,cbSize)
5243 
5244 #endif /* COBJMACROS */
5245 
5246 
5247 #endif 	/* C style interface */
5248 
5249 
5250 
5251 HRESULT STDMETHODCALLTYPE ISpAudio_SetState_Proxy(
5252     ISpAudio * This,
5253     /* [in] */ SPAUDIOSTATE NewState,
5254     /* [in] */ ULONGLONG ullReserved);
5255 
5256 
5257 void __RPC_STUB ISpAudio_SetState_Stub(
5258     IRpcStubBuffer *This,
5259     IRpcChannelBuffer *_pRpcChannelBuffer,
5260     PRPC_MESSAGE _pRpcMessage,
5261     DWORD *_pdwStubPhase);
5262 
5263 
5264 HRESULT STDMETHODCALLTYPE ISpAudio_SetFormat_Proxy(
5265     ISpAudio * This,
5266     /* [in] */ REFGUID rguidFmtId,
5267     /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
5268 
5269 
5270 void __RPC_STUB ISpAudio_SetFormat_Stub(
5271     IRpcStubBuffer *This,
5272     IRpcChannelBuffer *_pRpcChannelBuffer,
5273     PRPC_MESSAGE _pRpcMessage,
5274     DWORD *_pdwStubPhase);
5275 
5276 
5277 HRESULT STDMETHODCALLTYPE ISpAudio_GetStatus_Proxy(
5278     ISpAudio * This,
5279     /* [out] */ SPAUDIOSTATUS *pStatus);
5280 
5281 
5282 void __RPC_STUB ISpAudio_GetStatus_Stub(
5283     IRpcStubBuffer *This,
5284     IRpcChannelBuffer *_pRpcChannelBuffer,
5285     PRPC_MESSAGE _pRpcMessage,
5286     DWORD *_pdwStubPhase);
5287 
5288 
5289 HRESULT STDMETHODCALLTYPE ISpAudio_SetBufferInfo_Proxy(
5290     ISpAudio * This,
5291     /* [in] */ const SPAUDIOBUFFERINFO *pBuffInfo);
5292 
5293 
5294 void __RPC_STUB ISpAudio_SetBufferInfo_Stub(
5295     IRpcStubBuffer *This,
5296     IRpcChannelBuffer *_pRpcChannelBuffer,
5297     PRPC_MESSAGE _pRpcMessage,
5298     DWORD *_pdwStubPhase);
5299 
5300 
5301 HRESULT STDMETHODCALLTYPE ISpAudio_GetBufferInfo_Proxy(
5302     ISpAudio * This,
5303     /* [out] */ SPAUDIOBUFFERINFO *pBuffInfo);
5304 
5305 
5306 void __RPC_STUB ISpAudio_GetBufferInfo_Stub(
5307     IRpcStubBuffer *This,
5308     IRpcChannelBuffer *_pRpcChannelBuffer,
5309     PRPC_MESSAGE _pRpcMessage,
5310     DWORD *_pdwStubPhase);
5311 
5312 
5313 HRESULT STDMETHODCALLTYPE ISpAudio_GetDefaultFormat_Proxy(
5314     ISpAudio * This,
5315     /* [out] */ GUID *pFormatId,
5316     /* [out] */ WAVEFORMATEX **ppCoMemWaveFormatEx);
5317 
5318 
5319 void __RPC_STUB ISpAudio_GetDefaultFormat_Stub(
5320     IRpcStubBuffer *This,
5321     IRpcChannelBuffer *_pRpcChannelBuffer,
5322     PRPC_MESSAGE _pRpcMessage,
5323     DWORD *_pdwStubPhase);
5324 
5325 
5326 HANDLE STDMETHODCALLTYPE ISpAudio_EventHandle_Proxy(
5327     ISpAudio * This);
5328 
5329 
5330 void __RPC_STUB ISpAudio_EventHandle_Stub(
5331     IRpcStubBuffer *This,
5332     IRpcChannelBuffer *_pRpcChannelBuffer,
5333     PRPC_MESSAGE _pRpcMessage,
5334     DWORD *_pdwStubPhase);
5335 
5336 
5337 HRESULT STDMETHODCALLTYPE ISpAudio_GetVolumeLevel_Proxy(
5338     ISpAudio * This,
5339     /* [out] */ ULONG *pLevel);
5340 
5341 
5342 void __RPC_STUB ISpAudio_GetVolumeLevel_Stub(
5343     IRpcStubBuffer *This,
5344     IRpcChannelBuffer *_pRpcChannelBuffer,
5345     PRPC_MESSAGE _pRpcMessage,
5346     DWORD *_pdwStubPhase);
5347 
5348 
5349 HRESULT STDMETHODCALLTYPE ISpAudio_SetVolumeLevel_Proxy(
5350     ISpAudio * This,
5351     /* [in] */ ULONG Level);
5352 
5353 
5354 void __RPC_STUB ISpAudio_SetVolumeLevel_Stub(
5355     IRpcStubBuffer *This,
5356     IRpcChannelBuffer *_pRpcChannelBuffer,
5357     PRPC_MESSAGE _pRpcMessage,
5358     DWORD *_pdwStubPhase);
5359 
5360 
5361 HRESULT STDMETHODCALLTYPE ISpAudio_GetBufferNotifySize_Proxy(
5362     ISpAudio * This,
5363     /* [out] */ ULONG *pcbSize);
5364 
5365 
5366 void __RPC_STUB ISpAudio_GetBufferNotifySize_Stub(
5367     IRpcStubBuffer *This,
5368     IRpcChannelBuffer *_pRpcChannelBuffer,
5369     PRPC_MESSAGE _pRpcMessage,
5370     DWORD *_pdwStubPhase);
5371 
5372 
5373 HRESULT STDMETHODCALLTYPE ISpAudio_SetBufferNotifySize_Proxy(
5374     ISpAudio * This,
5375     /* [in] */ ULONG cbSize);
5376 
5377 
5378 void __RPC_STUB ISpAudio_SetBufferNotifySize_Stub(
5379     IRpcStubBuffer *This,
5380     IRpcChannelBuffer *_pRpcChannelBuffer,
5381     PRPC_MESSAGE _pRpcMessage,
5382     DWORD *_pdwStubPhase);
5383 
5384 
5385 
5386 #endif 	/* __ISpAudio_INTERFACE_DEFINED__ */
5387 
5388 
5389 #ifndef __ISpMMSysAudio_INTERFACE_DEFINED__
5390 #define __ISpMMSysAudio_INTERFACE_DEFINED__
5391 
5392 /* interface ISpMMSysAudio */
5393 /* [restricted][local][unique][helpstring][uuid][object] */
5394 
5395 
5396 EXTERN_C const IID IID_ISpMMSysAudio;
5397 
5398 #if defined(__cplusplus) && !defined(CINTERFACE)
5399 
5400     MIDL_INTERFACE("15806F6E-1D70-4B48-98E6-3B1A007509AB")
5401     ISpMMSysAudio : public ISpAudio
5402     {
5403     public:
5404         virtual HRESULT STDMETHODCALLTYPE GetDeviceId(
5405             /* [out] */ UINT *puDeviceId) = 0;
5406 
5407         virtual HRESULT STDMETHODCALLTYPE SetDeviceId(
5408             /* [in] */ UINT uDeviceId) = 0;
5409 
5410         virtual HRESULT STDMETHODCALLTYPE GetMMHandle(
5411             void **pHandle) = 0;
5412 
5413         virtual HRESULT STDMETHODCALLTYPE GetLineId(
5414             /* [out] */ UINT *puLineId) = 0;
5415 
5416         virtual HRESULT STDMETHODCALLTYPE SetLineId(
5417             /* [in] */ UINT uLineId) = 0;
5418 
5419     };
5420 
5421 #else 	/* C style interface */
5422 
5423     typedef struct ISpMMSysAudioVtbl
5424     {
5425         BEGIN_INTERFACE
5426 
5427         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5428             ISpMMSysAudio * This,
5429             /* [in] */ REFIID riid,
5430             /* [iid_is][out] */ void **ppvObject);
5431 
5432         ULONG ( STDMETHODCALLTYPE *AddRef )(
5433             ISpMMSysAudio * This);
5434 
5435         ULONG ( STDMETHODCALLTYPE *Release )(
5436             ISpMMSysAudio * This);
5437 
5438         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
5439             ISpMMSysAudio * This,
5440             /* [length_is][size_is][out] */ void *pv,
5441             /* [in] */ ULONG cb,
5442             /* [out] */ ULONG *pcbRead);
5443 
5444         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
5445             ISpMMSysAudio * This,
5446             /* [size_is][in] */ const void *pv,
5447             /* [in] */ ULONG cb,
5448             /* [out] */ ULONG *pcbWritten);
5449 
5450         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
5451             ISpMMSysAudio * This,
5452             /* [in] */ LARGE_INTEGER dlibMove,
5453             /* [in] */ DWORD dwOrigin,
5454             /* [out] */ ULARGE_INTEGER *plibNewPosition);
5455 
5456         HRESULT ( STDMETHODCALLTYPE *SetSize )(
5457             ISpMMSysAudio * This,
5458             /* [in] */ ULARGE_INTEGER libNewSize);
5459 
5460         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
5461             ISpMMSysAudio * This,
5462             /* [unique][in] */ IStream *pstm,
5463             /* [in] */ ULARGE_INTEGER cb,
5464             /* [out] */ ULARGE_INTEGER *pcbRead,
5465             /* [out] */ ULARGE_INTEGER *pcbWritten);
5466 
5467         HRESULT ( STDMETHODCALLTYPE *Commit )(
5468             ISpMMSysAudio * This,
5469             /* [in] */ DWORD grfCommitFlags);
5470 
5471         HRESULT ( STDMETHODCALLTYPE *Revert )(
5472             ISpMMSysAudio * This);
5473 
5474         HRESULT ( STDMETHODCALLTYPE *LockRegion )(
5475             ISpMMSysAudio * This,
5476             /* [in] */ ULARGE_INTEGER libOffset,
5477             /* [in] */ ULARGE_INTEGER cb,
5478             /* [in] */ DWORD dwLockType);
5479 
5480         HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
5481             ISpMMSysAudio * This,
5482             /* [in] */ ULARGE_INTEGER libOffset,
5483             /* [in] */ ULARGE_INTEGER cb,
5484             /* [in] */ DWORD dwLockType);
5485 
5486         HRESULT ( STDMETHODCALLTYPE *Stat )(
5487             ISpMMSysAudio * This,
5488             /* [out] */ STATSTG *pstatstg,
5489             /* [in] */ DWORD grfStatFlag);
5490 
5491         HRESULT ( STDMETHODCALLTYPE *Clone )(
5492             ISpMMSysAudio * This,
5493             /* [out] */ IStream **ppstm);
5494 
5495         HRESULT ( STDMETHODCALLTYPE *GetFormat )(
5496             ISpMMSysAudio * This,
5497             GUID *pguidFormatId,
5498             WAVEFORMATEX **ppCoMemWaveFormatEx);
5499 
5500         HRESULT ( STDMETHODCALLTYPE *SetState )(
5501             ISpMMSysAudio * This,
5502             /* [in] */ SPAUDIOSTATE NewState,
5503             /* [in] */ ULONGLONG ullReserved);
5504 
5505         HRESULT ( STDMETHODCALLTYPE *SetFormat )(
5506             ISpMMSysAudio * This,
5507             /* [in] */ REFGUID rguidFmtId,
5508             /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
5509 
5510         HRESULT ( STDMETHODCALLTYPE *GetStatus )(
5511             ISpMMSysAudio * This,
5512             /* [out] */ SPAUDIOSTATUS *pStatus);
5513 
5514         HRESULT ( STDMETHODCALLTYPE *SetBufferInfo )(
5515             ISpMMSysAudio * This,
5516             /* [in] */ const SPAUDIOBUFFERINFO *pBuffInfo);
5517 
5518         HRESULT ( STDMETHODCALLTYPE *GetBufferInfo )(
5519             ISpMMSysAudio * This,
5520             /* [out] */ SPAUDIOBUFFERINFO *pBuffInfo);
5521 
5522         HRESULT ( STDMETHODCALLTYPE *GetDefaultFormat )(
5523             ISpMMSysAudio * This,
5524             /* [out] */ GUID *pFormatId,
5525             /* [out] */ WAVEFORMATEX **ppCoMemWaveFormatEx);
5526 
5527         HANDLE ( STDMETHODCALLTYPE *EventHandle )(
5528             ISpMMSysAudio * This);
5529 
5530         HRESULT ( STDMETHODCALLTYPE *GetVolumeLevel )(
5531             ISpMMSysAudio * This,
5532             /* [out] */ ULONG *pLevel);
5533 
5534         HRESULT ( STDMETHODCALLTYPE *SetVolumeLevel )(
5535             ISpMMSysAudio * This,
5536             /* [in] */ ULONG Level);
5537 
5538         HRESULT ( STDMETHODCALLTYPE *GetBufferNotifySize )(
5539             ISpMMSysAudio * This,
5540             /* [out] */ ULONG *pcbSize);
5541 
5542         HRESULT ( STDMETHODCALLTYPE *SetBufferNotifySize )(
5543             ISpMMSysAudio * This,
5544             /* [in] */ ULONG cbSize);
5545 
5546         HRESULT ( STDMETHODCALLTYPE *GetDeviceId )(
5547             ISpMMSysAudio * This,
5548             /* [out] */ UINT *puDeviceId);
5549 
5550         HRESULT ( STDMETHODCALLTYPE *SetDeviceId )(
5551             ISpMMSysAudio * This,
5552             /* [in] */ UINT uDeviceId);
5553 
5554         HRESULT ( STDMETHODCALLTYPE *GetMMHandle )(
5555             ISpMMSysAudio * This,
5556             void **pHandle);
5557 
5558         HRESULT ( STDMETHODCALLTYPE *GetLineId )(
5559             ISpMMSysAudio * This,
5560             /* [out] */ UINT *puLineId);
5561 
5562         HRESULT ( STDMETHODCALLTYPE *SetLineId )(
5563             ISpMMSysAudio * This,
5564             /* [in] */ UINT uLineId);
5565 
5566         END_INTERFACE
5567     } ISpMMSysAudioVtbl;
5568 
5569     interface ISpMMSysAudio
5570     {
5571         CONST_VTBL struct ISpMMSysAudioVtbl *lpVtbl;
5572     };
5573 
5574 
5575 
5576 #ifdef COBJMACROS
5577 
5578 
5579 #define ISpMMSysAudio_QueryInterface(This,riid,ppvObject)	\
5580     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
5581 
5582 #define ISpMMSysAudio_AddRef(This)	\
5583     (This)->lpVtbl -> AddRef(This)
5584 
5585 #define ISpMMSysAudio_Release(This)	\
5586     (This)->lpVtbl -> Release(This)
5587 
5588 
5589 #define ISpMMSysAudio_Read(This,pv,cb,pcbRead)	\
5590     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
5591 
5592 #define ISpMMSysAudio_Write(This,pv,cb,pcbWritten)	\
5593     (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
5594 
5595 
5596 #define ISpMMSysAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition)	\
5597     (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
5598 
5599 #define ISpMMSysAudio_SetSize(This,libNewSize)	\
5600     (This)->lpVtbl -> SetSize(This,libNewSize)
5601 
5602 #define ISpMMSysAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten)	\
5603     (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
5604 
5605 #define ISpMMSysAudio_Commit(This,grfCommitFlags)	\
5606     (This)->lpVtbl -> Commit(This,grfCommitFlags)
5607 
5608 #define ISpMMSysAudio_Revert(This)	\
5609     (This)->lpVtbl -> Revert(This)
5610 
5611 #define ISpMMSysAudio_LockRegion(This,libOffset,cb,dwLockType)	\
5612     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
5613 
5614 #define ISpMMSysAudio_UnlockRegion(This,libOffset,cb,dwLockType)	\
5615     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
5616 
5617 #define ISpMMSysAudio_Stat(This,pstatstg,grfStatFlag)	\
5618     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
5619 
5620 #define ISpMMSysAudio_Clone(This,ppstm)	\
5621     (This)->lpVtbl -> Clone(This,ppstm)
5622 
5623 
5624 #define ISpMMSysAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)	\
5625     (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
5626 
5627 
5628 #define ISpMMSysAudio_SetState(This,NewState,ullReserved)	\
5629     (This)->lpVtbl -> SetState(This,NewState,ullReserved)
5630 
5631 #define ISpMMSysAudio_SetFormat(This,rguidFmtId,pWaveFormatEx)	\
5632     (This)->lpVtbl -> SetFormat(This,rguidFmtId,pWaveFormatEx)
5633 
5634 #define ISpMMSysAudio_GetStatus(This,pStatus)	\
5635     (This)->lpVtbl -> GetStatus(This,pStatus)
5636 
5637 #define ISpMMSysAudio_SetBufferInfo(This,pBuffInfo)	\
5638     (This)->lpVtbl -> SetBufferInfo(This,pBuffInfo)
5639 
5640 #define ISpMMSysAudio_GetBufferInfo(This,pBuffInfo)	\
5641     (This)->lpVtbl -> GetBufferInfo(This,pBuffInfo)
5642 
5643 #define ISpMMSysAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)	\
5644     (This)->lpVtbl -> GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
5645 
5646 #define ISpMMSysAudio_EventHandle(This)	\
5647     (This)->lpVtbl -> EventHandle(This)
5648 
5649 #define ISpMMSysAudio_GetVolumeLevel(This,pLevel)	\
5650     (This)->lpVtbl -> GetVolumeLevel(This,pLevel)
5651 
5652 #define ISpMMSysAudio_SetVolumeLevel(This,Level)	\
5653     (This)->lpVtbl -> SetVolumeLevel(This,Level)
5654 
5655 #define ISpMMSysAudio_GetBufferNotifySize(This,pcbSize)	\
5656     (This)->lpVtbl -> GetBufferNotifySize(This,pcbSize)
5657 
5658 #define ISpMMSysAudio_SetBufferNotifySize(This,cbSize)	\
5659     (This)->lpVtbl -> SetBufferNotifySize(This,cbSize)
5660 
5661 
5662 #define ISpMMSysAudio_GetDeviceId(This,puDeviceId)	\
5663     (This)->lpVtbl -> GetDeviceId(This,puDeviceId)
5664 
5665 #define ISpMMSysAudio_SetDeviceId(This,uDeviceId)	\
5666     (This)->lpVtbl -> SetDeviceId(This,uDeviceId)
5667 
5668 #define ISpMMSysAudio_GetMMHandle(This,pHandle)	\
5669     (This)->lpVtbl -> GetMMHandle(This,pHandle)
5670 
5671 #define ISpMMSysAudio_GetLineId(This,puLineId)	\
5672     (This)->lpVtbl -> GetLineId(This,puLineId)
5673 
5674 #define ISpMMSysAudio_SetLineId(This,uLineId)	\
5675     (This)->lpVtbl -> SetLineId(This,uLineId)
5676 
5677 #endif /* COBJMACROS */
5678 
5679 
5680 #endif 	/* C style interface */
5681 
5682 
5683 
5684 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetDeviceId_Proxy(
5685     ISpMMSysAudio * This,
5686     /* [out] */ UINT *puDeviceId);
5687 
5688 
5689 void __RPC_STUB ISpMMSysAudio_GetDeviceId_Stub(
5690     IRpcStubBuffer *This,
5691     IRpcChannelBuffer *_pRpcChannelBuffer,
5692     PRPC_MESSAGE _pRpcMessage,
5693     DWORD *_pdwStubPhase);
5694 
5695 
5696 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_SetDeviceId_Proxy(
5697     ISpMMSysAudio * This,
5698     /* [in] */ UINT uDeviceId);
5699 
5700 
5701 void __RPC_STUB ISpMMSysAudio_SetDeviceId_Stub(
5702     IRpcStubBuffer *This,
5703     IRpcChannelBuffer *_pRpcChannelBuffer,
5704     PRPC_MESSAGE _pRpcMessage,
5705     DWORD *_pdwStubPhase);
5706 
5707 
5708 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetMMHandle_Proxy(
5709     ISpMMSysAudio * This,
5710     void **pHandle);
5711 
5712 
5713 void __RPC_STUB ISpMMSysAudio_GetMMHandle_Stub(
5714     IRpcStubBuffer *This,
5715     IRpcChannelBuffer *_pRpcChannelBuffer,
5716     PRPC_MESSAGE _pRpcMessage,
5717     DWORD *_pdwStubPhase);
5718 
5719 
5720 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetLineId_Proxy(
5721     ISpMMSysAudio * This,
5722     /* [out] */ UINT *puLineId);
5723 
5724 
5725 void __RPC_STUB ISpMMSysAudio_GetLineId_Stub(
5726     IRpcStubBuffer *This,
5727     IRpcChannelBuffer *_pRpcChannelBuffer,
5728     PRPC_MESSAGE _pRpcMessage,
5729     DWORD *_pdwStubPhase);
5730 
5731 
5732 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_SetLineId_Proxy(
5733     ISpMMSysAudio * This,
5734     /* [in] */ UINT uLineId);
5735 
5736 
5737 void __RPC_STUB ISpMMSysAudio_SetLineId_Stub(
5738     IRpcStubBuffer *This,
5739     IRpcChannelBuffer *_pRpcChannelBuffer,
5740     PRPC_MESSAGE _pRpcMessage,
5741     DWORD *_pdwStubPhase);
5742 
5743 
5744 
5745 #endif 	/* __ISpMMSysAudio_INTERFACE_DEFINED__ */
5746 
5747 
5748 #ifndef __ISpTranscript_INTERFACE_DEFINED__
5749 #define __ISpTranscript_INTERFACE_DEFINED__
5750 
5751 /* interface ISpTranscript */
5752 /* [restricted][unique][helpstring][uuid][object] */
5753 
5754 
5755 EXTERN_C const IID IID_ISpTranscript;
5756 
5757 #if defined(__cplusplus) && !defined(CINTERFACE)
5758 
5759     MIDL_INTERFACE("10F63BCE-201A-11D3-AC70-00C04F8EE6C0")
5760     ISpTranscript : public IUnknown
5761     {
5762     public:
5763         virtual HRESULT STDMETHODCALLTYPE GetTranscript(
5764             /* [string][out] */ WCHAR **ppszTranscript) = 0;
5765 
5766         virtual HRESULT STDMETHODCALLTYPE AppendTranscript(
5767             /* [string][in] */ const WCHAR *pszTranscript) = 0;
5768 
5769     };
5770 
5771 #else 	/* C style interface */
5772 
5773     typedef struct ISpTranscriptVtbl
5774     {
5775         BEGIN_INTERFACE
5776 
5777         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5778             ISpTranscript * This,
5779             /* [in] */ REFIID riid,
5780             /* [iid_is][out] */ void **ppvObject);
5781 
5782         ULONG ( STDMETHODCALLTYPE *AddRef )(
5783             ISpTranscript * This);
5784 
5785         ULONG ( STDMETHODCALLTYPE *Release )(
5786             ISpTranscript * This);
5787 
5788         HRESULT ( STDMETHODCALLTYPE *GetTranscript )(
5789             ISpTranscript * This,
5790             /* [string][out] */ WCHAR **ppszTranscript);
5791 
5792         HRESULT ( STDMETHODCALLTYPE *AppendTranscript )(
5793             ISpTranscript * This,
5794             /* [string][in] */ const WCHAR *pszTranscript);
5795 
5796         END_INTERFACE
5797     } ISpTranscriptVtbl;
5798 
5799     interface ISpTranscript
5800     {
5801         CONST_VTBL struct ISpTranscriptVtbl *lpVtbl;
5802     };
5803 
5804 
5805 
5806 #ifdef COBJMACROS
5807 
5808 
5809 #define ISpTranscript_QueryInterface(This,riid,ppvObject)	\
5810     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
5811 
5812 #define ISpTranscript_AddRef(This)	\
5813     (This)->lpVtbl -> AddRef(This)
5814 
5815 #define ISpTranscript_Release(This)	\
5816     (This)->lpVtbl -> Release(This)
5817 
5818 
5819 #define ISpTranscript_GetTranscript(This,ppszTranscript)	\
5820     (This)->lpVtbl -> GetTranscript(This,ppszTranscript)
5821 
5822 #define ISpTranscript_AppendTranscript(This,pszTranscript)	\
5823     (This)->lpVtbl -> AppendTranscript(This,pszTranscript)
5824 
5825 #endif /* COBJMACROS */
5826 
5827 
5828 #endif 	/* C style interface */
5829 
5830 
5831 
5832 HRESULT STDMETHODCALLTYPE ISpTranscript_GetTranscript_Proxy(
5833     ISpTranscript * This,
5834     /* [string][out] */ WCHAR **ppszTranscript);
5835 
5836 
5837 void __RPC_STUB ISpTranscript_GetTranscript_Stub(
5838     IRpcStubBuffer *This,
5839     IRpcChannelBuffer *_pRpcChannelBuffer,
5840     PRPC_MESSAGE _pRpcMessage,
5841     DWORD *_pdwStubPhase);
5842 
5843 
5844 HRESULT STDMETHODCALLTYPE ISpTranscript_AppendTranscript_Proxy(
5845     ISpTranscript * This,
5846     /* [string][in] */ const WCHAR *pszTranscript);
5847 
5848 
5849 void __RPC_STUB ISpTranscript_AppendTranscript_Stub(
5850     IRpcStubBuffer *This,
5851     IRpcChannelBuffer *_pRpcChannelBuffer,
5852     PRPC_MESSAGE _pRpcMessage,
5853     DWORD *_pdwStubPhase);
5854 
5855 
5856 
5857 #endif 	/* __ISpTranscript_INTERFACE_DEFINED__ */
5858 
5859 
5860 /* interface __MIDL_itf_sapi_0270 */
5861 /* [local] */
5862 
5863 typedef /* [hidden] */
5864 enum SPDISPLYATTRIBUTES
5865     {	SPAF_ONE_TRAILING_SPACE	= 0x2,
5866 	SPAF_TWO_TRAILING_SPACES	= 0x4,
5867 	SPAF_CONSUME_LEADING_SPACES	= 0x8,
5868 	SPAF_ALL	= 0xf
5869     } 	SPDISPLAYATTRIBUTES;
5870 
5871 typedef unsigned short SPPHONEID;
5872 
5873 typedef /* [hidden][restricted] */ struct SPPHRASEELEMENT
5874     {
5875     ULONG ulAudioTimeOffset;
5876     ULONG ulAudioSizeTime;
5877     ULONG ulAudioStreamOffset;
5878     ULONG ulAudioSizeBytes;
5879     ULONG ulRetainedStreamOffset;
5880     ULONG ulRetainedSizeBytes;
5881     const WCHAR *pszDisplayText;
5882     const WCHAR *pszLexicalForm;
5883     const SPPHONEID *pszPronunciation;
5884     BYTE bDisplayAttributes;
5885     signed char RequiredConfidence;
5886     signed char ActualConfidence;
5887     BYTE Reserved;
5888     float SREngineConfidence;
5889     } 	SPPHRASEELEMENT;
5890 
5891 typedef /* [hidden][restricted] */ struct SPPHRASERULE SPPHRASERULE;
5892 
5893 /* [hidden] */ struct SPPHRASERULE
5894     {
5895     const WCHAR *pszName;
5896     ULONG ulId;
5897     ULONG ulFirstElement;
5898     ULONG ulCountOfElements;
5899     const SPPHRASERULE *pNextSibling;
5900     const SPPHRASERULE *pFirstChild;
5901     float SREngineConfidence;
5902     signed char Confidence;
5903     } ;
5904 typedef /* [hidden][restricted] */ struct SPPHRASEPROPERTY SPPHRASEPROPERTY;
5905 
5906 /* [hidden] */ struct SPPHRASEPROPERTY
5907     {
5908     const WCHAR *pszName;
5909     ULONG ulId;
5910     const WCHAR *pszValue;
5911     VARIANT vValue;
5912     ULONG ulFirstElement;
5913     ULONG ulCountOfElements;
5914     const SPPHRASEPROPERTY *pNextSibling;
5915     const SPPHRASEPROPERTY *pFirstChild;
5916     float SREngineConfidence;
5917     signed char Confidence;
5918     } ;
5919 typedef /* [hidden][restricted] */ struct SPPHRASEREPLACEMENT
5920     {
5921     BYTE bDisplayAttributes;
5922     const WCHAR *pszReplacementText;
5923     ULONG ulFirstElement;
5924     ULONG ulCountOfElements;
5925     } 	SPPHRASEREPLACEMENT;
5926 
5927 typedef /* [hidden][restricted] */ struct SPPHRASE
5928     {
5929     ULONG cbSize;
5930     WORD LangID;
5931     WORD wReserved;
5932     ULONGLONG ullGrammarID;
5933     ULONGLONG ftStartTime;
5934     ULONGLONG ullAudioStreamPosition;
5935     ULONG ulAudioSizeBytes;
5936     ULONG ulRetainedSizeBytes;
5937     ULONG ulAudioSizeTime;
5938     SPPHRASERULE Rule;
5939     const SPPHRASEPROPERTY *pProperties;
5940     const SPPHRASEELEMENT *pElements;
5941     ULONG cReplacements;
5942     const SPPHRASEREPLACEMENT *pReplacements;
5943     GUID SREngineID;
5944     ULONG ulSREnginePrivateDataSize;
5945     const BYTE *pSREnginePrivateData;
5946     } 	SPPHRASE;
5947 
5948 typedef /* [hidden][restricted] */ struct SPSERIALIZEDPHRASE
5949     {
5950     ULONG ulSerializedSize;
5951     } 	SPSERIALIZEDPHRASE;
5952 
5953 typedef /* [hidden] */
5954 enum SPVALUETYPE
5955     {	SPDF_PROPERTY	= 0x1,
5956 	SPDF_REPLACEMENT	= 0x2,
5957 	SPDF_RULE	= 0x4,
5958 	SPDF_DISPLAYTEXT	= 0x8,
5959 	SPDF_LEXICALFORM	= 0x10,
5960 	SPDF_PRONUNCIATION	= 0x20,
5961 	SPDF_AUDIO	= 0x40,
5962 	SPDF_ALTERNATES	= 0x80,
5963 	SPDF_ALL	= 0xff
5964     } 	SPVALUETYPE;
5965 
5966 typedef /* [hidden] */ struct SPBINARYGRAMMAR
5967     {
5968     ULONG ulTotalSerializedSize;
5969     } 	SPBINARYGRAMMAR;
5970 
5971 typedef /* [hidden] */
5972 enum SPPHRASERNG
5973     {	SPPR_ALL_ELEMENTS	= -1
5974     } 	SPPHRASERNG;
5975 
5976 #define SP_GETWHOLEPHRASE SPPR_ALL_ELEMENTS
5977 #define SPRR_ALL_ELEMENTS SPPR_ALL_ELEMENTS
5978 #if 0
5979 typedef void *SPSTATEHANDLE;
5980 
5981 #else
5982 DECLARE_HANDLE(SPSTATEHANDLE);
5983 #endif
5984 typedef /* [hidden] */
5985 enum SPRECOEVENTFLAGS
5986     {	SPREF_AutoPause	= 1 << 0,
5987 	SPREF_Emulated	= 1 << 1
5988     } 	SPRECOEVENTFLAGS;
5989 
5990 typedef /* [hidden] */
5991 enum SPPARTOFSPEECH
5992     {	SPPS_NotOverriden	= -1,
5993 	SPPS_Unknown	= 0,
5994 	SPPS_Noun	= 0x1000,
5995 	SPPS_Verb	= 0x2000,
5996 	SPPS_Modifier	= 0x3000,
5997 	SPPS_Function	= 0x4000,
5998 	SPPS_Interjection	= 0x5000
5999     } 	SPPARTOFSPEECH;
6000 
6001 typedef /* [hidden] */
6002 enum SPLEXICONTYPE
6003     {	eLEXTYPE_USER	= 1L << 0,
6004 	eLEXTYPE_APP	= 1L << 1,
6005 	eLEXTYPE_RESERVED1	= 1L << 2,
6006 	eLEXTYPE_RESERVED2	= 1L << 3,
6007 	eLEXTYPE_RESERVED3	= 1L << 4,
6008 	eLEXTYPE_RESERVED4	= 1L << 5,
6009 	eLEXTYPE_RESERVED5	= 1L << 6,
6010 	eLEXTYPE_RESERVED6	= 1L << 7,
6011 	eLEXTYPE_RESERVED7	= 1L << 8,
6012 	eLEXTYPE_RESERVED8	= 1L << 9,
6013 	eLEXTYPE_RESERVED9	= 1L << 10,
6014 	eLEXTYPE_RESERVED10	= 1L << 11,
6015 	eLEXTYPE_PRIVATE1	= 1L << 12,
6016 	eLEXTYPE_PRIVATE2	= 1L << 13,
6017 	eLEXTYPE_PRIVATE3	= 1L << 14,
6018 	eLEXTYPE_PRIVATE4	= 1L << 15,
6019 	eLEXTYPE_PRIVATE5	= 1L << 16,
6020 	eLEXTYPE_PRIVATE6	= 1L << 17,
6021 	eLEXTYPE_PRIVATE7	= 1L << 18,
6022 	eLEXTYPE_PRIVATE8	= 1L << 19,
6023 	eLEXTYPE_PRIVATE9	= 1L << 20,
6024 	eLEXTYPE_PRIVATE10	= 1L << 21,
6025 	eLEXTYPE_PRIVATE11	= 1L << 22,
6026 	eLEXTYPE_PRIVATE12	= 1L << 23,
6027 	eLEXTYPE_PRIVATE13	= 1L << 24,
6028 	eLEXTYPE_PRIVATE14	= 1L << 25,
6029 	eLEXTYPE_PRIVATE15	= 1L << 26,
6030 	eLEXTYPE_PRIVATE16	= 1L << 27,
6031 	eLEXTYPE_PRIVATE17	= 1L << 28,
6032 	eLEXTYPE_PRIVATE18	= 1L << 29,
6033 	eLEXTYPE_PRIVATE19	= 1L << 30,
6034 	eLEXTYPE_PRIVATE20	= 1L << 31
6035     } 	SPLEXICONTYPE;
6036 
6037 typedef /* [hidden] */
6038 enum SPWORDTYPE
6039     {	eWORDTYPE_ADDED	= 1L << 0,
6040 	eWORDTYPE_DELETED	= 1L << 1
6041     } 	SPWORDTYPE;
6042 
6043 typedef /* [hidden][restricted] */ struct SPWORDPRONUNCIATION
6044     {
6045     struct SPWORDPRONUNCIATION *pNextWordPronunciation;
6046     SPLEXICONTYPE eLexiconType;
6047     WORD LangID;
6048     WORD wReserved;
6049     SPPARTOFSPEECH ePartOfSpeech;
6050     SPPHONEID szPronunciation[ 1 ];
6051     } 	SPWORDPRONUNCIATION;
6052 
6053 typedef /* [hidden][restricted] */ struct SPWORDPRONUNCIATIONLIST
6054     {
6055     ULONG ulSize;
6056     BYTE *pvBuffer;
6057     SPWORDPRONUNCIATION *pFirstWordPronunciation;
6058     } 	SPWORDPRONUNCIATIONLIST;
6059 
6060 typedef /* [hidden][restricted] */ struct SPWORD
6061     {
6062     struct SPWORD *pNextWord;
6063     WORD LangID;
6064     WORD wReserved;
6065     SPWORDTYPE eWordType;
6066     WCHAR *pszWord;
6067     SPWORDPRONUNCIATION *pFirstWordPronunciation;
6068     } 	SPWORD;
6069 
6070 typedef /* [hidden][restricted] */ struct SPWORDLIST
6071     {
6072     ULONG ulSize;
6073     BYTE *pvBuffer;
6074     SPWORD *pFirstWord;
6075     } 	SPWORDLIST;
6076 
6077 
6078 
6079 extern RPC_IF_HANDLE __MIDL_itf_sapi_0270_v0_0_c_ifspec;
6080 extern RPC_IF_HANDLE __MIDL_itf_sapi_0270_v0_0_s_ifspec;
6081 
6082 #ifndef __ISpLexicon_INTERFACE_DEFINED__
6083 #define __ISpLexicon_INTERFACE_DEFINED__
6084 
6085 /* interface ISpLexicon */
6086 /* [restricted][unique][helpstring][uuid][object] */
6087 
6088 
6089 EXTERN_C const IID IID_ISpLexicon;
6090 
6091 #if defined(__cplusplus) && !defined(CINTERFACE)
6092 
6093     MIDL_INTERFACE("DA41A7C2-5383-4DB2-916B-6C1719E3DB58")
6094     ISpLexicon : public IUnknown
6095     {
6096     public:
6097         virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
6098             /* [in] */ const WCHAR *pszWord,
6099             /* [in] */ WORD LangID,
6100             /* [in] */ DWORD dwFlags,
6101             /* [out][in] */ SPWORDPRONUNCIATIONLIST *pWordPronunciationList) = 0;
6102 
6103         virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
6104             /* [in] */ const WCHAR *pszWord,
6105             /* [in] */ WORD LangID,
6106             /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
6107             /* [in] */ const SPPHONEID *pszPronunciation) = 0;
6108 
6109         virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
6110             /* [in] */ const WCHAR *pszWord,
6111             /* [in] */ WORD LangID,
6112             /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
6113             /* [in] */ const SPPHONEID *pszPronunciation) = 0;
6114 
6115         virtual HRESULT STDMETHODCALLTYPE GetGeneration(
6116             DWORD *pdwGeneration) = 0;
6117 
6118         virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
6119             /* [in] */ DWORD dwFlags,
6120             /* [out][in] */ DWORD *pdwGeneration,
6121             /* [out][in] */ SPWORDLIST *pWordList) = 0;
6122 
6123         virtual HRESULT STDMETHODCALLTYPE GetWords(
6124             /* [in] */ DWORD dwFlags,
6125             /* [out][in] */ DWORD *pdwGeneration,
6126             /* [out][in] */ DWORD *pdwCookie,
6127             /* [out][in] */ SPWORDLIST *pWordList) = 0;
6128 
6129     };
6130 
6131 #else 	/* C style interface */
6132 
6133     typedef struct ISpLexiconVtbl
6134     {
6135         BEGIN_INTERFACE
6136 
6137         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6138             ISpLexicon * This,
6139             /* [in] */ REFIID riid,
6140             /* [iid_is][out] */ void **ppvObject);
6141 
6142         ULONG ( STDMETHODCALLTYPE *AddRef )(
6143             ISpLexicon * This);
6144 
6145         ULONG ( STDMETHODCALLTYPE *Release )(
6146             ISpLexicon * This);
6147 
6148         HRESULT ( STDMETHODCALLTYPE *GetPronunciations )(
6149             ISpLexicon * This,
6150             /* [in] */ const WCHAR *pszWord,
6151             /* [in] */ WORD LangID,
6152             /* [in] */ DWORD dwFlags,
6153             /* [out][in] */ SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
6154 
6155         HRESULT ( STDMETHODCALLTYPE *AddPronunciation )(
6156             ISpLexicon * This,
6157             /* [in] */ const WCHAR *pszWord,
6158             /* [in] */ WORD LangID,
6159             /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
6160             /* [in] */ const SPPHONEID *pszPronunciation);
6161 
6162         HRESULT ( STDMETHODCALLTYPE *RemovePronunciation )(
6163             ISpLexicon * This,
6164             /* [in] */ const WCHAR *pszWord,
6165             /* [in] */ WORD LangID,
6166             /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
6167             /* [in] */ const SPPHONEID *pszPronunciation);
6168 
6169         HRESULT ( STDMETHODCALLTYPE *GetGeneration )(
6170             ISpLexicon * This,
6171             DWORD *pdwGeneration);
6172 
6173         HRESULT ( STDMETHODCALLTYPE *GetGenerationChange )(
6174             ISpLexicon * This,
6175             /* [in] */ DWORD dwFlags,
6176             /* [out][in] */ DWORD *pdwGeneration,
6177             /* [out][in] */ SPWORDLIST *pWordList);
6178 
6179         HRESULT ( STDMETHODCALLTYPE *GetWords )(
6180             ISpLexicon * This,
6181             /* [in] */ DWORD dwFlags,
6182             /* [out][in] */ DWORD *pdwGeneration,
6183             /* [out][in] */ DWORD *pdwCookie,
6184             /* [out][in] */ SPWORDLIST *pWordList);
6185 
6186         END_INTERFACE
6187     } ISpLexiconVtbl;
6188 
6189     interface ISpLexicon
6190     {
6191         CONST_VTBL struct ISpLexiconVtbl *lpVtbl;
6192     };
6193 
6194 
6195 
6196 #ifdef COBJMACROS
6197 
6198 
6199 #define ISpLexicon_QueryInterface(This,riid,ppvObject)	\
6200     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
6201 
6202 #define ISpLexicon_AddRef(This)	\
6203     (This)->lpVtbl -> AddRef(This)
6204 
6205 #define ISpLexicon_Release(This)	\
6206     (This)->lpVtbl -> Release(This)
6207 
6208 
6209 #define ISpLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)	\
6210     (This)->lpVtbl -> GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
6211 
6212 #define ISpLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)	\
6213     (This)->lpVtbl -> AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
6214 
6215 #define ISpLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)	\
6216     (This)->lpVtbl -> RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
6217 
6218 #define ISpLexicon_GetGeneration(This,pdwGeneration)	\
6219     (This)->lpVtbl -> GetGeneration(This,pdwGeneration)
6220 
6221 #define ISpLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)	\
6222     (This)->lpVtbl -> GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
6223 
6224 #define ISpLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)	\
6225     (This)->lpVtbl -> GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
6226 
6227 #endif /* COBJMACROS */
6228 
6229 
6230 #endif 	/* C style interface */
6231 
6232 
6233 
6234 HRESULT STDMETHODCALLTYPE ISpLexicon_GetPronunciations_Proxy(
6235     ISpLexicon * This,
6236     /* [in] */ const WCHAR *pszWord,
6237     /* [in] */ WORD LangID,
6238     /* [in] */ DWORD dwFlags,
6239     /* [out][in] */ SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
6240 
6241 
6242 void __RPC_STUB ISpLexicon_GetPronunciations_Stub(
6243     IRpcStubBuffer *This,
6244     IRpcChannelBuffer *_pRpcChannelBuffer,
6245     PRPC_MESSAGE _pRpcMessage,
6246     DWORD *_pdwStubPhase);
6247 
6248 
6249 HRESULT STDMETHODCALLTYPE ISpLexicon_AddPronunciation_Proxy(
6250     ISpLexicon * This,
6251     /* [in] */ const WCHAR *pszWord,
6252     /* [in] */ WORD LangID,
6253     /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
6254     /* [in] */ const SPPHONEID *pszPronunciation);
6255 
6256 
6257 void __RPC_STUB ISpLexicon_AddPronunciation_Stub(
6258     IRpcStubBuffer *This,
6259     IRpcChannelBuffer *_pRpcChannelBuffer,
6260     PRPC_MESSAGE _pRpcMessage,
6261     DWORD *_pdwStubPhase);
6262 
6263 
6264 HRESULT STDMETHODCALLTYPE ISpLexicon_RemovePronunciation_Proxy(
6265     ISpLexicon * This,
6266     /* [in] */ const WCHAR *pszWord,
6267     /* [in] */ WORD LangID,
6268     /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
6269     /* [in] */ const SPPHONEID *pszPronunciation);
6270 
6271 
6272 void __RPC_STUB ISpLexicon_RemovePronunciation_Stub(
6273     IRpcStubBuffer *This,
6274     IRpcChannelBuffer *_pRpcChannelBuffer,
6275     PRPC_MESSAGE _pRpcMessage,
6276     DWORD *_pdwStubPhase);
6277 
6278 
6279 HRESULT STDMETHODCALLTYPE ISpLexicon_GetGeneration_Proxy(
6280     ISpLexicon * This,
6281     DWORD *pdwGeneration);
6282 
6283 
6284 void __RPC_STUB ISpLexicon_GetGeneration_Stub(
6285     IRpcStubBuffer *This,
6286     IRpcChannelBuffer *_pRpcChannelBuffer,
6287     PRPC_MESSAGE _pRpcMessage,
6288     DWORD *_pdwStubPhase);
6289 
6290 
6291 HRESULT STDMETHODCALLTYPE ISpLexicon_GetGenerationChange_Proxy(
6292     ISpLexicon * This,
6293     /* [in] */ DWORD dwFlags,
6294     /* [out][in] */ DWORD *pdwGeneration,
6295     /* [out][in] */ SPWORDLIST *pWordList);
6296 
6297 
6298 void __RPC_STUB ISpLexicon_GetGenerationChange_Stub(
6299     IRpcStubBuffer *This,
6300     IRpcChannelBuffer *_pRpcChannelBuffer,
6301     PRPC_MESSAGE _pRpcMessage,
6302     DWORD *_pdwStubPhase);
6303 
6304 
6305 HRESULT STDMETHODCALLTYPE ISpLexicon_GetWords_Proxy(
6306     ISpLexicon * This,
6307     /* [in] */ DWORD dwFlags,
6308     /* [out][in] */ DWORD *pdwGeneration,
6309     /* [out][in] */ DWORD *pdwCookie,
6310     /* [out][in] */ SPWORDLIST *pWordList);
6311 
6312 
6313 void __RPC_STUB ISpLexicon_GetWords_Stub(
6314     IRpcStubBuffer *This,
6315     IRpcChannelBuffer *_pRpcChannelBuffer,
6316     PRPC_MESSAGE _pRpcMessage,
6317     DWORD *_pdwStubPhase);
6318 
6319 
6320 
6321 #endif 	/* __ISpLexicon_INTERFACE_DEFINED__ */
6322 
6323 
6324 #ifndef __ISpContainerLexicon_INTERFACE_DEFINED__
6325 #define __ISpContainerLexicon_INTERFACE_DEFINED__
6326 
6327 /* interface ISpContainerLexicon */
6328 /* [restricted][unique][helpstring][uuid][object] */
6329 
6330 
6331 EXTERN_C const IID IID_ISpContainerLexicon;
6332 
6333 #if defined(__cplusplus) && !defined(CINTERFACE)
6334 
6335     MIDL_INTERFACE("8565572F-C094-41CC-B56E-10BD9C3FF044")
6336     ISpContainerLexicon : public ISpLexicon
6337     {
6338     public:
6339         virtual HRESULT STDMETHODCALLTYPE AddLexicon(
6340             /* [in] */ ISpLexicon *pAddLexicon,
6341             /* [in] */ DWORD dwFlags) = 0;
6342 
6343     };
6344 
6345 #else 	/* C style interface */
6346 
6347     typedef struct ISpContainerLexiconVtbl
6348     {
6349         BEGIN_INTERFACE
6350 
6351         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6352             ISpContainerLexicon * This,
6353             /* [in] */ REFIID riid,
6354             /* [iid_is][out] */ void **ppvObject);
6355 
6356         ULONG ( STDMETHODCALLTYPE *AddRef )(
6357             ISpContainerLexicon * This);
6358 
6359         ULONG ( STDMETHODCALLTYPE *Release )(
6360             ISpContainerLexicon * This);
6361 
6362         HRESULT ( STDMETHODCALLTYPE *GetPronunciations )(
6363             ISpContainerLexicon * This,
6364             /* [in] */ const WCHAR *pszWord,
6365             /* [in] */ WORD LangID,
6366             /* [in] */ DWORD dwFlags,
6367             /* [out][in] */ SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
6368 
6369         HRESULT ( STDMETHODCALLTYPE *AddPronunciation )(
6370             ISpContainerLexicon * This,
6371             /* [in] */ const WCHAR *pszWord,
6372             /* [in] */ WORD LangID,
6373             /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
6374             /* [in] */ const SPPHONEID *pszPronunciation);
6375 
6376         HRESULT ( STDMETHODCALLTYPE *RemovePronunciation )(
6377             ISpContainerLexicon * This,
6378             /* [in] */ const WCHAR *pszWord,
6379             /* [in] */ WORD LangID,
6380             /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
6381             /* [in] */ const SPPHONEID *pszPronunciation);
6382 
6383         HRESULT ( STDMETHODCALLTYPE *GetGeneration )(
6384             ISpContainerLexicon * This,
6385             DWORD *pdwGeneration);
6386 
6387         HRESULT ( STDMETHODCALLTYPE *GetGenerationChange )(
6388             ISpContainerLexicon * This,
6389             /* [in] */ DWORD dwFlags,
6390             /* [out][in] */ DWORD *pdwGeneration,
6391             /* [out][in] */ SPWORDLIST *pWordList);
6392 
6393         HRESULT ( STDMETHODCALLTYPE *GetWords )(
6394             ISpContainerLexicon * This,
6395             /* [in] */ DWORD dwFlags,
6396             /* [out][in] */ DWORD *pdwGeneration,
6397             /* [out][in] */ DWORD *pdwCookie,
6398             /* [out][in] */ SPWORDLIST *pWordList);
6399 
6400         HRESULT ( STDMETHODCALLTYPE *AddLexicon )(
6401             ISpContainerLexicon * This,
6402             /* [in] */ ISpLexicon *pAddLexicon,
6403             /* [in] */ DWORD dwFlags);
6404 
6405         END_INTERFACE
6406     } ISpContainerLexiconVtbl;
6407 
6408     interface ISpContainerLexicon
6409     {
6410         CONST_VTBL struct ISpContainerLexiconVtbl *lpVtbl;
6411     };
6412 
6413 
6414 
6415 #ifdef COBJMACROS
6416 
6417 
6418 #define ISpContainerLexicon_QueryInterface(This,riid,ppvObject)	\
6419     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
6420 
6421 #define ISpContainerLexicon_AddRef(This)	\
6422     (This)->lpVtbl -> AddRef(This)
6423 
6424 #define ISpContainerLexicon_Release(This)	\
6425     (This)->lpVtbl -> Release(This)
6426 
6427 
6428 #define ISpContainerLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)	\
6429     (This)->lpVtbl -> GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
6430 
6431 #define ISpContainerLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)	\
6432     (This)->lpVtbl -> AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
6433 
6434 #define ISpContainerLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)	\
6435     (This)->lpVtbl -> RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
6436 
6437 #define ISpContainerLexicon_GetGeneration(This,pdwGeneration)	\
6438     (This)->lpVtbl -> GetGeneration(This,pdwGeneration)
6439 
6440 #define ISpContainerLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)	\
6441     (This)->lpVtbl -> GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
6442 
6443 #define ISpContainerLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)	\
6444     (This)->lpVtbl -> GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
6445 
6446 
6447 #define ISpContainerLexicon_AddLexicon(This,pAddLexicon,dwFlags)	\
6448     (This)->lpVtbl -> AddLexicon(This,pAddLexicon,dwFlags)
6449 
6450 #endif /* COBJMACROS */
6451 
6452 
6453 #endif 	/* C style interface */
6454 
6455 
6456 
6457 HRESULT STDMETHODCALLTYPE ISpContainerLexicon_AddLexicon_Proxy(
6458     ISpContainerLexicon * This,
6459     /* [in] */ ISpLexicon *pAddLexicon,
6460     /* [in] */ DWORD dwFlags);
6461 
6462 
6463 void __RPC_STUB ISpContainerLexicon_AddLexicon_Stub(
6464     IRpcStubBuffer *This,
6465     IRpcChannelBuffer *_pRpcChannelBuffer,
6466     PRPC_MESSAGE _pRpcMessage,
6467     DWORD *_pdwStubPhase);
6468 
6469 
6470 
6471 #endif 	/* __ISpContainerLexicon_INTERFACE_DEFINED__ */
6472 
6473 
6474 #ifndef __ISpPhoneConverter_INTERFACE_DEFINED__
6475 #define __ISpPhoneConverter_INTERFACE_DEFINED__
6476 
6477 /* interface ISpPhoneConverter */
6478 /* [restricted][unique][helpstring][uuid][object] */
6479 
6480 
6481 EXTERN_C const IID IID_ISpPhoneConverter;
6482 
6483 #if defined(__cplusplus) && !defined(CINTERFACE)
6484 
6485     MIDL_INTERFACE("8445C581-0CAC-4A38-ABFE-9B2CE2826455")
6486     ISpPhoneConverter : public ISpObjectWithToken
6487     {
6488     public:
6489         virtual HRESULT STDMETHODCALLTYPE PhoneToId(
6490             /* [in] */ const WCHAR *pszPhone,
6491             /* [out] */ SPPHONEID *pId) = 0;
6492 
6493         virtual HRESULT STDMETHODCALLTYPE IdToPhone(
6494             /* [in] */ const SPPHONEID *pId,
6495             /* [out] */ WCHAR *pszPhone) = 0;
6496 
6497     };
6498 
6499 #else 	/* C style interface */
6500 
6501     typedef struct ISpPhoneConverterVtbl
6502     {
6503         BEGIN_INTERFACE
6504 
6505         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6506             ISpPhoneConverter * This,
6507             /* [in] */ REFIID riid,
6508             /* [iid_is][out] */ void **ppvObject);
6509 
6510         ULONG ( STDMETHODCALLTYPE *AddRef )(
6511             ISpPhoneConverter * This);
6512 
6513         ULONG ( STDMETHODCALLTYPE *Release )(
6514             ISpPhoneConverter * This);
6515 
6516         HRESULT ( STDMETHODCALLTYPE *SetObjectToken )(
6517             ISpPhoneConverter * This,
6518             ISpObjectToken *pToken);
6519 
6520         HRESULT ( STDMETHODCALLTYPE *GetObjectToken )(
6521             ISpPhoneConverter * This,
6522             ISpObjectToken **ppToken);
6523 
6524         HRESULT ( STDMETHODCALLTYPE *PhoneToId )(
6525             ISpPhoneConverter * This,
6526             /* [in] */ const WCHAR *pszPhone,
6527             /* [out] */ SPPHONEID *pId);
6528 
6529         HRESULT ( STDMETHODCALLTYPE *IdToPhone )(
6530             ISpPhoneConverter * This,
6531             /* [in] */ const SPPHONEID *pId,
6532             /* [out] */ WCHAR *pszPhone);
6533 
6534         END_INTERFACE
6535     } ISpPhoneConverterVtbl;
6536 
6537     interface ISpPhoneConverter
6538     {
6539         CONST_VTBL struct ISpPhoneConverterVtbl *lpVtbl;
6540     };
6541 
6542 
6543 
6544 #ifdef COBJMACROS
6545 
6546 
6547 #define ISpPhoneConverter_QueryInterface(This,riid,ppvObject)	\
6548     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
6549 
6550 #define ISpPhoneConverter_AddRef(This)	\
6551     (This)->lpVtbl -> AddRef(This)
6552 
6553 #define ISpPhoneConverter_Release(This)	\
6554     (This)->lpVtbl -> Release(This)
6555 
6556 
6557 #define ISpPhoneConverter_SetObjectToken(This,pToken)	\
6558     (This)->lpVtbl -> SetObjectToken(This,pToken)
6559 
6560 #define ISpPhoneConverter_GetObjectToken(This,ppToken)	\
6561     (This)->lpVtbl -> GetObjectToken(This,ppToken)
6562 
6563 
6564 #define ISpPhoneConverter_PhoneToId(This,pszPhone,pId)	\
6565     (This)->lpVtbl -> PhoneToId(This,pszPhone,pId)
6566 
6567 #define ISpPhoneConverter_IdToPhone(This,pId,pszPhone)	\
6568     (This)->lpVtbl -> IdToPhone(This,pId,pszPhone)
6569 
6570 #endif /* COBJMACROS */
6571 
6572 
6573 #endif 	/* C style interface */
6574 
6575 
6576 
6577 HRESULT STDMETHODCALLTYPE ISpPhoneConverter_PhoneToId_Proxy(
6578     ISpPhoneConverter * This,
6579     /* [in] */ const WCHAR *pszPhone,
6580     /* [out] */ SPPHONEID *pId);
6581 
6582 
6583 void __RPC_STUB ISpPhoneConverter_PhoneToId_Stub(
6584     IRpcStubBuffer *This,
6585     IRpcChannelBuffer *_pRpcChannelBuffer,
6586     PRPC_MESSAGE _pRpcMessage,
6587     DWORD *_pdwStubPhase);
6588 
6589 
6590 HRESULT STDMETHODCALLTYPE ISpPhoneConverter_IdToPhone_Proxy(
6591     ISpPhoneConverter * This,
6592     /* [in] */ const SPPHONEID *pId,
6593     /* [out] */ WCHAR *pszPhone);
6594 
6595 
6596 void __RPC_STUB ISpPhoneConverter_IdToPhone_Stub(
6597     IRpcStubBuffer *This,
6598     IRpcChannelBuffer *_pRpcChannelBuffer,
6599     PRPC_MESSAGE _pRpcMessage,
6600     DWORD *_pdwStubPhase);
6601 
6602 
6603 
6604 #endif 	/* __ISpPhoneConverter_INTERFACE_DEFINED__ */
6605 
6606 
6607 /* interface __MIDL_itf_sapi_0273 */
6608 /* [local] */
6609 
6610 typedef /* [hidden][restricted] */ struct SPVPITCH
6611     {
6612     long MiddleAdj;
6613     long RangeAdj;
6614     } 	SPVPITCH;
6615 
6616 typedef /* [hidden] */
6617 enum SPVACTIONS
6618     {	SPVA_Speak	= 0,
6619 	SPVA_Silence	= SPVA_Speak + 1,
6620 	SPVA_Pronounce	= SPVA_Silence + 1,
6621 	SPVA_Bookmark	= SPVA_Pronounce + 1,
6622 	SPVA_SpellOut	= SPVA_Bookmark + 1,
6623 	SPVA_Section	= SPVA_SpellOut + 1,
6624 	SPVA_ParseUnknownTag	= SPVA_Section + 1
6625     } 	SPVACTIONS;
6626 
6627 typedef /* [hidden][restricted] */ struct SPVCONTEXT
6628     {
6629     LPCWSTR pCategory;
6630     LPCWSTR pBefore;
6631     LPCWSTR pAfter;
6632     } 	SPVCONTEXT;
6633 
6634 typedef /* [hidden][restricted] */ struct SPVSTATE
6635     {
6636     SPVACTIONS eAction;
6637     WORD LangID;
6638     WORD wReserved;
6639     long EmphAdj;
6640     long RateAdj;
6641     ULONG Volume;
6642     SPVPITCH PitchAdj;
6643     ULONG SilenceMSecs;
6644     SPPHONEID *pPhoneIds;
6645     SPPARTOFSPEECH ePartOfSpeech;
6646     SPVCONTEXT Context;
6647     } 	SPVSTATE;
6648 
6649 typedef /* [hidden] */
6650 enum SPRUNSTATE
6651     {	SPRS_DONE	= 1L << 0,
6652 	SPRS_IS_SPEAKING	= 1L << 1
6653     } 	SPRUNSTATE;
6654 
6655 typedef /* [hidden] */
6656 enum SPVLIMITS
6657     {	SPMIN_VOLUME	= 0,
6658 	SPMAX_VOLUME	= 100,
6659 	SPMIN_RATE	= -10,
6660 	SPMAX_RATE	= 10
6661     } 	SPVLIMITS;
6662 
6663 typedef /* [hidden] */
6664 enum SPVPRIORITY
6665     {	SPVPRI_NORMAL	= 0,
6666 	SPVPRI_ALERT	= 1L << 0,
6667 	SPVPRI_OVER	= 1L << 1
6668     } 	SPVPRIORITY;
6669 
6670 typedef /* [hidden][restricted] */ struct SPVOICESTATUS
6671     {
6672     ULONG ulCurrentStream;
6673     ULONG ulLastStreamQueued;
6674     HRESULT hrLastResult;
6675     DWORD dwRunningState;
6676     ULONG ulInputWordPos;
6677     ULONG ulInputWordLen;
6678     ULONG ulInputSentPos;
6679     ULONG ulInputSentLen;
6680     LONG lBookmarkId;
6681     SPPHONEID PhonemeId;
6682     SPVISEMES VisemeId;
6683     DWORD dwReserved1;
6684     DWORD dwReserved2;
6685     } 	SPVOICESTATUS;
6686 
6687 typedef /* [hidden] */
6688 enum SPEAKFLAGS
6689     {	SPF_DEFAULT	= 0,
6690 	SPF_ASYNC	= 1L << 0,
6691 	SPF_PURGEBEFORESPEAK	= 1L << 1,
6692 	SPF_IS_FILENAME	= 1L << 2,
6693 	SPF_IS_XML	= 1L << 3,
6694 	SPF_IS_NOT_XML	= 1L << 4,
6695 	SPF_PERSIST_XML	= 1L << 5,
6696 	SPF_NLP_SPEAK_PUNC	= 1L << 6,
6697 	SPF_NLP_MASK	= SPF_NLP_SPEAK_PUNC,
6698 	SPF_VOICE_MASK	= SPF_ASYNC | SPF_PURGEBEFORESPEAK | SPF_IS_FILENAME | SPF_IS_XML | SPF_IS_NOT_XML | SPF_NLP_MASK | SPF_PERSIST_XML,
6699 	SPF_UNUSED_FLAGS	= ~SPF_VOICE_MASK
6700     } 	SPEAKFLAGS;
6701 
6702 
6703 
6704 extern RPC_IF_HANDLE __MIDL_itf_sapi_0273_v0_0_c_ifspec;
6705 extern RPC_IF_HANDLE __MIDL_itf_sapi_0273_v0_0_s_ifspec;
6706 
6707 #ifndef __ISpVoice_INTERFACE_DEFINED__
6708 #define __ISpVoice_INTERFACE_DEFINED__
6709 
6710 /* interface ISpVoice */
6711 /* [restricted][unique][helpstring][uuid][object] */
6712 
6713 
6714 EXTERN_C const IID IID_ISpVoice;
6715 
6716 #if defined(__cplusplus) && !defined(CINTERFACE)
6717 
6718     MIDL_INTERFACE("6C44DF74-72B9-4992-A1EC-EF996E0422D4")
6719     ISpVoice : public ISpEventSource
6720     {
6721     public:
6722         virtual HRESULT STDMETHODCALLTYPE SetOutput(
6723             /* [in] */ IUnknown *pUnkOutput,
6724             /* [in] */ BOOL fAllowFormatChanges) = 0;
6725 
6726         virtual HRESULT STDMETHODCALLTYPE GetOutputObjectToken(
6727             /* [out] */ ISpObjectToken **ppObjectToken) = 0;
6728 
6729         virtual HRESULT STDMETHODCALLTYPE GetOutputStream(
6730             /* [out] */ ISpStreamFormat **ppStream) = 0;
6731 
6732         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
6733 
6734         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
6735 
6736         virtual HRESULT STDMETHODCALLTYPE SetVoice(
6737             /* [in] */ ISpObjectToken *pToken) = 0;
6738 
6739         virtual HRESULT STDMETHODCALLTYPE GetVoice(
6740             /* [out] */ ISpObjectToken **ppToken) = 0;
6741 
6742         virtual HRESULT STDMETHODCALLTYPE Speak(
6743             /* [string][in] */ const WCHAR *pwcs,
6744             /* [in] */ DWORD dwFlags,
6745             /* [out] */ ULONG *pulStreamNumber) = 0;
6746 
6747         virtual HRESULT STDMETHODCALLTYPE SpeakStream(
6748             /* [in] */ IStream *pStream,
6749             /* [in] */ DWORD dwFlags,
6750             /* [out] */ ULONG *pulStreamNumber) = 0;
6751 
6752         virtual HRESULT STDMETHODCALLTYPE GetStatus(
6753             /* [out] */ SPVOICESTATUS *pStatus,
6754             /* [string][out] */ WCHAR **ppszLastBookmark) = 0;
6755 
6756         virtual HRESULT STDMETHODCALLTYPE Skip(
6757             /* [string][in] */ WCHAR *pItemType,
6758             /* [in] */ long lNumItems,
6759             /* [out] */ ULONG *pulNumSkipped) = 0;
6760 
6761         virtual HRESULT STDMETHODCALLTYPE SetPriority(
6762             /* [in] */ SPVPRIORITY ePriority) = 0;
6763 
6764         virtual HRESULT STDMETHODCALLTYPE GetPriority(
6765             /* [out] */ SPVPRIORITY *pePriority) = 0;
6766 
6767         virtual HRESULT STDMETHODCALLTYPE SetAlertBoundary(
6768             /* [in] */ SPEVENTENUM eBoundary) = 0;
6769 
6770         virtual HRESULT STDMETHODCALLTYPE GetAlertBoundary(
6771             /* [out] */ SPEVENTENUM *peBoundary) = 0;
6772 
6773         virtual HRESULT STDMETHODCALLTYPE SetRate(
6774             /* [in] */ long RateAdjust) = 0;
6775 
6776         virtual HRESULT STDMETHODCALLTYPE GetRate(
6777             /* [out] */ long *pRateAdjust) = 0;
6778 
6779         virtual HRESULT STDMETHODCALLTYPE SetVolume(
6780             /* [in] */ USHORT usVolume) = 0;
6781 
6782         virtual HRESULT STDMETHODCALLTYPE GetVolume(
6783             /* [out] */ USHORT *pusVolume) = 0;
6784 
6785         virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
6786             /* [in] */ ULONG msTimeout) = 0;
6787 
6788         virtual HRESULT STDMETHODCALLTYPE SetSyncSpeakTimeout(
6789             /* [in] */ ULONG msTimeout) = 0;
6790 
6791         virtual HRESULT STDMETHODCALLTYPE GetSyncSpeakTimeout(
6792             /* [out] */ ULONG *pmsTimeout) = 0;
6793 
6794         virtual /* [local] */ HANDLE STDMETHODCALLTYPE SpeakCompleteEvent( void) = 0;
6795 
6796         virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsUISupported(
6797             /* [in] */ const WCHAR *pszTypeOfUI,
6798             /* [in] */ void *pvExtraData,
6799             /* [in] */ ULONG cbExtraData,
6800             /* [out] */ BOOL *pfSupported) = 0;
6801 
6802         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DisplayUI(
6803             /* [in] */ HWND hwndParent,
6804             /* [in] */ const WCHAR *pszTitle,
6805             /* [in] */ const WCHAR *pszTypeOfUI,
6806             /* [in] */ void *pvExtraData,
6807             /* [in] */ ULONG cbExtraData) = 0;
6808 
6809     };
6810 
6811 #else 	/* C style interface */
6812 
6813     typedef struct ISpVoiceVtbl
6814     {
6815         BEGIN_INTERFACE
6816 
6817         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6818             ISpVoice * This,
6819             /* [in] */ REFIID riid,
6820             /* [iid_is][out] */ void **ppvObject);
6821 
6822         ULONG ( STDMETHODCALLTYPE *AddRef )(
6823             ISpVoice * This);
6824 
6825         ULONG ( STDMETHODCALLTYPE *Release )(
6826             ISpVoice * This);
6827 
6828         HRESULT ( STDMETHODCALLTYPE *SetNotifySink )(
6829             ISpVoice * This,
6830             /* [in] */ ISpNotifySink *pNotifySink);
6831 
6832         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWindowMessage )(
6833             ISpVoice * This,
6834             /* [in] */ HWND hWnd,
6835             /* [in] */ UINT Msg,
6836             /* [in] */ WPARAM wParam,
6837             /* [in] */ LPARAM lParam);
6838 
6839         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackFunction )(
6840             ISpVoice * This,
6841             /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
6842             /* [in] */ WPARAM wParam,
6843             /* [in] */ LPARAM lParam);
6844 
6845         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackInterface )(
6846             ISpVoice * This,
6847             /* [in] */ ISpNotifyCallback *pSpCallback,
6848             /* [in] */ WPARAM wParam,
6849             /* [in] */ LPARAM lParam);
6850 
6851         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWin32Event )(
6852             ISpVoice * This);
6853 
6854         /* [local] */ HRESULT ( STDMETHODCALLTYPE *WaitForNotifyEvent )(
6855             ISpVoice * This,
6856             /* [in] */ DWORD dwMilliseconds);
6857 
6858         /* [local] */ HANDLE ( STDMETHODCALLTYPE *GetNotifyEventHandle )(
6859             ISpVoice * This);
6860 
6861         HRESULT ( STDMETHODCALLTYPE *SetInterest )(
6862             ISpVoice * This,
6863             /* [in] */ ULONGLONG ullEventInterest,
6864             /* [in] */ ULONGLONG ullQueuedInterest);
6865 
6866         HRESULT ( STDMETHODCALLTYPE *GetEvents )(
6867             ISpVoice * This,
6868             /* [in] */ ULONG ulCount,
6869             /* [size_is][out] */ SPEVENT *pEventArray,
6870             /* [out] */ ULONG *pulFetched);
6871 
6872         HRESULT ( STDMETHODCALLTYPE *GetInfo )(
6873             ISpVoice * This,
6874             /* [out] */ SPEVENTSOURCEINFO *pInfo);
6875 
6876         HRESULT ( STDMETHODCALLTYPE *SetOutput )(
6877             ISpVoice * This,
6878             /* [in] */ IUnknown *pUnkOutput,
6879             /* [in] */ BOOL fAllowFormatChanges);
6880 
6881         HRESULT ( STDMETHODCALLTYPE *GetOutputObjectToken )(
6882             ISpVoice * This,
6883             /* [out] */ ISpObjectToken **ppObjectToken);
6884 
6885         HRESULT ( STDMETHODCALLTYPE *GetOutputStream )(
6886             ISpVoice * This,
6887             /* [out] */ ISpStreamFormat **ppStream);
6888 
6889         HRESULT ( STDMETHODCALLTYPE *Pause )(
6890             ISpVoice * This);
6891 
6892         HRESULT ( STDMETHODCALLTYPE *Resume )(
6893             ISpVoice * This);
6894 
6895         HRESULT ( STDMETHODCALLTYPE *SetVoice )(
6896             ISpVoice * This,
6897             /* [in] */ ISpObjectToken *pToken);
6898 
6899         HRESULT ( STDMETHODCALLTYPE *GetVoice )(
6900             ISpVoice * This,
6901             /* [out] */ ISpObjectToken **ppToken);
6902 
6903         HRESULT ( STDMETHODCALLTYPE *Speak )(
6904             ISpVoice * This,
6905             /* [string][in] */ const WCHAR *pwcs,
6906             /* [in] */ DWORD dwFlags,
6907             /* [out] */ ULONG *pulStreamNumber);
6908 
6909         HRESULT ( STDMETHODCALLTYPE *SpeakStream )(
6910             ISpVoice * This,
6911             /* [in] */ IStream *pStream,
6912             /* [in] */ DWORD dwFlags,
6913             /* [out] */ ULONG *pulStreamNumber);
6914 
6915         HRESULT ( STDMETHODCALLTYPE *GetStatus )(
6916             ISpVoice * This,
6917             /* [out] */ SPVOICESTATUS *pStatus,
6918             /* [string][out] */ WCHAR **ppszLastBookmark);
6919 
6920         HRESULT ( STDMETHODCALLTYPE *Skip )(
6921             ISpVoice * This,
6922             /* [string][in] */ WCHAR *pItemType,
6923             /* [in] */ long lNumItems,
6924             /* [out] */ ULONG *pulNumSkipped);
6925 
6926         HRESULT ( STDMETHODCALLTYPE *SetPriority )(
6927             ISpVoice * This,
6928             /* [in] */ SPVPRIORITY ePriority);
6929 
6930         HRESULT ( STDMETHODCALLTYPE *GetPriority )(
6931             ISpVoice * This,
6932             /* [out] */ SPVPRIORITY *pePriority);
6933 
6934         HRESULT ( STDMETHODCALLTYPE *SetAlertBoundary )(
6935             ISpVoice * This,
6936             /* [in] */ SPEVENTENUM eBoundary);
6937 
6938         HRESULT ( STDMETHODCALLTYPE *GetAlertBoundary )(
6939             ISpVoice * This,
6940             /* [out] */ SPEVENTENUM *peBoundary);
6941 
6942         HRESULT ( STDMETHODCALLTYPE *SetRate )(
6943             ISpVoice * This,
6944             /* [in] */ long RateAdjust);
6945 
6946         HRESULT ( STDMETHODCALLTYPE *GetRate )(
6947             ISpVoice * This,
6948             /* [out] */ long *pRateAdjust);
6949 
6950         HRESULT ( STDMETHODCALLTYPE *SetVolume )(
6951             ISpVoice * This,
6952             /* [in] */ USHORT usVolume);
6953 
6954         HRESULT ( STDMETHODCALLTYPE *GetVolume )(
6955             ISpVoice * This,
6956             /* [out] */ USHORT *pusVolume);
6957 
6958         HRESULT ( STDMETHODCALLTYPE *WaitUntilDone )(
6959             ISpVoice * This,
6960             /* [in] */ ULONG msTimeout);
6961 
6962         HRESULT ( STDMETHODCALLTYPE *SetSyncSpeakTimeout )(
6963             ISpVoice * This,
6964             /* [in] */ ULONG msTimeout);
6965 
6966         HRESULT ( STDMETHODCALLTYPE *GetSyncSpeakTimeout )(
6967             ISpVoice * This,
6968             /* [out] */ ULONG *pmsTimeout);
6969 
6970         /* [local] */ HANDLE ( STDMETHODCALLTYPE *SpeakCompleteEvent )(
6971             ISpVoice * This);
6972 
6973         /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
6974             ISpVoice * This,
6975             /* [in] */ const WCHAR *pszTypeOfUI,
6976             /* [in] */ void *pvExtraData,
6977             /* [in] */ ULONG cbExtraData,
6978             /* [out] */ BOOL *pfSupported);
6979 
6980         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
6981             ISpVoice * This,
6982             /* [in] */ HWND hwndParent,
6983             /* [in] */ const WCHAR *pszTitle,
6984             /* [in] */ const WCHAR *pszTypeOfUI,
6985             /* [in] */ void *pvExtraData,
6986             /* [in] */ ULONG cbExtraData);
6987 
6988         END_INTERFACE
6989     } ISpVoiceVtbl;
6990 
6991     interface ISpVoice
6992     {
6993         CONST_VTBL struct ISpVoiceVtbl *lpVtbl;
6994     };
6995 
6996 
6997 
6998 #ifdef COBJMACROS
6999 
7000 
7001 #define ISpVoice_QueryInterface(This,riid,ppvObject)	\
7002     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
7003 
7004 #define ISpVoice_AddRef(This)	\
7005     (This)->lpVtbl -> AddRef(This)
7006 
7007 #define ISpVoice_Release(This)	\
7008     (This)->lpVtbl -> Release(This)
7009 
7010 
7011 #define ISpVoice_SetNotifySink(This,pNotifySink)	\
7012     (This)->lpVtbl -> SetNotifySink(This,pNotifySink)
7013 
7014 #define ISpVoice_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)	\
7015     (This)->lpVtbl -> SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
7016 
7017 #define ISpVoice_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)	\
7018     (This)->lpVtbl -> SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
7019 
7020 #define ISpVoice_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)	\
7021     (This)->lpVtbl -> SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
7022 
7023 #define ISpVoice_SetNotifyWin32Event(This)	\
7024     (This)->lpVtbl -> SetNotifyWin32Event(This)
7025 
7026 #define ISpVoice_WaitForNotifyEvent(This,dwMilliseconds)	\
7027     (This)->lpVtbl -> WaitForNotifyEvent(This,dwMilliseconds)
7028 
7029 #define ISpVoice_GetNotifyEventHandle(This)	\
7030     (This)->lpVtbl -> GetNotifyEventHandle(This)
7031 
7032 
7033 #define ISpVoice_SetInterest(This,ullEventInterest,ullQueuedInterest)	\
7034     (This)->lpVtbl -> SetInterest(This,ullEventInterest,ullQueuedInterest)
7035 
7036 #define ISpVoice_GetEvents(This,ulCount,pEventArray,pulFetched)	\
7037     (This)->lpVtbl -> GetEvents(This,ulCount,pEventArray,pulFetched)
7038 
7039 #define ISpVoice_GetInfo(This,pInfo)	\
7040     (This)->lpVtbl -> GetInfo(This,pInfo)
7041 
7042 
7043 #define ISpVoice_SetOutput(This,pUnkOutput,fAllowFormatChanges)	\
7044     (This)->lpVtbl -> SetOutput(This,pUnkOutput,fAllowFormatChanges)
7045 
7046 #define ISpVoice_GetOutputObjectToken(This,ppObjectToken)	\
7047     (This)->lpVtbl -> GetOutputObjectToken(This,ppObjectToken)
7048 
7049 #define ISpVoice_GetOutputStream(This,ppStream)	\
7050     (This)->lpVtbl -> GetOutputStream(This,ppStream)
7051 
7052 #define ISpVoice_Pause(This)	\
7053     (This)->lpVtbl -> Pause(This)
7054 
7055 #define ISpVoice_Resume(This)	\
7056     (This)->lpVtbl -> Resume(This)
7057 
7058 #define ISpVoice_SetVoice(This,pToken)	\
7059     (This)->lpVtbl -> SetVoice(This,pToken)
7060 
7061 #define ISpVoice_GetVoice(This,ppToken)	\
7062     (This)->lpVtbl -> GetVoice(This,ppToken)
7063 
7064 #define ISpVoice_Speak(This,pwcs,dwFlags,pulStreamNumber)	\
7065     (This)->lpVtbl -> Speak(This,pwcs,dwFlags,pulStreamNumber)
7066 
7067 #define ISpVoice_SpeakStream(This,pStream,dwFlags,pulStreamNumber)	\
7068     (This)->lpVtbl -> SpeakStream(This,pStream,dwFlags,pulStreamNumber)
7069 
7070 #define ISpVoice_GetStatus(This,pStatus,ppszLastBookmark)	\
7071     (This)->lpVtbl -> GetStatus(This,pStatus,ppszLastBookmark)
7072 
7073 #define ISpVoice_Skip(This,pItemType,lNumItems,pulNumSkipped)	\
7074     (This)->lpVtbl -> Skip(This,pItemType,lNumItems,pulNumSkipped)
7075 
7076 #define ISpVoice_SetPriority(This,ePriority)	\
7077     (This)->lpVtbl -> SetPriority(This,ePriority)
7078 
7079 #define ISpVoice_GetPriority(This,pePriority)	\
7080     (This)->lpVtbl -> GetPriority(This,pePriority)
7081 
7082 #define ISpVoice_SetAlertBoundary(This,eBoundary)	\
7083     (This)->lpVtbl -> SetAlertBoundary(This,eBoundary)
7084 
7085 #define ISpVoice_GetAlertBoundary(This,peBoundary)	\
7086     (This)->lpVtbl -> GetAlertBoundary(This,peBoundary)
7087 
7088 #define ISpVoice_SetRate(This,RateAdjust)	\
7089     (This)->lpVtbl -> SetRate(This,RateAdjust)
7090 
7091 #define ISpVoice_GetRate(This,pRateAdjust)	\
7092     (This)->lpVtbl -> GetRate(This,pRateAdjust)
7093 
7094 #define ISpVoice_SetVolume(This,usVolume)	\
7095     (This)->lpVtbl -> SetVolume(This,usVolume)
7096 
7097 #define ISpVoice_GetVolume(This,pusVolume)	\
7098     (This)->lpVtbl -> GetVolume(This,pusVolume)
7099 
7100 #define ISpVoice_WaitUntilDone(This,msTimeout)	\
7101     (This)->lpVtbl -> WaitUntilDone(This,msTimeout)
7102 
7103 #define ISpVoice_SetSyncSpeakTimeout(This,msTimeout)	\
7104     (This)->lpVtbl -> SetSyncSpeakTimeout(This,msTimeout)
7105 
7106 #define ISpVoice_GetSyncSpeakTimeout(This,pmsTimeout)	\
7107     (This)->lpVtbl -> GetSyncSpeakTimeout(This,pmsTimeout)
7108 
7109 #define ISpVoice_SpeakCompleteEvent(This)	\
7110     (This)->lpVtbl -> SpeakCompleteEvent(This)
7111 
7112 #define ISpVoice_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)	\
7113     (This)->lpVtbl -> IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
7114 
7115 #define ISpVoice_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)	\
7116     (This)->lpVtbl -> DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
7117 
7118 #endif /* COBJMACROS */
7119 
7120 
7121 #endif 	/* C style interface */
7122 
7123 
7124 
7125 HRESULT STDMETHODCALLTYPE ISpVoice_SetOutput_Proxy(
7126     ISpVoice * This,
7127     /* [in] */ IUnknown *pUnkOutput,
7128     /* [in] */ BOOL fAllowFormatChanges);
7129 
7130 
7131 void __RPC_STUB ISpVoice_SetOutput_Stub(
7132     IRpcStubBuffer *This,
7133     IRpcChannelBuffer *_pRpcChannelBuffer,
7134     PRPC_MESSAGE _pRpcMessage,
7135     DWORD *_pdwStubPhase);
7136 
7137 
7138 HRESULT STDMETHODCALLTYPE ISpVoice_GetOutputObjectToken_Proxy(
7139     ISpVoice * This,
7140     /* [out] */ ISpObjectToken **ppObjectToken);
7141 
7142 
7143 void __RPC_STUB ISpVoice_GetOutputObjectToken_Stub(
7144     IRpcStubBuffer *This,
7145     IRpcChannelBuffer *_pRpcChannelBuffer,
7146     PRPC_MESSAGE _pRpcMessage,
7147     DWORD *_pdwStubPhase);
7148 
7149 
7150 HRESULT STDMETHODCALLTYPE ISpVoice_GetOutputStream_Proxy(
7151     ISpVoice * This,
7152     /* [out] */ ISpStreamFormat **ppStream);
7153 
7154 
7155 void __RPC_STUB ISpVoice_GetOutputStream_Stub(
7156     IRpcStubBuffer *This,
7157     IRpcChannelBuffer *_pRpcChannelBuffer,
7158     PRPC_MESSAGE _pRpcMessage,
7159     DWORD *_pdwStubPhase);
7160 
7161 
7162 HRESULT STDMETHODCALLTYPE ISpVoice_Pause_Proxy(
7163     ISpVoice * This);
7164 
7165 
7166 void __RPC_STUB ISpVoice_Pause_Stub(
7167     IRpcStubBuffer *This,
7168     IRpcChannelBuffer *_pRpcChannelBuffer,
7169     PRPC_MESSAGE _pRpcMessage,
7170     DWORD *_pdwStubPhase);
7171 
7172 
7173 HRESULT STDMETHODCALLTYPE ISpVoice_Resume_Proxy(
7174     ISpVoice * This);
7175 
7176 
7177 void __RPC_STUB ISpVoice_Resume_Stub(
7178     IRpcStubBuffer *This,
7179     IRpcChannelBuffer *_pRpcChannelBuffer,
7180     PRPC_MESSAGE _pRpcMessage,
7181     DWORD *_pdwStubPhase);
7182 
7183 
7184 HRESULT STDMETHODCALLTYPE ISpVoice_SetVoice_Proxy(
7185     ISpVoice * This,
7186     /* [in] */ ISpObjectToken *pToken);
7187 
7188 
7189 void __RPC_STUB ISpVoice_SetVoice_Stub(
7190     IRpcStubBuffer *This,
7191     IRpcChannelBuffer *_pRpcChannelBuffer,
7192     PRPC_MESSAGE _pRpcMessage,
7193     DWORD *_pdwStubPhase);
7194 
7195 
7196 HRESULT STDMETHODCALLTYPE ISpVoice_GetVoice_Proxy(
7197     ISpVoice * This,
7198     /* [out] */ ISpObjectToken **ppToken);
7199 
7200 
7201 void __RPC_STUB ISpVoice_GetVoice_Stub(
7202     IRpcStubBuffer *This,
7203     IRpcChannelBuffer *_pRpcChannelBuffer,
7204     PRPC_MESSAGE _pRpcMessage,
7205     DWORD *_pdwStubPhase);
7206 
7207 
7208 HRESULT STDMETHODCALLTYPE ISpVoice_Speak_Proxy(
7209     ISpVoice * This,
7210     /* [string][in] */ const WCHAR *pwcs,
7211     /* [in] */ DWORD dwFlags,
7212     /* [out] */ ULONG *pulStreamNumber);
7213 
7214 
7215 void __RPC_STUB ISpVoice_Speak_Stub(
7216     IRpcStubBuffer *This,
7217     IRpcChannelBuffer *_pRpcChannelBuffer,
7218     PRPC_MESSAGE _pRpcMessage,
7219     DWORD *_pdwStubPhase);
7220 
7221 
7222 HRESULT STDMETHODCALLTYPE ISpVoice_SpeakStream_Proxy(
7223     ISpVoice * This,
7224     /* [in] */ IStream *pStream,
7225     /* [in] */ DWORD dwFlags,
7226     /* [out] */ ULONG *pulStreamNumber);
7227 
7228 
7229 void __RPC_STUB ISpVoice_SpeakStream_Stub(
7230     IRpcStubBuffer *This,
7231     IRpcChannelBuffer *_pRpcChannelBuffer,
7232     PRPC_MESSAGE _pRpcMessage,
7233     DWORD *_pdwStubPhase);
7234 
7235 
7236 HRESULT STDMETHODCALLTYPE ISpVoice_GetStatus_Proxy(
7237     ISpVoice * This,
7238     /* [out] */ SPVOICESTATUS *pStatus,
7239     /* [string][out] */ WCHAR **ppszLastBookmark);
7240 
7241 
7242 void __RPC_STUB ISpVoice_GetStatus_Stub(
7243     IRpcStubBuffer *This,
7244     IRpcChannelBuffer *_pRpcChannelBuffer,
7245     PRPC_MESSAGE _pRpcMessage,
7246     DWORD *_pdwStubPhase);
7247 
7248 
7249 HRESULT STDMETHODCALLTYPE ISpVoice_Skip_Proxy(
7250     ISpVoice * This,
7251     /* [string][in] */ WCHAR *pItemType,
7252     /* [in] */ long lNumItems,
7253     /* [out] */ ULONG *pulNumSkipped);
7254 
7255 
7256 void __RPC_STUB ISpVoice_Skip_Stub(
7257     IRpcStubBuffer *This,
7258     IRpcChannelBuffer *_pRpcChannelBuffer,
7259     PRPC_MESSAGE _pRpcMessage,
7260     DWORD *_pdwStubPhase);
7261 
7262 
7263 HRESULT STDMETHODCALLTYPE ISpVoice_SetPriority_Proxy(
7264     ISpVoice * This,
7265     /* [in] */ SPVPRIORITY ePriority);
7266 
7267 
7268 void __RPC_STUB ISpVoice_SetPriority_Stub(
7269     IRpcStubBuffer *This,
7270     IRpcChannelBuffer *_pRpcChannelBuffer,
7271     PRPC_MESSAGE _pRpcMessage,
7272     DWORD *_pdwStubPhase);
7273 
7274 
7275 HRESULT STDMETHODCALLTYPE ISpVoice_GetPriority_Proxy(
7276     ISpVoice * This,
7277     /* [out] */ SPVPRIORITY *pePriority);
7278 
7279 
7280 void __RPC_STUB ISpVoice_GetPriority_Stub(
7281     IRpcStubBuffer *This,
7282     IRpcChannelBuffer *_pRpcChannelBuffer,
7283     PRPC_MESSAGE _pRpcMessage,
7284     DWORD *_pdwStubPhase);
7285 
7286 
7287 HRESULT STDMETHODCALLTYPE ISpVoice_SetAlertBoundary_Proxy(
7288     ISpVoice * This,
7289     /* [in] */ SPEVENTENUM eBoundary);
7290 
7291 
7292 void __RPC_STUB ISpVoice_SetAlertBoundary_Stub(
7293     IRpcStubBuffer *This,
7294     IRpcChannelBuffer *_pRpcChannelBuffer,
7295     PRPC_MESSAGE _pRpcMessage,
7296     DWORD *_pdwStubPhase);
7297 
7298 
7299 HRESULT STDMETHODCALLTYPE ISpVoice_GetAlertBoundary_Proxy(
7300     ISpVoice * This,
7301     /* [out] */ SPEVENTENUM *peBoundary);
7302 
7303 
7304 void __RPC_STUB ISpVoice_GetAlertBoundary_Stub(
7305     IRpcStubBuffer *This,
7306     IRpcChannelBuffer *_pRpcChannelBuffer,
7307     PRPC_MESSAGE _pRpcMessage,
7308     DWORD *_pdwStubPhase);
7309 
7310 
7311 HRESULT STDMETHODCALLTYPE ISpVoice_SetRate_Proxy(
7312     ISpVoice * This,
7313     /* [in] */ long RateAdjust);
7314 
7315 
7316 void __RPC_STUB ISpVoice_SetRate_Stub(
7317     IRpcStubBuffer *This,
7318     IRpcChannelBuffer *_pRpcChannelBuffer,
7319     PRPC_MESSAGE _pRpcMessage,
7320     DWORD *_pdwStubPhase);
7321 
7322 
7323 HRESULT STDMETHODCALLTYPE ISpVoice_GetRate_Proxy(
7324     ISpVoice * This,
7325     /* [out] */ long *pRateAdjust);
7326 
7327 
7328 void __RPC_STUB ISpVoice_GetRate_Stub(
7329     IRpcStubBuffer *This,
7330     IRpcChannelBuffer *_pRpcChannelBuffer,
7331     PRPC_MESSAGE _pRpcMessage,
7332     DWORD *_pdwStubPhase);
7333 
7334 
7335 HRESULT STDMETHODCALLTYPE ISpVoice_SetVolume_Proxy(
7336     ISpVoice * This,
7337     /* [in] */ USHORT usVolume);
7338 
7339 
7340 void __RPC_STUB ISpVoice_SetVolume_Stub(
7341     IRpcStubBuffer *This,
7342     IRpcChannelBuffer *_pRpcChannelBuffer,
7343     PRPC_MESSAGE _pRpcMessage,
7344     DWORD *_pdwStubPhase);
7345 
7346 
7347 HRESULT STDMETHODCALLTYPE ISpVoice_GetVolume_Proxy(
7348     ISpVoice * This,
7349     /* [out] */ USHORT *pusVolume);
7350 
7351 
7352 void __RPC_STUB ISpVoice_GetVolume_Stub(
7353     IRpcStubBuffer *This,
7354     IRpcChannelBuffer *_pRpcChannelBuffer,
7355     PRPC_MESSAGE _pRpcMessage,
7356     DWORD *_pdwStubPhase);
7357 
7358 
7359 HRESULT STDMETHODCALLTYPE ISpVoice_WaitUntilDone_Proxy(
7360     ISpVoice * This,
7361     /* [in] */ ULONG msTimeout);
7362 
7363 
7364 void __RPC_STUB ISpVoice_WaitUntilDone_Stub(
7365     IRpcStubBuffer *This,
7366     IRpcChannelBuffer *_pRpcChannelBuffer,
7367     PRPC_MESSAGE _pRpcMessage,
7368     DWORD *_pdwStubPhase);
7369 
7370 
7371 HRESULT STDMETHODCALLTYPE ISpVoice_SetSyncSpeakTimeout_Proxy(
7372     ISpVoice * This,
7373     /* [in] */ ULONG msTimeout);
7374 
7375 
7376 void __RPC_STUB ISpVoice_SetSyncSpeakTimeout_Stub(
7377     IRpcStubBuffer *This,
7378     IRpcChannelBuffer *_pRpcChannelBuffer,
7379     PRPC_MESSAGE _pRpcMessage,
7380     DWORD *_pdwStubPhase);
7381 
7382 
7383 HRESULT STDMETHODCALLTYPE ISpVoice_GetSyncSpeakTimeout_Proxy(
7384     ISpVoice * This,
7385     /* [out] */ ULONG *pmsTimeout);
7386 
7387 
7388 void __RPC_STUB ISpVoice_GetSyncSpeakTimeout_Stub(
7389     IRpcStubBuffer *This,
7390     IRpcChannelBuffer *_pRpcChannelBuffer,
7391     PRPC_MESSAGE _pRpcMessage,
7392     DWORD *_pdwStubPhase);
7393 
7394 
7395 /* [local] */ HANDLE STDMETHODCALLTYPE ISpVoice_SpeakCompleteEvent_Proxy(
7396     ISpVoice * This);
7397 
7398 
7399 void __RPC_STUB ISpVoice_SpeakCompleteEvent_Stub(
7400     IRpcStubBuffer *This,
7401     IRpcChannelBuffer *_pRpcChannelBuffer,
7402     PRPC_MESSAGE _pRpcMessage,
7403     DWORD *_pdwStubPhase);
7404 
7405 
7406 /* [local] */ HRESULT STDMETHODCALLTYPE ISpVoice_IsUISupported_Proxy(
7407     ISpVoice * This,
7408     /* [in] */ const WCHAR *pszTypeOfUI,
7409     /* [in] */ void *pvExtraData,
7410     /* [in] */ ULONG cbExtraData,
7411     /* [out] */ BOOL *pfSupported);
7412 
7413 
7414 void __RPC_STUB ISpVoice_IsUISupported_Stub(
7415     IRpcStubBuffer *This,
7416     IRpcChannelBuffer *_pRpcChannelBuffer,
7417     PRPC_MESSAGE _pRpcMessage,
7418     DWORD *_pdwStubPhase);
7419 
7420 
7421 /* [local] */ HRESULT STDMETHODCALLTYPE ISpVoice_DisplayUI_Proxy(
7422     ISpVoice * This,
7423     /* [in] */ HWND hwndParent,
7424     /* [in] */ const WCHAR *pszTitle,
7425     /* [in] */ const WCHAR *pszTypeOfUI,
7426     /* [in] */ void *pvExtraData,
7427     /* [in] */ ULONG cbExtraData);
7428 
7429 
7430 void __RPC_STUB ISpVoice_DisplayUI_Stub(
7431     IRpcStubBuffer *This,
7432     IRpcChannelBuffer *_pRpcChannelBuffer,
7433     PRPC_MESSAGE _pRpcMessage,
7434     DWORD *_pdwStubPhase);
7435 
7436 
7437 
7438 #endif 	/* __ISpVoice_INTERFACE_DEFINED__ */
7439 
7440 
7441 #ifndef __ISpPhrase_INTERFACE_DEFINED__
7442 #define __ISpPhrase_INTERFACE_DEFINED__
7443 
7444 /* interface ISpPhrase */
7445 /* [restricted][unique][helpstring][local][uuid][object] */
7446 
7447 
7448 EXTERN_C const IID IID_ISpPhrase;
7449 
7450 #if defined(__cplusplus) && !defined(CINTERFACE)
7451 
7452     MIDL_INTERFACE("1A5C0354-B621-4b5a-8791-D306ED379E53")
7453     ISpPhrase : public IUnknown
7454     {
7455     public:
7456         virtual HRESULT STDMETHODCALLTYPE GetPhrase(
7457             /* [out] */ SPPHRASE **ppCoMemPhrase) = 0;
7458 
7459         virtual HRESULT STDMETHODCALLTYPE GetSerializedPhrase(
7460             /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase) = 0;
7461 
7462         virtual HRESULT STDMETHODCALLTYPE GetText(
7463             /* [in] */ ULONG ulStart,
7464             /* [in] */ ULONG ulCount,
7465             /* [in] */ BOOL fUseTextReplacements,
7466             /* [out] */ WCHAR **ppszCoMemText,
7467             /* [out] */ BYTE *pbDisplayAttributes) = 0;
7468 
7469         virtual HRESULT STDMETHODCALLTYPE Discard(
7470             /* [in] */ DWORD dwValueTypes) = 0;
7471 
7472     };
7473 
7474 #else 	/* C style interface */
7475 
7476     typedef struct ISpPhraseVtbl
7477     {
7478         BEGIN_INTERFACE
7479 
7480         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7481             ISpPhrase * This,
7482             /* [in] */ REFIID riid,
7483             /* [iid_is][out] */ void **ppvObject);
7484 
7485         ULONG ( STDMETHODCALLTYPE *AddRef )(
7486             ISpPhrase * This);
7487 
7488         ULONG ( STDMETHODCALLTYPE *Release )(
7489             ISpPhrase * This);
7490 
7491         HRESULT ( STDMETHODCALLTYPE *GetPhrase )(
7492             ISpPhrase * This,
7493             /* [out] */ SPPHRASE **ppCoMemPhrase);
7494 
7495         HRESULT ( STDMETHODCALLTYPE *GetSerializedPhrase )(
7496             ISpPhrase * This,
7497             /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase);
7498 
7499         HRESULT ( STDMETHODCALLTYPE *GetText )(
7500             ISpPhrase * This,
7501             /* [in] */ ULONG ulStart,
7502             /* [in] */ ULONG ulCount,
7503             /* [in] */ BOOL fUseTextReplacements,
7504             /* [out] */ WCHAR **ppszCoMemText,
7505             /* [out] */ BYTE *pbDisplayAttributes);
7506 
7507         HRESULT ( STDMETHODCALLTYPE *Discard )(
7508             ISpPhrase * This,
7509             /* [in] */ DWORD dwValueTypes);
7510 
7511         END_INTERFACE
7512     } ISpPhraseVtbl;
7513 
7514     interface ISpPhrase
7515     {
7516         CONST_VTBL struct ISpPhraseVtbl *lpVtbl;
7517     };
7518 
7519 
7520 
7521 #ifdef COBJMACROS
7522 
7523 
7524 #define ISpPhrase_QueryInterface(This,riid,ppvObject)	\
7525     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
7526 
7527 #define ISpPhrase_AddRef(This)	\
7528     (This)->lpVtbl -> AddRef(This)
7529 
7530 #define ISpPhrase_Release(This)	\
7531     (This)->lpVtbl -> Release(This)
7532 
7533 
7534 #define ISpPhrase_GetPhrase(This,ppCoMemPhrase)	\
7535     (This)->lpVtbl -> GetPhrase(This,ppCoMemPhrase)
7536 
7537 #define ISpPhrase_GetSerializedPhrase(This,ppCoMemPhrase)	\
7538     (This)->lpVtbl -> GetSerializedPhrase(This,ppCoMemPhrase)
7539 
7540 #define ISpPhrase_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)	\
7541     (This)->lpVtbl -> GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
7542 
7543 #define ISpPhrase_Discard(This,dwValueTypes)	\
7544     (This)->lpVtbl -> Discard(This,dwValueTypes)
7545 
7546 #endif /* COBJMACROS */
7547 
7548 
7549 #endif 	/* C style interface */
7550 
7551 
7552 
7553 HRESULT STDMETHODCALLTYPE ISpPhrase_GetPhrase_Proxy(
7554     ISpPhrase * This,
7555     /* [out] */ SPPHRASE **ppCoMemPhrase);
7556 
7557 
7558 void __RPC_STUB ISpPhrase_GetPhrase_Stub(
7559     IRpcStubBuffer *This,
7560     IRpcChannelBuffer *_pRpcChannelBuffer,
7561     PRPC_MESSAGE _pRpcMessage,
7562     DWORD *_pdwStubPhase);
7563 
7564 
7565 HRESULT STDMETHODCALLTYPE ISpPhrase_GetSerializedPhrase_Proxy(
7566     ISpPhrase * This,
7567     /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase);
7568 
7569 
7570 void __RPC_STUB ISpPhrase_GetSerializedPhrase_Stub(
7571     IRpcStubBuffer *This,
7572     IRpcChannelBuffer *_pRpcChannelBuffer,
7573     PRPC_MESSAGE _pRpcMessage,
7574     DWORD *_pdwStubPhase);
7575 
7576 
7577 HRESULT STDMETHODCALLTYPE ISpPhrase_GetText_Proxy(
7578     ISpPhrase * This,
7579     /* [in] */ ULONG ulStart,
7580     /* [in] */ ULONG ulCount,
7581     /* [in] */ BOOL fUseTextReplacements,
7582     /* [out] */ WCHAR **ppszCoMemText,
7583     /* [out] */ BYTE *pbDisplayAttributes);
7584 
7585 
7586 void __RPC_STUB ISpPhrase_GetText_Stub(
7587     IRpcStubBuffer *This,
7588     IRpcChannelBuffer *_pRpcChannelBuffer,
7589     PRPC_MESSAGE _pRpcMessage,
7590     DWORD *_pdwStubPhase);
7591 
7592 
7593 HRESULT STDMETHODCALLTYPE ISpPhrase_Discard_Proxy(
7594     ISpPhrase * This,
7595     /* [in] */ DWORD dwValueTypes);
7596 
7597 
7598 void __RPC_STUB ISpPhrase_Discard_Stub(
7599     IRpcStubBuffer *This,
7600     IRpcChannelBuffer *_pRpcChannelBuffer,
7601     PRPC_MESSAGE _pRpcMessage,
7602     DWORD *_pdwStubPhase);
7603 
7604 
7605 
7606 #endif 	/* __ISpPhrase_INTERFACE_DEFINED__ */
7607 
7608 
7609 #ifndef __ISpPhraseAlt_INTERFACE_DEFINED__
7610 #define __ISpPhraseAlt_INTERFACE_DEFINED__
7611 
7612 /* interface ISpPhraseAlt */
7613 /* [restricted][unique][helpstring][local][uuid][object] */
7614 
7615 
7616 EXTERN_C const IID IID_ISpPhraseAlt;
7617 
7618 #if defined(__cplusplus) && !defined(CINTERFACE)
7619 
7620     MIDL_INTERFACE("8FCEBC98-4E49-4067-9C6C-D86A0E092E3D")
7621     ISpPhraseAlt : public ISpPhrase
7622     {
7623     public:
7624         virtual HRESULT STDMETHODCALLTYPE GetAltInfo(
7625             ISpPhrase **ppParent,
7626             ULONG *pulStartElementInParent,
7627             ULONG *pcElementsInParent,
7628             ULONG *pcElementsInAlt) = 0;
7629 
7630         virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
7631 
7632     };
7633 
7634 #else 	/* C style interface */
7635 
7636     typedef struct ISpPhraseAltVtbl
7637     {
7638         BEGIN_INTERFACE
7639 
7640         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7641             ISpPhraseAlt * This,
7642             /* [in] */ REFIID riid,
7643             /* [iid_is][out] */ void **ppvObject);
7644 
7645         ULONG ( STDMETHODCALLTYPE *AddRef )(
7646             ISpPhraseAlt * This);
7647 
7648         ULONG ( STDMETHODCALLTYPE *Release )(
7649             ISpPhraseAlt * This);
7650 
7651         HRESULT ( STDMETHODCALLTYPE *GetPhrase )(
7652             ISpPhraseAlt * This,
7653             /* [out] */ SPPHRASE **ppCoMemPhrase);
7654 
7655         HRESULT ( STDMETHODCALLTYPE *GetSerializedPhrase )(
7656             ISpPhraseAlt * This,
7657             /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase);
7658 
7659         HRESULT ( STDMETHODCALLTYPE *GetText )(
7660             ISpPhraseAlt * This,
7661             /* [in] */ ULONG ulStart,
7662             /* [in] */ ULONG ulCount,
7663             /* [in] */ BOOL fUseTextReplacements,
7664             /* [out] */ WCHAR **ppszCoMemText,
7665             /* [out] */ BYTE *pbDisplayAttributes);
7666 
7667         HRESULT ( STDMETHODCALLTYPE *Discard )(
7668             ISpPhraseAlt * This,
7669             /* [in] */ DWORD dwValueTypes);
7670 
7671         HRESULT ( STDMETHODCALLTYPE *GetAltInfo )(
7672             ISpPhraseAlt * This,
7673             ISpPhrase **ppParent,
7674             ULONG *pulStartElementInParent,
7675             ULONG *pcElementsInParent,
7676             ULONG *pcElementsInAlt);
7677 
7678         HRESULT ( STDMETHODCALLTYPE *Commit )(
7679             ISpPhraseAlt * This);
7680 
7681         END_INTERFACE
7682     } ISpPhraseAltVtbl;
7683 
7684     interface ISpPhraseAlt
7685     {
7686         CONST_VTBL struct ISpPhraseAltVtbl *lpVtbl;
7687     };
7688 
7689 
7690 
7691 #ifdef COBJMACROS
7692 
7693 
7694 #define ISpPhraseAlt_QueryInterface(This,riid,ppvObject)	\
7695     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
7696 
7697 #define ISpPhraseAlt_AddRef(This)	\
7698     (This)->lpVtbl -> AddRef(This)
7699 
7700 #define ISpPhraseAlt_Release(This)	\
7701     (This)->lpVtbl -> Release(This)
7702 
7703 
7704 #define ISpPhraseAlt_GetPhrase(This,ppCoMemPhrase)	\
7705     (This)->lpVtbl -> GetPhrase(This,ppCoMemPhrase)
7706 
7707 #define ISpPhraseAlt_GetSerializedPhrase(This,ppCoMemPhrase)	\
7708     (This)->lpVtbl -> GetSerializedPhrase(This,ppCoMemPhrase)
7709 
7710 #define ISpPhraseAlt_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)	\
7711     (This)->lpVtbl -> GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
7712 
7713 #define ISpPhraseAlt_Discard(This,dwValueTypes)	\
7714     (This)->lpVtbl -> Discard(This,dwValueTypes)
7715 
7716 
7717 #define ISpPhraseAlt_GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt)	\
7718     (This)->lpVtbl -> GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt)
7719 
7720 #define ISpPhraseAlt_Commit(This)	\
7721     (This)->lpVtbl -> Commit(This)
7722 
7723 #endif /* COBJMACROS */
7724 
7725 
7726 #endif 	/* C style interface */
7727 
7728 
7729 
7730 HRESULT STDMETHODCALLTYPE ISpPhraseAlt_GetAltInfo_Proxy(
7731     ISpPhraseAlt * This,
7732     ISpPhrase **ppParent,
7733     ULONG *pulStartElementInParent,
7734     ULONG *pcElementsInParent,
7735     ULONG *pcElementsInAlt);
7736 
7737 
7738 void __RPC_STUB ISpPhraseAlt_GetAltInfo_Stub(
7739     IRpcStubBuffer *This,
7740     IRpcChannelBuffer *_pRpcChannelBuffer,
7741     PRPC_MESSAGE _pRpcMessage,
7742     DWORD *_pdwStubPhase);
7743 
7744 
7745 HRESULT STDMETHODCALLTYPE ISpPhraseAlt_Commit_Proxy(
7746     ISpPhraseAlt * This);
7747 
7748 
7749 void __RPC_STUB ISpPhraseAlt_Commit_Stub(
7750     IRpcStubBuffer *This,
7751     IRpcChannelBuffer *_pRpcChannelBuffer,
7752     PRPC_MESSAGE _pRpcMessage,
7753     DWORD *_pdwStubPhase);
7754 
7755 
7756 
7757 #endif 	/* __ISpPhraseAlt_INTERFACE_DEFINED__ */
7758 
7759 
7760 /* interface __MIDL_itf_sapi_0276 */
7761 /* [local] */
7762 
7763 typedef /* [hidden][restricted] */ struct SPRECORESULTTIMES
7764     {
7765     FILETIME ftStreamTime;
7766     ULONGLONG ullLength;
7767     DWORD dwTickCount;
7768     ULONGLONG ullStart;
7769     } 	SPRECORESULTTIMES;
7770 
7771 typedef /* [hidden] */ struct SPSERIALIZEDRESULT
7772     {
7773     ULONG ulSerializedSize;
7774     } 	SPSERIALIZEDRESULT;
7775 
7776 
7777 
7778 extern RPC_IF_HANDLE __MIDL_itf_sapi_0276_v0_0_c_ifspec;
7779 extern RPC_IF_HANDLE __MIDL_itf_sapi_0276_v0_0_s_ifspec;
7780 
7781 #ifndef __ISpRecoResult_INTERFACE_DEFINED__
7782 #define __ISpRecoResult_INTERFACE_DEFINED__
7783 
7784 /* interface ISpRecoResult */
7785 /* [restricted][local][unique][helpstring][uuid][object] */
7786 
7787 
7788 EXTERN_C const IID IID_ISpRecoResult;
7789 
7790 #if defined(__cplusplus) && !defined(CINTERFACE)
7791 
7792     MIDL_INTERFACE("20B053BE-E235-43cd-9A2A-8D17A48B7842")
7793     ISpRecoResult : public ISpPhrase
7794     {
7795     public:
7796         virtual HRESULT STDMETHODCALLTYPE GetResultTimes(
7797             /* [out] */ SPRECORESULTTIMES *pTimes) = 0;
7798 
7799         virtual HRESULT STDMETHODCALLTYPE GetAlternates(
7800             /* [in] */ ULONG ulStartElement,
7801             /* [in] */ ULONG cElements,
7802             /* [in] */ ULONG ulRequestCount,
7803             /* [out] */ ISpPhraseAlt **ppPhrases,
7804             /* [out] */ ULONG *pcPhrasesReturned) = 0;
7805 
7806         virtual HRESULT STDMETHODCALLTYPE GetAudio(
7807             /* [in] */ ULONG ulStartElement,
7808             /* [in] */ ULONG cElements,
7809             /* [out] */ ISpStreamFormat **ppStream) = 0;
7810 
7811         virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
7812             /* [in] */ ULONG ulStartElement,
7813             /* [in] */ ULONG cElements,
7814             /* [in] */ DWORD dwFlags,
7815             /* [out] */ ULONG *pulStreamNumber) = 0;
7816 
7817         virtual HRESULT STDMETHODCALLTYPE Serialize(
7818             /* [out] */ SPSERIALIZEDRESULT **ppCoMemSerializedResult) = 0;
7819 
7820         virtual HRESULT STDMETHODCALLTYPE ScaleAudio(
7821             /* [in] */ const GUID *pAudioFormatId,
7822             /* [in] */ const WAVEFORMATEX *pWaveFormatEx) = 0;
7823 
7824         virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
7825             /* [out] */ ISpRecoContext **ppRecoContext) = 0;
7826 
7827     };
7828 
7829 #else 	/* C style interface */
7830 
7831     typedef struct ISpRecoResultVtbl
7832     {
7833         BEGIN_INTERFACE
7834 
7835         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7836             ISpRecoResult * This,
7837             /* [in] */ REFIID riid,
7838             /* [iid_is][out] */ void **ppvObject);
7839 
7840         ULONG ( STDMETHODCALLTYPE *AddRef )(
7841             ISpRecoResult * This);
7842 
7843         ULONG ( STDMETHODCALLTYPE *Release )(
7844             ISpRecoResult * This);
7845 
7846         HRESULT ( STDMETHODCALLTYPE *GetPhrase )(
7847             ISpRecoResult * This,
7848             /* [out] */ SPPHRASE **ppCoMemPhrase);
7849 
7850         HRESULT ( STDMETHODCALLTYPE *GetSerializedPhrase )(
7851             ISpRecoResult * This,
7852             /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase);
7853 
7854         HRESULT ( STDMETHODCALLTYPE *GetText )(
7855             ISpRecoResult * This,
7856             /* [in] */ ULONG ulStart,
7857             /* [in] */ ULONG ulCount,
7858             /* [in] */ BOOL fUseTextReplacements,
7859             /* [out] */ WCHAR **ppszCoMemText,
7860             /* [out] */ BYTE *pbDisplayAttributes);
7861 
7862         HRESULT ( STDMETHODCALLTYPE *Discard )(
7863             ISpRecoResult * This,
7864             /* [in] */ DWORD dwValueTypes);
7865 
7866         HRESULT ( STDMETHODCALLTYPE *GetResultTimes )(
7867             ISpRecoResult * This,
7868             /* [out] */ SPRECORESULTTIMES *pTimes);
7869 
7870         HRESULT ( STDMETHODCALLTYPE *GetAlternates )(
7871             ISpRecoResult * This,
7872             /* [in] */ ULONG ulStartElement,
7873             /* [in] */ ULONG cElements,
7874             /* [in] */ ULONG ulRequestCount,
7875             /* [out] */ ISpPhraseAlt **ppPhrases,
7876             /* [out] */ ULONG *pcPhrasesReturned);
7877 
7878         HRESULT ( STDMETHODCALLTYPE *GetAudio )(
7879             ISpRecoResult * This,
7880             /* [in] */ ULONG ulStartElement,
7881             /* [in] */ ULONG cElements,
7882             /* [out] */ ISpStreamFormat **ppStream);
7883 
7884         HRESULT ( STDMETHODCALLTYPE *SpeakAudio )(
7885             ISpRecoResult * This,
7886             /* [in] */ ULONG ulStartElement,
7887             /* [in] */ ULONG cElements,
7888             /* [in] */ DWORD dwFlags,
7889             /* [out] */ ULONG *pulStreamNumber);
7890 
7891         HRESULT ( STDMETHODCALLTYPE *Serialize )(
7892             ISpRecoResult * This,
7893             /* [out] */ SPSERIALIZEDRESULT **ppCoMemSerializedResult);
7894 
7895         HRESULT ( STDMETHODCALLTYPE *ScaleAudio )(
7896             ISpRecoResult * This,
7897             /* [in] */ const GUID *pAudioFormatId,
7898             /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
7899 
7900         HRESULT ( STDMETHODCALLTYPE *GetRecoContext )(
7901             ISpRecoResult * This,
7902             /* [out] */ ISpRecoContext **ppRecoContext);
7903 
7904         END_INTERFACE
7905     } ISpRecoResultVtbl;
7906 
7907     interface ISpRecoResult
7908     {
7909         CONST_VTBL struct ISpRecoResultVtbl *lpVtbl;
7910     };
7911 
7912 
7913 
7914 #ifdef COBJMACROS
7915 
7916 
7917 #define ISpRecoResult_QueryInterface(This,riid,ppvObject)	\
7918     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
7919 
7920 #define ISpRecoResult_AddRef(This)	\
7921     (This)->lpVtbl -> AddRef(This)
7922 
7923 #define ISpRecoResult_Release(This)	\
7924     (This)->lpVtbl -> Release(This)
7925 
7926 
7927 #define ISpRecoResult_GetPhrase(This,ppCoMemPhrase)	\
7928     (This)->lpVtbl -> GetPhrase(This,ppCoMemPhrase)
7929 
7930 #define ISpRecoResult_GetSerializedPhrase(This,ppCoMemPhrase)	\
7931     (This)->lpVtbl -> GetSerializedPhrase(This,ppCoMemPhrase)
7932 
7933 #define ISpRecoResult_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)	\
7934     (This)->lpVtbl -> GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
7935 
7936 #define ISpRecoResult_Discard(This,dwValueTypes)	\
7937     (This)->lpVtbl -> Discard(This,dwValueTypes)
7938 
7939 
7940 #define ISpRecoResult_GetResultTimes(This,pTimes)	\
7941     (This)->lpVtbl -> GetResultTimes(This,pTimes)
7942 
7943 #define ISpRecoResult_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)	\
7944     (This)->lpVtbl -> GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
7945 
7946 #define ISpRecoResult_GetAudio(This,ulStartElement,cElements,ppStream)	\
7947     (This)->lpVtbl -> GetAudio(This,ulStartElement,cElements,ppStream)
7948 
7949 #define ISpRecoResult_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)	\
7950     (This)->lpVtbl -> SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
7951 
7952 #define ISpRecoResult_Serialize(This,ppCoMemSerializedResult)	\
7953     (This)->lpVtbl -> Serialize(This,ppCoMemSerializedResult)
7954 
7955 #define ISpRecoResult_ScaleAudio(This,pAudioFormatId,pWaveFormatEx)	\
7956     (This)->lpVtbl -> ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
7957 
7958 #define ISpRecoResult_GetRecoContext(This,ppRecoContext)	\
7959     (This)->lpVtbl -> GetRecoContext(This,ppRecoContext)
7960 
7961 #endif /* COBJMACROS */
7962 
7963 
7964 #endif 	/* C style interface */
7965 
7966 
7967 
7968 HRESULT STDMETHODCALLTYPE ISpRecoResult_GetResultTimes_Proxy(
7969     ISpRecoResult * This,
7970     /* [out] */ SPRECORESULTTIMES *pTimes);
7971 
7972 
7973 void __RPC_STUB ISpRecoResult_GetResultTimes_Stub(
7974     IRpcStubBuffer *This,
7975     IRpcChannelBuffer *_pRpcChannelBuffer,
7976     PRPC_MESSAGE _pRpcMessage,
7977     DWORD *_pdwStubPhase);
7978 
7979 
7980 HRESULT STDMETHODCALLTYPE ISpRecoResult_GetAlternates_Proxy(
7981     ISpRecoResult * This,
7982     /* [in] */ ULONG ulStartElement,
7983     /* [in] */ ULONG cElements,
7984     /* [in] */ ULONG ulRequestCount,
7985     /* [out] */ ISpPhraseAlt **ppPhrases,
7986     /* [out] */ ULONG *pcPhrasesReturned);
7987 
7988 
7989 void __RPC_STUB ISpRecoResult_GetAlternates_Stub(
7990     IRpcStubBuffer *This,
7991     IRpcChannelBuffer *_pRpcChannelBuffer,
7992     PRPC_MESSAGE _pRpcMessage,
7993     DWORD *_pdwStubPhase);
7994 
7995 
7996 HRESULT STDMETHODCALLTYPE ISpRecoResult_GetAudio_Proxy(
7997     ISpRecoResult * This,
7998     /* [in] */ ULONG ulStartElement,
7999     /* [in] */ ULONG cElements,
8000     /* [out] */ ISpStreamFormat **ppStream);
8001 
8002 
8003 void __RPC_STUB ISpRecoResult_GetAudio_Stub(
8004     IRpcStubBuffer *This,
8005     IRpcChannelBuffer *_pRpcChannelBuffer,
8006     PRPC_MESSAGE _pRpcMessage,
8007     DWORD *_pdwStubPhase);
8008 
8009 
8010 HRESULT STDMETHODCALLTYPE ISpRecoResult_SpeakAudio_Proxy(
8011     ISpRecoResult * This,
8012     /* [in] */ ULONG ulStartElement,
8013     /* [in] */ ULONG cElements,
8014     /* [in] */ DWORD dwFlags,
8015     /* [out] */ ULONG *pulStreamNumber);
8016 
8017 
8018 void __RPC_STUB ISpRecoResult_SpeakAudio_Stub(
8019     IRpcStubBuffer *This,
8020     IRpcChannelBuffer *_pRpcChannelBuffer,
8021     PRPC_MESSAGE _pRpcMessage,
8022     DWORD *_pdwStubPhase);
8023 
8024 
8025 HRESULT STDMETHODCALLTYPE ISpRecoResult_Serialize_Proxy(
8026     ISpRecoResult * This,
8027     /* [out] */ SPSERIALIZEDRESULT **ppCoMemSerializedResult);
8028 
8029 
8030 void __RPC_STUB ISpRecoResult_Serialize_Stub(
8031     IRpcStubBuffer *This,
8032     IRpcChannelBuffer *_pRpcChannelBuffer,
8033     PRPC_MESSAGE _pRpcMessage,
8034     DWORD *_pdwStubPhase);
8035 
8036 
8037 HRESULT STDMETHODCALLTYPE ISpRecoResult_ScaleAudio_Proxy(
8038     ISpRecoResult * This,
8039     /* [in] */ const GUID *pAudioFormatId,
8040     /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
8041 
8042 
8043 void __RPC_STUB ISpRecoResult_ScaleAudio_Stub(
8044     IRpcStubBuffer *This,
8045     IRpcChannelBuffer *_pRpcChannelBuffer,
8046     PRPC_MESSAGE _pRpcMessage,
8047     DWORD *_pdwStubPhase);
8048 
8049 
8050 HRESULT STDMETHODCALLTYPE ISpRecoResult_GetRecoContext_Proxy(
8051     ISpRecoResult * This,
8052     /* [out] */ ISpRecoContext **ppRecoContext);
8053 
8054 
8055 void __RPC_STUB ISpRecoResult_GetRecoContext_Stub(
8056     IRpcStubBuffer *This,
8057     IRpcChannelBuffer *_pRpcChannelBuffer,
8058     PRPC_MESSAGE _pRpcMessage,
8059     DWORD *_pdwStubPhase);
8060 
8061 
8062 
8063 #endif 	/* __ISpRecoResult_INTERFACE_DEFINED__ */
8064 
8065 
8066 /* interface __MIDL_itf_sapi_0277 */
8067 /* [local] */
8068 
8069 typedef /* [hidden] */ struct tagSPTEXTSELECTIONINFO
8070     {
8071     ULONG ulStartActiveOffset;
8072     ULONG cchActiveChars;
8073     ULONG ulStartSelection;
8074     ULONG cchSelection;
8075     } 	SPTEXTSELECTIONINFO;
8076 
8077 typedef /* [hidden] */
8078 enum SPWORDPRONOUNCEABLE
8079     {	SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE	= 0,
8080 	SPWP_UNKNOWN_WORD_PRONOUNCEABLE	= 1,
8081 	SPWP_KNOWN_WORD_PRONOUNCEABLE	= 2
8082     } 	SPWORDPRONOUNCEABLE;
8083 
8084 typedef /* [hidden] */
8085 enum SPGRAMMARSTATE
8086     {	SPGS_DISABLED	= 0,
8087 	SPGS_ENABLED	= 1,
8088 	SPGS_EXCLUSIVE	= 3
8089     } 	SPGRAMMARSTATE;
8090 
8091 typedef /* [hidden] */
8092 enum SPCONTEXTSTATE
8093     {	SPCS_DISABLED	= 0,
8094 	SPCS_ENABLED	= 1
8095     } 	SPCONTEXTSTATE;
8096 
8097 typedef /* [hidden] */
8098 enum SPRULESTATE
8099     {	SPRS_INACTIVE	= 0,
8100 	SPRS_ACTIVE	= 1,
8101 	SPRS_ACTIVE_WITH_AUTO_PAUSE	= 3
8102     } 	SPRULESTATE;
8103 
8104 #define	SP_STREAMPOS_ASAP	( 0 )
8105 
8106 #define	SP_STREAMPOS_REALTIME	( -1 )
8107 
8108 #define SPRULETRANS_TEXTBUFFER (SPSTATEHANDLE)(-1)
8109 #define SPRULETRANS_WILDCARD   (SPSTATEHANDLE)(-2)
8110 #define SPRULETRANS_DICTATION  (SPSTATEHANDLE)(-3)
8111 typedef /* [hidden] */
8112 enum SPGRAMMARWORDTYPE
8113     {	SPWT_DISPLAY	= 0,
8114 	SPWT_LEXICAL	= SPWT_DISPLAY + 1,
8115 	SPWT_PRONUNCIATION	= SPWT_LEXICAL + 1
8116     } 	SPGRAMMARWORDTYPE;
8117 
8118 typedef /* [hidden] */ struct tagSPPROPERTYINFO
8119     {
8120     const WCHAR *pszName;
8121     ULONG ulId;
8122     const WCHAR *pszValue;
8123     VARIANT vValue;
8124     } 	SPPROPERTYINFO;
8125 
8126 typedef /* [hidden] */
8127 enum SPCFGRULEATTRIBUTES
8128     {	SPRAF_TopLevel	= 1 << 0,
8129 	SPRAF_Active	= 1 << 1,
8130 	SPRAF_Export	= 1 << 2,
8131 	SPRAF_Import	= 1 << 3,
8132 	SPRAF_Interpreter	= 1 << 4,
8133 	SPRAF_Dynamic	= 1 << 5,
8134 	SPRAF_AutoPause	= 1 << 16
8135     } 	SPCFGRULEATTRIBUTES;
8136 
8137 
8138 
8139 extern RPC_IF_HANDLE __MIDL_itf_sapi_0277_v0_0_c_ifspec;
8140 extern RPC_IF_HANDLE __MIDL_itf_sapi_0277_v0_0_s_ifspec;
8141 
8142 #ifndef __ISpGrammarBuilder_INTERFACE_DEFINED__
8143 #define __ISpGrammarBuilder_INTERFACE_DEFINED__
8144 
8145 /* interface ISpGrammarBuilder */
8146 /* [local][restricted][unique][helpstring][uuid][object] */
8147 
8148 
8149 EXTERN_C const IID IID_ISpGrammarBuilder;
8150 
8151 #if defined(__cplusplus) && !defined(CINTERFACE)
8152 
8153     MIDL_INTERFACE("8137828F-591A-4A42-BE58-49EA7EBAAC68")
8154     ISpGrammarBuilder : public IUnknown
8155     {
8156     public:
8157         virtual HRESULT STDMETHODCALLTYPE ResetGrammar(
8158             /* [in] */ WORD NewLanguage) = 0;
8159 
8160         virtual HRESULT STDMETHODCALLTYPE GetRule(
8161             /* [in] */ const WCHAR *pszRuleName,
8162             /* [in] */ DWORD dwRuleId,
8163             /* [in] */ DWORD dwAttributes,
8164             /* [in] */ BOOL fCreateIfNotExist,
8165             /* [out] */ SPSTATEHANDLE *phInitialState) = 0;
8166 
8167         virtual HRESULT STDMETHODCALLTYPE ClearRule(
8168             SPSTATEHANDLE hState) = 0;
8169 
8170         virtual HRESULT STDMETHODCALLTYPE CreateNewState(
8171             SPSTATEHANDLE hState,
8172             SPSTATEHANDLE *phState) = 0;
8173 
8174         virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
8175             SPSTATEHANDLE hFromState,
8176             SPSTATEHANDLE hToState,
8177             const WCHAR *psz,
8178             const WCHAR *pszSeparators,
8179             SPGRAMMARWORDTYPE eWordType,
8180             float Weight,
8181             const SPPROPERTYINFO *pPropInfo) = 0;
8182 
8183         virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
8184             SPSTATEHANDLE hFromState,
8185             SPSTATEHANDLE hToState,
8186             SPSTATEHANDLE hRule,
8187             float Weight,
8188             const SPPROPERTYINFO *pPropInfo) = 0;
8189 
8190         virtual HRESULT STDMETHODCALLTYPE AddResource(
8191             /* [in] */ SPSTATEHANDLE hRuleState,
8192             /* [in] */ const WCHAR *pszResourceName,
8193             /* [in] */ const WCHAR *pszResourceValue) = 0;
8194 
8195         virtual HRESULT STDMETHODCALLTYPE Commit(
8196             DWORD dwReserved) = 0;
8197 
8198     };
8199 
8200 #else 	/* C style interface */
8201 
8202     typedef struct ISpGrammarBuilderVtbl
8203     {
8204         BEGIN_INTERFACE
8205 
8206         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
8207             ISpGrammarBuilder * This,
8208             /* [in] */ REFIID riid,
8209             /* [iid_is][out] */ void **ppvObject);
8210 
8211         ULONG ( STDMETHODCALLTYPE *AddRef )(
8212             ISpGrammarBuilder * This);
8213 
8214         ULONG ( STDMETHODCALLTYPE *Release )(
8215             ISpGrammarBuilder * This);
8216 
8217         HRESULT ( STDMETHODCALLTYPE *ResetGrammar )(
8218             ISpGrammarBuilder * This,
8219             /* [in] */ WORD NewLanguage);
8220 
8221         HRESULT ( STDMETHODCALLTYPE *GetRule )(
8222             ISpGrammarBuilder * This,
8223             /* [in] */ const WCHAR *pszRuleName,
8224             /* [in] */ DWORD dwRuleId,
8225             /* [in] */ DWORD dwAttributes,
8226             /* [in] */ BOOL fCreateIfNotExist,
8227             /* [out] */ SPSTATEHANDLE *phInitialState);
8228 
8229         HRESULT ( STDMETHODCALLTYPE *ClearRule )(
8230             ISpGrammarBuilder * This,
8231             SPSTATEHANDLE hState);
8232 
8233         HRESULT ( STDMETHODCALLTYPE *CreateNewState )(
8234             ISpGrammarBuilder * This,
8235             SPSTATEHANDLE hState,
8236             SPSTATEHANDLE *phState);
8237 
8238         HRESULT ( STDMETHODCALLTYPE *AddWordTransition )(
8239             ISpGrammarBuilder * This,
8240             SPSTATEHANDLE hFromState,
8241             SPSTATEHANDLE hToState,
8242             const WCHAR *psz,
8243             const WCHAR *pszSeparators,
8244             SPGRAMMARWORDTYPE eWordType,
8245             float Weight,
8246             const SPPROPERTYINFO *pPropInfo);
8247 
8248         HRESULT ( STDMETHODCALLTYPE *AddRuleTransition )(
8249             ISpGrammarBuilder * This,
8250             SPSTATEHANDLE hFromState,
8251             SPSTATEHANDLE hToState,
8252             SPSTATEHANDLE hRule,
8253             float Weight,
8254             const SPPROPERTYINFO *pPropInfo);
8255 
8256         HRESULT ( STDMETHODCALLTYPE *AddResource )(
8257             ISpGrammarBuilder * This,
8258             /* [in] */ SPSTATEHANDLE hRuleState,
8259             /* [in] */ const WCHAR *pszResourceName,
8260             /* [in] */ const WCHAR *pszResourceValue);
8261 
8262         HRESULT ( STDMETHODCALLTYPE *Commit )(
8263             ISpGrammarBuilder * This,
8264             DWORD dwReserved);
8265 
8266         END_INTERFACE
8267     } ISpGrammarBuilderVtbl;
8268 
8269     interface ISpGrammarBuilder
8270     {
8271         CONST_VTBL struct ISpGrammarBuilderVtbl *lpVtbl;
8272     };
8273 
8274 
8275 
8276 #ifdef COBJMACROS
8277 
8278 
8279 #define ISpGrammarBuilder_QueryInterface(This,riid,ppvObject)	\
8280     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
8281 
8282 #define ISpGrammarBuilder_AddRef(This)	\
8283     (This)->lpVtbl -> AddRef(This)
8284 
8285 #define ISpGrammarBuilder_Release(This)	\
8286     (This)->lpVtbl -> Release(This)
8287 
8288 
8289 #define ISpGrammarBuilder_ResetGrammar(This,NewLanguage)	\
8290     (This)->lpVtbl -> ResetGrammar(This,NewLanguage)
8291 
8292 #define ISpGrammarBuilder_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)	\
8293     (This)->lpVtbl -> GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
8294 
8295 #define ISpGrammarBuilder_ClearRule(This,hState)	\
8296     (This)->lpVtbl -> ClearRule(This,hState)
8297 
8298 #define ISpGrammarBuilder_CreateNewState(This,hState,phState)	\
8299     (This)->lpVtbl -> CreateNewState(This,hState,phState)
8300 
8301 #define ISpGrammarBuilder_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)	\
8302     (This)->lpVtbl -> AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
8303 
8304 #define ISpGrammarBuilder_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)	\
8305     (This)->lpVtbl -> AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
8306 
8307 #define ISpGrammarBuilder_AddResource(This,hRuleState,pszResourceName,pszResourceValue)	\
8308     (This)->lpVtbl -> AddResource(This,hRuleState,pszResourceName,pszResourceValue)
8309 
8310 #define ISpGrammarBuilder_Commit(This,dwReserved)	\
8311     (This)->lpVtbl -> Commit(This,dwReserved)
8312 
8313 #endif /* COBJMACROS */
8314 
8315 
8316 #endif 	/* C style interface */
8317 
8318 
8319 
8320 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_ResetGrammar_Proxy(
8321     ISpGrammarBuilder * This,
8322     /* [in] */ WORD NewLanguage);
8323 
8324 
8325 void __RPC_STUB ISpGrammarBuilder_ResetGrammar_Stub(
8326     IRpcStubBuffer *This,
8327     IRpcChannelBuffer *_pRpcChannelBuffer,
8328     PRPC_MESSAGE _pRpcMessage,
8329     DWORD *_pdwStubPhase);
8330 
8331 
8332 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_GetRule_Proxy(
8333     ISpGrammarBuilder * This,
8334     /* [in] */ const WCHAR *pszRuleName,
8335     /* [in] */ DWORD dwRuleId,
8336     /* [in] */ DWORD dwAttributes,
8337     /* [in] */ BOOL fCreateIfNotExist,
8338     /* [out] */ SPSTATEHANDLE *phInitialState);
8339 
8340 
8341 void __RPC_STUB ISpGrammarBuilder_GetRule_Stub(
8342     IRpcStubBuffer *This,
8343     IRpcChannelBuffer *_pRpcChannelBuffer,
8344     PRPC_MESSAGE _pRpcMessage,
8345     DWORD *_pdwStubPhase);
8346 
8347 
8348 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_ClearRule_Proxy(
8349     ISpGrammarBuilder * This,
8350     SPSTATEHANDLE hState);
8351 
8352 
8353 void __RPC_STUB ISpGrammarBuilder_ClearRule_Stub(
8354     IRpcStubBuffer *This,
8355     IRpcChannelBuffer *_pRpcChannelBuffer,
8356     PRPC_MESSAGE _pRpcMessage,
8357     DWORD *_pdwStubPhase);
8358 
8359 
8360 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_CreateNewState_Proxy(
8361     ISpGrammarBuilder * This,
8362     SPSTATEHANDLE hState,
8363     SPSTATEHANDLE *phState);
8364 
8365 
8366 void __RPC_STUB ISpGrammarBuilder_CreateNewState_Stub(
8367     IRpcStubBuffer *This,
8368     IRpcChannelBuffer *_pRpcChannelBuffer,
8369     PRPC_MESSAGE _pRpcMessage,
8370     DWORD *_pdwStubPhase);
8371 
8372 
8373 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddWordTransition_Proxy(
8374     ISpGrammarBuilder * This,
8375     SPSTATEHANDLE hFromState,
8376     SPSTATEHANDLE hToState,
8377     const WCHAR *psz,
8378     const WCHAR *pszSeparators,
8379     SPGRAMMARWORDTYPE eWordType,
8380     float Weight,
8381     const SPPROPERTYINFO *pPropInfo);
8382 
8383 
8384 void __RPC_STUB ISpGrammarBuilder_AddWordTransition_Stub(
8385     IRpcStubBuffer *This,
8386     IRpcChannelBuffer *_pRpcChannelBuffer,
8387     PRPC_MESSAGE _pRpcMessage,
8388     DWORD *_pdwStubPhase);
8389 
8390 
8391 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddRuleTransition_Proxy(
8392     ISpGrammarBuilder * This,
8393     SPSTATEHANDLE hFromState,
8394     SPSTATEHANDLE hToState,
8395     SPSTATEHANDLE hRule,
8396     float Weight,
8397     const SPPROPERTYINFO *pPropInfo);
8398 
8399 
8400 void __RPC_STUB ISpGrammarBuilder_AddRuleTransition_Stub(
8401     IRpcStubBuffer *This,
8402     IRpcChannelBuffer *_pRpcChannelBuffer,
8403     PRPC_MESSAGE _pRpcMessage,
8404     DWORD *_pdwStubPhase);
8405 
8406 
8407 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddResource_Proxy(
8408     ISpGrammarBuilder * This,
8409     /* [in] */ SPSTATEHANDLE hRuleState,
8410     /* [in] */ const WCHAR *pszResourceName,
8411     /* [in] */ const WCHAR *pszResourceValue);
8412 
8413 
8414 void __RPC_STUB ISpGrammarBuilder_AddResource_Stub(
8415     IRpcStubBuffer *This,
8416     IRpcChannelBuffer *_pRpcChannelBuffer,
8417     PRPC_MESSAGE _pRpcMessage,
8418     DWORD *_pdwStubPhase);
8419 
8420 
8421 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_Commit_Proxy(
8422     ISpGrammarBuilder * This,
8423     DWORD dwReserved);
8424 
8425 
8426 void __RPC_STUB ISpGrammarBuilder_Commit_Stub(
8427     IRpcStubBuffer *This,
8428     IRpcChannelBuffer *_pRpcChannelBuffer,
8429     PRPC_MESSAGE _pRpcMessage,
8430     DWORD *_pdwStubPhase);
8431 
8432 
8433 
8434 #endif 	/* __ISpGrammarBuilder_INTERFACE_DEFINED__ */
8435 
8436 
8437 /* interface __MIDL_itf_sapi_0278 */
8438 /* [local] */
8439 
8440 typedef /* [hidden] */
8441 enum SPLOADOPTIONS
8442     {	SPLO_STATIC	= 0,
8443 	SPLO_DYNAMIC	= 1
8444     } 	SPLOADOPTIONS;
8445 
8446 
8447 
8448 extern RPC_IF_HANDLE __MIDL_itf_sapi_0278_v0_0_c_ifspec;
8449 extern RPC_IF_HANDLE __MIDL_itf_sapi_0278_v0_0_s_ifspec;
8450 
8451 #ifndef __ISpRecoGrammar_INTERFACE_DEFINED__
8452 #define __ISpRecoGrammar_INTERFACE_DEFINED__
8453 
8454 /* interface ISpRecoGrammar */
8455 /* [local][restricted][unique][helpstring][uuid][object] */
8456 
8457 
8458 EXTERN_C const IID IID_ISpRecoGrammar;
8459 
8460 #if defined(__cplusplus) && !defined(CINTERFACE)
8461 
8462     MIDL_INTERFACE("2177DB29-7F45-47D0-8554-067E91C80502")
8463     ISpRecoGrammar : public ISpGrammarBuilder
8464     {
8465     public:
8466         virtual HRESULT STDMETHODCALLTYPE GetGrammarId(
8467             /* [out] */ ULONGLONG *pullGrammarId) = 0;
8468 
8469         virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
8470             /* [out] */ ISpRecoContext **ppRecoCtxt) = 0;
8471 
8472         virtual HRESULT STDMETHODCALLTYPE LoadCmdFromFile(
8473             /* [string][in] */ const WCHAR *pszFileName,
8474             /* [in] */ SPLOADOPTIONS Options) = 0;
8475 
8476         virtual HRESULT STDMETHODCALLTYPE LoadCmdFromObject(
8477             /* [in] */ REFCLSID rcid,
8478             /* [string][in] */ const WCHAR *pszGrammarName,
8479             /* [in] */ SPLOADOPTIONS Options) = 0;
8480 
8481         virtual HRESULT STDMETHODCALLTYPE LoadCmdFromResource(
8482             /* [in] */ HMODULE hModule,
8483             /* [string][in] */ const WCHAR *pszResourceName,
8484             /* [string][in] */ const WCHAR *pszResourceType,
8485             /* [in] */ WORD wLanguage,
8486             /* [in] */ SPLOADOPTIONS Options) = 0;
8487 
8488         virtual HRESULT STDMETHODCALLTYPE LoadCmdFromMemory(
8489             /* [in] */ const SPBINARYGRAMMAR *pGrammar,
8490             /* [in] */ SPLOADOPTIONS Options) = 0;
8491 
8492         virtual HRESULT STDMETHODCALLTYPE LoadCmdFromProprietaryGrammar(
8493             /* [in] */ REFGUID rguidParam,
8494             /* [string][in] */ const WCHAR *pszStringParam,
8495             /* [in] */ const void *pvDataPrarm,
8496             /* [in] */ ULONG cbDataSize,
8497             /* [in] */ SPLOADOPTIONS Options) = 0;
8498 
8499         virtual HRESULT STDMETHODCALLTYPE SetRuleState(
8500             /* [string][in] */ const WCHAR *pszName,
8501             void *pReserved,
8502             /* [in] */ SPRULESTATE NewState) = 0;
8503 
8504         virtual HRESULT STDMETHODCALLTYPE SetRuleIdState(
8505             /* [in] */ ULONG ulRuleId,
8506             /* [in] */ SPRULESTATE NewState) = 0;
8507 
8508         virtual HRESULT STDMETHODCALLTYPE LoadDictation(
8509             /* [string][in] */ const WCHAR *pszTopicName,
8510             /* [in] */ SPLOADOPTIONS Options) = 0;
8511 
8512         virtual HRESULT STDMETHODCALLTYPE UnloadDictation( void) = 0;
8513 
8514         virtual HRESULT STDMETHODCALLTYPE SetDictationState(
8515             /* [in] */ SPRULESTATE NewState) = 0;
8516 
8517         virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
8518             /* [in] */ const WCHAR *pText,
8519             /* [in] */ ULONG cchText,
8520             /* [in] */ const SPTEXTSELECTIONINFO *pInfo) = 0;
8521 
8522         virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
8523             /* [in] */ const SPTEXTSELECTIONINFO *pInfo) = 0;
8524 
8525         virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
8526             /* [string][in] */ const WCHAR *pszWord,
8527             /* [out] */ SPWORDPRONOUNCEABLE *pWordPronounceable) = 0;
8528 
8529         virtual HRESULT STDMETHODCALLTYPE SetGrammarState(
8530             /* [in] */ SPGRAMMARSTATE eGrammarState) = 0;
8531 
8532         virtual HRESULT STDMETHODCALLTYPE SaveCmd(
8533             /* [in] */ IStream *pStream,
8534             /* [optional][out] */ WCHAR **ppszCoMemErrorText) = 0;
8535 
8536         virtual HRESULT STDMETHODCALLTYPE GetGrammarState(
8537             /* [out] */ SPGRAMMARSTATE *peGrammarState) = 0;
8538 
8539     };
8540 
8541 #else 	/* C style interface */
8542 
8543     typedef struct ISpRecoGrammarVtbl
8544     {
8545         BEGIN_INTERFACE
8546 
8547         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
8548             ISpRecoGrammar * This,
8549             /* [in] */ REFIID riid,
8550             /* [iid_is][out] */ void **ppvObject);
8551 
8552         ULONG ( STDMETHODCALLTYPE *AddRef )(
8553             ISpRecoGrammar * This);
8554 
8555         ULONG ( STDMETHODCALLTYPE *Release )(
8556             ISpRecoGrammar * This);
8557 
8558         HRESULT ( STDMETHODCALLTYPE *ResetGrammar )(
8559             ISpRecoGrammar * This,
8560             /* [in] */ WORD NewLanguage);
8561 
8562         HRESULT ( STDMETHODCALLTYPE *GetRule )(
8563             ISpRecoGrammar * This,
8564             /* [in] */ const WCHAR *pszRuleName,
8565             /* [in] */ DWORD dwRuleId,
8566             /* [in] */ DWORD dwAttributes,
8567             /* [in] */ BOOL fCreateIfNotExist,
8568             /* [out] */ SPSTATEHANDLE *phInitialState);
8569 
8570         HRESULT ( STDMETHODCALLTYPE *ClearRule )(
8571             ISpRecoGrammar * This,
8572             SPSTATEHANDLE hState);
8573 
8574         HRESULT ( STDMETHODCALLTYPE *CreateNewState )(
8575             ISpRecoGrammar * This,
8576             SPSTATEHANDLE hState,
8577             SPSTATEHANDLE *phState);
8578 
8579         HRESULT ( STDMETHODCALLTYPE *AddWordTransition )(
8580             ISpRecoGrammar * This,
8581             SPSTATEHANDLE hFromState,
8582             SPSTATEHANDLE hToState,
8583             const WCHAR *psz,
8584             const WCHAR *pszSeparators,
8585             SPGRAMMARWORDTYPE eWordType,
8586             float Weight,
8587             const SPPROPERTYINFO *pPropInfo);
8588 
8589         HRESULT ( STDMETHODCALLTYPE *AddRuleTransition )(
8590             ISpRecoGrammar * This,
8591             SPSTATEHANDLE hFromState,
8592             SPSTATEHANDLE hToState,
8593             SPSTATEHANDLE hRule,
8594             float Weight,
8595             const SPPROPERTYINFO *pPropInfo);
8596 
8597         HRESULT ( STDMETHODCALLTYPE *AddResource )(
8598             ISpRecoGrammar * This,
8599             /* [in] */ SPSTATEHANDLE hRuleState,
8600             /* [in] */ const WCHAR *pszResourceName,
8601             /* [in] */ const WCHAR *pszResourceValue);
8602 
8603         HRESULT ( STDMETHODCALLTYPE *Commit )(
8604             ISpRecoGrammar * This,
8605             DWORD dwReserved);
8606 
8607         HRESULT ( STDMETHODCALLTYPE *GetGrammarId )(
8608             ISpRecoGrammar * This,
8609             /* [out] */ ULONGLONG *pullGrammarId);
8610 
8611         HRESULT ( STDMETHODCALLTYPE *GetRecoContext )(
8612             ISpRecoGrammar * This,
8613             /* [out] */ ISpRecoContext **ppRecoCtxt);
8614 
8615         HRESULT ( STDMETHODCALLTYPE *LoadCmdFromFile )(
8616             ISpRecoGrammar * This,
8617             /* [string][in] */ const WCHAR *pszFileName,
8618             /* [in] */ SPLOADOPTIONS Options);
8619 
8620         HRESULT ( STDMETHODCALLTYPE *LoadCmdFromObject )(
8621             ISpRecoGrammar * This,
8622             /* [in] */ REFCLSID rcid,
8623             /* [string][in] */ const WCHAR *pszGrammarName,
8624             /* [in] */ SPLOADOPTIONS Options);
8625 
8626         HRESULT ( STDMETHODCALLTYPE *LoadCmdFromResource )(
8627             ISpRecoGrammar * This,
8628             /* [in] */ HMODULE hModule,
8629             /* [string][in] */ const WCHAR *pszResourceName,
8630             /* [string][in] */ const WCHAR *pszResourceType,
8631             /* [in] */ WORD wLanguage,
8632             /* [in] */ SPLOADOPTIONS Options);
8633 
8634         HRESULT ( STDMETHODCALLTYPE *LoadCmdFromMemory )(
8635             ISpRecoGrammar * This,
8636             /* [in] */ const SPBINARYGRAMMAR *pGrammar,
8637             /* [in] */ SPLOADOPTIONS Options);
8638 
8639         HRESULT ( STDMETHODCALLTYPE *LoadCmdFromProprietaryGrammar )(
8640             ISpRecoGrammar * This,
8641             /* [in] */ REFGUID rguidParam,
8642             /* [string][in] */ const WCHAR *pszStringParam,
8643             /* [in] */ const void *pvDataPrarm,
8644             /* [in] */ ULONG cbDataSize,
8645             /* [in] */ SPLOADOPTIONS Options);
8646 
8647         HRESULT ( STDMETHODCALLTYPE *SetRuleState )(
8648             ISpRecoGrammar * This,
8649             /* [string][in] */ const WCHAR *pszName,
8650             void *pReserved,
8651             /* [in] */ SPRULESTATE NewState);
8652 
8653         HRESULT ( STDMETHODCALLTYPE *SetRuleIdState )(
8654             ISpRecoGrammar * This,
8655             /* [in] */ ULONG ulRuleId,
8656             /* [in] */ SPRULESTATE NewState);
8657 
8658         HRESULT ( STDMETHODCALLTYPE *LoadDictation )(
8659             ISpRecoGrammar * This,
8660             /* [string][in] */ const WCHAR *pszTopicName,
8661             /* [in] */ SPLOADOPTIONS Options);
8662 
8663         HRESULT ( STDMETHODCALLTYPE *UnloadDictation )(
8664             ISpRecoGrammar * This);
8665 
8666         HRESULT ( STDMETHODCALLTYPE *SetDictationState )(
8667             ISpRecoGrammar * This,
8668             /* [in] */ SPRULESTATE NewState);
8669 
8670         HRESULT ( STDMETHODCALLTYPE *SetWordSequenceData )(
8671             ISpRecoGrammar * This,
8672             /* [in] */ const WCHAR *pText,
8673             /* [in] */ ULONG cchText,
8674             /* [in] */ const SPTEXTSELECTIONINFO *pInfo);
8675 
8676         HRESULT ( STDMETHODCALLTYPE *SetTextSelection )(
8677             ISpRecoGrammar * This,
8678             /* [in] */ const SPTEXTSELECTIONINFO *pInfo);
8679 
8680         HRESULT ( STDMETHODCALLTYPE *IsPronounceable )(
8681             ISpRecoGrammar * This,
8682             /* [string][in] */ const WCHAR *pszWord,
8683             /* [out] */ SPWORDPRONOUNCEABLE *pWordPronounceable);
8684 
8685         HRESULT ( STDMETHODCALLTYPE *SetGrammarState )(
8686             ISpRecoGrammar * This,
8687             /* [in] */ SPGRAMMARSTATE eGrammarState);
8688 
8689         HRESULT ( STDMETHODCALLTYPE *SaveCmd )(
8690             ISpRecoGrammar * This,
8691             /* [in] */ IStream *pStream,
8692             /* [optional][out] */ WCHAR **ppszCoMemErrorText);
8693 
8694         HRESULT ( STDMETHODCALLTYPE *GetGrammarState )(
8695             ISpRecoGrammar * This,
8696             /* [out] */ SPGRAMMARSTATE *peGrammarState);
8697 
8698         END_INTERFACE
8699     } ISpRecoGrammarVtbl;
8700 
8701     interface ISpRecoGrammar
8702     {
8703         CONST_VTBL struct ISpRecoGrammarVtbl *lpVtbl;
8704     };
8705 
8706 
8707 
8708 #ifdef COBJMACROS
8709 
8710 
8711 #define ISpRecoGrammar_QueryInterface(This,riid,ppvObject)	\
8712     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
8713 
8714 #define ISpRecoGrammar_AddRef(This)	\
8715     (This)->lpVtbl -> AddRef(This)
8716 
8717 #define ISpRecoGrammar_Release(This)	\
8718     (This)->lpVtbl -> Release(This)
8719 
8720 
8721 #define ISpRecoGrammar_ResetGrammar(This,NewLanguage)	\
8722     (This)->lpVtbl -> ResetGrammar(This,NewLanguage)
8723 
8724 #define ISpRecoGrammar_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)	\
8725     (This)->lpVtbl -> GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
8726 
8727 #define ISpRecoGrammar_ClearRule(This,hState)	\
8728     (This)->lpVtbl -> ClearRule(This,hState)
8729 
8730 #define ISpRecoGrammar_CreateNewState(This,hState,phState)	\
8731     (This)->lpVtbl -> CreateNewState(This,hState,phState)
8732 
8733 #define ISpRecoGrammar_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)	\
8734     (This)->lpVtbl -> AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
8735 
8736 #define ISpRecoGrammar_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)	\
8737     (This)->lpVtbl -> AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
8738 
8739 #define ISpRecoGrammar_AddResource(This,hRuleState,pszResourceName,pszResourceValue)	\
8740     (This)->lpVtbl -> AddResource(This,hRuleState,pszResourceName,pszResourceValue)
8741 
8742 #define ISpRecoGrammar_Commit(This,dwReserved)	\
8743     (This)->lpVtbl -> Commit(This,dwReserved)
8744 
8745 
8746 #define ISpRecoGrammar_GetGrammarId(This,pullGrammarId)	\
8747     (This)->lpVtbl -> GetGrammarId(This,pullGrammarId)
8748 
8749 #define ISpRecoGrammar_GetRecoContext(This,ppRecoCtxt)	\
8750     (This)->lpVtbl -> GetRecoContext(This,ppRecoCtxt)
8751 
8752 #define ISpRecoGrammar_LoadCmdFromFile(This,pszFileName,Options)	\
8753     (This)->lpVtbl -> LoadCmdFromFile(This,pszFileName,Options)
8754 
8755 #define ISpRecoGrammar_LoadCmdFromObject(This,rcid,pszGrammarName,Options)	\
8756     (This)->lpVtbl -> LoadCmdFromObject(This,rcid,pszGrammarName,Options)
8757 
8758 #define ISpRecoGrammar_LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options)	\
8759     (This)->lpVtbl -> LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options)
8760 
8761 #define ISpRecoGrammar_LoadCmdFromMemory(This,pGrammar,Options)	\
8762     (This)->lpVtbl -> LoadCmdFromMemory(This,pGrammar,Options)
8763 
8764 #define ISpRecoGrammar_LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options)	\
8765     (This)->lpVtbl -> LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options)
8766 
8767 #define ISpRecoGrammar_SetRuleState(This,pszName,pReserved,NewState)	\
8768     (This)->lpVtbl -> SetRuleState(This,pszName,pReserved,NewState)
8769 
8770 #define ISpRecoGrammar_SetRuleIdState(This,ulRuleId,NewState)	\
8771     (This)->lpVtbl -> SetRuleIdState(This,ulRuleId,NewState)
8772 
8773 #define ISpRecoGrammar_LoadDictation(This,pszTopicName,Options)	\
8774     (This)->lpVtbl -> LoadDictation(This,pszTopicName,Options)
8775 
8776 #define ISpRecoGrammar_UnloadDictation(This)	\
8777     (This)->lpVtbl -> UnloadDictation(This)
8778 
8779 #define ISpRecoGrammar_SetDictationState(This,NewState)	\
8780     (This)->lpVtbl -> SetDictationState(This,NewState)
8781 
8782 #define ISpRecoGrammar_SetWordSequenceData(This,pText,cchText,pInfo)	\
8783     (This)->lpVtbl -> SetWordSequenceData(This,pText,cchText,pInfo)
8784 
8785 #define ISpRecoGrammar_SetTextSelection(This,pInfo)	\
8786     (This)->lpVtbl -> SetTextSelection(This,pInfo)
8787 
8788 #define ISpRecoGrammar_IsPronounceable(This,pszWord,pWordPronounceable)	\
8789     (This)->lpVtbl -> IsPronounceable(This,pszWord,pWordPronounceable)
8790 
8791 #define ISpRecoGrammar_SetGrammarState(This,eGrammarState)	\
8792     (This)->lpVtbl -> SetGrammarState(This,eGrammarState)
8793 
8794 #define ISpRecoGrammar_SaveCmd(This,pStream,ppszCoMemErrorText)	\
8795     (This)->lpVtbl -> SaveCmd(This,pStream,ppszCoMemErrorText)
8796 
8797 #define ISpRecoGrammar_GetGrammarState(This,peGrammarState)	\
8798     (This)->lpVtbl -> GetGrammarState(This,peGrammarState)
8799 
8800 #endif /* COBJMACROS */
8801 
8802 
8803 #endif 	/* C style interface */
8804 
8805 
8806 
8807 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetGrammarId_Proxy(
8808     ISpRecoGrammar * This,
8809     /* [out] */ ULONGLONG *pullGrammarId);
8810 
8811 
8812 void __RPC_STUB ISpRecoGrammar_GetGrammarId_Stub(
8813     IRpcStubBuffer *This,
8814     IRpcChannelBuffer *_pRpcChannelBuffer,
8815     PRPC_MESSAGE _pRpcMessage,
8816     DWORD *_pdwStubPhase);
8817 
8818 
8819 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetRecoContext_Proxy(
8820     ISpRecoGrammar * This,
8821     /* [out] */ ISpRecoContext **ppRecoCtxt);
8822 
8823 
8824 void __RPC_STUB ISpRecoGrammar_GetRecoContext_Stub(
8825     IRpcStubBuffer *This,
8826     IRpcChannelBuffer *_pRpcChannelBuffer,
8827     PRPC_MESSAGE _pRpcMessage,
8828     DWORD *_pdwStubPhase);
8829 
8830 
8831 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromFile_Proxy(
8832     ISpRecoGrammar * This,
8833     /* [string][in] */ const WCHAR *pszFileName,
8834     /* [in] */ SPLOADOPTIONS Options);
8835 
8836 
8837 void __RPC_STUB ISpRecoGrammar_LoadCmdFromFile_Stub(
8838     IRpcStubBuffer *This,
8839     IRpcChannelBuffer *_pRpcChannelBuffer,
8840     PRPC_MESSAGE _pRpcMessage,
8841     DWORD *_pdwStubPhase);
8842 
8843 
8844 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromObject_Proxy(
8845     ISpRecoGrammar * This,
8846     /* [in] */ REFCLSID rcid,
8847     /* [string][in] */ const WCHAR *pszGrammarName,
8848     /* [in] */ SPLOADOPTIONS Options);
8849 
8850 
8851 void __RPC_STUB ISpRecoGrammar_LoadCmdFromObject_Stub(
8852     IRpcStubBuffer *This,
8853     IRpcChannelBuffer *_pRpcChannelBuffer,
8854     PRPC_MESSAGE _pRpcMessage,
8855     DWORD *_pdwStubPhase);
8856 
8857 
8858 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromResource_Proxy(
8859     ISpRecoGrammar * This,
8860     /* [in] */ HMODULE hModule,
8861     /* [string][in] */ const WCHAR *pszResourceName,
8862     /* [string][in] */ const WCHAR *pszResourceType,
8863     /* [in] */ WORD wLanguage,
8864     /* [in] */ SPLOADOPTIONS Options);
8865 
8866 
8867 void __RPC_STUB ISpRecoGrammar_LoadCmdFromResource_Stub(
8868     IRpcStubBuffer *This,
8869     IRpcChannelBuffer *_pRpcChannelBuffer,
8870     PRPC_MESSAGE _pRpcMessage,
8871     DWORD *_pdwStubPhase);
8872 
8873 
8874 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromMemory_Proxy(
8875     ISpRecoGrammar * This,
8876     /* [in] */ const SPBINARYGRAMMAR *pGrammar,
8877     /* [in] */ SPLOADOPTIONS Options);
8878 
8879 
8880 void __RPC_STUB ISpRecoGrammar_LoadCmdFromMemory_Stub(
8881     IRpcStubBuffer *This,
8882     IRpcChannelBuffer *_pRpcChannelBuffer,
8883     PRPC_MESSAGE _pRpcMessage,
8884     DWORD *_pdwStubPhase);
8885 
8886 
8887 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromProprietaryGrammar_Proxy(
8888     ISpRecoGrammar * This,
8889     /* [in] */ REFGUID rguidParam,
8890     /* [string][in] */ const WCHAR *pszStringParam,
8891     /* [in] */ const void *pvDataPrarm,
8892     /* [in] */ ULONG cbDataSize,
8893     /* [in] */ SPLOADOPTIONS Options);
8894 
8895 
8896 void __RPC_STUB ISpRecoGrammar_LoadCmdFromProprietaryGrammar_Stub(
8897     IRpcStubBuffer *This,
8898     IRpcChannelBuffer *_pRpcChannelBuffer,
8899     PRPC_MESSAGE _pRpcMessage,
8900     DWORD *_pdwStubPhase);
8901 
8902 
8903 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetRuleState_Proxy(
8904     ISpRecoGrammar * This,
8905     /* [string][in] */ const WCHAR *pszName,
8906     void *pReserved,
8907     /* [in] */ SPRULESTATE NewState);
8908 
8909 
8910 void __RPC_STUB ISpRecoGrammar_SetRuleState_Stub(
8911     IRpcStubBuffer *This,
8912     IRpcChannelBuffer *_pRpcChannelBuffer,
8913     PRPC_MESSAGE _pRpcMessage,
8914     DWORD *_pdwStubPhase);
8915 
8916 
8917 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetRuleIdState_Proxy(
8918     ISpRecoGrammar * This,
8919     /* [in] */ ULONG ulRuleId,
8920     /* [in] */ SPRULESTATE NewState);
8921 
8922 
8923 void __RPC_STUB ISpRecoGrammar_SetRuleIdState_Stub(
8924     IRpcStubBuffer *This,
8925     IRpcChannelBuffer *_pRpcChannelBuffer,
8926     PRPC_MESSAGE _pRpcMessage,
8927     DWORD *_pdwStubPhase);
8928 
8929 
8930 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadDictation_Proxy(
8931     ISpRecoGrammar * This,
8932     /* [string][in] */ const WCHAR *pszTopicName,
8933     /* [in] */ SPLOADOPTIONS Options);
8934 
8935 
8936 void __RPC_STUB ISpRecoGrammar_LoadDictation_Stub(
8937     IRpcStubBuffer *This,
8938     IRpcChannelBuffer *_pRpcChannelBuffer,
8939     PRPC_MESSAGE _pRpcMessage,
8940     DWORD *_pdwStubPhase);
8941 
8942 
8943 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_UnloadDictation_Proxy(
8944     ISpRecoGrammar * This);
8945 
8946 
8947 void __RPC_STUB ISpRecoGrammar_UnloadDictation_Stub(
8948     IRpcStubBuffer *This,
8949     IRpcChannelBuffer *_pRpcChannelBuffer,
8950     PRPC_MESSAGE _pRpcMessage,
8951     DWORD *_pdwStubPhase);
8952 
8953 
8954 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetDictationState_Proxy(
8955     ISpRecoGrammar * This,
8956     /* [in] */ SPRULESTATE NewState);
8957 
8958 
8959 void __RPC_STUB ISpRecoGrammar_SetDictationState_Stub(
8960     IRpcStubBuffer *This,
8961     IRpcChannelBuffer *_pRpcChannelBuffer,
8962     PRPC_MESSAGE _pRpcMessage,
8963     DWORD *_pdwStubPhase);
8964 
8965 
8966 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetWordSequenceData_Proxy(
8967     ISpRecoGrammar * This,
8968     /* [in] */ const WCHAR *pText,
8969     /* [in] */ ULONG cchText,
8970     /* [in] */ const SPTEXTSELECTIONINFO *pInfo);
8971 
8972 
8973 void __RPC_STUB ISpRecoGrammar_SetWordSequenceData_Stub(
8974     IRpcStubBuffer *This,
8975     IRpcChannelBuffer *_pRpcChannelBuffer,
8976     PRPC_MESSAGE _pRpcMessage,
8977     DWORD *_pdwStubPhase);
8978 
8979 
8980 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetTextSelection_Proxy(
8981     ISpRecoGrammar * This,
8982     /* [in] */ const SPTEXTSELECTIONINFO *pInfo);
8983 
8984 
8985 void __RPC_STUB ISpRecoGrammar_SetTextSelection_Stub(
8986     IRpcStubBuffer *This,
8987     IRpcChannelBuffer *_pRpcChannelBuffer,
8988     PRPC_MESSAGE _pRpcMessage,
8989     DWORD *_pdwStubPhase);
8990 
8991 
8992 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_IsPronounceable_Proxy(
8993     ISpRecoGrammar * This,
8994     /* [string][in] */ const WCHAR *pszWord,
8995     /* [out] */ SPWORDPRONOUNCEABLE *pWordPronounceable);
8996 
8997 
8998 void __RPC_STUB ISpRecoGrammar_IsPronounceable_Stub(
8999     IRpcStubBuffer *This,
9000     IRpcChannelBuffer *_pRpcChannelBuffer,
9001     PRPC_MESSAGE _pRpcMessage,
9002     DWORD *_pdwStubPhase);
9003 
9004 
9005 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetGrammarState_Proxy(
9006     ISpRecoGrammar * This,
9007     /* [in] */ SPGRAMMARSTATE eGrammarState);
9008 
9009 
9010 void __RPC_STUB ISpRecoGrammar_SetGrammarState_Stub(
9011     IRpcStubBuffer *This,
9012     IRpcChannelBuffer *_pRpcChannelBuffer,
9013     PRPC_MESSAGE _pRpcMessage,
9014     DWORD *_pdwStubPhase);
9015 
9016 
9017 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SaveCmd_Proxy(
9018     ISpRecoGrammar * This,
9019     /* [in] */ IStream *pStream,
9020     /* [optional][out] */ WCHAR **ppszCoMemErrorText);
9021 
9022 
9023 void __RPC_STUB ISpRecoGrammar_SaveCmd_Stub(
9024     IRpcStubBuffer *This,
9025     IRpcChannelBuffer *_pRpcChannelBuffer,
9026     PRPC_MESSAGE _pRpcMessage,
9027     DWORD *_pdwStubPhase);
9028 
9029 
9030 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetGrammarState_Proxy(
9031     ISpRecoGrammar * This,
9032     /* [out] */ SPGRAMMARSTATE *peGrammarState);
9033 
9034 
9035 void __RPC_STUB ISpRecoGrammar_GetGrammarState_Stub(
9036     IRpcStubBuffer *This,
9037     IRpcChannelBuffer *_pRpcChannelBuffer,
9038     PRPC_MESSAGE _pRpcMessage,
9039     DWORD *_pdwStubPhase);
9040 
9041 
9042 
9043 #endif 	/* __ISpRecoGrammar_INTERFACE_DEFINED__ */
9044 
9045 
9046 /* interface __MIDL_itf_sapi_0279 */
9047 /* [local] */
9048 
9049 typedef /* [hidden][restricted] */ struct SPRECOCONTEXTSTATUS
9050     {
9051     SPINTERFERENCE eInterference;
9052     WCHAR szRequestTypeOfUI[ 255 ];
9053     DWORD dwReserved1;
9054     DWORD dwReserved2;
9055     } 	SPRECOCONTEXTSTATUS;
9056 
9057 typedef /* [hidden] */
9058 enum SPBOOKMARKOPTIONS
9059     {	SPBO_NONE	= 0,
9060 	SPBO_PAUSE	= 1
9061     } 	SPBOOKMARKOPTIONS;
9062 
9063 typedef /* [hidden] */
9064 enum SPAUDIOOPTIONS
9065     {	SPAO_NONE	= 0,
9066 	SPAO_RETAIN_AUDIO	= 1 << 0
9067     } 	SPAUDIOOPTIONS;
9068 
9069 
9070 
9071 extern RPC_IF_HANDLE __MIDL_itf_sapi_0279_v0_0_c_ifspec;
9072 extern RPC_IF_HANDLE __MIDL_itf_sapi_0279_v0_0_s_ifspec;
9073 
9074 #ifndef __ISpRecoContext_INTERFACE_DEFINED__
9075 #define __ISpRecoContext_INTERFACE_DEFINED__
9076 
9077 /* interface ISpRecoContext */
9078 /* [restricted][local][unique][helpstring][uuid][object] */
9079 
9080 
9081 EXTERN_C const IID IID_ISpRecoContext;
9082 
9083 #if defined(__cplusplus) && !defined(CINTERFACE)
9084 
9085     MIDL_INTERFACE("F740A62F-7C15-489E-8234-940A33D9272D")
9086     ISpRecoContext : public ISpEventSource
9087     {
9088     public:
9089         virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
9090             /* [out] */ ISpRecognizer **ppRecognizer) = 0;
9091 
9092         virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
9093             /* [in] */ ULONGLONG ullGrammarId,
9094             /* [out] */ ISpRecoGrammar **ppGrammar) = 0;
9095 
9096         virtual HRESULT STDMETHODCALLTYPE GetStatus(
9097             /* [out] */ SPRECOCONTEXTSTATUS *pStatus) = 0;
9098 
9099         virtual HRESULT STDMETHODCALLTYPE GetMaxAlternates(
9100             /* [in] */ ULONG *pcAlternates) = 0;
9101 
9102         virtual HRESULT STDMETHODCALLTYPE SetMaxAlternates(
9103             /* [in] */ ULONG cAlternates) = 0;
9104 
9105         virtual HRESULT STDMETHODCALLTYPE SetAudioOptions(
9106             /* [in] */ SPAUDIOOPTIONS Options,
9107             /* [in] */ const GUID *pAudioFormatId,
9108             /* [in] */ const WAVEFORMATEX *pWaveFormatEx) = 0;
9109 
9110         virtual HRESULT STDMETHODCALLTYPE GetAudioOptions(
9111             /* [in] */ SPAUDIOOPTIONS *pOptions,
9112             /* [out] */ GUID *pAudioFormatId,
9113             /* [out] */ WAVEFORMATEX **ppCoMemWFEX) = 0;
9114 
9115         virtual HRESULT STDMETHODCALLTYPE DeserializeResult(
9116             /* [in] */ const SPSERIALIZEDRESULT *pSerializedResult,
9117             /* [out] */ ISpRecoResult **ppResult) = 0;
9118 
9119         virtual HRESULT STDMETHODCALLTYPE Bookmark(
9120             /* [in] */ SPBOOKMARKOPTIONS Options,
9121             /* [in] */ ULONGLONG ullStreamPosition,
9122             /* [in] */ LPARAM lparamEvent) = 0;
9123 
9124         virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
9125             /* [string][in] */ const WCHAR *pAdaptationData,
9126             /* [in] */ const ULONG cch) = 0;
9127 
9128         virtual HRESULT STDMETHODCALLTYPE Pause(
9129             DWORD dwReserved) = 0;
9130 
9131         virtual HRESULT STDMETHODCALLTYPE Resume(
9132             DWORD dwReserved) = 0;
9133 
9134         virtual HRESULT STDMETHODCALLTYPE SetVoice(
9135             /* [in] */ ISpVoice *pVoice,
9136             /* [in] */ BOOL fAllowFormatChanges) = 0;
9137 
9138         virtual HRESULT STDMETHODCALLTYPE GetVoice(
9139             /* [out] */ ISpVoice **ppVoice) = 0;
9140 
9141         virtual HRESULT STDMETHODCALLTYPE SetVoicePurgeEvent(
9142             /* [in] */ ULONGLONG ullEventInterest) = 0;
9143 
9144         virtual HRESULT STDMETHODCALLTYPE GetVoicePurgeEvent(
9145             /* [out] */ ULONGLONG *pullEventInterest) = 0;
9146 
9147         virtual HRESULT STDMETHODCALLTYPE SetContextState(
9148             /* [in] */ SPCONTEXTSTATE eContextState) = 0;
9149 
9150         virtual HRESULT STDMETHODCALLTYPE GetContextState(
9151             /* [in] */ SPCONTEXTSTATE *peContextState) = 0;
9152 
9153     };
9154 
9155 #else 	/* C style interface */
9156 
9157     typedef struct ISpRecoContextVtbl
9158     {
9159         BEGIN_INTERFACE
9160 
9161         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9162             ISpRecoContext * This,
9163             /* [in] */ REFIID riid,
9164             /* [iid_is][out] */ void **ppvObject);
9165 
9166         ULONG ( STDMETHODCALLTYPE *AddRef )(
9167             ISpRecoContext * This);
9168 
9169         ULONG ( STDMETHODCALLTYPE *Release )(
9170             ISpRecoContext * This);
9171 
9172         HRESULT ( STDMETHODCALLTYPE *SetNotifySink )(
9173             ISpRecoContext * This,
9174             /* [in] */ ISpNotifySink *pNotifySink);
9175 
9176         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWindowMessage )(
9177             ISpRecoContext * This,
9178             /* [in] */ HWND hWnd,
9179             /* [in] */ UINT Msg,
9180             /* [in] */ WPARAM wParam,
9181             /* [in] */ LPARAM lParam);
9182 
9183         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackFunction )(
9184             ISpRecoContext * This,
9185             /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
9186             /* [in] */ WPARAM wParam,
9187             /* [in] */ LPARAM lParam);
9188 
9189         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackInterface )(
9190             ISpRecoContext * This,
9191             /* [in] */ ISpNotifyCallback *pSpCallback,
9192             /* [in] */ WPARAM wParam,
9193             /* [in] */ LPARAM lParam);
9194 
9195         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWin32Event )(
9196             ISpRecoContext * This);
9197 
9198         /* [local] */ HRESULT ( STDMETHODCALLTYPE *WaitForNotifyEvent )(
9199             ISpRecoContext * This,
9200             /* [in] */ DWORD dwMilliseconds);
9201 
9202         /* [local] */ HANDLE ( STDMETHODCALLTYPE *GetNotifyEventHandle )(
9203             ISpRecoContext * This);
9204 
9205         HRESULT ( STDMETHODCALLTYPE *SetInterest )(
9206             ISpRecoContext * This,
9207             /* [in] */ ULONGLONG ullEventInterest,
9208             /* [in] */ ULONGLONG ullQueuedInterest);
9209 
9210         HRESULT ( STDMETHODCALLTYPE *GetEvents )(
9211             ISpRecoContext * This,
9212             /* [in] */ ULONG ulCount,
9213             /* [size_is][out] */ SPEVENT *pEventArray,
9214             /* [out] */ ULONG *pulFetched);
9215 
9216         HRESULT ( STDMETHODCALLTYPE *GetInfo )(
9217             ISpRecoContext * This,
9218             /* [out] */ SPEVENTSOURCEINFO *pInfo);
9219 
9220         HRESULT ( STDMETHODCALLTYPE *GetRecognizer )(
9221             ISpRecoContext * This,
9222             /* [out] */ ISpRecognizer **ppRecognizer);
9223 
9224         HRESULT ( STDMETHODCALLTYPE *CreateGrammar )(
9225             ISpRecoContext * This,
9226             /* [in] */ ULONGLONG ullGrammarId,
9227             /* [out] */ ISpRecoGrammar **ppGrammar);
9228 
9229         HRESULT ( STDMETHODCALLTYPE *GetStatus )(
9230             ISpRecoContext * This,
9231             /* [out] */ SPRECOCONTEXTSTATUS *pStatus);
9232 
9233         HRESULT ( STDMETHODCALLTYPE *GetMaxAlternates )(
9234             ISpRecoContext * This,
9235             /* [in] */ ULONG *pcAlternates);
9236 
9237         HRESULT ( STDMETHODCALLTYPE *SetMaxAlternates )(
9238             ISpRecoContext * This,
9239             /* [in] */ ULONG cAlternates);
9240 
9241         HRESULT ( STDMETHODCALLTYPE *SetAudioOptions )(
9242             ISpRecoContext * This,
9243             /* [in] */ SPAUDIOOPTIONS Options,
9244             /* [in] */ const GUID *pAudioFormatId,
9245             /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
9246 
9247         HRESULT ( STDMETHODCALLTYPE *GetAudioOptions )(
9248             ISpRecoContext * This,
9249             /* [in] */ SPAUDIOOPTIONS *pOptions,
9250             /* [out] */ GUID *pAudioFormatId,
9251             /* [out] */ WAVEFORMATEX **ppCoMemWFEX);
9252 
9253         HRESULT ( STDMETHODCALLTYPE *DeserializeResult )(
9254             ISpRecoContext * This,
9255             /* [in] */ const SPSERIALIZEDRESULT *pSerializedResult,
9256             /* [out] */ ISpRecoResult **ppResult);
9257 
9258         HRESULT ( STDMETHODCALLTYPE *Bookmark )(
9259             ISpRecoContext * This,
9260             /* [in] */ SPBOOKMARKOPTIONS Options,
9261             /* [in] */ ULONGLONG ullStreamPosition,
9262             /* [in] */ LPARAM lparamEvent);
9263 
9264         HRESULT ( STDMETHODCALLTYPE *SetAdaptationData )(
9265             ISpRecoContext * This,
9266             /* [string][in] */ const WCHAR *pAdaptationData,
9267             /* [in] */ const ULONG cch);
9268 
9269         HRESULT ( STDMETHODCALLTYPE *Pause )(
9270             ISpRecoContext * This,
9271             DWORD dwReserved);
9272 
9273         HRESULT ( STDMETHODCALLTYPE *Resume )(
9274             ISpRecoContext * This,
9275             DWORD dwReserved);
9276 
9277         HRESULT ( STDMETHODCALLTYPE *SetVoice )(
9278             ISpRecoContext * This,
9279             /* [in] */ ISpVoice *pVoice,
9280             /* [in] */ BOOL fAllowFormatChanges);
9281 
9282         HRESULT ( STDMETHODCALLTYPE *GetVoice )(
9283             ISpRecoContext * This,
9284             /* [out] */ ISpVoice **ppVoice);
9285 
9286         HRESULT ( STDMETHODCALLTYPE *SetVoicePurgeEvent )(
9287             ISpRecoContext * This,
9288             /* [in] */ ULONGLONG ullEventInterest);
9289 
9290         HRESULT ( STDMETHODCALLTYPE *GetVoicePurgeEvent )(
9291             ISpRecoContext * This,
9292             /* [out] */ ULONGLONG *pullEventInterest);
9293 
9294         HRESULT ( STDMETHODCALLTYPE *SetContextState )(
9295             ISpRecoContext * This,
9296             /* [in] */ SPCONTEXTSTATE eContextState);
9297 
9298         HRESULT ( STDMETHODCALLTYPE *GetContextState )(
9299             ISpRecoContext * This,
9300             /* [in] */ SPCONTEXTSTATE *peContextState);
9301 
9302         END_INTERFACE
9303     } ISpRecoContextVtbl;
9304 
9305     interface ISpRecoContext
9306     {
9307         CONST_VTBL struct ISpRecoContextVtbl *lpVtbl;
9308     };
9309 
9310 
9311 
9312 #ifdef COBJMACROS
9313 
9314 
9315 #define ISpRecoContext_QueryInterface(This,riid,ppvObject)	\
9316     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
9317 
9318 #define ISpRecoContext_AddRef(This)	\
9319     (This)->lpVtbl -> AddRef(This)
9320 
9321 #define ISpRecoContext_Release(This)	\
9322     (This)->lpVtbl -> Release(This)
9323 
9324 
9325 #define ISpRecoContext_SetNotifySink(This,pNotifySink)	\
9326     (This)->lpVtbl -> SetNotifySink(This,pNotifySink)
9327 
9328 #define ISpRecoContext_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)	\
9329     (This)->lpVtbl -> SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
9330 
9331 #define ISpRecoContext_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)	\
9332     (This)->lpVtbl -> SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
9333 
9334 #define ISpRecoContext_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)	\
9335     (This)->lpVtbl -> SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
9336 
9337 #define ISpRecoContext_SetNotifyWin32Event(This)	\
9338     (This)->lpVtbl -> SetNotifyWin32Event(This)
9339 
9340 #define ISpRecoContext_WaitForNotifyEvent(This,dwMilliseconds)	\
9341     (This)->lpVtbl -> WaitForNotifyEvent(This,dwMilliseconds)
9342 
9343 #define ISpRecoContext_GetNotifyEventHandle(This)	\
9344     (This)->lpVtbl -> GetNotifyEventHandle(This)
9345 
9346 
9347 #define ISpRecoContext_SetInterest(This,ullEventInterest,ullQueuedInterest)	\
9348     (This)->lpVtbl -> SetInterest(This,ullEventInterest,ullQueuedInterest)
9349 
9350 #define ISpRecoContext_GetEvents(This,ulCount,pEventArray,pulFetched)	\
9351     (This)->lpVtbl -> GetEvents(This,ulCount,pEventArray,pulFetched)
9352 
9353 #define ISpRecoContext_GetInfo(This,pInfo)	\
9354     (This)->lpVtbl -> GetInfo(This,pInfo)
9355 
9356 
9357 #define ISpRecoContext_GetRecognizer(This,ppRecognizer)	\
9358     (This)->lpVtbl -> GetRecognizer(This,ppRecognizer)
9359 
9360 #define ISpRecoContext_CreateGrammar(This,ullGrammarId,ppGrammar)	\
9361     (This)->lpVtbl -> CreateGrammar(This,ullGrammarId,ppGrammar)
9362 
9363 #define ISpRecoContext_GetStatus(This,pStatus)	\
9364     (This)->lpVtbl -> GetStatus(This,pStatus)
9365 
9366 #define ISpRecoContext_GetMaxAlternates(This,pcAlternates)	\
9367     (This)->lpVtbl -> GetMaxAlternates(This,pcAlternates)
9368 
9369 #define ISpRecoContext_SetMaxAlternates(This,cAlternates)	\
9370     (This)->lpVtbl -> SetMaxAlternates(This,cAlternates)
9371 
9372 #define ISpRecoContext_SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx)	\
9373     (This)->lpVtbl -> SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx)
9374 
9375 #define ISpRecoContext_GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX)	\
9376     (This)->lpVtbl -> GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX)
9377 
9378 #define ISpRecoContext_DeserializeResult(This,pSerializedResult,ppResult)	\
9379     (This)->lpVtbl -> DeserializeResult(This,pSerializedResult,ppResult)
9380 
9381 #define ISpRecoContext_Bookmark(This,Options,ullStreamPosition,lparamEvent)	\
9382     (This)->lpVtbl -> Bookmark(This,Options,ullStreamPosition,lparamEvent)
9383 
9384 #define ISpRecoContext_SetAdaptationData(This,pAdaptationData,cch)	\
9385     (This)->lpVtbl -> SetAdaptationData(This,pAdaptationData,cch)
9386 
9387 #define ISpRecoContext_Pause(This,dwReserved)	\
9388     (This)->lpVtbl -> Pause(This,dwReserved)
9389 
9390 #define ISpRecoContext_Resume(This,dwReserved)	\
9391     (This)->lpVtbl -> Resume(This,dwReserved)
9392 
9393 #define ISpRecoContext_SetVoice(This,pVoice,fAllowFormatChanges)	\
9394     (This)->lpVtbl -> SetVoice(This,pVoice,fAllowFormatChanges)
9395 
9396 #define ISpRecoContext_GetVoice(This,ppVoice)	\
9397     (This)->lpVtbl -> GetVoice(This,ppVoice)
9398 
9399 #define ISpRecoContext_SetVoicePurgeEvent(This,ullEventInterest)	\
9400     (This)->lpVtbl -> SetVoicePurgeEvent(This,ullEventInterest)
9401 
9402 #define ISpRecoContext_GetVoicePurgeEvent(This,pullEventInterest)	\
9403     (This)->lpVtbl -> GetVoicePurgeEvent(This,pullEventInterest)
9404 
9405 #define ISpRecoContext_SetContextState(This,eContextState)	\
9406     (This)->lpVtbl -> SetContextState(This,eContextState)
9407 
9408 #define ISpRecoContext_GetContextState(This,peContextState)	\
9409     (This)->lpVtbl -> GetContextState(This,peContextState)
9410 
9411 #endif /* COBJMACROS */
9412 
9413 
9414 #endif 	/* C style interface */
9415 
9416 
9417 
9418 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetRecognizer_Proxy(
9419     ISpRecoContext * This,
9420     /* [out] */ ISpRecognizer **ppRecognizer);
9421 
9422 
9423 void __RPC_STUB ISpRecoContext_GetRecognizer_Stub(
9424     IRpcStubBuffer *This,
9425     IRpcChannelBuffer *_pRpcChannelBuffer,
9426     PRPC_MESSAGE _pRpcMessage,
9427     DWORD *_pdwStubPhase);
9428 
9429 
9430 HRESULT STDMETHODCALLTYPE ISpRecoContext_CreateGrammar_Proxy(
9431     ISpRecoContext * This,
9432     /* [in] */ ULONGLONG ullGrammarId,
9433     /* [out] */ ISpRecoGrammar **ppGrammar);
9434 
9435 
9436 void __RPC_STUB ISpRecoContext_CreateGrammar_Stub(
9437     IRpcStubBuffer *This,
9438     IRpcChannelBuffer *_pRpcChannelBuffer,
9439     PRPC_MESSAGE _pRpcMessage,
9440     DWORD *_pdwStubPhase);
9441 
9442 
9443 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetStatus_Proxy(
9444     ISpRecoContext * This,
9445     /* [out] */ SPRECOCONTEXTSTATUS *pStatus);
9446 
9447 
9448 void __RPC_STUB ISpRecoContext_GetStatus_Stub(
9449     IRpcStubBuffer *This,
9450     IRpcChannelBuffer *_pRpcChannelBuffer,
9451     PRPC_MESSAGE _pRpcMessage,
9452     DWORD *_pdwStubPhase);
9453 
9454 
9455 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetMaxAlternates_Proxy(
9456     ISpRecoContext * This,
9457     /* [in] */ ULONG *pcAlternates);
9458 
9459 
9460 void __RPC_STUB ISpRecoContext_GetMaxAlternates_Stub(
9461     IRpcStubBuffer *This,
9462     IRpcChannelBuffer *_pRpcChannelBuffer,
9463     PRPC_MESSAGE _pRpcMessage,
9464     DWORD *_pdwStubPhase);
9465 
9466 
9467 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetMaxAlternates_Proxy(
9468     ISpRecoContext * This,
9469     /* [in] */ ULONG cAlternates);
9470 
9471 
9472 void __RPC_STUB ISpRecoContext_SetMaxAlternates_Stub(
9473     IRpcStubBuffer *This,
9474     IRpcChannelBuffer *_pRpcChannelBuffer,
9475     PRPC_MESSAGE _pRpcMessage,
9476     DWORD *_pdwStubPhase);
9477 
9478 
9479 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetAudioOptions_Proxy(
9480     ISpRecoContext * This,
9481     /* [in] */ SPAUDIOOPTIONS Options,
9482     /* [in] */ const GUID *pAudioFormatId,
9483     /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
9484 
9485 
9486 void __RPC_STUB ISpRecoContext_SetAudioOptions_Stub(
9487     IRpcStubBuffer *This,
9488     IRpcChannelBuffer *_pRpcChannelBuffer,
9489     PRPC_MESSAGE _pRpcMessage,
9490     DWORD *_pdwStubPhase);
9491 
9492 
9493 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetAudioOptions_Proxy(
9494     ISpRecoContext * This,
9495     /* [in] */ SPAUDIOOPTIONS *pOptions,
9496     /* [out] */ GUID *pAudioFormatId,
9497     /* [out] */ WAVEFORMATEX **ppCoMemWFEX);
9498 
9499 
9500 void __RPC_STUB ISpRecoContext_GetAudioOptions_Stub(
9501     IRpcStubBuffer *This,
9502     IRpcChannelBuffer *_pRpcChannelBuffer,
9503     PRPC_MESSAGE _pRpcMessage,
9504     DWORD *_pdwStubPhase);
9505 
9506 
9507 HRESULT STDMETHODCALLTYPE ISpRecoContext_DeserializeResult_Proxy(
9508     ISpRecoContext * This,
9509     /* [in] */ const SPSERIALIZEDRESULT *pSerializedResult,
9510     /* [out] */ ISpRecoResult **ppResult);
9511 
9512 
9513 void __RPC_STUB ISpRecoContext_DeserializeResult_Stub(
9514     IRpcStubBuffer *This,
9515     IRpcChannelBuffer *_pRpcChannelBuffer,
9516     PRPC_MESSAGE _pRpcMessage,
9517     DWORD *_pdwStubPhase);
9518 
9519 
9520 HRESULT STDMETHODCALLTYPE ISpRecoContext_Bookmark_Proxy(
9521     ISpRecoContext * This,
9522     /* [in] */ SPBOOKMARKOPTIONS Options,
9523     /* [in] */ ULONGLONG ullStreamPosition,
9524     /* [in] */ LPARAM lparamEvent);
9525 
9526 
9527 void __RPC_STUB ISpRecoContext_Bookmark_Stub(
9528     IRpcStubBuffer *This,
9529     IRpcChannelBuffer *_pRpcChannelBuffer,
9530     PRPC_MESSAGE _pRpcMessage,
9531     DWORD *_pdwStubPhase);
9532 
9533 
9534 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetAdaptationData_Proxy(
9535     ISpRecoContext * This,
9536     /* [string][in] */ const WCHAR *pAdaptationData,
9537     /* [in] */ const ULONG cch);
9538 
9539 
9540 void __RPC_STUB ISpRecoContext_SetAdaptationData_Stub(
9541     IRpcStubBuffer *This,
9542     IRpcChannelBuffer *_pRpcChannelBuffer,
9543     PRPC_MESSAGE _pRpcMessage,
9544     DWORD *_pdwStubPhase);
9545 
9546 
9547 HRESULT STDMETHODCALLTYPE ISpRecoContext_Pause_Proxy(
9548     ISpRecoContext * This,
9549     DWORD dwReserved);
9550 
9551 
9552 void __RPC_STUB ISpRecoContext_Pause_Stub(
9553     IRpcStubBuffer *This,
9554     IRpcChannelBuffer *_pRpcChannelBuffer,
9555     PRPC_MESSAGE _pRpcMessage,
9556     DWORD *_pdwStubPhase);
9557 
9558 
9559 HRESULT STDMETHODCALLTYPE ISpRecoContext_Resume_Proxy(
9560     ISpRecoContext * This,
9561     DWORD dwReserved);
9562 
9563 
9564 void __RPC_STUB ISpRecoContext_Resume_Stub(
9565     IRpcStubBuffer *This,
9566     IRpcChannelBuffer *_pRpcChannelBuffer,
9567     PRPC_MESSAGE _pRpcMessage,
9568     DWORD *_pdwStubPhase);
9569 
9570 
9571 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetVoice_Proxy(
9572     ISpRecoContext * This,
9573     /* [in] */ ISpVoice *pVoice,
9574     /* [in] */ BOOL fAllowFormatChanges);
9575 
9576 
9577 void __RPC_STUB ISpRecoContext_SetVoice_Stub(
9578     IRpcStubBuffer *This,
9579     IRpcChannelBuffer *_pRpcChannelBuffer,
9580     PRPC_MESSAGE _pRpcMessage,
9581     DWORD *_pdwStubPhase);
9582 
9583 
9584 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetVoice_Proxy(
9585     ISpRecoContext * This,
9586     /* [out] */ ISpVoice **ppVoice);
9587 
9588 
9589 void __RPC_STUB ISpRecoContext_GetVoice_Stub(
9590     IRpcStubBuffer *This,
9591     IRpcChannelBuffer *_pRpcChannelBuffer,
9592     PRPC_MESSAGE _pRpcMessage,
9593     DWORD *_pdwStubPhase);
9594 
9595 
9596 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetVoicePurgeEvent_Proxy(
9597     ISpRecoContext * This,
9598     /* [in] */ ULONGLONG ullEventInterest);
9599 
9600 
9601 void __RPC_STUB ISpRecoContext_SetVoicePurgeEvent_Stub(
9602     IRpcStubBuffer *This,
9603     IRpcChannelBuffer *_pRpcChannelBuffer,
9604     PRPC_MESSAGE _pRpcMessage,
9605     DWORD *_pdwStubPhase);
9606 
9607 
9608 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetVoicePurgeEvent_Proxy(
9609     ISpRecoContext * This,
9610     /* [out] */ ULONGLONG *pullEventInterest);
9611 
9612 
9613 void __RPC_STUB ISpRecoContext_GetVoicePurgeEvent_Stub(
9614     IRpcStubBuffer *This,
9615     IRpcChannelBuffer *_pRpcChannelBuffer,
9616     PRPC_MESSAGE _pRpcMessage,
9617     DWORD *_pdwStubPhase);
9618 
9619 
9620 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetContextState_Proxy(
9621     ISpRecoContext * This,
9622     /* [in] */ SPCONTEXTSTATE eContextState);
9623 
9624 
9625 void __RPC_STUB ISpRecoContext_SetContextState_Stub(
9626     IRpcStubBuffer *This,
9627     IRpcChannelBuffer *_pRpcChannelBuffer,
9628     PRPC_MESSAGE _pRpcMessage,
9629     DWORD *_pdwStubPhase);
9630 
9631 
9632 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetContextState_Proxy(
9633     ISpRecoContext * This,
9634     /* [in] */ SPCONTEXTSTATE *peContextState);
9635 
9636 
9637 void __RPC_STUB ISpRecoContext_GetContextState_Stub(
9638     IRpcStubBuffer *This,
9639     IRpcChannelBuffer *_pRpcChannelBuffer,
9640     PRPC_MESSAGE _pRpcMessage,
9641     DWORD *_pdwStubPhase);
9642 
9643 
9644 
9645 #endif 	/* __ISpRecoContext_INTERFACE_DEFINED__ */
9646 
9647 
9648 #ifndef __ISpProperties_INTERFACE_DEFINED__
9649 #define __ISpProperties_INTERFACE_DEFINED__
9650 
9651 /* interface ISpProperties */
9652 /* [restricted][local][unique][helpstring][uuid][object] */
9653 
9654 
9655 EXTERN_C const IID IID_ISpProperties;
9656 
9657 #if defined(__cplusplus) && !defined(CINTERFACE)
9658 
9659     MIDL_INTERFACE("5B4FB971-B115-4DE1-AD97-E482E3BF6EE4")
9660     ISpProperties : public IUnknown
9661     {
9662     public:
9663         virtual HRESULT STDMETHODCALLTYPE SetPropertyNum(
9664             /* [in] */ const WCHAR *pName,
9665             /* [in] */ LONG lValue) = 0;
9666 
9667         virtual HRESULT STDMETHODCALLTYPE GetPropertyNum(
9668             /* [in] */ const WCHAR *pName,
9669             /* [out] */ LONG *plValue) = 0;
9670 
9671         virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
9672             /* [in] */ const WCHAR *pName,
9673             /* [in] */ const WCHAR *pValue) = 0;
9674 
9675         virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
9676             /* [in] */ const WCHAR *pName,
9677             /* [out] */ WCHAR **ppCoMemValue) = 0;
9678 
9679     };
9680 
9681 #else 	/* C style interface */
9682 
9683     typedef struct ISpPropertiesVtbl
9684     {
9685         BEGIN_INTERFACE
9686 
9687         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9688             ISpProperties * This,
9689             /* [in] */ REFIID riid,
9690             /* [iid_is][out] */ void **ppvObject);
9691 
9692         ULONG ( STDMETHODCALLTYPE *AddRef )(
9693             ISpProperties * This);
9694 
9695         ULONG ( STDMETHODCALLTYPE *Release )(
9696             ISpProperties * This);
9697 
9698         HRESULT ( STDMETHODCALLTYPE *SetPropertyNum )(
9699             ISpProperties * This,
9700             /* [in] */ const WCHAR *pName,
9701             /* [in] */ LONG lValue);
9702 
9703         HRESULT ( STDMETHODCALLTYPE *GetPropertyNum )(
9704             ISpProperties * This,
9705             /* [in] */ const WCHAR *pName,
9706             /* [out] */ LONG *plValue);
9707 
9708         HRESULT ( STDMETHODCALLTYPE *SetPropertyString )(
9709             ISpProperties * This,
9710             /* [in] */ const WCHAR *pName,
9711             /* [in] */ const WCHAR *pValue);
9712 
9713         HRESULT ( STDMETHODCALLTYPE *GetPropertyString )(
9714             ISpProperties * This,
9715             /* [in] */ const WCHAR *pName,
9716             /* [out] */ WCHAR **ppCoMemValue);
9717 
9718         END_INTERFACE
9719     } ISpPropertiesVtbl;
9720 
9721     interface ISpProperties
9722     {
9723         CONST_VTBL struct ISpPropertiesVtbl *lpVtbl;
9724     };
9725 
9726 
9727 
9728 #ifdef COBJMACROS
9729 
9730 
9731 #define ISpProperties_QueryInterface(This,riid,ppvObject)	\
9732     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
9733 
9734 #define ISpProperties_AddRef(This)	\
9735     (This)->lpVtbl -> AddRef(This)
9736 
9737 #define ISpProperties_Release(This)	\
9738     (This)->lpVtbl -> Release(This)
9739 
9740 
9741 #define ISpProperties_SetPropertyNum(This,pName,lValue)	\
9742     (This)->lpVtbl -> SetPropertyNum(This,pName,lValue)
9743 
9744 #define ISpProperties_GetPropertyNum(This,pName,plValue)	\
9745     (This)->lpVtbl -> GetPropertyNum(This,pName,plValue)
9746 
9747 #define ISpProperties_SetPropertyString(This,pName,pValue)	\
9748     (This)->lpVtbl -> SetPropertyString(This,pName,pValue)
9749 
9750 #define ISpProperties_GetPropertyString(This,pName,ppCoMemValue)	\
9751     (This)->lpVtbl -> GetPropertyString(This,pName,ppCoMemValue)
9752 
9753 #endif /* COBJMACROS */
9754 
9755 
9756 #endif 	/* C style interface */
9757 
9758 
9759 
9760 HRESULT STDMETHODCALLTYPE ISpProperties_SetPropertyNum_Proxy(
9761     ISpProperties * This,
9762     /* [in] */ const WCHAR *pName,
9763     /* [in] */ LONG lValue);
9764 
9765 
9766 void __RPC_STUB ISpProperties_SetPropertyNum_Stub(
9767     IRpcStubBuffer *This,
9768     IRpcChannelBuffer *_pRpcChannelBuffer,
9769     PRPC_MESSAGE _pRpcMessage,
9770     DWORD *_pdwStubPhase);
9771 
9772 
9773 HRESULT STDMETHODCALLTYPE ISpProperties_GetPropertyNum_Proxy(
9774     ISpProperties * This,
9775     /* [in] */ const WCHAR *pName,
9776     /* [out] */ LONG *plValue);
9777 
9778 
9779 void __RPC_STUB ISpProperties_GetPropertyNum_Stub(
9780     IRpcStubBuffer *This,
9781     IRpcChannelBuffer *_pRpcChannelBuffer,
9782     PRPC_MESSAGE _pRpcMessage,
9783     DWORD *_pdwStubPhase);
9784 
9785 
9786 HRESULT STDMETHODCALLTYPE ISpProperties_SetPropertyString_Proxy(
9787     ISpProperties * This,
9788     /* [in] */ const WCHAR *pName,
9789     /* [in] */ const WCHAR *pValue);
9790 
9791 
9792 void __RPC_STUB ISpProperties_SetPropertyString_Stub(
9793     IRpcStubBuffer *This,
9794     IRpcChannelBuffer *_pRpcChannelBuffer,
9795     PRPC_MESSAGE _pRpcMessage,
9796     DWORD *_pdwStubPhase);
9797 
9798 
9799 HRESULT STDMETHODCALLTYPE ISpProperties_GetPropertyString_Proxy(
9800     ISpProperties * This,
9801     /* [in] */ const WCHAR *pName,
9802     /* [out] */ WCHAR **ppCoMemValue);
9803 
9804 
9805 void __RPC_STUB ISpProperties_GetPropertyString_Stub(
9806     IRpcStubBuffer *This,
9807     IRpcChannelBuffer *_pRpcChannelBuffer,
9808     PRPC_MESSAGE _pRpcMessage,
9809     DWORD *_pdwStubPhase);
9810 
9811 
9812 
9813 #endif 	/* __ISpProperties_INTERFACE_DEFINED__ */
9814 
9815 
9816 /* interface __MIDL_itf_sapi_0281 */
9817 /* [local] */
9818 
9819 #define	SP_MAX_LANGIDS	( 20 )
9820 
9821 typedef /* [hidden][restricted] */ struct SPRECOGNIZERSTATUS
9822     {
9823     SPAUDIOSTATUS AudioStatus;
9824     ULONGLONG ullRecognitionStreamPos;
9825     ULONG ulStreamNumber;
9826     ULONG ulNumActive;
9827     CLSID clsidEngine;
9828     ULONG cLangIDs;
9829     WORD aLangID[ 20 ];
9830     DWORD dwReserved1;
9831     DWORD dwReserved2;
9832     } 	SPRECOGNIZERSTATUS;
9833 
9834 typedef /* [hidden] */
9835 enum SPWAVEFORMATTYPE
9836     {	SPWF_INPUT	= 0,
9837 	SPWF_SRENGINE	= SPWF_INPUT + 1
9838     } 	SPSTREAMFORMATTYPE;
9839 
9840 typedef /* [hidden] */
9841 enum SPRECOSTATE
9842     {	SPRST_INACTIVE	= 0,
9843 	SPRST_ACTIVE	= SPRST_INACTIVE + 1,
9844 	SPRST_ACTIVE_ALWAYS	= SPRST_ACTIVE + 1,
9845 	SPRST_INACTIVE_WITH_PURGE	= SPRST_ACTIVE_ALWAYS + 1,
9846 	SPRST_NUM_STATES	= SPRST_INACTIVE_WITH_PURGE + 1
9847     } 	SPRECOSTATE;
9848 
9849 
9850 
9851 extern RPC_IF_HANDLE __MIDL_itf_sapi_0281_v0_0_c_ifspec;
9852 extern RPC_IF_HANDLE __MIDL_itf_sapi_0281_v0_0_s_ifspec;
9853 
9854 #ifndef __ISpRecognizer_INTERFACE_DEFINED__
9855 #define __ISpRecognizer_INTERFACE_DEFINED__
9856 
9857 /* interface ISpRecognizer */
9858 /* [restricted][unique][helpstring][uuid][object] */
9859 
9860 
9861 EXTERN_C const IID IID_ISpRecognizer;
9862 
9863 #if defined(__cplusplus) && !defined(CINTERFACE)
9864 
9865     MIDL_INTERFACE("C2B5F241-DAA0-4507-9E16-5A1EAA2B7A5C")
9866     ISpRecognizer : public ISpProperties
9867     {
9868     public:
9869         virtual HRESULT STDMETHODCALLTYPE SetRecognizer(
9870             /* [in] */ ISpObjectToken *pRecognizer) = 0;
9871 
9872         virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
9873             /* [out] */ ISpObjectToken **ppRecognizer) = 0;
9874 
9875         virtual HRESULT STDMETHODCALLTYPE SetInput(
9876             /* [in] */ IUnknown *pUnkInput,
9877             /* [in] */ BOOL fAllowFormatChanges) = 0;
9878 
9879         virtual HRESULT STDMETHODCALLTYPE GetInputObjectToken(
9880             /* [out] */ ISpObjectToken **ppToken) = 0;
9881 
9882         virtual HRESULT STDMETHODCALLTYPE GetInputStream(
9883             /* [out] */ ISpStreamFormat **ppStream) = 0;
9884 
9885         virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
9886             /* [out] */ ISpRecoContext **ppNewCtxt) = 0;
9887 
9888         virtual HRESULT STDMETHODCALLTYPE GetRecoProfile(
9889             /* [out] */ ISpObjectToken **ppToken) = 0;
9890 
9891         virtual HRESULT STDMETHODCALLTYPE SetRecoProfile(
9892             /* [in] */ ISpObjectToken *pToken) = 0;
9893 
9894         virtual HRESULT STDMETHODCALLTYPE IsSharedInstance( void) = 0;
9895 
9896         virtual HRESULT STDMETHODCALLTYPE GetRecoState(
9897             /* [out] */ SPRECOSTATE *pState) = 0;
9898 
9899         virtual HRESULT STDMETHODCALLTYPE SetRecoState(
9900             /* [in] */ SPRECOSTATE NewState) = 0;
9901 
9902         virtual HRESULT STDMETHODCALLTYPE GetStatus(
9903             /* [out] */ SPRECOGNIZERSTATUS *pStatus) = 0;
9904 
9905         virtual HRESULT STDMETHODCALLTYPE GetFormat(
9906             /* [in] */ SPSTREAMFORMATTYPE WaveFormatType,
9907             /* [out] */ GUID *pFormatId,
9908             /* [out] */ WAVEFORMATEX **ppCoMemWFEX) = 0;
9909 
9910         virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsUISupported(
9911             /* [in] */ const WCHAR *pszTypeOfUI,
9912             /* [in] */ void *pvExtraData,
9913             /* [in] */ ULONG cbExtraData,
9914             /* [out] */ BOOL *pfSupported) = 0;
9915 
9916         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DisplayUI(
9917             /* [in] */ HWND hwndParent,
9918             /* [in] */ const WCHAR *pszTitle,
9919             /* [in] */ const WCHAR *pszTypeOfUI,
9920             /* [in] */ void *pvExtraData,
9921             /* [in] */ ULONG cbExtraData) = 0;
9922 
9923         virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
9924             /* [in] */ ISpPhrase *pPhrase) = 0;
9925 
9926     };
9927 
9928 #else 	/* C style interface */
9929 
9930     typedef struct ISpRecognizerVtbl
9931     {
9932         BEGIN_INTERFACE
9933 
9934         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9935             ISpRecognizer * This,
9936             /* [in] */ REFIID riid,
9937             /* [iid_is][out] */ void **ppvObject);
9938 
9939         ULONG ( STDMETHODCALLTYPE *AddRef )(
9940             ISpRecognizer * This);
9941 
9942         ULONG ( STDMETHODCALLTYPE *Release )(
9943             ISpRecognizer * This);
9944 
9945         HRESULT ( STDMETHODCALLTYPE *SetPropertyNum )(
9946             ISpRecognizer * This,
9947             /* [in] */ const WCHAR *pName,
9948             /* [in] */ LONG lValue);
9949 
9950         HRESULT ( STDMETHODCALLTYPE *GetPropertyNum )(
9951             ISpRecognizer * This,
9952             /* [in] */ const WCHAR *pName,
9953             /* [out] */ LONG *plValue);
9954 
9955         HRESULT ( STDMETHODCALLTYPE *SetPropertyString )(
9956             ISpRecognizer * This,
9957             /* [in] */ const WCHAR *pName,
9958             /* [in] */ const WCHAR *pValue);
9959 
9960         HRESULT ( STDMETHODCALLTYPE *GetPropertyString )(
9961             ISpRecognizer * This,
9962             /* [in] */ const WCHAR *pName,
9963             /* [out] */ WCHAR **ppCoMemValue);
9964 
9965         HRESULT ( STDMETHODCALLTYPE *SetRecognizer )(
9966             ISpRecognizer * This,
9967             /* [in] */ ISpObjectToken *pRecognizer);
9968 
9969         HRESULT ( STDMETHODCALLTYPE *GetRecognizer )(
9970             ISpRecognizer * This,
9971             /* [out] */ ISpObjectToken **ppRecognizer);
9972 
9973         HRESULT ( STDMETHODCALLTYPE *SetInput )(
9974             ISpRecognizer * This,
9975             /* [in] */ IUnknown *pUnkInput,
9976             /* [in] */ BOOL fAllowFormatChanges);
9977 
9978         HRESULT ( STDMETHODCALLTYPE *GetInputObjectToken )(
9979             ISpRecognizer * This,
9980             /* [out] */ ISpObjectToken **ppToken);
9981 
9982         HRESULT ( STDMETHODCALLTYPE *GetInputStream )(
9983             ISpRecognizer * This,
9984             /* [out] */ ISpStreamFormat **ppStream);
9985 
9986         HRESULT ( STDMETHODCALLTYPE *CreateRecoContext )(
9987             ISpRecognizer * This,
9988             /* [out] */ ISpRecoContext **ppNewCtxt);
9989 
9990         HRESULT ( STDMETHODCALLTYPE *GetRecoProfile )(
9991             ISpRecognizer * This,
9992             /* [out] */ ISpObjectToken **ppToken);
9993 
9994         HRESULT ( STDMETHODCALLTYPE *SetRecoProfile )(
9995             ISpRecognizer * This,
9996             /* [in] */ ISpObjectToken *pToken);
9997 
9998         HRESULT ( STDMETHODCALLTYPE *IsSharedInstance )(
9999             ISpRecognizer * This);
10000 
10001         HRESULT ( STDMETHODCALLTYPE *GetRecoState )(
10002             ISpRecognizer * This,
10003             /* [out] */ SPRECOSTATE *pState);
10004 
10005         HRESULT ( STDMETHODCALLTYPE *SetRecoState )(
10006             ISpRecognizer * This,
10007             /* [in] */ SPRECOSTATE NewState);
10008 
10009         HRESULT ( STDMETHODCALLTYPE *GetStatus )(
10010             ISpRecognizer * This,
10011             /* [out] */ SPRECOGNIZERSTATUS *pStatus);
10012 
10013         HRESULT ( STDMETHODCALLTYPE *GetFormat )(
10014             ISpRecognizer * This,
10015             /* [in] */ SPSTREAMFORMATTYPE WaveFormatType,
10016             /* [out] */ GUID *pFormatId,
10017             /* [out] */ WAVEFORMATEX **ppCoMemWFEX);
10018 
10019         /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
10020             ISpRecognizer * This,
10021             /* [in] */ const WCHAR *pszTypeOfUI,
10022             /* [in] */ void *pvExtraData,
10023             /* [in] */ ULONG cbExtraData,
10024             /* [out] */ BOOL *pfSupported);
10025 
10026         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
10027             ISpRecognizer * This,
10028             /* [in] */ HWND hwndParent,
10029             /* [in] */ const WCHAR *pszTitle,
10030             /* [in] */ const WCHAR *pszTypeOfUI,
10031             /* [in] */ void *pvExtraData,
10032             /* [in] */ ULONG cbExtraData);
10033 
10034         HRESULT ( STDMETHODCALLTYPE *EmulateRecognition )(
10035             ISpRecognizer * This,
10036             /* [in] */ ISpPhrase *pPhrase);
10037 
10038         END_INTERFACE
10039     } ISpRecognizerVtbl;
10040 
10041     interface ISpRecognizer
10042     {
10043         CONST_VTBL struct ISpRecognizerVtbl *lpVtbl;
10044     };
10045 
10046 
10047 
10048 #ifdef COBJMACROS
10049 
10050 
10051 #define ISpRecognizer_QueryInterface(This,riid,ppvObject)	\
10052     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
10053 
10054 #define ISpRecognizer_AddRef(This)	\
10055     (This)->lpVtbl -> AddRef(This)
10056 
10057 #define ISpRecognizer_Release(This)	\
10058     (This)->lpVtbl -> Release(This)
10059 
10060 
10061 #define ISpRecognizer_SetPropertyNum(This,pName,lValue)	\
10062     (This)->lpVtbl -> SetPropertyNum(This,pName,lValue)
10063 
10064 #define ISpRecognizer_GetPropertyNum(This,pName,plValue)	\
10065     (This)->lpVtbl -> GetPropertyNum(This,pName,plValue)
10066 
10067 #define ISpRecognizer_SetPropertyString(This,pName,pValue)	\
10068     (This)->lpVtbl -> SetPropertyString(This,pName,pValue)
10069 
10070 #define ISpRecognizer_GetPropertyString(This,pName,ppCoMemValue)	\
10071     (This)->lpVtbl -> GetPropertyString(This,pName,ppCoMemValue)
10072 
10073 
10074 #define ISpRecognizer_SetRecognizer(This,pRecognizer)	\
10075     (This)->lpVtbl -> SetRecognizer(This,pRecognizer)
10076 
10077 #define ISpRecognizer_GetRecognizer(This,ppRecognizer)	\
10078     (This)->lpVtbl -> GetRecognizer(This,ppRecognizer)
10079 
10080 #define ISpRecognizer_SetInput(This,pUnkInput,fAllowFormatChanges)	\
10081     (This)->lpVtbl -> SetInput(This,pUnkInput,fAllowFormatChanges)
10082 
10083 #define ISpRecognizer_GetInputObjectToken(This,ppToken)	\
10084     (This)->lpVtbl -> GetInputObjectToken(This,ppToken)
10085 
10086 #define ISpRecognizer_GetInputStream(This,ppStream)	\
10087     (This)->lpVtbl -> GetInputStream(This,ppStream)
10088 
10089 #define ISpRecognizer_CreateRecoContext(This,ppNewCtxt)	\
10090     (This)->lpVtbl -> CreateRecoContext(This,ppNewCtxt)
10091 
10092 #define ISpRecognizer_GetRecoProfile(This,ppToken)	\
10093     (This)->lpVtbl -> GetRecoProfile(This,ppToken)
10094 
10095 #define ISpRecognizer_SetRecoProfile(This,pToken)	\
10096     (This)->lpVtbl -> SetRecoProfile(This,pToken)
10097 
10098 #define ISpRecognizer_IsSharedInstance(This)	\
10099     (This)->lpVtbl -> IsSharedInstance(This)
10100 
10101 #define ISpRecognizer_GetRecoState(This,pState)	\
10102     (This)->lpVtbl -> GetRecoState(This,pState)
10103 
10104 #define ISpRecognizer_SetRecoState(This,NewState)	\
10105     (This)->lpVtbl -> SetRecoState(This,NewState)
10106 
10107 #define ISpRecognizer_GetStatus(This,pStatus)	\
10108     (This)->lpVtbl -> GetStatus(This,pStatus)
10109 
10110 #define ISpRecognizer_GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX)	\
10111     (This)->lpVtbl -> GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX)
10112 
10113 #define ISpRecognizer_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)	\
10114     (This)->lpVtbl -> IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
10115 
10116 #define ISpRecognizer_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)	\
10117     (This)->lpVtbl -> DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
10118 
10119 #define ISpRecognizer_EmulateRecognition(This,pPhrase)	\
10120     (This)->lpVtbl -> EmulateRecognition(This,pPhrase)
10121 
10122 #endif /* COBJMACROS */
10123 
10124 
10125 #endif 	/* C style interface */
10126 
10127 
10128 
10129 HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecognizer_Proxy(
10130     ISpRecognizer * This,
10131     /* [in] */ ISpObjectToken *pRecognizer);
10132 
10133 
10134 void __RPC_STUB ISpRecognizer_SetRecognizer_Stub(
10135     IRpcStubBuffer *This,
10136     IRpcChannelBuffer *_pRpcChannelBuffer,
10137     PRPC_MESSAGE _pRpcMessage,
10138     DWORD *_pdwStubPhase);
10139 
10140 
10141 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecognizer_Proxy(
10142     ISpRecognizer * This,
10143     /* [out] */ ISpObjectToken **ppRecognizer);
10144 
10145 
10146 void __RPC_STUB ISpRecognizer_GetRecognizer_Stub(
10147     IRpcStubBuffer *This,
10148     IRpcChannelBuffer *_pRpcChannelBuffer,
10149     PRPC_MESSAGE _pRpcMessage,
10150     DWORD *_pdwStubPhase);
10151 
10152 
10153 HRESULT STDMETHODCALLTYPE ISpRecognizer_SetInput_Proxy(
10154     ISpRecognizer * This,
10155     /* [in] */ IUnknown *pUnkInput,
10156     /* [in] */ BOOL fAllowFormatChanges);
10157 
10158 
10159 void __RPC_STUB ISpRecognizer_SetInput_Stub(
10160     IRpcStubBuffer *This,
10161     IRpcChannelBuffer *_pRpcChannelBuffer,
10162     PRPC_MESSAGE _pRpcMessage,
10163     DWORD *_pdwStubPhase);
10164 
10165 
10166 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetInputObjectToken_Proxy(
10167     ISpRecognizer * This,
10168     /* [out] */ ISpObjectToken **ppToken);
10169 
10170 
10171 void __RPC_STUB ISpRecognizer_GetInputObjectToken_Stub(
10172     IRpcStubBuffer *This,
10173     IRpcChannelBuffer *_pRpcChannelBuffer,
10174     PRPC_MESSAGE _pRpcMessage,
10175     DWORD *_pdwStubPhase);
10176 
10177 
10178 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetInputStream_Proxy(
10179     ISpRecognizer * This,
10180     /* [out] */ ISpStreamFormat **ppStream);
10181 
10182 
10183 void __RPC_STUB ISpRecognizer_GetInputStream_Stub(
10184     IRpcStubBuffer *This,
10185     IRpcChannelBuffer *_pRpcChannelBuffer,
10186     PRPC_MESSAGE _pRpcMessage,
10187     DWORD *_pdwStubPhase);
10188 
10189 
10190 HRESULT STDMETHODCALLTYPE ISpRecognizer_CreateRecoContext_Proxy(
10191     ISpRecognizer * This,
10192     /* [out] */ ISpRecoContext **ppNewCtxt);
10193 
10194 
10195 void __RPC_STUB ISpRecognizer_CreateRecoContext_Stub(
10196     IRpcStubBuffer *This,
10197     IRpcChannelBuffer *_pRpcChannelBuffer,
10198     PRPC_MESSAGE _pRpcMessage,
10199     DWORD *_pdwStubPhase);
10200 
10201 
10202 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecoProfile_Proxy(
10203     ISpRecognizer * This,
10204     /* [out] */ ISpObjectToken **ppToken);
10205 
10206 
10207 void __RPC_STUB ISpRecognizer_GetRecoProfile_Stub(
10208     IRpcStubBuffer *This,
10209     IRpcChannelBuffer *_pRpcChannelBuffer,
10210     PRPC_MESSAGE _pRpcMessage,
10211     DWORD *_pdwStubPhase);
10212 
10213 
10214 HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecoProfile_Proxy(
10215     ISpRecognizer * This,
10216     /* [in] */ ISpObjectToken *pToken);
10217 
10218 
10219 void __RPC_STUB ISpRecognizer_SetRecoProfile_Stub(
10220     IRpcStubBuffer *This,
10221     IRpcChannelBuffer *_pRpcChannelBuffer,
10222     PRPC_MESSAGE _pRpcMessage,
10223     DWORD *_pdwStubPhase);
10224 
10225 
10226 HRESULT STDMETHODCALLTYPE ISpRecognizer_IsSharedInstance_Proxy(
10227     ISpRecognizer * This);
10228 
10229 
10230 void __RPC_STUB ISpRecognizer_IsSharedInstance_Stub(
10231     IRpcStubBuffer *This,
10232     IRpcChannelBuffer *_pRpcChannelBuffer,
10233     PRPC_MESSAGE _pRpcMessage,
10234     DWORD *_pdwStubPhase);
10235 
10236 
10237 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecoState_Proxy(
10238     ISpRecognizer * This,
10239     /* [out] */ SPRECOSTATE *pState);
10240 
10241 
10242 void __RPC_STUB ISpRecognizer_GetRecoState_Stub(
10243     IRpcStubBuffer *This,
10244     IRpcChannelBuffer *_pRpcChannelBuffer,
10245     PRPC_MESSAGE _pRpcMessage,
10246     DWORD *_pdwStubPhase);
10247 
10248 
10249 HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecoState_Proxy(
10250     ISpRecognizer * This,
10251     /* [in] */ SPRECOSTATE NewState);
10252 
10253 
10254 void __RPC_STUB ISpRecognizer_SetRecoState_Stub(
10255     IRpcStubBuffer *This,
10256     IRpcChannelBuffer *_pRpcChannelBuffer,
10257     PRPC_MESSAGE _pRpcMessage,
10258     DWORD *_pdwStubPhase);
10259 
10260 
10261 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetStatus_Proxy(
10262     ISpRecognizer * This,
10263     /* [out] */ SPRECOGNIZERSTATUS *pStatus);
10264 
10265 
10266 void __RPC_STUB ISpRecognizer_GetStatus_Stub(
10267     IRpcStubBuffer *This,
10268     IRpcChannelBuffer *_pRpcChannelBuffer,
10269     PRPC_MESSAGE _pRpcMessage,
10270     DWORD *_pdwStubPhase);
10271 
10272 
10273 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetFormat_Proxy(
10274     ISpRecognizer * This,
10275     /* [in] */ SPSTREAMFORMATTYPE WaveFormatType,
10276     /* [out] */ GUID *pFormatId,
10277     /* [out] */ WAVEFORMATEX **ppCoMemWFEX);
10278 
10279 
10280 void __RPC_STUB ISpRecognizer_GetFormat_Stub(
10281     IRpcStubBuffer *This,
10282     IRpcChannelBuffer *_pRpcChannelBuffer,
10283     PRPC_MESSAGE _pRpcMessage,
10284     DWORD *_pdwStubPhase);
10285 
10286 
10287 /* [local] */ HRESULT STDMETHODCALLTYPE ISpRecognizer_IsUISupported_Proxy(
10288     ISpRecognizer * This,
10289     /* [in] */ const WCHAR *pszTypeOfUI,
10290     /* [in] */ void *pvExtraData,
10291     /* [in] */ ULONG cbExtraData,
10292     /* [out] */ BOOL *pfSupported);
10293 
10294 
10295 void __RPC_STUB ISpRecognizer_IsUISupported_Stub(
10296     IRpcStubBuffer *This,
10297     IRpcChannelBuffer *_pRpcChannelBuffer,
10298     PRPC_MESSAGE _pRpcMessage,
10299     DWORD *_pdwStubPhase);
10300 
10301 
10302 /* [local] */ HRESULT STDMETHODCALLTYPE ISpRecognizer_DisplayUI_Proxy(
10303     ISpRecognizer * This,
10304     /* [in] */ HWND hwndParent,
10305     /* [in] */ const WCHAR *pszTitle,
10306     /* [in] */ const WCHAR *pszTypeOfUI,
10307     /* [in] */ void *pvExtraData,
10308     /* [in] */ ULONG cbExtraData);
10309 
10310 
10311 void __RPC_STUB ISpRecognizer_DisplayUI_Stub(
10312     IRpcStubBuffer *This,
10313     IRpcChannelBuffer *_pRpcChannelBuffer,
10314     PRPC_MESSAGE _pRpcMessage,
10315     DWORD *_pdwStubPhase);
10316 
10317 
10318 HRESULT STDMETHODCALLTYPE ISpRecognizer_EmulateRecognition_Proxy(
10319     ISpRecognizer * This,
10320     /* [in] */ ISpPhrase *pPhrase);
10321 
10322 
10323 void __RPC_STUB ISpRecognizer_EmulateRecognition_Stub(
10324     IRpcStubBuffer *This,
10325     IRpcChannelBuffer *_pRpcChannelBuffer,
10326     PRPC_MESSAGE _pRpcMessage,
10327     DWORD *_pdwStubPhase);
10328 
10329 
10330 
10331 #endif 	/* __ISpRecognizer_INTERFACE_DEFINED__ */
10332 
10333 
10334 
10335 #ifndef __SpeechLib_LIBRARY_DEFINED__
10336 #define __SpeechLib_LIBRARY_DEFINED__
10337 
10338 /* library SpeechLib */
10339 /* [version][uuid][helpstring] */
10340 
10341 
10342 
10343 
10344 
10345 
10346 
10347 
10348 
10349 
10350 
10351 
10352 
10353 
10354 
10355 
10356 
10357 
10358 
10359 
10360 
10361 
10362 
10363 
10364 
10365 
10366 
10367 
10368 
10369 
10370 
10371 
10372 
10373 
10374 
10375 
10376 
10377 
10378 
10379 
10380 
10381 
10382 
10383 
10384 
10385 
10386 
10387 typedef long SpeechLanguageId;
10388 
10389 #define __SpeechStringConstants_MODULE_DEFINED__
10390 typedef /* [hidden] */
10391 enum DISPID_SpeechDataKey
10392     {	DISPID_SDKSetBinaryValue	= 1,
10393 	DISPID_SDKGetBinaryValue	= DISPID_SDKSetBinaryValue + 1,
10394 	DISPID_SDKSetStringValue	= DISPID_SDKGetBinaryValue + 1,
10395 	DISPID_SDKGetStringValue	= DISPID_SDKSetStringValue + 1,
10396 	DISPID_SDKSetLongValue	= DISPID_SDKGetStringValue + 1,
10397 	DISPID_SDKGetlongValue	= DISPID_SDKSetLongValue + 1,
10398 	DISPID_SDKOpenKey	= DISPID_SDKGetlongValue + 1,
10399 	DISPID_SDKCreateKey	= DISPID_SDKOpenKey + 1,
10400 	DISPID_SDKDeleteKey	= DISPID_SDKCreateKey + 1,
10401 	DISPID_SDKDeleteValue	= DISPID_SDKDeleteKey + 1,
10402 	DISPID_SDKEnumKeys	= DISPID_SDKDeleteValue + 1,
10403 	DISPID_SDKEnumValues	= DISPID_SDKEnumKeys + 1
10404     } 	DISPID_SpeechDataKey;
10405 
10406 typedef /* [hidden] */
10407 enum DISPID_SpeechObjectToken
10408     {	DISPID_SOTId	= 1,
10409 	DISPID_SOTDataKey	= DISPID_SOTId + 1,
10410 	DISPID_SOTCategory	= DISPID_SOTDataKey + 1,
10411 	DISPID_SOTGetDescription	= DISPID_SOTCategory + 1,
10412 	DISPID_SOTSetId	= DISPID_SOTGetDescription + 1,
10413 	DISPID_SOTGetAttribute	= DISPID_SOTSetId + 1,
10414 	DISPID_SOTCreateInstance	= DISPID_SOTGetAttribute + 1,
10415 	DISPID_SOTRemove	= DISPID_SOTCreateInstance + 1,
10416 	DISPID_SOTGetStorageFileName	= DISPID_SOTRemove + 1,
10417 	DISPID_SOTRemoveStorageFileName	= DISPID_SOTGetStorageFileName + 1,
10418 	DISPID_SOTIsUISupported	= DISPID_SOTRemoveStorageFileName + 1,
10419 	DISPID_SOTDisplayUI	= DISPID_SOTIsUISupported + 1,
10420 	DISPID_SOTMatchesAttributes	= DISPID_SOTDisplayUI + 1
10421     } 	DISPID_SpeechObjectToken;
10422 
10423 typedef
10424 enum SpeechDataKeyLocation
10425     {	SDKLDefaultLocation	= SPDKL_DefaultLocation,
10426 	SDKLCurrentUser	= SPDKL_CurrentUser,
10427 	SDKLLocalMachine	= SPDKL_LocalMachine,
10428 	SDKLCurrentConfig	= SPDKL_CurrentConfig
10429     } 	SpeechDataKeyLocation;
10430 
10431 typedef
10432 enum SpeechTokenContext
10433     {	STCInprocServer	= CLSCTX_INPROC_SERVER,
10434 	STCInprocHandler	= CLSCTX_INPROC_HANDLER,
10435 	STCLocalServer	= CLSCTX_LOCAL_SERVER,
10436 	STCRemoteServer	= CLSCTX_REMOTE_SERVER,
10437 	STCAll	= CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
10438     } 	SpeechTokenContext;
10439 
10440 typedef
10441 enum SpeechTokenShellFolder
10442     {	STSF_AppData	= 0x1a,
10443 	STSF_LocalAppData	= 0x1c,
10444 	STSF_CommonAppData	= 0x23,
10445 	STSF_FlagCreate	= 0x8000
10446     } 	SpeechTokenShellFolder;
10447 
10448 typedef /* [hidden] */
10449 enum DISPID_SpeechObjectTokens
10450     {	DISPID_SOTsCount	= 1,
10451 	DISPID_SOTsItem	= DISPID_VALUE,
10452 	DISPID_SOTs_NewEnum	= DISPID_NEWENUM
10453     } 	DISPID_SpeechObjectTokens;
10454 
10455 typedef /* [hidden] */
10456 enum DISPID_SpeechObjectTokenCategory
10457     {	DISPID_SOTCId	= 1,
10458 	DISPID_SOTCDefault	= DISPID_SOTCId + 1,
10459 	DISPID_SOTCSetId	= DISPID_SOTCDefault + 1,
10460 	DISPID_SOTCGetDataKey	= DISPID_SOTCSetId + 1,
10461 	DISPID_SOTCEnumerateTokens	= DISPID_SOTCGetDataKey + 1
10462     } 	DISPID_SpeechObjectTokenCategory;
10463 
10464 typedef
10465 enum SpeechAudioFormatType
10466     {	SAFTDefault	= -1,
10467 	SAFTNoAssignedFormat	= 0,
10468 	SAFTText	= SAFTNoAssignedFormat + 1,
10469 	SAFTNonStandardFormat	= SAFTText + 1,
10470 	SAFTExtendedAudioFormat	= SAFTNonStandardFormat + 1,
10471 	SAFT8kHz8BitMono	= SAFTExtendedAudioFormat + 1,
10472 	SAFT8kHz8BitStereo	= SAFT8kHz8BitMono + 1,
10473 	SAFT8kHz16BitMono	= SAFT8kHz8BitStereo + 1,
10474 	SAFT8kHz16BitStereo	= SAFT8kHz16BitMono + 1,
10475 	SAFT11kHz8BitMono	= SAFT8kHz16BitStereo + 1,
10476 	SAFT11kHz8BitStereo	= SAFT11kHz8BitMono + 1,
10477 	SAFT11kHz16BitMono	= SAFT11kHz8BitStereo + 1,
10478 	SAFT11kHz16BitStereo	= SAFT11kHz16BitMono + 1,
10479 	SAFT12kHz8BitMono	= SAFT11kHz16BitStereo + 1,
10480 	SAFT12kHz8BitStereo	= SAFT12kHz8BitMono + 1,
10481 	SAFT12kHz16BitMono	= SAFT12kHz8BitStereo + 1,
10482 	SAFT12kHz16BitStereo	= SAFT12kHz16BitMono + 1,
10483 	SAFT16kHz8BitMono	= SAFT12kHz16BitStereo + 1,
10484 	SAFT16kHz8BitStereo	= SAFT16kHz8BitMono + 1,
10485 	SAFT16kHz16BitMono	= SAFT16kHz8BitStereo + 1,
10486 	SAFT16kHz16BitStereo	= SAFT16kHz16BitMono + 1,
10487 	SAFT22kHz8BitMono	= SAFT16kHz16BitStereo + 1,
10488 	SAFT22kHz8BitStereo	= SAFT22kHz8BitMono + 1,
10489 	SAFT22kHz16BitMono	= SAFT22kHz8BitStereo + 1,
10490 	SAFT22kHz16BitStereo	= SAFT22kHz16BitMono + 1,
10491 	SAFT24kHz8BitMono	= SAFT22kHz16BitStereo + 1,
10492 	SAFT24kHz8BitStereo	= SAFT24kHz8BitMono + 1,
10493 	SAFT24kHz16BitMono	= SAFT24kHz8BitStereo + 1,
10494 	SAFT24kHz16BitStereo	= SAFT24kHz16BitMono + 1,
10495 	SAFT32kHz8BitMono	= SAFT24kHz16BitStereo + 1,
10496 	SAFT32kHz8BitStereo	= SAFT32kHz8BitMono + 1,
10497 	SAFT32kHz16BitMono	= SAFT32kHz8BitStereo + 1,
10498 	SAFT32kHz16BitStereo	= SAFT32kHz16BitMono + 1,
10499 	SAFT44kHz8BitMono	= SAFT32kHz16BitStereo + 1,
10500 	SAFT44kHz8BitStereo	= SAFT44kHz8BitMono + 1,
10501 	SAFT44kHz16BitMono	= SAFT44kHz8BitStereo + 1,
10502 	SAFT44kHz16BitStereo	= SAFT44kHz16BitMono + 1,
10503 	SAFT48kHz8BitMono	= SAFT44kHz16BitStereo + 1,
10504 	SAFT48kHz8BitStereo	= SAFT48kHz8BitMono + 1,
10505 	SAFT48kHz16BitMono	= SAFT48kHz8BitStereo + 1,
10506 	SAFT48kHz16BitStereo	= SAFT48kHz16BitMono + 1,
10507 	SAFTTrueSpeech_8kHz1BitMono	= SAFT48kHz16BitStereo + 1,
10508 	SAFTCCITT_ALaw_8kHzMono	= SAFTTrueSpeech_8kHz1BitMono + 1,
10509 	SAFTCCITT_ALaw_8kHzStereo	= SAFTCCITT_ALaw_8kHzMono + 1,
10510 	SAFTCCITT_ALaw_11kHzMono	= SAFTCCITT_ALaw_8kHzStereo + 1,
10511 	SAFTCCITT_ALaw_11kHzStereo	= SAFTCCITT_ALaw_11kHzMono + 1,
10512 	SAFTCCITT_ALaw_22kHzMono	= SAFTCCITT_ALaw_11kHzStereo + 1,
10513 	SAFTCCITT_ALaw_22kHzStereo	= SAFTCCITT_ALaw_22kHzMono + 1,
10514 	SAFTCCITT_ALaw_44kHzMono	= SAFTCCITT_ALaw_22kHzStereo + 1,
10515 	SAFTCCITT_ALaw_44kHzStereo	= SAFTCCITT_ALaw_44kHzMono + 1,
10516 	SAFTCCITT_uLaw_8kHzMono	= SAFTCCITT_ALaw_44kHzStereo + 1,
10517 	SAFTCCITT_uLaw_8kHzStereo	= SAFTCCITT_uLaw_8kHzMono + 1,
10518 	SAFTCCITT_uLaw_11kHzMono	= SAFTCCITT_uLaw_8kHzStereo + 1,
10519 	SAFTCCITT_uLaw_11kHzStereo	= SAFTCCITT_uLaw_11kHzMono + 1,
10520 	SAFTCCITT_uLaw_22kHzMono	= SAFTCCITT_uLaw_11kHzStereo + 1,
10521 	SAFTCCITT_uLaw_22kHzStereo	= SAFTCCITT_uLaw_22kHzMono + 1,
10522 	SAFTCCITT_uLaw_44kHzMono	= SAFTCCITT_uLaw_22kHzStereo + 1,
10523 	SAFTCCITT_uLaw_44kHzStereo	= SAFTCCITT_uLaw_44kHzMono + 1,
10524 	SAFTADPCM_8kHzMono	= SAFTCCITT_uLaw_44kHzStereo + 1,
10525 	SAFTADPCM_8kHzStereo	= SAFTADPCM_8kHzMono + 1,
10526 	SAFTADPCM_11kHzMono	= SAFTADPCM_8kHzStereo + 1,
10527 	SAFTADPCM_11kHzStereo	= SAFTADPCM_11kHzMono + 1,
10528 	SAFTADPCM_22kHzMono	= SAFTADPCM_11kHzStereo + 1,
10529 	SAFTADPCM_22kHzStereo	= SAFTADPCM_22kHzMono + 1,
10530 	SAFTADPCM_44kHzMono	= SAFTADPCM_22kHzStereo + 1,
10531 	SAFTADPCM_44kHzStereo	= SAFTADPCM_44kHzMono + 1,
10532 	SAFTGSM610_8kHzMono	= SAFTADPCM_44kHzStereo + 1,
10533 	SAFTGSM610_11kHzMono	= SAFTGSM610_8kHzMono + 1,
10534 	SAFTGSM610_22kHzMono	= SAFTGSM610_11kHzMono + 1,
10535 	SAFTGSM610_44kHzMono	= SAFTGSM610_22kHzMono + 1
10536     } 	SpeechAudioFormatType;
10537 
10538 typedef /* [hidden] */
10539 enum DISPID_SpeechAudioFormat
10540     {	DISPID_SAFType	= 1,
10541 	DISPID_SAFGuid	= DISPID_SAFType + 1,
10542 	DISPID_SAFGetWaveFormatEx	= DISPID_SAFGuid + 1,
10543 	DISPID_SAFSetWaveFormatEx	= DISPID_SAFGetWaveFormatEx + 1
10544     } 	DISPID_SpeechAudioFormat;
10545 
10546 typedef /* [hidden] */
10547 enum DISPID_SpeechBaseStream
10548     {	DISPID_SBSFormat	= 1,
10549 	DISPID_SBSRead	= DISPID_SBSFormat + 1,
10550 	DISPID_SBSWrite	= DISPID_SBSRead + 1,
10551 	DISPID_SBSSeek	= DISPID_SBSWrite + 1
10552     } 	DISPID_SpeechBaseStream;
10553 
10554 typedef
10555 enum SpeechStreamSeekPositionType
10556     {	SSSPTRelativeToStart	= STREAM_SEEK_SET,
10557 	SSSPTRelativeToCurrentPosition	= STREAM_SEEK_CUR,
10558 	SSSPTRelativeToEnd	= STREAM_SEEK_END
10559     } 	SpeechStreamSeekPositionType;
10560 
10561 typedef /* [hidden] */
10562 enum DISPID_SpeechAudio
10563     {	DISPID_SAStatus	= 200,
10564 	DISPID_SABufferInfo	= DISPID_SAStatus + 1,
10565 	DISPID_SADefaultFormat	= DISPID_SABufferInfo + 1,
10566 	DISPID_SAVolume	= DISPID_SADefaultFormat + 1,
10567 	DISPID_SABufferNotifySize	= DISPID_SAVolume + 1,
10568 	DISPID_SAEventHandle	= DISPID_SABufferNotifySize + 1,
10569 	DISPID_SASetState	= DISPID_SAEventHandle + 1
10570     } 	DISPID_SpeechAudio;
10571 
10572 typedef
10573 enum SpeechAudioState
10574     {	SASClosed	= SPAS_CLOSED,
10575 	SASStop	= SPAS_STOP,
10576 	SASPause	= SPAS_PAUSE,
10577 	SASRun	= SPAS_RUN
10578     } 	SpeechAudioState;
10579 
10580 typedef /* [hidden] */
10581 enum DISPID_SpeechMMSysAudio
10582     {	DISPID_SMSADeviceId	= 300,
10583 	DISPID_SMSALineId	= DISPID_SMSADeviceId + 1,
10584 	DISPID_SMSAMMHandle	= DISPID_SMSALineId + 1
10585     } 	DISPID_SpeechMMSysAudio;
10586 
10587 typedef /* [hidden] */
10588 enum DISPID_SpeechFileStream
10589     {	DISPID_SFSOpen	= 100,
10590 	DISPID_SFSClose	= DISPID_SFSOpen + 1
10591     } 	DISPID_SpeechFileStream;
10592 
10593 typedef
10594 enum SpeechStreamFileMode
10595     {	SSFMOpenForRead	= SPFM_OPEN_READONLY,
10596 	SSFMOpenReadWrite	= SPFM_OPEN_READWRITE,
10597 	SSFMCreate	= SPFM_CREATE,
10598 	SSFMCreateForWrite	= SPFM_CREATE_ALWAYS
10599     } 	SpeechStreamFileMode;
10600 
10601 typedef /* [hidden] */
10602 enum DISPID_SpeechCustomStream
10603     {	DISPID_SCSBaseStream	= 100
10604     } 	DISPID_SpeechCustomStream;
10605 
10606 typedef /* [hidden] */
10607 enum DISPID_SpeechMemoryStream
10608     {	DISPID_SMSSetData	= 100,
10609 	DISPID_SMSGetData	= DISPID_SMSSetData + 1
10610     } 	DISPID_SpeechMemoryStream;
10611 
10612 typedef /* [hidden] */
10613 enum DISPID_SpeechAudioStatus
10614     {	DISPID_SASFreeBufferSpace	= 1,
10615 	DISPID_SASNonBlockingIO	= DISPID_SASFreeBufferSpace + 1,
10616 	DISPID_SASState	= DISPID_SASNonBlockingIO + 1,
10617 	DISPID_SASCurrentSeekPosition	= DISPID_SASState + 1,
10618 	DISPID_SASCurrentDevicePosition	= DISPID_SASCurrentSeekPosition + 1
10619     } 	DISPID_SpeechAudioStatus;
10620 
10621 typedef /* [hidden] */
10622 enum DISPID_SpeechAudioBufferInfo
10623     {	DISPID_SABIMinNotification	= 1,
10624 	DISPID_SABIBufferSize	= DISPID_SABIMinNotification + 1,
10625 	DISPID_SABIEventBias	= DISPID_SABIBufferSize + 1
10626     } 	DISPID_SpeechAudioBufferInfo;
10627 
10628 typedef /* [hidden] */
10629 enum DISPID_SpeechWaveFormatEx
10630     {	DISPID_SWFEFormatTag	= 1,
10631 	DISPID_SWFEChannels	= DISPID_SWFEFormatTag + 1,
10632 	DISPID_SWFESamplesPerSec	= DISPID_SWFEChannels + 1,
10633 	DISPID_SWFEAvgBytesPerSec	= DISPID_SWFESamplesPerSec + 1,
10634 	DISPID_SWFEBlockAlign	= DISPID_SWFEAvgBytesPerSec + 1,
10635 	DISPID_SWFEBitsPerSample	= DISPID_SWFEBlockAlign + 1,
10636 	DISPID_SWFEExtraData	= DISPID_SWFEBitsPerSample + 1
10637     } 	DISPID_SpeechWaveFormatEx;
10638 
10639 typedef /* [hidden] */
10640 enum DISPID_SpeechVoice
10641     {	DISPID_SVStatus	= 1,
10642 	DISPID_SVVoice	= DISPID_SVStatus + 1,
10643 	DISPID_SVAudioOutput	= DISPID_SVVoice + 1,
10644 	DISPID_SVAudioOutputStream	= DISPID_SVAudioOutput + 1,
10645 	DISPID_SVRate	= DISPID_SVAudioOutputStream + 1,
10646 	DISPID_SVVolume	= DISPID_SVRate + 1,
10647 	DISPID_SVAllowAudioOuputFormatChangesOnNextSet	= DISPID_SVVolume + 1,
10648 	DISPID_SVEventInterests	= DISPID_SVAllowAudioOuputFormatChangesOnNextSet + 1,
10649 	DISPID_SVPriority	= DISPID_SVEventInterests + 1,
10650 	DISPID_SVAlertBoundary	= DISPID_SVPriority + 1,
10651 	DISPID_SVSyncronousSpeakTimeout	= DISPID_SVAlertBoundary + 1,
10652 	DISPID_SVSpeak	= DISPID_SVSyncronousSpeakTimeout + 1,
10653 	DISPID_SVSpeakStream	= DISPID_SVSpeak + 1,
10654 	DISPID_SVPause	= DISPID_SVSpeakStream + 1,
10655 	DISPID_SVResume	= DISPID_SVPause + 1,
10656 	DISPID_SVSkip	= DISPID_SVResume + 1,
10657 	DISPID_SVGetVoices	= DISPID_SVSkip + 1,
10658 	DISPID_SVGetAudioOutputs	= DISPID_SVGetVoices + 1,
10659 	DISPID_SVWaitUntilDone	= DISPID_SVGetAudioOutputs + 1,
10660 	DISPID_SVSpeakCompleteEvent	= DISPID_SVWaitUntilDone + 1,
10661 	DISPID_SVIsUISupported	= DISPID_SVSpeakCompleteEvent + 1,
10662 	DISPID_SVDisplayUI	= DISPID_SVIsUISupported + 1
10663     } 	DISPID_SpeechVoice;
10664 
10665 typedef
10666 enum SpeechVoicePriority
10667     {	SVPNormal	= SPVPRI_NORMAL,
10668 	SVPAlert	= SPVPRI_ALERT,
10669 	SVPOver	= SPVPRI_OVER
10670     } 	SpeechVoicePriority;
10671 
10672 typedef
10673 enum SpeechVoiceSpeakFlags
10674     {	SVSFDefault	= SPF_DEFAULT,
10675 	SVSFlagsAsync	= SPF_ASYNC,
10676 	SVSFPurgeBeforeSpeak	= SPF_PURGEBEFORESPEAK,
10677 	SVSFIsFilename	= SPF_IS_FILENAME,
10678 	SVSFIsXML	= SPF_IS_XML,
10679 	SVSFIsNotXML	= SPF_IS_NOT_XML,
10680 	SVSFPersistXML	= SPF_PERSIST_XML,
10681 	SVSFNLPSpeakPunc	= SPF_NLP_SPEAK_PUNC,
10682 	SVSFNLPMask	= SPF_NLP_MASK,
10683 	SVSFVoiceMask	= SPF_VOICE_MASK,
10684 	SVSFUnusedFlags	= SPF_UNUSED_FLAGS
10685     } 	SpeechVoiceSpeakFlags;
10686 
10687 typedef
10688 enum SpeechVoiceEvents
10689     {	SVEStartInputStream	= 1L << 1,
10690 	SVEEndInputStream	= 1L << 2,
10691 	SVEVoiceChange	= 1L << 3,
10692 	SVEBookmark	= 1L << 4,
10693 	SVEWordBoundary	= 1L << 5,
10694 	SVEPhoneme	= 1L << 6,
10695 	SVESentenceBoundary	= 1L << 7,
10696 	SVEViseme	= 1L << 8,
10697 	SVEAudioLevel	= 1L << 9,
10698 	SVEPrivate	= 1L << 15,
10699 	SVEAllEvents	= 0x83fe
10700     } 	SpeechVoiceEvents;
10701 
10702 typedef /* [hidden] */
10703 enum DISPID_SpeechVoiceStatus
10704     {	DISPID_SVSCurrentStreamNumber	= 1,
10705 	DISPID_SVSLastStreamNumberQueued	= DISPID_SVSCurrentStreamNumber + 1,
10706 	DISPID_SVSLastResult	= DISPID_SVSLastStreamNumberQueued + 1,
10707 	DISPID_SVSRunningState	= DISPID_SVSLastResult + 1,
10708 	DISPID_SVSInputWordPosition	= DISPID_SVSRunningState + 1,
10709 	DISPID_SVSInputWordLength	= DISPID_SVSInputWordPosition + 1,
10710 	DISPID_SVSInputSentencePosition	= DISPID_SVSInputWordLength + 1,
10711 	DISPID_SVSInputSentenceLength	= DISPID_SVSInputSentencePosition + 1,
10712 	DISPID_SVSLastBookmark	= DISPID_SVSInputSentenceLength + 1,
10713 	DISPID_SVSLastBookmarkId	= DISPID_SVSLastBookmark + 1,
10714 	DISPID_SVSPhonemeId	= DISPID_SVSLastBookmarkId + 1,
10715 	DISPID_SVSVisemeId	= DISPID_SVSPhonemeId + 1
10716     } 	DISPID_SpeechVoiceStatus;
10717 
10718 typedef
10719 enum SpeechRunState
10720     {	SRSEDone	= SPRS_DONE,
10721 	SRSEIsSpeaking	= SPRS_IS_SPEAKING
10722     } 	SpeechRunState;
10723 
10724 typedef
10725 enum SpeechVisemeType
10726     {	SVP_0	= 0,
10727 	SVP_1	= SVP_0 + 1,
10728 	SVP_2	= SVP_1 + 1,
10729 	SVP_3	= SVP_2 + 1,
10730 	SVP_4	= SVP_3 + 1,
10731 	SVP_5	= SVP_4 + 1,
10732 	SVP_6	= SVP_5 + 1,
10733 	SVP_7	= SVP_6 + 1,
10734 	SVP_8	= SVP_7 + 1,
10735 	SVP_9	= SVP_8 + 1,
10736 	SVP_10	= SVP_9 + 1,
10737 	SVP_11	= SVP_10 + 1,
10738 	SVP_12	= SVP_11 + 1,
10739 	SVP_13	= SVP_12 + 1,
10740 	SVP_14	= SVP_13 + 1,
10741 	SVP_15	= SVP_14 + 1,
10742 	SVP_16	= SVP_15 + 1,
10743 	SVP_17	= SVP_16 + 1,
10744 	SVP_18	= SVP_17 + 1,
10745 	SVP_19	= SVP_18 + 1,
10746 	SVP_20	= SVP_19 + 1,
10747 	SVP_21	= SVP_20 + 1
10748     } 	SpeechVisemeType;
10749 
10750 typedef
10751 enum SpeechVisemeFeature
10752     {	SVF_None	= 0,
10753 	SVF_Stressed	= SPVFEATURE_STRESSED,
10754 	SVF_Emphasis	= SPVFEATURE_EMPHASIS
10755     } 	SpeechVisemeFeature;
10756 
10757 typedef /* [hidden] */
10758 enum DISPID_SpeechVoiceEvent
10759     {	DISPID_SVEStreamStart	= 1,
10760 	DISPID_SVEStreamEnd	= DISPID_SVEStreamStart + 1,
10761 	DISPID_SVEVoiceChange	= DISPID_SVEStreamEnd + 1,
10762 	DISPID_SVEBookmark	= DISPID_SVEVoiceChange + 1,
10763 	DISPID_SVEWord	= DISPID_SVEBookmark + 1,
10764 	DISPID_SVEPhoneme	= DISPID_SVEWord + 1,
10765 	DISPID_SVESentenceBoundary	= DISPID_SVEPhoneme + 1,
10766 	DISPID_SVEViseme	= DISPID_SVESentenceBoundary + 1,
10767 	DISPID_SVEAudioLevel	= DISPID_SVEViseme + 1,
10768 	DISPID_SVEEnginePrivate	= DISPID_SVEAudioLevel + 1
10769     } 	DISPID_SpeechVoiceEvent;
10770 
10771 typedef /* [hidden] */
10772 enum DISPID_SpeechRecognizer
10773     {	DISPID_SRRecognizer	= 1,
10774 	DISPID_SRAllowAudioInputFormatChangesOnNextSet	= DISPID_SRRecognizer + 1,
10775 	DISPID_SRAudioInput	= DISPID_SRAllowAudioInputFormatChangesOnNextSet + 1,
10776 	DISPID_SRAudioInputStream	= DISPID_SRAudioInput + 1,
10777 	DISPID_SRIsShared	= DISPID_SRAudioInputStream + 1,
10778 	DISPID_SRState	= DISPID_SRIsShared + 1,
10779 	DISPID_SRStatus	= DISPID_SRState + 1,
10780 	DISPID_SRProfile	= DISPID_SRStatus + 1,
10781 	DISPID_SREmulateRecognition	= DISPID_SRProfile + 1,
10782 	DISPID_SRCreateRecoContext	= DISPID_SREmulateRecognition + 1,
10783 	DISPID_SRGetFormat	= DISPID_SRCreateRecoContext + 1,
10784 	DISPID_SRSetPropertyNumber	= DISPID_SRGetFormat + 1,
10785 	DISPID_SRGetPropertyNumber	= DISPID_SRSetPropertyNumber + 1,
10786 	DISPID_SRSetPropertyString	= DISPID_SRGetPropertyNumber + 1,
10787 	DISPID_SRGetPropertyString	= DISPID_SRSetPropertyString + 1,
10788 	DISPID_SRIsUISupported	= DISPID_SRGetPropertyString + 1,
10789 	DISPID_SRDisplayUI	= DISPID_SRIsUISupported + 1,
10790 	DISPID_SRGetRecognizers	= DISPID_SRDisplayUI + 1,
10791 	DISPID_SVGetAudioInputs	= DISPID_SRGetRecognizers + 1,
10792 	DISPID_SVGetProfiles	= DISPID_SVGetAudioInputs + 1
10793     } 	DISPID_SpeechRecognizer;
10794 
10795 typedef
10796 enum SpeechRecognizerState
10797     {	SRSInactive	= SPRST_INACTIVE,
10798 	SRSActive	= SPRST_ACTIVE,
10799 	SRSActiveAlways	= SPRST_ACTIVE_ALWAYS,
10800 	SRSInactiveWithPurge	= SPRST_INACTIVE_WITH_PURGE
10801     } 	SpeechRecognizerState;
10802 
10803 typedef
10804 enum SpeechDisplayAttributes
10805     {	SDA_No_Trailing_Space	= 0,
10806 	SDA_One_Trailing_Space	= SPAF_ONE_TRAILING_SPACE,
10807 	SDA_Two_Trailing_Spaces	= SPAF_TWO_TRAILING_SPACES,
10808 	SDA_Consume_Leading_Spaces	= SPAF_CONSUME_LEADING_SPACES
10809     } 	SpeechDisplayAttributes;
10810 
10811 typedef
10812 enum SpeechFormatType
10813     {	SFTInput	= SPWF_INPUT,
10814 	SFTSREngine	= SPWF_SRENGINE
10815     } 	SpeechFormatType;
10816 
10817 typedef /* [hidden] */
10818 enum DISPID_SpeechRecognizerStatus
10819     {	DISPID_SRSAudioStatus	= 1,
10820 	DISPID_SRSCurrentStreamPosition	= DISPID_SRSAudioStatus + 1,
10821 	DISPID_SRSCurrentStreamNumber	= DISPID_SRSCurrentStreamPosition + 1,
10822 	DISPID_SRSNumberOfActiveRules	= DISPID_SRSCurrentStreamNumber + 1,
10823 	DISPID_SRSClsidEngine	= DISPID_SRSNumberOfActiveRules + 1,
10824 	DISPID_SRSSupportedLanguages	= DISPID_SRSClsidEngine + 1
10825     } 	DISPID_SpeechRecognizerStatus;
10826 
10827 typedef /* [hidden] */
10828 enum DISPID_SpeechRecoContext
10829     {	DISPID_SRCRecognizer	= 1,
10830 	DISPID_SRCAudioInInterferenceStatus	= DISPID_SRCRecognizer + 1,
10831 	DISPID_SRCRequestedUIType	= DISPID_SRCAudioInInterferenceStatus + 1,
10832 	DISPID_SRCVoice	= DISPID_SRCRequestedUIType + 1,
10833 	DISPID_SRAllowVoiceFormatMatchingOnNextSet	= DISPID_SRCVoice + 1,
10834 	DISPID_SRCVoicePurgeEvent	= DISPID_SRAllowVoiceFormatMatchingOnNextSet + 1,
10835 	DISPID_SRCEventInterests	= DISPID_SRCVoicePurgeEvent + 1,
10836 	DISPID_SRCCmdMaxAlternates	= DISPID_SRCEventInterests + 1,
10837 	DISPID_SRCState	= DISPID_SRCCmdMaxAlternates + 1,
10838 	DISPID_SRCRetainedAudio	= DISPID_SRCState + 1,
10839 	DISPID_SRCRetainedAudioFormat	= DISPID_SRCRetainedAudio + 1,
10840 	DISPID_SRCPause	= DISPID_SRCRetainedAudioFormat + 1,
10841 	DISPID_SRCResume	= DISPID_SRCPause + 1,
10842 	DISPID_SRCCreateGrammar	= DISPID_SRCResume + 1,
10843 	DISPID_SRCCreateResultFromMemory	= DISPID_SRCCreateGrammar + 1,
10844 	DISPID_SRCBookmark	= DISPID_SRCCreateResultFromMemory + 1,
10845 	DISPID_SRCSetAdaptationData	= DISPID_SRCBookmark + 1
10846     } 	DISPID_SpeechRecoContext;
10847 
10848 typedef
10849 enum SpeechRetainedAudioOptions
10850     {	SRAONone	= SPAO_NONE,
10851 	SRAORetainAudio	= SPAO_RETAIN_AUDIO
10852     } 	SpeechRetainedAudioOptions;
10853 
10854 typedef
10855 enum SpeechBookmarkOptions
10856     {	SBONone	= SPBO_NONE,
10857 	SBOPause	= SPBO_PAUSE
10858     } 	SpeechBookmarkOptions;
10859 
10860 typedef
10861 enum SpeechInterference
10862     {	SINone	= SPINTERFERENCE_NONE,
10863 	SINoise	= SPINTERFERENCE_NOISE,
10864 	SINoSignal	= SPINTERFERENCE_NOSIGNAL,
10865 	SITooLoud	= SPINTERFERENCE_TOOLOUD,
10866 	SITooQuiet	= SPINTERFERENCE_TOOQUIET,
10867 	SITooFast	= SPINTERFERENCE_TOOFAST,
10868 	SITooSlow	= SPINTERFERENCE_TOOSLOW
10869     } 	SpeechInterference;
10870 
10871 typedef
10872 enum SpeechRecoEvents
10873     {	SREStreamEnd	= 1L << 0,
10874 	SRESoundStart	= 1L << 1,
10875 	SRESoundEnd	= 1L << 2,
10876 	SREPhraseStart	= 1L << 3,
10877 	SRERecognition	= 1L << 4,
10878 	SREHypothesis	= 1L << 5,
10879 	SREBookmark	= 1L << 6,
10880 	SREPropertyNumChange	= 1L << 7,
10881 	SREPropertyStringChange	= 1L << 8,
10882 	SREFalseRecognition	= 1L << 9,
10883 	SREInterference	= 1L << 10,
10884 	SRERequestUI	= 1L << 11,
10885 	SREStateChange	= 1L << 12,
10886 	SREAdaptation	= 1L << 13,
10887 	SREStreamStart	= 1L << 14,
10888 	SRERecoOtherContext	= 1L << 15,
10889 	SREAudioLevel	= 1L << 16,
10890 	SREPrivate	= 1L << 18,
10891 	SREAllEvents	= 0x5ffff
10892     } 	SpeechRecoEvents;
10893 
10894 typedef
10895 enum SpeechRecoContextState
10896     {	SRCS_Disabled	= SPCS_DISABLED,
10897 	SRCS_Enabled	= SPCS_ENABLED
10898     } 	SpeechRecoContextState;
10899 
10900 typedef /* [hidden] */
10901 enum DISPIDSPRG
10902     {	DISPID_SRGId	= 1,
10903 	DISPID_SRGRecoContext	= DISPID_SRGId + 1,
10904 	DISPID_SRGState	= DISPID_SRGRecoContext + 1,
10905 	DISPID_SRGRules	= DISPID_SRGState + 1,
10906 	DISPID_SRGReset	= DISPID_SRGRules + 1,
10907 	DISPID_SRGCommit	= DISPID_SRGReset + 1,
10908 	DISPID_SRGCmdLoadFromFile	= DISPID_SRGCommit + 1,
10909 	DISPID_SRGCmdLoadFromObject	= DISPID_SRGCmdLoadFromFile + 1,
10910 	DISPID_SRGCmdLoadFromResource	= DISPID_SRGCmdLoadFromObject + 1,
10911 	DISPID_SRGCmdLoadFromMemory	= DISPID_SRGCmdLoadFromResource + 1,
10912 	DISPID_SRGCmdLoadFromProprietaryGrammar	= DISPID_SRGCmdLoadFromMemory + 1,
10913 	DISPID_SRGCmdSetRuleState	= DISPID_SRGCmdLoadFromProprietaryGrammar + 1,
10914 	DISPID_SRGCmdSetRuleIdState	= DISPID_SRGCmdSetRuleState + 1,
10915 	DISPID_SRGDictationLoad	= DISPID_SRGCmdSetRuleIdState + 1,
10916 	DISPID_SRGDictationUnload	= DISPID_SRGDictationLoad + 1,
10917 	DISPID_SRGDictationSetState	= DISPID_SRGDictationUnload + 1,
10918 	DISPID_SRGSetWordSequenceData	= DISPID_SRGDictationSetState + 1,
10919 	DISPID_SRGSetTextSelection	= DISPID_SRGSetWordSequenceData + 1,
10920 	DISPID_SRGIsPronounceable	= DISPID_SRGSetTextSelection + 1
10921     } 	DISPIDSPRG;
10922 
10923 typedef
10924 enum SpeechLoadOption
10925     {	SLOStatic	= SPLO_STATIC,
10926 	SLODynamic	= SPLO_DYNAMIC
10927     } 	SpeechLoadOption;
10928 
10929 typedef
10930 enum SpeechWordPronounceable
10931     {	SWPUnknownWordUnpronounceable	= SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE,
10932 	SWPUnknownWordPronounceable	= SPWP_UNKNOWN_WORD_PRONOUNCEABLE,
10933 	SWPKnownWordPronounceable	= SPWP_KNOWN_WORD_PRONOUNCEABLE
10934     } 	SpeechWordPronounceable;
10935 
10936 typedef
10937 enum SpeechGrammarState
10938     {	SGSEnabled	= SPGS_ENABLED,
10939 	SGSDisabled	= SPGS_DISABLED,
10940 	SGSExclusive	= SPGS_EXCLUSIVE
10941     } 	SpeechGrammarState;
10942 
10943 typedef
10944 enum SpeechRuleState
10945     {	SGDSInactive	= SPRS_INACTIVE,
10946 	SGDSActive	= SPRS_ACTIVE,
10947 	SGDSActiveWithAutoPause	= SPRS_ACTIVE_WITH_AUTO_PAUSE
10948     } 	SpeechRuleState;
10949 
10950 typedef
10951 enum SpeechRuleAttributes
10952     {	SRATopLevel	= SPRAF_TopLevel,
10953 	SRADefaultToActive	= SPRAF_Active,
10954 	SRAExport	= SPRAF_Export,
10955 	SRAImport	= SPRAF_Import,
10956 	SRAInterpreter	= SPRAF_Interpreter,
10957 	SRADynamic	= SPRAF_Dynamic
10958     } 	SpeechRuleAttributes;
10959 
10960 typedef
10961 enum SpeechGrammarWordType
10962     {	SGDisplay	= SPWT_DISPLAY,
10963 	SGLexical	= SPWT_LEXICAL,
10964 	SGPronounciation	= SPWT_PRONUNCIATION
10965     } 	SpeechGrammarWordType;
10966 
10967 typedef /* [hidden] */
10968 enum DISPID_SpeechRecoContextEvents
10969     {	DISPID_SRCEStartStream	= 1,
10970 	DISPID_SRCEEndStream	= DISPID_SRCEStartStream + 1,
10971 	DISPID_SRCEBookmark	= DISPID_SRCEEndStream + 1,
10972 	DISPID_SRCESoundStart	= DISPID_SRCEBookmark + 1,
10973 	DISPID_SRCESoundEnd	= DISPID_SRCESoundStart + 1,
10974 	DISPID_SRCEPhraseStart	= DISPID_SRCESoundEnd + 1,
10975 	DISPID_SRCERecognition	= DISPID_SRCEPhraseStart + 1,
10976 	DISPID_SRCEHypothesis	= DISPID_SRCERecognition + 1,
10977 	DISPID_SRCEPropertyNumberChange	= DISPID_SRCEHypothesis + 1,
10978 	DISPID_SRCEPropertyStringChange	= DISPID_SRCEPropertyNumberChange + 1,
10979 	DISPID_SRCEFalseRecognition	= DISPID_SRCEPropertyStringChange + 1,
10980 	DISPID_SRCEInterference	= DISPID_SRCEFalseRecognition + 1,
10981 	DISPID_SRCERequestUI	= DISPID_SRCEInterference + 1,
10982 	DISPID_SRCERecognizerStateChange	= DISPID_SRCERequestUI + 1,
10983 	DISPID_SRCEAdaptation	= DISPID_SRCERecognizerStateChange + 1,
10984 	DISPID_SRCERecognitionForOtherContext	= DISPID_SRCEAdaptation + 1,
10985 	DISPID_SRCEAudioLevel	= DISPID_SRCERecognitionForOtherContext + 1,
10986 	DISPID_SRCEEnginePrivate	= DISPID_SRCEAudioLevel + 1
10987     } 	DISPID_SpeechRecoContextEvents;
10988 
10989 typedef
10990 enum SpeechRecognitionType
10991     {	SRTStandard	= 0,
10992 	SRTAutopause	= SPREF_AutoPause,
10993 	SRTEmulated	= SPREF_Emulated
10994     } 	SpeechRecognitionType;
10995 
10996 typedef /* [hidden] */
10997 enum DISPID_SpeechGrammarRule
10998     {	DISPID_SGRAttributes	= 1,
10999 	DISPID_SGRInitialState	= DISPID_SGRAttributes + 1,
11000 	DISPID_SGRName	= DISPID_SGRInitialState + 1,
11001 	DISPID_SGRId	= DISPID_SGRName + 1,
11002 	DISPID_SGRClear	= DISPID_SGRId + 1,
11003 	DISPID_SGRAddResource	= DISPID_SGRClear + 1,
11004 	DISPID_SGRAddState	= DISPID_SGRAddResource + 1
11005     } 	DISPID_SpeechGrammarRule;
11006 
11007 typedef /* [hidden] */
11008 enum DISPID_SpeechGrammarRules
11009     {	DISPID_SGRsCount	= 1,
11010 	DISPID_SGRsDynamic	= DISPID_SGRsCount + 1,
11011 	DISPID_SGRsAdd	= DISPID_SGRsDynamic + 1,
11012 	DISPID_SGRsCommit	= DISPID_SGRsAdd + 1,
11013 	DISPID_SGRsCommitAndSave	= DISPID_SGRsCommit + 1,
11014 	DISPID_SGRsFindRule	= DISPID_SGRsCommitAndSave + 1,
11015 	DISPID_SGRsItem	= DISPID_VALUE,
11016 	DISPID_SGRs_NewEnum	= DISPID_NEWENUM
11017     } 	DISPID_SpeechGrammarRules;
11018 
11019 typedef /* [hidden] */
11020 enum DISPID_SpeechGrammarRuleState
11021     {	DISPID_SGRSRule	= 1,
11022 	DISPID_SGRSTransitions	= DISPID_SGRSRule + 1,
11023 	DISPID_SGRSAddWordTransition	= DISPID_SGRSTransitions + 1,
11024 	DISPID_SGRSAddRuleTransition	= DISPID_SGRSAddWordTransition + 1,
11025 	DISPID_SGRSAddSpecialTransition	= DISPID_SGRSAddRuleTransition + 1
11026     } 	DISPID_SpeechGrammarRuleState;
11027 
11028 typedef
11029 enum SpeechSpecialTransitionType
11030     {	SSTTWildcard	= 1,
11031 	SSTTDictation	= SSTTWildcard + 1,
11032 	SSTTTextBuffer	= SSTTDictation + 1
11033     } 	SpeechSpecialTransitionType;
11034 
11035 typedef /* [hidden] */
11036 enum DISPID_SpeechGrammarRuleStateTransitions
11037     {	DISPID_SGRSTsCount	= 1,
11038 	DISPID_SGRSTsItem	= DISPID_VALUE,
11039 	DISPID_SGRSTs_NewEnum	= DISPID_NEWENUM
11040     } 	DISPID_SpeechGrammarRuleStateTransitions;
11041 
11042 typedef /* [hidden] */
11043 enum DISPID_SpeechGrammarRuleStateTransition
11044     {	DISPID_SGRSTType	= 1,
11045 	DISPID_SGRSTText	= DISPID_SGRSTType + 1,
11046 	DISPID_SGRSTRule	= DISPID_SGRSTText + 1,
11047 	DISPID_SGRSTWeight	= DISPID_SGRSTRule + 1,
11048 	DISPID_SGRSTPropertyName	= DISPID_SGRSTWeight + 1,
11049 	DISPID_SGRSTPropertyId	= DISPID_SGRSTPropertyName + 1,
11050 	DISPID_SGRSTPropertyValue	= DISPID_SGRSTPropertyId + 1,
11051 	DISPID_SGRSTNextState	= DISPID_SGRSTPropertyValue + 1
11052     } 	DISPID_SpeechGrammarRuleStateTransition;
11053 
11054 typedef
11055 enum SpeechGrammarRuleStateTransitionType
11056     {	SGRSTTEpsilon	= 0,
11057 	SGRSTTWord	= SGRSTTEpsilon + 1,
11058 	SGRSTTRule	= SGRSTTWord + 1,
11059 	SGRSTTDictation	= SGRSTTRule + 1,
11060 	SGRSTTWildcard	= SGRSTTDictation + 1,
11061 	SGRSTTTextBuffer	= SGRSTTWildcard + 1
11062     } 	SpeechGrammarRuleStateTransitionType;
11063 
11064 typedef /* [hidden] */
11065 enum DISPIDSPTSI
11066     {	DISPIDSPTSI_ActiveOffset	= 1,
11067 	DISPIDSPTSI_ActiveLength	= DISPIDSPTSI_ActiveOffset + 1,
11068 	DISPIDSPTSI_SelectionOffset	= DISPIDSPTSI_ActiveLength + 1,
11069 	DISPIDSPTSI_SelectionLength	= DISPIDSPTSI_SelectionOffset + 1
11070     } 	DISPIDSPTSI;
11071 
11072 typedef /* [hidden] */
11073 enum DISPID_SpeechRecoResult
11074     {	DISPID_SRRRecoContext	= 1,
11075 	DISPID_SRRTimes	= DISPID_SRRRecoContext + 1,
11076 	DISPID_SRRAudioFormat	= DISPID_SRRTimes + 1,
11077 	DISPID_SRRPhraseInfo	= DISPID_SRRAudioFormat + 1,
11078 	DISPID_SRRAlternates	= DISPID_SRRPhraseInfo + 1,
11079 	DISPID_SRRAudio	= DISPID_SRRAlternates + 1,
11080 	DISPID_SRRSpeakAudio	= DISPID_SRRAudio + 1,
11081 	DISPID_SRRSaveToMemory	= DISPID_SRRSpeakAudio + 1,
11082 	DISPID_SRRDiscardResultInfo	= DISPID_SRRSaveToMemory + 1
11083     } 	DISPID_SpeechRecoResult;
11084 
11085 typedef
11086 enum SpeechDiscardType
11087     {	SDTProperty	= SPDF_PROPERTY,
11088 	SDTReplacement	= SPDF_REPLACEMENT,
11089 	SDTRule	= SPDF_RULE,
11090 	SDTDisplayText	= SPDF_DISPLAYTEXT,
11091 	SDTLexicalForm	= SPDF_LEXICALFORM,
11092 	SDTPronunciation	= SPDF_PRONUNCIATION,
11093 	SDTAudio	= SPDF_AUDIO,
11094 	SDTAlternates	= SPDF_ALTERNATES,
11095 	SDTAll	= SPDF_ALL
11096     } 	SpeechDiscardType;
11097 
11098 typedef /* [hidden] */
11099 enum DISPID_SpeechPhraseBuilder
11100     {	DISPID_SPPBRestorePhraseFromMemory	= 1
11101     } 	DISPID_SpeechPhraseBuilder;
11102 
11103 typedef /* [hidden] */
11104 enum DISPID_SpeechRecoResultTimes
11105     {	DISPID_SRRTStreamTime	= 1,
11106 	DISPID_SRRTLength	= DISPID_SRRTStreamTime + 1,
11107 	DISPID_SRRTTickCount	= DISPID_SRRTLength + 1,
11108 	DISPID_SRRTOffsetFromStart	= DISPID_SRRTTickCount + 1
11109     } 	DISPID_SpeechRecoResultTimes;
11110 
11111 typedef /* [hidden] */
11112 enum DISPID_SpeechPhraseAlternate
11113     {	DISPID_SPARecoResult	= 1,
11114 	DISPID_SPAStartElementInResult	= DISPID_SPARecoResult + 1,
11115 	DISPID_SPANumberOfElementsInResult	= DISPID_SPAStartElementInResult + 1,
11116 	DISPID_SPAPhraseInfo	= DISPID_SPANumberOfElementsInResult + 1,
11117 	DISPID_SPACommit	= DISPID_SPAPhraseInfo + 1
11118     } 	DISPID_SpeechPhraseAlternate;
11119 
11120 typedef /* [hidden] */
11121 enum DISPID_SpeechPhraseAlternates
11122     {	DISPID_SPAsCount	= 1,
11123 	DISPID_SPAsItem	= DISPID_VALUE,
11124 	DISPID_SPAs_NewEnum	= DISPID_NEWENUM
11125     } 	DISPID_SpeechPhraseAlternates;
11126 
11127 typedef /* [hidden] */
11128 enum DISPID_SpeechPhraseInfo
11129     {	DISPID_SPILanguageId	= 1,
11130 	DISPID_SPIGrammarId	= DISPID_SPILanguageId + 1,
11131 	DISPID_SPIStartTime	= DISPID_SPIGrammarId + 1,
11132 	DISPID_SPIAudioStreamPosition	= DISPID_SPIStartTime + 1,
11133 	DISPID_SPIAudioSizeBytes	= DISPID_SPIAudioStreamPosition + 1,
11134 	DISPID_SPIRetainedSizeBytes	= DISPID_SPIAudioSizeBytes + 1,
11135 	DISPID_SPIAudioSizeTime	= DISPID_SPIRetainedSizeBytes + 1,
11136 	DISPID_SPIRule	= DISPID_SPIAudioSizeTime + 1,
11137 	DISPID_SPIProperties	= DISPID_SPIRule + 1,
11138 	DISPID_SPIElements	= DISPID_SPIProperties + 1,
11139 	DISPID_SPIReplacements	= DISPID_SPIElements + 1,
11140 	DISPID_SPIEngineId	= DISPID_SPIReplacements + 1,
11141 	DISPID_SPIEnginePrivateData	= DISPID_SPIEngineId + 1,
11142 	DISPID_SPISaveToMemory	= DISPID_SPIEnginePrivateData + 1,
11143 	DISPID_SPIGetText	= DISPID_SPISaveToMemory + 1,
11144 	DISPID_SPIGetDisplayAttributes	= DISPID_SPIGetText + 1
11145     } 	DISPID_SpeechPhraseInfo;
11146 
11147 typedef /* [hidden] */
11148 enum DISPID_SpeechPhraseElement
11149     {	DISPID_SPEAudioTimeOffset	= 1,
11150 	DISPID_SPEAudioSizeTime	= DISPID_SPEAudioTimeOffset + 1,
11151 	DISPID_SPEAudioStreamOffset	= DISPID_SPEAudioSizeTime + 1,
11152 	DISPID_SPEAudioSizeBytes	= DISPID_SPEAudioStreamOffset + 1,
11153 	DISPID_SPERetainedStreamOffset	= DISPID_SPEAudioSizeBytes + 1,
11154 	DISPID_SPERetainedSizeBytes	= DISPID_SPERetainedStreamOffset + 1,
11155 	DISPID_SPEDisplayText	= DISPID_SPERetainedSizeBytes + 1,
11156 	DISPID_SPELexicalForm	= DISPID_SPEDisplayText + 1,
11157 	DISPID_SPEPronunciation	= DISPID_SPELexicalForm + 1,
11158 	DISPID_SPEDisplayAttributes	= DISPID_SPEPronunciation + 1,
11159 	DISPID_SPERequiredConfidence	= DISPID_SPEDisplayAttributes + 1,
11160 	DISPID_SPEActualConfidence	= DISPID_SPERequiredConfidence + 1,
11161 	DISPID_SPEEngineConfidence	= DISPID_SPEActualConfidence + 1
11162     } 	DISPID_SpeechPhraseElement;
11163 
11164 typedef
11165 enum SpeechEngineConfidence
11166     {	SECLowConfidence	= -1,
11167 	SECNormalConfidence	= 0,
11168 	SECHighConfidence	= 1
11169     } 	SpeechEngineConfidence;
11170 
11171 typedef /* [hidden] */
11172 enum DISPID_SpeechPhraseElements
11173     {	DISPID_SPEsCount	= 1,
11174 	DISPID_SPEsItem	= DISPID_VALUE,
11175 	DISPID_SPEs_NewEnum	= DISPID_NEWENUM
11176     } 	DISPID_SpeechPhraseElements;
11177 
11178 typedef /* [hidden] */
11179 enum DISPID_SpeechPhraseReplacement
11180     {	DISPID_SPRDisplayAttributes	= 1,
11181 	DISPID_SPRText	= DISPID_SPRDisplayAttributes + 1,
11182 	DISPID_SPRFirstElement	= DISPID_SPRText + 1,
11183 	DISPID_SPRNumberOfElements	= DISPID_SPRFirstElement + 1
11184     } 	DISPID_SpeechPhraseReplacement;
11185 
11186 typedef /* [hidden] */
11187 enum DISPID_SpeechPhraseReplacements
11188     {	DISPID_SPRsCount	= 1,
11189 	DISPID_SPRsItem	= DISPID_VALUE,
11190 	DISPID_SPRs_NewEnum	= DISPID_NEWENUM
11191     } 	DISPID_SpeechPhraseReplacements;
11192 
11193 typedef /* [hidden] */
11194 enum DISPID_SpeechPhraseProperty
11195     {	DISPID_SPPName	= 1,
11196 	DISPID_SPPId	= DISPID_SPPName + 1,
11197 	DISPID_SPPValue	= DISPID_SPPId + 1,
11198 	DISPID_SPPFirstElement	= DISPID_SPPValue + 1,
11199 	DISPID_SPPNumberOfElements	= DISPID_SPPFirstElement + 1,
11200 	DISPID_SPPEngineConfidence	= DISPID_SPPNumberOfElements + 1,
11201 	DISPID_SPPConfidence	= DISPID_SPPEngineConfidence + 1,
11202 	DISPID_SPPParent	= DISPID_SPPConfidence + 1,
11203 	DISPID_SPPChildren	= DISPID_SPPParent + 1
11204     } 	DISPID_SpeechPhraseProperty;
11205 
11206 typedef /* [hidden] */
11207 enum DISPID_SpeechPhraseProperties
11208     {	DISPID_SPPsCount	= 1,
11209 	DISPID_SPPsItem	= DISPID_VALUE,
11210 	DISPID_SPPs_NewEnum	= DISPID_NEWENUM
11211     } 	DISPID_SpeechPhraseProperties;
11212 
11213 typedef /* [hidden] */
11214 enum DISPID_SpeechPhraseRule
11215     {	DISPID_SPRuleName	= 1,
11216 	DISPID_SPRuleId	= DISPID_SPRuleName + 1,
11217 	DISPID_SPRuleFirstElement	= DISPID_SPRuleId + 1,
11218 	DISPID_SPRuleNumberOfElements	= DISPID_SPRuleFirstElement + 1,
11219 	DISPID_SPRuleParent	= DISPID_SPRuleNumberOfElements + 1,
11220 	DISPID_SPRuleChildren	= DISPID_SPRuleParent + 1,
11221 	DISPID_SPRuleConfidence	= DISPID_SPRuleChildren + 1,
11222 	DISPID_SPRuleEngineConfidence	= DISPID_SPRuleConfidence + 1
11223     } 	DISPID_SpeechPhraseRule;
11224 
11225 typedef /* [hidden] */
11226 enum DISPID_SpeechPhraseRules
11227     {	DISPID_SPRulesCount	= 1,
11228 	DISPID_SPRulesItem	= DISPID_VALUE,
11229 	DISPID_SPRules_NewEnum	= DISPID_NEWENUM
11230     } 	DISPID_SpeechPhraseRules;
11231 
11232 typedef /* [hidden] */
11233 enum DISPID_SpeechLexicon
11234     {	DISPID_SLGenerationId	= 1,
11235 	DISPID_SLGetWords	= DISPID_SLGenerationId + 1,
11236 	DISPID_SLAddPronunciation	= DISPID_SLGetWords + 1,
11237 	DISPID_SLAddPronunciationByPhoneIds	= DISPID_SLAddPronunciation + 1,
11238 	DISPID_SLRemovePronunciation	= DISPID_SLAddPronunciationByPhoneIds + 1,
11239 	DISPID_SLRemovePronunciationByPhoneIds	= DISPID_SLRemovePronunciation + 1,
11240 	DISPID_SLGetPronunciations	= DISPID_SLRemovePronunciationByPhoneIds + 1,
11241 	DISPID_SLGetGenerationChange	= DISPID_SLGetPronunciations + 1
11242     } 	DISPID_SpeechLexicon;
11243 
11244 typedef
11245 enum SpeechLexiconType
11246     {	SLTUser	= eLEXTYPE_USER,
11247 	SLTApp	= eLEXTYPE_APP
11248     } 	SpeechLexiconType;
11249 
11250 typedef
11251 enum SpeechPartOfSpeech
11252     {	SPSNotOverriden	= SPPS_NotOverriden,
11253 	SPSUnknown	= SPPS_Unknown,
11254 	SPSNoun	= SPPS_Noun,
11255 	SPSVerb	= SPPS_Verb,
11256 	SPSModifier	= SPPS_Modifier,
11257 	SPSFunction	= SPPS_Function,
11258 	SPSInterjection	= SPPS_Interjection
11259     } 	SpeechPartOfSpeech;
11260 
11261 typedef /* [hidden] */
11262 enum DISPID_SpeechLexiconWords
11263     {	DISPID_SLWsCount	= 1,
11264 	DISPID_SLWsItem	= DISPID_VALUE,
11265 	DISPID_SLWs_NewEnum	= DISPID_NEWENUM
11266     } 	DISPID_SpeechLexiconWords;
11267 
11268 typedef
11269 enum SpeechWordType
11270     {	SWTAdded	= eWORDTYPE_ADDED,
11271 	SWTDeleted	= eWORDTYPE_DELETED
11272     } 	SpeechWordType;
11273 
11274 typedef /* [hidden] */
11275 enum DISPID_SpeechLexiconWord
11276     {	DISPID_SLWLangId	= 1,
11277 	DISPID_SLWType	= DISPID_SLWLangId + 1,
11278 	DISPID_SLWWord	= DISPID_SLWType + 1,
11279 	DISPID_SLWPronunciations	= DISPID_SLWWord + 1
11280     } 	DISPID_SpeechLexiconWord;
11281 
11282 typedef /* [hidden] */
11283 enum DISPID_SpeechLexiconProns
11284     {	DISPID_SLPsCount	= 1,
11285 	DISPID_SLPsItem	= DISPID_VALUE,
11286 	DISPID_SLPs_NewEnum	= DISPID_NEWENUM
11287     } 	DISPID_SpeechLexiconProns;
11288 
11289 typedef /* [hidden] */
11290 enum DISPID_SpeechLexiconPronunciation
11291     {	DISPID_SLPType	= 1,
11292 	DISPID_SLPLangId	= DISPID_SLPType + 1,
11293 	DISPID_SLPPartOfSpeech	= DISPID_SLPLangId + 1,
11294 	DISPID_SLPPhoneIds	= DISPID_SLPPartOfSpeech + 1,
11295 	DISPID_SLPSymbolic	= DISPID_SLPPhoneIds + 1
11296     } 	DISPID_SpeechLexiconPronunciation;
11297 
11298 typedef /* [hidden] */
11299 enum DISPID_SpeechPhoneConverter
11300     {	DISPID_SPCLangId	= 1,
11301 	DISPID_SPCPhoneToId	= DISPID_SPCLangId + 1,
11302 	DISPID_SPCIdToPhone	= DISPID_SPCPhoneToId + 1
11303     } 	DISPID_SpeechPhoneConverter;
11304 
11305 
11306 EXTERN_C const IID LIBID_SpeechLib;
11307 
11308 #ifndef __ISpeechDataKey_INTERFACE_DEFINED__
11309 #define __ISpeechDataKey_INTERFACE_DEFINED__
11310 
11311 /* interface ISpeechDataKey */
11312 /* [unique][helpstring][dual][uuid][object] */
11313 
11314 
11315 EXTERN_C const IID IID_ISpeechDataKey;
11316 
11317 #if defined(__cplusplus) && !defined(CINTERFACE)
11318 
11319     MIDL_INTERFACE("CE17C09B-4EFA-44d5-A4C9-59D9585AB0CD")
11320     ISpeechDataKey : public IDispatch
11321     {
11322     public:
11323         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetBinaryValue(
11324             /* [in] */ const BSTR ValueName,
11325             /* [in] */ VARIANT Value) = 0;
11326 
11327         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetBinaryValue(
11328             /* [in] */ const BSTR ValueName,
11329             /* [retval][out] */ VARIANT *Value) = 0;
11330 
11331         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetStringValue(
11332             /* [in] */ const BSTR ValueName,
11333             /* [in] */ const BSTR Value) = 0;
11334 
11335         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetStringValue(
11336             /* [in] */ const BSTR ValueName,
11337             /* [retval][out] */ BSTR *Value) = 0;
11338 
11339         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetLongValue(
11340             /* [in] */ const BSTR ValueName,
11341             /* [in] */ long Value) = 0;
11342 
11343         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetLongValue(
11344             /* [in] */ const BSTR ValueName,
11345             /* [retval][out] */ long *Value) = 0;
11346 
11347         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE OpenKey(
11348             /* [in] */ const BSTR SubKeyName,
11349             /* [retval][out] */ ISpeechDataKey **SubKey) = 0;
11350 
11351         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CreateKey(
11352             /* [in] */ const BSTR SubKeyName,
11353             /* [retval][out] */ ISpeechDataKey **SubKey) = 0;
11354 
11355         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DeleteKey(
11356             /* [in] */ const BSTR SubKeyName) = 0;
11357 
11358         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DeleteValue(
11359             /* [in] */ const BSTR ValueName) = 0;
11360 
11361         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE EnumKeys(
11362             /* [in] */ long Index,
11363             /* [retval][out] */ BSTR *SubKeyName) = 0;
11364 
11365         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE EnumValues(
11366             /* [in] */ long Index,
11367             /* [retval][out] */ BSTR *ValueName) = 0;
11368 
11369     };
11370 
11371 #else 	/* C style interface */
11372 
11373     typedef struct ISpeechDataKeyVtbl
11374     {
11375         BEGIN_INTERFACE
11376 
11377         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
11378             ISpeechDataKey * This,
11379             /* [in] */ REFIID riid,
11380             /* [iid_is][out] */ void **ppvObject);
11381 
11382         ULONG ( STDMETHODCALLTYPE *AddRef )(
11383             ISpeechDataKey * This);
11384 
11385         ULONG ( STDMETHODCALLTYPE *Release )(
11386             ISpeechDataKey * This);
11387 
11388         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
11389             ISpeechDataKey * This,
11390             /* [out] */ UINT *pctinfo);
11391 
11392         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
11393             ISpeechDataKey * This,
11394             /* [in] */ UINT iTInfo,
11395             /* [in] */ LCID lcid,
11396             /* [out] */ ITypeInfo **ppTInfo);
11397 
11398         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
11399             ISpeechDataKey * This,
11400             /* [in] */ REFIID riid,
11401             /* [size_is][in] */ LPOLESTR *rgszNames,
11402             /* [in] */ UINT cNames,
11403             /* [in] */ LCID lcid,
11404             /* [size_is][out] */ DISPID *rgDispId);
11405 
11406         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
11407             ISpeechDataKey * This,
11408             /* [in] */ DISPID dispIdMember,
11409             /* [in] */ REFIID riid,
11410             /* [in] */ LCID lcid,
11411             /* [in] */ WORD wFlags,
11412             /* [out][in] */ DISPPARAMS *pDispParams,
11413             /* [out] */ VARIANT *pVarResult,
11414             /* [out] */ EXCEPINFO *pExcepInfo,
11415             /* [out] */ UINT *puArgErr);
11416 
11417         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBinaryValue )(
11418             ISpeechDataKey * This,
11419             /* [in] */ const BSTR ValueName,
11420             /* [in] */ VARIANT Value);
11421 
11422         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBinaryValue )(
11423             ISpeechDataKey * This,
11424             /* [in] */ const BSTR ValueName,
11425             /* [retval][out] */ VARIANT *Value);
11426 
11427         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
11428             ISpeechDataKey * This,
11429             /* [in] */ const BSTR ValueName,
11430             /* [in] */ const BSTR Value);
11431 
11432         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
11433             ISpeechDataKey * This,
11434             /* [in] */ const BSTR ValueName,
11435             /* [retval][out] */ BSTR *Value);
11436 
11437         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLongValue )(
11438             ISpeechDataKey * This,
11439             /* [in] */ const BSTR ValueName,
11440             /* [in] */ long Value);
11441 
11442         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLongValue )(
11443             ISpeechDataKey * This,
11444             /* [in] */ const BSTR ValueName,
11445             /* [retval][out] */ long *Value);
11446 
11447         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenKey )(
11448             ISpeechDataKey * This,
11449             /* [in] */ const BSTR SubKeyName,
11450             /* [retval][out] */ ISpeechDataKey **SubKey);
11451 
11452         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateKey )(
11453             ISpeechDataKey * This,
11454             /* [in] */ const BSTR SubKeyName,
11455             /* [retval][out] */ ISpeechDataKey **SubKey);
11456 
11457         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
11458             ISpeechDataKey * This,
11459             /* [in] */ const BSTR SubKeyName);
11460 
11461         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
11462             ISpeechDataKey * This,
11463             /* [in] */ const BSTR ValueName);
11464 
11465         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
11466             ISpeechDataKey * This,
11467             /* [in] */ long Index,
11468             /* [retval][out] */ BSTR *SubKeyName);
11469 
11470         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumValues )(
11471             ISpeechDataKey * This,
11472             /* [in] */ long Index,
11473             /* [retval][out] */ BSTR *ValueName);
11474 
11475         END_INTERFACE
11476     } ISpeechDataKeyVtbl;
11477 
11478     interface ISpeechDataKey
11479     {
11480         CONST_VTBL struct ISpeechDataKeyVtbl *lpVtbl;
11481     };
11482 
11483 
11484 
11485 #ifdef COBJMACROS
11486 
11487 
11488 #define ISpeechDataKey_QueryInterface(This,riid,ppvObject)	\
11489     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
11490 
11491 #define ISpeechDataKey_AddRef(This)	\
11492     (This)->lpVtbl -> AddRef(This)
11493 
11494 #define ISpeechDataKey_Release(This)	\
11495     (This)->lpVtbl -> Release(This)
11496 
11497 
11498 #define ISpeechDataKey_GetTypeInfoCount(This,pctinfo)	\
11499     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
11500 
11501 #define ISpeechDataKey_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
11502     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
11503 
11504 #define ISpeechDataKey_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
11505     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
11506 
11507 #define ISpeechDataKey_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
11508     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
11509 
11510 
11511 #define ISpeechDataKey_SetBinaryValue(This,ValueName,Value)	\
11512     (This)->lpVtbl -> SetBinaryValue(This,ValueName,Value)
11513 
11514 #define ISpeechDataKey_GetBinaryValue(This,ValueName,Value)	\
11515     (This)->lpVtbl -> GetBinaryValue(This,ValueName,Value)
11516 
11517 #define ISpeechDataKey_SetStringValue(This,ValueName,Value)	\
11518     (This)->lpVtbl -> SetStringValue(This,ValueName,Value)
11519 
11520 #define ISpeechDataKey_GetStringValue(This,ValueName,Value)	\
11521     (This)->lpVtbl -> GetStringValue(This,ValueName,Value)
11522 
11523 #define ISpeechDataKey_SetLongValue(This,ValueName,Value)	\
11524     (This)->lpVtbl -> SetLongValue(This,ValueName,Value)
11525 
11526 #define ISpeechDataKey_GetLongValue(This,ValueName,Value)	\
11527     (This)->lpVtbl -> GetLongValue(This,ValueName,Value)
11528 
11529 #define ISpeechDataKey_OpenKey(This,SubKeyName,SubKey)	\
11530     (This)->lpVtbl -> OpenKey(This,SubKeyName,SubKey)
11531 
11532 #define ISpeechDataKey_CreateKey(This,SubKeyName,SubKey)	\
11533     (This)->lpVtbl -> CreateKey(This,SubKeyName,SubKey)
11534 
11535 #define ISpeechDataKey_DeleteKey(This,SubKeyName)	\
11536     (This)->lpVtbl -> DeleteKey(This,SubKeyName)
11537 
11538 #define ISpeechDataKey_DeleteValue(This,ValueName)	\
11539     (This)->lpVtbl -> DeleteValue(This,ValueName)
11540 
11541 #define ISpeechDataKey_EnumKeys(This,Index,SubKeyName)	\
11542     (This)->lpVtbl -> EnumKeys(This,Index,SubKeyName)
11543 
11544 #define ISpeechDataKey_EnumValues(This,Index,ValueName)	\
11545     (This)->lpVtbl -> EnumValues(This,Index,ValueName)
11546 
11547 #endif /* COBJMACROS */
11548 
11549 
11550 #endif 	/* C style interface */
11551 
11552 
11553 
11554 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetBinaryValue_Proxy(
11555     ISpeechDataKey * This,
11556     /* [in] */ const BSTR ValueName,
11557     /* [in] */ VARIANT Value);
11558 
11559 
11560 void __RPC_STUB ISpeechDataKey_SetBinaryValue_Stub(
11561     IRpcStubBuffer *This,
11562     IRpcChannelBuffer *_pRpcChannelBuffer,
11563     PRPC_MESSAGE _pRpcMessage,
11564     DWORD *_pdwStubPhase);
11565 
11566 
11567 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetBinaryValue_Proxy(
11568     ISpeechDataKey * This,
11569     /* [in] */ const BSTR ValueName,
11570     /* [retval][out] */ VARIANT *Value);
11571 
11572 
11573 void __RPC_STUB ISpeechDataKey_GetBinaryValue_Stub(
11574     IRpcStubBuffer *This,
11575     IRpcChannelBuffer *_pRpcChannelBuffer,
11576     PRPC_MESSAGE _pRpcMessage,
11577     DWORD *_pdwStubPhase);
11578 
11579 
11580 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetStringValue_Proxy(
11581     ISpeechDataKey * This,
11582     /* [in] */ const BSTR ValueName,
11583     /* [in] */ const BSTR Value);
11584 
11585 
11586 void __RPC_STUB ISpeechDataKey_SetStringValue_Stub(
11587     IRpcStubBuffer *This,
11588     IRpcChannelBuffer *_pRpcChannelBuffer,
11589     PRPC_MESSAGE _pRpcMessage,
11590     DWORD *_pdwStubPhase);
11591 
11592 
11593 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetStringValue_Proxy(
11594     ISpeechDataKey * This,
11595     /* [in] */ const BSTR ValueName,
11596     /* [retval][out] */ BSTR *Value);
11597 
11598 
11599 void __RPC_STUB ISpeechDataKey_GetStringValue_Stub(
11600     IRpcStubBuffer *This,
11601     IRpcChannelBuffer *_pRpcChannelBuffer,
11602     PRPC_MESSAGE _pRpcMessage,
11603     DWORD *_pdwStubPhase);
11604 
11605 
11606 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetLongValue_Proxy(
11607     ISpeechDataKey * This,
11608     /* [in] */ const BSTR ValueName,
11609     /* [in] */ long Value);
11610 
11611 
11612 void __RPC_STUB ISpeechDataKey_SetLongValue_Stub(
11613     IRpcStubBuffer *This,
11614     IRpcChannelBuffer *_pRpcChannelBuffer,
11615     PRPC_MESSAGE _pRpcMessage,
11616     DWORD *_pdwStubPhase);
11617 
11618 
11619 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetLongValue_Proxy(
11620     ISpeechDataKey * This,
11621     /* [in] */ const BSTR ValueName,
11622     /* [retval][out] */ long *Value);
11623 
11624 
11625 void __RPC_STUB ISpeechDataKey_GetLongValue_Stub(
11626     IRpcStubBuffer *This,
11627     IRpcChannelBuffer *_pRpcChannelBuffer,
11628     PRPC_MESSAGE _pRpcMessage,
11629     DWORD *_pdwStubPhase);
11630 
11631 
11632 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_OpenKey_Proxy(
11633     ISpeechDataKey * This,
11634     /* [in] */ const BSTR SubKeyName,
11635     /* [retval][out] */ ISpeechDataKey **SubKey);
11636 
11637 
11638 void __RPC_STUB ISpeechDataKey_OpenKey_Stub(
11639     IRpcStubBuffer *This,
11640     IRpcChannelBuffer *_pRpcChannelBuffer,
11641     PRPC_MESSAGE _pRpcMessage,
11642     DWORD *_pdwStubPhase);
11643 
11644 
11645 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_CreateKey_Proxy(
11646     ISpeechDataKey * This,
11647     /* [in] */ const BSTR SubKeyName,
11648     /* [retval][out] */ ISpeechDataKey **SubKey);
11649 
11650 
11651 void __RPC_STUB ISpeechDataKey_CreateKey_Stub(
11652     IRpcStubBuffer *This,
11653     IRpcChannelBuffer *_pRpcChannelBuffer,
11654     PRPC_MESSAGE _pRpcMessage,
11655     DWORD *_pdwStubPhase);
11656 
11657 
11658 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_DeleteKey_Proxy(
11659     ISpeechDataKey * This,
11660     /* [in] */ const BSTR SubKeyName);
11661 
11662 
11663 void __RPC_STUB ISpeechDataKey_DeleteKey_Stub(
11664     IRpcStubBuffer *This,
11665     IRpcChannelBuffer *_pRpcChannelBuffer,
11666     PRPC_MESSAGE _pRpcMessage,
11667     DWORD *_pdwStubPhase);
11668 
11669 
11670 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_DeleteValue_Proxy(
11671     ISpeechDataKey * This,
11672     /* [in] */ const BSTR ValueName);
11673 
11674 
11675 void __RPC_STUB ISpeechDataKey_DeleteValue_Stub(
11676     IRpcStubBuffer *This,
11677     IRpcChannelBuffer *_pRpcChannelBuffer,
11678     PRPC_MESSAGE _pRpcMessage,
11679     DWORD *_pdwStubPhase);
11680 
11681 
11682 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_EnumKeys_Proxy(
11683     ISpeechDataKey * This,
11684     /* [in] */ long Index,
11685     /* [retval][out] */ BSTR *SubKeyName);
11686 
11687 
11688 void __RPC_STUB ISpeechDataKey_EnumKeys_Stub(
11689     IRpcStubBuffer *This,
11690     IRpcChannelBuffer *_pRpcChannelBuffer,
11691     PRPC_MESSAGE _pRpcMessage,
11692     DWORD *_pdwStubPhase);
11693 
11694 
11695 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_EnumValues_Proxy(
11696     ISpeechDataKey * This,
11697     /* [in] */ long Index,
11698     /* [retval][out] */ BSTR *ValueName);
11699 
11700 
11701 void __RPC_STUB ISpeechDataKey_EnumValues_Stub(
11702     IRpcStubBuffer *This,
11703     IRpcChannelBuffer *_pRpcChannelBuffer,
11704     PRPC_MESSAGE _pRpcMessage,
11705     DWORD *_pdwStubPhase);
11706 
11707 
11708 
11709 #endif 	/* __ISpeechDataKey_INTERFACE_DEFINED__ */
11710 
11711 
11712 #ifndef __ISpeechObjectToken_INTERFACE_DEFINED__
11713 #define __ISpeechObjectToken_INTERFACE_DEFINED__
11714 
11715 /* interface ISpeechObjectToken */
11716 /* [unique][helpstring][dual][uuid][object] */
11717 
11718 
11719 EXTERN_C const IID IID_ISpeechObjectToken;
11720 
11721 #if defined(__cplusplus) && !defined(CINTERFACE)
11722 
11723     MIDL_INTERFACE("C74A3ADC-B727-4500-A84A-B526721C8B8C")
11724     ISpeechObjectToken : public IDispatch
11725     {
11726     public:
11727         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id(
11728             /* [retval][out] */ BSTR *ObjectId) = 0;
11729 
11730         virtual /* [hidden][id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DataKey(
11731             /* [retval][out] */ ISpeechDataKey **DataKey) = 0;
11732 
11733         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category(
11734             /* [retval][out] */ ISpeechObjectTokenCategory **Category) = 0;
11735 
11736         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetDescription(
11737             /* [defaultvalue][in] */ long Locale,
11738             /* [retval][out] */ BSTR *Description) = 0;
11739 
11740         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE SetId(
11741             /* [in] */ BSTR Id,
11742             /* [defaultvalue][in] */ BSTR CategoryID = L"",
11743             /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist = 0) = 0;
11744 
11745         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetAttribute(
11746             /* [in] */ BSTR AttributeName,
11747             /* [retval][out] */ BSTR *AttributeValue) = 0;
11748 
11749         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CreateInstance(
11750             /* [defaultvalue][in] */ IUnknown *pUnkOuter,
11751             /* [defaultvalue][in] */ SpeechTokenContext ClsContext,
11752             /* [retval][out] */ IUnknown **Object) = 0;
11753 
11754         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE Remove(
11755             /* [in] */ BSTR ObjectStorageCLSID) = 0;
11756 
11757         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE GetStorageFileName(
11758             /* [in] */ BSTR ObjectStorageCLSID,
11759             /* [in] */ BSTR KeyName,
11760             /* [in] */ BSTR FileName,
11761             /* [in] */ SpeechTokenShellFolder Folder,
11762             /* [retval][out] */ BSTR *FilePath) = 0;
11763 
11764         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
11765             /* [in] */ BSTR ObjectStorageCLSID,
11766             /* [in] */ BSTR KeyName,
11767             /* [in] */ VARIANT_BOOL DeleteFile) = 0;
11768 
11769         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE IsUISupported(
11770             /* [in] */ const BSTR TypeOfUI,
11771             /* [defaultvalue][in] */ const VARIANT *ExtraData,
11772             /* [defaultvalue][in] */ IUnknown *Object,
11773             /* [retval][out] */ VARIANT_BOOL *Supported) = 0;
11774 
11775         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE DisplayUI(
11776             /* [in] */ long hWnd,
11777             /* [in] */ BSTR Title,
11778             /* [in] */ const BSTR TypeOfUI,
11779             /* [defaultvalue][in] */ const VARIANT *ExtraData = 0,
11780             /* [defaultvalue][in] */ IUnknown *Object = 0) = 0;
11781 
11782         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE MatchesAttributes(
11783             /* [in] */ BSTR Attributes,
11784             /* [retval][out] */ VARIANT_BOOL *Matches) = 0;
11785 
11786     };
11787 
11788 #else 	/* C style interface */
11789 
11790     typedef struct ISpeechObjectTokenVtbl
11791     {
11792         BEGIN_INTERFACE
11793 
11794         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
11795             ISpeechObjectToken * This,
11796             /* [in] */ REFIID riid,
11797             /* [iid_is][out] */ void **ppvObject);
11798 
11799         ULONG ( STDMETHODCALLTYPE *AddRef )(
11800             ISpeechObjectToken * This);
11801 
11802         ULONG ( STDMETHODCALLTYPE *Release )(
11803             ISpeechObjectToken * This);
11804 
11805         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
11806             ISpeechObjectToken * This,
11807             /* [out] */ UINT *pctinfo);
11808 
11809         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
11810             ISpeechObjectToken * This,
11811             /* [in] */ UINT iTInfo,
11812             /* [in] */ LCID lcid,
11813             /* [out] */ ITypeInfo **ppTInfo);
11814 
11815         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
11816             ISpeechObjectToken * This,
11817             /* [in] */ REFIID riid,
11818             /* [size_is][in] */ LPOLESTR *rgszNames,
11819             /* [in] */ UINT cNames,
11820             /* [in] */ LCID lcid,
11821             /* [size_is][out] */ DISPID *rgDispId);
11822 
11823         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
11824             ISpeechObjectToken * This,
11825             /* [in] */ DISPID dispIdMember,
11826             /* [in] */ REFIID riid,
11827             /* [in] */ LCID lcid,
11828             /* [in] */ WORD wFlags,
11829             /* [out][in] */ DISPPARAMS *pDispParams,
11830             /* [out] */ VARIANT *pVarResult,
11831             /* [out] */ EXCEPINFO *pExcepInfo,
11832             /* [out] */ UINT *puArgErr);
11833 
11834         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
11835             ISpeechObjectToken * This,
11836             /* [retval][out] */ BSTR *ObjectId);
11837 
11838         /* [hidden][id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DataKey )(
11839             ISpeechObjectToken * This,
11840             /* [retval][out] */ ISpeechDataKey **DataKey);
11841 
11842         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )(
11843             ISpeechObjectToken * This,
11844             /* [retval][out] */ ISpeechObjectTokenCategory **Category);
11845 
11846         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescription )(
11847             ISpeechObjectToken * This,
11848             /* [defaultvalue][in] */ long Locale,
11849             /* [retval][out] */ BSTR *Description);
11850 
11851         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetId )(
11852             ISpeechObjectToken * This,
11853             /* [in] */ BSTR Id,
11854             /* [defaultvalue][in] */ BSTR CategoryID,
11855             /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist);
11856 
11857         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttribute )(
11858             ISpeechObjectToken * This,
11859             /* [in] */ BSTR AttributeName,
11860             /* [retval][out] */ BSTR *AttributeValue);
11861 
11862         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
11863             ISpeechObjectToken * This,
11864             /* [defaultvalue][in] */ IUnknown *pUnkOuter,
11865             /* [defaultvalue][in] */ SpeechTokenContext ClsContext,
11866             /* [retval][out] */ IUnknown **Object);
11867 
11868         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )(
11869             ISpeechObjectToken * This,
11870             /* [in] */ BSTR ObjectStorageCLSID);
11871 
11872         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStorageFileName )(
11873             ISpeechObjectToken * This,
11874             /* [in] */ BSTR ObjectStorageCLSID,
11875             /* [in] */ BSTR KeyName,
11876             /* [in] */ BSTR FileName,
11877             /* [in] */ SpeechTokenShellFolder Folder,
11878             /* [retval][out] */ BSTR *FilePath);
11879 
11880         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveStorageFileName )(
11881             ISpeechObjectToken * This,
11882             /* [in] */ BSTR ObjectStorageCLSID,
11883             /* [in] */ BSTR KeyName,
11884             /* [in] */ VARIANT_BOOL DeleteFile);
11885 
11886         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
11887             ISpeechObjectToken * This,
11888             /* [in] */ const BSTR TypeOfUI,
11889             /* [defaultvalue][in] */ const VARIANT *ExtraData,
11890             /* [defaultvalue][in] */ IUnknown *Object,
11891             /* [retval][out] */ VARIANT_BOOL *Supported);
11892 
11893         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
11894             ISpeechObjectToken * This,
11895             /* [in] */ long hWnd,
11896             /* [in] */ BSTR Title,
11897             /* [in] */ const BSTR TypeOfUI,
11898             /* [defaultvalue][in] */ const VARIANT *ExtraData,
11899             /* [defaultvalue][in] */ IUnknown *Object);
11900 
11901         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *MatchesAttributes )(
11902             ISpeechObjectToken * This,
11903             /* [in] */ BSTR Attributes,
11904             /* [retval][out] */ VARIANT_BOOL *Matches);
11905 
11906         END_INTERFACE
11907     } ISpeechObjectTokenVtbl;
11908 
11909     interface ISpeechObjectToken
11910     {
11911         CONST_VTBL struct ISpeechObjectTokenVtbl *lpVtbl;
11912     };
11913 
11914 
11915 
11916 #ifdef COBJMACROS
11917 
11918 
11919 #define ISpeechObjectToken_QueryInterface(This,riid,ppvObject)	\
11920     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
11921 
11922 #define ISpeechObjectToken_AddRef(This)	\
11923     (This)->lpVtbl -> AddRef(This)
11924 
11925 #define ISpeechObjectToken_Release(This)	\
11926     (This)->lpVtbl -> Release(This)
11927 
11928 
11929 #define ISpeechObjectToken_GetTypeInfoCount(This,pctinfo)	\
11930     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
11931 
11932 #define ISpeechObjectToken_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
11933     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
11934 
11935 #define ISpeechObjectToken_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
11936     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
11937 
11938 #define ISpeechObjectToken_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
11939     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
11940 
11941 
11942 #define ISpeechObjectToken_get_Id(This,ObjectId)	\
11943     (This)->lpVtbl -> get_Id(This,ObjectId)
11944 
11945 #define ISpeechObjectToken_get_DataKey(This,DataKey)	\
11946     (This)->lpVtbl -> get_DataKey(This,DataKey)
11947 
11948 #define ISpeechObjectToken_get_Category(This,Category)	\
11949     (This)->lpVtbl -> get_Category(This,Category)
11950 
11951 #define ISpeechObjectToken_GetDescription(This,Locale,Description)	\
11952     (This)->lpVtbl -> GetDescription(This,Locale,Description)
11953 
11954 #define ISpeechObjectToken_SetId(This,Id,CategoryID,CreateIfNotExist)	\
11955     (This)->lpVtbl -> SetId(This,Id,CategoryID,CreateIfNotExist)
11956 
11957 #define ISpeechObjectToken_GetAttribute(This,AttributeName,AttributeValue)	\
11958     (This)->lpVtbl -> GetAttribute(This,AttributeName,AttributeValue)
11959 
11960 #define ISpeechObjectToken_CreateInstance(This,pUnkOuter,ClsContext,Object)	\
11961     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,ClsContext,Object)
11962 
11963 #define ISpeechObjectToken_Remove(This,ObjectStorageCLSID)	\
11964     (This)->lpVtbl -> Remove(This,ObjectStorageCLSID)
11965 
11966 #define ISpeechObjectToken_GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath)	\
11967     (This)->lpVtbl -> GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath)
11968 
11969 #define ISpeechObjectToken_RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile)	\
11970     (This)->lpVtbl -> RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile)
11971 
11972 #define ISpeechObjectToken_IsUISupported(This,TypeOfUI,ExtraData,Object,Supported)	\
11973     (This)->lpVtbl -> IsUISupported(This,TypeOfUI,ExtraData,Object,Supported)
11974 
11975 #define ISpeechObjectToken_DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object)	\
11976     (This)->lpVtbl -> DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object)
11977 
11978 #define ISpeechObjectToken_MatchesAttributes(This,Attributes,Matches)	\
11979     (This)->lpVtbl -> MatchesAttributes(This,Attributes,Matches)
11980 
11981 #endif /* COBJMACROS */
11982 
11983 
11984 #endif 	/* C style interface */
11985 
11986 
11987 
11988 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_Id_Proxy(
11989     ISpeechObjectToken * This,
11990     /* [retval][out] */ BSTR *ObjectId);
11991 
11992 
11993 void __RPC_STUB ISpeechObjectToken_get_Id_Stub(
11994     IRpcStubBuffer *This,
11995     IRpcChannelBuffer *_pRpcChannelBuffer,
11996     PRPC_MESSAGE _pRpcMessage,
11997     DWORD *_pdwStubPhase);
11998 
11999 
12000 /* [hidden][id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_DataKey_Proxy(
12001     ISpeechObjectToken * This,
12002     /* [retval][out] */ ISpeechDataKey **DataKey);
12003 
12004 
12005 void __RPC_STUB ISpeechObjectToken_get_DataKey_Stub(
12006     IRpcStubBuffer *This,
12007     IRpcChannelBuffer *_pRpcChannelBuffer,
12008     PRPC_MESSAGE _pRpcMessage,
12009     DWORD *_pdwStubPhase);
12010 
12011 
12012 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_Category_Proxy(
12013     ISpeechObjectToken * This,
12014     /* [retval][out] */ ISpeechObjectTokenCategory **Category);
12015 
12016 
12017 void __RPC_STUB ISpeechObjectToken_get_Category_Stub(
12018     IRpcStubBuffer *This,
12019     IRpcChannelBuffer *_pRpcChannelBuffer,
12020     PRPC_MESSAGE _pRpcMessage,
12021     DWORD *_pdwStubPhase);
12022 
12023 
12024 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetDescription_Proxy(
12025     ISpeechObjectToken * This,
12026     /* [defaultvalue][in] */ long Locale,
12027     /* [retval][out] */ BSTR *Description);
12028 
12029 
12030 void __RPC_STUB ISpeechObjectToken_GetDescription_Stub(
12031     IRpcStubBuffer *This,
12032     IRpcChannelBuffer *_pRpcChannelBuffer,
12033     PRPC_MESSAGE _pRpcMessage,
12034     DWORD *_pdwStubPhase);
12035 
12036 
12037 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_SetId_Proxy(
12038     ISpeechObjectToken * This,
12039     /* [in] */ BSTR Id,
12040     /* [defaultvalue][in] */ BSTR CategoryID,
12041     /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist);
12042 
12043 
12044 void __RPC_STUB ISpeechObjectToken_SetId_Stub(
12045     IRpcStubBuffer *This,
12046     IRpcChannelBuffer *_pRpcChannelBuffer,
12047     PRPC_MESSAGE _pRpcMessage,
12048     DWORD *_pdwStubPhase);
12049 
12050 
12051 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetAttribute_Proxy(
12052     ISpeechObjectToken * This,
12053     /* [in] */ BSTR AttributeName,
12054     /* [retval][out] */ BSTR *AttributeValue);
12055 
12056 
12057 void __RPC_STUB ISpeechObjectToken_GetAttribute_Stub(
12058     IRpcStubBuffer *This,
12059     IRpcChannelBuffer *_pRpcChannelBuffer,
12060     PRPC_MESSAGE _pRpcMessage,
12061     DWORD *_pdwStubPhase);
12062 
12063 
12064 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_CreateInstance_Proxy(
12065     ISpeechObjectToken * This,
12066     /* [defaultvalue][in] */ IUnknown *pUnkOuter,
12067     /* [defaultvalue][in] */ SpeechTokenContext ClsContext,
12068     /* [retval][out] */ IUnknown **Object);
12069 
12070 
12071 void __RPC_STUB ISpeechObjectToken_CreateInstance_Stub(
12072     IRpcStubBuffer *This,
12073     IRpcChannelBuffer *_pRpcChannelBuffer,
12074     PRPC_MESSAGE _pRpcMessage,
12075     DWORD *_pdwStubPhase);
12076 
12077 
12078 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_Remove_Proxy(
12079     ISpeechObjectToken * This,
12080     /* [in] */ BSTR ObjectStorageCLSID);
12081 
12082 
12083 void __RPC_STUB ISpeechObjectToken_Remove_Stub(
12084     IRpcStubBuffer *This,
12085     IRpcChannelBuffer *_pRpcChannelBuffer,
12086     PRPC_MESSAGE _pRpcMessage,
12087     DWORD *_pdwStubPhase);
12088 
12089 
12090 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetStorageFileName_Proxy(
12091     ISpeechObjectToken * This,
12092     /* [in] */ BSTR ObjectStorageCLSID,
12093     /* [in] */ BSTR KeyName,
12094     /* [in] */ BSTR FileName,
12095     /* [in] */ SpeechTokenShellFolder Folder,
12096     /* [retval][out] */ BSTR *FilePath);
12097 
12098 
12099 void __RPC_STUB ISpeechObjectToken_GetStorageFileName_Stub(
12100     IRpcStubBuffer *This,
12101     IRpcChannelBuffer *_pRpcChannelBuffer,
12102     PRPC_MESSAGE _pRpcMessage,
12103     DWORD *_pdwStubPhase);
12104 
12105 
12106 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_RemoveStorageFileName_Proxy(
12107     ISpeechObjectToken * This,
12108     /* [in] */ BSTR ObjectStorageCLSID,
12109     /* [in] */ BSTR KeyName,
12110     /* [in] */ VARIANT_BOOL DeleteFile);
12111 
12112 
12113 void __RPC_STUB ISpeechObjectToken_RemoveStorageFileName_Stub(
12114     IRpcStubBuffer *This,
12115     IRpcChannelBuffer *_pRpcChannelBuffer,
12116     PRPC_MESSAGE _pRpcMessage,
12117     DWORD *_pdwStubPhase);
12118 
12119 
12120 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_IsUISupported_Proxy(
12121     ISpeechObjectToken * This,
12122     /* [in] */ const BSTR TypeOfUI,
12123     /* [defaultvalue][in] */ const VARIANT *ExtraData,
12124     /* [defaultvalue][in] */ IUnknown *Object,
12125     /* [retval][out] */ VARIANT_BOOL *Supported);
12126 
12127 
12128 void __RPC_STUB ISpeechObjectToken_IsUISupported_Stub(
12129     IRpcStubBuffer *This,
12130     IRpcChannelBuffer *_pRpcChannelBuffer,
12131     PRPC_MESSAGE _pRpcMessage,
12132     DWORD *_pdwStubPhase);
12133 
12134 
12135 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_DisplayUI_Proxy(
12136     ISpeechObjectToken * This,
12137     /* [in] */ long hWnd,
12138     /* [in] */ BSTR Title,
12139     /* [in] */ const BSTR TypeOfUI,
12140     /* [defaultvalue][in] */ const VARIANT *ExtraData,
12141     /* [defaultvalue][in] */ IUnknown *Object);
12142 
12143 
12144 void __RPC_STUB ISpeechObjectToken_DisplayUI_Stub(
12145     IRpcStubBuffer *This,
12146     IRpcChannelBuffer *_pRpcChannelBuffer,
12147     PRPC_MESSAGE _pRpcMessage,
12148     DWORD *_pdwStubPhase);
12149 
12150 
12151 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_MatchesAttributes_Proxy(
12152     ISpeechObjectToken * This,
12153     /* [in] */ BSTR Attributes,
12154     /* [retval][out] */ VARIANT_BOOL *Matches);
12155 
12156 
12157 void __RPC_STUB ISpeechObjectToken_MatchesAttributes_Stub(
12158     IRpcStubBuffer *This,
12159     IRpcChannelBuffer *_pRpcChannelBuffer,
12160     PRPC_MESSAGE _pRpcMessage,
12161     DWORD *_pdwStubPhase);
12162 
12163 
12164 
12165 #endif 	/* __ISpeechObjectToken_INTERFACE_DEFINED__ */
12166 
12167 
12168 #ifndef __ISpeechObjectTokens_INTERFACE_DEFINED__
12169 #define __ISpeechObjectTokens_INTERFACE_DEFINED__
12170 
12171 /* interface ISpeechObjectTokens */
12172 /* [unique][helpstring][dual][uuid][object] */
12173 
12174 
12175 EXTERN_C const IID IID_ISpeechObjectTokens;
12176 
12177 #if defined(__cplusplus) && !defined(CINTERFACE)
12178 
12179     MIDL_INTERFACE("9285B776-2E7B-4bc0-B53E-580EB6FA967F")
12180     ISpeechObjectTokens : public IDispatch
12181     {
12182     public:
12183         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
12184             /* [retval][out] */ long *Count) = 0;
12185 
12186         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item(
12187             /* [in] */ long Index,
12188             /* [retval][out] */ ISpeechObjectToken **Token) = 0;
12189 
12190         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
12191             /* [retval][out] */ IUnknown **ppEnumVARIANT) = 0;
12192 
12193     };
12194 
12195 #else 	/* C style interface */
12196 
12197     typedef struct ISpeechObjectTokensVtbl
12198     {
12199         BEGIN_INTERFACE
12200 
12201         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
12202             ISpeechObjectTokens * This,
12203             /* [in] */ REFIID riid,
12204             /* [iid_is][out] */ void **ppvObject);
12205 
12206         ULONG ( STDMETHODCALLTYPE *AddRef )(
12207             ISpeechObjectTokens * This);
12208 
12209         ULONG ( STDMETHODCALLTYPE *Release )(
12210             ISpeechObjectTokens * This);
12211 
12212         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
12213             ISpeechObjectTokens * This,
12214             /* [out] */ UINT *pctinfo);
12215 
12216         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
12217             ISpeechObjectTokens * This,
12218             /* [in] */ UINT iTInfo,
12219             /* [in] */ LCID lcid,
12220             /* [out] */ ITypeInfo **ppTInfo);
12221 
12222         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
12223             ISpeechObjectTokens * This,
12224             /* [in] */ REFIID riid,
12225             /* [size_is][in] */ LPOLESTR *rgszNames,
12226             /* [in] */ UINT cNames,
12227             /* [in] */ LCID lcid,
12228             /* [size_is][out] */ DISPID *rgDispId);
12229 
12230         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
12231             ISpeechObjectTokens * This,
12232             /* [in] */ DISPID dispIdMember,
12233             /* [in] */ REFIID riid,
12234             /* [in] */ LCID lcid,
12235             /* [in] */ WORD wFlags,
12236             /* [out][in] */ DISPPARAMS *pDispParams,
12237             /* [out] */ VARIANT *pVarResult,
12238             /* [out] */ EXCEPINFO *pExcepInfo,
12239             /* [out] */ UINT *puArgErr);
12240 
12241         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
12242             ISpeechObjectTokens * This,
12243             /* [retval][out] */ long *Count);
12244 
12245         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )(
12246             ISpeechObjectTokens * This,
12247             /* [in] */ long Index,
12248             /* [retval][out] */ ISpeechObjectToken **Token);
12249 
12250         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
12251             ISpeechObjectTokens * This,
12252             /* [retval][out] */ IUnknown **ppEnumVARIANT);
12253 
12254         END_INTERFACE
12255     } ISpeechObjectTokensVtbl;
12256 
12257     interface ISpeechObjectTokens
12258     {
12259         CONST_VTBL struct ISpeechObjectTokensVtbl *lpVtbl;
12260     };
12261 
12262 
12263 
12264 #ifdef COBJMACROS
12265 
12266 
12267 #define ISpeechObjectTokens_QueryInterface(This,riid,ppvObject)	\
12268     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
12269 
12270 #define ISpeechObjectTokens_AddRef(This)	\
12271     (This)->lpVtbl -> AddRef(This)
12272 
12273 #define ISpeechObjectTokens_Release(This)	\
12274     (This)->lpVtbl -> Release(This)
12275 
12276 
12277 #define ISpeechObjectTokens_GetTypeInfoCount(This,pctinfo)	\
12278     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
12279 
12280 #define ISpeechObjectTokens_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
12281     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12282 
12283 #define ISpeechObjectTokens_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
12284     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12285 
12286 #define ISpeechObjectTokens_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
12287     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12288 
12289 
12290 #define ISpeechObjectTokens_get_Count(This,Count)	\
12291     (This)->lpVtbl -> get_Count(This,Count)
12292 
12293 #define ISpeechObjectTokens_Item(This,Index,Token)	\
12294     (This)->lpVtbl -> Item(This,Index,Token)
12295 
12296 #define ISpeechObjectTokens_get__NewEnum(This,ppEnumVARIANT)	\
12297     (This)->lpVtbl -> get__NewEnum(This,ppEnumVARIANT)
12298 
12299 #endif /* COBJMACROS */
12300 
12301 
12302 #endif 	/* C style interface */
12303 
12304 
12305 
12306 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_get_Count_Proxy(
12307     ISpeechObjectTokens * This,
12308     /* [retval][out] */ long *Count);
12309 
12310 
12311 void __RPC_STUB ISpeechObjectTokens_get_Count_Stub(
12312     IRpcStubBuffer *This,
12313     IRpcChannelBuffer *_pRpcChannelBuffer,
12314     PRPC_MESSAGE _pRpcMessage,
12315     DWORD *_pdwStubPhase);
12316 
12317 
12318 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_Item_Proxy(
12319     ISpeechObjectTokens * This,
12320     /* [in] */ long Index,
12321     /* [retval][out] */ ISpeechObjectToken **Token);
12322 
12323 
12324 void __RPC_STUB ISpeechObjectTokens_Item_Stub(
12325     IRpcStubBuffer *This,
12326     IRpcChannelBuffer *_pRpcChannelBuffer,
12327     PRPC_MESSAGE _pRpcMessage,
12328     DWORD *_pdwStubPhase);
12329 
12330 
12331 /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_get__NewEnum_Proxy(
12332     ISpeechObjectTokens * This,
12333     /* [retval][out] */ IUnknown **ppEnumVARIANT);
12334 
12335 
12336 void __RPC_STUB ISpeechObjectTokens_get__NewEnum_Stub(
12337     IRpcStubBuffer *This,
12338     IRpcChannelBuffer *_pRpcChannelBuffer,
12339     PRPC_MESSAGE _pRpcMessage,
12340     DWORD *_pdwStubPhase);
12341 
12342 
12343 
12344 #endif 	/* __ISpeechObjectTokens_INTERFACE_DEFINED__ */
12345 
12346 
12347 #ifndef __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
12348 #define __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
12349 
12350 /* interface ISpeechObjectTokenCategory */
12351 /* [unique][helpstring][dual][uuid][object] */
12352 
12353 
12354 EXTERN_C const IID IID_ISpeechObjectTokenCategory;
12355 
12356 #if defined(__cplusplus) && !defined(CINTERFACE)
12357 
12358     MIDL_INTERFACE("CA7EAC50-2D01-4145-86D4-5AE7D70F4469")
12359     ISpeechObjectTokenCategory : public IDispatch
12360     {
12361     public:
12362         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id(
12363             /* [retval][out] */ BSTR *Id) = 0;
12364 
12365         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Default(
12366             /* [in] */ const BSTR TokenId) = 0;
12367 
12368         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Default(
12369             /* [retval][out] */ BSTR *TokenId) = 0;
12370 
12371         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetId(
12372             /* [in] */ const BSTR Id,
12373             /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist = 0) = 0;
12374 
12375         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE GetDataKey(
12376             /* [defaultvalue][in] */ SpeechDataKeyLocation Location,
12377             /* [retval][out] */ ISpeechDataKey **DataKey) = 0;
12378 
12379         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE EnumerateTokens(
12380             /* [defaultvalue][in] */ BSTR RequiredAttributes,
12381             /* [defaultvalue][in] */ BSTR OptionalAttributes,
12382             /* [retval][out] */ ISpeechObjectTokens **Tokens) = 0;
12383 
12384     };
12385 
12386 #else 	/* C style interface */
12387 
12388     typedef struct ISpeechObjectTokenCategoryVtbl
12389     {
12390         BEGIN_INTERFACE
12391 
12392         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
12393             ISpeechObjectTokenCategory * This,
12394             /* [in] */ REFIID riid,
12395             /* [iid_is][out] */ void **ppvObject);
12396 
12397         ULONG ( STDMETHODCALLTYPE *AddRef )(
12398             ISpeechObjectTokenCategory * This);
12399 
12400         ULONG ( STDMETHODCALLTYPE *Release )(
12401             ISpeechObjectTokenCategory * This);
12402 
12403         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
12404             ISpeechObjectTokenCategory * This,
12405             /* [out] */ UINT *pctinfo);
12406 
12407         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
12408             ISpeechObjectTokenCategory * This,
12409             /* [in] */ UINT iTInfo,
12410             /* [in] */ LCID lcid,
12411             /* [out] */ ITypeInfo **ppTInfo);
12412 
12413         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
12414             ISpeechObjectTokenCategory * This,
12415             /* [in] */ REFIID riid,
12416             /* [size_is][in] */ LPOLESTR *rgszNames,
12417             /* [in] */ UINT cNames,
12418             /* [in] */ LCID lcid,
12419             /* [size_is][out] */ DISPID *rgDispId);
12420 
12421         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
12422             ISpeechObjectTokenCategory * This,
12423             /* [in] */ DISPID dispIdMember,
12424             /* [in] */ REFIID riid,
12425             /* [in] */ LCID lcid,
12426             /* [in] */ WORD wFlags,
12427             /* [out][in] */ DISPPARAMS *pDispParams,
12428             /* [out] */ VARIANT *pVarResult,
12429             /* [out] */ EXCEPINFO *pExcepInfo,
12430             /* [out] */ UINT *puArgErr);
12431 
12432         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
12433             ISpeechObjectTokenCategory * This,
12434             /* [retval][out] */ BSTR *Id);
12435 
12436         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Default )(
12437             ISpeechObjectTokenCategory * This,
12438             /* [in] */ const BSTR TokenId);
12439 
12440         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Default )(
12441             ISpeechObjectTokenCategory * This,
12442             /* [retval][out] */ BSTR *TokenId);
12443 
12444         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetId )(
12445             ISpeechObjectTokenCategory * This,
12446             /* [in] */ const BSTR Id,
12447             /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist);
12448 
12449         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataKey )(
12450             ISpeechObjectTokenCategory * This,
12451             /* [defaultvalue][in] */ SpeechDataKeyLocation Location,
12452             /* [retval][out] */ ISpeechDataKey **DataKey);
12453 
12454         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumerateTokens )(
12455             ISpeechObjectTokenCategory * This,
12456             /* [defaultvalue][in] */ BSTR RequiredAttributes,
12457             /* [defaultvalue][in] */ BSTR OptionalAttributes,
12458             /* [retval][out] */ ISpeechObjectTokens **Tokens);
12459 
12460         END_INTERFACE
12461     } ISpeechObjectTokenCategoryVtbl;
12462 
12463     interface ISpeechObjectTokenCategory
12464     {
12465         CONST_VTBL struct ISpeechObjectTokenCategoryVtbl *lpVtbl;
12466     };
12467 
12468 
12469 
12470 #ifdef COBJMACROS
12471 
12472 
12473 #define ISpeechObjectTokenCategory_QueryInterface(This,riid,ppvObject)	\
12474     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
12475 
12476 #define ISpeechObjectTokenCategory_AddRef(This)	\
12477     (This)->lpVtbl -> AddRef(This)
12478 
12479 #define ISpeechObjectTokenCategory_Release(This)	\
12480     (This)->lpVtbl -> Release(This)
12481 
12482 
12483 #define ISpeechObjectTokenCategory_GetTypeInfoCount(This,pctinfo)	\
12484     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
12485 
12486 #define ISpeechObjectTokenCategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
12487     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12488 
12489 #define ISpeechObjectTokenCategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
12490     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12491 
12492 #define ISpeechObjectTokenCategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
12493     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12494 
12495 
12496 #define ISpeechObjectTokenCategory_get_Id(This,Id)	\
12497     (This)->lpVtbl -> get_Id(This,Id)
12498 
12499 #define ISpeechObjectTokenCategory_put_Default(This,TokenId)	\
12500     (This)->lpVtbl -> put_Default(This,TokenId)
12501 
12502 #define ISpeechObjectTokenCategory_get_Default(This,TokenId)	\
12503     (This)->lpVtbl -> get_Default(This,TokenId)
12504 
12505 #define ISpeechObjectTokenCategory_SetId(This,Id,CreateIfNotExist)	\
12506     (This)->lpVtbl -> SetId(This,Id,CreateIfNotExist)
12507 
12508 #define ISpeechObjectTokenCategory_GetDataKey(This,Location,DataKey)	\
12509     (This)->lpVtbl -> GetDataKey(This,Location,DataKey)
12510 
12511 #define ISpeechObjectTokenCategory_EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens)	\
12512     (This)->lpVtbl -> EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens)
12513 
12514 #endif /* COBJMACROS */
12515 
12516 
12517 #endif 	/* C style interface */
12518 
12519 
12520 
12521 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_get_Id_Proxy(
12522     ISpeechObjectTokenCategory * This,
12523     /* [retval][out] */ BSTR *Id);
12524 
12525 
12526 void __RPC_STUB ISpeechObjectTokenCategory_get_Id_Stub(
12527     IRpcStubBuffer *This,
12528     IRpcChannelBuffer *_pRpcChannelBuffer,
12529     PRPC_MESSAGE _pRpcMessage,
12530     DWORD *_pdwStubPhase);
12531 
12532 
12533 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_put_Default_Proxy(
12534     ISpeechObjectTokenCategory * This,
12535     /* [in] */ const BSTR TokenId);
12536 
12537 
12538 void __RPC_STUB ISpeechObjectTokenCategory_put_Default_Stub(
12539     IRpcStubBuffer *This,
12540     IRpcChannelBuffer *_pRpcChannelBuffer,
12541     PRPC_MESSAGE _pRpcMessage,
12542     DWORD *_pdwStubPhase);
12543 
12544 
12545 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_get_Default_Proxy(
12546     ISpeechObjectTokenCategory * This,
12547     /* [retval][out] */ BSTR *TokenId);
12548 
12549 
12550 void __RPC_STUB ISpeechObjectTokenCategory_get_Default_Stub(
12551     IRpcStubBuffer *This,
12552     IRpcChannelBuffer *_pRpcChannelBuffer,
12553     PRPC_MESSAGE _pRpcMessage,
12554     DWORD *_pdwStubPhase);
12555 
12556 
12557 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_SetId_Proxy(
12558     ISpeechObjectTokenCategory * This,
12559     /* [in] */ const BSTR Id,
12560     /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist);
12561 
12562 
12563 void __RPC_STUB ISpeechObjectTokenCategory_SetId_Stub(
12564     IRpcStubBuffer *This,
12565     IRpcChannelBuffer *_pRpcChannelBuffer,
12566     PRPC_MESSAGE _pRpcMessage,
12567     DWORD *_pdwStubPhase);
12568 
12569 
12570 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_GetDataKey_Proxy(
12571     ISpeechObjectTokenCategory * This,
12572     /* [defaultvalue][in] */ SpeechDataKeyLocation Location,
12573     /* [retval][out] */ ISpeechDataKey **DataKey);
12574 
12575 
12576 void __RPC_STUB ISpeechObjectTokenCategory_GetDataKey_Stub(
12577     IRpcStubBuffer *This,
12578     IRpcChannelBuffer *_pRpcChannelBuffer,
12579     PRPC_MESSAGE _pRpcMessage,
12580     DWORD *_pdwStubPhase);
12581 
12582 
12583 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_EnumerateTokens_Proxy(
12584     ISpeechObjectTokenCategory * This,
12585     /* [defaultvalue][in] */ BSTR RequiredAttributes,
12586     /* [defaultvalue][in] */ BSTR OptionalAttributes,
12587     /* [retval][out] */ ISpeechObjectTokens **Tokens);
12588 
12589 
12590 void __RPC_STUB ISpeechObjectTokenCategory_EnumerateTokens_Stub(
12591     IRpcStubBuffer *This,
12592     IRpcChannelBuffer *_pRpcChannelBuffer,
12593     PRPC_MESSAGE _pRpcMessage,
12594     DWORD *_pdwStubPhase);
12595 
12596 
12597 
12598 #endif 	/* __ISpeechObjectTokenCategory_INTERFACE_DEFINED__ */
12599 
12600 
12601 #ifndef __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
12602 #define __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
12603 
12604 /* interface ISpeechAudioBufferInfo */
12605 /* [unique][helpstring][dual][uuid][object] */
12606 
12607 
12608 EXTERN_C const IID IID_ISpeechAudioBufferInfo;
12609 
12610 #if defined(__cplusplus) && !defined(CINTERFACE)
12611 
12612     MIDL_INTERFACE("11B103D8-1142-4edf-A093-82FB3915F8CC")
12613     ISpeechAudioBufferInfo : public IDispatch
12614     {
12615     public:
12616         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MinNotification(
12617             /* [retval][out] */ long *MinNotification) = 0;
12618 
12619         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_MinNotification(
12620             /* [in] */ long MinNotification) = 0;
12621 
12622         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BufferSize(
12623             /* [retval][out] */ long *BufferSize) = 0;
12624 
12625         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BufferSize(
12626             /* [in] */ long BufferSize) = 0;
12627 
12628         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EventBias(
12629             /* [retval][out] */ long *EventBias) = 0;
12630 
12631         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventBias(
12632             /* [in] */ long EventBias) = 0;
12633 
12634     };
12635 
12636 #else 	/* C style interface */
12637 
12638     typedef struct ISpeechAudioBufferInfoVtbl
12639     {
12640         BEGIN_INTERFACE
12641 
12642         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
12643             ISpeechAudioBufferInfo * This,
12644             /* [in] */ REFIID riid,
12645             /* [iid_is][out] */ void **ppvObject);
12646 
12647         ULONG ( STDMETHODCALLTYPE *AddRef )(
12648             ISpeechAudioBufferInfo * This);
12649 
12650         ULONG ( STDMETHODCALLTYPE *Release )(
12651             ISpeechAudioBufferInfo * This);
12652 
12653         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
12654             ISpeechAudioBufferInfo * This,
12655             /* [out] */ UINT *pctinfo);
12656 
12657         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
12658             ISpeechAudioBufferInfo * This,
12659             /* [in] */ UINT iTInfo,
12660             /* [in] */ LCID lcid,
12661             /* [out] */ ITypeInfo **ppTInfo);
12662 
12663         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
12664             ISpeechAudioBufferInfo * This,
12665             /* [in] */ REFIID riid,
12666             /* [size_is][in] */ LPOLESTR *rgszNames,
12667             /* [in] */ UINT cNames,
12668             /* [in] */ LCID lcid,
12669             /* [size_is][out] */ DISPID *rgDispId);
12670 
12671         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
12672             ISpeechAudioBufferInfo * This,
12673             /* [in] */ DISPID dispIdMember,
12674             /* [in] */ REFIID riid,
12675             /* [in] */ LCID lcid,
12676             /* [in] */ WORD wFlags,
12677             /* [out][in] */ DISPPARAMS *pDispParams,
12678             /* [out] */ VARIANT *pVarResult,
12679             /* [out] */ EXCEPINFO *pExcepInfo,
12680             /* [out] */ UINT *puArgErr);
12681 
12682         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinNotification )(
12683             ISpeechAudioBufferInfo * This,
12684             /* [retval][out] */ long *MinNotification);
12685 
12686         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MinNotification )(
12687             ISpeechAudioBufferInfo * This,
12688             /* [in] */ long MinNotification);
12689 
12690         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BufferSize )(
12691             ISpeechAudioBufferInfo * This,
12692             /* [retval][out] */ long *BufferSize);
12693 
12694         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BufferSize )(
12695             ISpeechAudioBufferInfo * This,
12696             /* [in] */ long BufferSize);
12697 
12698         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventBias )(
12699             ISpeechAudioBufferInfo * This,
12700             /* [retval][out] */ long *EventBias);
12701 
12702         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventBias )(
12703             ISpeechAudioBufferInfo * This,
12704             /* [in] */ long EventBias);
12705 
12706         END_INTERFACE
12707     } ISpeechAudioBufferInfoVtbl;
12708 
12709     interface ISpeechAudioBufferInfo
12710     {
12711         CONST_VTBL struct ISpeechAudioBufferInfoVtbl *lpVtbl;
12712     };
12713 
12714 
12715 
12716 #ifdef COBJMACROS
12717 
12718 
12719 #define ISpeechAudioBufferInfo_QueryInterface(This,riid,ppvObject)	\
12720     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
12721 
12722 #define ISpeechAudioBufferInfo_AddRef(This)	\
12723     (This)->lpVtbl -> AddRef(This)
12724 
12725 #define ISpeechAudioBufferInfo_Release(This)	\
12726     (This)->lpVtbl -> Release(This)
12727 
12728 
12729 #define ISpeechAudioBufferInfo_GetTypeInfoCount(This,pctinfo)	\
12730     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
12731 
12732 #define ISpeechAudioBufferInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
12733     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12734 
12735 #define ISpeechAudioBufferInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
12736     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12737 
12738 #define ISpeechAudioBufferInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
12739     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12740 
12741 
12742 #define ISpeechAudioBufferInfo_get_MinNotification(This,MinNotification)	\
12743     (This)->lpVtbl -> get_MinNotification(This,MinNotification)
12744 
12745 #define ISpeechAudioBufferInfo_put_MinNotification(This,MinNotification)	\
12746     (This)->lpVtbl -> put_MinNotification(This,MinNotification)
12747 
12748 #define ISpeechAudioBufferInfo_get_BufferSize(This,BufferSize)	\
12749     (This)->lpVtbl -> get_BufferSize(This,BufferSize)
12750 
12751 #define ISpeechAudioBufferInfo_put_BufferSize(This,BufferSize)	\
12752     (This)->lpVtbl -> put_BufferSize(This,BufferSize)
12753 
12754 #define ISpeechAudioBufferInfo_get_EventBias(This,EventBias)	\
12755     (This)->lpVtbl -> get_EventBias(This,EventBias)
12756 
12757 #define ISpeechAudioBufferInfo_put_EventBias(This,EventBias)	\
12758     (This)->lpVtbl -> put_EventBias(This,EventBias)
12759 
12760 #endif /* COBJMACROS */
12761 
12762 
12763 #endif 	/* C style interface */
12764 
12765 
12766 
12767 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_MinNotification_Proxy(
12768     ISpeechAudioBufferInfo * This,
12769     /* [retval][out] */ long *MinNotification);
12770 
12771 
12772 void __RPC_STUB ISpeechAudioBufferInfo_get_MinNotification_Stub(
12773     IRpcStubBuffer *This,
12774     IRpcChannelBuffer *_pRpcChannelBuffer,
12775     PRPC_MESSAGE _pRpcMessage,
12776     DWORD *_pdwStubPhase);
12777 
12778 
12779 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_MinNotification_Proxy(
12780     ISpeechAudioBufferInfo * This,
12781     /* [in] */ long MinNotification);
12782 
12783 
12784 void __RPC_STUB ISpeechAudioBufferInfo_put_MinNotification_Stub(
12785     IRpcStubBuffer *This,
12786     IRpcChannelBuffer *_pRpcChannelBuffer,
12787     PRPC_MESSAGE _pRpcMessage,
12788     DWORD *_pdwStubPhase);
12789 
12790 
12791 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_BufferSize_Proxy(
12792     ISpeechAudioBufferInfo * This,
12793     /* [retval][out] */ long *BufferSize);
12794 
12795 
12796 void __RPC_STUB ISpeechAudioBufferInfo_get_BufferSize_Stub(
12797     IRpcStubBuffer *This,
12798     IRpcChannelBuffer *_pRpcChannelBuffer,
12799     PRPC_MESSAGE _pRpcMessage,
12800     DWORD *_pdwStubPhase);
12801 
12802 
12803 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_BufferSize_Proxy(
12804     ISpeechAudioBufferInfo * This,
12805     /* [in] */ long BufferSize);
12806 
12807 
12808 void __RPC_STUB ISpeechAudioBufferInfo_put_BufferSize_Stub(
12809     IRpcStubBuffer *This,
12810     IRpcChannelBuffer *_pRpcChannelBuffer,
12811     PRPC_MESSAGE _pRpcMessage,
12812     DWORD *_pdwStubPhase);
12813 
12814 
12815 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_EventBias_Proxy(
12816     ISpeechAudioBufferInfo * This,
12817     /* [retval][out] */ long *EventBias);
12818 
12819 
12820 void __RPC_STUB ISpeechAudioBufferInfo_get_EventBias_Stub(
12821     IRpcStubBuffer *This,
12822     IRpcChannelBuffer *_pRpcChannelBuffer,
12823     PRPC_MESSAGE _pRpcMessage,
12824     DWORD *_pdwStubPhase);
12825 
12826 
12827 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_EventBias_Proxy(
12828     ISpeechAudioBufferInfo * This,
12829     /* [in] */ long EventBias);
12830 
12831 
12832 void __RPC_STUB ISpeechAudioBufferInfo_put_EventBias_Stub(
12833     IRpcStubBuffer *This,
12834     IRpcChannelBuffer *_pRpcChannelBuffer,
12835     PRPC_MESSAGE _pRpcMessage,
12836     DWORD *_pdwStubPhase);
12837 
12838 
12839 
12840 #endif 	/* __ISpeechAudioBufferInfo_INTERFACE_DEFINED__ */
12841 
12842 
12843 #ifndef __ISpeechAudioStatus_INTERFACE_DEFINED__
12844 #define __ISpeechAudioStatus_INTERFACE_DEFINED__
12845 
12846 /* interface ISpeechAudioStatus */
12847 /* [unique][helpstring][dual][uuid][object] */
12848 
12849 
12850 EXTERN_C const IID IID_ISpeechAudioStatus;
12851 
12852 #if defined(__cplusplus) && !defined(CINTERFACE)
12853 
12854     MIDL_INTERFACE("C62D9C91-7458-47f6-862D-1EF86FB0B278")
12855     ISpeechAudioStatus : public IDispatch
12856     {
12857     public:
12858         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FreeBufferSpace(
12859             /* [retval][out] */ long *FreeBufferSpace) = 0;
12860 
12861         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NonBlockingIO(
12862             /* [retval][out] */ long *NonBlockingIO) = 0;
12863 
12864         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State(
12865             /* [retval][out] */ SpeechAudioState *State) = 0;
12866 
12867         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentSeekPosition(
12868             /* [retval][out] */ VARIANT *CurrentSeekPosition) = 0;
12869 
12870         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentDevicePosition(
12871             /* [retval][out] */ VARIANT *CurrentDevicePosition) = 0;
12872 
12873     };
12874 
12875 #else 	/* C style interface */
12876 
12877     typedef struct ISpeechAudioStatusVtbl
12878     {
12879         BEGIN_INTERFACE
12880 
12881         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
12882             ISpeechAudioStatus * This,
12883             /* [in] */ REFIID riid,
12884             /* [iid_is][out] */ void **ppvObject);
12885 
12886         ULONG ( STDMETHODCALLTYPE *AddRef )(
12887             ISpeechAudioStatus * This);
12888 
12889         ULONG ( STDMETHODCALLTYPE *Release )(
12890             ISpeechAudioStatus * This);
12891 
12892         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
12893             ISpeechAudioStatus * This,
12894             /* [out] */ UINT *pctinfo);
12895 
12896         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
12897             ISpeechAudioStatus * This,
12898             /* [in] */ UINT iTInfo,
12899             /* [in] */ LCID lcid,
12900             /* [out] */ ITypeInfo **ppTInfo);
12901 
12902         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
12903             ISpeechAudioStatus * This,
12904             /* [in] */ REFIID riid,
12905             /* [size_is][in] */ LPOLESTR *rgszNames,
12906             /* [in] */ UINT cNames,
12907             /* [in] */ LCID lcid,
12908             /* [size_is][out] */ DISPID *rgDispId);
12909 
12910         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
12911             ISpeechAudioStatus * This,
12912             /* [in] */ DISPID dispIdMember,
12913             /* [in] */ REFIID riid,
12914             /* [in] */ LCID lcid,
12915             /* [in] */ WORD wFlags,
12916             /* [out][in] */ DISPPARAMS *pDispParams,
12917             /* [out] */ VARIANT *pVarResult,
12918             /* [out] */ EXCEPINFO *pExcepInfo,
12919             /* [out] */ UINT *puArgErr);
12920 
12921         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeBufferSpace )(
12922             ISpeechAudioStatus * This,
12923             /* [retval][out] */ long *FreeBufferSpace);
12924 
12925         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NonBlockingIO )(
12926             ISpeechAudioStatus * This,
12927             /* [retval][out] */ long *NonBlockingIO);
12928 
12929         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )(
12930             ISpeechAudioStatus * This,
12931             /* [retval][out] */ SpeechAudioState *State);
12932 
12933         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentSeekPosition )(
12934             ISpeechAudioStatus * This,
12935             /* [retval][out] */ VARIANT *CurrentSeekPosition);
12936 
12937         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentDevicePosition )(
12938             ISpeechAudioStatus * This,
12939             /* [retval][out] */ VARIANT *CurrentDevicePosition);
12940 
12941         END_INTERFACE
12942     } ISpeechAudioStatusVtbl;
12943 
12944     interface ISpeechAudioStatus
12945     {
12946         CONST_VTBL struct ISpeechAudioStatusVtbl *lpVtbl;
12947     };
12948 
12949 
12950 
12951 #ifdef COBJMACROS
12952 
12953 
12954 #define ISpeechAudioStatus_QueryInterface(This,riid,ppvObject)	\
12955     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
12956 
12957 #define ISpeechAudioStatus_AddRef(This)	\
12958     (This)->lpVtbl -> AddRef(This)
12959 
12960 #define ISpeechAudioStatus_Release(This)	\
12961     (This)->lpVtbl -> Release(This)
12962 
12963 
12964 #define ISpeechAudioStatus_GetTypeInfoCount(This,pctinfo)	\
12965     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
12966 
12967 #define ISpeechAudioStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
12968     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
12969 
12970 #define ISpeechAudioStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
12971     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
12972 
12973 #define ISpeechAudioStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
12974     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
12975 
12976 
12977 #define ISpeechAudioStatus_get_FreeBufferSpace(This,FreeBufferSpace)	\
12978     (This)->lpVtbl -> get_FreeBufferSpace(This,FreeBufferSpace)
12979 
12980 #define ISpeechAudioStatus_get_NonBlockingIO(This,NonBlockingIO)	\
12981     (This)->lpVtbl -> get_NonBlockingIO(This,NonBlockingIO)
12982 
12983 #define ISpeechAudioStatus_get_State(This,State)	\
12984     (This)->lpVtbl -> get_State(This,State)
12985 
12986 #define ISpeechAudioStatus_get_CurrentSeekPosition(This,CurrentSeekPosition)	\
12987     (This)->lpVtbl -> get_CurrentSeekPosition(This,CurrentSeekPosition)
12988 
12989 #define ISpeechAudioStatus_get_CurrentDevicePosition(This,CurrentDevicePosition)	\
12990     (This)->lpVtbl -> get_CurrentDevicePosition(This,CurrentDevicePosition)
12991 
12992 #endif /* COBJMACROS */
12993 
12994 
12995 #endif 	/* C style interface */
12996 
12997 
12998 
12999 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_FreeBufferSpace_Proxy(
13000     ISpeechAudioStatus * This,
13001     /* [retval][out] */ long *FreeBufferSpace);
13002 
13003 
13004 void __RPC_STUB ISpeechAudioStatus_get_FreeBufferSpace_Stub(
13005     IRpcStubBuffer *This,
13006     IRpcChannelBuffer *_pRpcChannelBuffer,
13007     PRPC_MESSAGE _pRpcMessage,
13008     DWORD *_pdwStubPhase);
13009 
13010 
13011 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_NonBlockingIO_Proxy(
13012     ISpeechAudioStatus * This,
13013     /* [retval][out] */ long *NonBlockingIO);
13014 
13015 
13016 void __RPC_STUB ISpeechAudioStatus_get_NonBlockingIO_Stub(
13017     IRpcStubBuffer *This,
13018     IRpcChannelBuffer *_pRpcChannelBuffer,
13019     PRPC_MESSAGE _pRpcMessage,
13020     DWORD *_pdwStubPhase);
13021 
13022 
13023 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_State_Proxy(
13024     ISpeechAudioStatus * This,
13025     /* [retval][out] */ SpeechAudioState *State);
13026 
13027 
13028 void __RPC_STUB ISpeechAudioStatus_get_State_Stub(
13029     IRpcStubBuffer *This,
13030     IRpcChannelBuffer *_pRpcChannelBuffer,
13031     PRPC_MESSAGE _pRpcMessage,
13032     DWORD *_pdwStubPhase);
13033 
13034 
13035 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_CurrentSeekPosition_Proxy(
13036     ISpeechAudioStatus * This,
13037     /* [retval][out] */ VARIANT *CurrentSeekPosition);
13038 
13039 
13040 void __RPC_STUB ISpeechAudioStatus_get_CurrentSeekPosition_Stub(
13041     IRpcStubBuffer *This,
13042     IRpcChannelBuffer *_pRpcChannelBuffer,
13043     PRPC_MESSAGE _pRpcMessage,
13044     DWORD *_pdwStubPhase);
13045 
13046 
13047 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_CurrentDevicePosition_Proxy(
13048     ISpeechAudioStatus * This,
13049     /* [retval][out] */ VARIANT *CurrentDevicePosition);
13050 
13051 
13052 void __RPC_STUB ISpeechAudioStatus_get_CurrentDevicePosition_Stub(
13053     IRpcStubBuffer *This,
13054     IRpcChannelBuffer *_pRpcChannelBuffer,
13055     PRPC_MESSAGE _pRpcMessage,
13056     DWORD *_pdwStubPhase);
13057 
13058 
13059 
13060 #endif 	/* __ISpeechAudioStatus_INTERFACE_DEFINED__ */
13061 
13062 
13063 #ifndef __ISpeechAudioFormat_INTERFACE_DEFINED__
13064 #define __ISpeechAudioFormat_INTERFACE_DEFINED__
13065 
13066 /* interface ISpeechAudioFormat */
13067 /* [unique][helpstring][dual][uuid][object] */
13068 
13069 
13070 EXTERN_C const IID IID_ISpeechAudioFormat;
13071 
13072 #if defined(__cplusplus) && !defined(CINTERFACE)
13073 
13074     MIDL_INTERFACE("E6E9C590-3E18-40e3-8299-061F98BDE7C7")
13075     ISpeechAudioFormat : public IDispatch
13076     {
13077     public:
13078         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type(
13079             /* [retval][out] */ SpeechAudioFormatType *AudioFormat) = 0;
13080 
13081         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Type(
13082             /* [in] */ SpeechAudioFormatType AudioFormat) = 0;
13083 
13084         virtual /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Guid(
13085             /* [retval][out] */ BSTR *Guid) = 0;
13086 
13087         virtual /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_Guid(
13088             /* [in] */ BSTR Guid) = 0;
13089 
13090         virtual /* [id][helpstring][hidden] */ HRESULT STDMETHODCALLTYPE GetWaveFormatEx(
13091             /* [retval][out] */ ISpeechWaveFormatEx **WaveFormatEx) = 0;
13092 
13093         virtual /* [id][helpstring][hidden] */ HRESULT STDMETHODCALLTYPE SetWaveFormatEx(
13094             /* [in] */ ISpeechWaveFormatEx *WaveFormatEx) = 0;
13095 
13096     };
13097 
13098 #else 	/* C style interface */
13099 
13100     typedef struct ISpeechAudioFormatVtbl
13101     {
13102         BEGIN_INTERFACE
13103 
13104         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13105             ISpeechAudioFormat * This,
13106             /* [in] */ REFIID riid,
13107             /* [iid_is][out] */ void **ppvObject);
13108 
13109         ULONG ( STDMETHODCALLTYPE *AddRef )(
13110             ISpeechAudioFormat * This);
13111 
13112         ULONG ( STDMETHODCALLTYPE *Release )(
13113             ISpeechAudioFormat * This);
13114 
13115         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
13116             ISpeechAudioFormat * This,
13117             /* [out] */ UINT *pctinfo);
13118 
13119         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
13120             ISpeechAudioFormat * This,
13121             /* [in] */ UINT iTInfo,
13122             /* [in] */ LCID lcid,
13123             /* [out] */ ITypeInfo **ppTInfo);
13124 
13125         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
13126             ISpeechAudioFormat * This,
13127             /* [in] */ REFIID riid,
13128             /* [size_is][in] */ LPOLESTR *rgszNames,
13129             /* [in] */ UINT cNames,
13130             /* [in] */ LCID lcid,
13131             /* [size_is][out] */ DISPID *rgDispId);
13132 
13133         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
13134             ISpeechAudioFormat * This,
13135             /* [in] */ DISPID dispIdMember,
13136             /* [in] */ REFIID riid,
13137             /* [in] */ LCID lcid,
13138             /* [in] */ WORD wFlags,
13139             /* [out][in] */ DISPPARAMS *pDispParams,
13140             /* [out] */ VARIANT *pVarResult,
13141             /* [out] */ EXCEPINFO *pExcepInfo,
13142             /* [out] */ UINT *puArgErr);
13143 
13144         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
13145             ISpeechAudioFormat * This,
13146             /* [retval][out] */ SpeechAudioFormatType *AudioFormat);
13147 
13148         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )(
13149             ISpeechAudioFormat * This,
13150             /* [in] */ SpeechAudioFormatType AudioFormat);
13151 
13152         /* [id][helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Guid )(
13153             ISpeechAudioFormat * This,
13154             /* [retval][out] */ BSTR *Guid);
13155 
13156         /* [id][helpstring][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Guid )(
13157             ISpeechAudioFormat * This,
13158             /* [in] */ BSTR Guid);
13159 
13160         /* [id][helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *GetWaveFormatEx )(
13161             ISpeechAudioFormat * This,
13162             /* [retval][out] */ ISpeechWaveFormatEx **WaveFormatEx);
13163 
13164         /* [id][helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *SetWaveFormatEx )(
13165             ISpeechAudioFormat * This,
13166             /* [in] */ ISpeechWaveFormatEx *WaveFormatEx);
13167 
13168         END_INTERFACE
13169     } ISpeechAudioFormatVtbl;
13170 
13171     interface ISpeechAudioFormat
13172     {
13173         CONST_VTBL struct ISpeechAudioFormatVtbl *lpVtbl;
13174     };
13175 
13176 
13177 
13178 #ifdef COBJMACROS
13179 
13180 
13181 #define ISpeechAudioFormat_QueryInterface(This,riid,ppvObject)	\
13182     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
13183 
13184 #define ISpeechAudioFormat_AddRef(This)	\
13185     (This)->lpVtbl -> AddRef(This)
13186 
13187 #define ISpeechAudioFormat_Release(This)	\
13188     (This)->lpVtbl -> Release(This)
13189 
13190 
13191 #define ISpeechAudioFormat_GetTypeInfoCount(This,pctinfo)	\
13192     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
13193 
13194 #define ISpeechAudioFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
13195     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
13196 
13197 #define ISpeechAudioFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
13198     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
13199 
13200 #define ISpeechAudioFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
13201     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
13202 
13203 
13204 #define ISpeechAudioFormat_get_Type(This,AudioFormat)	\
13205     (This)->lpVtbl -> get_Type(This,AudioFormat)
13206 
13207 #define ISpeechAudioFormat_put_Type(This,AudioFormat)	\
13208     (This)->lpVtbl -> put_Type(This,AudioFormat)
13209 
13210 #define ISpeechAudioFormat_get_Guid(This,Guid)	\
13211     (This)->lpVtbl -> get_Guid(This,Guid)
13212 
13213 #define ISpeechAudioFormat_put_Guid(This,Guid)	\
13214     (This)->lpVtbl -> put_Guid(This,Guid)
13215 
13216 #define ISpeechAudioFormat_GetWaveFormatEx(This,WaveFormatEx)	\
13217     (This)->lpVtbl -> GetWaveFormatEx(This,WaveFormatEx)
13218 
13219 #define ISpeechAudioFormat_SetWaveFormatEx(This,WaveFormatEx)	\
13220     (This)->lpVtbl -> SetWaveFormatEx(This,WaveFormatEx)
13221 
13222 #endif /* COBJMACROS */
13223 
13224 
13225 #endif 	/* C style interface */
13226 
13227 
13228 
13229 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_get_Type_Proxy(
13230     ISpeechAudioFormat * This,
13231     /* [retval][out] */ SpeechAudioFormatType *AudioFormat);
13232 
13233 
13234 void __RPC_STUB ISpeechAudioFormat_get_Type_Stub(
13235     IRpcStubBuffer *This,
13236     IRpcChannelBuffer *_pRpcChannelBuffer,
13237     PRPC_MESSAGE _pRpcMessage,
13238     DWORD *_pdwStubPhase);
13239 
13240 
13241 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_put_Type_Proxy(
13242     ISpeechAudioFormat * This,
13243     /* [in] */ SpeechAudioFormatType AudioFormat);
13244 
13245 
13246 void __RPC_STUB ISpeechAudioFormat_put_Type_Stub(
13247     IRpcStubBuffer *This,
13248     IRpcChannelBuffer *_pRpcChannelBuffer,
13249     PRPC_MESSAGE _pRpcMessage,
13250     DWORD *_pdwStubPhase);
13251 
13252 
13253 /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_get_Guid_Proxy(
13254     ISpeechAudioFormat * This,
13255     /* [retval][out] */ BSTR *Guid);
13256 
13257 
13258 void __RPC_STUB ISpeechAudioFormat_get_Guid_Stub(
13259     IRpcStubBuffer *This,
13260     IRpcChannelBuffer *_pRpcChannelBuffer,
13261     PRPC_MESSAGE _pRpcMessage,
13262     DWORD *_pdwStubPhase);
13263 
13264 
13265 /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_put_Guid_Proxy(
13266     ISpeechAudioFormat * This,
13267     /* [in] */ BSTR Guid);
13268 
13269 
13270 void __RPC_STUB ISpeechAudioFormat_put_Guid_Stub(
13271     IRpcStubBuffer *This,
13272     IRpcChannelBuffer *_pRpcChannelBuffer,
13273     PRPC_MESSAGE _pRpcMessage,
13274     DWORD *_pdwStubPhase);
13275 
13276 
13277 /* [id][helpstring][hidden] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_GetWaveFormatEx_Proxy(
13278     ISpeechAudioFormat * This,
13279     /* [retval][out] */ ISpeechWaveFormatEx **WaveFormatEx);
13280 
13281 
13282 void __RPC_STUB ISpeechAudioFormat_GetWaveFormatEx_Stub(
13283     IRpcStubBuffer *This,
13284     IRpcChannelBuffer *_pRpcChannelBuffer,
13285     PRPC_MESSAGE _pRpcMessage,
13286     DWORD *_pdwStubPhase);
13287 
13288 
13289 /* [id][helpstring][hidden] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_SetWaveFormatEx_Proxy(
13290     ISpeechAudioFormat * This,
13291     /* [in] */ ISpeechWaveFormatEx *WaveFormatEx);
13292 
13293 
13294 void __RPC_STUB ISpeechAudioFormat_SetWaveFormatEx_Stub(
13295     IRpcStubBuffer *This,
13296     IRpcChannelBuffer *_pRpcChannelBuffer,
13297     PRPC_MESSAGE _pRpcMessage,
13298     DWORD *_pdwStubPhase);
13299 
13300 
13301 
13302 #endif 	/* __ISpeechAudioFormat_INTERFACE_DEFINED__ */
13303 
13304 
13305 #ifndef __ISpeechWaveFormatEx_INTERFACE_DEFINED__
13306 #define __ISpeechWaveFormatEx_INTERFACE_DEFINED__
13307 
13308 /* interface ISpeechWaveFormatEx */
13309 /* [unique][helpstring][dual][uuid][object] */
13310 
13311 
13312 EXTERN_C const IID IID_ISpeechWaveFormatEx;
13313 
13314 #if defined(__cplusplus) && !defined(CINTERFACE)
13315 
13316     MIDL_INTERFACE("7A1EF0D5-1581-4741-88E4-209A49F11A10")
13317     ISpeechWaveFormatEx : public IDispatch
13318     {
13319     public:
13320         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FormatTag(
13321             /* [retval][out] */ short *FormatTag) = 0;
13322 
13323         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FormatTag(
13324             /* [in] */ short FormatTag) = 0;
13325 
13326         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Channels(
13327             /* [retval][out] */ short *Channels) = 0;
13328 
13329         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Channels(
13330             /* [in] */ short Channels) = 0;
13331 
13332         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SamplesPerSec(
13333             /* [retval][out] */ long *SamplesPerSec) = 0;
13334 
13335         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SamplesPerSec(
13336             /* [in] */ long SamplesPerSec) = 0;
13337 
13338         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AvgBytesPerSec(
13339             /* [retval][out] */ long *AvgBytesPerSec) = 0;
13340 
13341         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AvgBytesPerSec(
13342             /* [in] */ long AvgBytesPerSec) = 0;
13343 
13344         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BlockAlign(
13345             /* [retval][out] */ short *BlockAlign) = 0;
13346 
13347         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BlockAlign(
13348             /* [in] */ short BlockAlign) = 0;
13349 
13350         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BitsPerSample(
13351             /* [retval][out] */ short *BitsPerSample) = 0;
13352 
13353         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BitsPerSample(
13354             /* [in] */ short BitsPerSample) = 0;
13355 
13356         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtraData(
13357             /* [retval][out] */ VARIANT *ExtraData) = 0;
13358 
13359         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ExtraData(
13360             /* [in] */ VARIANT ExtraData) = 0;
13361 
13362     };
13363 
13364 #else 	/* C style interface */
13365 
13366     typedef struct ISpeechWaveFormatExVtbl
13367     {
13368         BEGIN_INTERFACE
13369 
13370         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13371             ISpeechWaveFormatEx * This,
13372             /* [in] */ REFIID riid,
13373             /* [iid_is][out] */ void **ppvObject);
13374 
13375         ULONG ( STDMETHODCALLTYPE *AddRef )(
13376             ISpeechWaveFormatEx * This);
13377 
13378         ULONG ( STDMETHODCALLTYPE *Release )(
13379             ISpeechWaveFormatEx * This);
13380 
13381         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
13382             ISpeechWaveFormatEx * This,
13383             /* [out] */ UINT *pctinfo);
13384 
13385         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
13386             ISpeechWaveFormatEx * This,
13387             /* [in] */ UINT iTInfo,
13388             /* [in] */ LCID lcid,
13389             /* [out] */ ITypeInfo **ppTInfo);
13390 
13391         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
13392             ISpeechWaveFormatEx * This,
13393             /* [in] */ REFIID riid,
13394             /* [size_is][in] */ LPOLESTR *rgszNames,
13395             /* [in] */ UINT cNames,
13396             /* [in] */ LCID lcid,
13397             /* [size_is][out] */ DISPID *rgDispId);
13398 
13399         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
13400             ISpeechWaveFormatEx * This,
13401             /* [in] */ DISPID dispIdMember,
13402             /* [in] */ REFIID riid,
13403             /* [in] */ LCID lcid,
13404             /* [in] */ WORD wFlags,
13405             /* [out][in] */ DISPPARAMS *pDispParams,
13406             /* [out] */ VARIANT *pVarResult,
13407             /* [out] */ EXCEPINFO *pExcepInfo,
13408             /* [out] */ UINT *puArgErr);
13409 
13410         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FormatTag )(
13411             ISpeechWaveFormatEx * This,
13412             /* [retval][out] */ short *FormatTag);
13413 
13414         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FormatTag )(
13415             ISpeechWaveFormatEx * This,
13416             /* [in] */ short FormatTag);
13417 
13418         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Channels )(
13419             ISpeechWaveFormatEx * This,
13420             /* [retval][out] */ short *Channels);
13421 
13422         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Channels )(
13423             ISpeechWaveFormatEx * This,
13424             /* [in] */ short Channels);
13425 
13426         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SamplesPerSec )(
13427             ISpeechWaveFormatEx * This,
13428             /* [retval][out] */ long *SamplesPerSec);
13429 
13430         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SamplesPerSec )(
13431             ISpeechWaveFormatEx * This,
13432             /* [in] */ long SamplesPerSec);
13433 
13434         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AvgBytesPerSec )(
13435             ISpeechWaveFormatEx * This,
13436             /* [retval][out] */ long *AvgBytesPerSec);
13437 
13438         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AvgBytesPerSec )(
13439             ISpeechWaveFormatEx * This,
13440             /* [in] */ long AvgBytesPerSec);
13441 
13442         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockAlign )(
13443             ISpeechWaveFormatEx * This,
13444             /* [retval][out] */ short *BlockAlign);
13445 
13446         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockAlign )(
13447             ISpeechWaveFormatEx * This,
13448             /* [in] */ short BlockAlign);
13449 
13450         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitsPerSample )(
13451             ISpeechWaveFormatEx * This,
13452             /* [retval][out] */ short *BitsPerSample);
13453 
13454         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BitsPerSample )(
13455             ISpeechWaveFormatEx * This,
13456             /* [in] */ short BitsPerSample);
13457 
13458         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtraData )(
13459             ISpeechWaveFormatEx * This,
13460             /* [retval][out] */ VARIANT *ExtraData);
13461 
13462         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtraData )(
13463             ISpeechWaveFormatEx * This,
13464             /* [in] */ VARIANT ExtraData);
13465 
13466         END_INTERFACE
13467     } ISpeechWaveFormatExVtbl;
13468 
13469     interface ISpeechWaveFormatEx
13470     {
13471         CONST_VTBL struct ISpeechWaveFormatExVtbl *lpVtbl;
13472     };
13473 
13474 
13475 
13476 #ifdef COBJMACROS
13477 
13478 
13479 #define ISpeechWaveFormatEx_QueryInterface(This,riid,ppvObject)	\
13480     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
13481 
13482 #define ISpeechWaveFormatEx_AddRef(This)	\
13483     (This)->lpVtbl -> AddRef(This)
13484 
13485 #define ISpeechWaveFormatEx_Release(This)	\
13486     (This)->lpVtbl -> Release(This)
13487 
13488 
13489 #define ISpeechWaveFormatEx_GetTypeInfoCount(This,pctinfo)	\
13490     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
13491 
13492 #define ISpeechWaveFormatEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
13493     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
13494 
13495 #define ISpeechWaveFormatEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
13496     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
13497 
13498 #define ISpeechWaveFormatEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
13499     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
13500 
13501 
13502 #define ISpeechWaveFormatEx_get_FormatTag(This,FormatTag)	\
13503     (This)->lpVtbl -> get_FormatTag(This,FormatTag)
13504 
13505 #define ISpeechWaveFormatEx_put_FormatTag(This,FormatTag)	\
13506     (This)->lpVtbl -> put_FormatTag(This,FormatTag)
13507 
13508 #define ISpeechWaveFormatEx_get_Channels(This,Channels)	\
13509     (This)->lpVtbl -> get_Channels(This,Channels)
13510 
13511 #define ISpeechWaveFormatEx_put_Channels(This,Channels)	\
13512     (This)->lpVtbl -> put_Channels(This,Channels)
13513 
13514 #define ISpeechWaveFormatEx_get_SamplesPerSec(This,SamplesPerSec)	\
13515     (This)->lpVtbl -> get_SamplesPerSec(This,SamplesPerSec)
13516 
13517 #define ISpeechWaveFormatEx_put_SamplesPerSec(This,SamplesPerSec)	\
13518     (This)->lpVtbl -> put_SamplesPerSec(This,SamplesPerSec)
13519 
13520 #define ISpeechWaveFormatEx_get_AvgBytesPerSec(This,AvgBytesPerSec)	\
13521     (This)->lpVtbl -> get_AvgBytesPerSec(This,AvgBytesPerSec)
13522 
13523 #define ISpeechWaveFormatEx_put_AvgBytesPerSec(This,AvgBytesPerSec)	\
13524     (This)->lpVtbl -> put_AvgBytesPerSec(This,AvgBytesPerSec)
13525 
13526 #define ISpeechWaveFormatEx_get_BlockAlign(This,BlockAlign)	\
13527     (This)->lpVtbl -> get_BlockAlign(This,BlockAlign)
13528 
13529 #define ISpeechWaveFormatEx_put_BlockAlign(This,BlockAlign)	\
13530     (This)->lpVtbl -> put_BlockAlign(This,BlockAlign)
13531 
13532 #define ISpeechWaveFormatEx_get_BitsPerSample(This,BitsPerSample)	\
13533     (This)->lpVtbl -> get_BitsPerSample(This,BitsPerSample)
13534 
13535 #define ISpeechWaveFormatEx_put_BitsPerSample(This,BitsPerSample)	\
13536     (This)->lpVtbl -> put_BitsPerSample(This,BitsPerSample)
13537 
13538 #define ISpeechWaveFormatEx_get_ExtraData(This,ExtraData)	\
13539     (This)->lpVtbl -> get_ExtraData(This,ExtraData)
13540 
13541 #define ISpeechWaveFormatEx_put_ExtraData(This,ExtraData)	\
13542     (This)->lpVtbl -> put_ExtraData(This,ExtraData)
13543 
13544 #endif /* COBJMACROS */
13545 
13546 
13547 #endif 	/* C style interface */
13548 
13549 
13550 
13551 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_FormatTag_Proxy(
13552     ISpeechWaveFormatEx * This,
13553     /* [retval][out] */ short *FormatTag);
13554 
13555 
13556 void __RPC_STUB ISpeechWaveFormatEx_get_FormatTag_Stub(
13557     IRpcStubBuffer *This,
13558     IRpcChannelBuffer *_pRpcChannelBuffer,
13559     PRPC_MESSAGE _pRpcMessage,
13560     DWORD *_pdwStubPhase);
13561 
13562 
13563 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_FormatTag_Proxy(
13564     ISpeechWaveFormatEx * This,
13565     /* [in] */ short FormatTag);
13566 
13567 
13568 void __RPC_STUB ISpeechWaveFormatEx_put_FormatTag_Stub(
13569     IRpcStubBuffer *This,
13570     IRpcChannelBuffer *_pRpcChannelBuffer,
13571     PRPC_MESSAGE _pRpcMessage,
13572     DWORD *_pdwStubPhase);
13573 
13574 
13575 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_Channels_Proxy(
13576     ISpeechWaveFormatEx * This,
13577     /* [retval][out] */ short *Channels);
13578 
13579 
13580 void __RPC_STUB ISpeechWaveFormatEx_get_Channels_Stub(
13581     IRpcStubBuffer *This,
13582     IRpcChannelBuffer *_pRpcChannelBuffer,
13583     PRPC_MESSAGE _pRpcMessage,
13584     DWORD *_pdwStubPhase);
13585 
13586 
13587 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_Channels_Proxy(
13588     ISpeechWaveFormatEx * This,
13589     /* [in] */ short Channels);
13590 
13591 
13592 void __RPC_STUB ISpeechWaveFormatEx_put_Channels_Stub(
13593     IRpcStubBuffer *This,
13594     IRpcChannelBuffer *_pRpcChannelBuffer,
13595     PRPC_MESSAGE _pRpcMessage,
13596     DWORD *_pdwStubPhase);
13597 
13598 
13599 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_SamplesPerSec_Proxy(
13600     ISpeechWaveFormatEx * This,
13601     /* [retval][out] */ long *SamplesPerSec);
13602 
13603 
13604 void __RPC_STUB ISpeechWaveFormatEx_get_SamplesPerSec_Stub(
13605     IRpcStubBuffer *This,
13606     IRpcChannelBuffer *_pRpcChannelBuffer,
13607     PRPC_MESSAGE _pRpcMessage,
13608     DWORD *_pdwStubPhase);
13609 
13610 
13611 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_SamplesPerSec_Proxy(
13612     ISpeechWaveFormatEx * This,
13613     /* [in] */ long SamplesPerSec);
13614 
13615 
13616 void __RPC_STUB ISpeechWaveFormatEx_put_SamplesPerSec_Stub(
13617     IRpcStubBuffer *This,
13618     IRpcChannelBuffer *_pRpcChannelBuffer,
13619     PRPC_MESSAGE _pRpcMessage,
13620     DWORD *_pdwStubPhase);
13621 
13622 
13623 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_AvgBytesPerSec_Proxy(
13624     ISpeechWaveFormatEx * This,
13625     /* [retval][out] */ long *AvgBytesPerSec);
13626 
13627 
13628 void __RPC_STUB ISpeechWaveFormatEx_get_AvgBytesPerSec_Stub(
13629     IRpcStubBuffer *This,
13630     IRpcChannelBuffer *_pRpcChannelBuffer,
13631     PRPC_MESSAGE _pRpcMessage,
13632     DWORD *_pdwStubPhase);
13633 
13634 
13635 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_AvgBytesPerSec_Proxy(
13636     ISpeechWaveFormatEx * This,
13637     /* [in] */ long AvgBytesPerSec);
13638 
13639 
13640 void __RPC_STUB ISpeechWaveFormatEx_put_AvgBytesPerSec_Stub(
13641     IRpcStubBuffer *This,
13642     IRpcChannelBuffer *_pRpcChannelBuffer,
13643     PRPC_MESSAGE _pRpcMessage,
13644     DWORD *_pdwStubPhase);
13645 
13646 
13647 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_BlockAlign_Proxy(
13648     ISpeechWaveFormatEx * This,
13649     /* [retval][out] */ short *BlockAlign);
13650 
13651 
13652 void __RPC_STUB ISpeechWaveFormatEx_get_BlockAlign_Stub(
13653     IRpcStubBuffer *This,
13654     IRpcChannelBuffer *_pRpcChannelBuffer,
13655     PRPC_MESSAGE _pRpcMessage,
13656     DWORD *_pdwStubPhase);
13657 
13658 
13659 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_BlockAlign_Proxy(
13660     ISpeechWaveFormatEx * This,
13661     /* [in] */ short BlockAlign);
13662 
13663 
13664 void __RPC_STUB ISpeechWaveFormatEx_put_BlockAlign_Stub(
13665     IRpcStubBuffer *This,
13666     IRpcChannelBuffer *_pRpcChannelBuffer,
13667     PRPC_MESSAGE _pRpcMessage,
13668     DWORD *_pdwStubPhase);
13669 
13670 
13671 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_BitsPerSample_Proxy(
13672     ISpeechWaveFormatEx * This,
13673     /* [retval][out] */ short *BitsPerSample);
13674 
13675 
13676 void __RPC_STUB ISpeechWaveFormatEx_get_BitsPerSample_Stub(
13677     IRpcStubBuffer *This,
13678     IRpcChannelBuffer *_pRpcChannelBuffer,
13679     PRPC_MESSAGE _pRpcMessage,
13680     DWORD *_pdwStubPhase);
13681 
13682 
13683 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_BitsPerSample_Proxy(
13684     ISpeechWaveFormatEx * This,
13685     /* [in] */ short BitsPerSample);
13686 
13687 
13688 void __RPC_STUB ISpeechWaveFormatEx_put_BitsPerSample_Stub(
13689     IRpcStubBuffer *This,
13690     IRpcChannelBuffer *_pRpcChannelBuffer,
13691     PRPC_MESSAGE _pRpcMessage,
13692     DWORD *_pdwStubPhase);
13693 
13694 
13695 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_ExtraData_Proxy(
13696     ISpeechWaveFormatEx * This,
13697     /* [retval][out] */ VARIANT *ExtraData);
13698 
13699 
13700 void __RPC_STUB ISpeechWaveFormatEx_get_ExtraData_Stub(
13701     IRpcStubBuffer *This,
13702     IRpcChannelBuffer *_pRpcChannelBuffer,
13703     PRPC_MESSAGE _pRpcMessage,
13704     DWORD *_pdwStubPhase);
13705 
13706 
13707 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_ExtraData_Proxy(
13708     ISpeechWaveFormatEx * This,
13709     /* [in] */ VARIANT ExtraData);
13710 
13711 
13712 void __RPC_STUB ISpeechWaveFormatEx_put_ExtraData_Stub(
13713     IRpcStubBuffer *This,
13714     IRpcChannelBuffer *_pRpcChannelBuffer,
13715     PRPC_MESSAGE _pRpcMessage,
13716     DWORD *_pdwStubPhase);
13717 
13718 
13719 
13720 #endif 	/* __ISpeechWaveFormatEx_INTERFACE_DEFINED__ */
13721 
13722 
13723 #ifndef __ISpeechBaseStream_INTERFACE_DEFINED__
13724 #define __ISpeechBaseStream_INTERFACE_DEFINED__
13725 
13726 /* interface ISpeechBaseStream */
13727 /* [unique][helpstring][dual][uuid][object] */
13728 
13729 
13730 EXTERN_C const IID IID_ISpeechBaseStream;
13731 
13732 #if defined(__cplusplus) && !defined(CINTERFACE)
13733 
13734     MIDL_INTERFACE("6450336F-7D49-4ced-8097-49D6DEE37294")
13735     ISpeechBaseStream : public IDispatch
13736     {
13737     public:
13738         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format(
13739             /* [retval][out] */ ISpeechAudioFormat **AudioFormat) = 0;
13740 
13741         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_Format(
13742             /* [in] */ ISpeechAudioFormat *AudioFormat) = 0;
13743 
13744         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Read(
13745             /* [out] */ VARIANT *Buffer,
13746             /* [in] */ long NumberOfBytes,
13747             /* [retval][out] */ long *BytesRead) = 0;
13748 
13749         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Write(
13750             /* [in] */ VARIANT Buffer,
13751             /* [retval][out] */ long *BytesWritten) = 0;
13752 
13753         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Seek(
13754             /* [in] */ VARIANT Position,
13755             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
13756             /* [retval][out] */ VARIANT *NewPosition) = 0;
13757 
13758     };
13759 
13760 #else 	/* C style interface */
13761 
13762     typedef struct ISpeechBaseStreamVtbl
13763     {
13764         BEGIN_INTERFACE
13765 
13766         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13767             ISpeechBaseStream * This,
13768             /* [in] */ REFIID riid,
13769             /* [iid_is][out] */ void **ppvObject);
13770 
13771         ULONG ( STDMETHODCALLTYPE *AddRef )(
13772             ISpeechBaseStream * This);
13773 
13774         ULONG ( STDMETHODCALLTYPE *Release )(
13775             ISpeechBaseStream * This);
13776 
13777         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
13778             ISpeechBaseStream * This,
13779             /* [out] */ UINT *pctinfo);
13780 
13781         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
13782             ISpeechBaseStream * This,
13783             /* [in] */ UINT iTInfo,
13784             /* [in] */ LCID lcid,
13785             /* [out] */ ITypeInfo **ppTInfo);
13786 
13787         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
13788             ISpeechBaseStream * This,
13789             /* [in] */ REFIID riid,
13790             /* [size_is][in] */ LPOLESTR *rgszNames,
13791             /* [in] */ UINT cNames,
13792             /* [in] */ LCID lcid,
13793             /* [size_is][out] */ DISPID *rgDispId);
13794 
13795         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
13796             ISpeechBaseStream * This,
13797             /* [in] */ DISPID dispIdMember,
13798             /* [in] */ REFIID riid,
13799             /* [in] */ LCID lcid,
13800             /* [in] */ WORD wFlags,
13801             /* [out][in] */ DISPPARAMS *pDispParams,
13802             /* [out] */ VARIANT *pVarResult,
13803             /* [out] */ EXCEPINFO *pExcepInfo,
13804             /* [out] */ UINT *puArgErr);
13805 
13806         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )(
13807             ISpeechBaseStream * This,
13808             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
13809 
13810         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )(
13811             ISpeechBaseStream * This,
13812             /* [in] */ ISpeechAudioFormat *AudioFormat);
13813 
13814         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
13815             ISpeechBaseStream * This,
13816             /* [out] */ VARIANT *Buffer,
13817             /* [in] */ long NumberOfBytes,
13818             /* [retval][out] */ long *BytesRead);
13819 
13820         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )(
13821             ISpeechBaseStream * This,
13822             /* [in] */ VARIANT Buffer,
13823             /* [retval][out] */ long *BytesWritten);
13824 
13825         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
13826             ISpeechBaseStream * This,
13827             /* [in] */ VARIANT Position,
13828             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
13829             /* [retval][out] */ VARIANT *NewPosition);
13830 
13831         END_INTERFACE
13832     } ISpeechBaseStreamVtbl;
13833 
13834     interface ISpeechBaseStream
13835     {
13836         CONST_VTBL struct ISpeechBaseStreamVtbl *lpVtbl;
13837     };
13838 
13839 
13840 
13841 #ifdef COBJMACROS
13842 
13843 
13844 #define ISpeechBaseStream_QueryInterface(This,riid,ppvObject)	\
13845     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
13846 
13847 #define ISpeechBaseStream_AddRef(This)	\
13848     (This)->lpVtbl -> AddRef(This)
13849 
13850 #define ISpeechBaseStream_Release(This)	\
13851     (This)->lpVtbl -> Release(This)
13852 
13853 
13854 #define ISpeechBaseStream_GetTypeInfoCount(This,pctinfo)	\
13855     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
13856 
13857 #define ISpeechBaseStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
13858     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
13859 
13860 #define ISpeechBaseStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
13861     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
13862 
13863 #define ISpeechBaseStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
13864     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
13865 
13866 
13867 #define ISpeechBaseStream_get_Format(This,AudioFormat)	\
13868     (This)->lpVtbl -> get_Format(This,AudioFormat)
13869 
13870 #define ISpeechBaseStream_putref_Format(This,AudioFormat)	\
13871     (This)->lpVtbl -> putref_Format(This,AudioFormat)
13872 
13873 #define ISpeechBaseStream_Read(This,Buffer,NumberOfBytes,BytesRead)	\
13874     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
13875 
13876 #define ISpeechBaseStream_Write(This,Buffer,BytesWritten)	\
13877     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
13878 
13879 #define ISpeechBaseStream_Seek(This,Position,Origin,NewPosition)	\
13880     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
13881 
13882 #endif /* COBJMACROS */
13883 
13884 
13885 #endif 	/* C style interface */
13886 
13887 
13888 
13889 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_get_Format_Proxy(
13890     ISpeechBaseStream * This,
13891     /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
13892 
13893 
13894 void __RPC_STUB ISpeechBaseStream_get_Format_Stub(
13895     IRpcStubBuffer *This,
13896     IRpcChannelBuffer *_pRpcChannelBuffer,
13897     PRPC_MESSAGE _pRpcMessage,
13898     DWORD *_pdwStubPhase);
13899 
13900 
13901 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_putref_Format_Proxy(
13902     ISpeechBaseStream * This,
13903     /* [in] */ ISpeechAudioFormat *AudioFormat);
13904 
13905 
13906 void __RPC_STUB ISpeechBaseStream_putref_Format_Stub(
13907     IRpcStubBuffer *This,
13908     IRpcChannelBuffer *_pRpcChannelBuffer,
13909     PRPC_MESSAGE _pRpcMessage,
13910     DWORD *_pdwStubPhase);
13911 
13912 
13913 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Read_Proxy(
13914     ISpeechBaseStream * This,
13915     /* [out] */ VARIANT *Buffer,
13916     /* [in] */ long NumberOfBytes,
13917     /* [retval][out] */ long *BytesRead);
13918 
13919 
13920 void __RPC_STUB ISpeechBaseStream_Read_Stub(
13921     IRpcStubBuffer *This,
13922     IRpcChannelBuffer *_pRpcChannelBuffer,
13923     PRPC_MESSAGE _pRpcMessage,
13924     DWORD *_pdwStubPhase);
13925 
13926 
13927 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Write_Proxy(
13928     ISpeechBaseStream * This,
13929     /* [in] */ VARIANT Buffer,
13930     /* [retval][out] */ long *BytesWritten);
13931 
13932 
13933 void __RPC_STUB ISpeechBaseStream_Write_Stub(
13934     IRpcStubBuffer *This,
13935     IRpcChannelBuffer *_pRpcChannelBuffer,
13936     PRPC_MESSAGE _pRpcMessage,
13937     DWORD *_pdwStubPhase);
13938 
13939 
13940 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Seek_Proxy(
13941     ISpeechBaseStream * This,
13942     /* [in] */ VARIANT Position,
13943     /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
13944     /* [retval][out] */ VARIANT *NewPosition);
13945 
13946 
13947 void __RPC_STUB ISpeechBaseStream_Seek_Stub(
13948     IRpcStubBuffer *This,
13949     IRpcChannelBuffer *_pRpcChannelBuffer,
13950     PRPC_MESSAGE _pRpcMessage,
13951     DWORD *_pdwStubPhase);
13952 
13953 
13954 
13955 #endif 	/* __ISpeechBaseStream_INTERFACE_DEFINED__ */
13956 
13957 
13958 #ifndef __ISpeechFileStream_INTERFACE_DEFINED__
13959 #define __ISpeechFileStream_INTERFACE_DEFINED__
13960 
13961 /* interface ISpeechFileStream */
13962 /* [unique][helpstring][dual][uuid][object] */
13963 
13964 
13965 EXTERN_C const IID IID_ISpeechFileStream;
13966 
13967 #if defined(__cplusplus) && !defined(CINTERFACE)
13968 
13969     MIDL_INTERFACE("AF67F125-AB39-4e93-B4A2-CC2E66E182A7")
13970     ISpeechFileStream : public ISpeechBaseStream
13971     {
13972     public:
13973         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Open(
13974             /* [in] */ BSTR FileName,
13975             /* [defaultvalue][in] */ SpeechStreamFileMode FileMode = SSFMOpenForRead,
13976             /* [defaultvalue][in] */ VARIANT_BOOL DoEvents = 0) = 0;
13977 
13978         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
13979 
13980     };
13981 
13982 #else 	/* C style interface */
13983 
13984     typedef struct ISpeechFileStreamVtbl
13985     {
13986         BEGIN_INTERFACE
13987 
13988         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
13989             ISpeechFileStream * This,
13990             /* [in] */ REFIID riid,
13991             /* [iid_is][out] */ void **ppvObject);
13992 
13993         ULONG ( STDMETHODCALLTYPE *AddRef )(
13994             ISpeechFileStream * This);
13995 
13996         ULONG ( STDMETHODCALLTYPE *Release )(
13997             ISpeechFileStream * This);
13998 
13999         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
14000             ISpeechFileStream * This,
14001             /* [out] */ UINT *pctinfo);
14002 
14003         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
14004             ISpeechFileStream * This,
14005             /* [in] */ UINT iTInfo,
14006             /* [in] */ LCID lcid,
14007             /* [out] */ ITypeInfo **ppTInfo);
14008 
14009         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
14010             ISpeechFileStream * This,
14011             /* [in] */ REFIID riid,
14012             /* [size_is][in] */ LPOLESTR *rgszNames,
14013             /* [in] */ UINT cNames,
14014             /* [in] */ LCID lcid,
14015             /* [size_is][out] */ DISPID *rgDispId);
14016 
14017         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
14018             ISpeechFileStream * This,
14019             /* [in] */ DISPID dispIdMember,
14020             /* [in] */ REFIID riid,
14021             /* [in] */ LCID lcid,
14022             /* [in] */ WORD wFlags,
14023             /* [out][in] */ DISPPARAMS *pDispParams,
14024             /* [out] */ VARIANT *pVarResult,
14025             /* [out] */ EXCEPINFO *pExcepInfo,
14026             /* [out] */ UINT *puArgErr);
14027 
14028         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )(
14029             ISpeechFileStream * This,
14030             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
14031 
14032         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )(
14033             ISpeechFileStream * This,
14034             /* [in] */ ISpeechAudioFormat *AudioFormat);
14035 
14036         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
14037             ISpeechFileStream * This,
14038             /* [out] */ VARIANT *Buffer,
14039             /* [in] */ long NumberOfBytes,
14040             /* [retval][out] */ long *BytesRead);
14041 
14042         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )(
14043             ISpeechFileStream * This,
14044             /* [in] */ VARIANT Buffer,
14045             /* [retval][out] */ long *BytesWritten);
14046 
14047         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
14048             ISpeechFileStream * This,
14049             /* [in] */ VARIANT Position,
14050             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
14051             /* [retval][out] */ VARIANT *NewPosition);
14052 
14053         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )(
14054             ISpeechFileStream * This,
14055             /* [in] */ BSTR FileName,
14056             /* [defaultvalue][in] */ SpeechStreamFileMode FileMode,
14057             /* [defaultvalue][in] */ VARIANT_BOOL DoEvents);
14058 
14059         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )(
14060             ISpeechFileStream * This);
14061 
14062         END_INTERFACE
14063     } ISpeechFileStreamVtbl;
14064 
14065     interface ISpeechFileStream
14066     {
14067         CONST_VTBL struct ISpeechFileStreamVtbl *lpVtbl;
14068     };
14069 
14070 
14071 
14072 #ifdef COBJMACROS
14073 
14074 
14075 #define ISpeechFileStream_QueryInterface(This,riid,ppvObject)	\
14076     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
14077 
14078 #define ISpeechFileStream_AddRef(This)	\
14079     (This)->lpVtbl -> AddRef(This)
14080 
14081 #define ISpeechFileStream_Release(This)	\
14082     (This)->lpVtbl -> Release(This)
14083 
14084 
14085 #define ISpeechFileStream_GetTypeInfoCount(This,pctinfo)	\
14086     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
14087 
14088 #define ISpeechFileStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
14089     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
14090 
14091 #define ISpeechFileStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
14092     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
14093 
14094 #define ISpeechFileStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
14095     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
14096 
14097 
14098 #define ISpeechFileStream_get_Format(This,AudioFormat)	\
14099     (This)->lpVtbl -> get_Format(This,AudioFormat)
14100 
14101 #define ISpeechFileStream_putref_Format(This,AudioFormat)	\
14102     (This)->lpVtbl -> putref_Format(This,AudioFormat)
14103 
14104 #define ISpeechFileStream_Read(This,Buffer,NumberOfBytes,BytesRead)	\
14105     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
14106 
14107 #define ISpeechFileStream_Write(This,Buffer,BytesWritten)	\
14108     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
14109 
14110 #define ISpeechFileStream_Seek(This,Position,Origin,NewPosition)	\
14111     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
14112 
14113 
14114 #define ISpeechFileStream_Open(This,FileName,FileMode,DoEvents)	\
14115     (This)->lpVtbl -> Open(This,FileName,FileMode,DoEvents)
14116 
14117 #define ISpeechFileStream_Close(This)	\
14118     (This)->lpVtbl -> Close(This)
14119 
14120 #endif /* COBJMACROS */
14121 
14122 
14123 #endif 	/* C style interface */
14124 
14125 
14126 
14127 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechFileStream_Open_Proxy(
14128     ISpeechFileStream * This,
14129     /* [in] */ BSTR FileName,
14130     /* [defaultvalue][in] */ SpeechStreamFileMode FileMode,
14131     /* [defaultvalue][in] */ VARIANT_BOOL DoEvents);
14132 
14133 
14134 void __RPC_STUB ISpeechFileStream_Open_Stub(
14135     IRpcStubBuffer *This,
14136     IRpcChannelBuffer *_pRpcChannelBuffer,
14137     PRPC_MESSAGE _pRpcMessage,
14138     DWORD *_pdwStubPhase);
14139 
14140 
14141 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechFileStream_Close_Proxy(
14142     ISpeechFileStream * This);
14143 
14144 
14145 void __RPC_STUB ISpeechFileStream_Close_Stub(
14146     IRpcStubBuffer *This,
14147     IRpcChannelBuffer *_pRpcChannelBuffer,
14148     PRPC_MESSAGE _pRpcMessage,
14149     DWORD *_pdwStubPhase);
14150 
14151 
14152 
14153 #endif 	/* __ISpeechFileStream_INTERFACE_DEFINED__ */
14154 
14155 
14156 #ifndef __ISpeechMemoryStream_INTERFACE_DEFINED__
14157 #define __ISpeechMemoryStream_INTERFACE_DEFINED__
14158 
14159 /* interface ISpeechMemoryStream */
14160 /* [unique][helpstring][dual][uuid][object] */
14161 
14162 
14163 EXTERN_C const IID IID_ISpeechMemoryStream;
14164 
14165 #if defined(__cplusplus) && !defined(CINTERFACE)
14166 
14167     MIDL_INTERFACE("EEB14B68-808B-4abe-A5EA-B51DA7588008")
14168     ISpeechMemoryStream : public ISpeechBaseStream
14169     {
14170     public:
14171         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetData(
14172             /* [in] */ VARIANT Data) = 0;
14173 
14174         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetData(
14175             /* [retval][out] */ VARIANT *pData) = 0;
14176 
14177     };
14178 
14179 #else 	/* C style interface */
14180 
14181     typedef struct ISpeechMemoryStreamVtbl
14182     {
14183         BEGIN_INTERFACE
14184 
14185         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
14186             ISpeechMemoryStream * This,
14187             /* [in] */ REFIID riid,
14188             /* [iid_is][out] */ void **ppvObject);
14189 
14190         ULONG ( STDMETHODCALLTYPE *AddRef )(
14191             ISpeechMemoryStream * This);
14192 
14193         ULONG ( STDMETHODCALLTYPE *Release )(
14194             ISpeechMemoryStream * This);
14195 
14196         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
14197             ISpeechMemoryStream * This,
14198             /* [out] */ UINT *pctinfo);
14199 
14200         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
14201             ISpeechMemoryStream * This,
14202             /* [in] */ UINT iTInfo,
14203             /* [in] */ LCID lcid,
14204             /* [out] */ ITypeInfo **ppTInfo);
14205 
14206         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
14207             ISpeechMemoryStream * This,
14208             /* [in] */ REFIID riid,
14209             /* [size_is][in] */ LPOLESTR *rgszNames,
14210             /* [in] */ UINT cNames,
14211             /* [in] */ LCID lcid,
14212             /* [size_is][out] */ DISPID *rgDispId);
14213 
14214         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
14215             ISpeechMemoryStream * This,
14216             /* [in] */ DISPID dispIdMember,
14217             /* [in] */ REFIID riid,
14218             /* [in] */ LCID lcid,
14219             /* [in] */ WORD wFlags,
14220             /* [out][in] */ DISPPARAMS *pDispParams,
14221             /* [out] */ VARIANT *pVarResult,
14222             /* [out] */ EXCEPINFO *pExcepInfo,
14223             /* [out] */ UINT *puArgErr);
14224 
14225         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )(
14226             ISpeechMemoryStream * This,
14227             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
14228 
14229         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )(
14230             ISpeechMemoryStream * This,
14231             /* [in] */ ISpeechAudioFormat *AudioFormat);
14232 
14233         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
14234             ISpeechMemoryStream * This,
14235             /* [out] */ VARIANT *Buffer,
14236             /* [in] */ long NumberOfBytes,
14237             /* [retval][out] */ long *BytesRead);
14238 
14239         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )(
14240             ISpeechMemoryStream * This,
14241             /* [in] */ VARIANT Buffer,
14242             /* [retval][out] */ long *BytesWritten);
14243 
14244         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
14245             ISpeechMemoryStream * This,
14246             /* [in] */ VARIANT Position,
14247             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
14248             /* [retval][out] */ VARIANT *NewPosition);
14249 
14250         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )(
14251             ISpeechMemoryStream * This,
14252             /* [in] */ VARIANT Data);
14253 
14254         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )(
14255             ISpeechMemoryStream * This,
14256             /* [retval][out] */ VARIANT *pData);
14257 
14258         END_INTERFACE
14259     } ISpeechMemoryStreamVtbl;
14260 
14261     interface ISpeechMemoryStream
14262     {
14263         CONST_VTBL struct ISpeechMemoryStreamVtbl *lpVtbl;
14264     };
14265 
14266 
14267 
14268 #ifdef COBJMACROS
14269 
14270 
14271 #define ISpeechMemoryStream_QueryInterface(This,riid,ppvObject)	\
14272     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
14273 
14274 #define ISpeechMemoryStream_AddRef(This)	\
14275     (This)->lpVtbl -> AddRef(This)
14276 
14277 #define ISpeechMemoryStream_Release(This)	\
14278     (This)->lpVtbl -> Release(This)
14279 
14280 
14281 #define ISpeechMemoryStream_GetTypeInfoCount(This,pctinfo)	\
14282     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
14283 
14284 #define ISpeechMemoryStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
14285     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
14286 
14287 #define ISpeechMemoryStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
14288     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
14289 
14290 #define ISpeechMemoryStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
14291     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
14292 
14293 
14294 #define ISpeechMemoryStream_get_Format(This,AudioFormat)	\
14295     (This)->lpVtbl -> get_Format(This,AudioFormat)
14296 
14297 #define ISpeechMemoryStream_putref_Format(This,AudioFormat)	\
14298     (This)->lpVtbl -> putref_Format(This,AudioFormat)
14299 
14300 #define ISpeechMemoryStream_Read(This,Buffer,NumberOfBytes,BytesRead)	\
14301     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
14302 
14303 #define ISpeechMemoryStream_Write(This,Buffer,BytesWritten)	\
14304     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
14305 
14306 #define ISpeechMemoryStream_Seek(This,Position,Origin,NewPosition)	\
14307     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
14308 
14309 
14310 #define ISpeechMemoryStream_SetData(This,Data)	\
14311     (This)->lpVtbl -> SetData(This,Data)
14312 
14313 #define ISpeechMemoryStream_GetData(This,pData)	\
14314     (This)->lpVtbl -> GetData(This,pData)
14315 
14316 #endif /* COBJMACROS */
14317 
14318 
14319 #endif 	/* C style interface */
14320 
14321 
14322 
14323 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechMemoryStream_SetData_Proxy(
14324     ISpeechMemoryStream * This,
14325     /* [in] */ VARIANT Data);
14326 
14327 
14328 void __RPC_STUB ISpeechMemoryStream_SetData_Stub(
14329     IRpcStubBuffer *This,
14330     IRpcChannelBuffer *_pRpcChannelBuffer,
14331     PRPC_MESSAGE _pRpcMessage,
14332     DWORD *_pdwStubPhase);
14333 
14334 
14335 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechMemoryStream_GetData_Proxy(
14336     ISpeechMemoryStream * This,
14337     /* [retval][out] */ VARIANT *pData);
14338 
14339 
14340 void __RPC_STUB ISpeechMemoryStream_GetData_Stub(
14341     IRpcStubBuffer *This,
14342     IRpcChannelBuffer *_pRpcChannelBuffer,
14343     PRPC_MESSAGE _pRpcMessage,
14344     DWORD *_pdwStubPhase);
14345 
14346 
14347 
14348 #endif 	/* __ISpeechMemoryStream_INTERFACE_DEFINED__ */
14349 
14350 
14351 #ifndef __ISpeechCustomStream_INTERFACE_DEFINED__
14352 #define __ISpeechCustomStream_INTERFACE_DEFINED__
14353 
14354 /* interface ISpeechCustomStream */
14355 /* [unique][helpstring][dual][uuid][object] */
14356 
14357 
14358 EXTERN_C const IID IID_ISpeechCustomStream;
14359 
14360 #if defined(__cplusplus) && !defined(CINTERFACE)
14361 
14362     MIDL_INTERFACE("1A9E9F4F-104F-4db8-A115-EFD7FD0C97AE")
14363     ISpeechCustomStream : public ISpeechBaseStream
14364     {
14365     public:
14366         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BaseStream(
14367             /* [retval][out] */ IUnknown **ppUnkStream) = 0;
14368 
14369         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_BaseStream(
14370             /* [in] */ IUnknown *pUnkStream) = 0;
14371 
14372     };
14373 
14374 #else 	/* C style interface */
14375 
14376     typedef struct ISpeechCustomStreamVtbl
14377     {
14378         BEGIN_INTERFACE
14379 
14380         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
14381             ISpeechCustomStream * This,
14382             /* [in] */ REFIID riid,
14383             /* [iid_is][out] */ void **ppvObject);
14384 
14385         ULONG ( STDMETHODCALLTYPE *AddRef )(
14386             ISpeechCustomStream * This);
14387 
14388         ULONG ( STDMETHODCALLTYPE *Release )(
14389             ISpeechCustomStream * This);
14390 
14391         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
14392             ISpeechCustomStream * This,
14393             /* [out] */ UINT *pctinfo);
14394 
14395         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
14396             ISpeechCustomStream * This,
14397             /* [in] */ UINT iTInfo,
14398             /* [in] */ LCID lcid,
14399             /* [out] */ ITypeInfo **ppTInfo);
14400 
14401         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
14402             ISpeechCustomStream * This,
14403             /* [in] */ REFIID riid,
14404             /* [size_is][in] */ LPOLESTR *rgszNames,
14405             /* [in] */ UINT cNames,
14406             /* [in] */ LCID lcid,
14407             /* [size_is][out] */ DISPID *rgDispId);
14408 
14409         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
14410             ISpeechCustomStream * This,
14411             /* [in] */ DISPID dispIdMember,
14412             /* [in] */ REFIID riid,
14413             /* [in] */ LCID lcid,
14414             /* [in] */ WORD wFlags,
14415             /* [out][in] */ DISPPARAMS *pDispParams,
14416             /* [out] */ VARIANT *pVarResult,
14417             /* [out] */ EXCEPINFO *pExcepInfo,
14418             /* [out] */ UINT *puArgErr);
14419 
14420         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )(
14421             ISpeechCustomStream * This,
14422             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
14423 
14424         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )(
14425             ISpeechCustomStream * This,
14426             /* [in] */ ISpeechAudioFormat *AudioFormat);
14427 
14428         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
14429             ISpeechCustomStream * This,
14430             /* [out] */ VARIANT *Buffer,
14431             /* [in] */ long NumberOfBytes,
14432             /* [retval][out] */ long *BytesRead);
14433 
14434         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )(
14435             ISpeechCustomStream * This,
14436             /* [in] */ VARIANT Buffer,
14437             /* [retval][out] */ long *BytesWritten);
14438 
14439         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
14440             ISpeechCustomStream * This,
14441             /* [in] */ VARIANT Position,
14442             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
14443             /* [retval][out] */ VARIANT *NewPosition);
14444 
14445         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseStream )(
14446             ISpeechCustomStream * This,
14447             /* [retval][out] */ IUnknown **ppUnkStream);
14448 
14449         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_BaseStream )(
14450             ISpeechCustomStream * This,
14451             /* [in] */ IUnknown *pUnkStream);
14452 
14453         END_INTERFACE
14454     } ISpeechCustomStreamVtbl;
14455 
14456     interface ISpeechCustomStream
14457     {
14458         CONST_VTBL struct ISpeechCustomStreamVtbl *lpVtbl;
14459     };
14460 
14461 
14462 
14463 #ifdef COBJMACROS
14464 
14465 
14466 #define ISpeechCustomStream_QueryInterface(This,riid,ppvObject)	\
14467     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
14468 
14469 #define ISpeechCustomStream_AddRef(This)	\
14470     (This)->lpVtbl -> AddRef(This)
14471 
14472 #define ISpeechCustomStream_Release(This)	\
14473     (This)->lpVtbl -> Release(This)
14474 
14475 
14476 #define ISpeechCustomStream_GetTypeInfoCount(This,pctinfo)	\
14477     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
14478 
14479 #define ISpeechCustomStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
14480     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
14481 
14482 #define ISpeechCustomStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
14483     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
14484 
14485 #define ISpeechCustomStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
14486     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
14487 
14488 
14489 #define ISpeechCustomStream_get_Format(This,AudioFormat)	\
14490     (This)->lpVtbl -> get_Format(This,AudioFormat)
14491 
14492 #define ISpeechCustomStream_putref_Format(This,AudioFormat)	\
14493     (This)->lpVtbl -> putref_Format(This,AudioFormat)
14494 
14495 #define ISpeechCustomStream_Read(This,Buffer,NumberOfBytes,BytesRead)	\
14496     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
14497 
14498 #define ISpeechCustomStream_Write(This,Buffer,BytesWritten)	\
14499     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
14500 
14501 #define ISpeechCustomStream_Seek(This,Position,Origin,NewPosition)	\
14502     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
14503 
14504 
14505 #define ISpeechCustomStream_get_BaseStream(This,ppUnkStream)	\
14506     (This)->lpVtbl -> get_BaseStream(This,ppUnkStream)
14507 
14508 #define ISpeechCustomStream_putref_BaseStream(This,pUnkStream)	\
14509     (This)->lpVtbl -> putref_BaseStream(This,pUnkStream)
14510 
14511 #endif /* COBJMACROS */
14512 
14513 
14514 #endif 	/* C style interface */
14515 
14516 
14517 
14518 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechCustomStream_get_BaseStream_Proxy(
14519     ISpeechCustomStream * This,
14520     /* [retval][out] */ IUnknown **ppUnkStream);
14521 
14522 
14523 void __RPC_STUB ISpeechCustomStream_get_BaseStream_Stub(
14524     IRpcStubBuffer *This,
14525     IRpcChannelBuffer *_pRpcChannelBuffer,
14526     PRPC_MESSAGE _pRpcMessage,
14527     DWORD *_pdwStubPhase);
14528 
14529 
14530 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechCustomStream_putref_BaseStream_Proxy(
14531     ISpeechCustomStream * This,
14532     /* [in] */ IUnknown *pUnkStream);
14533 
14534 
14535 void __RPC_STUB ISpeechCustomStream_putref_BaseStream_Stub(
14536     IRpcStubBuffer *This,
14537     IRpcChannelBuffer *_pRpcChannelBuffer,
14538     PRPC_MESSAGE _pRpcMessage,
14539     DWORD *_pdwStubPhase);
14540 
14541 
14542 
14543 #endif 	/* __ISpeechCustomStream_INTERFACE_DEFINED__ */
14544 
14545 
14546 #ifndef __ISpeechAudio_INTERFACE_DEFINED__
14547 #define __ISpeechAudio_INTERFACE_DEFINED__
14548 
14549 /* interface ISpeechAudio */
14550 /* [unique][helpstring][dual][uuid][object] */
14551 
14552 
14553 EXTERN_C const IID IID_ISpeechAudio;
14554 
14555 #if defined(__cplusplus) && !defined(CINTERFACE)
14556 
14557     MIDL_INTERFACE("CFF8E175-019E-11d3-A08E-00C04F8EF9B5")
14558     ISpeechAudio : public ISpeechBaseStream
14559     {
14560     public:
14561         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Status(
14562             /* [retval][out] */ ISpeechAudioStatus **Status) = 0;
14563 
14564         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BufferInfo(
14565             /* [retval][out] */ ISpeechAudioBufferInfo **BufferInfo) = 0;
14566 
14567         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultFormat(
14568             /* [retval][out] */ ISpeechAudioFormat **StreamFormat) = 0;
14569 
14570         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Volume(
14571             /* [retval][out] */ long *Volume) = 0;
14572 
14573         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Volume(
14574             /* [in] */ long Volume) = 0;
14575 
14576         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BufferNotifySize(
14577             /* [retval][out] */ long *BufferNotifySize) = 0;
14578 
14579         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BufferNotifySize(
14580             /* [in] */ long BufferNotifySize) = 0;
14581 
14582         virtual /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_EventHandle(
14583             /* [retval][out] */ long *EventHandle) = 0;
14584 
14585         virtual /* [hidden][id][helpstring] */ HRESULT STDMETHODCALLTYPE SetState(
14586             /* [in] */ SpeechAudioState State) = 0;
14587 
14588     };
14589 
14590 #else 	/* C style interface */
14591 
14592     typedef struct ISpeechAudioVtbl
14593     {
14594         BEGIN_INTERFACE
14595 
14596         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
14597             ISpeechAudio * This,
14598             /* [in] */ REFIID riid,
14599             /* [iid_is][out] */ void **ppvObject);
14600 
14601         ULONG ( STDMETHODCALLTYPE *AddRef )(
14602             ISpeechAudio * This);
14603 
14604         ULONG ( STDMETHODCALLTYPE *Release )(
14605             ISpeechAudio * This);
14606 
14607         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
14608             ISpeechAudio * This,
14609             /* [out] */ UINT *pctinfo);
14610 
14611         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
14612             ISpeechAudio * This,
14613             /* [in] */ UINT iTInfo,
14614             /* [in] */ LCID lcid,
14615             /* [out] */ ITypeInfo **ppTInfo);
14616 
14617         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
14618             ISpeechAudio * This,
14619             /* [in] */ REFIID riid,
14620             /* [size_is][in] */ LPOLESTR *rgszNames,
14621             /* [in] */ UINT cNames,
14622             /* [in] */ LCID lcid,
14623             /* [size_is][out] */ DISPID *rgDispId);
14624 
14625         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
14626             ISpeechAudio * This,
14627             /* [in] */ DISPID dispIdMember,
14628             /* [in] */ REFIID riid,
14629             /* [in] */ LCID lcid,
14630             /* [in] */ WORD wFlags,
14631             /* [out][in] */ DISPPARAMS *pDispParams,
14632             /* [out] */ VARIANT *pVarResult,
14633             /* [out] */ EXCEPINFO *pExcepInfo,
14634             /* [out] */ UINT *puArgErr);
14635 
14636         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )(
14637             ISpeechAudio * This,
14638             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
14639 
14640         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )(
14641             ISpeechAudio * This,
14642             /* [in] */ ISpeechAudioFormat *AudioFormat);
14643 
14644         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
14645             ISpeechAudio * This,
14646             /* [out] */ VARIANT *Buffer,
14647             /* [in] */ long NumberOfBytes,
14648             /* [retval][out] */ long *BytesRead);
14649 
14650         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )(
14651             ISpeechAudio * This,
14652             /* [in] */ VARIANT Buffer,
14653             /* [retval][out] */ long *BytesWritten);
14654 
14655         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
14656             ISpeechAudio * This,
14657             /* [in] */ VARIANT Position,
14658             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
14659             /* [retval][out] */ VARIANT *NewPosition);
14660 
14661         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )(
14662             ISpeechAudio * This,
14663             /* [retval][out] */ ISpeechAudioStatus **Status);
14664 
14665         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BufferInfo )(
14666             ISpeechAudio * This,
14667             /* [retval][out] */ ISpeechAudioBufferInfo **BufferInfo);
14668 
14669         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultFormat )(
14670             ISpeechAudio * This,
14671             /* [retval][out] */ ISpeechAudioFormat **StreamFormat);
14672 
14673         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )(
14674             ISpeechAudio * This,
14675             /* [retval][out] */ long *Volume);
14676 
14677         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )(
14678             ISpeechAudio * This,
14679             /* [in] */ long Volume);
14680 
14681         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BufferNotifySize )(
14682             ISpeechAudio * This,
14683             /* [retval][out] */ long *BufferNotifySize);
14684 
14685         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BufferNotifySize )(
14686             ISpeechAudio * This,
14687             /* [in] */ long BufferNotifySize);
14688 
14689         /* [id][helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventHandle )(
14690             ISpeechAudio * This,
14691             /* [retval][out] */ long *EventHandle);
14692 
14693         /* [hidden][id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetState )(
14694             ISpeechAudio * This,
14695             /* [in] */ SpeechAudioState State);
14696 
14697         END_INTERFACE
14698     } ISpeechAudioVtbl;
14699 
14700     interface ISpeechAudio
14701     {
14702         CONST_VTBL struct ISpeechAudioVtbl *lpVtbl;
14703     };
14704 
14705 
14706 
14707 #ifdef COBJMACROS
14708 
14709 
14710 #define ISpeechAudio_QueryInterface(This,riid,ppvObject)	\
14711     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
14712 
14713 #define ISpeechAudio_AddRef(This)	\
14714     (This)->lpVtbl -> AddRef(This)
14715 
14716 #define ISpeechAudio_Release(This)	\
14717     (This)->lpVtbl -> Release(This)
14718 
14719 
14720 #define ISpeechAudio_GetTypeInfoCount(This,pctinfo)	\
14721     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
14722 
14723 #define ISpeechAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
14724     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
14725 
14726 #define ISpeechAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
14727     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
14728 
14729 #define ISpeechAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
14730     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
14731 
14732 
14733 #define ISpeechAudio_get_Format(This,AudioFormat)	\
14734     (This)->lpVtbl -> get_Format(This,AudioFormat)
14735 
14736 #define ISpeechAudio_putref_Format(This,AudioFormat)	\
14737     (This)->lpVtbl -> putref_Format(This,AudioFormat)
14738 
14739 #define ISpeechAudio_Read(This,Buffer,NumberOfBytes,BytesRead)	\
14740     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
14741 
14742 #define ISpeechAudio_Write(This,Buffer,BytesWritten)	\
14743     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
14744 
14745 #define ISpeechAudio_Seek(This,Position,Origin,NewPosition)	\
14746     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
14747 
14748 
14749 #define ISpeechAudio_get_Status(This,Status)	\
14750     (This)->lpVtbl -> get_Status(This,Status)
14751 
14752 #define ISpeechAudio_get_BufferInfo(This,BufferInfo)	\
14753     (This)->lpVtbl -> get_BufferInfo(This,BufferInfo)
14754 
14755 #define ISpeechAudio_get_DefaultFormat(This,StreamFormat)	\
14756     (This)->lpVtbl -> get_DefaultFormat(This,StreamFormat)
14757 
14758 #define ISpeechAudio_get_Volume(This,Volume)	\
14759     (This)->lpVtbl -> get_Volume(This,Volume)
14760 
14761 #define ISpeechAudio_put_Volume(This,Volume)	\
14762     (This)->lpVtbl -> put_Volume(This,Volume)
14763 
14764 #define ISpeechAudio_get_BufferNotifySize(This,BufferNotifySize)	\
14765     (This)->lpVtbl -> get_BufferNotifySize(This,BufferNotifySize)
14766 
14767 #define ISpeechAudio_put_BufferNotifySize(This,BufferNotifySize)	\
14768     (This)->lpVtbl -> put_BufferNotifySize(This,BufferNotifySize)
14769 
14770 #define ISpeechAudio_get_EventHandle(This,EventHandle)	\
14771     (This)->lpVtbl -> get_EventHandle(This,EventHandle)
14772 
14773 #define ISpeechAudio_SetState(This,State)	\
14774     (This)->lpVtbl -> SetState(This,State)
14775 
14776 #endif /* COBJMACROS */
14777 
14778 
14779 #endif 	/* C style interface */
14780 
14781 
14782 
14783 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_get_Status_Proxy(
14784     ISpeechAudio * This,
14785     /* [retval][out] */ ISpeechAudioStatus **Status);
14786 
14787 
14788 void __RPC_STUB ISpeechAudio_get_Status_Stub(
14789     IRpcStubBuffer *This,
14790     IRpcChannelBuffer *_pRpcChannelBuffer,
14791     PRPC_MESSAGE _pRpcMessage,
14792     DWORD *_pdwStubPhase);
14793 
14794 
14795 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_get_BufferInfo_Proxy(
14796     ISpeechAudio * This,
14797     /* [retval][out] */ ISpeechAudioBufferInfo **BufferInfo);
14798 
14799 
14800 void __RPC_STUB ISpeechAudio_get_BufferInfo_Stub(
14801     IRpcStubBuffer *This,
14802     IRpcChannelBuffer *_pRpcChannelBuffer,
14803     PRPC_MESSAGE _pRpcMessage,
14804     DWORD *_pdwStubPhase);
14805 
14806 
14807 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_get_DefaultFormat_Proxy(
14808     ISpeechAudio * This,
14809     /* [retval][out] */ ISpeechAudioFormat **StreamFormat);
14810 
14811 
14812 void __RPC_STUB ISpeechAudio_get_DefaultFormat_Stub(
14813     IRpcStubBuffer *This,
14814     IRpcChannelBuffer *_pRpcChannelBuffer,
14815     PRPC_MESSAGE _pRpcMessage,
14816     DWORD *_pdwStubPhase);
14817 
14818 
14819 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_get_Volume_Proxy(
14820     ISpeechAudio * This,
14821     /* [retval][out] */ long *Volume);
14822 
14823 
14824 void __RPC_STUB ISpeechAudio_get_Volume_Stub(
14825     IRpcStubBuffer *This,
14826     IRpcChannelBuffer *_pRpcChannelBuffer,
14827     PRPC_MESSAGE _pRpcMessage,
14828     DWORD *_pdwStubPhase);
14829 
14830 
14831 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_put_Volume_Proxy(
14832     ISpeechAudio * This,
14833     /* [in] */ long Volume);
14834 
14835 
14836 void __RPC_STUB ISpeechAudio_put_Volume_Stub(
14837     IRpcStubBuffer *This,
14838     IRpcChannelBuffer *_pRpcChannelBuffer,
14839     PRPC_MESSAGE _pRpcMessage,
14840     DWORD *_pdwStubPhase);
14841 
14842 
14843 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_get_BufferNotifySize_Proxy(
14844     ISpeechAudio * This,
14845     /* [retval][out] */ long *BufferNotifySize);
14846 
14847 
14848 void __RPC_STUB ISpeechAudio_get_BufferNotifySize_Stub(
14849     IRpcStubBuffer *This,
14850     IRpcChannelBuffer *_pRpcChannelBuffer,
14851     PRPC_MESSAGE _pRpcMessage,
14852     DWORD *_pdwStubPhase);
14853 
14854 
14855 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_put_BufferNotifySize_Proxy(
14856     ISpeechAudio * This,
14857     /* [in] */ long BufferNotifySize);
14858 
14859 
14860 void __RPC_STUB ISpeechAudio_put_BufferNotifySize_Stub(
14861     IRpcStubBuffer *This,
14862     IRpcChannelBuffer *_pRpcChannelBuffer,
14863     PRPC_MESSAGE _pRpcMessage,
14864     DWORD *_pdwStubPhase);
14865 
14866 
14867 /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_get_EventHandle_Proxy(
14868     ISpeechAudio * This,
14869     /* [retval][out] */ long *EventHandle);
14870 
14871 
14872 void __RPC_STUB ISpeechAudio_get_EventHandle_Stub(
14873     IRpcStubBuffer *This,
14874     IRpcChannelBuffer *_pRpcChannelBuffer,
14875     PRPC_MESSAGE _pRpcMessage,
14876     DWORD *_pdwStubPhase);
14877 
14878 
14879 /* [hidden][id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechAudio_SetState_Proxy(
14880     ISpeechAudio * This,
14881     /* [in] */ SpeechAudioState State);
14882 
14883 
14884 void __RPC_STUB ISpeechAudio_SetState_Stub(
14885     IRpcStubBuffer *This,
14886     IRpcChannelBuffer *_pRpcChannelBuffer,
14887     PRPC_MESSAGE _pRpcMessage,
14888     DWORD *_pdwStubPhase);
14889 
14890 
14891 
14892 #endif 	/* __ISpeechAudio_INTERFACE_DEFINED__ */
14893 
14894 
14895 #ifndef __ISpeechMMSysAudio_INTERFACE_DEFINED__
14896 #define __ISpeechMMSysAudio_INTERFACE_DEFINED__
14897 
14898 /* interface ISpeechMMSysAudio */
14899 /* [unique][helpstring][dual][uuid][object] */
14900 
14901 
14902 EXTERN_C const IID IID_ISpeechMMSysAudio;
14903 
14904 #if defined(__cplusplus) && !defined(CINTERFACE)
14905 
14906     MIDL_INTERFACE("3C76AF6D-1FD7-4831-81D1-3B71D5A13C44")
14907     ISpeechMMSysAudio : public ISpeechAudio
14908     {
14909     public:
14910         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DeviceId(
14911             /* [retval][out] */ long *DeviceId) = 0;
14912 
14913         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DeviceId(
14914             /* [in] */ long DeviceId) = 0;
14915 
14916         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LineId(
14917             /* [retval][out] */ long *LineId) = 0;
14918 
14919         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LineId(
14920             /* [in] */ long LineId) = 0;
14921 
14922         virtual /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_MMHandle(
14923             /* [retval][out] */ long *Handle) = 0;
14924 
14925     };
14926 
14927 #else 	/* C style interface */
14928 
14929     typedef struct ISpeechMMSysAudioVtbl
14930     {
14931         BEGIN_INTERFACE
14932 
14933         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
14934             ISpeechMMSysAudio * This,
14935             /* [in] */ REFIID riid,
14936             /* [iid_is][out] */ void **ppvObject);
14937 
14938         ULONG ( STDMETHODCALLTYPE *AddRef )(
14939             ISpeechMMSysAudio * This);
14940 
14941         ULONG ( STDMETHODCALLTYPE *Release )(
14942             ISpeechMMSysAudio * This);
14943 
14944         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
14945             ISpeechMMSysAudio * This,
14946             /* [out] */ UINT *pctinfo);
14947 
14948         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
14949             ISpeechMMSysAudio * This,
14950             /* [in] */ UINT iTInfo,
14951             /* [in] */ LCID lcid,
14952             /* [out] */ ITypeInfo **ppTInfo);
14953 
14954         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
14955             ISpeechMMSysAudio * This,
14956             /* [in] */ REFIID riid,
14957             /* [size_is][in] */ LPOLESTR *rgszNames,
14958             /* [in] */ UINT cNames,
14959             /* [in] */ LCID lcid,
14960             /* [size_is][out] */ DISPID *rgDispId);
14961 
14962         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
14963             ISpeechMMSysAudio * This,
14964             /* [in] */ DISPID dispIdMember,
14965             /* [in] */ REFIID riid,
14966             /* [in] */ LCID lcid,
14967             /* [in] */ WORD wFlags,
14968             /* [out][in] */ DISPPARAMS *pDispParams,
14969             /* [out] */ VARIANT *pVarResult,
14970             /* [out] */ EXCEPINFO *pExcepInfo,
14971             /* [out] */ UINT *puArgErr);
14972 
14973         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )(
14974             ISpeechMMSysAudio * This,
14975             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
14976 
14977         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )(
14978             ISpeechMMSysAudio * This,
14979             /* [in] */ ISpeechAudioFormat *AudioFormat);
14980 
14981         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )(
14982             ISpeechMMSysAudio * This,
14983             /* [out] */ VARIANT *Buffer,
14984             /* [in] */ long NumberOfBytes,
14985             /* [retval][out] */ long *BytesRead);
14986 
14987         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )(
14988             ISpeechMMSysAudio * This,
14989             /* [in] */ VARIANT Buffer,
14990             /* [retval][out] */ long *BytesWritten);
14991 
14992         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
14993             ISpeechMMSysAudio * This,
14994             /* [in] */ VARIANT Position,
14995             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
14996             /* [retval][out] */ VARIANT *NewPosition);
14997 
14998         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )(
14999             ISpeechMMSysAudio * This,
15000             /* [retval][out] */ ISpeechAudioStatus **Status);
15001 
15002         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BufferInfo )(
15003             ISpeechMMSysAudio * This,
15004             /* [retval][out] */ ISpeechAudioBufferInfo **BufferInfo);
15005 
15006         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultFormat )(
15007             ISpeechMMSysAudio * This,
15008             /* [retval][out] */ ISpeechAudioFormat **StreamFormat);
15009 
15010         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )(
15011             ISpeechMMSysAudio * This,
15012             /* [retval][out] */ long *Volume);
15013 
15014         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )(
15015             ISpeechMMSysAudio * This,
15016             /* [in] */ long Volume);
15017 
15018         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BufferNotifySize )(
15019             ISpeechMMSysAudio * This,
15020             /* [retval][out] */ long *BufferNotifySize);
15021 
15022         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BufferNotifySize )(
15023             ISpeechMMSysAudio * This,
15024             /* [in] */ long BufferNotifySize);
15025 
15026         /* [id][helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventHandle )(
15027             ISpeechMMSysAudio * This,
15028             /* [retval][out] */ long *EventHandle);
15029 
15030         /* [hidden][id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetState )(
15031             ISpeechMMSysAudio * This,
15032             /* [in] */ SpeechAudioState State);
15033 
15034         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceId )(
15035             ISpeechMMSysAudio * This,
15036             /* [retval][out] */ long *DeviceId);
15037 
15038         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DeviceId )(
15039             ISpeechMMSysAudio * This,
15040             /* [in] */ long DeviceId);
15041 
15042         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineId )(
15043             ISpeechMMSysAudio * This,
15044             /* [retval][out] */ long *LineId);
15045 
15046         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineId )(
15047             ISpeechMMSysAudio * This,
15048             /* [in] */ long LineId);
15049 
15050         /* [id][helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MMHandle )(
15051             ISpeechMMSysAudio * This,
15052             /* [retval][out] */ long *Handle);
15053 
15054         END_INTERFACE
15055     } ISpeechMMSysAudioVtbl;
15056 
15057     interface ISpeechMMSysAudio
15058     {
15059         CONST_VTBL struct ISpeechMMSysAudioVtbl *lpVtbl;
15060     };
15061 
15062 
15063 
15064 #ifdef COBJMACROS
15065 
15066 
15067 #define ISpeechMMSysAudio_QueryInterface(This,riid,ppvObject)	\
15068     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
15069 
15070 #define ISpeechMMSysAudio_AddRef(This)	\
15071     (This)->lpVtbl -> AddRef(This)
15072 
15073 #define ISpeechMMSysAudio_Release(This)	\
15074     (This)->lpVtbl -> Release(This)
15075 
15076 
15077 #define ISpeechMMSysAudio_GetTypeInfoCount(This,pctinfo)	\
15078     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
15079 
15080 #define ISpeechMMSysAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
15081     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
15082 
15083 #define ISpeechMMSysAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
15084     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
15085 
15086 #define ISpeechMMSysAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
15087     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
15088 
15089 
15090 #define ISpeechMMSysAudio_get_Format(This,AudioFormat)	\
15091     (This)->lpVtbl -> get_Format(This,AudioFormat)
15092 
15093 #define ISpeechMMSysAudio_putref_Format(This,AudioFormat)	\
15094     (This)->lpVtbl -> putref_Format(This,AudioFormat)
15095 
15096 #define ISpeechMMSysAudio_Read(This,Buffer,NumberOfBytes,BytesRead)	\
15097     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
15098 
15099 #define ISpeechMMSysAudio_Write(This,Buffer,BytesWritten)	\
15100     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
15101 
15102 #define ISpeechMMSysAudio_Seek(This,Position,Origin,NewPosition)	\
15103     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
15104 
15105 
15106 #define ISpeechMMSysAudio_get_Status(This,Status)	\
15107     (This)->lpVtbl -> get_Status(This,Status)
15108 
15109 #define ISpeechMMSysAudio_get_BufferInfo(This,BufferInfo)	\
15110     (This)->lpVtbl -> get_BufferInfo(This,BufferInfo)
15111 
15112 #define ISpeechMMSysAudio_get_DefaultFormat(This,StreamFormat)	\
15113     (This)->lpVtbl -> get_DefaultFormat(This,StreamFormat)
15114 
15115 #define ISpeechMMSysAudio_get_Volume(This,Volume)	\
15116     (This)->lpVtbl -> get_Volume(This,Volume)
15117 
15118 #define ISpeechMMSysAudio_put_Volume(This,Volume)	\
15119     (This)->lpVtbl -> put_Volume(This,Volume)
15120 
15121 #define ISpeechMMSysAudio_get_BufferNotifySize(This,BufferNotifySize)	\
15122     (This)->lpVtbl -> get_BufferNotifySize(This,BufferNotifySize)
15123 
15124 #define ISpeechMMSysAudio_put_BufferNotifySize(This,BufferNotifySize)	\
15125     (This)->lpVtbl -> put_BufferNotifySize(This,BufferNotifySize)
15126 
15127 #define ISpeechMMSysAudio_get_EventHandle(This,EventHandle)	\
15128     (This)->lpVtbl -> get_EventHandle(This,EventHandle)
15129 
15130 #define ISpeechMMSysAudio_SetState(This,State)	\
15131     (This)->lpVtbl -> SetState(This,State)
15132 
15133 
15134 #define ISpeechMMSysAudio_get_DeviceId(This,DeviceId)	\
15135     (This)->lpVtbl -> get_DeviceId(This,DeviceId)
15136 
15137 #define ISpeechMMSysAudio_put_DeviceId(This,DeviceId)	\
15138     (This)->lpVtbl -> put_DeviceId(This,DeviceId)
15139 
15140 #define ISpeechMMSysAudio_get_LineId(This,LineId)	\
15141     (This)->lpVtbl -> get_LineId(This,LineId)
15142 
15143 #define ISpeechMMSysAudio_put_LineId(This,LineId)	\
15144     (This)->lpVtbl -> put_LineId(This,LineId)
15145 
15146 #define ISpeechMMSysAudio_get_MMHandle(This,Handle)	\
15147     (This)->lpVtbl -> get_MMHandle(This,Handle)
15148 
15149 #endif /* COBJMACROS */
15150 
15151 
15152 #endif 	/* C style interface */
15153 
15154 
15155 
15156 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_DeviceId_Proxy(
15157     ISpeechMMSysAudio * This,
15158     /* [retval][out] */ long *DeviceId);
15159 
15160 
15161 void __RPC_STUB ISpeechMMSysAudio_get_DeviceId_Stub(
15162     IRpcStubBuffer *This,
15163     IRpcChannelBuffer *_pRpcChannelBuffer,
15164     PRPC_MESSAGE _pRpcMessage,
15165     DWORD *_pdwStubPhase);
15166 
15167 
15168 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_put_DeviceId_Proxy(
15169     ISpeechMMSysAudio * This,
15170     /* [in] */ long DeviceId);
15171 
15172 
15173 void __RPC_STUB ISpeechMMSysAudio_put_DeviceId_Stub(
15174     IRpcStubBuffer *This,
15175     IRpcChannelBuffer *_pRpcChannelBuffer,
15176     PRPC_MESSAGE _pRpcMessage,
15177     DWORD *_pdwStubPhase);
15178 
15179 
15180 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_LineId_Proxy(
15181     ISpeechMMSysAudio * This,
15182     /* [retval][out] */ long *LineId);
15183 
15184 
15185 void __RPC_STUB ISpeechMMSysAudio_get_LineId_Stub(
15186     IRpcStubBuffer *This,
15187     IRpcChannelBuffer *_pRpcChannelBuffer,
15188     PRPC_MESSAGE _pRpcMessage,
15189     DWORD *_pdwStubPhase);
15190 
15191 
15192 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_put_LineId_Proxy(
15193     ISpeechMMSysAudio * This,
15194     /* [in] */ long LineId);
15195 
15196 
15197 void __RPC_STUB ISpeechMMSysAudio_put_LineId_Stub(
15198     IRpcStubBuffer *This,
15199     IRpcChannelBuffer *_pRpcChannelBuffer,
15200     PRPC_MESSAGE _pRpcMessage,
15201     DWORD *_pdwStubPhase);
15202 
15203 
15204 /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_MMHandle_Proxy(
15205     ISpeechMMSysAudio * This,
15206     /* [retval][out] */ long *Handle);
15207 
15208 
15209 void __RPC_STUB ISpeechMMSysAudio_get_MMHandle_Stub(
15210     IRpcStubBuffer *This,
15211     IRpcChannelBuffer *_pRpcChannelBuffer,
15212     PRPC_MESSAGE _pRpcMessage,
15213     DWORD *_pdwStubPhase);
15214 
15215 
15216 
15217 #endif 	/* __ISpeechMMSysAudio_INTERFACE_DEFINED__ */
15218 
15219 
15220 #ifndef __ISpeechVoice_INTERFACE_DEFINED__
15221 #define __ISpeechVoice_INTERFACE_DEFINED__
15222 
15223 /* interface ISpeechVoice */
15224 /* [unique][helpstring][dual][uuid][object] */
15225 
15226 
15227 EXTERN_C const IID IID_ISpeechVoice;
15228 
15229 #if defined(__cplusplus) && !defined(CINTERFACE)
15230 
15231     MIDL_INTERFACE("269316D8-57BD-11D2-9EEE-00C04F797396")
15232     ISpeechVoice : public IDispatch
15233     {
15234     public:
15235         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Status(
15236             /* [retval][out] */ ISpeechVoiceStatus **Status) = 0;
15237 
15238         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Voice(
15239             /* [retval][out] */ ISpeechObjectToken **Voice) = 0;
15240 
15241         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_Voice(
15242             /* [in] */ ISpeechObjectToken *Voice) = 0;
15243 
15244         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioOutput(
15245             /* [retval][out] */ ISpeechObjectToken **AudioOutput) = 0;
15246 
15247         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_AudioOutput(
15248             /* [in] */ ISpeechObjectToken *AudioOutput) = 0;
15249 
15250         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioOutputStream(
15251             /* [retval][out] */ ISpeechBaseStream **AudioOutputStream) = 0;
15252 
15253         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_AudioOutputStream(
15254             /* [in] */ ISpeechBaseStream *AudioOutputStream) = 0;
15255 
15256         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rate(
15257             /* [retval][out] */ long *Rate) = 0;
15258 
15259         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Rate(
15260             /* [in] */ long Rate) = 0;
15261 
15262         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Volume(
15263             /* [retval][out] */ long *Volume) = 0;
15264 
15265         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Volume(
15266             /* [in] */ long Volume) = 0;
15267 
15268         virtual /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_AllowAudioOutputFormatChangesOnNextSet(
15269             /* [in] */ VARIANT_BOOL Allow) = 0;
15270 
15271         virtual /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_AllowAudioOutputFormatChangesOnNextSet(
15272             /* [retval][out] */ VARIANT_BOOL *Allow) = 0;
15273 
15274         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EventInterests(
15275             /* [retval][out] */ SpeechVoiceEvents *EventInterestFlags) = 0;
15276 
15277         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventInterests(
15278             /* [in] */ SpeechVoiceEvents EventInterestFlags) = 0;
15279 
15280         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Priority(
15281             /* [in] */ SpeechVoicePriority Priority) = 0;
15282 
15283         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Priority(
15284             /* [retval][out] */ SpeechVoicePriority *Priority) = 0;
15285 
15286         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AlertBoundary(
15287             /* [in] */ SpeechVoiceEvents Boundary) = 0;
15288 
15289         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AlertBoundary(
15290             /* [retval][out] */ SpeechVoiceEvents *Boundary) = 0;
15291 
15292         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SynchronousSpeakTimeout(
15293             /* [in] */ long msTimeout) = 0;
15294 
15295         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SynchronousSpeakTimeout(
15296             /* [retval][out] */ long *msTimeout) = 0;
15297 
15298         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Speak(
15299             /* [in] */ BSTR Text,
15300             /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
15301             /* [retval][out] */ long *StreamNumber) = 0;
15302 
15303         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SpeakStream(
15304             /* [in] */ ISpeechBaseStream *Stream,
15305             /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
15306             /* [retval][out] */ long *StreamNumber) = 0;
15307 
15308         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
15309 
15310         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Resume( void) = 0;
15311 
15312         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Skip(
15313             /* [in] */ const BSTR Type,
15314             /* [in] */ long NumItems,
15315             /* [retval][out] */ long *NumSkipped) = 0;
15316 
15317         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetVoices(
15318             /* [defaultvalue][in] */ BSTR RequiredAttributes,
15319             /* [defaultvalue][in] */ BSTR OptionalAttributes,
15320             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens) = 0;
15321 
15322         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetAudioOutputs(
15323             /* [defaultvalue][in] */ BSTR RequiredAttributes,
15324             /* [defaultvalue][in] */ BSTR OptionalAttributes,
15325             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens) = 0;
15326 
15327         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE WaitUntilDone(
15328             /* [in] */ long msTimeout,
15329             /* [retval][out] */ VARIANT_BOOL *Done) = 0;
15330 
15331         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE SpeakCompleteEvent(
15332             /* [retval][out] */ long *Handle) = 0;
15333 
15334         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE IsUISupported(
15335             /* [in] */ const BSTR TypeOfUI,
15336             /* [defaultvalue][in] */ const VARIANT *ExtraData,
15337             /* [retval][out] */ VARIANT_BOOL *Supported) = 0;
15338 
15339         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DisplayUI(
15340             /* [in] */ long hWndParent,
15341             /* [in] */ BSTR Title,
15342             /* [in] */ const BSTR TypeOfUI,
15343             /* [defaultvalue][in] */ const VARIANT *ExtraData = 0) = 0;
15344 
15345     };
15346 
15347 #else 	/* C style interface */
15348 
15349     typedef struct ISpeechVoiceVtbl
15350     {
15351         BEGIN_INTERFACE
15352 
15353         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
15354             ISpeechVoice * This,
15355             /* [in] */ REFIID riid,
15356             /* [iid_is][out] */ void **ppvObject);
15357 
15358         ULONG ( STDMETHODCALLTYPE *AddRef )(
15359             ISpeechVoice * This);
15360 
15361         ULONG ( STDMETHODCALLTYPE *Release )(
15362             ISpeechVoice * This);
15363 
15364         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
15365             ISpeechVoice * This,
15366             /* [out] */ UINT *pctinfo);
15367 
15368         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
15369             ISpeechVoice * This,
15370             /* [in] */ UINT iTInfo,
15371             /* [in] */ LCID lcid,
15372             /* [out] */ ITypeInfo **ppTInfo);
15373 
15374         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
15375             ISpeechVoice * This,
15376             /* [in] */ REFIID riid,
15377             /* [size_is][in] */ LPOLESTR *rgszNames,
15378             /* [in] */ UINT cNames,
15379             /* [in] */ LCID lcid,
15380             /* [size_is][out] */ DISPID *rgDispId);
15381 
15382         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
15383             ISpeechVoice * This,
15384             /* [in] */ DISPID dispIdMember,
15385             /* [in] */ REFIID riid,
15386             /* [in] */ LCID lcid,
15387             /* [in] */ WORD wFlags,
15388             /* [out][in] */ DISPPARAMS *pDispParams,
15389             /* [out] */ VARIANT *pVarResult,
15390             /* [out] */ EXCEPINFO *pExcepInfo,
15391             /* [out] */ UINT *puArgErr);
15392 
15393         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )(
15394             ISpeechVoice * This,
15395             /* [retval][out] */ ISpeechVoiceStatus **Status);
15396 
15397         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Voice )(
15398             ISpeechVoice * This,
15399             /* [retval][out] */ ISpeechObjectToken **Voice);
15400 
15401         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Voice )(
15402             ISpeechVoice * This,
15403             /* [in] */ ISpeechObjectToken *Voice);
15404 
15405         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioOutput )(
15406             ISpeechVoice * This,
15407             /* [retval][out] */ ISpeechObjectToken **AudioOutput);
15408 
15409         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_AudioOutput )(
15410             ISpeechVoice * This,
15411             /* [in] */ ISpeechObjectToken *AudioOutput);
15412 
15413         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioOutputStream )(
15414             ISpeechVoice * This,
15415             /* [retval][out] */ ISpeechBaseStream **AudioOutputStream);
15416 
15417         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_AudioOutputStream )(
15418             ISpeechVoice * This,
15419             /* [in] */ ISpeechBaseStream *AudioOutputStream);
15420 
15421         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rate )(
15422             ISpeechVoice * This,
15423             /* [retval][out] */ long *Rate);
15424 
15425         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rate )(
15426             ISpeechVoice * This,
15427             /* [in] */ long Rate);
15428 
15429         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )(
15430             ISpeechVoice * This,
15431             /* [retval][out] */ long *Volume);
15432 
15433         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )(
15434             ISpeechVoice * This,
15435             /* [in] */ long Volume);
15436 
15437         /* [id][helpstring][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowAudioOutputFormatChangesOnNextSet )(
15438             ISpeechVoice * This,
15439             /* [in] */ VARIANT_BOOL Allow);
15440 
15441         /* [id][helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowAudioOutputFormatChangesOnNextSet )(
15442             ISpeechVoice * This,
15443             /* [retval][out] */ VARIANT_BOOL *Allow);
15444 
15445         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventInterests )(
15446             ISpeechVoice * This,
15447             /* [retval][out] */ SpeechVoiceEvents *EventInterestFlags);
15448 
15449         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventInterests )(
15450             ISpeechVoice * This,
15451             /* [in] */ SpeechVoiceEvents EventInterestFlags);
15452 
15453         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )(
15454             ISpeechVoice * This,
15455             /* [in] */ SpeechVoicePriority Priority);
15456 
15457         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )(
15458             ISpeechVoice * This,
15459             /* [retval][out] */ SpeechVoicePriority *Priority);
15460 
15461         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlertBoundary )(
15462             ISpeechVoice * This,
15463             /* [in] */ SpeechVoiceEvents Boundary);
15464 
15465         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlertBoundary )(
15466             ISpeechVoice * This,
15467             /* [retval][out] */ SpeechVoiceEvents *Boundary);
15468 
15469         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SynchronousSpeakTimeout )(
15470             ISpeechVoice * This,
15471             /* [in] */ long msTimeout);
15472 
15473         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SynchronousSpeakTimeout )(
15474             ISpeechVoice * This,
15475             /* [retval][out] */ long *msTimeout);
15476 
15477         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Speak )(
15478             ISpeechVoice * This,
15479             /* [in] */ BSTR Text,
15480             /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
15481             /* [retval][out] */ long *StreamNumber);
15482 
15483         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SpeakStream )(
15484             ISpeechVoice * This,
15485             /* [in] */ ISpeechBaseStream *Stream,
15486             /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
15487             /* [retval][out] */ long *StreamNumber);
15488 
15489         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Pause )(
15490             ISpeechVoice * This);
15491 
15492         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Resume )(
15493             ISpeechVoice * This);
15494 
15495         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )(
15496             ISpeechVoice * This,
15497             /* [in] */ const BSTR Type,
15498             /* [in] */ long NumItems,
15499             /* [retval][out] */ long *NumSkipped);
15500 
15501         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVoices )(
15502             ISpeechVoice * This,
15503             /* [defaultvalue][in] */ BSTR RequiredAttributes,
15504             /* [defaultvalue][in] */ BSTR OptionalAttributes,
15505             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
15506 
15507         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAudioOutputs )(
15508             ISpeechVoice * This,
15509             /* [defaultvalue][in] */ BSTR RequiredAttributes,
15510             /* [defaultvalue][in] */ BSTR OptionalAttributes,
15511             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
15512 
15513         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *WaitUntilDone )(
15514             ISpeechVoice * This,
15515             /* [in] */ long msTimeout,
15516             /* [retval][out] */ VARIANT_BOOL *Done);
15517 
15518         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SpeakCompleteEvent )(
15519             ISpeechVoice * This,
15520             /* [retval][out] */ long *Handle);
15521 
15522         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
15523             ISpeechVoice * This,
15524             /* [in] */ const BSTR TypeOfUI,
15525             /* [defaultvalue][in] */ const VARIANT *ExtraData,
15526             /* [retval][out] */ VARIANT_BOOL *Supported);
15527 
15528         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
15529             ISpeechVoice * This,
15530             /* [in] */ long hWndParent,
15531             /* [in] */ BSTR Title,
15532             /* [in] */ const BSTR TypeOfUI,
15533             /* [defaultvalue][in] */ const VARIANT *ExtraData);
15534 
15535         END_INTERFACE
15536     } ISpeechVoiceVtbl;
15537 
15538     interface ISpeechVoice
15539     {
15540         CONST_VTBL struct ISpeechVoiceVtbl *lpVtbl;
15541     };
15542 
15543 
15544 
15545 #ifdef COBJMACROS
15546 
15547 
15548 #define ISpeechVoice_QueryInterface(This,riid,ppvObject)	\
15549     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
15550 
15551 #define ISpeechVoice_AddRef(This)	\
15552     (This)->lpVtbl -> AddRef(This)
15553 
15554 #define ISpeechVoice_Release(This)	\
15555     (This)->lpVtbl -> Release(This)
15556 
15557 
15558 #define ISpeechVoice_GetTypeInfoCount(This,pctinfo)	\
15559     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
15560 
15561 #define ISpeechVoice_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
15562     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
15563 
15564 #define ISpeechVoice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
15565     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
15566 
15567 #define ISpeechVoice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
15568     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
15569 
15570 
15571 #define ISpeechVoice_get_Status(This,Status)	\
15572     (This)->lpVtbl -> get_Status(This,Status)
15573 
15574 #define ISpeechVoice_get_Voice(This,Voice)	\
15575     (This)->lpVtbl -> get_Voice(This,Voice)
15576 
15577 #define ISpeechVoice_putref_Voice(This,Voice)	\
15578     (This)->lpVtbl -> putref_Voice(This,Voice)
15579 
15580 #define ISpeechVoice_get_AudioOutput(This,AudioOutput)	\
15581     (This)->lpVtbl -> get_AudioOutput(This,AudioOutput)
15582 
15583 #define ISpeechVoice_putref_AudioOutput(This,AudioOutput)	\
15584     (This)->lpVtbl -> putref_AudioOutput(This,AudioOutput)
15585 
15586 #define ISpeechVoice_get_AudioOutputStream(This,AudioOutputStream)	\
15587     (This)->lpVtbl -> get_AudioOutputStream(This,AudioOutputStream)
15588 
15589 #define ISpeechVoice_putref_AudioOutputStream(This,AudioOutputStream)	\
15590     (This)->lpVtbl -> putref_AudioOutputStream(This,AudioOutputStream)
15591 
15592 #define ISpeechVoice_get_Rate(This,Rate)	\
15593     (This)->lpVtbl -> get_Rate(This,Rate)
15594 
15595 #define ISpeechVoice_put_Rate(This,Rate)	\
15596     (This)->lpVtbl -> put_Rate(This,Rate)
15597 
15598 #define ISpeechVoice_get_Volume(This,Volume)	\
15599     (This)->lpVtbl -> get_Volume(This,Volume)
15600 
15601 #define ISpeechVoice_put_Volume(This,Volume)	\
15602     (This)->lpVtbl -> put_Volume(This,Volume)
15603 
15604 #define ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet(This,Allow)	\
15605     (This)->lpVtbl -> put_AllowAudioOutputFormatChangesOnNextSet(This,Allow)
15606 
15607 #define ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet(This,Allow)	\
15608     (This)->lpVtbl -> get_AllowAudioOutputFormatChangesOnNextSet(This,Allow)
15609 
15610 #define ISpeechVoice_get_EventInterests(This,EventInterestFlags)	\
15611     (This)->lpVtbl -> get_EventInterests(This,EventInterestFlags)
15612 
15613 #define ISpeechVoice_put_EventInterests(This,EventInterestFlags)	\
15614     (This)->lpVtbl -> put_EventInterests(This,EventInterestFlags)
15615 
15616 #define ISpeechVoice_put_Priority(This,Priority)	\
15617     (This)->lpVtbl -> put_Priority(This,Priority)
15618 
15619 #define ISpeechVoice_get_Priority(This,Priority)	\
15620     (This)->lpVtbl -> get_Priority(This,Priority)
15621 
15622 #define ISpeechVoice_put_AlertBoundary(This,Boundary)	\
15623     (This)->lpVtbl -> put_AlertBoundary(This,Boundary)
15624 
15625 #define ISpeechVoice_get_AlertBoundary(This,Boundary)	\
15626     (This)->lpVtbl -> get_AlertBoundary(This,Boundary)
15627 
15628 #define ISpeechVoice_put_SynchronousSpeakTimeout(This,msTimeout)	\
15629     (This)->lpVtbl -> put_SynchronousSpeakTimeout(This,msTimeout)
15630 
15631 #define ISpeechVoice_get_SynchronousSpeakTimeout(This,msTimeout)	\
15632     (This)->lpVtbl -> get_SynchronousSpeakTimeout(This,msTimeout)
15633 
15634 #define ISpeechVoice_Speak(This,Text,Flags,StreamNumber)	\
15635     (This)->lpVtbl -> Speak(This,Text,Flags,StreamNumber)
15636 
15637 #define ISpeechVoice_SpeakStream(This,Stream,Flags,StreamNumber)	\
15638     (This)->lpVtbl -> SpeakStream(This,Stream,Flags,StreamNumber)
15639 
15640 #define ISpeechVoice_Pause(This)	\
15641     (This)->lpVtbl -> Pause(This)
15642 
15643 #define ISpeechVoice_Resume(This)	\
15644     (This)->lpVtbl -> Resume(This)
15645 
15646 #define ISpeechVoice_Skip(This,Type,NumItems,NumSkipped)	\
15647     (This)->lpVtbl -> Skip(This,Type,NumItems,NumSkipped)
15648 
15649 #define ISpeechVoice_GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens)	\
15650     (This)->lpVtbl -> GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
15651 
15652 #define ISpeechVoice_GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)	\
15653     (This)->lpVtbl -> GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
15654 
15655 #define ISpeechVoice_WaitUntilDone(This,msTimeout,Done)	\
15656     (This)->lpVtbl -> WaitUntilDone(This,msTimeout,Done)
15657 
15658 #define ISpeechVoice_SpeakCompleteEvent(This,Handle)	\
15659     (This)->lpVtbl -> SpeakCompleteEvent(This,Handle)
15660 
15661 #define ISpeechVoice_IsUISupported(This,TypeOfUI,ExtraData,Supported)	\
15662     (This)->lpVtbl -> IsUISupported(This,TypeOfUI,ExtraData,Supported)
15663 
15664 #define ISpeechVoice_DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)	\
15665     (This)->lpVtbl -> DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)
15666 
15667 #endif /* COBJMACROS */
15668 
15669 
15670 #endif 	/* C style interface */
15671 
15672 
15673 
15674 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Status_Proxy(
15675     ISpeechVoice * This,
15676     /* [retval][out] */ ISpeechVoiceStatus **Status);
15677 
15678 
15679 void __RPC_STUB ISpeechVoice_get_Status_Stub(
15680     IRpcStubBuffer *This,
15681     IRpcChannelBuffer *_pRpcChannelBuffer,
15682     PRPC_MESSAGE _pRpcMessage,
15683     DWORD *_pdwStubPhase);
15684 
15685 
15686 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Voice_Proxy(
15687     ISpeechVoice * This,
15688     /* [retval][out] */ ISpeechObjectToken **Voice);
15689 
15690 
15691 void __RPC_STUB ISpeechVoice_get_Voice_Stub(
15692     IRpcStubBuffer *This,
15693     IRpcChannelBuffer *_pRpcChannelBuffer,
15694     PRPC_MESSAGE _pRpcMessage,
15695     DWORD *_pdwStubPhase);
15696 
15697 
15698 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_Voice_Proxy(
15699     ISpeechVoice * This,
15700     /* [in] */ ISpeechObjectToken *Voice);
15701 
15702 
15703 void __RPC_STUB ISpeechVoice_putref_Voice_Stub(
15704     IRpcStubBuffer *This,
15705     IRpcChannelBuffer *_pRpcChannelBuffer,
15706     PRPC_MESSAGE _pRpcMessage,
15707     DWORD *_pdwStubPhase);
15708 
15709 
15710 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AudioOutput_Proxy(
15711     ISpeechVoice * This,
15712     /* [retval][out] */ ISpeechObjectToken **AudioOutput);
15713 
15714 
15715 void __RPC_STUB ISpeechVoice_get_AudioOutput_Stub(
15716     IRpcStubBuffer *This,
15717     IRpcChannelBuffer *_pRpcChannelBuffer,
15718     PRPC_MESSAGE _pRpcMessage,
15719     DWORD *_pdwStubPhase);
15720 
15721 
15722 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_AudioOutput_Proxy(
15723     ISpeechVoice * This,
15724     /* [in] */ ISpeechObjectToken *AudioOutput);
15725 
15726 
15727 void __RPC_STUB ISpeechVoice_putref_AudioOutput_Stub(
15728     IRpcStubBuffer *This,
15729     IRpcChannelBuffer *_pRpcChannelBuffer,
15730     PRPC_MESSAGE _pRpcMessage,
15731     DWORD *_pdwStubPhase);
15732 
15733 
15734 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AudioOutputStream_Proxy(
15735     ISpeechVoice * This,
15736     /* [retval][out] */ ISpeechBaseStream **AudioOutputStream);
15737 
15738 
15739 void __RPC_STUB ISpeechVoice_get_AudioOutputStream_Stub(
15740     IRpcStubBuffer *This,
15741     IRpcChannelBuffer *_pRpcChannelBuffer,
15742     PRPC_MESSAGE _pRpcMessage,
15743     DWORD *_pdwStubPhase);
15744 
15745 
15746 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_AudioOutputStream_Proxy(
15747     ISpeechVoice * This,
15748     /* [in] */ ISpeechBaseStream *AudioOutputStream);
15749 
15750 
15751 void __RPC_STUB ISpeechVoice_putref_AudioOutputStream_Stub(
15752     IRpcStubBuffer *This,
15753     IRpcChannelBuffer *_pRpcChannelBuffer,
15754     PRPC_MESSAGE _pRpcMessage,
15755     DWORD *_pdwStubPhase);
15756 
15757 
15758 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Rate_Proxy(
15759     ISpeechVoice * This,
15760     /* [retval][out] */ long *Rate);
15761 
15762 
15763 void __RPC_STUB ISpeechVoice_get_Rate_Stub(
15764     IRpcStubBuffer *This,
15765     IRpcChannelBuffer *_pRpcChannelBuffer,
15766     PRPC_MESSAGE _pRpcMessage,
15767     DWORD *_pdwStubPhase);
15768 
15769 
15770 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Rate_Proxy(
15771     ISpeechVoice * This,
15772     /* [in] */ long Rate);
15773 
15774 
15775 void __RPC_STUB ISpeechVoice_put_Rate_Stub(
15776     IRpcStubBuffer *This,
15777     IRpcChannelBuffer *_pRpcChannelBuffer,
15778     PRPC_MESSAGE _pRpcMessage,
15779     DWORD *_pdwStubPhase);
15780 
15781 
15782 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Volume_Proxy(
15783     ISpeechVoice * This,
15784     /* [retval][out] */ long *Volume);
15785 
15786 
15787 void __RPC_STUB ISpeechVoice_get_Volume_Stub(
15788     IRpcStubBuffer *This,
15789     IRpcChannelBuffer *_pRpcChannelBuffer,
15790     PRPC_MESSAGE _pRpcMessage,
15791     DWORD *_pdwStubPhase);
15792 
15793 
15794 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Volume_Proxy(
15795     ISpeechVoice * This,
15796     /* [in] */ long Volume);
15797 
15798 
15799 void __RPC_STUB ISpeechVoice_put_Volume_Stub(
15800     IRpcStubBuffer *This,
15801     IRpcChannelBuffer *_pRpcChannelBuffer,
15802     PRPC_MESSAGE _pRpcMessage,
15803     DWORD *_pdwStubPhase);
15804 
15805 
15806 /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet_Proxy(
15807     ISpeechVoice * This,
15808     /* [in] */ VARIANT_BOOL Allow);
15809 
15810 
15811 void __RPC_STUB ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet_Stub(
15812     IRpcStubBuffer *This,
15813     IRpcChannelBuffer *_pRpcChannelBuffer,
15814     PRPC_MESSAGE _pRpcMessage,
15815     DWORD *_pdwStubPhase);
15816 
15817 
15818 /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet_Proxy(
15819     ISpeechVoice * This,
15820     /* [retval][out] */ VARIANT_BOOL *Allow);
15821 
15822 
15823 void __RPC_STUB ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet_Stub(
15824     IRpcStubBuffer *This,
15825     IRpcChannelBuffer *_pRpcChannelBuffer,
15826     PRPC_MESSAGE _pRpcMessage,
15827     DWORD *_pdwStubPhase);
15828 
15829 
15830 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_EventInterests_Proxy(
15831     ISpeechVoice * This,
15832     /* [retval][out] */ SpeechVoiceEvents *EventInterestFlags);
15833 
15834 
15835 void __RPC_STUB ISpeechVoice_get_EventInterests_Stub(
15836     IRpcStubBuffer *This,
15837     IRpcChannelBuffer *_pRpcChannelBuffer,
15838     PRPC_MESSAGE _pRpcMessage,
15839     DWORD *_pdwStubPhase);
15840 
15841 
15842 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_put_EventInterests_Proxy(
15843     ISpeechVoice * This,
15844     /* [in] */ SpeechVoiceEvents EventInterestFlags);
15845 
15846 
15847 void __RPC_STUB ISpeechVoice_put_EventInterests_Stub(
15848     IRpcStubBuffer *This,
15849     IRpcChannelBuffer *_pRpcChannelBuffer,
15850     PRPC_MESSAGE _pRpcMessage,
15851     DWORD *_pdwStubPhase);
15852 
15853 
15854 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Priority_Proxy(
15855     ISpeechVoice * This,
15856     /* [in] */ SpeechVoicePriority Priority);
15857 
15858 
15859 void __RPC_STUB ISpeechVoice_put_Priority_Stub(
15860     IRpcStubBuffer *This,
15861     IRpcChannelBuffer *_pRpcChannelBuffer,
15862     PRPC_MESSAGE _pRpcMessage,
15863     DWORD *_pdwStubPhase);
15864 
15865 
15866 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Priority_Proxy(
15867     ISpeechVoice * This,
15868     /* [retval][out] */ SpeechVoicePriority *Priority);
15869 
15870 
15871 void __RPC_STUB ISpeechVoice_get_Priority_Stub(
15872     IRpcStubBuffer *This,
15873     IRpcChannelBuffer *_pRpcChannelBuffer,
15874     PRPC_MESSAGE _pRpcMessage,
15875     DWORD *_pdwStubPhase);
15876 
15877 
15878 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_put_AlertBoundary_Proxy(
15879     ISpeechVoice * This,
15880     /* [in] */ SpeechVoiceEvents Boundary);
15881 
15882 
15883 void __RPC_STUB ISpeechVoice_put_AlertBoundary_Stub(
15884     IRpcStubBuffer *This,
15885     IRpcChannelBuffer *_pRpcChannelBuffer,
15886     PRPC_MESSAGE _pRpcMessage,
15887     DWORD *_pdwStubPhase);
15888 
15889 
15890 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AlertBoundary_Proxy(
15891     ISpeechVoice * This,
15892     /* [retval][out] */ SpeechVoiceEvents *Boundary);
15893 
15894 
15895 void __RPC_STUB ISpeechVoice_get_AlertBoundary_Stub(
15896     IRpcStubBuffer *This,
15897     IRpcChannelBuffer *_pRpcChannelBuffer,
15898     PRPC_MESSAGE _pRpcMessage,
15899     DWORD *_pdwStubPhase);
15900 
15901 
15902 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_put_SynchronousSpeakTimeout_Proxy(
15903     ISpeechVoice * This,
15904     /* [in] */ long msTimeout);
15905 
15906 
15907 void __RPC_STUB ISpeechVoice_put_SynchronousSpeakTimeout_Stub(
15908     IRpcStubBuffer *This,
15909     IRpcChannelBuffer *_pRpcChannelBuffer,
15910     PRPC_MESSAGE _pRpcMessage,
15911     DWORD *_pdwStubPhase);
15912 
15913 
15914 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_get_SynchronousSpeakTimeout_Proxy(
15915     ISpeechVoice * This,
15916     /* [retval][out] */ long *msTimeout);
15917 
15918 
15919 void __RPC_STUB ISpeechVoice_get_SynchronousSpeakTimeout_Stub(
15920     IRpcStubBuffer *This,
15921     IRpcChannelBuffer *_pRpcChannelBuffer,
15922     PRPC_MESSAGE _pRpcMessage,
15923     DWORD *_pdwStubPhase);
15924 
15925 
15926 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_Speak_Proxy(
15927     ISpeechVoice * This,
15928     /* [in] */ BSTR Text,
15929     /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
15930     /* [retval][out] */ long *StreamNumber);
15931 
15932 
15933 void __RPC_STUB ISpeechVoice_Speak_Stub(
15934     IRpcStubBuffer *This,
15935     IRpcChannelBuffer *_pRpcChannelBuffer,
15936     PRPC_MESSAGE _pRpcMessage,
15937     DWORD *_pdwStubPhase);
15938 
15939 
15940 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_SpeakStream_Proxy(
15941     ISpeechVoice * This,
15942     /* [in] */ ISpeechBaseStream *Stream,
15943     /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
15944     /* [retval][out] */ long *StreamNumber);
15945 
15946 
15947 void __RPC_STUB ISpeechVoice_SpeakStream_Stub(
15948     IRpcStubBuffer *This,
15949     IRpcChannelBuffer *_pRpcChannelBuffer,
15950     PRPC_MESSAGE _pRpcMessage,
15951     DWORD *_pdwStubPhase);
15952 
15953 
15954 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_Pause_Proxy(
15955     ISpeechVoice * This);
15956 
15957 
15958 void __RPC_STUB ISpeechVoice_Pause_Stub(
15959     IRpcStubBuffer *This,
15960     IRpcChannelBuffer *_pRpcChannelBuffer,
15961     PRPC_MESSAGE _pRpcMessage,
15962     DWORD *_pdwStubPhase);
15963 
15964 
15965 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_Resume_Proxy(
15966     ISpeechVoice * This);
15967 
15968 
15969 void __RPC_STUB ISpeechVoice_Resume_Stub(
15970     IRpcStubBuffer *This,
15971     IRpcChannelBuffer *_pRpcChannelBuffer,
15972     PRPC_MESSAGE _pRpcMessage,
15973     DWORD *_pdwStubPhase);
15974 
15975 
15976 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_Skip_Proxy(
15977     ISpeechVoice * This,
15978     /* [in] */ const BSTR Type,
15979     /* [in] */ long NumItems,
15980     /* [retval][out] */ long *NumSkipped);
15981 
15982 
15983 void __RPC_STUB ISpeechVoice_Skip_Stub(
15984     IRpcStubBuffer *This,
15985     IRpcChannelBuffer *_pRpcChannelBuffer,
15986     PRPC_MESSAGE _pRpcMessage,
15987     DWORD *_pdwStubPhase);
15988 
15989 
15990 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_GetVoices_Proxy(
15991     ISpeechVoice * This,
15992     /* [defaultvalue][in] */ BSTR RequiredAttributes,
15993     /* [defaultvalue][in] */ BSTR OptionalAttributes,
15994     /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
15995 
15996 
15997 void __RPC_STUB ISpeechVoice_GetVoices_Stub(
15998     IRpcStubBuffer *This,
15999     IRpcChannelBuffer *_pRpcChannelBuffer,
16000     PRPC_MESSAGE _pRpcMessage,
16001     DWORD *_pdwStubPhase);
16002 
16003 
16004 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_GetAudioOutputs_Proxy(
16005     ISpeechVoice * This,
16006     /* [defaultvalue][in] */ BSTR RequiredAttributes,
16007     /* [defaultvalue][in] */ BSTR OptionalAttributes,
16008     /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
16009 
16010 
16011 void __RPC_STUB ISpeechVoice_GetAudioOutputs_Stub(
16012     IRpcStubBuffer *This,
16013     IRpcChannelBuffer *_pRpcChannelBuffer,
16014     PRPC_MESSAGE _pRpcMessage,
16015     DWORD *_pdwStubPhase);
16016 
16017 
16018 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_WaitUntilDone_Proxy(
16019     ISpeechVoice * This,
16020     /* [in] */ long msTimeout,
16021     /* [retval][out] */ VARIANT_BOOL *Done);
16022 
16023 
16024 void __RPC_STUB ISpeechVoice_WaitUntilDone_Stub(
16025     IRpcStubBuffer *This,
16026     IRpcChannelBuffer *_pRpcChannelBuffer,
16027     PRPC_MESSAGE _pRpcMessage,
16028     DWORD *_pdwStubPhase);
16029 
16030 
16031 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_SpeakCompleteEvent_Proxy(
16032     ISpeechVoice * This,
16033     /* [retval][out] */ long *Handle);
16034 
16035 
16036 void __RPC_STUB ISpeechVoice_SpeakCompleteEvent_Stub(
16037     IRpcStubBuffer *This,
16038     IRpcChannelBuffer *_pRpcChannelBuffer,
16039     PRPC_MESSAGE _pRpcMessage,
16040     DWORD *_pdwStubPhase);
16041 
16042 
16043 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_IsUISupported_Proxy(
16044     ISpeechVoice * This,
16045     /* [in] */ const BSTR TypeOfUI,
16046     /* [defaultvalue][in] */ const VARIANT *ExtraData,
16047     /* [retval][out] */ VARIANT_BOOL *Supported);
16048 
16049 
16050 void __RPC_STUB ISpeechVoice_IsUISupported_Stub(
16051     IRpcStubBuffer *This,
16052     IRpcChannelBuffer *_pRpcChannelBuffer,
16053     PRPC_MESSAGE _pRpcMessage,
16054     DWORD *_pdwStubPhase);
16055 
16056 
16057 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechVoice_DisplayUI_Proxy(
16058     ISpeechVoice * This,
16059     /* [in] */ long hWndParent,
16060     /* [in] */ BSTR Title,
16061     /* [in] */ const BSTR TypeOfUI,
16062     /* [defaultvalue][in] */ const VARIANT *ExtraData);
16063 
16064 
16065 void __RPC_STUB ISpeechVoice_DisplayUI_Stub(
16066     IRpcStubBuffer *This,
16067     IRpcChannelBuffer *_pRpcChannelBuffer,
16068     PRPC_MESSAGE _pRpcMessage,
16069     DWORD *_pdwStubPhase);
16070 
16071 
16072 
16073 #endif 	/* __ISpeechVoice_INTERFACE_DEFINED__ */
16074 
16075 
16076 #ifndef __ISpeechVoiceStatus_INTERFACE_DEFINED__
16077 #define __ISpeechVoiceStatus_INTERFACE_DEFINED__
16078 
16079 /* interface ISpeechVoiceStatus */
16080 /* [unique][helpstring][dual][uuid][object] */
16081 
16082 
16083 EXTERN_C const IID IID_ISpeechVoiceStatus;
16084 
16085 #if defined(__cplusplus) && !defined(CINTERFACE)
16086 
16087     MIDL_INTERFACE("8BE47B07-57F6-11d2-9EEE-00C04F797396")
16088     ISpeechVoiceStatus : public IDispatch
16089     {
16090     public:
16091         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamNumber(
16092             /* [retval][out] */ long *StreamNumber) = 0;
16093 
16094         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LastStreamNumberQueued(
16095             /* [retval][out] */ long *StreamNumber) = 0;
16096 
16097         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LastHResult(
16098             /* [retval][out] */ long *HResult) = 0;
16099 
16100         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RunningState(
16101             /* [retval][out] */ SpeechRunState *State) = 0;
16102 
16103         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InputWordPosition(
16104             /* [retval][out] */ long *Position) = 0;
16105 
16106         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InputWordLength(
16107             /* [retval][out] */ long *Length) = 0;
16108 
16109         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InputSentencePosition(
16110             /* [retval][out] */ long *Position) = 0;
16111 
16112         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InputSentenceLength(
16113             /* [retval][out] */ long *Length) = 0;
16114 
16115         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LastBookmark(
16116             /* [retval][out] */ BSTR *Bookmark) = 0;
16117 
16118         virtual /* [hidden][id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LastBookmarkId(
16119             /* [retval][out] */ long *BookmarkId) = 0;
16120 
16121         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PhonemeId(
16122             /* [retval][out] */ short *PhoneId) = 0;
16123 
16124         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisemeId(
16125             /* [retval][out] */ short *VisemeId) = 0;
16126 
16127     };
16128 
16129 #else 	/* C style interface */
16130 
16131     typedef struct ISpeechVoiceStatusVtbl
16132     {
16133         BEGIN_INTERFACE
16134 
16135         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
16136             ISpeechVoiceStatus * This,
16137             /* [in] */ REFIID riid,
16138             /* [iid_is][out] */ void **ppvObject);
16139 
16140         ULONG ( STDMETHODCALLTYPE *AddRef )(
16141             ISpeechVoiceStatus * This);
16142 
16143         ULONG ( STDMETHODCALLTYPE *Release )(
16144             ISpeechVoiceStatus * This);
16145 
16146         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
16147             ISpeechVoiceStatus * This,
16148             /* [out] */ UINT *pctinfo);
16149 
16150         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
16151             ISpeechVoiceStatus * This,
16152             /* [in] */ UINT iTInfo,
16153             /* [in] */ LCID lcid,
16154             /* [out] */ ITypeInfo **ppTInfo);
16155 
16156         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
16157             ISpeechVoiceStatus * This,
16158             /* [in] */ REFIID riid,
16159             /* [size_is][in] */ LPOLESTR *rgszNames,
16160             /* [in] */ UINT cNames,
16161             /* [in] */ LCID lcid,
16162             /* [size_is][out] */ DISPID *rgDispId);
16163 
16164         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
16165             ISpeechVoiceStatus * This,
16166             /* [in] */ DISPID dispIdMember,
16167             /* [in] */ REFIID riid,
16168             /* [in] */ LCID lcid,
16169             /* [in] */ WORD wFlags,
16170             /* [out][in] */ DISPPARAMS *pDispParams,
16171             /* [out] */ VARIANT *pVarResult,
16172             /* [out] */ EXCEPINFO *pExcepInfo,
16173             /* [out] */ UINT *puArgErr);
16174 
16175         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStreamNumber )(
16176             ISpeechVoiceStatus * This,
16177             /* [retval][out] */ long *StreamNumber);
16178 
16179         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastStreamNumberQueued )(
16180             ISpeechVoiceStatus * This,
16181             /* [retval][out] */ long *StreamNumber);
16182 
16183         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastHResult )(
16184             ISpeechVoiceStatus * This,
16185             /* [retval][out] */ long *HResult);
16186 
16187         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RunningState )(
16188             ISpeechVoiceStatus * This,
16189             /* [retval][out] */ SpeechRunState *State);
16190 
16191         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputWordPosition )(
16192             ISpeechVoiceStatus * This,
16193             /* [retval][out] */ long *Position);
16194 
16195         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputWordLength )(
16196             ISpeechVoiceStatus * This,
16197             /* [retval][out] */ long *Length);
16198 
16199         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputSentencePosition )(
16200             ISpeechVoiceStatus * This,
16201             /* [retval][out] */ long *Position);
16202 
16203         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputSentenceLength )(
16204             ISpeechVoiceStatus * This,
16205             /* [retval][out] */ long *Length);
16206 
16207         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastBookmark )(
16208             ISpeechVoiceStatus * This,
16209             /* [retval][out] */ BSTR *Bookmark);
16210 
16211         /* [hidden][id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastBookmarkId )(
16212             ISpeechVoiceStatus * This,
16213             /* [retval][out] */ long *BookmarkId);
16214 
16215         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhonemeId )(
16216             ISpeechVoiceStatus * This,
16217             /* [retval][out] */ short *PhoneId);
16218 
16219         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisemeId )(
16220             ISpeechVoiceStatus * This,
16221             /* [retval][out] */ short *VisemeId);
16222 
16223         END_INTERFACE
16224     } ISpeechVoiceStatusVtbl;
16225 
16226     interface ISpeechVoiceStatus
16227     {
16228         CONST_VTBL struct ISpeechVoiceStatusVtbl *lpVtbl;
16229     };
16230 
16231 
16232 
16233 #ifdef COBJMACROS
16234 
16235 
16236 #define ISpeechVoiceStatus_QueryInterface(This,riid,ppvObject)	\
16237     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
16238 
16239 #define ISpeechVoiceStatus_AddRef(This)	\
16240     (This)->lpVtbl -> AddRef(This)
16241 
16242 #define ISpeechVoiceStatus_Release(This)	\
16243     (This)->lpVtbl -> Release(This)
16244 
16245 
16246 #define ISpeechVoiceStatus_GetTypeInfoCount(This,pctinfo)	\
16247     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
16248 
16249 #define ISpeechVoiceStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
16250     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
16251 
16252 #define ISpeechVoiceStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
16253     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
16254 
16255 #define ISpeechVoiceStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
16256     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
16257 
16258 
16259 #define ISpeechVoiceStatus_get_CurrentStreamNumber(This,StreamNumber)	\
16260     (This)->lpVtbl -> get_CurrentStreamNumber(This,StreamNumber)
16261 
16262 #define ISpeechVoiceStatus_get_LastStreamNumberQueued(This,StreamNumber)	\
16263     (This)->lpVtbl -> get_LastStreamNumberQueued(This,StreamNumber)
16264 
16265 #define ISpeechVoiceStatus_get_LastHResult(This,HResult)	\
16266     (This)->lpVtbl -> get_LastHResult(This,HResult)
16267 
16268 #define ISpeechVoiceStatus_get_RunningState(This,State)	\
16269     (This)->lpVtbl -> get_RunningState(This,State)
16270 
16271 #define ISpeechVoiceStatus_get_InputWordPosition(This,Position)	\
16272     (This)->lpVtbl -> get_InputWordPosition(This,Position)
16273 
16274 #define ISpeechVoiceStatus_get_InputWordLength(This,Length)	\
16275     (This)->lpVtbl -> get_InputWordLength(This,Length)
16276 
16277 #define ISpeechVoiceStatus_get_InputSentencePosition(This,Position)	\
16278     (This)->lpVtbl -> get_InputSentencePosition(This,Position)
16279 
16280 #define ISpeechVoiceStatus_get_InputSentenceLength(This,Length)	\
16281     (This)->lpVtbl -> get_InputSentenceLength(This,Length)
16282 
16283 #define ISpeechVoiceStatus_get_LastBookmark(This,Bookmark)	\
16284     (This)->lpVtbl -> get_LastBookmark(This,Bookmark)
16285 
16286 #define ISpeechVoiceStatus_get_LastBookmarkId(This,BookmarkId)	\
16287     (This)->lpVtbl -> get_LastBookmarkId(This,BookmarkId)
16288 
16289 #define ISpeechVoiceStatus_get_PhonemeId(This,PhoneId)	\
16290     (This)->lpVtbl -> get_PhonemeId(This,PhoneId)
16291 
16292 #define ISpeechVoiceStatus_get_VisemeId(This,VisemeId)	\
16293     (This)->lpVtbl -> get_VisemeId(This,VisemeId)
16294 
16295 #endif /* COBJMACROS */
16296 
16297 
16298 #endif 	/* C style interface */
16299 
16300 
16301 
16302 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_CurrentStreamNumber_Proxy(
16303     ISpeechVoiceStatus * This,
16304     /* [retval][out] */ long *StreamNumber);
16305 
16306 
16307 void __RPC_STUB ISpeechVoiceStatus_get_CurrentStreamNumber_Stub(
16308     IRpcStubBuffer *This,
16309     IRpcChannelBuffer *_pRpcChannelBuffer,
16310     PRPC_MESSAGE _pRpcMessage,
16311     DWORD *_pdwStubPhase);
16312 
16313 
16314 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastStreamNumberQueued_Proxy(
16315     ISpeechVoiceStatus * This,
16316     /* [retval][out] */ long *StreamNumber);
16317 
16318 
16319 void __RPC_STUB ISpeechVoiceStatus_get_LastStreamNumberQueued_Stub(
16320     IRpcStubBuffer *This,
16321     IRpcChannelBuffer *_pRpcChannelBuffer,
16322     PRPC_MESSAGE _pRpcMessage,
16323     DWORD *_pdwStubPhase);
16324 
16325 
16326 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastHResult_Proxy(
16327     ISpeechVoiceStatus * This,
16328     /* [retval][out] */ long *HResult);
16329 
16330 
16331 void __RPC_STUB ISpeechVoiceStatus_get_LastHResult_Stub(
16332     IRpcStubBuffer *This,
16333     IRpcChannelBuffer *_pRpcChannelBuffer,
16334     PRPC_MESSAGE _pRpcMessage,
16335     DWORD *_pdwStubPhase);
16336 
16337 
16338 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_RunningState_Proxy(
16339     ISpeechVoiceStatus * This,
16340     /* [retval][out] */ SpeechRunState *State);
16341 
16342 
16343 void __RPC_STUB ISpeechVoiceStatus_get_RunningState_Stub(
16344     IRpcStubBuffer *This,
16345     IRpcChannelBuffer *_pRpcChannelBuffer,
16346     PRPC_MESSAGE _pRpcMessage,
16347     DWORD *_pdwStubPhase);
16348 
16349 
16350 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputWordPosition_Proxy(
16351     ISpeechVoiceStatus * This,
16352     /* [retval][out] */ long *Position);
16353 
16354 
16355 void __RPC_STUB ISpeechVoiceStatus_get_InputWordPosition_Stub(
16356     IRpcStubBuffer *This,
16357     IRpcChannelBuffer *_pRpcChannelBuffer,
16358     PRPC_MESSAGE _pRpcMessage,
16359     DWORD *_pdwStubPhase);
16360 
16361 
16362 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputWordLength_Proxy(
16363     ISpeechVoiceStatus * This,
16364     /* [retval][out] */ long *Length);
16365 
16366 
16367 void __RPC_STUB ISpeechVoiceStatus_get_InputWordLength_Stub(
16368     IRpcStubBuffer *This,
16369     IRpcChannelBuffer *_pRpcChannelBuffer,
16370     PRPC_MESSAGE _pRpcMessage,
16371     DWORD *_pdwStubPhase);
16372 
16373 
16374 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputSentencePosition_Proxy(
16375     ISpeechVoiceStatus * This,
16376     /* [retval][out] */ long *Position);
16377 
16378 
16379 void __RPC_STUB ISpeechVoiceStatus_get_InputSentencePosition_Stub(
16380     IRpcStubBuffer *This,
16381     IRpcChannelBuffer *_pRpcChannelBuffer,
16382     PRPC_MESSAGE _pRpcMessage,
16383     DWORD *_pdwStubPhase);
16384 
16385 
16386 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputSentenceLength_Proxy(
16387     ISpeechVoiceStatus * This,
16388     /* [retval][out] */ long *Length);
16389 
16390 
16391 void __RPC_STUB ISpeechVoiceStatus_get_InputSentenceLength_Stub(
16392     IRpcStubBuffer *This,
16393     IRpcChannelBuffer *_pRpcChannelBuffer,
16394     PRPC_MESSAGE _pRpcMessage,
16395     DWORD *_pdwStubPhase);
16396 
16397 
16398 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastBookmark_Proxy(
16399     ISpeechVoiceStatus * This,
16400     /* [retval][out] */ BSTR *Bookmark);
16401 
16402 
16403 void __RPC_STUB ISpeechVoiceStatus_get_LastBookmark_Stub(
16404     IRpcStubBuffer *This,
16405     IRpcChannelBuffer *_pRpcChannelBuffer,
16406     PRPC_MESSAGE _pRpcMessage,
16407     DWORD *_pdwStubPhase);
16408 
16409 
16410 /* [hidden][id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastBookmarkId_Proxy(
16411     ISpeechVoiceStatus * This,
16412     /* [retval][out] */ long *BookmarkId);
16413 
16414 
16415 void __RPC_STUB ISpeechVoiceStatus_get_LastBookmarkId_Stub(
16416     IRpcStubBuffer *This,
16417     IRpcChannelBuffer *_pRpcChannelBuffer,
16418     PRPC_MESSAGE _pRpcMessage,
16419     DWORD *_pdwStubPhase);
16420 
16421 
16422 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_PhonemeId_Proxy(
16423     ISpeechVoiceStatus * This,
16424     /* [retval][out] */ short *PhoneId);
16425 
16426 
16427 void __RPC_STUB ISpeechVoiceStatus_get_PhonemeId_Stub(
16428     IRpcStubBuffer *This,
16429     IRpcChannelBuffer *_pRpcChannelBuffer,
16430     PRPC_MESSAGE _pRpcMessage,
16431     DWORD *_pdwStubPhase);
16432 
16433 
16434 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_VisemeId_Proxy(
16435     ISpeechVoiceStatus * This,
16436     /* [retval][out] */ short *VisemeId);
16437 
16438 
16439 void __RPC_STUB ISpeechVoiceStatus_get_VisemeId_Stub(
16440     IRpcStubBuffer *This,
16441     IRpcChannelBuffer *_pRpcChannelBuffer,
16442     PRPC_MESSAGE _pRpcMessage,
16443     DWORD *_pdwStubPhase);
16444 
16445 
16446 
16447 #endif 	/* __ISpeechVoiceStatus_INTERFACE_DEFINED__ */
16448 
16449 
16450 #ifndef ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__
16451 #define ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__
16452 
16453 /* dispinterface _ISpeechVoiceEvents */
16454 /* [uuid] */
16455 
16456 
16457 EXTERN_C const IID DIID__ISpeechVoiceEvents;
16458 
16459 #if defined(__cplusplus) && !defined(CINTERFACE)
16460 
16461     MIDL_INTERFACE("A372ACD1-3BEF-4bbd-8FFB-CB3E2B416AF8")
16462     _ISpeechVoiceEvents : public IDispatch
16463     {
16464     };
16465 
16466 #else 	/* C style interface */
16467 
16468     typedef struct _ISpeechVoiceEventsVtbl
16469     {
16470         BEGIN_INTERFACE
16471 
16472         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
16473             _ISpeechVoiceEvents * This,
16474             /* [in] */ REFIID riid,
16475             /* [iid_is][out] */ void **ppvObject);
16476 
16477         ULONG ( STDMETHODCALLTYPE *AddRef )(
16478             _ISpeechVoiceEvents * This);
16479 
16480         ULONG ( STDMETHODCALLTYPE *Release )(
16481             _ISpeechVoiceEvents * This);
16482 
16483         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
16484             _ISpeechVoiceEvents * This,
16485             /* [out] */ UINT *pctinfo);
16486 
16487         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
16488             _ISpeechVoiceEvents * This,
16489             /* [in] */ UINT iTInfo,
16490             /* [in] */ LCID lcid,
16491             /* [out] */ ITypeInfo **ppTInfo);
16492 
16493         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
16494             _ISpeechVoiceEvents * This,
16495             /* [in] */ REFIID riid,
16496             /* [size_is][in] */ LPOLESTR *rgszNames,
16497             /* [in] */ UINT cNames,
16498             /* [in] */ LCID lcid,
16499             /* [size_is][out] */ DISPID *rgDispId);
16500 
16501         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
16502             _ISpeechVoiceEvents * This,
16503             /* [in] */ DISPID dispIdMember,
16504             /* [in] */ REFIID riid,
16505             /* [in] */ LCID lcid,
16506             /* [in] */ WORD wFlags,
16507             /* [out][in] */ DISPPARAMS *pDispParams,
16508             /* [out] */ VARIANT *pVarResult,
16509             /* [out] */ EXCEPINFO *pExcepInfo,
16510             /* [out] */ UINT *puArgErr);
16511 
16512         END_INTERFACE
16513     } _ISpeechVoiceEventsVtbl;
16514 
16515     interface _ISpeechVoiceEvents
16516     {
16517         CONST_VTBL struct _ISpeechVoiceEventsVtbl *lpVtbl;
16518     };
16519 
16520 
16521 
16522 #ifdef COBJMACROS
16523 
16524 
16525 #define _ISpeechVoiceEvents_QueryInterface(This,riid,ppvObject)	\
16526     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
16527 
16528 #define _ISpeechVoiceEvents_AddRef(This)	\
16529     (This)->lpVtbl -> AddRef(This)
16530 
16531 #define _ISpeechVoiceEvents_Release(This)	\
16532     (This)->lpVtbl -> Release(This)
16533 
16534 
16535 #define _ISpeechVoiceEvents_GetTypeInfoCount(This,pctinfo)	\
16536     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
16537 
16538 #define _ISpeechVoiceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
16539     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
16540 
16541 #define _ISpeechVoiceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
16542     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
16543 
16544 #define _ISpeechVoiceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
16545     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
16546 
16547 #endif /* COBJMACROS */
16548 
16549 
16550 #endif 	/* C style interface */
16551 
16552 
16553 #endif 	/* ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__ */
16554 
16555 
16556 #ifndef __ISpeechRecognizer_INTERFACE_DEFINED__
16557 #define __ISpeechRecognizer_INTERFACE_DEFINED__
16558 
16559 /* interface ISpeechRecognizer */
16560 /* [unique][helpstring][dual][uuid][object] */
16561 
16562 
16563 EXTERN_C const IID IID_ISpeechRecognizer;
16564 
16565 #if defined(__cplusplus) && !defined(CINTERFACE)
16566 
16567     MIDL_INTERFACE("2D5F1C0C-BD75-4b08-9478-3B11FEA2586C")
16568     ISpeechRecognizer : public IDispatch
16569     {
16570     public:
16571         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_Recognizer(
16572             /* [in] */ ISpeechObjectToken *Recognizer) = 0;
16573 
16574         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Recognizer(
16575             /* [retval][out] */ ISpeechObjectToken **Recognizer) = 0;
16576 
16577         virtual /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_AllowAudioInputFormatChangesOnNextSet(
16578             /* [in] */ VARIANT_BOOL Allow) = 0;
16579 
16580         virtual /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_AllowAudioInputFormatChangesOnNextSet(
16581             /* [retval][out] */ VARIANT_BOOL *Allow) = 0;
16582 
16583         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_AudioInput(
16584             /* [defaultvalue][in] */ ISpeechObjectToken *AudioInput = 0) = 0;
16585 
16586         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioInput(
16587             /* [retval][out] */ ISpeechObjectToken **AudioInput) = 0;
16588 
16589         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_AudioInputStream(
16590             /* [defaultvalue][in] */ ISpeechBaseStream *AudioInputStream = 0) = 0;
16591 
16592         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioInputStream(
16593             /* [retval][out] */ ISpeechBaseStream **AudioInputStream) = 0;
16594 
16595         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsShared(
16596             /* [retval][out] */ VARIANT_BOOL *Shared) = 0;
16597 
16598         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_State(
16599             /* [in] */ SpeechRecognizerState State) = 0;
16600 
16601         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State(
16602             /* [retval][out] */ SpeechRecognizerState *State) = 0;
16603 
16604         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Status(
16605             /* [retval][out] */ ISpeechRecognizerStatus **Status) = 0;
16606 
16607         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_Profile(
16608             /* [defaultvalue][in] */ ISpeechObjectToken *Profile = 0) = 0;
16609 
16610         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Profile(
16611             /* [retval][out] */ ISpeechObjectToken **Profile) = 0;
16612 
16613         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE EmulateRecognition(
16614             /* [in] */ VARIANT TextElements,
16615             /* [defaultvalue][in] */ VARIANT *ElementDisplayAttributes = 0,
16616             /* [defaultvalue][in] */ long LanguageId = 0) = 0;
16617 
16618         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CreateRecoContext(
16619             /* [retval][out] */ ISpeechRecoContext **NewContext) = 0;
16620 
16621         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetFormat(
16622             /* [in] */ SpeechFormatType Type,
16623             /* [retval][out] */ ISpeechAudioFormat **Format) = 0;
16624 
16625         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE SetPropertyNumber(
16626             /* [in] */ const BSTR Name,
16627             /* [in] */ long Value,
16628             /* [retval][out] */ VARIANT_BOOL *Supported) = 0;
16629 
16630         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE GetPropertyNumber(
16631             /* [in] */ const BSTR Name,
16632             /* [out][in] */ long *Value,
16633             /* [retval][out] */ VARIANT_BOOL *Supported) = 0;
16634 
16635         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE SetPropertyString(
16636             /* [in] */ const BSTR Name,
16637             /* [in] */ const BSTR Value,
16638             /* [retval][out] */ VARIANT_BOOL *Supported) = 0;
16639 
16640         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE GetPropertyString(
16641             /* [in] */ const BSTR Name,
16642             /* [out][in] */ BSTR *Value,
16643             /* [retval][out] */ VARIANT_BOOL *Supported) = 0;
16644 
16645         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE IsUISupported(
16646             /* [in] */ const BSTR TypeOfUI,
16647             /* [defaultvalue][in] */ const VARIANT *ExtraData,
16648             /* [retval][out] */ VARIANT_BOOL *Supported) = 0;
16649 
16650         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DisplayUI(
16651             /* [in] */ long hWndParent,
16652             /* [in] */ BSTR Title,
16653             /* [in] */ const BSTR TypeOfUI,
16654             /* [defaultvalue][in] */ const VARIANT *ExtraData = 0) = 0;
16655 
16656         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetRecognizers(
16657             /* [defaultvalue][in] */ BSTR RequiredAttributes,
16658             /* [defaultvalue][in] */ BSTR OptionalAttributes,
16659             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens) = 0;
16660 
16661         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetAudioInputs(
16662             /* [defaultvalue][in] */ BSTR RequiredAttributes,
16663             /* [defaultvalue][in] */ BSTR OptionalAttributes,
16664             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens) = 0;
16665 
16666         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetProfiles(
16667             /* [defaultvalue][in] */ BSTR RequiredAttributes,
16668             /* [defaultvalue][in] */ BSTR OptionalAttributes,
16669             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens) = 0;
16670 
16671     };
16672 
16673 #else 	/* C style interface */
16674 
16675     typedef struct ISpeechRecognizerVtbl
16676     {
16677         BEGIN_INTERFACE
16678 
16679         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
16680             ISpeechRecognizer * This,
16681             /* [in] */ REFIID riid,
16682             /* [iid_is][out] */ void **ppvObject);
16683 
16684         ULONG ( STDMETHODCALLTYPE *AddRef )(
16685             ISpeechRecognizer * This);
16686 
16687         ULONG ( STDMETHODCALLTYPE *Release )(
16688             ISpeechRecognizer * This);
16689 
16690         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
16691             ISpeechRecognizer * This,
16692             /* [out] */ UINT *pctinfo);
16693 
16694         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
16695             ISpeechRecognizer * This,
16696             /* [in] */ UINT iTInfo,
16697             /* [in] */ LCID lcid,
16698             /* [out] */ ITypeInfo **ppTInfo);
16699 
16700         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
16701             ISpeechRecognizer * This,
16702             /* [in] */ REFIID riid,
16703             /* [size_is][in] */ LPOLESTR *rgszNames,
16704             /* [in] */ UINT cNames,
16705             /* [in] */ LCID lcid,
16706             /* [size_is][out] */ DISPID *rgDispId);
16707 
16708         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
16709             ISpeechRecognizer * This,
16710             /* [in] */ DISPID dispIdMember,
16711             /* [in] */ REFIID riid,
16712             /* [in] */ LCID lcid,
16713             /* [in] */ WORD wFlags,
16714             /* [out][in] */ DISPPARAMS *pDispParams,
16715             /* [out] */ VARIANT *pVarResult,
16716             /* [out] */ EXCEPINFO *pExcepInfo,
16717             /* [out] */ UINT *puArgErr);
16718 
16719         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Recognizer )(
16720             ISpeechRecognizer * This,
16721             /* [in] */ ISpeechObjectToken *Recognizer);
16722 
16723         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Recognizer )(
16724             ISpeechRecognizer * This,
16725             /* [retval][out] */ ISpeechObjectToken **Recognizer);
16726 
16727         /* [id][helpstring][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowAudioInputFormatChangesOnNextSet )(
16728             ISpeechRecognizer * This,
16729             /* [in] */ VARIANT_BOOL Allow);
16730 
16731         /* [id][helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowAudioInputFormatChangesOnNextSet )(
16732             ISpeechRecognizer * This,
16733             /* [retval][out] */ VARIANT_BOOL *Allow);
16734 
16735         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_AudioInput )(
16736             ISpeechRecognizer * This,
16737             /* [defaultvalue][in] */ ISpeechObjectToken *AudioInput);
16738 
16739         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioInput )(
16740             ISpeechRecognizer * This,
16741             /* [retval][out] */ ISpeechObjectToken **AudioInput);
16742 
16743         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_AudioInputStream )(
16744             ISpeechRecognizer * This,
16745             /* [defaultvalue][in] */ ISpeechBaseStream *AudioInputStream);
16746 
16747         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioInputStream )(
16748             ISpeechRecognizer * This,
16749             /* [retval][out] */ ISpeechBaseStream **AudioInputStream);
16750 
16751         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsShared )(
16752             ISpeechRecognizer * This,
16753             /* [retval][out] */ VARIANT_BOOL *Shared);
16754 
16755         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )(
16756             ISpeechRecognizer * This,
16757             /* [in] */ SpeechRecognizerState State);
16758 
16759         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )(
16760             ISpeechRecognizer * This,
16761             /* [retval][out] */ SpeechRecognizerState *State);
16762 
16763         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )(
16764             ISpeechRecognizer * This,
16765             /* [retval][out] */ ISpeechRecognizerStatus **Status);
16766 
16767         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Profile )(
16768             ISpeechRecognizer * This,
16769             /* [defaultvalue][in] */ ISpeechObjectToken *Profile);
16770 
16771         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )(
16772             ISpeechRecognizer * This,
16773             /* [retval][out] */ ISpeechObjectToken **Profile);
16774 
16775         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *EmulateRecognition )(
16776             ISpeechRecognizer * This,
16777             /* [in] */ VARIANT TextElements,
16778             /* [defaultvalue][in] */ VARIANT *ElementDisplayAttributes,
16779             /* [defaultvalue][in] */ long LanguageId);
16780 
16781         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateRecoContext )(
16782             ISpeechRecognizer * This,
16783             /* [retval][out] */ ISpeechRecoContext **NewContext);
16784 
16785         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFormat )(
16786             ISpeechRecognizer * This,
16787             /* [in] */ SpeechFormatType Type,
16788             /* [retval][out] */ ISpeechAudioFormat **Format);
16789 
16790         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPropertyNumber )(
16791             ISpeechRecognizer * This,
16792             /* [in] */ const BSTR Name,
16793             /* [in] */ long Value,
16794             /* [retval][out] */ VARIANT_BOOL *Supported);
16795 
16796         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyNumber )(
16797             ISpeechRecognizer * This,
16798             /* [in] */ const BSTR Name,
16799             /* [out][in] */ long *Value,
16800             /* [retval][out] */ VARIANT_BOOL *Supported);
16801 
16802         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPropertyString )(
16803             ISpeechRecognizer * This,
16804             /* [in] */ const BSTR Name,
16805             /* [in] */ const BSTR Value,
16806             /* [retval][out] */ VARIANT_BOOL *Supported);
16807 
16808         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyString )(
16809             ISpeechRecognizer * This,
16810             /* [in] */ const BSTR Name,
16811             /* [out][in] */ BSTR *Value,
16812             /* [retval][out] */ VARIANT_BOOL *Supported);
16813 
16814         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
16815             ISpeechRecognizer * This,
16816             /* [in] */ const BSTR TypeOfUI,
16817             /* [defaultvalue][in] */ const VARIANT *ExtraData,
16818             /* [retval][out] */ VARIANT_BOOL *Supported);
16819 
16820         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
16821             ISpeechRecognizer * This,
16822             /* [in] */ long hWndParent,
16823             /* [in] */ BSTR Title,
16824             /* [in] */ const BSTR TypeOfUI,
16825             /* [defaultvalue][in] */ const VARIANT *ExtraData);
16826 
16827         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRecognizers )(
16828             ISpeechRecognizer * This,
16829             /* [defaultvalue][in] */ BSTR RequiredAttributes,
16830             /* [defaultvalue][in] */ BSTR OptionalAttributes,
16831             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
16832 
16833         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAudioInputs )(
16834             ISpeechRecognizer * This,
16835             /* [defaultvalue][in] */ BSTR RequiredAttributes,
16836             /* [defaultvalue][in] */ BSTR OptionalAttributes,
16837             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
16838 
16839         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProfiles )(
16840             ISpeechRecognizer * This,
16841             /* [defaultvalue][in] */ BSTR RequiredAttributes,
16842             /* [defaultvalue][in] */ BSTR OptionalAttributes,
16843             /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
16844 
16845         END_INTERFACE
16846     } ISpeechRecognizerVtbl;
16847 
16848     interface ISpeechRecognizer
16849     {
16850         CONST_VTBL struct ISpeechRecognizerVtbl *lpVtbl;
16851     };
16852 
16853 
16854 
16855 #ifdef COBJMACROS
16856 
16857 
16858 #define ISpeechRecognizer_QueryInterface(This,riid,ppvObject)	\
16859     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
16860 
16861 #define ISpeechRecognizer_AddRef(This)	\
16862     (This)->lpVtbl -> AddRef(This)
16863 
16864 #define ISpeechRecognizer_Release(This)	\
16865     (This)->lpVtbl -> Release(This)
16866 
16867 
16868 #define ISpeechRecognizer_GetTypeInfoCount(This,pctinfo)	\
16869     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
16870 
16871 #define ISpeechRecognizer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
16872     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
16873 
16874 #define ISpeechRecognizer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
16875     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
16876 
16877 #define ISpeechRecognizer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
16878     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
16879 
16880 
16881 #define ISpeechRecognizer_putref_Recognizer(This,Recognizer)	\
16882     (This)->lpVtbl -> putref_Recognizer(This,Recognizer)
16883 
16884 #define ISpeechRecognizer_get_Recognizer(This,Recognizer)	\
16885     (This)->lpVtbl -> get_Recognizer(This,Recognizer)
16886 
16887 #define ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet(This,Allow)	\
16888     (This)->lpVtbl -> put_AllowAudioInputFormatChangesOnNextSet(This,Allow)
16889 
16890 #define ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet(This,Allow)	\
16891     (This)->lpVtbl -> get_AllowAudioInputFormatChangesOnNextSet(This,Allow)
16892 
16893 #define ISpeechRecognizer_putref_AudioInput(This,AudioInput)	\
16894     (This)->lpVtbl -> putref_AudioInput(This,AudioInput)
16895 
16896 #define ISpeechRecognizer_get_AudioInput(This,AudioInput)	\
16897     (This)->lpVtbl -> get_AudioInput(This,AudioInput)
16898 
16899 #define ISpeechRecognizer_putref_AudioInputStream(This,AudioInputStream)	\
16900     (This)->lpVtbl -> putref_AudioInputStream(This,AudioInputStream)
16901 
16902 #define ISpeechRecognizer_get_AudioInputStream(This,AudioInputStream)	\
16903     (This)->lpVtbl -> get_AudioInputStream(This,AudioInputStream)
16904 
16905 #define ISpeechRecognizer_get_IsShared(This,Shared)	\
16906     (This)->lpVtbl -> get_IsShared(This,Shared)
16907 
16908 #define ISpeechRecognizer_put_State(This,State)	\
16909     (This)->lpVtbl -> put_State(This,State)
16910 
16911 #define ISpeechRecognizer_get_State(This,State)	\
16912     (This)->lpVtbl -> get_State(This,State)
16913 
16914 #define ISpeechRecognizer_get_Status(This,Status)	\
16915     (This)->lpVtbl -> get_Status(This,Status)
16916 
16917 #define ISpeechRecognizer_putref_Profile(This,Profile)	\
16918     (This)->lpVtbl -> putref_Profile(This,Profile)
16919 
16920 #define ISpeechRecognizer_get_Profile(This,Profile)	\
16921     (This)->lpVtbl -> get_Profile(This,Profile)
16922 
16923 #define ISpeechRecognizer_EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId)	\
16924     (This)->lpVtbl -> EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId)
16925 
16926 #define ISpeechRecognizer_CreateRecoContext(This,NewContext)	\
16927     (This)->lpVtbl -> CreateRecoContext(This,NewContext)
16928 
16929 #define ISpeechRecognizer_GetFormat(This,Type,Format)	\
16930     (This)->lpVtbl -> GetFormat(This,Type,Format)
16931 
16932 #define ISpeechRecognizer_SetPropertyNumber(This,Name,Value,Supported)	\
16933     (This)->lpVtbl -> SetPropertyNumber(This,Name,Value,Supported)
16934 
16935 #define ISpeechRecognizer_GetPropertyNumber(This,Name,Value,Supported)	\
16936     (This)->lpVtbl -> GetPropertyNumber(This,Name,Value,Supported)
16937 
16938 #define ISpeechRecognizer_SetPropertyString(This,Name,Value,Supported)	\
16939     (This)->lpVtbl -> SetPropertyString(This,Name,Value,Supported)
16940 
16941 #define ISpeechRecognizer_GetPropertyString(This,Name,Value,Supported)	\
16942     (This)->lpVtbl -> GetPropertyString(This,Name,Value,Supported)
16943 
16944 #define ISpeechRecognizer_IsUISupported(This,TypeOfUI,ExtraData,Supported)	\
16945     (This)->lpVtbl -> IsUISupported(This,TypeOfUI,ExtraData,Supported)
16946 
16947 #define ISpeechRecognizer_DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)	\
16948     (This)->lpVtbl -> DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)
16949 
16950 #define ISpeechRecognizer_GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens)	\
16951     (This)->lpVtbl -> GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
16952 
16953 #define ISpeechRecognizer_GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)	\
16954     (This)->lpVtbl -> GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
16955 
16956 #define ISpeechRecognizer_GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens)	\
16957     (This)->lpVtbl -> GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
16958 
16959 #endif /* COBJMACROS */
16960 
16961 
16962 #endif 	/* C style interface */
16963 
16964 
16965 
16966 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_Recognizer_Proxy(
16967     ISpeechRecognizer * This,
16968     /* [in] */ ISpeechObjectToken *Recognizer);
16969 
16970 
16971 void __RPC_STUB ISpeechRecognizer_putref_Recognizer_Stub(
16972     IRpcStubBuffer *This,
16973     IRpcChannelBuffer *_pRpcChannelBuffer,
16974     PRPC_MESSAGE _pRpcMessage,
16975     DWORD *_pdwStubPhase);
16976 
16977 
16978 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Recognizer_Proxy(
16979     ISpeechRecognizer * This,
16980     /* [retval][out] */ ISpeechObjectToken **Recognizer);
16981 
16982 
16983 void __RPC_STUB ISpeechRecognizer_get_Recognizer_Stub(
16984     IRpcStubBuffer *This,
16985     IRpcChannelBuffer *_pRpcChannelBuffer,
16986     PRPC_MESSAGE _pRpcMessage,
16987     DWORD *_pdwStubPhase);
16988 
16989 
16990 /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet_Proxy(
16991     ISpeechRecognizer * This,
16992     /* [in] */ VARIANT_BOOL Allow);
16993 
16994 
16995 void __RPC_STUB ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet_Stub(
16996     IRpcStubBuffer *This,
16997     IRpcChannelBuffer *_pRpcChannelBuffer,
16998     PRPC_MESSAGE _pRpcMessage,
16999     DWORD *_pdwStubPhase);
17000 
17001 
17002 /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet_Proxy(
17003     ISpeechRecognizer * This,
17004     /* [retval][out] */ VARIANT_BOOL *Allow);
17005 
17006 
17007 void __RPC_STUB ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet_Stub(
17008     IRpcStubBuffer *This,
17009     IRpcChannelBuffer *_pRpcChannelBuffer,
17010     PRPC_MESSAGE _pRpcMessage,
17011     DWORD *_pdwStubPhase);
17012 
17013 
17014 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_AudioInput_Proxy(
17015     ISpeechRecognizer * This,
17016     /* [defaultvalue][in] */ ISpeechObjectToken *AudioInput);
17017 
17018 
17019 void __RPC_STUB ISpeechRecognizer_putref_AudioInput_Stub(
17020     IRpcStubBuffer *This,
17021     IRpcChannelBuffer *_pRpcChannelBuffer,
17022     PRPC_MESSAGE _pRpcMessage,
17023     DWORD *_pdwStubPhase);
17024 
17025 
17026 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AudioInput_Proxy(
17027     ISpeechRecognizer * This,
17028     /* [retval][out] */ ISpeechObjectToken **AudioInput);
17029 
17030 
17031 void __RPC_STUB ISpeechRecognizer_get_AudioInput_Stub(
17032     IRpcStubBuffer *This,
17033     IRpcChannelBuffer *_pRpcChannelBuffer,
17034     PRPC_MESSAGE _pRpcMessage,
17035     DWORD *_pdwStubPhase);
17036 
17037 
17038 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_AudioInputStream_Proxy(
17039     ISpeechRecognizer * This,
17040     /* [defaultvalue][in] */ ISpeechBaseStream *AudioInputStream);
17041 
17042 
17043 void __RPC_STUB ISpeechRecognizer_putref_AudioInputStream_Stub(
17044     IRpcStubBuffer *This,
17045     IRpcChannelBuffer *_pRpcChannelBuffer,
17046     PRPC_MESSAGE _pRpcMessage,
17047     DWORD *_pdwStubPhase);
17048 
17049 
17050 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AudioInputStream_Proxy(
17051     ISpeechRecognizer * This,
17052     /* [retval][out] */ ISpeechBaseStream **AudioInputStream);
17053 
17054 
17055 void __RPC_STUB ISpeechRecognizer_get_AudioInputStream_Stub(
17056     IRpcStubBuffer *This,
17057     IRpcChannelBuffer *_pRpcChannelBuffer,
17058     PRPC_MESSAGE _pRpcMessage,
17059     DWORD *_pdwStubPhase);
17060 
17061 
17062 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_IsShared_Proxy(
17063     ISpeechRecognizer * This,
17064     /* [retval][out] */ VARIANT_BOOL *Shared);
17065 
17066 
17067 void __RPC_STUB ISpeechRecognizer_get_IsShared_Stub(
17068     IRpcStubBuffer *This,
17069     IRpcChannelBuffer *_pRpcChannelBuffer,
17070     PRPC_MESSAGE _pRpcMessage,
17071     DWORD *_pdwStubPhase);
17072 
17073 
17074 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_put_State_Proxy(
17075     ISpeechRecognizer * This,
17076     /* [in] */ SpeechRecognizerState State);
17077 
17078 
17079 void __RPC_STUB ISpeechRecognizer_put_State_Stub(
17080     IRpcStubBuffer *This,
17081     IRpcChannelBuffer *_pRpcChannelBuffer,
17082     PRPC_MESSAGE _pRpcMessage,
17083     DWORD *_pdwStubPhase);
17084 
17085 
17086 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_State_Proxy(
17087     ISpeechRecognizer * This,
17088     /* [retval][out] */ SpeechRecognizerState *State);
17089 
17090 
17091 void __RPC_STUB ISpeechRecognizer_get_State_Stub(
17092     IRpcStubBuffer *This,
17093     IRpcChannelBuffer *_pRpcChannelBuffer,
17094     PRPC_MESSAGE _pRpcMessage,
17095     DWORD *_pdwStubPhase);
17096 
17097 
17098 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Status_Proxy(
17099     ISpeechRecognizer * This,
17100     /* [retval][out] */ ISpeechRecognizerStatus **Status);
17101 
17102 
17103 void __RPC_STUB ISpeechRecognizer_get_Status_Stub(
17104     IRpcStubBuffer *This,
17105     IRpcChannelBuffer *_pRpcChannelBuffer,
17106     PRPC_MESSAGE _pRpcMessage,
17107     DWORD *_pdwStubPhase);
17108 
17109 
17110 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_Profile_Proxy(
17111     ISpeechRecognizer * This,
17112     /* [defaultvalue][in] */ ISpeechObjectToken *Profile);
17113 
17114 
17115 void __RPC_STUB ISpeechRecognizer_putref_Profile_Stub(
17116     IRpcStubBuffer *This,
17117     IRpcChannelBuffer *_pRpcChannelBuffer,
17118     PRPC_MESSAGE _pRpcMessage,
17119     DWORD *_pdwStubPhase);
17120 
17121 
17122 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Profile_Proxy(
17123     ISpeechRecognizer * This,
17124     /* [retval][out] */ ISpeechObjectToken **Profile);
17125 
17126 
17127 void __RPC_STUB ISpeechRecognizer_get_Profile_Stub(
17128     IRpcStubBuffer *This,
17129     IRpcChannelBuffer *_pRpcChannelBuffer,
17130     PRPC_MESSAGE _pRpcMessage,
17131     DWORD *_pdwStubPhase);
17132 
17133 
17134 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_EmulateRecognition_Proxy(
17135     ISpeechRecognizer * This,
17136     /* [in] */ VARIANT TextElements,
17137     /* [defaultvalue][in] */ VARIANT *ElementDisplayAttributes,
17138     /* [defaultvalue][in] */ long LanguageId);
17139 
17140 
17141 void __RPC_STUB ISpeechRecognizer_EmulateRecognition_Stub(
17142     IRpcStubBuffer *This,
17143     IRpcChannelBuffer *_pRpcChannelBuffer,
17144     PRPC_MESSAGE _pRpcMessage,
17145     DWORD *_pdwStubPhase);
17146 
17147 
17148 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_CreateRecoContext_Proxy(
17149     ISpeechRecognizer * This,
17150     /* [retval][out] */ ISpeechRecoContext **NewContext);
17151 
17152 
17153 void __RPC_STUB ISpeechRecognizer_CreateRecoContext_Stub(
17154     IRpcStubBuffer *This,
17155     IRpcChannelBuffer *_pRpcChannelBuffer,
17156     PRPC_MESSAGE _pRpcMessage,
17157     DWORD *_pdwStubPhase);
17158 
17159 
17160 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetFormat_Proxy(
17161     ISpeechRecognizer * This,
17162     /* [in] */ SpeechFormatType Type,
17163     /* [retval][out] */ ISpeechAudioFormat **Format);
17164 
17165 
17166 void __RPC_STUB ISpeechRecognizer_GetFormat_Stub(
17167     IRpcStubBuffer *This,
17168     IRpcChannelBuffer *_pRpcChannelBuffer,
17169     PRPC_MESSAGE _pRpcMessage,
17170     DWORD *_pdwStubPhase);
17171 
17172 
17173 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_SetPropertyNumber_Proxy(
17174     ISpeechRecognizer * This,
17175     /* [in] */ const BSTR Name,
17176     /* [in] */ long Value,
17177     /* [retval][out] */ VARIANT_BOOL *Supported);
17178 
17179 
17180 void __RPC_STUB ISpeechRecognizer_SetPropertyNumber_Stub(
17181     IRpcStubBuffer *This,
17182     IRpcChannelBuffer *_pRpcChannelBuffer,
17183     PRPC_MESSAGE _pRpcMessage,
17184     DWORD *_pdwStubPhase);
17185 
17186 
17187 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetPropertyNumber_Proxy(
17188     ISpeechRecognizer * This,
17189     /* [in] */ const BSTR Name,
17190     /* [out][in] */ long *Value,
17191     /* [retval][out] */ VARIANT_BOOL *Supported);
17192 
17193 
17194 void __RPC_STUB ISpeechRecognizer_GetPropertyNumber_Stub(
17195     IRpcStubBuffer *This,
17196     IRpcChannelBuffer *_pRpcChannelBuffer,
17197     PRPC_MESSAGE _pRpcMessage,
17198     DWORD *_pdwStubPhase);
17199 
17200 
17201 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_SetPropertyString_Proxy(
17202     ISpeechRecognizer * This,
17203     /* [in] */ const BSTR Name,
17204     /* [in] */ const BSTR Value,
17205     /* [retval][out] */ VARIANT_BOOL *Supported);
17206 
17207 
17208 void __RPC_STUB ISpeechRecognizer_SetPropertyString_Stub(
17209     IRpcStubBuffer *This,
17210     IRpcChannelBuffer *_pRpcChannelBuffer,
17211     PRPC_MESSAGE _pRpcMessage,
17212     DWORD *_pdwStubPhase);
17213 
17214 
17215 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetPropertyString_Proxy(
17216     ISpeechRecognizer * This,
17217     /* [in] */ const BSTR Name,
17218     /* [out][in] */ BSTR *Value,
17219     /* [retval][out] */ VARIANT_BOOL *Supported);
17220 
17221 
17222 void __RPC_STUB ISpeechRecognizer_GetPropertyString_Stub(
17223     IRpcStubBuffer *This,
17224     IRpcChannelBuffer *_pRpcChannelBuffer,
17225     PRPC_MESSAGE _pRpcMessage,
17226     DWORD *_pdwStubPhase);
17227 
17228 
17229 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_IsUISupported_Proxy(
17230     ISpeechRecognizer * This,
17231     /* [in] */ const BSTR TypeOfUI,
17232     /* [defaultvalue][in] */ const VARIANT *ExtraData,
17233     /* [retval][out] */ VARIANT_BOOL *Supported);
17234 
17235 
17236 void __RPC_STUB ISpeechRecognizer_IsUISupported_Stub(
17237     IRpcStubBuffer *This,
17238     IRpcChannelBuffer *_pRpcChannelBuffer,
17239     PRPC_MESSAGE _pRpcMessage,
17240     DWORD *_pdwStubPhase);
17241 
17242 
17243 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_DisplayUI_Proxy(
17244     ISpeechRecognizer * This,
17245     /* [in] */ long hWndParent,
17246     /* [in] */ BSTR Title,
17247     /* [in] */ const BSTR TypeOfUI,
17248     /* [defaultvalue][in] */ const VARIANT *ExtraData);
17249 
17250 
17251 void __RPC_STUB ISpeechRecognizer_DisplayUI_Stub(
17252     IRpcStubBuffer *This,
17253     IRpcChannelBuffer *_pRpcChannelBuffer,
17254     PRPC_MESSAGE _pRpcMessage,
17255     DWORD *_pdwStubPhase);
17256 
17257 
17258 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetRecognizers_Proxy(
17259     ISpeechRecognizer * This,
17260     /* [defaultvalue][in] */ BSTR RequiredAttributes,
17261     /* [defaultvalue][in] */ BSTR OptionalAttributes,
17262     /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
17263 
17264 
17265 void __RPC_STUB ISpeechRecognizer_GetRecognizers_Stub(
17266     IRpcStubBuffer *This,
17267     IRpcChannelBuffer *_pRpcChannelBuffer,
17268     PRPC_MESSAGE _pRpcMessage,
17269     DWORD *_pdwStubPhase);
17270 
17271 
17272 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetAudioInputs_Proxy(
17273     ISpeechRecognizer * This,
17274     /* [defaultvalue][in] */ BSTR RequiredAttributes,
17275     /* [defaultvalue][in] */ BSTR OptionalAttributes,
17276     /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
17277 
17278 
17279 void __RPC_STUB ISpeechRecognizer_GetAudioInputs_Stub(
17280     IRpcStubBuffer *This,
17281     IRpcChannelBuffer *_pRpcChannelBuffer,
17282     PRPC_MESSAGE _pRpcMessage,
17283     DWORD *_pdwStubPhase);
17284 
17285 
17286 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetProfiles_Proxy(
17287     ISpeechRecognizer * This,
17288     /* [defaultvalue][in] */ BSTR RequiredAttributes,
17289     /* [defaultvalue][in] */ BSTR OptionalAttributes,
17290     /* [retval][out] */ ISpeechObjectTokens **ObjectTokens);
17291 
17292 
17293 void __RPC_STUB ISpeechRecognizer_GetProfiles_Stub(
17294     IRpcStubBuffer *This,
17295     IRpcChannelBuffer *_pRpcChannelBuffer,
17296     PRPC_MESSAGE _pRpcMessage,
17297     DWORD *_pdwStubPhase);
17298 
17299 
17300 
17301 #endif 	/* __ISpeechRecognizer_INTERFACE_DEFINED__ */
17302 
17303 
17304 #ifndef __ISpeechRecognizerStatus_INTERFACE_DEFINED__
17305 #define __ISpeechRecognizerStatus_INTERFACE_DEFINED__
17306 
17307 /* interface ISpeechRecognizerStatus */
17308 /* [unique][helpstring][dual][uuid][object] */
17309 
17310 
17311 EXTERN_C const IID IID_ISpeechRecognizerStatus;
17312 
17313 #if defined(__cplusplus) && !defined(CINTERFACE)
17314 
17315     MIDL_INTERFACE("BFF9E781-53EC-484e-BB8A-0E1B5551E35C")
17316     ISpeechRecognizerStatus : public IDispatch
17317     {
17318     public:
17319         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioStatus(
17320             /* [retval][out] */ ISpeechAudioStatus **AudioStatus) = 0;
17321 
17322         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamPosition(
17323             /* [retval][out] */ VARIANT *pCurrentStreamPos) = 0;
17324 
17325         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamNumber(
17326             /* [retval][out] */ long *StreamNumber) = 0;
17327 
17328         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfActiveRules(
17329             /* [retval][out] */ long *NumberOfActiveRules) = 0;
17330 
17331         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ClsidEngine(
17332             /* [retval][out] */ BSTR *ClsidEngine) = 0;
17333 
17334         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SupportedLanguages(
17335             /* [retval][out] */ VARIANT *SupportedLanguages) = 0;
17336 
17337     };
17338 
17339 #else 	/* C style interface */
17340 
17341     typedef struct ISpeechRecognizerStatusVtbl
17342     {
17343         BEGIN_INTERFACE
17344 
17345         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
17346             ISpeechRecognizerStatus * This,
17347             /* [in] */ REFIID riid,
17348             /* [iid_is][out] */ void **ppvObject);
17349 
17350         ULONG ( STDMETHODCALLTYPE *AddRef )(
17351             ISpeechRecognizerStatus * This);
17352 
17353         ULONG ( STDMETHODCALLTYPE *Release )(
17354             ISpeechRecognizerStatus * This);
17355 
17356         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
17357             ISpeechRecognizerStatus * This,
17358             /* [out] */ UINT *pctinfo);
17359 
17360         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
17361             ISpeechRecognizerStatus * This,
17362             /* [in] */ UINT iTInfo,
17363             /* [in] */ LCID lcid,
17364             /* [out] */ ITypeInfo **ppTInfo);
17365 
17366         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
17367             ISpeechRecognizerStatus * This,
17368             /* [in] */ REFIID riid,
17369             /* [size_is][in] */ LPOLESTR *rgszNames,
17370             /* [in] */ UINT cNames,
17371             /* [in] */ LCID lcid,
17372             /* [size_is][out] */ DISPID *rgDispId);
17373 
17374         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
17375             ISpeechRecognizerStatus * This,
17376             /* [in] */ DISPID dispIdMember,
17377             /* [in] */ REFIID riid,
17378             /* [in] */ LCID lcid,
17379             /* [in] */ WORD wFlags,
17380             /* [out][in] */ DISPPARAMS *pDispParams,
17381             /* [out] */ VARIANT *pVarResult,
17382             /* [out] */ EXCEPINFO *pExcepInfo,
17383             /* [out] */ UINT *puArgErr);
17384 
17385         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioStatus )(
17386             ISpeechRecognizerStatus * This,
17387             /* [retval][out] */ ISpeechAudioStatus **AudioStatus);
17388 
17389         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStreamPosition )(
17390             ISpeechRecognizerStatus * This,
17391             /* [retval][out] */ VARIANT *pCurrentStreamPos);
17392 
17393         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentStreamNumber )(
17394             ISpeechRecognizerStatus * This,
17395             /* [retval][out] */ long *StreamNumber);
17396 
17397         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfActiveRules )(
17398             ISpeechRecognizerStatus * This,
17399             /* [retval][out] */ long *NumberOfActiveRules);
17400 
17401         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClsidEngine )(
17402             ISpeechRecognizerStatus * This,
17403             /* [retval][out] */ BSTR *ClsidEngine);
17404 
17405         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SupportedLanguages )(
17406             ISpeechRecognizerStatus * This,
17407             /* [retval][out] */ VARIANT *SupportedLanguages);
17408 
17409         END_INTERFACE
17410     } ISpeechRecognizerStatusVtbl;
17411 
17412     interface ISpeechRecognizerStatus
17413     {
17414         CONST_VTBL struct ISpeechRecognizerStatusVtbl *lpVtbl;
17415     };
17416 
17417 
17418 
17419 #ifdef COBJMACROS
17420 
17421 
17422 #define ISpeechRecognizerStatus_QueryInterface(This,riid,ppvObject)	\
17423     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
17424 
17425 #define ISpeechRecognizerStatus_AddRef(This)	\
17426     (This)->lpVtbl -> AddRef(This)
17427 
17428 #define ISpeechRecognizerStatus_Release(This)	\
17429     (This)->lpVtbl -> Release(This)
17430 
17431 
17432 #define ISpeechRecognizerStatus_GetTypeInfoCount(This,pctinfo)	\
17433     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
17434 
17435 #define ISpeechRecognizerStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
17436     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
17437 
17438 #define ISpeechRecognizerStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
17439     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
17440 
17441 #define ISpeechRecognizerStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
17442     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
17443 
17444 
17445 #define ISpeechRecognizerStatus_get_AudioStatus(This,AudioStatus)	\
17446     (This)->lpVtbl -> get_AudioStatus(This,AudioStatus)
17447 
17448 #define ISpeechRecognizerStatus_get_CurrentStreamPosition(This,pCurrentStreamPos)	\
17449     (This)->lpVtbl -> get_CurrentStreamPosition(This,pCurrentStreamPos)
17450 
17451 #define ISpeechRecognizerStatus_get_CurrentStreamNumber(This,StreamNumber)	\
17452     (This)->lpVtbl -> get_CurrentStreamNumber(This,StreamNumber)
17453 
17454 #define ISpeechRecognizerStatus_get_NumberOfActiveRules(This,NumberOfActiveRules)	\
17455     (This)->lpVtbl -> get_NumberOfActiveRules(This,NumberOfActiveRules)
17456 
17457 #define ISpeechRecognizerStatus_get_ClsidEngine(This,ClsidEngine)	\
17458     (This)->lpVtbl -> get_ClsidEngine(This,ClsidEngine)
17459 
17460 #define ISpeechRecognizerStatus_get_SupportedLanguages(This,SupportedLanguages)	\
17461     (This)->lpVtbl -> get_SupportedLanguages(This,SupportedLanguages)
17462 
17463 #endif /* COBJMACROS */
17464 
17465 
17466 #endif 	/* C style interface */
17467 
17468 
17469 
17470 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_AudioStatus_Proxy(
17471     ISpeechRecognizerStatus * This,
17472     /* [retval][out] */ ISpeechAudioStatus **AudioStatus);
17473 
17474 
17475 void __RPC_STUB ISpeechRecognizerStatus_get_AudioStatus_Stub(
17476     IRpcStubBuffer *This,
17477     IRpcChannelBuffer *_pRpcChannelBuffer,
17478     PRPC_MESSAGE _pRpcMessage,
17479     DWORD *_pdwStubPhase);
17480 
17481 
17482 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_CurrentStreamPosition_Proxy(
17483     ISpeechRecognizerStatus * This,
17484     /* [retval][out] */ VARIANT *pCurrentStreamPos);
17485 
17486 
17487 void __RPC_STUB ISpeechRecognizerStatus_get_CurrentStreamPosition_Stub(
17488     IRpcStubBuffer *This,
17489     IRpcChannelBuffer *_pRpcChannelBuffer,
17490     PRPC_MESSAGE _pRpcMessage,
17491     DWORD *_pdwStubPhase);
17492 
17493 
17494 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_CurrentStreamNumber_Proxy(
17495     ISpeechRecognizerStatus * This,
17496     /* [retval][out] */ long *StreamNumber);
17497 
17498 
17499 void __RPC_STUB ISpeechRecognizerStatus_get_CurrentStreamNumber_Stub(
17500     IRpcStubBuffer *This,
17501     IRpcChannelBuffer *_pRpcChannelBuffer,
17502     PRPC_MESSAGE _pRpcMessage,
17503     DWORD *_pdwStubPhase);
17504 
17505 
17506 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_NumberOfActiveRules_Proxy(
17507     ISpeechRecognizerStatus * This,
17508     /* [retval][out] */ long *NumberOfActiveRules);
17509 
17510 
17511 void __RPC_STUB ISpeechRecognizerStatus_get_NumberOfActiveRules_Stub(
17512     IRpcStubBuffer *This,
17513     IRpcChannelBuffer *_pRpcChannelBuffer,
17514     PRPC_MESSAGE _pRpcMessage,
17515     DWORD *_pdwStubPhase);
17516 
17517 
17518 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_ClsidEngine_Proxy(
17519     ISpeechRecognizerStatus * This,
17520     /* [retval][out] */ BSTR *ClsidEngine);
17521 
17522 
17523 void __RPC_STUB ISpeechRecognizerStatus_get_ClsidEngine_Stub(
17524     IRpcStubBuffer *This,
17525     IRpcChannelBuffer *_pRpcChannelBuffer,
17526     PRPC_MESSAGE _pRpcMessage,
17527     DWORD *_pdwStubPhase);
17528 
17529 
17530 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_SupportedLanguages_Proxy(
17531     ISpeechRecognizerStatus * This,
17532     /* [retval][out] */ VARIANT *SupportedLanguages);
17533 
17534 
17535 void __RPC_STUB ISpeechRecognizerStatus_get_SupportedLanguages_Stub(
17536     IRpcStubBuffer *This,
17537     IRpcChannelBuffer *_pRpcChannelBuffer,
17538     PRPC_MESSAGE _pRpcMessage,
17539     DWORD *_pdwStubPhase);
17540 
17541 
17542 
17543 #endif 	/* __ISpeechRecognizerStatus_INTERFACE_DEFINED__ */
17544 
17545 
17546 #ifndef __ISpeechRecoContext_INTERFACE_DEFINED__
17547 #define __ISpeechRecoContext_INTERFACE_DEFINED__
17548 
17549 /* interface ISpeechRecoContext */
17550 /* [unique][helpstring][dual][uuid][object] */
17551 
17552 
17553 EXTERN_C const IID IID_ISpeechRecoContext;
17554 
17555 #if defined(__cplusplus) && !defined(CINTERFACE)
17556 
17557     MIDL_INTERFACE("580AA49D-7E1E-4809-B8E2-57DA806104B8")
17558     ISpeechRecoContext : public IDispatch
17559     {
17560     public:
17561         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Recognizer(
17562             /* [retval][out] */ ISpeechRecognizer **Recognizer) = 0;
17563 
17564         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioInputInterferenceStatus(
17565             /* [retval][out] */ SpeechInterference *Interference) = 0;
17566 
17567         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RequestedUIType(
17568             /* [retval][out] */ BSTR *UIType) = 0;
17569 
17570         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_Voice(
17571             /* [in] */ ISpeechVoice *Voice) = 0;
17572 
17573         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Voice(
17574             /* [retval][out] */ ISpeechVoice **Voice) = 0;
17575 
17576         virtual /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_AllowVoiceFormatMatchingOnNextSet(
17577             /* [in] */ VARIANT_BOOL Allow) = 0;
17578 
17579         virtual /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_AllowVoiceFormatMatchingOnNextSet(
17580             /* [retval][out] */ VARIANT_BOOL *pAllow) = 0;
17581 
17582         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VoicePurgeEvent(
17583             /* [in] */ SpeechRecoEvents EventInterest) = 0;
17584 
17585         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VoicePurgeEvent(
17586             /* [retval][out] */ SpeechRecoEvents *EventInterest) = 0;
17587 
17588         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventInterests(
17589             /* [in] */ SpeechRecoEvents EventInterest) = 0;
17590 
17591         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EventInterests(
17592             /* [retval][out] */ SpeechRecoEvents *EventInterest) = 0;
17593 
17594         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CmdMaxAlternates(
17595             /* [in] */ long MaxAlternates) = 0;
17596 
17597         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CmdMaxAlternates(
17598             /* [retval][out] */ long *MaxAlternates) = 0;
17599 
17600         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_State(
17601             /* [in] */ SpeechRecoContextState State) = 0;
17602 
17603         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State(
17604             /* [retval][out] */ SpeechRecoContextState *State) = 0;
17605 
17606         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RetainedAudio(
17607             /* [in] */ SpeechRetainedAudioOptions Option) = 0;
17608 
17609         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RetainedAudio(
17610             /* [retval][out] */ SpeechRetainedAudioOptions *Option) = 0;
17611 
17612         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_RetainedAudioFormat(
17613             /* [in] */ ISpeechAudioFormat *Format) = 0;
17614 
17615         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RetainedAudioFormat(
17616             /* [retval][out] */ ISpeechAudioFormat **Format) = 0;
17617 
17618         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
17619 
17620         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Resume( void) = 0;
17621 
17622         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CreateGrammar(
17623             /* [defaultvalue][in] */ VARIANT GrammarId,
17624             /* [retval][out] */ ISpeechRecoGrammar **Grammar) = 0;
17625 
17626         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CreateResultFromMemory(
17627             /* [in] */ VARIANT *ResultBlock,
17628             /* [retval][out] */ ISpeechRecoResult **Result) = 0;
17629 
17630         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Bookmark(
17631             /* [in] */ SpeechBookmarkOptions Options,
17632             /* [in] */ VARIANT StreamPos,
17633             /* [in] */ VARIANT BookmarkId) = 0;
17634 
17635         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetAdaptationData(
17636             /* [in] */ BSTR AdaptationString) = 0;
17637 
17638     };
17639 
17640 #else 	/* C style interface */
17641 
17642     typedef struct ISpeechRecoContextVtbl
17643     {
17644         BEGIN_INTERFACE
17645 
17646         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
17647             ISpeechRecoContext * This,
17648             /* [in] */ REFIID riid,
17649             /* [iid_is][out] */ void **ppvObject);
17650 
17651         ULONG ( STDMETHODCALLTYPE *AddRef )(
17652             ISpeechRecoContext * This);
17653 
17654         ULONG ( STDMETHODCALLTYPE *Release )(
17655             ISpeechRecoContext * This);
17656 
17657         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
17658             ISpeechRecoContext * This,
17659             /* [out] */ UINT *pctinfo);
17660 
17661         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
17662             ISpeechRecoContext * This,
17663             /* [in] */ UINT iTInfo,
17664             /* [in] */ LCID lcid,
17665             /* [out] */ ITypeInfo **ppTInfo);
17666 
17667         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
17668             ISpeechRecoContext * This,
17669             /* [in] */ REFIID riid,
17670             /* [size_is][in] */ LPOLESTR *rgszNames,
17671             /* [in] */ UINT cNames,
17672             /* [in] */ LCID lcid,
17673             /* [size_is][out] */ DISPID *rgDispId);
17674 
17675         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
17676             ISpeechRecoContext * This,
17677             /* [in] */ DISPID dispIdMember,
17678             /* [in] */ REFIID riid,
17679             /* [in] */ LCID lcid,
17680             /* [in] */ WORD wFlags,
17681             /* [out][in] */ DISPPARAMS *pDispParams,
17682             /* [out] */ VARIANT *pVarResult,
17683             /* [out] */ EXCEPINFO *pExcepInfo,
17684             /* [out] */ UINT *puArgErr);
17685 
17686         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Recognizer )(
17687             ISpeechRecoContext * This,
17688             /* [retval][out] */ ISpeechRecognizer **Recognizer);
17689 
17690         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioInputInterferenceStatus )(
17691             ISpeechRecoContext * This,
17692             /* [retval][out] */ SpeechInterference *Interference);
17693 
17694         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestedUIType )(
17695             ISpeechRecoContext * This,
17696             /* [retval][out] */ BSTR *UIType);
17697 
17698         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Voice )(
17699             ISpeechRecoContext * This,
17700             /* [in] */ ISpeechVoice *Voice);
17701 
17702         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Voice )(
17703             ISpeechRecoContext * This,
17704             /* [retval][out] */ ISpeechVoice **Voice);
17705 
17706         /* [id][helpstring][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowVoiceFormatMatchingOnNextSet )(
17707             ISpeechRecoContext * This,
17708             /* [in] */ VARIANT_BOOL Allow);
17709 
17710         /* [id][helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowVoiceFormatMatchingOnNextSet )(
17711             ISpeechRecoContext * This,
17712             /* [retval][out] */ VARIANT_BOOL *pAllow);
17713 
17714         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VoicePurgeEvent )(
17715             ISpeechRecoContext * This,
17716             /* [in] */ SpeechRecoEvents EventInterest);
17717 
17718         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VoicePurgeEvent )(
17719             ISpeechRecoContext * This,
17720             /* [retval][out] */ SpeechRecoEvents *EventInterest);
17721 
17722         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventInterests )(
17723             ISpeechRecoContext * This,
17724             /* [in] */ SpeechRecoEvents EventInterest);
17725 
17726         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventInterests )(
17727             ISpeechRecoContext * This,
17728             /* [retval][out] */ SpeechRecoEvents *EventInterest);
17729 
17730         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CmdMaxAlternates )(
17731             ISpeechRecoContext * This,
17732             /* [in] */ long MaxAlternates);
17733 
17734         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CmdMaxAlternates )(
17735             ISpeechRecoContext * This,
17736             /* [retval][out] */ long *MaxAlternates);
17737 
17738         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )(
17739             ISpeechRecoContext * This,
17740             /* [in] */ SpeechRecoContextState State);
17741 
17742         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )(
17743             ISpeechRecoContext * This,
17744             /* [retval][out] */ SpeechRecoContextState *State);
17745 
17746         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RetainedAudio )(
17747             ISpeechRecoContext * This,
17748             /* [in] */ SpeechRetainedAudioOptions Option);
17749 
17750         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RetainedAudio )(
17751             ISpeechRecoContext * This,
17752             /* [retval][out] */ SpeechRetainedAudioOptions *Option);
17753 
17754         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_RetainedAudioFormat )(
17755             ISpeechRecoContext * This,
17756             /* [in] */ ISpeechAudioFormat *Format);
17757 
17758         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RetainedAudioFormat )(
17759             ISpeechRecoContext * This,
17760             /* [retval][out] */ ISpeechAudioFormat **Format);
17761 
17762         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Pause )(
17763             ISpeechRecoContext * This);
17764 
17765         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Resume )(
17766             ISpeechRecoContext * This);
17767 
17768         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateGrammar )(
17769             ISpeechRecoContext * This,
17770             /* [defaultvalue][in] */ VARIANT GrammarId,
17771             /* [retval][out] */ ISpeechRecoGrammar **Grammar);
17772 
17773         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateResultFromMemory )(
17774             ISpeechRecoContext * This,
17775             /* [in] */ VARIANT *ResultBlock,
17776             /* [retval][out] */ ISpeechRecoResult **Result);
17777 
17778         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Bookmark )(
17779             ISpeechRecoContext * This,
17780             /* [in] */ SpeechBookmarkOptions Options,
17781             /* [in] */ VARIANT StreamPos,
17782             /* [in] */ VARIANT BookmarkId);
17783 
17784         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAdaptationData )(
17785             ISpeechRecoContext * This,
17786             /* [in] */ BSTR AdaptationString);
17787 
17788         END_INTERFACE
17789     } ISpeechRecoContextVtbl;
17790 
17791     interface ISpeechRecoContext
17792     {
17793         CONST_VTBL struct ISpeechRecoContextVtbl *lpVtbl;
17794     };
17795 
17796 
17797 
17798 #ifdef COBJMACROS
17799 
17800 
17801 #define ISpeechRecoContext_QueryInterface(This,riid,ppvObject)	\
17802     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
17803 
17804 #define ISpeechRecoContext_AddRef(This)	\
17805     (This)->lpVtbl -> AddRef(This)
17806 
17807 #define ISpeechRecoContext_Release(This)	\
17808     (This)->lpVtbl -> Release(This)
17809 
17810 
17811 #define ISpeechRecoContext_GetTypeInfoCount(This,pctinfo)	\
17812     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
17813 
17814 #define ISpeechRecoContext_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
17815     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
17816 
17817 #define ISpeechRecoContext_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
17818     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
17819 
17820 #define ISpeechRecoContext_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
17821     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
17822 
17823 
17824 #define ISpeechRecoContext_get_Recognizer(This,Recognizer)	\
17825     (This)->lpVtbl -> get_Recognizer(This,Recognizer)
17826 
17827 #define ISpeechRecoContext_get_AudioInputInterferenceStatus(This,Interference)	\
17828     (This)->lpVtbl -> get_AudioInputInterferenceStatus(This,Interference)
17829 
17830 #define ISpeechRecoContext_get_RequestedUIType(This,UIType)	\
17831     (This)->lpVtbl -> get_RequestedUIType(This,UIType)
17832 
17833 #define ISpeechRecoContext_putref_Voice(This,Voice)	\
17834     (This)->lpVtbl -> putref_Voice(This,Voice)
17835 
17836 #define ISpeechRecoContext_get_Voice(This,Voice)	\
17837     (This)->lpVtbl -> get_Voice(This,Voice)
17838 
17839 #define ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet(This,Allow)	\
17840     (This)->lpVtbl -> put_AllowVoiceFormatMatchingOnNextSet(This,Allow)
17841 
17842 #define ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet(This,pAllow)	\
17843     (This)->lpVtbl -> get_AllowVoiceFormatMatchingOnNextSet(This,pAllow)
17844 
17845 #define ISpeechRecoContext_put_VoicePurgeEvent(This,EventInterest)	\
17846     (This)->lpVtbl -> put_VoicePurgeEvent(This,EventInterest)
17847 
17848 #define ISpeechRecoContext_get_VoicePurgeEvent(This,EventInterest)	\
17849     (This)->lpVtbl -> get_VoicePurgeEvent(This,EventInterest)
17850 
17851 #define ISpeechRecoContext_put_EventInterests(This,EventInterest)	\
17852     (This)->lpVtbl -> put_EventInterests(This,EventInterest)
17853 
17854 #define ISpeechRecoContext_get_EventInterests(This,EventInterest)	\
17855     (This)->lpVtbl -> get_EventInterests(This,EventInterest)
17856 
17857 #define ISpeechRecoContext_put_CmdMaxAlternates(This,MaxAlternates)	\
17858     (This)->lpVtbl -> put_CmdMaxAlternates(This,MaxAlternates)
17859 
17860 #define ISpeechRecoContext_get_CmdMaxAlternates(This,MaxAlternates)	\
17861     (This)->lpVtbl -> get_CmdMaxAlternates(This,MaxAlternates)
17862 
17863 #define ISpeechRecoContext_put_State(This,State)	\
17864     (This)->lpVtbl -> put_State(This,State)
17865 
17866 #define ISpeechRecoContext_get_State(This,State)	\
17867     (This)->lpVtbl -> get_State(This,State)
17868 
17869 #define ISpeechRecoContext_put_RetainedAudio(This,Option)	\
17870     (This)->lpVtbl -> put_RetainedAudio(This,Option)
17871 
17872 #define ISpeechRecoContext_get_RetainedAudio(This,Option)	\
17873     (This)->lpVtbl -> get_RetainedAudio(This,Option)
17874 
17875 #define ISpeechRecoContext_putref_RetainedAudioFormat(This,Format)	\
17876     (This)->lpVtbl -> putref_RetainedAudioFormat(This,Format)
17877 
17878 #define ISpeechRecoContext_get_RetainedAudioFormat(This,Format)	\
17879     (This)->lpVtbl -> get_RetainedAudioFormat(This,Format)
17880 
17881 #define ISpeechRecoContext_Pause(This)	\
17882     (This)->lpVtbl -> Pause(This)
17883 
17884 #define ISpeechRecoContext_Resume(This)	\
17885     (This)->lpVtbl -> Resume(This)
17886 
17887 #define ISpeechRecoContext_CreateGrammar(This,GrammarId,Grammar)	\
17888     (This)->lpVtbl -> CreateGrammar(This,GrammarId,Grammar)
17889 
17890 #define ISpeechRecoContext_CreateResultFromMemory(This,ResultBlock,Result)	\
17891     (This)->lpVtbl -> CreateResultFromMemory(This,ResultBlock,Result)
17892 
17893 #define ISpeechRecoContext_Bookmark(This,Options,StreamPos,BookmarkId)	\
17894     (This)->lpVtbl -> Bookmark(This,Options,StreamPos,BookmarkId)
17895 
17896 #define ISpeechRecoContext_SetAdaptationData(This,AdaptationString)	\
17897     (This)->lpVtbl -> SetAdaptationData(This,AdaptationString)
17898 
17899 #endif /* COBJMACROS */
17900 
17901 
17902 #endif 	/* C style interface */
17903 
17904 
17905 
17906 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_Recognizer_Proxy(
17907     ISpeechRecoContext * This,
17908     /* [retval][out] */ ISpeechRecognizer **Recognizer);
17909 
17910 
17911 void __RPC_STUB ISpeechRecoContext_get_Recognizer_Stub(
17912     IRpcStubBuffer *This,
17913     IRpcChannelBuffer *_pRpcChannelBuffer,
17914     PRPC_MESSAGE _pRpcMessage,
17915     DWORD *_pdwStubPhase);
17916 
17917 
17918 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_AudioInputInterferenceStatus_Proxy(
17919     ISpeechRecoContext * This,
17920     /* [retval][out] */ SpeechInterference *Interference);
17921 
17922 
17923 void __RPC_STUB ISpeechRecoContext_get_AudioInputInterferenceStatus_Stub(
17924     IRpcStubBuffer *This,
17925     IRpcChannelBuffer *_pRpcChannelBuffer,
17926     PRPC_MESSAGE _pRpcMessage,
17927     DWORD *_pdwStubPhase);
17928 
17929 
17930 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RequestedUIType_Proxy(
17931     ISpeechRecoContext * This,
17932     /* [retval][out] */ BSTR *UIType);
17933 
17934 
17935 void __RPC_STUB ISpeechRecoContext_get_RequestedUIType_Stub(
17936     IRpcStubBuffer *This,
17937     IRpcChannelBuffer *_pRpcChannelBuffer,
17938     PRPC_MESSAGE _pRpcMessage,
17939     DWORD *_pdwStubPhase);
17940 
17941 
17942 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_putref_Voice_Proxy(
17943     ISpeechRecoContext * This,
17944     /* [in] */ ISpeechVoice *Voice);
17945 
17946 
17947 void __RPC_STUB ISpeechRecoContext_putref_Voice_Stub(
17948     IRpcStubBuffer *This,
17949     IRpcChannelBuffer *_pRpcChannelBuffer,
17950     PRPC_MESSAGE _pRpcMessage,
17951     DWORD *_pdwStubPhase);
17952 
17953 
17954 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_Voice_Proxy(
17955     ISpeechRecoContext * This,
17956     /* [retval][out] */ ISpeechVoice **Voice);
17957 
17958 
17959 void __RPC_STUB ISpeechRecoContext_get_Voice_Stub(
17960     IRpcStubBuffer *This,
17961     IRpcChannelBuffer *_pRpcChannelBuffer,
17962     PRPC_MESSAGE _pRpcMessage,
17963     DWORD *_pdwStubPhase);
17964 
17965 
17966 /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet_Proxy(
17967     ISpeechRecoContext * This,
17968     /* [in] */ VARIANT_BOOL Allow);
17969 
17970 
17971 void __RPC_STUB ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet_Stub(
17972     IRpcStubBuffer *This,
17973     IRpcChannelBuffer *_pRpcChannelBuffer,
17974     PRPC_MESSAGE _pRpcMessage,
17975     DWORD *_pdwStubPhase);
17976 
17977 
17978 /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet_Proxy(
17979     ISpeechRecoContext * This,
17980     /* [retval][out] */ VARIANT_BOOL *pAllow);
17981 
17982 
17983 void __RPC_STUB ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet_Stub(
17984     IRpcStubBuffer *This,
17985     IRpcChannelBuffer *_pRpcChannelBuffer,
17986     PRPC_MESSAGE _pRpcMessage,
17987     DWORD *_pdwStubPhase);
17988 
17989 
17990 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_VoicePurgeEvent_Proxy(
17991     ISpeechRecoContext * This,
17992     /* [in] */ SpeechRecoEvents EventInterest);
17993 
17994 
17995 void __RPC_STUB ISpeechRecoContext_put_VoicePurgeEvent_Stub(
17996     IRpcStubBuffer *This,
17997     IRpcChannelBuffer *_pRpcChannelBuffer,
17998     PRPC_MESSAGE _pRpcMessage,
17999     DWORD *_pdwStubPhase);
18000 
18001 
18002 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_VoicePurgeEvent_Proxy(
18003     ISpeechRecoContext * This,
18004     /* [retval][out] */ SpeechRecoEvents *EventInterest);
18005 
18006 
18007 void __RPC_STUB ISpeechRecoContext_get_VoicePurgeEvent_Stub(
18008     IRpcStubBuffer *This,
18009     IRpcChannelBuffer *_pRpcChannelBuffer,
18010     PRPC_MESSAGE _pRpcMessage,
18011     DWORD *_pdwStubPhase);
18012 
18013 
18014 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_EventInterests_Proxy(
18015     ISpeechRecoContext * This,
18016     /* [in] */ SpeechRecoEvents EventInterest);
18017 
18018 
18019 void __RPC_STUB ISpeechRecoContext_put_EventInterests_Stub(
18020     IRpcStubBuffer *This,
18021     IRpcChannelBuffer *_pRpcChannelBuffer,
18022     PRPC_MESSAGE _pRpcMessage,
18023     DWORD *_pdwStubPhase);
18024 
18025 
18026 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_EventInterests_Proxy(
18027     ISpeechRecoContext * This,
18028     /* [retval][out] */ SpeechRecoEvents *EventInterest);
18029 
18030 
18031 void __RPC_STUB ISpeechRecoContext_get_EventInterests_Stub(
18032     IRpcStubBuffer *This,
18033     IRpcChannelBuffer *_pRpcChannelBuffer,
18034     PRPC_MESSAGE _pRpcMessage,
18035     DWORD *_pdwStubPhase);
18036 
18037 
18038 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_CmdMaxAlternates_Proxy(
18039     ISpeechRecoContext * This,
18040     /* [in] */ long MaxAlternates);
18041 
18042 
18043 void __RPC_STUB ISpeechRecoContext_put_CmdMaxAlternates_Stub(
18044     IRpcStubBuffer *This,
18045     IRpcChannelBuffer *_pRpcChannelBuffer,
18046     PRPC_MESSAGE _pRpcMessage,
18047     DWORD *_pdwStubPhase);
18048 
18049 
18050 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_CmdMaxAlternates_Proxy(
18051     ISpeechRecoContext * This,
18052     /* [retval][out] */ long *MaxAlternates);
18053 
18054 
18055 void __RPC_STUB ISpeechRecoContext_get_CmdMaxAlternates_Stub(
18056     IRpcStubBuffer *This,
18057     IRpcChannelBuffer *_pRpcChannelBuffer,
18058     PRPC_MESSAGE _pRpcMessage,
18059     DWORD *_pdwStubPhase);
18060 
18061 
18062 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_State_Proxy(
18063     ISpeechRecoContext * This,
18064     /* [in] */ SpeechRecoContextState State);
18065 
18066 
18067 void __RPC_STUB ISpeechRecoContext_put_State_Stub(
18068     IRpcStubBuffer *This,
18069     IRpcChannelBuffer *_pRpcChannelBuffer,
18070     PRPC_MESSAGE _pRpcMessage,
18071     DWORD *_pdwStubPhase);
18072 
18073 
18074 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_State_Proxy(
18075     ISpeechRecoContext * This,
18076     /* [retval][out] */ SpeechRecoContextState *State);
18077 
18078 
18079 void __RPC_STUB ISpeechRecoContext_get_State_Stub(
18080     IRpcStubBuffer *This,
18081     IRpcChannelBuffer *_pRpcChannelBuffer,
18082     PRPC_MESSAGE _pRpcMessage,
18083     DWORD *_pdwStubPhase);
18084 
18085 
18086 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_RetainedAudio_Proxy(
18087     ISpeechRecoContext * This,
18088     /* [in] */ SpeechRetainedAudioOptions Option);
18089 
18090 
18091 void __RPC_STUB ISpeechRecoContext_put_RetainedAudio_Stub(
18092     IRpcStubBuffer *This,
18093     IRpcChannelBuffer *_pRpcChannelBuffer,
18094     PRPC_MESSAGE _pRpcMessage,
18095     DWORD *_pdwStubPhase);
18096 
18097 
18098 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RetainedAudio_Proxy(
18099     ISpeechRecoContext * This,
18100     /* [retval][out] */ SpeechRetainedAudioOptions *Option);
18101 
18102 
18103 void __RPC_STUB ISpeechRecoContext_get_RetainedAudio_Stub(
18104     IRpcStubBuffer *This,
18105     IRpcChannelBuffer *_pRpcChannelBuffer,
18106     PRPC_MESSAGE _pRpcMessage,
18107     DWORD *_pdwStubPhase);
18108 
18109 
18110 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_putref_RetainedAudioFormat_Proxy(
18111     ISpeechRecoContext * This,
18112     /* [in] */ ISpeechAudioFormat *Format);
18113 
18114 
18115 void __RPC_STUB ISpeechRecoContext_putref_RetainedAudioFormat_Stub(
18116     IRpcStubBuffer *This,
18117     IRpcChannelBuffer *_pRpcChannelBuffer,
18118     PRPC_MESSAGE _pRpcMessage,
18119     DWORD *_pdwStubPhase);
18120 
18121 
18122 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RetainedAudioFormat_Proxy(
18123     ISpeechRecoContext * This,
18124     /* [retval][out] */ ISpeechAudioFormat **Format);
18125 
18126 
18127 void __RPC_STUB ISpeechRecoContext_get_RetainedAudioFormat_Stub(
18128     IRpcStubBuffer *This,
18129     IRpcChannelBuffer *_pRpcChannelBuffer,
18130     PRPC_MESSAGE _pRpcMessage,
18131     DWORD *_pdwStubPhase);
18132 
18133 
18134 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Pause_Proxy(
18135     ISpeechRecoContext * This);
18136 
18137 
18138 void __RPC_STUB ISpeechRecoContext_Pause_Stub(
18139     IRpcStubBuffer *This,
18140     IRpcChannelBuffer *_pRpcChannelBuffer,
18141     PRPC_MESSAGE _pRpcMessage,
18142     DWORD *_pdwStubPhase);
18143 
18144 
18145 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Resume_Proxy(
18146     ISpeechRecoContext * This);
18147 
18148 
18149 void __RPC_STUB ISpeechRecoContext_Resume_Stub(
18150     IRpcStubBuffer *This,
18151     IRpcChannelBuffer *_pRpcChannelBuffer,
18152     PRPC_MESSAGE _pRpcMessage,
18153     DWORD *_pdwStubPhase);
18154 
18155 
18156 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_CreateGrammar_Proxy(
18157     ISpeechRecoContext * This,
18158     /* [defaultvalue][in] */ VARIANT GrammarId,
18159     /* [retval][out] */ ISpeechRecoGrammar **Grammar);
18160 
18161 
18162 void __RPC_STUB ISpeechRecoContext_CreateGrammar_Stub(
18163     IRpcStubBuffer *This,
18164     IRpcChannelBuffer *_pRpcChannelBuffer,
18165     PRPC_MESSAGE _pRpcMessage,
18166     DWORD *_pdwStubPhase);
18167 
18168 
18169 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_CreateResultFromMemory_Proxy(
18170     ISpeechRecoContext * This,
18171     /* [in] */ VARIANT *ResultBlock,
18172     /* [retval][out] */ ISpeechRecoResult **Result);
18173 
18174 
18175 void __RPC_STUB ISpeechRecoContext_CreateResultFromMemory_Stub(
18176     IRpcStubBuffer *This,
18177     IRpcChannelBuffer *_pRpcChannelBuffer,
18178     PRPC_MESSAGE _pRpcMessage,
18179     DWORD *_pdwStubPhase);
18180 
18181 
18182 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Bookmark_Proxy(
18183     ISpeechRecoContext * This,
18184     /* [in] */ SpeechBookmarkOptions Options,
18185     /* [in] */ VARIANT StreamPos,
18186     /* [in] */ VARIANT BookmarkId);
18187 
18188 
18189 void __RPC_STUB ISpeechRecoContext_Bookmark_Stub(
18190     IRpcStubBuffer *This,
18191     IRpcChannelBuffer *_pRpcChannelBuffer,
18192     PRPC_MESSAGE _pRpcMessage,
18193     DWORD *_pdwStubPhase);
18194 
18195 
18196 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoContext_SetAdaptationData_Proxy(
18197     ISpeechRecoContext * This,
18198     /* [in] */ BSTR AdaptationString);
18199 
18200 
18201 void __RPC_STUB ISpeechRecoContext_SetAdaptationData_Stub(
18202     IRpcStubBuffer *This,
18203     IRpcChannelBuffer *_pRpcChannelBuffer,
18204     PRPC_MESSAGE _pRpcMessage,
18205     DWORD *_pdwStubPhase);
18206 
18207 
18208 
18209 #endif 	/* __ISpeechRecoContext_INTERFACE_DEFINED__ */
18210 
18211 
18212 #ifndef __ISpeechRecoGrammar_INTERFACE_DEFINED__
18213 #define __ISpeechRecoGrammar_INTERFACE_DEFINED__
18214 
18215 /* interface ISpeechRecoGrammar */
18216 /* [unique][helpstring][dual][uuid][object] */
18217 
18218 
18219 EXTERN_C const IID IID_ISpeechRecoGrammar;
18220 
18221 #if defined(__cplusplus) && !defined(CINTERFACE)
18222 
18223     MIDL_INTERFACE("B6D6F79F-2158-4e50-B5BC-9A9CCD852A09")
18224     ISpeechRecoGrammar : public IDispatch
18225     {
18226     public:
18227         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id(
18228             /* [retval][out] */ VARIANT *Id) = 0;
18229 
18230         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RecoContext(
18231             /* [retval][out] */ ISpeechRecoContext **RecoContext) = 0;
18232 
18233         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_State(
18234             /* [in] */ SpeechGrammarState State) = 0;
18235 
18236         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State(
18237             /* [retval][out] */ SpeechGrammarState *State) = 0;
18238 
18239         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rules(
18240             /* [retval][out] */ ISpeechGrammarRules **Rules) = 0;
18241 
18242         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Reset(
18243             /* [defaultvalue][in] */ SpeechLanguageId NewLanguage = 0) = 0;
18244 
18245         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CmdLoadFromFile(
18246             /* [in] */ const BSTR FileName,
18247             /* [defaultvalue][in] */ SpeechLoadOption LoadOption = SLOStatic) = 0;
18248 
18249         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CmdLoadFromObject(
18250             /* [in] */ const BSTR ClassId,
18251             /* [in] */ const BSTR GrammarName,
18252             /* [defaultvalue][in] */ SpeechLoadOption LoadOption = SLOStatic) = 0;
18253 
18254         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CmdLoadFromResource(
18255             /* [in] */ long hModule,
18256             /* [in] */ VARIANT ResourceName,
18257             /* [in] */ VARIANT ResourceType,
18258             /* [in] */ SpeechLanguageId LanguageId,
18259             /* [defaultvalue][in] */ SpeechLoadOption LoadOption = SLOStatic) = 0;
18260 
18261         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CmdLoadFromMemory(
18262             /* [in] */ VARIANT GrammarData,
18263             /* [defaultvalue][in] */ SpeechLoadOption LoadOption = SLOStatic) = 0;
18264 
18265         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CmdLoadFromProprietaryGrammar(
18266             /* [in] */ const BSTR ProprietaryGuid,
18267             /* [in] */ const BSTR ProprietaryString,
18268             /* [in] */ VARIANT ProprietaryData,
18269             /* [defaultvalue][in] */ SpeechLoadOption LoadOption = SLOStatic) = 0;
18270 
18271         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CmdSetRuleState(
18272             /* [in] */ const BSTR Name,
18273             /* [in] */ SpeechRuleState State) = 0;
18274 
18275         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CmdSetRuleIdState(
18276             /* [in] */ long RuleId,
18277             /* [in] */ SpeechRuleState State) = 0;
18278 
18279         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DictationLoad(
18280             /* [defaultvalue][in] */ const BSTR TopicName = L"",
18281             /* [defaultvalue][in] */ SpeechLoadOption LoadOption = SLOStatic) = 0;
18282 
18283         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DictationUnload( void) = 0;
18284 
18285         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DictationSetState(
18286             /* [in] */ SpeechRuleState State) = 0;
18287 
18288         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetWordSequenceData(
18289             /* [in] */ const BSTR Text,
18290             /* [in] */ long TextLength,
18291             /* [in] */ ISpeechTextSelectionInformation *Info) = 0;
18292 
18293         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetTextSelection(
18294             /* [in] */ ISpeechTextSelectionInformation *Info) = 0;
18295 
18296         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE IsPronounceable(
18297             /* [in] */ const BSTR Word,
18298             /* [retval][out] */ SpeechWordPronounceable *WordPronounceable) = 0;
18299 
18300     };
18301 
18302 #else 	/* C style interface */
18303 
18304     typedef struct ISpeechRecoGrammarVtbl
18305     {
18306         BEGIN_INTERFACE
18307 
18308         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
18309             ISpeechRecoGrammar * This,
18310             /* [in] */ REFIID riid,
18311             /* [iid_is][out] */ void **ppvObject);
18312 
18313         ULONG ( STDMETHODCALLTYPE *AddRef )(
18314             ISpeechRecoGrammar * This);
18315 
18316         ULONG ( STDMETHODCALLTYPE *Release )(
18317             ISpeechRecoGrammar * This);
18318 
18319         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
18320             ISpeechRecoGrammar * This,
18321             /* [out] */ UINT *pctinfo);
18322 
18323         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
18324             ISpeechRecoGrammar * This,
18325             /* [in] */ UINT iTInfo,
18326             /* [in] */ LCID lcid,
18327             /* [out] */ ITypeInfo **ppTInfo);
18328 
18329         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
18330             ISpeechRecoGrammar * This,
18331             /* [in] */ REFIID riid,
18332             /* [size_is][in] */ LPOLESTR *rgszNames,
18333             /* [in] */ UINT cNames,
18334             /* [in] */ LCID lcid,
18335             /* [size_is][out] */ DISPID *rgDispId);
18336 
18337         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
18338             ISpeechRecoGrammar * This,
18339             /* [in] */ DISPID dispIdMember,
18340             /* [in] */ REFIID riid,
18341             /* [in] */ LCID lcid,
18342             /* [in] */ WORD wFlags,
18343             /* [out][in] */ DISPPARAMS *pDispParams,
18344             /* [out] */ VARIANT *pVarResult,
18345             /* [out] */ EXCEPINFO *pExcepInfo,
18346             /* [out] */ UINT *puArgErr);
18347 
18348         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
18349             ISpeechRecoGrammar * This,
18350             /* [retval][out] */ VARIANT *Id);
18351 
18352         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecoContext )(
18353             ISpeechRecoGrammar * This,
18354             /* [retval][out] */ ISpeechRecoContext **RecoContext);
18355 
18356         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )(
18357             ISpeechRecoGrammar * This,
18358             /* [in] */ SpeechGrammarState State);
18359 
18360         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )(
18361             ISpeechRecoGrammar * This,
18362             /* [retval][out] */ SpeechGrammarState *State);
18363 
18364         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rules )(
18365             ISpeechRecoGrammar * This,
18366             /* [retval][out] */ ISpeechGrammarRules **Rules);
18367 
18368         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )(
18369             ISpeechRecoGrammar * This,
18370             /* [defaultvalue][in] */ SpeechLanguageId NewLanguage);
18371 
18372         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromFile )(
18373             ISpeechRecoGrammar * This,
18374             /* [in] */ const BSTR FileName,
18375             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18376 
18377         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromObject )(
18378             ISpeechRecoGrammar * This,
18379             /* [in] */ const BSTR ClassId,
18380             /* [in] */ const BSTR GrammarName,
18381             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18382 
18383         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromResource )(
18384             ISpeechRecoGrammar * This,
18385             /* [in] */ long hModule,
18386             /* [in] */ VARIANT ResourceName,
18387             /* [in] */ VARIANT ResourceType,
18388             /* [in] */ SpeechLanguageId LanguageId,
18389             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18390 
18391         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromMemory )(
18392             ISpeechRecoGrammar * This,
18393             /* [in] */ VARIANT GrammarData,
18394             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18395 
18396         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromProprietaryGrammar )(
18397             ISpeechRecoGrammar * This,
18398             /* [in] */ const BSTR ProprietaryGuid,
18399             /* [in] */ const BSTR ProprietaryString,
18400             /* [in] */ VARIANT ProprietaryData,
18401             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18402 
18403         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdSetRuleState )(
18404             ISpeechRecoGrammar * This,
18405             /* [in] */ const BSTR Name,
18406             /* [in] */ SpeechRuleState State);
18407 
18408         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdSetRuleIdState )(
18409             ISpeechRecoGrammar * This,
18410             /* [in] */ long RuleId,
18411             /* [in] */ SpeechRuleState State);
18412 
18413         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DictationLoad )(
18414             ISpeechRecoGrammar * This,
18415             /* [defaultvalue][in] */ const BSTR TopicName,
18416             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18417 
18418         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DictationUnload )(
18419             ISpeechRecoGrammar * This);
18420 
18421         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DictationSetState )(
18422             ISpeechRecoGrammar * This,
18423             /* [in] */ SpeechRuleState State);
18424 
18425         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetWordSequenceData )(
18426             ISpeechRecoGrammar * This,
18427             /* [in] */ const BSTR Text,
18428             /* [in] */ long TextLength,
18429             /* [in] */ ISpeechTextSelectionInformation *Info);
18430 
18431         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTextSelection )(
18432             ISpeechRecoGrammar * This,
18433             /* [in] */ ISpeechTextSelectionInformation *Info);
18434 
18435         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsPronounceable )(
18436             ISpeechRecoGrammar * This,
18437             /* [in] */ const BSTR Word,
18438             /* [retval][out] */ SpeechWordPronounceable *WordPronounceable);
18439 
18440         END_INTERFACE
18441     } ISpeechRecoGrammarVtbl;
18442 
18443     interface ISpeechRecoGrammar
18444     {
18445         CONST_VTBL struct ISpeechRecoGrammarVtbl *lpVtbl;
18446     };
18447 
18448 
18449 
18450 #ifdef COBJMACROS
18451 
18452 
18453 #define ISpeechRecoGrammar_QueryInterface(This,riid,ppvObject)	\
18454     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
18455 
18456 #define ISpeechRecoGrammar_AddRef(This)	\
18457     (This)->lpVtbl -> AddRef(This)
18458 
18459 #define ISpeechRecoGrammar_Release(This)	\
18460     (This)->lpVtbl -> Release(This)
18461 
18462 
18463 #define ISpeechRecoGrammar_GetTypeInfoCount(This,pctinfo)	\
18464     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
18465 
18466 #define ISpeechRecoGrammar_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
18467     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
18468 
18469 #define ISpeechRecoGrammar_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
18470     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
18471 
18472 #define ISpeechRecoGrammar_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
18473     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
18474 
18475 
18476 #define ISpeechRecoGrammar_get_Id(This,Id)	\
18477     (This)->lpVtbl -> get_Id(This,Id)
18478 
18479 #define ISpeechRecoGrammar_get_RecoContext(This,RecoContext)	\
18480     (This)->lpVtbl -> get_RecoContext(This,RecoContext)
18481 
18482 #define ISpeechRecoGrammar_put_State(This,State)	\
18483     (This)->lpVtbl -> put_State(This,State)
18484 
18485 #define ISpeechRecoGrammar_get_State(This,State)	\
18486     (This)->lpVtbl -> get_State(This,State)
18487 
18488 #define ISpeechRecoGrammar_get_Rules(This,Rules)	\
18489     (This)->lpVtbl -> get_Rules(This,Rules)
18490 
18491 #define ISpeechRecoGrammar_Reset(This,NewLanguage)	\
18492     (This)->lpVtbl -> Reset(This,NewLanguage)
18493 
18494 #define ISpeechRecoGrammar_CmdLoadFromFile(This,FileName,LoadOption)	\
18495     (This)->lpVtbl -> CmdLoadFromFile(This,FileName,LoadOption)
18496 
18497 #define ISpeechRecoGrammar_CmdLoadFromObject(This,ClassId,GrammarName,LoadOption)	\
18498     (This)->lpVtbl -> CmdLoadFromObject(This,ClassId,GrammarName,LoadOption)
18499 
18500 #define ISpeechRecoGrammar_CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption)	\
18501     (This)->lpVtbl -> CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption)
18502 
18503 #define ISpeechRecoGrammar_CmdLoadFromMemory(This,GrammarData,LoadOption)	\
18504     (This)->lpVtbl -> CmdLoadFromMemory(This,GrammarData,LoadOption)
18505 
18506 #define ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption)	\
18507     (This)->lpVtbl -> CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption)
18508 
18509 #define ISpeechRecoGrammar_CmdSetRuleState(This,Name,State)	\
18510     (This)->lpVtbl -> CmdSetRuleState(This,Name,State)
18511 
18512 #define ISpeechRecoGrammar_CmdSetRuleIdState(This,RuleId,State)	\
18513     (This)->lpVtbl -> CmdSetRuleIdState(This,RuleId,State)
18514 
18515 #define ISpeechRecoGrammar_DictationLoad(This,TopicName,LoadOption)	\
18516     (This)->lpVtbl -> DictationLoad(This,TopicName,LoadOption)
18517 
18518 #define ISpeechRecoGrammar_DictationUnload(This)	\
18519     (This)->lpVtbl -> DictationUnload(This)
18520 
18521 #define ISpeechRecoGrammar_DictationSetState(This,State)	\
18522     (This)->lpVtbl -> DictationSetState(This,State)
18523 
18524 #define ISpeechRecoGrammar_SetWordSequenceData(This,Text,TextLength,Info)	\
18525     (This)->lpVtbl -> SetWordSequenceData(This,Text,TextLength,Info)
18526 
18527 #define ISpeechRecoGrammar_SetTextSelection(This,Info)	\
18528     (This)->lpVtbl -> SetTextSelection(This,Info)
18529 
18530 #define ISpeechRecoGrammar_IsPronounceable(This,Word,WordPronounceable)	\
18531     (This)->lpVtbl -> IsPronounceable(This,Word,WordPronounceable)
18532 
18533 #endif /* COBJMACROS */
18534 
18535 
18536 #endif 	/* C style interface */
18537 
18538 
18539 
18540 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_Id_Proxy(
18541     ISpeechRecoGrammar * This,
18542     /* [retval][out] */ VARIANT *Id);
18543 
18544 
18545 void __RPC_STUB ISpeechRecoGrammar_get_Id_Stub(
18546     IRpcStubBuffer *This,
18547     IRpcChannelBuffer *_pRpcChannelBuffer,
18548     PRPC_MESSAGE _pRpcMessage,
18549     DWORD *_pdwStubPhase);
18550 
18551 
18552 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_RecoContext_Proxy(
18553     ISpeechRecoGrammar * This,
18554     /* [retval][out] */ ISpeechRecoContext **RecoContext);
18555 
18556 
18557 void __RPC_STUB ISpeechRecoGrammar_get_RecoContext_Stub(
18558     IRpcStubBuffer *This,
18559     IRpcChannelBuffer *_pRpcChannelBuffer,
18560     PRPC_MESSAGE _pRpcMessage,
18561     DWORD *_pdwStubPhase);
18562 
18563 
18564 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_put_State_Proxy(
18565     ISpeechRecoGrammar * This,
18566     /* [in] */ SpeechGrammarState State);
18567 
18568 
18569 void __RPC_STUB ISpeechRecoGrammar_put_State_Stub(
18570     IRpcStubBuffer *This,
18571     IRpcChannelBuffer *_pRpcChannelBuffer,
18572     PRPC_MESSAGE _pRpcMessage,
18573     DWORD *_pdwStubPhase);
18574 
18575 
18576 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_State_Proxy(
18577     ISpeechRecoGrammar * This,
18578     /* [retval][out] */ SpeechGrammarState *State);
18579 
18580 
18581 void __RPC_STUB ISpeechRecoGrammar_get_State_Stub(
18582     IRpcStubBuffer *This,
18583     IRpcChannelBuffer *_pRpcChannelBuffer,
18584     PRPC_MESSAGE _pRpcMessage,
18585     DWORD *_pdwStubPhase);
18586 
18587 
18588 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_Rules_Proxy(
18589     ISpeechRecoGrammar * This,
18590     /* [retval][out] */ ISpeechGrammarRules **Rules);
18591 
18592 
18593 void __RPC_STUB ISpeechRecoGrammar_get_Rules_Stub(
18594     IRpcStubBuffer *This,
18595     IRpcChannelBuffer *_pRpcChannelBuffer,
18596     PRPC_MESSAGE _pRpcMessage,
18597     DWORD *_pdwStubPhase);
18598 
18599 
18600 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_Reset_Proxy(
18601     ISpeechRecoGrammar * This,
18602     /* [defaultvalue][in] */ SpeechLanguageId NewLanguage);
18603 
18604 
18605 void __RPC_STUB ISpeechRecoGrammar_Reset_Stub(
18606     IRpcStubBuffer *This,
18607     IRpcChannelBuffer *_pRpcChannelBuffer,
18608     PRPC_MESSAGE _pRpcMessage,
18609     DWORD *_pdwStubPhase);
18610 
18611 
18612 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromFile_Proxy(
18613     ISpeechRecoGrammar * This,
18614     /* [in] */ const BSTR FileName,
18615     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18616 
18617 
18618 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromFile_Stub(
18619     IRpcStubBuffer *This,
18620     IRpcChannelBuffer *_pRpcChannelBuffer,
18621     PRPC_MESSAGE _pRpcMessage,
18622     DWORD *_pdwStubPhase);
18623 
18624 
18625 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromObject_Proxy(
18626     ISpeechRecoGrammar * This,
18627     /* [in] */ const BSTR ClassId,
18628     /* [in] */ const BSTR GrammarName,
18629     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18630 
18631 
18632 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromObject_Stub(
18633     IRpcStubBuffer *This,
18634     IRpcChannelBuffer *_pRpcChannelBuffer,
18635     PRPC_MESSAGE _pRpcMessage,
18636     DWORD *_pdwStubPhase);
18637 
18638 
18639 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromResource_Proxy(
18640     ISpeechRecoGrammar * This,
18641     /* [in] */ long hModule,
18642     /* [in] */ VARIANT ResourceName,
18643     /* [in] */ VARIANT ResourceType,
18644     /* [in] */ SpeechLanguageId LanguageId,
18645     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18646 
18647 
18648 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromResource_Stub(
18649     IRpcStubBuffer *This,
18650     IRpcChannelBuffer *_pRpcChannelBuffer,
18651     PRPC_MESSAGE _pRpcMessage,
18652     DWORD *_pdwStubPhase);
18653 
18654 
18655 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromMemory_Proxy(
18656     ISpeechRecoGrammar * This,
18657     /* [in] */ VARIANT GrammarData,
18658     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18659 
18660 
18661 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromMemory_Stub(
18662     IRpcStubBuffer *This,
18663     IRpcChannelBuffer *_pRpcChannelBuffer,
18664     PRPC_MESSAGE _pRpcMessage,
18665     DWORD *_pdwStubPhase);
18666 
18667 
18668 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar_Proxy(
18669     ISpeechRecoGrammar * This,
18670     /* [in] */ const BSTR ProprietaryGuid,
18671     /* [in] */ const BSTR ProprietaryString,
18672     /* [in] */ VARIANT ProprietaryData,
18673     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18674 
18675 
18676 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar_Stub(
18677     IRpcStubBuffer *This,
18678     IRpcChannelBuffer *_pRpcChannelBuffer,
18679     PRPC_MESSAGE _pRpcMessage,
18680     DWORD *_pdwStubPhase);
18681 
18682 
18683 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdSetRuleState_Proxy(
18684     ISpeechRecoGrammar * This,
18685     /* [in] */ const BSTR Name,
18686     /* [in] */ SpeechRuleState State);
18687 
18688 
18689 void __RPC_STUB ISpeechRecoGrammar_CmdSetRuleState_Stub(
18690     IRpcStubBuffer *This,
18691     IRpcChannelBuffer *_pRpcChannelBuffer,
18692     PRPC_MESSAGE _pRpcMessage,
18693     DWORD *_pdwStubPhase);
18694 
18695 
18696 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdSetRuleIdState_Proxy(
18697     ISpeechRecoGrammar * This,
18698     /* [in] */ long RuleId,
18699     /* [in] */ SpeechRuleState State);
18700 
18701 
18702 void __RPC_STUB ISpeechRecoGrammar_CmdSetRuleIdState_Stub(
18703     IRpcStubBuffer *This,
18704     IRpcChannelBuffer *_pRpcChannelBuffer,
18705     PRPC_MESSAGE _pRpcMessage,
18706     DWORD *_pdwStubPhase);
18707 
18708 
18709 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationLoad_Proxy(
18710     ISpeechRecoGrammar * This,
18711     /* [defaultvalue][in] */ const BSTR TopicName,
18712     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
18713 
18714 
18715 void __RPC_STUB ISpeechRecoGrammar_DictationLoad_Stub(
18716     IRpcStubBuffer *This,
18717     IRpcChannelBuffer *_pRpcChannelBuffer,
18718     PRPC_MESSAGE _pRpcMessage,
18719     DWORD *_pdwStubPhase);
18720 
18721 
18722 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationUnload_Proxy(
18723     ISpeechRecoGrammar * This);
18724 
18725 
18726 void __RPC_STUB ISpeechRecoGrammar_DictationUnload_Stub(
18727     IRpcStubBuffer *This,
18728     IRpcChannelBuffer *_pRpcChannelBuffer,
18729     PRPC_MESSAGE _pRpcMessage,
18730     DWORD *_pdwStubPhase);
18731 
18732 
18733 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationSetState_Proxy(
18734     ISpeechRecoGrammar * This,
18735     /* [in] */ SpeechRuleState State);
18736 
18737 
18738 void __RPC_STUB ISpeechRecoGrammar_DictationSetState_Stub(
18739     IRpcStubBuffer *This,
18740     IRpcChannelBuffer *_pRpcChannelBuffer,
18741     PRPC_MESSAGE _pRpcMessage,
18742     DWORD *_pdwStubPhase);
18743 
18744 
18745 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_SetWordSequenceData_Proxy(
18746     ISpeechRecoGrammar * This,
18747     /* [in] */ const BSTR Text,
18748     /* [in] */ long TextLength,
18749     /* [in] */ ISpeechTextSelectionInformation *Info);
18750 
18751 
18752 void __RPC_STUB ISpeechRecoGrammar_SetWordSequenceData_Stub(
18753     IRpcStubBuffer *This,
18754     IRpcChannelBuffer *_pRpcChannelBuffer,
18755     PRPC_MESSAGE _pRpcMessage,
18756     DWORD *_pdwStubPhase);
18757 
18758 
18759 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_SetTextSelection_Proxy(
18760     ISpeechRecoGrammar * This,
18761     /* [in] */ ISpeechTextSelectionInformation *Info);
18762 
18763 
18764 void __RPC_STUB ISpeechRecoGrammar_SetTextSelection_Stub(
18765     IRpcStubBuffer *This,
18766     IRpcChannelBuffer *_pRpcChannelBuffer,
18767     PRPC_MESSAGE _pRpcMessage,
18768     DWORD *_pdwStubPhase);
18769 
18770 
18771 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_IsPronounceable_Proxy(
18772     ISpeechRecoGrammar * This,
18773     /* [in] */ const BSTR Word,
18774     /* [retval][out] */ SpeechWordPronounceable *WordPronounceable);
18775 
18776 
18777 void __RPC_STUB ISpeechRecoGrammar_IsPronounceable_Stub(
18778     IRpcStubBuffer *This,
18779     IRpcChannelBuffer *_pRpcChannelBuffer,
18780     PRPC_MESSAGE _pRpcMessage,
18781     DWORD *_pdwStubPhase);
18782 
18783 
18784 
18785 #endif 	/* __ISpeechRecoGrammar_INTERFACE_DEFINED__ */
18786 
18787 
18788 #ifndef ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
18789 #define ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
18790 
18791 /* dispinterface _ISpeechRecoContextEvents */
18792 /* [uuid] */
18793 
18794 
18795 EXTERN_C const IID DIID__ISpeechRecoContextEvents;
18796 
18797 #if defined(__cplusplus) && !defined(CINTERFACE)
18798 
18799     MIDL_INTERFACE("7B8FCB42-0E9D-4f00-A048-7B04D6179D3D")
18800     _ISpeechRecoContextEvents : public IDispatch
18801     {
18802     };
18803 
18804 #else 	/* C style interface */
18805 
18806     typedef struct _ISpeechRecoContextEventsVtbl
18807     {
18808         BEGIN_INTERFACE
18809 
18810         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
18811             _ISpeechRecoContextEvents * This,
18812             /* [in] */ REFIID riid,
18813             /* [iid_is][out] */ void **ppvObject);
18814 
18815         ULONG ( STDMETHODCALLTYPE *AddRef )(
18816             _ISpeechRecoContextEvents * This);
18817 
18818         ULONG ( STDMETHODCALLTYPE *Release )(
18819             _ISpeechRecoContextEvents * This);
18820 
18821         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
18822             _ISpeechRecoContextEvents * This,
18823             /* [out] */ UINT *pctinfo);
18824 
18825         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
18826             _ISpeechRecoContextEvents * This,
18827             /* [in] */ UINT iTInfo,
18828             /* [in] */ LCID lcid,
18829             /* [out] */ ITypeInfo **ppTInfo);
18830 
18831         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
18832             _ISpeechRecoContextEvents * This,
18833             /* [in] */ REFIID riid,
18834             /* [size_is][in] */ LPOLESTR *rgszNames,
18835             /* [in] */ UINT cNames,
18836             /* [in] */ LCID lcid,
18837             /* [size_is][out] */ DISPID *rgDispId);
18838 
18839         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
18840             _ISpeechRecoContextEvents * This,
18841             /* [in] */ DISPID dispIdMember,
18842             /* [in] */ REFIID riid,
18843             /* [in] */ LCID lcid,
18844             /* [in] */ WORD wFlags,
18845             /* [out][in] */ DISPPARAMS *pDispParams,
18846             /* [out] */ VARIANT *pVarResult,
18847             /* [out] */ EXCEPINFO *pExcepInfo,
18848             /* [out] */ UINT *puArgErr);
18849 
18850         END_INTERFACE
18851     } _ISpeechRecoContextEventsVtbl;
18852 
18853     interface _ISpeechRecoContextEvents
18854     {
18855         CONST_VTBL struct _ISpeechRecoContextEventsVtbl *lpVtbl;
18856     };
18857 
18858 
18859 
18860 #ifdef COBJMACROS
18861 
18862 
18863 #define _ISpeechRecoContextEvents_QueryInterface(This,riid,ppvObject)	\
18864     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
18865 
18866 #define _ISpeechRecoContextEvents_AddRef(This)	\
18867     (This)->lpVtbl -> AddRef(This)
18868 
18869 #define _ISpeechRecoContextEvents_Release(This)	\
18870     (This)->lpVtbl -> Release(This)
18871 
18872 
18873 #define _ISpeechRecoContextEvents_GetTypeInfoCount(This,pctinfo)	\
18874     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
18875 
18876 #define _ISpeechRecoContextEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
18877     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
18878 
18879 #define _ISpeechRecoContextEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
18880     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
18881 
18882 #define _ISpeechRecoContextEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
18883     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
18884 
18885 #endif /* COBJMACROS */
18886 
18887 
18888 #endif 	/* C style interface */
18889 
18890 
18891 #endif 	/* ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__ */
18892 
18893 
18894 #ifndef __ISpeechGrammarRule_INTERFACE_DEFINED__
18895 #define __ISpeechGrammarRule_INTERFACE_DEFINED__
18896 
18897 /* interface ISpeechGrammarRule */
18898 /* [unique][helpstring][dual][uuid][object] */
18899 
18900 
18901 EXTERN_C const IID IID_ISpeechGrammarRule;
18902 
18903 #if defined(__cplusplus) && !defined(CINTERFACE)
18904 
18905     MIDL_INTERFACE("AFE719CF-5DD1-44f2-999C-7A399F1CFCCC")
18906     ISpeechGrammarRule : public IDispatch
18907     {
18908     public:
18909         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes(
18910             /* [retval][out] */ SpeechRuleAttributes *Attributes) = 0;
18911 
18912         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InitialState(
18913             /* [retval][out] */ ISpeechGrammarRuleState **State) = 0;
18914 
18915         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
18916             /* [retval][out] */ BSTR *Name) = 0;
18917 
18918         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id(
18919             /* [retval][out] */ long *Id) = 0;
18920 
18921         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
18922 
18923         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddResource(
18924             /* [in] */ const BSTR ResourceName,
18925             /* [in] */ const BSTR ResourceValue) = 0;
18926 
18927         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddState(
18928             /* [retval][out] */ ISpeechGrammarRuleState **State) = 0;
18929 
18930     };
18931 
18932 #else 	/* C style interface */
18933 
18934     typedef struct ISpeechGrammarRuleVtbl
18935     {
18936         BEGIN_INTERFACE
18937 
18938         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
18939             ISpeechGrammarRule * This,
18940             /* [in] */ REFIID riid,
18941             /* [iid_is][out] */ void **ppvObject);
18942 
18943         ULONG ( STDMETHODCALLTYPE *AddRef )(
18944             ISpeechGrammarRule * This);
18945 
18946         ULONG ( STDMETHODCALLTYPE *Release )(
18947             ISpeechGrammarRule * This);
18948 
18949         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
18950             ISpeechGrammarRule * This,
18951             /* [out] */ UINT *pctinfo);
18952 
18953         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
18954             ISpeechGrammarRule * This,
18955             /* [in] */ UINT iTInfo,
18956             /* [in] */ LCID lcid,
18957             /* [out] */ ITypeInfo **ppTInfo);
18958 
18959         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
18960             ISpeechGrammarRule * This,
18961             /* [in] */ REFIID riid,
18962             /* [size_is][in] */ LPOLESTR *rgszNames,
18963             /* [in] */ UINT cNames,
18964             /* [in] */ LCID lcid,
18965             /* [size_is][out] */ DISPID *rgDispId);
18966 
18967         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
18968             ISpeechGrammarRule * This,
18969             /* [in] */ DISPID dispIdMember,
18970             /* [in] */ REFIID riid,
18971             /* [in] */ LCID lcid,
18972             /* [in] */ WORD wFlags,
18973             /* [out][in] */ DISPPARAMS *pDispParams,
18974             /* [out] */ VARIANT *pVarResult,
18975             /* [out] */ EXCEPINFO *pExcepInfo,
18976             /* [out] */ UINT *puArgErr);
18977 
18978         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )(
18979             ISpeechGrammarRule * This,
18980             /* [retval][out] */ SpeechRuleAttributes *Attributes);
18981 
18982         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InitialState )(
18983             ISpeechGrammarRule * This,
18984             /* [retval][out] */ ISpeechGrammarRuleState **State);
18985 
18986         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
18987             ISpeechGrammarRule * This,
18988             /* [retval][out] */ BSTR *Name);
18989 
18990         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
18991             ISpeechGrammarRule * This,
18992             /* [retval][out] */ long *Id);
18993 
18994         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )(
18995             ISpeechGrammarRule * This);
18996 
18997         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddResource )(
18998             ISpeechGrammarRule * This,
18999             /* [in] */ const BSTR ResourceName,
19000             /* [in] */ const BSTR ResourceValue);
19001 
19002         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddState )(
19003             ISpeechGrammarRule * This,
19004             /* [retval][out] */ ISpeechGrammarRuleState **State);
19005 
19006         END_INTERFACE
19007     } ISpeechGrammarRuleVtbl;
19008 
19009     interface ISpeechGrammarRule
19010     {
19011         CONST_VTBL struct ISpeechGrammarRuleVtbl *lpVtbl;
19012     };
19013 
19014 
19015 
19016 #ifdef COBJMACROS
19017 
19018 
19019 #define ISpeechGrammarRule_QueryInterface(This,riid,ppvObject)	\
19020     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
19021 
19022 #define ISpeechGrammarRule_AddRef(This)	\
19023     (This)->lpVtbl -> AddRef(This)
19024 
19025 #define ISpeechGrammarRule_Release(This)	\
19026     (This)->lpVtbl -> Release(This)
19027 
19028 
19029 #define ISpeechGrammarRule_GetTypeInfoCount(This,pctinfo)	\
19030     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
19031 
19032 #define ISpeechGrammarRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
19033     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19034 
19035 #define ISpeechGrammarRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
19036     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19037 
19038 #define ISpeechGrammarRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
19039     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19040 
19041 
19042 #define ISpeechGrammarRule_get_Attributes(This,Attributes)	\
19043     (This)->lpVtbl -> get_Attributes(This,Attributes)
19044 
19045 #define ISpeechGrammarRule_get_InitialState(This,State)	\
19046     (This)->lpVtbl -> get_InitialState(This,State)
19047 
19048 #define ISpeechGrammarRule_get_Name(This,Name)	\
19049     (This)->lpVtbl -> get_Name(This,Name)
19050 
19051 #define ISpeechGrammarRule_get_Id(This,Id)	\
19052     (This)->lpVtbl -> get_Id(This,Id)
19053 
19054 #define ISpeechGrammarRule_Clear(This)	\
19055     (This)->lpVtbl -> Clear(This)
19056 
19057 #define ISpeechGrammarRule_AddResource(This,ResourceName,ResourceValue)	\
19058     (This)->lpVtbl -> AddResource(This,ResourceName,ResourceValue)
19059 
19060 #define ISpeechGrammarRule_AddState(This,State)	\
19061     (This)->lpVtbl -> AddState(This,State)
19062 
19063 #endif /* COBJMACROS */
19064 
19065 
19066 #endif 	/* C style interface */
19067 
19068 
19069 
19070 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Attributes_Proxy(
19071     ISpeechGrammarRule * This,
19072     /* [retval][out] */ SpeechRuleAttributes *Attributes);
19073 
19074 
19075 void __RPC_STUB ISpeechGrammarRule_get_Attributes_Stub(
19076     IRpcStubBuffer *This,
19077     IRpcChannelBuffer *_pRpcChannelBuffer,
19078     PRPC_MESSAGE _pRpcMessage,
19079     DWORD *_pdwStubPhase);
19080 
19081 
19082 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_InitialState_Proxy(
19083     ISpeechGrammarRule * This,
19084     /* [retval][out] */ ISpeechGrammarRuleState **State);
19085 
19086 
19087 void __RPC_STUB ISpeechGrammarRule_get_InitialState_Stub(
19088     IRpcStubBuffer *This,
19089     IRpcChannelBuffer *_pRpcChannelBuffer,
19090     PRPC_MESSAGE _pRpcMessage,
19091     DWORD *_pdwStubPhase);
19092 
19093 
19094 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Name_Proxy(
19095     ISpeechGrammarRule * This,
19096     /* [retval][out] */ BSTR *Name);
19097 
19098 
19099 void __RPC_STUB ISpeechGrammarRule_get_Name_Stub(
19100     IRpcStubBuffer *This,
19101     IRpcChannelBuffer *_pRpcChannelBuffer,
19102     PRPC_MESSAGE _pRpcMessage,
19103     DWORD *_pdwStubPhase);
19104 
19105 
19106 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Id_Proxy(
19107     ISpeechGrammarRule * This,
19108     /* [retval][out] */ long *Id);
19109 
19110 
19111 void __RPC_STUB ISpeechGrammarRule_get_Id_Stub(
19112     IRpcStubBuffer *This,
19113     IRpcChannelBuffer *_pRpcChannelBuffer,
19114     PRPC_MESSAGE _pRpcMessage,
19115     DWORD *_pdwStubPhase);
19116 
19117 
19118 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_Clear_Proxy(
19119     ISpeechGrammarRule * This);
19120 
19121 
19122 void __RPC_STUB ISpeechGrammarRule_Clear_Stub(
19123     IRpcStubBuffer *This,
19124     IRpcChannelBuffer *_pRpcChannelBuffer,
19125     PRPC_MESSAGE _pRpcMessage,
19126     DWORD *_pdwStubPhase);
19127 
19128 
19129 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_AddResource_Proxy(
19130     ISpeechGrammarRule * This,
19131     /* [in] */ const BSTR ResourceName,
19132     /* [in] */ const BSTR ResourceValue);
19133 
19134 
19135 void __RPC_STUB ISpeechGrammarRule_AddResource_Stub(
19136     IRpcStubBuffer *This,
19137     IRpcChannelBuffer *_pRpcChannelBuffer,
19138     PRPC_MESSAGE _pRpcMessage,
19139     DWORD *_pdwStubPhase);
19140 
19141 
19142 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_AddState_Proxy(
19143     ISpeechGrammarRule * This,
19144     /* [retval][out] */ ISpeechGrammarRuleState **State);
19145 
19146 
19147 void __RPC_STUB ISpeechGrammarRule_AddState_Stub(
19148     IRpcStubBuffer *This,
19149     IRpcChannelBuffer *_pRpcChannelBuffer,
19150     PRPC_MESSAGE _pRpcMessage,
19151     DWORD *_pdwStubPhase);
19152 
19153 
19154 
19155 #endif 	/* __ISpeechGrammarRule_INTERFACE_DEFINED__ */
19156 
19157 
19158 #ifndef __ISpeechGrammarRules_INTERFACE_DEFINED__
19159 #define __ISpeechGrammarRules_INTERFACE_DEFINED__
19160 
19161 /* interface ISpeechGrammarRules */
19162 /* [unique][helpstring][dual][uuid][object] */
19163 
19164 
19165 EXTERN_C const IID IID_ISpeechGrammarRules;
19166 
19167 #if defined(__cplusplus) && !defined(CINTERFACE)
19168 
19169     MIDL_INTERFACE("6FFA3B44-FC2D-40d1-8AFC-32911C7F1AD1")
19170     ISpeechGrammarRules : public IDispatch
19171     {
19172     public:
19173         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
19174             /* [retval][out] */ long *Count) = 0;
19175 
19176         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE FindRule(
19177             /* [in] */ VARIANT RuleNameOrId,
19178             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
19179 
19180         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
19181             /* [in] */ long Index,
19182             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
19183 
19184         virtual /* [restricted][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
19185             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
19186 
19187         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Dynamic(
19188             /* [retval][out] */ VARIANT_BOOL *Dynamic) = 0;
19189 
19190         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Add(
19191             /* [in] */ BSTR RuleName,
19192             /* [in] */ SpeechRuleAttributes Attributes,
19193             /* [defaultvalue][in] */ long RuleId,
19194             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
19195 
19196         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Commit( void) = 0;
19197 
19198         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CommitAndSave(
19199             /* [out] */ BSTR *ErrorText,
19200             /* [retval][out] */ VARIANT *SaveStream) = 0;
19201 
19202     };
19203 
19204 #else 	/* C style interface */
19205 
19206     typedef struct ISpeechGrammarRulesVtbl
19207     {
19208         BEGIN_INTERFACE
19209 
19210         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
19211             ISpeechGrammarRules * This,
19212             /* [in] */ REFIID riid,
19213             /* [iid_is][out] */ void **ppvObject);
19214 
19215         ULONG ( STDMETHODCALLTYPE *AddRef )(
19216             ISpeechGrammarRules * This);
19217 
19218         ULONG ( STDMETHODCALLTYPE *Release )(
19219             ISpeechGrammarRules * This);
19220 
19221         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
19222             ISpeechGrammarRules * This,
19223             /* [out] */ UINT *pctinfo);
19224 
19225         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
19226             ISpeechGrammarRules * This,
19227             /* [in] */ UINT iTInfo,
19228             /* [in] */ LCID lcid,
19229             /* [out] */ ITypeInfo **ppTInfo);
19230 
19231         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
19232             ISpeechGrammarRules * This,
19233             /* [in] */ REFIID riid,
19234             /* [size_is][in] */ LPOLESTR *rgszNames,
19235             /* [in] */ UINT cNames,
19236             /* [in] */ LCID lcid,
19237             /* [size_is][out] */ DISPID *rgDispId);
19238 
19239         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
19240             ISpeechGrammarRules * This,
19241             /* [in] */ DISPID dispIdMember,
19242             /* [in] */ REFIID riid,
19243             /* [in] */ LCID lcid,
19244             /* [in] */ WORD wFlags,
19245             /* [out][in] */ DISPPARAMS *pDispParams,
19246             /* [out] */ VARIANT *pVarResult,
19247             /* [out] */ EXCEPINFO *pExcepInfo,
19248             /* [out] */ UINT *puArgErr);
19249 
19250         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
19251             ISpeechGrammarRules * This,
19252             /* [retval][out] */ long *Count);
19253 
19254         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindRule )(
19255             ISpeechGrammarRules * This,
19256             /* [in] */ VARIANT RuleNameOrId,
19257             /* [retval][out] */ ISpeechGrammarRule **Rule);
19258 
19259         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
19260             ISpeechGrammarRules * This,
19261             /* [in] */ long Index,
19262             /* [retval][out] */ ISpeechGrammarRule **Rule);
19263 
19264         /* [restricted][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
19265             ISpeechGrammarRules * This,
19266             /* [retval][out] */ IUnknown **EnumVARIANT);
19267 
19268         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Dynamic )(
19269             ISpeechGrammarRules * This,
19270             /* [retval][out] */ VARIANT_BOOL *Dynamic);
19271 
19272         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )(
19273             ISpeechGrammarRules * This,
19274             /* [in] */ BSTR RuleName,
19275             /* [in] */ SpeechRuleAttributes Attributes,
19276             /* [defaultvalue][in] */ long RuleId,
19277             /* [retval][out] */ ISpeechGrammarRule **Rule);
19278 
19279         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Commit )(
19280             ISpeechGrammarRules * This);
19281 
19282         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CommitAndSave )(
19283             ISpeechGrammarRules * This,
19284             /* [out] */ BSTR *ErrorText,
19285             /* [retval][out] */ VARIANT *SaveStream);
19286 
19287         END_INTERFACE
19288     } ISpeechGrammarRulesVtbl;
19289 
19290     interface ISpeechGrammarRules
19291     {
19292         CONST_VTBL struct ISpeechGrammarRulesVtbl *lpVtbl;
19293     };
19294 
19295 
19296 
19297 #ifdef COBJMACROS
19298 
19299 
19300 #define ISpeechGrammarRules_QueryInterface(This,riid,ppvObject)	\
19301     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
19302 
19303 #define ISpeechGrammarRules_AddRef(This)	\
19304     (This)->lpVtbl -> AddRef(This)
19305 
19306 #define ISpeechGrammarRules_Release(This)	\
19307     (This)->lpVtbl -> Release(This)
19308 
19309 
19310 #define ISpeechGrammarRules_GetTypeInfoCount(This,pctinfo)	\
19311     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
19312 
19313 #define ISpeechGrammarRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
19314     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19315 
19316 #define ISpeechGrammarRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
19317     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19318 
19319 #define ISpeechGrammarRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
19320     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19321 
19322 
19323 #define ISpeechGrammarRules_get_Count(This,Count)	\
19324     (This)->lpVtbl -> get_Count(This,Count)
19325 
19326 #define ISpeechGrammarRules_FindRule(This,RuleNameOrId,Rule)	\
19327     (This)->lpVtbl -> FindRule(This,RuleNameOrId,Rule)
19328 
19329 #define ISpeechGrammarRules_Item(This,Index,Rule)	\
19330     (This)->lpVtbl -> Item(This,Index,Rule)
19331 
19332 #define ISpeechGrammarRules_get__NewEnum(This,EnumVARIANT)	\
19333     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
19334 
19335 #define ISpeechGrammarRules_get_Dynamic(This,Dynamic)	\
19336     (This)->lpVtbl -> get_Dynamic(This,Dynamic)
19337 
19338 #define ISpeechGrammarRules_Add(This,RuleName,Attributes,RuleId,Rule)	\
19339     (This)->lpVtbl -> Add(This,RuleName,Attributes,RuleId,Rule)
19340 
19341 #define ISpeechGrammarRules_Commit(This)	\
19342     (This)->lpVtbl -> Commit(This)
19343 
19344 #define ISpeechGrammarRules_CommitAndSave(This,ErrorText,SaveStream)	\
19345     (This)->lpVtbl -> CommitAndSave(This,ErrorText,SaveStream)
19346 
19347 #endif /* COBJMACROS */
19348 
19349 
19350 #endif 	/* C style interface */
19351 
19352 
19353 
19354 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get_Count_Proxy(
19355     ISpeechGrammarRules * This,
19356     /* [retval][out] */ long *Count);
19357 
19358 
19359 void __RPC_STUB ISpeechGrammarRules_get_Count_Stub(
19360     IRpcStubBuffer *This,
19361     IRpcChannelBuffer *_pRpcChannelBuffer,
19362     PRPC_MESSAGE _pRpcMessage,
19363     DWORD *_pdwStubPhase);
19364 
19365 
19366 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_FindRule_Proxy(
19367     ISpeechGrammarRules * This,
19368     /* [in] */ VARIANT RuleNameOrId,
19369     /* [retval][out] */ ISpeechGrammarRule **Rule);
19370 
19371 
19372 void __RPC_STUB ISpeechGrammarRules_FindRule_Stub(
19373     IRpcStubBuffer *This,
19374     IRpcChannelBuffer *_pRpcChannelBuffer,
19375     PRPC_MESSAGE _pRpcMessage,
19376     DWORD *_pdwStubPhase);
19377 
19378 
19379 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Item_Proxy(
19380     ISpeechGrammarRules * This,
19381     /* [in] */ long Index,
19382     /* [retval][out] */ ISpeechGrammarRule **Rule);
19383 
19384 
19385 void __RPC_STUB ISpeechGrammarRules_Item_Stub(
19386     IRpcStubBuffer *This,
19387     IRpcChannelBuffer *_pRpcChannelBuffer,
19388     PRPC_MESSAGE _pRpcMessage,
19389     DWORD *_pdwStubPhase);
19390 
19391 
19392 /* [restricted][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get__NewEnum_Proxy(
19393     ISpeechGrammarRules * This,
19394     /* [retval][out] */ IUnknown **EnumVARIANT);
19395 
19396 
19397 void __RPC_STUB ISpeechGrammarRules_get__NewEnum_Stub(
19398     IRpcStubBuffer *This,
19399     IRpcChannelBuffer *_pRpcChannelBuffer,
19400     PRPC_MESSAGE _pRpcMessage,
19401     DWORD *_pdwStubPhase);
19402 
19403 
19404 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get_Dynamic_Proxy(
19405     ISpeechGrammarRules * This,
19406     /* [retval][out] */ VARIANT_BOOL *Dynamic);
19407 
19408 
19409 void __RPC_STUB ISpeechGrammarRules_get_Dynamic_Stub(
19410     IRpcStubBuffer *This,
19411     IRpcChannelBuffer *_pRpcChannelBuffer,
19412     PRPC_MESSAGE _pRpcMessage,
19413     DWORD *_pdwStubPhase);
19414 
19415 
19416 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Add_Proxy(
19417     ISpeechGrammarRules * This,
19418     /* [in] */ BSTR RuleName,
19419     /* [in] */ SpeechRuleAttributes Attributes,
19420     /* [defaultvalue][in] */ long RuleId,
19421     /* [retval][out] */ ISpeechGrammarRule **Rule);
19422 
19423 
19424 void __RPC_STUB ISpeechGrammarRules_Add_Stub(
19425     IRpcStubBuffer *This,
19426     IRpcChannelBuffer *_pRpcChannelBuffer,
19427     PRPC_MESSAGE _pRpcMessage,
19428     DWORD *_pdwStubPhase);
19429 
19430 
19431 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Commit_Proxy(
19432     ISpeechGrammarRules * This);
19433 
19434 
19435 void __RPC_STUB ISpeechGrammarRules_Commit_Stub(
19436     IRpcStubBuffer *This,
19437     IRpcChannelBuffer *_pRpcChannelBuffer,
19438     PRPC_MESSAGE _pRpcMessage,
19439     DWORD *_pdwStubPhase);
19440 
19441 
19442 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_CommitAndSave_Proxy(
19443     ISpeechGrammarRules * This,
19444     /* [out] */ BSTR *ErrorText,
19445     /* [retval][out] */ VARIANT *SaveStream);
19446 
19447 
19448 void __RPC_STUB ISpeechGrammarRules_CommitAndSave_Stub(
19449     IRpcStubBuffer *This,
19450     IRpcChannelBuffer *_pRpcChannelBuffer,
19451     PRPC_MESSAGE _pRpcMessage,
19452     DWORD *_pdwStubPhase);
19453 
19454 
19455 
19456 #endif 	/* __ISpeechGrammarRules_INTERFACE_DEFINED__ */
19457 
19458 
19459 #ifndef __ISpeechGrammarRuleState_INTERFACE_DEFINED__
19460 #define __ISpeechGrammarRuleState_INTERFACE_DEFINED__
19461 
19462 /* interface ISpeechGrammarRuleState */
19463 /* [unique][helpstring][dual][uuid][object] */
19464 
19465 
19466 EXTERN_C const IID IID_ISpeechGrammarRuleState;
19467 
19468 #if defined(__cplusplus) && !defined(CINTERFACE)
19469 
19470     MIDL_INTERFACE("D4286F2C-EE67-45ae-B928-28D695362EDA")
19471     ISpeechGrammarRuleState : public IDispatch
19472     {
19473     public:
19474         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rule(
19475             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
19476 
19477         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Transitions(
19478             /* [retval][out] */ ISpeechGrammarRuleStateTransitions **Transitions) = 0;
19479 
19480         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddWordTransition(
19481             /* [in] */ ISpeechGrammarRuleState *DestState,
19482             /* [in] */ const BSTR Words,
19483             /* [defaultvalue][in] */ const BSTR Separators = L" ",
19484             /* [defaultvalue][in] */ SpeechGrammarWordType Type = SGLexical,
19485             /* [defaultvalue][in] */ const BSTR PropertyName = L"",
19486             /* [defaultvalue][in] */ long PropertyId = 0,
19487             /* [defaultvalue][in] */ VARIANT *PropertyValue = 0,
19488             /* [defaultvalue][in] */ float Weight = 1) = 0;
19489 
19490         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddRuleTransition(
19491             /* [in] */ ISpeechGrammarRuleState *DestinationState,
19492             /* [in] */ ISpeechGrammarRule *Rule,
19493             /* [defaultvalue][in] */ const BSTR PropertyName = L"",
19494             /* [defaultvalue][in] */ long PropertyId = 0,
19495             /* [defaultvalue][in] */ VARIANT *PropertyValue = 0,
19496             /* [defaultvalue][in] */ float Weight = 1) = 0;
19497 
19498         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddSpecialTransition(
19499             /* [in] */ ISpeechGrammarRuleState *DestinationState,
19500             /* [in] */ SpeechSpecialTransitionType Type,
19501             /* [defaultvalue][in] */ const BSTR PropertyName = L"",
19502             /* [defaultvalue][in] */ long PropertyId = 0,
19503             /* [defaultvalue][in] */ VARIANT *PropertyValue = 0,
19504             /* [defaultvalue][in] */ float Weight = 1) = 0;
19505 
19506     };
19507 
19508 #else 	/* C style interface */
19509 
19510     typedef struct ISpeechGrammarRuleStateVtbl
19511     {
19512         BEGIN_INTERFACE
19513 
19514         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
19515             ISpeechGrammarRuleState * This,
19516             /* [in] */ REFIID riid,
19517             /* [iid_is][out] */ void **ppvObject);
19518 
19519         ULONG ( STDMETHODCALLTYPE *AddRef )(
19520             ISpeechGrammarRuleState * This);
19521 
19522         ULONG ( STDMETHODCALLTYPE *Release )(
19523             ISpeechGrammarRuleState * This);
19524 
19525         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
19526             ISpeechGrammarRuleState * This,
19527             /* [out] */ UINT *pctinfo);
19528 
19529         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
19530             ISpeechGrammarRuleState * This,
19531             /* [in] */ UINT iTInfo,
19532             /* [in] */ LCID lcid,
19533             /* [out] */ ITypeInfo **ppTInfo);
19534 
19535         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
19536             ISpeechGrammarRuleState * This,
19537             /* [in] */ REFIID riid,
19538             /* [size_is][in] */ LPOLESTR *rgszNames,
19539             /* [in] */ UINT cNames,
19540             /* [in] */ LCID lcid,
19541             /* [size_is][out] */ DISPID *rgDispId);
19542 
19543         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
19544             ISpeechGrammarRuleState * This,
19545             /* [in] */ DISPID dispIdMember,
19546             /* [in] */ REFIID riid,
19547             /* [in] */ LCID lcid,
19548             /* [in] */ WORD wFlags,
19549             /* [out][in] */ DISPPARAMS *pDispParams,
19550             /* [out] */ VARIANT *pVarResult,
19551             /* [out] */ EXCEPINFO *pExcepInfo,
19552             /* [out] */ UINT *puArgErr);
19553 
19554         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rule )(
19555             ISpeechGrammarRuleState * This,
19556             /* [retval][out] */ ISpeechGrammarRule **Rule);
19557 
19558         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Transitions )(
19559             ISpeechGrammarRuleState * This,
19560             /* [retval][out] */ ISpeechGrammarRuleStateTransitions **Transitions);
19561 
19562         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddWordTransition )(
19563             ISpeechGrammarRuleState * This,
19564             /* [in] */ ISpeechGrammarRuleState *DestState,
19565             /* [in] */ const BSTR Words,
19566             /* [defaultvalue][in] */ const BSTR Separators,
19567             /* [defaultvalue][in] */ SpeechGrammarWordType Type,
19568             /* [defaultvalue][in] */ const BSTR PropertyName,
19569             /* [defaultvalue][in] */ long PropertyId,
19570             /* [defaultvalue][in] */ VARIANT *PropertyValue,
19571             /* [defaultvalue][in] */ float Weight);
19572 
19573         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddRuleTransition )(
19574             ISpeechGrammarRuleState * This,
19575             /* [in] */ ISpeechGrammarRuleState *DestinationState,
19576             /* [in] */ ISpeechGrammarRule *Rule,
19577             /* [defaultvalue][in] */ const BSTR PropertyName,
19578             /* [defaultvalue][in] */ long PropertyId,
19579             /* [defaultvalue][in] */ VARIANT *PropertyValue,
19580             /* [defaultvalue][in] */ float Weight);
19581 
19582         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddSpecialTransition )(
19583             ISpeechGrammarRuleState * This,
19584             /* [in] */ ISpeechGrammarRuleState *DestinationState,
19585             /* [in] */ SpeechSpecialTransitionType Type,
19586             /* [defaultvalue][in] */ const BSTR PropertyName,
19587             /* [defaultvalue][in] */ long PropertyId,
19588             /* [defaultvalue][in] */ VARIANT *PropertyValue,
19589             /* [defaultvalue][in] */ float Weight);
19590 
19591         END_INTERFACE
19592     } ISpeechGrammarRuleStateVtbl;
19593 
19594     interface ISpeechGrammarRuleState
19595     {
19596         CONST_VTBL struct ISpeechGrammarRuleStateVtbl *lpVtbl;
19597     };
19598 
19599 
19600 
19601 #ifdef COBJMACROS
19602 
19603 
19604 #define ISpeechGrammarRuleState_QueryInterface(This,riid,ppvObject)	\
19605     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
19606 
19607 #define ISpeechGrammarRuleState_AddRef(This)	\
19608     (This)->lpVtbl -> AddRef(This)
19609 
19610 #define ISpeechGrammarRuleState_Release(This)	\
19611     (This)->lpVtbl -> Release(This)
19612 
19613 
19614 #define ISpeechGrammarRuleState_GetTypeInfoCount(This,pctinfo)	\
19615     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
19616 
19617 #define ISpeechGrammarRuleState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
19618     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19619 
19620 #define ISpeechGrammarRuleState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
19621     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19622 
19623 #define ISpeechGrammarRuleState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
19624     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19625 
19626 
19627 #define ISpeechGrammarRuleState_get_Rule(This,Rule)	\
19628     (This)->lpVtbl -> get_Rule(This,Rule)
19629 
19630 #define ISpeechGrammarRuleState_get_Transitions(This,Transitions)	\
19631     (This)->lpVtbl -> get_Transitions(This,Transitions)
19632 
19633 #define ISpeechGrammarRuleState_AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight)	\
19634     (This)->lpVtbl -> AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight)
19635 
19636 #define ISpeechGrammarRuleState_AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight)	\
19637     (This)->lpVtbl -> AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight)
19638 
19639 #define ISpeechGrammarRuleState_AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight)	\
19640     (This)->lpVtbl -> AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight)
19641 
19642 #endif /* COBJMACROS */
19643 
19644 
19645 #endif 	/* C style interface */
19646 
19647 
19648 
19649 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_get_Rule_Proxy(
19650     ISpeechGrammarRuleState * This,
19651     /* [retval][out] */ ISpeechGrammarRule **Rule);
19652 
19653 
19654 void __RPC_STUB ISpeechGrammarRuleState_get_Rule_Stub(
19655     IRpcStubBuffer *This,
19656     IRpcChannelBuffer *_pRpcChannelBuffer,
19657     PRPC_MESSAGE _pRpcMessage,
19658     DWORD *_pdwStubPhase);
19659 
19660 
19661 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_get_Transitions_Proxy(
19662     ISpeechGrammarRuleState * This,
19663     /* [retval][out] */ ISpeechGrammarRuleStateTransitions **Transitions);
19664 
19665 
19666 void __RPC_STUB ISpeechGrammarRuleState_get_Transitions_Stub(
19667     IRpcStubBuffer *This,
19668     IRpcChannelBuffer *_pRpcChannelBuffer,
19669     PRPC_MESSAGE _pRpcMessage,
19670     DWORD *_pdwStubPhase);
19671 
19672 
19673 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddWordTransition_Proxy(
19674     ISpeechGrammarRuleState * This,
19675     /* [in] */ ISpeechGrammarRuleState *DestState,
19676     /* [in] */ const BSTR Words,
19677     /* [defaultvalue][in] */ const BSTR Separators,
19678     /* [defaultvalue][in] */ SpeechGrammarWordType Type,
19679     /* [defaultvalue][in] */ const BSTR PropertyName,
19680     /* [defaultvalue][in] */ long PropertyId,
19681     /* [defaultvalue][in] */ VARIANT *PropertyValue,
19682     /* [defaultvalue][in] */ float Weight);
19683 
19684 
19685 void __RPC_STUB ISpeechGrammarRuleState_AddWordTransition_Stub(
19686     IRpcStubBuffer *This,
19687     IRpcChannelBuffer *_pRpcChannelBuffer,
19688     PRPC_MESSAGE _pRpcMessage,
19689     DWORD *_pdwStubPhase);
19690 
19691 
19692 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddRuleTransition_Proxy(
19693     ISpeechGrammarRuleState * This,
19694     /* [in] */ ISpeechGrammarRuleState *DestinationState,
19695     /* [in] */ ISpeechGrammarRule *Rule,
19696     /* [defaultvalue][in] */ const BSTR PropertyName,
19697     /* [defaultvalue][in] */ long PropertyId,
19698     /* [defaultvalue][in] */ VARIANT *PropertyValue,
19699     /* [defaultvalue][in] */ float Weight);
19700 
19701 
19702 void __RPC_STUB ISpeechGrammarRuleState_AddRuleTransition_Stub(
19703     IRpcStubBuffer *This,
19704     IRpcChannelBuffer *_pRpcChannelBuffer,
19705     PRPC_MESSAGE _pRpcMessage,
19706     DWORD *_pdwStubPhase);
19707 
19708 
19709 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddSpecialTransition_Proxy(
19710     ISpeechGrammarRuleState * This,
19711     /* [in] */ ISpeechGrammarRuleState *DestinationState,
19712     /* [in] */ SpeechSpecialTransitionType Type,
19713     /* [defaultvalue][in] */ const BSTR PropertyName,
19714     /* [defaultvalue][in] */ long PropertyId,
19715     /* [defaultvalue][in] */ VARIANT *PropertyValue,
19716     /* [defaultvalue][in] */ float Weight);
19717 
19718 
19719 void __RPC_STUB ISpeechGrammarRuleState_AddSpecialTransition_Stub(
19720     IRpcStubBuffer *This,
19721     IRpcChannelBuffer *_pRpcChannelBuffer,
19722     PRPC_MESSAGE _pRpcMessage,
19723     DWORD *_pdwStubPhase);
19724 
19725 
19726 
19727 #endif 	/* __ISpeechGrammarRuleState_INTERFACE_DEFINED__ */
19728 
19729 
19730 #ifndef __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
19731 #define __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
19732 
19733 /* interface ISpeechGrammarRuleStateTransition */
19734 /* [unique][helpstring][dual][uuid][object] */
19735 
19736 
19737 EXTERN_C const IID IID_ISpeechGrammarRuleStateTransition;
19738 
19739 #if defined(__cplusplus) && !defined(CINTERFACE)
19740 
19741     MIDL_INTERFACE("CAFD1DB1-41D1-4a06-9863-E2E81DA17A9A")
19742     ISpeechGrammarRuleStateTransition : public IDispatch
19743     {
19744     public:
19745         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type(
19746             /* [retval][out] */ SpeechGrammarRuleStateTransitionType *Type) = 0;
19747 
19748         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Text(
19749             /* [retval][out] */ BSTR *Text) = 0;
19750 
19751         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rule(
19752             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
19753 
19754         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Weight(
19755             /* [retval][out] */ VARIANT *Weight) = 0;
19756 
19757         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PropertyName(
19758             /* [retval][out] */ BSTR *PropertyName) = 0;
19759 
19760         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PropertyId(
19761             /* [retval][out] */ long *PropertyId) = 0;
19762 
19763         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PropertyValue(
19764             /* [retval][out] */ VARIANT *PropertyValue) = 0;
19765 
19766         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NextState(
19767             /* [retval][out] */ ISpeechGrammarRuleState **NextState) = 0;
19768 
19769     };
19770 
19771 #else 	/* C style interface */
19772 
19773     typedef struct ISpeechGrammarRuleStateTransitionVtbl
19774     {
19775         BEGIN_INTERFACE
19776 
19777         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
19778             ISpeechGrammarRuleStateTransition * This,
19779             /* [in] */ REFIID riid,
19780             /* [iid_is][out] */ void **ppvObject);
19781 
19782         ULONG ( STDMETHODCALLTYPE *AddRef )(
19783             ISpeechGrammarRuleStateTransition * This);
19784 
19785         ULONG ( STDMETHODCALLTYPE *Release )(
19786             ISpeechGrammarRuleStateTransition * This);
19787 
19788         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
19789             ISpeechGrammarRuleStateTransition * This,
19790             /* [out] */ UINT *pctinfo);
19791 
19792         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
19793             ISpeechGrammarRuleStateTransition * This,
19794             /* [in] */ UINT iTInfo,
19795             /* [in] */ LCID lcid,
19796             /* [out] */ ITypeInfo **ppTInfo);
19797 
19798         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
19799             ISpeechGrammarRuleStateTransition * This,
19800             /* [in] */ REFIID riid,
19801             /* [size_is][in] */ LPOLESTR *rgszNames,
19802             /* [in] */ UINT cNames,
19803             /* [in] */ LCID lcid,
19804             /* [size_is][out] */ DISPID *rgDispId);
19805 
19806         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
19807             ISpeechGrammarRuleStateTransition * This,
19808             /* [in] */ DISPID dispIdMember,
19809             /* [in] */ REFIID riid,
19810             /* [in] */ LCID lcid,
19811             /* [in] */ WORD wFlags,
19812             /* [out][in] */ DISPPARAMS *pDispParams,
19813             /* [out] */ VARIANT *pVarResult,
19814             /* [out] */ EXCEPINFO *pExcepInfo,
19815             /* [out] */ UINT *puArgErr);
19816 
19817         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
19818             ISpeechGrammarRuleStateTransition * This,
19819             /* [retval][out] */ SpeechGrammarRuleStateTransitionType *Type);
19820 
19821         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )(
19822             ISpeechGrammarRuleStateTransition * This,
19823             /* [retval][out] */ BSTR *Text);
19824 
19825         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rule )(
19826             ISpeechGrammarRuleStateTransition * This,
19827             /* [retval][out] */ ISpeechGrammarRule **Rule);
19828 
19829         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Weight )(
19830             ISpeechGrammarRuleStateTransition * This,
19831             /* [retval][out] */ VARIANT *Weight);
19832 
19833         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyName )(
19834             ISpeechGrammarRuleStateTransition * This,
19835             /* [retval][out] */ BSTR *PropertyName);
19836 
19837         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyId )(
19838             ISpeechGrammarRuleStateTransition * This,
19839             /* [retval][out] */ long *PropertyId);
19840 
19841         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyValue )(
19842             ISpeechGrammarRuleStateTransition * This,
19843             /* [retval][out] */ VARIANT *PropertyValue);
19844 
19845         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NextState )(
19846             ISpeechGrammarRuleStateTransition * This,
19847             /* [retval][out] */ ISpeechGrammarRuleState **NextState);
19848 
19849         END_INTERFACE
19850     } ISpeechGrammarRuleStateTransitionVtbl;
19851 
19852     interface ISpeechGrammarRuleStateTransition
19853     {
19854         CONST_VTBL struct ISpeechGrammarRuleStateTransitionVtbl *lpVtbl;
19855     };
19856 
19857 
19858 
19859 #ifdef COBJMACROS
19860 
19861 
19862 #define ISpeechGrammarRuleStateTransition_QueryInterface(This,riid,ppvObject)	\
19863     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
19864 
19865 #define ISpeechGrammarRuleStateTransition_AddRef(This)	\
19866     (This)->lpVtbl -> AddRef(This)
19867 
19868 #define ISpeechGrammarRuleStateTransition_Release(This)	\
19869     (This)->lpVtbl -> Release(This)
19870 
19871 
19872 #define ISpeechGrammarRuleStateTransition_GetTypeInfoCount(This,pctinfo)	\
19873     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
19874 
19875 #define ISpeechGrammarRuleStateTransition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
19876     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
19877 
19878 #define ISpeechGrammarRuleStateTransition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
19879     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
19880 
19881 #define ISpeechGrammarRuleStateTransition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
19882     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
19883 
19884 
19885 #define ISpeechGrammarRuleStateTransition_get_Type(This,Type)	\
19886     (This)->lpVtbl -> get_Type(This,Type)
19887 
19888 #define ISpeechGrammarRuleStateTransition_get_Text(This,Text)	\
19889     (This)->lpVtbl -> get_Text(This,Text)
19890 
19891 #define ISpeechGrammarRuleStateTransition_get_Rule(This,Rule)	\
19892     (This)->lpVtbl -> get_Rule(This,Rule)
19893 
19894 #define ISpeechGrammarRuleStateTransition_get_Weight(This,Weight)	\
19895     (This)->lpVtbl -> get_Weight(This,Weight)
19896 
19897 #define ISpeechGrammarRuleStateTransition_get_PropertyName(This,PropertyName)	\
19898     (This)->lpVtbl -> get_PropertyName(This,PropertyName)
19899 
19900 #define ISpeechGrammarRuleStateTransition_get_PropertyId(This,PropertyId)	\
19901     (This)->lpVtbl -> get_PropertyId(This,PropertyId)
19902 
19903 #define ISpeechGrammarRuleStateTransition_get_PropertyValue(This,PropertyValue)	\
19904     (This)->lpVtbl -> get_PropertyValue(This,PropertyValue)
19905 
19906 #define ISpeechGrammarRuleStateTransition_get_NextState(This,NextState)	\
19907     (This)->lpVtbl -> get_NextState(This,NextState)
19908 
19909 #endif /* COBJMACROS */
19910 
19911 
19912 #endif 	/* C style interface */
19913 
19914 
19915 
19916 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Type_Proxy(
19917     ISpeechGrammarRuleStateTransition * This,
19918     /* [retval][out] */ SpeechGrammarRuleStateTransitionType *Type);
19919 
19920 
19921 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Type_Stub(
19922     IRpcStubBuffer *This,
19923     IRpcChannelBuffer *_pRpcChannelBuffer,
19924     PRPC_MESSAGE _pRpcMessage,
19925     DWORD *_pdwStubPhase);
19926 
19927 
19928 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Text_Proxy(
19929     ISpeechGrammarRuleStateTransition * This,
19930     /* [retval][out] */ BSTR *Text);
19931 
19932 
19933 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Text_Stub(
19934     IRpcStubBuffer *This,
19935     IRpcChannelBuffer *_pRpcChannelBuffer,
19936     PRPC_MESSAGE _pRpcMessage,
19937     DWORD *_pdwStubPhase);
19938 
19939 
19940 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Rule_Proxy(
19941     ISpeechGrammarRuleStateTransition * This,
19942     /* [retval][out] */ ISpeechGrammarRule **Rule);
19943 
19944 
19945 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Rule_Stub(
19946     IRpcStubBuffer *This,
19947     IRpcChannelBuffer *_pRpcChannelBuffer,
19948     PRPC_MESSAGE _pRpcMessage,
19949     DWORD *_pdwStubPhase);
19950 
19951 
19952 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Weight_Proxy(
19953     ISpeechGrammarRuleStateTransition * This,
19954     /* [retval][out] */ VARIANT *Weight);
19955 
19956 
19957 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Weight_Stub(
19958     IRpcStubBuffer *This,
19959     IRpcChannelBuffer *_pRpcChannelBuffer,
19960     PRPC_MESSAGE _pRpcMessage,
19961     DWORD *_pdwStubPhase);
19962 
19963 
19964 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyName_Proxy(
19965     ISpeechGrammarRuleStateTransition * This,
19966     /* [retval][out] */ BSTR *PropertyName);
19967 
19968 
19969 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyName_Stub(
19970     IRpcStubBuffer *This,
19971     IRpcChannelBuffer *_pRpcChannelBuffer,
19972     PRPC_MESSAGE _pRpcMessage,
19973     DWORD *_pdwStubPhase);
19974 
19975 
19976 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyId_Proxy(
19977     ISpeechGrammarRuleStateTransition * This,
19978     /* [retval][out] */ long *PropertyId);
19979 
19980 
19981 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyId_Stub(
19982     IRpcStubBuffer *This,
19983     IRpcChannelBuffer *_pRpcChannelBuffer,
19984     PRPC_MESSAGE _pRpcMessage,
19985     DWORD *_pdwStubPhase);
19986 
19987 
19988 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyValue_Proxy(
19989     ISpeechGrammarRuleStateTransition * This,
19990     /* [retval][out] */ VARIANT *PropertyValue);
19991 
19992 
19993 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyValue_Stub(
19994     IRpcStubBuffer *This,
19995     IRpcChannelBuffer *_pRpcChannelBuffer,
19996     PRPC_MESSAGE _pRpcMessage,
19997     DWORD *_pdwStubPhase);
19998 
19999 
20000 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_NextState_Proxy(
20001     ISpeechGrammarRuleStateTransition * This,
20002     /* [retval][out] */ ISpeechGrammarRuleState **NextState);
20003 
20004 
20005 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_NextState_Stub(
20006     IRpcStubBuffer *This,
20007     IRpcChannelBuffer *_pRpcChannelBuffer,
20008     PRPC_MESSAGE _pRpcMessage,
20009     DWORD *_pdwStubPhase);
20010 
20011 
20012 
20013 #endif 	/* __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__ */
20014 
20015 
20016 #ifndef __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
20017 #define __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
20018 
20019 /* interface ISpeechGrammarRuleStateTransitions */
20020 /* [unique][helpstring][dual][uuid][object] */
20021 
20022 
20023 EXTERN_C const IID IID_ISpeechGrammarRuleStateTransitions;
20024 
20025 #if defined(__cplusplus) && !defined(CINTERFACE)
20026 
20027     MIDL_INTERFACE("EABCE657-75BC-44a2-AA7F-C56476742963")
20028     ISpeechGrammarRuleStateTransitions : public IDispatch
20029     {
20030     public:
20031         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
20032             /* [retval][out] */ long *Count) = 0;
20033 
20034         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item(
20035             /* [in] */ long Index,
20036             /* [retval][out] */ ISpeechGrammarRuleStateTransition **Transition) = 0;
20037 
20038         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
20039             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
20040 
20041     };
20042 
20043 #else 	/* C style interface */
20044 
20045     typedef struct ISpeechGrammarRuleStateTransitionsVtbl
20046     {
20047         BEGIN_INTERFACE
20048 
20049         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
20050             ISpeechGrammarRuleStateTransitions * This,
20051             /* [in] */ REFIID riid,
20052             /* [iid_is][out] */ void **ppvObject);
20053 
20054         ULONG ( STDMETHODCALLTYPE *AddRef )(
20055             ISpeechGrammarRuleStateTransitions * This);
20056 
20057         ULONG ( STDMETHODCALLTYPE *Release )(
20058             ISpeechGrammarRuleStateTransitions * This);
20059 
20060         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
20061             ISpeechGrammarRuleStateTransitions * This,
20062             /* [out] */ UINT *pctinfo);
20063 
20064         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
20065             ISpeechGrammarRuleStateTransitions * This,
20066             /* [in] */ UINT iTInfo,
20067             /* [in] */ LCID lcid,
20068             /* [out] */ ITypeInfo **ppTInfo);
20069 
20070         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
20071             ISpeechGrammarRuleStateTransitions * This,
20072             /* [in] */ REFIID riid,
20073             /* [size_is][in] */ LPOLESTR *rgszNames,
20074             /* [in] */ UINT cNames,
20075             /* [in] */ LCID lcid,
20076             /* [size_is][out] */ DISPID *rgDispId);
20077 
20078         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
20079             ISpeechGrammarRuleStateTransitions * This,
20080             /* [in] */ DISPID dispIdMember,
20081             /* [in] */ REFIID riid,
20082             /* [in] */ LCID lcid,
20083             /* [in] */ WORD wFlags,
20084             /* [out][in] */ DISPPARAMS *pDispParams,
20085             /* [out] */ VARIANT *pVarResult,
20086             /* [out] */ EXCEPINFO *pExcepInfo,
20087             /* [out] */ UINT *puArgErr);
20088 
20089         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
20090             ISpeechGrammarRuleStateTransitions * This,
20091             /* [retval][out] */ long *Count);
20092 
20093         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )(
20094             ISpeechGrammarRuleStateTransitions * This,
20095             /* [in] */ long Index,
20096             /* [retval][out] */ ISpeechGrammarRuleStateTransition **Transition);
20097 
20098         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
20099             ISpeechGrammarRuleStateTransitions * This,
20100             /* [retval][out] */ IUnknown **EnumVARIANT);
20101 
20102         END_INTERFACE
20103     } ISpeechGrammarRuleStateTransitionsVtbl;
20104 
20105     interface ISpeechGrammarRuleStateTransitions
20106     {
20107         CONST_VTBL struct ISpeechGrammarRuleStateTransitionsVtbl *lpVtbl;
20108     };
20109 
20110 
20111 
20112 #ifdef COBJMACROS
20113 
20114 
20115 #define ISpeechGrammarRuleStateTransitions_QueryInterface(This,riid,ppvObject)	\
20116     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
20117 
20118 #define ISpeechGrammarRuleStateTransitions_AddRef(This)	\
20119     (This)->lpVtbl -> AddRef(This)
20120 
20121 #define ISpeechGrammarRuleStateTransitions_Release(This)	\
20122     (This)->lpVtbl -> Release(This)
20123 
20124 
20125 #define ISpeechGrammarRuleStateTransitions_GetTypeInfoCount(This,pctinfo)	\
20126     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
20127 
20128 #define ISpeechGrammarRuleStateTransitions_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
20129     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
20130 
20131 #define ISpeechGrammarRuleStateTransitions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
20132     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
20133 
20134 #define ISpeechGrammarRuleStateTransitions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
20135     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
20136 
20137 
20138 #define ISpeechGrammarRuleStateTransitions_get_Count(This,Count)	\
20139     (This)->lpVtbl -> get_Count(This,Count)
20140 
20141 #define ISpeechGrammarRuleStateTransitions_Item(This,Index,Transition)	\
20142     (This)->lpVtbl -> Item(This,Index,Transition)
20143 
20144 #define ISpeechGrammarRuleStateTransitions_get__NewEnum(This,EnumVARIANT)	\
20145     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
20146 
20147 #endif /* COBJMACROS */
20148 
20149 
20150 #endif 	/* C style interface */
20151 
20152 
20153 
20154 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_get_Count_Proxy(
20155     ISpeechGrammarRuleStateTransitions * This,
20156     /* [retval][out] */ long *Count);
20157 
20158 
20159 void __RPC_STUB ISpeechGrammarRuleStateTransitions_get_Count_Stub(
20160     IRpcStubBuffer *This,
20161     IRpcChannelBuffer *_pRpcChannelBuffer,
20162     PRPC_MESSAGE _pRpcMessage,
20163     DWORD *_pdwStubPhase);
20164 
20165 
20166 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_Item_Proxy(
20167     ISpeechGrammarRuleStateTransitions * This,
20168     /* [in] */ long Index,
20169     /* [retval][out] */ ISpeechGrammarRuleStateTransition **Transition);
20170 
20171 
20172 void __RPC_STUB ISpeechGrammarRuleStateTransitions_Item_Stub(
20173     IRpcStubBuffer *This,
20174     IRpcChannelBuffer *_pRpcChannelBuffer,
20175     PRPC_MESSAGE _pRpcMessage,
20176     DWORD *_pdwStubPhase);
20177 
20178 
20179 /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_get__NewEnum_Proxy(
20180     ISpeechGrammarRuleStateTransitions * This,
20181     /* [retval][out] */ IUnknown **EnumVARIANT);
20182 
20183 
20184 void __RPC_STUB ISpeechGrammarRuleStateTransitions_get__NewEnum_Stub(
20185     IRpcStubBuffer *This,
20186     IRpcChannelBuffer *_pRpcChannelBuffer,
20187     PRPC_MESSAGE _pRpcMessage,
20188     DWORD *_pdwStubPhase);
20189 
20190 
20191 
20192 #endif 	/* __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__ */
20193 
20194 
20195 #ifndef __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
20196 #define __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
20197 
20198 /* interface ISpeechTextSelectionInformation */
20199 /* [unique][helpstring][dual][uuid][object] */
20200 
20201 
20202 EXTERN_C const IID IID_ISpeechTextSelectionInformation;
20203 
20204 #if defined(__cplusplus) && !defined(CINTERFACE)
20205 
20206     MIDL_INTERFACE("3B9C7E7A-6EEE-4DED-9092-11657279ADBE")
20207     ISpeechTextSelectionInformation : public IDispatch
20208     {
20209     public:
20210         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveOffset(
20211             /* [in] */ long ActiveOffset) = 0;
20212 
20213         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveOffset(
20214             /* [retval][out] */ long *ActiveOffset) = 0;
20215 
20216         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveLength(
20217             /* [in] */ long ActiveLength) = 0;
20218 
20219         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveLength(
20220             /* [retval][out] */ long *ActiveLength) = 0;
20221 
20222         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SelectionOffset(
20223             /* [in] */ long SelectionOffset) = 0;
20224 
20225         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectionOffset(
20226             /* [retval][out] */ long *SelectionOffset) = 0;
20227 
20228         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SelectionLength(
20229             /* [in] */ long SelectionLength) = 0;
20230 
20231         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectionLength(
20232             /* [retval][out] */ long *SelectionLength) = 0;
20233 
20234     };
20235 
20236 #else 	/* C style interface */
20237 
20238     typedef struct ISpeechTextSelectionInformationVtbl
20239     {
20240         BEGIN_INTERFACE
20241 
20242         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
20243             ISpeechTextSelectionInformation * This,
20244             /* [in] */ REFIID riid,
20245             /* [iid_is][out] */ void **ppvObject);
20246 
20247         ULONG ( STDMETHODCALLTYPE *AddRef )(
20248             ISpeechTextSelectionInformation * This);
20249 
20250         ULONG ( STDMETHODCALLTYPE *Release )(
20251             ISpeechTextSelectionInformation * This);
20252 
20253         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
20254             ISpeechTextSelectionInformation * This,
20255             /* [out] */ UINT *pctinfo);
20256 
20257         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
20258             ISpeechTextSelectionInformation * This,
20259             /* [in] */ UINT iTInfo,
20260             /* [in] */ LCID lcid,
20261             /* [out] */ ITypeInfo **ppTInfo);
20262 
20263         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
20264             ISpeechTextSelectionInformation * This,
20265             /* [in] */ REFIID riid,
20266             /* [size_is][in] */ LPOLESTR *rgszNames,
20267             /* [in] */ UINT cNames,
20268             /* [in] */ LCID lcid,
20269             /* [size_is][out] */ DISPID *rgDispId);
20270 
20271         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
20272             ISpeechTextSelectionInformation * This,
20273             /* [in] */ DISPID dispIdMember,
20274             /* [in] */ REFIID riid,
20275             /* [in] */ LCID lcid,
20276             /* [in] */ WORD wFlags,
20277             /* [out][in] */ DISPPARAMS *pDispParams,
20278             /* [out] */ VARIANT *pVarResult,
20279             /* [out] */ EXCEPINFO *pExcepInfo,
20280             /* [out] */ UINT *puArgErr);
20281 
20282         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveOffset )(
20283             ISpeechTextSelectionInformation * This,
20284             /* [in] */ long ActiveOffset);
20285 
20286         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveOffset )(
20287             ISpeechTextSelectionInformation * This,
20288             /* [retval][out] */ long *ActiveOffset);
20289 
20290         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveLength )(
20291             ISpeechTextSelectionInformation * This,
20292             /* [in] */ long ActiveLength);
20293 
20294         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveLength )(
20295             ISpeechTextSelectionInformation * This,
20296             /* [retval][out] */ long *ActiveLength);
20297 
20298         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectionOffset )(
20299             ISpeechTextSelectionInformation * This,
20300             /* [in] */ long SelectionOffset);
20301 
20302         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectionOffset )(
20303             ISpeechTextSelectionInformation * This,
20304             /* [retval][out] */ long *SelectionOffset);
20305 
20306         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectionLength )(
20307             ISpeechTextSelectionInformation * This,
20308             /* [in] */ long SelectionLength);
20309 
20310         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectionLength )(
20311             ISpeechTextSelectionInformation * This,
20312             /* [retval][out] */ long *SelectionLength);
20313 
20314         END_INTERFACE
20315     } ISpeechTextSelectionInformationVtbl;
20316 
20317     interface ISpeechTextSelectionInformation
20318     {
20319         CONST_VTBL struct ISpeechTextSelectionInformationVtbl *lpVtbl;
20320     };
20321 
20322 
20323 
20324 #ifdef COBJMACROS
20325 
20326 
20327 #define ISpeechTextSelectionInformation_QueryInterface(This,riid,ppvObject)	\
20328     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
20329 
20330 #define ISpeechTextSelectionInformation_AddRef(This)	\
20331     (This)->lpVtbl -> AddRef(This)
20332 
20333 #define ISpeechTextSelectionInformation_Release(This)	\
20334     (This)->lpVtbl -> Release(This)
20335 
20336 
20337 #define ISpeechTextSelectionInformation_GetTypeInfoCount(This,pctinfo)	\
20338     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
20339 
20340 #define ISpeechTextSelectionInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
20341     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
20342 
20343 #define ISpeechTextSelectionInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
20344     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
20345 
20346 #define ISpeechTextSelectionInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
20347     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
20348 
20349 
20350 #define ISpeechTextSelectionInformation_put_ActiveOffset(This,ActiveOffset)	\
20351     (This)->lpVtbl -> put_ActiveOffset(This,ActiveOffset)
20352 
20353 #define ISpeechTextSelectionInformation_get_ActiveOffset(This,ActiveOffset)	\
20354     (This)->lpVtbl -> get_ActiveOffset(This,ActiveOffset)
20355 
20356 #define ISpeechTextSelectionInformation_put_ActiveLength(This,ActiveLength)	\
20357     (This)->lpVtbl -> put_ActiveLength(This,ActiveLength)
20358 
20359 #define ISpeechTextSelectionInformation_get_ActiveLength(This,ActiveLength)	\
20360     (This)->lpVtbl -> get_ActiveLength(This,ActiveLength)
20361 
20362 #define ISpeechTextSelectionInformation_put_SelectionOffset(This,SelectionOffset)	\
20363     (This)->lpVtbl -> put_SelectionOffset(This,SelectionOffset)
20364 
20365 #define ISpeechTextSelectionInformation_get_SelectionOffset(This,SelectionOffset)	\
20366     (This)->lpVtbl -> get_SelectionOffset(This,SelectionOffset)
20367 
20368 #define ISpeechTextSelectionInformation_put_SelectionLength(This,SelectionLength)	\
20369     (This)->lpVtbl -> put_SelectionLength(This,SelectionLength)
20370 
20371 #define ISpeechTextSelectionInformation_get_SelectionLength(This,SelectionLength)	\
20372     (This)->lpVtbl -> get_SelectionLength(This,SelectionLength)
20373 
20374 #endif /* COBJMACROS */
20375 
20376 
20377 #endif 	/* C style interface */
20378 
20379 
20380 
20381 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_ActiveOffset_Proxy(
20382     ISpeechTextSelectionInformation * This,
20383     /* [in] */ long ActiveOffset);
20384 
20385 
20386 void __RPC_STUB ISpeechTextSelectionInformation_put_ActiveOffset_Stub(
20387     IRpcStubBuffer *This,
20388     IRpcChannelBuffer *_pRpcChannelBuffer,
20389     PRPC_MESSAGE _pRpcMessage,
20390     DWORD *_pdwStubPhase);
20391 
20392 
20393 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_ActiveOffset_Proxy(
20394     ISpeechTextSelectionInformation * This,
20395     /* [retval][out] */ long *ActiveOffset);
20396 
20397 
20398 void __RPC_STUB ISpeechTextSelectionInformation_get_ActiveOffset_Stub(
20399     IRpcStubBuffer *This,
20400     IRpcChannelBuffer *_pRpcChannelBuffer,
20401     PRPC_MESSAGE _pRpcMessage,
20402     DWORD *_pdwStubPhase);
20403 
20404 
20405 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_ActiveLength_Proxy(
20406     ISpeechTextSelectionInformation * This,
20407     /* [in] */ long ActiveLength);
20408 
20409 
20410 void __RPC_STUB ISpeechTextSelectionInformation_put_ActiveLength_Stub(
20411     IRpcStubBuffer *This,
20412     IRpcChannelBuffer *_pRpcChannelBuffer,
20413     PRPC_MESSAGE _pRpcMessage,
20414     DWORD *_pdwStubPhase);
20415 
20416 
20417 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_ActiveLength_Proxy(
20418     ISpeechTextSelectionInformation * This,
20419     /* [retval][out] */ long *ActiveLength);
20420 
20421 
20422 void __RPC_STUB ISpeechTextSelectionInformation_get_ActiveLength_Stub(
20423     IRpcStubBuffer *This,
20424     IRpcChannelBuffer *_pRpcChannelBuffer,
20425     PRPC_MESSAGE _pRpcMessage,
20426     DWORD *_pdwStubPhase);
20427 
20428 
20429 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_SelectionOffset_Proxy(
20430     ISpeechTextSelectionInformation * This,
20431     /* [in] */ long SelectionOffset);
20432 
20433 
20434 void __RPC_STUB ISpeechTextSelectionInformation_put_SelectionOffset_Stub(
20435     IRpcStubBuffer *This,
20436     IRpcChannelBuffer *_pRpcChannelBuffer,
20437     PRPC_MESSAGE _pRpcMessage,
20438     DWORD *_pdwStubPhase);
20439 
20440 
20441 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_SelectionOffset_Proxy(
20442     ISpeechTextSelectionInformation * This,
20443     /* [retval][out] */ long *SelectionOffset);
20444 
20445 
20446 void __RPC_STUB ISpeechTextSelectionInformation_get_SelectionOffset_Stub(
20447     IRpcStubBuffer *This,
20448     IRpcChannelBuffer *_pRpcChannelBuffer,
20449     PRPC_MESSAGE _pRpcMessage,
20450     DWORD *_pdwStubPhase);
20451 
20452 
20453 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_SelectionLength_Proxy(
20454     ISpeechTextSelectionInformation * This,
20455     /* [in] */ long SelectionLength);
20456 
20457 
20458 void __RPC_STUB ISpeechTextSelectionInformation_put_SelectionLength_Stub(
20459     IRpcStubBuffer *This,
20460     IRpcChannelBuffer *_pRpcChannelBuffer,
20461     PRPC_MESSAGE _pRpcMessage,
20462     DWORD *_pdwStubPhase);
20463 
20464 
20465 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_SelectionLength_Proxy(
20466     ISpeechTextSelectionInformation * This,
20467     /* [retval][out] */ long *SelectionLength);
20468 
20469 
20470 void __RPC_STUB ISpeechTextSelectionInformation_get_SelectionLength_Stub(
20471     IRpcStubBuffer *This,
20472     IRpcChannelBuffer *_pRpcChannelBuffer,
20473     PRPC_MESSAGE _pRpcMessage,
20474     DWORD *_pdwStubPhase);
20475 
20476 
20477 
20478 #endif 	/* __ISpeechTextSelectionInformation_INTERFACE_DEFINED__ */
20479 
20480 
20481 #ifndef __ISpeechRecoResult_INTERFACE_DEFINED__
20482 #define __ISpeechRecoResult_INTERFACE_DEFINED__
20483 
20484 /* interface ISpeechRecoResult */
20485 /* [unique][helpstring][dual][uuid][object] */
20486 
20487 
20488 EXTERN_C const IID IID_ISpeechRecoResult;
20489 
20490 #if defined(__cplusplus) && !defined(CINTERFACE)
20491 
20492     MIDL_INTERFACE("ED2879CF-CED9-4ee6-A534-DE0191D5468D")
20493     ISpeechRecoResult : public IDispatch
20494     {
20495     public:
20496         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RecoContext(
20497             /* [retval][out] */ ISpeechRecoContext **RecoContext) = 0;
20498 
20499         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Times(
20500             /* [retval][out] */ ISpeechRecoResultTimes **Times) = 0;
20501 
20502         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_AudioFormat(
20503             /* [in] */ ISpeechAudioFormat *Format) = 0;
20504 
20505         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioFormat(
20506             /* [retval][out] */ ISpeechAudioFormat **Format) = 0;
20507 
20508         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PhraseInfo(
20509             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo) = 0;
20510 
20511         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Alternates(
20512             /* [in] */ long RequestCount,
20513             /* [defaultvalue][in] */ long StartElement,
20514             /* [defaultvalue][in] */ long Elements,
20515             /* [retval][out] */ ISpeechPhraseAlternates **Alternates) = 0;
20516 
20517         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Audio(
20518             /* [defaultvalue][in] */ long StartElement,
20519             /* [defaultvalue][in] */ long Elements,
20520             /* [retval][out] */ ISpeechMemoryStream **Stream) = 0;
20521 
20522         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SpeakAudio(
20523             /* [defaultvalue][in] */ long StartElement,
20524             /* [defaultvalue][in] */ long Elements,
20525             /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
20526             /* [retval][out] */ long *StreamNumber) = 0;
20527 
20528         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SaveToMemory(
20529             /* [retval][out] */ VARIANT *ResultBlock) = 0;
20530 
20531         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DiscardResultInfo(
20532             /* [in] */ SpeechDiscardType ValueTypes) = 0;
20533 
20534     };
20535 
20536 #else 	/* C style interface */
20537 
20538     typedef struct ISpeechRecoResultVtbl
20539     {
20540         BEGIN_INTERFACE
20541 
20542         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
20543             ISpeechRecoResult * This,
20544             /* [in] */ REFIID riid,
20545             /* [iid_is][out] */ void **ppvObject);
20546 
20547         ULONG ( STDMETHODCALLTYPE *AddRef )(
20548             ISpeechRecoResult * This);
20549 
20550         ULONG ( STDMETHODCALLTYPE *Release )(
20551             ISpeechRecoResult * This);
20552 
20553         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
20554             ISpeechRecoResult * This,
20555             /* [out] */ UINT *pctinfo);
20556 
20557         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
20558             ISpeechRecoResult * This,
20559             /* [in] */ UINT iTInfo,
20560             /* [in] */ LCID lcid,
20561             /* [out] */ ITypeInfo **ppTInfo);
20562 
20563         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
20564             ISpeechRecoResult * This,
20565             /* [in] */ REFIID riid,
20566             /* [size_is][in] */ LPOLESTR *rgszNames,
20567             /* [in] */ UINT cNames,
20568             /* [in] */ LCID lcid,
20569             /* [size_is][out] */ DISPID *rgDispId);
20570 
20571         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
20572             ISpeechRecoResult * This,
20573             /* [in] */ DISPID dispIdMember,
20574             /* [in] */ REFIID riid,
20575             /* [in] */ LCID lcid,
20576             /* [in] */ WORD wFlags,
20577             /* [out][in] */ DISPPARAMS *pDispParams,
20578             /* [out] */ VARIANT *pVarResult,
20579             /* [out] */ EXCEPINFO *pExcepInfo,
20580             /* [out] */ UINT *puArgErr);
20581 
20582         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecoContext )(
20583             ISpeechRecoResult * This,
20584             /* [retval][out] */ ISpeechRecoContext **RecoContext);
20585 
20586         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Times )(
20587             ISpeechRecoResult * This,
20588             /* [retval][out] */ ISpeechRecoResultTimes **Times);
20589 
20590         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_AudioFormat )(
20591             ISpeechRecoResult * This,
20592             /* [in] */ ISpeechAudioFormat *Format);
20593 
20594         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioFormat )(
20595             ISpeechRecoResult * This,
20596             /* [retval][out] */ ISpeechAudioFormat **Format);
20597 
20598         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhraseInfo )(
20599             ISpeechRecoResult * This,
20600             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
20601 
20602         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Alternates )(
20603             ISpeechRecoResult * This,
20604             /* [in] */ long RequestCount,
20605             /* [defaultvalue][in] */ long StartElement,
20606             /* [defaultvalue][in] */ long Elements,
20607             /* [retval][out] */ ISpeechPhraseAlternates **Alternates);
20608 
20609         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Audio )(
20610             ISpeechRecoResult * This,
20611             /* [defaultvalue][in] */ long StartElement,
20612             /* [defaultvalue][in] */ long Elements,
20613             /* [retval][out] */ ISpeechMemoryStream **Stream);
20614 
20615         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SpeakAudio )(
20616             ISpeechRecoResult * This,
20617             /* [defaultvalue][in] */ long StartElement,
20618             /* [defaultvalue][in] */ long Elements,
20619             /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
20620             /* [retval][out] */ long *StreamNumber);
20621 
20622         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveToMemory )(
20623             ISpeechRecoResult * This,
20624             /* [retval][out] */ VARIANT *ResultBlock);
20625 
20626         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DiscardResultInfo )(
20627             ISpeechRecoResult * This,
20628             /* [in] */ SpeechDiscardType ValueTypes);
20629 
20630         END_INTERFACE
20631     } ISpeechRecoResultVtbl;
20632 
20633     interface ISpeechRecoResult
20634     {
20635         CONST_VTBL struct ISpeechRecoResultVtbl *lpVtbl;
20636     };
20637 
20638 
20639 
20640 #ifdef COBJMACROS
20641 
20642 
20643 #define ISpeechRecoResult_QueryInterface(This,riid,ppvObject)	\
20644     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
20645 
20646 #define ISpeechRecoResult_AddRef(This)	\
20647     (This)->lpVtbl -> AddRef(This)
20648 
20649 #define ISpeechRecoResult_Release(This)	\
20650     (This)->lpVtbl -> Release(This)
20651 
20652 
20653 #define ISpeechRecoResult_GetTypeInfoCount(This,pctinfo)	\
20654     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
20655 
20656 #define ISpeechRecoResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
20657     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
20658 
20659 #define ISpeechRecoResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
20660     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
20661 
20662 #define ISpeechRecoResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
20663     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
20664 
20665 
20666 #define ISpeechRecoResult_get_RecoContext(This,RecoContext)	\
20667     (This)->lpVtbl -> get_RecoContext(This,RecoContext)
20668 
20669 #define ISpeechRecoResult_get_Times(This,Times)	\
20670     (This)->lpVtbl -> get_Times(This,Times)
20671 
20672 #define ISpeechRecoResult_putref_AudioFormat(This,Format)	\
20673     (This)->lpVtbl -> putref_AudioFormat(This,Format)
20674 
20675 #define ISpeechRecoResult_get_AudioFormat(This,Format)	\
20676     (This)->lpVtbl -> get_AudioFormat(This,Format)
20677 
20678 #define ISpeechRecoResult_get_PhraseInfo(This,PhraseInfo)	\
20679     (This)->lpVtbl -> get_PhraseInfo(This,PhraseInfo)
20680 
20681 #define ISpeechRecoResult_Alternates(This,RequestCount,StartElement,Elements,Alternates)	\
20682     (This)->lpVtbl -> Alternates(This,RequestCount,StartElement,Elements,Alternates)
20683 
20684 #define ISpeechRecoResult_Audio(This,StartElement,Elements,Stream)	\
20685     (This)->lpVtbl -> Audio(This,StartElement,Elements,Stream)
20686 
20687 #define ISpeechRecoResult_SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)	\
20688     (This)->lpVtbl -> SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
20689 
20690 #define ISpeechRecoResult_SaveToMemory(This,ResultBlock)	\
20691     (This)->lpVtbl -> SaveToMemory(This,ResultBlock)
20692 
20693 #define ISpeechRecoResult_DiscardResultInfo(This,ValueTypes)	\
20694     (This)->lpVtbl -> DiscardResultInfo(This,ValueTypes)
20695 
20696 #endif /* COBJMACROS */
20697 
20698 
20699 #endif 	/* C style interface */
20700 
20701 
20702 
20703 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_RecoContext_Proxy(
20704     ISpeechRecoResult * This,
20705     /* [retval][out] */ ISpeechRecoContext **RecoContext);
20706 
20707 
20708 void __RPC_STUB ISpeechRecoResult_get_RecoContext_Stub(
20709     IRpcStubBuffer *This,
20710     IRpcChannelBuffer *_pRpcChannelBuffer,
20711     PRPC_MESSAGE _pRpcMessage,
20712     DWORD *_pdwStubPhase);
20713 
20714 
20715 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_Times_Proxy(
20716     ISpeechRecoResult * This,
20717     /* [retval][out] */ ISpeechRecoResultTimes **Times);
20718 
20719 
20720 void __RPC_STUB ISpeechRecoResult_get_Times_Stub(
20721     IRpcStubBuffer *This,
20722     IRpcChannelBuffer *_pRpcChannelBuffer,
20723     PRPC_MESSAGE _pRpcMessage,
20724     DWORD *_pdwStubPhase);
20725 
20726 
20727 /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_putref_AudioFormat_Proxy(
20728     ISpeechRecoResult * This,
20729     /* [in] */ ISpeechAudioFormat *Format);
20730 
20731 
20732 void __RPC_STUB ISpeechRecoResult_putref_AudioFormat_Stub(
20733     IRpcStubBuffer *This,
20734     IRpcChannelBuffer *_pRpcChannelBuffer,
20735     PRPC_MESSAGE _pRpcMessage,
20736     DWORD *_pdwStubPhase);
20737 
20738 
20739 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_AudioFormat_Proxy(
20740     ISpeechRecoResult * This,
20741     /* [retval][out] */ ISpeechAudioFormat **Format);
20742 
20743 
20744 void __RPC_STUB ISpeechRecoResult_get_AudioFormat_Stub(
20745     IRpcStubBuffer *This,
20746     IRpcChannelBuffer *_pRpcChannelBuffer,
20747     PRPC_MESSAGE _pRpcMessage,
20748     DWORD *_pdwStubPhase);
20749 
20750 
20751 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_PhraseInfo_Proxy(
20752     ISpeechRecoResult * This,
20753     /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
20754 
20755 
20756 void __RPC_STUB ISpeechRecoResult_get_PhraseInfo_Stub(
20757     IRpcStubBuffer *This,
20758     IRpcChannelBuffer *_pRpcChannelBuffer,
20759     PRPC_MESSAGE _pRpcMessage,
20760     DWORD *_pdwStubPhase);
20761 
20762 
20763 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_Alternates_Proxy(
20764     ISpeechRecoResult * This,
20765     /* [in] */ long RequestCount,
20766     /* [defaultvalue][in] */ long StartElement,
20767     /* [defaultvalue][in] */ long Elements,
20768     /* [retval][out] */ ISpeechPhraseAlternates **Alternates);
20769 
20770 
20771 void __RPC_STUB ISpeechRecoResult_Alternates_Stub(
20772     IRpcStubBuffer *This,
20773     IRpcChannelBuffer *_pRpcChannelBuffer,
20774     PRPC_MESSAGE _pRpcMessage,
20775     DWORD *_pdwStubPhase);
20776 
20777 
20778 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_Audio_Proxy(
20779     ISpeechRecoResult * This,
20780     /* [defaultvalue][in] */ long StartElement,
20781     /* [defaultvalue][in] */ long Elements,
20782     /* [retval][out] */ ISpeechMemoryStream **Stream);
20783 
20784 
20785 void __RPC_STUB ISpeechRecoResult_Audio_Stub(
20786     IRpcStubBuffer *This,
20787     IRpcChannelBuffer *_pRpcChannelBuffer,
20788     PRPC_MESSAGE _pRpcMessage,
20789     DWORD *_pdwStubPhase);
20790 
20791 
20792 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_SpeakAudio_Proxy(
20793     ISpeechRecoResult * This,
20794     /* [defaultvalue][in] */ long StartElement,
20795     /* [defaultvalue][in] */ long Elements,
20796     /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
20797     /* [retval][out] */ long *StreamNumber);
20798 
20799 
20800 void __RPC_STUB ISpeechRecoResult_SpeakAudio_Stub(
20801     IRpcStubBuffer *This,
20802     IRpcChannelBuffer *_pRpcChannelBuffer,
20803     PRPC_MESSAGE _pRpcMessage,
20804     DWORD *_pdwStubPhase);
20805 
20806 
20807 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_SaveToMemory_Proxy(
20808     ISpeechRecoResult * This,
20809     /* [retval][out] */ VARIANT *ResultBlock);
20810 
20811 
20812 void __RPC_STUB ISpeechRecoResult_SaveToMemory_Stub(
20813     IRpcStubBuffer *This,
20814     IRpcChannelBuffer *_pRpcChannelBuffer,
20815     PRPC_MESSAGE _pRpcMessage,
20816     DWORD *_pdwStubPhase);
20817 
20818 
20819 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_DiscardResultInfo_Proxy(
20820     ISpeechRecoResult * This,
20821     /* [in] */ SpeechDiscardType ValueTypes);
20822 
20823 
20824 void __RPC_STUB ISpeechRecoResult_DiscardResultInfo_Stub(
20825     IRpcStubBuffer *This,
20826     IRpcChannelBuffer *_pRpcChannelBuffer,
20827     PRPC_MESSAGE _pRpcMessage,
20828     DWORD *_pdwStubPhase);
20829 
20830 
20831 
20832 #endif 	/* __ISpeechRecoResult_INTERFACE_DEFINED__ */
20833 
20834 
20835 #ifndef __ISpeechRecoResultTimes_INTERFACE_DEFINED__
20836 #define __ISpeechRecoResultTimes_INTERFACE_DEFINED__
20837 
20838 /* interface ISpeechRecoResultTimes */
20839 /* [unique][helpstring][dual][uuid][object] */
20840 
20841 
20842 EXTERN_C const IID IID_ISpeechRecoResultTimes;
20843 
20844 #if defined(__cplusplus) && !defined(CINTERFACE)
20845 
20846     MIDL_INTERFACE("62B3B8FB-F6E7-41be-BDCB-056B1C29EFC0")
20847     ISpeechRecoResultTimes : public IDispatch
20848     {
20849     public:
20850         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StreamTime(
20851             /* [retval][out] */ VARIANT *Time) = 0;
20852 
20853         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length(
20854             /* [retval][out] */ VARIANT *Length) = 0;
20855 
20856         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TickCount(
20857             /* [retval][out] */ long *TickCount) = 0;
20858 
20859         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OffsetFromStart(
20860             /* [retval][out] */ VARIANT *OffsetFromStart) = 0;
20861 
20862     };
20863 
20864 #else 	/* C style interface */
20865 
20866     typedef struct ISpeechRecoResultTimesVtbl
20867     {
20868         BEGIN_INTERFACE
20869 
20870         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
20871             ISpeechRecoResultTimes * This,
20872             /* [in] */ REFIID riid,
20873             /* [iid_is][out] */ void **ppvObject);
20874 
20875         ULONG ( STDMETHODCALLTYPE *AddRef )(
20876             ISpeechRecoResultTimes * This);
20877 
20878         ULONG ( STDMETHODCALLTYPE *Release )(
20879             ISpeechRecoResultTimes * This);
20880 
20881         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
20882             ISpeechRecoResultTimes * This,
20883             /* [out] */ UINT *pctinfo);
20884 
20885         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
20886             ISpeechRecoResultTimes * This,
20887             /* [in] */ UINT iTInfo,
20888             /* [in] */ LCID lcid,
20889             /* [out] */ ITypeInfo **ppTInfo);
20890 
20891         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
20892             ISpeechRecoResultTimes * This,
20893             /* [in] */ REFIID riid,
20894             /* [size_is][in] */ LPOLESTR *rgszNames,
20895             /* [in] */ UINT cNames,
20896             /* [in] */ LCID lcid,
20897             /* [size_is][out] */ DISPID *rgDispId);
20898 
20899         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
20900             ISpeechRecoResultTimes * This,
20901             /* [in] */ DISPID dispIdMember,
20902             /* [in] */ REFIID riid,
20903             /* [in] */ LCID lcid,
20904             /* [in] */ WORD wFlags,
20905             /* [out][in] */ DISPPARAMS *pDispParams,
20906             /* [out] */ VARIANT *pVarResult,
20907             /* [out] */ EXCEPINFO *pExcepInfo,
20908             /* [out] */ UINT *puArgErr);
20909 
20910         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StreamTime )(
20911             ISpeechRecoResultTimes * This,
20912             /* [retval][out] */ VARIANT *Time);
20913 
20914         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )(
20915             ISpeechRecoResultTimes * This,
20916             /* [retval][out] */ VARIANT *Length);
20917 
20918         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TickCount )(
20919             ISpeechRecoResultTimes * This,
20920             /* [retval][out] */ long *TickCount);
20921 
20922         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OffsetFromStart )(
20923             ISpeechRecoResultTimes * This,
20924             /* [retval][out] */ VARIANT *OffsetFromStart);
20925 
20926         END_INTERFACE
20927     } ISpeechRecoResultTimesVtbl;
20928 
20929     interface ISpeechRecoResultTimes
20930     {
20931         CONST_VTBL struct ISpeechRecoResultTimesVtbl *lpVtbl;
20932     };
20933 
20934 
20935 
20936 #ifdef COBJMACROS
20937 
20938 
20939 #define ISpeechRecoResultTimes_QueryInterface(This,riid,ppvObject)	\
20940     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
20941 
20942 #define ISpeechRecoResultTimes_AddRef(This)	\
20943     (This)->lpVtbl -> AddRef(This)
20944 
20945 #define ISpeechRecoResultTimes_Release(This)	\
20946     (This)->lpVtbl -> Release(This)
20947 
20948 
20949 #define ISpeechRecoResultTimes_GetTypeInfoCount(This,pctinfo)	\
20950     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
20951 
20952 #define ISpeechRecoResultTimes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
20953     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
20954 
20955 #define ISpeechRecoResultTimes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
20956     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
20957 
20958 #define ISpeechRecoResultTimes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
20959     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
20960 
20961 
20962 #define ISpeechRecoResultTimes_get_StreamTime(This,Time)	\
20963     (This)->lpVtbl -> get_StreamTime(This,Time)
20964 
20965 #define ISpeechRecoResultTimes_get_Length(This,Length)	\
20966     (This)->lpVtbl -> get_Length(This,Length)
20967 
20968 #define ISpeechRecoResultTimes_get_TickCount(This,TickCount)	\
20969     (This)->lpVtbl -> get_TickCount(This,TickCount)
20970 
20971 #define ISpeechRecoResultTimes_get_OffsetFromStart(This,OffsetFromStart)	\
20972     (This)->lpVtbl -> get_OffsetFromStart(This,OffsetFromStart)
20973 
20974 #endif /* COBJMACROS */
20975 
20976 
20977 #endif 	/* C style interface */
20978 
20979 
20980 
20981 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_StreamTime_Proxy(
20982     ISpeechRecoResultTimes * This,
20983     /* [retval][out] */ VARIANT *Time);
20984 
20985 
20986 void __RPC_STUB ISpeechRecoResultTimes_get_StreamTime_Stub(
20987     IRpcStubBuffer *This,
20988     IRpcChannelBuffer *_pRpcChannelBuffer,
20989     PRPC_MESSAGE _pRpcMessage,
20990     DWORD *_pdwStubPhase);
20991 
20992 
20993 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_Length_Proxy(
20994     ISpeechRecoResultTimes * This,
20995     /* [retval][out] */ VARIANT *Length);
20996 
20997 
20998 void __RPC_STUB ISpeechRecoResultTimes_get_Length_Stub(
20999     IRpcStubBuffer *This,
21000     IRpcChannelBuffer *_pRpcChannelBuffer,
21001     PRPC_MESSAGE _pRpcMessage,
21002     DWORD *_pdwStubPhase);
21003 
21004 
21005 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_TickCount_Proxy(
21006     ISpeechRecoResultTimes * This,
21007     /* [retval][out] */ long *TickCount);
21008 
21009 
21010 void __RPC_STUB ISpeechRecoResultTimes_get_TickCount_Stub(
21011     IRpcStubBuffer *This,
21012     IRpcChannelBuffer *_pRpcChannelBuffer,
21013     PRPC_MESSAGE _pRpcMessage,
21014     DWORD *_pdwStubPhase);
21015 
21016 
21017 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_OffsetFromStart_Proxy(
21018     ISpeechRecoResultTimes * This,
21019     /* [retval][out] */ VARIANT *OffsetFromStart);
21020 
21021 
21022 void __RPC_STUB ISpeechRecoResultTimes_get_OffsetFromStart_Stub(
21023     IRpcStubBuffer *This,
21024     IRpcChannelBuffer *_pRpcChannelBuffer,
21025     PRPC_MESSAGE _pRpcMessage,
21026     DWORD *_pdwStubPhase);
21027 
21028 
21029 
21030 #endif 	/* __ISpeechRecoResultTimes_INTERFACE_DEFINED__ */
21031 
21032 
21033 #ifndef __ISpeechPhraseAlternate_INTERFACE_DEFINED__
21034 #define __ISpeechPhraseAlternate_INTERFACE_DEFINED__
21035 
21036 /* interface ISpeechPhraseAlternate */
21037 /* [unique][helpstring][dual][uuid][object] */
21038 
21039 
21040 EXTERN_C const IID IID_ISpeechPhraseAlternate;
21041 
21042 #if defined(__cplusplus) && !defined(CINTERFACE)
21043 
21044     MIDL_INTERFACE("27864A2A-2B9F-4cb8-92D3-0D2722FD1E73")
21045     ISpeechPhraseAlternate : public IDispatch
21046     {
21047     public:
21048         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RecoResult(
21049             /* [retval][out] */ ISpeechRecoResult **RecoResult) = 0;
21050 
21051         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartElementInResult(
21052             /* [retval][out] */ long *StartElement) = 0;
21053 
21054         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfElementsInResult(
21055             /* [retval][out] */ long *NumberOfElements) = 0;
21056 
21057         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PhraseInfo(
21058             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo) = 0;
21059 
21060         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Commit( void) = 0;
21061 
21062     };
21063 
21064 #else 	/* C style interface */
21065 
21066     typedef struct ISpeechPhraseAlternateVtbl
21067     {
21068         BEGIN_INTERFACE
21069 
21070         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
21071             ISpeechPhraseAlternate * This,
21072             /* [in] */ REFIID riid,
21073             /* [iid_is][out] */ void **ppvObject);
21074 
21075         ULONG ( STDMETHODCALLTYPE *AddRef )(
21076             ISpeechPhraseAlternate * This);
21077 
21078         ULONG ( STDMETHODCALLTYPE *Release )(
21079             ISpeechPhraseAlternate * This);
21080 
21081         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
21082             ISpeechPhraseAlternate * This,
21083             /* [out] */ UINT *pctinfo);
21084 
21085         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
21086             ISpeechPhraseAlternate * This,
21087             /* [in] */ UINT iTInfo,
21088             /* [in] */ LCID lcid,
21089             /* [out] */ ITypeInfo **ppTInfo);
21090 
21091         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
21092             ISpeechPhraseAlternate * This,
21093             /* [in] */ REFIID riid,
21094             /* [size_is][in] */ LPOLESTR *rgszNames,
21095             /* [in] */ UINT cNames,
21096             /* [in] */ LCID lcid,
21097             /* [size_is][out] */ DISPID *rgDispId);
21098 
21099         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
21100             ISpeechPhraseAlternate * This,
21101             /* [in] */ DISPID dispIdMember,
21102             /* [in] */ REFIID riid,
21103             /* [in] */ LCID lcid,
21104             /* [in] */ WORD wFlags,
21105             /* [out][in] */ DISPPARAMS *pDispParams,
21106             /* [out] */ VARIANT *pVarResult,
21107             /* [out] */ EXCEPINFO *pExcepInfo,
21108             /* [out] */ UINT *puArgErr);
21109 
21110         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecoResult )(
21111             ISpeechPhraseAlternate * This,
21112             /* [retval][out] */ ISpeechRecoResult **RecoResult);
21113 
21114         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartElementInResult )(
21115             ISpeechPhraseAlternate * This,
21116             /* [retval][out] */ long *StartElement);
21117 
21118         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfElementsInResult )(
21119             ISpeechPhraseAlternate * This,
21120             /* [retval][out] */ long *NumberOfElements);
21121 
21122         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhraseInfo )(
21123             ISpeechPhraseAlternate * This,
21124             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
21125 
21126         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Commit )(
21127             ISpeechPhraseAlternate * This);
21128 
21129         END_INTERFACE
21130     } ISpeechPhraseAlternateVtbl;
21131 
21132     interface ISpeechPhraseAlternate
21133     {
21134         CONST_VTBL struct ISpeechPhraseAlternateVtbl *lpVtbl;
21135     };
21136 
21137 
21138 
21139 #ifdef COBJMACROS
21140 
21141 
21142 #define ISpeechPhraseAlternate_QueryInterface(This,riid,ppvObject)	\
21143     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
21144 
21145 #define ISpeechPhraseAlternate_AddRef(This)	\
21146     (This)->lpVtbl -> AddRef(This)
21147 
21148 #define ISpeechPhraseAlternate_Release(This)	\
21149     (This)->lpVtbl -> Release(This)
21150 
21151 
21152 #define ISpeechPhraseAlternate_GetTypeInfoCount(This,pctinfo)	\
21153     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
21154 
21155 #define ISpeechPhraseAlternate_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
21156     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
21157 
21158 #define ISpeechPhraseAlternate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
21159     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
21160 
21161 #define ISpeechPhraseAlternate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
21162     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
21163 
21164 
21165 #define ISpeechPhraseAlternate_get_RecoResult(This,RecoResult)	\
21166     (This)->lpVtbl -> get_RecoResult(This,RecoResult)
21167 
21168 #define ISpeechPhraseAlternate_get_StartElementInResult(This,StartElement)	\
21169     (This)->lpVtbl -> get_StartElementInResult(This,StartElement)
21170 
21171 #define ISpeechPhraseAlternate_get_NumberOfElementsInResult(This,NumberOfElements)	\
21172     (This)->lpVtbl -> get_NumberOfElementsInResult(This,NumberOfElements)
21173 
21174 #define ISpeechPhraseAlternate_get_PhraseInfo(This,PhraseInfo)	\
21175     (This)->lpVtbl -> get_PhraseInfo(This,PhraseInfo)
21176 
21177 #define ISpeechPhraseAlternate_Commit(This)	\
21178     (This)->lpVtbl -> Commit(This)
21179 
21180 #endif /* COBJMACROS */
21181 
21182 
21183 #endif 	/* C style interface */
21184 
21185 
21186 
21187 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_RecoResult_Proxy(
21188     ISpeechPhraseAlternate * This,
21189     /* [retval][out] */ ISpeechRecoResult **RecoResult);
21190 
21191 
21192 void __RPC_STUB ISpeechPhraseAlternate_get_RecoResult_Stub(
21193     IRpcStubBuffer *This,
21194     IRpcChannelBuffer *_pRpcChannelBuffer,
21195     PRPC_MESSAGE _pRpcMessage,
21196     DWORD *_pdwStubPhase);
21197 
21198 
21199 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_StartElementInResult_Proxy(
21200     ISpeechPhraseAlternate * This,
21201     /* [retval][out] */ long *StartElement);
21202 
21203 
21204 void __RPC_STUB ISpeechPhraseAlternate_get_StartElementInResult_Stub(
21205     IRpcStubBuffer *This,
21206     IRpcChannelBuffer *_pRpcChannelBuffer,
21207     PRPC_MESSAGE _pRpcMessage,
21208     DWORD *_pdwStubPhase);
21209 
21210 
21211 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_NumberOfElementsInResult_Proxy(
21212     ISpeechPhraseAlternate * This,
21213     /* [retval][out] */ long *NumberOfElements);
21214 
21215 
21216 void __RPC_STUB ISpeechPhraseAlternate_get_NumberOfElementsInResult_Stub(
21217     IRpcStubBuffer *This,
21218     IRpcChannelBuffer *_pRpcChannelBuffer,
21219     PRPC_MESSAGE _pRpcMessage,
21220     DWORD *_pdwStubPhase);
21221 
21222 
21223 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_PhraseInfo_Proxy(
21224     ISpeechPhraseAlternate * This,
21225     /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
21226 
21227 
21228 void __RPC_STUB ISpeechPhraseAlternate_get_PhraseInfo_Stub(
21229     IRpcStubBuffer *This,
21230     IRpcChannelBuffer *_pRpcChannelBuffer,
21231     PRPC_MESSAGE _pRpcMessage,
21232     DWORD *_pdwStubPhase);
21233 
21234 
21235 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_Commit_Proxy(
21236     ISpeechPhraseAlternate * This);
21237 
21238 
21239 void __RPC_STUB ISpeechPhraseAlternate_Commit_Stub(
21240     IRpcStubBuffer *This,
21241     IRpcChannelBuffer *_pRpcChannelBuffer,
21242     PRPC_MESSAGE _pRpcMessage,
21243     DWORD *_pdwStubPhase);
21244 
21245 
21246 
21247 #endif 	/* __ISpeechPhraseAlternate_INTERFACE_DEFINED__ */
21248 
21249 
21250 #ifndef __ISpeechPhraseAlternates_INTERFACE_DEFINED__
21251 #define __ISpeechPhraseAlternates_INTERFACE_DEFINED__
21252 
21253 /* interface ISpeechPhraseAlternates */
21254 /* [unique][helpstring][dual][uuid][object] */
21255 
21256 
21257 EXTERN_C const IID IID_ISpeechPhraseAlternates;
21258 
21259 #if defined(__cplusplus) && !defined(CINTERFACE)
21260 
21261     MIDL_INTERFACE("B238B6D5-F276-4c3d-A6C1-2974801C3CC2")
21262     ISpeechPhraseAlternates : public IDispatch
21263     {
21264     public:
21265         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
21266             /* [retval][out] */ long *Count) = 0;
21267 
21268         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item(
21269             /* [in] */ long Index,
21270             /* [retval][out] */ ISpeechPhraseAlternate **PhraseAlternate) = 0;
21271 
21272         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
21273             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
21274 
21275     };
21276 
21277 #else 	/* C style interface */
21278 
21279     typedef struct ISpeechPhraseAlternatesVtbl
21280     {
21281         BEGIN_INTERFACE
21282 
21283         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
21284             ISpeechPhraseAlternates * This,
21285             /* [in] */ REFIID riid,
21286             /* [iid_is][out] */ void **ppvObject);
21287 
21288         ULONG ( STDMETHODCALLTYPE *AddRef )(
21289             ISpeechPhraseAlternates * This);
21290 
21291         ULONG ( STDMETHODCALLTYPE *Release )(
21292             ISpeechPhraseAlternates * This);
21293 
21294         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
21295             ISpeechPhraseAlternates * This,
21296             /* [out] */ UINT *pctinfo);
21297 
21298         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
21299             ISpeechPhraseAlternates * This,
21300             /* [in] */ UINT iTInfo,
21301             /* [in] */ LCID lcid,
21302             /* [out] */ ITypeInfo **ppTInfo);
21303 
21304         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
21305             ISpeechPhraseAlternates * This,
21306             /* [in] */ REFIID riid,
21307             /* [size_is][in] */ LPOLESTR *rgszNames,
21308             /* [in] */ UINT cNames,
21309             /* [in] */ LCID lcid,
21310             /* [size_is][out] */ DISPID *rgDispId);
21311 
21312         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
21313             ISpeechPhraseAlternates * This,
21314             /* [in] */ DISPID dispIdMember,
21315             /* [in] */ REFIID riid,
21316             /* [in] */ LCID lcid,
21317             /* [in] */ WORD wFlags,
21318             /* [out][in] */ DISPPARAMS *pDispParams,
21319             /* [out] */ VARIANT *pVarResult,
21320             /* [out] */ EXCEPINFO *pExcepInfo,
21321             /* [out] */ UINT *puArgErr);
21322 
21323         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
21324             ISpeechPhraseAlternates * This,
21325             /* [retval][out] */ long *Count);
21326 
21327         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )(
21328             ISpeechPhraseAlternates * This,
21329             /* [in] */ long Index,
21330             /* [retval][out] */ ISpeechPhraseAlternate **PhraseAlternate);
21331 
21332         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
21333             ISpeechPhraseAlternates * This,
21334             /* [retval][out] */ IUnknown **EnumVARIANT);
21335 
21336         END_INTERFACE
21337     } ISpeechPhraseAlternatesVtbl;
21338 
21339     interface ISpeechPhraseAlternates
21340     {
21341         CONST_VTBL struct ISpeechPhraseAlternatesVtbl *lpVtbl;
21342     };
21343 
21344 
21345 
21346 #ifdef COBJMACROS
21347 
21348 
21349 #define ISpeechPhraseAlternates_QueryInterface(This,riid,ppvObject)	\
21350     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
21351 
21352 #define ISpeechPhraseAlternates_AddRef(This)	\
21353     (This)->lpVtbl -> AddRef(This)
21354 
21355 #define ISpeechPhraseAlternates_Release(This)	\
21356     (This)->lpVtbl -> Release(This)
21357 
21358 
21359 #define ISpeechPhraseAlternates_GetTypeInfoCount(This,pctinfo)	\
21360     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
21361 
21362 #define ISpeechPhraseAlternates_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
21363     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
21364 
21365 #define ISpeechPhraseAlternates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
21366     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
21367 
21368 #define ISpeechPhraseAlternates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
21369     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
21370 
21371 
21372 #define ISpeechPhraseAlternates_get_Count(This,Count)	\
21373     (This)->lpVtbl -> get_Count(This,Count)
21374 
21375 #define ISpeechPhraseAlternates_Item(This,Index,PhraseAlternate)	\
21376     (This)->lpVtbl -> Item(This,Index,PhraseAlternate)
21377 
21378 #define ISpeechPhraseAlternates_get__NewEnum(This,EnumVARIANT)	\
21379     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
21380 
21381 #endif /* COBJMACROS */
21382 
21383 
21384 #endif 	/* C style interface */
21385 
21386 
21387 
21388 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_get_Count_Proxy(
21389     ISpeechPhraseAlternates * This,
21390     /* [retval][out] */ long *Count);
21391 
21392 
21393 void __RPC_STUB ISpeechPhraseAlternates_get_Count_Stub(
21394     IRpcStubBuffer *This,
21395     IRpcChannelBuffer *_pRpcChannelBuffer,
21396     PRPC_MESSAGE _pRpcMessage,
21397     DWORD *_pdwStubPhase);
21398 
21399 
21400 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_Item_Proxy(
21401     ISpeechPhraseAlternates * This,
21402     /* [in] */ long Index,
21403     /* [retval][out] */ ISpeechPhraseAlternate **PhraseAlternate);
21404 
21405 
21406 void __RPC_STUB ISpeechPhraseAlternates_Item_Stub(
21407     IRpcStubBuffer *This,
21408     IRpcChannelBuffer *_pRpcChannelBuffer,
21409     PRPC_MESSAGE _pRpcMessage,
21410     DWORD *_pdwStubPhase);
21411 
21412 
21413 /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_get__NewEnum_Proxy(
21414     ISpeechPhraseAlternates * This,
21415     /* [retval][out] */ IUnknown **EnumVARIANT);
21416 
21417 
21418 void __RPC_STUB ISpeechPhraseAlternates_get__NewEnum_Stub(
21419     IRpcStubBuffer *This,
21420     IRpcChannelBuffer *_pRpcChannelBuffer,
21421     PRPC_MESSAGE _pRpcMessage,
21422     DWORD *_pdwStubPhase);
21423 
21424 
21425 
21426 #endif 	/* __ISpeechPhraseAlternates_INTERFACE_DEFINED__ */
21427 
21428 
21429 #ifndef __ISpeechPhraseInfo_INTERFACE_DEFINED__
21430 #define __ISpeechPhraseInfo_INTERFACE_DEFINED__
21431 
21432 /* interface ISpeechPhraseInfo */
21433 /* [unique][helpstring][dual][uuid][object] */
21434 
21435 
21436 EXTERN_C const IID IID_ISpeechPhraseInfo;
21437 
21438 #if defined(__cplusplus) && !defined(CINTERFACE)
21439 
21440     MIDL_INTERFACE("961559CF-4E67-4662-8BF0-D93F1FCD61B3")
21441     ISpeechPhraseInfo : public IDispatch
21442     {
21443     public:
21444         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LanguageId(
21445             /* [retval][out] */ long *LanguageId) = 0;
21446 
21447         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GrammarId(
21448             /* [retval][out] */ VARIANT *GrammarId) = 0;
21449 
21450         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartTime(
21451             /* [retval][out] */ VARIANT *StartTime) = 0;
21452 
21453         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioStreamPosition(
21454             /* [retval][out] */ VARIANT *AudioStreamPosition) = 0;
21455 
21456         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioSizeBytes(
21457             /* [retval][out] */ long *pAudioSizeBytes) = 0;
21458 
21459         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes(
21460             /* [retval][out] */ long *RetainedSizeBytes) = 0;
21461 
21462         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioSizeTime(
21463             /* [retval][out] */ long *AudioSizeTime) = 0;
21464 
21465         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rule(
21466             /* [retval][out] */ ISpeechPhraseRule **Rule) = 0;
21467 
21468         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Properties(
21469             /* [retval][out] */ ISpeechPhraseProperties **Properties) = 0;
21470 
21471         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Elements(
21472             /* [retval][out] */ ISpeechPhraseElements **Elements) = 0;
21473 
21474         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Replacements(
21475             /* [retval][out] */ ISpeechPhraseReplacements **Replacements) = 0;
21476 
21477         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EngineId(
21478             /* [retval][out] */ BSTR *EngineIdGuid) = 0;
21479 
21480         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EnginePrivateData(
21481             /* [retval][out] */ VARIANT *PrivateData) = 0;
21482 
21483         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SaveToMemory(
21484             /* [retval][out] */ VARIANT *PhraseBlock) = 0;
21485 
21486         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetText(
21487             /* [defaultvalue][in] */ long StartElement,
21488             /* [defaultvalue][in] */ long Elements,
21489             /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
21490             /* [retval][out] */ BSTR *Text) = 0;
21491 
21492         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayAttributes(
21493             /* [defaultvalue][in] */ long StartElement,
21494             /* [defaultvalue][in] */ long Elements,
21495             /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
21496             /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes) = 0;
21497 
21498     };
21499 
21500 #else 	/* C style interface */
21501 
21502     typedef struct ISpeechPhraseInfoVtbl
21503     {
21504         BEGIN_INTERFACE
21505 
21506         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
21507             ISpeechPhraseInfo * This,
21508             /* [in] */ REFIID riid,
21509             /* [iid_is][out] */ void **ppvObject);
21510 
21511         ULONG ( STDMETHODCALLTYPE *AddRef )(
21512             ISpeechPhraseInfo * This);
21513 
21514         ULONG ( STDMETHODCALLTYPE *Release )(
21515             ISpeechPhraseInfo * This);
21516 
21517         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
21518             ISpeechPhraseInfo * This,
21519             /* [out] */ UINT *pctinfo);
21520 
21521         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
21522             ISpeechPhraseInfo * This,
21523             /* [in] */ UINT iTInfo,
21524             /* [in] */ LCID lcid,
21525             /* [out] */ ITypeInfo **ppTInfo);
21526 
21527         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
21528             ISpeechPhraseInfo * This,
21529             /* [in] */ REFIID riid,
21530             /* [size_is][in] */ LPOLESTR *rgszNames,
21531             /* [in] */ UINT cNames,
21532             /* [in] */ LCID lcid,
21533             /* [size_is][out] */ DISPID *rgDispId);
21534 
21535         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
21536             ISpeechPhraseInfo * This,
21537             /* [in] */ DISPID dispIdMember,
21538             /* [in] */ REFIID riid,
21539             /* [in] */ LCID lcid,
21540             /* [in] */ WORD wFlags,
21541             /* [out][in] */ DISPPARAMS *pDispParams,
21542             /* [out] */ VARIANT *pVarResult,
21543             /* [out] */ EXCEPINFO *pExcepInfo,
21544             /* [out] */ UINT *puArgErr);
21545 
21546         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LanguageId )(
21547             ISpeechPhraseInfo * This,
21548             /* [retval][out] */ long *LanguageId);
21549 
21550         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GrammarId )(
21551             ISpeechPhraseInfo * This,
21552             /* [retval][out] */ VARIANT *GrammarId);
21553 
21554         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartTime )(
21555             ISpeechPhraseInfo * This,
21556             /* [retval][out] */ VARIANT *StartTime);
21557 
21558         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioStreamPosition )(
21559             ISpeechPhraseInfo * This,
21560             /* [retval][out] */ VARIANT *AudioStreamPosition);
21561 
21562         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSizeBytes )(
21563             ISpeechPhraseInfo * This,
21564             /* [retval][out] */ long *pAudioSizeBytes);
21565 
21566         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RetainedSizeBytes )(
21567             ISpeechPhraseInfo * This,
21568             /* [retval][out] */ long *RetainedSizeBytes);
21569 
21570         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSizeTime )(
21571             ISpeechPhraseInfo * This,
21572             /* [retval][out] */ long *AudioSizeTime);
21573 
21574         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rule )(
21575             ISpeechPhraseInfo * This,
21576             /* [retval][out] */ ISpeechPhraseRule **Rule);
21577 
21578         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )(
21579             ISpeechPhraseInfo * This,
21580             /* [retval][out] */ ISpeechPhraseProperties **Properties);
21581 
21582         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Elements )(
21583             ISpeechPhraseInfo * This,
21584             /* [retval][out] */ ISpeechPhraseElements **Elements);
21585 
21586         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Replacements )(
21587             ISpeechPhraseInfo * This,
21588             /* [retval][out] */ ISpeechPhraseReplacements **Replacements);
21589 
21590         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EngineId )(
21591             ISpeechPhraseInfo * This,
21592             /* [retval][out] */ BSTR *EngineIdGuid);
21593 
21594         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnginePrivateData )(
21595             ISpeechPhraseInfo * This,
21596             /* [retval][out] */ VARIANT *PrivateData);
21597 
21598         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveToMemory )(
21599             ISpeechPhraseInfo * This,
21600             /* [retval][out] */ VARIANT *PhraseBlock);
21601 
21602         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetText )(
21603             ISpeechPhraseInfo * This,
21604             /* [defaultvalue][in] */ long StartElement,
21605             /* [defaultvalue][in] */ long Elements,
21606             /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
21607             /* [retval][out] */ BSTR *Text);
21608 
21609         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDisplayAttributes )(
21610             ISpeechPhraseInfo * This,
21611             /* [defaultvalue][in] */ long StartElement,
21612             /* [defaultvalue][in] */ long Elements,
21613             /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
21614             /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes);
21615 
21616         END_INTERFACE
21617     } ISpeechPhraseInfoVtbl;
21618 
21619     interface ISpeechPhraseInfo
21620     {
21621         CONST_VTBL struct ISpeechPhraseInfoVtbl *lpVtbl;
21622     };
21623 
21624 
21625 
21626 #ifdef COBJMACROS
21627 
21628 
21629 #define ISpeechPhraseInfo_QueryInterface(This,riid,ppvObject)	\
21630     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
21631 
21632 #define ISpeechPhraseInfo_AddRef(This)	\
21633     (This)->lpVtbl -> AddRef(This)
21634 
21635 #define ISpeechPhraseInfo_Release(This)	\
21636     (This)->lpVtbl -> Release(This)
21637 
21638 
21639 #define ISpeechPhraseInfo_GetTypeInfoCount(This,pctinfo)	\
21640     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
21641 
21642 #define ISpeechPhraseInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
21643     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
21644 
21645 #define ISpeechPhraseInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
21646     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
21647 
21648 #define ISpeechPhraseInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
21649     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
21650 
21651 
21652 #define ISpeechPhraseInfo_get_LanguageId(This,LanguageId)	\
21653     (This)->lpVtbl -> get_LanguageId(This,LanguageId)
21654 
21655 #define ISpeechPhraseInfo_get_GrammarId(This,GrammarId)	\
21656     (This)->lpVtbl -> get_GrammarId(This,GrammarId)
21657 
21658 #define ISpeechPhraseInfo_get_StartTime(This,StartTime)	\
21659     (This)->lpVtbl -> get_StartTime(This,StartTime)
21660 
21661 #define ISpeechPhraseInfo_get_AudioStreamPosition(This,AudioStreamPosition)	\
21662     (This)->lpVtbl -> get_AudioStreamPosition(This,AudioStreamPosition)
21663 
21664 #define ISpeechPhraseInfo_get_AudioSizeBytes(This,pAudioSizeBytes)	\
21665     (This)->lpVtbl -> get_AudioSizeBytes(This,pAudioSizeBytes)
21666 
21667 #define ISpeechPhraseInfo_get_RetainedSizeBytes(This,RetainedSizeBytes)	\
21668     (This)->lpVtbl -> get_RetainedSizeBytes(This,RetainedSizeBytes)
21669 
21670 #define ISpeechPhraseInfo_get_AudioSizeTime(This,AudioSizeTime)	\
21671     (This)->lpVtbl -> get_AudioSizeTime(This,AudioSizeTime)
21672 
21673 #define ISpeechPhraseInfo_get_Rule(This,Rule)	\
21674     (This)->lpVtbl -> get_Rule(This,Rule)
21675 
21676 #define ISpeechPhraseInfo_get_Properties(This,Properties)	\
21677     (This)->lpVtbl -> get_Properties(This,Properties)
21678 
21679 #define ISpeechPhraseInfo_get_Elements(This,Elements)	\
21680     (This)->lpVtbl -> get_Elements(This,Elements)
21681 
21682 #define ISpeechPhraseInfo_get_Replacements(This,Replacements)	\
21683     (This)->lpVtbl -> get_Replacements(This,Replacements)
21684 
21685 #define ISpeechPhraseInfo_get_EngineId(This,EngineIdGuid)	\
21686     (This)->lpVtbl -> get_EngineId(This,EngineIdGuid)
21687 
21688 #define ISpeechPhraseInfo_get_EnginePrivateData(This,PrivateData)	\
21689     (This)->lpVtbl -> get_EnginePrivateData(This,PrivateData)
21690 
21691 #define ISpeechPhraseInfo_SaveToMemory(This,PhraseBlock)	\
21692     (This)->lpVtbl -> SaveToMemory(This,PhraseBlock)
21693 
21694 #define ISpeechPhraseInfo_GetText(This,StartElement,Elements,UseReplacements,Text)	\
21695     (This)->lpVtbl -> GetText(This,StartElement,Elements,UseReplacements,Text)
21696 
21697 #define ISpeechPhraseInfo_GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes)	\
21698     (This)->lpVtbl -> GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes)
21699 
21700 #endif /* COBJMACROS */
21701 
21702 
21703 #endif 	/* C style interface */
21704 
21705 
21706 
21707 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_LanguageId_Proxy(
21708     ISpeechPhraseInfo * This,
21709     /* [retval][out] */ long *LanguageId);
21710 
21711 
21712 void __RPC_STUB ISpeechPhraseInfo_get_LanguageId_Stub(
21713     IRpcStubBuffer *This,
21714     IRpcChannelBuffer *_pRpcChannelBuffer,
21715     PRPC_MESSAGE _pRpcMessage,
21716     DWORD *_pdwStubPhase);
21717 
21718 
21719 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_GrammarId_Proxy(
21720     ISpeechPhraseInfo * This,
21721     /* [retval][out] */ VARIANT *GrammarId);
21722 
21723 
21724 void __RPC_STUB ISpeechPhraseInfo_get_GrammarId_Stub(
21725     IRpcStubBuffer *This,
21726     IRpcChannelBuffer *_pRpcChannelBuffer,
21727     PRPC_MESSAGE _pRpcMessage,
21728     DWORD *_pdwStubPhase);
21729 
21730 
21731 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_StartTime_Proxy(
21732     ISpeechPhraseInfo * This,
21733     /* [retval][out] */ VARIANT *StartTime);
21734 
21735 
21736 void __RPC_STUB ISpeechPhraseInfo_get_StartTime_Stub(
21737     IRpcStubBuffer *This,
21738     IRpcChannelBuffer *_pRpcChannelBuffer,
21739     PRPC_MESSAGE _pRpcMessage,
21740     DWORD *_pdwStubPhase);
21741 
21742 
21743 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioStreamPosition_Proxy(
21744     ISpeechPhraseInfo * This,
21745     /* [retval][out] */ VARIANT *AudioStreamPosition);
21746 
21747 
21748 void __RPC_STUB ISpeechPhraseInfo_get_AudioStreamPosition_Stub(
21749     IRpcStubBuffer *This,
21750     IRpcChannelBuffer *_pRpcChannelBuffer,
21751     PRPC_MESSAGE _pRpcMessage,
21752     DWORD *_pdwStubPhase);
21753 
21754 
21755 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioSizeBytes_Proxy(
21756     ISpeechPhraseInfo * This,
21757     /* [retval][out] */ long *pAudioSizeBytes);
21758 
21759 
21760 void __RPC_STUB ISpeechPhraseInfo_get_AudioSizeBytes_Stub(
21761     IRpcStubBuffer *This,
21762     IRpcChannelBuffer *_pRpcChannelBuffer,
21763     PRPC_MESSAGE _pRpcMessage,
21764     DWORD *_pdwStubPhase);
21765 
21766 
21767 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_RetainedSizeBytes_Proxy(
21768     ISpeechPhraseInfo * This,
21769     /* [retval][out] */ long *RetainedSizeBytes);
21770 
21771 
21772 void __RPC_STUB ISpeechPhraseInfo_get_RetainedSizeBytes_Stub(
21773     IRpcStubBuffer *This,
21774     IRpcChannelBuffer *_pRpcChannelBuffer,
21775     PRPC_MESSAGE _pRpcMessage,
21776     DWORD *_pdwStubPhase);
21777 
21778 
21779 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioSizeTime_Proxy(
21780     ISpeechPhraseInfo * This,
21781     /* [retval][out] */ long *AudioSizeTime);
21782 
21783 
21784 void __RPC_STUB ISpeechPhraseInfo_get_AudioSizeTime_Stub(
21785     IRpcStubBuffer *This,
21786     IRpcChannelBuffer *_pRpcChannelBuffer,
21787     PRPC_MESSAGE _pRpcMessage,
21788     DWORD *_pdwStubPhase);
21789 
21790 
21791 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Rule_Proxy(
21792     ISpeechPhraseInfo * This,
21793     /* [retval][out] */ ISpeechPhraseRule **Rule);
21794 
21795 
21796 void __RPC_STUB ISpeechPhraseInfo_get_Rule_Stub(
21797     IRpcStubBuffer *This,
21798     IRpcChannelBuffer *_pRpcChannelBuffer,
21799     PRPC_MESSAGE _pRpcMessage,
21800     DWORD *_pdwStubPhase);
21801 
21802 
21803 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Properties_Proxy(
21804     ISpeechPhraseInfo * This,
21805     /* [retval][out] */ ISpeechPhraseProperties **Properties);
21806 
21807 
21808 void __RPC_STUB ISpeechPhraseInfo_get_Properties_Stub(
21809     IRpcStubBuffer *This,
21810     IRpcChannelBuffer *_pRpcChannelBuffer,
21811     PRPC_MESSAGE _pRpcMessage,
21812     DWORD *_pdwStubPhase);
21813 
21814 
21815 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Elements_Proxy(
21816     ISpeechPhraseInfo * This,
21817     /* [retval][out] */ ISpeechPhraseElements **Elements);
21818 
21819 
21820 void __RPC_STUB ISpeechPhraseInfo_get_Elements_Stub(
21821     IRpcStubBuffer *This,
21822     IRpcChannelBuffer *_pRpcChannelBuffer,
21823     PRPC_MESSAGE _pRpcMessage,
21824     DWORD *_pdwStubPhase);
21825 
21826 
21827 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Replacements_Proxy(
21828     ISpeechPhraseInfo * This,
21829     /* [retval][out] */ ISpeechPhraseReplacements **Replacements);
21830 
21831 
21832 void __RPC_STUB ISpeechPhraseInfo_get_Replacements_Stub(
21833     IRpcStubBuffer *This,
21834     IRpcChannelBuffer *_pRpcChannelBuffer,
21835     PRPC_MESSAGE _pRpcMessage,
21836     DWORD *_pdwStubPhase);
21837 
21838 
21839 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_EngineId_Proxy(
21840     ISpeechPhraseInfo * This,
21841     /* [retval][out] */ BSTR *EngineIdGuid);
21842 
21843 
21844 void __RPC_STUB ISpeechPhraseInfo_get_EngineId_Stub(
21845     IRpcStubBuffer *This,
21846     IRpcChannelBuffer *_pRpcChannelBuffer,
21847     PRPC_MESSAGE _pRpcMessage,
21848     DWORD *_pdwStubPhase);
21849 
21850 
21851 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_EnginePrivateData_Proxy(
21852     ISpeechPhraseInfo * This,
21853     /* [retval][out] */ VARIANT *PrivateData);
21854 
21855 
21856 void __RPC_STUB ISpeechPhraseInfo_get_EnginePrivateData_Stub(
21857     IRpcStubBuffer *This,
21858     IRpcChannelBuffer *_pRpcChannelBuffer,
21859     PRPC_MESSAGE _pRpcMessage,
21860     DWORD *_pdwStubPhase);
21861 
21862 
21863 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_SaveToMemory_Proxy(
21864     ISpeechPhraseInfo * This,
21865     /* [retval][out] */ VARIANT *PhraseBlock);
21866 
21867 
21868 void __RPC_STUB ISpeechPhraseInfo_SaveToMemory_Stub(
21869     IRpcStubBuffer *This,
21870     IRpcChannelBuffer *_pRpcChannelBuffer,
21871     PRPC_MESSAGE _pRpcMessage,
21872     DWORD *_pdwStubPhase);
21873 
21874 
21875 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_GetText_Proxy(
21876     ISpeechPhraseInfo * This,
21877     /* [defaultvalue][in] */ long StartElement,
21878     /* [defaultvalue][in] */ long Elements,
21879     /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
21880     /* [retval][out] */ BSTR *Text);
21881 
21882 
21883 void __RPC_STUB ISpeechPhraseInfo_GetText_Stub(
21884     IRpcStubBuffer *This,
21885     IRpcChannelBuffer *_pRpcChannelBuffer,
21886     PRPC_MESSAGE _pRpcMessage,
21887     DWORD *_pdwStubPhase);
21888 
21889 
21890 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_GetDisplayAttributes_Proxy(
21891     ISpeechPhraseInfo * This,
21892     /* [defaultvalue][in] */ long StartElement,
21893     /* [defaultvalue][in] */ long Elements,
21894     /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
21895     /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes);
21896 
21897 
21898 void __RPC_STUB ISpeechPhraseInfo_GetDisplayAttributes_Stub(
21899     IRpcStubBuffer *This,
21900     IRpcChannelBuffer *_pRpcChannelBuffer,
21901     PRPC_MESSAGE _pRpcMessage,
21902     DWORD *_pdwStubPhase);
21903 
21904 
21905 
21906 #endif 	/* __ISpeechPhraseInfo_INTERFACE_DEFINED__ */
21907 
21908 
21909 #ifndef __ISpeechPhraseElement_INTERFACE_DEFINED__
21910 #define __ISpeechPhraseElement_INTERFACE_DEFINED__
21911 
21912 /* interface ISpeechPhraseElement */
21913 /* [unique][helpstring][dual][uuid][object] */
21914 
21915 
21916 EXTERN_C const IID IID_ISpeechPhraseElement;
21917 
21918 #if defined(__cplusplus) && !defined(CINTERFACE)
21919 
21920     MIDL_INTERFACE("E6176F96-E373-4801-B223-3B62C068C0B4")
21921     ISpeechPhraseElement : public IDispatch
21922     {
21923     public:
21924         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioTimeOffset(
21925             /* [retval][out] */ long *AudioTimeOffset) = 0;
21926 
21927         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioSizeTime(
21928             /* [retval][out] */ long *AudioSizeTime) = 0;
21929 
21930         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioStreamOffset(
21931             /* [retval][out] */ long *AudioStreamOffset) = 0;
21932 
21933         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioSizeBytes(
21934             /* [retval][out] */ long *AudioSizeBytes) = 0;
21935 
21936         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RetainedStreamOffset(
21937             /* [retval][out] */ long *RetainedStreamOffset) = 0;
21938 
21939         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes(
21940             /* [retval][out] */ long *RetainedSizeBytes) = 0;
21941 
21942         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayText(
21943             /* [retval][out] */ BSTR *DisplayText) = 0;
21944 
21945         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LexicalForm(
21946             /* [retval][out] */ BSTR *LexicalForm) = 0;
21947 
21948         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Pronunciation(
21949             /* [retval][out] */ VARIANT *Pronunciation) = 0;
21950 
21951         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayAttributes(
21952             /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes) = 0;
21953 
21954         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RequiredConfidence(
21955             /* [retval][out] */ SpeechEngineConfidence *RequiredConfidence) = 0;
21956 
21957         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActualConfidence(
21958             /* [retval][out] */ SpeechEngineConfidence *ActualConfidence) = 0;
21959 
21960         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EngineConfidence(
21961             /* [retval][out] */ float *EngineConfidence) = 0;
21962 
21963     };
21964 
21965 #else 	/* C style interface */
21966 
21967     typedef struct ISpeechPhraseElementVtbl
21968     {
21969         BEGIN_INTERFACE
21970 
21971         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
21972             ISpeechPhraseElement * This,
21973             /* [in] */ REFIID riid,
21974             /* [iid_is][out] */ void **ppvObject);
21975 
21976         ULONG ( STDMETHODCALLTYPE *AddRef )(
21977             ISpeechPhraseElement * This);
21978 
21979         ULONG ( STDMETHODCALLTYPE *Release )(
21980             ISpeechPhraseElement * This);
21981 
21982         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
21983             ISpeechPhraseElement * This,
21984             /* [out] */ UINT *pctinfo);
21985 
21986         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
21987             ISpeechPhraseElement * This,
21988             /* [in] */ UINT iTInfo,
21989             /* [in] */ LCID lcid,
21990             /* [out] */ ITypeInfo **ppTInfo);
21991 
21992         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
21993             ISpeechPhraseElement * This,
21994             /* [in] */ REFIID riid,
21995             /* [size_is][in] */ LPOLESTR *rgszNames,
21996             /* [in] */ UINT cNames,
21997             /* [in] */ LCID lcid,
21998             /* [size_is][out] */ DISPID *rgDispId);
21999 
22000         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
22001             ISpeechPhraseElement * This,
22002             /* [in] */ DISPID dispIdMember,
22003             /* [in] */ REFIID riid,
22004             /* [in] */ LCID lcid,
22005             /* [in] */ WORD wFlags,
22006             /* [out][in] */ DISPPARAMS *pDispParams,
22007             /* [out] */ VARIANT *pVarResult,
22008             /* [out] */ EXCEPINFO *pExcepInfo,
22009             /* [out] */ UINT *puArgErr);
22010 
22011         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioTimeOffset )(
22012             ISpeechPhraseElement * This,
22013             /* [retval][out] */ long *AudioTimeOffset);
22014 
22015         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSizeTime )(
22016             ISpeechPhraseElement * This,
22017             /* [retval][out] */ long *AudioSizeTime);
22018 
22019         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioStreamOffset )(
22020             ISpeechPhraseElement * This,
22021             /* [retval][out] */ long *AudioStreamOffset);
22022 
22023         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSizeBytes )(
22024             ISpeechPhraseElement * This,
22025             /* [retval][out] */ long *AudioSizeBytes);
22026 
22027         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RetainedStreamOffset )(
22028             ISpeechPhraseElement * This,
22029             /* [retval][out] */ long *RetainedStreamOffset);
22030 
22031         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RetainedSizeBytes )(
22032             ISpeechPhraseElement * This,
22033             /* [retval][out] */ long *RetainedSizeBytes);
22034 
22035         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayText )(
22036             ISpeechPhraseElement * This,
22037             /* [retval][out] */ BSTR *DisplayText);
22038 
22039         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LexicalForm )(
22040             ISpeechPhraseElement * This,
22041             /* [retval][out] */ BSTR *LexicalForm);
22042 
22043         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pronunciation )(
22044             ISpeechPhraseElement * This,
22045             /* [retval][out] */ VARIANT *Pronunciation);
22046 
22047         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayAttributes )(
22048             ISpeechPhraseElement * This,
22049             /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes);
22050 
22051         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequiredConfidence )(
22052             ISpeechPhraseElement * This,
22053             /* [retval][out] */ SpeechEngineConfidence *RequiredConfidence);
22054 
22055         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActualConfidence )(
22056             ISpeechPhraseElement * This,
22057             /* [retval][out] */ SpeechEngineConfidence *ActualConfidence);
22058 
22059         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EngineConfidence )(
22060             ISpeechPhraseElement * This,
22061             /* [retval][out] */ float *EngineConfidence);
22062 
22063         END_INTERFACE
22064     } ISpeechPhraseElementVtbl;
22065 
22066     interface ISpeechPhraseElement
22067     {
22068         CONST_VTBL struct ISpeechPhraseElementVtbl *lpVtbl;
22069     };
22070 
22071 
22072 
22073 #ifdef COBJMACROS
22074 
22075 
22076 #define ISpeechPhraseElement_QueryInterface(This,riid,ppvObject)	\
22077     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
22078 
22079 #define ISpeechPhraseElement_AddRef(This)	\
22080     (This)->lpVtbl -> AddRef(This)
22081 
22082 #define ISpeechPhraseElement_Release(This)	\
22083     (This)->lpVtbl -> Release(This)
22084 
22085 
22086 #define ISpeechPhraseElement_GetTypeInfoCount(This,pctinfo)	\
22087     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
22088 
22089 #define ISpeechPhraseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
22090     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
22091 
22092 #define ISpeechPhraseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
22093     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
22094 
22095 #define ISpeechPhraseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
22096     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
22097 
22098 
22099 #define ISpeechPhraseElement_get_AudioTimeOffset(This,AudioTimeOffset)	\
22100     (This)->lpVtbl -> get_AudioTimeOffset(This,AudioTimeOffset)
22101 
22102 #define ISpeechPhraseElement_get_AudioSizeTime(This,AudioSizeTime)	\
22103     (This)->lpVtbl -> get_AudioSizeTime(This,AudioSizeTime)
22104 
22105 #define ISpeechPhraseElement_get_AudioStreamOffset(This,AudioStreamOffset)	\
22106     (This)->lpVtbl -> get_AudioStreamOffset(This,AudioStreamOffset)
22107 
22108 #define ISpeechPhraseElement_get_AudioSizeBytes(This,AudioSizeBytes)	\
22109     (This)->lpVtbl -> get_AudioSizeBytes(This,AudioSizeBytes)
22110 
22111 #define ISpeechPhraseElement_get_RetainedStreamOffset(This,RetainedStreamOffset)	\
22112     (This)->lpVtbl -> get_RetainedStreamOffset(This,RetainedStreamOffset)
22113 
22114 #define ISpeechPhraseElement_get_RetainedSizeBytes(This,RetainedSizeBytes)	\
22115     (This)->lpVtbl -> get_RetainedSizeBytes(This,RetainedSizeBytes)
22116 
22117 #define ISpeechPhraseElement_get_DisplayText(This,DisplayText)	\
22118     (This)->lpVtbl -> get_DisplayText(This,DisplayText)
22119 
22120 #define ISpeechPhraseElement_get_LexicalForm(This,LexicalForm)	\
22121     (This)->lpVtbl -> get_LexicalForm(This,LexicalForm)
22122 
22123 #define ISpeechPhraseElement_get_Pronunciation(This,Pronunciation)	\
22124     (This)->lpVtbl -> get_Pronunciation(This,Pronunciation)
22125 
22126 #define ISpeechPhraseElement_get_DisplayAttributes(This,DisplayAttributes)	\
22127     (This)->lpVtbl -> get_DisplayAttributes(This,DisplayAttributes)
22128 
22129 #define ISpeechPhraseElement_get_RequiredConfidence(This,RequiredConfidence)	\
22130     (This)->lpVtbl -> get_RequiredConfidence(This,RequiredConfidence)
22131 
22132 #define ISpeechPhraseElement_get_ActualConfidence(This,ActualConfidence)	\
22133     (This)->lpVtbl -> get_ActualConfidence(This,ActualConfidence)
22134 
22135 #define ISpeechPhraseElement_get_EngineConfidence(This,EngineConfidence)	\
22136     (This)->lpVtbl -> get_EngineConfidence(This,EngineConfidence)
22137 
22138 #endif /* COBJMACROS */
22139 
22140 
22141 #endif 	/* C style interface */
22142 
22143 
22144 
22145 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioTimeOffset_Proxy(
22146     ISpeechPhraseElement * This,
22147     /* [retval][out] */ long *AudioTimeOffset);
22148 
22149 
22150 void __RPC_STUB ISpeechPhraseElement_get_AudioTimeOffset_Stub(
22151     IRpcStubBuffer *This,
22152     IRpcChannelBuffer *_pRpcChannelBuffer,
22153     PRPC_MESSAGE _pRpcMessage,
22154     DWORD *_pdwStubPhase);
22155 
22156 
22157 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioSizeTime_Proxy(
22158     ISpeechPhraseElement * This,
22159     /* [retval][out] */ long *AudioSizeTime);
22160 
22161 
22162 void __RPC_STUB ISpeechPhraseElement_get_AudioSizeTime_Stub(
22163     IRpcStubBuffer *This,
22164     IRpcChannelBuffer *_pRpcChannelBuffer,
22165     PRPC_MESSAGE _pRpcMessage,
22166     DWORD *_pdwStubPhase);
22167 
22168 
22169 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioStreamOffset_Proxy(
22170     ISpeechPhraseElement * This,
22171     /* [retval][out] */ long *AudioStreamOffset);
22172 
22173 
22174 void __RPC_STUB ISpeechPhraseElement_get_AudioStreamOffset_Stub(
22175     IRpcStubBuffer *This,
22176     IRpcChannelBuffer *_pRpcChannelBuffer,
22177     PRPC_MESSAGE _pRpcMessage,
22178     DWORD *_pdwStubPhase);
22179 
22180 
22181 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioSizeBytes_Proxy(
22182     ISpeechPhraseElement * This,
22183     /* [retval][out] */ long *AudioSizeBytes);
22184 
22185 
22186 void __RPC_STUB ISpeechPhraseElement_get_AudioSizeBytes_Stub(
22187     IRpcStubBuffer *This,
22188     IRpcChannelBuffer *_pRpcChannelBuffer,
22189     PRPC_MESSAGE _pRpcMessage,
22190     DWORD *_pdwStubPhase);
22191 
22192 
22193 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RetainedStreamOffset_Proxy(
22194     ISpeechPhraseElement * This,
22195     /* [retval][out] */ long *RetainedStreamOffset);
22196 
22197 
22198 void __RPC_STUB ISpeechPhraseElement_get_RetainedStreamOffset_Stub(
22199     IRpcStubBuffer *This,
22200     IRpcChannelBuffer *_pRpcChannelBuffer,
22201     PRPC_MESSAGE _pRpcMessage,
22202     DWORD *_pdwStubPhase);
22203 
22204 
22205 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RetainedSizeBytes_Proxy(
22206     ISpeechPhraseElement * This,
22207     /* [retval][out] */ long *RetainedSizeBytes);
22208 
22209 
22210 void __RPC_STUB ISpeechPhraseElement_get_RetainedSizeBytes_Stub(
22211     IRpcStubBuffer *This,
22212     IRpcChannelBuffer *_pRpcChannelBuffer,
22213     PRPC_MESSAGE _pRpcMessage,
22214     DWORD *_pdwStubPhase);
22215 
22216 
22217 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_DisplayText_Proxy(
22218     ISpeechPhraseElement * This,
22219     /* [retval][out] */ BSTR *DisplayText);
22220 
22221 
22222 void __RPC_STUB ISpeechPhraseElement_get_DisplayText_Stub(
22223     IRpcStubBuffer *This,
22224     IRpcChannelBuffer *_pRpcChannelBuffer,
22225     PRPC_MESSAGE _pRpcMessage,
22226     DWORD *_pdwStubPhase);
22227 
22228 
22229 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_LexicalForm_Proxy(
22230     ISpeechPhraseElement * This,
22231     /* [retval][out] */ BSTR *LexicalForm);
22232 
22233 
22234 void __RPC_STUB ISpeechPhraseElement_get_LexicalForm_Stub(
22235     IRpcStubBuffer *This,
22236     IRpcChannelBuffer *_pRpcChannelBuffer,
22237     PRPC_MESSAGE _pRpcMessage,
22238     DWORD *_pdwStubPhase);
22239 
22240 
22241 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_Pronunciation_Proxy(
22242     ISpeechPhraseElement * This,
22243     /* [retval][out] */ VARIANT *Pronunciation);
22244 
22245 
22246 void __RPC_STUB ISpeechPhraseElement_get_Pronunciation_Stub(
22247     IRpcStubBuffer *This,
22248     IRpcChannelBuffer *_pRpcChannelBuffer,
22249     PRPC_MESSAGE _pRpcMessage,
22250     DWORD *_pdwStubPhase);
22251 
22252 
22253 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_DisplayAttributes_Proxy(
22254     ISpeechPhraseElement * This,
22255     /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes);
22256 
22257 
22258 void __RPC_STUB ISpeechPhraseElement_get_DisplayAttributes_Stub(
22259     IRpcStubBuffer *This,
22260     IRpcChannelBuffer *_pRpcChannelBuffer,
22261     PRPC_MESSAGE _pRpcMessage,
22262     DWORD *_pdwStubPhase);
22263 
22264 
22265 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RequiredConfidence_Proxy(
22266     ISpeechPhraseElement * This,
22267     /* [retval][out] */ SpeechEngineConfidence *RequiredConfidence);
22268 
22269 
22270 void __RPC_STUB ISpeechPhraseElement_get_RequiredConfidence_Stub(
22271     IRpcStubBuffer *This,
22272     IRpcChannelBuffer *_pRpcChannelBuffer,
22273     PRPC_MESSAGE _pRpcMessage,
22274     DWORD *_pdwStubPhase);
22275 
22276 
22277 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_ActualConfidence_Proxy(
22278     ISpeechPhraseElement * This,
22279     /* [retval][out] */ SpeechEngineConfidence *ActualConfidence);
22280 
22281 
22282 void __RPC_STUB ISpeechPhraseElement_get_ActualConfidence_Stub(
22283     IRpcStubBuffer *This,
22284     IRpcChannelBuffer *_pRpcChannelBuffer,
22285     PRPC_MESSAGE _pRpcMessage,
22286     DWORD *_pdwStubPhase);
22287 
22288 
22289 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_EngineConfidence_Proxy(
22290     ISpeechPhraseElement * This,
22291     /* [retval][out] */ float *EngineConfidence);
22292 
22293 
22294 void __RPC_STUB ISpeechPhraseElement_get_EngineConfidence_Stub(
22295     IRpcStubBuffer *This,
22296     IRpcChannelBuffer *_pRpcChannelBuffer,
22297     PRPC_MESSAGE _pRpcMessage,
22298     DWORD *_pdwStubPhase);
22299 
22300 
22301 
22302 #endif 	/* __ISpeechPhraseElement_INTERFACE_DEFINED__ */
22303 
22304 
22305 #ifndef __ISpeechPhraseElements_INTERFACE_DEFINED__
22306 #define __ISpeechPhraseElements_INTERFACE_DEFINED__
22307 
22308 /* interface ISpeechPhraseElements */
22309 /* [unique][helpstring][dual][uuid][object] */
22310 
22311 
22312 EXTERN_C const IID IID_ISpeechPhraseElements;
22313 
22314 #if defined(__cplusplus) && !defined(CINTERFACE)
22315 
22316     MIDL_INTERFACE("0626B328-3478-467d-A0B3-D0853B93DDA3")
22317     ISpeechPhraseElements : public IDispatch
22318     {
22319     public:
22320         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
22321             /* [retval][out] */ long *Count) = 0;
22322 
22323         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item(
22324             /* [in] */ long Index,
22325             /* [retval][out] */ ISpeechPhraseElement **Element) = 0;
22326 
22327         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
22328             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
22329 
22330     };
22331 
22332 #else 	/* C style interface */
22333 
22334     typedef struct ISpeechPhraseElementsVtbl
22335     {
22336         BEGIN_INTERFACE
22337 
22338         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
22339             ISpeechPhraseElements * This,
22340             /* [in] */ REFIID riid,
22341             /* [iid_is][out] */ void **ppvObject);
22342 
22343         ULONG ( STDMETHODCALLTYPE *AddRef )(
22344             ISpeechPhraseElements * This);
22345 
22346         ULONG ( STDMETHODCALLTYPE *Release )(
22347             ISpeechPhraseElements * This);
22348 
22349         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
22350             ISpeechPhraseElements * This,
22351             /* [out] */ UINT *pctinfo);
22352 
22353         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
22354             ISpeechPhraseElements * This,
22355             /* [in] */ UINT iTInfo,
22356             /* [in] */ LCID lcid,
22357             /* [out] */ ITypeInfo **ppTInfo);
22358 
22359         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
22360             ISpeechPhraseElements * This,
22361             /* [in] */ REFIID riid,
22362             /* [size_is][in] */ LPOLESTR *rgszNames,
22363             /* [in] */ UINT cNames,
22364             /* [in] */ LCID lcid,
22365             /* [size_is][out] */ DISPID *rgDispId);
22366 
22367         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
22368             ISpeechPhraseElements * This,
22369             /* [in] */ DISPID dispIdMember,
22370             /* [in] */ REFIID riid,
22371             /* [in] */ LCID lcid,
22372             /* [in] */ WORD wFlags,
22373             /* [out][in] */ DISPPARAMS *pDispParams,
22374             /* [out] */ VARIANT *pVarResult,
22375             /* [out] */ EXCEPINFO *pExcepInfo,
22376             /* [out] */ UINT *puArgErr);
22377 
22378         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
22379             ISpeechPhraseElements * This,
22380             /* [retval][out] */ long *Count);
22381 
22382         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )(
22383             ISpeechPhraseElements * This,
22384             /* [in] */ long Index,
22385             /* [retval][out] */ ISpeechPhraseElement **Element);
22386 
22387         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
22388             ISpeechPhraseElements * This,
22389             /* [retval][out] */ IUnknown **EnumVARIANT);
22390 
22391         END_INTERFACE
22392     } ISpeechPhraseElementsVtbl;
22393 
22394     interface ISpeechPhraseElements
22395     {
22396         CONST_VTBL struct ISpeechPhraseElementsVtbl *lpVtbl;
22397     };
22398 
22399 
22400 
22401 #ifdef COBJMACROS
22402 
22403 
22404 #define ISpeechPhraseElements_QueryInterface(This,riid,ppvObject)	\
22405     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
22406 
22407 #define ISpeechPhraseElements_AddRef(This)	\
22408     (This)->lpVtbl -> AddRef(This)
22409 
22410 #define ISpeechPhraseElements_Release(This)	\
22411     (This)->lpVtbl -> Release(This)
22412 
22413 
22414 #define ISpeechPhraseElements_GetTypeInfoCount(This,pctinfo)	\
22415     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
22416 
22417 #define ISpeechPhraseElements_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
22418     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
22419 
22420 #define ISpeechPhraseElements_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
22421     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
22422 
22423 #define ISpeechPhraseElements_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
22424     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
22425 
22426 
22427 #define ISpeechPhraseElements_get_Count(This,Count)	\
22428     (This)->lpVtbl -> get_Count(This,Count)
22429 
22430 #define ISpeechPhraseElements_Item(This,Index,Element)	\
22431     (This)->lpVtbl -> Item(This,Index,Element)
22432 
22433 #define ISpeechPhraseElements_get__NewEnum(This,EnumVARIANT)	\
22434     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
22435 
22436 #endif /* COBJMACROS */
22437 
22438 
22439 #endif 	/* C style interface */
22440 
22441 
22442 
22443 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_get_Count_Proxy(
22444     ISpeechPhraseElements * This,
22445     /* [retval][out] */ long *Count);
22446 
22447 
22448 void __RPC_STUB ISpeechPhraseElements_get_Count_Stub(
22449     IRpcStubBuffer *This,
22450     IRpcChannelBuffer *_pRpcChannelBuffer,
22451     PRPC_MESSAGE _pRpcMessage,
22452     DWORD *_pdwStubPhase);
22453 
22454 
22455 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_Item_Proxy(
22456     ISpeechPhraseElements * This,
22457     /* [in] */ long Index,
22458     /* [retval][out] */ ISpeechPhraseElement **Element);
22459 
22460 
22461 void __RPC_STUB ISpeechPhraseElements_Item_Stub(
22462     IRpcStubBuffer *This,
22463     IRpcChannelBuffer *_pRpcChannelBuffer,
22464     PRPC_MESSAGE _pRpcMessage,
22465     DWORD *_pdwStubPhase);
22466 
22467 
22468 /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_get__NewEnum_Proxy(
22469     ISpeechPhraseElements * This,
22470     /* [retval][out] */ IUnknown **EnumVARIANT);
22471 
22472 
22473 void __RPC_STUB ISpeechPhraseElements_get__NewEnum_Stub(
22474     IRpcStubBuffer *This,
22475     IRpcChannelBuffer *_pRpcChannelBuffer,
22476     PRPC_MESSAGE _pRpcMessage,
22477     DWORD *_pdwStubPhase);
22478 
22479 
22480 
22481 #endif 	/* __ISpeechPhraseElements_INTERFACE_DEFINED__ */
22482 
22483 
22484 #ifndef __ISpeechPhraseReplacement_INTERFACE_DEFINED__
22485 #define __ISpeechPhraseReplacement_INTERFACE_DEFINED__
22486 
22487 /* interface ISpeechPhraseReplacement */
22488 /* [unique][helpstring][dual][uuid][object] */
22489 
22490 
22491 EXTERN_C const IID IID_ISpeechPhraseReplacement;
22492 
22493 #if defined(__cplusplus) && !defined(CINTERFACE)
22494 
22495     MIDL_INTERFACE("2890A410-53A7-4fb5-94EC-06D4998E3D02")
22496     ISpeechPhraseReplacement : public IDispatch
22497     {
22498     public:
22499         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayAttributes(
22500             /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes) = 0;
22501 
22502         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Text(
22503             /* [retval][out] */ BSTR *Text) = 0;
22504 
22505         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FirstElement(
22506             /* [retval][out] */ long *FirstElement) = 0;
22507 
22508         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfElements(
22509             /* [retval][out] */ long *NumberOfElements) = 0;
22510 
22511     };
22512 
22513 #else 	/* C style interface */
22514 
22515     typedef struct ISpeechPhraseReplacementVtbl
22516     {
22517         BEGIN_INTERFACE
22518 
22519         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
22520             ISpeechPhraseReplacement * This,
22521             /* [in] */ REFIID riid,
22522             /* [iid_is][out] */ void **ppvObject);
22523 
22524         ULONG ( STDMETHODCALLTYPE *AddRef )(
22525             ISpeechPhraseReplacement * This);
22526 
22527         ULONG ( STDMETHODCALLTYPE *Release )(
22528             ISpeechPhraseReplacement * This);
22529 
22530         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
22531             ISpeechPhraseReplacement * This,
22532             /* [out] */ UINT *pctinfo);
22533 
22534         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
22535             ISpeechPhraseReplacement * This,
22536             /* [in] */ UINT iTInfo,
22537             /* [in] */ LCID lcid,
22538             /* [out] */ ITypeInfo **ppTInfo);
22539 
22540         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
22541             ISpeechPhraseReplacement * This,
22542             /* [in] */ REFIID riid,
22543             /* [size_is][in] */ LPOLESTR *rgszNames,
22544             /* [in] */ UINT cNames,
22545             /* [in] */ LCID lcid,
22546             /* [size_is][out] */ DISPID *rgDispId);
22547 
22548         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
22549             ISpeechPhraseReplacement * This,
22550             /* [in] */ DISPID dispIdMember,
22551             /* [in] */ REFIID riid,
22552             /* [in] */ LCID lcid,
22553             /* [in] */ WORD wFlags,
22554             /* [out][in] */ DISPPARAMS *pDispParams,
22555             /* [out] */ VARIANT *pVarResult,
22556             /* [out] */ EXCEPINFO *pExcepInfo,
22557             /* [out] */ UINT *puArgErr);
22558 
22559         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayAttributes )(
22560             ISpeechPhraseReplacement * This,
22561             /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes);
22562 
22563         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )(
22564             ISpeechPhraseReplacement * This,
22565             /* [retval][out] */ BSTR *Text);
22566 
22567         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FirstElement )(
22568             ISpeechPhraseReplacement * This,
22569             /* [retval][out] */ long *FirstElement);
22570 
22571         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfElements )(
22572             ISpeechPhraseReplacement * This,
22573             /* [retval][out] */ long *NumberOfElements);
22574 
22575         END_INTERFACE
22576     } ISpeechPhraseReplacementVtbl;
22577 
22578     interface ISpeechPhraseReplacement
22579     {
22580         CONST_VTBL struct ISpeechPhraseReplacementVtbl *lpVtbl;
22581     };
22582 
22583 
22584 
22585 #ifdef COBJMACROS
22586 
22587 
22588 #define ISpeechPhraseReplacement_QueryInterface(This,riid,ppvObject)	\
22589     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
22590 
22591 #define ISpeechPhraseReplacement_AddRef(This)	\
22592     (This)->lpVtbl -> AddRef(This)
22593 
22594 #define ISpeechPhraseReplacement_Release(This)	\
22595     (This)->lpVtbl -> Release(This)
22596 
22597 
22598 #define ISpeechPhraseReplacement_GetTypeInfoCount(This,pctinfo)	\
22599     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
22600 
22601 #define ISpeechPhraseReplacement_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
22602     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
22603 
22604 #define ISpeechPhraseReplacement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
22605     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
22606 
22607 #define ISpeechPhraseReplacement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
22608     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
22609 
22610 
22611 #define ISpeechPhraseReplacement_get_DisplayAttributes(This,DisplayAttributes)	\
22612     (This)->lpVtbl -> get_DisplayAttributes(This,DisplayAttributes)
22613 
22614 #define ISpeechPhraseReplacement_get_Text(This,Text)	\
22615     (This)->lpVtbl -> get_Text(This,Text)
22616 
22617 #define ISpeechPhraseReplacement_get_FirstElement(This,FirstElement)	\
22618     (This)->lpVtbl -> get_FirstElement(This,FirstElement)
22619 
22620 #define ISpeechPhraseReplacement_get_NumberOfElements(This,NumberOfElements)	\
22621     (This)->lpVtbl -> get_NumberOfElements(This,NumberOfElements)
22622 
22623 #endif /* COBJMACROS */
22624 
22625 
22626 #endif 	/* C style interface */
22627 
22628 
22629 
22630 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_DisplayAttributes_Proxy(
22631     ISpeechPhraseReplacement * This,
22632     /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes);
22633 
22634 
22635 void __RPC_STUB ISpeechPhraseReplacement_get_DisplayAttributes_Stub(
22636     IRpcStubBuffer *This,
22637     IRpcChannelBuffer *_pRpcChannelBuffer,
22638     PRPC_MESSAGE _pRpcMessage,
22639     DWORD *_pdwStubPhase);
22640 
22641 
22642 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_Text_Proxy(
22643     ISpeechPhraseReplacement * This,
22644     /* [retval][out] */ BSTR *Text);
22645 
22646 
22647 void __RPC_STUB ISpeechPhraseReplacement_get_Text_Stub(
22648     IRpcStubBuffer *This,
22649     IRpcChannelBuffer *_pRpcChannelBuffer,
22650     PRPC_MESSAGE _pRpcMessage,
22651     DWORD *_pdwStubPhase);
22652 
22653 
22654 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_FirstElement_Proxy(
22655     ISpeechPhraseReplacement * This,
22656     /* [retval][out] */ long *FirstElement);
22657 
22658 
22659 void __RPC_STUB ISpeechPhraseReplacement_get_FirstElement_Stub(
22660     IRpcStubBuffer *This,
22661     IRpcChannelBuffer *_pRpcChannelBuffer,
22662     PRPC_MESSAGE _pRpcMessage,
22663     DWORD *_pdwStubPhase);
22664 
22665 
22666 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_NumberOfElements_Proxy(
22667     ISpeechPhraseReplacement * This,
22668     /* [retval][out] */ long *NumberOfElements);
22669 
22670 
22671 void __RPC_STUB ISpeechPhraseReplacement_get_NumberOfElements_Stub(
22672     IRpcStubBuffer *This,
22673     IRpcChannelBuffer *_pRpcChannelBuffer,
22674     PRPC_MESSAGE _pRpcMessage,
22675     DWORD *_pdwStubPhase);
22676 
22677 
22678 
22679 #endif 	/* __ISpeechPhraseReplacement_INTERFACE_DEFINED__ */
22680 
22681 
22682 #ifndef __ISpeechPhraseReplacements_INTERFACE_DEFINED__
22683 #define __ISpeechPhraseReplacements_INTERFACE_DEFINED__
22684 
22685 /* interface ISpeechPhraseReplacements */
22686 /* [unique][helpstring][dual][uuid][object] */
22687 
22688 
22689 EXTERN_C const IID IID_ISpeechPhraseReplacements;
22690 
22691 #if defined(__cplusplus) && !defined(CINTERFACE)
22692 
22693     MIDL_INTERFACE("38BC662F-2257-4525-959E-2069D2596C05")
22694     ISpeechPhraseReplacements : public IDispatch
22695     {
22696     public:
22697         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
22698             /* [retval][out] */ long *Count) = 0;
22699 
22700         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item(
22701             /* [in] */ long Index,
22702             /* [retval][out] */ ISpeechPhraseReplacement **Reps) = 0;
22703 
22704         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
22705             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
22706 
22707     };
22708 
22709 #else 	/* C style interface */
22710 
22711     typedef struct ISpeechPhraseReplacementsVtbl
22712     {
22713         BEGIN_INTERFACE
22714 
22715         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
22716             ISpeechPhraseReplacements * This,
22717             /* [in] */ REFIID riid,
22718             /* [iid_is][out] */ void **ppvObject);
22719 
22720         ULONG ( STDMETHODCALLTYPE *AddRef )(
22721             ISpeechPhraseReplacements * This);
22722 
22723         ULONG ( STDMETHODCALLTYPE *Release )(
22724             ISpeechPhraseReplacements * This);
22725 
22726         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
22727             ISpeechPhraseReplacements * This,
22728             /* [out] */ UINT *pctinfo);
22729 
22730         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
22731             ISpeechPhraseReplacements * This,
22732             /* [in] */ UINT iTInfo,
22733             /* [in] */ LCID lcid,
22734             /* [out] */ ITypeInfo **ppTInfo);
22735 
22736         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
22737             ISpeechPhraseReplacements * This,
22738             /* [in] */ REFIID riid,
22739             /* [size_is][in] */ LPOLESTR *rgszNames,
22740             /* [in] */ UINT cNames,
22741             /* [in] */ LCID lcid,
22742             /* [size_is][out] */ DISPID *rgDispId);
22743 
22744         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
22745             ISpeechPhraseReplacements * This,
22746             /* [in] */ DISPID dispIdMember,
22747             /* [in] */ REFIID riid,
22748             /* [in] */ LCID lcid,
22749             /* [in] */ WORD wFlags,
22750             /* [out][in] */ DISPPARAMS *pDispParams,
22751             /* [out] */ VARIANT *pVarResult,
22752             /* [out] */ EXCEPINFO *pExcepInfo,
22753             /* [out] */ UINT *puArgErr);
22754 
22755         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
22756             ISpeechPhraseReplacements * This,
22757             /* [retval][out] */ long *Count);
22758 
22759         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )(
22760             ISpeechPhraseReplacements * This,
22761             /* [in] */ long Index,
22762             /* [retval][out] */ ISpeechPhraseReplacement **Reps);
22763 
22764         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
22765             ISpeechPhraseReplacements * This,
22766             /* [retval][out] */ IUnknown **EnumVARIANT);
22767 
22768         END_INTERFACE
22769     } ISpeechPhraseReplacementsVtbl;
22770 
22771     interface ISpeechPhraseReplacements
22772     {
22773         CONST_VTBL struct ISpeechPhraseReplacementsVtbl *lpVtbl;
22774     };
22775 
22776 
22777 
22778 #ifdef COBJMACROS
22779 
22780 
22781 #define ISpeechPhraseReplacements_QueryInterface(This,riid,ppvObject)	\
22782     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
22783 
22784 #define ISpeechPhraseReplacements_AddRef(This)	\
22785     (This)->lpVtbl -> AddRef(This)
22786 
22787 #define ISpeechPhraseReplacements_Release(This)	\
22788     (This)->lpVtbl -> Release(This)
22789 
22790 
22791 #define ISpeechPhraseReplacements_GetTypeInfoCount(This,pctinfo)	\
22792     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
22793 
22794 #define ISpeechPhraseReplacements_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
22795     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
22796 
22797 #define ISpeechPhraseReplacements_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
22798     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
22799 
22800 #define ISpeechPhraseReplacements_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
22801     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
22802 
22803 
22804 #define ISpeechPhraseReplacements_get_Count(This,Count)	\
22805     (This)->lpVtbl -> get_Count(This,Count)
22806 
22807 #define ISpeechPhraseReplacements_Item(This,Index,Reps)	\
22808     (This)->lpVtbl -> Item(This,Index,Reps)
22809 
22810 #define ISpeechPhraseReplacements_get__NewEnum(This,EnumVARIANT)	\
22811     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
22812 
22813 #endif /* COBJMACROS */
22814 
22815 
22816 #endif 	/* C style interface */
22817 
22818 
22819 
22820 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_get_Count_Proxy(
22821     ISpeechPhraseReplacements * This,
22822     /* [retval][out] */ long *Count);
22823 
22824 
22825 void __RPC_STUB ISpeechPhraseReplacements_get_Count_Stub(
22826     IRpcStubBuffer *This,
22827     IRpcChannelBuffer *_pRpcChannelBuffer,
22828     PRPC_MESSAGE _pRpcMessage,
22829     DWORD *_pdwStubPhase);
22830 
22831 
22832 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_Item_Proxy(
22833     ISpeechPhraseReplacements * This,
22834     /* [in] */ long Index,
22835     /* [retval][out] */ ISpeechPhraseReplacement **Reps);
22836 
22837 
22838 void __RPC_STUB ISpeechPhraseReplacements_Item_Stub(
22839     IRpcStubBuffer *This,
22840     IRpcChannelBuffer *_pRpcChannelBuffer,
22841     PRPC_MESSAGE _pRpcMessage,
22842     DWORD *_pdwStubPhase);
22843 
22844 
22845 /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_get__NewEnum_Proxy(
22846     ISpeechPhraseReplacements * This,
22847     /* [retval][out] */ IUnknown **EnumVARIANT);
22848 
22849 
22850 void __RPC_STUB ISpeechPhraseReplacements_get__NewEnum_Stub(
22851     IRpcStubBuffer *This,
22852     IRpcChannelBuffer *_pRpcChannelBuffer,
22853     PRPC_MESSAGE _pRpcMessage,
22854     DWORD *_pdwStubPhase);
22855 
22856 
22857 
22858 #endif 	/* __ISpeechPhraseReplacements_INTERFACE_DEFINED__ */
22859 
22860 
22861 #ifndef __ISpeechPhraseProperty_INTERFACE_DEFINED__
22862 #define __ISpeechPhraseProperty_INTERFACE_DEFINED__
22863 
22864 /* interface ISpeechPhraseProperty */
22865 /* [unique][helpstring][dual][uuid][object] */
22866 
22867 
22868 EXTERN_C const IID IID_ISpeechPhraseProperty;
22869 
22870 #if defined(__cplusplus) && !defined(CINTERFACE)
22871 
22872     MIDL_INTERFACE("CE563D48-961E-4732-A2E1-378A42B430BE")
22873     ISpeechPhraseProperty : public IDispatch
22874     {
22875     public:
22876         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
22877             /* [retval][out] */ BSTR *Name) = 0;
22878 
22879         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id(
22880             /* [retval][out] */ long *Id) = 0;
22881 
22882         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Value(
22883             /* [retval][out] */ VARIANT *Value) = 0;
22884 
22885         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FirstElement(
22886             /* [retval][out] */ long *FirstElement) = 0;
22887 
22888         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfElements(
22889             /* [retval][out] */ long *NumberOfElements) = 0;
22890 
22891         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EngineConfidence(
22892             /* [retval][out] */ float *Confidence) = 0;
22893 
22894         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Confidence(
22895             /* [retval][out] */ SpeechEngineConfidence *Confidence) = 0;
22896 
22897         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent(
22898             /* [retval][out] */ ISpeechPhraseProperty **ParentProperty) = 0;
22899 
22900         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Children(
22901             /* [retval][out] */ ISpeechPhraseProperties **Children) = 0;
22902 
22903     };
22904 
22905 #else 	/* C style interface */
22906 
22907     typedef struct ISpeechPhrasePropertyVtbl
22908     {
22909         BEGIN_INTERFACE
22910 
22911         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
22912             ISpeechPhraseProperty * This,
22913             /* [in] */ REFIID riid,
22914             /* [iid_is][out] */ void **ppvObject);
22915 
22916         ULONG ( STDMETHODCALLTYPE *AddRef )(
22917             ISpeechPhraseProperty * This);
22918 
22919         ULONG ( STDMETHODCALLTYPE *Release )(
22920             ISpeechPhraseProperty * This);
22921 
22922         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
22923             ISpeechPhraseProperty * This,
22924             /* [out] */ UINT *pctinfo);
22925 
22926         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
22927             ISpeechPhraseProperty * This,
22928             /* [in] */ UINT iTInfo,
22929             /* [in] */ LCID lcid,
22930             /* [out] */ ITypeInfo **ppTInfo);
22931 
22932         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
22933             ISpeechPhraseProperty * This,
22934             /* [in] */ REFIID riid,
22935             /* [size_is][in] */ LPOLESTR *rgszNames,
22936             /* [in] */ UINT cNames,
22937             /* [in] */ LCID lcid,
22938             /* [size_is][out] */ DISPID *rgDispId);
22939 
22940         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
22941             ISpeechPhraseProperty * This,
22942             /* [in] */ DISPID dispIdMember,
22943             /* [in] */ REFIID riid,
22944             /* [in] */ LCID lcid,
22945             /* [in] */ WORD wFlags,
22946             /* [out][in] */ DISPPARAMS *pDispParams,
22947             /* [out] */ VARIANT *pVarResult,
22948             /* [out] */ EXCEPINFO *pExcepInfo,
22949             /* [out] */ UINT *puArgErr);
22950 
22951         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
22952             ISpeechPhraseProperty * This,
22953             /* [retval][out] */ BSTR *Name);
22954 
22955         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
22956             ISpeechPhraseProperty * This,
22957             /* [retval][out] */ long *Id);
22958 
22959         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )(
22960             ISpeechPhraseProperty * This,
22961             /* [retval][out] */ VARIANT *Value);
22962 
22963         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FirstElement )(
22964             ISpeechPhraseProperty * This,
22965             /* [retval][out] */ long *FirstElement);
22966 
22967         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfElements )(
22968             ISpeechPhraseProperty * This,
22969             /* [retval][out] */ long *NumberOfElements);
22970 
22971         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EngineConfidence )(
22972             ISpeechPhraseProperty * This,
22973             /* [retval][out] */ float *Confidence);
22974 
22975         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Confidence )(
22976             ISpeechPhraseProperty * This,
22977             /* [retval][out] */ SpeechEngineConfidence *Confidence);
22978 
22979         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )(
22980             ISpeechPhraseProperty * This,
22981             /* [retval][out] */ ISpeechPhraseProperty **ParentProperty);
22982 
22983         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )(
22984             ISpeechPhraseProperty * This,
22985             /* [retval][out] */ ISpeechPhraseProperties **Children);
22986 
22987         END_INTERFACE
22988     } ISpeechPhrasePropertyVtbl;
22989 
22990     interface ISpeechPhraseProperty
22991     {
22992         CONST_VTBL struct ISpeechPhrasePropertyVtbl *lpVtbl;
22993     };
22994 
22995 
22996 
22997 #ifdef COBJMACROS
22998 
22999 
23000 #define ISpeechPhraseProperty_QueryInterface(This,riid,ppvObject)	\
23001     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
23002 
23003 #define ISpeechPhraseProperty_AddRef(This)	\
23004     (This)->lpVtbl -> AddRef(This)
23005 
23006 #define ISpeechPhraseProperty_Release(This)	\
23007     (This)->lpVtbl -> Release(This)
23008 
23009 
23010 #define ISpeechPhraseProperty_GetTypeInfoCount(This,pctinfo)	\
23011     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
23012 
23013 #define ISpeechPhraseProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
23014     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
23015 
23016 #define ISpeechPhraseProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
23017     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
23018 
23019 #define ISpeechPhraseProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
23020     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
23021 
23022 
23023 #define ISpeechPhraseProperty_get_Name(This,Name)	\
23024     (This)->lpVtbl -> get_Name(This,Name)
23025 
23026 #define ISpeechPhraseProperty_get_Id(This,Id)	\
23027     (This)->lpVtbl -> get_Id(This,Id)
23028 
23029 #define ISpeechPhraseProperty_get_Value(This,Value)	\
23030     (This)->lpVtbl -> get_Value(This,Value)
23031 
23032 #define ISpeechPhraseProperty_get_FirstElement(This,FirstElement)	\
23033     (This)->lpVtbl -> get_FirstElement(This,FirstElement)
23034 
23035 #define ISpeechPhraseProperty_get_NumberOfElements(This,NumberOfElements)	\
23036     (This)->lpVtbl -> get_NumberOfElements(This,NumberOfElements)
23037 
23038 #define ISpeechPhraseProperty_get_EngineConfidence(This,Confidence)	\
23039     (This)->lpVtbl -> get_EngineConfidence(This,Confidence)
23040 
23041 #define ISpeechPhraseProperty_get_Confidence(This,Confidence)	\
23042     (This)->lpVtbl -> get_Confidence(This,Confidence)
23043 
23044 #define ISpeechPhraseProperty_get_Parent(This,ParentProperty)	\
23045     (This)->lpVtbl -> get_Parent(This,ParentProperty)
23046 
23047 #define ISpeechPhraseProperty_get_Children(This,Children)	\
23048     (This)->lpVtbl -> get_Children(This,Children)
23049 
23050 #endif /* COBJMACROS */
23051 
23052 
23053 #endif 	/* C style interface */
23054 
23055 
23056 
23057 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Name_Proxy(
23058     ISpeechPhraseProperty * This,
23059     /* [retval][out] */ BSTR *Name);
23060 
23061 
23062 void __RPC_STUB ISpeechPhraseProperty_get_Name_Stub(
23063     IRpcStubBuffer *This,
23064     IRpcChannelBuffer *_pRpcChannelBuffer,
23065     PRPC_MESSAGE _pRpcMessage,
23066     DWORD *_pdwStubPhase);
23067 
23068 
23069 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Id_Proxy(
23070     ISpeechPhraseProperty * This,
23071     /* [retval][out] */ long *Id);
23072 
23073 
23074 void __RPC_STUB ISpeechPhraseProperty_get_Id_Stub(
23075     IRpcStubBuffer *This,
23076     IRpcChannelBuffer *_pRpcChannelBuffer,
23077     PRPC_MESSAGE _pRpcMessage,
23078     DWORD *_pdwStubPhase);
23079 
23080 
23081 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Value_Proxy(
23082     ISpeechPhraseProperty * This,
23083     /* [retval][out] */ VARIANT *Value);
23084 
23085 
23086 void __RPC_STUB ISpeechPhraseProperty_get_Value_Stub(
23087     IRpcStubBuffer *This,
23088     IRpcChannelBuffer *_pRpcChannelBuffer,
23089     PRPC_MESSAGE _pRpcMessage,
23090     DWORD *_pdwStubPhase);
23091 
23092 
23093 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_FirstElement_Proxy(
23094     ISpeechPhraseProperty * This,
23095     /* [retval][out] */ long *FirstElement);
23096 
23097 
23098 void __RPC_STUB ISpeechPhraseProperty_get_FirstElement_Stub(
23099     IRpcStubBuffer *This,
23100     IRpcChannelBuffer *_pRpcChannelBuffer,
23101     PRPC_MESSAGE _pRpcMessage,
23102     DWORD *_pdwStubPhase);
23103 
23104 
23105 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_NumberOfElements_Proxy(
23106     ISpeechPhraseProperty * This,
23107     /* [retval][out] */ long *NumberOfElements);
23108 
23109 
23110 void __RPC_STUB ISpeechPhraseProperty_get_NumberOfElements_Stub(
23111     IRpcStubBuffer *This,
23112     IRpcChannelBuffer *_pRpcChannelBuffer,
23113     PRPC_MESSAGE _pRpcMessage,
23114     DWORD *_pdwStubPhase);
23115 
23116 
23117 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_EngineConfidence_Proxy(
23118     ISpeechPhraseProperty * This,
23119     /* [retval][out] */ float *Confidence);
23120 
23121 
23122 void __RPC_STUB ISpeechPhraseProperty_get_EngineConfidence_Stub(
23123     IRpcStubBuffer *This,
23124     IRpcChannelBuffer *_pRpcChannelBuffer,
23125     PRPC_MESSAGE _pRpcMessage,
23126     DWORD *_pdwStubPhase);
23127 
23128 
23129 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Confidence_Proxy(
23130     ISpeechPhraseProperty * This,
23131     /* [retval][out] */ SpeechEngineConfidence *Confidence);
23132 
23133 
23134 void __RPC_STUB ISpeechPhraseProperty_get_Confidence_Stub(
23135     IRpcStubBuffer *This,
23136     IRpcChannelBuffer *_pRpcChannelBuffer,
23137     PRPC_MESSAGE _pRpcMessage,
23138     DWORD *_pdwStubPhase);
23139 
23140 
23141 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Parent_Proxy(
23142     ISpeechPhraseProperty * This,
23143     /* [retval][out] */ ISpeechPhraseProperty **ParentProperty);
23144 
23145 
23146 void __RPC_STUB ISpeechPhraseProperty_get_Parent_Stub(
23147     IRpcStubBuffer *This,
23148     IRpcChannelBuffer *_pRpcChannelBuffer,
23149     PRPC_MESSAGE _pRpcMessage,
23150     DWORD *_pdwStubPhase);
23151 
23152 
23153 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Children_Proxy(
23154     ISpeechPhraseProperty * This,
23155     /* [retval][out] */ ISpeechPhraseProperties **Children);
23156 
23157 
23158 void __RPC_STUB ISpeechPhraseProperty_get_Children_Stub(
23159     IRpcStubBuffer *This,
23160     IRpcChannelBuffer *_pRpcChannelBuffer,
23161     PRPC_MESSAGE _pRpcMessage,
23162     DWORD *_pdwStubPhase);
23163 
23164 
23165 
23166 #endif 	/* __ISpeechPhraseProperty_INTERFACE_DEFINED__ */
23167 
23168 
23169 #ifndef __ISpeechPhraseProperties_INTERFACE_DEFINED__
23170 #define __ISpeechPhraseProperties_INTERFACE_DEFINED__
23171 
23172 /* interface ISpeechPhraseProperties */
23173 /* [unique][helpstring][dual][uuid][object] */
23174 
23175 
23176 EXTERN_C const IID IID_ISpeechPhraseProperties;
23177 
23178 #if defined(__cplusplus) && !defined(CINTERFACE)
23179 
23180     MIDL_INTERFACE("08166B47-102E-4b23-A599-BDB98DBFD1F4")
23181     ISpeechPhraseProperties : public IDispatch
23182     {
23183     public:
23184         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
23185             /* [retval][out] */ long *Count) = 0;
23186 
23187         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item(
23188             /* [in] */ long Index,
23189             /* [retval][out] */ ISpeechPhraseProperty **Property) = 0;
23190 
23191         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
23192             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
23193 
23194     };
23195 
23196 #else 	/* C style interface */
23197 
23198     typedef struct ISpeechPhrasePropertiesVtbl
23199     {
23200         BEGIN_INTERFACE
23201 
23202         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
23203             ISpeechPhraseProperties * This,
23204             /* [in] */ REFIID riid,
23205             /* [iid_is][out] */ void **ppvObject);
23206 
23207         ULONG ( STDMETHODCALLTYPE *AddRef )(
23208             ISpeechPhraseProperties * This);
23209 
23210         ULONG ( STDMETHODCALLTYPE *Release )(
23211             ISpeechPhraseProperties * This);
23212 
23213         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
23214             ISpeechPhraseProperties * This,
23215             /* [out] */ UINT *pctinfo);
23216 
23217         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
23218             ISpeechPhraseProperties * This,
23219             /* [in] */ UINT iTInfo,
23220             /* [in] */ LCID lcid,
23221             /* [out] */ ITypeInfo **ppTInfo);
23222 
23223         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
23224             ISpeechPhraseProperties * This,
23225             /* [in] */ REFIID riid,
23226             /* [size_is][in] */ LPOLESTR *rgszNames,
23227             /* [in] */ UINT cNames,
23228             /* [in] */ LCID lcid,
23229             /* [size_is][out] */ DISPID *rgDispId);
23230 
23231         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
23232             ISpeechPhraseProperties * This,
23233             /* [in] */ DISPID dispIdMember,
23234             /* [in] */ REFIID riid,
23235             /* [in] */ LCID lcid,
23236             /* [in] */ WORD wFlags,
23237             /* [out][in] */ DISPPARAMS *pDispParams,
23238             /* [out] */ VARIANT *pVarResult,
23239             /* [out] */ EXCEPINFO *pExcepInfo,
23240             /* [out] */ UINT *puArgErr);
23241 
23242         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
23243             ISpeechPhraseProperties * This,
23244             /* [retval][out] */ long *Count);
23245 
23246         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )(
23247             ISpeechPhraseProperties * This,
23248             /* [in] */ long Index,
23249             /* [retval][out] */ ISpeechPhraseProperty **Property);
23250 
23251         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
23252             ISpeechPhraseProperties * This,
23253             /* [retval][out] */ IUnknown **EnumVARIANT);
23254 
23255         END_INTERFACE
23256     } ISpeechPhrasePropertiesVtbl;
23257 
23258     interface ISpeechPhraseProperties
23259     {
23260         CONST_VTBL struct ISpeechPhrasePropertiesVtbl *lpVtbl;
23261     };
23262 
23263 
23264 
23265 #ifdef COBJMACROS
23266 
23267 
23268 #define ISpeechPhraseProperties_QueryInterface(This,riid,ppvObject)	\
23269     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
23270 
23271 #define ISpeechPhraseProperties_AddRef(This)	\
23272     (This)->lpVtbl -> AddRef(This)
23273 
23274 #define ISpeechPhraseProperties_Release(This)	\
23275     (This)->lpVtbl -> Release(This)
23276 
23277 
23278 #define ISpeechPhraseProperties_GetTypeInfoCount(This,pctinfo)	\
23279     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
23280 
23281 #define ISpeechPhraseProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
23282     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
23283 
23284 #define ISpeechPhraseProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
23285     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
23286 
23287 #define ISpeechPhraseProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
23288     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
23289 
23290 
23291 #define ISpeechPhraseProperties_get_Count(This,Count)	\
23292     (This)->lpVtbl -> get_Count(This,Count)
23293 
23294 #define ISpeechPhraseProperties_Item(This,Index,Property)	\
23295     (This)->lpVtbl -> Item(This,Index,Property)
23296 
23297 #define ISpeechPhraseProperties_get__NewEnum(This,EnumVARIANT)	\
23298     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
23299 
23300 #endif /* COBJMACROS */
23301 
23302 
23303 #endif 	/* C style interface */
23304 
23305 
23306 
23307 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_get_Count_Proxy(
23308     ISpeechPhraseProperties * This,
23309     /* [retval][out] */ long *Count);
23310 
23311 
23312 void __RPC_STUB ISpeechPhraseProperties_get_Count_Stub(
23313     IRpcStubBuffer *This,
23314     IRpcChannelBuffer *_pRpcChannelBuffer,
23315     PRPC_MESSAGE _pRpcMessage,
23316     DWORD *_pdwStubPhase);
23317 
23318 
23319 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_Item_Proxy(
23320     ISpeechPhraseProperties * This,
23321     /* [in] */ long Index,
23322     /* [retval][out] */ ISpeechPhraseProperty **Property);
23323 
23324 
23325 void __RPC_STUB ISpeechPhraseProperties_Item_Stub(
23326     IRpcStubBuffer *This,
23327     IRpcChannelBuffer *_pRpcChannelBuffer,
23328     PRPC_MESSAGE _pRpcMessage,
23329     DWORD *_pdwStubPhase);
23330 
23331 
23332 /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_get__NewEnum_Proxy(
23333     ISpeechPhraseProperties * This,
23334     /* [retval][out] */ IUnknown **EnumVARIANT);
23335 
23336 
23337 void __RPC_STUB ISpeechPhraseProperties_get__NewEnum_Stub(
23338     IRpcStubBuffer *This,
23339     IRpcChannelBuffer *_pRpcChannelBuffer,
23340     PRPC_MESSAGE _pRpcMessage,
23341     DWORD *_pdwStubPhase);
23342 
23343 
23344 
23345 #endif 	/* __ISpeechPhraseProperties_INTERFACE_DEFINED__ */
23346 
23347 
23348 #ifndef __ISpeechPhraseRule_INTERFACE_DEFINED__
23349 #define __ISpeechPhraseRule_INTERFACE_DEFINED__
23350 
23351 /* interface ISpeechPhraseRule */
23352 /* [unique][helpstring][dual][uuid][object] */
23353 
23354 
23355 EXTERN_C const IID IID_ISpeechPhraseRule;
23356 
23357 #if defined(__cplusplus) && !defined(CINTERFACE)
23358 
23359     MIDL_INTERFACE("A7BFE112-A4A0-48d9-B602-C313843F6964")
23360     ISpeechPhraseRule : public IDispatch
23361     {
23362     public:
23363         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
23364             /* [retval][out] */ BSTR *Name) = 0;
23365 
23366         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id(
23367             /* [retval][out] */ long *Id) = 0;
23368 
23369         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FirstElement(
23370             /* [retval][out] */ long *FirstElement) = 0;
23371 
23372         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfElements(
23373             /* [retval][out] */ long *NumberOfElements) = 0;
23374 
23375         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent(
23376             /* [retval][out] */ ISpeechPhraseRule **Parent) = 0;
23377 
23378         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Children(
23379             /* [retval][out] */ ISpeechPhraseRules **Children) = 0;
23380 
23381         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Confidence(
23382             /* [retval][out] */ SpeechEngineConfidence *ActualConfidence) = 0;
23383 
23384         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EngineConfidence(
23385             /* [retval][out] */ float *EngineConfidence) = 0;
23386 
23387     };
23388 
23389 #else 	/* C style interface */
23390 
23391     typedef struct ISpeechPhraseRuleVtbl
23392     {
23393         BEGIN_INTERFACE
23394 
23395         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
23396             ISpeechPhraseRule * This,
23397             /* [in] */ REFIID riid,
23398             /* [iid_is][out] */ void **ppvObject);
23399 
23400         ULONG ( STDMETHODCALLTYPE *AddRef )(
23401             ISpeechPhraseRule * This);
23402 
23403         ULONG ( STDMETHODCALLTYPE *Release )(
23404             ISpeechPhraseRule * This);
23405 
23406         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
23407             ISpeechPhraseRule * This,
23408             /* [out] */ UINT *pctinfo);
23409 
23410         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
23411             ISpeechPhraseRule * This,
23412             /* [in] */ UINT iTInfo,
23413             /* [in] */ LCID lcid,
23414             /* [out] */ ITypeInfo **ppTInfo);
23415 
23416         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
23417             ISpeechPhraseRule * This,
23418             /* [in] */ REFIID riid,
23419             /* [size_is][in] */ LPOLESTR *rgszNames,
23420             /* [in] */ UINT cNames,
23421             /* [in] */ LCID lcid,
23422             /* [size_is][out] */ DISPID *rgDispId);
23423 
23424         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
23425             ISpeechPhraseRule * This,
23426             /* [in] */ DISPID dispIdMember,
23427             /* [in] */ REFIID riid,
23428             /* [in] */ LCID lcid,
23429             /* [in] */ WORD wFlags,
23430             /* [out][in] */ DISPPARAMS *pDispParams,
23431             /* [out] */ VARIANT *pVarResult,
23432             /* [out] */ EXCEPINFO *pExcepInfo,
23433             /* [out] */ UINT *puArgErr);
23434 
23435         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
23436             ISpeechPhraseRule * This,
23437             /* [retval][out] */ BSTR *Name);
23438 
23439         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
23440             ISpeechPhraseRule * This,
23441             /* [retval][out] */ long *Id);
23442 
23443         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FirstElement )(
23444             ISpeechPhraseRule * This,
23445             /* [retval][out] */ long *FirstElement);
23446 
23447         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfElements )(
23448             ISpeechPhraseRule * This,
23449             /* [retval][out] */ long *NumberOfElements);
23450 
23451         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )(
23452             ISpeechPhraseRule * This,
23453             /* [retval][out] */ ISpeechPhraseRule **Parent);
23454 
23455         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )(
23456             ISpeechPhraseRule * This,
23457             /* [retval][out] */ ISpeechPhraseRules **Children);
23458 
23459         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Confidence )(
23460             ISpeechPhraseRule * This,
23461             /* [retval][out] */ SpeechEngineConfidence *ActualConfidence);
23462 
23463         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EngineConfidence )(
23464             ISpeechPhraseRule * This,
23465             /* [retval][out] */ float *EngineConfidence);
23466 
23467         END_INTERFACE
23468     } ISpeechPhraseRuleVtbl;
23469 
23470     interface ISpeechPhraseRule
23471     {
23472         CONST_VTBL struct ISpeechPhraseRuleVtbl *lpVtbl;
23473     };
23474 
23475 
23476 
23477 #ifdef COBJMACROS
23478 
23479 
23480 #define ISpeechPhraseRule_QueryInterface(This,riid,ppvObject)	\
23481     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
23482 
23483 #define ISpeechPhraseRule_AddRef(This)	\
23484     (This)->lpVtbl -> AddRef(This)
23485 
23486 #define ISpeechPhraseRule_Release(This)	\
23487     (This)->lpVtbl -> Release(This)
23488 
23489 
23490 #define ISpeechPhraseRule_GetTypeInfoCount(This,pctinfo)	\
23491     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
23492 
23493 #define ISpeechPhraseRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
23494     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
23495 
23496 #define ISpeechPhraseRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
23497     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
23498 
23499 #define ISpeechPhraseRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
23500     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
23501 
23502 
23503 #define ISpeechPhraseRule_get_Name(This,Name)	\
23504     (This)->lpVtbl -> get_Name(This,Name)
23505 
23506 #define ISpeechPhraseRule_get_Id(This,Id)	\
23507     (This)->lpVtbl -> get_Id(This,Id)
23508 
23509 #define ISpeechPhraseRule_get_FirstElement(This,FirstElement)	\
23510     (This)->lpVtbl -> get_FirstElement(This,FirstElement)
23511 
23512 #define ISpeechPhraseRule_get_NumberOfElements(This,NumberOfElements)	\
23513     (This)->lpVtbl -> get_NumberOfElements(This,NumberOfElements)
23514 
23515 #define ISpeechPhraseRule_get_Parent(This,Parent)	\
23516     (This)->lpVtbl -> get_Parent(This,Parent)
23517 
23518 #define ISpeechPhraseRule_get_Children(This,Children)	\
23519     (This)->lpVtbl -> get_Children(This,Children)
23520 
23521 #define ISpeechPhraseRule_get_Confidence(This,ActualConfidence)	\
23522     (This)->lpVtbl -> get_Confidence(This,ActualConfidence)
23523 
23524 #define ISpeechPhraseRule_get_EngineConfidence(This,EngineConfidence)	\
23525     (This)->lpVtbl -> get_EngineConfidence(This,EngineConfidence)
23526 
23527 #endif /* COBJMACROS */
23528 
23529 
23530 #endif 	/* C style interface */
23531 
23532 
23533 
23534 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Name_Proxy(
23535     ISpeechPhraseRule * This,
23536     /* [retval][out] */ BSTR *Name);
23537 
23538 
23539 void __RPC_STUB ISpeechPhraseRule_get_Name_Stub(
23540     IRpcStubBuffer *This,
23541     IRpcChannelBuffer *_pRpcChannelBuffer,
23542     PRPC_MESSAGE _pRpcMessage,
23543     DWORD *_pdwStubPhase);
23544 
23545 
23546 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Id_Proxy(
23547     ISpeechPhraseRule * This,
23548     /* [retval][out] */ long *Id);
23549 
23550 
23551 void __RPC_STUB ISpeechPhraseRule_get_Id_Stub(
23552     IRpcStubBuffer *This,
23553     IRpcChannelBuffer *_pRpcChannelBuffer,
23554     PRPC_MESSAGE _pRpcMessage,
23555     DWORD *_pdwStubPhase);
23556 
23557 
23558 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_FirstElement_Proxy(
23559     ISpeechPhraseRule * This,
23560     /* [retval][out] */ long *FirstElement);
23561 
23562 
23563 void __RPC_STUB ISpeechPhraseRule_get_FirstElement_Stub(
23564     IRpcStubBuffer *This,
23565     IRpcChannelBuffer *_pRpcChannelBuffer,
23566     PRPC_MESSAGE _pRpcMessage,
23567     DWORD *_pdwStubPhase);
23568 
23569 
23570 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_NumberOfElements_Proxy(
23571     ISpeechPhraseRule * This,
23572     /* [retval][out] */ long *NumberOfElements);
23573 
23574 
23575 void __RPC_STUB ISpeechPhraseRule_get_NumberOfElements_Stub(
23576     IRpcStubBuffer *This,
23577     IRpcChannelBuffer *_pRpcChannelBuffer,
23578     PRPC_MESSAGE _pRpcMessage,
23579     DWORD *_pdwStubPhase);
23580 
23581 
23582 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Parent_Proxy(
23583     ISpeechPhraseRule * This,
23584     /* [retval][out] */ ISpeechPhraseRule **Parent);
23585 
23586 
23587 void __RPC_STUB ISpeechPhraseRule_get_Parent_Stub(
23588     IRpcStubBuffer *This,
23589     IRpcChannelBuffer *_pRpcChannelBuffer,
23590     PRPC_MESSAGE _pRpcMessage,
23591     DWORD *_pdwStubPhase);
23592 
23593 
23594 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Children_Proxy(
23595     ISpeechPhraseRule * This,
23596     /* [retval][out] */ ISpeechPhraseRules **Children);
23597 
23598 
23599 void __RPC_STUB ISpeechPhraseRule_get_Children_Stub(
23600     IRpcStubBuffer *This,
23601     IRpcChannelBuffer *_pRpcChannelBuffer,
23602     PRPC_MESSAGE _pRpcMessage,
23603     DWORD *_pdwStubPhase);
23604 
23605 
23606 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Confidence_Proxy(
23607     ISpeechPhraseRule * This,
23608     /* [retval][out] */ SpeechEngineConfidence *ActualConfidence);
23609 
23610 
23611 void __RPC_STUB ISpeechPhraseRule_get_Confidence_Stub(
23612     IRpcStubBuffer *This,
23613     IRpcChannelBuffer *_pRpcChannelBuffer,
23614     PRPC_MESSAGE _pRpcMessage,
23615     DWORD *_pdwStubPhase);
23616 
23617 
23618 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_EngineConfidence_Proxy(
23619     ISpeechPhraseRule * This,
23620     /* [retval][out] */ float *EngineConfidence);
23621 
23622 
23623 void __RPC_STUB ISpeechPhraseRule_get_EngineConfidence_Stub(
23624     IRpcStubBuffer *This,
23625     IRpcChannelBuffer *_pRpcChannelBuffer,
23626     PRPC_MESSAGE _pRpcMessage,
23627     DWORD *_pdwStubPhase);
23628 
23629 
23630 
23631 #endif 	/* __ISpeechPhraseRule_INTERFACE_DEFINED__ */
23632 
23633 
23634 #ifndef __ISpeechPhraseRules_INTERFACE_DEFINED__
23635 #define __ISpeechPhraseRules_INTERFACE_DEFINED__
23636 
23637 /* interface ISpeechPhraseRules */
23638 /* [unique][helpstring][dual][uuid][object] */
23639 
23640 
23641 EXTERN_C const IID IID_ISpeechPhraseRules;
23642 
23643 #if defined(__cplusplus) && !defined(CINTERFACE)
23644 
23645     MIDL_INTERFACE("9047D593-01DD-4b72-81A3-E4A0CA69F407")
23646     ISpeechPhraseRules : public IDispatch
23647     {
23648     public:
23649         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
23650             /* [retval][out] */ long *Count) = 0;
23651 
23652         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item(
23653             /* [in] */ long Index,
23654             /* [retval][out] */ ISpeechPhraseRule **Rule) = 0;
23655 
23656         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
23657             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
23658 
23659     };
23660 
23661 #else 	/* C style interface */
23662 
23663     typedef struct ISpeechPhraseRulesVtbl
23664     {
23665         BEGIN_INTERFACE
23666 
23667         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
23668             ISpeechPhraseRules * This,
23669             /* [in] */ REFIID riid,
23670             /* [iid_is][out] */ void **ppvObject);
23671 
23672         ULONG ( STDMETHODCALLTYPE *AddRef )(
23673             ISpeechPhraseRules * This);
23674 
23675         ULONG ( STDMETHODCALLTYPE *Release )(
23676             ISpeechPhraseRules * This);
23677 
23678         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
23679             ISpeechPhraseRules * This,
23680             /* [out] */ UINT *pctinfo);
23681 
23682         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
23683             ISpeechPhraseRules * This,
23684             /* [in] */ UINT iTInfo,
23685             /* [in] */ LCID lcid,
23686             /* [out] */ ITypeInfo **ppTInfo);
23687 
23688         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
23689             ISpeechPhraseRules * This,
23690             /* [in] */ REFIID riid,
23691             /* [size_is][in] */ LPOLESTR *rgszNames,
23692             /* [in] */ UINT cNames,
23693             /* [in] */ LCID lcid,
23694             /* [size_is][out] */ DISPID *rgDispId);
23695 
23696         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
23697             ISpeechPhraseRules * This,
23698             /* [in] */ DISPID dispIdMember,
23699             /* [in] */ REFIID riid,
23700             /* [in] */ LCID lcid,
23701             /* [in] */ WORD wFlags,
23702             /* [out][in] */ DISPPARAMS *pDispParams,
23703             /* [out] */ VARIANT *pVarResult,
23704             /* [out] */ EXCEPINFO *pExcepInfo,
23705             /* [out] */ UINT *puArgErr);
23706 
23707         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
23708             ISpeechPhraseRules * This,
23709             /* [retval][out] */ long *Count);
23710 
23711         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )(
23712             ISpeechPhraseRules * This,
23713             /* [in] */ long Index,
23714             /* [retval][out] */ ISpeechPhraseRule **Rule);
23715 
23716         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
23717             ISpeechPhraseRules * This,
23718             /* [retval][out] */ IUnknown **EnumVARIANT);
23719 
23720         END_INTERFACE
23721     } ISpeechPhraseRulesVtbl;
23722 
23723     interface ISpeechPhraseRules
23724     {
23725         CONST_VTBL struct ISpeechPhraseRulesVtbl *lpVtbl;
23726     };
23727 
23728 
23729 
23730 #ifdef COBJMACROS
23731 
23732 
23733 #define ISpeechPhraseRules_QueryInterface(This,riid,ppvObject)	\
23734     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
23735 
23736 #define ISpeechPhraseRules_AddRef(This)	\
23737     (This)->lpVtbl -> AddRef(This)
23738 
23739 #define ISpeechPhraseRules_Release(This)	\
23740     (This)->lpVtbl -> Release(This)
23741 
23742 
23743 #define ISpeechPhraseRules_GetTypeInfoCount(This,pctinfo)	\
23744     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
23745 
23746 #define ISpeechPhraseRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
23747     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
23748 
23749 #define ISpeechPhraseRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
23750     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
23751 
23752 #define ISpeechPhraseRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
23753     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
23754 
23755 
23756 #define ISpeechPhraseRules_get_Count(This,Count)	\
23757     (This)->lpVtbl -> get_Count(This,Count)
23758 
23759 #define ISpeechPhraseRules_Item(This,Index,Rule)	\
23760     (This)->lpVtbl -> Item(This,Index,Rule)
23761 
23762 #define ISpeechPhraseRules_get__NewEnum(This,EnumVARIANT)	\
23763     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
23764 
23765 #endif /* COBJMACROS */
23766 
23767 
23768 #endif 	/* C style interface */
23769 
23770 
23771 
23772 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_get_Count_Proxy(
23773     ISpeechPhraseRules * This,
23774     /* [retval][out] */ long *Count);
23775 
23776 
23777 void __RPC_STUB ISpeechPhraseRules_get_Count_Stub(
23778     IRpcStubBuffer *This,
23779     IRpcChannelBuffer *_pRpcChannelBuffer,
23780     PRPC_MESSAGE _pRpcMessage,
23781     DWORD *_pdwStubPhase);
23782 
23783 
23784 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_Item_Proxy(
23785     ISpeechPhraseRules * This,
23786     /* [in] */ long Index,
23787     /* [retval][out] */ ISpeechPhraseRule **Rule);
23788 
23789 
23790 void __RPC_STUB ISpeechPhraseRules_Item_Stub(
23791     IRpcStubBuffer *This,
23792     IRpcChannelBuffer *_pRpcChannelBuffer,
23793     PRPC_MESSAGE _pRpcMessage,
23794     DWORD *_pdwStubPhase);
23795 
23796 
23797 /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_get__NewEnum_Proxy(
23798     ISpeechPhraseRules * This,
23799     /* [retval][out] */ IUnknown **EnumVARIANT);
23800 
23801 
23802 void __RPC_STUB ISpeechPhraseRules_get__NewEnum_Stub(
23803     IRpcStubBuffer *This,
23804     IRpcChannelBuffer *_pRpcChannelBuffer,
23805     PRPC_MESSAGE _pRpcMessage,
23806     DWORD *_pdwStubPhase);
23807 
23808 
23809 
23810 #endif 	/* __ISpeechPhraseRules_INTERFACE_DEFINED__ */
23811 
23812 
23813 #ifndef __ISpeechLexicon_INTERFACE_DEFINED__
23814 #define __ISpeechLexicon_INTERFACE_DEFINED__
23815 
23816 /* interface ISpeechLexicon */
23817 /* [unique][helpstring][dual][uuid][object] */
23818 
23819 
23820 EXTERN_C const IID IID_ISpeechLexicon;
23821 
23822 #if defined(__cplusplus) && !defined(CINTERFACE)
23823 
23824     MIDL_INTERFACE("3DA7627A-C7AE-4b23-8708-638C50362C25")
23825     ISpeechLexicon : public IDispatch
23826     {
23827     public:
23828         virtual /* [hidden][id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GenerationId(
23829             /* [retval][out] */ long *GenerationId) = 0;
23830 
23831         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetWords(
23832             /* [defaultvalue][in] */ SpeechLexiconType Flags,
23833             /* [defaultvalue][out] */ long *GenerationID,
23834             /* [retval][out] */ ISpeechLexiconWords **Words) = 0;
23835 
23836         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddPronunciation(
23837             /* [in] */ BSTR bstrWord,
23838             /* [in] */ SpeechLanguageId LangId,
23839             /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
23840             /* [defaultvalue][in] */ BSTR bstrPronunciation = L"") = 0;
23841 
23842         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE AddPronunciationByPhoneIds(
23843             /* [in] */ BSTR bstrWord,
23844             /* [in] */ SpeechLanguageId LangId,
23845             /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
23846             /* [defaultvalue][in] */ VARIANT *PhoneIds = 0) = 0;
23847 
23848         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE RemovePronunciation(
23849             /* [in] */ BSTR bstrWord,
23850             /* [in] */ SpeechLanguageId LangId,
23851             /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
23852             /* [defaultvalue][in] */ BSTR bstrPronunciation = L"") = 0;
23853 
23854         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE RemovePronunciationByPhoneIds(
23855             /* [in] */ BSTR bstrWord,
23856             /* [in] */ SpeechLanguageId LangId,
23857             /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
23858             /* [defaultvalue][in] */ VARIANT *PhoneIds = 0) = 0;
23859 
23860         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetPronunciations(
23861             /* [in] */ BSTR bstrWord,
23862             /* [defaultvalue][in] */ SpeechLanguageId LangId,
23863             /* [defaultvalue][in] */ SpeechLexiconType TypeFlags,
23864             /* [retval][out] */ ISpeechLexiconPronunciations **ppPronunciations) = 0;
23865 
23866         virtual /* [hidden][id][helpstring] */ HRESULT STDMETHODCALLTYPE GetGenerationChange(
23867             /* [out][in] */ long *GenerationID,
23868             /* [retval][out] */ ISpeechLexiconWords **ppWords) = 0;
23869 
23870     };
23871 
23872 #else 	/* C style interface */
23873 
23874     typedef struct ISpeechLexiconVtbl
23875     {
23876         BEGIN_INTERFACE
23877 
23878         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
23879             ISpeechLexicon * This,
23880             /* [in] */ REFIID riid,
23881             /* [iid_is][out] */ void **ppvObject);
23882 
23883         ULONG ( STDMETHODCALLTYPE *AddRef )(
23884             ISpeechLexicon * This);
23885 
23886         ULONG ( STDMETHODCALLTYPE *Release )(
23887             ISpeechLexicon * This);
23888 
23889         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
23890             ISpeechLexicon * This,
23891             /* [out] */ UINT *pctinfo);
23892 
23893         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
23894             ISpeechLexicon * This,
23895             /* [in] */ UINT iTInfo,
23896             /* [in] */ LCID lcid,
23897             /* [out] */ ITypeInfo **ppTInfo);
23898 
23899         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
23900             ISpeechLexicon * This,
23901             /* [in] */ REFIID riid,
23902             /* [size_is][in] */ LPOLESTR *rgszNames,
23903             /* [in] */ UINT cNames,
23904             /* [in] */ LCID lcid,
23905             /* [size_is][out] */ DISPID *rgDispId);
23906 
23907         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
23908             ISpeechLexicon * This,
23909             /* [in] */ DISPID dispIdMember,
23910             /* [in] */ REFIID riid,
23911             /* [in] */ LCID lcid,
23912             /* [in] */ WORD wFlags,
23913             /* [out][in] */ DISPPARAMS *pDispParams,
23914             /* [out] */ VARIANT *pVarResult,
23915             /* [out] */ EXCEPINFO *pExcepInfo,
23916             /* [out] */ UINT *puArgErr);
23917 
23918         /* [hidden][id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenerationId )(
23919             ISpeechLexicon * This,
23920             /* [retval][out] */ long *GenerationId);
23921 
23922         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetWords )(
23923             ISpeechLexicon * This,
23924             /* [defaultvalue][in] */ SpeechLexiconType Flags,
23925             /* [defaultvalue][out] */ long *GenerationID,
23926             /* [retval][out] */ ISpeechLexiconWords **Words);
23927 
23928         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPronunciation )(
23929             ISpeechLexicon * This,
23930             /* [in] */ BSTR bstrWord,
23931             /* [in] */ SpeechLanguageId LangId,
23932             /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech,
23933             /* [defaultvalue][in] */ BSTR bstrPronunciation);
23934 
23935         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddPronunciationByPhoneIds )(
23936             ISpeechLexicon * This,
23937             /* [in] */ BSTR bstrWord,
23938             /* [in] */ SpeechLanguageId LangId,
23939             /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech,
23940             /* [defaultvalue][in] */ VARIANT *PhoneIds);
23941 
23942         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemovePronunciation )(
23943             ISpeechLexicon * This,
23944             /* [in] */ BSTR bstrWord,
23945             /* [in] */ SpeechLanguageId LangId,
23946             /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech,
23947             /* [defaultvalue][in] */ BSTR bstrPronunciation);
23948 
23949         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemovePronunciationByPhoneIds )(
23950             ISpeechLexicon * This,
23951             /* [in] */ BSTR bstrWord,
23952             /* [in] */ SpeechLanguageId LangId,
23953             /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech,
23954             /* [defaultvalue][in] */ VARIANT *PhoneIds);
23955 
23956         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPronunciations )(
23957             ISpeechLexicon * This,
23958             /* [in] */ BSTR bstrWord,
23959             /* [defaultvalue][in] */ SpeechLanguageId LangId,
23960             /* [defaultvalue][in] */ SpeechLexiconType TypeFlags,
23961             /* [retval][out] */ ISpeechLexiconPronunciations **ppPronunciations);
23962 
23963         /* [hidden][id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGenerationChange )(
23964             ISpeechLexicon * This,
23965             /* [out][in] */ long *GenerationID,
23966             /* [retval][out] */ ISpeechLexiconWords **ppWords);
23967 
23968         END_INTERFACE
23969     } ISpeechLexiconVtbl;
23970 
23971     interface ISpeechLexicon
23972     {
23973         CONST_VTBL struct ISpeechLexiconVtbl *lpVtbl;
23974     };
23975 
23976 
23977 
23978 #ifdef COBJMACROS
23979 
23980 
23981 #define ISpeechLexicon_QueryInterface(This,riid,ppvObject)	\
23982     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
23983 
23984 #define ISpeechLexicon_AddRef(This)	\
23985     (This)->lpVtbl -> AddRef(This)
23986 
23987 #define ISpeechLexicon_Release(This)	\
23988     (This)->lpVtbl -> Release(This)
23989 
23990 
23991 #define ISpeechLexicon_GetTypeInfoCount(This,pctinfo)	\
23992     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
23993 
23994 #define ISpeechLexicon_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
23995     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
23996 
23997 #define ISpeechLexicon_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
23998     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
23999 
24000 #define ISpeechLexicon_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
24001     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
24002 
24003 
24004 #define ISpeechLexicon_get_GenerationId(This,GenerationId)	\
24005     (This)->lpVtbl -> get_GenerationId(This,GenerationId)
24006 
24007 #define ISpeechLexicon_GetWords(This,Flags,GenerationID,Words)	\
24008     (This)->lpVtbl -> GetWords(This,Flags,GenerationID,Words)
24009 
24010 #define ISpeechLexicon_AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)	\
24011     (This)->lpVtbl -> AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)
24012 
24013 #define ISpeechLexicon_AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)	\
24014     (This)->lpVtbl -> AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)
24015 
24016 #define ISpeechLexicon_RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)	\
24017     (This)->lpVtbl -> RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)
24018 
24019 #define ISpeechLexicon_RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)	\
24020     (This)->lpVtbl -> RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)
24021 
24022 #define ISpeechLexicon_GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations)	\
24023     (This)->lpVtbl -> GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations)
24024 
24025 #define ISpeechLexicon_GetGenerationChange(This,GenerationID,ppWords)	\
24026     (This)->lpVtbl -> GetGenerationChange(This,GenerationID,ppWords)
24027 
24028 #endif /* COBJMACROS */
24029 
24030 
24031 #endif 	/* C style interface */
24032 
24033 
24034 
24035 /* [hidden][id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechLexicon_get_GenerationId_Proxy(
24036     ISpeechLexicon * This,
24037     /* [retval][out] */ long *GenerationId);
24038 
24039 
24040 void __RPC_STUB ISpeechLexicon_get_GenerationId_Stub(
24041     IRpcStubBuffer *This,
24042     IRpcChannelBuffer *_pRpcChannelBuffer,
24043     PRPC_MESSAGE _pRpcMessage,
24044     DWORD *_pdwStubPhase);
24045 
24046 
24047 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetWords_Proxy(
24048     ISpeechLexicon * This,
24049     /* [defaultvalue][in] */ SpeechLexiconType Flags,
24050     /* [defaultvalue][out] */ long *GenerationID,
24051     /* [retval][out] */ ISpeechLexiconWords **Words);
24052 
24053 
24054 void __RPC_STUB ISpeechLexicon_GetWords_Stub(
24055     IRpcStubBuffer *This,
24056     IRpcChannelBuffer *_pRpcChannelBuffer,
24057     PRPC_MESSAGE _pRpcMessage,
24058     DWORD *_pdwStubPhase);
24059 
24060 
24061 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechLexicon_AddPronunciation_Proxy(
24062     ISpeechLexicon * This,
24063     /* [in] */ BSTR bstrWord,
24064     /* [in] */ SpeechLanguageId LangId,
24065     /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech,
24066     /* [defaultvalue][in] */ BSTR bstrPronunciation);
24067 
24068 
24069 void __RPC_STUB ISpeechLexicon_AddPronunciation_Stub(
24070     IRpcStubBuffer *This,
24071     IRpcChannelBuffer *_pRpcChannelBuffer,
24072     PRPC_MESSAGE _pRpcMessage,
24073     DWORD *_pdwStubPhase);
24074 
24075 
24076 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechLexicon_AddPronunciationByPhoneIds_Proxy(
24077     ISpeechLexicon * This,
24078     /* [in] */ BSTR bstrWord,
24079     /* [in] */ SpeechLanguageId LangId,
24080     /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech,
24081     /* [defaultvalue][in] */ VARIANT *PhoneIds);
24082 
24083 
24084 void __RPC_STUB ISpeechLexicon_AddPronunciationByPhoneIds_Stub(
24085     IRpcStubBuffer *This,
24086     IRpcChannelBuffer *_pRpcChannelBuffer,
24087     PRPC_MESSAGE _pRpcMessage,
24088     DWORD *_pdwStubPhase);
24089 
24090 
24091 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechLexicon_RemovePronunciation_Proxy(
24092     ISpeechLexicon * This,
24093     /* [in] */ BSTR bstrWord,
24094     /* [in] */ SpeechLanguageId LangId,
24095     /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech,
24096     /* [defaultvalue][in] */ BSTR bstrPronunciation);
24097 
24098 
24099 void __RPC_STUB ISpeechLexicon_RemovePronunciation_Stub(
24100     IRpcStubBuffer *This,
24101     IRpcChannelBuffer *_pRpcChannelBuffer,
24102     PRPC_MESSAGE _pRpcMessage,
24103     DWORD *_pdwStubPhase);
24104 
24105 
24106 /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechLexicon_RemovePronunciationByPhoneIds_Proxy(
24107     ISpeechLexicon * This,
24108     /* [in] */ BSTR bstrWord,
24109     /* [in] */ SpeechLanguageId LangId,
24110     /* [defaultvalue][in] */ SpeechPartOfSpeech PartOfSpeech,
24111     /* [defaultvalue][in] */ VARIANT *PhoneIds);
24112 
24113 
24114 void __RPC_STUB ISpeechLexicon_RemovePronunciationByPhoneIds_Stub(
24115     IRpcStubBuffer *This,
24116     IRpcChannelBuffer *_pRpcChannelBuffer,
24117     PRPC_MESSAGE _pRpcMessage,
24118     DWORD *_pdwStubPhase);
24119 
24120 
24121 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetPronunciations_Proxy(
24122     ISpeechLexicon * This,
24123     /* [in] */ BSTR bstrWord,
24124     /* [defaultvalue][in] */ SpeechLanguageId LangId,
24125     /* [defaultvalue][in] */ SpeechLexiconType TypeFlags,
24126     /* [retval][out] */ ISpeechLexiconPronunciations **ppPronunciations);
24127 
24128 
24129 void __RPC_STUB ISpeechLexicon_GetPronunciations_Stub(
24130     IRpcStubBuffer *This,
24131     IRpcChannelBuffer *_pRpcChannelBuffer,
24132     PRPC_MESSAGE _pRpcMessage,
24133     DWORD *_pdwStubPhase);
24134 
24135 
24136 /* [hidden][id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetGenerationChange_Proxy(
24137     ISpeechLexicon * This,
24138     /* [out][in] */ long *GenerationID,
24139     /* [retval][out] */ ISpeechLexiconWords **ppWords);
24140 
24141 
24142 void __RPC_STUB ISpeechLexicon_GetGenerationChange_Stub(
24143     IRpcStubBuffer *This,
24144     IRpcChannelBuffer *_pRpcChannelBuffer,
24145     PRPC_MESSAGE _pRpcMessage,
24146     DWORD *_pdwStubPhase);
24147 
24148 
24149 
24150 #endif 	/* __ISpeechLexicon_INTERFACE_DEFINED__ */
24151 
24152 
24153 #ifndef __ISpeechLexiconWords_INTERFACE_DEFINED__
24154 #define __ISpeechLexiconWords_INTERFACE_DEFINED__
24155 
24156 /* interface ISpeechLexiconWords */
24157 /* [unique][helpstring][dual][uuid][object] */
24158 
24159 
24160 EXTERN_C const IID IID_ISpeechLexiconWords;
24161 
24162 #if defined(__cplusplus) && !defined(CINTERFACE)
24163 
24164     MIDL_INTERFACE("8D199862-415E-47d5-AC4F-FAA608B424E6")
24165     ISpeechLexiconWords : public IDispatch
24166     {
24167     public:
24168         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count(
24169             /* [retval][out] */ long *Count) = 0;
24170 
24171         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
24172             /* [in] */ long Index,
24173             /* [retval][out] */ ISpeechLexiconWord **Word) = 0;
24174 
24175         virtual /* [restricted][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
24176             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
24177 
24178     };
24179 
24180 #else 	/* C style interface */
24181 
24182     typedef struct ISpeechLexiconWordsVtbl
24183     {
24184         BEGIN_INTERFACE
24185 
24186         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
24187             ISpeechLexiconWords * This,
24188             /* [in] */ REFIID riid,
24189             /* [iid_is][out] */ void **ppvObject);
24190 
24191         ULONG ( STDMETHODCALLTYPE *AddRef )(
24192             ISpeechLexiconWords * This);
24193 
24194         ULONG ( STDMETHODCALLTYPE *Release )(
24195             ISpeechLexiconWords * This);
24196 
24197         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
24198             ISpeechLexiconWords * This,
24199             /* [out] */ UINT *pctinfo);
24200 
24201         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
24202             ISpeechLexiconWords * This,
24203             /* [in] */ UINT iTInfo,
24204             /* [in] */ LCID lcid,
24205             /* [out] */ ITypeInfo **ppTInfo);
24206 
24207         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
24208             ISpeechLexiconWords * This,
24209             /* [in] */ REFIID riid,
24210             /* [size_is][in] */ LPOLESTR *rgszNames,
24211             /* [in] */ UINT cNames,
24212             /* [in] */ LCID lcid,
24213             /* [size_is][out] */ DISPID *rgDispId);
24214 
24215         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
24216             ISpeechLexiconWords * This,
24217             /* [in] */ DISPID dispIdMember,
24218             /* [in] */ REFIID riid,
24219             /* [in] */ LCID lcid,
24220             /* [in] */ WORD wFlags,
24221             /* [out][in] */ DISPPARAMS *pDispParams,
24222             /* [out] */ VARIANT *pVarResult,
24223             /* [out] */ EXCEPINFO *pExcepInfo,
24224             /* [out] */ UINT *puArgErr);
24225 
24226         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
24227             ISpeechLexiconWords * This,
24228             /* [retval][out] */ long *Count);
24229 
24230         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
24231             ISpeechLexiconWords * This,
24232             /* [in] */ long Index,
24233             /* [retval][out] */ ISpeechLexiconWord **Word);
24234 
24235         /* [restricted][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
24236             ISpeechLexiconWords * This,
24237             /* [retval][out] */ IUnknown **EnumVARIANT);
24238 
24239         END_INTERFACE
24240     } ISpeechLexiconWordsVtbl;
24241 
24242     interface ISpeechLexiconWords
24243     {
24244         CONST_VTBL struct ISpeechLexiconWordsVtbl *lpVtbl;
24245     };
24246 
24247 
24248 
24249 #ifdef COBJMACROS
24250 
24251 
24252 #define ISpeechLexiconWords_QueryInterface(This,riid,ppvObject)	\
24253     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
24254 
24255 #define ISpeechLexiconWords_AddRef(This)	\
24256     (This)->lpVtbl -> AddRef(This)
24257 
24258 #define ISpeechLexiconWords_Release(This)	\
24259     (This)->lpVtbl -> Release(This)
24260 
24261 
24262 #define ISpeechLexiconWords_GetTypeInfoCount(This,pctinfo)	\
24263     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
24264 
24265 #define ISpeechLexiconWords_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
24266     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
24267 
24268 #define ISpeechLexiconWords_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
24269     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
24270 
24271 #define ISpeechLexiconWords_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
24272     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
24273 
24274 
24275 #define ISpeechLexiconWords_get_Count(This,Count)	\
24276     (This)->lpVtbl -> get_Count(This,Count)
24277 
24278 #define ISpeechLexiconWords_Item(This,Index,Word)	\
24279     (This)->lpVtbl -> Item(This,Index,Word)
24280 
24281 #define ISpeechLexiconWords_get__NewEnum(This,EnumVARIANT)	\
24282     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
24283 
24284 #endif /* COBJMACROS */
24285 
24286 
24287 #endif 	/* C style interface */
24288 
24289 
24290 
24291 /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_get_Count_Proxy(
24292     ISpeechLexiconWords * This,
24293     /* [retval][out] */ long *Count);
24294 
24295 
24296 void __RPC_STUB ISpeechLexiconWords_get_Count_Stub(
24297     IRpcStubBuffer *This,
24298     IRpcChannelBuffer *_pRpcChannelBuffer,
24299     PRPC_MESSAGE _pRpcMessage,
24300     DWORD *_pdwStubPhase);
24301 
24302 
24303 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_Item_Proxy(
24304     ISpeechLexiconWords * This,
24305     /* [in] */ long Index,
24306     /* [retval][out] */ ISpeechLexiconWord **Word);
24307 
24308 
24309 void __RPC_STUB ISpeechLexiconWords_Item_Stub(
24310     IRpcStubBuffer *This,
24311     IRpcChannelBuffer *_pRpcChannelBuffer,
24312     PRPC_MESSAGE _pRpcMessage,
24313     DWORD *_pdwStubPhase);
24314 
24315 
24316 /* [restricted][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_get__NewEnum_Proxy(
24317     ISpeechLexiconWords * This,
24318     /* [retval][out] */ IUnknown **EnumVARIANT);
24319 
24320 
24321 void __RPC_STUB ISpeechLexiconWords_get__NewEnum_Stub(
24322     IRpcStubBuffer *This,
24323     IRpcChannelBuffer *_pRpcChannelBuffer,
24324     PRPC_MESSAGE _pRpcMessage,
24325     DWORD *_pdwStubPhase);
24326 
24327 
24328 
24329 #endif 	/* __ISpeechLexiconWords_INTERFACE_DEFINED__ */
24330 
24331 
24332 #ifndef __ISpeechLexiconWord_INTERFACE_DEFINED__
24333 #define __ISpeechLexiconWord_INTERFACE_DEFINED__
24334 
24335 /* interface ISpeechLexiconWord */
24336 /* [unique][helpstring][dual][uuid][object] */
24337 
24338 
24339 EXTERN_C const IID IID_ISpeechLexiconWord;
24340 
24341 #if defined(__cplusplus) && !defined(CINTERFACE)
24342 
24343     MIDL_INTERFACE("4E5B933C-C9BE-48ed-8842-1EE51BB1D4FF")
24344     ISpeechLexiconWord : public IDispatch
24345     {
24346     public:
24347         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LangId(
24348             /* [retval][out] */ SpeechLanguageId *LangId) = 0;
24349 
24350         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type(
24351             /* [retval][out] */ SpeechWordType *WordType) = 0;
24352 
24353         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Word(
24354             /* [retval][out] */ BSTR *Word) = 0;
24355 
24356         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Pronunciations(
24357             /* [retval][out] */ ISpeechLexiconPronunciations **Pronunciations) = 0;
24358 
24359     };
24360 
24361 #else 	/* C style interface */
24362 
24363     typedef struct ISpeechLexiconWordVtbl
24364     {
24365         BEGIN_INTERFACE
24366 
24367         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
24368             ISpeechLexiconWord * This,
24369             /* [in] */ REFIID riid,
24370             /* [iid_is][out] */ void **ppvObject);
24371 
24372         ULONG ( STDMETHODCALLTYPE *AddRef )(
24373             ISpeechLexiconWord * This);
24374 
24375         ULONG ( STDMETHODCALLTYPE *Release )(
24376             ISpeechLexiconWord * This);
24377 
24378         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
24379             ISpeechLexiconWord * This,
24380             /* [out] */ UINT *pctinfo);
24381 
24382         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
24383             ISpeechLexiconWord * This,
24384             /* [in] */ UINT iTInfo,
24385             /* [in] */ LCID lcid,
24386             /* [out] */ ITypeInfo **ppTInfo);
24387 
24388         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
24389             ISpeechLexiconWord * This,
24390             /* [in] */ REFIID riid,
24391             /* [size_is][in] */ LPOLESTR *rgszNames,
24392             /* [in] */ UINT cNames,
24393             /* [in] */ LCID lcid,
24394             /* [size_is][out] */ DISPID *rgDispId);
24395 
24396         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
24397             ISpeechLexiconWord * This,
24398             /* [in] */ DISPID dispIdMember,
24399             /* [in] */ REFIID riid,
24400             /* [in] */ LCID lcid,
24401             /* [in] */ WORD wFlags,
24402             /* [out][in] */ DISPPARAMS *pDispParams,
24403             /* [out] */ VARIANT *pVarResult,
24404             /* [out] */ EXCEPINFO *pExcepInfo,
24405             /* [out] */ UINT *puArgErr);
24406 
24407         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LangId )(
24408             ISpeechLexiconWord * This,
24409             /* [retval][out] */ SpeechLanguageId *LangId);
24410 
24411         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
24412             ISpeechLexiconWord * This,
24413             /* [retval][out] */ SpeechWordType *WordType);
24414 
24415         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Word )(
24416             ISpeechLexiconWord * This,
24417             /* [retval][out] */ BSTR *Word);
24418 
24419         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Pronunciations )(
24420             ISpeechLexiconWord * This,
24421             /* [retval][out] */ ISpeechLexiconPronunciations **Pronunciations);
24422 
24423         END_INTERFACE
24424     } ISpeechLexiconWordVtbl;
24425 
24426     interface ISpeechLexiconWord
24427     {
24428         CONST_VTBL struct ISpeechLexiconWordVtbl *lpVtbl;
24429     };
24430 
24431 
24432 
24433 #ifdef COBJMACROS
24434 
24435 
24436 #define ISpeechLexiconWord_QueryInterface(This,riid,ppvObject)	\
24437     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
24438 
24439 #define ISpeechLexiconWord_AddRef(This)	\
24440     (This)->lpVtbl -> AddRef(This)
24441 
24442 #define ISpeechLexiconWord_Release(This)	\
24443     (This)->lpVtbl -> Release(This)
24444 
24445 
24446 #define ISpeechLexiconWord_GetTypeInfoCount(This,pctinfo)	\
24447     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
24448 
24449 #define ISpeechLexiconWord_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
24450     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
24451 
24452 #define ISpeechLexiconWord_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
24453     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
24454 
24455 #define ISpeechLexiconWord_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
24456     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
24457 
24458 
24459 #define ISpeechLexiconWord_get_LangId(This,LangId)	\
24460     (This)->lpVtbl -> get_LangId(This,LangId)
24461 
24462 #define ISpeechLexiconWord_get_Type(This,WordType)	\
24463     (This)->lpVtbl -> get_Type(This,WordType)
24464 
24465 #define ISpeechLexiconWord_get_Word(This,Word)	\
24466     (This)->lpVtbl -> get_Word(This,Word)
24467 
24468 #define ISpeechLexiconWord_get_Pronunciations(This,Pronunciations)	\
24469     (This)->lpVtbl -> get_Pronunciations(This,Pronunciations)
24470 
24471 #endif /* COBJMACROS */
24472 
24473 
24474 #endif 	/* C style interface */
24475 
24476 
24477 
24478 /* [propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_LangId_Proxy(
24479     ISpeechLexiconWord * This,
24480     /* [retval][out] */ SpeechLanguageId *LangId);
24481 
24482 
24483 void __RPC_STUB ISpeechLexiconWord_get_LangId_Stub(
24484     IRpcStubBuffer *This,
24485     IRpcChannelBuffer *_pRpcChannelBuffer,
24486     PRPC_MESSAGE _pRpcMessage,
24487     DWORD *_pdwStubPhase);
24488 
24489 
24490 /* [propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Type_Proxy(
24491     ISpeechLexiconWord * This,
24492     /* [retval][out] */ SpeechWordType *WordType);
24493 
24494 
24495 void __RPC_STUB ISpeechLexiconWord_get_Type_Stub(
24496     IRpcStubBuffer *This,
24497     IRpcChannelBuffer *_pRpcChannelBuffer,
24498     PRPC_MESSAGE _pRpcMessage,
24499     DWORD *_pdwStubPhase);
24500 
24501 
24502 /* [propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Word_Proxy(
24503     ISpeechLexiconWord * This,
24504     /* [retval][out] */ BSTR *Word);
24505 
24506 
24507 void __RPC_STUB ISpeechLexiconWord_get_Word_Stub(
24508     IRpcStubBuffer *This,
24509     IRpcChannelBuffer *_pRpcChannelBuffer,
24510     PRPC_MESSAGE _pRpcMessage,
24511     DWORD *_pdwStubPhase);
24512 
24513 
24514 /* [propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Pronunciations_Proxy(
24515     ISpeechLexiconWord * This,
24516     /* [retval][out] */ ISpeechLexiconPronunciations **Pronunciations);
24517 
24518 
24519 void __RPC_STUB ISpeechLexiconWord_get_Pronunciations_Stub(
24520     IRpcStubBuffer *This,
24521     IRpcChannelBuffer *_pRpcChannelBuffer,
24522     PRPC_MESSAGE _pRpcMessage,
24523     DWORD *_pdwStubPhase);
24524 
24525 
24526 
24527 #endif 	/* __ISpeechLexiconWord_INTERFACE_DEFINED__ */
24528 
24529 
24530 #ifndef __ISpeechLexiconPronunciations_INTERFACE_DEFINED__
24531 #define __ISpeechLexiconPronunciations_INTERFACE_DEFINED__
24532 
24533 /* interface ISpeechLexiconPronunciations */
24534 /* [unique][helpstring][dual][uuid][object] */
24535 
24536 
24537 EXTERN_C const IID IID_ISpeechLexiconPronunciations;
24538 
24539 #if defined(__cplusplus) && !defined(CINTERFACE)
24540 
24541     MIDL_INTERFACE("72829128-5682-4704-A0D4-3E2BB6F2EAD3")
24542     ISpeechLexiconPronunciations : public IDispatch
24543     {
24544     public:
24545         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count(
24546             /* [retval][out] */ long *Count) = 0;
24547 
24548         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
24549             /* [in] */ long Index,
24550             /* [retval][out] */ ISpeechLexiconPronunciation **Pronunciation) = 0;
24551 
24552         virtual /* [restricted][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
24553             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
24554 
24555     };
24556 
24557 #else 	/* C style interface */
24558 
24559     typedef struct ISpeechLexiconPronunciationsVtbl
24560     {
24561         BEGIN_INTERFACE
24562 
24563         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
24564             ISpeechLexiconPronunciations * This,
24565             /* [in] */ REFIID riid,
24566             /* [iid_is][out] */ void **ppvObject);
24567 
24568         ULONG ( STDMETHODCALLTYPE *AddRef )(
24569             ISpeechLexiconPronunciations * This);
24570 
24571         ULONG ( STDMETHODCALLTYPE *Release )(
24572             ISpeechLexiconPronunciations * This);
24573 
24574         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
24575             ISpeechLexiconPronunciations * This,
24576             /* [out] */ UINT *pctinfo);
24577 
24578         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
24579             ISpeechLexiconPronunciations * This,
24580             /* [in] */ UINT iTInfo,
24581             /* [in] */ LCID lcid,
24582             /* [out] */ ITypeInfo **ppTInfo);
24583 
24584         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
24585             ISpeechLexiconPronunciations * This,
24586             /* [in] */ REFIID riid,
24587             /* [size_is][in] */ LPOLESTR *rgszNames,
24588             /* [in] */ UINT cNames,
24589             /* [in] */ LCID lcid,
24590             /* [size_is][out] */ DISPID *rgDispId);
24591 
24592         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
24593             ISpeechLexiconPronunciations * This,
24594             /* [in] */ DISPID dispIdMember,
24595             /* [in] */ REFIID riid,
24596             /* [in] */ LCID lcid,
24597             /* [in] */ WORD wFlags,
24598             /* [out][in] */ DISPPARAMS *pDispParams,
24599             /* [out] */ VARIANT *pVarResult,
24600             /* [out] */ EXCEPINFO *pExcepInfo,
24601             /* [out] */ UINT *puArgErr);
24602 
24603         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
24604             ISpeechLexiconPronunciations * This,
24605             /* [retval][out] */ long *Count);
24606 
24607         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
24608             ISpeechLexiconPronunciations * This,
24609             /* [in] */ long Index,
24610             /* [retval][out] */ ISpeechLexiconPronunciation **Pronunciation);
24611 
24612         /* [restricted][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
24613             ISpeechLexiconPronunciations * This,
24614             /* [retval][out] */ IUnknown **EnumVARIANT);
24615 
24616         END_INTERFACE
24617     } ISpeechLexiconPronunciationsVtbl;
24618 
24619     interface ISpeechLexiconPronunciations
24620     {
24621         CONST_VTBL struct ISpeechLexiconPronunciationsVtbl *lpVtbl;
24622     };
24623 
24624 
24625 
24626 #ifdef COBJMACROS
24627 
24628 
24629 #define ISpeechLexiconPronunciations_QueryInterface(This,riid,ppvObject)	\
24630     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
24631 
24632 #define ISpeechLexiconPronunciations_AddRef(This)	\
24633     (This)->lpVtbl -> AddRef(This)
24634 
24635 #define ISpeechLexiconPronunciations_Release(This)	\
24636     (This)->lpVtbl -> Release(This)
24637 
24638 
24639 #define ISpeechLexiconPronunciations_GetTypeInfoCount(This,pctinfo)	\
24640     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
24641 
24642 #define ISpeechLexiconPronunciations_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
24643     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
24644 
24645 #define ISpeechLexiconPronunciations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
24646     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
24647 
24648 #define ISpeechLexiconPronunciations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
24649     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
24650 
24651 
24652 #define ISpeechLexiconPronunciations_get_Count(This,Count)	\
24653     (This)->lpVtbl -> get_Count(This,Count)
24654 
24655 #define ISpeechLexiconPronunciations_Item(This,Index,Pronunciation)	\
24656     (This)->lpVtbl -> Item(This,Index,Pronunciation)
24657 
24658 #define ISpeechLexiconPronunciations_get__NewEnum(This,EnumVARIANT)	\
24659     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
24660 
24661 #endif /* COBJMACROS */
24662 
24663 
24664 #endif 	/* C style interface */
24665 
24666 
24667 
24668 /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_get_Count_Proxy(
24669     ISpeechLexiconPronunciations * This,
24670     /* [retval][out] */ long *Count);
24671 
24672 
24673 void __RPC_STUB ISpeechLexiconPronunciations_get_Count_Stub(
24674     IRpcStubBuffer *This,
24675     IRpcChannelBuffer *_pRpcChannelBuffer,
24676     PRPC_MESSAGE _pRpcMessage,
24677     DWORD *_pdwStubPhase);
24678 
24679 
24680 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_Item_Proxy(
24681     ISpeechLexiconPronunciations * This,
24682     /* [in] */ long Index,
24683     /* [retval][out] */ ISpeechLexiconPronunciation **Pronunciation);
24684 
24685 
24686 void __RPC_STUB ISpeechLexiconPronunciations_Item_Stub(
24687     IRpcStubBuffer *This,
24688     IRpcChannelBuffer *_pRpcChannelBuffer,
24689     PRPC_MESSAGE _pRpcMessage,
24690     DWORD *_pdwStubPhase);
24691 
24692 
24693 /* [restricted][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_get__NewEnum_Proxy(
24694     ISpeechLexiconPronunciations * This,
24695     /* [retval][out] */ IUnknown **EnumVARIANT);
24696 
24697 
24698 void __RPC_STUB ISpeechLexiconPronunciations_get__NewEnum_Stub(
24699     IRpcStubBuffer *This,
24700     IRpcChannelBuffer *_pRpcChannelBuffer,
24701     PRPC_MESSAGE _pRpcMessage,
24702     DWORD *_pdwStubPhase);
24703 
24704 
24705 
24706 #endif 	/* __ISpeechLexiconPronunciations_INTERFACE_DEFINED__ */
24707 
24708 
24709 #ifndef __ISpeechLexiconPronunciation_INTERFACE_DEFINED__
24710 #define __ISpeechLexiconPronunciation_INTERFACE_DEFINED__
24711 
24712 /* interface ISpeechLexiconPronunciation */
24713 /* [unique][helpstring][dual][uuid][object] */
24714 
24715 
24716 EXTERN_C const IID IID_ISpeechLexiconPronunciation;
24717 
24718 #if defined(__cplusplus) && !defined(CINTERFACE)
24719 
24720     MIDL_INTERFACE("95252C5D-9E43-4f4a-9899-48EE73352F9F")
24721     ISpeechLexiconPronunciation : public IDispatch
24722     {
24723     public:
24724         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type(
24725             /* [retval][out] */ SpeechLexiconType *LexiconType) = 0;
24726 
24727         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_LangId(
24728             /* [retval][out] */ SpeechLanguageId *LangId) = 0;
24729 
24730         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PartOfSpeech(
24731             /* [retval][out] */ SpeechPartOfSpeech *PartOfSpeech) = 0;
24732 
24733         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PhoneIds(
24734             /* [retval][out] */ VARIANT *PhoneIds) = 0;
24735 
24736         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Symbolic(
24737             /* [retval][out] */ BSTR *Symbolic) = 0;
24738 
24739     };
24740 
24741 #else 	/* C style interface */
24742 
24743     typedef struct ISpeechLexiconPronunciationVtbl
24744     {
24745         BEGIN_INTERFACE
24746 
24747         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
24748             ISpeechLexiconPronunciation * This,
24749             /* [in] */ REFIID riid,
24750             /* [iid_is][out] */ void **ppvObject);
24751 
24752         ULONG ( STDMETHODCALLTYPE *AddRef )(
24753             ISpeechLexiconPronunciation * This);
24754 
24755         ULONG ( STDMETHODCALLTYPE *Release )(
24756             ISpeechLexiconPronunciation * This);
24757 
24758         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
24759             ISpeechLexiconPronunciation * This,
24760             /* [out] */ UINT *pctinfo);
24761 
24762         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
24763             ISpeechLexiconPronunciation * This,
24764             /* [in] */ UINT iTInfo,
24765             /* [in] */ LCID lcid,
24766             /* [out] */ ITypeInfo **ppTInfo);
24767 
24768         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
24769             ISpeechLexiconPronunciation * This,
24770             /* [in] */ REFIID riid,
24771             /* [size_is][in] */ LPOLESTR *rgszNames,
24772             /* [in] */ UINT cNames,
24773             /* [in] */ LCID lcid,
24774             /* [size_is][out] */ DISPID *rgDispId);
24775 
24776         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
24777             ISpeechLexiconPronunciation * This,
24778             /* [in] */ DISPID dispIdMember,
24779             /* [in] */ REFIID riid,
24780             /* [in] */ LCID lcid,
24781             /* [in] */ WORD wFlags,
24782             /* [out][in] */ DISPPARAMS *pDispParams,
24783             /* [out] */ VARIANT *pVarResult,
24784             /* [out] */ EXCEPINFO *pExcepInfo,
24785             /* [out] */ UINT *puArgErr);
24786 
24787         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
24788             ISpeechLexiconPronunciation * This,
24789             /* [retval][out] */ SpeechLexiconType *LexiconType);
24790 
24791         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LangId )(
24792             ISpeechLexiconPronunciation * This,
24793             /* [retval][out] */ SpeechLanguageId *LangId);
24794 
24795         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PartOfSpeech )(
24796             ISpeechLexiconPronunciation * This,
24797             /* [retval][out] */ SpeechPartOfSpeech *PartOfSpeech);
24798 
24799         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PhoneIds )(
24800             ISpeechLexiconPronunciation * This,
24801             /* [retval][out] */ VARIANT *PhoneIds);
24802 
24803         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Symbolic )(
24804             ISpeechLexiconPronunciation * This,
24805             /* [retval][out] */ BSTR *Symbolic);
24806 
24807         END_INTERFACE
24808     } ISpeechLexiconPronunciationVtbl;
24809 
24810     interface ISpeechLexiconPronunciation
24811     {
24812         CONST_VTBL struct ISpeechLexiconPronunciationVtbl *lpVtbl;
24813     };
24814 
24815 
24816 
24817 #ifdef COBJMACROS
24818 
24819 
24820 #define ISpeechLexiconPronunciation_QueryInterface(This,riid,ppvObject)	\
24821     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
24822 
24823 #define ISpeechLexiconPronunciation_AddRef(This)	\
24824     (This)->lpVtbl -> AddRef(This)
24825 
24826 #define ISpeechLexiconPronunciation_Release(This)	\
24827     (This)->lpVtbl -> Release(This)
24828 
24829 
24830 #define ISpeechLexiconPronunciation_GetTypeInfoCount(This,pctinfo)	\
24831     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
24832 
24833 #define ISpeechLexiconPronunciation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
24834     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
24835 
24836 #define ISpeechLexiconPronunciation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
24837     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
24838 
24839 #define ISpeechLexiconPronunciation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
24840     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
24841 
24842 
24843 #define ISpeechLexiconPronunciation_get_Type(This,LexiconType)	\
24844     (This)->lpVtbl -> get_Type(This,LexiconType)
24845 
24846 #define ISpeechLexiconPronunciation_get_LangId(This,LangId)	\
24847     (This)->lpVtbl -> get_LangId(This,LangId)
24848 
24849 #define ISpeechLexiconPronunciation_get_PartOfSpeech(This,PartOfSpeech)	\
24850     (This)->lpVtbl -> get_PartOfSpeech(This,PartOfSpeech)
24851 
24852 #define ISpeechLexiconPronunciation_get_PhoneIds(This,PhoneIds)	\
24853     (This)->lpVtbl -> get_PhoneIds(This,PhoneIds)
24854 
24855 #define ISpeechLexiconPronunciation_get_Symbolic(This,Symbolic)	\
24856     (This)->lpVtbl -> get_Symbolic(This,Symbolic)
24857 
24858 #endif /* COBJMACROS */
24859 
24860 
24861 #endif 	/* C style interface */
24862 
24863 
24864 
24865 /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_Type_Proxy(
24866     ISpeechLexiconPronunciation * This,
24867     /* [retval][out] */ SpeechLexiconType *LexiconType);
24868 
24869 
24870 void __RPC_STUB ISpeechLexiconPronunciation_get_Type_Stub(
24871     IRpcStubBuffer *This,
24872     IRpcChannelBuffer *_pRpcChannelBuffer,
24873     PRPC_MESSAGE _pRpcMessage,
24874     DWORD *_pdwStubPhase);
24875 
24876 
24877 /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_LangId_Proxy(
24878     ISpeechLexiconPronunciation * This,
24879     /* [retval][out] */ SpeechLanguageId *LangId);
24880 
24881 
24882 void __RPC_STUB ISpeechLexiconPronunciation_get_LangId_Stub(
24883     IRpcStubBuffer *This,
24884     IRpcChannelBuffer *_pRpcChannelBuffer,
24885     PRPC_MESSAGE _pRpcMessage,
24886     DWORD *_pdwStubPhase);
24887 
24888 
24889 /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_PartOfSpeech_Proxy(
24890     ISpeechLexiconPronunciation * This,
24891     /* [retval][out] */ SpeechPartOfSpeech *PartOfSpeech);
24892 
24893 
24894 void __RPC_STUB ISpeechLexiconPronunciation_get_PartOfSpeech_Stub(
24895     IRpcStubBuffer *This,
24896     IRpcChannelBuffer *_pRpcChannelBuffer,
24897     PRPC_MESSAGE _pRpcMessage,
24898     DWORD *_pdwStubPhase);
24899 
24900 
24901 /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_PhoneIds_Proxy(
24902     ISpeechLexiconPronunciation * This,
24903     /* [retval][out] */ VARIANT *PhoneIds);
24904 
24905 
24906 void __RPC_STUB ISpeechLexiconPronunciation_get_PhoneIds_Stub(
24907     IRpcStubBuffer *This,
24908     IRpcChannelBuffer *_pRpcChannelBuffer,
24909     PRPC_MESSAGE _pRpcMessage,
24910     DWORD *_pdwStubPhase);
24911 
24912 
24913 /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_Symbolic_Proxy(
24914     ISpeechLexiconPronunciation * This,
24915     /* [retval][out] */ BSTR *Symbolic);
24916 
24917 
24918 void __RPC_STUB ISpeechLexiconPronunciation_get_Symbolic_Stub(
24919     IRpcStubBuffer *This,
24920     IRpcChannelBuffer *_pRpcChannelBuffer,
24921     PRPC_MESSAGE _pRpcMessage,
24922     DWORD *_pdwStubPhase);
24923 
24924 
24925 
24926 #endif 	/* __ISpeechLexiconPronunciation_INTERFACE_DEFINED__ */
24927 
24928 
24929 
24930 #ifndef __SpeechStringConstants_MODULE_DEFINED__
24931 #define __SpeechStringConstants_MODULE_DEFINED__
24932 
24933 
24934 /* module SpeechStringConstants */
24935 /* [uuid] */
24936 
24937 const BSTR SpeechRegistryUserRoot	=	L"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech";
24938 
24939 const BSTR SpeechRegistryLocalMachineRoot	=	L"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech";
24940 
24941 const BSTR SpeechCategoryAudioOut	=	L"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\AudioOutput";
24942 
24943 const BSTR SpeechCategoryAudioIn	=	L"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\AudioInput";
24944 
24945 const BSTR SpeechCategoryVoices	=	L"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices";
24946 
24947 const BSTR SpeechCategoryRecognizers	=	L"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Recognizers";
24948 
24949 const BSTR SpeechCategoryAppLexicons	=	L"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\AppLexicons";
24950 
24951 const BSTR SpeechCategoryPhoneConverters	=	L"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\PhoneConverters";
24952 
24953 const BSTR SpeechCategoryRecoProfiles	=	L"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech\RecoProfiles";
24954 
24955 const BSTR SpeechTokenIdUserLexicon	=	L"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech\CurrentUserLexicon";
24956 
24957 const BSTR SpeechTokenValueCLSID	=	L"CLSID";
24958 
24959 const BSTR SpeechTokenKeyFiles	=	L"Files";
24960 
24961 const BSTR SpeechTokenKeyUI	=	L"UI";
24962 
24963 const BSTR SpeechTokenKeyAttributes	=	L"Attributes";
24964 
24965 const BSTR SpeechVoiceCategoryTTSRate	=	L"DefaultTTSRate";
24966 
24967 const BSTR SpeechPropertyResourceUsage	=	L"ResourceUsage";
24968 
24969 const BSTR SpeechPropertyHighConfidenceThreshold	=	L"HighConfidenceThreshold";
24970 
24971 const BSTR SpeechPropertyNormalConfidenceThreshold	=	L"NormalConfidenceThreshold";
24972 
24973 const BSTR SpeechPropertyLowConfidenceThreshold	=	L"LowConfidenceThreshold";
24974 
24975 const BSTR SpeechPropertyResponseSpeed	=	L"ResponseSpeed";
24976 
24977 const BSTR SpeechPropertyComplexResponseSpeed	=	L"ComplexResponseSpeed";
24978 
24979 const BSTR SpeechPropertyAdaptationOn	=	L"AdaptationOn";
24980 
24981 const BSTR SpeechDictationTopicSpelling	=	L"Spelling";
24982 
24983 const BSTR SpeechGrammarTagWildcard	=	L"...";
24984 
24985 const BSTR SpeechGrammarTagDictation	=	L"*";
24986 
24987 const BSTR SpeechGrammarTagUnlimitedDictation	=	L"*+";
24988 
24989 const BSTR SpeechEngineProperties	=	L"EngineProperties";
24990 
24991 const BSTR SpeechAddRemoveWord	=	L"AddRemoveWord";
24992 
24993 const BSTR SpeechUserTraining	=	L"UserTraining";
24994 
24995 const BSTR SpeechMicTraining	=	L"MicTraining";
24996 
24997 const BSTR SpeechRecoProfileProperties	=	L"RecoProfileProperties";
24998 
24999 const BSTR SpeechAudioProperties	=	L"AudioProperties";
25000 
25001 const BSTR SpeechAudioVolume	=	L"AudioVolume";
25002 
25003 const BSTR SpeechVoiceSkipTypeSentence	=	L"Sentence";
25004 
25005 const BSTR SpeechAudioFormatGUIDWave	=	L"{C31ADBAE-527F-4ff5-A230-F62BB61FF70C}";
25006 
25007 const BSTR SpeechAudioFormatGUIDText	=	L"{7CEEF9F9-3D13-11d2-9EE7-00C04F797396}";
25008 
25009 #endif /* __SpeechStringConstants_MODULE_DEFINED__ */
25010 
25011 
25012 #ifndef __SpeechConstants_MODULE_DEFINED__
25013 #define __SpeechConstants_MODULE_DEFINED__
25014 
25015 
25016 /* module SpeechConstants */
25017 /* [uuid] */
25018 
25019 const float Speech_Default_Weight	=	DEFAULT_WEIGHT;
25020 
25021 const LONG Speech_Max_Word_Length	=	SP_MAX_WORD_LENGTH;
25022 
25023 const LONG Speech_Max_Pron_Length	=	SP_MAX_PRON_LENGTH;
25024 
25025 const LONG Speech_StreamPos_Asap	=	SP_STREAMPOS_ASAP;
25026 
25027 const LONG Speech_StreamPos_RealTime	=	SP_STREAMPOS_REALTIME;
25028 
25029 const LONG SpeechAllElements	=	SPPR_ALL_ELEMENTS;
25030 
25031 #endif /* __SpeechConstants_MODULE_DEFINED__ */
25032 
25033 #ifndef __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__
25034 #define __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__
25035 
25036 /* interface ISpeechPhraseInfoBuilder */
25037 /* [unique][helpstring][dual][uuid][object] */
25038 
25039 
25040 EXTERN_C const IID IID_ISpeechPhraseInfoBuilder;
25041 
25042 #if defined(__cplusplus) && !defined(CINTERFACE)
25043 
25044     MIDL_INTERFACE("3B151836-DF3A-4E0A-846C-D2ADC9334333")
25045     ISpeechPhraseInfoBuilder : public IDispatch
25046     {
25047     public:
25048         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE RestorePhraseFromMemory(
25049             /* [in] */ VARIANT *PhraseInMemory,
25050             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo) = 0;
25051 
25052     };
25053 
25054 #else 	/* C style interface */
25055 
25056     typedef struct ISpeechPhraseInfoBuilderVtbl
25057     {
25058         BEGIN_INTERFACE
25059 
25060         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
25061             ISpeechPhraseInfoBuilder * This,
25062             /* [in] */ REFIID riid,
25063             /* [iid_is][out] */ void **ppvObject);
25064 
25065         ULONG ( STDMETHODCALLTYPE *AddRef )(
25066             ISpeechPhraseInfoBuilder * This);
25067 
25068         ULONG ( STDMETHODCALLTYPE *Release )(
25069             ISpeechPhraseInfoBuilder * This);
25070 
25071         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
25072             ISpeechPhraseInfoBuilder * This,
25073             /* [out] */ UINT *pctinfo);
25074 
25075         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
25076             ISpeechPhraseInfoBuilder * This,
25077             /* [in] */ UINT iTInfo,
25078             /* [in] */ LCID lcid,
25079             /* [out] */ ITypeInfo **ppTInfo);
25080 
25081         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
25082             ISpeechPhraseInfoBuilder * This,
25083             /* [in] */ REFIID riid,
25084             /* [size_is][in] */ LPOLESTR *rgszNames,
25085             /* [in] */ UINT cNames,
25086             /* [in] */ LCID lcid,
25087             /* [size_is][out] */ DISPID *rgDispId);
25088 
25089         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
25090             ISpeechPhraseInfoBuilder * This,
25091             /* [in] */ DISPID dispIdMember,
25092             /* [in] */ REFIID riid,
25093             /* [in] */ LCID lcid,
25094             /* [in] */ WORD wFlags,
25095             /* [out][in] */ DISPPARAMS *pDispParams,
25096             /* [out] */ VARIANT *pVarResult,
25097             /* [out] */ EXCEPINFO *pExcepInfo,
25098             /* [out] */ UINT *puArgErr);
25099 
25100         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *RestorePhraseFromMemory )(
25101             ISpeechPhraseInfoBuilder * This,
25102             /* [in] */ VARIANT *PhraseInMemory,
25103             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
25104 
25105         END_INTERFACE
25106     } ISpeechPhraseInfoBuilderVtbl;
25107 
25108     interface ISpeechPhraseInfoBuilder
25109     {
25110         CONST_VTBL struct ISpeechPhraseInfoBuilderVtbl *lpVtbl;
25111     };
25112 
25113 
25114 
25115 #ifdef COBJMACROS
25116 
25117 
25118 #define ISpeechPhraseInfoBuilder_QueryInterface(This,riid,ppvObject)	\
25119     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
25120 
25121 #define ISpeechPhraseInfoBuilder_AddRef(This)	\
25122     (This)->lpVtbl -> AddRef(This)
25123 
25124 #define ISpeechPhraseInfoBuilder_Release(This)	\
25125     (This)->lpVtbl -> Release(This)
25126 
25127 
25128 #define ISpeechPhraseInfoBuilder_GetTypeInfoCount(This,pctinfo)	\
25129     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
25130 
25131 #define ISpeechPhraseInfoBuilder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
25132     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
25133 
25134 #define ISpeechPhraseInfoBuilder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
25135     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
25136 
25137 #define ISpeechPhraseInfoBuilder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
25138     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
25139 
25140 
25141 #define ISpeechPhraseInfoBuilder_RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo)	\
25142     (This)->lpVtbl -> RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo)
25143 
25144 #endif /* COBJMACROS */
25145 
25146 
25147 #endif 	/* C style interface */
25148 
25149 
25150 
25151 /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfoBuilder_RestorePhraseFromMemory_Proxy(
25152     ISpeechPhraseInfoBuilder * This,
25153     /* [in] */ VARIANT *PhraseInMemory,
25154     /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
25155 
25156 
25157 void __RPC_STUB ISpeechPhraseInfoBuilder_RestorePhraseFromMemory_Stub(
25158     IRpcStubBuffer *This,
25159     IRpcChannelBuffer *_pRpcChannelBuffer,
25160     PRPC_MESSAGE _pRpcMessage,
25161     DWORD *_pdwStubPhase);
25162 
25163 
25164 
25165 #endif 	/* __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__ */
25166 
25167 
25168 #ifndef __ISpeechPhoneConverter_INTERFACE_DEFINED__
25169 #define __ISpeechPhoneConverter_INTERFACE_DEFINED__
25170 
25171 /* interface ISpeechPhoneConverter */
25172 /* [unique][helpstring][dual][uuid][object] */
25173 
25174 
25175 EXTERN_C const IID IID_ISpeechPhoneConverter;
25176 
25177 #if defined(__cplusplus) && !defined(CINTERFACE)
25178 
25179     MIDL_INTERFACE("C3E4F353-433F-43d6-89A1-6A62A7054C3D")
25180     ISpeechPhoneConverter : public IDispatch
25181     {
25182     public:
25183         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LanguageId(
25184             /* [retval][out] */ SpeechLanguageId *LanguageId) = 0;
25185 
25186         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LanguageId(
25187             /* [in] */ SpeechLanguageId LanguageId) = 0;
25188 
25189         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PhoneToId(
25190             /* [in] */ const BSTR Phonemes,
25191             /* [retval][out] */ VARIANT *IdArray) = 0;
25192 
25193         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IdToPhone(
25194             /* [in] */ const VARIANT IdArray,
25195             /* [retval][out] */ BSTR *Phonemes) = 0;
25196 
25197     };
25198 
25199 #else 	/* C style interface */
25200 
25201     typedef struct ISpeechPhoneConverterVtbl
25202     {
25203         BEGIN_INTERFACE
25204 
25205         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
25206             ISpeechPhoneConverter * This,
25207             /* [in] */ REFIID riid,
25208             /* [iid_is][out] */ void **ppvObject);
25209 
25210         ULONG ( STDMETHODCALLTYPE *AddRef )(
25211             ISpeechPhoneConverter * This);
25212 
25213         ULONG ( STDMETHODCALLTYPE *Release )(
25214             ISpeechPhoneConverter * This);
25215 
25216         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
25217             ISpeechPhoneConverter * This,
25218             /* [out] */ UINT *pctinfo);
25219 
25220         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
25221             ISpeechPhoneConverter * This,
25222             /* [in] */ UINT iTInfo,
25223             /* [in] */ LCID lcid,
25224             /* [out] */ ITypeInfo **ppTInfo);
25225 
25226         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
25227             ISpeechPhoneConverter * This,
25228             /* [in] */ REFIID riid,
25229             /* [size_is][in] */ LPOLESTR *rgszNames,
25230             /* [in] */ UINT cNames,
25231             /* [in] */ LCID lcid,
25232             /* [size_is][out] */ DISPID *rgDispId);
25233 
25234         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
25235             ISpeechPhoneConverter * This,
25236             /* [in] */ DISPID dispIdMember,
25237             /* [in] */ REFIID riid,
25238             /* [in] */ LCID lcid,
25239             /* [in] */ WORD wFlags,
25240             /* [out][in] */ DISPPARAMS *pDispParams,
25241             /* [out] */ VARIANT *pVarResult,
25242             /* [out] */ EXCEPINFO *pExcepInfo,
25243             /* [out] */ UINT *puArgErr);
25244 
25245         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LanguageId )(
25246             ISpeechPhoneConverter * This,
25247             /* [retval][out] */ SpeechLanguageId *LanguageId);
25248 
25249         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LanguageId )(
25250             ISpeechPhoneConverter * This,
25251             /* [in] */ SpeechLanguageId LanguageId);
25252 
25253         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PhoneToId )(
25254             ISpeechPhoneConverter * This,
25255             /* [in] */ const BSTR Phonemes,
25256             /* [retval][out] */ VARIANT *IdArray);
25257 
25258         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IdToPhone )(
25259             ISpeechPhoneConverter * This,
25260             /* [in] */ const VARIANT IdArray,
25261             /* [retval][out] */ BSTR *Phonemes);
25262 
25263         END_INTERFACE
25264     } ISpeechPhoneConverterVtbl;
25265 
25266     interface ISpeechPhoneConverter
25267     {
25268         CONST_VTBL struct ISpeechPhoneConverterVtbl *lpVtbl;
25269     };
25270 
25271 
25272 
25273 #ifdef COBJMACROS
25274 
25275 
25276 #define ISpeechPhoneConverter_QueryInterface(This,riid,ppvObject)	\
25277     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
25278 
25279 #define ISpeechPhoneConverter_AddRef(This)	\
25280     (This)->lpVtbl -> AddRef(This)
25281 
25282 #define ISpeechPhoneConverter_Release(This)	\
25283     (This)->lpVtbl -> Release(This)
25284 
25285 
25286 #define ISpeechPhoneConverter_GetTypeInfoCount(This,pctinfo)	\
25287     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
25288 
25289 #define ISpeechPhoneConverter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
25290     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
25291 
25292 #define ISpeechPhoneConverter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
25293     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
25294 
25295 #define ISpeechPhoneConverter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
25296     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
25297 
25298 
25299 #define ISpeechPhoneConverter_get_LanguageId(This,LanguageId)	\
25300     (This)->lpVtbl -> get_LanguageId(This,LanguageId)
25301 
25302 #define ISpeechPhoneConverter_put_LanguageId(This,LanguageId)	\
25303     (This)->lpVtbl -> put_LanguageId(This,LanguageId)
25304 
25305 #define ISpeechPhoneConverter_PhoneToId(This,Phonemes,IdArray)	\
25306     (This)->lpVtbl -> PhoneToId(This,Phonemes,IdArray)
25307 
25308 #define ISpeechPhoneConverter_IdToPhone(This,IdArray,Phonemes)	\
25309     (This)->lpVtbl -> IdToPhone(This,IdArray,Phonemes)
25310 
25311 #endif /* COBJMACROS */
25312 
25313 
25314 #endif 	/* C style interface */
25315 
25316 
25317 
25318 /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_get_LanguageId_Proxy(
25319     ISpeechPhoneConverter * This,
25320     /* [retval][out] */ SpeechLanguageId *LanguageId);
25321 
25322 
25323 void __RPC_STUB ISpeechPhoneConverter_get_LanguageId_Stub(
25324     IRpcStubBuffer *This,
25325     IRpcChannelBuffer *_pRpcChannelBuffer,
25326     PRPC_MESSAGE _pRpcMessage,
25327     DWORD *_pdwStubPhase);
25328 
25329 
25330 /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_put_LanguageId_Proxy(
25331     ISpeechPhoneConverter * This,
25332     /* [in] */ SpeechLanguageId LanguageId);
25333 
25334 
25335 void __RPC_STUB ISpeechPhoneConverter_put_LanguageId_Stub(
25336     IRpcStubBuffer *This,
25337     IRpcChannelBuffer *_pRpcChannelBuffer,
25338     PRPC_MESSAGE _pRpcMessage,
25339     DWORD *_pdwStubPhase);
25340 
25341 
25342 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_PhoneToId_Proxy(
25343     ISpeechPhoneConverter * This,
25344     /* [in] */ const BSTR Phonemes,
25345     /* [retval][out] */ VARIANT *IdArray);
25346 
25347 
25348 void __RPC_STUB ISpeechPhoneConverter_PhoneToId_Stub(
25349     IRpcStubBuffer *This,
25350     IRpcChannelBuffer *_pRpcChannelBuffer,
25351     PRPC_MESSAGE _pRpcMessage,
25352     DWORD *_pdwStubPhase);
25353 
25354 
25355 /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_IdToPhone_Proxy(
25356     ISpeechPhoneConverter * This,
25357     /* [in] */ const VARIANT IdArray,
25358     /* [retval][out] */ BSTR *Phonemes);
25359 
25360 
25361 void __RPC_STUB ISpeechPhoneConverter_IdToPhone_Stub(
25362     IRpcStubBuffer *This,
25363     IRpcChannelBuffer *_pRpcChannelBuffer,
25364     PRPC_MESSAGE _pRpcMessage,
25365     DWORD *_pdwStubPhase);
25366 
25367 
25368 
25369 #endif 	/* __ISpeechPhoneConverter_INTERFACE_DEFINED__ */
25370 
25371 
25372 EXTERN_C const CLSID CLSID_SpNotifyTranslator;
25373 
25374 #ifdef __cplusplus
25375 
25376 class DECLSPEC_UUID("E2AE5372-5D40-11D2-960E-00C04F8EE628")
25377 SpNotifyTranslator;
25378 #endif
25379 
25380 EXTERN_C const CLSID CLSID_SpObjectTokenCategory;
25381 
25382 #ifdef __cplusplus
25383 
25384 class DECLSPEC_UUID("A910187F-0C7A-45AC-92CC-59EDAFB77B53")
25385 SpObjectTokenCategory;
25386 #endif
25387 
25388 EXTERN_C const CLSID CLSID_SpObjectToken;
25389 
25390 #ifdef __cplusplus
25391 
25392 class DECLSPEC_UUID("EF411752-3736-4CB4-9C8C-8EF4CCB58EFE")
25393 SpObjectToken;
25394 #endif
25395 
25396 EXTERN_C const CLSID CLSID_SpResourceManager;
25397 
25398 #ifdef __cplusplus
25399 
25400 class DECLSPEC_UUID("96749373-3391-11D2-9EE3-00C04F797396")
25401 SpResourceManager;
25402 #endif
25403 
25404 EXTERN_C const CLSID CLSID_SpStreamFormatConverter;
25405 
25406 #ifdef __cplusplus
25407 
25408 class DECLSPEC_UUID("7013943A-E2EC-11D2-A086-00C04F8EF9B5")
25409 SpStreamFormatConverter;
25410 #endif
25411 
25412 EXTERN_C const CLSID CLSID_SpMMAudioEnum;
25413 
25414 #ifdef __cplusplus
25415 
25416 class DECLSPEC_UUID("AB1890A0-E91F-11D2-BB91-00C04F8EE6C0")
25417 SpMMAudioEnum;
25418 #endif
25419 
25420 EXTERN_C const CLSID CLSID_SpMMAudioIn;
25421 
25422 #ifdef __cplusplus
25423 
25424 class DECLSPEC_UUID("CF3D2E50-53F2-11D2-960C-00C04F8EE628")
25425 SpMMAudioIn;
25426 #endif
25427 
25428 EXTERN_C const CLSID CLSID_SpMMAudioOut;
25429 
25430 #ifdef __cplusplus
25431 
25432 class DECLSPEC_UUID("A8C680EB-3D32-11D2-9EE7-00C04F797396")
25433 SpMMAudioOut;
25434 #endif
25435 
25436 EXTERN_C const CLSID CLSID_SpRecPlayAudio;
25437 
25438 #ifdef __cplusplus
25439 
25440 class DECLSPEC_UUID("FEE225FC-7AFD-45E9-95D0-5A318079D911")
25441 SpRecPlayAudio;
25442 #endif
25443 
25444 EXTERN_C const CLSID CLSID_SpStream;
25445 
25446 #ifdef __cplusplus
25447 
25448 class DECLSPEC_UUID("715D9C59-4442-11D2-9605-00C04F8EE628")
25449 SpStream;
25450 #endif
25451 
25452 EXTERN_C const CLSID CLSID_SpVoice;
25453 
25454 #ifdef __cplusplus
25455 
25456 class DECLSPEC_UUID("96749377-3391-11D2-9EE3-00C04F797396")
25457 SpVoice;
25458 #endif
25459 
25460 EXTERN_C const CLSID CLSID_SpSharedRecoContext;
25461 
25462 #ifdef __cplusplus
25463 
25464 class DECLSPEC_UUID("47206204-5ECA-11D2-960F-00C04F8EE628")
25465 SpSharedRecoContext;
25466 #endif
25467 
25468 EXTERN_C const CLSID CLSID_SpInprocRecognizer;
25469 
25470 #ifdef __cplusplus
25471 
25472 class DECLSPEC_UUID("41B89B6B-9399-11D2-9623-00C04F8EE628")
25473 SpInprocRecognizer;
25474 #endif
25475 
25476 EXTERN_C const CLSID CLSID_SpSharedRecognizer;
25477 
25478 #ifdef __cplusplus
25479 
25480 class DECLSPEC_UUID("3BEE4890-4FE9-4A37-8C1E-5E7E12791C1F")
25481 SpSharedRecognizer;
25482 #endif
25483 
25484 EXTERN_C const CLSID CLSID_SpLexicon;
25485 
25486 #ifdef __cplusplus
25487 
25488 class DECLSPEC_UUID("0655E396-25D0-11D3-9C26-00C04F8EF87C")
25489 SpLexicon;
25490 #endif
25491 
25492 EXTERN_C const CLSID CLSID_SpUnCompressedLexicon;
25493 
25494 #ifdef __cplusplus
25495 
25496 class DECLSPEC_UUID("C9E37C15-DF92-4727-85D6-72E5EEB6995A")
25497 SpUnCompressedLexicon;
25498 #endif
25499 
25500 EXTERN_C const CLSID CLSID_SpCompressedLexicon;
25501 
25502 #ifdef __cplusplus
25503 
25504 class DECLSPEC_UUID("90903716-2F42-11D3-9C26-00C04F8EF87C")
25505 SpCompressedLexicon;
25506 #endif
25507 
25508 EXTERN_C const CLSID CLSID_SpPhoneConverter;
25509 
25510 #ifdef __cplusplus
25511 
25512 class DECLSPEC_UUID("9185F743-1143-4C28-86B5-BFF14F20E5C8")
25513 SpPhoneConverter;
25514 #endif
25515 
25516 EXTERN_C const CLSID CLSID_SpNullPhoneConverter;
25517 
25518 #ifdef __cplusplus
25519 
25520 class DECLSPEC_UUID("455F24E9-7396-4A16-9715-7C0FDBE3EFE3")
25521 SpNullPhoneConverter;
25522 #endif
25523 
25524 EXTERN_C const CLSID CLSID_SpTextSelectionInformation;
25525 
25526 #ifdef __cplusplus
25527 
25528 class DECLSPEC_UUID("0F92030A-CBFD-4AB8-A164-FF5985547FF6")
25529 SpTextSelectionInformation;
25530 #endif
25531 
25532 EXTERN_C const CLSID CLSID_SpPhraseInfoBuilder;
25533 
25534 #ifdef __cplusplus
25535 
25536 class DECLSPEC_UUID("C23FC28D-C55F-4720-8B32-91F73C2BD5D1")
25537 SpPhraseInfoBuilder;
25538 #endif
25539 
25540 EXTERN_C const CLSID CLSID_SpAudioFormat;
25541 
25542 #ifdef __cplusplus
25543 
25544 class DECLSPEC_UUID("9EF96870-E160-4792-820D-48CF0649E4EC")
25545 SpAudioFormat;
25546 #endif
25547 
25548 EXTERN_C const CLSID CLSID_SpWaveFormatEx;
25549 
25550 #ifdef __cplusplus
25551 
25552 class DECLSPEC_UUID("C79A574C-63BE-44b9-801F-283F87F898BE")
25553 SpWaveFormatEx;
25554 #endif
25555 
25556 EXTERN_C const CLSID CLSID_SpInProcRecoContext;
25557 
25558 #ifdef __cplusplus
25559 
25560 class DECLSPEC_UUID("73AD6842-ACE0-45E8-A4DD-8795881A2C2A")
25561 SpInProcRecoContext;
25562 #endif
25563 
25564 EXTERN_C const CLSID CLSID_SpCustomStream;
25565 
25566 #ifdef __cplusplus
25567 
25568 class DECLSPEC_UUID("8DBEF13F-1948-4aa8-8CF0-048EEBED95D8")
25569 SpCustomStream;
25570 #endif
25571 
25572 EXTERN_C const CLSID CLSID_SpFileStream;
25573 
25574 #ifdef __cplusplus
25575 
25576 class DECLSPEC_UUID("947812B3-2AE1-4644-BA86-9E90DED7EC91")
25577 SpFileStream;
25578 #endif
25579 
25580 EXTERN_C const CLSID CLSID_SpMemoryStream;
25581 
25582 #ifdef __cplusplus
25583 
25584 class DECLSPEC_UUID("5FB7EF7D-DFF4-468a-B6B7-2FCBD188F994")
25585 SpMemoryStream;
25586 #endif
25587 #endif /* __SpeechLib_LIBRARY_DEFINED__ */
25588 
25589 /* Additional Prototypes for ALL interfaces */
25590 
25591 /* end of Additional Prototypes */
25592 
25593 #ifdef __cplusplus
25594 }
25595 #endif
25596 
25597 #endif
25598 
25599 
25600