Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from include/sapi53.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __sapi53_h__
     16 #define __sapi53_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __ISpNotifySource_FWD_DEFINED__
     21 #define __ISpNotifySource_FWD_DEFINED__
     22 typedef interface ISpNotifySource ISpNotifySource;
     23 #endif
     24 
     25 #ifndef __ISpNotifySink_FWD_DEFINED__
     26 #define __ISpNotifySink_FWD_DEFINED__
     27 typedef interface ISpNotifySink ISpNotifySink;
     28 #endif
     29 
     30 #ifndef __ISpNotifyTranslator_FWD_DEFINED__
     31 #define __ISpNotifyTranslator_FWD_DEFINED__
     32 typedef interface ISpNotifyTranslator ISpNotifyTranslator;
     33 #endif
     34 
     35 #ifndef __ISpDataKey_FWD_DEFINED__
     36 #define __ISpDataKey_FWD_DEFINED__
     37 typedef interface ISpDataKey ISpDataKey;
     38 #endif
     39 
     40 #ifndef __ISpObjectWithToken_FWD_DEFINED__
     41 #define __ISpObjectWithToken_FWD_DEFINED__
     42 typedef interface ISpObjectWithToken ISpObjectWithToken;
     43 #endif
     44 
     45 #ifndef __IEnumSpObjectTokens_FWD_DEFINED__
     46 #define __IEnumSpObjectTokens_FWD_DEFINED__
     47 typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
     48 #endif
     49 
     50 #ifndef __ISpRegDataKey_FWD_DEFINED__
     51 #define __ISpRegDataKey_FWD_DEFINED__
     52 typedef interface ISpRegDataKey ISpRegDataKey;
     53 #endif
     54 
     55 #ifndef __ISpObjectTokenCategory_FWD_DEFINED__
     56 #define __ISpObjectTokenCategory_FWD_DEFINED__
     57 typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
     58 #endif
     59 
     60 #ifndef __ISpObjectToken_FWD_DEFINED__
     61 #define __ISpObjectToken_FWD_DEFINED__
     62 typedef interface ISpObjectToken ISpObjectToken;
     63 #endif
     64 
     65 #ifndef __ISpObjectTokenInit_FWD_DEFINED__
     66 #define __ISpObjectTokenInit_FWD_DEFINED__
     67 typedef interface ISpObjectTokenInit ISpObjectTokenInit;
     68 #endif
     69 
     70 #ifndef __ISpResourceManager_FWD_DEFINED__
     71 #define __ISpResourceManager_FWD_DEFINED__
     72 typedef interface ISpResourceManager ISpResourceManager;
     73 #endif
     74 
     75 #ifndef __ISpEventSource_FWD_DEFINED__
     76 #define __ISpEventSource_FWD_DEFINED__
     77 typedef interface ISpEventSource ISpEventSource;
     78 #endif
     79 
     80 #ifndef __ISpEventSource2_FWD_DEFINED__
     81 #define __ISpEventSource2_FWD_DEFINED__
     82 typedef interface ISpEventSource2 ISpEventSource2;
     83 #endif
     84 
     85 #ifndef __ISpEventSink_FWD_DEFINED__
     86 #define __ISpEventSink_FWD_DEFINED__
     87 typedef interface ISpEventSink ISpEventSink;
     88 #endif
     89 
     90 #ifndef __ISpStreamFormat_FWD_DEFINED__
     91 #define __ISpStreamFormat_FWD_DEFINED__
     92 typedef interface ISpStreamFormat ISpStreamFormat;
     93 #endif
     94 
     95 #ifndef __ISpStream_FWD_DEFINED__
     96 #define __ISpStream_FWD_DEFINED__
     97 typedef interface ISpStream ISpStream;
     98 #endif
     99 
    100 #ifndef __ISpStreamFormatConverter_FWD_DEFINED__
    101 #define __ISpStreamFormatConverter_FWD_DEFINED__
    102 typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
    103 #endif
    104 
    105 #ifndef __ISpAudio_FWD_DEFINED__
    106 #define __ISpAudio_FWD_DEFINED__
    107 typedef interface ISpAudio ISpAudio;
    108 #endif
    109 
    110 #ifndef __ISpMMSysAudio_FWD_DEFINED__
    111 #define __ISpMMSysAudio_FWD_DEFINED__
    112 typedef interface ISpMMSysAudio ISpMMSysAudio;
    113 #endif
    114 
    115 #ifndef __ISpTranscript_FWD_DEFINED__
    116 #define __ISpTranscript_FWD_DEFINED__
    117 typedef interface ISpTranscript ISpTranscript;
    118 #endif
    119 
    120 #ifndef __ISpLexicon_FWD_DEFINED__
    121 #define __ISpLexicon_FWD_DEFINED__
    122 typedef interface ISpLexicon ISpLexicon;
    123 #endif
    124 
    125 #ifndef __ISpContainerLexicon_FWD_DEFINED__
    126 #define __ISpContainerLexicon_FWD_DEFINED__
    127 typedef interface ISpContainerLexicon ISpContainerLexicon;
    128 #endif
    129 
    130 #ifndef __ISpShortcut_FWD_DEFINED__
    131 #define __ISpShortcut_FWD_DEFINED__
    132 typedef interface ISpShortcut ISpShortcut;
    133 #endif
    134 
    135 #ifndef __ISpPhoneConverter_FWD_DEFINED__
    136 #define __ISpPhoneConverter_FWD_DEFINED__
    137 typedef interface ISpPhoneConverter ISpPhoneConverter;
    138 #endif
    139 
    140 #ifndef __ISpPhoneticAlphabetConverter_FWD_DEFINED__
    141 #define __ISpPhoneticAlphabetConverter_FWD_DEFINED__
    142 typedef interface ISpPhoneticAlphabetConverter ISpPhoneticAlphabetConverter;
    143 #endif
    144 
    145 #ifndef __ISpPhoneticAlphabetSelection_FWD_DEFINED__
    146 #define __ISpPhoneticAlphabetSelection_FWD_DEFINED__
    147 typedef interface ISpPhoneticAlphabetSelection ISpPhoneticAlphabetSelection;
    148 #endif
    149 
    150 #ifndef __ISpVoice_FWD_DEFINED__
    151 #define __ISpVoice_FWD_DEFINED__
    152 typedef interface ISpVoice ISpVoice;
    153 #endif
    154 
    155 #ifndef __ISpPhrase_FWD_DEFINED__
    156 #define __ISpPhrase_FWD_DEFINED__
    157 typedef interface ISpPhrase ISpPhrase;
    158 #endif
    159 
    160 #ifndef __ISpPhraseAlt_FWD_DEFINED__
    161 #define __ISpPhraseAlt_FWD_DEFINED__
    162 typedef interface ISpPhraseAlt ISpPhraseAlt;
    163 #endif
    164 
    165 #ifndef __ISpPhrase2_FWD_DEFINED__
    166 #define __ISpPhrase2_FWD_DEFINED__
    167 typedef interface ISpPhrase2 ISpPhrase2;
    168 #endif
    169 
    170 #ifndef __ISpRecoResult_FWD_DEFINED__
    171 #define __ISpRecoResult_FWD_DEFINED__
    172 typedef interface ISpRecoResult ISpRecoResult;
    173 #endif
    174 
    175 #ifndef __ISpRecoResult2_FWD_DEFINED__
    176 #define __ISpRecoResult2_FWD_DEFINED__
    177 typedef interface ISpRecoResult2 ISpRecoResult2;
    178 #endif
    179 
    180 #ifndef __ISpXMLRecoResult_FWD_DEFINED__
    181 #define __ISpXMLRecoResult_FWD_DEFINED__
    182 typedef interface ISpXMLRecoResult ISpXMLRecoResult;
    183 #endif
    184 
    185 #ifndef __ISpGrammarBuilder_FWD_DEFINED__
    186 #define __ISpGrammarBuilder_FWD_DEFINED__
    187 typedef interface ISpGrammarBuilder ISpGrammarBuilder;
    188 #endif
    189 
    190 #ifndef __ISpRecoGrammar_FWD_DEFINED__
    191 #define __ISpRecoGrammar_FWD_DEFINED__
    192 typedef interface ISpRecoGrammar ISpRecoGrammar;
    193 #endif
    194 
    195 #ifndef __ISpGrammarBuilder2_FWD_DEFINED__
    196 #define __ISpGrammarBuilder2_FWD_DEFINED__
    197 typedef interface ISpGrammarBuilder2 ISpGrammarBuilder2;
    198 #endif
    199 
    200 #ifndef __ISpRecoGrammar2_FWD_DEFINED__
    201 #define __ISpRecoGrammar2_FWD_DEFINED__
    202 typedef interface ISpRecoGrammar2 ISpRecoGrammar2;
    203 #endif
    204 
    205 #ifndef __ISpeechResourceLoader_FWD_DEFINED__
    206 #define __ISpeechResourceLoader_FWD_DEFINED__
    207 typedef interface ISpeechResourceLoader ISpeechResourceLoader;
    208 #endif
    209 
    210 #ifndef __ISpRecoContext_FWD_DEFINED__
    211 #define __ISpRecoContext_FWD_DEFINED__
    212 typedef interface ISpRecoContext ISpRecoContext;
    213 #endif
    214 
    215 #ifndef __ISpRecoContext2_FWD_DEFINED__
    216 #define __ISpRecoContext2_FWD_DEFINED__
    217 typedef interface ISpRecoContext2 ISpRecoContext2;
    218 #endif
    219 
    220 #ifndef __ISpProperties_FWD_DEFINED__
    221 #define __ISpProperties_FWD_DEFINED__
    222 typedef interface ISpProperties ISpProperties;
    223 #endif
    224 
    225 #ifndef __ISpRecognizer_FWD_DEFINED__
    226 #define __ISpRecognizer_FWD_DEFINED__
    227 typedef interface ISpRecognizer ISpRecognizer;
    228 #endif
    229 
    230 #ifndef __ISpSerializeState_FWD_DEFINED__
    231 #define __ISpSerializeState_FWD_DEFINED__
    232 typedef interface ISpSerializeState ISpSerializeState;
    233 #endif
    234 
    235 #ifndef __ISpRecognizer2_FWD_DEFINED__
    236 #define __ISpRecognizer2_FWD_DEFINED__
    237 typedef interface ISpRecognizer2 ISpRecognizer2;
    238 #endif
    239 
    240 #ifndef __ISpEnginePronunciation_FWD_DEFINED__
    241 #define __ISpEnginePronunciation_FWD_DEFINED__
    242 typedef interface ISpEnginePronunciation ISpEnginePronunciation;
    243 #endif
    244 
    245 #ifndef __ISpDisplayAlternates_FWD_DEFINED__
    246 #define __ISpDisplayAlternates_FWD_DEFINED__
    247 typedef interface ISpDisplayAlternates ISpDisplayAlternates;
    248 #endif
    249 
    250 #ifndef __ISpeechDataKey_FWD_DEFINED__
    251 #define __ISpeechDataKey_FWD_DEFINED__
    252 typedef interface ISpeechDataKey ISpeechDataKey;
    253 #endif
    254 
    255 #ifndef __ISpeechObjectToken_FWD_DEFINED__
    256 #define __ISpeechObjectToken_FWD_DEFINED__
    257 typedef interface ISpeechObjectToken ISpeechObjectToken;
    258 #endif
    259 
    260 #ifndef __ISpeechObjectTokens_FWD_DEFINED__
    261 #define __ISpeechObjectTokens_FWD_DEFINED__
    262 typedef interface ISpeechObjectTokens ISpeechObjectTokens;
    263 #endif
    264 
    265 #ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
    266 #define __ISpeechObjectTokenCategory_FWD_DEFINED__
    267 typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
    268 #endif
    269 
    270 #ifndef __ISpeechAudioFormat_FWD_DEFINED__
    271 #define __ISpeechAudioFormat_FWD_DEFINED__
    272 typedef interface ISpeechAudioFormat ISpeechAudioFormat;
    273 #endif
    274 
    275 #ifndef __ISpeechBaseStream_FWD_DEFINED__
    276 #define __ISpeechBaseStream_FWD_DEFINED__
    277 typedef interface ISpeechBaseStream ISpeechBaseStream;
    278 #endif
    279 
    280 #ifndef __ISpeechAudio_FWD_DEFINED__
    281 #define __ISpeechAudio_FWD_DEFINED__
    282 typedef interface ISpeechAudio ISpeechAudio;
    283 #endif
    284 
    285 #ifndef __ISpeechMMSysAudio_FWD_DEFINED__
    286 #define __ISpeechMMSysAudio_FWD_DEFINED__
    287 typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
    288 #endif
    289 
    290 #ifndef __ISpeechFileStream_FWD_DEFINED__
    291 #define __ISpeechFileStream_FWD_DEFINED__
    292 typedef interface ISpeechFileStream ISpeechFileStream;
    293 #endif
    294 
    295 #ifndef __ISpeechCustomStream_FWD_DEFINED__
    296 #define __ISpeechCustomStream_FWD_DEFINED__
    297 typedef interface ISpeechCustomStream ISpeechCustomStream;
    298 #endif
    299 
    300 #ifndef __ISpeechMemoryStream_FWD_DEFINED__
    301 #define __ISpeechMemoryStream_FWD_DEFINED__
    302 typedef interface ISpeechMemoryStream ISpeechMemoryStream;
    303 #endif
    304 
    305 #ifndef __ISpeechAudioStatus_FWD_DEFINED__
    306 #define __ISpeechAudioStatus_FWD_DEFINED__
    307 typedef interface ISpeechAudioStatus ISpeechAudioStatus;
    308 #endif
    309 
    310 #ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
    311 #define __ISpeechAudioBufferInfo_FWD_DEFINED__
    312 typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
    313 #endif
    314 
    315 #ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
    316 #define __ISpeechWaveFormatEx_FWD_DEFINED__
    317 typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
    318 #endif
    319 
    320 #ifndef __ISpeechVoice_FWD_DEFINED__
    321 #define __ISpeechVoice_FWD_DEFINED__
    322 typedef interface ISpeechVoice ISpeechVoice;
    323 #endif
    324 
    325 #ifndef __ISpeechVoiceStatus_FWD_DEFINED__
    326 #define __ISpeechVoiceStatus_FWD_DEFINED__
    327 typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
    328 #endif
    329 
    330 #ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
    331 #define ___ISpeechVoiceEvents_FWD_DEFINED__
    332 typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
    333 #endif
    334 
    335 #ifndef __ISpeechRecognizer_FWD_DEFINED__
    336 #define __ISpeechRecognizer_FWD_DEFINED__
    337 typedef interface ISpeechRecognizer ISpeechRecognizer;
    338 #endif
    339 
    340 #ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
    341 #define __ISpeechRecognizerStatus_FWD_DEFINED__
    342 typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
    343 #endif
    344 
    345 #ifndef __ISpeechRecoContext_FWD_DEFINED__
    346 #define __ISpeechRecoContext_FWD_DEFINED__
    347 typedef interface ISpeechRecoContext ISpeechRecoContext;
    348 #endif
    349 
    350 #ifndef __ISpeechRecoGrammar_FWD_DEFINED__
    351 #define __ISpeechRecoGrammar_FWD_DEFINED__
    352 typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
    353 #endif
    354 
    355 #ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
    356 #define ___ISpeechRecoContextEvents_FWD_DEFINED__
    357 typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
    358 #endif
    359 
    360 #ifndef __ISpeechGrammarRule_FWD_DEFINED__
    361 #define __ISpeechGrammarRule_FWD_DEFINED__
    362 typedef interface ISpeechGrammarRule ISpeechGrammarRule;
    363 #endif
    364 
    365 #ifndef __ISpeechGrammarRules_FWD_DEFINED__
    366 #define __ISpeechGrammarRules_FWD_DEFINED__
    367 typedef interface ISpeechGrammarRules ISpeechGrammarRules;
    368 #endif
    369 
    370 #ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
    371 #define __ISpeechGrammarRuleState_FWD_DEFINED__
    372 typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
    373 #endif
    374 
    375 #ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
    376 #define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
    377 typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
    378 #endif
    379 
    380 #ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
    381 #define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
    382 typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
    383 #endif
    384 
    385 #ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
    386 #define __ISpeechTextSelectionInformation_FWD_DEFINED__
    387 typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
    388 #endif
    389 
    390 #ifndef __ISpeechRecoResult_FWD_DEFINED__
    391 #define __ISpeechRecoResult_FWD_DEFINED__
    392 typedef interface ISpeechRecoResult ISpeechRecoResult;
    393 #endif
    394 
    395 #ifndef __ISpeechXMLRecoResult_FWD_DEFINED__
    396 #define __ISpeechXMLRecoResult_FWD_DEFINED__
    397 typedef interface ISpeechXMLRecoResult ISpeechXMLRecoResult;
    398 #endif
    399 
    400 #ifndef __ISpeechRecoResult2_FWD_DEFINED__
    401 #define __ISpeechRecoResult2_FWD_DEFINED__
    402 typedef interface ISpeechRecoResult2 ISpeechRecoResult2;
    403 #endif
    404 
    405 #ifndef __ISpeechRecoResultDispatch_FWD_DEFINED__
    406 #define __ISpeechRecoResultDispatch_FWD_DEFINED__
    407 typedef interface ISpeechRecoResultDispatch ISpeechRecoResultDispatch;
    408 #endif
    409 
    410 #ifndef __ISpeechPhraseInfoBuilder_FWD_DEFINED__
    411 #define __ISpeechPhraseInfoBuilder_FWD_DEFINED__
    412 typedef interface ISpeechPhraseInfoBuilder ISpeechPhraseInfoBuilder;
    413 #endif
    414 
    415 #ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
    416 #define __ISpeechRecoResultTimes_FWD_DEFINED__
    417 typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
    418 #endif
    419 
    420 #ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
    421 #define __ISpeechPhraseAlternate_FWD_DEFINED__
    422 typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
    423 #endif
    424 
    425 #ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
    426 #define __ISpeechPhraseAlternates_FWD_DEFINED__
    427 typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
    428 #endif
    429 
    430 #ifndef __ISpeechPhraseInfo_FWD_DEFINED__
    431 #define __ISpeechPhraseInfo_FWD_DEFINED__
    432 typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
    433 #endif
    434 
    435 #ifndef __ISpeechPhraseElement_FWD_DEFINED__
    436 #define __ISpeechPhraseElement_FWD_DEFINED__
    437 typedef interface ISpeechPhraseElement ISpeechPhraseElement;
    438 #endif
    439 
    440 #ifndef __ISpeechPhraseElements_FWD_DEFINED__
    441 #define __ISpeechPhraseElements_FWD_DEFINED__
    442 typedef interface ISpeechPhraseElements ISpeechPhraseElements;
    443 #endif
    444 
    445 #ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
    446 #define __ISpeechPhraseReplacement_FWD_DEFINED__
    447 typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
    448 #endif
    449 
    450 #ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
    451 #define __ISpeechPhraseReplacements_FWD_DEFINED__
    452 typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
    453 #endif
    454 
    455 #ifndef __ISpeechPhraseProperty_FWD_DEFINED__
    456 #define __ISpeechPhraseProperty_FWD_DEFINED__
    457 typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
    458 #endif
    459 
    460 #ifndef __ISpeechPhraseProperties_FWD_DEFINED__
    461 #define __ISpeechPhraseProperties_FWD_DEFINED__
    462 typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
    463 #endif
    464 
    465 #ifndef __ISpeechPhraseRule_FWD_DEFINED__
    466 #define __ISpeechPhraseRule_FWD_DEFINED__
    467 typedef interface ISpeechPhraseRule ISpeechPhraseRule;
    468 #endif
    469 
    470 #ifndef __ISpeechPhraseRules_FWD_DEFINED__
    471 #define __ISpeechPhraseRules_FWD_DEFINED__
    472 typedef interface ISpeechPhraseRules ISpeechPhraseRules;
    473 #endif
    474 
    475 #ifndef __ISpeechLexiconWords_FWD_DEFINED__
    476 #define __ISpeechLexiconWords_FWD_DEFINED__
    477 typedef interface ISpeechLexiconWords ISpeechLexiconWords;
    478 #endif
    479 
    480 #ifndef __ISpeechLexicon_FWD_DEFINED__
    481 #define __ISpeechLexicon_FWD_DEFINED__
    482 typedef interface ISpeechLexicon ISpeechLexicon;
    483 #endif
    484 
    485 #ifndef __ISpeechLexiconWord_FWD_DEFINED__
    486 #define __ISpeechLexiconWord_FWD_DEFINED__
    487 typedef interface ISpeechLexiconWord ISpeechLexiconWord;
    488 #endif
    489 
    490 #ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
    491 #define __ISpeechLexiconPronunciations_FWD_DEFINED__
    492 typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
    493 #endif
    494 
    495 #ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
    496 #define __ISpeechLexiconPronunciation_FWD_DEFINED__
    497 typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
    498 #endif
    499 
    500 #ifndef __ISpeechPhoneConverter_FWD_DEFINED__
    501 #define __ISpeechPhoneConverter_FWD_DEFINED__
    502 typedef interface ISpeechPhoneConverter ISpeechPhoneConverter;
    503 #endif
    504 
    505 #ifndef __SpNotifyTranslator_FWD_DEFINED__
    506 #define __SpNotifyTranslator_FWD_DEFINED__
    507 #ifdef __cplusplus
    508 typedef class SpNotifyTranslator SpNotifyTranslator;
    509 #else
    510 typedef struct SpNotifyTranslator SpNotifyTranslator;
    511 #endif /* defined __cplusplus */
    512 #endif /* defined __SpNotifyTranslator_FWD_DEFINED__ */
    513 
    514 #ifndef __SpObjectTokenCategory_FWD_DEFINED__
    515 #define __SpObjectTokenCategory_FWD_DEFINED__
    516 #ifdef __cplusplus
    517 typedef class SpObjectTokenCategory SpObjectTokenCategory;
    518 #else
    519 typedef struct SpObjectTokenCategory SpObjectTokenCategory;
    520 #endif /* defined __cplusplus */
    521 #endif /* defined __SpObjectTokenCategory_FWD_DEFINED__ */
    522 
    523 #ifndef __SpObjectToken_FWD_DEFINED__
    524 #define __SpObjectToken_FWD_DEFINED__
    525 #ifdef __cplusplus
    526 typedef class SpObjectToken SpObjectToken;
    527 #else
    528 typedef struct SpObjectToken SpObjectToken;
    529 #endif /* defined __cplusplus */
    530 #endif /* defined __SpObjectToken_FWD_DEFINED__ */
    531 
    532 #ifndef __SpResourceManager_FWD_DEFINED__
    533 #define __SpResourceManager_FWD_DEFINED__
    534 #ifdef __cplusplus
    535 typedef class SpResourceManager SpResourceManager;
    536 #else
    537 typedef struct SpResourceManager SpResourceManager;
    538 #endif /* defined __cplusplus */
    539 #endif /* defined __SpResourceManager_FWD_DEFINED__ */
    540 
    541 #ifndef __SpStreamFormatConverter_FWD_DEFINED__
    542 #define __SpStreamFormatConverter_FWD_DEFINED__
    543 #ifdef __cplusplus
    544 typedef class SpStreamFormatConverter SpStreamFormatConverter;
    545 #else
    546 typedef struct SpStreamFormatConverter SpStreamFormatConverter;
    547 #endif /* defined __cplusplus */
    548 #endif /* defined __SpStreamFormatConverter_FWD_DEFINED__ */
    549 
    550 #ifndef __SpMMAudioEnum_FWD_DEFINED__
    551 #define __SpMMAudioEnum_FWD_DEFINED__
    552 #ifdef __cplusplus
    553 typedef class SpMMAudioEnum SpMMAudioEnum;
    554 #else
    555 typedef struct SpMMAudioEnum SpMMAudioEnum;
    556 #endif /* defined __cplusplus */
    557 #endif /* defined __SpMMAudioEnum_FWD_DEFINED__ */
    558 
    559 #ifndef __SpMMAudioIn_FWD_DEFINED__
    560 #define __SpMMAudioIn_FWD_DEFINED__
    561 #ifdef __cplusplus
    562 typedef class SpMMAudioIn SpMMAudioIn;
    563 #else
    564 typedef struct SpMMAudioIn SpMMAudioIn;
    565 #endif /* defined __cplusplus */
    566 #endif /* defined __SpMMAudioIn_FWD_DEFINED__ */
    567 
    568 #ifndef __SpMMAudioOut_FWD_DEFINED__
    569 #define __SpMMAudioOut_FWD_DEFINED__
    570 #ifdef __cplusplus
    571 typedef class SpMMAudioOut SpMMAudioOut;
    572 #else
    573 typedef struct SpMMAudioOut SpMMAudioOut;
    574 #endif /* defined __cplusplus */
    575 #endif /* defined __SpMMAudioOut_FWD_DEFINED__ */
    576 
    577 #ifndef __SpStream_FWD_DEFINED__
    578 #define __SpStream_FWD_DEFINED__
    579 #ifdef __cplusplus
    580 typedef class SpStream SpStream;
    581 #else
    582 typedef struct SpStream SpStream;
    583 #endif /* defined __cplusplus */
    584 #endif /* defined __SpStream_FWD_DEFINED__ */
    585 
    586 #ifndef __SpVoice_FWD_DEFINED__
    587 #define __SpVoice_FWD_DEFINED__
    588 #ifdef __cplusplus
    589 typedef class SpVoice SpVoice;
    590 #else
    591 typedef struct SpVoice SpVoice;
    592 #endif /* defined __cplusplus */
    593 #endif /* defined __SpVoice_FWD_DEFINED__ */
    594 
    595 #ifndef __SpSharedRecoContext_FWD_DEFINED__
    596 #define __SpSharedRecoContext_FWD_DEFINED__
    597 #ifdef __cplusplus
    598 typedef class SpSharedRecoContext SpSharedRecoContext;
    599 #else
    600 typedef struct SpSharedRecoContext SpSharedRecoContext;
    601 #endif /* defined __cplusplus */
    602 #endif /* defined __SpSharedRecoContext_FWD_DEFINED__ */
    603 
    604 #ifndef __SpInprocRecognizer_FWD_DEFINED__
    605 #define __SpInprocRecognizer_FWD_DEFINED__
    606 #ifdef __cplusplus
    607 typedef class SpInprocRecognizer SpInprocRecognizer;
    608 #else
    609 typedef struct SpInprocRecognizer SpInprocRecognizer;
    610 #endif /* defined __cplusplus */
    611 #endif /* defined __SpInprocRecognizer_FWD_DEFINED__ */
    612 
    613 #ifndef __SpSharedRecognizer_FWD_DEFINED__
    614 #define __SpSharedRecognizer_FWD_DEFINED__
    615 #ifdef __cplusplus
    616 typedef class SpSharedRecognizer SpSharedRecognizer;
    617 #else
    618 typedef struct SpSharedRecognizer SpSharedRecognizer;
    619 #endif /* defined __cplusplus */
    620 #endif /* defined __SpSharedRecognizer_FWD_DEFINED__ */
    621 
    622 #ifndef __SpLexicon_FWD_DEFINED__
    623 #define __SpLexicon_FWD_DEFINED__
    624 #ifdef __cplusplus
    625 typedef class SpLexicon SpLexicon;
    626 #else
    627 typedef struct SpLexicon SpLexicon;
    628 #endif /* defined __cplusplus */
    629 #endif /* defined __SpLexicon_FWD_DEFINED__ */
    630 
    631 #ifndef __SpUnCompressedLexicon_FWD_DEFINED__
    632 #define __SpUnCompressedLexicon_FWD_DEFINED__
    633 #ifdef __cplusplus
    634 typedef class SpUnCompressedLexicon SpUnCompressedLexicon;
    635 #else
    636 typedef struct SpUnCompressedLexicon SpUnCompressedLexicon;
    637 #endif /* defined __cplusplus */
    638 #endif /* defined __SpUnCompressedLexicon_FWD_DEFINED__ */
    639 
    640 #ifndef __SpCompressedLexicon_FWD_DEFINED__
    641 #define __SpCompressedLexicon_FWD_DEFINED__
    642 #ifdef __cplusplus
    643 typedef class SpCompressedLexicon SpCompressedLexicon;
    644 #else
    645 typedef struct SpCompressedLexicon SpCompressedLexicon;
    646 #endif /* defined __cplusplus */
    647 #endif /* defined __SpCompressedLexicon_FWD_DEFINED__ */
    648 
    649 #ifndef __SpShortcut_FWD_DEFINED__
    650 #define __SpShortcut_FWD_DEFINED__
    651 #ifdef __cplusplus
    652 typedef class SpShortcut SpShortcut;
    653 #else
    654 typedef struct SpShortcut SpShortcut;
    655 #endif /* defined __cplusplus */
    656 #endif /* defined __SpShortcut_FWD_DEFINED__ */
    657 
    658 #ifndef __SpPhoneConverter_FWD_DEFINED__
    659 #define __SpPhoneConverter_FWD_DEFINED__
    660 #ifdef __cplusplus
    661 typedef class SpPhoneConverter SpPhoneConverter;
    662 #else
    663 typedef struct SpPhoneConverter SpPhoneConverter;
    664 #endif /* defined __cplusplus */
    665 #endif /* defined __SpPhoneConverter_FWD_DEFINED__ */
    666 
    667 #ifndef __SpPhoneticAlphabetConverter_FWD_DEFINED__
    668 #define __SpPhoneticAlphabetConverter_FWD_DEFINED__
    669 #ifdef __cplusplus
    670 typedef class SpPhoneticAlphabetConverter SpPhoneticAlphabetConverter;
    671 #else
    672 typedef struct SpPhoneticAlphabetConverter SpPhoneticAlphabetConverter;
    673 #endif /* defined __cplusplus */
    674 #endif /* defined __SpPhoneticAlphabetConverter_FWD_DEFINED__ */
    675 
    676 #ifndef __SpNullPhoneConverter_FWD_DEFINED__
    677 #define __SpNullPhoneConverter_FWD_DEFINED__
    678 #ifdef __cplusplus
    679 typedef class SpNullPhoneConverter SpNullPhoneConverter;
    680 #else
    681 typedef struct SpNullPhoneConverter SpNullPhoneConverter;
    682 #endif /* defined __cplusplus */
    683 #endif /* defined __SpNullPhoneConverter_FWD_DEFINED__ */
    684 
    685 #ifndef __SpTextSelectionInformation_FWD_DEFINED__
    686 #define __SpTextSelectionInformation_FWD_DEFINED__
    687 #ifdef __cplusplus
    688 typedef class SpTextSelectionInformation SpTextSelectionInformation;
    689 #else
    690 typedef struct SpTextSelectionInformation SpTextSelectionInformation;
    691 #endif /* defined __cplusplus */
    692 #endif /* defined __SpTextSelectionInformation_FWD_DEFINED__ */
    693 
    694 #ifndef __SpPhraseInfoBuilder_FWD_DEFINED__
    695 #define __SpPhraseInfoBuilder_FWD_DEFINED__
    696 #ifdef __cplusplus
    697 typedef class SpPhraseInfoBuilder SpPhraseInfoBuilder;
    698 #else
    699 typedef struct SpPhraseInfoBuilder SpPhraseInfoBuilder;
    700 #endif /* defined __cplusplus */
    701 #endif /* defined __SpPhraseInfoBuilder_FWD_DEFINED__ */
    702 
    703 #ifndef __SpAudioFormat_FWD_DEFINED__
    704 #define __SpAudioFormat_FWD_DEFINED__
    705 #ifdef __cplusplus
    706 typedef class SpAudioFormat SpAudioFormat;
    707 #else
    708 typedef struct SpAudioFormat SpAudioFormat;
    709 #endif /* defined __cplusplus */
    710 #endif /* defined __SpAudioFormat_FWD_DEFINED__ */
    711 
    712 #ifndef __SpWaveFormatEx_FWD_DEFINED__
    713 #define __SpWaveFormatEx_FWD_DEFINED__
    714 #ifdef __cplusplus
    715 typedef class SpWaveFormatEx SpWaveFormatEx;
    716 #else
    717 typedef struct SpWaveFormatEx SpWaveFormatEx;
    718 #endif /* defined __cplusplus */
    719 #endif /* defined __SpWaveFormatEx_FWD_DEFINED__ */
    720 
    721 #ifndef __SpInProcRecoContext_FWD_DEFINED__
    722 #define __SpInProcRecoContext_FWD_DEFINED__
    723 #ifdef __cplusplus
    724 typedef class SpInProcRecoContext SpInProcRecoContext;
    725 #else
    726 typedef struct SpInProcRecoContext SpInProcRecoContext;
    727 #endif /* defined __cplusplus */
    728 #endif /* defined __SpInProcRecoContext_FWD_DEFINED__ */
    729 
    730 #ifndef __SpCustomStream_FWD_DEFINED__
    731 #define __SpCustomStream_FWD_DEFINED__
    732 #ifdef __cplusplus
    733 typedef class SpCustomStream SpCustomStream;
    734 #else
    735 typedef struct SpCustomStream SpCustomStream;
    736 #endif /* defined __cplusplus */
    737 #endif /* defined __SpCustomStream_FWD_DEFINED__ */
    738 
    739 #ifndef __SpFileStream_FWD_DEFINED__
    740 #define __SpFileStream_FWD_DEFINED__
    741 #ifdef __cplusplus
    742 typedef class SpFileStream SpFileStream;
    743 #else
    744 typedef struct SpFileStream SpFileStream;
    745 #endif /* defined __cplusplus */
    746 #endif /* defined __SpFileStream_FWD_DEFINED__ */
    747 
    748 #ifndef __SpMemoryStream_FWD_DEFINED__
    749 #define __SpMemoryStream_FWD_DEFINED__
    750 #ifdef __cplusplus
    751 typedef class SpMemoryStream SpMemoryStream;
    752 #else
    753 typedef struct SpMemoryStream SpMemoryStream;
    754 #endif /* defined __cplusplus */
    755 #endif /* defined __SpMemoryStream_FWD_DEFINED__ */
    756 
    757 /* Headers for imported files */
    758 
    759 #include <oaidl.h>
    760 #include <ocidl.h>
    761 
    762 #ifdef __cplusplus
    763 extern "C" {
    764 #endif
    765 
    766 #ifndef _SAPI_VER
    767 #error "you have to include <sapi.h> header before this."
    768 #endif
    769 #if 0
    770 typedef struct WAVEFORMATEX {
    771     WORD wFormatTag;
    772     WORD nChannels;
    773     DWORD nSamplesPerSec;
    774     DWORD nAvgBytesPerSec;
    775     WORD nBlockAlign;
    776     WORD wBitsPerSample;
    777     WORD cbSize;
    778 } WAVEFORMATEX;
    779 #endif
    780 #ifndef __ISpNotifySource_FWD_DEFINED__
    781 #define __ISpNotifySource_FWD_DEFINED__
    782 typedef interface ISpNotifySource ISpNotifySource;
    783 #endif
    784 
    785 #ifndef __ISpNotifySink_FWD_DEFINED__
    786 #define __ISpNotifySink_FWD_DEFINED__
    787 typedef interface ISpNotifySink ISpNotifySink;
    788 #endif
    789 
    790 #ifndef __ISpNotifyTranslator_FWD_DEFINED__
    791 #define __ISpNotifyTranslator_FWD_DEFINED__
    792 typedef interface ISpNotifyTranslator ISpNotifyTranslator;
    793 #endif
    794 
    795 #ifndef __ISpDataKey_FWD_DEFINED__
    796 #define __ISpDataKey_FWD_DEFINED__
    797 typedef interface ISpDataKey ISpDataKey;
    798 #endif
    799 
    800 #ifndef __ISpObjectTokenCategory_FWD_DEFINED__
    801 #define __ISpObjectTokenCategory_FWD_DEFINED__
    802 typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
    803 #endif
    804 
    805 #ifndef __ISpObjectToken_FWD_DEFINED__
    806 #define __ISpObjectToken_FWD_DEFINED__
    807 typedef interface ISpObjectToken ISpObjectToken;
    808 #endif
    809 
    810 #ifndef __IEnumSpObjectTokens_FWD_DEFINED__
    811 #define __IEnumSpObjectTokens_FWD_DEFINED__
    812 typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
    813 #endif
    814 
    815 #ifndef __ISpObjectWithToken_FWD_DEFINED__
    816 #define __ISpObjectWithToken_FWD_DEFINED__
    817 typedef interface ISpObjectWithToken ISpObjectWithToken;
    818 #endif
    819 
    820 #ifndef __ISpResourceManager_FWD_DEFINED__
    821 #define __ISpResourceManager_FWD_DEFINED__
    822 typedef interface ISpResourceManager ISpResourceManager;
    823 #endif
    824 
    825 #ifndef __ISpEventSource_FWD_DEFINED__
    826 #define __ISpEventSource_FWD_DEFINED__
    827 typedef interface ISpEventSource ISpEventSource;
    828 #endif
    829 
    830 #ifndef __ISpEventSink_FWD_DEFINED__
    831 #define __ISpEventSink_FWD_DEFINED__
    832 typedef interface ISpEventSink ISpEventSink;
    833 #endif
    834 
    835 #ifndef __ISpStreamFormat_FWD_DEFINED__
    836 #define __ISpStreamFormat_FWD_DEFINED__
    837 typedef interface ISpStreamFormat ISpStreamFormat;
    838 #endif
    839 
    840 #ifndef __ISpStream_FWD_DEFINED__
    841 #define __ISpStream_FWD_DEFINED__
    842 typedef interface ISpStream ISpStream;
    843 #endif
    844 
    845 #ifndef __ISpStreamFormatConverter_FWD_DEFINED__
    846 #define __ISpStreamFormatConverter_FWD_DEFINED__
    847 typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
    848 #endif
    849 
    850 #ifndef __ISpAudio_FWD_DEFINED__
    851 #define __ISpAudio_FWD_DEFINED__
    852 typedef interface ISpAudio ISpAudio;
    853 #endif
    854 
    855 #ifndef __ISpMMSysAudio_FWD_DEFINED__
    856 #define __ISpMMSysAudio_FWD_DEFINED__
    857 typedef interface ISpMMSysAudio ISpMMSysAudio;
    858 #endif
    859 
    860 #ifndef __ISpTranscript_FWD_DEFINED__
    861 #define __ISpTranscript_FWD_DEFINED__
    862 typedef interface ISpTranscript ISpTranscript;
    863 #endif
    864 
    865 #ifndef __ISpVoice_FWD_DEFINED__
    866 #define __ISpVoice_FWD_DEFINED__
    867 typedef interface ISpVoice ISpVoice;
    868 #endif
    869 
    870 #ifndef __ISpRecoResult_FWD_DEFINED__
    871 #define __ISpRecoResult_FWD_DEFINED__
    872 typedef interface ISpRecoResult ISpRecoResult;
    873 #endif
    874 
    875 #ifndef __ISpRecoContext_FWD_DEFINED__
    876 #define __ISpRecoContext_FWD_DEFINED__
    877 typedef interface ISpRecoContext ISpRecoContext;
    878 #endif
    879 
    880 #ifndef __ISpRecognizer_FWD_DEFINED__
    881 #define __ISpRecognizer_FWD_DEFINED__
    882 typedef interface ISpRecognizer ISpRecognizer;
    883 #endif
    884 
    885 #ifndef __ISpProperties_FWD_DEFINED__
    886 #define __ISpProperties_FWD_DEFINED__
    887 typedef interface ISpProperties ISpProperties;
    888 #endif
    889 
    890 #ifndef __ISpLexicon_FWD_DEFINED__
    891 #define __ISpLexicon_FWD_DEFINED__
    892 typedef interface ISpLexicon ISpLexicon;
    893 #endif
    894 
    895 #ifndef __ISpPhoneConverter_FWD_DEFINED__
    896 #define __ISpPhoneConverter_FWD_DEFINED__
    897 typedef interface ISpPhoneConverter ISpPhoneConverter;
    898 #endif
    899 
    900 #ifndef __ISpPhrase_FWD_DEFINED__
    901 #define __ISpPhrase_FWD_DEFINED__
    902 typedef interface ISpPhrase ISpPhrase;
    903 #endif
    904 
    905 #ifndef __ISpRecoContext2_FWD_DEFINED__
    906 #define __ISpRecoContext2_FWD_DEFINED__
    907 typedef interface ISpRecoContext2 ISpRecoContext2;
    908 #endif
    909 
    910 #ifndef __ISpRecognizer2_FWD_DEFINED__
    911 #define __ISpRecognizer2_FWD_DEFINED__
    912 typedef interface ISpRecognizer2 ISpRecognizer2;
    913 #endif
    914 
    915 #ifndef __ISpShortcut_FWD_DEFINED__
    916 #define __ISpShortcut_FWD_DEFINED__
    917 typedef interface ISpShortcut ISpShortcut;
    918 #endif
    919 
    920 #ifndef __ISpPhoneticAlphabetConverter_FWD_DEFINED__
    921 #define __ISpPhoneticAlphabetConverter_FWD_DEFINED__
    922 typedef interface ISpPhoneticAlphabetConverter ISpPhoneticAlphabetConverter;
    923 #endif
    924 
    925 #ifndef __ISpPhoneticAlphabetSelection_FWD_DEFINED__
    926 #define __ISpPhoneticAlphabetSelection_FWD_DEFINED__
    927 typedef interface ISpPhoneticAlphabetSelection ISpPhoneticAlphabetSelection;
    928 #endif
    929 
    930 #ifndef __ISpRecoGrammar2_FWD_DEFINED__
    931 #define __ISpRecoGrammar2_FWD_DEFINED__
    932 typedef interface ISpRecoGrammar2 ISpRecoGrammar2;
    933 #endif
    934 
    935 #ifndef __ISpeechResourceLoader_FWD_DEFINED__
    936 #define __ISpeechResourceLoader_FWD_DEFINED__
    937 typedef interface ISpeechResourceLoader ISpeechResourceLoader;
    938 #endif
    939 
    940 typedef enum SPDATAKEYLOCATION {
    941     SPDKL_DefaultLocation = 0,
    942     SPDKL_CurrentUser = 1,
    943     SPDKL_LocalMachine = 2,
    944     SPDKL_CurrentConfig = 5
    945 } SPDATAKEYLOCATION;
    946 typedef enum SPSTREAMFORMAT {
    947     SPSF_Default = -1,
    948     SPSF_NoAssignedFormat = 0,
    949     SPSF_Text = 1,
    950     SPSF_NonStandardFormat = 2,
    951     SPSF_ExtendedAudioFormat = 3,
    952     SPSF_8kHz8BitMono = 4,
    953     SPSF_8kHz8BitStereo = 5,
    954     SPSF_8kHz16BitMono = 6,
    955     SPSF_8kHz16BitStereo = 7,
    956     SPSF_11kHz8BitMono = 8,
    957     SPSF_11kHz8BitStereo = 9,
    958     SPSF_11kHz16BitMono = 10,
    959     SPSF_11kHz16BitStereo = 11,
    960     SPSF_12kHz8BitMono = 12,
    961     SPSF_12kHz8BitStereo = 13,
    962     SPSF_12kHz16BitMono = 14,
    963     SPSF_12kHz16BitStereo = 15,
    964     SPSF_16kHz8BitMono = 16,
    965     SPSF_16kHz8BitStereo = 17,
    966     SPSF_16kHz16BitMono = 18,
    967     SPSF_16kHz16BitStereo = 19,
    968     SPSF_22kHz8BitMono = 20,
    969     SPSF_22kHz8BitStereo = 21,
    970     SPSF_22kHz16BitMono = 22,
    971     SPSF_22kHz16BitStereo = 23,
    972     SPSF_24kHz8BitMono = 24,
    973     SPSF_24kHz8BitStereo = 25,
    974     SPSF_24kHz16BitMono = 26,
    975     SPSF_24kHz16BitStereo = 27,
    976     SPSF_32kHz8BitMono = 28,
    977     SPSF_32kHz8BitStereo = 29,
    978     SPSF_32kHz16BitMono = 30,
    979     SPSF_32kHz16BitStereo = 31,
    980     SPSF_44kHz8BitMono = 32,
    981     SPSF_44kHz8BitStereo = 33,
    982     SPSF_44kHz16BitMono = 34,
    983     SPSF_44kHz16BitStereo = 35,
    984     SPSF_48kHz8BitMono = 36,
    985     SPSF_48kHz8BitStereo = 37,
    986     SPSF_48kHz16BitMono = 38,
    987     SPSF_48kHz16BitStereo = 39,
    988     SPSF_TrueSpeech_8kHz1BitMono = 40,
    989     SPSF_CCITT_ALaw_8kHzMono = 41,
    990     SPSF_CCITT_ALaw_8kHzStereo = 42,
    991     SPSF_CCITT_ALaw_11kHzMono = 43,
    992     SPSF_CCITT_ALaw_11kHzStereo = 44,
    993     SPSF_CCITT_ALaw_22kHzMono = 45,
    994     SPSF_CCITT_ALaw_22kHzStereo = 46,
    995     SPSF_CCITT_ALaw_44kHzMono = 47,
    996     SPSF_CCITT_ALaw_44kHzStereo = 48,
    997     SPSF_CCITT_uLaw_8kHzMono = 49,
    998     SPSF_CCITT_uLaw_8kHzStereo = 50,
    999     SPSF_CCITT_uLaw_11kHzMono = 51,
   1000     SPSF_CCITT_uLaw_11kHzStereo = 52,
   1001     SPSF_CCITT_uLaw_22kHzMono = 53,
   1002     SPSF_CCITT_uLaw_22kHzStereo = 54,
   1003     SPSF_CCITT_uLaw_44kHzMono = 55,
   1004     SPSF_CCITT_uLaw_44kHzStereo = 56,
   1005     SPSF_ADPCM_8kHzMono = 57,
   1006     SPSF_ADPCM_8kHzStereo = 58,
   1007     SPSF_ADPCM_11kHzMono = 59,
   1008     SPSF_ADPCM_11kHzStereo = 60,
   1009     SPSF_ADPCM_22kHzMono = 61,
   1010     SPSF_ADPCM_22kHzStereo = 62,
   1011     SPSF_ADPCM_44kHzMono = 63,
   1012     SPSF_ADPCM_44kHzStereo = 64,
   1013     SPSF_GSM610_8kHzMono = 65,
   1014     SPSF_GSM610_11kHzMono = 66,
   1015     SPSF_GSM610_22kHzMono = 67,
   1016     SPSF_GSM610_44kHzMono = 68,
   1017     SPSF_NUM_FORMATS = 69
   1018 } SPSTREAMFORMAT;
   1019 typedef enum SPEVENTLPARAMTYPE {
   1020     SPET_LPARAM_IS_UNDEFINED = 0,
   1021     SPET_LPARAM_IS_TOKEN = 1,
   1022     SPET_LPARAM_IS_OBJECT = 2,
   1023     SPET_LPARAM_IS_POINTER = 3,
   1024     SPET_LPARAM_IS_STRING = 4
   1025 } SPEVENTLPARAMTYPE;
   1026 typedef enum SPEVENTENUM {
   1027     SPEI_UNDEFINED = 0,
   1028     SPEI_START_INPUT_STREAM = 1,
   1029     SPEI_END_INPUT_STREAM = 2,
   1030     SPEI_VOICE_CHANGE = 3,
   1031     SPEI_TTS_BOOKMARK = 4,
   1032     SPEI_WORD_BOUNDARY = 5,
   1033     SPEI_PHONEME = 6,
   1034     SPEI_SENTENCE_BOUNDARY = 7,
   1035     SPEI_VISEME = 8,
   1036     SPEI_TTS_AUDIO_LEVEL = 9,
   1037     SPEI_TTS_PRIVATE = 15,
   1038     SPEI_MIN_TTS = 1,
   1039     SPEI_MAX_TTS = 15,
   1040     SPEI_END_SR_STREAM = 34,
   1041     SPEI_SOUND_START = 35,
   1042     SPEI_SOUND_END = 36,
   1043     SPEI_PHRASE_START = 37,
   1044     SPEI_RECOGNITION = 38,
   1045     SPEI_HYPOTHESIS = 39,
   1046     SPEI_SR_BOOKMARK = 40,
   1047     SPEI_PROPERTY_NUM_CHANGE = 41,
   1048     SPEI_PROPERTY_STRING_CHANGE = 42,
   1049     SPEI_FALSE_RECOGNITION = 43,
   1050     SPEI_INTERFERENCE = 44,
   1051     SPEI_REQUEST_UI = 45,
   1052     SPEI_RECO_STATE_CHANGE = 46,
   1053     SPEI_ADAPTATION = 47,
   1054     SPEI_START_SR_STREAM = 48,
   1055     SPEI_RECO_OTHER_CONTEXT = 49,
   1056     SPEI_SR_AUDIO_LEVEL = 50,
   1057     SPEI_SR_RETAINEDAUDIO = 51,
   1058     SPEI_SR_PRIVATE = 52,
   1059     SPEI_RESERVED4 = 53,
   1060     SPEI_RESERVED5 = 54,
   1061     SPEI_RESERVED6 = 55,
   1062     SPEI_MIN_SR = 34,
   1063     SPEI_MAX_SR = 55,
   1064     SPEI_RESERVED1 = 30,
   1065     SPEI_RESERVED2 = 33,
   1066     SPEI_RESERVED3 = 63
   1067 } SPEVENTENUM;
   1068 typedef enum SPINTERFERENCE {
   1069     SPINTERFERENCE_NONE = 0,
   1070     SPINTERFERENCE_NOISE = 1,
   1071     SPINTERFERENCE_NOSIGNAL = 2,
   1072     SPINTERFERENCE_TOOLOUD = 3,
   1073     SPINTERFERENCE_TOOQUIET = 4,
   1074     SPINTERFERENCE_TOOFAST = 5,
   1075     SPINTERFERENCE_TOOSLOW = 6,
   1076     SPINTERFERENCE_LATENCY_WARNING = 7,
   1077     SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN = 8,
   1078     SPINTERFERENCE_LATENCY_TRUNCATE_END = 9
   1079 } SPINTERFERENCE;
   1080 typedef enum SPENDSRSTREAMFLAGS {
   1081     SPESF_NONE = 0,
   1082     SPESF_STREAM_RELEASED = 1,
   1083     SPESF_EMULATED = 2
   1084 } SPENDSRSTREAMFLAGS;
   1085 typedef enum SPVFEATURE {
   1086     SPVFEATURE_STRESSED = 1,
   1087     SPVFEATURE_EMPHASIS = 2
   1088 } SPVFEATURE;
   1089 typedef enum SPVISEMES {
   1090     SP_VISEME_0 = 0,
   1091     SP_VISEME_1 = 1,
   1092     SP_VISEME_2 = 2,
   1093     SP_VISEME_3 = 3,
   1094     SP_VISEME_4 = 4,
   1095     SP_VISEME_5 = 5,
   1096     SP_VISEME_6 = 6,
   1097     SP_VISEME_7 = 7,
   1098     SP_VISEME_8 = 8,
   1099     SP_VISEME_9 = 9,
   1100     SP_VISEME_10 = 10,
   1101     SP_VISEME_11 = 11,
   1102     SP_VISEME_12 = 12,
   1103     SP_VISEME_13 = 13,
   1104     SP_VISEME_14 = 14,
   1105     SP_VISEME_15 = 15,
   1106     SP_VISEME_16 = 16,
   1107     SP_VISEME_17 = 17,
   1108     SP_VISEME_18 = 18,
   1109     SP_VISEME_19 = 19,
   1110     SP_VISEME_20 = 20,
   1111     SP_VISEME_21 = 21
   1112 } SPVISEMES;
   1113 typedef enum SPFILEMODE {
   1114     SPFM_OPEN_READONLY = 0,
   1115     SPFM_OPEN_READWRITE = 1,
   1116     SPFM_CREATE = 2,
   1117     SPFM_CREATE_ALWAYS = 3,
   1118     SPFM_NUM_MODES = 4
   1119 } SPFILEMODE;
   1120 typedef enum _SPAUDIOSTATE {
   1121     SPAS_CLOSED = 0,
   1122     SPAS_STOP = 1,
   1123     SPAS_PAUSE = 2,
   1124     SPAS_RUN = 3
   1125 } SPAUDIOSTATE;
   1126 typedef enum SPDISPLYATTRIBUTES {
   1127     SPAF_ONE_TRAILING_SPACE = 0x2,
   1128     SPAF_TWO_TRAILING_SPACES = 0x4,
   1129     SPAF_CONSUME_LEADING_SPACES = 0x8,
   1130     SPAF_BUFFER_POSITION = 0x10,
   1131     SPAF_ALL = 0x1f,
   1132     SPAF_USER_SPECIFIED = 0x80
   1133 } SPDISPLAYATTRIBUTES;
   1134 typedef enum SPPHRASEPROPERTYUNIONTYPE {
   1135     SPPPUT_UNUSED = 0,
   1136     SPPPUT_ARRAY_INDEX = 1
   1137 } SPPHRASEPROPERTYUNIONTYPE;
   1138 typedef enum SPSEMANTICFORMAT {
   1139     SPSMF_SAPI_PROPERTIES = 0,
   1140     SPSMF_SRGS_SEMANTICINTERPRETATION_MS = 1,
   1141     SPSMF_SRGS_SAPIPROPERTIES = 2,
   1142     SPSMF_UPS = 4,
   1143     SPSMF_SRGS_SEMANTICINTERPRETATION_W3C = 8
   1144 } SPSEMANTICFORMAT;
   1145 typedef enum SPRECOEVENTFLAGS {
   1146     SPREF_AutoPause = 0x1,
   1147     SPREF_Emulated = 0x2,
   1148     SPREF_SMLTimeout = 0x4,
   1149     SPREF_ExtendableParse = 0x8,
   1150     SPREF_ReSent = 0x10,
   1151     SPREF_Hypothesis = 0x20,
   1152     SPREF_FalseRecognition = 0x40
   1153 } SPRECOEVENTFLAGS;
   1154 typedef enum SPPARTOFSPEECH {
   1155     SPPS_NotOverriden = -1,
   1156     SPPS_Unknown = 0,
   1157     SPPS_Noun = 0x1000,
   1158     SPPS_Verb = 0x2000,
   1159     SPPS_Modifier = 0x3000,
   1160     SPPS_Function = 0x4000,
   1161     SPPS_Interjection = 0x5000,
   1162     SPPS_Noncontent = 0x6000,
   1163     SPPS_LMA = 0x7000,
   1164     SPPS_SuppressWord = 0xf000
   1165 } SPPARTOFSPEECH;
   1166 typedef enum SPLEXICONTYPE {
   1167     eLEXTYPE_USER = 0x1,
   1168     eLEXTYPE_APP = 0x2,
   1169     eLEXTYPE_VENDORLEXICON = 0x4,
   1170     eLEXTYPE_LETTERTOSOUND = 0x8,
   1171     eLEXTYPE_MORPHOLOGY = 0x10,
   1172     eLEXTYPE_RESERVED4 = 0x20,
   1173     eLEXTYPE_USER_SHORTCUT = 0x40,
   1174     eLEXTYPE_RESERVED6 = 0x80,
   1175     eLEXTYPE_RESERVED7 = 0x100,
   1176     eLEXTYPE_RESERVED8 = 0x200,
   1177     eLEXTYPE_RESERVED9 = 0x400,
   1178     eLEXTYPE_RESERVED10 = 0x800,
   1179     eLEXTYPE_PRIVATE1 = 0x1000,
   1180     eLEXTYPE_PRIVATE2 = 0x2000,
   1181     eLEXTYPE_PRIVATE3 = 0x4000,
   1182     eLEXTYPE_PRIVATE4 = 0x8000,
   1183     eLEXTYPE_PRIVATE5 = 0x10000,
   1184     eLEXTYPE_PRIVATE6 = 0x20000,
   1185     eLEXTYPE_PRIVATE7 = 0x40000,
   1186     eLEXTYPE_PRIVATE8 = 0x80000,
   1187     eLEXTYPE_PRIVATE9 = 0x100000,
   1188     eLEXTYPE_PRIVATE10 = 0x200000,
   1189     eLEXTYPE_PRIVATE11 = 0x400000,
   1190     eLEXTYPE_PRIVATE12 = 0x800000,
   1191     eLEXTYPE_PRIVATE13 = 0x1000000,
   1192     eLEXTYPE_PRIVATE14 = 0x2000000,
   1193     eLEXTYPE_PRIVATE15 = 0x4000000,
   1194     eLEXTYPE_PRIVATE16 = 0x8000000,
   1195     eLEXTYPE_PRIVATE17 = 0x10000000,
   1196     eLEXTYPE_PRIVATE18 = 0x20000000,
   1197     eLEXTYPE_PRIVATE19 = 0x40000000,
   1198     eLEXTYPE_PRIVATE20 = 0x80000000
   1199 } SPLEXICONTYPE;
   1200 typedef enum SPWORDTYPE {
   1201     eWORDTYPE_ADDED = 1,
   1202     eWORDTYPE_DELETED = 2
   1203 } SPWORDTYPE;
   1204 typedef enum SPPRONUNCIATIONFLAGS {
   1205     ePRONFLAG_USED = 1
   1206 } SPPRONUNCIATIONFLAGS;
   1207 typedef enum SPSHORTCUTTYPE {
   1208     SPSHT_NotOverriden = -1,
   1209     SPSHT_Unknown = 0,
   1210     SPSHT_EMAIL = 0x1000,
   1211     SPSHT_OTHER = 0x2000,
   1212     SPPS_RESERVED1 = 0x3000,
   1213     SPPS_RESERVED2 = 0x4000,
   1214     SPPS_RESERVED3 = 0x5000,
   1215     SPPS_RESERVED4 = 0xf000
   1216 } SPSHORTCUTTYPE;
   1217 typedef enum SPVALUETYPE {
   1218     SPDF_PROPERTY = 0x1,
   1219     SPDF_REPLACEMENT = 0x2,
   1220     SPDF_RULE = 0x4,
   1221     SPDF_DISPLAYTEXT = 0x8,
   1222     SPDF_LEXICALFORM = 0x10,
   1223     SPDF_PRONUNCIATION = 0x20,
   1224     SPDF_AUDIO = 0x40,
   1225     SPDF_ALTERNATES = 0x80,
   1226     SPDF_ALL = 0xff
   1227 } SPVALUETYPE;
   1228 typedef enum SPPHRASERNG {
   1229     SPPR_ALL_ELEMENTS = -1
   1230 } SPPHRASERNG;
   1231 typedef enum SPVACTIONS {
   1232     SPVA_Speak = 0,
   1233     SPVA_Silence = 1,
   1234     SPVA_Pronounce = 2,
   1235     SPVA_Bookmark = 3,
   1236     SPVA_SpellOut = 4,
   1237     SPVA_Section = 5,
   1238     SPVA_ParseUnknownTag = 6
   1239 } SPVACTIONS;
   1240 typedef enum SPRUNSTATE {
   1241     SPRS_DONE = 1,
   1242     SPRS_IS_SPEAKING = 2
   1243 } SPRUNSTATE;
   1244 typedef enum SPVLIMITS {
   1245     SPMIN_VOLUME = 0,
   1246     SPMAX_VOLUME = 100,
   1247     SPMIN_RATE = -10,
   1248     SPMAX_RATE = 10
   1249 } SPVLIMITS;
   1250 typedef enum SPVPRIORITY {
   1251     SPVPRI_NORMAL = 0,
   1252     SPVPRI_ALERT = 1,
   1253     SPVPRI_OVER = 2
   1254 } SPVPRIORITY;
   1255 EXTERN_C const GUID SPDFID_Text;
   1256 EXTERN_C const GUID SPDFID_WaveFormatEx;
   1257 
   1258 #define SP_LOW_CONFIDENCE (-1)
   1259 
   1260 #define SP_NORMAL_CONFIDENCE (0)
   1261 
   1262 #define SP_HIGH_CONFIDENCE (+1)
   1263 
   1264 #define DEFAULT_WEIGHT (1)
   1265 
   1266 #define SP_MAX_WORD_LENGTH (128)
   1267 
   1268 #define SP_MAX_PRON_LENGTH (384)
   1269 
   1270 #define SP_EMULATE_RESULT (0x40000000)
   1271 
   1272 
   1273 #ifdef __cplusplus
   1274 interface ISpNotifyCallback {
   1275   virtual HRESULT STDMETHODCALLTYPE NotifyCallback(WPARAM wParam, LPARAM lParam) = 0;
   1276 };
   1277 #else
   1278 typedef void *ISpNotifyCallback;
   1279 #endif
   1280 #if 0
   1281 typedef void *SPNOTIFYCALLBACK;
   1282 #else
   1283 typedef void __stdcall SPNOTIFYCALLBACK(WPARAM wParam, LPARAM lParam);
   1284 #endif
   1285 /*****************************************************************************
   1286  * ISpNotifySource interface
   1287  */
   1288 #ifndef __ISpNotifySource_INTERFACE_DEFINED__
   1289 #define __ISpNotifySource_INTERFACE_DEFINED__
   1290 
   1291 DEFINE_GUID(IID_ISpNotifySource, 0x5eff4aef, 0x8487, 0x11d2, 0x96,0x1c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   1292 #if defined(__cplusplus) && !defined(CINTERFACE)
   1293 MIDL_INTERFACE("5eff4aef-8487-11d2-961c-00c04f8ee628")
   1294 ISpNotifySource : public IUnknown
   1295 {
   1296     virtual HRESULT STDMETHODCALLTYPE SetNotifySink(
   1297         ISpNotifySink *pNotifySink) = 0;
   1298 
   1299     virtual HRESULT STDMETHODCALLTYPE SetNotifyWindowMessage(
   1300         HWND hWnd,
   1301         UINT Msg,
   1302         WPARAM wParam,
   1303         LPARAM lParam) = 0;
   1304 
   1305     virtual HRESULT STDMETHODCALLTYPE SetNotifyCallbackFunction(
   1306         SPNOTIFYCALLBACK *pfnCallback,
   1307         WPARAM wParam,
   1308         LPARAM lParam) = 0;
   1309 
   1310     virtual HRESULT STDMETHODCALLTYPE SetNotifyCallbackInterface(
   1311         ISpNotifyCallback *pSpCallback,
   1312         WPARAM wParam,
   1313         LPARAM lParam) = 0;
   1314 
   1315     virtual HRESULT STDMETHODCALLTYPE SetNotifyWin32Event(
   1316         ) = 0;
   1317 
   1318     virtual HRESULT STDMETHODCALLTYPE WaitForNotifyEvent(
   1319         DWORD dwMilliseconds) = 0;
   1320 
   1321     virtual HANDLE STDMETHODCALLTYPE GetNotifyEventHandle(
   1322         ) = 0;
   1323 
   1324 };
   1325 #ifdef __CRT_UUID_DECL
   1326 __CRT_UUID_DECL(ISpNotifySource, 0x5eff4aef, 0x8487, 0x11d2, 0x96,0x1c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   1327 #endif
   1328 #else
   1329 typedef struct ISpNotifySourceVtbl {
   1330     BEGIN_INTERFACE
   1331 
   1332     /*** IUnknown methods ***/
   1333     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1334         ISpNotifySource* This,
   1335         REFIID riid,
   1336         void **ppvObject);
   1337 
   1338     ULONG (STDMETHODCALLTYPE *AddRef)(
   1339         ISpNotifySource* This);
   1340 
   1341     ULONG (STDMETHODCALLTYPE *Release)(
   1342         ISpNotifySource* This);
   1343 
   1344     /*** ISpNotifySource methods ***/
   1345     HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
   1346         ISpNotifySource* This,
   1347         ISpNotifySink *pNotifySink);
   1348 
   1349     HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
   1350         ISpNotifySource* This,
   1351         HWND hWnd,
   1352         UINT Msg,
   1353         WPARAM wParam,
   1354         LPARAM lParam);
   1355 
   1356     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
   1357         ISpNotifySource* This,
   1358         SPNOTIFYCALLBACK *pfnCallback,
   1359         WPARAM wParam,
   1360         LPARAM lParam);
   1361 
   1362     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
   1363         ISpNotifySource* This,
   1364         ISpNotifyCallback *pSpCallback,
   1365         WPARAM wParam,
   1366         LPARAM lParam);
   1367 
   1368     HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
   1369         ISpNotifySource* This);
   1370 
   1371     HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
   1372         ISpNotifySource* This,
   1373         DWORD dwMilliseconds);
   1374 
   1375     HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
   1376         ISpNotifySource* This);
   1377 
   1378     END_INTERFACE
   1379 } ISpNotifySourceVtbl;
   1380 interface ISpNotifySource {
   1381     CONST_VTBL ISpNotifySourceVtbl* lpVtbl;
   1382 };
   1383 
   1384 #ifdef COBJMACROS
   1385 #ifndef WIDL_C_INLINE_WRAPPERS
   1386 /*** IUnknown methods ***/
   1387 #define ISpNotifySource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1388 #define ISpNotifySource_AddRef(This) (This)->lpVtbl->AddRef(This)
   1389 #define ISpNotifySource_Release(This) (This)->lpVtbl->Release(This)
   1390 /*** ISpNotifySource methods ***/
   1391 #define ISpNotifySource_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
   1392 #define ISpNotifySource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
   1393 #define ISpNotifySource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
   1394 #define ISpNotifySource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
   1395 #define ISpNotifySource_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
   1396 #define ISpNotifySource_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
   1397 #define ISpNotifySource_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
   1398 #else
   1399 /*** IUnknown methods ***/
   1400 static FORCEINLINE HRESULT ISpNotifySource_QueryInterface(ISpNotifySource* This,REFIID riid,void **ppvObject) {
   1401     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1402 }
   1403 static FORCEINLINE ULONG ISpNotifySource_AddRef(ISpNotifySource* This) {
   1404     return This->lpVtbl->AddRef(This);
   1405 }
   1406 static FORCEINLINE ULONG ISpNotifySource_Release(ISpNotifySource* This) {
   1407     return This->lpVtbl->Release(This);
   1408 }
   1409 /*** ISpNotifySource methods ***/
   1410 static FORCEINLINE HRESULT ISpNotifySource_SetNotifySink(ISpNotifySource* This,ISpNotifySink *pNotifySink) {
   1411     return This->lpVtbl->SetNotifySink(This,pNotifySink);
   1412 }
   1413 static FORCEINLINE HRESULT ISpNotifySource_SetNotifyWindowMessage(ISpNotifySource* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
   1414     return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
   1415 }
   1416 static FORCEINLINE HRESULT ISpNotifySource_SetNotifyCallbackFunction(ISpNotifySource* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
   1417     return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
   1418 }
   1419 static FORCEINLINE HRESULT ISpNotifySource_SetNotifyCallbackInterface(ISpNotifySource* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
   1420     return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
   1421 }
   1422 static FORCEINLINE HRESULT ISpNotifySource_SetNotifyWin32Event(ISpNotifySource* This) {
   1423     return This->lpVtbl->SetNotifyWin32Event(This);
   1424 }
   1425 static FORCEINLINE HRESULT ISpNotifySource_WaitForNotifyEvent(ISpNotifySource* This,DWORD dwMilliseconds) {
   1426     return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
   1427 }
   1428 static FORCEINLINE HANDLE ISpNotifySource_GetNotifyEventHandle(ISpNotifySource* This) {
   1429     return This->lpVtbl->GetNotifyEventHandle(This);
   1430 }
   1431 #endif
   1432 #endif
   1433 
   1434 #endif
   1435 
   1436 HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifySink_Proxy(
   1437     ISpNotifySource* This,
   1438     ISpNotifySink *pNotifySink);
   1439 void __RPC_STUB ISpNotifySource_SetNotifySink_Stub(
   1440     IRpcStubBuffer* This,
   1441     IRpcChannelBuffer* pRpcChannelBuffer,
   1442     PRPC_MESSAGE pRpcMessage,
   1443     DWORD* pdwStubPhase);
   1444 
   1445 #endif  /* __ISpNotifySource_INTERFACE_DEFINED__ */
   1446 
   1447 /*****************************************************************************
   1448  * ISpNotifySink interface
   1449  */
   1450 #ifndef __ISpNotifySink_INTERFACE_DEFINED__
   1451 #define __ISpNotifySink_INTERFACE_DEFINED__
   1452 
   1453 DEFINE_GUID(IID_ISpNotifySink, 0x259684dc, 0x37c3, 0x11d2, 0x96,0x03, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   1454 #if defined(__cplusplus) && !defined(CINTERFACE)
   1455 MIDL_INTERFACE("259684dc-37c3-11d2-9603-00c04f8ee628")
   1456 ISpNotifySink : public IUnknown
   1457 {
   1458     virtual HRESULT STDMETHODCALLTYPE Notify(
   1459         ) = 0;
   1460 
   1461 };
   1462 #ifdef __CRT_UUID_DECL
   1463 __CRT_UUID_DECL(ISpNotifySink, 0x259684dc, 0x37c3, 0x11d2, 0x96,0x03, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   1464 #endif
   1465 #else
   1466 typedef struct ISpNotifySinkVtbl {
   1467     BEGIN_INTERFACE
   1468 
   1469     /*** IUnknown methods ***/
   1470     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1471         ISpNotifySink* This,
   1472         REFIID riid,
   1473         void **ppvObject);
   1474 
   1475     ULONG (STDMETHODCALLTYPE *AddRef)(
   1476         ISpNotifySink* This);
   1477 
   1478     ULONG (STDMETHODCALLTYPE *Release)(
   1479         ISpNotifySink* This);
   1480 
   1481     /*** ISpNotifySink methods ***/
   1482     HRESULT (STDMETHODCALLTYPE *Notify)(
   1483         ISpNotifySink* This);
   1484 
   1485     END_INTERFACE
   1486 } ISpNotifySinkVtbl;
   1487 interface ISpNotifySink {
   1488     CONST_VTBL ISpNotifySinkVtbl* lpVtbl;
   1489 };
   1490 
   1491 #ifdef COBJMACROS
   1492 #ifndef WIDL_C_INLINE_WRAPPERS
   1493 /*** IUnknown methods ***/
   1494 #define ISpNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1495 #define ISpNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
   1496 #define ISpNotifySink_Release(This) (This)->lpVtbl->Release(This)
   1497 /*** ISpNotifySink methods ***/
   1498 #define ISpNotifySink_Notify(This) (This)->lpVtbl->Notify(This)
   1499 #else
   1500 /*** IUnknown methods ***/
   1501 static FORCEINLINE HRESULT ISpNotifySink_QueryInterface(ISpNotifySink* This,REFIID riid,void **ppvObject) {
   1502     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1503 }
   1504 static FORCEINLINE ULONG ISpNotifySink_AddRef(ISpNotifySink* This) {
   1505     return This->lpVtbl->AddRef(This);
   1506 }
   1507 static FORCEINLINE ULONG ISpNotifySink_Release(ISpNotifySink* This) {
   1508     return This->lpVtbl->Release(This);
   1509 }
   1510 /*** ISpNotifySink methods ***/
   1511 static FORCEINLINE HRESULT ISpNotifySink_Notify(ISpNotifySink* This) {
   1512     return This->lpVtbl->Notify(This);
   1513 }
   1514 #endif
   1515 #endif
   1516 
   1517 #endif
   1518 
   1519 HRESULT STDMETHODCALLTYPE ISpNotifySink_Notify_Proxy(
   1520     ISpNotifySink* This);
   1521 void __RPC_STUB ISpNotifySink_Notify_Stub(
   1522     IRpcStubBuffer* This,
   1523     IRpcChannelBuffer* pRpcChannelBuffer,
   1524     PRPC_MESSAGE pRpcMessage,
   1525     DWORD* pdwStubPhase);
   1526 
   1527 #endif  /* __ISpNotifySink_INTERFACE_DEFINED__ */
   1528 
   1529 /*****************************************************************************
   1530  * ISpNotifyTranslator interface
   1531  */
   1532 #ifndef __ISpNotifyTranslator_INTERFACE_DEFINED__
   1533 #define __ISpNotifyTranslator_INTERFACE_DEFINED__
   1534 
   1535 DEFINE_GUID(IID_ISpNotifyTranslator, 0xaca16614, 0x5d3d, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   1536 #if defined(__cplusplus) && !defined(CINTERFACE)
   1537 MIDL_INTERFACE("aca16614-5d3d-11d2-960e-00c04f8ee628")
   1538 ISpNotifyTranslator : public ISpNotifySink
   1539 {
   1540     virtual HRESULT STDMETHODCALLTYPE InitWindowMessage(
   1541         HWND hWnd,
   1542         UINT Msg,
   1543         WPARAM wParam,
   1544         LPARAM lParam) = 0;
   1545 
   1546     virtual HRESULT STDMETHODCALLTYPE InitCallback(
   1547         SPNOTIFYCALLBACK *pfnCallback,
   1548         WPARAM wParam,
   1549         LPARAM lParam) = 0;
   1550 
   1551     virtual HRESULT STDMETHODCALLTYPE InitSpNotifyCallback(
   1552         ISpNotifyCallback *pSpCallback,
   1553         WPARAM wParam,
   1554         LPARAM lParam) = 0;
   1555 
   1556     virtual HRESULT STDMETHODCALLTYPE InitWin32Event(
   1557         HANDLE hEvent,
   1558         WINBOOL fCloseHandleOnRelease) = 0;
   1559 
   1560     virtual HRESULT STDMETHODCALLTYPE Wait(
   1561         DWORD dwMilliseconds) = 0;
   1562 
   1563     virtual HANDLE STDMETHODCALLTYPE GetEventHandle(
   1564         ) = 0;
   1565 
   1566 };
   1567 #ifdef __CRT_UUID_DECL
   1568 __CRT_UUID_DECL(ISpNotifyTranslator, 0xaca16614, 0x5d3d, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   1569 #endif
   1570 #else
   1571 typedef struct ISpNotifyTranslatorVtbl {
   1572     BEGIN_INTERFACE
   1573 
   1574     /*** IUnknown methods ***/
   1575     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1576         ISpNotifyTranslator* This,
   1577         REFIID riid,
   1578         void **ppvObject);
   1579 
   1580     ULONG (STDMETHODCALLTYPE *AddRef)(
   1581         ISpNotifyTranslator* This);
   1582 
   1583     ULONG (STDMETHODCALLTYPE *Release)(
   1584         ISpNotifyTranslator* This);
   1585 
   1586     /*** ISpNotifySink methods ***/
   1587     HRESULT (STDMETHODCALLTYPE *Notify)(
   1588         ISpNotifyTranslator* This);
   1589 
   1590     /*** ISpNotifyTranslator methods ***/
   1591     HRESULT (STDMETHODCALLTYPE *InitWindowMessage)(
   1592         ISpNotifyTranslator* This,
   1593         HWND hWnd,
   1594         UINT Msg,
   1595         WPARAM wParam,
   1596         LPARAM lParam);
   1597 
   1598     HRESULT (STDMETHODCALLTYPE *InitCallback)(
   1599         ISpNotifyTranslator* This,
   1600         SPNOTIFYCALLBACK *pfnCallback,
   1601         WPARAM wParam,
   1602         LPARAM lParam);
   1603 
   1604     HRESULT (STDMETHODCALLTYPE *InitSpNotifyCallback)(
   1605         ISpNotifyTranslator* This,
   1606         ISpNotifyCallback *pSpCallback,
   1607         WPARAM wParam,
   1608         LPARAM lParam);
   1609 
   1610     HRESULT (STDMETHODCALLTYPE *InitWin32Event)(
   1611         ISpNotifyTranslator* This,
   1612         HANDLE hEvent,
   1613         WINBOOL fCloseHandleOnRelease);
   1614 
   1615     HRESULT (STDMETHODCALLTYPE *Wait)(
   1616         ISpNotifyTranslator* This,
   1617         DWORD dwMilliseconds);
   1618 
   1619     HANDLE (STDMETHODCALLTYPE *GetEventHandle)(
   1620         ISpNotifyTranslator* This);
   1621 
   1622     END_INTERFACE
   1623 } ISpNotifyTranslatorVtbl;
   1624 interface ISpNotifyTranslator {
   1625     CONST_VTBL ISpNotifyTranslatorVtbl* lpVtbl;
   1626 };
   1627 
   1628 #ifdef COBJMACROS
   1629 #ifndef WIDL_C_INLINE_WRAPPERS
   1630 /*** IUnknown methods ***/
   1631 #define ISpNotifyTranslator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1632 #define ISpNotifyTranslator_AddRef(This) (This)->lpVtbl->AddRef(This)
   1633 #define ISpNotifyTranslator_Release(This) (This)->lpVtbl->Release(This)
   1634 /*** ISpNotifySink methods ***/
   1635 #define ISpNotifyTranslator_Notify(This) (This)->lpVtbl->Notify(This)
   1636 /*** ISpNotifyTranslator methods ***/
   1637 #define ISpNotifyTranslator_InitWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->InitWindowMessage(This,hWnd,Msg,wParam,lParam)
   1638 #define ISpNotifyTranslator_InitCallback(This,pfnCallback,wParam,lParam) (This)->lpVtbl->InitCallback(This,pfnCallback,wParam,lParam)
   1639 #define ISpNotifyTranslator_InitSpNotifyCallback(This,pSpCallback,wParam,lParam) (This)->lpVtbl->InitSpNotifyCallback(This,pSpCallback,wParam,lParam)
   1640 #define ISpNotifyTranslator_InitWin32Event(This,hEvent,fCloseHandleOnRelease) (This)->lpVtbl->InitWin32Event(This,hEvent,fCloseHandleOnRelease)
   1641 #define ISpNotifyTranslator_Wait(This,dwMilliseconds) (This)->lpVtbl->Wait(This,dwMilliseconds)
   1642 #define ISpNotifyTranslator_GetEventHandle(This) (This)->lpVtbl->GetEventHandle(This)
   1643 #else
   1644 /*** IUnknown methods ***/
   1645 static FORCEINLINE HRESULT ISpNotifyTranslator_QueryInterface(ISpNotifyTranslator* This,REFIID riid,void **ppvObject) {
   1646     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1647 }
   1648 static FORCEINLINE ULONG ISpNotifyTranslator_AddRef(ISpNotifyTranslator* This) {
   1649     return This->lpVtbl->AddRef(This);
   1650 }
   1651 static FORCEINLINE ULONG ISpNotifyTranslator_Release(ISpNotifyTranslator* This) {
   1652     return This->lpVtbl->Release(This);
   1653 }
   1654 /*** ISpNotifySink methods ***/
   1655 static FORCEINLINE HRESULT ISpNotifyTranslator_Notify(ISpNotifyTranslator* This) {
   1656     return This->lpVtbl->Notify(This);
   1657 }
   1658 /*** ISpNotifyTranslator methods ***/
   1659 static FORCEINLINE HRESULT ISpNotifyTranslator_InitWindowMessage(ISpNotifyTranslator* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
   1660     return This->lpVtbl->InitWindowMessage(This,hWnd,Msg,wParam,lParam);
   1661 }
   1662 static FORCEINLINE HRESULT ISpNotifyTranslator_InitCallback(ISpNotifyTranslator* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
   1663     return This->lpVtbl->InitCallback(This,pfnCallback,wParam,lParam);
   1664 }
   1665 static FORCEINLINE HRESULT ISpNotifyTranslator_InitSpNotifyCallback(ISpNotifyTranslator* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
   1666     return This->lpVtbl->InitSpNotifyCallback(This,pSpCallback,wParam,lParam);
   1667 }
   1668 static FORCEINLINE HRESULT ISpNotifyTranslator_InitWin32Event(ISpNotifyTranslator* This,HANDLE hEvent,WINBOOL fCloseHandleOnRelease) {
   1669     return This->lpVtbl->InitWin32Event(This,hEvent,fCloseHandleOnRelease);
   1670 }
   1671 static FORCEINLINE HRESULT ISpNotifyTranslator_Wait(ISpNotifyTranslator* This,DWORD dwMilliseconds) {
   1672     return This->lpVtbl->Wait(This,dwMilliseconds);
   1673 }
   1674 static FORCEINLINE HANDLE ISpNotifyTranslator_GetEventHandle(ISpNotifyTranslator* This) {
   1675     return This->lpVtbl->GetEventHandle(This);
   1676 }
   1677 #endif
   1678 #endif
   1679 
   1680 #endif
   1681 
   1682 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitWindowMessage_Proxy(
   1683     ISpNotifyTranslator* This,
   1684     HWND hWnd,
   1685     UINT Msg,
   1686     WPARAM wParam,
   1687     LPARAM lParam);
   1688 void __RPC_STUB ISpNotifyTranslator_InitWindowMessage_Stub(
   1689     IRpcStubBuffer* This,
   1690     IRpcChannelBuffer* pRpcChannelBuffer,
   1691     PRPC_MESSAGE pRpcMessage,
   1692     DWORD* pdwStubPhase);
   1693 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitCallback_Proxy(
   1694     ISpNotifyTranslator* This,
   1695     SPNOTIFYCALLBACK *pfnCallback,
   1696     WPARAM wParam,
   1697     LPARAM lParam);
   1698 void __RPC_STUB ISpNotifyTranslator_InitCallback_Stub(
   1699     IRpcStubBuffer* This,
   1700     IRpcChannelBuffer* pRpcChannelBuffer,
   1701     PRPC_MESSAGE pRpcMessage,
   1702     DWORD* pdwStubPhase);
   1703 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitSpNotifyCallback_Proxy(
   1704     ISpNotifyTranslator* This,
   1705     ISpNotifyCallback *pSpCallback,
   1706     WPARAM wParam,
   1707     LPARAM lParam);
   1708 void __RPC_STUB ISpNotifyTranslator_InitSpNotifyCallback_Stub(
   1709     IRpcStubBuffer* This,
   1710     IRpcChannelBuffer* pRpcChannelBuffer,
   1711     PRPC_MESSAGE pRpcMessage,
   1712     DWORD* pdwStubPhase);
   1713 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitWin32Event_Proxy(
   1714     ISpNotifyTranslator* This,
   1715     HANDLE hEvent,
   1716     WINBOOL fCloseHandleOnRelease);
   1717 void __RPC_STUB ISpNotifyTranslator_InitWin32Event_Stub(
   1718     IRpcStubBuffer* This,
   1719     IRpcChannelBuffer* pRpcChannelBuffer,
   1720     PRPC_MESSAGE pRpcMessage,
   1721     DWORD* pdwStubPhase);
   1722 HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_Wait_Proxy(
   1723     ISpNotifyTranslator* This,
   1724     DWORD dwMilliseconds);
   1725 void __RPC_STUB ISpNotifyTranslator_Wait_Stub(
   1726     IRpcStubBuffer* This,
   1727     IRpcChannelBuffer* pRpcChannelBuffer,
   1728     PRPC_MESSAGE pRpcMessage,
   1729     DWORD* pdwStubPhase);
   1730 HANDLE STDMETHODCALLTYPE ISpNotifyTranslator_GetEventHandle_Proxy(
   1731     ISpNotifyTranslator* This);
   1732 void __RPC_STUB ISpNotifyTranslator_GetEventHandle_Stub(
   1733     IRpcStubBuffer* This,
   1734     IRpcChannelBuffer* pRpcChannelBuffer,
   1735     PRPC_MESSAGE pRpcMessage,
   1736     DWORD* pdwStubPhase);
   1737 
   1738 #endif  /* __ISpNotifyTranslator_INTERFACE_DEFINED__ */
   1739 
   1740 /*****************************************************************************
   1741  * ISpDataKey interface
   1742  */
   1743 #ifndef __ISpDataKey_INTERFACE_DEFINED__
   1744 #define __ISpDataKey_INTERFACE_DEFINED__
   1745 
   1746 DEFINE_GUID(IID_ISpDataKey, 0x14056581, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
   1747 #if defined(__cplusplus) && !defined(CINTERFACE)
   1748 MIDL_INTERFACE("14056581-e16c-11d2-bb90-00c04f8ee6c0")
   1749 ISpDataKey : public IUnknown
   1750 {
   1751     virtual HRESULT STDMETHODCALLTYPE SetData(
   1752         LPCWSTR pszValueName,
   1753         ULONG cbData,
   1754         const BYTE *pData) = 0;
   1755 
   1756     virtual HRESULT STDMETHODCALLTYPE GetData(
   1757         LPCWSTR pszValueName,
   1758         ULONG *pcbData,
   1759         BYTE *pData) = 0;
   1760 
   1761     virtual HRESULT STDMETHODCALLTYPE SetStringValue(
   1762         LPCWSTR pszValueName,
   1763         LPCWSTR pszValue) = 0;
   1764 
   1765     virtual HRESULT STDMETHODCALLTYPE GetStringValue(
   1766         LPCWSTR pszValueName,
   1767         LPWSTR *ppszValue) = 0;
   1768 
   1769     virtual HRESULT STDMETHODCALLTYPE SetDWORD(
   1770         LPCWSTR pszValueName,
   1771         DWORD dwValue) = 0;
   1772 
   1773     virtual HRESULT STDMETHODCALLTYPE GetDWORD(
   1774         LPCWSTR pszValueName,
   1775         DWORD *pdwValue) = 0;
   1776 
   1777     virtual HRESULT STDMETHODCALLTYPE OpenKey(
   1778         LPCWSTR pszSubKeyName,
   1779         ISpDataKey **ppSubKey) = 0;
   1780 
   1781     virtual HRESULT STDMETHODCALLTYPE CreateKey(
   1782         LPCWSTR pszSubKey,
   1783         ISpDataKey **ppSubKey) = 0;
   1784 
   1785     virtual HRESULT STDMETHODCALLTYPE DeleteKey(
   1786         LPCWSTR pszSubKey) = 0;
   1787 
   1788     virtual HRESULT STDMETHODCALLTYPE DeleteValue(
   1789         LPCWSTR pszValueName) = 0;
   1790 
   1791     virtual HRESULT STDMETHODCALLTYPE EnumKeys(
   1792         ULONG Index,
   1793         LPWSTR *ppszSubKeyName) = 0;
   1794 
   1795     virtual HRESULT STDMETHODCALLTYPE EnumValues(
   1796         ULONG Index,
   1797         LPWSTR *ppszValueName) = 0;
   1798 
   1799 };
   1800 #ifdef __CRT_UUID_DECL
   1801 __CRT_UUID_DECL(ISpDataKey, 0x14056581, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
   1802 #endif
   1803 #else
   1804 typedef struct ISpDataKeyVtbl {
   1805     BEGIN_INTERFACE
   1806 
   1807     /*** IUnknown methods ***/
   1808     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1809         ISpDataKey* This,
   1810         REFIID riid,
   1811         void **ppvObject);
   1812 
   1813     ULONG (STDMETHODCALLTYPE *AddRef)(
   1814         ISpDataKey* This);
   1815 
   1816     ULONG (STDMETHODCALLTYPE *Release)(
   1817         ISpDataKey* This);
   1818 
   1819     /*** ISpDataKey methods ***/
   1820     HRESULT (STDMETHODCALLTYPE *SetData)(
   1821         ISpDataKey* This,
   1822         LPCWSTR pszValueName,
   1823         ULONG cbData,
   1824         const BYTE *pData);
   1825 
   1826     HRESULT (STDMETHODCALLTYPE *GetData)(
   1827         ISpDataKey* This,
   1828         LPCWSTR pszValueName,
   1829         ULONG *pcbData,
   1830         BYTE *pData);
   1831 
   1832     HRESULT (STDMETHODCALLTYPE *SetStringValue)(
   1833         ISpDataKey* This,
   1834         LPCWSTR pszValueName,
   1835         LPCWSTR pszValue);
   1836 
   1837     HRESULT (STDMETHODCALLTYPE *GetStringValue)(
   1838         ISpDataKey* This,
   1839         LPCWSTR pszValueName,
   1840         LPWSTR *ppszValue);
   1841 
   1842     HRESULT (STDMETHODCALLTYPE *SetDWORD)(
   1843         ISpDataKey* This,
   1844         LPCWSTR pszValueName,
   1845         DWORD dwValue);
   1846 
   1847     HRESULT (STDMETHODCALLTYPE *GetDWORD)(
   1848         ISpDataKey* This,
   1849         LPCWSTR pszValueName,
   1850         DWORD *pdwValue);
   1851 
   1852     HRESULT (STDMETHODCALLTYPE *OpenKey)(
   1853         ISpDataKey* This,
   1854         LPCWSTR pszSubKeyName,
   1855         ISpDataKey **ppSubKey);
   1856 
   1857     HRESULT (STDMETHODCALLTYPE *CreateKey)(
   1858         ISpDataKey* This,
   1859         LPCWSTR pszSubKey,
   1860         ISpDataKey **ppSubKey);
   1861 
   1862     HRESULT (STDMETHODCALLTYPE *DeleteKey)(
   1863         ISpDataKey* This,
   1864         LPCWSTR pszSubKey);
   1865 
   1866     HRESULT (STDMETHODCALLTYPE *DeleteValue)(
   1867         ISpDataKey* This,
   1868         LPCWSTR pszValueName);
   1869 
   1870     HRESULT (STDMETHODCALLTYPE *EnumKeys)(
   1871         ISpDataKey* This,
   1872         ULONG Index,
   1873         LPWSTR *ppszSubKeyName);
   1874 
   1875     HRESULT (STDMETHODCALLTYPE *EnumValues)(
   1876         ISpDataKey* This,
   1877         ULONG Index,
   1878         LPWSTR *ppszValueName);
   1879 
   1880     END_INTERFACE
   1881 } ISpDataKeyVtbl;
   1882 interface ISpDataKey {
   1883     CONST_VTBL ISpDataKeyVtbl* lpVtbl;
   1884 };
   1885 
   1886 #ifdef COBJMACROS
   1887 #ifndef WIDL_C_INLINE_WRAPPERS
   1888 /*** IUnknown methods ***/
   1889 #define ISpDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1890 #define ISpDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
   1891 #define ISpDataKey_Release(This) (This)->lpVtbl->Release(This)
   1892 /*** ISpDataKey methods ***/
   1893 #define ISpDataKey_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
   1894 #define ISpDataKey_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
   1895 #define ISpDataKey_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
   1896 #define ISpDataKey_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
   1897 #define ISpDataKey_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
   1898 #define ISpDataKey_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
   1899 #define ISpDataKey_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
   1900 #define ISpDataKey_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
   1901 #define ISpDataKey_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
   1902 #define ISpDataKey_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
   1903 #define ISpDataKey_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
   1904 #define ISpDataKey_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
   1905 #else
   1906 /*** IUnknown methods ***/
   1907 static FORCEINLINE HRESULT ISpDataKey_QueryInterface(ISpDataKey* This,REFIID riid,void **ppvObject) {
   1908     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1909 }
   1910 static FORCEINLINE ULONG ISpDataKey_AddRef(ISpDataKey* This) {
   1911     return This->lpVtbl->AddRef(This);
   1912 }
   1913 static FORCEINLINE ULONG ISpDataKey_Release(ISpDataKey* This) {
   1914     return This->lpVtbl->Release(This);
   1915 }
   1916 /*** ISpDataKey methods ***/
   1917 static FORCEINLINE HRESULT ISpDataKey_SetData(ISpDataKey* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
   1918     return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
   1919 }
   1920 static FORCEINLINE HRESULT ISpDataKey_GetData(ISpDataKey* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
   1921     return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
   1922 }
   1923 static FORCEINLINE HRESULT ISpDataKey_SetStringValue(ISpDataKey* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
   1924     return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
   1925 }
   1926 static FORCEINLINE HRESULT ISpDataKey_GetStringValue(ISpDataKey* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
   1927     return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
   1928 }
   1929 static FORCEINLINE HRESULT ISpDataKey_SetDWORD(ISpDataKey* This,LPCWSTR pszValueName,DWORD dwValue) {
   1930     return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
   1931 }
   1932 static FORCEINLINE HRESULT ISpDataKey_GetDWORD(ISpDataKey* This,LPCWSTR pszValueName,DWORD *pdwValue) {
   1933     return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
   1934 }
   1935 static FORCEINLINE HRESULT ISpDataKey_OpenKey(ISpDataKey* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
   1936     return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
   1937 }
   1938 static FORCEINLINE HRESULT ISpDataKey_CreateKey(ISpDataKey* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
   1939     return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
   1940 }
   1941 static FORCEINLINE HRESULT ISpDataKey_DeleteKey(ISpDataKey* This,LPCWSTR pszSubKey) {
   1942     return This->lpVtbl->DeleteKey(This,pszSubKey);
   1943 }
   1944 static FORCEINLINE HRESULT ISpDataKey_DeleteValue(ISpDataKey* This,LPCWSTR pszValueName) {
   1945     return This->lpVtbl->DeleteValue(This,pszValueName);
   1946 }
   1947 static FORCEINLINE HRESULT ISpDataKey_EnumKeys(ISpDataKey* This,ULONG Index,LPWSTR *ppszSubKeyName) {
   1948     return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
   1949 }
   1950 static FORCEINLINE HRESULT ISpDataKey_EnumValues(ISpDataKey* This,ULONG Index,LPWSTR *ppszValueName) {
   1951     return This->lpVtbl->EnumValues(This,Index,ppszValueName);
   1952 }
   1953 #endif
   1954 #endif
   1955 
   1956 #endif
   1957 
   1958 HRESULT STDMETHODCALLTYPE ISpDataKey_SetData_Proxy(
   1959     ISpDataKey* This,
   1960     LPCWSTR pszValueName,
   1961     ULONG cbData,
   1962     const BYTE *pData);
   1963 void __RPC_STUB ISpDataKey_SetData_Stub(
   1964     IRpcStubBuffer* This,
   1965     IRpcChannelBuffer* pRpcChannelBuffer,
   1966     PRPC_MESSAGE pRpcMessage,
   1967     DWORD* pdwStubPhase);
   1968 HRESULT STDMETHODCALLTYPE ISpDataKey_GetData_Proxy(
   1969     ISpDataKey* This,
   1970     LPCWSTR pszValueName,
   1971     ULONG *pcbData,
   1972     BYTE *pData);
   1973 void __RPC_STUB ISpDataKey_GetData_Stub(
   1974     IRpcStubBuffer* This,
   1975     IRpcChannelBuffer* pRpcChannelBuffer,
   1976     PRPC_MESSAGE pRpcMessage,
   1977     DWORD* pdwStubPhase);
   1978 HRESULT STDMETHODCALLTYPE ISpDataKey_SetStringValue_Proxy(
   1979     ISpDataKey* This,
   1980     LPCWSTR pszValueName,
   1981     LPCWSTR pszValue);
   1982 void __RPC_STUB ISpDataKey_SetStringValue_Stub(
   1983     IRpcStubBuffer* This,
   1984     IRpcChannelBuffer* pRpcChannelBuffer,
   1985     PRPC_MESSAGE pRpcMessage,
   1986     DWORD* pdwStubPhase);
   1987 HRESULT STDMETHODCALLTYPE ISpDataKey_GetStringValue_Proxy(
   1988     ISpDataKey* This,
   1989     LPCWSTR pszValueName,
   1990     LPWSTR *ppszValue);
   1991 void __RPC_STUB ISpDataKey_GetStringValue_Stub(
   1992     IRpcStubBuffer* This,
   1993     IRpcChannelBuffer* pRpcChannelBuffer,
   1994     PRPC_MESSAGE pRpcMessage,
   1995     DWORD* pdwStubPhase);
   1996 HRESULT STDMETHODCALLTYPE ISpDataKey_SetDWORD_Proxy(
   1997     ISpDataKey* This,
   1998     LPCWSTR pszValueName,
   1999     DWORD dwValue);
   2000 void __RPC_STUB ISpDataKey_SetDWORD_Stub(
   2001     IRpcStubBuffer* This,
   2002     IRpcChannelBuffer* pRpcChannelBuffer,
   2003     PRPC_MESSAGE pRpcMessage,
   2004     DWORD* pdwStubPhase);
   2005 HRESULT STDMETHODCALLTYPE ISpDataKey_GetDWORD_Proxy(
   2006     ISpDataKey* This,
   2007     LPCWSTR pszValueName,
   2008     DWORD *pdwValue);
   2009 void __RPC_STUB ISpDataKey_GetDWORD_Stub(
   2010     IRpcStubBuffer* This,
   2011     IRpcChannelBuffer* pRpcChannelBuffer,
   2012     PRPC_MESSAGE pRpcMessage,
   2013     DWORD* pdwStubPhase);
   2014 HRESULT STDMETHODCALLTYPE ISpDataKey_OpenKey_Proxy(
   2015     ISpDataKey* This,
   2016     LPCWSTR pszSubKeyName,
   2017     ISpDataKey **ppSubKey);
   2018 void __RPC_STUB ISpDataKey_OpenKey_Stub(
   2019     IRpcStubBuffer* This,
   2020     IRpcChannelBuffer* pRpcChannelBuffer,
   2021     PRPC_MESSAGE pRpcMessage,
   2022     DWORD* pdwStubPhase);
   2023 HRESULT STDMETHODCALLTYPE ISpDataKey_CreateKey_Proxy(
   2024     ISpDataKey* This,
   2025     LPCWSTR pszSubKey,
   2026     ISpDataKey **ppSubKey);
   2027 void __RPC_STUB ISpDataKey_CreateKey_Stub(
   2028     IRpcStubBuffer* This,
   2029     IRpcChannelBuffer* pRpcChannelBuffer,
   2030     PRPC_MESSAGE pRpcMessage,
   2031     DWORD* pdwStubPhase);
   2032 HRESULT STDMETHODCALLTYPE ISpDataKey_DeleteKey_Proxy(
   2033     ISpDataKey* This,
   2034     LPCWSTR pszSubKey);
   2035 void __RPC_STUB ISpDataKey_DeleteKey_Stub(
   2036     IRpcStubBuffer* This,
   2037     IRpcChannelBuffer* pRpcChannelBuffer,
   2038     PRPC_MESSAGE pRpcMessage,
   2039     DWORD* pdwStubPhase);
   2040 HRESULT STDMETHODCALLTYPE ISpDataKey_DeleteValue_Proxy(
   2041     ISpDataKey* This,
   2042     LPCWSTR pszValueName);
   2043 void __RPC_STUB ISpDataKey_DeleteValue_Stub(
   2044     IRpcStubBuffer* This,
   2045     IRpcChannelBuffer* pRpcChannelBuffer,
   2046     PRPC_MESSAGE pRpcMessage,
   2047     DWORD* pdwStubPhase);
   2048 HRESULT STDMETHODCALLTYPE ISpDataKey_EnumKeys_Proxy(
   2049     ISpDataKey* This,
   2050     ULONG Index,
   2051     LPWSTR *ppszSubKeyName);
   2052 void __RPC_STUB ISpDataKey_EnumKeys_Stub(
   2053     IRpcStubBuffer* This,
   2054     IRpcChannelBuffer* pRpcChannelBuffer,
   2055     PRPC_MESSAGE pRpcMessage,
   2056     DWORD* pdwStubPhase);
   2057 HRESULT STDMETHODCALLTYPE ISpDataKey_EnumValues_Proxy(
   2058     ISpDataKey* This,
   2059     ULONG Index,
   2060     LPWSTR *ppszValueName);
   2061 void __RPC_STUB ISpDataKey_EnumValues_Stub(
   2062     IRpcStubBuffer* This,
   2063     IRpcChannelBuffer* pRpcChannelBuffer,
   2064     PRPC_MESSAGE pRpcMessage,
   2065     DWORD* pdwStubPhase);
   2066 
   2067 #endif  /* __ISpDataKey_INTERFACE_DEFINED__ */
   2068 
   2069 /*****************************************************************************
   2070  * ISpObjectWithToken interface
   2071  */
   2072 #ifndef __ISpObjectWithToken_INTERFACE_DEFINED__
   2073 #define __ISpObjectWithToken_INTERFACE_DEFINED__
   2074 
   2075 DEFINE_GUID(IID_ISpObjectWithToken, 0x5b559f40, 0xe952, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
   2076 #if defined(__cplusplus) && !defined(CINTERFACE)
   2077 MIDL_INTERFACE("5b559f40-e952-11d2-bb91-00c04f8ee6c0")
   2078 ISpObjectWithToken : public IUnknown
   2079 {
   2080     virtual HRESULT STDMETHODCALLTYPE SetObjectToken(
   2081         ISpObjectToken *pToken) = 0;
   2082 
   2083     virtual HRESULT STDMETHODCALLTYPE GetObjectToken(
   2084         ISpObjectToken **ppToken) = 0;
   2085 
   2086 };
   2087 #ifdef __CRT_UUID_DECL
   2088 __CRT_UUID_DECL(ISpObjectWithToken, 0x5b559f40, 0xe952, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
   2089 #endif
   2090 #else
   2091 typedef struct ISpObjectWithTokenVtbl {
   2092     BEGIN_INTERFACE
   2093 
   2094     /*** IUnknown methods ***/
   2095     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2096         ISpObjectWithToken* This,
   2097         REFIID riid,
   2098         void **ppvObject);
   2099 
   2100     ULONG (STDMETHODCALLTYPE *AddRef)(
   2101         ISpObjectWithToken* This);
   2102 
   2103     ULONG (STDMETHODCALLTYPE *Release)(
   2104         ISpObjectWithToken* This);
   2105 
   2106     /*** ISpObjectWithToken methods ***/
   2107     HRESULT (STDMETHODCALLTYPE *SetObjectToken)(
   2108         ISpObjectWithToken* This,
   2109         ISpObjectToken *pToken);
   2110 
   2111     HRESULT (STDMETHODCALLTYPE *GetObjectToken)(
   2112         ISpObjectWithToken* This,
   2113         ISpObjectToken **ppToken);
   2114 
   2115     END_INTERFACE
   2116 } ISpObjectWithTokenVtbl;
   2117 interface ISpObjectWithToken {
   2118     CONST_VTBL ISpObjectWithTokenVtbl* lpVtbl;
   2119 };
   2120 
   2121 #ifdef COBJMACROS
   2122 #ifndef WIDL_C_INLINE_WRAPPERS
   2123 /*** IUnknown methods ***/
   2124 #define ISpObjectWithToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2125 #define ISpObjectWithToken_AddRef(This) (This)->lpVtbl->AddRef(This)
   2126 #define ISpObjectWithToken_Release(This) (This)->lpVtbl->Release(This)
   2127 /*** ISpObjectWithToken methods ***/
   2128 #define ISpObjectWithToken_SetObjectToken(This,pToken) (This)->lpVtbl->SetObjectToken(This,pToken)
   2129 #define ISpObjectWithToken_GetObjectToken(This,ppToken) (This)->lpVtbl->GetObjectToken(This,ppToken)
   2130 #else
   2131 /*** IUnknown methods ***/
   2132 static FORCEINLINE HRESULT ISpObjectWithToken_QueryInterface(ISpObjectWithToken* This,REFIID riid,void **ppvObject) {
   2133     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2134 }
   2135 static FORCEINLINE ULONG ISpObjectWithToken_AddRef(ISpObjectWithToken* This) {
   2136     return This->lpVtbl->AddRef(This);
   2137 }
   2138 static FORCEINLINE ULONG ISpObjectWithToken_Release(ISpObjectWithToken* This) {
   2139     return This->lpVtbl->Release(This);
   2140 }
   2141 /*** ISpObjectWithToken methods ***/
   2142 static FORCEINLINE HRESULT ISpObjectWithToken_SetObjectToken(ISpObjectWithToken* This,ISpObjectToken *pToken) {
   2143     return This->lpVtbl->SetObjectToken(This,pToken);
   2144 }
   2145 static FORCEINLINE HRESULT ISpObjectWithToken_GetObjectToken(ISpObjectWithToken* This,ISpObjectToken **ppToken) {
   2146     return This->lpVtbl->GetObjectToken(This,ppToken);
   2147 }
   2148 #endif
   2149 #endif
   2150 
   2151 #endif
   2152 
   2153 HRESULT STDMETHODCALLTYPE ISpObjectWithToken_SetObjectToken_Proxy(
   2154     ISpObjectWithToken* This,
   2155     ISpObjectToken *pToken);
   2156 void __RPC_STUB ISpObjectWithToken_SetObjectToken_Stub(
   2157     IRpcStubBuffer* This,
   2158     IRpcChannelBuffer* pRpcChannelBuffer,
   2159     PRPC_MESSAGE pRpcMessage,
   2160     DWORD* pdwStubPhase);
   2161 HRESULT STDMETHODCALLTYPE ISpObjectWithToken_GetObjectToken_Proxy(
   2162     ISpObjectWithToken* This,
   2163     ISpObjectToken **ppToken);
   2164 void __RPC_STUB ISpObjectWithToken_GetObjectToken_Stub(
   2165     IRpcStubBuffer* This,
   2166     IRpcChannelBuffer* pRpcChannelBuffer,
   2167     PRPC_MESSAGE pRpcMessage,
   2168     DWORD* pdwStubPhase);
   2169 
   2170 #endif  /* __ISpObjectWithToken_INTERFACE_DEFINED__ */
   2171 
   2172 /*****************************************************************************
   2173  * IEnumSpObjectTokens interface
   2174  */
   2175 #ifndef __IEnumSpObjectTokens_INTERFACE_DEFINED__
   2176 #define __IEnumSpObjectTokens_INTERFACE_DEFINED__
   2177 
   2178 DEFINE_GUID(IID_IEnumSpObjectTokens, 0x06b64f9e, 0x7fda, 0x11d2, 0xb4,0xf2, 0x00,0xc0,0x4f,0x79,0x73,0x96);
   2179 #if defined(__cplusplus) && !defined(CINTERFACE)
   2180 MIDL_INTERFACE("06b64f9e-7fda-11d2-b4f2-00c04f797396")
   2181 IEnumSpObjectTokens : public IUnknown
   2182 {
   2183     virtual HRESULT STDMETHODCALLTYPE Next(
   2184         ULONG celt,
   2185         ISpObjectToken **pelt,
   2186         ULONG *pceltFetched) = 0;
   2187 
   2188     virtual HRESULT STDMETHODCALLTYPE Skip(
   2189         ULONG celt) = 0;
   2190 
   2191     virtual HRESULT STDMETHODCALLTYPE Reset(
   2192         ) = 0;
   2193 
   2194     virtual HRESULT STDMETHODCALLTYPE Clone(
   2195         IEnumSpObjectTokens **ppEnum) = 0;
   2196 
   2197     virtual HRESULT STDMETHODCALLTYPE Item(
   2198         ULONG Index,
   2199         ISpObjectToken **ppToken) = 0;
   2200 
   2201     virtual HRESULT STDMETHODCALLTYPE GetCount(
   2202         ULONG *pCount) = 0;
   2203 
   2204 };
   2205 #ifdef __CRT_UUID_DECL
   2206 __CRT_UUID_DECL(IEnumSpObjectTokens, 0x06b64f9e, 0x7fda, 0x11d2, 0xb4,0xf2, 0x00,0xc0,0x4f,0x79,0x73,0x96)
   2207 #endif
   2208 #else
   2209 typedef struct IEnumSpObjectTokensVtbl {
   2210     BEGIN_INTERFACE
   2211 
   2212     /*** IUnknown methods ***/
   2213     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2214         IEnumSpObjectTokens* This,
   2215         REFIID riid,
   2216         void **ppvObject);
   2217 
   2218     ULONG (STDMETHODCALLTYPE *AddRef)(
   2219         IEnumSpObjectTokens* This);
   2220 
   2221     ULONG (STDMETHODCALLTYPE *Release)(
   2222         IEnumSpObjectTokens* This);
   2223 
   2224     /*** IEnumSpObjectTokens methods ***/
   2225     HRESULT (STDMETHODCALLTYPE *Next)(
   2226         IEnumSpObjectTokens* This,
   2227         ULONG celt,
   2228         ISpObjectToken **pelt,
   2229         ULONG *pceltFetched);
   2230 
   2231     HRESULT (STDMETHODCALLTYPE *Skip)(
   2232         IEnumSpObjectTokens* This,
   2233         ULONG celt);
   2234 
   2235     HRESULT (STDMETHODCALLTYPE *Reset)(
   2236         IEnumSpObjectTokens* This);
   2237 
   2238     HRESULT (STDMETHODCALLTYPE *Clone)(
   2239         IEnumSpObjectTokens* This,
   2240         IEnumSpObjectTokens **ppEnum);
   2241 
   2242     HRESULT (STDMETHODCALLTYPE *Item)(
   2243         IEnumSpObjectTokens* This,
   2244         ULONG Index,
   2245         ISpObjectToken **ppToken);
   2246 
   2247     HRESULT (STDMETHODCALLTYPE *GetCount)(
   2248         IEnumSpObjectTokens* This,
   2249         ULONG *pCount);
   2250 
   2251     END_INTERFACE
   2252 } IEnumSpObjectTokensVtbl;
   2253 interface IEnumSpObjectTokens {
   2254     CONST_VTBL IEnumSpObjectTokensVtbl* lpVtbl;
   2255 };
   2256 
   2257 #ifdef COBJMACROS
   2258 #ifndef WIDL_C_INLINE_WRAPPERS
   2259 /*** IUnknown methods ***/
   2260 #define IEnumSpObjectTokens_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2261 #define IEnumSpObjectTokens_AddRef(This) (This)->lpVtbl->AddRef(This)
   2262 #define IEnumSpObjectTokens_Release(This) (This)->lpVtbl->Release(This)
   2263 /*** IEnumSpObjectTokens methods ***/
   2264 #define IEnumSpObjectTokens_Next(This,celt,pelt,pceltFetched) (This)->lpVtbl->Next(This,celt,pelt,pceltFetched)
   2265 #define IEnumSpObjectTokens_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
   2266 #define IEnumSpObjectTokens_Reset(This) (This)->lpVtbl->Reset(This)
   2267 #define IEnumSpObjectTokens_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
   2268 #define IEnumSpObjectTokens_Item(This,Index,ppToken) (This)->lpVtbl->Item(This,Index,ppToken)
   2269 #define IEnumSpObjectTokens_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
   2270 #else
   2271 /*** IUnknown methods ***/
   2272 static FORCEINLINE HRESULT IEnumSpObjectTokens_QueryInterface(IEnumSpObjectTokens* This,REFIID riid,void **ppvObject) {
   2273     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2274 }
   2275 static FORCEINLINE ULONG IEnumSpObjectTokens_AddRef(IEnumSpObjectTokens* This) {
   2276     return This->lpVtbl->AddRef(This);
   2277 }
   2278 static FORCEINLINE ULONG IEnumSpObjectTokens_Release(IEnumSpObjectTokens* This) {
   2279     return This->lpVtbl->Release(This);
   2280 }
   2281 /*** IEnumSpObjectTokens methods ***/
   2282 static FORCEINLINE HRESULT IEnumSpObjectTokens_Next(IEnumSpObjectTokens* This,ULONG celt,ISpObjectToken **pelt,ULONG *pceltFetched) {
   2283     return This->lpVtbl->Next(This,celt,pelt,pceltFetched);
   2284 }
   2285 static FORCEINLINE HRESULT IEnumSpObjectTokens_Skip(IEnumSpObjectTokens* This,ULONG celt) {
   2286     return This->lpVtbl->Skip(This,celt);
   2287 }
   2288 static FORCEINLINE HRESULT IEnumSpObjectTokens_Reset(IEnumSpObjectTokens* This) {
   2289     return This->lpVtbl->Reset(This);
   2290 }
   2291 static FORCEINLINE HRESULT IEnumSpObjectTokens_Clone(IEnumSpObjectTokens* This,IEnumSpObjectTokens **ppEnum) {
   2292     return This->lpVtbl->Clone(This,ppEnum);
   2293 }
   2294 static FORCEINLINE HRESULT IEnumSpObjectTokens_Item(IEnumSpObjectTokens* This,ULONG Index,ISpObjectToken **ppToken) {
   2295     return This->lpVtbl->Item(This,Index,ppToken);
   2296 }
   2297 static FORCEINLINE HRESULT IEnumSpObjectTokens_GetCount(IEnumSpObjectTokens* This,ULONG *pCount) {
   2298     return This->lpVtbl->GetCount(This,pCount);
   2299 }
   2300 #endif
   2301 #endif
   2302 
   2303 #endif
   2304 
   2305 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Next_Proxy(
   2306     IEnumSpObjectTokens* This,
   2307     ULONG celt,
   2308     ISpObjectToken **pelt,
   2309     ULONG *pceltFetched);
   2310 void __RPC_STUB IEnumSpObjectTokens_Next_Stub(
   2311     IRpcStubBuffer* This,
   2312     IRpcChannelBuffer* pRpcChannelBuffer,
   2313     PRPC_MESSAGE pRpcMessage,
   2314     DWORD* pdwStubPhase);
   2315 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Skip_Proxy(
   2316     IEnumSpObjectTokens* This,
   2317     ULONG celt);
   2318 void __RPC_STUB IEnumSpObjectTokens_Skip_Stub(
   2319     IRpcStubBuffer* This,
   2320     IRpcChannelBuffer* pRpcChannelBuffer,
   2321     PRPC_MESSAGE pRpcMessage,
   2322     DWORD* pdwStubPhase);
   2323 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Reset_Proxy(
   2324     IEnumSpObjectTokens* This);
   2325 void __RPC_STUB IEnumSpObjectTokens_Reset_Stub(
   2326     IRpcStubBuffer* This,
   2327     IRpcChannelBuffer* pRpcChannelBuffer,
   2328     PRPC_MESSAGE pRpcMessage,
   2329     DWORD* pdwStubPhase);
   2330 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Clone_Proxy(
   2331     IEnumSpObjectTokens* This,
   2332     IEnumSpObjectTokens **ppEnum);
   2333 void __RPC_STUB IEnumSpObjectTokens_Clone_Stub(
   2334     IRpcStubBuffer* This,
   2335     IRpcChannelBuffer* pRpcChannelBuffer,
   2336     PRPC_MESSAGE pRpcMessage,
   2337     DWORD* pdwStubPhase);
   2338 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Item_Proxy(
   2339     IEnumSpObjectTokens* This,
   2340     ULONG Index,
   2341     ISpObjectToken **ppToken);
   2342 void __RPC_STUB IEnumSpObjectTokens_Item_Stub(
   2343     IRpcStubBuffer* This,
   2344     IRpcChannelBuffer* pRpcChannelBuffer,
   2345     PRPC_MESSAGE pRpcMessage,
   2346     DWORD* pdwStubPhase);
   2347 HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_GetCount_Proxy(
   2348     IEnumSpObjectTokens* This,
   2349     ULONG *pCount);
   2350 void __RPC_STUB IEnumSpObjectTokens_GetCount_Stub(
   2351     IRpcStubBuffer* This,
   2352     IRpcChannelBuffer* pRpcChannelBuffer,
   2353     PRPC_MESSAGE pRpcMessage,
   2354     DWORD* pdwStubPhase);
   2355 
   2356 #endif  /* __IEnumSpObjectTokens_INTERFACE_DEFINED__ */
   2357 
   2358 /*****************************************************************************
   2359  * ISpRegDataKey interface
   2360  */
   2361 #ifndef __ISpRegDataKey_INTERFACE_DEFINED__
   2362 #define __ISpRegDataKey_INTERFACE_DEFINED__
   2363 
   2364 DEFINE_GUID(IID_ISpRegDataKey, 0x92a66e2b, 0xc830, 0x4149, 0x83,0xdf, 0x6f,0xc2,0xba,0x1e,0x7a,0x5b);
   2365 #if defined(__cplusplus) && !defined(CINTERFACE)
   2366 MIDL_INTERFACE("92a66e2b-c830-4149-83df-6fc2ba1e7a5b")
   2367 ISpRegDataKey : public ISpDataKey
   2368 {
   2369     virtual HRESULT STDMETHODCALLTYPE SetKey(
   2370         HKEY hkey,
   2371         WINBOOL fReadOnly) = 0;
   2372 
   2373 };
   2374 #ifdef __CRT_UUID_DECL
   2375 __CRT_UUID_DECL(ISpRegDataKey, 0x92a66e2b, 0xc830, 0x4149, 0x83,0xdf, 0x6f,0xc2,0xba,0x1e,0x7a,0x5b)
   2376 #endif
   2377 #else
   2378 typedef struct ISpRegDataKeyVtbl {
   2379     BEGIN_INTERFACE
   2380 
   2381     /*** IUnknown methods ***/
   2382     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2383         ISpRegDataKey* This,
   2384         REFIID riid,
   2385         void **ppvObject);
   2386 
   2387     ULONG (STDMETHODCALLTYPE *AddRef)(
   2388         ISpRegDataKey* This);
   2389 
   2390     ULONG (STDMETHODCALLTYPE *Release)(
   2391         ISpRegDataKey* This);
   2392 
   2393     /*** ISpDataKey methods ***/
   2394     HRESULT (STDMETHODCALLTYPE *SetData)(
   2395         ISpRegDataKey* This,
   2396         LPCWSTR pszValueName,
   2397         ULONG cbData,
   2398         const BYTE *pData);
   2399 
   2400     HRESULT (STDMETHODCALLTYPE *GetData)(
   2401         ISpRegDataKey* This,
   2402         LPCWSTR pszValueName,
   2403         ULONG *pcbData,
   2404         BYTE *pData);
   2405 
   2406     HRESULT (STDMETHODCALLTYPE *SetStringValue)(
   2407         ISpRegDataKey* This,
   2408         LPCWSTR pszValueName,
   2409         LPCWSTR pszValue);
   2410 
   2411     HRESULT (STDMETHODCALLTYPE *GetStringValue)(
   2412         ISpRegDataKey* This,
   2413         LPCWSTR pszValueName,
   2414         LPWSTR *ppszValue);
   2415 
   2416     HRESULT (STDMETHODCALLTYPE *SetDWORD)(
   2417         ISpRegDataKey* This,
   2418         LPCWSTR pszValueName,
   2419         DWORD dwValue);
   2420 
   2421     HRESULT (STDMETHODCALLTYPE *GetDWORD)(
   2422         ISpRegDataKey* This,
   2423         LPCWSTR pszValueName,
   2424         DWORD *pdwValue);
   2425 
   2426     HRESULT (STDMETHODCALLTYPE *OpenKey)(
   2427         ISpRegDataKey* This,
   2428         LPCWSTR pszSubKeyName,
   2429         ISpDataKey **ppSubKey);
   2430 
   2431     HRESULT (STDMETHODCALLTYPE *CreateKey)(
   2432         ISpRegDataKey* This,
   2433         LPCWSTR pszSubKey,
   2434         ISpDataKey **ppSubKey);
   2435 
   2436     HRESULT (STDMETHODCALLTYPE *DeleteKey)(
   2437         ISpRegDataKey* This,
   2438         LPCWSTR pszSubKey);
   2439 
   2440     HRESULT (STDMETHODCALLTYPE *DeleteValue)(
   2441         ISpRegDataKey* This,
   2442         LPCWSTR pszValueName);
   2443 
   2444     HRESULT (STDMETHODCALLTYPE *EnumKeys)(
   2445         ISpRegDataKey* This,
   2446         ULONG Index,
   2447         LPWSTR *ppszSubKeyName);
   2448 
   2449     HRESULT (STDMETHODCALLTYPE *EnumValues)(
   2450         ISpRegDataKey* This,
   2451         ULONG Index,
   2452         LPWSTR *ppszValueName);
   2453 
   2454     /*** ISpRegDataKey methods ***/
   2455     HRESULT (STDMETHODCALLTYPE *SetKey)(
   2456         ISpRegDataKey* This,
   2457         HKEY hkey,
   2458         WINBOOL fReadOnly);
   2459 
   2460     END_INTERFACE
   2461 } ISpRegDataKeyVtbl;
   2462 interface ISpRegDataKey {
   2463     CONST_VTBL ISpRegDataKeyVtbl* lpVtbl;
   2464 };
   2465 
   2466 #ifdef COBJMACROS
   2467 #ifndef WIDL_C_INLINE_WRAPPERS
   2468 /*** IUnknown methods ***/
   2469 #define ISpRegDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2470 #define ISpRegDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
   2471 #define ISpRegDataKey_Release(This) (This)->lpVtbl->Release(This)
   2472 /*** ISpDataKey methods ***/
   2473 #define ISpRegDataKey_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
   2474 #define ISpRegDataKey_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
   2475 #define ISpRegDataKey_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
   2476 #define ISpRegDataKey_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
   2477 #define ISpRegDataKey_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
   2478 #define ISpRegDataKey_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
   2479 #define ISpRegDataKey_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
   2480 #define ISpRegDataKey_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
   2481 #define ISpRegDataKey_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
   2482 #define ISpRegDataKey_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
   2483 #define ISpRegDataKey_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
   2484 #define ISpRegDataKey_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
   2485 /*** ISpRegDataKey methods ***/
   2486 #define ISpRegDataKey_SetKey(This,hkey,fReadOnly) (This)->lpVtbl->SetKey(This,hkey,fReadOnly)
   2487 #else
   2488 /*** IUnknown methods ***/
   2489 static FORCEINLINE HRESULT ISpRegDataKey_QueryInterface(ISpRegDataKey* This,REFIID riid,void **ppvObject) {
   2490     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2491 }
   2492 static FORCEINLINE ULONG ISpRegDataKey_AddRef(ISpRegDataKey* This) {
   2493     return This->lpVtbl->AddRef(This);
   2494 }
   2495 static FORCEINLINE ULONG ISpRegDataKey_Release(ISpRegDataKey* This) {
   2496     return This->lpVtbl->Release(This);
   2497 }
   2498 /*** ISpDataKey methods ***/
   2499 static FORCEINLINE HRESULT ISpRegDataKey_SetData(ISpRegDataKey* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
   2500     return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
   2501 }
   2502 static FORCEINLINE HRESULT ISpRegDataKey_GetData(ISpRegDataKey* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
   2503     return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
   2504 }
   2505 static FORCEINLINE HRESULT ISpRegDataKey_SetStringValue(ISpRegDataKey* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
   2506     return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
   2507 }
   2508 static FORCEINLINE HRESULT ISpRegDataKey_GetStringValue(ISpRegDataKey* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
   2509     return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
   2510 }
   2511 static FORCEINLINE HRESULT ISpRegDataKey_SetDWORD(ISpRegDataKey* This,LPCWSTR pszValueName,DWORD dwValue) {
   2512     return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
   2513 }
   2514 static FORCEINLINE HRESULT ISpRegDataKey_GetDWORD(ISpRegDataKey* This,LPCWSTR pszValueName,DWORD *pdwValue) {
   2515     return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
   2516 }
   2517 static FORCEINLINE HRESULT ISpRegDataKey_OpenKey(ISpRegDataKey* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
   2518     return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
   2519 }
   2520 static FORCEINLINE HRESULT ISpRegDataKey_CreateKey(ISpRegDataKey* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
   2521     return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
   2522 }
   2523 static FORCEINLINE HRESULT ISpRegDataKey_DeleteKey(ISpRegDataKey* This,LPCWSTR pszSubKey) {
   2524     return This->lpVtbl->DeleteKey(This,pszSubKey);
   2525 }
   2526 static FORCEINLINE HRESULT ISpRegDataKey_DeleteValue(ISpRegDataKey* This,LPCWSTR pszValueName) {
   2527     return This->lpVtbl->DeleteValue(This,pszValueName);
   2528 }
   2529 static FORCEINLINE HRESULT ISpRegDataKey_EnumKeys(ISpRegDataKey* This,ULONG Index,LPWSTR *ppszSubKeyName) {
   2530     return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
   2531 }
   2532 static FORCEINLINE HRESULT ISpRegDataKey_EnumValues(ISpRegDataKey* This,ULONG Index,LPWSTR *ppszValueName) {
   2533     return This->lpVtbl->EnumValues(This,Index,ppszValueName);
   2534 }
   2535 /*** ISpRegDataKey methods ***/
   2536 static FORCEINLINE HRESULT ISpRegDataKey_SetKey(ISpRegDataKey* This,HKEY hkey,WINBOOL fReadOnly) {
   2537     return This->lpVtbl->SetKey(This,hkey,fReadOnly);
   2538 }
   2539 #endif
   2540 #endif
   2541 
   2542 #endif
   2543 
   2544 
   2545 #endif  /* __ISpRegDataKey_INTERFACE_DEFINED__ */
   2546 
   2547 /*****************************************************************************
   2548  * ISpObjectTokenCategory interface
   2549  */
   2550 #ifndef __ISpObjectTokenCategory_INTERFACE_DEFINED__
   2551 #define __ISpObjectTokenCategory_INTERFACE_DEFINED__
   2552 
   2553 DEFINE_GUID(IID_ISpObjectTokenCategory, 0x2d3d3845, 0x39af, 0x4850, 0xbb,0xf9, 0x40,0xb4,0x97,0x80,0x01,0x1d);
   2554 #if defined(__cplusplus) && !defined(CINTERFACE)
   2555 MIDL_INTERFACE("2d3d3845-39af-4850-bbf9-40b49780011d")
   2556 ISpObjectTokenCategory : public ISpDataKey
   2557 {
   2558     virtual HRESULT STDMETHODCALLTYPE SetId(
   2559         LPCWSTR pszCategoryId,
   2560         WINBOOL fCreateIfNotExist) = 0;
   2561 
   2562     virtual HRESULT STDMETHODCALLTYPE GetId(
   2563         LPWSTR *ppszCoMemCategoryId) = 0;
   2564 
   2565     virtual HRESULT STDMETHODCALLTYPE GetDataKey(
   2566         SPDATAKEYLOCATION spdkl,
   2567         ISpDataKey **ppDataKey) = 0;
   2568 
   2569     virtual HRESULT STDMETHODCALLTYPE EnumTokens(
   2570         LPCWSTR pzsReqAttribs,
   2571         LPCWSTR pszOptAttribs,
   2572         IEnumSpObjectTokens **ppEnum) = 0;
   2573 
   2574     virtual HRESULT STDMETHODCALLTYPE SetDefaultTokenId(
   2575         LPCWSTR pszTokenId) = 0;
   2576 
   2577     virtual HRESULT STDMETHODCALLTYPE GetDefaultTokenId(
   2578         LPWSTR *ppszCoMemTokenId) = 0;
   2579 
   2580 };
   2581 #ifdef __CRT_UUID_DECL
   2582 __CRT_UUID_DECL(ISpObjectTokenCategory, 0x2d3d3845, 0x39af, 0x4850, 0xbb,0xf9, 0x40,0xb4,0x97,0x80,0x01,0x1d)
   2583 #endif
   2584 #else
   2585 typedef struct ISpObjectTokenCategoryVtbl {
   2586     BEGIN_INTERFACE
   2587 
   2588     /*** IUnknown methods ***/
   2589     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2590         ISpObjectTokenCategory* This,
   2591         REFIID riid,
   2592         void **ppvObject);
   2593 
   2594     ULONG (STDMETHODCALLTYPE *AddRef)(
   2595         ISpObjectTokenCategory* This);
   2596 
   2597     ULONG (STDMETHODCALLTYPE *Release)(
   2598         ISpObjectTokenCategory* This);
   2599 
   2600     /*** ISpDataKey methods ***/
   2601     HRESULT (STDMETHODCALLTYPE *SetData)(
   2602         ISpObjectTokenCategory* This,
   2603         LPCWSTR pszValueName,
   2604         ULONG cbData,
   2605         const BYTE *pData);
   2606 
   2607     HRESULT (STDMETHODCALLTYPE *GetData)(
   2608         ISpObjectTokenCategory* This,
   2609         LPCWSTR pszValueName,
   2610         ULONG *pcbData,
   2611         BYTE *pData);
   2612 
   2613     HRESULT (STDMETHODCALLTYPE *SetStringValue)(
   2614         ISpObjectTokenCategory* This,
   2615         LPCWSTR pszValueName,
   2616         LPCWSTR pszValue);
   2617 
   2618     HRESULT (STDMETHODCALLTYPE *GetStringValue)(
   2619         ISpObjectTokenCategory* This,
   2620         LPCWSTR pszValueName,
   2621         LPWSTR *ppszValue);
   2622 
   2623     HRESULT (STDMETHODCALLTYPE *SetDWORD)(
   2624         ISpObjectTokenCategory* This,
   2625         LPCWSTR pszValueName,
   2626         DWORD dwValue);
   2627 
   2628     HRESULT (STDMETHODCALLTYPE *GetDWORD)(
   2629         ISpObjectTokenCategory* This,
   2630         LPCWSTR pszValueName,
   2631         DWORD *pdwValue);
   2632 
   2633     HRESULT (STDMETHODCALLTYPE *OpenKey)(
   2634         ISpObjectTokenCategory* This,
   2635         LPCWSTR pszSubKeyName,
   2636         ISpDataKey **ppSubKey);
   2637 
   2638     HRESULT (STDMETHODCALLTYPE *CreateKey)(
   2639         ISpObjectTokenCategory* This,
   2640         LPCWSTR pszSubKey,
   2641         ISpDataKey **ppSubKey);
   2642 
   2643     HRESULT (STDMETHODCALLTYPE *DeleteKey)(
   2644         ISpObjectTokenCategory* This,
   2645         LPCWSTR pszSubKey);
   2646 
   2647     HRESULT (STDMETHODCALLTYPE *DeleteValue)(
   2648         ISpObjectTokenCategory* This,
   2649         LPCWSTR pszValueName);
   2650 
   2651     HRESULT (STDMETHODCALLTYPE *EnumKeys)(
   2652         ISpObjectTokenCategory* This,
   2653         ULONG Index,
   2654         LPWSTR *ppszSubKeyName);
   2655 
   2656     HRESULT (STDMETHODCALLTYPE *EnumValues)(
   2657         ISpObjectTokenCategory* This,
   2658         ULONG Index,
   2659         LPWSTR *ppszValueName);
   2660 
   2661     /*** ISpObjectTokenCategory methods ***/
   2662     HRESULT (STDMETHODCALLTYPE *SetId)(
   2663         ISpObjectTokenCategory* This,
   2664         LPCWSTR pszCategoryId,
   2665         WINBOOL fCreateIfNotExist);
   2666 
   2667     HRESULT (STDMETHODCALLTYPE *GetId)(
   2668         ISpObjectTokenCategory* This,
   2669         LPWSTR *ppszCoMemCategoryId);
   2670 
   2671     HRESULT (STDMETHODCALLTYPE *GetDataKey)(
   2672         ISpObjectTokenCategory* This,
   2673         SPDATAKEYLOCATION spdkl,
   2674         ISpDataKey **ppDataKey);
   2675 
   2676     HRESULT (STDMETHODCALLTYPE *EnumTokens)(
   2677         ISpObjectTokenCategory* This,
   2678         LPCWSTR pzsReqAttribs,
   2679         LPCWSTR pszOptAttribs,
   2680         IEnumSpObjectTokens **ppEnum);
   2681 
   2682     HRESULT (STDMETHODCALLTYPE *SetDefaultTokenId)(
   2683         ISpObjectTokenCategory* This,
   2684         LPCWSTR pszTokenId);
   2685 
   2686     HRESULT (STDMETHODCALLTYPE *GetDefaultTokenId)(
   2687         ISpObjectTokenCategory* This,
   2688         LPWSTR *ppszCoMemTokenId);
   2689 
   2690     END_INTERFACE
   2691 } ISpObjectTokenCategoryVtbl;
   2692 interface ISpObjectTokenCategory {
   2693     CONST_VTBL ISpObjectTokenCategoryVtbl* lpVtbl;
   2694 };
   2695 
   2696 #ifdef COBJMACROS
   2697 #ifndef WIDL_C_INLINE_WRAPPERS
   2698 /*** IUnknown methods ***/
   2699 #define ISpObjectTokenCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2700 #define ISpObjectTokenCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
   2701 #define ISpObjectTokenCategory_Release(This) (This)->lpVtbl->Release(This)
   2702 /*** ISpDataKey methods ***/
   2703 #define ISpObjectTokenCategory_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
   2704 #define ISpObjectTokenCategory_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
   2705 #define ISpObjectTokenCategory_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
   2706 #define ISpObjectTokenCategory_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
   2707 #define ISpObjectTokenCategory_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
   2708 #define ISpObjectTokenCategory_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
   2709 #define ISpObjectTokenCategory_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
   2710 #define ISpObjectTokenCategory_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
   2711 #define ISpObjectTokenCategory_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
   2712 #define ISpObjectTokenCategory_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
   2713 #define ISpObjectTokenCategory_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
   2714 #define ISpObjectTokenCategory_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
   2715 /*** ISpObjectTokenCategory methods ***/
   2716 #define ISpObjectTokenCategory_SetId(This,pszCategoryId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,fCreateIfNotExist)
   2717 #define ISpObjectTokenCategory_GetId(This,ppszCoMemCategoryId) (This)->lpVtbl->GetId(This,ppszCoMemCategoryId)
   2718 #define ISpObjectTokenCategory_GetDataKey(This,spdkl,ppDataKey) (This)->lpVtbl->GetDataKey(This,spdkl,ppDataKey)
   2719 #define ISpObjectTokenCategory_EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum) (This)->lpVtbl->EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum)
   2720 #define ISpObjectTokenCategory_SetDefaultTokenId(This,pszTokenId) (This)->lpVtbl->SetDefaultTokenId(This,pszTokenId)
   2721 #define ISpObjectTokenCategory_GetDefaultTokenId(This,ppszCoMemTokenId) (This)->lpVtbl->GetDefaultTokenId(This,ppszCoMemTokenId)
   2722 #else
   2723 /*** IUnknown methods ***/
   2724 static FORCEINLINE HRESULT ISpObjectTokenCategory_QueryInterface(ISpObjectTokenCategory* This,REFIID riid,void **ppvObject) {
   2725     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2726 }
   2727 static FORCEINLINE ULONG ISpObjectTokenCategory_AddRef(ISpObjectTokenCategory* This) {
   2728     return This->lpVtbl->AddRef(This);
   2729 }
   2730 static FORCEINLINE ULONG ISpObjectTokenCategory_Release(ISpObjectTokenCategory* This) {
   2731     return This->lpVtbl->Release(This);
   2732 }
   2733 /*** ISpDataKey methods ***/
   2734 static FORCEINLINE HRESULT ISpObjectTokenCategory_SetData(ISpObjectTokenCategory* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
   2735     return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
   2736 }
   2737 static FORCEINLINE HRESULT ISpObjectTokenCategory_GetData(ISpObjectTokenCategory* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
   2738     return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
   2739 }
   2740 static FORCEINLINE HRESULT ISpObjectTokenCategory_SetStringValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
   2741     return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
   2742 }
   2743 static FORCEINLINE HRESULT ISpObjectTokenCategory_GetStringValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
   2744     return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
   2745 }
   2746 static FORCEINLINE HRESULT ISpObjectTokenCategory_SetDWORD(ISpObjectTokenCategory* This,LPCWSTR pszValueName,DWORD dwValue) {
   2747     return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
   2748 }
   2749 static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDWORD(ISpObjectTokenCategory* This,LPCWSTR pszValueName,DWORD *pdwValue) {
   2750     return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
   2751 }
   2752 static FORCEINLINE HRESULT ISpObjectTokenCategory_OpenKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
   2753     return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
   2754 }
   2755 static FORCEINLINE HRESULT ISpObjectTokenCategory_CreateKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
   2756     return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
   2757 }
   2758 static FORCEINLINE HRESULT ISpObjectTokenCategory_DeleteKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKey) {
   2759     return This->lpVtbl->DeleteKey(This,pszSubKey);
   2760 }
   2761 static FORCEINLINE HRESULT ISpObjectTokenCategory_DeleteValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName) {
   2762     return This->lpVtbl->DeleteValue(This,pszValueName);
   2763 }
   2764 static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumKeys(ISpObjectTokenCategory* This,ULONG Index,LPWSTR *ppszSubKeyName) {
   2765     return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
   2766 }
   2767 static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumValues(ISpObjectTokenCategory* This,ULONG Index,LPWSTR *ppszValueName) {
   2768     return This->lpVtbl->EnumValues(This,Index,ppszValueName);
   2769 }
   2770 /*** ISpObjectTokenCategory methods ***/
   2771 static FORCEINLINE HRESULT ISpObjectTokenCategory_SetId(ISpObjectTokenCategory* This,LPCWSTR pszCategoryId,WINBOOL fCreateIfNotExist) {
   2772     return This->lpVtbl->SetId(This,pszCategoryId,fCreateIfNotExist);
   2773 }
   2774 static FORCEINLINE HRESULT ISpObjectTokenCategory_GetId(ISpObjectTokenCategory* This,LPWSTR *ppszCoMemCategoryId) {
   2775     return This->lpVtbl->GetId(This,ppszCoMemCategoryId);
   2776 }
   2777 static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDataKey(ISpObjectTokenCategory* This,SPDATAKEYLOCATION spdkl,ISpDataKey **ppDataKey) {
   2778     return This->lpVtbl->GetDataKey(This,spdkl,ppDataKey);
   2779 }
   2780 static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumTokens(ISpObjectTokenCategory* This,LPCWSTR pzsReqAttribs,LPCWSTR pszOptAttribs,IEnumSpObjectTokens **ppEnum) {
   2781     return This->lpVtbl->EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum);
   2782 }
   2783 static FORCEINLINE HRESULT ISpObjectTokenCategory_SetDefaultTokenId(ISpObjectTokenCategory* This,LPCWSTR pszTokenId) {
   2784     return This->lpVtbl->SetDefaultTokenId(This,pszTokenId);
   2785 }
   2786 static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDefaultTokenId(ISpObjectTokenCategory* This,LPWSTR *ppszCoMemTokenId) {
   2787     return This->lpVtbl->GetDefaultTokenId(This,ppszCoMemTokenId);
   2788 }
   2789 #endif
   2790 #endif
   2791 
   2792 #endif
   2793 
   2794 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_SetId_Proxy(
   2795     ISpObjectTokenCategory* This,
   2796     LPCWSTR pszCategoryId,
   2797     WINBOOL fCreateIfNotExist);
   2798 void __RPC_STUB ISpObjectTokenCategory_SetId_Stub(
   2799     IRpcStubBuffer* This,
   2800     IRpcChannelBuffer* pRpcChannelBuffer,
   2801     PRPC_MESSAGE pRpcMessage,
   2802     DWORD* pdwStubPhase);
   2803 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetId_Proxy(
   2804     ISpObjectTokenCategory* This,
   2805     LPWSTR *ppszCoMemCategoryId);
   2806 void __RPC_STUB ISpObjectTokenCategory_GetId_Stub(
   2807     IRpcStubBuffer* This,
   2808     IRpcChannelBuffer* pRpcChannelBuffer,
   2809     PRPC_MESSAGE pRpcMessage,
   2810     DWORD* pdwStubPhase);
   2811 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetDataKey_Proxy(
   2812     ISpObjectTokenCategory* This,
   2813     SPDATAKEYLOCATION spdkl,
   2814     ISpDataKey **ppDataKey);
   2815 void __RPC_STUB ISpObjectTokenCategory_GetDataKey_Stub(
   2816     IRpcStubBuffer* This,
   2817     IRpcChannelBuffer* pRpcChannelBuffer,
   2818     PRPC_MESSAGE pRpcMessage,
   2819     DWORD* pdwStubPhase);
   2820 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_EnumTokens_Proxy(
   2821     ISpObjectTokenCategory* This,
   2822     LPCWSTR pzsReqAttribs,
   2823     LPCWSTR pszOptAttribs,
   2824     IEnumSpObjectTokens **ppEnum);
   2825 void __RPC_STUB ISpObjectTokenCategory_EnumTokens_Stub(
   2826     IRpcStubBuffer* This,
   2827     IRpcChannelBuffer* pRpcChannelBuffer,
   2828     PRPC_MESSAGE pRpcMessage,
   2829     DWORD* pdwStubPhase);
   2830 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_SetDefaultTokenId_Proxy(
   2831     ISpObjectTokenCategory* This,
   2832     LPCWSTR pszTokenId);
   2833 void __RPC_STUB ISpObjectTokenCategory_SetDefaultTokenId_Stub(
   2834     IRpcStubBuffer* This,
   2835     IRpcChannelBuffer* pRpcChannelBuffer,
   2836     PRPC_MESSAGE pRpcMessage,
   2837     DWORD* pdwStubPhase);
   2838 HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetDefaultTokenId_Proxy(
   2839     ISpObjectTokenCategory* This,
   2840     LPWSTR *ppszCoMemTokenId);
   2841 void __RPC_STUB ISpObjectTokenCategory_GetDefaultTokenId_Stub(
   2842     IRpcStubBuffer* This,
   2843     IRpcChannelBuffer* pRpcChannelBuffer,
   2844     PRPC_MESSAGE pRpcMessage,
   2845     DWORD* pdwStubPhase);
   2846 
   2847 #endif  /* __ISpObjectTokenCategory_INTERFACE_DEFINED__ */
   2848 
   2849 /*****************************************************************************
   2850  * ISpObjectToken interface
   2851  */
   2852 #ifndef __ISpObjectToken_INTERFACE_DEFINED__
   2853 #define __ISpObjectToken_INTERFACE_DEFINED__
   2854 
   2855 DEFINE_GUID(IID_ISpObjectToken, 0x14056589, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
   2856 #if defined(__cplusplus) && !defined(CINTERFACE)
   2857 MIDL_INTERFACE("14056589-e16c-11d2-bb90-00c04f8ee6c0")
   2858 ISpObjectToken : public ISpDataKey
   2859 {
   2860     virtual HRESULT STDMETHODCALLTYPE SetId(
   2861         LPCWSTR pszCategoryId,
   2862         LPCWSTR pszTokenId,
   2863         WINBOOL fCreateIfNotExist) = 0;
   2864 
   2865     virtual HRESULT STDMETHODCALLTYPE GetId(
   2866         LPWSTR *ppszCoMemTokenId) = 0;
   2867 
   2868     virtual HRESULT STDMETHODCALLTYPE GetCategory(
   2869         ISpObjectTokenCategory **ppTokenCategory) = 0;
   2870 
   2871     virtual HRESULT STDMETHODCALLTYPE CreateInstance(
   2872         IUnknown *pUnkOuter,
   2873         DWORD dwClsContext,
   2874         REFIID riid,
   2875         void **ppvObject) = 0;
   2876 
   2877     virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
   2878         REFCLSID clsidCaller,
   2879         LPCWSTR pszValueName,
   2880         LPCWSTR pszFileNameSpecifier,
   2881         ULONG nFolder,
   2882         LPWSTR *ppszFilePath) = 0;
   2883 
   2884     virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
   2885         REFCLSID clsidCaller,
   2886         LPCWSTR pszKeyName,
   2887         WINBOOL fDeleteFile) = 0;
   2888 
   2889     virtual HRESULT STDMETHODCALLTYPE Remove(
   2890         const CLSID *pclsidCaller) = 0;
   2891 
   2892     virtual HRESULT STDMETHODCALLTYPE IsUISupported(
   2893         LPCWSTR pszTypeOfUI,
   2894         void *pvExtraData,
   2895         ULONG cbExtraData,
   2896         IUnknown *punkObject,
   2897         WINBOOL *pfSupported) = 0;
   2898 
   2899     virtual HRESULT STDMETHODCALLTYPE DisplayUI(
   2900         HWND hwndParent,
   2901         LPCWSTR pszTitle,
   2902         LPCWSTR pszTypeOfUI,
   2903         void *pvExtraData,
   2904         ULONG cbExtraData,
   2905         IUnknown *punkObject) = 0;
   2906 
   2907     virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
   2908         LPCWSTR pszAttributes,
   2909         WINBOOL *pfMatches) = 0;
   2910 
   2911 };
   2912 #ifdef __CRT_UUID_DECL
   2913 __CRT_UUID_DECL(ISpObjectToken, 0x14056589, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
   2914 #endif
   2915 #else
   2916 typedef struct ISpObjectTokenVtbl {
   2917     BEGIN_INTERFACE
   2918 
   2919     /*** IUnknown methods ***/
   2920     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2921         ISpObjectToken* This,
   2922         REFIID riid,
   2923         void **ppvObject);
   2924 
   2925     ULONG (STDMETHODCALLTYPE *AddRef)(
   2926         ISpObjectToken* This);
   2927 
   2928     ULONG (STDMETHODCALLTYPE *Release)(
   2929         ISpObjectToken* This);
   2930 
   2931     /*** ISpDataKey methods ***/
   2932     HRESULT (STDMETHODCALLTYPE *SetData)(
   2933         ISpObjectToken* This,
   2934         LPCWSTR pszValueName,
   2935         ULONG cbData,
   2936         const BYTE *pData);
   2937 
   2938     HRESULT (STDMETHODCALLTYPE *GetData)(
   2939         ISpObjectToken* This,
   2940         LPCWSTR pszValueName,
   2941         ULONG *pcbData,
   2942         BYTE *pData);
   2943 
   2944     HRESULT (STDMETHODCALLTYPE *SetStringValue)(
   2945         ISpObjectToken* This,
   2946         LPCWSTR pszValueName,
   2947         LPCWSTR pszValue);
   2948 
   2949     HRESULT (STDMETHODCALLTYPE *GetStringValue)(
   2950         ISpObjectToken* This,
   2951         LPCWSTR pszValueName,
   2952         LPWSTR *ppszValue);
   2953 
   2954     HRESULT (STDMETHODCALLTYPE *SetDWORD)(
   2955         ISpObjectToken* This,
   2956         LPCWSTR pszValueName,
   2957         DWORD dwValue);
   2958 
   2959     HRESULT (STDMETHODCALLTYPE *GetDWORD)(
   2960         ISpObjectToken* This,
   2961         LPCWSTR pszValueName,
   2962         DWORD *pdwValue);
   2963 
   2964     HRESULT (STDMETHODCALLTYPE *OpenKey)(
   2965         ISpObjectToken* This,
   2966         LPCWSTR pszSubKeyName,
   2967         ISpDataKey **ppSubKey);
   2968 
   2969     HRESULT (STDMETHODCALLTYPE *CreateKey)(
   2970         ISpObjectToken* This,
   2971         LPCWSTR pszSubKey,
   2972         ISpDataKey **ppSubKey);
   2973 
   2974     HRESULT (STDMETHODCALLTYPE *DeleteKey)(
   2975         ISpObjectToken* This,
   2976         LPCWSTR pszSubKey);
   2977 
   2978     HRESULT (STDMETHODCALLTYPE *DeleteValue)(
   2979         ISpObjectToken* This,
   2980         LPCWSTR pszValueName);
   2981 
   2982     HRESULT (STDMETHODCALLTYPE *EnumKeys)(
   2983         ISpObjectToken* This,
   2984         ULONG Index,
   2985         LPWSTR *ppszSubKeyName);
   2986 
   2987     HRESULT (STDMETHODCALLTYPE *EnumValues)(
   2988         ISpObjectToken* This,
   2989         ULONG Index,
   2990         LPWSTR *ppszValueName);
   2991 
   2992     /*** ISpObjectToken methods ***/
   2993     HRESULT (STDMETHODCALLTYPE *SetId)(
   2994         ISpObjectToken* This,
   2995         LPCWSTR pszCategoryId,
   2996         LPCWSTR pszTokenId,
   2997         WINBOOL fCreateIfNotExist);
   2998 
   2999     HRESULT (STDMETHODCALLTYPE *GetId)(
   3000         ISpObjectToken* This,
   3001         LPWSTR *ppszCoMemTokenId);
   3002 
   3003     HRESULT (STDMETHODCALLTYPE *GetCategory)(
   3004         ISpObjectToken* This,
   3005         ISpObjectTokenCategory **ppTokenCategory);
   3006 
   3007     HRESULT (STDMETHODCALLTYPE *CreateInstance)(
   3008         ISpObjectToken* This,
   3009         IUnknown *pUnkOuter,
   3010         DWORD dwClsContext,
   3011         REFIID riid,
   3012         void **ppvObject);
   3013 
   3014     HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
   3015         ISpObjectToken* This,
   3016         REFCLSID clsidCaller,
   3017         LPCWSTR pszValueName,
   3018         LPCWSTR pszFileNameSpecifier,
   3019         ULONG nFolder,
   3020         LPWSTR *ppszFilePath);
   3021 
   3022     HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
   3023         ISpObjectToken* This,
   3024         REFCLSID clsidCaller,
   3025         LPCWSTR pszKeyName,
   3026         WINBOOL fDeleteFile);
   3027 
   3028     HRESULT (STDMETHODCALLTYPE *Remove)(
   3029         ISpObjectToken* This,
   3030         const CLSID *pclsidCaller);
   3031 
   3032     HRESULT (STDMETHODCALLTYPE *IsUISupported)(
   3033         ISpObjectToken* This,
   3034         LPCWSTR pszTypeOfUI,
   3035         void *pvExtraData,
   3036         ULONG cbExtraData,
   3037         IUnknown *punkObject,
   3038         WINBOOL *pfSupported);
   3039 
   3040     HRESULT (STDMETHODCALLTYPE *DisplayUI)(
   3041         ISpObjectToken* This,
   3042         HWND hwndParent,
   3043         LPCWSTR pszTitle,
   3044         LPCWSTR pszTypeOfUI,
   3045         void *pvExtraData,
   3046         ULONG cbExtraData,
   3047         IUnknown *punkObject);
   3048 
   3049     HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
   3050         ISpObjectToken* This,
   3051         LPCWSTR pszAttributes,
   3052         WINBOOL *pfMatches);
   3053 
   3054     END_INTERFACE
   3055 } ISpObjectTokenVtbl;
   3056 interface ISpObjectToken {
   3057     CONST_VTBL ISpObjectTokenVtbl* lpVtbl;
   3058 };
   3059 
   3060 #ifdef COBJMACROS
   3061 #ifndef WIDL_C_INLINE_WRAPPERS
   3062 /*** IUnknown methods ***/
   3063 #define ISpObjectToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3064 #define ISpObjectToken_AddRef(This) (This)->lpVtbl->AddRef(This)
   3065 #define ISpObjectToken_Release(This) (This)->lpVtbl->Release(This)
   3066 /*** ISpDataKey methods ***/
   3067 #define ISpObjectToken_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
   3068 #define ISpObjectToken_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
   3069 #define ISpObjectToken_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
   3070 #define ISpObjectToken_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
   3071 #define ISpObjectToken_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
   3072 #define ISpObjectToken_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
   3073 #define ISpObjectToken_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
   3074 #define ISpObjectToken_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
   3075 #define ISpObjectToken_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
   3076 #define ISpObjectToken_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
   3077 #define ISpObjectToken_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
   3078 #define ISpObjectToken_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
   3079 /*** ISpObjectToken methods ***/
   3080 #define ISpObjectToken_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
   3081 #define ISpObjectToken_GetId(This,ppszCoMemTokenId) (This)->lpVtbl->GetId(This,ppszCoMemTokenId)
   3082 #define ISpObjectToken_GetCategory(This,ppTokenCategory) (This)->lpVtbl->GetCategory(This,ppTokenCategory)
   3083 #define ISpObjectToken_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
   3084 #define ISpObjectToken_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) (This)->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
   3085 #define ISpObjectToken_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
   3086 #define ISpObjectToken_Remove(This,pclsidCaller) (This)->lpVtbl->Remove(This,pclsidCaller)
   3087 #define ISpObjectToken_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
   3088 #define ISpObjectToken_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
   3089 #define ISpObjectToken_MatchesAttributes(This,pszAttributes,pfMatches) (This)->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches)
   3090 #else
   3091 /*** IUnknown methods ***/
   3092 static FORCEINLINE HRESULT ISpObjectToken_QueryInterface(ISpObjectToken* This,REFIID riid,void **ppvObject) {
   3093     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3094 }
   3095 static FORCEINLINE ULONG ISpObjectToken_AddRef(ISpObjectToken* This) {
   3096     return This->lpVtbl->AddRef(This);
   3097 }
   3098 static FORCEINLINE ULONG ISpObjectToken_Release(ISpObjectToken* This) {
   3099     return This->lpVtbl->Release(This);
   3100 }
   3101 /*** ISpDataKey methods ***/
   3102 static FORCEINLINE HRESULT ISpObjectToken_SetData(ISpObjectToken* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
   3103     return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
   3104 }
   3105 static FORCEINLINE HRESULT ISpObjectToken_GetData(ISpObjectToken* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
   3106     return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
   3107 }
   3108 static FORCEINLINE HRESULT ISpObjectToken_SetStringValue(ISpObjectToken* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
   3109     return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
   3110 }
   3111 static FORCEINLINE HRESULT ISpObjectToken_GetStringValue(ISpObjectToken* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
   3112     return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
   3113 }
   3114 static FORCEINLINE HRESULT ISpObjectToken_SetDWORD(ISpObjectToken* This,LPCWSTR pszValueName,DWORD dwValue) {
   3115     return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
   3116 }
   3117 static FORCEINLINE HRESULT ISpObjectToken_GetDWORD(ISpObjectToken* This,LPCWSTR pszValueName,DWORD *pdwValue) {
   3118     return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
   3119 }
   3120 static FORCEINLINE HRESULT ISpObjectToken_OpenKey(ISpObjectToken* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
   3121     return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
   3122 }
   3123 static FORCEINLINE HRESULT ISpObjectToken_CreateKey(ISpObjectToken* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
   3124     return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
   3125 }
   3126 static FORCEINLINE HRESULT ISpObjectToken_DeleteKey(ISpObjectToken* This,LPCWSTR pszSubKey) {
   3127     return This->lpVtbl->DeleteKey(This,pszSubKey);
   3128 }
   3129 static FORCEINLINE HRESULT ISpObjectToken_DeleteValue(ISpObjectToken* This,LPCWSTR pszValueName) {
   3130     return This->lpVtbl->DeleteValue(This,pszValueName);
   3131 }
   3132 static FORCEINLINE HRESULT ISpObjectToken_EnumKeys(ISpObjectToken* This,ULONG Index,LPWSTR *ppszSubKeyName) {
   3133     return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
   3134 }
   3135 static FORCEINLINE HRESULT ISpObjectToken_EnumValues(ISpObjectToken* This,ULONG Index,LPWSTR *ppszValueName) {
   3136     return This->lpVtbl->EnumValues(This,Index,ppszValueName);
   3137 }
   3138 /*** ISpObjectToken methods ***/
   3139 static FORCEINLINE HRESULT ISpObjectToken_SetId(ISpObjectToken* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,WINBOOL fCreateIfNotExist) {
   3140     return This->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist);
   3141 }
   3142 static FORCEINLINE HRESULT ISpObjectToken_GetId(ISpObjectToken* This,LPWSTR *ppszCoMemTokenId) {
   3143     return This->lpVtbl->GetId(This,ppszCoMemTokenId);
   3144 }
   3145 static FORCEINLINE HRESULT ISpObjectToken_GetCategory(ISpObjectToken* This,ISpObjectTokenCategory **ppTokenCategory) {
   3146     return This->lpVtbl->GetCategory(This,ppTokenCategory);
   3147 }
   3148 static FORCEINLINE HRESULT ISpObjectToken_CreateInstance(ISpObjectToken* This,IUnknown *pUnkOuter,DWORD dwClsContext,REFIID riid,void **ppvObject) {
   3149     return This->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject);
   3150 }
   3151 static FORCEINLINE HRESULT ISpObjectToken_GetStorageFileName(ISpObjectToken* This,REFCLSID clsidCaller,LPCWSTR pszValueName,LPCWSTR pszFileNameSpecifier,ULONG nFolder,LPWSTR *ppszFilePath) {
   3152     return This->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath);
   3153 }
   3154 static FORCEINLINE HRESULT ISpObjectToken_RemoveStorageFileName(ISpObjectToken* This,REFCLSID clsidCaller,LPCWSTR pszKeyName,WINBOOL fDeleteFile) {
   3155     return This->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile);
   3156 }
   3157 static FORCEINLINE HRESULT ISpObjectToken_Remove(ISpObjectToken* This,const CLSID *pclsidCaller) {
   3158     return This->lpVtbl->Remove(This,pclsidCaller);
   3159 }
   3160 static FORCEINLINE HRESULT ISpObjectToken_IsUISupported(ISpObjectToken* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject,WINBOOL *pfSupported) {
   3161     return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported);
   3162 }
   3163 static FORCEINLINE HRESULT ISpObjectToken_DisplayUI(ISpObjectToken* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject) {
   3164     return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject);
   3165 }
   3166 static FORCEINLINE HRESULT ISpObjectToken_MatchesAttributes(ISpObjectToken* This,LPCWSTR pszAttributes,WINBOOL *pfMatches) {
   3167     return This->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches);
   3168 }
   3169 #endif
   3170 #endif
   3171 
   3172 #endif
   3173 
   3174 HRESULT STDMETHODCALLTYPE ISpObjectToken_SetId_Proxy(
   3175     ISpObjectToken* This,
   3176     LPCWSTR pszCategoryId,
   3177     LPCWSTR pszTokenId,
   3178     WINBOOL fCreateIfNotExist);
   3179 void __RPC_STUB ISpObjectToken_SetId_Stub(
   3180     IRpcStubBuffer* This,
   3181     IRpcChannelBuffer* pRpcChannelBuffer,
   3182     PRPC_MESSAGE pRpcMessage,
   3183     DWORD* pdwStubPhase);
   3184 HRESULT STDMETHODCALLTYPE ISpObjectToken_GetId_Proxy(
   3185     ISpObjectToken* This,
   3186     LPWSTR *ppszCoMemTokenId);
   3187 void __RPC_STUB ISpObjectToken_GetId_Stub(
   3188     IRpcStubBuffer* This,
   3189     IRpcChannelBuffer* pRpcChannelBuffer,
   3190     PRPC_MESSAGE pRpcMessage,
   3191     DWORD* pdwStubPhase);
   3192 HRESULT STDMETHODCALLTYPE ISpObjectToken_GetCategory_Proxy(
   3193     ISpObjectToken* This,
   3194     ISpObjectTokenCategory **ppTokenCategory);
   3195 void __RPC_STUB ISpObjectToken_GetCategory_Stub(
   3196     IRpcStubBuffer* This,
   3197     IRpcChannelBuffer* pRpcChannelBuffer,
   3198     PRPC_MESSAGE pRpcMessage,
   3199     DWORD* pdwStubPhase);
   3200 HRESULT STDMETHODCALLTYPE ISpObjectToken_CreateInstance_Proxy(
   3201     ISpObjectToken* This,
   3202     IUnknown *pUnkOuter,
   3203     DWORD dwClsContext,
   3204     REFIID riid,
   3205     void **ppvObject);
   3206 void __RPC_STUB ISpObjectToken_CreateInstance_Stub(
   3207     IRpcStubBuffer* This,
   3208     IRpcChannelBuffer* pRpcChannelBuffer,
   3209     PRPC_MESSAGE pRpcMessage,
   3210     DWORD* pdwStubPhase);
   3211 HRESULT STDMETHODCALLTYPE ISpObjectToken_GetStorageFileName_Proxy(
   3212     ISpObjectToken* This,
   3213     REFCLSID clsidCaller,
   3214     LPCWSTR pszValueName,
   3215     LPCWSTR pszFileNameSpecifier,
   3216     ULONG nFolder,
   3217     LPWSTR *ppszFilePath);
   3218 void __RPC_STUB ISpObjectToken_GetStorageFileName_Stub(
   3219     IRpcStubBuffer* This,
   3220     IRpcChannelBuffer* pRpcChannelBuffer,
   3221     PRPC_MESSAGE pRpcMessage,
   3222     DWORD* pdwStubPhase);
   3223 HRESULT STDMETHODCALLTYPE ISpObjectToken_RemoveStorageFileName_Proxy(
   3224     ISpObjectToken* This,
   3225     REFCLSID clsidCaller,
   3226     LPCWSTR pszKeyName,
   3227     WINBOOL fDeleteFile);
   3228 void __RPC_STUB ISpObjectToken_RemoveStorageFileName_Stub(
   3229     IRpcStubBuffer* This,
   3230     IRpcChannelBuffer* pRpcChannelBuffer,
   3231     PRPC_MESSAGE pRpcMessage,
   3232     DWORD* pdwStubPhase);
   3233 HRESULT STDMETHODCALLTYPE ISpObjectToken_Remove_Proxy(
   3234     ISpObjectToken* This,
   3235     const CLSID *pclsidCaller);
   3236 void __RPC_STUB ISpObjectToken_Remove_Stub(
   3237     IRpcStubBuffer* This,
   3238     IRpcChannelBuffer* pRpcChannelBuffer,
   3239     PRPC_MESSAGE pRpcMessage,
   3240     DWORD* pdwStubPhase);
   3241 HRESULT STDMETHODCALLTYPE ISpObjectToken_MatchesAttributes_Proxy(
   3242     ISpObjectToken* This,
   3243     LPCWSTR pszAttributes,
   3244     WINBOOL *pfMatches);
   3245 void __RPC_STUB ISpObjectToken_MatchesAttributes_Stub(
   3246     IRpcStubBuffer* This,
   3247     IRpcChannelBuffer* pRpcChannelBuffer,
   3248     PRPC_MESSAGE pRpcMessage,
   3249     DWORD* pdwStubPhase);
   3250 
   3251 #endif  /* __ISpObjectToken_INTERFACE_DEFINED__ */
   3252 
   3253 /*****************************************************************************
   3254  * ISpObjectTokenInit interface
   3255  */
   3256 #ifndef __ISpObjectTokenInit_INTERFACE_DEFINED__
   3257 #define __ISpObjectTokenInit_INTERFACE_DEFINED__
   3258 
   3259 DEFINE_GUID(IID_ISpObjectTokenInit, 0xb8aab0cf, 0x346f, 0x49d8, 0x94,0x99, 0xc8,0xb0,0x3f,0x16,0x1d,0x51);
   3260 #if defined(__cplusplus) && !defined(CINTERFACE)
   3261 MIDL_INTERFACE("b8aab0cf-346f-49d8-9499-c8b03f161d51")
   3262 ISpObjectTokenInit : public ISpObjectToken
   3263 {
   3264     virtual HRESULT STDMETHODCALLTYPE InitFromDataKey(
   3265         LPCWSTR pszCategoryId,
   3266         LPCWSTR pszTokenId,
   3267         ISpDataKey *pDataKey) = 0;
   3268 
   3269 };
   3270 #ifdef __CRT_UUID_DECL
   3271 __CRT_UUID_DECL(ISpObjectTokenInit, 0xb8aab0cf, 0x346f, 0x49d8, 0x94,0x99, 0xc8,0xb0,0x3f,0x16,0x1d,0x51)
   3272 #endif
   3273 #else
   3274 typedef struct ISpObjectTokenInitVtbl {
   3275     BEGIN_INTERFACE
   3276 
   3277     /*** IUnknown methods ***/
   3278     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3279         ISpObjectTokenInit* This,
   3280         REFIID riid,
   3281         void **ppvObject);
   3282 
   3283     ULONG (STDMETHODCALLTYPE *AddRef)(
   3284         ISpObjectTokenInit* This);
   3285 
   3286     ULONG (STDMETHODCALLTYPE *Release)(
   3287         ISpObjectTokenInit* This);
   3288 
   3289     /*** ISpDataKey methods ***/
   3290     HRESULT (STDMETHODCALLTYPE *SetData)(
   3291         ISpObjectTokenInit* This,
   3292         LPCWSTR pszValueName,
   3293         ULONG cbData,
   3294         const BYTE *pData);
   3295 
   3296     HRESULT (STDMETHODCALLTYPE *GetData)(
   3297         ISpObjectTokenInit* This,
   3298         LPCWSTR pszValueName,
   3299         ULONG *pcbData,
   3300         BYTE *pData);
   3301 
   3302     HRESULT (STDMETHODCALLTYPE *SetStringValue)(
   3303         ISpObjectTokenInit* This,
   3304         LPCWSTR pszValueName,
   3305         LPCWSTR pszValue);
   3306 
   3307     HRESULT (STDMETHODCALLTYPE *GetStringValue)(
   3308         ISpObjectTokenInit* This,
   3309         LPCWSTR pszValueName,
   3310         LPWSTR *ppszValue);
   3311 
   3312     HRESULT (STDMETHODCALLTYPE *SetDWORD)(
   3313         ISpObjectTokenInit* This,
   3314         LPCWSTR pszValueName,
   3315         DWORD dwValue);
   3316 
   3317     HRESULT (STDMETHODCALLTYPE *GetDWORD)(
   3318         ISpObjectTokenInit* This,
   3319         LPCWSTR pszValueName,
   3320         DWORD *pdwValue);
   3321 
   3322     HRESULT (STDMETHODCALLTYPE *OpenKey)(
   3323         ISpObjectTokenInit* This,
   3324         LPCWSTR pszSubKeyName,
   3325         ISpDataKey **ppSubKey);
   3326 
   3327     HRESULT (STDMETHODCALLTYPE *CreateKey)(
   3328         ISpObjectTokenInit* This,
   3329         LPCWSTR pszSubKey,
   3330         ISpDataKey **ppSubKey);
   3331 
   3332     HRESULT (STDMETHODCALLTYPE *DeleteKey)(
   3333         ISpObjectTokenInit* This,
   3334         LPCWSTR pszSubKey);
   3335 
   3336     HRESULT (STDMETHODCALLTYPE *DeleteValue)(
   3337         ISpObjectTokenInit* This,
   3338         LPCWSTR pszValueName);
   3339 
   3340     HRESULT (STDMETHODCALLTYPE *EnumKeys)(
   3341         ISpObjectTokenInit* This,
   3342         ULONG Index,
   3343         LPWSTR *ppszSubKeyName);
   3344 
   3345     HRESULT (STDMETHODCALLTYPE *EnumValues)(
   3346         ISpObjectTokenInit* This,
   3347         ULONG Index,
   3348         LPWSTR *ppszValueName);
   3349 
   3350     /*** ISpObjectToken methods ***/
   3351     HRESULT (STDMETHODCALLTYPE *SetId)(
   3352         ISpObjectTokenInit* This,
   3353         LPCWSTR pszCategoryId,
   3354         LPCWSTR pszTokenId,
   3355         WINBOOL fCreateIfNotExist);
   3356 
   3357     HRESULT (STDMETHODCALLTYPE *GetId)(
   3358         ISpObjectTokenInit* This,
   3359         LPWSTR *ppszCoMemTokenId);
   3360 
   3361     HRESULT (STDMETHODCALLTYPE *GetCategory)(
   3362         ISpObjectTokenInit* This,
   3363         ISpObjectTokenCategory **ppTokenCategory);
   3364 
   3365     HRESULT (STDMETHODCALLTYPE *CreateInstance)(
   3366         ISpObjectTokenInit* This,
   3367         IUnknown *pUnkOuter,
   3368         DWORD dwClsContext,
   3369         REFIID riid,
   3370         void **ppvObject);
   3371 
   3372     HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
   3373         ISpObjectTokenInit* This,
   3374         REFCLSID clsidCaller,
   3375         LPCWSTR pszValueName,
   3376         LPCWSTR pszFileNameSpecifier,
   3377         ULONG nFolder,
   3378         LPWSTR *ppszFilePath);
   3379 
   3380     HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
   3381         ISpObjectTokenInit* This,
   3382         REFCLSID clsidCaller,
   3383         LPCWSTR pszKeyName,
   3384         WINBOOL fDeleteFile);
   3385 
   3386     HRESULT (STDMETHODCALLTYPE *Remove)(
   3387         ISpObjectTokenInit* This,
   3388         const CLSID *pclsidCaller);
   3389 
   3390     HRESULT (STDMETHODCALLTYPE *IsUISupported)(
   3391         ISpObjectTokenInit* This,
   3392         LPCWSTR pszTypeOfUI,
   3393         void *pvExtraData,
   3394         ULONG cbExtraData,
   3395         IUnknown *punkObject,
   3396         WINBOOL *pfSupported);
   3397 
   3398     HRESULT (STDMETHODCALLTYPE *DisplayUI)(
   3399         ISpObjectTokenInit* This,
   3400         HWND hwndParent,
   3401         LPCWSTR pszTitle,
   3402         LPCWSTR pszTypeOfUI,
   3403         void *pvExtraData,
   3404         ULONG cbExtraData,
   3405         IUnknown *punkObject);
   3406 
   3407     HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
   3408         ISpObjectTokenInit* This,
   3409         LPCWSTR pszAttributes,
   3410         WINBOOL *pfMatches);
   3411 
   3412     /*** ISpObjectTokenInit methods ***/
   3413     HRESULT (STDMETHODCALLTYPE *InitFromDataKey)(
   3414         ISpObjectTokenInit* This,
   3415         LPCWSTR pszCategoryId,
   3416         LPCWSTR pszTokenId,
   3417         ISpDataKey *pDataKey);
   3418 
   3419     END_INTERFACE
   3420 } ISpObjectTokenInitVtbl;
   3421 interface ISpObjectTokenInit {
   3422     CONST_VTBL ISpObjectTokenInitVtbl* lpVtbl;
   3423 };
   3424 
   3425 #ifdef COBJMACROS
   3426 #ifndef WIDL_C_INLINE_WRAPPERS
   3427 /*** IUnknown methods ***/
   3428 #define ISpObjectTokenInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3429 #define ISpObjectTokenInit_AddRef(This) (This)->lpVtbl->AddRef(This)
   3430 #define ISpObjectTokenInit_Release(This) (This)->lpVtbl->Release(This)
   3431 /*** ISpDataKey methods ***/
   3432 #define ISpObjectTokenInit_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
   3433 #define ISpObjectTokenInit_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
   3434 #define ISpObjectTokenInit_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
   3435 #define ISpObjectTokenInit_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
   3436 #define ISpObjectTokenInit_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
   3437 #define ISpObjectTokenInit_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
   3438 #define ISpObjectTokenInit_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
   3439 #define ISpObjectTokenInit_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
   3440 #define ISpObjectTokenInit_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
   3441 #define ISpObjectTokenInit_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
   3442 #define ISpObjectTokenInit_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
   3443 #define ISpObjectTokenInit_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
   3444 /*** ISpObjectToken methods ***/
   3445 #define ISpObjectTokenInit_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
   3446 #define ISpObjectTokenInit_GetId(This,ppszCoMemTokenId) (This)->lpVtbl->GetId(This,ppszCoMemTokenId)
   3447 #define ISpObjectTokenInit_GetCategory(This,ppTokenCategory) (This)->lpVtbl->GetCategory(This,ppTokenCategory)
   3448 #define ISpObjectTokenInit_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
   3449 #define ISpObjectTokenInit_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) (This)->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
   3450 #define ISpObjectTokenInit_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
   3451 #define ISpObjectTokenInit_Remove(This,pclsidCaller) (This)->lpVtbl->Remove(This,pclsidCaller)
   3452 #define ISpObjectTokenInit_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
   3453 #define ISpObjectTokenInit_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
   3454 #define ISpObjectTokenInit_MatchesAttributes(This,pszAttributes,pfMatches) (This)->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches)
   3455 /*** ISpObjectTokenInit methods ***/
   3456 #define ISpObjectTokenInit_InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey) (This)->lpVtbl->InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey)
   3457 #else
   3458 /*** IUnknown methods ***/
   3459 static FORCEINLINE HRESULT ISpObjectTokenInit_QueryInterface(ISpObjectTokenInit* This,REFIID riid,void **ppvObject) {
   3460     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3461 }
   3462 static FORCEINLINE ULONG ISpObjectTokenInit_AddRef(ISpObjectTokenInit* This) {
   3463     return This->lpVtbl->AddRef(This);
   3464 }
   3465 static FORCEINLINE ULONG ISpObjectTokenInit_Release(ISpObjectTokenInit* This) {
   3466     return This->lpVtbl->Release(This);
   3467 }
   3468 /*** ISpDataKey methods ***/
   3469 static FORCEINLINE HRESULT ISpObjectTokenInit_SetData(ISpObjectTokenInit* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
   3470     return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
   3471 }
   3472 static FORCEINLINE HRESULT ISpObjectTokenInit_GetData(ISpObjectTokenInit* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
   3473     return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
   3474 }
   3475 static FORCEINLINE HRESULT ISpObjectTokenInit_SetStringValue(ISpObjectTokenInit* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
   3476     return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
   3477 }
   3478 static FORCEINLINE HRESULT ISpObjectTokenInit_GetStringValue(ISpObjectTokenInit* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
   3479     return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
   3480 }
   3481 static FORCEINLINE HRESULT ISpObjectTokenInit_SetDWORD(ISpObjectTokenInit* This,LPCWSTR pszValueName,DWORD dwValue) {
   3482     return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
   3483 }
   3484 static FORCEINLINE HRESULT ISpObjectTokenInit_GetDWORD(ISpObjectTokenInit* This,LPCWSTR pszValueName,DWORD *pdwValue) {
   3485     return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
   3486 }
   3487 static FORCEINLINE HRESULT ISpObjectTokenInit_OpenKey(ISpObjectTokenInit* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
   3488     return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
   3489 }
   3490 static FORCEINLINE HRESULT ISpObjectTokenInit_CreateKey(ISpObjectTokenInit* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
   3491     return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
   3492 }
   3493 static FORCEINLINE HRESULT ISpObjectTokenInit_DeleteKey(ISpObjectTokenInit* This,LPCWSTR pszSubKey) {
   3494     return This->lpVtbl->DeleteKey(This,pszSubKey);
   3495 }
   3496 static FORCEINLINE HRESULT ISpObjectTokenInit_DeleteValue(ISpObjectTokenInit* This,LPCWSTR pszValueName) {
   3497     return This->lpVtbl->DeleteValue(This,pszValueName);
   3498 }
   3499 static FORCEINLINE HRESULT ISpObjectTokenInit_EnumKeys(ISpObjectTokenInit* This,ULONG Index,LPWSTR *ppszSubKeyName) {
   3500     return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
   3501 }
   3502 static FORCEINLINE HRESULT ISpObjectTokenInit_EnumValues(ISpObjectTokenInit* This,ULONG Index,LPWSTR *ppszValueName) {
   3503     return This->lpVtbl->EnumValues(This,Index,ppszValueName);
   3504 }
   3505 /*** ISpObjectToken methods ***/
   3506 static FORCEINLINE HRESULT ISpObjectTokenInit_SetId(ISpObjectTokenInit* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,WINBOOL fCreateIfNotExist) {
   3507     return This->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist);
   3508 }
   3509 static FORCEINLINE HRESULT ISpObjectTokenInit_GetId(ISpObjectTokenInit* This,LPWSTR *ppszCoMemTokenId) {
   3510     return This->lpVtbl->GetId(This,ppszCoMemTokenId);
   3511 }
   3512 static FORCEINLINE HRESULT ISpObjectTokenInit_GetCategory(ISpObjectTokenInit* This,ISpObjectTokenCategory **ppTokenCategory) {
   3513     return This->lpVtbl->GetCategory(This,ppTokenCategory);
   3514 }
   3515 static FORCEINLINE HRESULT ISpObjectTokenInit_CreateInstance(ISpObjectTokenInit* This,IUnknown *pUnkOuter,DWORD dwClsContext,REFIID riid,void **ppvObject) {
   3516     return This->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject);
   3517 }
   3518 static FORCEINLINE HRESULT ISpObjectTokenInit_GetStorageFileName(ISpObjectTokenInit* This,REFCLSID clsidCaller,LPCWSTR pszValueName,LPCWSTR pszFileNameSpecifier,ULONG nFolder,LPWSTR *ppszFilePath) {
   3519     return This->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath);
   3520 }
   3521 static FORCEINLINE HRESULT ISpObjectTokenInit_RemoveStorageFileName(ISpObjectTokenInit* This,REFCLSID clsidCaller,LPCWSTR pszKeyName,WINBOOL fDeleteFile) {
   3522     return This->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile);
   3523 }
   3524 static FORCEINLINE HRESULT ISpObjectTokenInit_Remove(ISpObjectTokenInit* This,const CLSID *pclsidCaller) {
   3525     return This->lpVtbl->Remove(This,pclsidCaller);
   3526 }
   3527 static FORCEINLINE HRESULT ISpObjectTokenInit_IsUISupported(ISpObjectTokenInit* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject,WINBOOL *pfSupported) {
   3528     return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported);
   3529 }
   3530 static FORCEINLINE HRESULT ISpObjectTokenInit_DisplayUI(ISpObjectTokenInit* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject) {
   3531     return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject);
   3532 }
   3533 static FORCEINLINE HRESULT ISpObjectTokenInit_MatchesAttributes(ISpObjectTokenInit* This,LPCWSTR pszAttributes,WINBOOL *pfMatches) {
   3534     return This->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches);
   3535 }
   3536 /*** ISpObjectTokenInit methods ***/
   3537 static FORCEINLINE HRESULT ISpObjectTokenInit_InitFromDataKey(ISpObjectTokenInit* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,ISpDataKey *pDataKey) {
   3538     return This->lpVtbl->InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey);
   3539 }
   3540 #endif
   3541 #endif
   3542 
   3543 #endif
   3544 
   3545 HRESULT STDMETHODCALLTYPE ISpObjectTokenInit_InitFromDataKey_Proxy(
   3546     ISpObjectTokenInit* This,
   3547     LPCWSTR pszCategoryId,
   3548     LPCWSTR pszTokenId,
   3549     ISpDataKey *pDataKey);
   3550 void __RPC_STUB ISpObjectTokenInit_InitFromDataKey_Stub(
   3551     IRpcStubBuffer* This,
   3552     IRpcChannelBuffer* pRpcChannelBuffer,
   3553     PRPC_MESSAGE pRpcMessage,
   3554     DWORD* pdwStubPhase);
   3555 
   3556 #endif  /* __ISpObjectTokenInit_INTERFACE_DEFINED__ */
   3557 
   3558 /*****************************************************************************
   3559  * ISpResourceManager interface
   3560  */
   3561 #ifndef __ISpResourceManager_INTERFACE_DEFINED__
   3562 #define __ISpResourceManager_INTERFACE_DEFINED__
   3563 
   3564 DEFINE_GUID(IID_ISpResourceManager, 0x93384e18, 0x5014, 0x43d5, 0xad,0xbb, 0xa7,0x8e,0x05,0x59,0x26,0xbd);
   3565 #if defined(__cplusplus) && !defined(CINTERFACE)
   3566 MIDL_INTERFACE("93384e18-5014-43d5-adbb-a78e055926bd")
   3567 ISpResourceManager : public IServiceProvider
   3568 {
   3569     virtual HRESULT STDMETHODCALLTYPE SetObject(
   3570         REFGUID guidServiceId,
   3571         IUnknown *pUnkObject) = 0;
   3572 
   3573     virtual HRESULT STDMETHODCALLTYPE GetObject(
   3574         REFGUID guidServiceId,
   3575         REFCLSID ObjectCLSID,
   3576         REFIID ObjectIID,
   3577         WINBOOL fReleaseWhenLastExternalRefReleased,
   3578         void **ppObject) = 0;
   3579 
   3580 };
   3581 #ifdef __CRT_UUID_DECL
   3582 __CRT_UUID_DECL(ISpResourceManager, 0x93384e18, 0x5014, 0x43d5, 0xad,0xbb, 0xa7,0x8e,0x05,0x59,0x26,0xbd)
   3583 #endif
   3584 #else
   3585 typedef struct ISpResourceManagerVtbl {
   3586     BEGIN_INTERFACE
   3587 
   3588     /*** IUnknown methods ***/
   3589     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3590         ISpResourceManager* This,
   3591         REFIID riid,
   3592         void **ppvObject);
   3593 
   3594     ULONG (STDMETHODCALLTYPE *AddRef)(
   3595         ISpResourceManager* This);
   3596 
   3597     ULONG (STDMETHODCALLTYPE *Release)(
   3598         ISpResourceManager* This);
   3599 
   3600     /*** IServiceProvider methods ***/
   3601     HRESULT (STDMETHODCALLTYPE *QueryService)(
   3602         ISpResourceManager* This,
   3603         REFGUID guidService,
   3604         REFIID riid,
   3605         void **ppvObject);
   3606 
   3607     /*** ISpResourceManager methods ***/
   3608     HRESULT (STDMETHODCALLTYPE *SetObject)(
   3609         ISpResourceManager* This,
   3610         REFGUID guidServiceId,
   3611         IUnknown *pUnkObject);
   3612 
   3613     HRESULT (STDMETHODCALLTYPE *GetObject)(
   3614         ISpResourceManager* This,
   3615         REFGUID guidServiceId,
   3616         REFCLSID ObjectCLSID,
   3617         REFIID ObjectIID,
   3618         WINBOOL fReleaseWhenLastExternalRefReleased,
   3619         void **ppObject);
   3620 
   3621     END_INTERFACE
   3622 } ISpResourceManagerVtbl;
   3623 interface ISpResourceManager {
   3624     CONST_VTBL ISpResourceManagerVtbl* lpVtbl;
   3625 };
   3626 
   3627 #ifdef COBJMACROS
   3628 #ifndef WIDL_C_INLINE_WRAPPERS
   3629 /*** IUnknown methods ***/
   3630 #define ISpResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3631 #define ISpResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   3632 #define ISpResourceManager_Release(This) (This)->lpVtbl->Release(This)
   3633 /*** IServiceProvider methods ***/
   3634 #define ISpResourceManager_QueryService(This,guidService,riid,ppvObject) (This)->lpVtbl->QueryService(This,guidService,riid,ppvObject)
   3635 /*** ISpResourceManager methods ***/
   3636 #define ISpResourceManager_SetObject(This,guidServiceId,pUnkObject) (This)->lpVtbl->SetObject(This,guidServiceId,pUnkObject)
   3637 #define ISpResourceManager_GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject) (This)->lpVtbl->GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)
   3638 #else
   3639 /*** IUnknown methods ***/
   3640 static FORCEINLINE HRESULT ISpResourceManager_QueryInterface(ISpResourceManager* This,REFIID riid,void **ppvObject) {
   3641     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3642 }
   3643 static FORCEINLINE ULONG ISpResourceManager_AddRef(ISpResourceManager* This) {
   3644     return This->lpVtbl->AddRef(This);
   3645 }
   3646 static FORCEINLINE ULONG ISpResourceManager_Release(ISpResourceManager* This) {
   3647     return This->lpVtbl->Release(This);
   3648 }
   3649 /*** IServiceProvider methods ***/
   3650 static FORCEINLINE HRESULT ISpResourceManager_QueryService(ISpResourceManager* This,REFGUID guidService,REFIID riid,void **ppvObject) {
   3651     return This->lpVtbl->QueryService(This,guidService,riid,ppvObject);
   3652 }
   3653 /*** ISpResourceManager methods ***/
   3654 static FORCEINLINE HRESULT ISpResourceManager_SetObject(ISpResourceManager* This,REFGUID guidServiceId,IUnknown *pUnkObject) {
   3655     return This->lpVtbl->SetObject(This,guidServiceId,pUnkObject);
   3656 }
   3657 static FORCEINLINE HRESULT ISpResourceManager_GetObject(ISpResourceManager* This,REFGUID guidServiceId,REFCLSID ObjectCLSID,REFIID ObjectIID,WINBOOL fReleaseWhenLastExternalRefReleased,void **ppObject) {
   3658     return This->lpVtbl->GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject);
   3659 }
   3660 #endif
   3661 #endif
   3662 
   3663 #endif
   3664 
   3665 HRESULT STDMETHODCALLTYPE ISpResourceManager_SetObject_Proxy(
   3666     ISpResourceManager* This,
   3667     REFGUID guidServiceId,
   3668     IUnknown *pUnkObject);
   3669 void __RPC_STUB ISpResourceManager_SetObject_Stub(
   3670     IRpcStubBuffer* This,
   3671     IRpcChannelBuffer* pRpcChannelBuffer,
   3672     PRPC_MESSAGE pRpcMessage,
   3673     DWORD* pdwStubPhase);
   3674 HRESULT STDMETHODCALLTYPE ISpResourceManager_GetObject_Proxy(
   3675     ISpResourceManager* This,
   3676     REFGUID guidServiceId,
   3677     REFCLSID ObjectCLSID,
   3678     REFIID ObjectIID,
   3679     WINBOOL fReleaseWhenLastExternalRefReleased,
   3680     void **ppObject);
   3681 void __RPC_STUB ISpResourceManager_GetObject_Stub(
   3682     IRpcStubBuffer* This,
   3683     IRpcChannelBuffer* pRpcChannelBuffer,
   3684     PRPC_MESSAGE pRpcMessage,
   3685     DWORD* pdwStubPhase);
   3686 
   3687 #endif  /* __ISpResourceManager_INTERFACE_DEFINED__ */
   3688 
   3689 #if 0
   3690 typedef struct SPEVENT {
   3691     WORD eEventId;
   3692     WORD elParamType;
   3693     ULONG ulStreamNum;
   3694     ULONGLONG ullAudioStreamOffset;
   3695     WPARAM wParam;
   3696     LPARAM lParam;
   3697 } SPEVENT;
   3698 typedef struct SPSERIALIZEDEVENT {
   3699     WORD eEventId;
   3700     WORD elParamType;
   3701     ULONG ulStreamNum;
   3702     ULONGLONG ullAudioStreamOffset;
   3703     ULONG SerializedwParam;
   3704     LONG SerializedlParam;
   3705 } SPSERIALIZEDEVENT;
   3706 typedef struct SPSERIALIZEDEVENT64 {
   3707     WORD eEventId;
   3708     WORD elParamType;
   3709     ULONG ulStreamNum;
   3710     ULONGLONG ullAudioStreamOffset;
   3711     ULONGLONG SerializedwParam;
   3712     LONGLONG SerializedlParam;
   3713 } SPSERIALIZEDEVENT64;
   3714 #else
   3715 typedef struct SPEVENT {
   3716   SPEVENTENUM eEventId : 16;
   3717   SPEVENTLPARAMTYPE elParamType : 16;
   3718   ULONG ulStreamNum;
   3719   ULONGLONG ullAudioStreamOffset;
   3720   WPARAM      wParam;
   3721   LPARAM      lParam;
   3722 } SPEVENT;
   3723 
   3724 typedef struct SPSERIALIZEDEVENT {
   3725   SPEVENTENUM eEventId : 16;
   3726   SPEVENTLPARAMTYPE elParamType : 16;
   3727   ULONG ulStreamNum;
   3728   ULONGLONG ullAudioStreamOffset;
   3729   ULONG SerializedwParam;
   3730   LONG SerializedlParam;
   3731 } SPSERIALIZEDEVENT;
   3732 
   3733 typedef struct SPSERIALIZEDEVENT64 {
   3734   SPEVENTENUM eEventId : 16;
   3735   SPEVENTLPARAMTYPE elParamType : 16;
   3736   ULONG ulStreamNum;
   3737   ULONGLONG ullAudioStreamOffset;
   3738   ULONGLONG SerializedwParam;
   3739   LONGLONG SerializedlParam;
   3740 } SPSERIALIZEDEVENT64;
   3741 #endif
   3742 #if 0
   3743 typedef struct SPEVENTEX {
   3744     WORD eEventId;
   3745     WORD elParamType;
   3746     ULONG ulStreamNum;
   3747     ULONGLONG ullAudioStreamOffset;
   3748     WPARAM wParam;
   3749     LPARAM lParam;
   3750     ULONGLONG ullAudioTimeOffset;
   3751 } SPEVENTEX;
   3752 #else
   3753 typedef struct SPEVENTEX {
   3754   SPEVENTENUM eEventId : 16;
   3755   SPEVENTLPARAMTYPE elParamType : 16;
   3756   ULONG ulStreamNum;
   3757   ULONGLONG ullAudioStreamOffset;
   3758   WPARAM wParam;
   3759   LPARAM lParam;
   3760   ULONGLONG ullAudioTimeOffset;
   3761 } SPEVENTEX;
   3762 #endif
   3763 typedef struct SPEVENTSOURCEINFO {
   3764     ULONGLONG ullEventInterest;
   3765     ULONGLONG ullQueuedInterest;
   3766     ULONG ulCount;
   3767 } SPEVENTSOURCEINFO;
   3768 /*****************************************************************************
   3769  * ISpEventSource interface
   3770  */
   3771 #ifndef __ISpEventSource_INTERFACE_DEFINED__
   3772 #define __ISpEventSource_INTERFACE_DEFINED__
   3773 
   3774 DEFINE_GUID(IID_ISpEventSource, 0xbe7a9cce, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   3775 #if defined(__cplusplus) && !defined(CINTERFACE)
   3776 MIDL_INTERFACE("be7a9cce-5f9e-11d2-960f-00c04f8ee628")
   3777 ISpEventSource : public ISpNotifySource
   3778 {
   3779     virtual HRESULT STDMETHODCALLTYPE SetInterest(
   3780         ULONGLONG ullEventInterest,
   3781         ULONGLONG ullQueuedInterest) = 0;
   3782 
   3783     virtual HRESULT STDMETHODCALLTYPE GetEvents(
   3784         ULONG ulCount,
   3785         SPEVENT *pEventArray,
   3786         ULONG *pulFetched) = 0;
   3787 
   3788     virtual HRESULT STDMETHODCALLTYPE GetInfo(
   3789         SPEVENTSOURCEINFO *pInfo) = 0;
   3790 
   3791 };
   3792 #ifdef __CRT_UUID_DECL
   3793 __CRT_UUID_DECL(ISpEventSource, 0xbe7a9cce, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   3794 #endif
   3795 #else
   3796 typedef struct ISpEventSourceVtbl {
   3797     BEGIN_INTERFACE
   3798 
   3799     /*** IUnknown methods ***/
   3800     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3801         ISpEventSource* This,
   3802         REFIID riid,
   3803         void **ppvObject);
   3804 
   3805     ULONG (STDMETHODCALLTYPE *AddRef)(
   3806         ISpEventSource* This);
   3807 
   3808     ULONG (STDMETHODCALLTYPE *Release)(
   3809         ISpEventSource* This);
   3810 
   3811     /*** ISpNotifySource methods ***/
   3812     HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
   3813         ISpEventSource* This,
   3814         ISpNotifySink *pNotifySink);
   3815 
   3816     HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
   3817         ISpEventSource* This,
   3818         HWND hWnd,
   3819         UINT Msg,
   3820         WPARAM wParam,
   3821         LPARAM lParam);
   3822 
   3823     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
   3824         ISpEventSource* This,
   3825         SPNOTIFYCALLBACK *pfnCallback,
   3826         WPARAM wParam,
   3827         LPARAM lParam);
   3828 
   3829     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
   3830         ISpEventSource* This,
   3831         ISpNotifyCallback *pSpCallback,
   3832         WPARAM wParam,
   3833         LPARAM lParam);
   3834 
   3835     HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
   3836         ISpEventSource* This);
   3837 
   3838     HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
   3839         ISpEventSource* This,
   3840         DWORD dwMilliseconds);
   3841 
   3842     HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
   3843         ISpEventSource* This);
   3844 
   3845     /*** ISpEventSource methods ***/
   3846     HRESULT (STDMETHODCALLTYPE *SetInterest)(
   3847         ISpEventSource* This,
   3848         ULONGLONG ullEventInterest,
   3849         ULONGLONG ullQueuedInterest);
   3850 
   3851     HRESULT (STDMETHODCALLTYPE *GetEvents)(
   3852         ISpEventSource* This,
   3853         ULONG ulCount,
   3854         SPEVENT *pEventArray,
   3855         ULONG *pulFetched);
   3856 
   3857     HRESULT (STDMETHODCALLTYPE *GetInfo)(
   3858         ISpEventSource* This,
   3859         SPEVENTSOURCEINFO *pInfo);
   3860 
   3861     END_INTERFACE
   3862 } ISpEventSourceVtbl;
   3863 interface ISpEventSource {
   3864     CONST_VTBL ISpEventSourceVtbl* lpVtbl;
   3865 };
   3866 
   3867 #ifdef COBJMACROS
   3868 #ifndef WIDL_C_INLINE_WRAPPERS
   3869 /*** IUnknown methods ***/
   3870 #define ISpEventSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3871 #define ISpEventSource_AddRef(This) (This)->lpVtbl->AddRef(This)
   3872 #define ISpEventSource_Release(This) (This)->lpVtbl->Release(This)
   3873 /*** ISpNotifySource methods ***/
   3874 #define ISpEventSource_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
   3875 #define ISpEventSource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
   3876 #define ISpEventSource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
   3877 #define ISpEventSource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
   3878 #define ISpEventSource_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
   3879 #define ISpEventSource_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
   3880 #define ISpEventSource_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
   3881 /*** ISpEventSource methods ***/
   3882 #define ISpEventSource_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
   3883 #define ISpEventSource_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
   3884 #define ISpEventSource_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
   3885 #else
   3886 /*** IUnknown methods ***/
   3887 static FORCEINLINE HRESULT ISpEventSource_QueryInterface(ISpEventSource* This,REFIID riid,void **ppvObject) {
   3888     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3889 }
   3890 static FORCEINLINE ULONG ISpEventSource_AddRef(ISpEventSource* This) {
   3891     return This->lpVtbl->AddRef(This);
   3892 }
   3893 static FORCEINLINE ULONG ISpEventSource_Release(ISpEventSource* This) {
   3894     return This->lpVtbl->Release(This);
   3895 }
   3896 /*** ISpNotifySource methods ***/
   3897 static FORCEINLINE HRESULT ISpEventSource_SetNotifySink(ISpEventSource* This,ISpNotifySink *pNotifySink) {
   3898     return This->lpVtbl->SetNotifySink(This,pNotifySink);
   3899 }
   3900 static FORCEINLINE HRESULT ISpEventSource_SetNotifyWindowMessage(ISpEventSource* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
   3901     return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
   3902 }
   3903 static FORCEINLINE HRESULT ISpEventSource_SetNotifyCallbackFunction(ISpEventSource* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
   3904     return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
   3905 }
   3906 static FORCEINLINE HRESULT ISpEventSource_SetNotifyCallbackInterface(ISpEventSource* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
   3907     return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
   3908 }
   3909 static FORCEINLINE HRESULT ISpEventSource_SetNotifyWin32Event(ISpEventSource* This) {
   3910     return This->lpVtbl->SetNotifyWin32Event(This);
   3911 }
   3912 static FORCEINLINE HRESULT ISpEventSource_WaitForNotifyEvent(ISpEventSource* This,DWORD dwMilliseconds) {
   3913     return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
   3914 }
   3915 static FORCEINLINE HANDLE ISpEventSource_GetNotifyEventHandle(ISpEventSource* This) {
   3916     return This->lpVtbl->GetNotifyEventHandle(This);
   3917 }
   3918 /*** ISpEventSource methods ***/
   3919 static FORCEINLINE HRESULT ISpEventSource_SetInterest(ISpEventSource* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
   3920     return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
   3921 }
   3922 static FORCEINLINE HRESULT ISpEventSource_GetEvents(ISpEventSource* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
   3923     return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
   3924 }
   3925 static FORCEINLINE HRESULT ISpEventSource_GetInfo(ISpEventSource* This,SPEVENTSOURCEINFO *pInfo) {
   3926     return This->lpVtbl->GetInfo(This,pInfo);
   3927 }
   3928 #endif
   3929 #endif
   3930 
   3931 #endif
   3932 
   3933 HRESULT STDMETHODCALLTYPE ISpEventSource_SetInterest_Proxy(
   3934     ISpEventSource* This,
   3935     ULONGLONG ullEventInterest,
   3936     ULONGLONG ullQueuedInterest);
   3937 void __RPC_STUB ISpEventSource_SetInterest_Stub(
   3938     IRpcStubBuffer* This,
   3939     IRpcChannelBuffer* pRpcChannelBuffer,
   3940     PRPC_MESSAGE pRpcMessage,
   3941     DWORD* pdwStubPhase);
   3942 HRESULT STDMETHODCALLTYPE ISpEventSource_GetEvents_Proxy(
   3943     ISpEventSource* This,
   3944     ULONG ulCount,
   3945     SPEVENT *pEventArray,
   3946     ULONG *pulFetched);
   3947 void __RPC_STUB ISpEventSource_GetEvents_Stub(
   3948     IRpcStubBuffer* This,
   3949     IRpcChannelBuffer* pRpcChannelBuffer,
   3950     PRPC_MESSAGE pRpcMessage,
   3951     DWORD* pdwStubPhase);
   3952 HRESULT STDMETHODCALLTYPE ISpEventSource_GetInfo_Proxy(
   3953     ISpEventSource* This,
   3954     SPEVENTSOURCEINFO *pInfo);
   3955 void __RPC_STUB ISpEventSource_GetInfo_Stub(
   3956     IRpcStubBuffer* This,
   3957     IRpcChannelBuffer* pRpcChannelBuffer,
   3958     PRPC_MESSAGE pRpcMessage,
   3959     DWORD* pdwStubPhase);
   3960 
   3961 #endif  /* __ISpEventSource_INTERFACE_DEFINED__ */
   3962 
   3963 /*****************************************************************************
   3964  * ISpEventSource2 interface
   3965  */
   3966 #ifndef __ISpEventSource2_INTERFACE_DEFINED__
   3967 #define __ISpEventSource2_INTERFACE_DEFINED__
   3968 
   3969 DEFINE_GUID(IID_ISpEventSource2, 0x2373a435, 0x6a4b, 0x429e, 0xa6,0xac, 0xd4,0x23,0x1a,0x61,0x97,0x5b);
   3970 #if defined(__cplusplus) && !defined(CINTERFACE)
   3971 MIDL_INTERFACE("2373a435-6a4b-429e-a6ac-d4231a61975b")
   3972 ISpEventSource2 : public ISpEventSource
   3973 {
   3974     virtual HRESULT STDMETHODCALLTYPE GetEventsEx(
   3975         ULONG ulCount,
   3976         SPEVENTEX *pEventArray,
   3977         ULONG *pulFetched) = 0;
   3978 
   3979 };
   3980 #ifdef __CRT_UUID_DECL
   3981 __CRT_UUID_DECL(ISpEventSource2, 0x2373a435, 0x6a4b, 0x429e, 0xa6,0xac, 0xd4,0x23,0x1a,0x61,0x97,0x5b)
   3982 #endif
   3983 #else
   3984 typedef struct ISpEventSource2Vtbl {
   3985     BEGIN_INTERFACE
   3986 
   3987     /*** IUnknown methods ***/
   3988     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3989         ISpEventSource2* This,
   3990         REFIID riid,
   3991         void **ppvObject);
   3992 
   3993     ULONG (STDMETHODCALLTYPE *AddRef)(
   3994         ISpEventSource2* This);
   3995 
   3996     ULONG (STDMETHODCALLTYPE *Release)(
   3997         ISpEventSource2* This);
   3998 
   3999     /*** ISpNotifySource methods ***/
   4000     HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
   4001         ISpEventSource2* This,
   4002         ISpNotifySink *pNotifySink);
   4003 
   4004     HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
   4005         ISpEventSource2* This,
   4006         HWND hWnd,
   4007         UINT Msg,
   4008         WPARAM wParam,
   4009         LPARAM lParam);
   4010 
   4011     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
   4012         ISpEventSource2* This,
   4013         SPNOTIFYCALLBACK *pfnCallback,
   4014         WPARAM wParam,
   4015         LPARAM lParam);
   4016 
   4017     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
   4018         ISpEventSource2* This,
   4019         ISpNotifyCallback *pSpCallback,
   4020         WPARAM wParam,
   4021         LPARAM lParam);
   4022 
   4023     HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
   4024         ISpEventSource2* This);
   4025 
   4026     HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
   4027         ISpEventSource2* This,
   4028         DWORD dwMilliseconds);
   4029 
   4030     HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
   4031         ISpEventSource2* This);
   4032 
   4033     /*** ISpEventSource methods ***/
   4034     HRESULT (STDMETHODCALLTYPE *SetInterest)(
   4035         ISpEventSource2* This,
   4036         ULONGLONG ullEventInterest,
   4037         ULONGLONG ullQueuedInterest);
   4038 
   4039     HRESULT (STDMETHODCALLTYPE *GetEvents)(
   4040         ISpEventSource2* This,
   4041         ULONG ulCount,
   4042         SPEVENT *pEventArray,
   4043         ULONG *pulFetched);
   4044 
   4045     HRESULT (STDMETHODCALLTYPE *GetInfo)(
   4046         ISpEventSource2* This,
   4047         SPEVENTSOURCEINFO *pInfo);
   4048 
   4049     /*** ISpEventSource2 methods ***/
   4050     HRESULT (STDMETHODCALLTYPE *GetEventsEx)(
   4051         ISpEventSource2* This,
   4052         ULONG ulCount,
   4053         SPEVENTEX *pEventArray,
   4054         ULONG *pulFetched);
   4055 
   4056     END_INTERFACE
   4057 } ISpEventSource2Vtbl;
   4058 interface ISpEventSource2 {
   4059     CONST_VTBL ISpEventSource2Vtbl* lpVtbl;
   4060 };
   4061 
   4062 #ifdef COBJMACROS
   4063 #ifndef WIDL_C_INLINE_WRAPPERS
   4064 /*** IUnknown methods ***/
   4065 #define ISpEventSource2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4066 #define ISpEventSource2_AddRef(This) (This)->lpVtbl->AddRef(This)
   4067 #define ISpEventSource2_Release(This) (This)->lpVtbl->Release(This)
   4068 /*** ISpNotifySource methods ***/
   4069 #define ISpEventSource2_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
   4070 #define ISpEventSource2_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
   4071 #define ISpEventSource2_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
   4072 #define ISpEventSource2_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
   4073 #define ISpEventSource2_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
   4074 #define ISpEventSource2_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
   4075 #define ISpEventSource2_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
   4076 /*** ISpEventSource methods ***/
   4077 #define ISpEventSource2_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
   4078 #define ISpEventSource2_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
   4079 #define ISpEventSource2_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
   4080 /*** ISpEventSource2 methods ***/
   4081 #define ISpEventSource2_GetEventsEx(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEventsEx(This,ulCount,pEventArray,pulFetched)
   4082 #else
   4083 /*** IUnknown methods ***/
   4084 static FORCEINLINE HRESULT ISpEventSource2_QueryInterface(ISpEventSource2* This,REFIID riid,void **ppvObject) {
   4085     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4086 }
   4087 static FORCEINLINE ULONG ISpEventSource2_AddRef(ISpEventSource2* This) {
   4088     return This->lpVtbl->AddRef(This);
   4089 }
   4090 static FORCEINLINE ULONG ISpEventSource2_Release(ISpEventSource2* This) {
   4091     return This->lpVtbl->Release(This);
   4092 }
   4093 /*** ISpNotifySource methods ***/
   4094 static FORCEINLINE HRESULT ISpEventSource2_SetNotifySink(ISpEventSource2* This,ISpNotifySink *pNotifySink) {
   4095     return This->lpVtbl->SetNotifySink(This,pNotifySink);
   4096 }
   4097 static FORCEINLINE HRESULT ISpEventSource2_SetNotifyWindowMessage(ISpEventSource2* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
   4098     return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
   4099 }
   4100 static FORCEINLINE HRESULT ISpEventSource2_SetNotifyCallbackFunction(ISpEventSource2* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
   4101     return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
   4102 }
   4103 static FORCEINLINE HRESULT ISpEventSource2_SetNotifyCallbackInterface(ISpEventSource2* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
   4104     return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
   4105 }
   4106 static FORCEINLINE HRESULT ISpEventSource2_SetNotifyWin32Event(ISpEventSource2* This) {
   4107     return This->lpVtbl->SetNotifyWin32Event(This);
   4108 }
   4109 static FORCEINLINE HRESULT ISpEventSource2_WaitForNotifyEvent(ISpEventSource2* This,DWORD dwMilliseconds) {
   4110     return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
   4111 }
   4112 static FORCEINLINE HANDLE ISpEventSource2_GetNotifyEventHandle(ISpEventSource2* This) {
   4113     return This->lpVtbl->GetNotifyEventHandle(This);
   4114 }
   4115 /*** ISpEventSource methods ***/
   4116 static FORCEINLINE HRESULT ISpEventSource2_SetInterest(ISpEventSource2* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
   4117     return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
   4118 }
   4119 static FORCEINLINE HRESULT ISpEventSource2_GetEvents(ISpEventSource2* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
   4120     return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
   4121 }
   4122 static FORCEINLINE HRESULT ISpEventSource2_GetInfo(ISpEventSource2* This,SPEVENTSOURCEINFO *pInfo) {
   4123     return This->lpVtbl->GetInfo(This,pInfo);
   4124 }
   4125 /*** ISpEventSource2 methods ***/
   4126 static FORCEINLINE HRESULT ISpEventSource2_GetEventsEx(ISpEventSource2* This,ULONG ulCount,SPEVENTEX *pEventArray,ULONG *pulFetched) {
   4127     return This->lpVtbl->GetEventsEx(This,ulCount,pEventArray,pulFetched);
   4128 }
   4129 #endif
   4130 #endif
   4131 
   4132 #endif
   4133 
   4134 HRESULT STDMETHODCALLTYPE ISpEventSource2_GetEventsEx_Proxy(
   4135     ISpEventSource2* This,
   4136     ULONG ulCount,
   4137     SPEVENTEX *pEventArray,
   4138     ULONG *pulFetched);
   4139 void __RPC_STUB ISpEventSource2_GetEventsEx_Stub(
   4140     IRpcStubBuffer* This,
   4141     IRpcChannelBuffer* pRpcChannelBuffer,
   4142     PRPC_MESSAGE pRpcMessage,
   4143     DWORD* pdwStubPhase);
   4144 
   4145 #endif  /* __ISpEventSource2_INTERFACE_DEFINED__ */
   4146 
   4147 /*****************************************************************************
   4148  * ISpEventSink interface
   4149  */
   4150 #ifndef __ISpEventSink_INTERFACE_DEFINED__
   4151 #define __ISpEventSink_INTERFACE_DEFINED__
   4152 
   4153 DEFINE_GUID(IID_ISpEventSink, 0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   4154 #if defined(__cplusplus) && !defined(CINTERFACE)
   4155 MIDL_INTERFACE("be7a9cc9-5f9e-11d2-960f-00c04f8ee628")
   4156 ISpEventSink : public IUnknown
   4157 {
   4158     virtual HRESULT STDMETHODCALLTYPE AddEvents(
   4159         const SPEVENT *pEventArray,
   4160         ULONG ulCount) = 0;
   4161 
   4162     virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
   4163         ULONGLONG *pullEventInterest) = 0;
   4164 
   4165 };
   4166 #ifdef __CRT_UUID_DECL
   4167 __CRT_UUID_DECL(ISpEventSink, 0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   4168 #endif
   4169 #else
   4170 typedef struct ISpEventSinkVtbl {
   4171     BEGIN_INTERFACE
   4172 
   4173     /*** IUnknown methods ***/
   4174     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4175         ISpEventSink* This,
   4176         REFIID riid,
   4177         void **ppvObject);
   4178 
   4179     ULONG (STDMETHODCALLTYPE *AddRef)(
   4180         ISpEventSink* This);
   4181 
   4182     ULONG (STDMETHODCALLTYPE *Release)(
   4183         ISpEventSink* This);
   4184 
   4185     /*** ISpEventSink methods ***/
   4186     HRESULT (STDMETHODCALLTYPE *AddEvents)(
   4187         ISpEventSink* This,
   4188         const SPEVENT *pEventArray,
   4189         ULONG ulCount);
   4190 
   4191     HRESULT (STDMETHODCALLTYPE *GetEventInterest)(
   4192         ISpEventSink* This,
   4193         ULONGLONG *pullEventInterest);
   4194 
   4195     END_INTERFACE
   4196 } ISpEventSinkVtbl;
   4197 interface ISpEventSink {
   4198     CONST_VTBL ISpEventSinkVtbl* lpVtbl;
   4199 };
   4200 
   4201 #ifdef COBJMACROS
   4202 #ifndef WIDL_C_INLINE_WRAPPERS
   4203 /*** IUnknown methods ***/
   4204 #define ISpEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4205 #define ISpEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
   4206 #define ISpEventSink_Release(This) (This)->lpVtbl->Release(This)
   4207 /*** ISpEventSink methods ***/
   4208 #define ISpEventSink_AddEvents(This,pEventArray,ulCount) (This)->lpVtbl->AddEvents(This,pEventArray,ulCount)
   4209 #define ISpEventSink_GetEventInterest(This,pullEventInterest) (This)->lpVtbl->GetEventInterest(This,pullEventInterest)
   4210 #else
   4211 /*** IUnknown methods ***/
   4212 static FORCEINLINE HRESULT ISpEventSink_QueryInterface(ISpEventSink* This,REFIID riid,void **ppvObject) {
   4213     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4214 }
   4215 static FORCEINLINE ULONG ISpEventSink_AddRef(ISpEventSink* This) {
   4216     return This->lpVtbl->AddRef(This);
   4217 }
   4218 static FORCEINLINE ULONG ISpEventSink_Release(ISpEventSink* This) {
   4219     return This->lpVtbl->Release(This);
   4220 }
   4221 /*** ISpEventSink methods ***/
   4222 static FORCEINLINE HRESULT ISpEventSink_AddEvents(ISpEventSink* This,const SPEVENT *pEventArray,ULONG ulCount) {
   4223     return This->lpVtbl->AddEvents(This,pEventArray,ulCount);
   4224 }
   4225 static FORCEINLINE HRESULT ISpEventSink_GetEventInterest(ISpEventSink* This,ULONGLONG *pullEventInterest) {
   4226     return This->lpVtbl->GetEventInterest(This,pullEventInterest);
   4227 }
   4228 #endif
   4229 #endif
   4230 
   4231 #endif
   4232 
   4233 HRESULT STDMETHODCALLTYPE ISpEventSink_AddEvents_Proxy(
   4234     ISpEventSink* This,
   4235     const SPEVENT *pEventArray,
   4236     ULONG ulCount);
   4237 void __RPC_STUB ISpEventSink_AddEvents_Stub(
   4238     IRpcStubBuffer* This,
   4239     IRpcChannelBuffer* pRpcChannelBuffer,
   4240     PRPC_MESSAGE pRpcMessage,
   4241     DWORD* pdwStubPhase);
   4242 HRESULT STDMETHODCALLTYPE ISpEventSink_GetEventInterest_Proxy(
   4243     ISpEventSink* This,
   4244     ULONGLONG *pullEventInterest);
   4245 void __RPC_STUB ISpEventSink_GetEventInterest_Stub(
   4246     IRpcStubBuffer* This,
   4247     IRpcChannelBuffer* pRpcChannelBuffer,
   4248     PRPC_MESSAGE pRpcMessage,
   4249     DWORD* pdwStubPhase);
   4250 
   4251 #endif  /* __ISpEventSink_INTERFACE_DEFINED__ */
   4252 
   4253 /*****************************************************************************
   4254  * ISpStreamFormat interface
   4255  */
   4256 #ifndef __ISpStreamFormat_INTERFACE_DEFINED__
   4257 #define __ISpStreamFormat_INTERFACE_DEFINED__
   4258 
   4259 DEFINE_GUID(IID_ISpStreamFormat, 0xbed530be, 0x2606, 0x4f4d, 0xa1,0xc0, 0x54,0xc5,0xcd,0xa5,0x56,0x6f);
   4260 #if defined(__cplusplus) && !defined(CINTERFACE)
   4261 MIDL_INTERFACE("bed530be-2606-4f4d-a1c0-54c5cda5566f")
   4262 ISpStreamFormat : public IStream
   4263 {
   4264     virtual HRESULT STDMETHODCALLTYPE GetFormat(
   4265         GUID *pguidFormatId,
   4266         WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
   4267 
   4268 };
   4269 #ifdef __CRT_UUID_DECL
   4270 __CRT_UUID_DECL(ISpStreamFormat, 0xbed530be, 0x2606, 0x4f4d, 0xa1,0xc0, 0x54,0xc5,0xcd,0xa5,0x56,0x6f)
   4271 #endif
   4272 #else
   4273 typedef struct ISpStreamFormatVtbl {
   4274     BEGIN_INTERFACE
   4275 
   4276     /*** IUnknown methods ***/
   4277     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4278         ISpStreamFormat* This,
   4279         REFIID riid,
   4280         void **ppvObject);
   4281 
   4282     ULONG (STDMETHODCALLTYPE *AddRef)(
   4283         ISpStreamFormat* This);
   4284 
   4285     ULONG (STDMETHODCALLTYPE *Release)(
   4286         ISpStreamFormat* This);
   4287 
   4288     /*** ISequentialStream methods ***/
   4289     HRESULT (STDMETHODCALLTYPE *Read)(
   4290         ISpStreamFormat* This,
   4291         void *pv,
   4292         ULONG cb,
   4293         ULONG *pcbRead);
   4294 
   4295     HRESULT (STDMETHODCALLTYPE *Write)(
   4296         ISpStreamFormat* This,
   4297         const void *pv,
   4298         ULONG cb,
   4299         ULONG *pcbWritten);
   4300 
   4301     /*** IStream methods ***/
   4302     HRESULT (STDMETHODCALLTYPE *Seek)(
   4303         ISpStreamFormat* This,
   4304         LARGE_INTEGER dlibMove,
   4305         DWORD dwOrigin,
   4306         ULARGE_INTEGER *plibNewPosition);
   4307 
   4308     HRESULT (STDMETHODCALLTYPE *SetSize)(
   4309         ISpStreamFormat* This,
   4310         ULARGE_INTEGER libNewSize);
   4311 
   4312     HRESULT (STDMETHODCALLTYPE *CopyTo)(
   4313         ISpStreamFormat* This,
   4314         IStream *pstm,
   4315         ULARGE_INTEGER cb,
   4316         ULARGE_INTEGER *pcbRead,
   4317         ULARGE_INTEGER *pcbWritten);
   4318 
   4319     HRESULT (STDMETHODCALLTYPE *Commit)(
   4320         ISpStreamFormat* This,
   4321         DWORD grfCommitFlags);
   4322 
   4323     HRESULT (STDMETHODCALLTYPE *Revert)(
   4324         ISpStreamFormat* This);
   4325 
   4326     HRESULT (STDMETHODCALLTYPE *LockRegion)(
   4327         ISpStreamFormat* This,
   4328         ULARGE_INTEGER libOffset,
   4329         ULARGE_INTEGER cb,
   4330         DWORD dwLockType);
   4331 
   4332     HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
   4333         ISpStreamFormat* This,
   4334         ULARGE_INTEGER libOffset,
   4335         ULARGE_INTEGER cb,
   4336         DWORD dwLockType);
   4337 
   4338     HRESULT (STDMETHODCALLTYPE *Stat)(
   4339         ISpStreamFormat* This,
   4340         STATSTG *pstatstg,
   4341         DWORD grfStatFlag);
   4342 
   4343     HRESULT (STDMETHODCALLTYPE *Clone)(
   4344         ISpStreamFormat* This,
   4345         IStream **ppstm);
   4346 
   4347     /*** ISpStreamFormat methods ***/
   4348     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   4349         ISpStreamFormat* This,
   4350         GUID *pguidFormatId,
   4351         WAVEFORMATEX **ppCoMemWaveFormatEx);
   4352 
   4353     END_INTERFACE
   4354 } ISpStreamFormatVtbl;
   4355 interface ISpStreamFormat {
   4356     CONST_VTBL ISpStreamFormatVtbl* lpVtbl;
   4357 };
   4358 
   4359 #ifdef COBJMACROS
   4360 #ifndef WIDL_C_INLINE_WRAPPERS
   4361 /*** IUnknown methods ***/
   4362 #define ISpStreamFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4363 #define ISpStreamFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
   4364 #define ISpStreamFormat_Release(This) (This)->lpVtbl->Release(This)
   4365 /*** ISequentialStream methods ***/
   4366 #define ISpStreamFormat_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
   4367 #define ISpStreamFormat_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
   4368 /*** IStream methods ***/
   4369 #define ISpStreamFormat_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
   4370 #define ISpStreamFormat_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
   4371 #define ISpStreamFormat_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
   4372 #define ISpStreamFormat_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
   4373 #define ISpStreamFormat_Revert(This) (This)->lpVtbl->Revert(This)
   4374 #define ISpStreamFormat_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
   4375 #define ISpStreamFormat_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
   4376 #define ISpStreamFormat_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
   4377 #define ISpStreamFormat_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
   4378 /*** ISpStreamFormat methods ***/
   4379 #define ISpStreamFormat_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
   4380 #else
   4381 /*** IUnknown methods ***/
   4382 static FORCEINLINE HRESULT ISpStreamFormat_QueryInterface(ISpStreamFormat* This,REFIID riid,void **ppvObject) {
   4383     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4384 }
   4385 static FORCEINLINE ULONG ISpStreamFormat_AddRef(ISpStreamFormat* This) {
   4386     return This->lpVtbl->AddRef(This);
   4387 }
   4388 static FORCEINLINE ULONG ISpStreamFormat_Release(ISpStreamFormat* This) {
   4389     return This->lpVtbl->Release(This);
   4390 }
   4391 /*** ISequentialStream methods ***/
   4392 static FORCEINLINE HRESULT ISpStreamFormat_Read(ISpStreamFormat* This,void *pv,ULONG cb,ULONG *pcbRead) {
   4393     return This->lpVtbl->Read(This,pv,cb,pcbRead);
   4394 }
   4395 static FORCEINLINE HRESULT ISpStreamFormat_Write(ISpStreamFormat* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
   4396     return This->lpVtbl->Write(This,pv,cb,pcbWritten);
   4397 }
   4398 /*** IStream methods ***/
   4399 static FORCEINLINE HRESULT ISpStreamFormat_Seek(ISpStreamFormat* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
   4400     return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
   4401 }
   4402 static FORCEINLINE HRESULT ISpStreamFormat_SetSize(ISpStreamFormat* This,ULARGE_INTEGER libNewSize) {
   4403     return This->lpVtbl->SetSize(This,libNewSize);
   4404 }
   4405 static FORCEINLINE HRESULT ISpStreamFormat_CopyTo(ISpStreamFormat* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
   4406     return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
   4407 }
   4408 static FORCEINLINE HRESULT ISpStreamFormat_Commit(ISpStreamFormat* This,DWORD grfCommitFlags) {
   4409     return This->lpVtbl->Commit(This,grfCommitFlags);
   4410 }
   4411 static FORCEINLINE HRESULT ISpStreamFormat_Revert(ISpStreamFormat* This) {
   4412     return This->lpVtbl->Revert(This);
   4413 }
   4414 static FORCEINLINE HRESULT ISpStreamFormat_LockRegion(ISpStreamFormat* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   4415     return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
   4416 }
   4417 static FORCEINLINE HRESULT ISpStreamFormat_UnlockRegion(ISpStreamFormat* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   4418     return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
   4419 }
   4420 static FORCEINLINE HRESULT ISpStreamFormat_Stat(ISpStreamFormat* This,STATSTG *pstatstg,DWORD grfStatFlag) {
   4421     return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
   4422 }
   4423 static FORCEINLINE HRESULT ISpStreamFormat_Clone(ISpStreamFormat* This,IStream **ppstm) {
   4424     return This->lpVtbl->Clone(This,ppstm);
   4425 }
   4426 /*** ISpStreamFormat methods ***/
   4427 static FORCEINLINE HRESULT ISpStreamFormat_GetFormat(ISpStreamFormat* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
   4428     return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
   4429 }
   4430 #endif
   4431 #endif
   4432 
   4433 #endif
   4434 
   4435 HRESULT STDMETHODCALLTYPE ISpStreamFormat_GetFormat_Proxy(
   4436     ISpStreamFormat* This,
   4437     GUID *pguidFormatId,
   4438     WAVEFORMATEX **ppCoMemWaveFormatEx);
   4439 void __RPC_STUB ISpStreamFormat_GetFormat_Stub(
   4440     IRpcStubBuffer* This,
   4441     IRpcChannelBuffer* pRpcChannelBuffer,
   4442     PRPC_MESSAGE pRpcMessage,
   4443     DWORD* pdwStubPhase);
   4444 
   4445 #endif  /* __ISpStreamFormat_INTERFACE_DEFINED__ */
   4446 
   4447 /*****************************************************************************
   4448  * ISpStream interface
   4449  */
   4450 #ifndef __ISpStream_INTERFACE_DEFINED__
   4451 #define __ISpStream_INTERFACE_DEFINED__
   4452 
   4453 DEFINE_GUID(IID_ISpStream, 0x12e3cca9, 0x7518, 0x44c5, 0xa5,0xe7, 0xba,0x5a,0x79,0xcb,0x92,0x9e);
   4454 #if defined(__cplusplus) && !defined(CINTERFACE)
   4455 MIDL_INTERFACE("12e3cca9-7518-44c5-a5e7-ba5a79cb929e")
   4456 ISpStream : public ISpStreamFormat
   4457 {
   4458     virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
   4459         IStream *pStream,
   4460         REFGUID rguidFormat,
   4461         const WAVEFORMATEX *pWaveFormatEx) = 0;
   4462 
   4463     virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
   4464         IStream **ppStream) = 0;
   4465 
   4466     virtual HRESULT STDMETHODCALLTYPE BindToFile(
   4467         LPCWSTR pszFileName,
   4468         SPFILEMODE eMode,
   4469         const GUID *pFormatId,
   4470         const WAVEFORMATEX *pWaveFormatEx,
   4471         ULONGLONG ullEventInterest) = 0;
   4472 
   4473     virtual HRESULT STDMETHODCALLTYPE Close(
   4474         ) = 0;
   4475 
   4476 };
   4477 #ifdef __CRT_UUID_DECL
   4478 __CRT_UUID_DECL(ISpStream, 0x12e3cca9, 0x7518, 0x44c5, 0xa5,0xe7, 0xba,0x5a,0x79,0xcb,0x92,0x9e)
   4479 #endif
   4480 #else
   4481 typedef struct ISpStreamVtbl {
   4482     BEGIN_INTERFACE
   4483 
   4484     /*** IUnknown methods ***/
   4485     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4486         ISpStream* This,
   4487         REFIID riid,
   4488         void **ppvObject);
   4489 
   4490     ULONG (STDMETHODCALLTYPE *AddRef)(
   4491         ISpStream* This);
   4492 
   4493     ULONG (STDMETHODCALLTYPE *Release)(
   4494         ISpStream* This);
   4495 
   4496     /*** ISequentialStream methods ***/
   4497     HRESULT (STDMETHODCALLTYPE *Read)(
   4498         ISpStream* This,
   4499         void *pv,
   4500         ULONG cb,
   4501         ULONG *pcbRead);
   4502 
   4503     HRESULT (STDMETHODCALLTYPE *Write)(
   4504         ISpStream* This,
   4505         const void *pv,
   4506         ULONG cb,
   4507         ULONG *pcbWritten);
   4508 
   4509     /*** IStream methods ***/
   4510     HRESULT (STDMETHODCALLTYPE *Seek)(
   4511         ISpStream* This,
   4512         LARGE_INTEGER dlibMove,
   4513         DWORD dwOrigin,
   4514         ULARGE_INTEGER *plibNewPosition);
   4515 
   4516     HRESULT (STDMETHODCALLTYPE *SetSize)(
   4517         ISpStream* This,
   4518         ULARGE_INTEGER libNewSize);
   4519 
   4520     HRESULT (STDMETHODCALLTYPE *CopyTo)(
   4521         ISpStream* This,
   4522         IStream *pstm,
   4523         ULARGE_INTEGER cb,
   4524         ULARGE_INTEGER *pcbRead,
   4525         ULARGE_INTEGER *pcbWritten);
   4526 
   4527     HRESULT (STDMETHODCALLTYPE *Commit)(
   4528         ISpStream* This,
   4529         DWORD grfCommitFlags);
   4530 
   4531     HRESULT (STDMETHODCALLTYPE *Revert)(
   4532         ISpStream* This);
   4533 
   4534     HRESULT (STDMETHODCALLTYPE *LockRegion)(
   4535         ISpStream* This,
   4536         ULARGE_INTEGER libOffset,
   4537         ULARGE_INTEGER cb,
   4538         DWORD dwLockType);
   4539 
   4540     HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
   4541         ISpStream* This,
   4542         ULARGE_INTEGER libOffset,
   4543         ULARGE_INTEGER cb,
   4544         DWORD dwLockType);
   4545 
   4546     HRESULT (STDMETHODCALLTYPE *Stat)(
   4547         ISpStream* This,
   4548         STATSTG *pstatstg,
   4549         DWORD grfStatFlag);
   4550 
   4551     HRESULT (STDMETHODCALLTYPE *Clone)(
   4552         ISpStream* This,
   4553         IStream **ppstm);
   4554 
   4555     /*** ISpStreamFormat methods ***/
   4556     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   4557         ISpStream* This,
   4558         GUID *pguidFormatId,
   4559         WAVEFORMATEX **ppCoMemWaveFormatEx);
   4560 
   4561     /*** ISpStream methods ***/
   4562     HRESULT (STDMETHODCALLTYPE *SetBaseStream)(
   4563         ISpStream* This,
   4564         IStream *pStream,
   4565         REFGUID rguidFormat,
   4566         const WAVEFORMATEX *pWaveFormatEx);
   4567 
   4568     HRESULT (STDMETHODCALLTYPE *GetBaseStream)(
   4569         ISpStream* This,
   4570         IStream **ppStream);
   4571 
   4572     HRESULT (STDMETHODCALLTYPE *BindToFile)(
   4573         ISpStream* This,
   4574         LPCWSTR pszFileName,
   4575         SPFILEMODE eMode,
   4576         const GUID *pFormatId,
   4577         const WAVEFORMATEX *pWaveFormatEx,
   4578         ULONGLONG ullEventInterest);
   4579 
   4580     HRESULT (STDMETHODCALLTYPE *Close)(
   4581         ISpStream* This);
   4582 
   4583     END_INTERFACE
   4584 } ISpStreamVtbl;
   4585 interface ISpStream {
   4586     CONST_VTBL ISpStreamVtbl* lpVtbl;
   4587 };
   4588 
   4589 #ifdef COBJMACROS
   4590 #ifndef WIDL_C_INLINE_WRAPPERS
   4591 /*** IUnknown methods ***/
   4592 #define ISpStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4593 #define ISpStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   4594 #define ISpStream_Release(This) (This)->lpVtbl->Release(This)
   4595 /*** ISequentialStream methods ***/
   4596 #define ISpStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
   4597 #define ISpStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
   4598 /*** IStream methods ***/
   4599 #define ISpStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
   4600 #define ISpStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
   4601 #define ISpStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
   4602 #define ISpStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
   4603 #define ISpStream_Revert(This) (This)->lpVtbl->Revert(This)
   4604 #define ISpStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
   4605 #define ISpStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
   4606 #define ISpStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
   4607 #define ISpStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
   4608 /*** ISpStreamFormat methods ***/
   4609 #define ISpStream_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
   4610 /*** ISpStream methods ***/
   4611 #define ISpStream_SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx) (This)->lpVtbl->SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx)
   4612 #define ISpStream_GetBaseStream(This,ppStream) (This)->lpVtbl->GetBaseStream(This,ppStream)
   4613 #define ISpStream_BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest) (This)->lpVtbl->BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
   4614 #define ISpStream_Close(This) (This)->lpVtbl->Close(This)
   4615 #else
   4616 /*** IUnknown methods ***/
   4617 static FORCEINLINE HRESULT ISpStream_QueryInterface(ISpStream* This,REFIID riid,void **ppvObject) {
   4618     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4619 }
   4620 static FORCEINLINE ULONG ISpStream_AddRef(ISpStream* This) {
   4621     return This->lpVtbl->AddRef(This);
   4622 }
   4623 static FORCEINLINE ULONG ISpStream_Release(ISpStream* This) {
   4624     return This->lpVtbl->Release(This);
   4625 }
   4626 /*** ISequentialStream methods ***/
   4627 static FORCEINLINE HRESULT ISpStream_Read(ISpStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
   4628     return This->lpVtbl->Read(This,pv,cb,pcbRead);
   4629 }
   4630 static FORCEINLINE HRESULT ISpStream_Write(ISpStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
   4631     return This->lpVtbl->Write(This,pv,cb,pcbWritten);
   4632 }
   4633 /*** IStream methods ***/
   4634 static FORCEINLINE HRESULT ISpStream_Seek(ISpStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
   4635     return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
   4636 }
   4637 static FORCEINLINE HRESULT ISpStream_SetSize(ISpStream* This,ULARGE_INTEGER libNewSize) {
   4638     return This->lpVtbl->SetSize(This,libNewSize);
   4639 }
   4640 static FORCEINLINE HRESULT ISpStream_CopyTo(ISpStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
   4641     return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
   4642 }
   4643 static FORCEINLINE HRESULT ISpStream_Commit(ISpStream* This,DWORD grfCommitFlags) {
   4644     return This->lpVtbl->Commit(This,grfCommitFlags);
   4645 }
   4646 static FORCEINLINE HRESULT ISpStream_Revert(ISpStream* This) {
   4647     return This->lpVtbl->Revert(This);
   4648 }
   4649 static FORCEINLINE HRESULT ISpStream_LockRegion(ISpStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   4650     return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
   4651 }
   4652 static FORCEINLINE HRESULT ISpStream_UnlockRegion(ISpStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   4653     return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
   4654 }
   4655 static FORCEINLINE HRESULT ISpStream_Stat(ISpStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
   4656     return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
   4657 }
   4658 static FORCEINLINE HRESULT ISpStream_Clone(ISpStream* This,IStream **ppstm) {
   4659     return This->lpVtbl->Clone(This,ppstm);
   4660 }
   4661 /*** ISpStreamFormat methods ***/
   4662 static FORCEINLINE HRESULT ISpStream_GetFormat(ISpStream* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
   4663     return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
   4664 }
   4665 /*** ISpStream methods ***/
   4666 static FORCEINLINE HRESULT ISpStream_SetBaseStream(ISpStream* This,IStream *pStream,REFGUID rguidFormat,const WAVEFORMATEX *pWaveFormatEx) {
   4667     return This->lpVtbl->SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx);
   4668 }
   4669 static FORCEINLINE HRESULT ISpStream_GetBaseStream(ISpStream* This,IStream **ppStream) {
   4670     return This->lpVtbl->GetBaseStream(This,ppStream);
   4671 }
   4672 static FORCEINLINE HRESULT ISpStream_BindToFile(ISpStream* This,LPCWSTR pszFileName,SPFILEMODE eMode,const GUID *pFormatId,const WAVEFORMATEX *pWaveFormatEx,ULONGLONG ullEventInterest) {
   4673     return This->lpVtbl->BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest);
   4674 }
   4675 static FORCEINLINE HRESULT ISpStream_Close(ISpStream* This) {
   4676     return This->lpVtbl->Close(This);
   4677 }
   4678 #endif
   4679 #endif
   4680 
   4681 #endif
   4682 
   4683 HRESULT STDMETHODCALLTYPE ISpStream_SetBaseStream_Proxy(
   4684     ISpStream* This,
   4685     IStream *pStream,
   4686     REFGUID rguidFormat,
   4687     const WAVEFORMATEX *pWaveFormatEx);
   4688 void __RPC_STUB ISpStream_SetBaseStream_Stub(
   4689     IRpcStubBuffer* This,
   4690     IRpcChannelBuffer* pRpcChannelBuffer,
   4691     PRPC_MESSAGE pRpcMessage,
   4692     DWORD* pdwStubPhase);
   4693 HRESULT STDMETHODCALLTYPE ISpStream_GetBaseStream_Proxy(
   4694     ISpStream* This,
   4695     IStream **ppStream);
   4696 void __RPC_STUB ISpStream_GetBaseStream_Stub(
   4697     IRpcStubBuffer* This,
   4698     IRpcChannelBuffer* pRpcChannelBuffer,
   4699     PRPC_MESSAGE pRpcMessage,
   4700     DWORD* pdwStubPhase);
   4701 HRESULT STDMETHODCALLTYPE ISpStream_BindToFile_Proxy(
   4702     ISpStream* This,
   4703     LPCWSTR pszFileName,
   4704     SPFILEMODE eMode,
   4705     const GUID *pFormatId,
   4706     const WAVEFORMATEX *pWaveFormatEx,
   4707     ULONGLONG ullEventInterest);
   4708 void __RPC_STUB ISpStream_BindToFile_Stub(
   4709     IRpcStubBuffer* This,
   4710     IRpcChannelBuffer* pRpcChannelBuffer,
   4711     PRPC_MESSAGE pRpcMessage,
   4712     DWORD* pdwStubPhase);
   4713 HRESULT STDMETHODCALLTYPE ISpStream_Close_Proxy(
   4714     ISpStream* This);
   4715 void __RPC_STUB ISpStream_Close_Stub(
   4716     IRpcStubBuffer* This,
   4717     IRpcChannelBuffer* pRpcChannelBuffer,
   4718     PRPC_MESSAGE pRpcMessage,
   4719     DWORD* pdwStubPhase);
   4720 
   4721 #endif  /* __ISpStream_INTERFACE_DEFINED__ */
   4722 
   4723 /*****************************************************************************
   4724  * ISpStreamFormatConverter interface
   4725  */
   4726 #ifndef __ISpStreamFormatConverter_INTERFACE_DEFINED__
   4727 #define __ISpStreamFormatConverter_INTERFACE_DEFINED__
   4728 
   4729 DEFINE_GUID(IID_ISpStreamFormatConverter, 0x678a932c, 0xea71, 0x4446, 0x9b,0x41, 0x78,0xfd,0xa6,0x28,0x0a,0x29);
   4730 #if defined(__cplusplus) && !defined(CINTERFACE)
   4731 MIDL_INTERFACE("678a932c-ea71-4446-9b41-78fda6280a29")
   4732 ISpStreamFormatConverter : public ISpStreamFormat
   4733 {
   4734     virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
   4735         ISpStreamFormat *pStream,
   4736         WINBOOL fSetFormatToBaseStreamFormat,
   4737         WINBOOL fWriteToBaseStream) = 0;
   4738 
   4739     virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
   4740         ISpStreamFormat **ppStream) = 0;
   4741 
   4742     virtual HRESULT STDMETHODCALLTYPE SetFormat(
   4743         REFGUID rguidFormatIdOfConvertedStream,
   4744         const WAVEFORMATEX *pWaveFormatExOfConvertedStream) = 0;
   4745 
   4746     virtual HRESULT STDMETHODCALLTYPE ResetSeekPosition(
   4747         ) = 0;
   4748 
   4749     virtual HRESULT STDMETHODCALLTYPE ScaleConvertedToBaseOffset(
   4750         ULONGLONG ullOffsetConvertedStream,
   4751         ULONGLONG *pullOffsetBaseStream) = 0;
   4752 
   4753     virtual HRESULT STDMETHODCALLTYPE ScaleBaseToConvertedOffset(
   4754         ULONGLONG ullOffsetBaseStream,
   4755         ULONGLONG *pullOffsetConvertedStream) = 0;
   4756 
   4757 };
   4758 #ifdef __CRT_UUID_DECL
   4759 __CRT_UUID_DECL(ISpStreamFormatConverter, 0x678a932c, 0xea71, 0x4446, 0x9b,0x41, 0x78,0xfd,0xa6,0x28,0x0a,0x29)
   4760 #endif
   4761 #else
   4762 typedef struct ISpStreamFormatConverterVtbl {
   4763     BEGIN_INTERFACE
   4764 
   4765     /*** IUnknown methods ***/
   4766     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4767         ISpStreamFormatConverter* This,
   4768         REFIID riid,
   4769         void **ppvObject);
   4770 
   4771     ULONG (STDMETHODCALLTYPE *AddRef)(
   4772         ISpStreamFormatConverter* This);
   4773 
   4774     ULONG (STDMETHODCALLTYPE *Release)(
   4775         ISpStreamFormatConverter* This);
   4776 
   4777     /*** ISequentialStream methods ***/
   4778     HRESULT (STDMETHODCALLTYPE *Read)(
   4779         ISpStreamFormatConverter* This,
   4780         void *pv,
   4781         ULONG cb,
   4782         ULONG *pcbRead);
   4783 
   4784     HRESULT (STDMETHODCALLTYPE *Write)(
   4785         ISpStreamFormatConverter* This,
   4786         const void *pv,
   4787         ULONG cb,
   4788         ULONG *pcbWritten);
   4789 
   4790     /*** IStream methods ***/
   4791     HRESULT (STDMETHODCALLTYPE *Seek)(
   4792         ISpStreamFormatConverter* This,
   4793         LARGE_INTEGER dlibMove,
   4794         DWORD dwOrigin,
   4795         ULARGE_INTEGER *plibNewPosition);
   4796 
   4797     HRESULT (STDMETHODCALLTYPE *SetSize)(
   4798         ISpStreamFormatConverter* This,
   4799         ULARGE_INTEGER libNewSize);
   4800 
   4801     HRESULT (STDMETHODCALLTYPE *CopyTo)(
   4802         ISpStreamFormatConverter* This,
   4803         IStream *pstm,
   4804         ULARGE_INTEGER cb,
   4805         ULARGE_INTEGER *pcbRead,
   4806         ULARGE_INTEGER *pcbWritten);
   4807 
   4808     HRESULT (STDMETHODCALLTYPE *Commit)(
   4809         ISpStreamFormatConverter* This,
   4810         DWORD grfCommitFlags);
   4811 
   4812     HRESULT (STDMETHODCALLTYPE *Revert)(
   4813         ISpStreamFormatConverter* This);
   4814 
   4815     HRESULT (STDMETHODCALLTYPE *LockRegion)(
   4816         ISpStreamFormatConverter* This,
   4817         ULARGE_INTEGER libOffset,
   4818         ULARGE_INTEGER cb,
   4819         DWORD dwLockType);
   4820 
   4821     HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
   4822         ISpStreamFormatConverter* This,
   4823         ULARGE_INTEGER libOffset,
   4824         ULARGE_INTEGER cb,
   4825         DWORD dwLockType);
   4826 
   4827     HRESULT (STDMETHODCALLTYPE *Stat)(
   4828         ISpStreamFormatConverter* This,
   4829         STATSTG *pstatstg,
   4830         DWORD grfStatFlag);
   4831 
   4832     HRESULT (STDMETHODCALLTYPE *Clone)(
   4833         ISpStreamFormatConverter* This,
   4834         IStream **ppstm);
   4835 
   4836     /*** ISpStreamFormat methods ***/
   4837     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   4838         ISpStreamFormatConverter* This,
   4839         GUID *pguidFormatId,
   4840         WAVEFORMATEX **ppCoMemWaveFormatEx);
   4841 
   4842     /*** ISpStreamFormatConverter methods ***/
   4843     HRESULT (STDMETHODCALLTYPE *SetBaseStream)(
   4844         ISpStreamFormatConverter* This,
   4845         ISpStreamFormat *pStream,
   4846         WINBOOL fSetFormatToBaseStreamFormat,
   4847         WINBOOL fWriteToBaseStream);
   4848 
   4849     HRESULT (STDMETHODCALLTYPE *GetBaseStream)(
   4850         ISpStreamFormatConverter* This,
   4851         ISpStreamFormat **ppStream);
   4852 
   4853     HRESULT (STDMETHODCALLTYPE *SetFormat)(
   4854         ISpStreamFormatConverter* This,
   4855         REFGUID rguidFormatIdOfConvertedStream,
   4856         const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
   4857 
   4858     HRESULT (STDMETHODCALLTYPE *ResetSeekPosition)(
   4859         ISpStreamFormatConverter* This);
   4860 
   4861     HRESULT (STDMETHODCALLTYPE *ScaleConvertedToBaseOffset)(
   4862         ISpStreamFormatConverter* This,
   4863         ULONGLONG ullOffsetConvertedStream,
   4864         ULONGLONG *pullOffsetBaseStream);
   4865 
   4866     HRESULT (STDMETHODCALLTYPE *ScaleBaseToConvertedOffset)(
   4867         ISpStreamFormatConverter* This,
   4868         ULONGLONG ullOffsetBaseStream,
   4869         ULONGLONG *pullOffsetConvertedStream);
   4870 
   4871     END_INTERFACE
   4872 } ISpStreamFormatConverterVtbl;
   4873 interface ISpStreamFormatConverter {
   4874     CONST_VTBL ISpStreamFormatConverterVtbl* lpVtbl;
   4875 };
   4876 
   4877 #ifdef COBJMACROS
   4878 #ifndef WIDL_C_INLINE_WRAPPERS
   4879 /*** IUnknown methods ***/
   4880 #define ISpStreamFormatConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4881 #define ISpStreamFormatConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
   4882 #define ISpStreamFormatConverter_Release(This) (This)->lpVtbl->Release(This)
   4883 /*** ISequentialStream methods ***/
   4884 #define ISpStreamFormatConverter_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
   4885 #define ISpStreamFormatConverter_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
   4886 /*** IStream methods ***/
   4887 #define ISpStreamFormatConverter_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
   4888 #define ISpStreamFormatConverter_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
   4889 #define ISpStreamFormatConverter_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
   4890 #define ISpStreamFormatConverter_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
   4891 #define ISpStreamFormatConverter_Revert(This) (This)->lpVtbl->Revert(This)
   4892 #define ISpStreamFormatConverter_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
   4893 #define ISpStreamFormatConverter_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
   4894 #define ISpStreamFormatConverter_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
   4895 #define ISpStreamFormatConverter_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
   4896 /*** ISpStreamFormat methods ***/
   4897 #define ISpStreamFormatConverter_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
   4898 /*** ISpStreamFormatConverter methods ***/
   4899 #define ISpStreamFormatConverter_SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream) (This)->lpVtbl->SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)
   4900 #define ISpStreamFormatConverter_GetBaseStream(This,ppStream) (This)->lpVtbl->GetBaseStream(This,ppStream)
   4901 #define ISpStreamFormatConverter_SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream) (This)->lpVtbl->SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)
   4902 #define ISpStreamFormatConverter_ResetSeekPosition(This) (This)->lpVtbl->ResetSeekPosition(This)
   4903 #define ISpStreamFormatConverter_ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream) (This)->lpVtbl->ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream)
   4904 #define ISpStreamFormatConverter_ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream) (This)->lpVtbl->ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream)
   4905 #else
   4906 /*** IUnknown methods ***/
   4907 static FORCEINLINE HRESULT ISpStreamFormatConverter_QueryInterface(ISpStreamFormatConverter* This,REFIID riid,void **ppvObject) {
   4908     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4909 }
   4910 static FORCEINLINE ULONG ISpStreamFormatConverter_AddRef(ISpStreamFormatConverter* This) {
   4911     return This->lpVtbl->AddRef(This);
   4912 }
   4913 static FORCEINLINE ULONG ISpStreamFormatConverter_Release(ISpStreamFormatConverter* This) {
   4914     return This->lpVtbl->Release(This);
   4915 }
   4916 /*** ISequentialStream methods ***/
   4917 static FORCEINLINE HRESULT ISpStreamFormatConverter_Read(ISpStreamFormatConverter* This,void *pv,ULONG cb,ULONG *pcbRead) {
   4918     return This->lpVtbl->Read(This,pv,cb,pcbRead);
   4919 }
   4920 static FORCEINLINE HRESULT ISpStreamFormatConverter_Write(ISpStreamFormatConverter* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
   4921     return This->lpVtbl->Write(This,pv,cb,pcbWritten);
   4922 }
   4923 /*** IStream methods ***/
   4924 static FORCEINLINE HRESULT ISpStreamFormatConverter_Seek(ISpStreamFormatConverter* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
   4925     return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
   4926 }
   4927 static FORCEINLINE HRESULT ISpStreamFormatConverter_SetSize(ISpStreamFormatConverter* This,ULARGE_INTEGER libNewSize) {
   4928     return This->lpVtbl->SetSize(This,libNewSize);
   4929 }
   4930 static FORCEINLINE HRESULT ISpStreamFormatConverter_CopyTo(ISpStreamFormatConverter* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
   4931     return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
   4932 }
   4933 static FORCEINLINE HRESULT ISpStreamFormatConverter_Commit(ISpStreamFormatConverter* This,DWORD grfCommitFlags) {
   4934     return This->lpVtbl->Commit(This,grfCommitFlags);
   4935 }
   4936 static FORCEINLINE HRESULT ISpStreamFormatConverter_Revert(ISpStreamFormatConverter* This) {
   4937     return This->lpVtbl->Revert(This);
   4938 }
   4939 static FORCEINLINE HRESULT ISpStreamFormatConverter_LockRegion(ISpStreamFormatConverter* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   4940     return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
   4941 }
   4942 static FORCEINLINE HRESULT ISpStreamFormatConverter_UnlockRegion(ISpStreamFormatConverter* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   4943     return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
   4944 }
   4945 static FORCEINLINE HRESULT ISpStreamFormatConverter_Stat(ISpStreamFormatConverter* This,STATSTG *pstatstg,DWORD grfStatFlag) {
   4946     return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
   4947 }
   4948 static FORCEINLINE HRESULT ISpStreamFormatConverter_Clone(ISpStreamFormatConverter* This,IStream **ppstm) {
   4949     return This->lpVtbl->Clone(This,ppstm);
   4950 }
   4951 /*** ISpStreamFormat methods ***/
   4952 static FORCEINLINE HRESULT ISpStreamFormatConverter_GetFormat(ISpStreamFormatConverter* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
   4953     return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
   4954 }
   4955 /*** ISpStreamFormatConverter methods ***/
   4956 static FORCEINLINE HRESULT ISpStreamFormatConverter_SetBaseStream(ISpStreamFormatConverter* This,ISpStreamFormat *pStream,WINBOOL fSetFormatToBaseStreamFormat,WINBOOL fWriteToBaseStream) {
   4957     return This->lpVtbl->SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream);
   4958 }
   4959 static FORCEINLINE HRESULT ISpStreamFormatConverter_GetBaseStream(ISpStreamFormatConverter* This,ISpStreamFormat **ppStream) {
   4960     return This->lpVtbl->GetBaseStream(This,ppStream);
   4961 }
   4962 static FORCEINLINE HRESULT ISpStreamFormatConverter_SetFormat(ISpStreamFormatConverter* This,REFGUID rguidFormatIdOfConvertedStream,const WAVEFORMATEX *pWaveFormatExOfConvertedStream) {
   4963     return This->lpVtbl->SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream);
   4964 }
   4965 static FORCEINLINE HRESULT ISpStreamFormatConverter_ResetSeekPosition(ISpStreamFormatConverter* This) {
   4966     return This->lpVtbl->ResetSeekPosition(This);
   4967 }
   4968 static FORCEINLINE HRESULT ISpStreamFormatConverter_ScaleConvertedToBaseOffset(ISpStreamFormatConverter* This,ULONGLONG ullOffsetConvertedStream,ULONGLONG *pullOffsetBaseStream) {
   4969     return This->lpVtbl->ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream);
   4970 }
   4971 static FORCEINLINE HRESULT ISpStreamFormatConverter_ScaleBaseToConvertedOffset(ISpStreamFormatConverter* This,ULONGLONG ullOffsetBaseStream,ULONGLONG *pullOffsetConvertedStream) {
   4972     return This->lpVtbl->ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream);
   4973 }
   4974 #endif
   4975 #endif
   4976 
   4977 #endif
   4978 
   4979 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_SetBaseStream_Proxy(
   4980     ISpStreamFormatConverter* This,
   4981     ISpStreamFormat *pStream,
   4982     WINBOOL fSetFormatToBaseStreamFormat,
   4983     WINBOOL fWriteToBaseStream);
   4984 void __RPC_STUB ISpStreamFormatConverter_SetBaseStream_Stub(
   4985     IRpcStubBuffer* This,
   4986     IRpcChannelBuffer* pRpcChannelBuffer,
   4987     PRPC_MESSAGE pRpcMessage,
   4988     DWORD* pdwStubPhase);
   4989 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_GetBaseStream_Proxy(
   4990     ISpStreamFormatConverter* This,
   4991     ISpStreamFormat **ppStream);
   4992 void __RPC_STUB ISpStreamFormatConverter_GetBaseStream_Stub(
   4993     IRpcStubBuffer* This,
   4994     IRpcChannelBuffer* pRpcChannelBuffer,
   4995     PRPC_MESSAGE pRpcMessage,
   4996     DWORD* pdwStubPhase);
   4997 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_SetFormat_Proxy(
   4998     ISpStreamFormatConverter* This,
   4999     REFGUID rguidFormatIdOfConvertedStream,
   5000     const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
   5001 void __RPC_STUB ISpStreamFormatConverter_SetFormat_Stub(
   5002     IRpcStubBuffer* This,
   5003     IRpcChannelBuffer* pRpcChannelBuffer,
   5004     PRPC_MESSAGE pRpcMessage,
   5005     DWORD* pdwStubPhase);
   5006 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ResetSeekPosition_Proxy(
   5007     ISpStreamFormatConverter* This);
   5008 void __RPC_STUB ISpStreamFormatConverter_ResetSeekPosition_Stub(
   5009     IRpcStubBuffer* This,
   5010     IRpcChannelBuffer* pRpcChannelBuffer,
   5011     PRPC_MESSAGE pRpcMessage,
   5012     DWORD* pdwStubPhase);
   5013 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ScaleConvertedToBaseOffset_Proxy(
   5014     ISpStreamFormatConverter* This,
   5015     ULONGLONG ullOffsetConvertedStream,
   5016     ULONGLONG *pullOffsetBaseStream);
   5017 void __RPC_STUB ISpStreamFormatConverter_ScaleConvertedToBaseOffset_Stub(
   5018     IRpcStubBuffer* This,
   5019     IRpcChannelBuffer* pRpcChannelBuffer,
   5020     PRPC_MESSAGE pRpcMessage,
   5021     DWORD* pdwStubPhase);
   5022 HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ScaleBaseToConvertedOffset_Proxy(
   5023     ISpStreamFormatConverter* This,
   5024     ULONGLONG ullOffsetBaseStream,
   5025     ULONGLONG *pullOffsetConvertedStream);
   5026 void __RPC_STUB ISpStreamFormatConverter_ScaleBaseToConvertedOffset_Stub(
   5027     IRpcStubBuffer* This,
   5028     IRpcChannelBuffer* pRpcChannelBuffer,
   5029     PRPC_MESSAGE pRpcMessage,
   5030     DWORD* pdwStubPhase);
   5031 
   5032 #endif  /* __ISpStreamFormatConverter_INTERFACE_DEFINED__ */
   5033 
   5034 typedef struct SPAUDIOSTATUS {
   5035     LONG cbFreeBuffSpace;
   5036     ULONG cbNonBlockingIO;
   5037     SPAUDIOSTATE State;
   5038     ULONGLONG CurSeekPos;
   5039     ULONGLONG CurDevicePos;
   5040     DWORD dwAudioLevel;
   5041     DWORD dwReserved2;
   5042 } SPAUDIOSTATUS;
   5043 typedef struct SPAUDIOBUFFERINFO {
   5044     ULONG ulMsMinNotification;
   5045     ULONG ulMsBufferSize;
   5046     ULONG ulMsEventBias;
   5047 } SPAUDIOBUFFERINFO;
   5048 /*****************************************************************************
   5049  * ISpAudio interface
   5050  */
   5051 #ifndef __ISpAudio_INTERFACE_DEFINED__
   5052 #define __ISpAudio_INTERFACE_DEFINED__
   5053 
   5054 DEFINE_GUID(IID_ISpAudio, 0xc05c768f, 0xfae8, 0x4ec2, 0x8e,0x07, 0x33,0x83,0x21,0xc1,0x24,0x52);
   5055 #if defined(__cplusplus) && !defined(CINTERFACE)
   5056 MIDL_INTERFACE("c05c768f-fae8-4ec2-8e07-338321c12452")
   5057 ISpAudio : public ISpStreamFormat
   5058 {
   5059     virtual HRESULT STDMETHODCALLTYPE SetState(
   5060         SPAUDIOSTATE NewState,
   5061         ULONGLONG ullReserved) = 0;
   5062 
   5063     virtual HRESULT STDMETHODCALLTYPE SetFormat(
   5064         REFGUID rguidFmtId,
   5065         const WAVEFORMATEX *pWaveFormatEx) = 0;
   5066 
   5067     virtual HRESULT STDMETHODCALLTYPE GetStatus(
   5068         SPAUDIOSTATUS *pStatus) = 0;
   5069 
   5070     virtual HRESULT STDMETHODCALLTYPE SetBufferInfo(
   5071         const SPAUDIOBUFFERINFO *pBuffInfo) = 0;
   5072 
   5073     virtual HRESULT STDMETHODCALLTYPE GetBufferInfo(
   5074         SPAUDIOBUFFERINFO *pBuffInfo) = 0;
   5075 
   5076     virtual HRESULT STDMETHODCALLTYPE GetDefaultFormat(
   5077         GUID *pFormatId,
   5078         WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
   5079 
   5080     virtual HANDLE STDMETHODCALLTYPE EventHandle(
   5081         ) = 0;
   5082 
   5083     virtual HRESULT STDMETHODCALLTYPE GetVolumeLevel(
   5084         ULONG *pLevel) = 0;
   5085 
   5086     virtual HRESULT STDMETHODCALLTYPE SetVolumeLevel(
   5087         ULONG Level) = 0;
   5088 
   5089     virtual HRESULT STDMETHODCALLTYPE GetBufferNotifySize(
   5090         ULONG *pcbSize) = 0;
   5091 
   5092     virtual HRESULT STDMETHODCALLTYPE SetBufferNotifySize(
   5093         ULONG cbSize) = 0;
   5094 
   5095 };
   5096 #ifdef __CRT_UUID_DECL
   5097 __CRT_UUID_DECL(ISpAudio, 0xc05c768f, 0xfae8, 0x4ec2, 0x8e,0x07, 0x33,0x83,0x21,0xc1,0x24,0x52)
   5098 #endif
   5099 #else
   5100 typedef struct ISpAudioVtbl {
   5101     BEGIN_INTERFACE
   5102 
   5103     /*** IUnknown methods ***/
   5104     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5105         ISpAudio* This,
   5106         REFIID riid,
   5107         void **ppvObject);
   5108 
   5109     ULONG (STDMETHODCALLTYPE *AddRef)(
   5110         ISpAudio* This);
   5111 
   5112     ULONG (STDMETHODCALLTYPE *Release)(
   5113         ISpAudio* This);
   5114 
   5115     /*** ISequentialStream methods ***/
   5116     HRESULT (STDMETHODCALLTYPE *Read)(
   5117         ISpAudio* This,
   5118         void *pv,
   5119         ULONG cb,
   5120         ULONG *pcbRead);
   5121 
   5122     HRESULT (STDMETHODCALLTYPE *Write)(
   5123         ISpAudio* This,
   5124         const void *pv,
   5125         ULONG cb,
   5126         ULONG *pcbWritten);
   5127 
   5128     /*** IStream methods ***/
   5129     HRESULT (STDMETHODCALLTYPE *Seek)(
   5130         ISpAudio* This,
   5131         LARGE_INTEGER dlibMove,
   5132         DWORD dwOrigin,
   5133         ULARGE_INTEGER *plibNewPosition);
   5134 
   5135     HRESULT (STDMETHODCALLTYPE *SetSize)(
   5136         ISpAudio* This,
   5137         ULARGE_INTEGER libNewSize);
   5138 
   5139     HRESULT (STDMETHODCALLTYPE *CopyTo)(
   5140         ISpAudio* This,
   5141         IStream *pstm,
   5142         ULARGE_INTEGER cb,
   5143         ULARGE_INTEGER *pcbRead,
   5144         ULARGE_INTEGER *pcbWritten);
   5145 
   5146     HRESULT (STDMETHODCALLTYPE *Commit)(
   5147         ISpAudio* This,
   5148         DWORD grfCommitFlags);
   5149 
   5150     HRESULT (STDMETHODCALLTYPE *Revert)(
   5151         ISpAudio* This);
   5152 
   5153     HRESULT (STDMETHODCALLTYPE *LockRegion)(
   5154         ISpAudio* This,
   5155         ULARGE_INTEGER libOffset,
   5156         ULARGE_INTEGER cb,
   5157         DWORD dwLockType);
   5158 
   5159     HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
   5160         ISpAudio* This,
   5161         ULARGE_INTEGER libOffset,
   5162         ULARGE_INTEGER cb,
   5163         DWORD dwLockType);
   5164 
   5165     HRESULT (STDMETHODCALLTYPE *Stat)(
   5166         ISpAudio* This,
   5167         STATSTG *pstatstg,
   5168         DWORD grfStatFlag);
   5169 
   5170     HRESULT (STDMETHODCALLTYPE *Clone)(
   5171         ISpAudio* This,
   5172         IStream **ppstm);
   5173 
   5174     /*** ISpStreamFormat methods ***/
   5175     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   5176         ISpAudio* This,
   5177         GUID *pguidFormatId,
   5178         WAVEFORMATEX **ppCoMemWaveFormatEx);
   5179 
   5180     /*** ISpAudio methods ***/
   5181     HRESULT (STDMETHODCALLTYPE *SetState)(
   5182         ISpAudio* This,
   5183         SPAUDIOSTATE NewState,
   5184         ULONGLONG ullReserved);
   5185 
   5186     HRESULT (STDMETHODCALLTYPE *SetFormat)(
   5187         ISpAudio* This,
   5188         REFGUID rguidFmtId,
   5189         const WAVEFORMATEX *pWaveFormatEx);
   5190 
   5191     HRESULT (STDMETHODCALLTYPE *GetStatus)(
   5192         ISpAudio* This,
   5193         SPAUDIOSTATUS *pStatus);
   5194 
   5195     HRESULT (STDMETHODCALLTYPE *SetBufferInfo)(
   5196         ISpAudio* This,
   5197         const SPAUDIOBUFFERINFO *pBuffInfo);
   5198 
   5199     HRESULT (STDMETHODCALLTYPE *GetBufferInfo)(
   5200         ISpAudio* This,
   5201         SPAUDIOBUFFERINFO *pBuffInfo);
   5202 
   5203     HRESULT (STDMETHODCALLTYPE *GetDefaultFormat)(
   5204         ISpAudio* This,
   5205         GUID *pFormatId,
   5206         WAVEFORMATEX **ppCoMemWaveFormatEx);
   5207 
   5208     HANDLE (STDMETHODCALLTYPE *EventHandle)(
   5209         ISpAudio* This);
   5210 
   5211     HRESULT (STDMETHODCALLTYPE *GetVolumeLevel)(
   5212         ISpAudio* This,
   5213         ULONG *pLevel);
   5214 
   5215     HRESULT (STDMETHODCALLTYPE *SetVolumeLevel)(
   5216         ISpAudio* This,
   5217         ULONG Level);
   5218 
   5219     HRESULT (STDMETHODCALLTYPE *GetBufferNotifySize)(
   5220         ISpAudio* This,
   5221         ULONG *pcbSize);
   5222 
   5223     HRESULT (STDMETHODCALLTYPE *SetBufferNotifySize)(
   5224         ISpAudio* This,
   5225         ULONG cbSize);
   5226 
   5227     END_INTERFACE
   5228 } ISpAudioVtbl;
   5229 interface ISpAudio {
   5230     CONST_VTBL ISpAudioVtbl* lpVtbl;
   5231 };
   5232 
   5233 #ifdef COBJMACROS
   5234 #ifndef WIDL_C_INLINE_WRAPPERS
   5235 /*** IUnknown methods ***/
   5236 #define ISpAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5237 #define ISpAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
   5238 #define ISpAudio_Release(This) (This)->lpVtbl->Release(This)
   5239 /*** ISequentialStream methods ***/
   5240 #define ISpAudio_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
   5241 #define ISpAudio_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
   5242 /*** IStream methods ***/
   5243 #define ISpAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
   5244 #define ISpAudio_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
   5245 #define ISpAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
   5246 #define ISpAudio_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
   5247 #define ISpAudio_Revert(This) (This)->lpVtbl->Revert(This)
   5248 #define ISpAudio_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
   5249 #define ISpAudio_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
   5250 #define ISpAudio_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
   5251 #define ISpAudio_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
   5252 /*** ISpStreamFormat methods ***/
   5253 #define ISpAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
   5254 /*** ISpAudio methods ***/
   5255 #define ISpAudio_SetState(This,NewState,ullReserved) (This)->lpVtbl->SetState(This,NewState,ullReserved)
   5256 #define ISpAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) (This)->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx)
   5257 #define ISpAudio_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
   5258 #define ISpAudio_SetBufferInfo(This,pBuffInfo) (This)->lpVtbl->SetBufferInfo(This,pBuffInfo)
   5259 #define ISpAudio_GetBufferInfo(This,pBuffInfo) (This)->lpVtbl->GetBufferInfo(This,pBuffInfo)
   5260 #define ISpAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
   5261 #define ISpAudio_EventHandle(This) (This)->lpVtbl->EventHandle(This)
   5262 #define ISpAudio_GetVolumeLevel(This,pLevel) (This)->lpVtbl->GetVolumeLevel(This,pLevel)
   5263 #define ISpAudio_SetVolumeLevel(This,Level) (This)->lpVtbl->SetVolumeLevel(This,Level)
   5264 #define ISpAudio_GetBufferNotifySize(This,pcbSize) (This)->lpVtbl->GetBufferNotifySize(This,pcbSize)
   5265 #define ISpAudio_SetBufferNotifySize(This,cbSize) (This)->lpVtbl->SetBufferNotifySize(This,cbSize)
   5266 #else
   5267 /*** IUnknown methods ***/
   5268 static FORCEINLINE HRESULT ISpAudio_QueryInterface(ISpAudio* This,REFIID riid,void **ppvObject) {
   5269     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5270 }
   5271 static FORCEINLINE ULONG ISpAudio_AddRef(ISpAudio* This) {
   5272     return This->lpVtbl->AddRef(This);
   5273 }
   5274 static FORCEINLINE ULONG ISpAudio_Release(ISpAudio* This) {
   5275     return This->lpVtbl->Release(This);
   5276 }
   5277 /*** ISequentialStream methods ***/
   5278 static FORCEINLINE HRESULT ISpAudio_Read(ISpAudio* This,void *pv,ULONG cb,ULONG *pcbRead) {
   5279     return This->lpVtbl->Read(This,pv,cb,pcbRead);
   5280 }
   5281 static FORCEINLINE HRESULT ISpAudio_Write(ISpAudio* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
   5282     return This->lpVtbl->Write(This,pv,cb,pcbWritten);
   5283 }
   5284 /*** IStream methods ***/
   5285 static FORCEINLINE HRESULT ISpAudio_Seek(ISpAudio* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
   5286     return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
   5287 }
   5288 static FORCEINLINE HRESULT ISpAudio_SetSize(ISpAudio* This,ULARGE_INTEGER libNewSize) {
   5289     return This->lpVtbl->SetSize(This,libNewSize);
   5290 }
   5291 static FORCEINLINE HRESULT ISpAudio_CopyTo(ISpAudio* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
   5292     return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
   5293 }
   5294 static FORCEINLINE HRESULT ISpAudio_Commit(ISpAudio* This,DWORD grfCommitFlags) {
   5295     return This->lpVtbl->Commit(This,grfCommitFlags);
   5296 }
   5297 static FORCEINLINE HRESULT ISpAudio_Revert(ISpAudio* This) {
   5298     return This->lpVtbl->Revert(This);
   5299 }
   5300 static FORCEINLINE HRESULT ISpAudio_LockRegion(ISpAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   5301     return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
   5302 }
   5303 static FORCEINLINE HRESULT ISpAudio_UnlockRegion(ISpAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   5304     return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
   5305 }
   5306 static FORCEINLINE HRESULT ISpAudio_Stat(ISpAudio* This,STATSTG *pstatstg,DWORD grfStatFlag) {
   5307     return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
   5308 }
   5309 static FORCEINLINE HRESULT ISpAudio_Clone(ISpAudio* This,IStream **ppstm) {
   5310     return This->lpVtbl->Clone(This,ppstm);
   5311 }
   5312 /*** ISpStreamFormat methods ***/
   5313 static FORCEINLINE HRESULT ISpAudio_GetFormat(ISpAudio* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
   5314     return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
   5315 }
   5316 /*** ISpAudio methods ***/
   5317 static FORCEINLINE HRESULT ISpAudio_SetState(ISpAudio* This,SPAUDIOSTATE NewState,ULONGLONG ullReserved) {
   5318     return This->lpVtbl->SetState(This,NewState,ullReserved);
   5319 }
   5320 static FORCEINLINE HRESULT ISpAudio_SetFormat(ISpAudio* This,REFGUID rguidFmtId,const WAVEFORMATEX *pWaveFormatEx) {
   5321     return This->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx);
   5322 }
   5323 static FORCEINLINE HRESULT ISpAudio_GetStatus(ISpAudio* This,SPAUDIOSTATUS *pStatus) {
   5324     return This->lpVtbl->GetStatus(This,pStatus);
   5325 }
   5326 static FORCEINLINE HRESULT ISpAudio_SetBufferInfo(ISpAudio* This,const SPAUDIOBUFFERINFO *pBuffInfo) {
   5327     return This->lpVtbl->SetBufferInfo(This,pBuffInfo);
   5328 }
   5329 static FORCEINLINE HRESULT ISpAudio_GetBufferInfo(ISpAudio* This,SPAUDIOBUFFERINFO *pBuffInfo) {
   5330     return This->lpVtbl->GetBufferInfo(This,pBuffInfo);
   5331 }
   5332 static FORCEINLINE HRESULT ISpAudio_GetDefaultFormat(ISpAudio* This,GUID *pFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
   5333     return This->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx);
   5334 }
   5335 static FORCEINLINE HANDLE ISpAudio_EventHandle(ISpAudio* This) {
   5336     return This->lpVtbl->EventHandle(This);
   5337 }
   5338 static FORCEINLINE HRESULT ISpAudio_GetVolumeLevel(ISpAudio* This,ULONG *pLevel) {
   5339     return This->lpVtbl->GetVolumeLevel(This,pLevel);
   5340 }
   5341 static FORCEINLINE HRESULT ISpAudio_SetVolumeLevel(ISpAudio* This,ULONG Level) {
   5342     return This->lpVtbl->SetVolumeLevel(This,Level);
   5343 }
   5344 static FORCEINLINE HRESULT ISpAudio_GetBufferNotifySize(ISpAudio* This,ULONG *pcbSize) {
   5345     return This->lpVtbl->GetBufferNotifySize(This,pcbSize);
   5346 }
   5347 static FORCEINLINE HRESULT ISpAudio_SetBufferNotifySize(ISpAudio* This,ULONG cbSize) {
   5348     return This->lpVtbl->SetBufferNotifySize(This,cbSize);
   5349 }
   5350 #endif
   5351 #endif
   5352 
   5353 #endif
   5354 
   5355 HRESULT STDMETHODCALLTYPE ISpAudio_SetState_Proxy(
   5356     ISpAudio* This,
   5357     SPAUDIOSTATE NewState,
   5358     ULONGLONG ullReserved);
   5359 void __RPC_STUB ISpAudio_SetState_Stub(
   5360     IRpcStubBuffer* This,
   5361     IRpcChannelBuffer* pRpcChannelBuffer,
   5362     PRPC_MESSAGE pRpcMessage,
   5363     DWORD* pdwStubPhase);
   5364 HRESULT STDMETHODCALLTYPE ISpAudio_SetFormat_Proxy(
   5365     ISpAudio* This,
   5366     REFGUID rguidFmtId,
   5367     const WAVEFORMATEX *pWaveFormatEx);
   5368 void __RPC_STUB ISpAudio_SetFormat_Stub(
   5369     IRpcStubBuffer* This,
   5370     IRpcChannelBuffer* pRpcChannelBuffer,
   5371     PRPC_MESSAGE pRpcMessage,
   5372     DWORD* pdwStubPhase);
   5373 HRESULT STDMETHODCALLTYPE ISpAudio_GetStatus_Proxy(
   5374     ISpAudio* This,
   5375     SPAUDIOSTATUS *pStatus);
   5376 void __RPC_STUB ISpAudio_GetStatus_Stub(
   5377     IRpcStubBuffer* This,
   5378     IRpcChannelBuffer* pRpcChannelBuffer,
   5379     PRPC_MESSAGE pRpcMessage,
   5380     DWORD* pdwStubPhase);
   5381 HRESULT STDMETHODCALLTYPE ISpAudio_SetBufferInfo_Proxy(
   5382     ISpAudio* This,
   5383     const SPAUDIOBUFFERINFO *pBuffInfo);
   5384 void __RPC_STUB ISpAudio_SetBufferInfo_Stub(
   5385     IRpcStubBuffer* This,
   5386     IRpcChannelBuffer* pRpcChannelBuffer,
   5387     PRPC_MESSAGE pRpcMessage,
   5388     DWORD* pdwStubPhase);
   5389 HRESULT STDMETHODCALLTYPE ISpAudio_GetBufferInfo_Proxy(
   5390     ISpAudio* This,
   5391     SPAUDIOBUFFERINFO *pBuffInfo);
   5392 void __RPC_STUB ISpAudio_GetBufferInfo_Stub(
   5393     IRpcStubBuffer* This,
   5394     IRpcChannelBuffer* pRpcChannelBuffer,
   5395     PRPC_MESSAGE pRpcMessage,
   5396     DWORD* pdwStubPhase);
   5397 HRESULT STDMETHODCALLTYPE ISpAudio_GetDefaultFormat_Proxy(
   5398     ISpAudio* This,
   5399     GUID *pFormatId,
   5400     WAVEFORMATEX **ppCoMemWaveFormatEx);
   5401 void __RPC_STUB ISpAudio_GetDefaultFormat_Stub(
   5402     IRpcStubBuffer* This,
   5403     IRpcChannelBuffer* pRpcChannelBuffer,
   5404     PRPC_MESSAGE pRpcMessage,
   5405     DWORD* pdwStubPhase);
   5406 HANDLE STDMETHODCALLTYPE ISpAudio_EventHandle_Proxy(
   5407     ISpAudio* This);
   5408 void __RPC_STUB ISpAudio_EventHandle_Stub(
   5409     IRpcStubBuffer* This,
   5410     IRpcChannelBuffer* pRpcChannelBuffer,
   5411     PRPC_MESSAGE pRpcMessage,
   5412     DWORD* pdwStubPhase);
   5413 HRESULT STDMETHODCALLTYPE ISpAudio_GetVolumeLevel_Proxy(
   5414     ISpAudio* This,
   5415     ULONG *pLevel);
   5416 void __RPC_STUB ISpAudio_GetVolumeLevel_Stub(
   5417     IRpcStubBuffer* This,
   5418     IRpcChannelBuffer* pRpcChannelBuffer,
   5419     PRPC_MESSAGE pRpcMessage,
   5420     DWORD* pdwStubPhase);
   5421 HRESULT STDMETHODCALLTYPE ISpAudio_SetVolumeLevel_Proxy(
   5422     ISpAudio* This,
   5423     ULONG Level);
   5424 void __RPC_STUB ISpAudio_SetVolumeLevel_Stub(
   5425     IRpcStubBuffer* This,
   5426     IRpcChannelBuffer* pRpcChannelBuffer,
   5427     PRPC_MESSAGE pRpcMessage,
   5428     DWORD* pdwStubPhase);
   5429 HRESULT STDMETHODCALLTYPE ISpAudio_GetBufferNotifySize_Proxy(
   5430     ISpAudio* This,
   5431     ULONG *pcbSize);
   5432 void __RPC_STUB ISpAudio_GetBufferNotifySize_Stub(
   5433     IRpcStubBuffer* This,
   5434     IRpcChannelBuffer* pRpcChannelBuffer,
   5435     PRPC_MESSAGE pRpcMessage,
   5436     DWORD* pdwStubPhase);
   5437 HRESULT STDMETHODCALLTYPE ISpAudio_SetBufferNotifySize_Proxy(
   5438     ISpAudio* This,
   5439     ULONG cbSize);
   5440 void __RPC_STUB ISpAudio_SetBufferNotifySize_Stub(
   5441     IRpcStubBuffer* This,
   5442     IRpcChannelBuffer* pRpcChannelBuffer,
   5443     PRPC_MESSAGE pRpcMessage,
   5444     DWORD* pdwStubPhase);
   5445 
   5446 #endif  /* __ISpAudio_INTERFACE_DEFINED__ */
   5447 
   5448 /*****************************************************************************
   5449  * ISpMMSysAudio interface
   5450  */
   5451 #ifndef __ISpMMSysAudio_INTERFACE_DEFINED__
   5452 #define __ISpMMSysAudio_INTERFACE_DEFINED__
   5453 
   5454 DEFINE_GUID(IID_ISpMMSysAudio, 0x15806f6e, 0x1d70, 0x4b48, 0x98,0xe6, 0x3b,0x1a,0x00,0x75,0x09,0xab);
   5455 #if defined(__cplusplus) && !defined(CINTERFACE)
   5456 MIDL_INTERFACE("15806f6e-1d70-4b48-98e6-3b1a007509ab")
   5457 ISpMMSysAudio : public ISpAudio
   5458 {
   5459     virtual HRESULT STDMETHODCALLTYPE GetDeviceId(
   5460         UINT *puDeviceId) = 0;
   5461 
   5462     virtual HRESULT STDMETHODCALLTYPE SetDeviceId(
   5463         UINT uDeviceId) = 0;
   5464 
   5465     virtual HRESULT STDMETHODCALLTYPE GetMMHandle(
   5466         void **pHandle) = 0;
   5467 
   5468     virtual HRESULT STDMETHODCALLTYPE GetLineId(
   5469         UINT *puLineId) = 0;
   5470 
   5471     virtual HRESULT STDMETHODCALLTYPE SetLineId(
   5472         UINT uLineId) = 0;
   5473 
   5474 };
   5475 #ifdef __CRT_UUID_DECL
   5476 __CRT_UUID_DECL(ISpMMSysAudio, 0x15806f6e, 0x1d70, 0x4b48, 0x98,0xe6, 0x3b,0x1a,0x00,0x75,0x09,0xab)
   5477 #endif
   5478 #else
   5479 typedef struct ISpMMSysAudioVtbl {
   5480     BEGIN_INTERFACE
   5481 
   5482     /*** IUnknown methods ***/
   5483     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5484         ISpMMSysAudio* This,
   5485         REFIID riid,
   5486         void **ppvObject);
   5487 
   5488     ULONG (STDMETHODCALLTYPE *AddRef)(
   5489         ISpMMSysAudio* This);
   5490 
   5491     ULONG (STDMETHODCALLTYPE *Release)(
   5492         ISpMMSysAudio* This);
   5493 
   5494     /*** ISequentialStream methods ***/
   5495     HRESULT (STDMETHODCALLTYPE *Read)(
   5496         ISpMMSysAudio* This,
   5497         void *pv,
   5498         ULONG cb,
   5499         ULONG *pcbRead);
   5500 
   5501     HRESULT (STDMETHODCALLTYPE *Write)(
   5502         ISpMMSysAudio* This,
   5503         const void *pv,
   5504         ULONG cb,
   5505         ULONG *pcbWritten);
   5506 
   5507     /*** IStream methods ***/
   5508     HRESULT (STDMETHODCALLTYPE *Seek)(
   5509         ISpMMSysAudio* This,
   5510         LARGE_INTEGER dlibMove,
   5511         DWORD dwOrigin,
   5512         ULARGE_INTEGER *plibNewPosition);
   5513 
   5514     HRESULT (STDMETHODCALLTYPE *SetSize)(
   5515         ISpMMSysAudio* This,
   5516         ULARGE_INTEGER libNewSize);
   5517 
   5518     HRESULT (STDMETHODCALLTYPE *CopyTo)(
   5519         ISpMMSysAudio* This,
   5520         IStream *pstm,
   5521         ULARGE_INTEGER cb,
   5522         ULARGE_INTEGER *pcbRead,
   5523         ULARGE_INTEGER *pcbWritten);
   5524 
   5525     HRESULT (STDMETHODCALLTYPE *Commit)(
   5526         ISpMMSysAudio* This,
   5527         DWORD grfCommitFlags);
   5528 
   5529     HRESULT (STDMETHODCALLTYPE *Revert)(
   5530         ISpMMSysAudio* This);
   5531 
   5532     HRESULT (STDMETHODCALLTYPE *LockRegion)(
   5533         ISpMMSysAudio* This,
   5534         ULARGE_INTEGER libOffset,
   5535         ULARGE_INTEGER cb,
   5536         DWORD dwLockType);
   5537 
   5538     HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
   5539         ISpMMSysAudio* This,
   5540         ULARGE_INTEGER libOffset,
   5541         ULARGE_INTEGER cb,
   5542         DWORD dwLockType);
   5543 
   5544     HRESULT (STDMETHODCALLTYPE *Stat)(
   5545         ISpMMSysAudio* This,
   5546         STATSTG *pstatstg,
   5547         DWORD grfStatFlag);
   5548 
   5549     HRESULT (STDMETHODCALLTYPE *Clone)(
   5550         ISpMMSysAudio* This,
   5551         IStream **ppstm);
   5552 
   5553     /*** ISpStreamFormat methods ***/
   5554     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   5555         ISpMMSysAudio* This,
   5556         GUID *pguidFormatId,
   5557         WAVEFORMATEX **ppCoMemWaveFormatEx);
   5558 
   5559     /*** ISpAudio methods ***/
   5560     HRESULT (STDMETHODCALLTYPE *SetState)(
   5561         ISpMMSysAudio* This,
   5562         SPAUDIOSTATE NewState,
   5563         ULONGLONG ullReserved);
   5564 
   5565     HRESULT (STDMETHODCALLTYPE *SetFormat)(
   5566         ISpMMSysAudio* This,
   5567         REFGUID rguidFmtId,
   5568         const WAVEFORMATEX *pWaveFormatEx);
   5569 
   5570     HRESULT (STDMETHODCALLTYPE *GetStatus)(
   5571         ISpMMSysAudio* This,
   5572         SPAUDIOSTATUS *pStatus);
   5573 
   5574     HRESULT (STDMETHODCALLTYPE *SetBufferInfo)(
   5575         ISpMMSysAudio* This,
   5576         const SPAUDIOBUFFERINFO *pBuffInfo);
   5577 
   5578     HRESULT (STDMETHODCALLTYPE *GetBufferInfo)(
   5579         ISpMMSysAudio* This,
   5580         SPAUDIOBUFFERINFO *pBuffInfo);
   5581 
   5582     HRESULT (STDMETHODCALLTYPE *GetDefaultFormat)(
   5583         ISpMMSysAudio* This,
   5584         GUID *pFormatId,
   5585         WAVEFORMATEX **ppCoMemWaveFormatEx);
   5586 
   5587     HANDLE (STDMETHODCALLTYPE *EventHandle)(
   5588         ISpMMSysAudio* This);
   5589 
   5590     HRESULT (STDMETHODCALLTYPE *GetVolumeLevel)(
   5591         ISpMMSysAudio* This,
   5592         ULONG *pLevel);
   5593 
   5594     HRESULT (STDMETHODCALLTYPE *SetVolumeLevel)(
   5595         ISpMMSysAudio* This,
   5596         ULONG Level);
   5597 
   5598     HRESULT (STDMETHODCALLTYPE *GetBufferNotifySize)(
   5599         ISpMMSysAudio* This,
   5600         ULONG *pcbSize);
   5601 
   5602     HRESULT (STDMETHODCALLTYPE *SetBufferNotifySize)(
   5603         ISpMMSysAudio* This,
   5604         ULONG cbSize);
   5605 
   5606     /*** ISpMMSysAudio methods ***/
   5607     HRESULT (STDMETHODCALLTYPE *GetDeviceId)(
   5608         ISpMMSysAudio* This,
   5609         UINT *puDeviceId);
   5610 
   5611     HRESULT (STDMETHODCALLTYPE *SetDeviceId)(
   5612         ISpMMSysAudio* This,
   5613         UINT uDeviceId);
   5614 
   5615     HRESULT (STDMETHODCALLTYPE *GetMMHandle)(
   5616         ISpMMSysAudio* This,
   5617         void **pHandle);
   5618 
   5619     HRESULT (STDMETHODCALLTYPE *GetLineId)(
   5620         ISpMMSysAudio* This,
   5621         UINT *puLineId);
   5622 
   5623     HRESULT (STDMETHODCALLTYPE *SetLineId)(
   5624         ISpMMSysAudio* This,
   5625         UINT uLineId);
   5626 
   5627     END_INTERFACE
   5628 } ISpMMSysAudioVtbl;
   5629 interface ISpMMSysAudio {
   5630     CONST_VTBL ISpMMSysAudioVtbl* lpVtbl;
   5631 };
   5632 
   5633 #ifdef COBJMACROS
   5634 #ifndef WIDL_C_INLINE_WRAPPERS
   5635 /*** IUnknown methods ***/
   5636 #define ISpMMSysAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5637 #define ISpMMSysAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
   5638 #define ISpMMSysAudio_Release(This) (This)->lpVtbl->Release(This)
   5639 /*** ISequentialStream methods ***/
   5640 #define ISpMMSysAudio_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
   5641 #define ISpMMSysAudio_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
   5642 /*** IStream methods ***/
   5643 #define ISpMMSysAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
   5644 #define ISpMMSysAudio_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
   5645 #define ISpMMSysAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
   5646 #define ISpMMSysAudio_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
   5647 #define ISpMMSysAudio_Revert(This) (This)->lpVtbl->Revert(This)
   5648 #define ISpMMSysAudio_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
   5649 #define ISpMMSysAudio_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
   5650 #define ISpMMSysAudio_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
   5651 #define ISpMMSysAudio_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
   5652 /*** ISpStreamFormat methods ***/
   5653 #define ISpMMSysAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
   5654 /*** ISpAudio methods ***/
   5655 #define ISpMMSysAudio_SetState(This,NewState,ullReserved) (This)->lpVtbl->SetState(This,NewState,ullReserved)
   5656 #define ISpMMSysAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) (This)->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx)
   5657 #define ISpMMSysAudio_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
   5658 #define ISpMMSysAudio_SetBufferInfo(This,pBuffInfo) (This)->lpVtbl->SetBufferInfo(This,pBuffInfo)
   5659 #define ISpMMSysAudio_GetBufferInfo(This,pBuffInfo) (This)->lpVtbl->GetBufferInfo(This,pBuffInfo)
   5660 #define ISpMMSysAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
   5661 #define ISpMMSysAudio_EventHandle(This) (This)->lpVtbl->EventHandle(This)
   5662 #define ISpMMSysAudio_GetVolumeLevel(This,pLevel) (This)->lpVtbl->GetVolumeLevel(This,pLevel)
   5663 #define ISpMMSysAudio_SetVolumeLevel(This,Level) (This)->lpVtbl->SetVolumeLevel(This,Level)
   5664 #define ISpMMSysAudio_GetBufferNotifySize(This,pcbSize) (This)->lpVtbl->GetBufferNotifySize(This,pcbSize)
   5665 #define ISpMMSysAudio_SetBufferNotifySize(This,cbSize) (This)->lpVtbl->SetBufferNotifySize(This,cbSize)
   5666 /*** ISpMMSysAudio methods ***/
   5667 #define ISpMMSysAudio_GetDeviceId(This,puDeviceId) (This)->lpVtbl->GetDeviceId(This,puDeviceId)
   5668 #define ISpMMSysAudio_SetDeviceId(This,uDeviceId) (This)->lpVtbl->SetDeviceId(This,uDeviceId)
   5669 #define ISpMMSysAudio_GetMMHandle(This,pHandle) (This)->lpVtbl->GetMMHandle(This,pHandle)
   5670 #define ISpMMSysAudio_GetLineId(This,puLineId) (This)->lpVtbl->GetLineId(This,puLineId)
   5671 #define ISpMMSysAudio_SetLineId(This,uLineId) (This)->lpVtbl->SetLineId(This,uLineId)
   5672 #else
   5673 /*** IUnknown methods ***/
   5674 static FORCEINLINE HRESULT ISpMMSysAudio_QueryInterface(ISpMMSysAudio* This,REFIID riid,void **ppvObject) {
   5675     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5676 }
   5677 static FORCEINLINE ULONG ISpMMSysAudio_AddRef(ISpMMSysAudio* This) {
   5678     return This->lpVtbl->AddRef(This);
   5679 }
   5680 static FORCEINLINE ULONG ISpMMSysAudio_Release(ISpMMSysAudio* This) {
   5681     return This->lpVtbl->Release(This);
   5682 }
   5683 /*** ISequentialStream methods ***/
   5684 static FORCEINLINE HRESULT ISpMMSysAudio_Read(ISpMMSysAudio* This,void *pv,ULONG cb,ULONG *pcbRead) {
   5685     return This->lpVtbl->Read(This,pv,cb,pcbRead);
   5686 }
   5687 static FORCEINLINE HRESULT ISpMMSysAudio_Write(ISpMMSysAudio* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
   5688     return This->lpVtbl->Write(This,pv,cb,pcbWritten);
   5689 }
   5690 /*** IStream methods ***/
   5691 static FORCEINLINE HRESULT ISpMMSysAudio_Seek(ISpMMSysAudio* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
   5692     return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
   5693 }
   5694 static FORCEINLINE HRESULT ISpMMSysAudio_SetSize(ISpMMSysAudio* This,ULARGE_INTEGER libNewSize) {
   5695     return This->lpVtbl->SetSize(This,libNewSize);
   5696 }
   5697 static FORCEINLINE HRESULT ISpMMSysAudio_CopyTo(ISpMMSysAudio* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
   5698     return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
   5699 }
   5700 static FORCEINLINE HRESULT ISpMMSysAudio_Commit(ISpMMSysAudio* This,DWORD grfCommitFlags) {
   5701     return This->lpVtbl->Commit(This,grfCommitFlags);
   5702 }
   5703 static FORCEINLINE HRESULT ISpMMSysAudio_Revert(ISpMMSysAudio* This) {
   5704     return This->lpVtbl->Revert(This);
   5705 }
   5706 static FORCEINLINE HRESULT ISpMMSysAudio_LockRegion(ISpMMSysAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   5707     return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
   5708 }
   5709 static FORCEINLINE HRESULT ISpMMSysAudio_UnlockRegion(ISpMMSysAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   5710     return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
   5711 }
   5712 static FORCEINLINE HRESULT ISpMMSysAudio_Stat(ISpMMSysAudio* This,STATSTG *pstatstg,DWORD grfStatFlag) {
   5713     return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
   5714 }
   5715 static FORCEINLINE HRESULT ISpMMSysAudio_Clone(ISpMMSysAudio* This,IStream **ppstm) {
   5716     return This->lpVtbl->Clone(This,ppstm);
   5717 }
   5718 /*** ISpStreamFormat methods ***/
   5719 static FORCEINLINE HRESULT ISpMMSysAudio_GetFormat(ISpMMSysAudio* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
   5720     return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
   5721 }
   5722 /*** ISpAudio methods ***/
   5723 static FORCEINLINE HRESULT ISpMMSysAudio_SetState(ISpMMSysAudio* This,SPAUDIOSTATE NewState,ULONGLONG ullReserved) {
   5724     return This->lpVtbl->SetState(This,NewState,ullReserved);
   5725 }
   5726 static FORCEINLINE HRESULT ISpMMSysAudio_SetFormat(ISpMMSysAudio* This,REFGUID rguidFmtId,const WAVEFORMATEX *pWaveFormatEx) {
   5727     return This->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx);
   5728 }
   5729 static FORCEINLINE HRESULT ISpMMSysAudio_GetStatus(ISpMMSysAudio* This,SPAUDIOSTATUS *pStatus) {
   5730     return This->lpVtbl->GetStatus(This,pStatus);
   5731 }
   5732 static FORCEINLINE HRESULT ISpMMSysAudio_SetBufferInfo(ISpMMSysAudio* This,const SPAUDIOBUFFERINFO *pBuffInfo) {
   5733     return This->lpVtbl->SetBufferInfo(This,pBuffInfo);
   5734 }
   5735 static FORCEINLINE HRESULT ISpMMSysAudio_GetBufferInfo(ISpMMSysAudio* This,SPAUDIOBUFFERINFO *pBuffInfo) {
   5736     return This->lpVtbl->GetBufferInfo(This,pBuffInfo);
   5737 }
   5738 static FORCEINLINE HRESULT ISpMMSysAudio_GetDefaultFormat(ISpMMSysAudio* This,GUID *pFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
   5739     return This->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx);
   5740 }
   5741 static FORCEINLINE HANDLE ISpMMSysAudio_EventHandle(ISpMMSysAudio* This) {
   5742     return This->lpVtbl->EventHandle(This);
   5743 }
   5744 static FORCEINLINE HRESULT ISpMMSysAudio_GetVolumeLevel(ISpMMSysAudio* This,ULONG *pLevel) {
   5745     return This->lpVtbl->GetVolumeLevel(This,pLevel);
   5746 }
   5747 static FORCEINLINE HRESULT ISpMMSysAudio_SetVolumeLevel(ISpMMSysAudio* This,ULONG Level) {
   5748     return This->lpVtbl->SetVolumeLevel(This,Level);
   5749 }
   5750 static FORCEINLINE HRESULT ISpMMSysAudio_GetBufferNotifySize(ISpMMSysAudio* This,ULONG *pcbSize) {
   5751     return This->lpVtbl->GetBufferNotifySize(This,pcbSize);
   5752 }
   5753 static FORCEINLINE HRESULT ISpMMSysAudio_SetBufferNotifySize(ISpMMSysAudio* This,ULONG cbSize) {
   5754     return This->lpVtbl->SetBufferNotifySize(This,cbSize);
   5755 }
   5756 /*** ISpMMSysAudio methods ***/
   5757 static FORCEINLINE HRESULT ISpMMSysAudio_GetDeviceId(ISpMMSysAudio* This,UINT *puDeviceId) {
   5758     return This->lpVtbl->GetDeviceId(This,puDeviceId);
   5759 }
   5760 static FORCEINLINE HRESULT ISpMMSysAudio_SetDeviceId(ISpMMSysAudio* This,UINT uDeviceId) {
   5761     return This->lpVtbl->SetDeviceId(This,uDeviceId);
   5762 }
   5763 static FORCEINLINE HRESULT ISpMMSysAudio_GetMMHandle(ISpMMSysAudio* This,void **pHandle) {
   5764     return This->lpVtbl->GetMMHandle(This,pHandle);
   5765 }
   5766 static FORCEINLINE HRESULT ISpMMSysAudio_GetLineId(ISpMMSysAudio* This,UINT *puLineId) {
   5767     return This->lpVtbl->GetLineId(This,puLineId);
   5768 }
   5769 static FORCEINLINE HRESULT ISpMMSysAudio_SetLineId(ISpMMSysAudio* This,UINT uLineId) {
   5770     return This->lpVtbl->SetLineId(This,uLineId);
   5771 }
   5772 #endif
   5773 #endif
   5774 
   5775 #endif
   5776 
   5777 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetDeviceId_Proxy(
   5778     ISpMMSysAudio* This,
   5779     UINT *puDeviceId);
   5780 void __RPC_STUB ISpMMSysAudio_GetDeviceId_Stub(
   5781     IRpcStubBuffer* This,
   5782     IRpcChannelBuffer* pRpcChannelBuffer,
   5783     PRPC_MESSAGE pRpcMessage,
   5784     DWORD* pdwStubPhase);
   5785 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_SetDeviceId_Proxy(
   5786     ISpMMSysAudio* This,
   5787     UINT uDeviceId);
   5788 void __RPC_STUB ISpMMSysAudio_SetDeviceId_Stub(
   5789     IRpcStubBuffer* This,
   5790     IRpcChannelBuffer* pRpcChannelBuffer,
   5791     PRPC_MESSAGE pRpcMessage,
   5792     DWORD* pdwStubPhase);
   5793 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetMMHandle_Proxy(
   5794     ISpMMSysAudio* This,
   5795     void **pHandle);
   5796 void __RPC_STUB ISpMMSysAudio_GetMMHandle_Stub(
   5797     IRpcStubBuffer* This,
   5798     IRpcChannelBuffer* pRpcChannelBuffer,
   5799     PRPC_MESSAGE pRpcMessage,
   5800     DWORD* pdwStubPhase);
   5801 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetLineId_Proxy(
   5802     ISpMMSysAudio* This,
   5803     UINT *puLineId);
   5804 void __RPC_STUB ISpMMSysAudio_GetLineId_Stub(
   5805     IRpcStubBuffer* This,
   5806     IRpcChannelBuffer* pRpcChannelBuffer,
   5807     PRPC_MESSAGE pRpcMessage,
   5808     DWORD* pdwStubPhase);
   5809 HRESULT STDMETHODCALLTYPE ISpMMSysAudio_SetLineId_Proxy(
   5810     ISpMMSysAudio* This,
   5811     UINT uLineId);
   5812 void __RPC_STUB ISpMMSysAudio_SetLineId_Stub(
   5813     IRpcStubBuffer* This,
   5814     IRpcChannelBuffer* pRpcChannelBuffer,
   5815     PRPC_MESSAGE pRpcMessage,
   5816     DWORD* pdwStubPhase);
   5817 
   5818 #endif  /* __ISpMMSysAudio_INTERFACE_DEFINED__ */
   5819 
   5820 /*****************************************************************************
   5821  * ISpTranscript interface
   5822  */
   5823 #ifndef __ISpTranscript_INTERFACE_DEFINED__
   5824 #define __ISpTranscript_INTERFACE_DEFINED__
   5825 
   5826 DEFINE_GUID(IID_ISpTranscript, 0x10f63bce, 0x201a, 0x11d3, 0xac,0x70, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
   5827 #if defined(__cplusplus) && !defined(CINTERFACE)
   5828 MIDL_INTERFACE("10f63bce-201a-11d3-ac70-00c04f8ee6c0")
   5829 ISpTranscript : public IUnknown
   5830 {
   5831     virtual HRESULT STDMETHODCALLTYPE GetTranscript(
   5832         LPWSTR *ppszTranscript) = 0;
   5833 
   5834     virtual HRESULT STDMETHODCALLTYPE AppendTranscript(
   5835         LPCWSTR pszTranscript) = 0;
   5836 
   5837 };
   5838 #ifdef __CRT_UUID_DECL
   5839 __CRT_UUID_DECL(ISpTranscript, 0x10f63bce, 0x201a, 0x11d3, 0xac,0x70, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
   5840 #endif
   5841 #else
   5842 typedef struct ISpTranscriptVtbl {
   5843     BEGIN_INTERFACE
   5844 
   5845     /*** IUnknown methods ***/
   5846     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5847         ISpTranscript* This,
   5848         REFIID riid,
   5849         void **ppvObject);
   5850 
   5851     ULONG (STDMETHODCALLTYPE *AddRef)(
   5852         ISpTranscript* This);
   5853 
   5854     ULONG (STDMETHODCALLTYPE *Release)(
   5855         ISpTranscript* This);
   5856 
   5857     /*** ISpTranscript methods ***/
   5858     HRESULT (STDMETHODCALLTYPE *GetTranscript)(
   5859         ISpTranscript* This,
   5860         LPWSTR *ppszTranscript);
   5861 
   5862     HRESULT (STDMETHODCALLTYPE *AppendTranscript)(
   5863         ISpTranscript* This,
   5864         LPCWSTR pszTranscript);
   5865 
   5866     END_INTERFACE
   5867 } ISpTranscriptVtbl;
   5868 interface ISpTranscript {
   5869     CONST_VTBL ISpTranscriptVtbl* lpVtbl;
   5870 };
   5871 
   5872 #ifdef COBJMACROS
   5873 #ifndef WIDL_C_INLINE_WRAPPERS
   5874 /*** IUnknown methods ***/
   5875 #define ISpTranscript_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5876 #define ISpTranscript_AddRef(This) (This)->lpVtbl->AddRef(This)
   5877 #define ISpTranscript_Release(This) (This)->lpVtbl->Release(This)
   5878 /*** ISpTranscript methods ***/
   5879 #define ISpTranscript_GetTranscript(This,ppszTranscript) (This)->lpVtbl->GetTranscript(This,ppszTranscript)
   5880 #define ISpTranscript_AppendTranscript(This,pszTranscript) (This)->lpVtbl->AppendTranscript(This,pszTranscript)
   5881 #else
   5882 /*** IUnknown methods ***/
   5883 static FORCEINLINE HRESULT ISpTranscript_QueryInterface(ISpTranscript* This,REFIID riid,void **ppvObject) {
   5884     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5885 }
   5886 static FORCEINLINE ULONG ISpTranscript_AddRef(ISpTranscript* This) {
   5887     return This->lpVtbl->AddRef(This);
   5888 }
   5889 static FORCEINLINE ULONG ISpTranscript_Release(ISpTranscript* This) {
   5890     return This->lpVtbl->Release(This);
   5891 }
   5892 /*** ISpTranscript methods ***/
   5893 static FORCEINLINE HRESULT ISpTranscript_GetTranscript(ISpTranscript* This,LPWSTR *ppszTranscript) {
   5894     return This->lpVtbl->GetTranscript(This,ppszTranscript);
   5895 }
   5896 static FORCEINLINE HRESULT ISpTranscript_AppendTranscript(ISpTranscript* This,LPCWSTR pszTranscript) {
   5897     return This->lpVtbl->AppendTranscript(This,pszTranscript);
   5898 }
   5899 #endif
   5900 #endif
   5901 
   5902 #endif
   5903 
   5904 HRESULT STDMETHODCALLTYPE ISpTranscript_GetTranscript_Proxy(
   5905     ISpTranscript* This,
   5906     LPWSTR *ppszTranscript);
   5907 void __RPC_STUB ISpTranscript_GetTranscript_Stub(
   5908     IRpcStubBuffer* This,
   5909     IRpcChannelBuffer* pRpcChannelBuffer,
   5910     PRPC_MESSAGE pRpcMessage,
   5911     DWORD* pdwStubPhase);
   5912 HRESULT STDMETHODCALLTYPE ISpTranscript_AppendTranscript_Proxy(
   5913     ISpTranscript* This,
   5914     LPCWSTR pszTranscript);
   5915 void __RPC_STUB ISpTranscript_AppendTranscript_Stub(
   5916     IRpcStubBuffer* This,
   5917     IRpcChannelBuffer* pRpcChannelBuffer,
   5918     PRPC_MESSAGE pRpcMessage,
   5919     DWORD* pdwStubPhase);
   5920 
   5921 #endif  /* __ISpTranscript_INTERFACE_DEFINED__ */
   5922 
   5923 typedef WCHAR SPPHONEID;
   5924 typedef LPWSTR PSPPHONEID;
   5925 typedef LPCWSTR PCSPPHONEID;
   5926 typedef struct SPPHRASEELEMENT {
   5927     ULONG ulAudioTimeOffset;
   5928     ULONG ulAudioSizeTime;
   5929     ULONG ulAudioStreamOffset;
   5930     ULONG ulAudioSizeBytes;
   5931     ULONG ulRetainedStreamOffset;
   5932     ULONG ulRetainedSizeBytes;
   5933     LPCWSTR pszDisplayText;
   5934     LPCWSTR pszLexicalForm;
   5935     const SPPHONEID *pszPronunciation;
   5936     BYTE bDisplayAttributes;
   5937     signed char RequiredConfidence;
   5938     signed char ActualConfidence;
   5939     BYTE Reserved;
   5940     float SREngineConfidence;
   5941 } SPPHRASEELEMENT;
   5942 typedef struct SPPHRASERULE SPPHRASERULE;
   5943 typedef struct SPPHRASEPROPERTY SPPHRASEPROPERTY;
   5944 struct SPPHRASERULE {
   5945     LPCWSTR pszName;
   5946     ULONG ulId;
   5947     ULONG ulFirstElement;
   5948     ULONG ulCountOfElements;
   5949     const SPPHRASERULE *pNextSibling;
   5950     const SPPHRASERULE *pFirstChild;
   5951     float SREngineConfidence;
   5952     signed char Confidence;
   5953 };
   5954 
   5955 struct SPPHRASEPROPERTY {
   5956     LPCWSTR pszName;
   5957     __C89_NAMELESS union {
   5958         ULONG ulId;
   5959         __C89_NAMELESS struct {
   5960             byte bType;
   5961             byte bReserved;
   5962             unsigned short usArrayIndex;
   5963         } __C89_NAMELESSSTRUCTNAME;
   5964     } __C89_NAMELESSUNIONNAME;
   5965     LPCWSTR pszValue;
   5966     VARIANT vValue;
   5967     ULONG ulFirstElement;
   5968     ULONG ulCountOfElements;
   5969     const SPPHRASEPROPERTY *pNextSibling;
   5970     const SPPHRASEPROPERTY *pFirstChild;
   5971     float SREngineConfidence;
   5972     signed char Confidence;
   5973 };
   5974 
   5975 typedef struct SPPHRASEREPLACEMENT {
   5976     BYTE bDisplayAttributes;
   5977     LPCWSTR pszReplacementText;
   5978     ULONG ulFirstElement;
   5979     ULONG ulCountOfElements;
   5980 } SPPHRASEREPLACEMENT;
   5981 typedef struct SPSEMANTICERRORINFO {
   5982     ULONG ulLineNumber;
   5983     LPWSTR pszScriptLine;
   5984     LPWSTR pszSource;
   5985     LPWSTR pszDescription;
   5986     HRESULT hrResultCode;
   5987 } SPSEMANTICERRORINFO;
   5988 typedef struct SPPHRASE_50 {
   5989     ULONG cbSize;
   5990     WORD LangID;
   5991     WORD wHomophoneGroupId;
   5992     ULONGLONG ullGrammarID;
   5993     ULONGLONG ftStartTime;
   5994     ULONGLONG ullAudioStreamPosition;
   5995     ULONG ulAudioSizeBytes;
   5996     ULONG ulRetainedSizeBytes;
   5997     ULONG ulAudioSizeTime;
   5998     SPPHRASERULE Rule;
   5999     const SPPHRASEPROPERTY *pProperties;
   6000     const SPPHRASEELEMENT *pElements;
   6001     ULONG cReplacements;
   6002     const SPPHRASEREPLACEMENT *pReplacements;
   6003     GUID SREngineID;
   6004     ULONG ulSREnginePrivateDataSize;
   6005     const BYTE *pSREnginePrivateData;
   6006 } SPPHRASE_50;
   6007 #define SP_SPPHRASESIZE_500 sizeof (SPPHRASE_50)
   6008 #ifdef __cplusplus
   6009 typedef struct SPPHRASE : public SPPHRASE_50 {
   6010   LPWSTR pSML;
   6011   SPSEMANTICERRORINFO* pSemanticErrorInfo;
   6012 } SPPHRASE;
   6013 #else
   6014 typedef struct SPPHRASE {
   6015     ULONG cbSize;
   6016     WORD LangID;
   6017     WORD wHomophoneGroupId;
   6018     ULONGLONG ullGrammarID;
   6019     ULONGLONG ftStartTime;
   6020     ULONGLONG ullAudioStreamPosition;
   6021     ULONG ulAudioSizeBytes;
   6022     ULONG ulRetainedSizeBytes;
   6023     ULONG ulAudioSizeTime;
   6024     SPPHRASERULE Rule;
   6025     const SPPHRASEPROPERTY *pProperties;
   6026     const SPPHRASEELEMENT *pElements;
   6027     ULONG cReplacements;
   6028     const SPPHRASEREPLACEMENT *pReplacements;
   6029     GUID SREngineID;
   6030     ULONG ulSREnginePrivateDataSize;
   6031     const BYTE *pSREnginePrivateData;
   6032     LPWSTR pSML;
   6033     SPSEMANTICERRORINFO *pSemanticErrorInfo;
   6034 } SPPHRASE;
   6035 #endif
   6036 typedef struct SPSERIALIZEDPHRASE {
   6037     ULONG ulSerializedSize;
   6038 } SPSERIALIZEDPHRASE;
   6039 typedef struct SPRULE {
   6040     LPCWSTR pszRuleName;
   6041     ULONG ulRuleId;
   6042     DWORD dwAttributes;
   6043 } SPRULE;
   6044 typedef struct SPBINARYGRAMMAR {
   6045     ULONG ulTotalSerializedSize;
   6046 } SPBINARYGRAMMAR;
   6047 #if 0
   6048 typedef void *SPSTATEHANDLE;
   6049 #else
   6050 DECLARE_HANDLE(SPSTATEHANDLE);
   6051 #endif
   6052 typedef struct SPWORDPRONUNCIATION {
   6053     struct SPWORDPRONUNCIATION *pNextWordPronunciation;
   6054     SPLEXICONTYPE eLexiconType;
   6055     WORD LangID;
   6056     WORD wPronunciationFlags;
   6057     SPPARTOFSPEECH ePartOfSpeech;
   6058     SPPHONEID szPronunciation[1];
   6059 } SPWORDPRONUNCIATION;
   6060 typedef struct SPWORDPRONUNCIATIONLIST {
   6061     ULONG ulSize;
   6062     BYTE *pvBuffer;
   6063     SPWORDPRONUNCIATION *pFirstWordPronunciation;
   6064 } SPWORDPRONUNCIATIONLIST;
   6065 typedef struct SPWORD {
   6066     struct SPWORD *pNextWord;
   6067     WORD LangID;
   6068     WORD wReserved;
   6069     SPWORDTYPE eWordType;
   6070     LPWSTR pszWord;
   6071     SPWORDPRONUNCIATION *pFirstWordPronunciation;
   6072 } SPWORD;
   6073 typedef struct SPWORDLIST {
   6074     ULONG ulSize;
   6075     BYTE *pvBuffer;
   6076     SPWORD *pFirstWord;
   6077 } SPWORDLIST;
   6078 /*****************************************************************************
   6079  * ISpLexicon interface
   6080  */
   6081 #ifndef __ISpLexicon_INTERFACE_DEFINED__
   6082 #define __ISpLexicon_INTERFACE_DEFINED__
   6083 
   6084 DEFINE_GUID(IID_ISpLexicon, 0xda41a7c2, 0x5383, 0x4db2, 0x91,0x6b, 0x6c,0x17,0x19,0xe3,0xdb,0x58);
   6085 #if defined(__cplusplus) && !defined(CINTERFACE)
   6086 MIDL_INTERFACE("da41a7c2-5383-4db2-916b-6c1719e3db58")
   6087 ISpLexicon : public IUnknown
   6088 {
   6089     virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
   6090         LPCWSTR pszWord,
   6091         WORD LangID,
   6092         DWORD dwFlags,
   6093         SPWORDPRONUNCIATIONLIST *pWordPronunciationList) = 0;
   6094 
   6095     virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
   6096         LPCWSTR pszWord,
   6097         WORD LangID,
   6098         SPPARTOFSPEECH ePartOfSpeech,
   6099         PCSPPHONEID pszPronunciation) = 0;
   6100 
   6101     virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
   6102         LPCWSTR pszWord,
   6103         WORD LangID,
   6104         SPPARTOFSPEECH ePartOfSpeech,
   6105         PCSPPHONEID pszPronunciation) = 0;
   6106 
   6107     virtual HRESULT STDMETHODCALLTYPE GetGeneration(
   6108         DWORD *pdwGeneration) = 0;
   6109 
   6110     virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
   6111         DWORD dwFlags,
   6112         DWORD *pdwGeneration,
   6113         SPWORDLIST *pWordList) = 0;
   6114 
   6115     virtual HRESULT STDMETHODCALLTYPE GetWords(
   6116         DWORD dwFlags,
   6117         DWORD *pdwGeneration,
   6118         DWORD *pdwCookie,
   6119         SPWORDLIST *pWordList) = 0;
   6120 
   6121 };
   6122 #ifdef __CRT_UUID_DECL
   6123 __CRT_UUID_DECL(ISpLexicon, 0xda41a7c2, 0x5383, 0x4db2, 0x91,0x6b, 0x6c,0x17,0x19,0xe3,0xdb,0x58)
   6124 #endif
   6125 #else
   6126 typedef struct ISpLexiconVtbl {
   6127     BEGIN_INTERFACE
   6128 
   6129     /*** IUnknown methods ***/
   6130     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6131         ISpLexicon* This,
   6132         REFIID riid,
   6133         void **ppvObject);
   6134 
   6135     ULONG (STDMETHODCALLTYPE *AddRef)(
   6136         ISpLexicon* This);
   6137 
   6138     ULONG (STDMETHODCALLTYPE *Release)(
   6139         ISpLexicon* This);
   6140 
   6141     /*** ISpLexicon methods ***/
   6142     HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
   6143         ISpLexicon* This,
   6144         LPCWSTR pszWord,
   6145         WORD LangID,
   6146         DWORD dwFlags,
   6147         SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
   6148 
   6149     HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
   6150         ISpLexicon* This,
   6151         LPCWSTR pszWord,
   6152         WORD LangID,
   6153         SPPARTOFSPEECH ePartOfSpeech,
   6154         PCSPPHONEID pszPronunciation);
   6155 
   6156     HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
   6157         ISpLexicon* This,
   6158         LPCWSTR pszWord,
   6159         WORD LangID,
   6160         SPPARTOFSPEECH ePartOfSpeech,
   6161         PCSPPHONEID pszPronunciation);
   6162 
   6163     HRESULT (STDMETHODCALLTYPE *GetGeneration)(
   6164         ISpLexicon* This,
   6165         DWORD *pdwGeneration);
   6166 
   6167     HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
   6168         ISpLexicon* This,
   6169         DWORD dwFlags,
   6170         DWORD *pdwGeneration,
   6171         SPWORDLIST *pWordList);
   6172 
   6173     HRESULT (STDMETHODCALLTYPE *GetWords)(
   6174         ISpLexicon* This,
   6175         DWORD dwFlags,
   6176         DWORD *pdwGeneration,
   6177         DWORD *pdwCookie,
   6178         SPWORDLIST *pWordList);
   6179 
   6180     END_INTERFACE
   6181 } ISpLexiconVtbl;
   6182 interface ISpLexicon {
   6183     CONST_VTBL ISpLexiconVtbl* lpVtbl;
   6184 };
   6185 
   6186 #ifdef COBJMACROS
   6187 #ifndef WIDL_C_INLINE_WRAPPERS
   6188 /*** IUnknown methods ***/
   6189 #define ISpLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6190 #define ISpLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
   6191 #define ISpLexicon_Release(This) (This)->lpVtbl->Release(This)
   6192 /*** ISpLexicon methods ***/
   6193 #define ISpLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
   6194 #define ISpLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
   6195 #define ISpLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
   6196 #define ISpLexicon_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
   6197 #define ISpLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) (This)->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
   6198 #define ISpLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
   6199 #else
   6200 /*** IUnknown methods ***/
   6201 static FORCEINLINE HRESULT ISpLexicon_QueryInterface(ISpLexicon* This,REFIID riid,void **ppvObject) {
   6202     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6203 }
   6204 static FORCEINLINE ULONG ISpLexicon_AddRef(ISpLexicon* This) {
   6205     return This->lpVtbl->AddRef(This);
   6206 }
   6207 static FORCEINLINE ULONG ISpLexicon_Release(ISpLexicon* This) {
   6208     return This->lpVtbl->Release(This);
   6209 }
   6210 /*** ISpLexicon methods ***/
   6211 static FORCEINLINE HRESULT ISpLexicon_GetPronunciations(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,DWORD dwFlags,SPWORDPRONUNCIATIONLIST *pWordPronunciationList) {
   6212     return This->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList);
   6213 }
   6214 static FORCEINLINE HRESULT ISpLexicon_AddPronunciation(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
   6215     return This->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
   6216 }
   6217 static FORCEINLINE HRESULT ISpLexicon_RemovePronunciation(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
   6218     return This->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
   6219 }
   6220 static FORCEINLINE HRESULT ISpLexicon_GetGeneration(ISpLexicon* This,DWORD *pdwGeneration) {
   6221     return This->lpVtbl->GetGeneration(This,pdwGeneration);
   6222 }
   6223 static FORCEINLINE HRESULT ISpLexicon_GetGenerationChange(ISpLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
   6224     return This->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList);
   6225 }
   6226 static FORCEINLINE HRESULT ISpLexicon_GetWords(ISpLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
   6227     return This->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList);
   6228 }
   6229 #endif
   6230 #endif
   6231 
   6232 #endif
   6233 
   6234 HRESULT STDMETHODCALLTYPE ISpLexicon_GetPronunciations_Proxy(
   6235     ISpLexicon* This,
   6236     LPCWSTR pszWord,
   6237     WORD LangID,
   6238     DWORD dwFlags,
   6239     SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
   6240 void __RPC_STUB ISpLexicon_GetPronunciations_Stub(
   6241     IRpcStubBuffer* This,
   6242     IRpcChannelBuffer* pRpcChannelBuffer,
   6243     PRPC_MESSAGE pRpcMessage,
   6244     DWORD* pdwStubPhase);
   6245 HRESULT STDMETHODCALLTYPE ISpLexicon_AddPronunciation_Proxy(
   6246     ISpLexicon* This,
   6247     LPCWSTR pszWord,
   6248     WORD LangID,
   6249     SPPARTOFSPEECH ePartOfSpeech,
   6250     PCSPPHONEID pszPronunciation);
   6251 void __RPC_STUB ISpLexicon_AddPronunciation_Stub(
   6252     IRpcStubBuffer* This,
   6253     IRpcChannelBuffer* pRpcChannelBuffer,
   6254     PRPC_MESSAGE pRpcMessage,
   6255     DWORD* pdwStubPhase);
   6256 HRESULT STDMETHODCALLTYPE ISpLexicon_RemovePronunciation_Proxy(
   6257     ISpLexicon* This,
   6258     LPCWSTR pszWord,
   6259     WORD LangID,
   6260     SPPARTOFSPEECH ePartOfSpeech,
   6261     PCSPPHONEID pszPronunciation);
   6262 void __RPC_STUB ISpLexicon_RemovePronunciation_Stub(
   6263     IRpcStubBuffer* This,
   6264     IRpcChannelBuffer* pRpcChannelBuffer,
   6265     PRPC_MESSAGE pRpcMessage,
   6266     DWORD* pdwStubPhase);
   6267 HRESULT STDMETHODCALLTYPE ISpLexicon_GetGeneration_Proxy(
   6268     ISpLexicon* This,
   6269     DWORD *pdwGeneration);
   6270 void __RPC_STUB ISpLexicon_GetGeneration_Stub(
   6271     IRpcStubBuffer* This,
   6272     IRpcChannelBuffer* pRpcChannelBuffer,
   6273     PRPC_MESSAGE pRpcMessage,
   6274     DWORD* pdwStubPhase);
   6275 HRESULT STDMETHODCALLTYPE ISpLexicon_GetGenerationChange_Proxy(
   6276     ISpLexicon* This,
   6277     DWORD dwFlags,
   6278     DWORD *pdwGeneration,
   6279     SPWORDLIST *pWordList);
   6280 void __RPC_STUB ISpLexicon_GetGenerationChange_Stub(
   6281     IRpcStubBuffer* This,
   6282     IRpcChannelBuffer* pRpcChannelBuffer,
   6283     PRPC_MESSAGE pRpcMessage,
   6284     DWORD* pdwStubPhase);
   6285 HRESULT STDMETHODCALLTYPE ISpLexicon_GetWords_Proxy(
   6286     ISpLexicon* This,
   6287     DWORD dwFlags,
   6288     DWORD *pdwGeneration,
   6289     DWORD *pdwCookie,
   6290     SPWORDLIST *pWordList);
   6291 void __RPC_STUB ISpLexicon_GetWords_Stub(
   6292     IRpcStubBuffer* This,
   6293     IRpcChannelBuffer* pRpcChannelBuffer,
   6294     PRPC_MESSAGE pRpcMessage,
   6295     DWORD* pdwStubPhase);
   6296 
   6297 #endif  /* __ISpLexicon_INTERFACE_DEFINED__ */
   6298 
   6299 /*****************************************************************************
   6300  * ISpContainerLexicon interface
   6301  */
   6302 #ifndef __ISpContainerLexicon_INTERFACE_DEFINED__
   6303 #define __ISpContainerLexicon_INTERFACE_DEFINED__
   6304 
   6305 DEFINE_GUID(IID_ISpContainerLexicon, 0x8565572f, 0xc094, 0x41cc, 0xb5,0x6e, 0x10,0xbd,0x9c,0x3f,0xf0,0x44);
   6306 #if defined(__cplusplus) && !defined(CINTERFACE)
   6307 MIDL_INTERFACE("8565572f-c094-41cc-b56e-10bd9c3ff044")
   6308 ISpContainerLexicon : public ISpLexicon
   6309 {
   6310     virtual HRESULT STDMETHODCALLTYPE AddLexicon(
   6311         ISpLexicon *pAddLexicon,
   6312         DWORD dwFlags) = 0;
   6313 
   6314 };
   6315 #ifdef __CRT_UUID_DECL
   6316 __CRT_UUID_DECL(ISpContainerLexicon, 0x8565572f, 0xc094, 0x41cc, 0xb5,0x6e, 0x10,0xbd,0x9c,0x3f,0xf0,0x44)
   6317 #endif
   6318 #else
   6319 typedef struct ISpContainerLexiconVtbl {
   6320     BEGIN_INTERFACE
   6321 
   6322     /*** IUnknown methods ***/
   6323     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6324         ISpContainerLexicon* This,
   6325         REFIID riid,
   6326         void **ppvObject);
   6327 
   6328     ULONG (STDMETHODCALLTYPE *AddRef)(
   6329         ISpContainerLexicon* This);
   6330 
   6331     ULONG (STDMETHODCALLTYPE *Release)(
   6332         ISpContainerLexicon* This);
   6333 
   6334     /*** ISpLexicon methods ***/
   6335     HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
   6336         ISpContainerLexicon* This,
   6337         LPCWSTR pszWord,
   6338         WORD LangID,
   6339         DWORD dwFlags,
   6340         SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
   6341 
   6342     HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
   6343         ISpContainerLexicon* This,
   6344         LPCWSTR pszWord,
   6345         WORD LangID,
   6346         SPPARTOFSPEECH ePartOfSpeech,
   6347         PCSPPHONEID pszPronunciation);
   6348 
   6349     HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
   6350         ISpContainerLexicon* This,
   6351         LPCWSTR pszWord,
   6352         WORD LangID,
   6353         SPPARTOFSPEECH ePartOfSpeech,
   6354         PCSPPHONEID pszPronunciation);
   6355 
   6356     HRESULT (STDMETHODCALLTYPE *GetGeneration)(
   6357         ISpContainerLexicon* This,
   6358         DWORD *pdwGeneration);
   6359 
   6360     HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
   6361         ISpContainerLexicon* This,
   6362         DWORD dwFlags,
   6363         DWORD *pdwGeneration,
   6364         SPWORDLIST *pWordList);
   6365 
   6366     HRESULT (STDMETHODCALLTYPE *GetWords)(
   6367         ISpContainerLexicon* This,
   6368         DWORD dwFlags,
   6369         DWORD *pdwGeneration,
   6370         DWORD *pdwCookie,
   6371         SPWORDLIST *pWordList);
   6372 
   6373     /*** ISpContainerLexicon methods ***/
   6374     HRESULT (STDMETHODCALLTYPE *AddLexicon)(
   6375         ISpContainerLexicon* This,
   6376         ISpLexicon *pAddLexicon,
   6377         DWORD dwFlags);
   6378 
   6379     END_INTERFACE
   6380 } ISpContainerLexiconVtbl;
   6381 interface ISpContainerLexicon {
   6382     CONST_VTBL ISpContainerLexiconVtbl* lpVtbl;
   6383 };
   6384 
   6385 #ifdef COBJMACROS
   6386 #ifndef WIDL_C_INLINE_WRAPPERS
   6387 /*** IUnknown methods ***/
   6388 #define ISpContainerLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6389 #define ISpContainerLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
   6390 #define ISpContainerLexicon_Release(This) (This)->lpVtbl->Release(This)
   6391 /*** ISpLexicon methods ***/
   6392 #define ISpContainerLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
   6393 #define ISpContainerLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
   6394 #define ISpContainerLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
   6395 #define ISpContainerLexicon_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
   6396 #define ISpContainerLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) (This)->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
   6397 #define ISpContainerLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
   6398 /*** ISpContainerLexicon methods ***/
   6399 #define ISpContainerLexicon_AddLexicon(This,pAddLexicon,dwFlags) (This)->lpVtbl->AddLexicon(This,pAddLexicon,dwFlags)
   6400 #else
   6401 /*** IUnknown methods ***/
   6402 static FORCEINLINE HRESULT ISpContainerLexicon_QueryInterface(ISpContainerLexicon* This,REFIID riid,void **ppvObject) {
   6403     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6404 }
   6405 static FORCEINLINE ULONG ISpContainerLexicon_AddRef(ISpContainerLexicon* This) {
   6406     return This->lpVtbl->AddRef(This);
   6407 }
   6408 static FORCEINLINE ULONG ISpContainerLexicon_Release(ISpContainerLexicon* This) {
   6409     return This->lpVtbl->Release(This);
   6410 }
   6411 /*** ISpLexicon methods ***/
   6412 static FORCEINLINE HRESULT ISpContainerLexicon_GetPronunciations(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,DWORD dwFlags,SPWORDPRONUNCIATIONLIST *pWordPronunciationList) {
   6413     return This->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList);
   6414 }
   6415 static FORCEINLINE HRESULT ISpContainerLexicon_AddPronunciation(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
   6416     return This->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
   6417 }
   6418 static FORCEINLINE HRESULT ISpContainerLexicon_RemovePronunciation(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
   6419     return This->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
   6420 }
   6421 static FORCEINLINE HRESULT ISpContainerLexicon_GetGeneration(ISpContainerLexicon* This,DWORD *pdwGeneration) {
   6422     return This->lpVtbl->GetGeneration(This,pdwGeneration);
   6423 }
   6424 static FORCEINLINE HRESULT ISpContainerLexicon_GetGenerationChange(ISpContainerLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
   6425     return This->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList);
   6426 }
   6427 static FORCEINLINE HRESULT ISpContainerLexicon_GetWords(ISpContainerLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
   6428     return This->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList);
   6429 }
   6430 /*** ISpContainerLexicon methods ***/
   6431 static FORCEINLINE HRESULT ISpContainerLexicon_AddLexicon(ISpContainerLexicon* This,ISpLexicon *pAddLexicon,DWORD dwFlags) {
   6432     return This->lpVtbl->AddLexicon(This,pAddLexicon,dwFlags);
   6433 }
   6434 #endif
   6435 #endif
   6436 
   6437 #endif
   6438 
   6439 HRESULT STDMETHODCALLTYPE ISpContainerLexicon_AddLexicon_Proxy(
   6440     ISpContainerLexicon* This,
   6441     ISpLexicon *pAddLexicon,
   6442     DWORD dwFlags);
   6443 void __RPC_STUB ISpContainerLexicon_AddLexicon_Stub(
   6444     IRpcStubBuffer* This,
   6445     IRpcChannelBuffer* pRpcChannelBuffer,
   6446     PRPC_MESSAGE pRpcMessage,
   6447     DWORD* pdwStubPhase);
   6448 
   6449 #endif  /* __ISpContainerLexicon_INTERFACE_DEFINED__ */
   6450 
   6451 typedef struct SPSHORTCUTPAIR {
   6452     struct SPSHORTCUTPAIR *pNextSHORTCUTPAIR;
   6453     WORD LangID;
   6454     SPSHORTCUTTYPE shType;
   6455     LPWSTR pszDisplay;
   6456     LPWSTR pszSpoken;
   6457 } SPSHORTCUTPAIR;
   6458 typedef struct SPSHORTCUTPAIRLIST {
   6459     ULONG ulSize;
   6460     BYTE *pvBuffer;
   6461     SPSHORTCUTPAIR *pFirstShortcutPair;
   6462 } SPSHORTCUTPAIRLIST;
   6463 /*****************************************************************************
   6464  * ISpShortcut interface
   6465  */
   6466 #ifndef __ISpShortcut_INTERFACE_DEFINED__
   6467 #define __ISpShortcut_INTERFACE_DEFINED__
   6468 
   6469 DEFINE_GUID(IID_ISpShortcut, 0x3df681e2, 0xea56, 0x11d9, 0x8b,0xde, 0xf6,0x6b,0xad,0x1e,0x3f,0x3a);
   6470 #if defined(__cplusplus) && !defined(CINTERFACE)
   6471 MIDL_INTERFACE("3df681e2-ea56-11d9-8bde-f66bad1e3f3a")
   6472 ISpShortcut : public IUnknown
   6473 {
   6474     virtual HRESULT STDMETHODCALLTYPE AddShortcut(
   6475         LPCWSTR pszDisplay,
   6476         WORD LangID,
   6477         LPCWSTR pszSpoken,
   6478         SPSHORTCUTTYPE shType) = 0;
   6479 
   6480     virtual HRESULT STDMETHODCALLTYPE RemoveShortcut(
   6481         LPCWSTR pszDisplay,
   6482         WORD LangID,
   6483         LPCWSTR pszSpoken,
   6484         SPSHORTCUTTYPE shType) = 0;
   6485 
   6486     virtual HRESULT STDMETHODCALLTYPE GetShortcuts(
   6487         WORD LangID,
   6488         SPSHORTCUTPAIRLIST *pShortcutpairList) = 0;
   6489 
   6490     virtual HRESULT STDMETHODCALLTYPE GetGeneration(
   6491         DWORD *pdwGeneration) = 0;
   6492 
   6493     virtual HRESULT STDMETHODCALLTYPE GetWordsFromGenerationChange(
   6494         DWORD *pdwGeneration,
   6495         SPWORDLIST *pWordList) = 0;
   6496 
   6497     virtual HRESULT STDMETHODCALLTYPE GetWords(
   6498         DWORD *pdwGeneration,
   6499         DWORD *pdwCookie,
   6500         SPWORDLIST *pWordList) = 0;
   6501 
   6502     virtual HRESULT STDMETHODCALLTYPE GetShortcutsForGeneration(
   6503         DWORD *pdwGeneration,
   6504         DWORD *pdwCookie,
   6505         SPSHORTCUTPAIRLIST *pShortcutpairList) = 0;
   6506 
   6507     virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
   6508         DWORD *pdwGeneration,
   6509         SPSHORTCUTPAIRLIST *pShortcutpairList) = 0;
   6510 
   6511 };
   6512 #ifdef __CRT_UUID_DECL
   6513 __CRT_UUID_DECL(ISpShortcut, 0x3df681e2, 0xea56, 0x11d9, 0x8b,0xde, 0xf6,0x6b,0xad,0x1e,0x3f,0x3a)
   6514 #endif
   6515 #else
   6516 typedef struct ISpShortcutVtbl {
   6517     BEGIN_INTERFACE
   6518 
   6519     /*** IUnknown methods ***/
   6520     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6521         ISpShortcut* This,
   6522         REFIID riid,
   6523         void **ppvObject);
   6524 
   6525     ULONG (STDMETHODCALLTYPE *AddRef)(
   6526         ISpShortcut* This);
   6527 
   6528     ULONG (STDMETHODCALLTYPE *Release)(
   6529         ISpShortcut* This);
   6530 
   6531     /*** ISpShortcut methods ***/
   6532     HRESULT (STDMETHODCALLTYPE *AddShortcut)(
   6533         ISpShortcut* This,
   6534         LPCWSTR pszDisplay,
   6535         WORD LangID,
   6536         LPCWSTR pszSpoken,
   6537         SPSHORTCUTTYPE shType);
   6538 
   6539     HRESULT (STDMETHODCALLTYPE *RemoveShortcut)(
   6540         ISpShortcut* This,
   6541         LPCWSTR pszDisplay,
   6542         WORD LangID,
   6543         LPCWSTR pszSpoken,
   6544         SPSHORTCUTTYPE shType);
   6545 
   6546     HRESULT (STDMETHODCALLTYPE *GetShortcuts)(
   6547         ISpShortcut* This,
   6548         WORD LangID,
   6549         SPSHORTCUTPAIRLIST *pShortcutpairList);
   6550 
   6551     HRESULT (STDMETHODCALLTYPE *GetGeneration)(
   6552         ISpShortcut* This,
   6553         DWORD *pdwGeneration);
   6554 
   6555     HRESULT (STDMETHODCALLTYPE *GetWordsFromGenerationChange)(
   6556         ISpShortcut* This,
   6557         DWORD *pdwGeneration,
   6558         SPWORDLIST *pWordList);
   6559 
   6560     HRESULT (STDMETHODCALLTYPE *GetWords)(
   6561         ISpShortcut* This,
   6562         DWORD *pdwGeneration,
   6563         DWORD *pdwCookie,
   6564         SPWORDLIST *pWordList);
   6565 
   6566     HRESULT (STDMETHODCALLTYPE *GetShortcutsForGeneration)(
   6567         ISpShortcut* This,
   6568         DWORD *pdwGeneration,
   6569         DWORD *pdwCookie,
   6570         SPSHORTCUTPAIRLIST *pShortcutpairList);
   6571 
   6572     HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
   6573         ISpShortcut* This,
   6574         DWORD *pdwGeneration,
   6575         SPSHORTCUTPAIRLIST *pShortcutpairList);
   6576 
   6577     END_INTERFACE
   6578 } ISpShortcutVtbl;
   6579 interface ISpShortcut {
   6580     CONST_VTBL ISpShortcutVtbl* lpVtbl;
   6581 };
   6582 
   6583 #ifdef COBJMACROS
   6584 #ifndef WIDL_C_INLINE_WRAPPERS
   6585 /*** IUnknown methods ***/
   6586 #define ISpShortcut_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6587 #define ISpShortcut_AddRef(This) (This)->lpVtbl->AddRef(This)
   6588 #define ISpShortcut_Release(This) (This)->lpVtbl->Release(This)
   6589 /*** ISpShortcut methods ***/
   6590 #define ISpShortcut_AddShortcut(This,pszDisplay,LangID,pszSpoken,shType) (This)->lpVtbl->AddShortcut(This,pszDisplay,LangID,pszSpoken,shType)
   6591 #define ISpShortcut_RemoveShortcut(This,pszDisplay,LangID,pszSpoken,shType) (This)->lpVtbl->RemoveShortcut(This,pszDisplay,LangID,pszSpoken,shType)
   6592 #define ISpShortcut_GetShortcuts(This,LangID,pShortcutpairList) (This)->lpVtbl->GetShortcuts(This,LangID,pShortcutpairList)
   6593 #define ISpShortcut_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
   6594 #define ISpShortcut_GetWordsFromGenerationChange(This,pdwGeneration,pWordList) (This)->lpVtbl->GetWordsFromGenerationChange(This,pdwGeneration,pWordList)
   6595 #define ISpShortcut_GetWords(This,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,pdwGeneration,pdwCookie,pWordList)
   6596 #define ISpShortcut_GetShortcutsForGeneration(This,pdwGeneration,pdwCookie,pShortcutpairList) (This)->lpVtbl->GetShortcutsForGeneration(This,pdwGeneration,pdwCookie,pShortcutpairList)
   6597 #define ISpShortcut_GetGenerationChange(This,pdwGeneration,pShortcutpairList) (This)->lpVtbl->GetGenerationChange(This,pdwGeneration,pShortcutpairList)
   6598 #else
   6599 /*** IUnknown methods ***/
   6600 static FORCEINLINE HRESULT ISpShortcut_QueryInterface(ISpShortcut* This,REFIID riid,void **ppvObject) {
   6601     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6602 }
   6603 static FORCEINLINE ULONG ISpShortcut_AddRef(ISpShortcut* This) {
   6604     return This->lpVtbl->AddRef(This);
   6605 }
   6606 static FORCEINLINE ULONG ISpShortcut_Release(ISpShortcut* This) {
   6607     return This->lpVtbl->Release(This);
   6608 }
   6609 /*** ISpShortcut methods ***/
   6610 static FORCEINLINE HRESULT ISpShortcut_AddShortcut(ISpShortcut* This,LPCWSTR pszDisplay,WORD LangID,LPCWSTR pszSpoken,SPSHORTCUTTYPE shType) {
   6611     return This->lpVtbl->AddShortcut(This,pszDisplay,LangID,pszSpoken,shType);
   6612 }
   6613 static FORCEINLINE HRESULT ISpShortcut_RemoveShortcut(ISpShortcut* This,LPCWSTR pszDisplay,WORD LangID,LPCWSTR pszSpoken,SPSHORTCUTTYPE shType) {
   6614     return This->lpVtbl->RemoveShortcut(This,pszDisplay,LangID,pszSpoken,shType);
   6615 }
   6616 static FORCEINLINE HRESULT ISpShortcut_GetShortcuts(ISpShortcut* This,WORD LangID,SPSHORTCUTPAIRLIST *pShortcutpairList) {
   6617     return This->lpVtbl->GetShortcuts(This,LangID,pShortcutpairList);
   6618 }
   6619 static FORCEINLINE HRESULT ISpShortcut_GetGeneration(ISpShortcut* This,DWORD *pdwGeneration) {
   6620     return This->lpVtbl->GetGeneration(This,pdwGeneration);
   6621 }
   6622 static FORCEINLINE HRESULT ISpShortcut_GetWordsFromGenerationChange(ISpShortcut* This,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
   6623     return This->lpVtbl->GetWordsFromGenerationChange(This,pdwGeneration,pWordList);
   6624 }
   6625 static FORCEINLINE HRESULT ISpShortcut_GetWords(ISpShortcut* This,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
   6626     return This->lpVtbl->GetWords(This,pdwGeneration,pdwCookie,pWordList);
   6627 }
   6628 static FORCEINLINE HRESULT ISpShortcut_GetShortcutsForGeneration(ISpShortcut* This,DWORD *pdwGeneration,DWORD *pdwCookie,SPSHORTCUTPAIRLIST *pShortcutpairList) {
   6629     return This->lpVtbl->GetShortcutsForGeneration(This,pdwGeneration,pdwCookie,pShortcutpairList);
   6630 }
   6631 static FORCEINLINE HRESULT ISpShortcut_GetGenerationChange(ISpShortcut* This,DWORD *pdwGeneration,SPSHORTCUTPAIRLIST *pShortcutpairList) {
   6632     return This->lpVtbl->GetGenerationChange(This,pdwGeneration,pShortcutpairList);
   6633 }
   6634 #endif
   6635 #endif
   6636 
   6637 #endif
   6638 
   6639 HRESULT STDMETHODCALLTYPE ISpShortcut_AddShortcut_Proxy(
   6640     ISpShortcut* This,
   6641     LPCWSTR pszDisplay,
   6642     WORD LangID,
   6643     LPCWSTR pszSpoken,
   6644     SPSHORTCUTTYPE shType);
   6645 void __RPC_STUB ISpShortcut_AddShortcut_Stub(
   6646     IRpcStubBuffer* This,
   6647     IRpcChannelBuffer* pRpcChannelBuffer,
   6648     PRPC_MESSAGE pRpcMessage,
   6649     DWORD* pdwStubPhase);
   6650 HRESULT STDMETHODCALLTYPE ISpShortcut_RemoveShortcut_Proxy(
   6651     ISpShortcut* This,
   6652     LPCWSTR pszDisplay,
   6653     WORD LangID,
   6654     LPCWSTR pszSpoken,
   6655     SPSHORTCUTTYPE shType);
   6656 void __RPC_STUB ISpShortcut_RemoveShortcut_Stub(
   6657     IRpcStubBuffer* This,
   6658     IRpcChannelBuffer* pRpcChannelBuffer,
   6659     PRPC_MESSAGE pRpcMessage,
   6660     DWORD* pdwStubPhase);
   6661 HRESULT STDMETHODCALLTYPE ISpShortcut_GetShortcuts_Proxy(
   6662     ISpShortcut* This,
   6663     WORD LangID,
   6664     SPSHORTCUTPAIRLIST *pShortcutpairList);
   6665 void __RPC_STUB ISpShortcut_GetShortcuts_Stub(
   6666     IRpcStubBuffer* This,
   6667     IRpcChannelBuffer* pRpcChannelBuffer,
   6668     PRPC_MESSAGE pRpcMessage,
   6669     DWORD* pdwStubPhase);
   6670 HRESULT STDMETHODCALLTYPE ISpShortcut_GetGeneration_Proxy(
   6671     ISpShortcut* This,
   6672     DWORD *pdwGeneration);
   6673 void __RPC_STUB ISpShortcut_GetGeneration_Stub(
   6674     IRpcStubBuffer* This,
   6675     IRpcChannelBuffer* pRpcChannelBuffer,
   6676     PRPC_MESSAGE pRpcMessage,
   6677     DWORD* pdwStubPhase);
   6678 HRESULT STDMETHODCALLTYPE ISpShortcut_GetWordsFromGenerationChange_Proxy(
   6679     ISpShortcut* This,
   6680     DWORD *pdwGeneration,
   6681     SPWORDLIST *pWordList);
   6682 void __RPC_STUB ISpShortcut_GetWordsFromGenerationChange_Stub(
   6683     IRpcStubBuffer* This,
   6684     IRpcChannelBuffer* pRpcChannelBuffer,
   6685     PRPC_MESSAGE pRpcMessage,
   6686     DWORD* pdwStubPhase);
   6687 HRESULT STDMETHODCALLTYPE ISpShortcut_GetWords_Proxy(
   6688     ISpShortcut* This,
   6689     DWORD *pdwGeneration,
   6690     DWORD *pdwCookie,
   6691     SPWORDLIST *pWordList);
   6692 void __RPC_STUB ISpShortcut_GetWords_Stub(
   6693     IRpcStubBuffer* This,
   6694     IRpcChannelBuffer* pRpcChannelBuffer,
   6695     PRPC_MESSAGE pRpcMessage,
   6696     DWORD* pdwStubPhase);
   6697 HRESULT STDMETHODCALLTYPE ISpShortcut_GetShortcutsForGeneration_Proxy(
   6698     ISpShortcut* This,
   6699     DWORD *pdwGeneration,
   6700     DWORD *pdwCookie,
   6701     SPSHORTCUTPAIRLIST *pShortcutpairList);
   6702 void __RPC_STUB ISpShortcut_GetShortcutsForGeneration_Stub(
   6703     IRpcStubBuffer* This,
   6704     IRpcChannelBuffer* pRpcChannelBuffer,
   6705     PRPC_MESSAGE pRpcMessage,
   6706     DWORD* pdwStubPhase);
   6707 HRESULT STDMETHODCALLTYPE ISpShortcut_GetGenerationChange_Proxy(
   6708     ISpShortcut* This,
   6709     DWORD *pdwGeneration,
   6710     SPSHORTCUTPAIRLIST *pShortcutpairList);
   6711 void __RPC_STUB ISpShortcut_GetGenerationChange_Stub(
   6712     IRpcStubBuffer* This,
   6713     IRpcChannelBuffer* pRpcChannelBuffer,
   6714     PRPC_MESSAGE pRpcMessage,
   6715     DWORD* pdwStubPhase);
   6716 
   6717 #endif  /* __ISpShortcut_INTERFACE_DEFINED__ */
   6718 
   6719 /*****************************************************************************
   6720  * ISpPhoneConverter interface
   6721  */
   6722 #ifndef __ISpPhoneConverter_INTERFACE_DEFINED__
   6723 #define __ISpPhoneConverter_INTERFACE_DEFINED__
   6724 
   6725 DEFINE_GUID(IID_ISpPhoneConverter, 0x8445c581, 0x0cac, 0x4a38, 0xab,0xfe, 0x9b,0x2c,0xe2,0x82,0x64,0x55);
   6726 #if defined(__cplusplus) && !defined(CINTERFACE)
   6727 MIDL_INTERFACE("8445c581-0cac-4a38-abfe-9b2ce2826455")
   6728 ISpPhoneConverter : public ISpObjectWithToken
   6729 {
   6730     virtual HRESULT STDMETHODCALLTYPE PhoneToId(
   6731         LPCWSTR pszPhone,
   6732         SPPHONEID *pId) = 0;
   6733 
   6734     virtual HRESULT STDMETHODCALLTYPE IdToPhone(
   6735         PCSPPHONEID pId,
   6736         WCHAR *pszPhone) = 0;
   6737 
   6738 };
   6739 #ifdef __CRT_UUID_DECL
   6740 __CRT_UUID_DECL(ISpPhoneConverter, 0x8445c581, 0x0cac, 0x4a38, 0xab,0xfe, 0x9b,0x2c,0xe2,0x82,0x64,0x55)
   6741 #endif
   6742 #else
   6743 typedef struct ISpPhoneConverterVtbl {
   6744     BEGIN_INTERFACE
   6745 
   6746     /*** IUnknown methods ***/
   6747     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6748         ISpPhoneConverter* This,
   6749         REFIID riid,
   6750         void **ppvObject);
   6751 
   6752     ULONG (STDMETHODCALLTYPE *AddRef)(
   6753         ISpPhoneConverter* This);
   6754 
   6755     ULONG (STDMETHODCALLTYPE *Release)(
   6756         ISpPhoneConverter* This);
   6757 
   6758     /*** ISpObjectWithToken methods ***/
   6759     HRESULT (STDMETHODCALLTYPE *SetObjectToken)(
   6760         ISpPhoneConverter* This,
   6761         ISpObjectToken *pToken);
   6762 
   6763     HRESULT (STDMETHODCALLTYPE *GetObjectToken)(
   6764         ISpPhoneConverter* This,
   6765         ISpObjectToken **ppToken);
   6766 
   6767     /*** ISpPhoneConverter methods ***/
   6768     HRESULT (STDMETHODCALLTYPE *PhoneToId)(
   6769         ISpPhoneConverter* This,
   6770         LPCWSTR pszPhone,
   6771         SPPHONEID *pId);
   6772 
   6773     HRESULT (STDMETHODCALLTYPE *IdToPhone)(
   6774         ISpPhoneConverter* This,
   6775         PCSPPHONEID pId,
   6776         WCHAR *pszPhone);
   6777 
   6778     END_INTERFACE
   6779 } ISpPhoneConverterVtbl;
   6780 interface ISpPhoneConverter {
   6781     CONST_VTBL ISpPhoneConverterVtbl* lpVtbl;
   6782 };
   6783 
   6784 #ifdef COBJMACROS
   6785 #ifndef WIDL_C_INLINE_WRAPPERS
   6786 /*** IUnknown methods ***/
   6787 #define ISpPhoneConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6788 #define ISpPhoneConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
   6789 #define ISpPhoneConverter_Release(This) (This)->lpVtbl->Release(This)
   6790 /*** ISpObjectWithToken methods ***/
   6791 #define ISpPhoneConverter_SetObjectToken(This,pToken) (This)->lpVtbl->SetObjectToken(This,pToken)
   6792 #define ISpPhoneConverter_GetObjectToken(This,ppToken) (This)->lpVtbl->GetObjectToken(This,ppToken)
   6793 /*** ISpPhoneConverter methods ***/
   6794 #define ISpPhoneConverter_PhoneToId(This,pszPhone,pId) (This)->lpVtbl->PhoneToId(This,pszPhone,pId)
   6795 #define ISpPhoneConverter_IdToPhone(This,pId,pszPhone) (This)->lpVtbl->IdToPhone(This,pId,pszPhone)
   6796 #else
   6797 /*** IUnknown methods ***/
   6798 static FORCEINLINE HRESULT ISpPhoneConverter_QueryInterface(ISpPhoneConverter* This,REFIID riid,void **ppvObject) {
   6799     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6800 }
   6801 static FORCEINLINE ULONG ISpPhoneConverter_AddRef(ISpPhoneConverter* This) {
   6802     return This->lpVtbl->AddRef(This);
   6803 }
   6804 static FORCEINLINE ULONG ISpPhoneConverter_Release(ISpPhoneConverter* This) {
   6805     return This->lpVtbl->Release(This);
   6806 }
   6807 /*** ISpObjectWithToken methods ***/
   6808 static FORCEINLINE HRESULT ISpPhoneConverter_SetObjectToken(ISpPhoneConverter* This,ISpObjectToken *pToken) {
   6809     return This->lpVtbl->SetObjectToken(This,pToken);
   6810 }
   6811 static FORCEINLINE HRESULT ISpPhoneConverter_GetObjectToken(ISpPhoneConverter* This,ISpObjectToken **ppToken) {
   6812     return This->lpVtbl->GetObjectToken(This,ppToken);
   6813 }
   6814 /*** ISpPhoneConverter methods ***/
   6815 static FORCEINLINE HRESULT ISpPhoneConverter_PhoneToId(ISpPhoneConverter* This,LPCWSTR pszPhone,SPPHONEID *pId) {
   6816     return This->lpVtbl->PhoneToId(This,pszPhone,pId);
   6817 }
   6818 static FORCEINLINE HRESULT ISpPhoneConverter_IdToPhone(ISpPhoneConverter* This,PCSPPHONEID pId,WCHAR *pszPhone) {
   6819     return This->lpVtbl->IdToPhone(This,pId,pszPhone);
   6820 }
   6821 #endif
   6822 #endif
   6823 
   6824 #endif
   6825 
   6826 HRESULT STDMETHODCALLTYPE ISpPhoneConverter_PhoneToId_Proxy(
   6827     ISpPhoneConverter* This,
   6828     LPCWSTR pszPhone,
   6829     SPPHONEID *pId);
   6830 void __RPC_STUB ISpPhoneConverter_PhoneToId_Stub(
   6831     IRpcStubBuffer* This,
   6832     IRpcChannelBuffer* pRpcChannelBuffer,
   6833     PRPC_MESSAGE pRpcMessage,
   6834     DWORD* pdwStubPhase);
   6835 HRESULT STDMETHODCALLTYPE ISpPhoneConverter_IdToPhone_Proxy(
   6836     ISpPhoneConverter* This,
   6837     PCSPPHONEID pId,
   6838     WCHAR *pszPhone);
   6839 void __RPC_STUB ISpPhoneConverter_IdToPhone_Stub(
   6840     IRpcStubBuffer* This,
   6841     IRpcChannelBuffer* pRpcChannelBuffer,
   6842     PRPC_MESSAGE pRpcMessage,
   6843     DWORD* pdwStubPhase);
   6844 
   6845 #endif  /* __ISpPhoneConverter_INTERFACE_DEFINED__ */
   6846 
   6847 /*****************************************************************************
   6848  * ISpPhoneticAlphabetConverter interface
   6849  */
   6850 #ifndef __ISpPhoneticAlphabetConverter_INTERFACE_DEFINED__
   6851 #define __ISpPhoneticAlphabetConverter_INTERFACE_DEFINED__
   6852 
   6853 DEFINE_GUID(IID_ISpPhoneticAlphabetConverter, 0x133adcd4, 0x19b4, 0x4020, 0x9f,0xdc, 0x84,0x2e,0x78,0x25,0x3b,0x17);
   6854 #if defined(__cplusplus) && !defined(CINTERFACE)
   6855 MIDL_INTERFACE("133adcd4-19b4-4020-9fdc-842e78253b17")
   6856 ISpPhoneticAlphabetConverter : public IUnknown
   6857 {
   6858     virtual HRESULT STDMETHODCALLTYPE GetLangId(
   6859         WORD *pLangID) = 0;
   6860 
   6861     virtual HRESULT STDMETHODCALLTYPE SetLangId(
   6862         WORD LangID) = 0;
   6863 
   6864     virtual HRESULT STDMETHODCALLTYPE SAPI2UPS(
   6865         const SPPHONEID *pszSAPIId,
   6866         SPPHONEID *pszUPSId,
   6867         DWORD cMaxLength) = 0;
   6868 
   6869     virtual HRESULT STDMETHODCALLTYPE UPS2SAPI(
   6870         const SPPHONEID *pszUPSId,
   6871         SPPHONEID *pszSAPIId,
   6872         DWORD cMaxLength) = 0;
   6873 
   6874     virtual HRESULT STDMETHODCALLTYPE GetMaxConvertLength(
   6875         DWORD cSrcLength,
   6876         WINBOOL bSAPI2UPS,
   6877         DWORD *pcMaxDestLength) = 0;
   6878 
   6879 };
   6880 #ifdef __CRT_UUID_DECL
   6881 __CRT_UUID_DECL(ISpPhoneticAlphabetConverter, 0x133adcd4, 0x19b4, 0x4020, 0x9f,0xdc, 0x84,0x2e,0x78,0x25,0x3b,0x17)
   6882 #endif
   6883 #else
   6884 typedef struct ISpPhoneticAlphabetConverterVtbl {
   6885     BEGIN_INTERFACE
   6886 
   6887     /*** IUnknown methods ***/
   6888     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6889         ISpPhoneticAlphabetConverter* This,
   6890         REFIID riid,
   6891         void **ppvObject);
   6892 
   6893     ULONG (STDMETHODCALLTYPE *AddRef)(
   6894         ISpPhoneticAlphabetConverter* This);
   6895 
   6896     ULONG (STDMETHODCALLTYPE *Release)(
   6897         ISpPhoneticAlphabetConverter* This);
   6898 
   6899     /*** ISpPhoneticAlphabetConverter methods ***/
   6900     HRESULT (STDMETHODCALLTYPE *GetLangId)(
   6901         ISpPhoneticAlphabetConverter* This,
   6902         WORD *pLangID);
   6903 
   6904     HRESULT (STDMETHODCALLTYPE *SetLangId)(
   6905         ISpPhoneticAlphabetConverter* This,
   6906         WORD LangID);
   6907 
   6908     HRESULT (STDMETHODCALLTYPE *SAPI2UPS)(
   6909         ISpPhoneticAlphabetConverter* This,
   6910         const SPPHONEID *pszSAPIId,
   6911         SPPHONEID *pszUPSId,
   6912         DWORD cMaxLength);
   6913 
   6914     HRESULT (STDMETHODCALLTYPE *UPS2SAPI)(
   6915         ISpPhoneticAlphabetConverter* This,
   6916         const SPPHONEID *pszUPSId,
   6917         SPPHONEID *pszSAPIId,
   6918         DWORD cMaxLength);
   6919 
   6920     HRESULT (STDMETHODCALLTYPE *GetMaxConvertLength)(
   6921         ISpPhoneticAlphabetConverter* This,
   6922         DWORD cSrcLength,
   6923         WINBOOL bSAPI2UPS,
   6924         DWORD *pcMaxDestLength);
   6925 
   6926     END_INTERFACE
   6927 } ISpPhoneticAlphabetConverterVtbl;
   6928 interface ISpPhoneticAlphabetConverter {
   6929     CONST_VTBL ISpPhoneticAlphabetConverterVtbl* lpVtbl;
   6930 };
   6931 
   6932 #ifdef COBJMACROS
   6933 #ifndef WIDL_C_INLINE_WRAPPERS
   6934 /*** IUnknown methods ***/
   6935 #define ISpPhoneticAlphabetConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6936 #define ISpPhoneticAlphabetConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
   6937 #define ISpPhoneticAlphabetConverter_Release(This) (This)->lpVtbl->Release(This)
   6938 /*** ISpPhoneticAlphabetConverter methods ***/
   6939 #define ISpPhoneticAlphabetConverter_GetLangId(This,pLangID) (This)->lpVtbl->GetLangId(This,pLangID)
   6940 #define ISpPhoneticAlphabetConverter_SetLangId(This,LangID) (This)->lpVtbl->SetLangId(This,LangID)
   6941 #define ISpPhoneticAlphabetConverter_SAPI2UPS(This,pszSAPIId,pszUPSId,cMaxLength) (This)->lpVtbl->SAPI2UPS(This,pszSAPIId,pszUPSId,cMaxLength)
   6942 #define ISpPhoneticAlphabetConverter_UPS2SAPI(This,pszUPSId,pszSAPIId,cMaxLength) (This)->lpVtbl->UPS2SAPI(This,pszUPSId,pszSAPIId,cMaxLength)
   6943 #define ISpPhoneticAlphabetConverter_GetMaxConvertLength(This,cSrcLength,bSAPI2UPS,pcMaxDestLength) (This)->lpVtbl->GetMaxConvertLength(This,cSrcLength,bSAPI2UPS,pcMaxDestLength)
   6944 #else
   6945 /*** IUnknown methods ***/
   6946 static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_QueryInterface(ISpPhoneticAlphabetConverter* This,REFIID riid,void **ppvObject) {
   6947     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6948 }
   6949 static FORCEINLINE ULONG ISpPhoneticAlphabetConverter_AddRef(ISpPhoneticAlphabetConverter* This) {
   6950     return This->lpVtbl->AddRef(This);
   6951 }
   6952 static FORCEINLINE ULONG ISpPhoneticAlphabetConverter_Release(ISpPhoneticAlphabetConverter* This) {
   6953     return This->lpVtbl->Release(This);
   6954 }
   6955 /*** ISpPhoneticAlphabetConverter methods ***/
   6956 static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_GetLangId(ISpPhoneticAlphabetConverter* This,WORD *pLangID) {
   6957     return This->lpVtbl->GetLangId(This,pLangID);
   6958 }
   6959 static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_SetLangId(ISpPhoneticAlphabetConverter* This,WORD LangID) {
   6960     return This->lpVtbl->SetLangId(This,LangID);
   6961 }
   6962 static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_SAPI2UPS(ISpPhoneticAlphabetConverter* This,const SPPHONEID *pszSAPIId,SPPHONEID *pszUPSId,DWORD cMaxLength) {
   6963     return This->lpVtbl->SAPI2UPS(This,pszSAPIId,pszUPSId,cMaxLength);
   6964 }
   6965 static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_UPS2SAPI(ISpPhoneticAlphabetConverter* This,const SPPHONEID *pszUPSId,SPPHONEID *pszSAPIId,DWORD cMaxLength) {
   6966     return This->lpVtbl->UPS2SAPI(This,pszUPSId,pszSAPIId,cMaxLength);
   6967 }
   6968 static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_GetMaxConvertLength(ISpPhoneticAlphabetConverter* This,DWORD cSrcLength,WINBOOL bSAPI2UPS,DWORD *pcMaxDestLength) {
   6969     return This->lpVtbl->GetMaxConvertLength(This,cSrcLength,bSAPI2UPS,pcMaxDestLength);
   6970 }
   6971 #endif
   6972 #endif
   6973 
   6974 #endif
   6975 
   6976 HRESULT STDMETHODCALLTYPE ISpPhoneticAlphabetConverter_GetLangId_Proxy(
   6977     ISpPhoneticAlphabetConverter* This,
   6978     WORD *pLangID);
   6979 void __RPC_STUB ISpPhoneticAlphabetConverter_GetLangId_Stub(
   6980     IRpcStubBuffer* This,
   6981     IRpcChannelBuffer* pRpcChannelBuffer,
   6982     PRPC_MESSAGE pRpcMessage,
   6983     DWORD* pdwStubPhase);
   6984 HRESULT STDMETHODCALLTYPE ISpPhoneticAlphabetConverter_SetLangId_Proxy(
   6985     ISpPhoneticAlphabetConverter* This,
   6986     WORD LangID);
   6987 void __RPC_STUB ISpPhoneticAlphabetConverter_SetLangId_Stub(
   6988     IRpcStubBuffer* This,
   6989     IRpcChannelBuffer* pRpcChannelBuffer,
   6990     PRPC_MESSAGE pRpcMessage,
   6991     DWORD* pdwStubPhase);
   6992 HRESULT STDMETHODCALLTYPE ISpPhoneticAlphabetConverter_SAPI2UPS_Proxy(
   6993     ISpPhoneticAlphabetConverter* This,
   6994     const SPPHONEID *pszSAPIId,
   6995     SPPHONEID *pszUPSId,
   6996     DWORD cMaxLength);
   6997 void __RPC_STUB ISpPhoneticAlphabetConverter_SAPI2UPS_Stub(
   6998     IRpcStubBuffer* This,
   6999     IRpcChannelBuffer* pRpcChannelBuffer,
   7000     PRPC_MESSAGE pRpcMessage,
   7001     DWORD* pdwStubPhase);
   7002 HRESULT STDMETHODCALLTYPE ISpPhoneticAlphabetConverter_UPS2SAPI_Proxy(
   7003     ISpPhoneticAlphabetConverter* This,
   7004     const SPPHONEID *pszUPSId,
   7005     SPPHONEID *pszSAPIId,
   7006     DWORD cMaxLength);
   7007 void __RPC_STUB ISpPhoneticAlphabetConverter_UPS2SAPI_Stub(
   7008     IRpcStubBuffer* This,
   7009     IRpcChannelBuffer* pRpcChannelBuffer,
   7010     PRPC_MESSAGE pRpcMessage,
   7011     DWORD* pdwStubPhase);
   7012 HRESULT STDMETHODCALLTYPE ISpPhoneticAlphabetConverter_GetMaxConvertLength_Proxy(
   7013     ISpPhoneticAlphabetConverter* This,
   7014     DWORD cSrcLength,
   7015     WINBOOL bSAPI2UPS,
   7016     DWORD *pcMaxDestLength);
   7017 void __RPC_STUB ISpPhoneticAlphabetConverter_GetMaxConvertLength_Stub(
   7018     IRpcStubBuffer* This,
   7019     IRpcChannelBuffer* pRpcChannelBuffer,
   7020     PRPC_MESSAGE pRpcMessage,
   7021     DWORD* pdwStubPhase);
   7022 
   7023 #endif  /* __ISpPhoneticAlphabetConverter_INTERFACE_DEFINED__ */
   7024 
   7025 /*****************************************************************************
   7026  * ISpPhoneticAlphabetSelection interface
   7027  */
   7028 #ifndef __ISpPhoneticAlphabetSelection_INTERFACE_DEFINED__
   7029 #define __ISpPhoneticAlphabetSelection_INTERFACE_DEFINED__
   7030 
   7031 DEFINE_GUID(IID_ISpPhoneticAlphabetSelection, 0xb2745efd, 0x42ce, 0x48ca, 0x81,0xf1, 0xa9,0x6e,0x02,0x53,0x8a,0x90);
   7032 #if defined(__cplusplus) && !defined(CINTERFACE)
   7033 MIDL_INTERFACE("b2745efd-42ce-48ca-81f1-a96e02538a90")
   7034 ISpPhoneticAlphabetSelection : public IUnknown
   7035 {
   7036     virtual HRESULT STDMETHODCALLTYPE IsAlphabetUPS(
   7037         WINBOOL *pfIsUPS) = 0;
   7038 
   7039     virtual HRESULT STDMETHODCALLTYPE SetAlphabetToUPS(
   7040         WINBOOL fForceUPS) = 0;
   7041 
   7042 };
   7043 #ifdef __CRT_UUID_DECL
   7044 __CRT_UUID_DECL(ISpPhoneticAlphabetSelection, 0xb2745efd, 0x42ce, 0x48ca, 0x81,0xf1, 0xa9,0x6e,0x02,0x53,0x8a,0x90)
   7045 #endif
   7046 #else
   7047 typedef struct ISpPhoneticAlphabetSelectionVtbl {
   7048     BEGIN_INTERFACE
   7049 
   7050     /*** IUnknown methods ***/
   7051     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7052         ISpPhoneticAlphabetSelection* This,
   7053         REFIID riid,
   7054         void **ppvObject);
   7055 
   7056     ULONG (STDMETHODCALLTYPE *AddRef)(
   7057         ISpPhoneticAlphabetSelection* This);
   7058 
   7059     ULONG (STDMETHODCALLTYPE *Release)(
   7060         ISpPhoneticAlphabetSelection* This);
   7061 
   7062     /*** ISpPhoneticAlphabetSelection methods ***/
   7063     HRESULT (STDMETHODCALLTYPE *IsAlphabetUPS)(
   7064         ISpPhoneticAlphabetSelection* This,
   7065         WINBOOL *pfIsUPS);
   7066 
   7067     HRESULT (STDMETHODCALLTYPE *SetAlphabetToUPS)(
   7068         ISpPhoneticAlphabetSelection* This,
   7069         WINBOOL fForceUPS);
   7070 
   7071     END_INTERFACE
   7072 } ISpPhoneticAlphabetSelectionVtbl;
   7073 interface ISpPhoneticAlphabetSelection {
   7074     CONST_VTBL ISpPhoneticAlphabetSelectionVtbl* lpVtbl;
   7075 };
   7076 
   7077 #ifdef COBJMACROS
   7078 #ifndef WIDL_C_INLINE_WRAPPERS
   7079 /*** IUnknown methods ***/
   7080 #define ISpPhoneticAlphabetSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7081 #define ISpPhoneticAlphabetSelection_AddRef(This) (This)->lpVtbl->AddRef(This)
   7082 #define ISpPhoneticAlphabetSelection_Release(This) (This)->lpVtbl->Release(This)
   7083 /*** ISpPhoneticAlphabetSelection methods ***/
   7084 #define ISpPhoneticAlphabetSelection_IsAlphabetUPS(This,pfIsUPS) (This)->lpVtbl->IsAlphabetUPS(This,pfIsUPS)
   7085 #define ISpPhoneticAlphabetSelection_SetAlphabetToUPS(This,fForceUPS) (This)->lpVtbl->SetAlphabetToUPS(This,fForceUPS)
   7086 #else
   7087 /*** IUnknown methods ***/
   7088 static FORCEINLINE HRESULT ISpPhoneticAlphabetSelection_QueryInterface(ISpPhoneticAlphabetSelection* This,REFIID riid,void **ppvObject) {
   7089     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7090 }
   7091 static FORCEINLINE ULONG ISpPhoneticAlphabetSelection_AddRef(ISpPhoneticAlphabetSelection* This) {
   7092     return This->lpVtbl->AddRef(This);
   7093 }
   7094 static FORCEINLINE ULONG ISpPhoneticAlphabetSelection_Release(ISpPhoneticAlphabetSelection* This) {
   7095     return This->lpVtbl->Release(This);
   7096 }
   7097 /*** ISpPhoneticAlphabetSelection methods ***/
   7098 static FORCEINLINE HRESULT ISpPhoneticAlphabetSelection_IsAlphabetUPS(ISpPhoneticAlphabetSelection* This,WINBOOL *pfIsUPS) {
   7099     return This->lpVtbl->IsAlphabetUPS(This,pfIsUPS);
   7100 }
   7101 static FORCEINLINE HRESULT ISpPhoneticAlphabetSelection_SetAlphabetToUPS(ISpPhoneticAlphabetSelection* This,WINBOOL fForceUPS) {
   7102     return This->lpVtbl->SetAlphabetToUPS(This,fForceUPS);
   7103 }
   7104 #endif
   7105 #endif
   7106 
   7107 #endif
   7108 
   7109 HRESULT STDMETHODCALLTYPE ISpPhoneticAlphabetSelection_IsAlphabetUPS_Proxy(
   7110     ISpPhoneticAlphabetSelection* This,
   7111     WINBOOL *pfIsUPS);
   7112 void __RPC_STUB ISpPhoneticAlphabetSelection_IsAlphabetUPS_Stub(
   7113     IRpcStubBuffer* This,
   7114     IRpcChannelBuffer* pRpcChannelBuffer,
   7115     PRPC_MESSAGE pRpcMessage,
   7116     DWORD* pdwStubPhase);
   7117 HRESULT STDMETHODCALLTYPE ISpPhoneticAlphabetSelection_SetAlphabetToUPS_Proxy(
   7118     ISpPhoneticAlphabetSelection* This,
   7119     WINBOOL fForceUPS);
   7120 void __RPC_STUB ISpPhoneticAlphabetSelection_SetAlphabetToUPS_Stub(
   7121     IRpcStubBuffer* This,
   7122     IRpcChannelBuffer* pRpcChannelBuffer,
   7123     PRPC_MESSAGE pRpcMessage,
   7124     DWORD* pdwStubPhase);
   7125 
   7126 #endif  /* __ISpPhoneticAlphabetSelection_INTERFACE_DEFINED__ */
   7127 
   7128 typedef struct SPVPITCH {
   7129     LONG MiddleAdj;
   7130     LONG RangeAdj;
   7131 } SPVPITCH;
   7132 typedef struct SPVCONTEXT {
   7133     LPCWSTR pCategory;
   7134     LPCWSTR pBefore;
   7135     LPCWSTR pAfter;
   7136 } SPVCONTEXT;
   7137 typedef struct SPVSTATE {
   7138     SPVACTIONS eAction;
   7139     WORD LangID;
   7140     WORD wReserved;
   7141     LONG EmphAdj;
   7142     LONG RateAdj;
   7143     ULONG Volume;
   7144     SPVPITCH PitchAdj;
   7145     ULONG SilenceMSecs;
   7146     SPPHONEID *pPhoneIds;
   7147     SPPARTOFSPEECH ePartOfSpeech;
   7148     SPVCONTEXT Context;
   7149 } SPVSTATE;
   7150 typedef struct SPVOICESTATUS {
   7151     ULONG ulCurrentStream;
   7152     ULONG ulLastStreamQueued;
   7153     HRESULT hrLastResult;
   7154     DWORD dwRunningState;
   7155     ULONG ulInputWordPos;
   7156     ULONG ulInputWordLen;
   7157     ULONG ulInputSentPos;
   7158     ULONG ulInputSentLen;
   7159     LONG lBookmarkId;
   7160     SPPHONEID PhonemeId;
   7161     SPVISEMES VisemeId;
   7162     DWORD dwReserved1;
   7163     DWORD dwReserved2;
   7164 } SPVOICESTATUS;
   7165 typedef enum SPEAKFLAGS {
   7166     SPF_DEFAULT = 0,
   7167     SPF_ASYNC = 1,
   7168     SPF_PURGEBEFORESPEAK = 2,
   7169     SPF_IS_FILENAME = 4,
   7170     SPF_IS_XML = 8,
   7171     SPF_IS_NOT_XML = 0x10,
   7172     SPF_PERSIST_XML = 0x20,
   7173     SPF_NLP_SPEAK_PUNC = 0x40,
   7174     SPF_PARSE_SAPI = 0x80,
   7175     SPF_PARSE_SSML = 0x100,
   7176     SPF_PARSE_AUTODETECT = 0,
   7177     SPF_NLP_MASK = SPF_NLP_SPEAK_PUNC,
   7178     SPF_PARSE_MASK = SPF_PARSE_SAPI | SPF_PARSE_SSML,
   7179     SPF_VOICE_MASK = ((((((SPF_ASYNC | SPF_PURGEBEFORESPEAK) | SPF_IS_FILENAME) | SPF_IS_XML) | SPF_IS_NOT_XML) | SPF_NLP_MASK) | SPF_PERSIST_XML) | SPF_PARSE_MASK,
   7180     SPF_UNUSED_FLAGS = ~SPF_VOICE_MASK
   7181 } SPEAKFLAGS;
   7182 /*****************************************************************************
   7183  * ISpVoice interface
   7184  */
   7185 #ifndef __ISpVoice_INTERFACE_DEFINED__
   7186 #define __ISpVoice_INTERFACE_DEFINED__
   7187 
   7188 DEFINE_GUID(IID_ISpVoice, 0x6c44df74, 0x72b9, 0x4992, 0xa1,0xec, 0xef,0x99,0x6e,0x04,0x22,0xd4);
   7189 #if defined(__cplusplus) && !defined(CINTERFACE)
   7190 MIDL_INTERFACE("6c44df74-72b9-4992-a1ec-ef996e0422d4")
   7191 ISpVoice : public ISpEventSource
   7192 {
   7193     virtual HRESULT STDMETHODCALLTYPE SetOutput(
   7194         IUnknown *pUnkOutput,
   7195         WINBOOL fAllowFormatChanges) = 0;
   7196 
   7197     virtual HRESULT STDMETHODCALLTYPE GetOutputObjectToken(
   7198         ISpObjectToken **ppObjectToken) = 0;
   7199 
   7200     virtual HRESULT STDMETHODCALLTYPE GetOutputStream(
   7201         ISpStreamFormat **ppStream) = 0;
   7202 
   7203     virtual HRESULT STDMETHODCALLTYPE Pause(
   7204         ) = 0;
   7205 
   7206     virtual HRESULT STDMETHODCALLTYPE Resume(
   7207         ) = 0;
   7208 
   7209     virtual HRESULT STDMETHODCALLTYPE SetVoice(
   7210         ISpObjectToken *pToken) = 0;
   7211 
   7212     virtual HRESULT STDMETHODCALLTYPE GetVoice(
   7213         ISpObjectToken **ppToken) = 0;
   7214 
   7215     virtual HRESULT STDMETHODCALLTYPE Speak(
   7216         LPCWSTR pwcs,
   7217         DWORD dwFlags,
   7218         ULONG *pulStreamNumber) = 0;
   7219 
   7220     virtual HRESULT STDMETHODCALLTYPE SpeakStream(
   7221         IStream *pStream,
   7222         DWORD dwFlags,
   7223         ULONG *pulStreamNumber) = 0;
   7224 
   7225     virtual HRESULT STDMETHODCALLTYPE GetStatus(
   7226         SPVOICESTATUS *pStatus,
   7227         LPWSTR *ppszLastBookmark) = 0;
   7228 
   7229     virtual HRESULT STDMETHODCALLTYPE Skip(
   7230         LPCWSTR pItemType,
   7231         LONG lNumItems,
   7232         ULONG *pulNumSkipped) = 0;
   7233 
   7234     virtual HRESULT STDMETHODCALLTYPE SetPriority(
   7235         SPVPRIORITY ePriority) = 0;
   7236 
   7237     virtual HRESULT STDMETHODCALLTYPE GetPriority(
   7238         SPVPRIORITY *pePriority) = 0;
   7239 
   7240     virtual HRESULT STDMETHODCALLTYPE SetAlertBoundary(
   7241         SPEVENTENUM eBoundary) = 0;
   7242 
   7243     virtual HRESULT STDMETHODCALLTYPE GetAlertBoundary(
   7244         SPEVENTENUM *peBoundary) = 0;
   7245 
   7246     virtual HRESULT STDMETHODCALLTYPE SetRate(
   7247         LONG RateAdjust) = 0;
   7248 
   7249     virtual HRESULT STDMETHODCALLTYPE GetRate(
   7250         LONG *pRateAdjust) = 0;
   7251 
   7252     virtual HRESULT STDMETHODCALLTYPE SetVolume(
   7253         USHORT usVolume) = 0;
   7254 
   7255     virtual HRESULT STDMETHODCALLTYPE GetVolume(
   7256         USHORT *pusVolume) = 0;
   7257 
   7258     virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
   7259         ULONG msTimeout) = 0;
   7260 
   7261     virtual HRESULT STDMETHODCALLTYPE SetSyncSpeakTimeout(
   7262         ULONG msTimeout) = 0;
   7263 
   7264     virtual HRESULT STDMETHODCALLTYPE GetSyncSpeakTimeout(
   7265         ULONG *pmsTimeout) = 0;
   7266 
   7267     virtual HANDLE STDMETHODCALLTYPE SpeakCompleteEvent(
   7268         ) = 0;
   7269 
   7270     virtual HRESULT STDMETHODCALLTYPE IsUISupported(
   7271         LPCWSTR pszTypeOfUI,
   7272         void *pvExtraData,
   7273         ULONG cbExtraData,
   7274         WINBOOL *pfSupported) = 0;
   7275 
   7276     virtual HRESULT STDMETHODCALLTYPE DisplayUI(
   7277         HWND hwndParent,
   7278         LPCWSTR pszTitle,
   7279         LPCWSTR pszTypeOfUI,
   7280         void *pvExtraData,
   7281         ULONG cbExtraData) = 0;
   7282 
   7283 };
   7284 #ifdef __CRT_UUID_DECL
   7285 __CRT_UUID_DECL(ISpVoice, 0x6c44df74, 0x72b9, 0x4992, 0xa1,0xec, 0xef,0x99,0x6e,0x04,0x22,0xd4)
   7286 #endif
   7287 #else
   7288 typedef struct ISpVoiceVtbl {
   7289     BEGIN_INTERFACE
   7290 
   7291     /*** IUnknown methods ***/
   7292     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7293         ISpVoice* This,
   7294         REFIID riid,
   7295         void **ppvObject);
   7296 
   7297     ULONG (STDMETHODCALLTYPE *AddRef)(
   7298         ISpVoice* This);
   7299 
   7300     ULONG (STDMETHODCALLTYPE *Release)(
   7301         ISpVoice* This);
   7302 
   7303     /*** ISpNotifySource methods ***/
   7304     HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
   7305         ISpVoice* This,
   7306         ISpNotifySink *pNotifySink);
   7307 
   7308     HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
   7309         ISpVoice* This,
   7310         HWND hWnd,
   7311         UINT Msg,
   7312         WPARAM wParam,
   7313         LPARAM lParam);
   7314 
   7315     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
   7316         ISpVoice* This,
   7317         SPNOTIFYCALLBACK *pfnCallback,
   7318         WPARAM wParam,
   7319         LPARAM lParam);
   7320 
   7321     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
   7322         ISpVoice* This,
   7323         ISpNotifyCallback *pSpCallback,
   7324         WPARAM wParam,
   7325         LPARAM lParam);
   7326 
   7327     HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
   7328         ISpVoice* This);
   7329 
   7330     HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
   7331         ISpVoice* This,
   7332         DWORD dwMilliseconds);
   7333 
   7334     HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
   7335         ISpVoice* This);
   7336 
   7337     /*** ISpEventSource methods ***/
   7338     HRESULT (STDMETHODCALLTYPE *SetInterest)(
   7339         ISpVoice* This,
   7340         ULONGLONG ullEventInterest,
   7341         ULONGLONG ullQueuedInterest);
   7342 
   7343     HRESULT (STDMETHODCALLTYPE *GetEvents)(
   7344         ISpVoice* This,
   7345         ULONG ulCount,
   7346         SPEVENT *pEventArray,
   7347         ULONG *pulFetched);
   7348 
   7349     HRESULT (STDMETHODCALLTYPE *GetInfo)(
   7350         ISpVoice* This,
   7351         SPEVENTSOURCEINFO *pInfo);
   7352 
   7353     /*** ISpVoice methods ***/
   7354     HRESULT (STDMETHODCALLTYPE *SetOutput)(
   7355         ISpVoice* This,
   7356         IUnknown *pUnkOutput,
   7357         WINBOOL fAllowFormatChanges);
   7358 
   7359     HRESULT (STDMETHODCALLTYPE *GetOutputObjectToken)(
   7360         ISpVoice* This,
   7361         ISpObjectToken **ppObjectToken);
   7362 
   7363     HRESULT (STDMETHODCALLTYPE *GetOutputStream)(
   7364         ISpVoice* This,
   7365         ISpStreamFormat **ppStream);
   7366 
   7367     HRESULT (STDMETHODCALLTYPE *Pause)(
   7368         ISpVoice* This);
   7369 
   7370     HRESULT (STDMETHODCALLTYPE *Resume)(
   7371         ISpVoice* This);
   7372 
   7373     HRESULT (STDMETHODCALLTYPE *SetVoice)(
   7374         ISpVoice* This,
   7375         ISpObjectToken *pToken);
   7376 
   7377     HRESULT (STDMETHODCALLTYPE *GetVoice)(
   7378         ISpVoice* This,
   7379         ISpObjectToken **ppToken);
   7380 
   7381     HRESULT (STDMETHODCALLTYPE *Speak)(
   7382         ISpVoice* This,
   7383         LPCWSTR pwcs,
   7384         DWORD dwFlags,
   7385         ULONG *pulStreamNumber);
   7386 
   7387     HRESULT (STDMETHODCALLTYPE *SpeakStream)(
   7388         ISpVoice* This,
   7389         IStream *pStream,
   7390         DWORD dwFlags,
   7391         ULONG *pulStreamNumber);
   7392 
   7393     HRESULT (STDMETHODCALLTYPE *GetStatus)(
   7394         ISpVoice* This,
   7395         SPVOICESTATUS *pStatus,
   7396         LPWSTR *ppszLastBookmark);
   7397 
   7398     HRESULT (STDMETHODCALLTYPE *Skip)(
   7399         ISpVoice* This,
   7400         LPCWSTR pItemType,
   7401         LONG lNumItems,
   7402         ULONG *pulNumSkipped);
   7403 
   7404     HRESULT (STDMETHODCALLTYPE *SetPriority)(
   7405         ISpVoice* This,
   7406         SPVPRIORITY ePriority);
   7407 
   7408     HRESULT (STDMETHODCALLTYPE *GetPriority)(
   7409         ISpVoice* This,
   7410         SPVPRIORITY *pePriority);
   7411 
   7412     HRESULT (STDMETHODCALLTYPE *SetAlertBoundary)(
   7413         ISpVoice* This,
   7414         SPEVENTENUM eBoundary);
   7415 
   7416     HRESULT (STDMETHODCALLTYPE *GetAlertBoundary)(
   7417         ISpVoice* This,
   7418         SPEVENTENUM *peBoundary);
   7419 
   7420     HRESULT (STDMETHODCALLTYPE *SetRate)(
   7421         ISpVoice* This,
   7422         LONG RateAdjust);
   7423 
   7424     HRESULT (STDMETHODCALLTYPE *GetRate)(
   7425         ISpVoice* This,
   7426         LONG *pRateAdjust);
   7427 
   7428     HRESULT (STDMETHODCALLTYPE *SetVolume)(
   7429         ISpVoice* This,
   7430         USHORT usVolume);
   7431 
   7432     HRESULT (STDMETHODCALLTYPE *GetVolume)(
   7433         ISpVoice* This,
   7434         USHORT *pusVolume);
   7435 
   7436     HRESULT (STDMETHODCALLTYPE *WaitUntilDone)(
   7437         ISpVoice* This,
   7438         ULONG msTimeout);
   7439 
   7440     HRESULT (STDMETHODCALLTYPE *SetSyncSpeakTimeout)(
   7441         ISpVoice* This,
   7442         ULONG msTimeout);
   7443 
   7444     HRESULT (STDMETHODCALLTYPE *GetSyncSpeakTimeout)(
   7445         ISpVoice* This,
   7446         ULONG *pmsTimeout);
   7447 
   7448     HANDLE (STDMETHODCALLTYPE *SpeakCompleteEvent)(
   7449         ISpVoice* This);
   7450 
   7451     HRESULT (STDMETHODCALLTYPE *IsUISupported)(
   7452         ISpVoice* This,
   7453         LPCWSTR pszTypeOfUI,
   7454         void *pvExtraData,
   7455         ULONG cbExtraData,
   7456         WINBOOL *pfSupported);
   7457 
   7458     HRESULT (STDMETHODCALLTYPE *DisplayUI)(
   7459         ISpVoice* This,
   7460         HWND hwndParent,
   7461         LPCWSTR pszTitle,
   7462         LPCWSTR pszTypeOfUI,
   7463         void *pvExtraData,
   7464         ULONG cbExtraData);
   7465 
   7466     END_INTERFACE
   7467 } ISpVoiceVtbl;
   7468 interface ISpVoice {
   7469     CONST_VTBL ISpVoiceVtbl* lpVtbl;
   7470 };
   7471 
   7472 #ifdef COBJMACROS
   7473 #ifndef WIDL_C_INLINE_WRAPPERS
   7474 /*** IUnknown methods ***/
   7475 #define ISpVoice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7476 #define ISpVoice_AddRef(This) (This)->lpVtbl->AddRef(This)
   7477 #define ISpVoice_Release(This) (This)->lpVtbl->Release(This)
   7478 /*** ISpNotifySource methods ***/
   7479 #define ISpVoice_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
   7480 #define ISpVoice_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
   7481 #define ISpVoice_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
   7482 #define ISpVoice_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
   7483 #define ISpVoice_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
   7484 #define ISpVoice_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
   7485 #define ISpVoice_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
   7486 /*** ISpEventSource methods ***/
   7487 #define ISpVoice_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
   7488 #define ISpVoice_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
   7489 #define ISpVoice_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
   7490 /*** ISpVoice methods ***/
   7491 #define ISpVoice_SetOutput(This,pUnkOutput,fAllowFormatChanges) (This)->lpVtbl->SetOutput(This,pUnkOutput,fAllowFormatChanges)
   7492 #define ISpVoice_GetOutputObjectToken(This,ppObjectToken) (This)->lpVtbl->GetOutputObjectToken(This,ppObjectToken)
   7493 #define ISpVoice_GetOutputStream(This,ppStream) (This)->lpVtbl->GetOutputStream(This,ppStream)
   7494 #define ISpVoice_Pause(This) (This)->lpVtbl->Pause(This)
   7495 #define ISpVoice_Resume(This) (This)->lpVtbl->Resume(This)
   7496 #define ISpVoice_SetVoice(This,pToken) (This)->lpVtbl->SetVoice(This,pToken)
   7497 #define ISpVoice_GetVoice(This,ppToken) (This)->lpVtbl->GetVoice(This,ppToken)
   7498 #define ISpVoice_Speak(This,pwcs,dwFlags,pulStreamNumber) (This)->lpVtbl->Speak(This,pwcs,dwFlags,pulStreamNumber)
   7499 #define ISpVoice_SpeakStream(This,pStream,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakStream(This,pStream,dwFlags,pulStreamNumber)
   7500 #define ISpVoice_GetStatus(This,pStatus,ppszLastBookmark) (This)->lpVtbl->GetStatus(This,pStatus,ppszLastBookmark)
   7501 #define ISpVoice_Skip(This,pItemType,lNumItems,pulNumSkipped) (This)->lpVtbl->Skip(This,pItemType,lNumItems,pulNumSkipped)
   7502 #define ISpVoice_SetPriority(This,ePriority) (This)->lpVtbl->SetPriority(This,ePriority)
   7503 #define ISpVoice_GetPriority(This,pePriority) (This)->lpVtbl->GetPriority(This,pePriority)
   7504 #define ISpVoice_SetAlertBoundary(This,eBoundary) (This)->lpVtbl->SetAlertBoundary(This,eBoundary)
   7505 #define ISpVoice_GetAlertBoundary(This,peBoundary) (This)->lpVtbl->GetAlertBoundary(This,peBoundary)
   7506 #define ISpVoice_SetRate(This,RateAdjust) (This)->lpVtbl->SetRate(This,RateAdjust)
   7507 #define ISpVoice_GetRate(This,pRateAdjust) (This)->lpVtbl->GetRate(This,pRateAdjust)
   7508 #define ISpVoice_SetVolume(This,usVolume) (This)->lpVtbl->SetVolume(This,usVolume)
   7509 #define ISpVoice_GetVolume(This,pusVolume) (This)->lpVtbl->GetVolume(This,pusVolume)
   7510 #define ISpVoice_WaitUntilDone(This,msTimeout) (This)->lpVtbl->WaitUntilDone(This,msTimeout)
   7511 #define ISpVoice_SetSyncSpeakTimeout(This,msTimeout) (This)->lpVtbl->SetSyncSpeakTimeout(This,msTimeout)
   7512 #define ISpVoice_GetSyncSpeakTimeout(This,pmsTimeout) (This)->lpVtbl->GetSyncSpeakTimeout(This,pmsTimeout)
   7513 #define ISpVoice_SpeakCompleteEvent(This) (This)->lpVtbl->SpeakCompleteEvent(This)
   7514 #define ISpVoice_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
   7515 #define ISpVoice_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
   7516 #else
   7517 /*** IUnknown methods ***/
   7518 static FORCEINLINE HRESULT ISpVoice_QueryInterface(ISpVoice* This,REFIID riid,void **ppvObject) {
   7519     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7520 }
   7521 static FORCEINLINE ULONG ISpVoice_AddRef(ISpVoice* This) {
   7522     return This->lpVtbl->AddRef(This);
   7523 }
   7524 static FORCEINLINE ULONG ISpVoice_Release(ISpVoice* This) {
   7525     return This->lpVtbl->Release(This);
   7526 }
   7527 /*** ISpNotifySource methods ***/
   7528 static FORCEINLINE HRESULT ISpVoice_SetNotifySink(ISpVoice* This,ISpNotifySink *pNotifySink) {
   7529     return This->lpVtbl->SetNotifySink(This,pNotifySink);
   7530 }
   7531 static FORCEINLINE HRESULT ISpVoice_SetNotifyWindowMessage(ISpVoice* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
   7532     return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
   7533 }
   7534 static FORCEINLINE HRESULT ISpVoice_SetNotifyCallbackFunction(ISpVoice* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
   7535     return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
   7536 }
   7537 static FORCEINLINE HRESULT ISpVoice_SetNotifyCallbackInterface(ISpVoice* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
   7538     return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
   7539 }
   7540 static FORCEINLINE HRESULT ISpVoice_SetNotifyWin32Event(ISpVoice* This) {
   7541     return This->lpVtbl->SetNotifyWin32Event(This);
   7542 }
   7543 static FORCEINLINE HRESULT ISpVoice_WaitForNotifyEvent(ISpVoice* This,DWORD dwMilliseconds) {
   7544     return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
   7545 }
   7546 static FORCEINLINE HANDLE ISpVoice_GetNotifyEventHandle(ISpVoice* This) {
   7547     return This->lpVtbl->GetNotifyEventHandle(This);
   7548 }
   7549 /*** ISpEventSource methods ***/
   7550 static FORCEINLINE HRESULT ISpVoice_SetInterest(ISpVoice* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
   7551     return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
   7552 }
   7553 static FORCEINLINE HRESULT ISpVoice_GetEvents(ISpVoice* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
   7554     return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
   7555 }
   7556 static FORCEINLINE HRESULT ISpVoice_GetInfo(ISpVoice* This,SPEVENTSOURCEINFO *pInfo) {
   7557     return This->lpVtbl->GetInfo(This,pInfo);
   7558 }
   7559 /*** ISpVoice methods ***/
   7560 static FORCEINLINE HRESULT ISpVoice_SetOutput(ISpVoice* This,IUnknown *pUnkOutput,WINBOOL fAllowFormatChanges) {
   7561     return This->lpVtbl->SetOutput(This,pUnkOutput,fAllowFormatChanges);
   7562 }
   7563 static FORCEINLINE HRESULT ISpVoice_GetOutputObjectToken(ISpVoice* This,ISpObjectToken **ppObjectToken) {
   7564     return This->lpVtbl->GetOutputObjectToken(This,ppObjectToken);
   7565 }
   7566 static FORCEINLINE HRESULT ISpVoice_GetOutputStream(ISpVoice* This,ISpStreamFormat **ppStream) {
   7567     return This->lpVtbl->GetOutputStream(This,ppStream);
   7568 }
   7569 static FORCEINLINE HRESULT ISpVoice_Pause(ISpVoice* This) {
   7570     return This->lpVtbl->Pause(This);
   7571 }
   7572 static FORCEINLINE HRESULT ISpVoice_Resume(ISpVoice* This) {
   7573     return This->lpVtbl->Resume(This);
   7574 }
   7575 static FORCEINLINE HRESULT ISpVoice_SetVoice(ISpVoice* This,ISpObjectToken *pToken) {
   7576     return This->lpVtbl->SetVoice(This,pToken);
   7577 }
   7578 static FORCEINLINE HRESULT ISpVoice_GetVoice(ISpVoice* This,ISpObjectToken **ppToken) {
   7579     return This->lpVtbl->GetVoice(This,ppToken);
   7580 }
   7581 static FORCEINLINE HRESULT ISpVoice_Speak(ISpVoice* This,LPCWSTR pwcs,DWORD dwFlags,ULONG *pulStreamNumber) {
   7582     return This->lpVtbl->Speak(This,pwcs,dwFlags,pulStreamNumber);
   7583 }
   7584 static FORCEINLINE HRESULT ISpVoice_SpeakStream(ISpVoice* This,IStream *pStream,DWORD dwFlags,ULONG *pulStreamNumber) {
   7585     return This->lpVtbl->SpeakStream(This,pStream,dwFlags,pulStreamNumber);
   7586 }
   7587 static FORCEINLINE HRESULT ISpVoice_GetStatus(ISpVoice* This,SPVOICESTATUS *pStatus,LPWSTR *ppszLastBookmark) {
   7588     return This->lpVtbl->GetStatus(This,pStatus,ppszLastBookmark);
   7589 }
   7590 static FORCEINLINE HRESULT ISpVoice_Skip(ISpVoice* This,LPCWSTR pItemType,LONG lNumItems,ULONG *pulNumSkipped) {
   7591     return This->lpVtbl->Skip(This,pItemType,lNumItems,pulNumSkipped);
   7592 }
   7593 static FORCEINLINE HRESULT ISpVoice_SetPriority(ISpVoice* This,SPVPRIORITY ePriority) {
   7594     return This->lpVtbl->SetPriority(This,ePriority);
   7595 }
   7596 static FORCEINLINE HRESULT ISpVoice_GetPriority(ISpVoice* This,SPVPRIORITY *pePriority) {
   7597     return This->lpVtbl->GetPriority(This,pePriority);
   7598 }
   7599 static FORCEINLINE HRESULT ISpVoice_SetAlertBoundary(ISpVoice* This,SPEVENTENUM eBoundary) {
   7600     return This->lpVtbl->SetAlertBoundary(This,eBoundary);
   7601 }
   7602 static FORCEINLINE HRESULT ISpVoice_GetAlertBoundary(ISpVoice* This,SPEVENTENUM *peBoundary) {
   7603     return This->lpVtbl->GetAlertBoundary(This,peBoundary);
   7604 }
   7605 static FORCEINLINE HRESULT ISpVoice_SetRate(ISpVoice* This,LONG RateAdjust) {
   7606     return This->lpVtbl->SetRate(This,RateAdjust);
   7607 }
   7608 static FORCEINLINE HRESULT ISpVoice_GetRate(ISpVoice* This,LONG *pRateAdjust) {
   7609     return This->lpVtbl->GetRate(This,pRateAdjust);
   7610 }
   7611 static FORCEINLINE HRESULT ISpVoice_SetVolume(ISpVoice* This,USHORT usVolume) {
   7612     return This->lpVtbl->SetVolume(This,usVolume);
   7613 }
   7614 static FORCEINLINE HRESULT ISpVoice_GetVolume(ISpVoice* This,USHORT *pusVolume) {
   7615     return This->lpVtbl->GetVolume(This,pusVolume);
   7616 }
   7617 static FORCEINLINE HRESULT ISpVoice_WaitUntilDone(ISpVoice* This,ULONG msTimeout) {
   7618     return This->lpVtbl->WaitUntilDone(This,msTimeout);
   7619 }
   7620 static FORCEINLINE HRESULT ISpVoice_SetSyncSpeakTimeout(ISpVoice* This,ULONG msTimeout) {
   7621     return This->lpVtbl->SetSyncSpeakTimeout(This,msTimeout);
   7622 }
   7623 static FORCEINLINE HRESULT ISpVoice_GetSyncSpeakTimeout(ISpVoice* This,ULONG *pmsTimeout) {
   7624     return This->lpVtbl->GetSyncSpeakTimeout(This,pmsTimeout);
   7625 }
   7626 static FORCEINLINE HANDLE ISpVoice_SpeakCompleteEvent(ISpVoice* This) {
   7627     return This->lpVtbl->SpeakCompleteEvent(This);
   7628 }
   7629 static FORCEINLINE HRESULT ISpVoice_IsUISupported(ISpVoice* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,WINBOOL *pfSupported) {
   7630     return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported);
   7631 }
   7632 static FORCEINLINE HRESULT ISpVoice_DisplayUI(ISpVoice* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData) {
   7633     return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData);
   7634 }
   7635 #endif
   7636 #endif
   7637 
   7638 #endif
   7639 
   7640 HRESULT STDMETHODCALLTYPE ISpVoice_SetOutput_Proxy(
   7641     ISpVoice* This,
   7642     IUnknown *pUnkOutput,
   7643     WINBOOL fAllowFormatChanges);
   7644 void __RPC_STUB ISpVoice_SetOutput_Stub(
   7645     IRpcStubBuffer* This,
   7646     IRpcChannelBuffer* pRpcChannelBuffer,
   7647     PRPC_MESSAGE pRpcMessage,
   7648     DWORD* pdwStubPhase);
   7649 HRESULT STDMETHODCALLTYPE ISpVoice_GetOutputObjectToken_Proxy(
   7650     ISpVoice* This,
   7651     ISpObjectToken **ppObjectToken);
   7652 void __RPC_STUB ISpVoice_GetOutputObjectToken_Stub(
   7653     IRpcStubBuffer* This,
   7654     IRpcChannelBuffer* pRpcChannelBuffer,
   7655     PRPC_MESSAGE pRpcMessage,
   7656     DWORD* pdwStubPhase);
   7657 HRESULT STDMETHODCALLTYPE ISpVoice_GetOutputStream_Proxy(
   7658     ISpVoice* This,
   7659     ISpStreamFormat **ppStream);
   7660 void __RPC_STUB ISpVoice_GetOutputStream_Stub(
   7661     IRpcStubBuffer* This,
   7662     IRpcChannelBuffer* pRpcChannelBuffer,
   7663     PRPC_MESSAGE pRpcMessage,
   7664     DWORD* pdwStubPhase);
   7665 HRESULT STDMETHODCALLTYPE ISpVoice_Pause_Proxy(
   7666     ISpVoice* This);
   7667 void __RPC_STUB ISpVoice_Pause_Stub(
   7668     IRpcStubBuffer* This,
   7669     IRpcChannelBuffer* pRpcChannelBuffer,
   7670     PRPC_MESSAGE pRpcMessage,
   7671     DWORD* pdwStubPhase);
   7672 HRESULT STDMETHODCALLTYPE ISpVoice_Resume_Proxy(
   7673     ISpVoice* This);
   7674 void __RPC_STUB ISpVoice_Resume_Stub(
   7675     IRpcStubBuffer* This,
   7676     IRpcChannelBuffer* pRpcChannelBuffer,
   7677     PRPC_MESSAGE pRpcMessage,
   7678     DWORD* pdwStubPhase);
   7679 HRESULT STDMETHODCALLTYPE ISpVoice_SetVoice_Proxy(
   7680     ISpVoice* This,
   7681     ISpObjectToken *pToken);
   7682 void __RPC_STUB ISpVoice_SetVoice_Stub(
   7683     IRpcStubBuffer* This,
   7684     IRpcChannelBuffer* pRpcChannelBuffer,
   7685     PRPC_MESSAGE pRpcMessage,
   7686     DWORD* pdwStubPhase);
   7687 HRESULT STDMETHODCALLTYPE ISpVoice_GetVoice_Proxy(
   7688     ISpVoice* This,
   7689     ISpObjectToken **ppToken);
   7690 void __RPC_STUB ISpVoice_GetVoice_Stub(
   7691     IRpcStubBuffer* This,
   7692     IRpcChannelBuffer* pRpcChannelBuffer,
   7693     PRPC_MESSAGE pRpcMessage,
   7694     DWORD* pdwStubPhase);
   7695 HRESULT STDMETHODCALLTYPE ISpVoice_Speak_Proxy(
   7696     ISpVoice* This,
   7697     LPCWSTR pwcs,
   7698     DWORD dwFlags,
   7699     ULONG *pulStreamNumber);
   7700 void __RPC_STUB ISpVoice_Speak_Stub(
   7701     IRpcStubBuffer* This,
   7702     IRpcChannelBuffer* pRpcChannelBuffer,
   7703     PRPC_MESSAGE pRpcMessage,
   7704     DWORD* pdwStubPhase);
   7705 HRESULT STDMETHODCALLTYPE ISpVoice_SpeakStream_Proxy(
   7706     ISpVoice* This,
   7707     IStream *pStream,
   7708     DWORD dwFlags,
   7709     ULONG *pulStreamNumber);
   7710 void __RPC_STUB ISpVoice_SpeakStream_Stub(
   7711     IRpcStubBuffer* This,
   7712     IRpcChannelBuffer* pRpcChannelBuffer,
   7713     PRPC_MESSAGE pRpcMessage,
   7714     DWORD* pdwStubPhase);
   7715 HRESULT STDMETHODCALLTYPE ISpVoice_GetStatus_Proxy(
   7716     ISpVoice* This,
   7717     SPVOICESTATUS *pStatus,
   7718     LPWSTR *ppszLastBookmark);
   7719 void __RPC_STUB ISpVoice_GetStatus_Stub(
   7720     IRpcStubBuffer* This,
   7721     IRpcChannelBuffer* pRpcChannelBuffer,
   7722     PRPC_MESSAGE pRpcMessage,
   7723     DWORD* pdwStubPhase);
   7724 HRESULT STDMETHODCALLTYPE ISpVoice_Skip_Proxy(
   7725     ISpVoice* This,
   7726     LPCWSTR pItemType,
   7727     LONG lNumItems,
   7728     ULONG *pulNumSkipped);
   7729 void __RPC_STUB ISpVoice_Skip_Stub(
   7730     IRpcStubBuffer* This,
   7731     IRpcChannelBuffer* pRpcChannelBuffer,
   7732     PRPC_MESSAGE pRpcMessage,
   7733     DWORD* pdwStubPhase);
   7734 HRESULT STDMETHODCALLTYPE ISpVoice_SetPriority_Proxy(
   7735     ISpVoice* This,
   7736     SPVPRIORITY ePriority);
   7737 void __RPC_STUB ISpVoice_SetPriority_Stub(
   7738     IRpcStubBuffer* This,
   7739     IRpcChannelBuffer* pRpcChannelBuffer,
   7740     PRPC_MESSAGE pRpcMessage,
   7741     DWORD* pdwStubPhase);
   7742 HRESULT STDMETHODCALLTYPE ISpVoice_GetPriority_Proxy(
   7743     ISpVoice* This,
   7744     SPVPRIORITY *pePriority);
   7745 void __RPC_STUB ISpVoice_GetPriority_Stub(
   7746     IRpcStubBuffer* This,
   7747     IRpcChannelBuffer* pRpcChannelBuffer,
   7748     PRPC_MESSAGE pRpcMessage,
   7749     DWORD* pdwStubPhase);
   7750 HRESULT STDMETHODCALLTYPE ISpVoice_SetAlertBoundary_Proxy(
   7751     ISpVoice* This,
   7752     SPEVENTENUM eBoundary);
   7753 void __RPC_STUB ISpVoice_SetAlertBoundary_Stub(
   7754     IRpcStubBuffer* This,
   7755     IRpcChannelBuffer* pRpcChannelBuffer,
   7756     PRPC_MESSAGE pRpcMessage,
   7757     DWORD* pdwStubPhase);
   7758 HRESULT STDMETHODCALLTYPE ISpVoice_GetAlertBoundary_Proxy(
   7759     ISpVoice* This,
   7760     SPEVENTENUM *peBoundary);
   7761 void __RPC_STUB ISpVoice_GetAlertBoundary_Stub(
   7762     IRpcStubBuffer* This,
   7763     IRpcChannelBuffer* pRpcChannelBuffer,
   7764     PRPC_MESSAGE pRpcMessage,
   7765     DWORD* pdwStubPhase);
   7766 HRESULT STDMETHODCALLTYPE ISpVoice_SetRate_Proxy(
   7767     ISpVoice* This,
   7768     LONG RateAdjust);
   7769 void __RPC_STUB ISpVoice_SetRate_Stub(
   7770     IRpcStubBuffer* This,
   7771     IRpcChannelBuffer* pRpcChannelBuffer,
   7772     PRPC_MESSAGE pRpcMessage,
   7773     DWORD* pdwStubPhase);
   7774 HRESULT STDMETHODCALLTYPE ISpVoice_GetRate_Proxy(
   7775     ISpVoice* This,
   7776     LONG *pRateAdjust);
   7777 void __RPC_STUB ISpVoice_GetRate_Stub(
   7778     IRpcStubBuffer* This,
   7779     IRpcChannelBuffer* pRpcChannelBuffer,
   7780     PRPC_MESSAGE pRpcMessage,
   7781     DWORD* pdwStubPhase);
   7782 HRESULT STDMETHODCALLTYPE ISpVoice_SetVolume_Proxy(
   7783     ISpVoice* This,
   7784     USHORT usVolume);
   7785 void __RPC_STUB ISpVoice_SetVolume_Stub(
   7786     IRpcStubBuffer* This,
   7787     IRpcChannelBuffer* pRpcChannelBuffer,
   7788     PRPC_MESSAGE pRpcMessage,
   7789     DWORD* pdwStubPhase);
   7790 HRESULT STDMETHODCALLTYPE ISpVoice_GetVolume_Proxy(
   7791     ISpVoice* This,
   7792     USHORT *pusVolume);
   7793 void __RPC_STUB ISpVoice_GetVolume_Stub(
   7794     IRpcStubBuffer* This,
   7795     IRpcChannelBuffer* pRpcChannelBuffer,
   7796     PRPC_MESSAGE pRpcMessage,
   7797     DWORD* pdwStubPhase);
   7798 HRESULT STDMETHODCALLTYPE ISpVoice_WaitUntilDone_Proxy(
   7799     ISpVoice* This,
   7800     ULONG msTimeout);
   7801 void __RPC_STUB ISpVoice_WaitUntilDone_Stub(
   7802     IRpcStubBuffer* This,
   7803     IRpcChannelBuffer* pRpcChannelBuffer,
   7804     PRPC_MESSAGE pRpcMessage,
   7805     DWORD* pdwStubPhase);
   7806 HRESULT STDMETHODCALLTYPE ISpVoice_SetSyncSpeakTimeout_Proxy(
   7807     ISpVoice* This,
   7808     ULONG msTimeout);
   7809 void __RPC_STUB ISpVoice_SetSyncSpeakTimeout_Stub(
   7810     IRpcStubBuffer* This,
   7811     IRpcChannelBuffer* pRpcChannelBuffer,
   7812     PRPC_MESSAGE pRpcMessage,
   7813     DWORD* pdwStubPhase);
   7814 HRESULT STDMETHODCALLTYPE ISpVoice_GetSyncSpeakTimeout_Proxy(
   7815     ISpVoice* This,
   7816     ULONG *pmsTimeout);
   7817 void __RPC_STUB ISpVoice_GetSyncSpeakTimeout_Stub(
   7818     IRpcStubBuffer* This,
   7819     IRpcChannelBuffer* pRpcChannelBuffer,
   7820     PRPC_MESSAGE pRpcMessage,
   7821     DWORD* pdwStubPhase);
   7822 
   7823 #endif  /* __ISpVoice_INTERFACE_DEFINED__ */
   7824 
   7825 /*****************************************************************************
   7826  * ISpPhrase interface
   7827  */
   7828 #ifndef __ISpPhrase_INTERFACE_DEFINED__
   7829 #define __ISpPhrase_INTERFACE_DEFINED__
   7830 
   7831 DEFINE_GUID(IID_ISpPhrase, 0x1a5c0354, 0xb621, 0x4b5a, 0x87,0x91, 0xd3,0x06,0xed,0x37,0x9e,0x53);
   7832 #if defined(__cplusplus) && !defined(CINTERFACE)
   7833 MIDL_INTERFACE("1a5c0354-b621-4b5a-8791-d306ed379e53")
   7834 ISpPhrase : public IUnknown
   7835 {
   7836     virtual HRESULT STDMETHODCALLTYPE GetPhrase(
   7837         SPPHRASE **ppCoMemPhrase) = 0;
   7838 
   7839     virtual HRESULT STDMETHODCALLTYPE GetSerializedPhrase(
   7840         SPSERIALIZEDPHRASE **ppCoMemPhrase) = 0;
   7841 
   7842     virtual HRESULT STDMETHODCALLTYPE GetText(
   7843         ULONG ulStart,
   7844         ULONG ulCount,
   7845         WINBOOL fUseTextReplacements,
   7846         LPWSTR *ppszCoMemText,
   7847         BYTE *pbDisplayAttributes) = 0;
   7848 
   7849     virtual HRESULT STDMETHODCALLTYPE Discard(
   7850         DWORD dwValueTypes) = 0;
   7851 
   7852 };
   7853 #ifdef __CRT_UUID_DECL
   7854 __CRT_UUID_DECL(ISpPhrase, 0x1a5c0354, 0xb621, 0x4b5a, 0x87,0x91, 0xd3,0x06,0xed,0x37,0x9e,0x53)
   7855 #endif
   7856 #else
   7857 typedef struct ISpPhraseVtbl {
   7858     BEGIN_INTERFACE
   7859 
   7860     /*** IUnknown methods ***/
   7861     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7862         ISpPhrase* This,
   7863         REFIID riid,
   7864         void **ppvObject);
   7865 
   7866     ULONG (STDMETHODCALLTYPE *AddRef)(
   7867         ISpPhrase* This);
   7868 
   7869     ULONG (STDMETHODCALLTYPE *Release)(
   7870         ISpPhrase* This);
   7871 
   7872     /*** ISpPhrase methods ***/
   7873     HRESULT (STDMETHODCALLTYPE *GetPhrase)(
   7874         ISpPhrase* This,
   7875         SPPHRASE **ppCoMemPhrase);
   7876 
   7877     HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
   7878         ISpPhrase* This,
   7879         SPSERIALIZEDPHRASE **ppCoMemPhrase);
   7880 
   7881     HRESULT (STDMETHODCALLTYPE *GetText)(
   7882         ISpPhrase* This,
   7883         ULONG ulStart,
   7884         ULONG ulCount,
   7885         WINBOOL fUseTextReplacements,
   7886         LPWSTR *ppszCoMemText,
   7887         BYTE *pbDisplayAttributes);
   7888 
   7889     HRESULT (STDMETHODCALLTYPE *Discard)(
   7890         ISpPhrase* This,
   7891         DWORD dwValueTypes);
   7892 
   7893     END_INTERFACE
   7894 } ISpPhraseVtbl;
   7895 interface ISpPhrase {
   7896     CONST_VTBL ISpPhraseVtbl* lpVtbl;
   7897 };
   7898 
   7899 #ifdef COBJMACROS
   7900 #ifndef WIDL_C_INLINE_WRAPPERS
   7901 /*** IUnknown methods ***/
   7902 #define ISpPhrase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7903 #define ISpPhrase_AddRef(This) (This)->lpVtbl->AddRef(This)
   7904 #define ISpPhrase_Release(This) (This)->lpVtbl->Release(This)
   7905 /*** ISpPhrase methods ***/
   7906 #define ISpPhrase_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
   7907 #define ISpPhrase_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
   7908 #define ISpPhrase_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
   7909 #define ISpPhrase_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
   7910 #else
   7911 /*** IUnknown methods ***/
   7912 static FORCEINLINE HRESULT ISpPhrase_QueryInterface(ISpPhrase* This,REFIID riid,void **ppvObject) {
   7913     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7914 }
   7915 static FORCEINLINE ULONG ISpPhrase_AddRef(ISpPhrase* This) {
   7916     return This->lpVtbl->AddRef(This);
   7917 }
   7918 static FORCEINLINE ULONG ISpPhrase_Release(ISpPhrase* This) {
   7919     return This->lpVtbl->Release(This);
   7920 }
   7921 /*** ISpPhrase methods ***/
   7922 static FORCEINLINE HRESULT ISpPhrase_GetPhrase(ISpPhrase* This,SPPHRASE **ppCoMemPhrase) {
   7923     return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
   7924 }
   7925 static FORCEINLINE HRESULT ISpPhrase_GetSerializedPhrase(ISpPhrase* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
   7926     return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
   7927 }
   7928 static FORCEINLINE HRESULT ISpPhrase_GetText(ISpPhrase* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
   7929     return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
   7930 }
   7931 static FORCEINLINE HRESULT ISpPhrase_Discard(ISpPhrase* This,DWORD dwValueTypes) {
   7932     return This->lpVtbl->Discard(This,dwValueTypes);
   7933 }
   7934 #endif
   7935 #endif
   7936 
   7937 #endif
   7938 
   7939 HRESULT STDMETHODCALLTYPE ISpPhrase_GetPhrase_Proxy(
   7940     ISpPhrase* This,
   7941     SPPHRASE **ppCoMemPhrase);
   7942 void __RPC_STUB ISpPhrase_GetPhrase_Stub(
   7943     IRpcStubBuffer* This,
   7944     IRpcChannelBuffer* pRpcChannelBuffer,
   7945     PRPC_MESSAGE pRpcMessage,
   7946     DWORD* pdwStubPhase);
   7947 HRESULT STDMETHODCALLTYPE ISpPhrase_GetSerializedPhrase_Proxy(
   7948     ISpPhrase* This,
   7949     SPSERIALIZEDPHRASE **ppCoMemPhrase);
   7950 void __RPC_STUB ISpPhrase_GetSerializedPhrase_Stub(
   7951     IRpcStubBuffer* This,
   7952     IRpcChannelBuffer* pRpcChannelBuffer,
   7953     PRPC_MESSAGE pRpcMessage,
   7954     DWORD* pdwStubPhase);
   7955 HRESULT STDMETHODCALLTYPE ISpPhrase_GetText_Proxy(
   7956     ISpPhrase* This,
   7957     ULONG ulStart,
   7958     ULONG ulCount,
   7959     WINBOOL fUseTextReplacements,
   7960     LPWSTR *ppszCoMemText,
   7961     BYTE *pbDisplayAttributes);
   7962 void __RPC_STUB ISpPhrase_GetText_Stub(
   7963     IRpcStubBuffer* This,
   7964     IRpcChannelBuffer* pRpcChannelBuffer,
   7965     PRPC_MESSAGE pRpcMessage,
   7966     DWORD* pdwStubPhase);
   7967 HRESULT STDMETHODCALLTYPE ISpPhrase_Discard_Proxy(
   7968     ISpPhrase* This,
   7969     DWORD dwValueTypes);
   7970 void __RPC_STUB ISpPhrase_Discard_Stub(
   7971     IRpcStubBuffer* This,
   7972     IRpcChannelBuffer* pRpcChannelBuffer,
   7973     PRPC_MESSAGE pRpcMessage,
   7974     DWORD* pdwStubPhase);
   7975 
   7976 #endif  /* __ISpPhrase_INTERFACE_DEFINED__ */
   7977 
   7978 /*****************************************************************************
   7979  * ISpPhraseAlt interface
   7980  */
   7981 #ifndef __ISpPhraseAlt_INTERFACE_DEFINED__
   7982 #define __ISpPhraseAlt_INTERFACE_DEFINED__
   7983 
   7984 DEFINE_GUID(IID_ISpPhraseAlt, 0x8fcebc98, 0x4e49, 0x4067, 0x9c,0x6c, 0xd8,0x6a,0x0e,0x09,0x2e,0x3d);
   7985 #if defined(__cplusplus) && !defined(CINTERFACE)
   7986 MIDL_INTERFACE("8fcebc98-4e49-4067-9c6c-d86a0e092e3d")
   7987 ISpPhraseAlt : public ISpPhrase
   7988 {
   7989     virtual HRESULT STDMETHODCALLTYPE GetAltInfo(
   7990         ISpPhrase **ppParent,
   7991         ULONG *pulStartElementInParent,
   7992         ULONG *pcElementsInParent,
   7993         ULONG *pcElementsInAlt) = 0;
   7994 
   7995     virtual HRESULT STDMETHODCALLTYPE Commit(
   7996         ) = 0;
   7997 
   7998 };
   7999 #ifdef __CRT_UUID_DECL
   8000 __CRT_UUID_DECL(ISpPhraseAlt, 0x8fcebc98, 0x4e49, 0x4067, 0x9c,0x6c, 0xd8,0x6a,0x0e,0x09,0x2e,0x3d)
   8001 #endif
   8002 #else
   8003 typedef struct ISpPhraseAltVtbl {
   8004     BEGIN_INTERFACE
   8005 
   8006     /*** IUnknown methods ***/
   8007     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8008         ISpPhraseAlt* This,
   8009         REFIID riid,
   8010         void **ppvObject);
   8011 
   8012     ULONG (STDMETHODCALLTYPE *AddRef)(
   8013         ISpPhraseAlt* This);
   8014 
   8015     ULONG (STDMETHODCALLTYPE *Release)(
   8016         ISpPhraseAlt* This);
   8017 
   8018     /*** ISpPhrase methods ***/
   8019     HRESULT (STDMETHODCALLTYPE *GetPhrase)(
   8020         ISpPhraseAlt* This,
   8021         SPPHRASE **ppCoMemPhrase);
   8022 
   8023     HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
   8024         ISpPhraseAlt* This,
   8025         SPSERIALIZEDPHRASE **ppCoMemPhrase);
   8026 
   8027     HRESULT (STDMETHODCALLTYPE *GetText)(
   8028         ISpPhraseAlt* This,
   8029         ULONG ulStart,
   8030         ULONG ulCount,
   8031         WINBOOL fUseTextReplacements,
   8032         LPWSTR *ppszCoMemText,
   8033         BYTE *pbDisplayAttributes);
   8034 
   8035     HRESULT (STDMETHODCALLTYPE *Discard)(
   8036         ISpPhraseAlt* This,
   8037         DWORD dwValueTypes);
   8038 
   8039     /*** ISpPhraseAlt methods ***/
   8040     HRESULT (STDMETHODCALLTYPE *GetAltInfo)(
   8041         ISpPhraseAlt* This,
   8042         ISpPhrase **ppParent,
   8043         ULONG *pulStartElementInParent,
   8044         ULONG *pcElementsInParent,
   8045         ULONG *pcElementsInAlt);
   8046 
   8047     HRESULT (STDMETHODCALLTYPE *Commit)(
   8048         ISpPhraseAlt* This);
   8049 
   8050     END_INTERFACE
   8051 } ISpPhraseAltVtbl;
   8052 interface ISpPhraseAlt {
   8053     CONST_VTBL ISpPhraseAltVtbl* lpVtbl;
   8054 };
   8055 
   8056 #ifdef COBJMACROS
   8057 #ifndef WIDL_C_INLINE_WRAPPERS
   8058 /*** IUnknown methods ***/
   8059 #define ISpPhraseAlt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8060 #define ISpPhraseAlt_AddRef(This) (This)->lpVtbl->AddRef(This)
   8061 #define ISpPhraseAlt_Release(This) (This)->lpVtbl->Release(This)
   8062 /*** ISpPhrase methods ***/
   8063 #define ISpPhraseAlt_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
   8064 #define ISpPhraseAlt_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
   8065 #define ISpPhraseAlt_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
   8066 #define ISpPhraseAlt_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
   8067 /*** ISpPhraseAlt methods ***/
   8068 #define ISpPhraseAlt_GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt) (This)->lpVtbl->GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt)
   8069 #define ISpPhraseAlt_Commit(This) (This)->lpVtbl->Commit(This)
   8070 #else
   8071 /*** IUnknown methods ***/
   8072 static FORCEINLINE HRESULT ISpPhraseAlt_QueryInterface(ISpPhraseAlt* This,REFIID riid,void **ppvObject) {
   8073     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8074 }
   8075 static FORCEINLINE ULONG ISpPhraseAlt_AddRef(ISpPhraseAlt* This) {
   8076     return This->lpVtbl->AddRef(This);
   8077 }
   8078 static FORCEINLINE ULONG ISpPhraseAlt_Release(ISpPhraseAlt* This) {
   8079     return This->lpVtbl->Release(This);
   8080 }
   8081 /*** ISpPhrase methods ***/
   8082 static FORCEINLINE HRESULT ISpPhraseAlt_GetPhrase(ISpPhraseAlt* This,SPPHRASE **ppCoMemPhrase) {
   8083     return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
   8084 }
   8085 static FORCEINLINE HRESULT ISpPhraseAlt_GetSerializedPhrase(ISpPhraseAlt* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
   8086     return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
   8087 }
   8088 static FORCEINLINE HRESULT ISpPhraseAlt_GetText(ISpPhraseAlt* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
   8089     return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
   8090 }
   8091 static FORCEINLINE HRESULT ISpPhraseAlt_Discard(ISpPhraseAlt* This,DWORD dwValueTypes) {
   8092     return This->lpVtbl->Discard(This,dwValueTypes);
   8093 }
   8094 /*** ISpPhraseAlt methods ***/
   8095 static FORCEINLINE HRESULT ISpPhraseAlt_GetAltInfo(ISpPhraseAlt* This,ISpPhrase **ppParent,ULONG *pulStartElementInParent,ULONG *pcElementsInParent,ULONG *pcElementsInAlt) {
   8096     return This->lpVtbl->GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt);
   8097 }
   8098 static FORCEINLINE HRESULT ISpPhraseAlt_Commit(ISpPhraseAlt* This) {
   8099     return This->lpVtbl->Commit(This);
   8100 }
   8101 #endif
   8102 #endif
   8103 
   8104 #endif
   8105 
   8106 HRESULT STDMETHODCALLTYPE ISpPhraseAlt_GetAltInfo_Proxy(
   8107     ISpPhraseAlt* This,
   8108     ISpPhrase **ppParent,
   8109     ULONG *pulStartElementInParent,
   8110     ULONG *pcElementsInParent,
   8111     ULONG *pcElementsInAlt);
   8112 void __RPC_STUB ISpPhraseAlt_GetAltInfo_Stub(
   8113     IRpcStubBuffer* This,
   8114     IRpcChannelBuffer* pRpcChannelBuffer,
   8115     PRPC_MESSAGE pRpcMessage,
   8116     DWORD* pdwStubPhase);
   8117 HRESULT STDMETHODCALLTYPE ISpPhraseAlt_Commit_Proxy(
   8118     ISpPhraseAlt* This);
   8119 void __RPC_STUB ISpPhraseAlt_Commit_Stub(
   8120     IRpcStubBuffer* This,
   8121     IRpcChannelBuffer* pRpcChannelBuffer,
   8122     PRPC_MESSAGE pRpcMessage,
   8123     DWORD* pdwStubPhase);
   8124 
   8125 #endif  /* __ISpPhraseAlt_INTERFACE_DEFINED__ */
   8126 
   8127 typedef enum SPXMLRESULTOPTIONS {
   8128     SPXRO_SML = 0,
   8129     SPXRO_Alternates_SML = 1
   8130 } SPXMLRESULTOPTIONS;
   8131 /*****************************************************************************
   8132  * ISpPhrase2 interface
   8133  */
   8134 #ifndef __ISpPhrase2_INTERFACE_DEFINED__
   8135 #define __ISpPhrase2_INTERFACE_DEFINED__
   8136 
   8137 DEFINE_GUID(IID_ISpPhrase2, 0xf264da52, 0xe457, 0x4696, 0xb8,0x56, 0xa7,0x37,0xb7,0x17,0xaf,0x79);
   8138 #if defined(__cplusplus) && !defined(CINTERFACE)
   8139 MIDL_INTERFACE("f264da52-e457-4696-b856-a737b717af79")
   8140 ISpPhrase2 : public ISpPhrase
   8141 {
   8142     virtual HRESULT STDMETHODCALLTYPE GetXMLResult(
   8143         LPWSTR *ppszCoMemXMLResult,
   8144         SPXMLRESULTOPTIONS Options) = 0;
   8145 
   8146     virtual HRESULT STDMETHODCALLTYPE GetXMLErrorInfo(
   8147         SPSEMANTICERRORINFO *pSemanticErrorInfo) = 0;
   8148 
   8149     virtual HRESULT STDMETHODCALLTYPE GetAudio(
   8150         ULONG ulStartElement,
   8151         ULONG cElements,
   8152         ISpStreamFormat **ppStream) = 0;
   8153 
   8154 };
   8155 #ifdef __CRT_UUID_DECL
   8156 __CRT_UUID_DECL(ISpPhrase2, 0xf264da52, 0xe457, 0x4696, 0xb8,0x56, 0xa7,0x37,0xb7,0x17,0xaf,0x79)
   8157 #endif
   8158 #else
   8159 typedef struct ISpPhrase2Vtbl {
   8160     BEGIN_INTERFACE
   8161 
   8162     /*** IUnknown methods ***/
   8163     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8164         ISpPhrase2* This,
   8165         REFIID riid,
   8166         void **ppvObject);
   8167 
   8168     ULONG (STDMETHODCALLTYPE *AddRef)(
   8169         ISpPhrase2* This);
   8170 
   8171     ULONG (STDMETHODCALLTYPE *Release)(
   8172         ISpPhrase2* This);
   8173 
   8174     /*** ISpPhrase methods ***/
   8175     HRESULT (STDMETHODCALLTYPE *GetPhrase)(
   8176         ISpPhrase2* This,
   8177         SPPHRASE **ppCoMemPhrase);
   8178 
   8179     HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
   8180         ISpPhrase2* This,
   8181         SPSERIALIZEDPHRASE **ppCoMemPhrase);
   8182 
   8183     HRESULT (STDMETHODCALLTYPE *GetText)(
   8184         ISpPhrase2* This,
   8185         ULONG ulStart,
   8186         ULONG ulCount,
   8187         WINBOOL fUseTextReplacements,
   8188         LPWSTR *ppszCoMemText,
   8189         BYTE *pbDisplayAttributes);
   8190 
   8191     HRESULT (STDMETHODCALLTYPE *Discard)(
   8192         ISpPhrase2* This,
   8193         DWORD dwValueTypes);
   8194 
   8195     /*** ISpPhrase2 methods ***/
   8196     HRESULT (STDMETHODCALLTYPE *GetXMLResult)(
   8197         ISpPhrase2* This,
   8198         LPWSTR *ppszCoMemXMLResult,
   8199         SPXMLRESULTOPTIONS Options);
   8200 
   8201     HRESULT (STDMETHODCALLTYPE *GetXMLErrorInfo)(
   8202         ISpPhrase2* This,
   8203         SPSEMANTICERRORINFO *pSemanticErrorInfo);
   8204 
   8205     HRESULT (STDMETHODCALLTYPE *GetAudio)(
   8206         ISpPhrase2* This,
   8207         ULONG ulStartElement,
   8208         ULONG cElements,
   8209         ISpStreamFormat **ppStream);
   8210 
   8211     END_INTERFACE
   8212 } ISpPhrase2Vtbl;
   8213 interface ISpPhrase2 {
   8214     CONST_VTBL ISpPhrase2Vtbl* lpVtbl;
   8215 };
   8216 
   8217 #ifdef COBJMACROS
   8218 #ifndef WIDL_C_INLINE_WRAPPERS
   8219 /*** IUnknown methods ***/
   8220 #define ISpPhrase2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8221 #define ISpPhrase2_AddRef(This) (This)->lpVtbl->AddRef(This)
   8222 #define ISpPhrase2_Release(This) (This)->lpVtbl->Release(This)
   8223 /*** ISpPhrase methods ***/
   8224 #define ISpPhrase2_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
   8225 #define ISpPhrase2_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
   8226 #define ISpPhrase2_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
   8227 #define ISpPhrase2_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
   8228 /*** ISpPhrase2 methods ***/
   8229 #define ISpPhrase2_GetXMLResult(This,ppszCoMemXMLResult,Options) (This)->lpVtbl->GetXMLResult(This,ppszCoMemXMLResult,Options)
   8230 #define ISpPhrase2_GetXMLErrorInfo(This,pSemanticErrorInfo) (This)->lpVtbl->GetXMLErrorInfo(This,pSemanticErrorInfo)
   8231 #define ISpPhrase2_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
   8232 #else
   8233 /*** IUnknown methods ***/
   8234 static FORCEINLINE HRESULT ISpPhrase2_QueryInterface(ISpPhrase2* This,REFIID riid,void **ppvObject) {
   8235     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8236 }
   8237 static FORCEINLINE ULONG ISpPhrase2_AddRef(ISpPhrase2* This) {
   8238     return This->lpVtbl->AddRef(This);
   8239 }
   8240 static FORCEINLINE ULONG ISpPhrase2_Release(ISpPhrase2* This) {
   8241     return This->lpVtbl->Release(This);
   8242 }
   8243 /*** ISpPhrase methods ***/
   8244 static FORCEINLINE HRESULT ISpPhrase2_GetPhrase(ISpPhrase2* This,SPPHRASE **ppCoMemPhrase) {
   8245     return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
   8246 }
   8247 static FORCEINLINE HRESULT ISpPhrase2_GetSerializedPhrase(ISpPhrase2* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
   8248     return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
   8249 }
   8250 static FORCEINLINE HRESULT ISpPhrase2_GetText(ISpPhrase2* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
   8251     return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
   8252 }
   8253 static FORCEINLINE HRESULT ISpPhrase2_Discard(ISpPhrase2* This,DWORD dwValueTypes) {
   8254     return This->lpVtbl->Discard(This,dwValueTypes);
   8255 }
   8256 /*** ISpPhrase2 methods ***/
   8257 static FORCEINLINE HRESULT ISpPhrase2_GetXMLResult(ISpPhrase2* This,LPWSTR *ppszCoMemXMLResult,SPXMLRESULTOPTIONS Options) {
   8258     return This->lpVtbl->GetXMLResult(This,ppszCoMemXMLResult,Options);
   8259 }
   8260 static FORCEINLINE HRESULT ISpPhrase2_GetXMLErrorInfo(ISpPhrase2* This,SPSEMANTICERRORINFO *pSemanticErrorInfo) {
   8261     return This->lpVtbl->GetXMLErrorInfo(This,pSemanticErrorInfo);
   8262 }
   8263 static FORCEINLINE HRESULT ISpPhrase2_GetAudio(ISpPhrase2* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
   8264     return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
   8265 }
   8266 #endif
   8267 #endif
   8268 
   8269 #endif
   8270 
   8271 HRESULT STDMETHODCALLTYPE ISpPhrase2_GetXMLResult_Proxy(
   8272     ISpPhrase2* This,
   8273     LPWSTR *ppszCoMemXMLResult,
   8274     SPXMLRESULTOPTIONS Options);
   8275 void __RPC_STUB ISpPhrase2_GetXMLResult_Stub(
   8276     IRpcStubBuffer* This,
   8277     IRpcChannelBuffer* pRpcChannelBuffer,
   8278     PRPC_MESSAGE pRpcMessage,
   8279     DWORD* pdwStubPhase);
   8280 HRESULT STDMETHODCALLTYPE ISpPhrase2_GetXMLErrorInfo_Proxy(
   8281     ISpPhrase2* This,
   8282     SPSEMANTICERRORINFO *pSemanticErrorInfo);
   8283 void __RPC_STUB ISpPhrase2_GetXMLErrorInfo_Stub(
   8284     IRpcStubBuffer* This,
   8285     IRpcChannelBuffer* pRpcChannelBuffer,
   8286     PRPC_MESSAGE pRpcMessage,
   8287     DWORD* pdwStubPhase);
   8288 HRESULT STDMETHODCALLTYPE ISpPhrase2_GetAudio_Proxy(
   8289     ISpPhrase2* This,
   8290     ULONG ulStartElement,
   8291     ULONG cElements,
   8292     ISpStreamFormat **ppStream);
   8293 void __RPC_STUB ISpPhrase2_GetAudio_Stub(
   8294     IRpcStubBuffer* This,
   8295     IRpcChannelBuffer* pRpcChannelBuffer,
   8296     PRPC_MESSAGE pRpcMessage,
   8297     DWORD* pdwStubPhase);
   8298 
   8299 #endif  /* __ISpPhrase2_INTERFACE_DEFINED__ */
   8300 
   8301 typedef struct SPRECORESULTTIMES {
   8302     FILETIME ftStreamTime;
   8303     ULONGLONG ullLength;
   8304     DWORD dwTickCount;
   8305     ULONGLONG ullStart;
   8306 } SPRECORESULTTIMES;
   8307 typedef struct SPSERIALIZEDRESULT {
   8308     ULONG ulSerializedSize;
   8309 } SPSERIALIZEDRESULT;
   8310 /*****************************************************************************
   8311  * ISpRecoResult interface
   8312  */
   8313 #ifndef __ISpRecoResult_INTERFACE_DEFINED__
   8314 #define __ISpRecoResult_INTERFACE_DEFINED__
   8315 
   8316 DEFINE_GUID(IID_ISpRecoResult, 0x20b053be, 0xe235, 0x43cd, 0x9a,0x2a, 0x8d,0x17,0xa4,0x8b,0x78,0x42);
   8317 #if defined(__cplusplus) && !defined(CINTERFACE)
   8318 MIDL_INTERFACE("20b053be-e235-43cd-9a2a-8d17a48b7842")
   8319 ISpRecoResult : public ISpPhrase
   8320 {
   8321     virtual HRESULT STDMETHODCALLTYPE GetResultTimes(
   8322         SPRECORESULTTIMES *pTimes) = 0;
   8323 
   8324     virtual HRESULT STDMETHODCALLTYPE GetAlternates(
   8325         ULONG ulStartElement,
   8326         ULONG cElements,
   8327         ULONG ulRequestCount,
   8328         ISpPhraseAlt **ppPhrases,
   8329         ULONG *pcPhrasesReturned) = 0;
   8330 
   8331     virtual HRESULT STDMETHODCALLTYPE GetAudio(
   8332         ULONG ulStartElement,
   8333         ULONG cElements,
   8334         ISpStreamFormat **ppStream) = 0;
   8335 
   8336     virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
   8337         ULONG ulStartElement,
   8338         ULONG cElements,
   8339         DWORD dwFlags,
   8340         ULONG *pulStreamNumber) = 0;
   8341 
   8342     virtual HRESULT STDMETHODCALLTYPE Serialize(
   8343         SPSERIALIZEDRESULT **ppCoMemSerializedResult) = 0;
   8344 
   8345     virtual HRESULT STDMETHODCALLTYPE ScaleAudio(
   8346         const GUID *pAudioFormatId,
   8347         const WAVEFORMATEX *pWaveFormatEx) = 0;
   8348 
   8349     virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
   8350         ISpRecoContext **ppRecoContext) = 0;
   8351 
   8352 };
   8353 #ifdef __CRT_UUID_DECL
   8354 __CRT_UUID_DECL(ISpRecoResult, 0x20b053be, 0xe235, 0x43cd, 0x9a,0x2a, 0x8d,0x17,0xa4,0x8b,0x78,0x42)
   8355 #endif
   8356 #else
   8357 typedef struct ISpRecoResultVtbl {
   8358     BEGIN_INTERFACE
   8359 
   8360     /*** IUnknown methods ***/
   8361     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8362         ISpRecoResult* This,
   8363         REFIID riid,
   8364         void **ppvObject);
   8365 
   8366     ULONG (STDMETHODCALLTYPE *AddRef)(
   8367         ISpRecoResult* This);
   8368 
   8369     ULONG (STDMETHODCALLTYPE *Release)(
   8370         ISpRecoResult* This);
   8371 
   8372     /*** ISpPhrase methods ***/
   8373     HRESULT (STDMETHODCALLTYPE *GetPhrase)(
   8374         ISpRecoResult* This,
   8375         SPPHRASE **ppCoMemPhrase);
   8376 
   8377     HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
   8378         ISpRecoResult* This,
   8379         SPSERIALIZEDPHRASE **ppCoMemPhrase);
   8380 
   8381     HRESULT (STDMETHODCALLTYPE *GetText)(
   8382         ISpRecoResult* This,
   8383         ULONG ulStart,
   8384         ULONG ulCount,
   8385         WINBOOL fUseTextReplacements,
   8386         LPWSTR *ppszCoMemText,
   8387         BYTE *pbDisplayAttributes);
   8388 
   8389     HRESULT (STDMETHODCALLTYPE *Discard)(
   8390         ISpRecoResult* This,
   8391         DWORD dwValueTypes);
   8392 
   8393     /*** ISpRecoResult methods ***/
   8394     HRESULT (STDMETHODCALLTYPE *GetResultTimes)(
   8395         ISpRecoResult* This,
   8396         SPRECORESULTTIMES *pTimes);
   8397 
   8398     HRESULT (STDMETHODCALLTYPE *GetAlternates)(
   8399         ISpRecoResult* This,
   8400         ULONG ulStartElement,
   8401         ULONG cElements,
   8402         ULONG ulRequestCount,
   8403         ISpPhraseAlt **ppPhrases,
   8404         ULONG *pcPhrasesReturned);
   8405 
   8406     HRESULT (STDMETHODCALLTYPE *GetAudio)(
   8407         ISpRecoResult* This,
   8408         ULONG ulStartElement,
   8409         ULONG cElements,
   8410         ISpStreamFormat **ppStream);
   8411 
   8412     HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
   8413         ISpRecoResult* This,
   8414         ULONG ulStartElement,
   8415         ULONG cElements,
   8416         DWORD dwFlags,
   8417         ULONG *pulStreamNumber);
   8418 
   8419     HRESULT (STDMETHODCALLTYPE *Serialize)(
   8420         ISpRecoResult* This,
   8421         SPSERIALIZEDRESULT **ppCoMemSerializedResult);
   8422 
   8423     HRESULT (STDMETHODCALLTYPE *ScaleAudio)(
   8424         ISpRecoResult* This,
   8425         const GUID *pAudioFormatId,
   8426         const WAVEFORMATEX *pWaveFormatEx);
   8427 
   8428     HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
   8429         ISpRecoResult* This,
   8430         ISpRecoContext **ppRecoContext);
   8431 
   8432     END_INTERFACE
   8433 } ISpRecoResultVtbl;
   8434 interface ISpRecoResult {
   8435     CONST_VTBL ISpRecoResultVtbl* lpVtbl;
   8436 };
   8437 
   8438 #ifdef COBJMACROS
   8439 #ifndef WIDL_C_INLINE_WRAPPERS
   8440 /*** IUnknown methods ***/
   8441 #define ISpRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8442 #define ISpRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
   8443 #define ISpRecoResult_Release(This) (This)->lpVtbl->Release(This)
   8444 /*** ISpPhrase methods ***/
   8445 #define ISpRecoResult_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
   8446 #define ISpRecoResult_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
   8447 #define ISpRecoResult_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
   8448 #define ISpRecoResult_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
   8449 /*** ISpRecoResult methods ***/
   8450 #define ISpRecoResult_GetResultTimes(This,pTimes) (This)->lpVtbl->GetResultTimes(This,pTimes)
   8451 #define ISpRecoResult_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) (This)->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
   8452 #define ISpRecoResult_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
   8453 #define ISpRecoResult_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
   8454 #define ISpRecoResult_Serialize(This,ppCoMemSerializedResult) (This)->lpVtbl->Serialize(This,ppCoMemSerializedResult)
   8455 #define ISpRecoResult_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
   8456 #define ISpRecoResult_GetRecoContext(This,ppRecoContext) (This)->lpVtbl->GetRecoContext(This,ppRecoContext)
   8457 #else
   8458 /*** IUnknown methods ***/
   8459 static FORCEINLINE HRESULT ISpRecoResult_QueryInterface(ISpRecoResult* This,REFIID riid,void **ppvObject) {
   8460     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8461 }
   8462 static FORCEINLINE ULONG ISpRecoResult_AddRef(ISpRecoResult* This) {
   8463     return This->lpVtbl->AddRef(This);
   8464 }
   8465 static FORCEINLINE ULONG ISpRecoResult_Release(ISpRecoResult* This) {
   8466     return This->lpVtbl->Release(This);
   8467 }
   8468 /*** ISpPhrase methods ***/
   8469 static FORCEINLINE HRESULT ISpRecoResult_GetPhrase(ISpRecoResult* This,SPPHRASE **ppCoMemPhrase) {
   8470     return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
   8471 }
   8472 static FORCEINLINE HRESULT ISpRecoResult_GetSerializedPhrase(ISpRecoResult* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
   8473     return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
   8474 }
   8475 static FORCEINLINE HRESULT ISpRecoResult_GetText(ISpRecoResult* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
   8476     return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
   8477 }
   8478 static FORCEINLINE HRESULT ISpRecoResult_Discard(ISpRecoResult* This,DWORD dwValueTypes) {
   8479     return This->lpVtbl->Discard(This,dwValueTypes);
   8480 }
   8481 /*** ISpRecoResult methods ***/
   8482 static FORCEINLINE HRESULT ISpRecoResult_GetResultTimes(ISpRecoResult* This,SPRECORESULTTIMES *pTimes) {
   8483     return This->lpVtbl->GetResultTimes(This,pTimes);
   8484 }
   8485 static FORCEINLINE HRESULT ISpRecoResult_GetAlternates(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,ULONG ulRequestCount,ISpPhraseAlt **ppPhrases,ULONG *pcPhrasesReturned) {
   8486     return This->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned);
   8487 }
   8488 static FORCEINLINE HRESULT ISpRecoResult_GetAudio(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
   8489     return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
   8490 }
   8491 static FORCEINLINE HRESULT ISpRecoResult_SpeakAudio(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,DWORD dwFlags,ULONG *pulStreamNumber) {
   8492     return This->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber);
   8493 }
   8494 static FORCEINLINE HRESULT ISpRecoResult_Serialize(ISpRecoResult* This,SPSERIALIZEDRESULT **ppCoMemSerializedResult) {
   8495     return This->lpVtbl->Serialize(This,ppCoMemSerializedResult);
   8496 }
   8497 static FORCEINLINE HRESULT ISpRecoResult_ScaleAudio(ISpRecoResult* This,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
   8498     return This->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx);
   8499 }
   8500 static FORCEINLINE HRESULT ISpRecoResult_GetRecoContext(ISpRecoResult* This,ISpRecoContext **ppRecoContext) {
   8501     return This->lpVtbl->GetRecoContext(This,ppRecoContext);
   8502 }
   8503 #endif
   8504 #endif
   8505 
   8506 #endif
   8507 
   8508 HRESULT STDMETHODCALLTYPE ISpRecoResult_GetResultTimes_Proxy(
   8509     ISpRecoResult* This,
   8510     SPRECORESULTTIMES *pTimes);
   8511 void __RPC_STUB ISpRecoResult_GetResultTimes_Stub(
   8512     IRpcStubBuffer* This,
   8513     IRpcChannelBuffer* pRpcChannelBuffer,
   8514     PRPC_MESSAGE pRpcMessage,
   8515     DWORD* pdwStubPhase);
   8516 HRESULT STDMETHODCALLTYPE ISpRecoResult_GetAlternates_Proxy(
   8517     ISpRecoResult* This,
   8518     ULONG ulStartElement,
   8519     ULONG cElements,
   8520     ULONG ulRequestCount,
   8521     ISpPhraseAlt **ppPhrases,
   8522     ULONG *pcPhrasesReturned);
   8523 void __RPC_STUB ISpRecoResult_GetAlternates_Stub(
   8524     IRpcStubBuffer* This,
   8525     IRpcChannelBuffer* pRpcChannelBuffer,
   8526     PRPC_MESSAGE pRpcMessage,
   8527     DWORD* pdwStubPhase);
   8528 HRESULT STDMETHODCALLTYPE ISpRecoResult_GetAudio_Proxy(
   8529     ISpRecoResult* This,
   8530     ULONG ulStartElement,
   8531     ULONG cElements,
   8532     ISpStreamFormat **ppStream);
   8533 void __RPC_STUB ISpRecoResult_GetAudio_Stub(
   8534     IRpcStubBuffer* This,
   8535     IRpcChannelBuffer* pRpcChannelBuffer,
   8536     PRPC_MESSAGE pRpcMessage,
   8537     DWORD* pdwStubPhase);
   8538 HRESULT STDMETHODCALLTYPE ISpRecoResult_SpeakAudio_Proxy(
   8539     ISpRecoResult* This,
   8540     ULONG ulStartElement,
   8541     ULONG cElements,
   8542     DWORD dwFlags,
   8543     ULONG *pulStreamNumber);
   8544 void __RPC_STUB ISpRecoResult_SpeakAudio_Stub(
   8545     IRpcStubBuffer* This,
   8546     IRpcChannelBuffer* pRpcChannelBuffer,
   8547     PRPC_MESSAGE pRpcMessage,
   8548     DWORD* pdwStubPhase);
   8549 HRESULT STDMETHODCALLTYPE ISpRecoResult_Serialize_Proxy(
   8550     ISpRecoResult* This,
   8551     SPSERIALIZEDRESULT **ppCoMemSerializedResult);
   8552 void __RPC_STUB ISpRecoResult_Serialize_Stub(
   8553     IRpcStubBuffer* This,
   8554     IRpcChannelBuffer* pRpcChannelBuffer,
   8555     PRPC_MESSAGE pRpcMessage,
   8556     DWORD* pdwStubPhase);
   8557 HRESULT STDMETHODCALLTYPE ISpRecoResult_ScaleAudio_Proxy(
   8558     ISpRecoResult* This,
   8559     const GUID *pAudioFormatId,
   8560     const WAVEFORMATEX *pWaveFormatEx);
   8561 void __RPC_STUB ISpRecoResult_ScaleAudio_Stub(
   8562     IRpcStubBuffer* This,
   8563     IRpcChannelBuffer* pRpcChannelBuffer,
   8564     PRPC_MESSAGE pRpcMessage,
   8565     DWORD* pdwStubPhase);
   8566 HRESULT STDMETHODCALLTYPE ISpRecoResult_GetRecoContext_Proxy(
   8567     ISpRecoResult* This,
   8568     ISpRecoContext **ppRecoContext);
   8569 void __RPC_STUB ISpRecoResult_GetRecoContext_Stub(
   8570     IRpcStubBuffer* This,
   8571     IRpcChannelBuffer* pRpcChannelBuffer,
   8572     PRPC_MESSAGE pRpcMessage,
   8573     DWORD* pdwStubPhase);
   8574 
   8575 #endif  /* __ISpRecoResult_INTERFACE_DEFINED__ */
   8576 
   8577 typedef enum SPCOMMITFLAGS {
   8578     SPCF_NONE = 0,
   8579     SPCF_ADD_TO_USER_LEXICON = 1 << 0,
   8580     SPCF_DEFINITE_CORRECTION = 1 << 1
   8581 } SPCOMMITFLAGS;
   8582 /*****************************************************************************
   8583  * ISpRecoResult2 interface
   8584  */
   8585 #ifndef __ISpRecoResult2_INTERFACE_DEFINED__
   8586 #define __ISpRecoResult2_INTERFACE_DEFINED__
   8587 
   8588 DEFINE_GUID(IID_ISpRecoResult2, 0x27cac6c4, 0x88f2, 0x41f2, 0x88,0x17, 0x0c,0x95,0xe5,0x9f,0x1e,0x6e);
   8589 #if defined(__cplusplus) && !defined(CINTERFACE)
   8590 MIDL_INTERFACE("27cac6c4-88f2-41f2-8817-0c95e59f1e6e")
   8591 ISpRecoResult2 : public ISpRecoResult
   8592 {
   8593     virtual HRESULT STDMETHODCALLTYPE CommitAlternate(
   8594         ISpPhraseAlt *pPhraseAlt,
   8595         ISpRecoResult **ppNewResult) = 0;
   8596 
   8597     virtual HRESULT STDMETHODCALLTYPE CommitText(
   8598         ULONG ulStartElement,
   8599         ULONG cElements,
   8600         LPCWSTR pszCorrectedData,
   8601         DWORD eCommitFlags) = 0;
   8602 
   8603     virtual HRESULT STDMETHODCALLTYPE SetTextFeedback(
   8604         LPCWSTR pszFeedback,
   8605         WINBOOL fSuccessful) = 0;
   8606 
   8607 };
   8608 #ifdef __CRT_UUID_DECL
   8609 __CRT_UUID_DECL(ISpRecoResult2, 0x27cac6c4, 0x88f2, 0x41f2, 0x88,0x17, 0x0c,0x95,0xe5,0x9f,0x1e,0x6e)
   8610 #endif
   8611 #else
   8612 typedef struct ISpRecoResult2Vtbl {
   8613     BEGIN_INTERFACE
   8614 
   8615     /*** IUnknown methods ***/
   8616     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8617         ISpRecoResult2* This,
   8618         REFIID riid,
   8619         void **ppvObject);
   8620 
   8621     ULONG (STDMETHODCALLTYPE *AddRef)(
   8622         ISpRecoResult2* This);
   8623 
   8624     ULONG (STDMETHODCALLTYPE *Release)(
   8625         ISpRecoResult2* This);
   8626 
   8627     /*** ISpPhrase methods ***/
   8628     HRESULT (STDMETHODCALLTYPE *GetPhrase)(
   8629         ISpRecoResult2* This,
   8630         SPPHRASE **ppCoMemPhrase);
   8631 
   8632     HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
   8633         ISpRecoResult2* This,
   8634         SPSERIALIZEDPHRASE **ppCoMemPhrase);
   8635 
   8636     HRESULT (STDMETHODCALLTYPE *GetText)(
   8637         ISpRecoResult2* This,
   8638         ULONG ulStart,
   8639         ULONG ulCount,
   8640         WINBOOL fUseTextReplacements,
   8641         LPWSTR *ppszCoMemText,
   8642         BYTE *pbDisplayAttributes);
   8643 
   8644     HRESULT (STDMETHODCALLTYPE *Discard)(
   8645         ISpRecoResult2* This,
   8646         DWORD dwValueTypes);
   8647 
   8648     /*** ISpRecoResult methods ***/
   8649     HRESULT (STDMETHODCALLTYPE *GetResultTimes)(
   8650         ISpRecoResult2* This,
   8651         SPRECORESULTTIMES *pTimes);
   8652 
   8653     HRESULT (STDMETHODCALLTYPE *GetAlternates)(
   8654         ISpRecoResult2* This,
   8655         ULONG ulStartElement,
   8656         ULONG cElements,
   8657         ULONG ulRequestCount,
   8658         ISpPhraseAlt **ppPhrases,
   8659         ULONG *pcPhrasesReturned);
   8660 
   8661     HRESULT (STDMETHODCALLTYPE *GetAudio)(
   8662         ISpRecoResult2* This,
   8663         ULONG ulStartElement,
   8664         ULONG cElements,
   8665         ISpStreamFormat **ppStream);
   8666 
   8667     HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
   8668         ISpRecoResult2* This,
   8669         ULONG ulStartElement,
   8670         ULONG cElements,
   8671         DWORD dwFlags,
   8672         ULONG *pulStreamNumber);
   8673 
   8674     HRESULT (STDMETHODCALLTYPE *Serialize)(
   8675         ISpRecoResult2* This,
   8676         SPSERIALIZEDRESULT **ppCoMemSerializedResult);
   8677 
   8678     HRESULT (STDMETHODCALLTYPE *ScaleAudio)(
   8679         ISpRecoResult2* This,
   8680         const GUID *pAudioFormatId,
   8681         const WAVEFORMATEX *pWaveFormatEx);
   8682 
   8683     HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
   8684         ISpRecoResult2* This,
   8685         ISpRecoContext **ppRecoContext);
   8686 
   8687     /*** ISpRecoResult2 methods ***/
   8688     HRESULT (STDMETHODCALLTYPE *CommitAlternate)(
   8689         ISpRecoResult2* This,
   8690         ISpPhraseAlt *pPhraseAlt,
   8691         ISpRecoResult **ppNewResult);
   8692 
   8693     HRESULT (STDMETHODCALLTYPE *CommitText)(
   8694         ISpRecoResult2* This,
   8695         ULONG ulStartElement,
   8696         ULONG cElements,
   8697         LPCWSTR pszCorrectedData,
   8698         DWORD eCommitFlags);
   8699 
   8700     HRESULT (STDMETHODCALLTYPE *SetTextFeedback)(
   8701         ISpRecoResult2* This,
   8702         LPCWSTR pszFeedback,
   8703         WINBOOL fSuccessful);
   8704 
   8705     END_INTERFACE
   8706 } ISpRecoResult2Vtbl;
   8707 interface ISpRecoResult2 {
   8708     CONST_VTBL ISpRecoResult2Vtbl* lpVtbl;
   8709 };
   8710 
   8711 #ifdef COBJMACROS
   8712 #ifndef WIDL_C_INLINE_WRAPPERS
   8713 /*** IUnknown methods ***/
   8714 #define ISpRecoResult2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8715 #define ISpRecoResult2_AddRef(This) (This)->lpVtbl->AddRef(This)
   8716 #define ISpRecoResult2_Release(This) (This)->lpVtbl->Release(This)
   8717 /*** ISpPhrase methods ***/
   8718 #define ISpRecoResult2_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
   8719 #define ISpRecoResult2_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
   8720 #define ISpRecoResult2_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
   8721 #define ISpRecoResult2_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
   8722 /*** ISpRecoResult methods ***/
   8723 #define ISpRecoResult2_GetResultTimes(This,pTimes) (This)->lpVtbl->GetResultTimes(This,pTimes)
   8724 #define ISpRecoResult2_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) (This)->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
   8725 #define ISpRecoResult2_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
   8726 #define ISpRecoResult2_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
   8727 #define ISpRecoResult2_Serialize(This,ppCoMemSerializedResult) (This)->lpVtbl->Serialize(This,ppCoMemSerializedResult)
   8728 #define ISpRecoResult2_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
   8729 #define ISpRecoResult2_GetRecoContext(This,ppRecoContext) (This)->lpVtbl->GetRecoContext(This,ppRecoContext)
   8730 /*** ISpRecoResult2 methods ***/
   8731 #define ISpRecoResult2_CommitAlternate(This,pPhraseAlt,ppNewResult) (This)->lpVtbl->CommitAlternate(This,pPhraseAlt,ppNewResult)
   8732 #define ISpRecoResult2_CommitText(This,ulStartElement,cElements,pszCorrectedData,eCommitFlags) (This)->lpVtbl->CommitText(This,ulStartElement,cElements,pszCorrectedData,eCommitFlags)
   8733 #define ISpRecoResult2_SetTextFeedback(This,pszFeedback,fSuccessful) (This)->lpVtbl->SetTextFeedback(This,pszFeedback,fSuccessful)
   8734 #else
   8735 /*** IUnknown methods ***/
   8736 static FORCEINLINE HRESULT ISpRecoResult2_QueryInterface(ISpRecoResult2* This,REFIID riid,void **ppvObject) {
   8737     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8738 }
   8739 static FORCEINLINE ULONG ISpRecoResult2_AddRef(ISpRecoResult2* This) {
   8740     return This->lpVtbl->AddRef(This);
   8741 }
   8742 static FORCEINLINE ULONG ISpRecoResult2_Release(ISpRecoResult2* This) {
   8743     return This->lpVtbl->Release(This);
   8744 }
   8745 /*** ISpPhrase methods ***/
   8746 static FORCEINLINE HRESULT ISpRecoResult2_GetPhrase(ISpRecoResult2* This,SPPHRASE **ppCoMemPhrase) {
   8747     return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
   8748 }
   8749 static FORCEINLINE HRESULT ISpRecoResult2_GetSerializedPhrase(ISpRecoResult2* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
   8750     return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
   8751 }
   8752 static FORCEINLINE HRESULT ISpRecoResult2_GetText(ISpRecoResult2* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
   8753     return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
   8754 }
   8755 static FORCEINLINE HRESULT ISpRecoResult2_Discard(ISpRecoResult2* This,DWORD dwValueTypes) {
   8756     return This->lpVtbl->Discard(This,dwValueTypes);
   8757 }
   8758 /*** ISpRecoResult methods ***/
   8759 static FORCEINLINE HRESULT ISpRecoResult2_GetResultTimes(ISpRecoResult2* This,SPRECORESULTTIMES *pTimes) {
   8760     return This->lpVtbl->GetResultTimes(This,pTimes);
   8761 }
   8762 static FORCEINLINE HRESULT ISpRecoResult2_GetAlternates(ISpRecoResult2* This,ULONG ulStartElement,ULONG cElements,ULONG ulRequestCount,ISpPhraseAlt **ppPhrases,ULONG *pcPhrasesReturned) {
   8763     return This->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned);
   8764 }
   8765 static FORCEINLINE HRESULT ISpRecoResult2_GetAudio(ISpRecoResult2* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
   8766     return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
   8767 }
   8768 static FORCEINLINE HRESULT ISpRecoResult2_SpeakAudio(ISpRecoResult2* This,ULONG ulStartElement,ULONG cElements,DWORD dwFlags,ULONG *pulStreamNumber) {
   8769     return This->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber);
   8770 }
   8771 static FORCEINLINE HRESULT ISpRecoResult2_Serialize(ISpRecoResult2* This,SPSERIALIZEDRESULT **ppCoMemSerializedResult) {
   8772     return This->lpVtbl->Serialize(This,ppCoMemSerializedResult);
   8773 }
   8774 static FORCEINLINE HRESULT ISpRecoResult2_ScaleAudio(ISpRecoResult2* This,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
   8775     return This->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx);
   8776 }
   8777 static FORCEINLINE HRESULT ISpRecoResult2_GetRecoContext(ISpRecoResult2* This,ISpRecoContext **ppRecoContext) {
   8778     return This->lpVtbl->GetRecoContext(This,ppRecoContext);
   8779 }
   8780 /*** ISpRecoResult2 methods ***/
   8781 static FORCEINLINE HRESULT ISpRecoResult2_CommitAlternate(ISpRecoResult2* This,ISpPhraseAlt *pPhraseAlt,ISpRecoResult **ppNewResult) {
   8782     return This->lpVtbl->CommitAlternate(This,pPhraseAlt,ppNewResult);
   8783 }
   8784 static FORCEINLINE HRESULT ISpRecoResult2_CommitText(ISpRecoResult2* This,ULONG ulStartElement,ULONG cElements,LPCWSTR pszCorrectedData,DWORD eCommitFlags) {
   8785     return This->lpVtbl->CommitText(This,ulStartElement,cElements,pszCorrectedData,eCommitFlags);
   8786 }
   8787 static FORCEINLINE HRESULT ISpRecoResult2_SetTextFeedback(ISpRecoResult2* This,LPCWSTR pszFeedback,WINBOOL fSuccessful) {
   8788     return This->lpVtbl->SetTextFeedback(This,pszFeedback,fSuccessful);
   8789 }
   8790 #endif
   8791 #endif
   8792 
   8793 #endif
   8794 
   8795 HRESULT STDMETHODCALLTYPE ISpRecoResult2_CommitAlternate_Proxy(
   8796     ISpRecoResult2* This,
   8797     ISpPhraseAlt *pPhraseAlt,
   8798     ISpRecoResult **ppNewResult);
   8799 void __RPC_STUB ISpRecoResult2_CommitAlternate_Stub(
   8800     IRpcStubBuffer* This,
   8801     IRpcChannelBuffer* pRpcChannelBuffer,
   8802     PRPC_MESSAGE pRpcMessage,
   8803     DWORD* pdwStubPhase);
   8804 HRESULT STDMETHODCALLTYPE ISpRecoResult2_CommitText_Proxy(
   8805     ISpRecoResult2* This,
   8806     ULONG ulStartElement,
   8807     ULONG cElements,
   8808     LPCWSTR pszCorrectedData,
   8809     DWORD eCommitFlags);
   8810 void __RPC_STUB ISpRecoResult2_CommitText_Stub(
   8811     IRpcStubBuffer* This,
   8812     IRpcChannelBuffer* pRpcChannelBuffer,
   8813     PRPC_MESSAGE pRpcMessage,
   8814     DWORD* pdwStubPhase);
   8815 HRESULT STDMETHODCALLTYPE ISpRecoResult2_SetTextFeedback_Proxy(
   8816     ISpRecoResult2* This,
   8817     LPCWSTR pszFeedback,
   8818     WINBOOL fSuccessful);
   8819 void __RPC_STUB ISpRecoResult2_SetTextFeedback_Stub(
   8820     IRpcStubBuffer* This,
   8821     IRpcChannelBuffer* pRpcChannelBuffer,
   8822     PRPC_MESSAGE pRpcMessage,
   8823     DWORD* pdwStubPhase);
   8824 
   8825 #endif  /* __ISpRecoResult2_INTERFACE_DEFINED__ */
   8826 
   8827 /*****************************************************************************
   8828  * ISpXMLRecoResult interface
   8829  */
   8830 #ifndef __ISpXMLRecoResult_INTERFACE_DEFINED__
   8831 #define __ISpXMLRecoResult_INTERFACE_DEFINED__
   8832 
   8833 DEFINE_GUID(IID_ISpXMLRecoResult, 0xae39362b, 0x45a8, 0x4074, 0x9b,0x9e, 0xcc,0xf4,0x9a,0xa2,0xd0,0xb6);
   8834 #if defined(__cplusplus) && !defined(CINTERFACE)
   8835 MIDL_INTERFACE("ae39362b-45a8-4074-9b9e-ccf49aa2d0b6")
   8836 ISpXMLRecoResult : public ISpRecoResult
   8837 {
   8838     virtual HRESULT STDMETHODCALLTYPE GetXMLResult(
   8839         LPWSTR *ppszCoMemXMLResult,
   8840         SPXMLRESULTOPTIONS Options) = 0;
   8841 
   8842     virtual HRESULT STDMETHODCALLTYPE GetXMLErrorInfo(
   8843         SPSEMANTICERRORINFO *pSemanticErrorInfo) = 0;
   8844 
   8845 };
   8846 #ifdef __CRT_UUID_DECL
   8847 __CRT_UUID_DECL(ISpXMLRecoResult, 0xae39362b, 0x45a8, 0x4074, 0x9b,0x9e, 0xcc,0xf4,0x9a,0xa2,0xd0,0xb6)
   8848 #endif
   8849 #else
   8850 typedef struct ISpXMLRecoResultVtbl {
   8851     BEGIN_INTERFACE
   8852 
   8853     /*** IUnknown methods ***/
   8854     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   8855         ISpXMLRecoResult* This,
   8856         REFIID riid,
   8857         void **ppvObject);
   8858 
   8859     ULONG (STDMETHODCALLTYPE *AddRef)(
   8860         ISpXMLRecoResult* This);
   8861 
   8862     ULONG (STDMETHODCALLTYPE *Release)(
   8863         ISpXMLRecoResult* This);
   8864 
   8865     /*** ISpPhrase methods ***/
   8866     HRESULT (STDMETHODCALLTYPE *GetPhrase)(
   8867         ISpXMLRecoResult* This,
   8868         SPPHRASE **ppCoMemPhrase);
   8869 
   8870     HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
   8871         ISpXMLRecoResult* This,
   8872         SPSERIALIZEDPHRASE **ppCoMemPhrase);
   8873 
   8874     HRESULT (STDMETHODCALLTYPE *GetText)(
   8875         ISpXMLRecoResult* This,
   8876         ULONG ulStart,
   8877         ULONG ulCount,
   8878         WINBOOL fUseTextReplacements,
   8879         LPWSTR *ppszCoMemText,
   8880         BYTE *pbDisplayAttributes);
   8881 
   8882     HRESULT (STDMETHODCALLTYPE *Discard)(
   8883         ISpXMLRecoResult* This,
   8884         DWORD dwValueTypes);
   8885 
   8886     /*** ISpRecoResult methods ***/
   8887     HRESULT (STDMETHODCALLTYPE *GetResultTimes)(
   8888         ISpXMLRecoResult* This,
   8889         SPRECORESULTTIMES *pTimes);
   8890 
   8891     HRESULT (STDMETHODCALLTYPE *GetAlternates)(
   8892         ISpXMLRecoResult* This,
   8893         ULONG ulStartElement,
   8894         ULONG cElements,
   8895         ULONG ulRequestCount,
   8896         ISpPhraseAlt **ppPhrases,
   8897         ULONG *pcPhrasesReturned);
   8898 
   8899     HRESULT (STDMETHODCALLTYPE *GetAudio)(
   8900         ISpXMLRecoResult* This,
   8901         ULONG ulStartElement,
   8902         ULONG cElements,
   8903         ISpStreamFormat **ppStream);
   8904 
   8905     HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
   8906         ISpXMLRecoResult* This,
   8907         ULONG ulStartElement,
   8908         ULONG cElements,
   8909         DWORD dwFlags,
   8910         ULONG *pulStreamNumber);
   8911 
   8912     HRESULT (STDMETHODCALLTYPE *Serialize)(
   8913         ISpXMLRecoResult* This,
   8914         SPSERIALIZEDRESULT **ppCoMemSerializedResult);
   8915 
   8916     HRESULT (STDMETHODCALLTYPE *ScaleAudio)(
   8917         ISpXMLRecoResult* This,
   8918         const GUID *pAudioFormatId,
   8919         const WAVEFORMATEX *pWaveFormatEx);
   8920 
   8921     HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
   8922         ISpXMLRecoResult* This,
   8923         ISpRecoContext **ppRecoContext);
   8924 
   8925     /*** ISpXMLRecoResult methods ***/
   8926     HRESULT (STDMETHODCALLTYPE *GetXMLResult)(
   8927         ISpXMLRecoResult* This,
   8928         LPWSTR *ppszCoMemXMLResult,
   8929         SPXMLRESULTOPTIONS Options);
   8930 
   8931     HRESULT (STDMETHODCALLTYPE *GetXMLErrorInfo)(
   8932         ISpXMLRecoResult* This,
   8933         SPSEMANTICERRORINFO *pSemanticErrorInfo);
   8934 
   8935     END_INTERFACE
   8936 } ISpXMLRecoResultVtbl;
   8937 interface ISpXMLRecoResult {
   8938     CONST_VTBL ISpXMLRecoResultVtbl* lpVtbl;
   8939 };
   8940 
   8941 #ifdef COBJMACROS
   8942 #ifndef WIDL_C_INLINE_WRAPPERS
   8943 /*** IUnknown methods ***/
   8944 #define ISpXMLRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   8945 #define ISpXMLRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
   8946 #define ISpXMLRecoResult_Release(This) (This)->lpVtbl->Release(This)
   8947 /*** ISpPhrase methods ***/
   8948 #define ISpXMLRecoResult_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
   8949 #define ISpXMLRecoResult_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
   8950 #define ISpXMLRecoResult_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
   8951 #define ISpXMLRecoResult_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
   8952 /*** ISpRecoResult methods ***/
   8953 #define ISpXMLRecoResult_GetResultTimes(This,pTimes) (This)->lpVtbl->GetResultTimes(This,pTimes)
   8954 #define ISpXMLRecoResult_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) (This)->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
   8955 #define ISpXMLRecoResult_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
   8956 #define ISpXMLRecoResult_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
   8957 #define ISpXMLRecoResult_Serialize(This,ppCoMemSerializedResult) (This)->lpVtbl->Serialize(This,ppCoMemSerializedResult)
   8958 #define ISpXMLRecoResult_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
   8959 #define ISpXMLRecoResult_GetRecoContext(This,ppRecoContext) (This)->lpVtbl->GetRecoContext(This,ppRecoContext)
   8960 /*** ISpXMLRecoResult methods ***/
   8961 #define ISpXMLRecoResult_GetXMLResult(This,ppszCoMemXMLResult,Options) (This)->lpVtbl->GetXMLResult(This,ppszCoMemXMLResult,Options)
   8962 #define ISpXMLRecoResult_GetXMLErrorInfo(This,pSemanticErrorInfo) (This)->lpVtbl->GetXMLErrorInfo(This,pSemanticErrorInfo)
   8963 #else
   8964 /*** IUnknown methods ***/
   8965 static FORCEINLINE HRESULT ISpXMLRecoResult_QueryInterface(ISpXMLRecoResult* This,REFIID riid,void **ppvObject) {
   8966     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   8967 }
   8968 static FORCEINLINE ULONG ISpXMLRecoResult_AddRef(ISpXMLRecoResult* This) {
   8969     return This->lpVtbl->AddRef(This);
   8970 }
   8971 static FORCEINLINE ULONG ISpXMLRecoResult_Release(ISpXMLRecoResult* This) {
   8972     return This->lpVtbl->Release(This);
   8973 }
   8974 /*** ISpPhrase methods ***/
   8975 static FORCEINLINE HRESULT ISpXMLRecoResult_GetPhrase(ISpXMLRecoResult* This,SPPHRASE **ppCoMemPhrase) {
   8976     return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
   8977 }
   8978 static FORCEINLINE HRESULT ISpXMLRecoResult_GetSerializedPhrase(ISpXMLRecoResult* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
   8979     return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
   8980 }
   8981 static FORCEINLINE HRESULT ISpXMLRecoResult_GetText(ISpXMLRecoResult* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
   8982     return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
   8983 }
   8984 static FORCEINLINE HRESULT ISpXMLRecoResult_Discard(ISpXMLRecoResult* This,DWORD dwValueTypes) {
   8985     return This->lpVtbl->Discard(This,dwValueTypes);
   8986 }
   8987 /*** ISpRecoResult methods ***/
   8988 static FORCEINLINE HRESULT ISpXMLRecoResult_GetResultTimes(ISpXMLRecoResult* This,SPRECORESULTTIMES *pTimes) {
   8989     return This->lpVtbl->GetResultTimes(This,pTimes);
   8990 }
   8991 static FORCEINLINE HRESULT ISpXMLRecoResult_GetAlternates(ISpXMLRecoResult* This,ULONG ulStartElement,ULONG cElements,ULONG ulRequestCount,ISpPhraseAlt **ppPhrases,ULONG *pcPhrasesReturned) {
   8992     return This->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned);
   8993 }
   8994 static FORCEINLINE HRESULT ISpXMLRecoResult_GetAudio(ISpXMLRecoResult* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
   8995     return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
   8996 }
   8997 static FORCEINLINE HRESULT ISpXMLRecoResult_SpeakAudio(ISpXMLRecoResult* This,ULONG ulStartElement,ULONG cElements,DWORD dwFlags,ULONG *pulStreamNumber) {
   8998     return This->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber);
   8999 }
   9000 static FORCEINLINE HRESULT ISpXMLRecoResult_Serialize(ISpXMLRecoResult* This,SPSERIALIZEDRESULT **ppCoMemSerializedResult) {
   9001     return This->lpVtbl->Serialize(This,ppCoMemSerializedResult);
   9002 }
   9003 static FORCEINLINE HRESULT ISpXMLRecoResult_ScaleAudio(ISpXMLRecoResult* This,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
   9004     return This->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx);
   9005 }
   9006 static FORCEINLINE HRESULT ISpXMLRecoResult_GetRecoContext(ISpXMLRecoResult* This,ISpRecoContext **ppRecoContext) {
   9007     return This->lpVtbl->GetRecoContext(This,ppRecoContext);
   9008 }
   9009 /*** ISpXMLRecoResult methods ***/
   9010 static FORCEINLINE HRESULT ISpXMLRecoResult_GetXMLResult(ISpXMLRecoResult* This,LPWSTR *ppszCoMemXMLResult,SPXMLRESULTOPTIONS Options) {
   9011     return This->lpVtbl->GetXMLResult(This,ppszCoMemXMLResult,Options);
   9012 }
   9013 static FORCEINLINE HRESULT ISpXMLRecoResult_GetXMLErrorInfo(ISpXMLRecoResult* This,SPSEMANTICERRORINFO *pSemanticErrorInfo) {
   9014     return This->lpVtbl->GetXMLErrorInfo(This,pSemanticErrorInfo);
   9015 }
   9016 #endif
   9017 #endif
   9018 
   9019 #endif
   9020 
   9021 HRESULT STDMETHODCALLTYPE ISpXMLRecoResult_GetXMLResult_Proxy(
   9022     ISpXMLRecoResult* This,
   9023     LPWSTR *ppszCoMemXMLResult,
   9024     SPXMLRESULTOPTIONS Options);
   9025 void __RPC_STUB ISpXMLRecoResult_GetXMLResult_Stub(
   9026     IRpcStubBuffer* This,
   9027     IRpcChannelBuffer* pRpcChannelBuffer,
   9028     PRPC_MESSAGE pRpcMessage,
   9029     DWORD* pdwStubPhase);
   9030 HRESULT STDMETHODCALLTYPE ISpXMLRecoResult_GetXMLErrorInfo_Proxy(
   9031     ISpXMLRecoResult* This,
   9032     SPSEMANTICERRORINFO *pSemanticErrorInfo);
   9033 void __RPC_STUB ISpXMLRecoResult_GetXMLErrorInfo_Stub(
   9034     IRpcStubBuffer* This,
   9035     IRpcChannelBuffer* pRpcChannelBuffer,
   9036     PRPC_MESSAGE pRpcMessage,
   9037     DWORD* pdwStubPhase);
   9038 
   9039 #endif  /* __ISpXMLRecoResult_INTERFACE_DEFINED__ */
   9040 
   9041 typedef struct tagSPTEXTSELECTIONINFO {
   9042     ULONG ulStartActiveOffset;
   9043     ULONG cchActiveChars;
   9044     ULONG ulStartSelection;
   9045     ULONG cchSelection;
   9046 } SPTEXTSELECTIONINFO;
   9047 typedef enum SPWORDPRONOUNCEABLE {
   9048     SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE = 0,
   9049     SPWP_UNKNOWN_WORD_PRONOUNCEABLE = 1,
   9050     SPWP_KNOWN_WORD_PRONOUNCEABLE = 2
   9051 } SPWORDPRONOUNCEABLE;
   9052 typedef enum SPGRAMMARSTATE {
   9053     SPGS_DISABLED = 0,
   9054     SPGS_ENABLED = 1,
   9055     SPGS_EXCLUSIVE = 3
   9056 } SPGRAMMARSTATE;
   9057 typedef enum SPCONTEXTSTATE {
   9058     SPCS_DISABLED = 0,
   9059     SPCS_ENABLED = 1
   9060 } SPCONTEXTSTATE;
   9061 typedef enum SPRULESTATE {
   9062     SPRS_INACTIVE = 0,
   9063     SPRS_ACTIVE = 1,
   9064     SPRS_ACTIVE_WITH_AUTO_PAUSE = 3,
   9065     SPRS_ACTIVE_USER_DELIMITED = 4
   9066 } SPRULESTATE;
   9067 #define SP_STREAMPOS_ASAP (0)
   9068 
   9069 #define SP_STREAMPOS_REALTIME (-1)
   9070 
   9071 #define SPRULETRANS_TEXTBUFFER (SPSTATEHANDLE) (-1)
   9072 #define SPRULETRANS_WILDCARD (SPSTATEHANDLE) (-2)
   9073 #define SPRULETRANS_DICTATION (SPSTATEHANDLE) (-3)
   9074 typedef enum SPGRAMMARWORDTYPE {
   9075     SPWT_DISPLAY = 0,
   9076     SPWT_LEXICAL = 1,
   9077     SPWT_PRONUNCIATION = 2,
   9078     SPWT_LEXICAL_NO_SPECIAL_CHARS = 3
   9079 } SPGRAMMARWORDTYPE;
   9080 typedef struct tagSPPROPERTYINFO {
   9081     LPCWSTR pszName;
   9082     ULONG ulId;
   9083     LPCWSTR pszValue;
   9084     VARIANT vValue;
   9085 } SPPROPERTYINFO;
   9086 typedef enum SPCFGRULEATTRIBUTES {
   9087     SPRAF_TopLevel = 0x1,
   9088     SPRAF_Active = 0x2,
   9089     SPRAF_Export = 0x4,
   9090     SPRAF_Import = 0x8,
   9091     SPRAF_Interpreter = 0x10,
   9092     SPRAF_Dynamic = 0x20,
   9093     SPRAF_Root = 0x40,
   9094     SPRAF_AutoPause = 0x10000,
   9095     SPRAF_UserDelimited = 0x20000
   9096 } SPCFGRULEATTRIBUTES;
   9097 /*****************************************************************************
   9098  * ISpGrammarBuilder interface
   9099  */
   9100 #ifndef __ISpGrammarBuilder_INTERFACE_DEFINED__
   9101 #define __ISpGrammarBuilder_INTERFACE_DEFINED__
   9102 
   9103 DEFINE_GUID(IID_ISpGrammarBuilder, 0x8137828f, 0x591a, 0x4a42, 0xbe,0x58, 0x49,0xea,0x7e,0xba,0xac,0x68);
   9104 #if defined(__cplusplus) && !defined(CINTERFACE)
   9105 MIDL_INTERFACE("8137828f-591a-4a42-be58-49ea7ebaac68")
   9106 ISpGrammarBuilder : public IUnknown
   9107 {
   9108     virtual HRESULT STDMETHODCALLTYPE ResetGrammar(
   9109         WORD NewLanguage) = 0;
   9110 
   9111     virtual HRESULT STDMETHODCALLTYPE GetRule(
   9112         LPCWSTR pszRuleName,
   9113         DWORD dwRuleId,
   9114         DWORD dwAttributes,
   9115         WINBOOL fCreateIfNotExist,
   9116         SPSTATEHANDLE *phInitialState) = 0;
   9117 
   9118     virtual HRESULT STDMETHODCALLTYPE ClearRule(
   9119         SPSTATEHANDLE hState) = 0;
   9120 
   9121     virtual HRESULT STDMETHODCALLTYPE CreateNewState(
   9122         SPSTATEHANDLE hState,
   9123         SPSTATEHANDLE *phState) = 0;
   9124 
   9125     virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
   9126         SPSTATEHANDLE hFromState,
   9127         SPSTATEHANDLE hToState,
   9128         LPCWSTR psz,
   9129         LPCWSTR pszSeparators,
   9130         SPGRAMMARWORDTYPE eWordType,
   9131         float Weight,
   9132         const SPPROPERTYINFO *pPropInfo) = 0;
   9133 
   9134     virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
   9135         SPSTATEHANDLE hFromState,
   9136         SPSTATEHANDLE hToState,
   9137         SPSTATEHANDLE hRule,
   9138         float Weight,
   9139         const SPPROPERTYINFO *pPropInfo) = 0;
   9140 
   9141     virtual HRESULT STDMETHODCALLTYPE AddResource(
   9142         SPSTATEHANDLE hRuleState,
   9143         LPCWSTR pszResourceName,
   9144         LPCWSTR pszResourceValue) = 0;
   9145 
   9146     virtual HRESULT STDMETHODCALLTYPE Commit(
   9147         DWORD dwReserved) = 0;
   9148 
   9149 };
   9150 #ifdef __CRT_UUID_DECL
   9151 __CRT_UUID_DECL(ISpGrammarBuilder, 0x8137828f, 0x591a, 0x4a42, 0xbe,0x58, 0x49,0xea,0x7e,0xba,0xac,0x68)
   9152 #endif
   9153 #else
   9154 typedef struct ISpGrammarBuilderVtbl {
   9155     BEGIN_INTERFACE
   9156 
   9157     /*** IUnknown methods ***/
   9158     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9159         ISpGrammarBuilder* This,
   9160         REFIID riid,
   9161         void **ppvObject);
   9162 
   9163     ULONG (STDMETHODCALLTYPE *AddRef)(
   9164         ISpGrammarBuilder* This);
   9165 
   9166     ULONG (STDMETHODCALLTYPE *Release)(
   9167         ISpGrammarBuilder* This);
   9168 
   9169     /*** ISpGrammarBuilder methods ***/
   9170     HRESULT (STDMETHODCALLTYPE *ResetGrammar)(
   9171         ISpGrammarBuilder* This,
   9172         WORD NewLanguage);
   9173 
   9174     HRESULT (STDMETHODCALLTYPE *GetRule)(
   9175         ISpGrammarBuilder* This,
   9176         LPCWSTR pszRuleName,
   9177         DWORD dwRuleId,
   9178         DWORD dwAttributes,
   9179         WINBOOL fCreateIfNotExist,
   9180         SPSTATEHANDLE *phInitialState);
   9181 
   9182     HRESULT (STDMETHODCALLTYPE *ClearRule)(
   9183         ISpGrammarBuilder* This,
   9184         SPSTATEHANDLE hState);
   9185 
   9186     HRESULT (STDMETHODCALLTYPE *CreateNewState)(
   9187         ISpGrammarBuilder* This,
   9188         SPSTATEHANDLE hState,
   9189         SPSTATEHANDLE *phState);
   9190 
   9191     HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
   9192         ISpGrammarBuilder* This,
   9193         SPSTATEHANDLE hFromState,
   9194         SPSTATEHANDLE hToState,
   9195         LPCWSTR psz,
   9196         LPCWSTR pszSeparators,
   9197         SPGRAMMARWORDTYPE eWordType,
   9198         float Weight,
   9199         const SPPROPERTYINFO *pPropInfo);
   9200 
   9201     HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
   9202         ISpGrammarBuilder* This,
   9203         SPSTATEHANDLE hFromState,
   9204         SPSTATEHANDLE hToState,
   9205         SPSTATEHANDLE hRule,
   9206         float Weight,
   9207         const SPPROPERTYINFO *pPropInfo);
   9208 
   9209     HRESULT (STDMETHODCALLTYPE *AddResource)(
   9210         ISpGrammarBuilder* This,
   9211         SPSTATEHANDLE hRuleState,
   9212         LPCWSTR pszResourceName,
   9213         LPCWSTR pszResourceValue);
   9214 
   9215     HRESULT (STDMETHODCALLTYPE *Commit)(
   9216         ISpGrammarBuilder* This,
   9217         DWORD dwReserved);
   9218 
   9219     END_INTERFACE
   9220 } ISpGrammarBuilderVtbl;
   9221 interface ISpGrammarBuilder {
   9222     CONST_VTBL ISpGrammarBuilderVtbl* lpVtbl;
   9223 };
   9224 
   9225 #ifdef COBJMACROS
   9226 #ifndef WIDL_C_INLINE_WRAPPERS
   9227 /*** IUnknown methods ***/
   9228 #define ISpGrammarBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9229 #define ISpGrammarBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   9230 #define ISpGrammarBuilder_Release(This) (This)->lpVtbl->Release(This)
   9231 /*** ISpGrammarBuilder methods ***/
   9232 #define ISpGrammarBuilder_ResetGrammar(This,NewLanguage) (This)->lpVtbl->ResetGrammar(This,NewLanguage)
   9233 #define ISpGrammarBuilder_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) (This)->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
   9234 #define ISpGrammarBuilder_ClearRule(This,hState) (This)->lpVtbl->ClearRule(This,hState)
   9235 #define ISpGrammarBuilder_CreateNewState(This,hState,phState) (This)->lpVtbl->CreateNewState(This,hState,phState)
   9236 #define ISpGrammarBuilder_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo) (This)->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
   9237 #define ISpGrammarBuilder_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) (This)->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
   9238 #define ISpGrammarBuilder_AddResource(This,hRuleState,pszResourceName,pszResourceValue) (This)->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue)
   9239 #define ISpGrammarBuilder_Commit(This,dwReserved) (This)->lpVtbl->Commit(This,dwReserved)
   9240 #else
   9241 /*** IUnknown methods ***/
   9242 static FORCEINLINE HRESULT ISpGrammarBuilder_QueryInterface(ISpGrammarBuilder* This,REFIID riid,void **ppvObject) {
   9243     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9244 }
   9245 static FORCEINLINE ULONG ISpGrammarBuilder_AddRef(ISpGrammarBuilder* This) {
   9246     return This->lpVtbl->AddRef(This);
   9247 }
   9248 static FORCEINLINE ULONG ISpGrammarBuilder_Release(ISpGrammarBuilder* This) {
   9249     return This->lpVtbl->Release(This);
   9250 }
   9251 /*** ISpGrammarBuilder methods ***/
   9252 static FORCEINLINE HRESULT ISpGrammarBuilder_ResetGrammar(ISpGrammarBuilder* This,WORD NewLanguage) {
   9253     return This->lpVtbl->ResetGrammar(This,NewLanguage);
   9254 }
   9255 static FORCEINLINE HRESULT ISpGrammarBuilder_GetRule(ISpGrammarBuilder* This,LPCWSTR pszRuleName,DWORD dwRuleId,DWORD dwAttributes,WINBOOL fCreateIfNotExist,SPSTATEHANDLE *phInitialState) {
   9256     return This->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState);
   9257 }
   9258 static FORCEINLINE HRESULT ISpGrammarBuilder_ClearRule(ISpGrammarBuilder* This,SPSTATEHANDLE hState) {
   9259     return This->lpVtbl->ClearRule(This,hState);
   9260 }
   9261 static FORCEINLINE HRESULT ISpGrammarBuilder_CreateNewState(ISpGrammarBuilder* This,SPSTATEHANDLE hState,SPSTATEHANDLE *phState) {
   9262     return This->lpVtbl->CreateNewState(This,hState,phState);
   9263 }
   9264 static FORCEINLINE HRESULT ISpGrammarBuilder_AddWordTransition(ISpGrammarBuilder* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,LPCWSTR pszSeparators,SPGRAMMARWORDTYPE eWordType,float Weight,const SPPROPERTYINFO *pPropInfo) {
   9265     return This->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo);
   9266 }
   9267 static FORCEINLINE HRESULT ISpGrammarBuilder_AddRuleTransition(ISpGrammarBuilder* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,SPSTATEHANDLE hRule,float Weight,const SPPROPERTYINFO *pPropInfo) {
   9268     return This->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo);
   9269 }
   9270 static FORCEINLINE HRESULT ISpGrammarBuilder_AddResource(ISpGrammarBuilder* This,SPSTATEHANDLE hRuleState,LPCWSTR pszResourceName,LPCWSTR pszResourceValue) {
   9271     return This->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue);
   9272 }
   9273 static FORCEINLINE HRESULT ISpGrammarBuilder_Commit(ISpGrammarBuilder* This,DWORD dwReserved) {
   9274     return This->lpVtbl->Commit(This,dwReserved);
   9275 }
   9276 #endif
   9277 #endif
   9278 
   9279 #endif
   9280 
   9281 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_ResetGrammar_Proxy(
   9282     ISpGrammarBuilder* This,
   9283     WORD NewLanguage);
   9284 void __RPC_STUB ISpGrammarBuilder_ResetGrammar_Stub(
   9285     IRpcStubBuffer* This,
   9286     IRpcChannelBuffer* pRpcChannelBuffer,
   9287     PRPC_MESSAGE pRpcMessage,
   9288     DWORD* pdwStubPhase);
   9289 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_GetRule_Proxy(
   9290     ISpGrammarBuilder* This,
   9291     LPCWSTR pszRuleName,
   9292     DWORD dwRuleId,
   9293     DWORD dwAttributes,
   9294     WINBOOL fCreateIfNotExist,
   9295     SPSTATEHANDLE *phInitialState);
   9296 void __RPC_STUB ISpGrammarBuilder_GetRule_Stub(
   9297     IRpcStubBuffer* This,
   9298     IRpcChannelBuffer* pRpcChannelBuffer,
   9299     PRPC_MESSAGE pRpcMessage,
   9300     DWORD* pdwStubPhase);
   9301 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_ClearRule_Proxy(
   9302     ISpGrammarBuilder* This,
   9303     SPSTATEHANDLE hState);
   9304 void __RPC_STUB ISpGrammarBuilder_ClearRule_Stub(
   9305     IRpcStubBuffer* This,
   9306     IRpcChannelBuffer* pRpcChannelBuffer,
   9307     PRPC_MESSAGE pRpcMessage,
   9308     DWORD* pdwStubPhase);
   9309 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_CreateNewState_Proxy(
   9310     ISpGrammarBuilder* This,
   9311     SPSTATEHANDLE hState,
   9312     SPSTATEHANDLE *phState);
   9313 void __RPC_STUB ISpGrammarBuilder_CreateNewState_Stub(
   9314     IRpcStubBuffer* This,
   9315     IRpcChannelBuffer* pRpcChannelBuffer,
   9316     PRPC_MESSAGE pRpcMessage,
   9317     DWORD* pdwStubPhase);
   9318 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddWordTransition_Proxy(
   9319     ISpGrammarBuilder* This,
   9320     SPSTATEHANDLE hFromState,
   9321     SPSTATEHANDLE hToState,
   9322     LPCWSTR psz,
   9323     LPCWSTR pszSeparators,
   9324     SPGRAMMARWORDTYPE eWordType,
   9325     float Weight,
   9326     const SPPROPERTYINFO *pPropInfo);
   9327 void __RPC_STUB ISpGrammarBuilder_AddWordTransition_Stub(
   9328     IRpcStubBuffer* This,
   9329     IRpcChannelBuffer* pRpcChannelBuffer,
   9330     PRPC_MESSAGE pRpcMessage,
   9331     DWORD* pdwStubPhase);
   9332 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddRuleTransition_Proxy(
   9333     ISpGrammarBuilder* This,
   9334     SPSTATEHANDLE hFromState,
   9335     SPSTATEHANDLE hToState,
   9336     SPSTATEHANDLE hRule,
   9337     float Weight,
   9338     const SPPROPERTYINFO *pPropInfo);
   9339 void __RPC_STUB ISpGrammarBuilder_AddRuleTransition_Stub(
   9340     IRpcStubBuffer* This,
   9341     IRpcChannelBuffer* pRpcChannelBuffer,
   9342     PRPC_MESSAGE pRpcMessage,
   9343     DWORD* pdwStubPhase);
   9344 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddResource_Proxy(
   9345     ISpGrammarBuilder* This,
   9346     SPSTATEHANDLE hRuleState,
   9347     LPCWSTR pszResourceName,
   9348     LPCWSTR pszResourceValue);
   9349 void __RPC_STUB ISpGrammarBuilder_AddResource_Stub(
   9350     IRpcStubBuffer* This,
   9351     IRpcChannelBuffer* pRpcChannelBuffer,
   9352     PRPC_MESSAGE pRpcMessage,
   9353     DWORD* pdwStubPhase);
   9354 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_Commit_Proxy(
   9355     ISpGrammarBuilder* This,
   9356     DWORD dwReserved);
   9357 void __RPC_STUB ISpGrammarBuilder_Commit_Stub(
   9358     IRpcStubBuffer* This,
   9359     IRpcChannelBuffer* pRpcChannelBuffer,
   9360     PRPC_MESSAGE pRpcMessage,
   9361     DWORD* pdwStubPhase);
   9362 
   9363 #endif  /* __ISpGrammarBuilder_INTERFACE_DEFINED__ */
   9364 
   9365 typedef enum SPLOADOPTIONS {
   9366     SPLO_STATIC = 0,
   9367     SPLO_DYNAMIC = 1
   9368 } SPLOADOPTIONS;
   9369 /*****************************************************************************
   9370  * ISpRecoGrammar interface
   9371  */
   9372 #ifndef __ISpRecoGrammar_INTERFACE_DEFINED__
   9373 #define __ISpRecoGrammar_INTERFACE_DEFINED__
   9374 
   9375 DEFINE_GUID(IID_ISpRecoGrammar, 0x2177db29, 0x7f45, 0x47d0, 0x85,0x54, 0x06,0x7e,0x91,0xc8,0x05,0x02);
   9376 #if defined(__cplusplus) && !defined(CINTERFACE)
   9377 MIDL_INTERFACE("2177db29-7f45-47d0-8554-067e91c80502")
   9378 ISpRecoGrammar : public ISpGrammarBuilder
   9379 {
   9380     virtual HRESULT STDMETHODCALLTYPE GetGrammarId(
   9381         ULONGLONG *pullGrammarId) = 0;
   9382 
   9383     virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
   9384         ISpRecoContext **ppRecoCtxt) = 0;
   9385 
   9386     virtual HRESULT STDMETHODCALLTYPE LoadCmdFromFile(
   9387         LPCWSTR pszFileName,
   9388         SPLOADOPTIONS Options) = 0;
   9389 
   9390     virtual HRESULT STDMETHODCALLTYPE LoadCmdFromObject(
   9391         REFCLSID rcid,
   9392         LPCWSTR pszGrammarName,
   9393         SPLOADOPTIONS Options) = 0;
   9394 
   9395     virtual HRESULT STDMETHODCALLTYPE LoadCmdFromResource(
   9396         HMODULE hModule,
   9397         LPCWSTR pszResourceName,
   9398         LPCWSTR pszResourceType,
   9399         WORD wLanguage,
   9400         SPLOADOPTIONS Options) = 0;
   9401 
   9402     virtual HRESULT STDMETHODCALLTYPE LoadCmdFromMemory(
   9403         const SPBINARYGRAMMAR *pGrammar,
   9404         SPLOADOPTIONS Options) = 0;
   9405 
   9406     virtual HRESULT STDMETHODCALLTYPE LoadCmdFromProprietaryGrammar(
   9407         REFGUID rguidParam,
   9408         LPCWSTR pszStringParam,
   9409         const void *pvDataPrarm,
   9410         ULONG cbDataSize,
   9411         SPLOADOPTIONS Options) = 0;
   9412 
   9413     virtual HRESULT STDMETHODCALLTYPE SetRuleState(
   9414         LPCWSTR pszName,
   9415         void *pReserved,
   9416         SPRULESTATE NewState) = 0;
   9417 
   9418     virtual HRESULT STDMETHODCALLTYPE SetRuleIdState(
   9419         ULONG ulRuleId,
   9420         SPRULESTATE NewState) = 0;
   9421 
   9422     virtual HRESULT STDMETHODCALLTYPE LoadDictation(
   9423         LPCWSTR pszTopicName,
   9424         SPLOADOPTIONS Options) = 0;
   9425 
   9426     virtual HRESULT STDMETHODCALLTYPE UnloadDictation(
   9427         ) = 0;
   9428 
   9429     virtual HRESULT STDMETHODCALLTYPE SetDictationState(
   9430         SPRULESTATE NewState) = 0;
   9431 
   9432     virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
   9433         const WCHAR *pText,
   9434         ULONG cchText,
   9435         const SPTEXTSELECTIONINFO *pInfo) = 0;
   9436 
   9437     virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
   9438         const SPTEXTSELECTIONINFO *pInfo) = 0;
   9439 
   9440     virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
   9441         LPCWSTR pszWord,
   9442         SPWORDPRONOUNCEABLE *pWordPronounceable) = 0;
   9443 
   9444     virtual HRESULT STDMETHODCALLTYPE SetGrammarState(
   9445         SPGRAMMARSTATE eGrammarState) = 0;
   9446 
   9447     virtual HRESULT STDMETHODCALLTYPE SaveCmd(
   9448         IStream *pStream,
   9449         LPWSTR *ppszCoMemErrorText) = 0;
   9450 
   9451     virtual HRESULT STDMETHODCALLTYPE GetGrammarState(
   9452         SPGRAMMARSTATE *peGrammarState) = 0;
   9453 
   9454 };
   9455 #ifdef __CRT_UUID_DECL
   9456 __CRT_UUID_DECL(ISpRecoGrammar, 0x2177db29, 0x7f45, 0x47d0, 0x85,0x54, 0x06,0x7e,0x91,0xc8,0x05,0x02)
   9457 #endif
   9458 #else
   9459 typedef struct ISpRecoGrammarVtbl {
   9460     BEGIN_INTERFACE
   9461 
   9462     /*** IUnknown methods ***/
   9463     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9464         ISpRecoGrammar* This,
   9465         REFIID riid,
   9466         void **ppvObject);
   9467 
   9468     ULONG (STDMETHODCALLTYPE *AddRef)(
   9469         ISpRecoGrammar* This);
   9470 
   9471     ULONG (STDMETHODCALLTYPE *Release)(
   9472         ISpRecoGrammar* This);
   9473 
   9474     /*** ISpGrammarBuilder methods ***/
   9475     HRESULT (STDMETHODCALLTYPE *ResetGrammar)(
   9476         ISpRecoGrammar* This,
   9477         WORD NewLanguage);
   9478 
   9479     HRESULT (STDMETHODCALLTYPE *GetRule)(
   9480         ISpRecoGrammar* This,
   9481         LPCWSTR pszRuleName,
   9482         DWORD dwRuleId,
   9483         DWORD dwAttributes,
   9484         WINBOOL fCreateIfNotExist,
   9485         SPSTATEHANDLE *phInitialState);
   9486 
   9487     HRESULT (STDMETHODCALLTYPE *ClearRule)(
   9488         ISpRecoGrammar* This,
   9489         SPSTATEHANDLE hState);
   9490 
   9491     HRESULT (STDMETHODCALLTYPE *CreateNewState)(
   9492         ISpRecoGrammar* This,
   9493         SPSTATEHANDLE hState,
   9494         SPSTATEHANDLE *phState);
   9495 
   9496     HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
   9497         ISpRecoGrammar* This,
   9498         SPSTATEHANDLE hFromState,
   9499         SPSTATEHANDLE hToState,
   9500         LPCWSTR psz,
   9501         LPCWSTR pszSeparators,
   9502         SPGRAMMARWORDTYPE eWordType,
   9503         float Weight,
   9504         const SPPROPERTYINFO *pPropInfo);
   9505 
   9506     HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
   9507         ISpRecoGrammar* This,
   9508         SPSTATEHANDLE hFromState,
   9509         SPSTATEHANDLE hToState,
   9510         SPSTATEHANDLE hRule,
   9511         float Weight,
   9512         const SPPROPERTYINFO *pPropInfo);
   9513 
   9514     HRESULT (STDMETHODCALLTYPE *AddResource)(
   9515         ISpRecoGrammar* This,
   9516         SPSTATEHANDLE hRuleState,
   9517         LPCWSTR pszResourceName,
   9518         LPCWSTR pszResourceValue);
   9519 
   9520     HRESULT (STDMETHODCALLTYPE *Commit)(
   9521         ISpRecoGrammar* This,
   9522         DWORD dwReserved);
   9523 
   9524     /*** ISpRecoGrammar methods ***/
   9525     HRESULT (STDMETHODCALLTYPE *GetGrammarId)(
   9526         ISpRecoGrammar* This,
   9527         ULONGLONG *pullGrammarId);
   9528 
   9529     HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
   9530         ISpRecoGrammar* This,
   9531         ISpRecoContext **ppRecoCtxt);
   9532 
   9533     HRESULT (STDMETHODCALLTYPE *LoadCmdFromFile)(
   9534         ISpRecoGrammar* This,
   9535         LPCWSTR pszFileName,
   9536         SPLOADOPTIONS Options);
   9537 
   9538     HRESULT (STDMETHODCALLTYPE *LoadCmdFromObject)(
   9539         ISpRecoGrammar* This,
   9540         REFCLSID rcid,
   9541         LPCWSTR pszGrammarName,
   9542         SPLOADOPTIONS Options);
   9543 
   9544     HRESULT (STDMETHODCALLTYPE *LoadCmdFromResource)(
   9545         ISpRecoGrammar* This,
   9546         HMODULE hModule,
   9547         LPCWSTR pszResourceName,
   9548         LPCWSTR pszResourceType,
   9549         WORD wLanguage,
   9550         SPLOADOPTIONS Options);
   9551 
   9552     HRESULT (STDMETHODCALLTYPE *LoadCmdFromMemory)(
   9553         ISpRecoGrammar* This,
   9554         const SPBINARYGRAMMAR *pGrammar,
   9555         SPLOADOPTIONS Options);
   9556 
   9557     HRESULT (STDMETHODCALLTYPE *LoadCmdFromProprietaryGrammar)(
   9558         ISpRecoGrammar* This,
   9559         REFGUID rguidParam,
   9560         LPCWSTR pszStringParam,
   9561         const void *pvDataPrarm,
   9562         ULONG cbDataSize,
   9563         SPLOADOPTIONS Options);
   9564 
   9565     HRESULT (STDMETHODCALLTYPE *SetRuleState)(
   9566         ISpRecoGrammar* This,
   9567         LPCWSTR pszName,
   9568         void *pReserved,
   9569         SPRULESTATE NewState);
   9570 
   9571     HRESULT (STDMETHODCALLTYPE *SetRuleIdState)(
   9572         ISpRecoGrammar* This,
   9573         ULONG ulRuleId,
   9574         SPRULESTATE NewState);
   9575 
   9576     HRESULT (STDMETHODCALLTYPE *LoadDictation)(
   9577         ISpRecoGrammar* This,
   9578         LPCWSTR pszTopicName,
   9579         SPLOADOPTIONS Options);
   9580 
   9581     HRESULT (STDMETHODCALLTYPE *UnloadDictation)(
   9582         ISpRecoGrammar* This);
   9583 
   9584     HRESULT (STDMETHODCALLTYPE *SetDictationState)(
   9585         ISpRecoGrammar* This,
   9586         SPRULESTATE NewState);
   9587 
   9588     HRESULT (STDMETHODCALLTYPE *SetWordSequenceData)(
   9589         ISpRecoGrammar* This,
   9590         const WCHAR *pText,
   9591         ULONG cchText,
   9592         const SPTEXTSELECTIONINFO *pInfo);
   9593 
   9594     HRESULT (STDMETHODCALLTYPE *SetTextSelection)(
   9595         ISpRecoGrammar* This,
   9596         const SPTEXTSELECTIONINFO *pInfo);
   9597 
   9598     HRESULT (STDMETHODCALLTYPE *IsPronounceable)(
   9599         ISpRecoGrammar* This,
   9600         LPCWSTR pszWord,
   9601         SPWORDPRONOUNCEABLE *pWordPronounceable);
   9602 
   9603     HRESULT (STDMETHODCALLTYPE *SetGrammarState)(
   9604         ISpRecoGrammar* This,
   9605         SPGRAMMARSTATE eGrammarState);
   9606 
   9607     HRESULT (STDMETHODCALLTYPE *SaveCmd)(
   9608         ISpRecoGrammar* This,
   9609         IStream *pStream,
   9610         LPWSTR *ppszCoMemErrorText);
   9611 
   9612     HRESULT (STDMETHODCALLTYPE *GetGrammarState)(
   9613         ISpRecoGrammar* This,
   9614         SPGRAMMARSTATE *peGrammarState);
   9615 
   9616     END_INTERFACE
   9617 } ISpRecoGrammarVtbl;
   9618 interface ISpRecoGrammar {
   9619     CONST_VTBL ISpRecoGrammarVtbl* lpVtbl;
   9620 };
   9621 
   9622 #ifdef COBJMACROS
   9623 #ifndef WIDL_C_INLINE_WRAPPERS
   9624 /*** IUnknown methods ***/
   9625 #define ISpRecoGrammar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9626 #define ISpRecoGrammar_AddRef(This) (This)->lpVtbl->AddRef(This)
   9627 #define ISpRecoGrammar_Release(This) (This)->lpVtbl->Release(This)
   9628 /*** ISpGrammarBuilder methods ***/
   9629 #define ISpRecoGrammar_ResetGrammar(This,NewLanguage) (This)->lpVtbl->ResetGrammar(This,NewLanguage)
   9630 #define ISpRecoGrammar_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) (This)->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
   9631 #define ISpRecoGrammar_ClearRule(This,hState) (This)->lpVtbl->ClearRule(This,hState)
   9632 #define ISpRecoGrammar_CreateNewState(This,hState,phState) (This)->lpVtbl->CreateNewState(This,hState,phState)
   9633 #define ISpRecoGrammar_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo) (This)->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
   9634 #define ISpRecoGrammar_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) (This)->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
   9635 #define ISpRecoGrammar_AddResource(This,hRuleState,pszResourceName,pszResourceValue) (This)->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue)
   9636 #define ISpRecoGrammar_Commit(This,dwReserved) (This)->lpVtbl->Commit(This,dwReserved)
   9637 /*** ISpRecoGrammar methods ***/
   9638 #define ISpRecoGrammar_GetGrammarId(This,pullGrammarId) (This)->lpVtbl->GetGrammarId(This,pullGrammarId)
   9639 #define ISpRecoGrammar_GetRecoContext(This,ppRecoCtxt) (This)->lpVtbl->GetRecoContext(This,ppRecoCtxt)
   9640 #define ISpRecoGrammar_LoadCmdFromFile(This,pszFileName,Options) (This)->lpVtbl->LoadCmdFromFile(This,pszFileName,Options)
   9641 #define ISpRecoGrammar_LoadCmdFromObject(This,rcid,pszGrammarName,Options) (This)->lpVtbl->LoadCmdFromObject(This,rcid,pszGrammarName,Options)
   9642 #define ISpRecoGrammar_LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options) (This)->lpVtbl->LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options)
   9643 #define ISpRecoGrammar_LoadCmdFromMemory(This,pGrammar,Options) (This)->lpVtbl->LoadCmdFromMemory(This,pGrammar,Options)
   9644 #define ISpRecoGrammar_LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options) (This)->lpVtbl->LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options)
   9645 #define ISpRecoGrammar_SetRuleState(This,pszName,pReserved,NewState) (This)->lpVtbl->SetRuleState(This,pszName,pReserved,NewState)
   9646 #define ISpRecoGrammar_SetRuleIdState(This,ulRuleId,NewState) (This)->lpVtbl->SetRuleIdState(This,ulRuleId,NewState)
   9647 #define ISpRecoGrammar_LoadDictation(This,pszTopicName,Options) (This)->lpVtbl->LoadDictation(This,pszTopicName,Options)
   9648 #define ISpRecoGrammar_UnloadDictation(This) (This)->lpVtbl->UnloadDictation(This)
   9649 #define ISpRecoGrammar_SetDictationState(This,NewState) (This)->lpVtbl->SetDictationState(This,NewState)
   9650 #define ISpRecoGrammar_SetWordSequenceData(This,pText,cchText,pInfo) (This)->lpVtbl->SetWordSequenceData(This,pText,cchText,pInfo)
   9651 #define ISpRecoGrammar_SetTextSelection(This,pInfo) (This)->lpVtbl->SetTextSelection(This,pInfo)
   9652 #define ISpRecoGrammar_IsPronounceable(This,pszWord,pWordPronounceable) (This)->lpVtbl->IsPronounceable(This,pszWord,pWordPronounceable)
   9653 #define ISpRecoGrammar_SetGrammarState(This,eGrammarState) (This)->lpVtbl->SetGrammarState(This,eGrammarState)
   9654 #define ISpRecoGrammar_SaveCmd(This,pStream,ppszCoMemErrorText) (This)->lpVtbl->SaveCmd(This,pStream,ppszCoMemErrorText)
   9655 #define ISpRecoGrammar_GetGrammarState(This,peGrammarState) (This)->lpVtbl->GetGrammarState(This,peGrammarState)
   9656 #else
   9657 /*** IUnknown methods ***/
   9658 static FORCEINLINE HRESULT ISpRecoGrammar_QueryInterface(ISpRecoGrammar* This,REFIID riid,void **ppvObject) {
   9659     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   9660 }
   9661 static FORCEINLINE ULONG ISpRecoGrammar_AddRef(ISpRecoGrammar* This) {
   9662     return This->lpVtbl->AddRef(This);
   9663 }
   9664 static FORCEINLINE ULONG ISpRecoGrammar_Release(ISpRecoGrammar* This) {
   9665     return This->lpVtbl->Release(This);
   9666 }
   9667 /*** ISpGrammarBuilder methods ***/
   9668 static FORCEINLINE HRESULT ISpRecoGrammar_ResetGrammar(ISpRecoGrammar* This,WORD NewLanguage) {
   9669     return This->lpVtbl->ResetGrammar(This,NewLanguage);
   9670 }
   9671 static FORCEINLINE HRESULT ISpRecoGrammar_GetRule(ISpRecoGrammar* This,LPCWSTR pszRuleName,DWORD dwRuleId,DWORD dwAttributes,WINBOOL fCreateIfNotExist,SPSTATEHANDLE *phInitialState) {
   9672     return This->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState);
   9673 }
   9674 static FORCEINLINE HRESULT ISpRecoGrammar_ClearRule(ISpRecoGrammar* This,SPSTATEHANDLE hState) {
   9675     return This->lpVtbl->ClearRule(This,hState);
   9676 }
   9677 static FORCEINLINE HRESULT ISpRecoGrammar_CreateNewState(ISpRecoGrammar* This,SPSTATEHANDLE hState,SPSTATEHANDLE *phState) {
   9678     return This->lpVtbl->CreateNewState(This,hState,phState);
   9679 }
   9680 static FORCEINLINE HRESULT ISpRecoGrammar_AddWordTransition(ISpRecoGrammar* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,LPCWSTR pszSeparators,SPGRAMMARWORDTYPE eWordType,float Weight,const SPPROPERTYINFO *pPropInfo) {
   9681     return This->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo);
   9682 }
   9683 static FORCEINLINE HRESULT ISpRecoGrammar_AddRuleTransition(ISpRecoGrammar* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,SPSTATEHANDLE hRule,float Weight,const SPPROPERTYINFO *pPropInfo) {
   9684     return This->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo);
   9685 }
   9686 static FORCEINLINE HRESULT ISpRecoGrammar_AddResource(ISpRecoGrammar* This,SPSTATEHANDLE hRuleState,LPCWSTR pszResourceName,LPCWSTR pszResourceValue) {
   9687     return This->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue);
   9688 }
   9689 static FORCEINLINE HRESULT ISpRecoGrammar_Commit(ISpRecoGrammar* This,DWORD dwReserved) {
   9690     return This->lpVtbl->Commit(This,dwReserved);
   9691 }
   9692 /*** ISpRecoGrammar methods ***/
   9693 static FORCEINLINE HRESULT ISpRecoGrammar_GetGrammarId(ISpRecoGrammar* This,ULONGLONG *pullGrammarId) {
   9694     return This->lpVtbl->GetGrammarId(This,pullGrammarId);
   9695 }
   9696 static FORCEINLINE HRESULT ISpRecoGrammar_GetRecoContext(ISpRecoGrammar* This,ISpRecoContext **ppRecoCtxt) {
   9697     return This->lpVtbl->GetRecoContext(This,ppRecoCtxt);
   9698 }
   9699 static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromFile(ISpRecoGrammar* This,LPCWSTR pszFileName,SPLOADOPTIONS Options) {
   9700     return This->lpVtbl->LoadCmdFromFile(This,pszFileName,Options);
   9701 }
   9702 static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromObject(ISpRecoGrammar* This,REFCLSID rcid,LPCWSTR pszGrammarName,SPLOADOPTIONS Options) {
   9703     return This->lpVtbl->LoadCmdFromObject(This,rcid,pszGrammarName,Options);
   9704 }
   9705 static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromResource(ISpRecoGrammar* This,HMODULE hModule,LPCWSTR pszResourceName,LPCWSTR pszResourceType,WORD wLanguage,SPLOADOPTIONS Options) {
   9706     return This->lpVtbl->LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options);
   9707 }
   9708 static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromMemory(ISpRecoGrammar* This,const SPBINARYGRAMMAR *pGrammar,SPLOADOPTIONS Options) {
   9709     return This->lpVtbl->LoadCmdFromMemory(This,pGrammar,Options);
   9710 }
   9711 static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromProprietaryGrammar(ISpRecoGrammar* This,REFGUID rguidParam,LPCWSTR pszStringParam,const void *pvDataPrarm,ULONG cbDataSize,SPLOADOPTIONS Options) {
   9712     return This->lpVtbl->LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options);
   9713 }
   9714 static FORCEINLINE HRESULT ISpRecoGrammar_SetRuleState(ISpRecoGrammar* This,LPCWSTR pszName,void *pReserved,SPRULESTATE NewState) {
   9715     return This->lpVtbl->SetRuleState(This,pszName,pReserved,NewState);
   9716 }
   9717 static FORCEINLINE HRESULT ISpRecoGrammar_SetRuleIdState(ISpRecoGrammar* This,ULONG ulRuleId,SPRULESTATE NewState) {
   9718     return This->lpVtbl->SetRuleIdState(This,ulRuleId,NewState);
   9719 }
   9720 static FORCEINLINE HRESULT ISpRecoGrammar_LoadDictation(ISpRecoGrammar* This,LPCWSTR pszTopicName,SPLOADOPTIONS Options) {
   9721     return This->lpVtbl->LoadDictation(This,pszTopicName,Options);
   9722 }
   9723 static FORCEINLINE HRESULT ISpRecoGrammar_UnloadDictation(ISpRecoGrammar* This) {
   9724     return This->lpVtbl->UnloadDictation(This);
   9725 }
   9726 static FORCEINLINE HRESULT ISpRecoGrammar_SetDictationState(ISpRecoGrammar* This,SPRULESTATE NewState) {
   9727     return This->lpVtbl->SetDictationState(This,NewState);
   9728 }
   9729 static FORCEINLINE HRESULT ISpRecoGrammar_SetWordSequenceData(ISpRecoGrammar* This,const WCHAR *pText,ULONG cchText,const SPTEXTSELECTIONINFO *pInfo) {
   9730     return This->lpVtbl->SetWordSequenceData(This,pText,cchText,pInfo);
   9731 }
   9732 static FORCEINLINE HRESULT ISpRecoGrammar_SetTextSelection(ISpRecoGrammar* This,const SPTEXTSELECTIONINFO *pInfo) {
   9733     return This->lpVtbl->SetTextSelection(This,pInfo);
   9734 }
   9735 static FORCEINLINE HRESULT ISpRecoGrammar_IsPronounceable(ISpRecoGrammar* This,LPCWSTR pszWord,SPWORDPRONOUNCEABLE *pWordPronounceable) {
   9736     return This->lpVtbl->IsPronounceable(This,pszWord,pWordPronounceable);
   9737 }
   9738 static FORCEINLINE HRESULT ISpRecoGrammar_SetGrammarState(ISpRecoGrammar* This,SPGRAMMARSTATE eGrammarState) {
   9739     return This->lpVtbl->SetGrammarState(This,eGrammarState);
   9740 }
   9741 static FORCEINLINE HRESULT ISpRecoGrammar_SaveCmd(ISpRecoGrammar* This,IStream *pStream,LPWSTR *ppszCoMemErrorText) {
   9742     return This->lpVtbl->SaveCmd(This,pStream,ppszCoMemErrorText);
   9743 }
   9744 static FORCEINLINE HRESULT ISpRecoGrammar_GetGrammarState(ISpRecoGrammar* This,SPGRAMMARSTATE *peGrammarState) {
   9745     return This->lpVtbl->GetGrammarState(This,peGrammarState);
   9746 }
   9747 #endif
   9748 #endif
   9749 
   9750 #endif
   9751 
   9752 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetGrammarId_Proxy(
   9753     ISpRecoGrammar* This,
   9754     ULONGLONG *pullGrammarId);
   9755 void __RPC_STUB ISpRecoGrammar_GetGrammarId_Stub(
   9756     IRpcStubBuffer* This,
   9757     IRpcChannelBuffer* pRpcChannelBuffer,
   9758     PRPC_MESSAGE pRpcMessage,
   9759     DWORD* pdwStubPhase);
   9760 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetRecoContext_Proxy(
   9761     ISpRecoGrammar* This,
   9762     ISpRecoContext **ppRecoCtxt);
   9763 void __RPC_STUB ISpRecoGrammar_GetRecoContext_Stub(
   9764     IRpcStubBuffer* This,
   9765     IRpcChannelBuffer* pRpcChannelBuffer,
   9766     PRPC_MESSAGE pRpcMessage,
   9767     DWORD* pdwStubPhase);
   9768 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromFile_Proxy(
   9769     ISpRecoGrammar* This,
   9770     LPCWSTR pszFileName,
   9771     SPLOADOPTIONS Options);
   9772 void __RPC_STUB ISpRecoGrammar_LoadCmdFromFile_Stub(
   9773     IRpcStubBuffer* This,
   9774     IRpcChannelBuffer* pRpcChannelBuffer,
   9775     PRPC_MESSAGE pRpcMessage,
   9776     DWORD* pdwStubPhase);
   9777 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromObject_Proxy(
   9778     ISpRecoGrammar* This,
   9779     REFCLSID rcid,
   9780     LPCWSTR pszGrammarName,
   9781     SPLOADOPTIONS Options);
   9782 void __RPC_STUB ISpRecoGrammar_LoadCmdFromObject_Stub(
   9783     IRpcStubBuffer* This,
   9784     IRpcChannelBuffer* pRpcChannelBuffer,
   9785     PRPC_MESSAGE pRpcMessage,
   9786     DWORD* pdwStubPhase);
   9787 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromResource_Proxy(
   9788     ISpRecoGrammar* This,
   9789     HMODULE hModule,
   9790     LPCWSTR pszResourceName,
   9791     LPCWSTR pszResourceType,
   9792     WORD wLanguage,
   9793     SPLOADOPTIONS Options);
   9794 void __RPC_STUB ISpRecoGrammar_LoadCmdFromResource_Stub(
   9795     IRpcStubBuffer* This,
   9796     IRpcChannelBuffer* pRpcChannelBuffer,
   9797     PRPC_MESSAGE pRpcMessage,
   9798     DWORD* pdwStubPhase);
   9799 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromMemory_Proxy(
   9800     ISpRecoGrammar* This,
   9801     const SPBINARYGRAMMAR *pGrammar,
   9802     SPLOADOPTIONS Options);
   9803 void __RPC_STUB ISpRecoGrammar_LoadCmdFromMemory_Stub(
   9804     IRpcStubBuffer* This,
   9805     IRpcChannelBuffer* pRpcChannelBuffer,
   9806     PRPC_MESSAGE pRpcMessage,
   9807     DWORD* pdwStubPhase);
   9808 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromProprietaryGrammar_Proxy(
   9809     ISpRecoGrammar* This,
   9810     REFGUID rguidParam,
   9811     LPCWSTR pszStringParam,
   9812     const void *pvDataPrarm,
   9813     ULONG cbDataSize,
   9814     SPLOADOPTIONS Options);
   9815 void __RPC_STUB ISpRecoGrammar_LoadCmdFromProprietaryGrammar_Stub(
   9816     IRpcStubBuffer* This,
   9817     IRpcChannelBuffer* pRpcChannelBuffer,
   9818     PRPC_MESSAGE pRpcMessage,
   9819     DWORD* pdwStubPhase);
   9820 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetRuleState_Proxy(
   9821     ISpRecoGrammar* This,
   9822     LPCWSTR pszName,
   9823     void *pReserved,
   9824     SPRULESTATE NewState);
   9825 void __RPC_STUB ISpRecoGrammar_SetRuleState_Stub(
   9826     IRpcStubBuffer* This,
   9827     IRpcChannelBuffer* pRpcChannelBuffer,
   9828     PRPC_MESSAGE pRpcMessage,
   9829     DWORD* pdwStubPhase);
   9830 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetRuleIdState_Proxy(
   9831     ISpRecoGrammar* This,
   9832     ULONG ulRuleId,
   9833     SPRULESTATE NewState);
   9834 void __RPC_STUB ISpRecoGrammar_SetRuleIdState_Stub(
   9835     IRpcStubBuffer* This,
   9836     IRpcChannelBuffer* pRpcChannelBuffer,
   9837     PRPC_MESSAGE pRpcMessage,
   9838     DWORD* pdwStubPhase);
   9839 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadDictation_Proxy(
   9840     ISpRecoGrammar* This,
   9841     LPCWSTR pszTopicName,
   9842     SPLOADOPTIONS Options);
   9843 void __RPC_STUB ISpRecoGrammar_LoadDictation_Stub(
   9844     IRpcStubBuffer* This,
   9845     IRpcChannelBuffer* pRpcChannelBuffer,
   9846     PRPC_MESSAGE pRpcMessage,
   9847     DWORD* pdwStubPhase);
   9848 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_UnloadDictation_Proxy(
   9849     ISpRecoGrammar* This);
   9850 void __RPC_STUB ISpRecoGrammar_UnloadDictation_Stub(
   9851     IRpcStubBuffer* This,
   9852     IRpcChannelBuffer* pRpcChannelBuffer,
   9853     PRPC_MESSAGE pRpcMessage,
   9854     DWORD* pdwStubPhase);
   9855 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetDictationState_Proxy(
   9856     ISpRecoGrammar* This,
   9857     SPRULESTATE NewState);
   9858 void __RPC_STUB ISpRecoGrammar_SetDictationState_Stub(
   9859     IRpcStubBuffer* This,
   9860     IRpcChannelBuffer* pRpcChannelBuffer,
   9861     PRPC_MESSAGE pRpcMessage,
   9862     DWORD* pdwStubPhase);
   9863 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetWordSequenceData_Proxy(
   9864     ISpRecoGrammar* This,
   9865     const WCHAR *pText,
   9866     ULONG cchText,
   9867     const SPTEXTSELECTIONINFO *pInfo);
   9868 void __RPC_STUB ISpRecoGrammar_SetWordSequenceData_Stub(
   9869     IRpcStubBuffer* This,
   9870     IRpcChannelBuffer* pRpcChannelBuffer,
   9871     PRPC_MESSAGE pRpcMessage,
   9872     DWORD* pdwStubPhase);
   9873 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetTextSelection_Proxy(
   9874     ISpRecoGrammar* This,
   9875     const SPTEXTSELECTIONINFO *pInfo);
   9876 void __RPC_STUB ISpRecoGrammar_SetTextSelection_Stub(
   9877     IRpcStubBuffer* This,
   9878     IRpcChannelBuffer* pRpcChannelBuffer,
   9879     PRPC_MESSAGE pRpcMessage,
   9880     DWORD* pdwStubPhase);
   9881 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_IsPronounceable_Proxy(
   9882     ISpRecoGrammar* This,
   9883     LPCWSTR pszWord,
   9884     SPWORDPRONOUNCEABLE *pWordPronounceable);
   9885 void __RPC_STUB ISpRecoGrammar_IsPronounceable_Stub(
   9886     IRpcStubBuffer* This,
   9887     IRpcChannelBuffer* pRpcChannelBuffer,
   9888     PRPC_MESSAGE pRpcMessage,
   9889     DWORD* pdwStubPhase);
   9890 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetGrammarState_Proxy(
   9891     ISpRecoGrammar* This,
   9892     SPGRAMMARSTATE eGrammarState);
   9893 void __RPC_STUB ISpRecoGrammar_SetGrammarState_Stub(
   9894     IRpcStubBuffer* This,
   9895     IRpcChannelBuffer* pRpcChannelBuffer,
   9896     PRPC_MESSAGE pRpcMessage,
   9897     DWORD* pdwStubPhase);
   9898 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SaveCmd_Proxy(
   9899     ISpRecoGrammar* This,
   9900     IStream *pStream,
   9901     LPWSTR *ppszCoMemErrorText);
   9902 void __RPC_STUB ISpRecoGrammar_SaveCmd_Stub(
   9903     IRpcStubBuffer* This,
   9904     IRpcChannelBuffer* pRpcChannelBuffer,
   9905     PRPC_MESSAGE pRpcMessage,
   9906     DWORD* pdwStubPhase);
   9907 HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetGrammarState_Proxy(
   9908     ISpRecoGrammar* This,
   9909     SPGRAMMARSTATE *peGrammarState);
   9910 void __RPC_STUB ISpRecoGrammar_GetGrammarState_Stub(
   9911     IRpcStubBuffer* This,
   9912     IRpcChannelBuffer* pRpcChannelBuffer,
   9913     PRPC_MESSAGE pRpcMessage,
   9914     DWORD* pdwStubPhase);
   9915 
   9916 #endif  /* __ISpRecoGrammar_INTERFACE_DEFINED__ */
   9917 
   9918 typedef enum SPMATCHINGMODE {
   9919     AllWords = 0,
   9920     Subsequence = 1,
   9921     OrderedSubset = 3,
   9922     SubsequenceContentRequired = 5,
   9923     OrderedSubsetContentRequired = 7
   9924 } SPMATCHINGMODE;
   9925 typedef enum PHONETICALPHABET {
   9926     PA_Ipa = 0,
   9927     PA_Ups = 1,
   9928     PA_Sapi = 2
   9929 } PHONETICALPHABET;
   9930 /*****************************************************************************
   9931  * ISpGrammarBuilder2 interface
   9932  */
   9933 #ifndef __ISpGrammarBuilder2_INTERFACE_DEFINED__
   9934 #define __ISpGrammarBuilder2_INTERFACE_DEFINED__
   9935 
   9936 DEFINE_GUID(IID_ISpGrammarBuilder2, 0x8ab10026, 0x20cc, 0x4b20, 0x8c,0x22, 0xa4,0x9c,0x9b,0xa7,0x8f,0x60);
   9937 #if defined(__cplusplus) && !defined(CINTERFACE)
   9938 MIDL_INTERFACE("8ab10026-20cc-4b20-8c22-a49c9ba78f60")
   9939 ISpGrammarBuilder2 : public IUnknown
   9940 {
   9941     virtual HRESULT STDMETHODCALLTYPE AddTextSubset(
   9942         SPSTATEHANDLE hFromState,
   9943         SPSTATEHANDLE hToState,
   9944         LPCWSTR psz,
   9945         SPMATCHINGMODE eMatchMode) = 0;
   9946 
   9947     virtual HRESULT STDMETHODCALLTYPE SetPhoneticAlphabet(
   9948         PHONETICALPHABET phoneticALphabet) = 0;
   9949 
   9950 };
   9951 #ifdef __CRT_UUID_DECL
   9952 __CRT_UUID_DECL(ISpGrammarBuilder2, 0x8ab10026, 0x20cc, 0x4b20, 0x8c,0x22, 0xa4,0x9c,0x9b,0xa7,0x8f,0x60)
   9953 #endif
   9954 #else
   9955 typedef struct ISpGrammarBuilder2Vtbl {
   9956     BEGIN_INTERFACE
   9957 
   9958     /*** IUnknown methods ***/
   9959     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   9960         ISpGrammarBuilder2* This,
   9961         REFIID riid,
   9962         void **ppvObject);
   9963 
   9964     ULONG (STDMETHODCALLTYPE *AddRef)(
   9965         ISpGrammarBuilder2* This);
   9966 
   9967     ULONG (STDMETHODCALLTYPE *Release)(
   9968         ISpGrammarBuilder2* This);
   9969 
   9970     /*** ISpGrammarBuilder2 methods ***/
   9971     HRESULT (STDMETHODCALLTYPE *AddTextSubset)(
   9972         ISpGrammarBuilder2* This,
   9973         SPSTATEHANDLE hFromState,
   9974         SPSTATEHANDLE hToState,
   9975         LPCWSTR psz,
   9976         SPMATCHINGMODE eMatchMode);
   9977 
   9978     HRESULT (STDMETHODCALLTYPE *SetPhoneticAlphabet)(
   9979         ISpGrammarBuilder2* This,
   9980         PHONETICALPHABET phoneticALphabet);
   9981 
   9982     END_INTERFACE
   9983 } ISpGrammarBuilder2Vtbl;
   9984 interface ISpGrammarBuilder2 {
   9985     CONST_VTBL ISpGrammarBuilder2Vtbl* lpVtbl;
   9986 };
   9987 
   9988 #ifdef COBJMACROS
   9989 #ifndef WIDL_C_INLINE_WRAPPERS
   9990 /*** IUnknown methods ***/
   9991 #define ISpGrammarBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   9992 #define ISpGrammarBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This)
   9993 #define ISpGrammarBuilder2_Release(This) (This)->lpVtbl->Release(This)
   9994 /*** ISpGrammarBuilder2 methods ***/
   9995 #define ISpGrammarBuilder2_AddTextSubset(This,hFromState,hToState,psz,eMatchMode) (This)->lpVtbl->AddTextSubset(This,hFromState,hToState,psz,eMatchMode)
   9996 #define ISpGrammarBuilder2_SetPhoneticAlphabet(This,phoneticALphabet) (This)->lpVtbl->SetPhoneticAlphabet(This,phoneticALphabet)
   9997 #else
   9998 /*** IUnknown methods ***/
   9999 static FORCEINLINE HRESULT ISpGrammarBuilder2_QueryInterface(ISpGrammarBuilder2* This,REFIID riid,void **ppvObject) {
   10000     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10001 }
   10002 static FORCEINLINE ULONG ISpGrammarBuilder2_AddRef(ISpGrammarBuilder2* This) {
   10003     return This->lpVtbl->AddRef(This);
   10004 }
   10005 static FORCEINLINE ULONG ISpGrammarBuilder2_Release(ISpGrammarBuilder2* This) {
   10006     return This->lpVtbl->Release(This);
   10007 }
   10008 /*** ISpGrammarBuilder2 methods ***/
   10009 static FORCEINLINE HRESULT ISpGrammarBuilder2_AddTextSubset(ISpGrammarBuilder2* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,SPMATCHINGMODE eMatchMode) {
   10010     return This->lpVtbl->AddTextSubset(This,hFromState,hToState,psz,eMatchMode);
   10011 }
   10012 static FORCEINLINE HRESULT ISpGrammarBuilder2_SetPhoneticAlphabet(ISpGrammarBuilder2* This,PHONETICALPHABET phoneticALphabet) {
   10013     return This->lpVtbl->SetPhoneticAlphabet(This,phoneticALphabet);
   10014 }
   10015 #endif
   10016 #endif
   10017 
   10018 #endif
   10019 
   10020 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder2_AddTextSubset_Proxy(
   10021     ISpGrammarBuilder2* This,
   10022     SPSTATEHANDLE hFromState,
   10023     SPSTATEHANDLE hToState,
   10024     LPCWSTR psz,
   10025     SPMATCHINGMODE eMatchMode);
   10026 void __RPC_STUB ISpGrammarBuilder2_AddTextSubset_Stub(
   10027     IRpcStubBuffer* This,
   10028     IRpcChannelBuffer* pRpcChannelBuffer,
   10029     PRPC_MESSAGE pRpcMessage,
   10030     DWORD* pdwStubPhase);
   10031 HRESULT STDMETHODCALLTYPE ISpGrammarBuilder2_SetPhoneticAlphabet_Proxy(
   10032     ISpGrammarBuilder2* This,
   10033     PHONETICALPHABET phoneticALphabet);
   10034 void __RPC_STUB ISpGrammarBuilder2_SetPhoneticAlphabet_Stub(
   10035     IRpcStubBuffer* This,
   10036     IRpcChannelBuffer* pRpcChannelBuffer,
   10037     PRPC_MESSAGE pRpcMessage,
   10038     DWORD* pdwStubPhase);
   10039 
   10040 #endif  /* __ISpGrammarBuilder2_INTERFACE_DEFINED__ */
   10041 
   10042 #define SPRP_NORMAL 0
   10043 /*****************************************************************************
   10044  * ISpRecoGrammar2 interface
   10045  */
   10046 #ifndef __ISpRecoGrammar2_INTERFACE_DEFINED__
   10047 #define __ISpRecoGrammar2_INTERFACE_DEFINED__
   10048 
   10049 DEFINE_GUID(IID_ISpRecoGrammar2, 0x4b37bc9e, 0x9ed6, 0x44a3, 0x93,0xd3, 0x18,0xf0,0x22,0xb7,0x9e,0xc3);
   10050 #if defined(__cplusplus) && !defined(CINTERFACE)
   10051 MIDL_INTERFACE("4b37bc9e-9ed6-44a3-93d3-18f022b79ec3")
   10052 ISpRecoGrammar2 : public IUnknown
   10053 {
   10054     virtual HRESULT STDMETHODCALLTYPE GetRules(
   10055         SPRULE **ppCoMemRules,
   10056         UINT *puNumRules) = 0;
   10057 
   10058     virtual HRESULT STDMETHODCALLTYPE LoadCmdFromFile2(
   10059         LPCWSTR pszFileName,
   10060         SPLOADOPTIONS Options,
   10061         LPCWSTR pszSharingUri,
   10062         LPCWSTR pszBaseUri) = 0;
   10063 
   10064     virtual HRESULT STDMETHODCALLTYPE LoadCmdFromMemory2(
   10065         const SPBINARYGRAMMAR *pGrammar,
   10066         SPLOADOPTIONS Options,
   10067         LPCWSTR pszSharingUri,
   10068         LPCWSTR pszBaseUri) = 0;
   10069 
   10070     virtual HRESULT STDMETHODCALLTYPE SetRulePriority(
   10071         LPCWSTR pszRuleName,
   10072         ULONG ulRuleId,
   10073         int nRulePriority) = 0;
   10074 
   10075     virtual HRESULT STDMETHODCALLTYPE SetRuleWeight(
   10076         LPCWSTR pszRuleName,
   10077         ULONG ulRuleId,
   10078         float flWeight) = 0;
   10079 
   10080     virtual HRESULT STDMETHODCALLTYPE SetDictationWeight(
   10081         float flWeight) = 0;
   10082 
   10083     virtual HRESULT STDMETHODCALLTYPE SetGrammarLoader(
   10084         ISpeechResourceLoader *pLoader) = 0;
   10085 
   10086     virtual HRESULT STDMETHODCALLTYPE SetSMLSecurityManager(
   10087         IInternetSecurityManager *pSMLSecurityManager) = 0;
   10088 
   10089 };
   10090 #ifdef __CRT_UUID_DECL
   10091 __CRT_UUID_DECL(ISpRecoGrammar2, 0x4b37bc9e, 0x9ed6, 0x44a3, 0x93,0xd3, 0x18,0xf0,0x22,0xb7,0x9e,0xc3)
   10092 #endif
   10093 #else
   10094 typedef struct ISpRecoGrammar2Vtbl {
   10095     BEGIN_INTERFACE
   10096 
   10097     /*** IUnknown methods ***/
   10098     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   10099         ISpRecoGrammar2* This,
   10100         REFIID riid,
   10101         void **ppvObject);
   10102 
   10103     ULONG (STDMETHODCALLTYPE *AddRef)(
   10104         ISpRecoGrammar2* This);
   10105 
   10106     ULONG (STDMETHODCALLTYPE *Release)(
   10107         ISpRecoGrammar2* This);
   10108 
   10109     /*** ISpRecoGrammar2 methods ***/
   10110     HRESULT (STDMETHODCALLTYPE *GetRules)(
   10111         ISpRecoGrammar2* This,
   10112         SPRULE **ppCoMemRules,
   10113         UINT *puNumRules);
   10114 
   10115     HRESULT (STDMETHODCALLTYPE *LoadCmdFromFile2)(
   10116         ISpRecoGrammar2* This,
   10117         LPCWSTR pszFileName,
   10118         SPLOADOPTIONS Options,
   10119         LPCWSTR pszSharingUri,
   10120         LPCWSTR pszBaseUri);
   10121 
   10122     HRESULT (STDMETHODCALLTYPE *LoadCmdFromMemory2)(
   10123         ISpRecoGrammar2* This,
   10124         const SPBINARYGRAMMAR *pGrammar,
   10125         SPLOADOPTIONS Options,
   10126         LPCWSTR pszSharingUri,
   10127         LPCWSTR pszBaseUri);
   10128 
   10129     HRESULT (STDMETHODCALLTYPE *SetRulePriority)(
   10130         ISpRecoGrammar2* This,
   10131         LPCWSTR pszRuleName,
   10132         ULONG ulRuleId,
   10133         int nRulePriority);
   10134 
   10135     HRESULT (STDMETHODCALLTYPE *SetRuleWeight)(
   10136         ISpRecoGrammar2* This,
   10137         LPCWSTR pszRuleName,
   10138         ULONG ulRuleId,
   10139         float flWeight);
   10140 
   10141     HRESULT (STDMETHODCALLTYPE *SetDictationWeight)(
   10142         ISpRecoGrammar2* This,
   10143         float flWeight);
   10144 
   10145     HRESULT (STDMETHODCALLTYPE *SetGrammarLoader)(
   10146         ISpRecoGrammar2* This,
   10147         ISpeechResourceLoader *pLoader);
   10148 
   10149     HRESULT (STDMETHODCALLTYPE *SetSMLSecurityManager)(
   10150         ISpRecoGrammar2* This,
   10151         IInternetSecurityManager *pSMLSecurityManager);
   10152 
   10153     END_INTERFACE
   10154 } ISpRecoGrammar2Vtbl;
   10155 interface ISpRecoGrammar2 {
   10156     CONST_VTBL ISpRecoGrammar2Vtbl* lpVtbl;
   10157 };
   10158 
   10159 #ifdef COBJMACROS
   10160 #ifndef WIDL_C_INLINE_WRAPPERS
   10161 /*** IUnknown methods ***/
   10162 #define ISpRecoGrammar2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10163 #define ISpRecoGrammar2_AddRef(This) (This)->lpVtbl->AddRef(This)
   10164 #define ISpRecoGrammar2_Release(This) (This)->lpVtbl->Release(This)
   10165 /*** ISpRecoGrammar2 methods ***/
   10166 #define ISpRecoGrammar2_GetRules(This,ppCoMemRules,puNumRules) (This)->lpVtbl->GetRules(This,ppCoMemRules,puNumRules)
   10167 #define ISpRecoGrammar2_LoadCmdFromFile2(This,pszFileName,Options,pszSharingUri,pszBaseUri) (This)->lpVtbl->LoadCmdFromFile2(This,pszFileName,Options,pszSharingUri,pszBaseUri)
   10168 #define ISpRecoGrammar2_LoadCmdFromMemory2(This,pGrammar,Options,pszSharingUri,pszBaseUri) (This)->lpVtbl->LoadCmdFromMemory2(This,pGrammar,Options,pszSharingUri,pszBaseUri)
   10169 #define ISpRecoGrammar2_SetRulePriority(This,pszRuleName,ulRuleId,nRulePriority) (This)->lpVtbl->SetRulePriority(This,pszRuleName,ulRuleId,nRulePriority)
   10170 #define ISpRecoGrammar2_SetRuleWeight(This,pszRuleName,ulRuleId,flWeight) (This)->lpVtbl->SetRuleWeight(This,pszRuleName,ulRuleId,flWeight)
   10171 #define ISpRecoGrammar2_SetDictationWeight(This,flWeight) (This)->lpVtbl->SetDictationWeight(This,flWeight)
   10172 #define ISpRecoGrammar2_SetGrammarLoader(This,pLoader) (This)->lpVtbl->SetGrammarLoader(This,pLoader)
   10173 #define ISpRecoGrammar2_SetSMLSecurityManager(This,pSMLSecurityManager) (This)->lpVtbl->SetSMLSecurityManager(This,pSMLSecurityManager)
   10174 #else
   10175 /*** IUnknown methods ***/
   10176 static FORCEINLINE HRESULT ISpRecoGrammar2_QueryInterface(ISpRecoGrammar2* This,REFIID riid,void **ppvObject) {
   10177     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10178 }
   10179 static FORCEINLINE ULONG ISpRecoGrammar2_AddRef(ISpRecoGrammar2* This) {
   10180     return This->lpVtbl->AddRef(This);
   10181 }
   10182 static FORCEINLINE ULONG ISpRecoGrammar2_Release(ISpRecoGrammar2* This) {
   10183     return This->lpVtbl->Release(This);
   10184 }
   10185 /*** ISpRecoGrammar2 methods ***/
   10186 static FORCEINLINE HRESULT ISpRecoGrammar2_GetRules(ISpRecoGrammar2* This,SPRULE **ppCoMemRules,UINT *puNumRules) {
   10187     return This->lpVtbl->GetRules(This,ppCoMemRules,puNumRules);
   10188 }
   10189 static FORCEINLINE HRESULT ISpRecoGrammar2_LoadCmdFromFile2(ISpRecoGrammar2* This,LPCWSTR pszFileName,SPLOADOPTIONS Options,LPCWSTR pszSharingUri,LPCWSTR pszBaseUri) {
   10190     return This->lpVtbl->LoadCmdFromFile2(This,pszFileName,Options,pszSharingUri,pszBaseUri);
   10191 }
   10192 static FORCEINLINE HRESULT ISpRecoGrammar2_LoadCmdFromMemory2(ISpRecoGrammar2* This,const SPBINARYGRAMMAR *pGrammar,SPLOADOPTIONS Options,LPCWSTR pszSharingUri,LPCWSTR pszBaseUri) {
   10193     return This->lpVtbl->LoadCmdFromMemory2(This,pGrammar,Options,pszSharingUri,pszBaseUri);
   10194 }
   10195 static FORCEINLINE HRESULT ISpRecoGrammar2_SetRulePriority(ISpRecoGrammar2* This,LPCWSTR pszRuleName,ULONG ulRuleId,int nRulePriority) {
   10196     return This->lpVtbl->SetRulePriority(This,pszRuleName,ulRuleId,nRulePriority);
   10197 }
   10198 static FORCEINLINE HRESULT ISpRecoGrammar2_SetRuleWeight(ISpRecoGrammar2* This,LPCWSTR pszRuleName,ULONG ulRuleId,float flWeight) {
   10199     return This->lpVtbl->SetRuleWeight(This,pszRuleName,ulRuleId,flWeight);
   10200 }
   10201 static FORCEINLINE HRESULT ISpRecoGrammar2_SetDictationWeight(ISpRecoGrammar2* This,float flWeight) {
   10202     return This->lpVtbl->SetDictationWeight(This,flWeight);
   10203 }
   10204 static FORCEINLINE HRESULT ISpRecoGrammar2_SetGrammarLoader(ISpRecoGrammar2* This,ISpeechResourceLoader *pLoader) {
   10205     return This->lpVtbl->SetGrammarLoader(This,pLoader);
   10206 }
   10207 static FORCEINLINE HRESULT ISpRecoGrammar2_SetSMLSecurityManager(ISpRecoGrammar2* This,IInternetSecurityManager *pSMLSecurityManager) {
   10208     return This->lpVtbl->SetSMLSecurityManager(This,pSMLSecurityManager);
   10209 }
   10210 #endif
   10211 #endif
   10212 
   10213 #endif
   10214 
   10215 HRESULT STDMETHODCALLTYPE ISpRecoGrammar2_GetRules_Proxy(
   10216     ISpRecoGrammar2* This,
   10217     SPRULE **ppCoMemRules,
   10218     UINT *puNumRules);
   10219 void __RPC_STUB ISpRecoGrammar2_GetRules_Stub(
   10220     IRpcStubBuffer* This,
   10221     IRpcChannelBuffer* pRpcChannelBuffer,
   10222     PRPC_MESSAGE pRpcMessage,
   10223     DWORD* pdwStubPhase);
   10224 HRESULT STDMETHODCALLTYPE ISpRecoGrammar2_LoadCmdFromFile2_Proxy(
   10225     ISpRecoGrammar2* This,
   10226     LPCWSTR pszFileName,
   10227     SPLOADOPTIONS Options,
   10228     LPCWSTR pszSharingUri,
   10229     LPCWSTR pszBaseUri);
   10230 void __RPC_STUB ISpRecoGrammar2_LoadCmdFromFile2_Stub(
   10231     IRpcStubBuffer* This,
   10232     IRpcChannelBuffer* pRpcChannelBuffer,
   10233     PRPC_MESSAGE pRpcMessage,
   10234     DWORD* pdwStubPhase);
   10235 HRESULT STDMETHODCALLTYPE ISpRecoGrammar2_LoadCmdFromMemory2_Proxy(
   10236     ISpRecoGrammar2* This,
   10237     const SPBINARYGRAMMAR *pGrammar,
   10238     SPLOADOPTIONS Options,
   10239     LPCWSTR pszSharingUri,
   10240     LPCWSTR pszBaseUri);
   10241 void __RPC_STUB ISpRecoGrammar2_LoadCmdFromMemory2_Stub(
   10242     IRpcStubBuffer* This,
   10243     IRpcChannelBuffer* pRpcChannelBuffer,
   10244     PRPC_MESSAGE pRpcMessage,
   10245     DWORD* pdwStubPhase);
   10246 HRESULT STDMETHODCALLTYPE ISpRecoGrammar2_SetRulePriority_Proxy(
   10247     ISpRecoGrammar2* This,
   10248     LPCWSTR pszRuleName,
   10249     ULONG ulRuleId,
   10250     int nRulePriority);
   10251 void __RPC_STUB ISpRecoGrammar2_SetRulePriority_Stub(
   10252     IRpcStubBuffer* This,
   10253     IRpcChannelBuffer* pRpcChannelBuffer,
   10254     PRPC_MESSAGE pRpcMessage,
   10255     DWORD* pdwStubPhase);
   10256 HRESULT STDMETHODCALLTYPE ISpRecoGrammar2_SetRuleWeight_Proxy(
   10257     ISpRecoGrammar2* This,
   10258     LPCWSTR pszRuleName,
   10259     ULONG ulRuleId,
   10260     float flWeight);
   10261 void __RPC_STUB ISpRecoGrammar2_SetRuleWeight_Stub(
   10262     IRpcStubBuffer* This,
   10263     IRpcChannelBuffer* pRpcChannelBuffer,
   10264     PRPC_MESSAGE pRpcMessage,
   10265     DWORD* pdwStubPhase);
   10266 HRESULT STDMETHODCALLTYPE ISpRecoGrammar2_SetDictationWeight_Proxy(
   10267     ISpRecoGrammar2* This,
   10268     float flWeight);
   10269 void __RPC_STUB ISpRecoGrammar2_SetDictationWeight_Stub(
   10270     IRpcStubBuffer* This,
   10271     IRpcChannelBuffer* pRpcChannelBuffer,
   10272     PRPC_MESSAGE pRpcMessage,
   10273     DWORD* pdwStubPhase);
   10274 HRESULT STDMETHODCALLTYPE ISpRecoGrammar2_SetGrammarLoader_Proxy(
   10275     ISpRecoGrammar2* This,
   10276     ISpeechResourceLoader *pLoader);
   10277 void __RPC_STUB ISpRecoGrammar2_SetGrammarLoader_Stub(
   10278     IRpcStubBuffer* This,
   10279     IRpcChannelBuffer* pRpcChannelBuffer,
   10280     PRPC_MESSAGE pRpcMessage,
   10281     DWORD* pdwStubPhase);
   10282 HRESULT STDMETHODCALLTYPE ISpRecoGrammar2_SetSMLSecurityManager_Proxy(
   10283     ISpRecoGrammar2* This,
   10284     IInternetSecurityManager *pSMLSecurityManager);
   10285 void __RPC_STUB ISpRecoGrammar2_SetSMLSecurityManager_Stub(
   10286     IRpcStubBuffer* This,
   10287     IRpcChannelBuffer* pRpcChannelBuffer,
   10288     PRPC_MESSAGE pRpcMessage,
   10289     DWORD* pdwStubPhase);
   10290 
   10291 #endif  /* __ISpRecoGrammar2_INTERFACE_DEFINED__ */
   10292 
   10293 /*****************************************************************************
   10294  * ISpeechResourceLoader interface
   10295  */
   10296 #ifndef __ISpeechResourceLoader_INTERFACE_DEFINED__
   10297 #define __ISpeechResourceLoader_INTERFACE_DEFINED__
   10298 
   10299 DEFINE_GUID(IID_ISpeechResourceLoader, 0xb9ac5783, 0xfcd0, 0x4b21, 0xb1,0x19, 0xb4,0xf8,0xda,0x8f,0xd2,0xc3);
   10300 #if defined(__cplusplus) && !defined(CINTERFACE)
   10301 MIDL_INTERFACE("b9ac5783-fcd0-4b21-b119-b4f8da8fd2c3")
   10302 ISpeechResourceLoader : public IDispatch
   10303 {
   10304     virtual HRESULT STDMETHODCALLTYPE LoadResource(
   10305         BSTR bstrResourceUri,
   10306         VARIANT_BOOL fAlwaysReload,
   10307         IUnknown **pStream,
   10308         BSTR *pbstrMIMEType,
   10309         VARIANT_BOOL *pfModified,
   10310         BSTR *pbstrRedirectUrl) = 0;
   10311 
   10312     virtual HRESULT STDMETHODCALLTYPE GetLocalCopy(
   10313         BSTR bstrResourceUri,
   10314         BSTR *pbstrLocalPath,
   10315         BSTR *pbstrMIMEType,
   10316         BSTR *pbstrRedirectUrl) = 0;
   10317 
   10318     virtual HRESULT STDMETHODCALLTYPE ReleaseLocalCopy(
   10319         BSTR pbstrLocalPath) = 0;
   10320 
   10321 };
   10322 #ifdef __CRT_UUID_DECL
   10323 __CRT_UUID_DECL(ISpeechResourceLoader, 0xb9ac5783, 0xfcd0, 0x4b21, 0xb1,0x19, 0xb4,0xf8,0xda,0x8f,0xd2,0xc3)
   10324 #endif
   10325 #else
   10326 typedef struct ISpeechResourceLoaderVtbl {
   10327     BEGIN_INTERFACE
   10328 
   10329     /*** IUnknown methods ***/
   10330     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   10331         ISpeechResourceLoader* This,
   10332         REFIID riid,
   10333         void **ppvObject);
   10334 
   10335     ULONG (STDMETHODCALLTYPE *AddRef)(
   10336         ISpeechResourceLoader* This);
   10337 
   10338     ULONG (STDMETHODCALLTYPE *Release)(
   10339         ISpeechResourceLoader* This);
   10340 
   10341     /*** IDispatch methods ***/
   10342     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   10343         ISpeechResourceLoader* This,
   10344         UINT *pctinfo);
   10345 
   10346     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   10347         ISpeechResourceLoader* This,
   10348         UINT iTInfo,
   10349         LCID lcid,
   10350         ITypeInfo **ppTInfo);
   10351 
   10352     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   10353         ISpeechResourceLoader* This,
   10354         REFIID riid,
   10355         LPOLESTR *rgszNames,
   10356         UINT cNames,
   10357         LCID lcid,
   10358         DISPID *rgDispId);
   10359 
   10360     HRESULT (STDMETHODCALLTYPE *Invoke)(
   10361         ISpeechResourceLoader* This,
   10362         DISPID dispIdMember,
   10363         REFIID riid,
   10364         LCID lcid,
   10365         WORD wFlags,
   10366         DISPPARAMS *pDispParams,
   10367         VARIANT *pVarResult,
   10368         EXCEPINFO *pExcepInfo,
   10369         UINT *puArgErr);
   10370 
   10371     /*** ISpeechResourceLoader methods ***/
   10372     HRESULT (STDMETHODCALLTYPE *LoadResource)(
   10373         ISpeechResourceLoader* This,
   10374         BSTR bstrResourceUri,
   10375         VARIANT_BOOL fAlwaysReload,
   10376         IUnknown **pStream,
   10377         BSTR *pbstrMIMEType,
   10378         VARIANT_BOOL *pfModified,
   10379         BSTR *pbstrRedirectUrl);
   10380 
   10381     HRESULT (STDMETHODCALLTYPE *GetLocalCopy)(
   10382         ISpeechResourceLoader* This,
   10383         BSTR bstrResourceUri,
   10384         BSTR *pbstrLocalPath,
   10385         BSTR *pbstrMIMEType,
   10386         BSTR *pbstrRedirectUrl);
   10387 
   10388     HRESULT (STDMETHODCALLTYPE *ReleaseLocalCopy)(
   10389         ISpeechResourceLoader* This,
   10390         BSTR pbstrLocalPath);
   10391 
   10392     END_INTERFACE
   10393 } ISpeechResourceLoaderVtbl;
   10394 interface ISpeechResourceLoader {
   10395     CONST_VTBL ISpeechResourceLoaderVtbl* lpVtbl;
   10396 };
   10397 
   10398 #ifdef COBJMACROS
   10399 #ifndef WIDL_C_INLINE_WRAPPERS
   10400 /*** IUnknown methods ***/
   10401 #define ISpeechResourceLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10402 #define ISpeechResourceLoader_AddRef(This) (This)->lpVtbl->AddRef(This)
   10403 #define ISpeechResourceLoader_Release(This) (This)->lpVtbl->Release(This)
   10404 /*** IDispatch methods ***/
   10405 #define ISpeechResourceLoader_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   10406 #define ISpeechResourceLoader_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   10407 #define ISpeechResourceLoader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   10408 #define ISpeechResourceLoader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   10409 /*** ISpeechResourceLoader methods ***/
   10410 #define ISpeechResourceLoader_LoadResource(This,bstrResourceUri,fAlwaysReload,pStream,pbstrMIMEType,pfModified,pbstrRedirectUrl) (This)->lpVtbl->LoadResource(This,bstrResourceUri,fAlwaysReload,pStream,pbstrMIMEType,pfModified,pbstrRedirectUrl)
   10411 #define ISpeechResourceLoader_GetLocalCopy(This,bstrResourceUri,pbstrLocalPath,pbstrMIMEType,pbstrRedirectUrl) (This)->lpVtbl->GetLocalCopy(This,bstrResourceUri,pbstrLocalPath,pbstrMIMEType,pbstrRedirectUrl)
   10412 #define ISpeechResourceLoader_ReleaseLocalCopy(This,pbstrLocalPath) (This)->lpVtbl->ReleaseLocalCopy(This,pbstrLocalPath)
   10413 #else
   10414 /*** IUnknown methods ***/
   10415 static FORCEINLINE HRESULT ISpeechResourceLoader_QueryInterface(ISpeechResourceLoader* This,REFIID riid,void **ppvObject) {
   10416     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10417 }
   10418 static FORCEINLINE ULONG ISpeechResourceLoader_AddRef(ISpeechResourceLoader* This) {
   10419     return This->lpVtbl->AddRef(This);
   10420 }
   10421 static FORCEINLINE ULONG ISpeechResourceLoader_Release(ISpeechResourceLoader* This) {
   10422     return This->lpVtbl->Release(This);
   10423 }
   10424 /*** IDispatch methods ***/
   10425 static FORCEINLINE HRESULT ISpeechResourceLoader_GetTypeInfoCount(ISpeechResourceLoader* This,UINT *pctinfo) {
   10426     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   10427 }
   10428 static FORCEINLINE HRESULT ISpeechResourceLoader_GetTypeInfo(ISpeechResourceLoader* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   10429     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   10430 }
   10431 static FORCEINLINE HRESULT ISpeechResourceLoader_GetIDsOfNames(ISpeechResourceLoader* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   10432     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   10433 }
   10434 static FORCEINLINE HRESULT ISpeechResourceLoader_Invoke(ISpeechResourceLoader* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   10435     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   10436 }
   10437 /*** ISpeechResourceLoader methods ***/
   10438 static FORCEINLINE HRESULT ISpeechResourceLoader_LoadResource(ISpeechResourceLoader* This,BSTR bstrResourceUri,VARIANT_BOOL fAlwaysReload,IUnknown **pStream,BSTR *pbstrMIMEType,VARIANT_BOOL *pfModified,BSTR *pbstrRedirectUrl) {
   10439     return This->lpVtbl->LoadResource(This,bstrResourceUri,fAlwaysReload,pStream,pbstrMIMEType,pfModified,pbstrRedirectUrl);
   10440 }
   10441 static FORCEINLINE HRESULT ISpeechResourceLoader_GetLocalCopy(ISpeechResourceLoader* This,BSTR bstrResourceUri,BSTR *pbstrLocalPath,BSTR *pbstrMIMEType,BSTR *pbstrRedirectUrl) {
   10442     return This->lpVtbl->GetLocalCopy(This,bstrResourceUri,pbstrLocalPath,pbstrMIMEType,pbstrRedirectUrl);
   10443 }
   10444 static FORCEINLINE HRESULT ISpeechResourceLoader_ReleaseLocalCopy(ISpeechResourceLoader* This,BSTR pbstrLocalPath) {
   10445     return This->lpVtbl->ReleaseLocalCopy(This,pbstrLocalPath);
   10446 }
   10447 #endif
   10448 #endif
   10449 
   10450 #endif
   10451 
   10452 HRESULT STDMETHODCALLTYPE ISpeechResourceLoader_LoadResource_Proxy(
   10453     ISpeechResourceLoader* This,
   10454     BSTR bstrResourceUri,
   10455     VARIANT_BOOL fAlwaysReload,
   10456     IUnknown **pStream,
   10457     BSTR *pbstrMIMEType,
   10458     VARIANT_BOOL *pfModified,
   10459     BSTR *pbstrRedirectUrl);
   10460 void __RPC_STUB ISpeechResourceLoader_LoadResource_Stub(
   10461     IRpcStubBuffer* This,
   10462     IRpcChannelBuffer* pRpcChannelBuffer,
   10463     PRPC_MESSAGE pRpcMessage,
   10464     DWORD* pdwStubPhase);
   10465 HRESULT STDMETHODCALLTYPE ISpeechResourceLoader_GetLocalCopy_Proxy(
   10466     ISpeechResourceLoader* This,
   10467     BSTR bstrResourceUri,
   10468     BSTR *pbstrLocalPath,
   10469     BSTR *pbstrMIMEType,
   10470     BSTR *pbstrRedirectUrl);
   10471 void __RPC_STUB ISpeechResourceLoader_GetLocalCopy_Stub(
   10472     IRpcStubBuffer* This,
   10473     IRpcChannelBuffer* pRpcChannelBuffer,
   10474     PRPC_MESSAGE pRpcMessage,
   10475     DWORD* pdwStubPhase);
   10476 HRESULT STDMETHODCALLTYPE ISpeechResourceLoader_ReleaseLocalCopy_Proxy(
   10477     ISpeechResourceLoader* This,
   10478     BSTR pbstrLocalPath);
   10479 void __RPC_STUB ISpeechResourceLoader_ReleaseLocalCopy_Stub(
   10480     IRpcStubBuffer* This,
   10481     IRpcChannelBuffer* pRpcChannelBuffer,
   10482     PRPC_MESSAGE pRpcMessage,
   10483     DWORD* pdwStubPhase);
   10484 
   10485 #endif  /* __ISpeechResourceLoader_INTERFACE_DEFINED__ */
   10486 
   10487 typedef struct SPRECOCONTEXTSTATUS {
   10488     SPINTERFERENCE eInterference;
   10489     WCHAR szRequestTypeOfUI[255];
   10490     DWORD dwReserved1;
   10491     DWORD dwReserved2;
   10492 } SPRECOCONTEXTSTATUS;
   10493 typedef enum SPBOOKMARKOPTIONS {
   10494     SPBO_NONE = 0,
   10495     SPBO_PAUSE = 0x1,
   10496     SPBO_AHEAD = 0x2,
   10497     SPBO_TIME_UNITS = 0x4
   10498 } SPBOOKMARKOPTIONS;
   10499 typedef enum SPAUDIOOPTIONS {
   10500     SPAO_NONE = 0,
   10501     SPAO_RETAIN_AUDIO = 0x1
   10502 } SPAUDIOOPTIONS;
   10503 /*****************************************************************************
   10504  * ISpRecoContext interface
   10505  */
   10506 #ifndef __ISpRecoContext_INTERFACE_DEFINED__
   10507 #define __ISpRecoContext_INTERFACE_DEFINED__
   10508 
   10509 DEFINE_GUID(IID_ISpRecoContext, 0xf740a62f, 0x7c15, 0x489e, 0x82,0x34, 0x94,0x0a,0x33,0xd9,0x27,0x2d);
   10510 #if defined(__cplusplus) && !defined(CINTERFACE)
   10511 MIDL_INTERFACE("f740a62f-7c15-489e-8234-940a33d9272d")
   10512 ISpRecoContext : public ISpEventSource
   10513 {
   10514     virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
   10515         ISpRecognizer **ppRecognizer) = 0;
   10516 
   10517     virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
   10518         ULONGLONG ullGrammarId,
   10519         ISpRecoGrammar **ppGrammar) = 0;
   10520 
   10521     virtual HRESULT STDMETHODCALLTYPE GetStatus(
   10522         SPRECOCONTEXTSTATUS *pStatus) = 0;
   10523 
   10524     virtual HRESULT STDMETHODCALLTYPE GetMaxAlternates(
   10525         ULONG *pcAlternates) = 0;
   10526 
   10527     virtual HRESULT STDMETHODCALLTYPE SetMaxAlternates(
   10528         ULONG cAlternates) = 0;
   10529 
   10530     virtual HRESULT STDMETHODCALLTYPE SetAudioOptions(
   10531         SPAUDIOOPTIONS Options,
   10532         const GUID *pAudioFormatId,
   10533         const WAVEFORMATEX *pWaveFormatEx) = 0;
   10534 
   10535     virtual HRESULT STDMETHODCALLTYPE GetAudioOptions(
   10536         SPAUDIOOPTIONS *pOptions,
   10537         GUID *pAudioFormatId,
   10538         WAVEFORMATEX **ppCoMemWFEX) = 0;
   10539 
   10540     virtual HRESULT STDMETHODCALLTYPE DeserializeResult(
   10541         const SPSERIALIZEDRESULT *pSerializedResult,
   10542         ISpRecoResult **ppResult) = 0;
   10543 
   10544     virtual HRESULT STDMETHODCALLTYPE Bookmark(
   10545         SPBOOKMARKOPTIONS Options,
   10546         ULONGLONG ullStreamPosition,
   10547         LPARAM lparamEvent) = 0;
   10548 
   10549     virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
   10550         LPCWSTR pAdaptationData,
   10551         const ULONG cch) = 0;
   10552 
   10553     virtual HRESULT STDMETHODCALLTYPE Pause(
   10554         DWORD dwReserved) = 0;
   10555 
   10556     virtual HRESULT STDMETHODCALLTYPE Resume(
   10557         DWORD dwReserved) = 0;
   10558 
   10559     virtual HRESULT STDMETHODCALLTYPE SetVoice(
   10560         ISpVoice *pVoice,
   10561         WINBOOL fAllowFormatChanges) = 0;
   10562 
   10563     virtual HRESULT STDMETHODCALLTYPE GetVoice(
   10564         ISpVoice **ppVoice) = 0;
   10565 
   10566     virtual HRESULT STDMETHODCALLTYPE SetVoicePurgeEvent(
   10567         ULONGLONG ullEventInterest) = 0;
   10568 
   10569     virtual HRESULT STDMETHODCALLTYPE GetVoicePurgeEvent(
   10570         ULONGLONG *pullEventInterest) = 0;
   10571 
   10572     virtual HRESULT STDMETHODCALLTYPE SetContextState(
   10573         SPCONTEXTSTATE eContextState) = 0;
   10574 
   10575     virtual HRESULT STDMETHODCALLTYPE GetContextState(
   10576         SPCONTEXTSTATE *peContextState) = 0;
   10577 
   10578 };
   10579 #ifdef __CRT_UUID_DECL
   10580 __CRT_UUID_DECL(ISpRecoContext, 0xf740a62f, 0x7c15, 0x489e, 0x82,0x34, 0x94,0x0a,0x33,0xd9,0x27,0x2d)
   10581 #endif
   10582 #else
   10583 typedef struct ISpRecoContextVtbl {
   10584     BEGIN_INTERFACE
   10585 
   10586     /*** IUnknown methods ***/
   10587     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   10588         ISpRecoContext* This,
   10589         REFIID riid,
   10590         void **ppvObject);
   10591 
   10592     ULONG (STDMETHODCALLTYPE *AddRef)(
   10593         ISpRecoContext* This);
   10594 
   10595     ULONG (STDMETHODCALLTYPE *Release)(
   10596         ISpRecoContext* This);
   10597 
   10598     /*** ISpNotifySource methods ***/
   10599     HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
   10600         ISpRecoContext* This,
   10601         ISpNotifySink *pNotifySink);
   10602 
   10603     HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
   10604         ISpRecoContext* This,
   10605         HWND hWnd,
   10606         UINT Msg,
   10607         WPARAM wParam,
   10608         LPARAM lParam);
   10609 
   10610     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
   10611         ISpRecoContext* This,
   10612         SPNOTIFYCALLBACK *pfnCallback,
   10613         WPARAM wParam,
   10614         LPARAM lParam);
   10615 
   10616     HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
   10617         ISpRecoContext* This,
   10618         ISpNotifyCallback *pSpCallback,
   10619         WPARAM wParam,
   10620         LPARAM lParam);
   10621 
   10622     HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
   10623         ISpRecoContext* This);
   10624 
   10625     HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
   10626         ISpRecoContext* This,
   10627         DWORD dwMilliseconds);
   10628 
   10629     HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
   10630         ISpRecoContext* This);
   10631 
   10632     /*** ISpEventSource methods ***/
   10633     HRESULT (STDMETHODCALLTYPE *SetInterest)(
   10634         ISpRecoContext* This,
   10635         ULONGLONG ullEventInterest,
   10636         ULONGLONG ullQueuedInterest);
   10637 
   10638     HRESULT (STDMETHODCALLTYPE *GetEvents)(
   10639         ISpRecoContext* This,
   10640         ULONG ulCount,
   10641         SPEVENT *pEventArray,
   10642         ULONG *pulFetched);
   10643 
   10644     HRESULT (STDMETHODCALLTYPE *GetInfo)(
   10645         ISpRecoContext* This,
   10646         SPEVENTSOURCEINFO *pInfo);
   10647 
   10648     /*** ISpRecoContext methods ***/
   10649     HRESULT (STDMETHODCALLTYPE *GetRecognizer)(
   10650         ISpRecoContext* This,
   10651         ISpRecognizer **ppRecognizer);
   10652 
   10653     HRESULT (STDMETHODCALLTYPE *CreateGrammar)(
   10654         ISpRecoContext* This,
   10655         ULONGLONG ullGrammarId,
   10656         ISpRecoGrammar **ppGrammar);
   10657 
   10658     HRESULT (STDMETHODCALLTYPE *GetStatus)(
   10659         ISpRecoContext* This,
   10660         SPRECOCONTEXTSTATUS *pStatus);
   10661 
   10662     HRESULT (STDMETHODCALLTYPE *GetMaxAlternates)(
   10663         ISpRecoContext* This,
   10664         ULONG *pcAlternates);
   10665 
   10666     HRESULT (STDMETHODCALLTYPE *SetMaxAlternates)(
   10667         ISpRecoContext* This,
   10668         ULONG cAlternates);
   10669 
   10670     HRESULT (STDMETHODCALLTYPE *SetAudioOptions)(
   10671         ISpRecoContext* This,
   10672         SPAUDIOOPTIONS Options,
   10673         const GUID *pAudioFormatId,
   10674         const WAVEFORMATEX *pWaveFormatEx);
   10675 
   10676     HRESULT (STDMETHODCALLTYPE *GetAudioOptions)(
   10677         ISpRecoContext* This,
   10678         SPAUDIOOPTIONS *pOptions,
   10679         GUID *pAudioFormatId,
   10680         WAVEFORMATEX **ppCoMemWFEX);
   10681 
   10682     HRESULT (STDMETHODCALLTYPE *DeserializeResult)(
   10683         ISpRecoContext* This,
   10684         const SPSERIALIZEDRESULT *pSerializedResult,
   10685         ISpRecoResult **ppResult);
   10686 
   10687     HRESULT (STDMETHODCALLTYPE *Bookmark)(
   10688         ISpRecoContext* This,
   10689         SPBOOKMARKOPTIONS Options,
   10690         ULONGLONG ullStreamPosition,
   10691         LPARAM lparamEvent);
   10692 
   10693     HRESULT (STDMETHODCALLTYPE *SetAdaptationData)(
   10694         ISpRecoContext* This,
   10695         LPCWSTR pAdaptationData,
   10696         const ULONG cch);
   10697 
   10698     HRESULT (STDMETHODCALLTYPE *Pause)(
   10699         ISpRecoContext* This,
   10700         DWORD dwReserved);
   10701 
   10702     HRESULT (STDMETHODCALLTYPE *Resume)(
   10703         ISpRecoContext* This,
   10704         DWORD dwReserved);
   10705 
   10706     HRESULT (STDMETHODCALLTYPE *SetVoice)(
   10707         ISpRecoContext* This,
   10708         ISpVoice *pVoice,
   10709         WINBOOL fAllowFormatChanges);
   10710 
   10711     HRESULT (STDMETHODCALLTYPE *GetVoice)(
   10712         ISpRecoContext* This,
   10713         ISpVoice **ppVoice);
   10714 
   10715     HRESULT (STDMETHODCALLTYPE *SetVoicePurgeEvent)(
   10716         ISpRecoContext* This,
   10717         ULONGLONG ullEventInterest);
   10718 
   10719     HRESULT (STDMETHODCALLTYPE *GetVoicePurgeEvent)(
   10720         ISpRecoContext* This,
   10721         ULONGLONG *pullEventInterest);
   10722 
   10723     HRESULT (STDMETHODCALLTYPE *SetContextState)(
   10724         ISpRecoContext* This,
   10725         SPCONTEXTSTATE eContextState);
   10726 
   10727     HRESULT (STDMETHODCALLTYPE *GetContextState)(
   10728         ISpRecoContext* This,
   10729         SPCONTEXTSTATE *peContextState);
   10730 
   10731     END_INTERFACE
   10732 } ISpRecoContextVtbl;
   10733 interface ISpRecoContext {
   10734     CONST_VTBL ISpRecoContextVtbl* lpVtbl;
   10735 };
   10736 
   10737 #ifdef COBJMACROS
   10738 #ifndef WIDL_C_INLINE_WRAPPERS
   10739 /*** IUnknown methods ***/
   10740 #define ISpRecoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   10741 #define ISpRecoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
   10742 #define ISpRecoContext_Release(This) (This)->lpVtbl->Release(This)
   10743 /*** ISpNotifySource methods ***/
   10744 #define ISpRecoContext_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
   10745 #define ISpRecoContext_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
   10746 #define ISpRecoContext_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
   10747 #define ISpRecoContext_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
   10748 #define ISpRecoContext_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
   10749 #define ISpRecoContext_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
   10750 #define ISpRecoContext_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
   10751 /*** ISpEventSource methods ***/
   10752 #define ISpRecoContext_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
   10753 #define ISpRecoContext_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
   10754 #define ISpRecoContext_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
   10755 /*** ISpRecoContext methods ***/
   10756 #define ISpRecoContext_GetRecognizer(This,ppRecognizer) (This)->lpVtbl->GetRecognizer(This,ppRecognizer)
   10757 #define ISpRecoContext_CreateGrammar(This,ullGrammarId,ppGrammar) (This)->lpVtbl->CreateGrammar(This,ullGrammarId,ppGrammar)
   10758 #define ISpRecoContext_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
   10759 #define ISpRecoContext_GetMaxAlternates(This,pcAlternates) (This)->lpVtbl->GetMaxAlternates(This,pcAlternates)
   10760 #define ISpRecoContext_SetMaxAlternates(This,cAlternates) (This)->lpVtbl->SetMaxAlternates(This,cAlternates)
   10761 #define ISpRecoContext_SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx)
   10762 #define ISpRecoContext_GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX) (This)->lpVtbl->GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX)
   10763 #define ISpRecoContext_DeserializeResult(This,pSerializedResult,ppResult) (This)->lpVtbl->DeserializeResult(This,pSerializedResult,ppResult)
   10764 #define ISpRecoContext_Bookmark(This,Options,ullStreamPosition,lparamEvent) (This)->lpVtbl->Bookmark(This,Options,ullStreamPosition,lparamEvent)
   10765 #define ISpRecoContext_SetAdaptationData(This,pAdaptationData,cch) (This)->lpVtbl->SetAdaptationData(This,pAdaptationData,cch)
   10766 #define ISpRecoContext_Pause(This,dwReserved) (This)->lpVtbl->Pause(This,dwReserved)
   10767 #define ISpRecoContext_Resume(This,dwReserved) (This)->lpVtbl->Resume(This,dwReserved)
   10768 #define ISpRecoContext_SetVoice(This,pVoice,fAllowFormatChanges) (This)->lpVtbl->SetVoice(This,pVoice,fAllowFormatChanges)
   10769 #define ISpRecoContext_GetVoice(This,ppVoice) (This)->lpVtbl->GetVoice(This,ppVoice)
   10770 #define ISpRecoContext_SetVoicePurgeEvent(This,ullEventInterest) (This)->lpVtbl->SetVoicePurgeEvent(This,ullEventInterest)
   10771 #define ISpRecoContext_GetVoicePurgeEvent(This,pullEventInterest) (This)->lpVtbl->GetVoicePurgeEvent(This,pullEventInterest)
   10772 #define ISpRecoContext_SetContextState(This,eContextState) (This)->lpVtbl->SetContextState(This,eContextState)
   10773 #define ISpRecoContext_GetContextState(This,peContextState) (This)->lpVtbl->GetContextState(This,peContextState)
   10774 #else
   10775 /*** IUnknown methods ***/
   10776 static FORCEINLINE HRESULT ISpRecoContext_QueryInterface(ISpRecoContext* This,REFIID riid,void **ppvObject) {
   10777     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   10778 }
   10779 static FORCEINLINE ULONG ISpRecoContext_AddRef(ISpRecoContext* This) {
   10780     return This->lpVtbl->AddRef(This);
   10781 }
   10782 static FORCEINLINE ULONG ISpRecoContext_Release(ISpRecoContext* This) {
   10783     return This->lpVtbl->Release(This);
   10784 }
   10785 /*** ISpNotifySource methods ***/
   10786 static FORCEINLINE HRESULT ISpRecoContext_SetNotifySink(ISpRecoContext* This,ISpNotifySink *pNotifySink) {
   10787     return This->lpVtbl->SetNotifySink(This,pNotifySink);
   10788 }
   10789 static FORCEINLINE HRESULT ISpRecoContext_SetNotifyWindowMessage(ISpRecoContext* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
   10790     return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
   10791 }
   10792 static FORCEINLINE HRESULT ISpRecoContext_SetNotifyCallbackFunction(ISpRecoContext* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
   10793     return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
   10794 }
   10795 static FORCEINLINE HRESULT ISpRecoContext_SetNotifyCallbackInterface(ISpRecoContext* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
   10796     return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
   10797 }
   10798 static FORCEINLINE HRESULT ISpRecoContext_SetNotifyWin32Event(ISpRecoContext* This) {
   10799     return This->lpVtbl->SetNotifyWin32Event(This);
   10800 }
   10801 static FORCEINLINE HRESULT ISpRecoContext_WaitForNotifyEvent(ISpRecoContext* This,DWORD dwMilliseconds) {
   10802     return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
   10803 }
   10804 static FORCEINLINE HANDLE ISpRecoContext_GetNotifyEventHandle(ISpRecoContext* This) {
   10805     return This->lpVtbl->GetNotifyEventHandle(This);
   10806 }
   10807 /*** ISpEventSource methods ***/
   10808 static FORCEINLINE HRESULT ISpRecoContext_SetInterest(ISpRecoContext* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
   10809     return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
   10810 }
   10811 static FORCEINLINE HRESULT ISpRecoContext_GetEvents(ISpRecoContext* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
   10812     return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
   10813 }
   10814 static FORCEINLINE HRESULT ISpRecoContext_GetInfo(ISpRecoContext* This,SPEVENTSOURCEINFO *pInfo) {
   10815     return This->lpVtbl->GetInfo(This,pInfo);
   10816 }
   10817 /*** ISpRecoContext methods ***/
   10818 static FORCEINLINE HRESULT ISpRecoContext_GetRecognizer(ISpRecoContext* This,ISpRecognizer **ppRecognizer) {
   10819     return This->lpVtbl->GetRecognizer(This,ppRecognizer);
   10820 }
   10821 static FORCEINLINE HRESULT ISpRecoContext_CreateGrammar(ISpRecoContext* This,ULONGLONG ullGrammarId,ISpRecoGrammar **ppGrammar) {
   10822     return This->lpVtbl->CreateGrammar(This,ullGrammarId,ppGrammar);
   10823 }
   10824 static FORCEINLINE HRESULT ISpRecoContext_GetStatus(ISpRecoContext* This,SPRECOCONTEXTSTATUS *pStatus) {
   10825     return This->lpVtbl->GetStatus(This,pStatus);
   10826 }
   10827 static FORCEINLINE HRESULT ISpRecoContext_GetMaxAlternates(ISpRecoContext* This,ULONG *pcAlternates) {
   10828     return This->lpVtbl->GetMaxAlternates(This,pcAlternates);
   10829 }
   10830 static FORCEINLINE HRESULT ISpRecoContext_SetMaxAlternates(ISpRecoContext* This,ULONG cAlternates) {
   10831     return This->lpVtbl->SetMaxAlternates(This,cAlternates);
   10832 }
   10833 static FORCEINLINE HRESULT ISpRecoContext_SetAudioOptions(ISpRecoContext* This,SPAUDIOOPTIONS Options,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
   10834     return This->lpVtbl->SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx);
   10835 }
   10836 static FORCEINLINE HRESULT ISpRecoContext_GetAudioOptions(ISpRecoContext* This,SPAUDIOOPTIONS *pOptions,GUID *pAudioFormatId,WAVEFORMATEX **ppCoMemWFEX) {
   10837     return This->lpVtbl->GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX);
   10838 }
   10839 static FORCEINLINE HRESULT ISpRecoContext_DeserializeResult(ISpRecoContext* This,const SPSERIALIZEDRESULT *pSerializedResult,ISpRecoResult **ppResult) {
   10840     return This->lpVtbl->DeserializeResult(This,pSerializedResult,ppResult);
   10841 }
   10842 static FORCEINLINE HRESULT ISpRecoContext_Bookmark(ISpRecoContext* This,SPBOOKMARKOPTIONS Options,ULONGLONG ullStreamPosition,LPARAM lparamEvent) {
   10843     return This->lpVtbl->Bookmark(This,Options,ullStreamPosition,lparamEvent);
   10844 }
   10845 static FORCEINLINE HRESULT ISpRecoContext_SetAdaptationData(ISpRecoContext* This,LPCWSTR pAdaptationData,const ULONG cch) {
   10846     return This->lpVtbl->SetAdaptationData(This,pAdaptationData,cch);
   10847 }
   10848 static FORCEINLINE HRESULT ISpRecoContext_Pause(ISpRecoContext* This,DWORD dwReserved) {
   10849     return This->lpVtbl->Pause(This,dwReserved);
   10850 }
   10851 static FORCEINLINE HRESULT ISpRecoContext_Resume(ISpRecoContext* This,DWORD dwReserved) {
   10852     return This->lpVtbl->Resume(This,dwReserved);
   10853 }
   10854 static FORCEINLINE HRESULT ISpRecoContext_SetVoice(ISpRecoContext* This,ISpVoice *pVoice,WINBOOL fAllowFormatChanges) {
   10855     return This->lpVtbl->SetVoice(This,pVoice,fAllowFormatChanges);
   10856 }
   10857 static FORCEINLINE HRESULT ISpRecoContext_GetVoice(ISpRecoContext* This,ISpVoice **ppVoice) {
   10858     return This->lpVtbl->GetVoice(This,ppVoice);
   10859 }
   10860 static FORCEINLINE HRESULT ISpRecoContext_SetVoicePurgeEvent(ISpRecoContext* This,ULONGLONG ullEventInterest) {
   10861     return This->lpVtbl->SetVoicePurgeEvent(This,ullEventInterest);
   10862 }
   10863 static FORCEINLINE HRESULT ISpRecoContext_GetVoicePurgeEvent(ISpRecoContext* This,ULONGLONG *pullEventInterest) {
   10864     return This->lpVtbl->GetVoicePurgeEvent(This,pullEventInterest);
   10865 }
   10866 static FORCEINLINE HRESULT ISpRecoContext_SetContextState(ISpRecoContext* This,SPCONTEXTSTATE eContextState) {
   10867     return This->lpVtbl->SetContextState(This,eContextState);
   10868 }
   10869 static FORCEINLINE HRESULT ISpRecoContext_GetContextState(ISpRecoContext* This,SPCONTEXTSTATE *peContextState) {
   10870     return This->lpVtbl->GetContextState(This,peContextState);
   10871 }
   10872 #endif
   10873 #endif
   10874 
   10875 #endif
   10876 
   10877 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetRecognizer_Proxy(
   10878     ISpRecoContext* This,
   10879     ISpRecognizer **ppRecognizer);
   10880 void __RPC_STUB ISpRecoContext_GetRecognizer_Stub(
   10881     IRpcStubBuffer* This,
   10882     IRpcChannelBuffer* pRpcChannelBuffer,
   10883     PRPC_MESSAGE pRpcMessage,
   10884     DWORD* pdwStubPhase);
   10885 HRESULT STDMETHODCALLTYPE ISpRecoContext_CreateGrammar_Proxy(
   10886     ISpRecoContext* This,
   10887     ULONGLONG ullGrammarId,
   10888     ISpRecoGrammar **ppGrammar);
   10889 void __RPC_STUB ISpRecoContext_CreateGrammar_Stub(
   10890     IRpcStubBuffer* This,
   10891     IRpcChannelBuffer* pRpcChannelBuffer,
   10892     PRPC_MESSAGE pRpcMessage,
   10893     DWORD* pdwStubPhase);
   10894 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetStatus_Proxy(
   10895     ISpRecoContext* This,
   10896     SPRECOCONTEXTSTATUS *pStatus);
   10897 void __RPC_STUB ISpRecoContext_GetStatus_Stub(
   10898     IRpcStubBuffer* This,
   10899     IRpcChannelBuffer* pRpcChannelBuffer,
   10900     PRPC_MESSAGE pRpcMessage,
   10901     DWORD* pdwStubPhase);
   10902 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetMaxAlternates_Proxy(
   10903     ISpRecoContext* This,
   10904     ULONG *pcAlternates);
   10905 void __RPC_STUB ISpRecoContext_GetMaxAlternates_Stub(
   10906     IRpcStubBuffer* This,
   10907     IRpcChannelBuffer* pRpcChannelBuffer,
   10908     PRPC_MESSAGE pRpcMessage,
   10909     DWORD* pdwStubPhase);
   10910 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetMaxAlternates_Proxy(
   10911     ISpRecoContext* This,
   10912     ULONG cAlternates);
   10913 void __RPC_STUB ISpRecoContext_SetMaxAlternates_Stub(
   10914     IRpcStubBuffer* This,
   10915     IRpcChannelBuffer* pRpcChannelBuffer,
   10916     PRPC_MESSAGE pRpcMessage,
   10917     DWORD* pdwStubPhase);
   10918 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetAudioOptions_Proxy(
   10919     ISpRecoContext* This,
   10920     SPAUDIOOPTIONS Options,
   10921     const GUID *pAudioFormatId,
   10922     const WAVEFORMATEX *pWaveFormatEx);
   10923 void __RPC_STUB ISpRecoContext_SetAudioOptions_Stub(
   10924     IRpcStubBuffer* This,
   10925     IRpcChannelBuffer* pRpcChannelBuffer,
   10926     PRPC_MESSAGE pRpcMessage,
   10927     DWORD* pdwStubPhase);
   10928 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetAudioOptions_Proxy(
   10929     ISpRecoContext* This,
   10930     SPAUDIOOPTIONS *pOptions,
   10931     GUID *pAudioFormatId,
   10932     WAVEFORMATEX **ppCoMemWFEX);
   10933 void __RPC_STUB ISpRecoContext_GetAudioOptions_Stub(
   10934     IRpcStubBuffer* This,
   10935     IRpcChannelBuffer* pRpcChannelBuffer,
   10936     PRPC_MESSAGE pRpcMessage,
   10937     DWORD* pdwStubPhase);
   10938 HRESULT STDMETHODCALLTYPE ISpRecoContext_DeserializeResult_Proxy(
   10939     ISpRecoContext* This,
   10940     const SPSERIALIZEDRESULT *pSerializedResult,
   10941     ISpRecoResult **ppResult);
   10942 void __RPC_STUB ISpRecoContext_DeserializeResult_Stub(
   10943     IRpcStubBuffer* This,
   10944     IRpcChannelBuffer* pRpcChannelBuffer,
   10945     PRPC_MESSAGE pRpcMessage,
   10946     DWORD* pdwStubPhase);
   10947 HRESULT STDMETHODCALLTYPE ISpRecoContext_Bookmark_Proxy(
   10948     ISpRecoContext* This,
   10949     SPBOOKMARKOPTIONS Options,
   10950     ULONGLONG ullStreamPosition,
   10951     LPARAM lparamEvent);
   10952 void __RPC_STUB ISpRecoContext_Bookmark_Stub(
   10953     IRpcStubBuffer* This,
   10954     IRpcChannelBuffer* pRpcChannelBuffer,
   10955     PRPC_MESSAGE pRpcMessage,
   10956     DWORD* pdwStubPhase);
   10957 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetAdaptationData_Proxy(
   10958     ISpRecoContext* This,
   10959     LPCWSTR pAdaptationData,
   10960     const ULONG cch);
   10961 void __RPC_STUB ISpRecoContext_SetAdaptationData_Stub(
   10962     IRpcStubBuffer* This,
   10963     IRpcChannelBuffer* pRpcChannelBuffer,
   10964     PRPC_MESSAGE pRpcMessage,
   10965     DWORD* pdwStubPhase);
   10966 HRESULT STDMETHODCALLTYPE ISpRecoContext_Pause_Proxy(
   10967     ISpRecoContext* This,
   10968     DWORD dwReserved);
   10969 void __RPC_STUB ISpRecoContext_Pause_Stub(
   10970     IRpcStubBuffer* This,
   10971     IRpcChannelBuffer* pRpcChannelBuffer,
   10972     PRPC_MESSAGE pRpcMessage,
   10973     DWORD* pdwStubPhase);
   10974 HRESULT STDMETHODCALLTYPE ISpRecoContext_Resume_Proxy(
   10975     ISpRecoContext* This,
   10976     DWORD dwReserved);
   10977 void __RPC_STUB ISpRecoContext_Resume_Stub(
   10978     IRpcStubBuffer* This,
   10979     IRpcChannelBuffer* pRpcChannelBuffer,
   10980     PRPC_MESSAGE pRpcMessage,
   10981     DWORD* pdwStubPhase);
   10982 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetVoice_Proxy(
   10983     ISpRecoContext* This,
   10984     ISpVoice *pVoice,
   10985     WINBOOL fAllowFormatChanges);
   10986 void __RPC_STUB ISpRecoContext_SetVoice_Stub(
   10987     IRpcStubBuffer* This,
   10988     IRpcChannelBuffer* pRpcChannelBuffer,
   10989     PRPC_MESSAGE pRpcMessage,
   10990     DWORD* pdwStubPhase);
   10991 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetVoice_Proxy(
   10992     ISpRecoContext* This,
   10993     ISpVoice **ppVoice);
   10994 void __RPC_STUB ISpRecoContext_GetVoice_Stub(
   10995     IRpcStubBuffer* This,
   10996     IRpcChannelBuffer* pRpcChannelBuffer,
   10997     PRPC_MESSAGE pRpcMessage,
   10998     DWORD* pdwStubPhase);
   10999 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetVoicePurgeEvent_Proxy(
   11000     ISpRecoContext* This,
   11001     ULONGLONG ullEventInterest);
   11002 void __RPC_STUB ISpRecoContext_SetVoicePurgeEvent_Stub(
   11003     IRpcStubBuffer* This,
   11004     IRpcChannelBuffer* pRpcChannelBuffer,
   11005     PRPC_MESSAGE pRpcMessage,
   11006     DWORD* pdwStubPhase);
   11007 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetVoicePurgeEvent_Proxy(
   11008     ISpRecoContext* This,
   11009     ULONGLONG *pullEventInterest);
   11010 void __RPC_STUB ISpRecoContext_GetVoicePurgeEvent_Stub(
   11011     IRpcStubBuffer* This,
   11012     IRpcChannelBuffer* pRpcChannelBuffer,
   11013     PRPC_MESSAGE pRpcMessage,
   11014     DWORD* pdwStubPhase);
   11015 HRESULT STDMETHODCALLTYPE ISpRecoContext_SetContextState_Proxy(
   11016     ISpRecoContext* This,
   11017     SPCONTEXTSTATE eContextState);
   11018 void __RPC_STUB ISpRecoContext_SetContextState_Stub(
   11019     IRpcStubBuffer* This,
   11020     IRpcChannelBuffer* pRpcChannelBuffer,
   11021     PRPC_MESSAGE pRpcMessage,
   11022     DWORD* pdwStubPhase);
   11023 HRESULT STDMETHODCALLTYPE ISpRecoContext_GetContextState_Proxy(
   11024     ISpRecoContext* This,
   11025     SPCONTEXTSTATE *peContextState);
   11026 void __RPC_STUB ISpRecoContext_GetContextState_Stub(
   11027     IRpcStubBuffer* This,
   11028     IRpcChannelBuffer* pRpcChannelBuffer,
   11029     PRPC_MESSAGE pRpcMessage,
   11030     DWORD* pdwStubPhase);
   11031 
   11032 #endif  /* __ISpRecoContext_INTERFACE_DEFINED__ */
   11033 
   11034 typedef enum SPGRAMMAROPTIONS {
   11035     SPGO_SAPI = 0x1,
   11036     SPGO_SRGS = 0x2,
   11037     SPGO_UPS = 0x4,
   11038     SPGO_SRGS_MS_SCRIPT = 0x8,
   11039     SPGO_FILE = 0x10,
   11040     SPGO_HTTP = 0x20,
   11041     SPGO_RES = 0x40,
   11042     SPGO_OBJECT = 0x80,
   11043     SPGO_SRGS_W3C_SCRIPT = 0x100,
   11044     SPGO_SRGS_STG_SCRIPT = 0x200,
   11045     SPGO_SRGS_SCRIPT = ((SPGO_SRGS | SPGO_SRGS_MS_SCRIPT) | SPGO_SRGS_W3C_SCRIPT) | SPGO_SRGS_STG_SCRIPT,
   11046     SPGO_DEFAULT = 0x3fb,
   11047     SPGO_ALL = 0x3ff
   11048 } SPGRAMMAROPTIONS;
   11049 typedef enum SPADAPTATIONSETTINGS {
   11050     SPADS_Default = 0x0,
   11051     SPADS_CurrentRecognizer = 0x1,
   11052     SPADS_RecoProfile = 0x2,
   11053     SPADS_Immediate = 0x4,
   11054     SPADS_Reset = 0x8,
   11055     SPADS_HighVolumeDataSource = 0x10
   11056 } SPADAPTATIONSETTINGS;
   11057 typedef enum SPADAPTATIONRELEVANCE {
   11058     SPAR_Unknown = 0,
   11059     SPAR_Low = 1,
   11060     SPAR_Medium = 2,
   11061     SPAR_High = 3
   11062 } SPADAPTATIONRELEVANCE;
   11063 /*****************************************************************************
   11064  * ISpRecoContext2 interface
   11065  */
   11066 #ifndef __ISpRecoContext2_INTERFACE_DEFINED__
   11067 #define __ISpRecoContext2_INTERFACE_DEFINED__
   11068 
   11069 DEFINE_GUID(IID_ISpRecoContext2, 0xbead311c, 0x52ff, 0x437f, 0x94,0x64, 0x6b,0x21,0x05,0x4c,0xa7,0x3d);
   11070 #if defined(__cplusplus) && !defined(CINTERFACE)
   11071 MIDL_INTERFACE("bead311c-52ff-437f-9464-6b21054ca73d")
   11072 ISpRecoContext2 : public IUnknown
   11073 {
   11074     virtual HRESULT STDMETHODCALLTYPE SetGrammarOptions(
   11075         DWORD eGrammarOptions) = 0;
   11076 
   11077     virtual HRESULT STDMETHODCALLTYPE GetGrammarOptions(
   11078         DWORD *peGrammarOptions) = 0;
   11079 
   11080     virtual HRESULT STDMETHODCALLTYPE SetAdaptationData2(
   11081         LPCWSTR pAdaptationData,
   11082         const ULONG cch,
   11083         LPCWSTR pTopicName,
   11084         DWORD eAdaptationSettings,
   11085         SPADAPTATIONRELEVANCE eRelevance) = 0;
   11086 
   11087 };
   11088 #ifdef __CRT_UUID_DECL
   11089 __CRT_UUID_DECL(ISpRecoContext2, 0xbead311c, 0x52ff, 0x437f, 0x94,0x64, 0x6b,0x21,0x05,0x4c,0xa7,0x3d)
   11090 #endif
   11091 #else
   11092 typedef struct ISpRecoContext2Vtbl {
   11093     BEGIN_INTERFACE
   11094 
   11095     /*** IUnknown methods ***/
   11096     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   11097         ISpRecoContext2* This,
   11098         REFIID riid,
   11099         void **ppvObject);
   11100 
   11101     ULONG (STDMETHODCALLTYPE *AddRef)(
   11102         ISpRecoContext2* This);
   11103 
   11104     ULONG (STDMETHODCALLTYPE *Release)(
   11105         ISpRecoContext2* This);
   11106 
   11107     /*** ISpRecoContext2 methods ***/
   11108     HRESULT (STDMETHODCALLTYPE *SetGrammarOptions)(
   11109         ISpRecoContext2* This,
   11110         DWORD eGrammarOptions);
   11111 
   11112     HRESULT (STDMETHODCALLTYPE *GetGrammarOptions)(
   11113         ISpRecoContext2* This,
   11114         DWORD *peGrammarOptions);
   11115 
   11116     HRESULT (STDMETHODCALLTYPE *SetAdaptationData2)(
   11117         ISpRecoContext2* This,
   11118         LPCWSTR pAdaptationData,
   11119         const ULONG cch,
   11120         LPCWSTR pTopicName,
   11121         DWORD eAdaptationSettings,
   11122         SPADAPTATIONRELEVANCE eRelevance);
   11123 
   11124     END_INTERFACE
   11125 } ISpRecoContext2Vtbl;
   11126 interface ISpRecoContext2 {
   11127     CONST_VTBL ISpRecoContext2Vtbl* lpVtbl;
   11128 };
   11129 
   11130 #ifdef COBJMACROS
   11131 #ifndef WIDL_C_INLINE_WRAPPERS
   11132 /*** IUnknown methods ***/
   11133 #define ISpRecoContext2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11134 #define ISpRecoContext2_AddRef(This) (This)->lpVtbl->AddRef(This)
   11135 #define ISpRecoContext2_Release(This) (This)->lpVtbl->Release(This)
   11136 /*** ISpRecoContext2 methods ***/
   11137 #define ISpRecoContext2_SetGrammarOptions(This,eGrammarOptions) (This)->lpVtbl->SetGrammarOptions(This,eGrammarOptions)
   11138 #define ISpRecoContext2_GetGrammarOptions(This,peGrammarOptions) (This)->lpVtbl->GetGrammarOptions(This,peGrammarOptions)
   11139 #define ISpRecoContext2_SetAdaptationData2(This,pAdaptationData,cch,pTopicName,eAdaptationSettings,eRelevance) (This)->lpVtbl->SetAdaptationData2(This,pAdaptationData,cch,pTopicName,eAdaptationSettings,eRelevance)
   11140 #else
   11141 /*** IUnknown methods ***/
   11142 static FORCEINLINE HRESULT ISpRecoContext2_QueryInterface(ISpRecoContext2* This,REFIID riid,void **ppvObject) {
   11143     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   11144 }
   11145 static FORCEINLINE ULONG ISpRecoContext2_AddRef(ISpRecoContext2* This) {
   11146     return This->lpVtbl->AddRef(This);
   11147 }
   11148 static FORCEINLINE ULONG ISpRecoContext2_Release(ISpRecoContext2* This) {
   11149     return This->lpVtbl->Release(This);
   11150 }
   11151 /*** ISpRecoContext2 methods ***/
   11152 static FORCEINLINE HRESULT ISpRecoContext2_SetGrammarOptions(ISpRecoContext2* This,DWORD eGrammarOptions) {
   11153     return This->lpVtbl->SetGrammarOptions(This,eGrammarOptions);
   11154 }
   11155 static FORCEINLINE HRESULT ISpRecoContext2_GetGrammarOptions(ISpRecoContext2* This,DWORD *peGrammarOptions) {
   11156     return This->lpVtbl->GetGrammarOptions(This,peGrammarOptions);
   11157 }
   11158 static FORCEINLINE HRESULT ISpRecoContext2_SetAdaptationData2(ISpRecoContext2* This,LPCWSTR pAdaptationData,const ULONG cch,LPCWSTR pTopicName,DWORD eAdaptationSettings,SPADAPTATIONRELEVANCE eRelevance) {
   11159     return This->lpVtbl->SetAdaptationData2(This,pAdaptationData,cch,pTopicName,eAdaptationSettings,eRelevance);
   11160 }
   11161 #endif
   11162 #endif
   11163 
   11164 #endif
   11165 
   11166 HRESULT STDMETHODCALLTYPE ISpRecoContext2_SetGrammarOptions_Proxy(
   11167     ISpRecoContext2* This,
   11168     DWORD eGrammarOptions);
   11169 void __RPC_STUB ISpRecoContext2_SetGrammarOptions_Stub(
   11170     IRpcStubBuffer* This,
   11171     IRpcChannelBuffer* pRpcChannelBuffer,
   11172     PRPC_MESSAGE pRpcMessage,
   11173     DWORD* pdwStubPhase);
   11174 HRESULT STDMETHODCALLTYPE ISpRecoContext2_GetGrammarOptions_Proxy(
   11175     ISpRecoContext2* This,
   11176     DWORD *peGrammarOptions);
   11177 void __RPC_STUB ISpRecoContext2_GetGrammarOptions_Stub(
   11178     IRpcStubBuffer* This,
   11179     IRpcChannelBuffer* pRpcChannelBuffer,
   11180     PRPC_MESSAGE pRpcMessage,
   11181     DWORD* pdwStubPhase);
   11182 HRESULT STDMETHODCALLTYPE ISpRecoContext2_SetAdaptationData2_Proxy(
   11183     ISpRecoContext2* This,
   11184     LPCWSTR pAdaptationData,
   11185     const ULONG cch,
   11186     LPCWSTR pTopicName,
   11187     DWORD eAdaptationSettings,
   11188     SPADAPTATIONRELEVANCE eRelevance);
   11189 void __RPC_STUB ISpRecoContext2_SetAdaptationData2_Stub(
   11190     IRpcStubBuffer* This,
   11191     IRpcChannelBuffer* pRpcChannelBuffer,
   11192     PRPC_MESSAGE pRpcMessage,
   11193     DWORD* pdwStubPhase);
   11194 
   11195 #endif  /* __ISpRecoContext2_INTERFACE_DEFINED__ */
   11196 
   11197 /*****************************************************************************
   11198  * ISpProperties interface
   11199  */
   11200 #ifndef __ISpProperties_INTERFACE_DEFINED__
   11201 #define __ISpProperties_INTERFACE_DEFINED__
   11202 
   11203 DEFINE_GUID(IID_ISpProperties, 0x5b4fb971, 0xb115, 0x4de1, 0xad,0x97, 0xe4,0x82,0xe3,0xbf,0x6e,0xe4);
   11204 #if defined(__cplusplus) && !defined(CINTERFACE)
   11205 MIDL_INTERFACE("5b4fb971-b115-4de1-ad97-e482e3bf6ee4")
   11206 ISpProperties : public IUnknown
   11207 {
   11208     virtual HRESULT STDMETHODCALLTYPE SetPropertyNum(
   11209         LPCWSTR pName,
   11210         LONG lValue) = 0;
   11211 
   11212     virtual HRESULT STDMETHODCALLTYPE GetPropertyNum(
   11213         LPCWSTR pName,
   11214         LONG *plValue) = 0;
   11215 
   11216     virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
   11217         LPCWSTR pName,
   11218         LPCWSTR pValue) = 0;
   11219 
   11220     virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
   11221         LPCWSTR pName,
   11222         LPWSTR *ppCoMemValue) = 0;
   11223 
   11224 };
   11225 #ifdef __CRT_UUID_DECL
   11226 __CRT_UUID_DECL(ISpProperties, 0x5b4fb971, 0xb115, 0x4de1, 0xad,0x97, 0xe4,0x82,0xe3,0xbf,0x6e,0xe4)
   11227 #endif
   11228 #else
   11229 typedef struct ISpPropertiesVtbl {
   11230     BEGIN_INTERFACE
   11231 
   11232     /*** IUnknown methods ***/
   11233     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   11234         ISpProperties* This,
   11235         REFIID riid,
   11236         void **ppvObject);
   11237 
   11238     ULONG (STDMETHODCALLTYPE *AddRef)(
   11239         ISpProperties* This);
   11240 
   11241     ULONG (STDMETHODCALLTYPE *Release)(
   11242         ISpProperties* This);
   11243 
   11244     /*** ISpProperties methods ***/
   11245     HRESULT (STDMETHODCALLTYPE *SetPropertyNum)(
   11246         ISpProperties* This,
   11247         LPCWSTR pName,
   11248         LONG lValue);
   11249 
   11250     HRESULT (STDMETHODCALLTYPE *GetPropertyNum)(
   11251         ISpProperties* This,
   11252         LPCWSTR pName,
   11253         LONG *plValue);
   11254 
   11255     HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
   11256         ISpProperties* This,
   11257         LPCWSTR pName,
   11258         LPCWSTR pValue);
   11259 
   11260     HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
   11261         ISpProperties* This,
   11262         LPCWSTR pName,
   11263         LPWSTR *ppCoMemValue);
   11264 
   11265     END_INTERFACE
   11266 } ISpPropertiesVtbl;
   11267 interface ISpProperties {
   11268     CONST_VTBL ISpPropertiesVtbl* lpVtbl;
   11269 };
   11270 
   11271 #ifdef COBJMACROS
   11272 #ifndef WIDL_C_INLINE_WRAPPERS
   11273 /*** IUnknown methods ***/
   11274 #define ISpProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11275 #define ISpProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
   11276 #define ISpProperties_Release(This) (This)->lpVtbl->Release(This)
   11277 /*** ISpProperties methods ***/
   11278 #define ISpProperties_SetPropertyNum(This,pName,lValue) (This)->lpVtbl->SetPropertyNum(This,pName,lValue)
   11279 #define ISpProperties_GetPropertyNum(This,pName,plValue) (This)->lpVtbl->GetPropertyNum(This,pName,plValue)
   11280 #define ISpProperties_SetPropertyString(This,pName,pValue) (This)->lpVtbl->SetPropertyString(This,pName,pValue)
   11281 #define ISpProperties_GetPropertyString(This,pName,ppCoMemValue) (This)->lpVtbl->GetPropertyString(This,pName,ppCoMemValue)
   11282 #else
   11283 /*** IUnknown methods ***/
   11284 static FORCEINLINE HRESULT ISpProperties_QueryInterface(ISpProperties* This,REFIID riid,void **ppvObject) {
   11285     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   11286 }
   11287 static FORCEINLINE ULONG ISpProperties_AddRef(ISpProperties* This) {
   11288     return This->lpVtbl->AddRef(This);
   11289 }
   11290 static FORCEINLINE ULONG ISpProperties_Release(ISpProperties* This) {
   11291     return This->lpVtbl->Release(This);
   11292 }
   11293 /*** ISpProperties methods ***/
   11294 static FORCEINLINE HRESULT ISpProperties_SetPropertyNum(ISpProperties* This,LPCWSTR pName,LONG lValue) {
   11295     return This->lpVtbl->SetPropertyNum(This,pName,lValue);
   11296 }
   11297 static FORCEINLINE HRESULT ISpProperties_GetPropertyNum(ISpProperties* This,LPCWSTR pName,LONG *plValue) {
   11298     return This->lpVtbl->GetPropertyNum(This,pName,plValue);
   11299 }
   11300 static FORCEINLINE HRESULT ISpProperties_SetPropertyString(ISpProperties* This,LPCWSTR pName,LPCWSTR pValue) {
   11301     return This->lpVtbl->SetPropertyString(This,pName,pValue);
   11302 }
   11303 static FORCEINLINE HRESULT ISpProperties_GetPropertyString(ISpProperties* This,LPCWSTR pName,LPWSTR *ppCoMemValue) {
   11304     return This->lpVtbl->GetPropertyString(This,pName,ppCoMemValue);
   11305 }
   11306 #endif
   11307 #endif
   11308 
   11309 #endif
   11310 
   11311 HRESULT STDMETHODCALLTYPE ISpProperties_SetPropertyNum_Proxy(
   11312     ISpProperties* This,
   11313     LPCWSTR pName,
   11314     LONG lValue);
   11315 void __RPC_STUB ISpProperties_SetPropertyNum_Stub(
   11316     IRpcStubBuffer* This,
   11317     IRpcChannelBuffer* pRpcChannelBuffer,
   11318     PRPC_MESSAGE pRpcMessage,
   11319     DWORD* pdwStubPhase);
   11320 HRESULT STDMETHODCALLTYPE ISpProperties_GetPropertyNum_Proxy(
   11321     ISpProperties* This,
   11322     LPCWSTR pName,
   11323     LONG *plValue);
   11324 void __RPC_STUB ISpProperties_GetPropertyNum_Stub(
   11325     IRpcStubBuffer* This,
   11326     IRpcChannelBuffer* pRpcChannelBuffer,
   11327     PRPC_MESSAGE pRpcMessage,
   11328     DWORD* pdwStubPhase);
   11329 HRESULT STDMETHODCALLTYPE ISpProperties_SetPropertyString_Proxy(
   11330     ISpProperties* This,
   11331     LPCWSTR pName,
   11332     LPCWSTR pValue);
   11333 void __RPC_STUB ISpProperties_SetPropertyString_Stub(
   11334     IRpcStubBuffer* This,
   11335     IRpcChannelBuffer* pRpcChannelBuffer,
   11336     PRPC_MESSAGE pRpcMessage,
   11337     DWORD* pdwStubPhase);
   11338 HRESULT STDMETHODCALLTYPE ISpProperties_GetPropertyString_Proxy(
   11339     ISpProperties* This,
   11340     LPCWSTR pName,
   11341     LPWSTR *ppCoMemValue);
   11342 void __RPC_STUB ISpProperties_GetPropertyString_Stub(
   11343     IRpcStubBuffer* This,
   11344     IRpcChannelBuffer* pRpcChannelBuffer,
   11345     PRPC_MESSAGE pRpcMessage,
   11346     DWORD* pdwStubPhase);
   11347 
   11348 #endif  /* __ISpProperties_INTERFACE_DEFINED__ */
   11349 
   11350 #define SP_MAX_LANGIDS (20)
   11351 
   11352 typedef struct SPRECOGNIZERSTATUS {
   11353     SPAUDIOSTATUS AudioStatus;
   11354     ULONGLONG ullRecognitionStreamPos;
   11355     ULONG ulStreamNumber;
   11356     ULONG ulNumActive;
   11357     CLSID clsidEngine;
   11358     ULONG cLangIDs;
   11359     WORD aLangID[20];
   11360     ULONGLONG ullRecognitionStreamTime;
   11361 } SPRECOGNIZERSTATUS;
   11362 typedef enum SPWAVEFORMATTYPE {
   11363     SPWF_INPUT = 0,
   11364     SPWF_SRENGINE = 1
   11365 } SPSTREAMFORMATTYPE;
   11366 typedef enum SPRECOSTATE {
   11367     SPRST_INACTIVE = 0,
   11368     SPRST_ACTIVE = 1,
   11369     SPRST_ACTIVE_ALWAYS = 2,
   11370     SPRST_INACTIVE_WITH_PURGE = 3,
   11371     SPRST_NUM_STATES = 4
   11372 } SPRECOSTATE;
   11373 /*****************************************************************************
   11374  * ISpRecognizer interface
   11375  */
   11376 #ifndef __ISpRecognizer_INTERFACE_DEFINED__
   11377 #define __ISpRecognizer_INTERFACE_DEFINED__
   11378 
   11379 DEFINE_GUID(IID_ISpRecognizer, 0xc2b5f241, 0xdaa0, 0x4507, 0x9e,0x16, 0x5a,0x1e,0xaa,0x2b,0x7a,0x5c);
   11380 #if defined(__cplusplus) && !defined(CINTERFACE)
   11381 MIDL_INTERFACE("c2b5f241-daa0-4507-9e16-5a1eaa2b7a5c")
   11382 ISpRecognizer : public ISpProperties
   11383 {
   11384     virtual HRESULT STDMETHODCALLTYPE SetRecognizer(
   11385         ISpObjectToken *pRecognizer) = 0;
   11386 
   11387     virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
   11388         ISpObjectToken **ppRecognizer) = 0;
   11389 
   11390     virtual HRESULT STDMETHODCALLTYPE SetInput(
   11391         IUnknown *pUnkInput,
   11392         WINBOOL fAllowFormatChanges) = 0;
   11393 
   11394     virtual HRESULT STDMETHODCALLTYPE GetInputObjectToken(
   11395         ISpObjectToken **ppToken) = 0;
   11396 
   11397     virtual HRESULT STDMETHODCALLTYPE GetInputStream(
   11398         ISpStreamFormat **ppStream) = 0;
   11399 
   11400     virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
   11401         ISpRecoContext **ppNewCtxt) = 0;
   11402 
   11403     virtual HRESULT STDMETHODCALLTYPE GetRecoProfile(
   11404         ISpObjectToken **ppToken) = 0;
   11405 
   11406     virtual HRESULT STDMETHODCALLTYPE SetRecoProfile(
   11407         ISpObjectToken *pToken) = 0;
   11408 
   11409     virtual HRESULT STDMETHODCALLTYPE IsSharedInstance(
   11410         ) = 0;
   11411 
   11412     virtual HRESULT STDMETHODCALLTYPE GetRecoState(
   11413         SPRECOSTATE *pState) = 0;
   11414 
   11415     virtual HRESULT STDMETHODCALLTYPE SetRecoState(
   11416         SPRECOSTATE NewState) = 0;
   11417 
   11418     virtual HRESULT STDMETHODCALLTYPE GetStatus(
   11419         SPRECOGNIZERSTATUS *pStatus) = 0;
   11420 
   11421     virtual HRESULT STDMETHODCALLTYPE GetFormat(
   11422         SPSTREAMFORMATTYPE WaveFormatType,
   11423         GUID *pFormatId,
   11424         WAVEFORMATEX **ppCoMemWFEX) = 0;
   11425 
   11426     virtual HRESULT STDMETHODCALLTYPE IsUISupported(
   11427         LPCWSTR pszTypeOfUI,
   11428         void *pvExtraData,
   11429         ULONG cbExtraData,
   11430         WINBOOL *pfSupported) = 0;
   11431 
   11432     virtual HRESULT STDMETHODCALLTYPE DisplayUI(
   11433         HWND hwndParent,
   11434         LPCWSTR pszTitle,
   11435         LPCWSTR pszTypeOfUI,
   11436         void *pvExtraData,
   11437         ULONG cbExtraData) = 0;
   11438 
   11439     virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
   11440         ISpPhrase *pPhrase) = 0;
   11441 
   11442 };
   11443 #ifdef __CRT_UUID_DECL
   11444 __CRT_UUID_DECL(ISpRecognizer, 0xc2b5f241, 0xdaa0, 0x4507, 0x9e,0x16, 0x5a,0x1e,0xaa,0x2b,0x7a,0x5c)
   11445 #endif
   11446 #else
   11447 typedef struct ISpRecognizerVtbl {
   11448     BEGIN_INTERFACE
   11449 
   11450     /*** IUnknown methods ***/
   11451     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   11452         ISpRecognizer* This,
   11453         REFIID riid,
   11454         void **ppvObject);
   11455 
   11456     ULONG (STDMETHODCALLTYPE *AddRef)(
   11457         ISpRecognizer* This);
   11458 
   11459     ULONG (STDMETHODCALLTYPE *Release)(
   11460         ISpRecognizer* This);
   11461 
   11462     /*** ISpProperties methods ***/
   11463     HRESULT (STDMETHODCALLTYPE *SetPropertyNum)(
   11464         ISpRecognizer* This,
   11465         LPCWSTR pName,
   11466         LONG lValue);
   11467 
   11468     HRESULT (STDMETHODCALLTYPE *GetPropertyNum)(
   11469         ISpRecognizer* This,
   11470         LPCWSTR pName,
   11471         LONG *plValue);
   11472 
   11473     HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
   11474         ISpRecognizer* This,
   11475         LPCWSTR pName,
   11476         LPCWSTR pValue);
   11477 
   11478     HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
   11479         ISpRecognizer* This,
   11480         LPCWSTR pName,
   11481         LPWSTR *ppCoMemValue);
   11482 
   11483     /*** ISpRecognizer methods ***/
   11484     HRESULT (STDMETHODCALLTYPE *SetRecognizer)(
   11485         ISpRecognizer* This,
   11486         ISpObjectToken *pRecognizer);
   11487 
   11488     HRESULT (STDMETHODCALLTYPE *GetRecognizer)(
   11489         ISpRecognizer* This,
   11490         ISpObjectToken **ppRecognizer);
   11491 
   11492     HRESULT (STDMETHODCALLTYPE *SetInput)(
   11493         ISpRecognizer* This,
   11494         IUnknown *pUnkInput,
   11495         WINBOOL fAllowFormatChanges);
   11496 
   11497     HRESULT (STDMETHODCALLTYPE *GetInputObjectToken)(
   11498         ISpRecognizer* This,
   11499         ISpObjectToken **ppToken);
   11500 
   11501     HRESULT (STDMETHODCALLTYPE *GetInputStream)(
   11502         ISpRecognizer* This,
   11503         ISpStreamFormat **ppStream);
   11504 
   11505     HRESULT (STDMETHODCALLTYPE *CreateRecoContext)(
   11506         ISpRecognizer* This,
   11507         ISpRecoContext **ppNewCtxt);
   11508 
   11509     HRESULT (STDMETHODCALLTYPE *GetRecoProfile)(
   11510         ISpRecognizer* This,
   11511         ISpObjectToken **ppToken);
   11512 
   11513     HRESULT (STDMETHODCALLTYPE *SetRecoProfile)(
   11514         ISpRecognizer* This,
   11515         ISpObjectToken *pToken);
   11516 
   11517     HRESULT (STDMETHODCALLTYPE *IsSharedInstance)(
   11518         ISpRecognizer* This);
   11519 
   11520     HRESULT (STDMETHODCALLTYPE *GetRecoState)(
   11521         ISpRecognizer* This,
   11522         SPRECOSTATE *pState);
   11523 
   11524     HRESULT (STDMETHODCALLTYPE *SetRecoState)(
   11525         ISpRecognizer* This,
   11526         SPRECOSTATE NewState);
   11527 
   11528     HRESULT (STDMETHODCALLTYPE *GetStatus)(
   11529         ISpRecognizer* This,
   11530         SPRECOGNIZERSTATUS *pStatus);
   11531 
   11532     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   11533         ISpRecognizer* This,
   11534         SPSTREAMFORMATTYPE WaveFormatType,
   11535         GUID *pFormatId,
   11536         WAVEFORMATEX **ppCoMemWFEX);
   11537 
   11538     HRESULT (STDMETHODCALLTYPE *IsUISupported)(
   11539         ISpRecognizer* This,
   11540         LPCWSTR pszTypeOfUI,
   11541         void *pvExtraData,
   11542         ULONG cbExtraData,
   11543         WINBOOL *pfSupported);
   11544 
   11545     HRESULT (STDMETHODCALLTYPE *DisplayUI)(
   11546         ISpRecognizer* This,
   11547         HWND hwndParent,
   11548         LPCWSTR pszTitle,
   11549         LPCWSTR pszTypeOfUI,
   11550         void *pvExtraData,
   11551         ULONG cbExtraData);
   11552 
   11553     HRESULT (STDMETHODCALLTYPE *EmulateRecognition)(
   11554         ISpRecognizer* This,
   11555         ISpPhrase *pPhrase);
   11556 
   11557     END_INTERFACE
   11558 } ISpRecognizerVtbl;
   11559 interface ISpRecognizer {
   11560     CONST_VTBL ISpRecognizerVtbl* lpVtbl;
   11561 };
   11562 
   11563 #ifdef COBJMACROS
   11564 #ifndef WIDL_C_INLINE_WRAPPERS
   11565 /*** IUnknown methods ***/
   11566 #define ISpRecognizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11567 #define ISpRecognizer_AddRef(This) (This)->lpVtbl->AddRef(This)
   11568 #define ISpRecognizer_Release(This) (This)->lpVtbl->Release(This)
   11569 /*** ISpProperties methods ***/
   11570 #define ISpRecognizer_SetPropertyNum(This,pName,lValue) (This)->lpVtbl->SetPropertyNum(This,pName,lValue)
   11571 #define ISpRecognizer_GetPropertyNum(This,pName,plValue) (This)->lpVtbl->GetPropertyNum(This,pName,plValue)
   11572 #define ISpRecognizer_SetPropertyString(This,pName,pValue) (This)->lpVtbl->SetPropertyString(This,pName,pValue)
   11573 #define ISpRecognizer_GetPropertyString(This,pName,ppCoMemValue) (This)->lpVtbl->GetPropertyString(This,pName,ppCoMemValue)
   11574 /*** ISpRecognizer methods ***/
   11575 #define ISpRecognizer_SetRecognizer(This,pRecognizer) (This)->lpVtbl->SetRecognizer(This,pRecognizer)
   11576 #define ISpRecognizer_GetRecognizer(This,ppRecognizer) (This)->lpVtbl->GetRecognizer(This,ppRecognizer)
   11577 #define ISpRecognizer_SetInput(This,pUnkInput,fAllowFormatChanges) (This)->lpVtbl->SetInput(This,pUnkInput,fAllowFormatChanges)
   11578 #define ISpRecognizer_GetInputObjectToken(This,ppToken) (This)->lpVtbl->GetInputObjectToken(This,ppToken)
   11579 #define ISpRecognizer_GetInputStream(This,ppStream) (This)->lpVtbl->GetInputStream(This,ppStream)
   11580 #define ISpRecognizer_CreateRecoContext(This,ppNewCtxt) (This)->lpVtbl->CreateRecoContext(This,ppNewCtxt)
   11581 #define ISpRecognizer_GetRecoProfile(This,ppToken) (This)->lpVtbl->GetRecoProfile(This,ppToken)
   11582 #define ISpRecognizer_SetRecoProfile(This,pToken) (This)->lpVtbl->SetRecoProfile(This,pToken)
   11583 #define ISpRecognizer_IsSharedInstance(This) (This)->lpVtbl->IsSharedInstance(This)
   11584 #define ISpRecognizer_GetRecoState(This,pState) (This)->lpVtbl->GetRecoState(This,pState)
   11585 #define ISpRecognizer_SetRecoState(This,NewState) (This)->lpVtbl->SetRecoState(This,NewState)
   11586 #define ISpRecognizer_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
   11587 #define ISpRecognizer_GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX) (This)->lpVtbl->GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX)
   11588 #define ISpRecognizer_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
   11589 #define ISpRecognizer_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
   11590 #define ISpRecognizer_EmulateRecognition(This,pPhrase) (This)->lpVtbl->EmulateRecognition(This,pPhrase)
   11591 #else
   11592 /*** IUnknown methods ***/
   11593 static FORCEINLINE HRESULT ISpRecognizer_QueryInterface(ISpRecognizer* This,REFIID riid,void **ppvObject) {
   11594     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   11595 }
   11596 static FORCEINLINE ULONG ISpRecognizer_AddRef(ISpRecognizer* This) {
   11597     return This->lpVtbl->AddRef(This);
   11598 }
   11599 static FORCEINLINE ULONG ISpRecognizer_Release(ISpRecognizer* This) {
   11600     return This->lpVtbl->Release(This);
   11601 }
   11602 /*** ISpProperties methods ***/
   11603 static FORCEINLINE HRESULT ISpRecognizer_SetPropertyNum(ISpRecognizer* This,LPCWSTR pName,LONG lValue) {
   11604     return This->lpVtbl->SetPropertyNum(This,pName,lValue);
   11605 }
   11606 static FORCEINLINE HRESULT ISpRecognizer_GetPropertyNum(ISpRecognizer* This,LPCWSTR pName,LONG *plValue) {
   11607     return This->lpVtbl->GetPropertyNum(This,pName,plValue);
   11608 }
   11609 static FORCEINLINE HRESULT ISpRecognizer_SetPropertyString(ISpRecognizer* This,LPCWSTR pName,LPCWSTR pValue) {
   11610     return This->lpVtbl->SetPropertyString(This,pName,pValue);
   11611 }
   11612 static FORCEINLINE HRESULT ISpRecognizer_GetPropertyString(ISpRecognizer* This,LPCWSTR pName,LPWSTR *ppCoMemValue) {
   11613     return This->lpVtbl->GetPropertyString(This,pName,ppCoMemValue);
   11614 }
   11615 /*** ISpRecognizer methods ***/
   11616 static FORCEINLINE HRESULT ISpRecognizer_SetRecognizer(ISpRecognizer* This,ISpObjectToken *pRecognizer) {
   11617     return This->lpVtbl->SetRecognizer(This,pRecognizer);
   11618 }
   11619 static FORCEINLINE HRESULT ISpRecognizer_GetRecognizer(ISpRecognizer* This,ISpObjectToken **ppRecognizer) {
   11620     return This->lpVtbl->GetRecognizer(This,ppRecognizer);
   11621 }
   11622 static FORCEINLINE HRESULT ISpRecognizer_SetInput(ISpRecognizer* This,IUnknown *pUnkInput,WINBOOL fAllowFormatChanges) {
   11623     return This->lpVtbl->SetInput(This,pUnkInput,fAllowFormatChanges);
   11624 }
   11625 static FORCEINLINE HRESULT ISpRecognizer_GetInputObjectToken(ISpRecognizer* This,ISpObjectToken **ppToken) {
   11626     return This->lpVtbl->GetInputObjectToken(This,ppToken);
   11627 }
   11628 static FORCEINLINE HRESULT ISpRecognizer_GetInputStream(ISpRecognizer* This,ISpStreamFormat **ppStream) {
   11629     return This->lpVtbl->GetInputStream(This,ppStream);
   11630 }
   11631 static FORCEINLINE HRESULT ISpRecognizer_CreateRecoContext(ISpRecognizer* This,ISpRecoContext **ppNewCtxt) {
   11632     return This->lpVtbl->CreateRecoContext(This,ppNewCtxt);
   11633 }
   11634 static FORCEINLINE HRESULT ISpRecognizer_GetRecoProfile(ISpRecognizer* This,ISpObjectToken **ppToken) {
   11635     return This->lpVtbl->GetRecoProfile(This,ppToken);
   11636 }
   11637 static FORCEINLINE HRESULT ISpRecognizer_SetRecoProfile(ISpRecognizer* This,ISpObjectToken *pToken) {
   11638     return This->lpVtbl->SetRecoProfile(This,pToken);
   11639 }
   11640 static FORCEINLINE HRESULT ISpRecognizer_IsSharedInstance(ISpRecognizer* This) {
   11641     return This->lpVtbl->IsSharedInstance(This);
   11642 }
   11643 static FORCEINLINE HRESULT ISpRecognizer_GetRecoState(ISpRecognizer* This,SPRECOSTATE *pState) {
   11644     return This->lpVtbl->GetRecoState(This,pState);
   11645 }
   11646 static FORCEINLINE HRESULT ISpRecognizer_SetRecoState(ISpRecognizer* This,SPRECOSTATE NewState) {
   11647     return This->lpVtbl->SetRecoState(This,NewState);
   11648 }
   11649 static FORCEINLINE HRESULT ISpRecognizer_GetStatus(ISpRecognizer* This,SPRECOGNIZERSTATUS *pStatus) {
   11650     return This->lpVtbl->GetStatus(This,pStatus);
   11651 }
   11652 static FORCEINLINE HRESULT ISpRecognizer_GetFormat(ISpRecognizer* This,SPSTREAMFORMATTYPE WaveFormatType,GUID *pFormatId,WAVEFORMATEX **ppCoMemWFEX) {
   11653     return This->lpVtbl->GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX);
   11654 }
   11655 static FORCEINLINE HRESULT ISpRecognizer_IsUISupported(ISpRecognizer* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,WINBOOL *pfSupported) {
   11656     return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported);
   11657 }
   11658 static FORCEINLINE HRESULT ISpRecognizer_DisplayUI(ISpRecognizer* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData) {
   11659     return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData);
   11660 }
   11661 static FORCEINLINE HRESULT ISpRecognizer_EmulateRecognition(ISpRecognizer* This,ISpPhrase *pPhrase) {
   11662     return This->lpVtbl->EmulateRecognition(This,pPhrase);
   11663 }
   11664 #endif
   11665 #endif
   11666 
   11667 #endif
   11668 
   11669 HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecognizer_Proxy(
   11670     ISpRecognizer* This,
   11671     ISpObjectToken *pRecognizer);
   11672 void __RPC_STUB ISpRecognizer_SetRecognizer_Stub(
   11673     IRpcStubBuffer* This,
   11674     IRpcChannelBuffer* pRpcChannelBuffer,
   11675     PRPC_MESSAGE pRpcMessage,
   11676     DWORD* pdwStubPhase);
   11677 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecognizer_Proxy(
   11678     ISpRecognizer* This,
   11679     ISpObjectToken **ppRecognizer);
   11680 void __RPC_STUB ISpRecognizer_GetRecognizer_Stub(
   11681     IRpcStubBuffer* This,
   11682     IRpcChannelBuffer* pRpcChannelBuffer,
   11683     PRPC_MESSAGE pRpcMessage,
   11684     DWORD* pdwStubPhase);
   11685 HRESULT STDMETHODCALLTYPE ISpRecognizer_SetInput_Proxy(
   11686     ISpRecognizer* This,
   11687     IUnknown *pUnkInput,
   11688     WINBOOL fAllowFormatChanges);
   11689 void __RPC_STUB ISpRecognizer_SetInput_Stub(
   11690     IRpcStubBuffer* This,
   11691     IRpcChannelBuffer* pRpcChannelBuffer,
   11692     PRPC_MESSAGE pRpcMessage,
   11693     DWORD* pdwStubPhase);
   11694 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetInputObjectToken_Proxy(
   11695     ISpRecognizer* This,
   11696     ISpObjectToken **ppToken);
   11697 void __RPC_STUB ISpRecognizer_GetInputObjectToken_Stub(
   11698     IRpcStubBuffer* This,
   11699     IRpcChannelBuffer* pRpcChannelBuffer,
   11700     PRPC_MESSAGE pRpcMessage,
   11701     DWORD* pdwStubPhase);
   11702 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetInputStream_Proxy(
   11703     ISpRecognizer* This,
   11704     ISpStreamFormat **ppStream);
   11705 void __RPC_STUB ISpRecognizer_GetInputStream_Stub(
   11706     IRpcStubBuffer* This,
   11707     IRpcChannelBuffer* pRpcChannelBuffer,
   11708     PRPC_MESSAGE pRpcMessage,
   11709     DWORD* pdwStubPhase);
   11710 HRESULT STDMETHODCALLTYPE ISpRecognizer_CreateRecoContext_Proxy(
   11711     ISpRecognizer* This,
   11712     ISpRecoContext **ppNewCtxt);
   11713 void __RPC_STUB ISpRecognizer_CreateRecoContext_Stub(
   11714     IRpcStubBuffer* This,
   11715     IRpcChannelBuffer* pRpcChannelBuffer,
   11716     PRPC_MESSAGE pRpcMessage,
   11717     DWORD* pdwStubPhase);
   11718 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecoProfile_Proxy(
   11719     ISpRecognizer* This,
   11720     ISpObjectToken **ppToken);
   11721 void __RPC_STUB ISpRecognizer_GetRecoProfile_Stub(
   11722     IRpcStubBuffer* This,
   11723     IRpcChannelBuffer* pRpcChannelBuffer,
   11724     PRPC_MESSAGE pRpcMessage,
   11725     DWORD* pdwStubPhase);
   11726 HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecoProfile_Proxy(
   11727     ISpRecognizer* This,
   11728     ISpObjectToken *pToken);
   11729 void __RPC_STUB ISpRecognizer_SetRecoProfile_Stub(
   11730     IRpcStubBuffer* This,
   11731     IRpcChannelBuffer* pRpcChannelBuffer,
   11732     PRPC_MESSAGE pRpcMessage,
   11733     DWORD* pdwStubPhase);
   11734 HRESULT STDMETHODCALLTYPE ISpRecognizer_IsSharedInstance_Proxy(
   11735     ISpRecognizer* This);
   11736 void __RPC_STUB ISpRecognizer_IsSharedInstance_Stub(
   11737     IRpcStubBuffer* This,
   11738     IRpcChannelBuffer* pRpcChannelBuffer,
   11739     PRPC_MESSAGE pRpcMessage,
   11740     DWORD* pdwStubPhase);
   11741 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecoState_Proxy(
   11742     ISpRecognizer* This,
   11743     SPRECOSTATE *pState);
   11744 void __RPC_STUB ISpRecognizer_GetRecoState_Stub(
   11745     IRpcStubBuffer* This,
   11746     IRpcChannelBuffer* pRpcChannelBuffer,
   11747     PRPC_MESSAGE pRpcMessage,
   11748     DWORD* pdwStubPhase);
   11749 HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecoState_Proxy(
   11750     ISpRecognizer* This,
   11751     SPRECOSTATE NewState);
   11752 void __RPC_STUB ISpRecognizer_SetRecoState_Stub(
   11753     IRpcStubBuffer* This,
   11754     IRpcChannelBuffer* pRpcChannelBuffer,
   11755     PRPC_MESSAGE pRpcMessage,
   11756     DWORD* pdwStubPhase);
   11757 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetStatus_Proxy(
   11758     ISpRecognizer* This,
   11759     SPRECOGNIZERSTATUS *pStatus);
   11760 void __RPC_STUB ISpRecognizer_GetStatus_Stub(
   11761     IRpcStubBuffer* This,
   11762     IRpcChannelBuffer* pRpcChannelBuffer,
   11763     PRPC_MESSAGE pRpcMessage,
   11764     DWORD* pdwStubPhase);
   11765 HRESULT STDMETHODCALLTYPE ISpRecognizer_GetFormat_Proxy(
   11766     ISpRecognizer* This,
   11767     SPSTREAMFORMATTYPE WaveFormatType,
   11768     GUID *pFormatId,
   11769     WAVEFORMATEX **ppCoMemWFEX);
   11770 void __RPC_STUB ISpRecognizer_GetFormat_Stub(
   11771     IRpcStubBuffer* This,
   11772     IRpcChannelBuffer* pRpcChannelBuffer,
   11773     PRPC_MESSAGE pRpcMessage,
   11774     DWORD* pdwStubPhase);
   11775 HRESULT STDMETHODCALLTYPE ISpRecognizer_EmulateRecognition_Proxy(
   11776     ISpRecognizer* This,
   11777     ISpPhrase *pPhrase);
   11778 void __RPC_STUB ISpRecognizer_EmulateRecognition_Stub(
   11779     IRpcStubBuffer* This,
   11780     IRpcChannelBuffer* pRpcChannelBuffer,
   11781     PRPC_MESSAGE pRpcMessage,
   11782     DWORD* pdwStubPhase);
   11783 
   11784 #endif  /* __ISpRecognizer_INTERFACE_DEFINED__ */
   11785 
   11786 /*****************************************************************************
   11787  * ISpSerializeState interface
   11788  */
   11789 #ifndef __ISpSerializeState_INTERFACE_DEFINED__
   11790 #define __ISpSerializeState_INTERFACE_DEFINED__
   11791 
   11792 DEFINE_GUID(IID_ISpSerializeState, 0x21b501a0, 0x0ec7, 0x46c9, 0x92,0xc3, 0xa2,0xbc,0x78,0x4c,0x54,0xb9);
   11793 #if defined(__cplusplus) && !defined(CINTERFACE)
   11794 MIDL_INTERFACE("21b501a0-0ec7-46c9-92c3-a2bc784c54b9")
   11795 ISpSerializeState : public IUnknown
   11796 {
   11797     virtual HRESULT STDMETHODCALLTYPE GetSerializedState(
   11798         BYTE **ppbData,
   11799         ULONG *pulSize,
   11800         DWORD dwReserved) = 0;
   11801 
   11802     virtual HRESULT STDMETHODCALLTYPE SetSerializedState(
   11803         BYTE *pbData,
   11804         ULONG ulSize,
   11805         DWORD dwReserved) = 0;
   11806 
   11807 };
   11808 #ifdef __CRT_UUID_DECL
   11809 __CRT_UUID_DECL(ISpSerializeState, 0x21b501a0, 0x0ec7, 0x46c9, 0x92,0xc3, 0xa2,0xbc,0x78,0x4c,0x54,0xb9)
   11810 #endif
   11811 #else
   11812 typedef struct ISpSerializeStateVtbl {
   11813     BEGIN_INTERFACE
   11814 
   11815     /*** IUnknown methods ***/
   11816     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   11817         ISpSerializeState* This,
   11818         REFIID riid,
   11819         void **ppvObject);
   11820 
   11821     ULONG (STDMETHODCALLTYPE *AddRef)(
   11822         ISpSerializeState* This);
   11823 
   11824     ULONG (STDMETHODCALLTYPE *Release)(
   11825         ISpSerializeState* This);
   11826 
   11827     /*** ISpSerializeState methods ***/
   11828     HRESULT (STDMETHODCALLTYPE *GetSerializedState)(
   11829         ISpSerializeState* This,
   11830         BYTE **ppbData,
   11831         ULONG *pulSize,
   11832         DWORD dwReserved);
   11833 
   11834     HRESULT (STDMETHODCALLTYPE *SetSerializedState)(
   11835         ISpSerializeState* This,
   11836         BYTE *pbData,
   11837         ULONG ulSize,
   11838         DWORD dwReserved);
   11839 
   11840     END_INTERFACE
   11841 } ISpSerializeStateVtbl;
   11842 interface ISpSerializeState {
   11843     CONST_VTBL ISpSerializeStateVtbl* lpVtbl;
   11844 };
   11845 
   11846 #ifdef COBJMACROS
   11847 #ifndef WIDL_C_INLINE_WRAPPERS
   11848 /*** IUnknown methods ***/
   11849 #define ISpSerializeState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11850 #define ISpSerializeState_AddRef(This) (This)->lpVtbl->AddRef(This)
   11851 #define ISpSerializeState_Release(This) (This)->lpVtbl->Release(This)
   11852 /*** ISpSerializeState methods ***/
   11853 #define ISpSerializeState_GetSerializedState(This,ppbData,pulSize,dwReserved) (This)->lpVtbl->GetSerializedState(This,ppbData,pulSize,dwReserved)
   11854 #define ISpSerializeState_SetSerializedState(This,pbData,ulSize,dwReserved) (This)->lpVtbl->SetSerializedState(This,pbData,ulSize,dwReserved)
   11855 #else
   11856 /*** IUnknown methods ***/
   11857 static FORCEINLINE HRESULT ISpSerializeState_QueryInterface(ISpSerializeState* This,REFIID riid,void **ppvObject) {
   11858     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   11859 }
   11860 static FORCEINLINE ULONG ISpSerializeState_AddRef(ISpSerializeState* This) {
   11861     return This->lpVtbl->AddRef(This);
   11862 }
   11863 static FORCEINLINE ULONG ISpSerializeState_Release(ISpSerializeState* This) {
   11864     return This->lpVtbl->Release(This);
   11865 }
   11866 /*** ISpSerializeState methods ***/
   11867 static FORCEINLINE HRESULT ISpSerializeState_GetSerializedState(ISpSerializeState* This,BYTE **ppbData,ULONG *pulSize,DWORD dwReserved) {
   11868     return This->lpVtbl->GetSerializedState(This,ppbData,pulSize,dwReserved);
   11869 }
   11870 static FORCEINLINE HRESULT ISpSerializeState_SetSerializedState(ISpSerializeState* This,BYTE *pbData,ULONG ulSize,DWORD dwReserved) {
   11871     return This->lpVtbl->SetSerializedState(This,pbData,ulSize,dwReserved);
   11872 }
   11873 #endif
   11874 #endif
   11875 
   11876 #endif
   11877 
   11878 HRESULT STDMETHODCALLTYPE ISpSerializeState_GetSerializedState_Proxy(
   11879     ISpSerializeState* This,
   11880     BYTE **ppbData,
   11881     ULONG *pulSize,
   11882     DWORD dwReserved);
   11883 void __RPC_STUB ISpSerializeState_GetSerializedState_Stub(
   11884     IRpcStubBuffer* This,
   11885     IRpcChannelBuffer* pRpcChannelBuffer,
   11886     PRPC_MESSAGE pRpcMessage,
   11887     DWORD* pdwStubPhase);
   11888 HRESULT STDMETHODCALLTYPE ISpSerializeState_SetSerializedState_Proxy(
   11889     ISpSerializeState* This,
   11890     BYTE *pbData,
   11891     ULONG ulSize,
   11892     DWORD dwReserved);
   11893 void __RPC_STUB ISpSerializeState_SetSerializedState_Stub(
   11894     IRpcStubBuffer* This,
   11895     IRpcChannelBuffer* pRpcChannelBuffer,
   11896     PRPC_MESSAGE pRpcMessage,
   11897     DWORD* pdwStubPhase);
   11898 
   11899 #endif  /* __ISpSerializeState_INTERFACE_DEFINED__ */
   11900 
   11901 /*****************************************************************************
   11902  * ISpRecognizer2 interface
   11903  */
   11904 #ifndef __ISpRecognizer2_INTERFACE_DEFINED__
   11905 #define __ISpRecognizer2_INTERFACE_DEFINED__
   11906 
   11907 DEFINE_GUID(IID_ISpRecognizer2, 0x8fc6d974, 0xc81e, 0x4098, 0x93,0xc5, 0x01,0x47,0xf6,0x1e,0xd4,0xd3);
   11908 #if defined(__cplusplus) && !defined(CINTERFACE)
   11909 MIDL_INTERFACE("8fc6d974-c81e-4098-93c5-0147f61ed4d3")
   11910 ISpRecognizer2 : public IUnknown
   11911 {
   11912     virtual HRESULT STDMETHODCALLTYPE EmulateRecognitionEx(
   11913         ISpPhrase *pPhrase,
   11914         DWORD dwCompareFlags) = 0;
   11915 
   11916     virtual HRESULT STDMETHODCALLTYPE SetTrainingState(
   11917         WINBOOL fDoingTraining,
   11918         WINBOOL fAdaptFromTrainingData) = 0;
   11919 
   11920     virtual HRESULT STDMETHODCALLTYPE ResetAcousticModelAdaptation(
   11921         ) = 0;
   11922 
   11923 };
   11924 #ifdef __CRT_UUID_DECL
   11925 __CRT_UUID_DECL(ISpRecognizer2, 0x8fc6d974, 0xc81e, 0x4098, 0x93,0xc5, 0x01,0x47,0xf6,0x1e,0xd4,0xd3)
   11926 #endif
   11927 #else
   11928 typedef struct ISpRecognizer2Vtbl {
   11929     BEGIN_INTERFACE
   11930 
   11931     /*** IUnknown methods ***/
   11932     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   11933         ISpRecognizer2* This,
   11934         REFIID riid,
   11935         void **ppvObject);
   11936 
   11937     ULONG (STDMETHODCALLTYPE *AddRef)(
   11938         ISpRecognizer2* This);
   11939 
   11940     ULONG (STDMETHODCALLTYPE *Release)(
   11941         ISpRecognizer2* This);
   11942 
   11943     /*** ISpRecognizer2 methods ***/
   11944     HRESULT (STDMETHODCALLTYPE *EmulateRecognitionEx)(
   11945         ISpRecognizer2* This,
   11946         ISpPhrase *pPhrase,
   11947         DWORD dwCompareFlags);
   11948 
   11949     HRESULT (STDMETHODCALLTYPE *SetTrainingState)(
   11950         ISpRecognizer2* This,
   11951         WINBOOL fDoingTraining,
   11952         WINBOOL fAdaptFromTrainingData);
   11953 
   11954     HRESULT (STDMETHODCALLTYPE *ResetAcousticModelAdaptation)(
   11955         ISpRecognizer2* This);
   11956 
   11957     END_INTERFACE
   11958 } ISpRecognizer2Vtbl;
   11959 interface ISpRecognizer2 {
   11960     CONST_VTBL ISpRecognizer2Vtbl* lpVtbl;
   11961 };
   11962 
   11963 #ifdef COBJMACROS
   11964 #ifndef WIDL_C_INLINE_WRAPPERS
   11965 /*** IUnknown methods ***/
   11966 #define ISpRecognizer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   11967 #define ISpRecognizer2_AddRef(This) (This)->lpVtbl->AddRef(This)
   11968 #define ISpRecognizer2_Release(This) (This)->lpVtbl->Release(This)
   11969 /*** ISpRecognizer2 methods ***/
   11970 #define ISpRecognizer2_EmulateRecognitionEx(This,pPhrase,dwCompareFlags) (This)->lpVtbl->EmulateRecognitionEx(This,pPhrase,dwCompareFlags)
   11971 #define ISpRecognizer2_SetTrainingState(This,fDoingTraining,fAdaptFromTrainingData) (This)->lpVtbl->SetTrainingState(This,fDoingTraining,fAdaptFromTrainingData)
   11972 #define ISpRecognizer2_ResetAcousticModelAdaptation(This) (This)->lpVtbl->ResetAcousticModelAdaptation(This)
   11973 #else
   11974 /*** IUnknown methods ***/
   11975 static FORCEINLINE HRESULT ISpRecognizer2_QueryInterface(ISpRecognizer2* This,REFIID riid,void **ppvObject) {
   11976     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   11977 }
   11978 static FORCEINLINE ULONG ISpRecognizer2_AddRef(ISpRecognizer2* This) {
   11979     return This->lpVtbl->AddRef(This);
   11980 }
   11981 static FORCEINLINE ULONG ISpRecognizer2_Release(ISpRecognizer2* This) {
   11982     return This->lpVtbl->Release(This);
   11983 }
   11984 /*** ISpRecognizer2 methods ***/
   11985 static FORCEINLINE HRESULT ISpRecognizer2_EmulateRecognitionEx(ISpRecognizer2* This,ISpPhrase *pPhrase,DWORD dwCompareFlags) {
   11986     return This->lpVtbl->EmulateRecognitionEx(This,pPhrase,dwCompareFlags);
   11987 }
   11988 static FORCEINLINE HRESULT ISpRecognizer2_SetTrainingState(ISpRecognizer2* This,WINBOOL fDoingTraining,WINBOOL fAdaptFromTrainingData) {
   11989     return This->lpVtbl->SetTrainingState(This,fDoingTraining,fAdaptFromTrainingData);
   11990 }
   11991 static FORCEINLINE HRESULT ISpRecognizer2_ResetAcousticModelAdaptation(ISpRecognizer2* This) {
   11992     return This->lpVtbl->ResetAcousticModelAdaptation(This);
   11993 }
   11994 #endif
   11995 #endif
   11996 
   11997 #endif
   11998 
   11999 HRESULT STDMETHODCALLTYPE ISpRecognizer2_EmulateRecognitionEx_Proxy(
   12000     ISpRecognizer2* This,
   12001     ISpPhrase *pPhrase,
   12002     DWORD dwCompareFlags);
   12003 void __RPC_STUB ISpRecognizer2_EmulateRecognitionEx_Stub(
   12004     IRpcStubBuffer* This,
   12005     IRpcChannelBuffer* pRpcChannelBuffer,
   12006     PRPC_MESSAGE pRpcMessage,
   12007     DWORD* pdwStubPhase);
   12008 HRESULT STDMETHODCALLTYPE ISpRecognizer2_SetTrainingState_Proxy(
   12009     ISpRecognizer2* This,
   12010     WINBOOL fDoingTraining,
   12011     WINBOOL fAdaptFromTrainingData);
   12012 void __RPC_STUB ISpRecognizer2_SetTrainingState_Stub(
   12013     IRpcStubBuffer* This,
   12014     IRpcChannelBuffer* pRpcChannelBuffer,
   12015     PRPC_MESSAGE pRpcMessage,
   12016     DWORD* pdwStubPhase);
   12017 HRESULT STDMETHODCALLTYPE ISpRecognizer2_ResetAcousticModelAdaptation_Proxy(
   12018     ISpRecognizer2* This);
   12019 void __RPC_STUB ISpRecognizer2_ResetAcousticModelAdaptation_Stub(
   12020     IRpcStubBuffer* This,
   12021     IRpcChannelBuffer* pRpcChannelBuffer,
   12022     PRPC_MESSAGE pRpcMessage,
   12023     DWORD* pdwStubPhase);
   12024 
   12025 #endif  /* __ISpRecognizer2_INTERFACE_DEFINED__ */
   12026 
   12027 typedef struct SPNORMALIZATIONLIST {
   12028     ULONG ulSize;
   12029     WCHAR **ppszzNormalizedList;
   12030 } SPNORMALIZATIONLIST;
   12031 /*****************************************************************************
   12032  * ISpEnginePronunciation interface
   12033  */
   12034 #ifndef __ISpEnginePronunciation_INTERFACE_DEFINED__
   12035 #define __ISpEnginePronunciation_INTERFACE_DEFINED__
   12036 
   12037 DEFINE_GUID(IID_ISpEnginePronunciation, 0xc360ce4b, 0x76d1, 0x4214, 0xad,0x68, 0x52,0x65,0x7d,0x50,0x83,0xda);
   12038 #if defined(__cplusplus) && !defined(CINTERFACE)
   12039 MIDL_INTERFACE("c360ce4b-76d1-4214-ad68-52657d5083da")
   12040 ISpEnginePronunciation : public IUnknown
   12041 {
   12042     virtual HRESULT STDMETHODCALLTYPE Normalize(
   12043         LPCWSTR pszWord,
   12044         LPCWSTR pszLeftContext,
   12045         LPCWSTR pszRightContext,
   12046         WORD LangID,
   12047         SPNORMALIZATIONLIST *pNormalizationList) = 0;
   12048 
   12049     virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
   12050         LPCWSTR pszWord,
   12051         LPCWSTR pszLeftContext,
   12052         LPCWSTR pszRightContext,
   12053         WORD LangID,
   12054         SPWORDPRONUNCIATIONLIST *pEnginePronunciationList) = 0;
   12055 
   12056 };
   12057 #ifdef __CRT_UUID_DECL
   12058 __CRT_UUID_DECL(ISpEnginePronunciation, 0xc360ce4b, 0x76d1, 0x4214, 0xad,0x68, 0x52,0x65,0x7d,0x50,0x83,0xda)
   12059 #endif
   12060 #else
   12061 typedef struct ISpEnginePronunciationVtbl {
   12062     BEGIN_INTERFACE
   12063 
   12064     /*** IUnknown methods ***/
   12065     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   12066         ISpEnginePronunciation* This,
   12067         REFIID riid,
   12068         void **ppvObject);
   12069 
   12070     ULONG (STDMETHODCALLTYPE *AddRef)(
   12071         ISpEnginePronunciation* This);
   12072 
   12073     ULONG (STDMETHODCALLTYPE *Release)(
   12074         ISpEnginePronunciation* This);
   12075 
   12076     /*** ISpEnginePronunciation methods ***/
   12077     HRESULT (STDMETHODCALLTYPE *Normalize)(
   12078         ISpEnginePronunciation* This,
   12079         LPCWSTR pszWord,
   12080         LPCWSTR pszLeftContext,
   12081         LPCWSTR pszRightContext,
   12082         WORD LangID,
   12083         SPNORMALIZATIONLIST *pNormalizationList);
   12084 
   12085     HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
   12086         ISpEnginePronunciation* This,
   12087         LPCWSTR pszWord,
   12088         LPCWSTR pszLeftContext,
   12089         LPCWSTR pszRightContext,
   12090         WORD LangID,
   12091         SPWORDPRONUNCIATIONLIST *pEnginePronunciationList);
   12092 
   12093     END_INTERFACE
   12094 } ISpEnginePronunciationVtbl;
   12095 interface ISpEnginePronunciation {
   12096     CONST_VTBL ISpEnginePronunciationVtbl* lpVtbl;
   12097 };
   12098 
   12099 #ifdef COBJMACROS
   12100 #ifndef WIDL_C_INLINE_WRAPPERS
   12101 /*** IUnknown methods ***/
   12102 #define ISpEnginePronunciation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12103 #define ISpEnginePronunciation_AddRef(This) (This)->lpVtbl->AddRef(This)
   12104 #define ISpEnginePronunciation_Release(This) (This)->lpVtbl->Release(This)
   12105 /*** ISpEnginePronunciation methods ***/
   12106 #define ISpEnginePronunciation_Normalize(This,pszWord,pszLeftContext,pszRightContext,LangID,pNormalizationList) (This)->lpVtbl->Normalize(This,pszWord,pszLeftContext,pszRightContext,LangID,pNormalizationList)
   12107 #define ISpEnginePronunciation_GetPronunciations(This,pszWord,pszLeftContext,pszRightContext,LangID,pEnginePronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,pszLeftContext,pszRightContext,LangID,pEnginePronunciationList)
   12108 #else
   12109 /*** IUnknown methods ***/
   12110 static FORCEINLINE HRESULT ISpEnginePronunciation_QueryInterface(ISpEnginePronunciation* This,REFIID riid,void **ppvObject) {
   12111     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   12112 }
   12113 static FORCEINLINE ULONG ISpEnginePronunciation_AddRef(ISpEnginePronunciation* This) {
   12114     return This->lpVtbl->AddRef(This);
   12115 }
   12116 static FORCEINLINE ULONG ISpEnginePronunciation_Release(ISpEnginePronunciation* This) {
   12117     return This->lpVtbl->Release(This);
   12118 }
   12119 /*** ISpEnginePronunciation methods ***/
   12120 static FORCEINLINE HRESULT ISpEnginePronunciation_Normalize(ISpEnginePronunciation* This,LPCWSTR pszWord,LPCWSTR pszLeftContext,LPCWSTR pszRightContext,WORD LangID,SPNORMALIZATIONLIST *pNormalizationList) {
   12121     return This->lpVtbl->Normalize(This,pszWord,pszLeftContext,pszRightContext,LangID,pNormalizationList);
   12122 }
   12123 static FORCEINLINE HRESULT ISpEnginePronunciation_GetPronunciations(ISpEnginePronunciation* This,LPCWSTR pszWord,LPCWSTR pszLeftContext,LPCWSTR pszRightContext,WORD LangID,SPWORDPRONUNCIATIONLIST *pEnginePronunciationList) {
   12124     return This->lpVtbl->GetPronunciations(This,pszWord,pszLeftContext,pszRightContext,LangID,pEnginePronunciationList);
   12125 }
   12126 #endif
   12127 #endif
   12128 
   12129 #endif
   12130 
   12131 HRESULT STDMETHODCALLTYPE ISpEnginePronunciation_Normalize_Proxy(
   12132     ISpEnginePronunciation* This,
   12133     LPCWSTR pszWord,
   12134     LPCWSTR pszLeftContext,
   12135     LPCWSTR pszRightContext,
   12136     WORD LangID,
   12137     SPNORMALIZATIONLIST *pNormalizationList);
   12138 void __RPC_STUB ISpEnginePronunciation_Normalize_Stub(
   12139     IRpcStubBuffer* This,
   12140     IRpcChannelBuffer* pRpcChannelBuffer,
   12141     PRPC_MESSAGE pRpcMessage,
   12142     DWORD* pdwStubPhase);
   12143 HRESULT STDMETHODCALLTYPE ISpEnginePronunciation_GetPronunciations_Proxy(
   12144     ISpEnginePronunciation* This,
   12145     LPCWSTR pszWord,
   12146     LPCWSTR pszLeftContext,
   12147     LPCWSTR pszRightContext,
   12148     WORD LangID,
   12149     SPWORDPRONUNCIATIONLIST *pEnginePronunciationList);
   12150 void __RPC_STUB ISpEnginePronunciation_GetPronunciations_Stub(
   12151     IRpcStubBuffer* This,
   12152     IRpcChannelBuffer* pRpcChannelBuffer,
   12153     PRPC_MESSAGE pRpcMessage,
   12154     DWORD* pdwStubPhase);
   12155 
   12156 #endif  /* __ISpEnginePronunciation_INTERFACE_DEFINED__ */
   12157 
   12158 typedef struct SPDISPLAYTOKEN {
   12159     const WCHAR *pszLexical;
   12160     const WCHAR *pszDisplay;
   12161     BYTE bDisplayAttributes;
   12162 } SPDISPLAYTOKEN;
   12163 typedef struct SPDISPLAYPHRASE {
   12164     ULONG ulNumTokens;
   12165     SPDISPLAYTOKEN *pTokens;
   12166 } SPDISPLAYPHRASE;
   12167 /*****************************************************************************
   12168  * ISpDisplayAlternates interface
   12169  */
   12170 #ifndef __ISpDisplayAlternates_INTERFACE_DEFINED__
   12171 #define __ISpDisplayAlternates_INTERFACE_DEFINED__
   12172 
   12173 DEFINE_GUID(IID_ISpDisplayAlternates, 0xc8d7c7e2, 0x0dde, 0x44b7, 0xaf,0xe3, 0xb0,0xc9,0x91,0xfb,0xeb,0x5e);
   12174 #if defined(__cplusplus) && !defined(CINTERFACE)
   12175 MIDL_INTERFACE("c8d7c7e2-0dde-44b7-afe3-b0c991fbeb5e")
   12176 ISpDisplayAlternates : public IUnknown
   12177 {
   12178     virtual HRESULT STDMETHODCALLTYPE GetDisplayAlternates(
   12179         const SPDISPLAYPHRASE *pPhrase,
   12180         ULONG cRequestCount,
   12181         SPDISPLAYPHRASE **ppCoMemPhrases,
   12182         ULONG *pcPhrasesReturned) = 0;
   12183 
   12184     virtual HRESULT STDMETHODCALLTYPE SetFullStopTrailSpace(
   12185         ULONG ulTrailSpace) = 0;
   12186 
   12187 };
   12188 #ifdef __CRT_UUID_DECL
   12189 __CRT_UUID_DECL(ISpDisplayAlternates, 0xc8d7c7e2, 0x0dde, 0x44b7, 0xaf,0xe3, 0xb0,0xc9,0x91,0xfb,0xeb,0x5e)
   12190 #endif
   12191 #else
   12192 typedef struct ISpDisplayAlternatesVtbl {
   12193     BEGIN_INTERFACE
   12194 
   12195     /*** IUnknown methods ***/
   12196     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   12197         ISpDisplayAlternates* This,
   12198         REFIID riid,
   12199         void **ppvObject);
   12200 
   12201     ULONG (STDMETHODCALLTYPE *AddRef)(
   12202         ISpDisplayAlternates* This);
   12203 
   12204     ULONG (STDMETHODCALLTYPE *Release)(
   12205         ISpDisplayAlternates* This);
   12206 
   12207     /*** ISpDisplayAlternates methods ***/
   12208     HRESULT (STDMETHODCALLTYPE *GetDisplayAlternates)(
   12209         ISpDisplayAlternates* This,
   12210         const SPDISPLAYPHRASE *pPhrase,
   12211         ULONG cRequestCount,
   12212         SPDISPLAYPHRASE **ppCoMemPhrases,
   12213         ULONG *pcPhrasesReturned);
   12214 
   12215     HRESULT (STDMETHODCALLTYPE *SetFullStopTrailSpace)(
   12216         ISpDisplayAlternates* This,
   12217         ULONG ulTrailSpace);
   12218 
   12219     END_INTERFACE
   12220 } ISpDisplayAlternatesVtbl;
   12221 interface ISpDisplayAlternates {
   12222     CONST_VTBL ISpDisplayAlternatesVtbl* lpVtbl;
   12223 };
   12224 
   12225 #ifdef COBJMACROS
   12226 #ifndef WIDL_C_INLINE_WRAPPERS
   12227 /*** IUnknown methods ***/
   12228 #define ISpDisplayAlternates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12229 #define ISpDisplayAlternates_AddRef(This) (This)->lpVtbl->AddRef(This)
   12230 #define ISpDisplayAlternates_Release(This) (This)->lpVtbl->Release(This)
   12231 /*** ISpDisplayAlternates methods ***/
   12232 #define ISpDisplayAlternates_GetDisplayAlternates(This,pPhrase,cRequestCount,ppCoMemPhrases,pcPhrasesReturned) (This)->lpVtbl->GetDisplayAlternates(This,pPhrase,cRequestCount,ppCoMemPhrases,pcPhrasesReturned)
   12233 #define ISpDisplayAlternates_SetFullStopTrailSpace(This,ulTrailSpace) (This)->lpVtbl->SetFullStopTrailSpace(This,ulTrailSpace)
   12234 #else
   12235 /*** IUnknown methods ***/
   12236 static FORCEINLINE HRESULT ISpDisplayAlternates_QueryInterface(ISpDisplayAlternates* This,REFIID riid,void **ppvObject) {
   12237     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   12238 }
   12239 static FORCEINLINE ULONG ISpDisplayAlternates_AddRef(ISpDisplayAlternates* This) {
   12240     return This->lpVtbl->AddRef(This);
   12241 }
   12242 static FORCEINLINE ULONG ISpDisplayAlternates_Release(ISpDisplayAlternates* This) {
   12243     return This->lpVtbl->Release(This);
   12244 }
   12245 /*** ISpDisplayAlternates methods ***/
   12246 static FORCEINLINE HRESULT ISpDisplayAlternates_GetDisplayAlternates(ISpDisplayAlternates* This,const SPDISPLAYPHRASE *pPhrase,ULONG cRequestCount,SPDISPLAYPHRASE **ppCoMemPhrases,ULONG *pcPhrasesReturned) {
   12247     return This->lpVtbl->GetDisplayAlternates(This,pPhrase,cRequestCount,ppCoMemPhrases,pcPhrasesReturned);
   12248 }
   12249 static FORCEINLINE HRESULT ISpDisplayAlternates_SetFullStopTrailSpace(ISpDisplayAlternates* This,ULONG ulTrailSpace) {
   12250     return This->lpVtbl->SetFullStopTrailSpace(This,ulTrailSpace);
   12251 }
   12252 #endif
   12253 #endif
   12254 
   12255 #endif
   12256 
   12257 HRESULT STDMETHODCALLTYPE ISpDisplayAlternates_GetDisplayAlternates_Proxy(
   12258     ISpDisplayAlternates* This,
   12259     const SPDISPLAYPHRASE *pPhrase,
   12260     ULONG cRequestCount,
   12261     SPDISPLAYPHRASE **ppCoMemPhrases,
   12262     ULONG *pcPhrasesReturned);
   12263 void __RPC_STUB ISpDisplayAlternates_GetDisplayAlternates_Stub(
   12264     IRpcStubBuffer* This,
   12265     IRpcChannelBuffer* pRpcChannelBuffer,
   12266     PRPC_MESSAGE pRpcMessage,
   12267     DWORD* pdwStubPhase);
   12268 HRESULT STDMETHODCALLTYPE ISpDisplayAlternates_SetFullStopTrailSpace_Proxy(
   12269     ISpDisplayAlternates* This,
   12270     ULONG ulTrailSpace);
   12271 void __RPC_STUB ISpDisplayAlternates_SetFullStopTrailSpace_Stub(
   12272     IRpcStubBuffer* This,
   12273     IRpcChannelBuffer* pRpcChannelBuffer,
   12274     PRPC_MESSAGE pRpcMessage,
   12275     DWORD* pdwStubPhase);
   12276 
   12277 #endif  /* __ISpDisplayAlternates_INTERFACE_DEFINED__ */
   12278 
   12279 
   12280 DEFINE_GUID(LIBID_SpeechLib, 0xc866ca3a, 0x32f7, 0x11d2, 0x96,0x02, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   12281 
   12282 #ifndef __ISpeechDataKey_FWD_DEFINED__
   12283 #define __ISpeechDataKey_FWD_DEFINED__
   12284 typedef interface ISpeechDataKey ISpeechDataKey;
   12285 #endif
   12286 
   12287 #ifndef __ISpeechObjectToken_FWD_DEFINED__
   12288 #define __ISpeechObjectToken_FWD_DEFINED__
   12289 typedef interface ISpeechObjectToken ISpeechObjectToken;
   12290 #endif
   12291 
   12292 #ifndef __ISpeechObjectTokens_FWD_DEFINED__
   12293 #define __ISpeechObjectTokens_FWD_DEFINED__
   12294 typedef interface ISpeechObjectTokens ISpeechObjectTokens;
   12295 #endif
   12296 
   12297 #ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
   12298 #define __ISpeechObjectTokenCategory_FWD_DEFINED__
   12299 typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
   12300 #endif
   12301 
   12302 #ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
   12303 #define __ISpeechAudioBufferInfo_FWD_DEFINED__
   12304 typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
   12305 #endif
   12306 
   12307 #ifndef __ISpeechAudioStatus_FWD_DEFINED__
   12308 #define __ISpeechAudioStatus_FWD_DEFINED__
   12309 typedef interface ISpeechAudioStatus ISpeechAudioStatus;
   12310 #endif
   12311 
   12312 #ifndef __ISpeechAudioFormat_FWD_DEFINED__
   12313 #define __ISpeechAudioFormat_FWD_DEFINED__
   12314 typedef interface ISpeechAudioFormat ISpeechAudioFormat;
   12315 #endif
   12316 
   12317 #ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
   12318 #define __ISpeechWaveFormatEx_FWD_DEFINED__
   12319 typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
   12320 #endif
   12321 
   12322 #ifndef __ISpeechBaseStream_FWD_DEFINED__
   12323 #define __ISpeechBaseStream_FWD_DEFINED__
   12324 typedef interface ISpeechBaseStream ISpeechBaseStream;
   12325 #endif
   12326 
   12327 #ifndef __ISpeechFileStream_FWD_DEFINED__
   12328 #define __ISpeechFileStream_FWD_DEFINED__
   12329 typedef interface ISpeechFileStream ISpeechFileStream;
   12330 #endif
   12331 
   12332 #ifndef __ISpeechMemoryStream_FWD_DEFINED__
   12333 #define __ISpeechMemoryStream_FWD_DEFINED__
   12334 typedef interface ISpeechMemoryStream ISpeechMemoryStream;
   12335 #endif
   12336 
   12337 #ifndef __ISpeechCustomStream_FWD_DEFINED__
   12338 #define __ISpeechCustomStream_FWD_DEFINED__
   12339 typedef interface ISpeechCustomStream ISpeechCustomStream;
   12340 #endif
   12341 
   12342 #ifndef __ISpeechAudio_FWD_DEFINED__
   12343 #define __ISpeechAudio_FWD_DEFINED__
   12344 typedef interface ISpeechAudio ISpeechAudio;
   12345 #endif
   12346 
   12347 #ifndef __ISpeechMMSysAudio_FWD_DEFINED__
   12348 #define __ISpeechMMSysAudio_FWD_DEFINED__
   12349 typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
   12350 #endif
   12351 
   12352 #ifndef __ISpeechVoice_FWD_DEFINED__
   12353 #define __ISpeechVoice_FWD_DEFINED__
   12354 typedef interface ISpeechVoice ISpeechVoice;
   12355 #endif
   12356 
   12357 #ifndef __ISpeechVoiceStatus_FWD_DEFINED__
   12358 #define __ISpeechVoiceStatus_FWD_DEFINED__
   12359 typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
   12360 #endif
   12361 
   12362 #ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
   12363 #define ___ISpeechVoiceEvents_FWD_DEFINED__
   12364 typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
   12365 #endif
   12366 
   12367 #ifndef __ISpeechRecognizer_FWD_DEFINED__
   12368 #define __ISpeechRecognizer_FWD_DEFINED__
   12369 typedef interface ISpeechRecognizer ISpeechRecognizer;
   12370 #endif
   12371 
   12372 #ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
   12373 #define __ISpeechRecognizerStatus_FWD_DEFINED__
   12374 typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
   12375 #endif
   12376 
   12377 #ifndef __ISpeechRecoContext_FWD_DEFINED__
   12378 #define __ISpeechRecoContext_FWD_DEFINED__
   12379 typedef interface ISpeechRecoContext ISpeechRecoContext;
   12380 #endif
   12381 
   12382 #ifndef __ISpeechRecoGrammar_FWD_DEFINED__
   12383 #define __ISpeechRecoGrammar_FWD_DEFINED__
   12384 typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
   12385 #endif
   12386 
   12387 #ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
   12388 #define ___ISpeechRecoContextEvents_FWD_DEFINED__
   12389 typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
   12390 #endif
   12391 
   12392 #ifndef __ISpeechGrammarRule_FWD_DEFINED__
   12393 #define __ISpeechGrammarRule_FWD_DEFINED__
   12394 typedef interface ISpeechGrammarRule ISpeechGrammarRule;
   12395 #endif
   12396 
   12397 #ifndef __ISpeechGrammarRules_FWD_DEFINED__
   12398 #define __ISpeechGrammarRules_FWD_DEFINED__
   12399 typedef interface ISpeechGrammarRules ISpeechGrammarRules;
   12400 #endif
   12401 
   12402 #ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
   12403 #define __ISpeechGrammarRuleState_FWD_DEFINED__
   12404 typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
   12405 #endif
   12406 
   12407 #ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
   12408 #define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
   12409 typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
   12410 #endif
   12411 
   12412 #ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
   12413 #define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
   12414 typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
   12415 #endif
   12416 
   12417 #ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
   12418 #define __ISpeechTextSelectionInformation_FWD_DEFINED__
   12419 typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
   12420 #endif
   12421 
   12422 #ifndef __ISpeechRecoResult_FWD_DEFINED__
   12423 #define __ISpeechRecoResult_FWD_DEFINED__
   12424 typedef interface ISpeechRecoResult ISpeechRecoResult;
   12425 #endif
   12426 
   12427 #ifndef __ISpeechRecoResult2_FWD_DEFINED__
   12428 #define __ISpeechRecoResult2_FWD_DEFINED__
   12429 typedef interface ISpeechRecoResult2 ISpeechRecoResult2;
   12430 #endif
   12431 
   12432 #ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
   12433 #define __ISpeechRecoResultTimes_FWD_DEFINED__
   12434 typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
   12435 #endif
   12436 
   12437 #ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
   12438 #define __ISpeechPhraseAlternate_FWD_DEFINED__
   12439 typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
   12440 #endif
   12441 
   12442 #ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
   12443 #define __ISpeechPhraseAlternates_FWD_DEFINED__
   12444 typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
   12445 #endif
   12446 
   12447 #ifndef __ISpeechPhraseInfo_FWD_DEFINED__
   12448 #define __ISpeechPhraseInfo_FWD_DEFINED__
   12449 typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
   12450 #endif
   12451 
   12452 #ifndef __ISpeechPhraseElement_FWD_DEFINED__
   12453 #define __ISpeechPhraseElement_FWD_DEFINED__
   12454 typedef interface ISpeechPhraseElement ISpeechPhraseElement;
   12455 #endif
   12456 
   12457 #ifndef __ISpeechPhraseElements_FWD_DEFINED__
   12458 #define __ISpeechPhraseElements_FWD_DEFINED__
   12459 typedef interface ISpeechPhraseElements ISpeechPhraseElements;
   12460 #endif
   12461 
   12462 #ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
   12463 #define __ISpeechPhraseReplacement_FWD_DEFINED__
   12464 typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
   12465 #endif
   12466 
   12467 #ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
   12468 #define __ISpeechPhraseReplacements_FWD_DEFINED__
   12469 typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
   12470 #endif
   12471 
   12472 #ifndef __ISpeechPhraseProperty_FWD_DEFINED__
   12473 #define __ISpeechPhraseProperty_FWD_DEFINED__
   12474 typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
   12475 #endif
   12476 
   12477 #ifndef __ISpeechPhraseProperties_FWD_DEFINED__
   12478 #define __ISpeechPhraseProperties_FWD_DEFINED__
   12479 typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
   12480 #endif
   12481 
   12482 #ifndef __ISpeechPhraseRule_FWD_DEFINED__
   12483 #define __ISpeechPhraseRule_FWD_DEFINED__
   12484 typedef interface ISpeechPhraseRule ISpeechPhraseRule;
   12485 #endif
   12486 
   12487 #ifndef __ISpeechPhraseRules_FWD_DEFINED__
   12488 #define __ISpeechPhraseRules_FWD_DEFINED__
   12489 typedef interface ISpeechPhraseRules ISpeechPhraseRules;
   12490 #endif
   12491 
   12492 #ifndef __ISpeechLexicon_FWD_DEFINED__
   12493 #define __ISpeechLexicon_FWD_DEFINED__
   12494 typedef interface ISpeechLexicon ISpeechLexicon;
   12495 #endif
   12496 
   12497 #ifndef __ISpeechLexiconWords_FWD_DEFINED__
   12498 #define __ISpeechLexiconWords_FWD_DEFINED__
   12499 typedef interface ISpeechLexiconWords ISpeechLexiconWords;
   12500 #endif
   12501 
   12502 #ifndef __ISpeechLexiconWord_FWD_DEFINED__
   12503 #define __ISpeechLexiconWord_FWD_DEFINED__
   12504 typedef interface ISpeechLexiconWord ISpeechLexiconWord;
   12505 #endif
   12506 
   12507 #ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
   12508 #define __ISpeechLexiconPronunciations_FWD_DEFINED__
   12509 typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
   12510 #endif
   12511 
   12512 #ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
   12513 #define __ISpeechLexiconPronunciation_FWD_DEFINED__
   12514 typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
   12515 #endif
   12516 
   12517 typedef LONG SpeechLanguageId;
   12518 #define __SpeechStringConstants_MODULE_DEFINED__
   12519 typedef enum DISPID_SpeechDataKey {
   12520     DISPID_SDKSetBinaryValue = 1,
   12521     DISPID_SDKGetBinaryValue = 2,
   12522     DISPID_SDKSetStringValue = 3,
   12523     DISPID_SDKGetStringValue = 4,
   12524     DISPID_SDKSetLongValue = 5,
   12525     DISPID_SDKGetlongValue = 6,
   12526     DISPID_SDKOpenKey = 7,
   12527     DISPID_SDKCreateKey = 8,
   12528     DISPID_SDKDeleteKey = 9,
   12529     DISPID_SDKDeleteValue = 10,
   12530     DISPID_SDKEnumKeys = 11,
   12531     DISPID_SDKEnumValues = 12
   12532 } DISPID_SpeechDataKey;
   12533 typedef enum DISPID_SpeechObjectToken {
   12534     DISPID_SOTId = 1,
   12535     DISPID_SOTDataKey = 2,
   12536     DISPID_SOTCategory = 3,
   12537     DISPID_SOTGetDescription = 4,
   12538     DISPID_SOTSetId = 5,
   12539     DISPID_SOTGetAttribute = 6,
   12540     DISPID_SOTCreateInstance = 7,
   12541     DISPID_SOTRemove = 8,
   12542     DISPID_SOTGetStorageFileName = 9,
   12543     DISPID_SOTRemoveStorageFileName = 10,
   12544     DISPID_SOTIsUISupported = 11,
   12545     DISPID_SOTDisplayUI = 12,
   12546     DISPID_SOTMatchesAttributes = 13
   12547 } DISPID_SpeechObjectToken;
   12548 typedef enum SpeechDataKeyLocation {
   12549     SDKLDefaultLocation = SPDKL_DefaultLocation,
   12550     SDKLCurrentUser = SPDKL_CurrentUser,
   12551     SDKLLocalMachine = SPDKL_LocalMachine,
   12552     SDKLCurrentConfig = SPDKL_CurrentConfig
   12553 } SpeechDataKeyLocation;
   12554 typedef enum SpeechTokenContext {
   12555     STCInprocServer = CLSCTX_INPROC_SERVER,
   12556     STCInprocHandler = CLSCTX_INPROC_HANDLER,
   12557     STCLocalServer = CLSCTX_LOCAL_SERVER,
   12558     STCRemoteServer = CLSCTX_REMOTE_SERVER,
   12559     STCAll = ((CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER) | CLSCTX_LOCAL_SERVER) | CLSCTX_REMOTE_SERVER
   12560 } SpeechTokenContext;
   12561 typedef enum SpeechTokenShellFolder {
   12562     STSF_AppData = 0x1a,
   12563     STSF_LocalAppData = 0x1c,
   12564     STSF_CommonAppData = 0x23,
   12565     STSF_FlagCreate = 0x8000
   12566 } SpeechTokenShellFolder;
   12567 typedef enum DISPID_SpeechObjectTokens {
   12568     DISPID_SOTsCount = 1,
   12569     DISPID_SOTsItem = DISPID_VALUE,
   12570     DISPID_SOTs_NewEnum = DISPID_NEWENUM
   12571 } DISPID_SpeechObjectTokens;
   12572 typedef enum DISPID_SpeechObjectTokenCategory {
   12573     DISPID_SOTCId = 1,
   12574     DISPID_SOTCDefault = 2,
   12575     DISPID_SOTCSetId = 3,
   12576     DISPID_SOTCGetDataKey = 4,
   12577     DISPID_SOTCEnumerateTokens = 5
   12578 } DISPID_SpeechObjectTokenCategory;
   12579 /*****************************************************************************
   12580  * ISpeechDataKey interface
   12581  */
   12582 #ifndef __ISpeechDataKey_INTERFACE_DEFINED__
   12583 #define __ISpeechDataKey_INTERFACE_DEFINED__
   12584 
   12585 DEFINE_GUID(IID_ISpeechDataKey, 0xce17c09b, 0x4efa, 0x44d5, 0xa4,0xc9, 0x59,0xd9,0x58,0x5a,0xb0,0xcd);
   12586 #if defined(__cplusplus) && !defined(CINTERFACE)
   12587 MIDL_INTERFACE("ce17c09b-4efa-44d5-a4c9-59d9585ab0cd")
   12588 ISpeechDataKey : public IDispatch
   12589 {
   12590     virtual HRESULT STDMETHODCALLTYPE SetBinaryValue(
   12591         const BSTR ValueName,
   12592         VARIANT Value) = 0;
   12593 
   12594     virtual HRESULT STDMETHODCALLTYPE GetBinaryValue(
   12595         const BSTR ValueName,
   12596         VARIANT *Value) = 0;
   12597 
   12598     virtual HRESULT STDMETHODCALLTYPE SetStringValue(
   12599         const BSTR ValueName,
   12600         const BSTR Value) = 0;
   12601 
   12602     virtual HRESULT STDMETHODCALLTYPE GetStringValue(
   12603         const BSTR ValueName,
   12604         BSTR *Value) = 0;
   12605 
   12606     virtual HRESULT STDMETHODCALLTYPE SetLongValue(
   12607         const BSTR ValueName,
   12608         LONG Value) = 0;
   12609 
   12610     virtual HRESULT STDMETHODCALLTYPE GetLongValue(
   12611         const BSTR ValueName,
   12612         LONG *Value) = 0;
   12613 
   12614     virtual HRESULT STDMETHODCALLTYPE OpenKey(
   12615         const BSTR SubKeyName,
   12616         ISpeechDataKey **SubKey) = 0;
   12617 
   12618     virtual HRESULT STDMETHODCALLTYPE CreateKey(
   12619         const BSTR SubKeyName,
   12620         ISpeechDataKey **SubKey) = 0;
   12621 
   12622     virtual HRESULT STDMETHODCALLTYPE DeleteKey(
   12623         const BSTR SubKeyName) = 0;
   12624 
   12625     virtual HRESULT STDMETHODCALLTYPE DeleteValue(
   12626         const BSTR ValueName) = 0;
   12627 
   12628     virtual HRESULT STDMETHODCALLTYPE EnumKeys(
   12629         LONG Index,
   12630         BSTR *SubKeyName) = 0;
   12631 
   12632     virtual HRESULT STDMETHODCALLTYPE EnumValues(
   12633         LONG Index,
   12634         BSTR *ValueName) = 0;
   12635 
   12636 };
   12637 #ifdef __CRT_UUID_DECL
   12638 __CRT_UUID_DECL(ISpeechDataKey, 0xce17c09b, 0x4efa, 0x44d5, 0xa4,0xc9, 0x59,0xd9,0x58,0x5a,0xb0,0xcd)
   12639 #endif
   12640 #else
   12641 typedef struct ISpeechDataKeyVtbl {
   12642     BEGIN_INTERFACE
   12643 
   12644     /*** IUnknown methods ***/
   12645     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   12646         ISpeechDataKey* This,
   12647         REFIID riid,
   12648         void **ppvObject);
   12649 
   12650     ULONG (STDMETHODCALLTYPE *AddRef)(
   12651         ISpeechDataKey* This);
   12652 
   12653     ULONG (STDMETHODCALLTYPE *Release)(
   12654         ISpeechDataKey* This);
   12655 
   12656     /*** IDispatch methods ***/
   12657     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   12658         ISpeechDataKey* This,
   12659         UINT *pctinfo);
   12660 
   12661     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   12662         ISpeechDataKey* This,
   12663         UINT iTInfo,
   12664         LCID lcid,
   12665         ITypeInfo **ppTInfo);
   12666 
   12667     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   12668         ISpeechDataKey* This,
   12669         REFIID riid,
   12670         LPOLESTR *rgszNames,
   12671         UINT cNames,
   12672         LCID lcid,
   12673         DISPID *rgDispId);
   12674 
   12675     HRESULT (STDMETHODCALLTYPE *Invoke)(
   12676         ISpeechDataKey* This,
   12677         DISPID dispIdMember,
   12678         REFIID riid,
   12679         LCID lcid,
   12680         WORD wFlags,
   12681         DISPPARAMS *pDispParams,
   12682         VARIANT *pVarResult,
   12683         EXCEPINFO *pExcepInfo,
   12684         UINT *puArgErr);
   12685 
   12686     /*** ISpeechDataKey methods ***/
   12687     HRESULT (STDMETHODCALLTYPE *SetBinaryValue)(
   12688         ISpeechDataKey* This,
   12689         const BSTR ValueName,
   12690         VARIANT Value);
   12691 
   12692     HRESULT (STDMETHODCALLTYPE *GetBinaryValue)(
   12693         ISpeechDataKey* This,
   12694         const BSTR ValueName,
   12695         VARIANT *Value);
   12696 
   12697     HRESULT (STDMETHODCALLTYPE *SetStringValue)(
   12698         ISpeechDataKey* This,
   12699         const BSTR ValueName,
   12700         const BSTR Value);
   12701 
   12702     HRESULT (STDMETHODCALLTYPE *GetStringValue)(
   12703         ISpeechDataKey* This,
   12704         const BSTR ValueName,
   12705         BSTR *Value);
   12706 
   12707     HRESULT (STDMETHODCALLTYPE *SetLongValue)(
   12708         ISpeechDataKey* This,
   12709         const BSTR ValueName,
   12710         LONG Value);
   12711 
   12712     HRESULT (STDMETHODCALLTYPE *GetLongValue)(
   12713         ISpeechDataKey* This,
   12714         const BSTR ValueName,
   12715         LONG *Value);
   12716 
   12717     HRESULT (STDMETHODCALLTYPE *OpenKey)(
   12718         ISpeechDataKey* This,
   12719         const BSTR SubKeyName,
   12720         ISpeechDataKey **SubKey);
   12721 
   12722     HRESULT (STDMETHODCALLTYPE *CreateKey)(
   12723         ISpeechDataKey* This,
   12724         const BSTR SubKeyName,
   12725         ISpeechDataKey **SubKey);
   12726 
   12727     HRESULT (STDMETHODCALLTYPE *DeleteKey)(
   12728         ISpeechDataKey* This,
   12729         const BSTR SubKeyName);
   12730 
   12731     HRESULT (STDMETHODCALLTYPE *DeleteValue)(
   12732         ISpeechDataKey* This,
   12733         const BSTR ValueName);
   12734 
   12735     HRESULT (STDMETHODCALLTYPE *EnumKeys)(
   12736         ISpeechDataKey* This,
   12737         LONG Index,
   12738         BSTR *SubKeyName);
   12739 
   12740     HRESULT (STDMETHODCALLTYPE *EnumValues)(
   12741         ISpeechDataKey* This,
   12742         LONG Index,
   12743         BSTR *ValueName);
   12744 
   12745     END_INTERFACE
   12746 } ISpeechDataKeyVtbl;
   12747 interface ISpeechDataKey {
   12748     CONST_VTBL ISpeechDataKeyVtbl* lpVtbl;
   12749 };
   12750 
   12751 #ifdef COBJMACROS
   12752 #ifndef WIDL_C_INLINE_WRAPPERS
   12753 /*** IUnknown methods ***/
   12754 #define ISpeechDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   12755 #define ISpeechDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
   12756 #define ISpeechDataKey_Release(This) (This)->lpVtbl->Release(This)
   12757 /*** IDispatch methods ***/
   12758 #define ISpeechDataKey_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   12759 #define ISpeechDataKey_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   12760 #define ISpeechDataKey_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   12761 #define ISpeechDataKey_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   12762 /*** ISpeechDataKey methods ***/
   12763 #define ISpeechDataKey_SetBinaryValue(This,ValueName,Value) (This)->lpVtbl->SetBinaryValue(This,ValueName,Value)
   12764 #define ISpeechDataKey_GetBinaryValue(This,ValueName,Value) (This)->lpVtbl->GetBinaryValue(This,ValueName,Value)
   12765 #define ISpeechDataKey_SetStringValue(This,ValueName,Value) (This)->lpVtbl->SetStringValue(This,ValueName,Value)
   12766 #define ISpeechDataKey_GetStringValue(This,ValueName,Value) (This)->lpVtbl->GetStringValue(This,ValueName,Value)
   12767 #define ISpeechDataKey_SetLongValue(This,ValueName,Value) (This)->lpVtbl->SetLongValue(This,ValueName,Value)
   12768 #define ISpeechDataKey_GetLongValue(This,ValueName,Value) (This)->lpVtbl->GetLongValue(This,ValueName,Value)
   12769 #define ISpeechDataKey_OpenKey(This,SubKeyName,SubKey) (This)->lpVtbl->OpenKey(This,SubKeyName,SubKey)
   12770 #define ISpeechDataKey_CreateKey(This,SubKeyName,SubKey) (This)->lpVtbl->CreateKey(This,SubKeyName,SubKey)
   12771 #define ISpeechDataKey_DeleteKey(This,SubKeyName) (This)->lpVtbl->DeleteKey(This,SubKeyName)
   12772 #define ISpeechDataKey_DeleteValue(This,ValueName) (This)->lpVtbl->DeleteValue(This,ValueName)
   12773 #define ISpeechDataKey_EnumKeys(This,Index,SubKeyName) (This)->lpVtbl->EnumKeys(This,Index,SubKeyName)
   12774 #define ISpeechDataKey_EnumValues(This,Index,ValueName) (This)->lpVtbl->EnumValues(This,Index,ValueName)
   12775 #else
   12776 /*** IUnknown methods ***/
   12777 static FORCEINLINE HRESULT ISpeechDataKey_QueryInterface(ISpeechDataKey* This,REFIID riid,void **ppvObject) {
   12778     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   12779 }
   12780 static FORCEINLINE ULONG ISpeechDataKey_AddRef(ISpeechDataKey* This) {
   12781     return This->lpVtbl->AddRef(This);
   12782 }
   12783 static FORCEINLINE ULONG ISpeechDataKey_Release(ISpeechDataKey* This) {
   12784     return This->lpVtbl->Release(This);
   12785 }
   12786 /*** IDispatch methods ***/
   12787 static FORCEINLINE HRESULT ISpeechDataKey_GetTypeInfoCount(ISpeechDataKey* This,UINT *pctinfo) {
   12788     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   12789 }
   12790 static FORCEINLINE HRESULT ISpeechDataKey_GetTypeInfo(ISpeechDataKey* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   12791     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   12792 }
   12793 static FORCEINLINE HRESULT ISpeechDataKey_GetIDsOfNames(ISpeechDataKey* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   12794     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   12795 }
   12796 static FORCEINLINE HRESULT ISpeechDataKey_Invoke(ISpeechDataKey* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   12797     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   12798 }
   12799 /*** ISpeechDataKey methods ***/
   12800 static FORCEINLINE HRESULT ISpeechDataKey_SetBinaryValue(ISpeechDataKey* This,const BSTR ValueName,VARIANT Value) {
   12801     return This->lpVtbl->SetBinaryValue(This,ValueName,Value);
   12802 }
   12803 static FORCEINLINE HRESULT ISpeechDataKey_GetBinaryValue(ISpeechDataKey* This,const BSTR ValueName,VARIANT *Value) {
   12804     return This->lpVtbl->GetBinaryValue(This,ValueName,Value);
   12805 }
   12806 static FORCEINLINE HRESULT ISpeechDataKey_SetStringValue(ISpeechDataKey* This,const BSTR ValueName,const BSTR Value) {
   12807     return This->lpVtbl->SetStringValue(This,ValueName,Value);
   12808 }
   12809 static FORCEINLINE HRESULT ISpeechDataKey_GetStringValue(ISpeechDataKey* This,const BSTR ValueName,BSTR *Value) {
   12810     return This->lpVtbl->GetStringValue(This,ValueName,Value);
   12811 }
   12812 static FORCEINLINE HRESULT ISpeechDataKey_SetLongValue(ISpeechDataKey* This,const BSTR ValueName,LONG Value) {
   12813     return This->lpVtbl->SetLongValue(This,ValueName,Value);
   12814 }
   12815 static FORCEINLINE HRESULT ISpeechDataKey_GetLongValue(ISpeechDataKey* This,const BSTR ValueName,LONG *Value) {
   12816     return This->lpVtbl->GetLongValue(This,ValueName,Value);
   12817 }
   12818 static FORCEINLINE HRESULT ISpeechDataKey_OpenKey(ISpeechDataKey* This,const BSTR SubKeyName,ISpeechDataKey **SubKey) {
   12819     return This->lpVtbl->OpenKey(This,SubKeyName,SubKey);
   12820 }
   12821 static FORCEINLINE HRESULT ISpeechDataKey_CreateKey(ISpeechDataKey* This,const BSTR SubKeyName,ISpeechDataKey **SubKey) {
   12822     return This->lpVtbl->CreateKey(This,SubKeyName,SubKey);
   12823 }
   12824 static FORCEINLINE HRESULT ISpeechDataKey_DeleteKey(ISpeechDataKey* This,const BSTR SubKeyName) {
   12825     return This->lpVtbl->DeleteKey(This,SubKeyName);
   12826 }
   12827 static FORCEINLINE HRESULT ISpeechDataKey_DeleteValue(ISpeechDataKey* This,const BSTR ValueName) {
   12828     return This->lpVtbl->DeleteValue(This,ValueName);
   12829 }
   12830 static FORCEINLINE HRESULT ISpeechDataKey_EnumKeys(ISpeechDataKey* This,LONG Index,BSTR *SubKeyName) {
   12831     return This->lpVtbl->EnumKeys(This,Index,SubKeyName);
   12832 }
   12833 static FORCEINLINE HRESULT ISpeechDataKey_EnumValues(ISpeechDataKey* This,LONG Index,BSTR *ValueName) {
   12834     return This->lpVtbl->EnumValues(This,Index,ValueName);
   12835 }
   12836 #endif
   12837 #endif
   12838 
   12839 #endif
   12840 
   12841 HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetBinaryValue_Proxy(
   12842     ISpeechDataKey* This,
   12843     const BSTR ValueName,
   12844     VARIANT Value);
   12845 void __RPC_STUB ISpeechDataKey_SetBinaryValue_Stub(
   12846     IRpcStubBuffer* This,
   12847     IRpcChannelBuffer* pRpcChannelBuffer,
   12848     PRPC_MESSAGE pRpcMessage,
   12849     DWORD* pdwStubPhase);
   12850 HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetBinaryValue_Proxy(
   12851     ISpeechDataKey* This,
   12852     const BSTR ValueName,
   12853     VARIANT *Value);
   12854 void __RPC_STUB ISpeechDataKey_GetBinaryValue_Stub(
   12855     IRpcStubBuffer* This,
   12856     IRpcChannelBuffer* pRpcChannelBuffer,
   12857     PRPC_MESSAGE pRpcMessage,
   12858     DWORD* pdwStubPhase);
   12859 HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetStringValue_Proxy(
   12860     ISpeechDataKey* This,
   12861     const BSTR ValueName,
   12862     const BSTR Value);
   12863 void __RPC_STUB ISpeechDataKey_SetStringValue_Stub(
   12864     IRpcStubBuffer* This,
   12865     IRpcChannelBuffer* pRpcChannelBuffer,
   12866     PRPC_MESSAGE pRpcMessage,
   12867     DWORD* pdwStubPhase);
   12868 HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetStringValue_Proxy(
   12869     ISpeechDataKey* This,
   12870     const BSTR ValueName,
   12871     BSTR *Value);
   12872 void __RPC_STUB ISpeechDataKey_GetStringValue_Stub(
   12873     IRpcStubBuffer* This,
   12874     IRpcChannelBuffer* pRpcChannelBuffer,
   12875     PRPC_MESSAGE pRpcMessage,
   12876     DWORD* pdwStubPhase);
   12877 HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetLongValue_Proxy(
   12878     ISpeechDataKey* This,
   12879     const BSTR ValueName,
   12880     LONG Value);
   12881 void __RPC_STUB ISpeechDataKey_SetLongValue_Stub(
   12882     IRpcStubBuffer* This,
   12883     IRpcChannelBuffer* pRpcChannelBuffer,
   12884     PRPC_MESSAGE pRpcMessage,
   12885     DWORD* pdwStubPhase);
   12886 HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetLongValue_Proxy(
   12887     ISpeechDataKey* This,
   12888     const BSTR ValueName,
   12889     LONG *Value);
   12890 void __RPC_STUB ISpeechDataKey_GetLongValue_Stub(
   12891     IRpcStubBuffer* This,
   12892     IRpcChannelBuffer* pRpcChannelBuffer,
   12893     PRPC_MESSAGE pRpcMessage,
   12894     DWORD* pdwStubPhase);
   12895 HRESULT STDMETHODCALLTYPE ISpeechDataKey_OpenKey_Proxy(
   12896     ISpeechDataKey* This,
   12897     const BSTR SubKeyName,
   12898     ISpeechDataKey **SubKey);
   12899 void __RPC_STUB ISpeechDataKey_OpenKey_Stub(
   12900     IRpcStubBuffer* This,
   12901     IRpcChannelBuffer* pRpcChannelBuffer,
   12902     PRPC_MESSAGE pRpcMessage,
   12903     DWORD* pdwStubPhase);
   12904 HRESULT STDMETHODCALLTYPE ISpeechDataKey_CreateKey_Proxy(
   12905     ISpeechDataKey* This,
   12906     const BSTR SubKeyName,
   12907     ISpeechDataKey **SubKey);
   12908 void __RPC_STUB ISpeechDataKey_CreateKey_Stub(
   12909     IRpcStubBuffer* This,
   12910     IRpcChannelBuffer* pRpcChannelBuffer,
   12911     PRPC_MESSAGE pRpcMessage,
   12912     DWORD* pdwStubPhase);
   12913 HRESULT STDMETHODCALLTYPE ISpeechDataKey_DeleteKey_Proxy(
   12914     ISpeechDataKey* This,
   12915     const BSTR SubKeyName);
   12916 void __RPC_STUB ISpeechDataKey_DeleteKey_Stub(
   12917     IRpcStubBuffer* This,
   12918     IRpcChannelBuffer* pRpcChannelBuffer,
   12919     PRPC_MESSAGE pRpcMessage,
   12920     DWORD* pdwStubPhase);
   12921 HRESULT STDMETHODCALLTYPE ISpeechDataKey_DeleteValue_Proxy(
   12922     ISpeechDataKey* This,
   12923     const BSTR ValueName);
   12924 void __RPC_STUB ISpeechDataKey_DeleteValue_Stub(
   12925     IRpcStubBuffer* This,
   12926     IRpcChannelBuffer* pRpcChannelBuffer,
   12927     PRPC_MESSAGE pRpcMessage,
   12928     DWORD* pdwStubPhase);
   12929 HRESULT STDMETHODCALLTYPE ISpeechDataKey_EnumKeys_Proxy(
   12930     ISpeechDataKey* This,
   12931     LONG Index,
   12932     BSTR *SubKeyName);
   12933 void __RPC_STUB ISpeechDataKey_EnumKeys_Stub(
   12934     IRpcStubBuffer* This,
   12935     IRpcChannelBuffer* pRpcChannelBuffer,
   12936     PRPC_MESSAGE pRpcMessage,
   12937     DWORD* pdwStubPhase);
   12938 HRESULT STDMETHODCALLTYPE ISpeechDataKey_EnumValues_Proxy(
   12939     ISpeechDataKey* This,
   12940     LONG Index,
   12941     BSTR *ValueName);
   12942 void __RPC_STUB ISpeechDataKey_EnumValues_Stub(
   12943     IRpcStubBuffer* This,
   12944     IRpcChannelBuffer* pRpcChannelBuffer,
   12945     PRPC_MESSAGE pRpcMessage,
   12946     DWORD* pdwStubPhase);
   12947 
   12948 #endif  /* __ISpeechDataKey_INTERFACE_DEFINED__ */
   12949 
   12950 /*****************************************************************************
   12951  * ISpeechObjectToken interface
   12952  */
   12953 #ifndef __ISpeechObjectToken_INTERFACE_DEFINED__
   12954 #define __ISpeechObjectToken_INTERFACE_DEFINED__
   12955 
   12956 DEFINE_GUID(IID_ISpeechObjectToken, 0xc74a3adc, 0xb727, 0x4500, 0xa8,0x4a, 0xb5,0x26,0x72,0x1c,0x8b,0x8c);
   12957 #if defined(__cplusplus) && !defined(CINTERFACE)
   12958 MIDL_INTERFACE("c74a3adc-b727-4500-a84a-b526721c8b8c")
   12959 ISpeechObjectToken : public IDispatch
   12960 {
   12961     virtual HRESULT STDMETHODCALLTYPE get_Id(
   12962         BSTR *ObjectId) = 0;
   12963 
   12964     virtual HRESULT STDMETHODCALLTYPE get_DataKey(
   12965         ISpeechDataKey **DataKey) = 0;
   12966 
   12967     virtual HRESULT STDMETHODCALLTYPE get_Category(
   12968         ISpeechObjectTokenCategory **Category) = 0;
   12969 
   12970     virtual HRESULT STDMETHODCALLTYPE GetDescription(
   12971         LONG Locale,
   12972         BSTR *Description) = 0;
   12973 
   12974     virtual HRESULT STDMETHODCALLTYPE SetId(
   12975         BSTR Id,
   12976         BSTR CategoryID = L"",
   12977         VARIANT_BOOL CreateIfNotExist = 0) = 0;
   12978 
   12979     virtual HRESULT STDMETHODCALLTYPE GetAttribute(
   12980         BSTR AttributeName,
   12981         BSTR *AttributeValue) = 0;
   12982 
   12983     virtual HRESULT STDMETHODCALLTYPE CreateInstance(
   12984         IUnknown *pUnkOuter,
   12985         SpeechTokenContext ClsContext,
   12986         IUnknown **Object) = 0;
   12987 
   12988     virtual HRESULT STDMETHODCALLTYPE Remove(
   12989         BSTR ObjectStorageCLSID) = 0;
   12990 
   12991     virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
   12992         BSTR ObjectStorageCLSID,
   12993         BSTR KeyName,
   12994         BSTR FileName,
   12995         SpeechTokenShellFolder Folder,
   12996         BSTR *FilePath) = 0;
   12997 
   12998     virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
   12999         BSTR ObjectStorageCLSID,
   13000         BSTR KeyName,
   13001         VARIANT_BOOL DeleteFile) = 0;
   13002 
   13003     virtual HRESULT STDMETHODCALLTYPE IsUISupported(
   13004         const BSTR TypeOfUI,
   13005         const VARIANT *ExtraData,
   13006         IUnknown *Object,
   13007         VARIANT_BOOL *Supported) = 0;
   13008 
   13009     virtual HRESULT STDMETHODCALLTYPE DisplayUI(
   13010         LONG hWnd,
   13011         BSTR Title,
   13012         const BSTR TypeOfUI,
   13013         const VARIANT *ExtraData = 0,
   13014         IUnknown *Object = 0) = 0;
   13015 
   13016     virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
   13017         BSTR Attributes,
   13018         VARIANT_BOOL *Matches) = 0;
   13019 
   13020 };
   13021 #ifdef __CRT_UUID_DECL
   13022 __CRT_UUID_DECL(ISpeechObjectToken, 0xc74a3adc, 0xb727, 0x4500, 0xa8,0x4a, 0xb5,0x26,0x72,0x1c,0x8b,0x8c)
   13023 #endif
   13024 #else
   13025 typedef struct ISpeechObjectTokenVtbl {
   13026     BEGIN_INTERFACE
   13027 
   13028     /*** IUnknown methods ***/
   13029     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   13030         ISpeechObjectToken* This,
   13031         REFIID riid,
   13032         void **ppvObject);
   13033 
   13034     ULONG (STDMETHODCALLTYPE *AddRef)(
   13035         ISpeechObjectToken* This);
   13036 
   13037     ULONG (STDMETHODCALLTYPE *Release)(
   13038         ISpeechObjectToken* This);
   13039 
   13040     /*** IDispatch methods ***/
   13041     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   13042         ISpeechObjectToken* This,
   13043         UINT *pctinfo);
   13044 
   13045     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   13046         ISpeechObjectToken* This,
   13047         UINT iTInfo,
   13048         LCID lcid,
   13049         ITypeInfo **ppTInfo);
   13050 
   13051     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   13052         ISpeechObjectToken* This,
   13053         REFIID riid,
   13054         LPOLESTR *rgszNames,
   13055         UINT cNames,
   13056         LCID lcid,
   13057         DISPID *rgDispId);
   13058 
   13059     HRESULT (STDMETHODCALLTYPE *Invoke)(
   13060         ISpeechObjectToken* This,
   13061         DISPID dispIdMember,
   13062         REFIID riid,
   13063         LCID lcid,
   13064         WORD wFlags,
   13065         DISPPARAMS *pDispParams,
   13066         VARIANT *pVarResult,
   13067         EXCEPINFO *pExcepInfo,
   13068         UINT *puArgErr);
   13069 
   13070     /*** ISpeechObjectToken methods ***/
   13071     HRESULT (STDMETHODCALLTYPE *get_Id)(
   13072         ISpeechObjectToken* This,
   13073         BSTR *ObjectId);
   13074 
   13075     HRESULT (STDMETHODCALLTYPE *get_DataKey)(
   13076         ISpeechObjectToken* This,
   13077         ISpeechDataKey **DataKey);
   13078 
   13079     HRESULT (STDMETHODCALLTYPE *get_Category)(
   13080         ISpeechObjectToken* This,
   13081         ISpeechObjectTokenCategory **Category);
   13082 
   13083     HRESULT (STDMETHODCALLTYPE *GetDescription)(
   13084         ISpeechObjectToken* This,
   13085         LONG Locale,
   13086         BSTR *Description);
   13087 
   13088     HRESULT (STDMETHODCALLTYPE *SetId)(
   13089         ISpeechObjectToken* This,
   13090         BSTR Id,
   13091         BSTR CategoryID,
   13092         VARIANT_BOOL CreateIfNotExist);
   13093 
   13094     HRESULT (STDMETHODCALLTYPE *GetAttribute)(
   13095         ISpeechObjectToken* This,
   13096         BSTR AttributeName,
   13097         BSTR *AttributeValue);
   13098 
   13099     HRESULT (STDMETHODCALLTYPE *CreateInstance)(
   13100         ISpeechObjectToken* This,
   13101         IUnknown *pUnkOuter,
   13102         SpeechTokenContext ClsContext,
   13103         IUnknown **Object);
   13104 
   13105     HRESULT (STDMETHODCALLTYPE *Remove)(
   13106         ISpeechObjectToken* This,
   13107         BSTR ObjectStorageCLSID);
   13108 
   13109     HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
   13110         ISpeechObjectToken* This,
   13111         BSTR ObjectStorageCLSID,
   13112         BSTR KeyName,
   13113         BSTR FileName,
   13114         SpeechTokenShellFolder Folder,
   13115         BSTR *FilePath);
   13116 
   13117     HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
   13118         ISpeechObjectToken* This,
   13119         BSTR ObjectStorageCLSID,
   13120         BSTR KeyName,
   13121         VARIANT_BOOL DeleteFile);
   13122 
   13123     HRESULT (STDMETHODCALLTYPE *IsUISupported)(
   13124         ISpeechObjectToken* This,
   13125         const BSTR TypeOfUI,
   13126         const VARIANT *ExtraData,
   13127         IUnknown *Object,
   13128         VARIANT_BOOL *Supported);
   13129 
   13130     HRESULT (STDMETHODCALLTYPE *DisplayUI)(
   13131         ISpeechObjectToken* This,
   13132         LONG hWnd,
   13133         BSTR Title,
   13134         const BSTR TypeOfUI,
   13135         const VARIANT *ExtraData,
   13136         IUnknown *Object);
   13137 
   13138     HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
   13139         ISpeechObjectToken* This,
   13140         BSTR Attributes,
   13141         VARIANT_BOOL *Matches);
   13142 
   13143     END_INTERFACE
   13144 } ISpeechObjectTokenVtbl;
   13145 interface ISpeechObjectToken {
   13146     CONST_VTBL ISpeechObjectTokenVtbl* lpVtbl;
   13147 };
   13148 
   13149 #ifdef COBJMACROS
   13150 #ifndef WIDL_C_INLINE_WRAPPERS
   13151 /*** IUnknown methods ***/
   13152 #define ISpeechObjectToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13153 #define ISpeechObjectToken_AddRef(This) (This)->lpVtbl->AddRef(This)
   13154 #define ISpeechObjectToken_Release(This) (This)->lpVtbl->Release(This)
   13155 /*** IDispatch methods ***/
   13156 #define ISpeechObjectToken_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   13157 #define ISpeechObjectToken_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   13158 #define ISpeechObjectToken_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   13159 #define ISpeechObjectToken_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   13160 /*** ISpeechObjectToken methods ***/
   13161 #define ISpeechObjectToken_get_Id(This,ObjectId) (This)->lpVtbl->get_Id(This,ObjectId)
   13162 #define ISpeechObjectToken_get_DataKey(This,DataKey) (This)->lpVtbl->get_DataKey(This,DataKey)
   13163 #define ISpeechObjectToken_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
   13164 #define ISpeechObjectToken_GetDescription(This,Locale,Description) (This)->lpVtbl->GetDescription(This,Locale,Description)
   13165 #define ISpeechObjectToken_SetId(This,Id,CategoryID,CreateIfNotExist) (This)->lpVtbl->SetId(This,Id,CategoryID,CreateIfNotExist)
   13166 #define ISpeechObjectToken_GetAttribute(This,AttributeName,AttributeValue) (This)->lpVtbl->GetAttribute(This,AttributeName,AttributeValue)
   13167 #define ISpeechObjectToken_CreateInstance(This,pUnkOuter,ClsContext,Object) (This)->lpVtbl->CreateInstance(This,pUnkOuter,ClsContext,Object)
   13168 #define ISpeechObjectToken_Remove(This,ObjectStorageCLSID) (This)->lpVtbl->Remove(This,ObjectStorageCLSID)
   13169 #define ISpeechObjectToken_GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath) (This)->lpVtbl->GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath)
   13170 #define ISpeechObjectToken_RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile)
   13171 #define ISpeechObjectToken_IsUISupported(This,TypeOfUI,ExtraData,Object,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Object,Supported)
   13172 #define ISpeechObjectToken_DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object) (This)->lpVtbl->DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object)
   13173 #define ISpeechObjectToken_MatchesAttributes(This,Attributes,Matches) (This)->lpVtbl->MatchesAttributes(This,Attributes,Matches)
   13174 #else
   13175 /*** IUnknown methods ***/
   13176 static FORCEINLINE HRESULT ISpeechObjectToken_QueryInterface(ISpeechObjectToken* This,REFIID riid,void **ppvObject) {
   13177     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   13178 }
   13179 static FORCEINLINE ULONG ISpeechObjectToken_AddRef(ISpeechObjectToken* This) {
   13180     return This->lpVtbl->AddRef(This);
   13181 }
   13182 static FORCEINLINE ULONG ISpeechObjectToken_Release(ISpeechObjectToken* This) {
   13183     return This->lpVtbl->Release(This);
   13184 }
   13185 /*** IDispatch methods ***/
   13186 static FORCEINLINE HRESULT ISpeechObjectToken_GetTypeInfoCount(ISpeechObjectToken* This,UINT *pctinfo) {
   13187     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   13188 }
   13189 static FORCEINLINE HRESULT ISpeechObjectToken_GetTypeInfo(ISpeechObjectToken* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   13190     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   13191 }
   13192 static FORCEINLINE HRESULT ISpeechObjectToken_GetIDsOfNames(ISpeechObjectToken* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   13193     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   13194 }
   13195 static FORCEINLINE HRESULT ISpeechObjectToken_Invoke(ISpeechObjectToken* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   13196     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   13197 }
   13198 /*** ISpeechObjectToken methods ***/
   13199 static FORCEINLINE HRESULT ISpeechObjectToken_get_Id(ISpeechObjectToken* This,BSTR *ObjectId) {
   13200     return This->lpVtbl->get_Id(This,ObjectId);
   13201 }
   13202 static FORCEINLINE HRESULT ISpeechObjectToken_get_DataKey(ISpeechObjectToken* This,ISpeechDataKey **DataKey) {
   13203     return This->lpVtbl->get_DataKey(This,DataKey);
   13204 }
   13205 static FORCEINLINE HRESULT ISpeechObjectToken_get_Category(ISpeechObjectToken* This,ISpeechObjectTokenCategory **Category) {
   13206     return This->lpVtbl->get_Category(This,Category);
   13207 }
   13208 static FORCEINLINE HRESULT ISpeechObjectToken_GetDescription(ISpeechObjectToken* This,LONG Locale,BSTR *Description) {
   13209     return This->lpVtbl->GetDescription(This,Locale,Description);
   13210 }
   13211 static FORCEINLINE HRESULT ISpeechObjectToken_SetId(ISpeechObjectToken* This,BSTR Id,BSTR CategoryID,VARIANT_BOOL CreateIfNotExist) {
   13212     return This->lpVtbl->SetId(This,Id,CategoryID,CreateIfNotExist);
   13213 }
   13214 static FORCEINLINE HRESULT ISpeechObjectToken_GetAttribute(ISpeechObjectToken* This,BSTR AttributeName,BSTR *AttributeValue) {
   13215     return This->lpVtbl->GetAttribute(This,AttributeName,AttributeValue);
   13216 }
   13217 static FORCEINLINE HRESULT ISpeechObjectToken_CreateInstance(ISpeechObjectToken* This,IUnknown *pUnkOuter,SpeechTokenContext ClsContext,IUnknown **Object) {
   13218     return This->lpVtbl->CreateInstance(This,pUnkOuter,ClsContext,Object);
   13219 }
   13220 static FORCEINLINE HRESULT ISpeechObjectToken_Remove(ISpeechObjectToken* This,BSTR ObjectStorageCLSID) {
   13221     return This->lpVtbl->Remove(This,ObjectStorageCLSID);
   13222 }
   13223 static FORCEINLINE HRESULT ISpeechObjectToken_GetStorageFileName(ISpeechObjectToken* This,BSTR ObjectStorageCLSID,BSTR KeyName,BSTR FileName,SpeechTokenShellFolder Folder,BSTR *FilePath) {
   13224     return This->lpVtbl->GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath);
   13225 }
   13226 static FORCEINLINE HRESULT ISpeechObjectToken_RemoveStorageFileName(ISpeechObjectToken* This,BSTR ObjectStorageCLSID,BSTR KeyName,VARIANT_BOOL DeleteFile) {
   13227     return This->lpVtbl->RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile);
   13228 }
   13229 static FORCEINLINE HRESULT ISpeechObjectToken_IsUISupported(ISpeechObjectToken* This,const BSTR TypeOfUI,const VARIANT *ExtraData,IUnknown *Object,VARIANT_BOOL *Supported) {
   13230     return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Object,Supported);
   13231 }
   13232 static FORCEINLINE HRESULT ISpeechObjectToken_DisplayUI(ISpeechObjectToken* This,LONG hWnd,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData,IUnknown *Object) {
   13233     return This->lpVtbl->DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object);
   13234 }
   13235 static FORCEINLINE HRESULT ISpeechObjectToken_MatchesAttributes(ISpeechObjectToken* This,BSTR Attributes,VARIANT_BOOL *Matches) {
   13236     return This->lpVtbl->MatchesAttributes(This,Attributes,Matches);
   13237 }
   13238 #endif
   13239 #endif
   13240 
   13241 #endif
   13242 
   13243 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_Id_Proxy(
   13244     ISpeechObjectToken* This,
   13245     BSTR *ObjectId);
   13246 void __RPC_STUB ISpeechObjectToken_get_Id_Stub(
   13247     IRpcStubBuffer* This,
   13248     IRpcChannelBuffer* pRpcChannelBuffer,
   13249     PRPC_MESSAGE pRpcMessage,
   13250     DWORD* pdwStubPhase);
   13251 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_DataKey_Proxy(
   13252     ISpeechObjectToken* This,
   13253     ISpeechDataKey **DataKey);
   13254 void __RPC_STUB ISpeechObjectToken_get_DataKey_Stub(
   13255     IRpcStubBuffer* This,
   13256     IRpcChannelBuffer* pRpcChannelBuffer,
   13257     PRPC_MESSAGE pRpcMessage,
   13258     DWORD* pdwStubPhase);
   13259 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_Category_Proxy(
   13260     ISpeechObjectToken* This,
   13261     ISpeechObjectTokenCategory **Category);
   13262 void __RPC_STUB ISpeechObjectToken_get_Category_Stub(
   13263     IRpcStubBuffer* This,
   13264     IRpcChannelBuffer* pRpcChannelBuffer,
   13265     PRPC_MESSAGE pRpcMessage,
   13266     DWORD* pdwStubPhase);
   13267 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetDescription_Proxy(
   13268     ISpeechObjectToken* This,
   13269     LONG Locale,
   13270     BSTR *Description);
   13271 void __RPC_STUB ISpeechObjectToken_GetDescription_Stub(
   13272     IRpcStubBuffer* This,
   13273     IRpcChannelBuffer* pRpcChannelBuffer,
   13274     PRPC_MESSAGE pRpcMessage,
   13275     DWORD* pdwStubPhase);
   13276 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_SetId_Proxy(
   13277     ISpeechObjectToken* This,
   13278     BSTR Id,
   13279     BSTR CategoryID,
   13280     VARIANT_BOOL CreateIfNotExist);
   13281 void __RPC_STUB ISpeechObjectToken_SetId_Stub(
   13282     IRpcStubBuffer* This,
   13283     IRpcChannelBuffer* pRpcChannelBuffer,
   13284     PRPC_MESSAGE pRpcMessage,
   13285     DWORD* pdwStubPhase);
   13286 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetAttribute_Proxy(
   13287     ISpeechObjectToken* This,
   13288     BSTR AttributeName,
   13289     BSTR *AttributeValue);
   13290 void __RPC_STUB ISpeechObjectToken_GetAttribute_Stub(
   13291     IRpcStubBuffer* This,
   13292     IRpcChannelBuffer* pRpcChannelBuffer,
   13293     PRPC_MESSAGE pRpcMessage,
   13294     DWORD* pdwStubPhase);
   13295 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_CreateInstance_Proxy(
   13296     ISpeechObjectToken* This,
   13297     IUnknown *pUnkOuter,
   13298     SpeechTokenContext ClsContext,
   13299     IUnknown **Object);
   13300 void __RPC_STUB ISpeechObjectToken_CreateInstance_Stub(
   13301     IRpcStubBuffer* This,
   13302     IRpcChannelBuffer* pRpcChannelBuffer,
   13303     PRPC_MESSAGE pRpcMessage,
   13304     DWORD* pdwStubPhase);
   13305 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_Remove_Proxy(
   13306     ISpeechObjectToken* This,
   13307     BSTR ObjectStorageCLSID);
   13308 void __RPC_STUB ISpeechObjectToken_Remove_Stub(
   13309     IRpcStubBuffer* This,
   13310     IRpcChannelBuffer* pRpcChannelBuffer,
   13311     PRPC_MESSAGE pRpcMessage,
   13312     DWORD* pdwStubPhase);
   13313 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetStorageFileName_Proxy(
   13314     ISpeechObjectToken* This,
   13315     BSTR ObjectStorageCLSID,
   13316     BSTR KeyName,
   13317     BSTR FileName,
   13318     SpeechTokenShellFolder Folder,
   13319     BSTR *FilePath);
   13320 void __RPC_STUB ISpeechObjectToken_GetStorageFileName_Stub(
   13321     IRpcStubBuffer* This,
   13322     IRpcChannelBuffer* pRpcChannelBuffer,
   13323     PRPC_MESSAGE pRpcMessage,
   13324     DWORD* pdwStubPhase);
   13325 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_RemoveStorageFileName_Proxy(
   13326     ISpeechObjectToken* This,
   13327     BSTR ObjectStorageCLSID,
   13328     BSTR KeyName,
   13329     VARIANT_BOOL DeleteFile);
   13330 void __RPC_STUB ISpeechObjectToken_RemoveStorageFileName_Stub(
   13331     IRpcStubBuffer* This,
   13332     IRpcChannelBuffer* pRpcChannelBuffer,
   13333     PRPC_MESSAGE pRpcMessage,
   13334     DWORD* pdwStubPhase);
   13335 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_IsUISupported_Proxy(
   13336     ISpeechObjectToken* This,
   13337     const BSTR TypeOfUI,
   13338     const VARIANT *ExtraData,
   13339     IUnknown *Object,
   13340     VARIANT_BOOL *Supported);
   13341 void __RPC_STUB ISpeechObjectToken_IsUISupported_Stub(
   13342     IRpcStubBuffer* This,
   13343     IRpcChannelBuffer* pRpcChannelBuffer,
   13344     PRPC_MESSAGE pRpcMessage,
   13345     DWORD* pdwStubPhase);
   13346 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_DisplayUI_Proxy(
   13347     ISpeechObjectToken* This,
   13348     LONG hWnd,
   13349     BSTR Title,
   13350     const BSTR TypeOfUI,
   13351     const VARIANT *ExtraData,
   13352     IUnknown *Object);
   13353 void __RPC_STUB ISpeechObjectToken_DisplayUI_Stub(
   13354     IRpcStubBuffer* This,
   13355     IRpcChannelBuffer* pRpcChannelBuffer,
   13356     PRPC_MESSAGE pRpcMessage,
   13357     DWORD* pdwStubPhase);
   13358 HRESULT STDMETHODCALLTYPE ISpeechObjectToken_MatchesAttributes_Proxy(
   13359     ISpeechObjectToken* This,
   13360     BSTR Attributes,
   13361     VARIANT_BOOL *Matches);
   13362 void __RPC_STUB ISpeechObjectToken_MatchesAttributes_Stub(
   13363     IRpcStubBuffer* This,
   13364     IRpcChannelBuffer* pRpcChannelBuffer,
   13365     PRPC_MESSAGE pRpcMessage,
   13366     DWORD* pdwStubPhase);
   13367 
   13368 #endif  /* __ISpeechObjectToken_INTERFACE_DEFINED__ */
   13369 
   13370 /*****************************************************************************
   13371  * ISpeechObjectTokens interface
   13372  */
   13373 #ifndef __ISpeechObjectTokens_INTERFACE_DEFINED__
   13374 #define __ISpeechObjectTokens_INTERFACE_DEFINED__
   13375 
   13376 DEFINE_GUID(IID_ISpeechObjectTokens, 0x9285b776, 0x2e7b, 0x4bc0, 0xb5,0x3e, 0x58,0x0e,0xb6,0xfa,0x96,0x7f);
   13377 #if defined(__cplusplus) && !defined(CINTERFACE)
   13378 MIDL_INTERFACE("9285b776-2e7b-4bc0-b53e-580eb6fa967f")
   13379 ISpeechObjectTokens : public IDispatch
   13380 {
   13381     virtual HRESULT STDMETHODCALLTYPE get_Count(
   13382         LONG *Count) = 0;
   13383 
   13384     virtual HRESULT STDMETHODCALLTYPE Item(
   13385         LONG Index,
   13386         ISpeechObjectToken **Token) = 0;
   13387 
   13388     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   13389         IUnknown **ppEnumVARIANT) = 0;
   13390 
   13391 };
   13392 #ifdef __CRT_UUID_DECL
   13393 __CRT_UUID_DECL(ISpeechObjectTokens, 0x9285b776, 0x2e7b, 0x4bc0, 0xb5,0x3e, 0x58,0x0e,0xb6,0xfa,0x96,0x7f)
   13394 #endif
   13395 #else
   13396 typedef struct ISpeechObjectTokensVtbl {
   13397     BEGIN_INTERFACE
   13398 
   13399     /*** IUnknown methods ***/
   13400     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   13401         ISpeechObjectTokens* This,
   13402         REFIID riid,
   13403         void **ppvObject);
   13404 
   13405     ULONG (STDMETHODCALLTYPE *AddRef)(
   13406         ISpeechObjectTokens* This);
   13407 
   13408     ULONG (STDMETHODCALLTYPE *Release)(
   13409         ISpeechObjectTokens* This);
   13410 
   13411     /*** IDispatch methods ***/
   13412     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   13413         ISpeechObjectTokens* This,
   13414         UINT *pctinfo);
   13415 
   13416     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   13417         ISpeechObjectTokens* This,
   13418         UINT iTInfo,
   13419         LCID lcid,
   13420         ITypeInfo **ppTInfo);
   13421 
   13422     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   13423         ISpeechObjectTokens* This,
   13424         REFIID riid,
   13425         LPOLESTR *rgszNames,
   13426         UINT cNames,
   13427         LCID lcid,
   13428         DISPID *rgDispId);
   13429 
   13430     HRESULT (STDMETHODCALLTYPE *Invoke)(
   13431         ISpeechObjectTokens* This,
   13432         DISPID dispIdMember,
   13433         REFIID riid,
   13434         LCID lcid,
   13435         WORD wFlags,
   13436         DISPPARAMS *pDispParams,
   13437         VARIANT *pVarResult,
   13438         EXCEPINFO *pExcepInfo,
   13439         UINT *puArgErr);
   13440 
   13441     /*** ISpeechObjectTokens methods ***/
   13442     HRESULT (STDMETHODCALLTYPE *get_Count)(
   13443         ISpeechObjectTokens* This,
   13444         LONG *Count);
   13445 
   13446     HRESULT (STDMETHODCALLTYPE *Item)(
   13447         ISpeechObjectTokens* This,
   13448         LONG Index,
   13449         ISpeechObjectToken **Token);
   13450 
   13451     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   13452         ISpeechObjectTokens* This,
   13453         IUnknown **ppEnumVARIANT);
   13454 
   13455     END_INTERFACE
   13456 } ISpeechObjectTokensVtbl;
   13457 interface ISpeechObjectTokens {
   13458     CONST_VTBL ISpeechObjectTokensVtbl* lpVtbl;
   13459 };
   13460 
   13461 #ifdef COBJMACROS
   13462 #ifndef WIDL_C_INLINE_WRAPPERS
   13463 /*** IUnknown methods ***/
   13464 #define ISpeechObjectTokens_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13465 #define ISpeechObjectTokens_AddRef(This) (This)->lpVtbl->AddRef(This)
   13466 #define ISpeechObjectTokens_Release(This) (This)->lpVtbl->Release(This)
   13467 /*** IDispatch methods ***/
   13468 #define ISpeechObjectTokens_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   13469 #define ISpeechObjectTokens_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   13470 #define ISpeechObjectTokens_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   13471 #define ISpeechObjectTokens_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   13472 /*** ISpeechObjectTokens methods ***/
   13473 #define ISpeechObjectTokens_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   13474 #define ISpeechObjectTokens_Item(This,Index,Token) (This)->lpVtbl->Item(This,Index,Token)
   13475 #define ISpeechObjectTokens_get__NewEnum(This,ppEnumVARIANT) (This)->lpVtbl->get__NewEnum(This,ppEnumVARIANT)
   13476 #else
   13477 /*** IUnknown methods ***/
   13478 static FORCEINLINE HRESULT ISpeechObjectTokens_QueryInterface(ISpeechObjectTokens* This,REFIID riid,void **ppvObject) {
   13479     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   13480 }
   13481 static FORCEINLINE ULONG ISpeechObjectTokens_AddRef(ISpeechObjectTokens* This) {
   13482     return This->lpVtbl->AddRef(This);
   13483 }
   13484 static FORCEINLINE ULONG ISpeechObjectTokens_Release(ISpeechObjectTokens* This) {
   13485     return This->lpVtbl->Release(This);
   13486 }
   13487 /*** IDispatch methods ***/
   13488 static FORCEINLINE HRESULT ISpeechObjectTokens_GetTypeInfoCount(ISpeechObjectTokens* This,UINT *pctinfo) {
   13489     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   13490 }
   13491 static FORCEINLINE HRESULT ISpeechObjectTokens_GetTypeInfo(ISpeechObjectTokens* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   13492     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   13493 }
   13494 static FORCEINLINE HRESULT ISpeechObjectTokens_GetIDsOfNames(ISpeechObjectTokens* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   13495     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   13496 }
   13497 static FORCEINLINE HRESULT ISpeechObjectTokens_Invoke(ISpeechObjectTokens* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   13498     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   13499 }
   13500 /*** ISpeechObjectTokens methods ***/
   13501 static FORCEINLINE HRESULT ISpeechObjectTokens_get_Count(ISpeechObjectTokens* This,LONG *Count) {
   13502     return This->lpVtbl->get_Count(This,Count);
   13503 }
   13504 static FORCEINLINE HRESULT ISpeechObjectTokens_Item(ISpeechObjectTokens* This,LONG Index,ISpeechObjectToken **Token) {
   13505     return This->lpVtbl->Item(This,Index,Token);
   13506 }
   13507 static FORCEINLINE HRESULT ISpeechObjectTokens_get__NewEnum(ISpeechObjectTokens* This,IUnknown **ppEnumVARIANT) {
   13508     return This->lpVtbl->get__NewEnum(This,ppEnumVARIANT);
   13509 }
   13510 #endif
   13511 #endif
   13512 
   13513 #endif
   13514 
   13515 HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_get_Count_Proxy(
   13516     ISpeechObjectTokens* This,
   13517     LONG *Count);
   13518 void __RPC_STUB ISpeechObjectTokens_get_Count_Stub(
   13519     IRpcStubBuffer* This,
   13520     IRpcChannelBuffer* pRpcChannelBuffer,
   13521     PRPC_MESSAGE pRpcMessage,
   13522     DWORD* pdwStubPhase);
   13523 HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_Item_Proxy(
   13524     ISpeechObjectTokens* This,
   13525     LONG Index,
   13526     ISpeechObjectToken **Token);
   13527 void __RPC_STUB ISpeechObjectTokens_Item_Stub(
   13528     IRpcStubBuffer* This,
   13529     IRpcChannelBuffer* pRpcChannelBuffer,
   13530     PRPC_MESSAGE pRpcMessage,
   13531     DWORD* pdwStubPhase);
   13532 HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_get__NewEnum_Proxy(
   13533     ISpeechObjectTokens* This,
   13534     IUnknown **ppEnumVARIANT);
   13535 void __RPC_STUB ISpeechObjectTokens_get__NewEnum_Stub(
   13536     IRpcStubBuffer* This,
   13537     IRpcChannelBuffer* pRpcChannelBuffer,
   13538     PRPC_MESSAGE pRpcMessage,
   13539     DWORD* pdwStubPhase);
   13540 
   13541 #endif  /* __ISpeechObjectTokens_INTERFACE_DEFINED__ */
   13542 
   13543 /*****************************************************************************
   13544  * ISpeechObjectTokenCategory interface
   13545  */
   13546 #ifndef __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
   13547 #define __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
   13548 
   13549 DEFINE_GUID(IID_ISpeechObjectTokenCategory, 0xca7eac50, 0x2d01, 0x4145, 0x86,0xd4, 0x5a,0xe7,0xd7,0x0f,0x44,0x69);
   13550 #if defined(__cplusplus) && !defined(CINTERFACE)
   13551 MIDL_INTERFACE("ca7eac50-2d01-4145-86d4-5ae7d70f4469")
   13552 ISpeechObjectTokenCategory : public IDispatch
   13553 {
   13554     virtual HRESULT STDMETHODCALLTYPE get_Id(
   13555         BSTR *Id) = 0;
   13556 
   13557     virtual HRESULT STDMETHODCALLTYPE put_Default(
   13558         const BSTR TokenId) = 0;
   13559 
   13560     virtual HRESULT STDMETHODCALLTYPE get_Default(
   13561         BSTR *TokenId) = 0;
   13562 
   13563     virtual HRESULT STDMETHODCALLTYPE SetId(
   13564         const BSTR Id,
   13565         VARIANT_BOOL CreateIfNotExist = 0) = 0;
   13566 
   13567     virtual HRESULT STDMETHODCALLTYPE GetDataKey(
   13568         SpeechDataKeyLocation Location,
   13569         ISpeechDataKey **DataKey) = 0;
   13570 
   13571     virtual HRESULT STDMETHODCALLTYPE EnumerateTokens(
   13572         BSTR RequiredAttributes,
   13573         BSTR OptionalAttributes,
   13574         ISpeechObjectTokens **Tokens) = 0;
   13575 
   13576 };
   13577 #ifdef __CRT_UUID_DECL
   13578 __CRT_UUID_DECL(ISpeechObjectTokenCategory, 0xca7eac50, 0x2d01, 0x4145, 0x86,0xd4, 0x5a,0xe7,0xd7,0x0f,0x44,0x69)
   13579 #endif
   13580 #else
   13581 typedef struct ISpeechObjectTokenCategoryVtbl {
   13582     BEGIN_INTERFACE
   13583 
   13584     /*** IUnknown methods ***/
   13585     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   13586         ISpeechObjectTokenCategory* This,
   13587         REFIID riid,
   13588         void **ppvObject);
   13589 
   13590     ULONG (STDMETHODCALLTYPE *AddRef)(
   13591         ISpeechObjectTokenCategory* This);
   13592 
   13593     ULONG (STDMETHODCALLTYPE *Release)(
   13594         ISpeechObjectTokenCategory* This);
   13595 
   13596     /*** IDispatch methods ***/
   13597     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   13598         ISpeechObjectTokenCategory* This,
   13599         UINT *pctinfo);
   13600 
   13601     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   13602         ISpeechObjectTokenCategory* This,
   13603         UINT iTInfo,
   13604         LCID lcid,
   13605         ITypeInfo **ppTInfo);
   13606 
   13607     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   13608         ISpeechObjectTokenCategory* This,
   13609         REFIID riid,
   13610         LPOLESTR *rgszNames,
   13611         UINT cNames,
   13612         LCID lcid,
   13613         DISPID *rgDispId);
   13614 
   13615     HRESULT (STDMETHODCALLTYPE *Invoke)(
   13616         ISpeechObjectTokenCategory* This,
   13617         DISPID dispIdMember,
   13618         REFIID riid,
   13619         LCID lcid,
   13620         WORD wFlags,
   13621         DISPPARAMS *pDispParams,
   13622         VARIANT *pVarResult,
   13623         EXCEPINFO *pExcepInfo,
   13624         UINT *puArgErr);
   13625 
   13626     /*** ISpeechObjectTokenCategory methods ***/
   13627     HRESULT (STDMETHODCALLTYPE *get_Id)(
   13628         ISpeechObjectTokenCategory* This,
   13629         BSTR *Id);
   13630 
   13631     HRESULT (STDMETHODCALLTYPE *put_Default)(
   13632         ISpeechObjectTokenCategory* This,
   13633         const BSTR TokenId);
   13634 
   13635     HRESULT (STDMETHODCALLTYPE *get_Default)(
   13636         ISpeechObjectTokenCategory* This,
   13637         BSTR *TokenId);
   13638 
   13639     HRESULT (STDMETHODCALLTYPE *SetId)(
   13640         ISpeechObjectTokenCategory* This,
   13641         const BSTR Id,
   13642         VARIANT_BOOL CreateIfNotExist);
   13643 
   13644     HRESULT (STDMETHODCALLTYPE *GetDataKey)(
   13645         ISpeechObjectTokenCategory* This,
   13646         SpeechDataKeyLocation Location,
   13647         ISpeechDataKey **DataKey);
   13648 
   13649     HRESULT (STDMETHODCALLTYPE *EnumerateTokens)(
   13650         ISpeechObjectTokenCategory* This,
   13651         BSTR RequiredAttributes,
   13652         BSTR OptionalAttributes,
   13653         ISpeechObjectTokens **Tokens);
   13654 
   13655     END_INTERFACE
   13656 } ISpeechObjectTokenCategoryVtbl;
   13657 interface ISpeechObjectTokenCategory {
   13658     CONST_VTBL ISpeechObjectTokenCategoryVtbl* lpVtbl;
   13659 };
   13660 
   13661 #ifdef COBJMACROS
   13662 #ifndef WIDL_C_INLINE_WRAPPERS
   13663 /*** IUnknown methods ***/
   13664 #define ISpeechObjectTokenCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   13665 #define ISpeechObjectTokenCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
   13666 #define ISpeechObjectTokenCategory_Release(This) (This)->lpVtbl->Release(This)
   13667 /*** IDispatch methods ***/
   13668 #define ISpeechObjectTokenCategory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   13669 #define ISpeechObjectTokenCategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   13670 #define ISpeechObjectTokenCategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   13671 #define ISpeechObjectTokenCategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   13672 /*** ISpeechObjectTokenCategory methods ***/
   13673 #define ISpeechObjectTokenCategory_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
   13674 #define ISpeechObjectTokenCategory_put_Default(This,TokenId) (This)->lpVtbl->put_Default(This,TokenId)
   13675 #define ISpeechObjectTokenCategory_get_Default(This,TokenId) (This)->lpVtbl->get_Default(This,TokenId)
   13676 #define ISpeechObjectTokenCategory_SetId(This,Id,CreateIfNotExist) (This)->lpVtbl->SetId(This,Id,CreateIfNotExist)
   13677 #define ISpeechObjectTokenCategory_GetDataKey(This,Location,DataKey) (This)->lpVtbl->GetDataKey(This,Location,DataKey)
   13678 #define ISpeechObjectTokenCategory_EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens) (This)->lpVtbl->EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens)
   13679 #else
   13680 /*** IUnknown methods ***/
   13681 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_QueryInterface(ISpeechObjectTokenCategory* This,REFIID riid,void **ppvObject) {
   13682     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   13683 }
   13684 static FORCEINLINE ULONG ISpeechObjectTokenCategory_AddRef(ISpeechObjectTokenCategory* This) {
   13685     return This->lpVtbl->AddRef(This);
   13686 }
   13687 static FORCEINLINE ULONG ISpeechObjectTokenCategory_Release(ISpeechObjectTokenCategory* This) {
   13688     return This->lpVtbl->Release(This);
   13689 }
   13690 /*** IDispatch methods ***/
   13691 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetTypeInfoCount(ISpeechObjectTokenCategory* This,UINT *pctinfo) {
   13692     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   13693 }
   13694 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetTypeInfo(ISpeechObjectTokenCategory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   13695     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   13696 }
   13697 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetIDsOfNames(ISpeechObjectTokenCategory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   13698     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   13699 }
   13700 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_Invoke(ISpeechObjectTokenCategory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   13701     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   13702 }
   13703 /*** ISpeechObjectTokenCategory methods ***/
   13704 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_get_Id(ISpeechObjectTokenCategory* This,BSTR *Id) {
   13705     return This->lpVtbl->get_Id(This,Id);
   13706 }
   13707 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_put_Default(ISpeechObjectTokenCategory* This,const BSTR TokenId) {
   13708     return This->lpVtbl->put_Default(This,TokenId);
   13709 }
   13710 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_get_Default(ISpeechObjectTokenCategory* This,BSTR *TokenId) {
   13711     return This->lpVtbl->get_Default(This,TokenId);
   13712 }
   13713 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_SetId(ISpeechObjectTokenCategory* This,const BSTR Id,VARIANT_BOOL CreateIfNotExist) {
   13714     return This->lpVtbl->SetId(This,Id,CreateIfNotExist);
   13715 }
   13716 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetDataKey(ISpeechObjectTokenCategory* This,SpeechDataKeyLocation Location,ISpeechDataKey **DataKey) {
   13717     return This->lpVtbl->GetDataKey(This,Location,DataKey);
   13718 }
   13719 static FORCEINLINE HRESULT ISpeechObjectTokenCategory_EnumerateTokens(ISpeechObjectTokenCategory* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **Tokens) {
   13720     return This->lpVtbl->EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens);
   13721 }
   13722 #endif
   13723 #endif
   13724 
   13725 #endif
   13726 
   13727 HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_get_Id_Proxy(
   13728     ISpeechObjectTokenCategory* This,
   13729     BSTR *Id);
   13730 void __RPC_STUB ISpeechObjectTokenCategory_get_Id_Stub(
   13731     IRpcStubBuffer* This,
   13732     IRpcChannelBuffer* pRpcChannelBuffer,
   13733     PRPC_MESSAGE pRpcMessage,
   13734     DWORD* pdwStubPhase);
   13735 HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_put_Default_Proxy(
   13736     ISpeechObjectTokenCategory* This,
   13737     const BSTR TokenId);
   13738 void __RPC_STUB ISpeechObjectTokenCategory_put_Default_Stub(
   13739     IRpcStubBuffer* This,
   13740     IRpcChannelBuffer* pRpcChannelBuffer,
   13741     PRPC_MESSAGE pRpcMessage,
   13742     DWORD* pdwStubPhase);
   13743 HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_get_Default_Proxy(
   13744     ISpeechObjectTokenCategory* This,
   13745     BSTR *TokenId);
   13746 void __RPC_STUB ISpeechObjectTokenCategory_get_Default_Stub(
   13747     IRpcStubBuffer* This,
   13748     IRpcChannelBuffer* pRpcChannelBuffer,
   13749     PRPC_MESSAGE pRpcMessage,
   13750     DWORD* pdwStubPhase);
   13751 HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_SetId_Proxy(
   13752     ISpeechObjectTokenCategory* This,
   13753     const BSTR Id,
   13754     VARIANT_BOOL CreateIfNotExist);
   13755 void __RPC_STUB ISpeechObjectTokenCategory_SetId_Stub(
   13756     IRpcStubBuffer* This,
   13757     IRpcChannelBuffer* pRpcChannelBuffer,
   13758     PRPC_MESSAGE pRpcMessage,
   13759     DWORD* pdwStubPhase);
   13760 HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_GetDataKey_Proxy(
   13761     ISpeechObjectTokenCategory* This,
   13762     SpeechDataKeyLocation Location,
   13763     ISpeechDataKey **DataKey);
   13764 void __RPC_STUB ISpeechObjectTokenCategory_GetDataKey_Stub(
   13765     IRpcStubBuffer* This,
   13766     IRpcChannelBuffer* pRpcChannelBuffer,
   13767     PRPC_MESSAGE pRpcMessage,
   13768     DWORD* pdwStubPhase);
   13769 HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_EnumerateTokens_Proxy(
   13770     ISpeechObjectTokenCategory* This,
   13771     BSTR RequiredAttributes,
   13772     BSTR OptionalAttributes,
   13773     ISpeechObjectTokens **Tokens);
   13774 void __RPC_STUB ISpeechObjectTokenCategory_EnumerateTokens_Stub(
   13775     IRpcStubBuffer* This,
   13776     IRpcChannelBuffer* pRpcChannelBuffer,
   13777     PRPC_MESSAGE pRpcMessage,
   13778     DWORD* pdwStubPhase);
   13779 
   13780 #endif  /* __ISpeechObjectTokenCategory_INTERFACE_DEFINED__ */
   13781 
   13782 typedef enum SpeechAudioFormatType {
   13783     SAFTDefault = -1,
   13784     SAFTNoAssignedFormat = 0,
   13785     SAFTText = 1,
   13786     SAFTNonStandardFormat = 2,
   13787     SAFTExtendedAudioFormat = 3,
   13788     SAFT8kHz8BitMono = 4,
   13789     SAFT8kHz8BitStereo = 5,
   13790     SAFT8kHz16BitMono = 6,
   13791     SAFT8kHz16BitStereo = 7,
   13792     SAFT11kHz8BitMono = 8,
   13793     SAFT11kHz8BitStereo = 9,
   13794     SAFT11kHz16BitMono = 10,
   13795     SAFT11kHz16BitStereo = 11,
   13796     SAFT12kHz8BitMono = 12,
   13797     SAFT12kHz8BitStereo = 13,
   13798     SAFT12kHz16BitMono = 14,
   13799     SAFT12kHz16BitStereo = 15,
   13800     SAFT16kHz8BitMono = 16,
   13801     SAFT16kHz8BitStereo = 17,
   13802     SAFT16kHz16BitMono = 18,
   13803     SAFT16kHz16BitStereo = 19,
   13804     SAFT22kHz8BitMono = 20,
   13805     SAFT22kHz8BitStereo = 21,
   13806     SAFT22kHz16BitMono = 22,
   13807     SAFT22kHz16BitStereo = 23,
   13808     SAFT24kHz8BitMono = 24,
   13809     SAFT24kHz8BitStereo = 25,
   13810     SAFT24kHz16BitMono = 26,
   13811     SAFT24kHz16BitStereo = 27,
   13812     SAFT32kHz8BitMono = 28,
   13813     SAFT32kHz8BitStereo = 29,
   13814     SAFT32kHz16BitMono = 30,
   13815     SAFT32kHz16BitStereo = 31,
   13816     SAFT44kHz8BitMono = 32,
   13817     SAFT44kHz8BitStereo = 33,
   13818     SAFT44kHz16BitMono = 34,
   13819     SAFT44kHz16BitStereo = 35,
   13820     SAFT48kHz8BitMono = 36,
   13821     SAFT48kHz8BitStereo = 37,
   13822     SAFT48kHz16BitMono = 38,
   13823     SAFT48kHz16BitStereo = 39,
   13824     SAFTTrueSpeech_8kHz1BitMono = 40,
   13825     SAFTCCITT_ALaw_8kHzMono = 41,
   13826     SAFTCCITT_ALaw_8kHzStereo = 42,
   13827     SAFTCCITT_ALaw_11kHzMono = 43,
   13828     SAFTCCITT_ALaw_11kHzStereo = 44,
   13829     SAFTCCITT_ALaw_22kHzMono = 45,
   13830     SAFTCCITT_ALaw_22kHzStereo = 46,
   13831     SAFTCCITT_ALaw_44kHzMono = 47,
   13832     SAFTCCITT_ALaw_44kHzStereo = 48,
   13833     SAFTCCITT_uLaw_8kHzMono = 49,
   13834     SAFTCCITT_uLaw_8kHzStereo = 50,
   13835     SAFTCCITT_uLaw_11kHzMono = 51,
   13836     SAFTCCITT_uLaw_11kHzStereo = 52,
   13837     SAFTCCITT_uLaw_22kHzMono = 53,
   13838     SAFTCCITT_uLaw_22kHzStereo = 54,
   13839     SAFTCCITT_uLaw_44kHzMono = 55,
   13840     SAFTCCITT_uLaw_44kHzStereo = 56,
   13841     SAFTADPCM_8kHzMono = 57,
   13842     SAFTADPCM_8kHzStereo = 58,
   13843     SAFTADPCM_11kHzMono = 59,
   13844     SAFTADPCM_11kHzStereo = 60,
   13845     SAFTADPCM_22kHzMono = 61,
   13846     SAFTADPCM_22kHzStereo = 62,
   13847     SAFTADPCM_44kHzMono = 63,
   13848     SAFTADPCM_44kHzStereo = 64,
   13849     SAFTGSM610_8kHzMono = 65,
   13850     SAFTGSM610_11kHzMono = 66,
   13851     SAFTGSM610_22kHzMono = 67,
   13852     SAFTGSM610_44kHzMono = 68
   13853 } SpeechAudioFormatType;
   13854 typedef enum DISPID_SpeechAudioFormat {
   13855     DISPID_SAFType = 1,
   13856     DISPID_SAFGuid = 2,
   13857     DISPID_SAFGetWaveFormatEx = 3,
   13858     DISPID_SAFSetWaveFormatEx = 4
   13859 } DISPID_SpeechAudioFormat;
   13860 typedef enum DISPID_SpeechBaseStream {
   13861     DISPID_SBSFormat = 1,
   13862     DISPID_SBSRead = 2,
   13863     DISPID_SBSWrite = 3,
   13864     DISPID_SBSSeek = 4
   13865 } DISPID_SpeechBaseStream;
   13866 typedef enum SpeechStreamSeekPositionType {
   13867     SSSPTRelativeToStart = STREAM_SEEK_SET,
   13868     SSSPTRelativeToCurrentPosition = STREAM_SEEK_CUR,
   13869     SSSPTRelativeToEnd = STREAM_SEEK_END
   13870 } SpeechStreamSeekPositionType;
   13871 typedef enum DISPID_SpeechAudio {
   13872     DISPID_SAStatus = 200,
   13873     DISPID_SABufferInfo = 201,
   13874     DISPID_SADefaultFormat = 202,
   13875     DISPID_SAVolume = 203,
   13876     DISPID_SABufferNotifySize = 204,
   13877     DISPID_SAEventHandle = 205,
   13878     DISPID_SASetState = 206
   13879 } DISPID_SpeechAudio;
   13880 typedef enum SpeechAudioState {
   13881     SASClosed = SPAS_CLOSED,
   13882     SASStop = SPAS_STOP,
   13883     SASPause = SPAS_PAUSE,
   13884     SASRun = SPAS_RUN
   13885 } SpeechAudioState;
   13886 typedef enum DISPID_SpeechMMSysAudio {
   13887     DISPID_SMSADeviceId = 300,
   13888     DISPID_SMSALineId = 301,
   13889     DISPID_SMSAMMHandle = 302
   13890 } DISPID_SpeechMMSysAudio;
   13891 typedef enum DISPID_SpeechFileStream {
   13892     DISPID_SFSOpen = 100,
   13893     DISPID_SFSClose = 101
   13894 } DISPID_SpeechFileStream;
   13895 typedef enum SpeechStreamFileMode {
   13896     SSFMOpenForRead = SPFM_OPEN_READONLY,
   13897     SSFMOpenReadWrite = SPFM_OPEN_READWRITE,
   13898     SSFMCreate = SPFM_CREATE,
   13899     SSFMCreateForWrite = SPFM_CREATE_ALWAYS
   13900 } SpeechStreamFileMode;
   13901 typedef enum DISPID_SpeechCustomStream {
   13902     DISPID_SCSBaseStream = 100
   13903 } DISPID_SpeechCustomStream;
   13904 typedef enum DISPID_SpeechMemoryStream {
   13905     DISPID_SMSSetData = 100,
   13906     DISPID_SMSGetData = 101
   13907 } DISPID_SpeechMemoryStream;
   13908 typedef enum DISPID_SpeechAudioStatus {
   13909     DISPID_SASFreeBufferSpace = 1,
   13910     DISPID_SASNonBlockingIO = 2,
   13911     DISPID_SASState = 3,
   13912     DISPID_SASCurrentSeekPosition = 4,
   13913     DISPID_SASCurrentDevicePosition = 5
   13914 } DISPID_SpeechAudioStatus;
   13915 typedef enum DISPID_SpeechAudioBufferInfo {
   13916     DISPID_SABIMinNotification = 1,
   13917     DISPID_SABIBufferSize = 2,
   13918     DISPID_SABIEventBias = 3
   13919 } DISPID_SpeechAudioBufferInfo;
   13920 typedef enum DISPID_SpeechWaveFormatEx {
   13921     DISPID_SWFEFormatTag = 1,
   13922     DISPID_SWFEChannels = 2,
   13923     DISPID_SWFESamplesPerSec = 3,
   13924     DISPID_SWFEAvgBytesPerSec = 4,
   13925     DISPID_SWFEBlockAlign = 5,
   13926     DISPID_SWFEBitsPerSample = 6,
   13927     DISPID_SWFEExtraData = 7
   13928 } DISPID_SpeechWaveFormatEx;
   13929 typedef enum DISPID_SpeechVoice {
   13930     DISPID_SVStatus = 1,
   13931     DISPID_SVVoice = 2,
   13932     DISPID_SVAudioOutput = 3,
   13933     DISPID_SVAudioOutputStream = 4,
   13934     DISPID_SVRate = 5,
   13935     DISPID_SVVolume = 6,
   13936     DISPID_SVAllowAudioOuputFormatChangesOnNextSet = 7,
   13937     DISPID_SVEventInterests = 8,
   13938     DISPID_SVPriority = 9,
   13939     DISPID_SVAlertBoundary = 10,
   13940     DISPID_SVSyncronousSpeakTimeout = 11,
   13941     DISPID_SVSpeak = 12,
   13942     DISPID_SVSpeakStream = 13,
   13943     DISPID_SVPause = 14,
   13944     DISPID_SVResume = 15,
   13945     DISPID_SVSkip = 16,
   13946     DISPID_SVGetVoices = 17,
   13947     DISPID_SVGetAudioOutputs = 18,
   13948     DISPID_SVWaitUntilDone = 19,
   13949     DISPID_SVSpeakCompleteEvent = 20,
   13950     DISPID_SVIsUISupported = 21,
   13951     DISPID_SVDisplayUI = 22
   13952 } DISPID_SpeechVoice;
   13953 typedef enum SpeechVoicePriority {
   13954     SVPNormal = SPVPRI_NORMAL,
   13955     SVPAlert = SPVPRI_ALERT,
   13956     SVPOver = SPVPRI_OVER
   13957 } SpeechVoicePriority;
   13958 typedef enum SpeechVoiceSpeakFlags {
   13959     SVSFDefault = SPF_DEFAULT,
   13960     SVSFlagsAsync = SPF_ASYNC,
   13961     SVSFPurgeBeforeSpeak = SPF_PURGEBEFORESPEAK,
   13962     SVSFIsFilename = SPF_IS_FILENAME,
   13963     SVSFIsXML = SPF_IS_XML,
   13964     SVSFIsNotXML = SPF_IS_NOT_XML,
   13965     SVSFPersistXML = SPF_PERSIST_XML,
   13966     SVSFNLPSpeakPunc = SPF_NLP_SPEAK_PUNC,
   13967     SVSFParseSapi = SPF_PARSE_SAPI,
   13968     SVSFParseSsml = SPF_PARSE_SSML,
   13969     SVSFParseAutodetect = SPF_PARSE_AUTODETECT,
   13970     SVSFNLPMask = SPF_NLP_MASK,
   13971     SVSFParseMask = SPF_PARSE_MASK,
   13972     SVSFVoiceMask = SPF_VOICE_MASK,
   13973     SVSFUnusedFlags = SPF_UNUSED_FLAGS
   13974 } SpeechVoiceSpeakFlags;
   13975 typedef enum SpeechVoiceEvents {
   13976     SVEStartInputStream = 0x2,
   13977     SVEEndInputStream = 0x4,
   13978     SVEVoiceChange = 0x8,
   13979     SVEBookmark = 0x10,
   13980     SVEWordBoundary = 0x20,
   13981     SVEPhoneme = 0x40,
   13982     SVESentenceBoundary = 0x80,
   13983     SVEViseme = 0x100,
   13984     SVEAudioLevel = 0x200,
   13985     SVEPrivate = 0x8000,
   13986     SVEAllEvents = 0x83fe
   13987 } SpeechVoiceEvents;
   13988 typedef enum DISPID_SpeechVoiceStatus {
   13989     DISPID_SVSCurrentStreamNumber = 1,
   13990     DISPID_SVSLastStreamNumberQueued = 2,
   13991     DISPID_SVSLastResult = 3,
   13992     DISPID_SVSRunningState = 4,
   13993     DISPID_SVSInputWordPosition = 5,
   13994     DISPID_SVSInputWordLength = 6,
   13995     DISPID_SVSInputSentencePosition = 7,
   13996     DISPID_SVSInputSentenceLength = 8,
   13997     DISPID_SVSLastBookmark = 9,
   13998     DISPID_SVSLastBookmarkId = 10,
   13999     DISPID_SVSPhonemeId = 11,
   14000     DISPID_SVSVisemeId = 12
   14001 } DISPID_SpeechVoiceStatus;
   14002 typedef enum SpeechRunState {
   14003     SRSEDone = SPRS_DONE,
   14004     SRSEIsSpeaking = SPRS_IS_SPEAKING
   14005 } SpeechRunState;
   14006 /*****************************************************************************
   14007  * ISpeechAudioFormat interface
   14008  */
   14009 #ifndef __ISpeechAudioFormat_INTERFACE_DEFINED__
   14010 #define __ISpeechAudioFormat_INTERFACE_DEFINED__
   14011 
   14012 DEFINE_GUID(IID_ISpeechAudioFormat, 0xe6e9c590, 0x3e18, 0x40e3, 0x82,0x99, 0x06,0x1f,0x98,0xbd,0xe7,0xc7);
   14013 #if defined(__cplusplus) && !defined(CINTERFACE)
   14014 MIDL_INTERFACE("e6e9c590-3e18-40e3-8299-061f98bde7c7")
   14015 ISpeechAudioFormat : public IDispatch
   14016 {
   14017     virtual HRESULT STDMETHODCALLTYPE get_Type(
   14018         SpeechAudioFormatType *AudioFormat) = 0;
   14019 
   14020     virtual HRESULT STDMETHODCALLTYPE put_Type(
   14021         SpeechAudioFormatType AudioFormat) = 0;
   14022 
   14023     virtual HRESULT STDMETHODCALLTYPE get_Guid(
   14024         BSTR *Guid) = 0;
   14025 
   14026     virtual HRESULT STDMETHODCALLTYPE put_Guid(
   14027         BSTR Guid) = 0;
   14028 
   14029     virtual HRESULT STDMETHODCALLTYPE GetWaveFormatEx(
   14030         ISpeechWaveFormatEx **SpeechWaveFormatEx) = 0;
   14031 
   14032     virtual HRESULT STDMETHODCALLTYPE SetWaveFormatEx(
   14033         ISpeechWaveFormatEx *SpeechWaveFormatEx) = 0;
   14034 
   14035 };
   14036 #ifdef __CRT_UUID_DECL
   14037 __CRT_UUID_DECL(ISpeechAudioFormat, 0xe6e9c590, 0x3e18, 0x40e3, 0x82,0x99, 0x06,0x1f,0x98,0xbd,0xe7,0xc7)
   14038 #endif
   14039 #else
   14040 typedef struct ISpeechAudioFormatVtbl {
   14041     BEGIN_INTERFACE
   14042 
   14043     /*** IUnknown methods ***/
   14044     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   14045         ISpeechAudioFormat* This,
   14046         REFIID riid,
   14047         void **ppvObject);
   14048 
   14049     ULONG (STDMETHODCALLTYPE *AddRef)(
   14050         ISpeechAudioFormat* This);
   14051 
   14052     ULONG (STDMETHODCALLTYPE *Release)(
   14053         ISpeechAudioFormat* This);
   14054 
   14055     /*** IDispatch methods ***/
   14056     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   14057         ISpeechAudioFormat* This,
   14058         UINT *pctinfo);
   14059 
   14060     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   14061         ISpeechAudioFormat* This,
   14062         UINT iTInfo,
   14063         LCID lcid,
   14064         ITypeInfo **ppTInfo);
   14065 
   14066     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   14067         ISpeechAudioFormat* This,
   14068         REFIID riid,
   14069         LPOLESTR *rgszNames,
   14070         UINT cNames,
   14071         LCID lcid,
   14072         DISPID *rgDispId);
   14073 
   14074     HRESULT (STDMETHODCALLTYPE *Invoke)(
   14075         ISpeechAudioFormat* This,
   14076         DISPID dispIdMember,
   14077         REFIID riid,
   14078         LCID lcid,
   14079         WORD wFlags,
   14080         DISPPARAMS *pDispParams,
   14081         VARIANT *pVarResult,
   14082         EXCEPINFO *pExcepInfo,
   14083         UINT *puArgErr);
   14084 
   14085     /*** ISpeechAudioFormat methods ***/
   14086     HRESULT (STDMETHODCALLTYPE *get_Type)(
   14087         ISpeechAudioFormat* This,
   14088         SpeechAudioFormatType *AudioFormat);
   14089 
   14090     HRESULT (STDMETHODCALLTYPE *put_Type)(
   14091         ISpeechAudioFormat* This,
   14092         SpeechAudioFormatType AudioFormat);
   14093 
   14094     HRESULT (STDMETHODCALLTYPE *get_Guid)(
   14095         ISpeechAudioFormat* This,
   14096         BSTR *Guid);
   14097 
   14098     HRESULT (STDMETHODCALLTYPE *put_Guid)(
   14099         ISpeechAudioFormat* This,
   14100         BSTR Guid);
   14101 
   14102     HRESULT (STDMETHODCALLTYPE *GetWaveFormatEx)(
   14103         ISpeechAudioFormat* This,
   14104         ISpeechWaveFormatEx **SpeechWaveFormatEx);
   14105 
   14106     HRESULT (STDMETHODCALLTYPE *SetWaveFormatEx)(
   14107         ISpeechAudioFormat* This,
   14108         ISpeechWaveFormatEx *SpeechWaveFormatEx);
   14109 
   14110     END_INTERFACE
   14111 } ISpeechAudioFormatVtbl;
   14112 interface ISpeechAudioFormat {
   14113     CONST_VTBL ISpeechAudioFormatVtbl* lpVtbl;
   14114 };
   14115 
   14116 #ifdef COBJMACROS
   14117 #ifndef WIDL_C_INLINE_WRAPPERS
   14118 /*** IUnknown methods ***/
   14119 #define ISpeechAudioFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14120 #define ISpeechAudioFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
   14121 #define ISpeechAudioFormat_Release(This) (This)->lpVtbl->Release(This)
   14122 /*** IDispatch methods ***/
   14123 #define ISpeechAudioFormat_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   14124 #define ISpeechAudioFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   14125 #define ISpeechAudioFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   14126 #define ISpeechAudioFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   14127 /*** ISpeechAudioFormat methods ***/
   14128 #define ISpeechAudioFormat_get_Type(This,AudioFormat) (This)->lpVtbl->get_Type(This,AudioFormat)
   14129 #define ISpeechAudioFormat_put_Type(This,AudioFormat) (This)->lpVtbl->put_Type(This,AudioFormat)
   14130 #define ISpeechAudioFormat_get_Guid(This,Guid) (This)->lpVtbl->get_Guid(This,Guid)
   14131 #define ISpeechAudioFormat_put_Guid(This,Guid) (This)->lpVtbl->put_Guid(This,Guid)
   14132 #define ISpeechAudioFormat_GetWaveFormatEx(This,SpeechWaveFormatEx) (This)->lpVtbl->GetWaveFormatEx(This,SpeechWaveFormatEx)
   14133 #define ISpeechAudioFormat_SetWaveFormatEx(This,SpeechWaveFormatEx) (This)->lpVtbl->SetWaveFormatEx(This,SpeechWaveFormatEx)
   14134 #else
   14135 /*** IUnknown methods ***/
   14136 static FORCEINLINE HRESULT ISpeechAudioFormat_QueryInterface(ISpeechAudioFormat* This,REFIID riid,void **ppvObject) {
   14137     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   14138 }
   14139 static FORCEINLINE ULONG ISpeechAudioFormat_AddRef(ISpeechAudioFormat* This) {
   14140     return This->lpVtbl->AddRef(This);
   14141 }
   14142 static FORCEINLINE ULONG ISpeechAudioFormat_Release(ISpeechAudioFormat* This) {
   14143     return This->lpVtbl->Release(This);
   14144 }
   14145 /*** IDispatch methods ***/
   14146 static FORCEINLINE HRESULT ISpeechAudioFormat_GetTypeInfoCount(ISpeechAudioFormat* This,UINT *pctinfo) {
   14147     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   14148 }
   14149 static FORCEINLINE HRESULT ISpeechAudioFormat_GetTypeInfo(ISpeechAudioFormat* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   14150     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   14151 }
   14152 static FORCEINLINE HRESULT ISpeechAudioFormat_GetIDsOfNames(ISpeechAudioFormat* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   14153     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   14154 }
   14155 static FORCEINLINE HRESULT ISpeechAudioFormat_Invoke(ISpeechAudioFormat* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   14156     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   14157 }
   14158 /*** ISpeechAudioFormat methods ***/
   14159 static FORCEINLINE HRESULT ISpeechAudioFormat_get_Type(ISpeechAudioFormat* This,SpeechAudioFormatType *AudioFormat) {
   14160     return This->lpVtbl->get_Type(This,AudioFormat);
   14161 }
   14162 static FORCEINLINE HRESULT ISpeechAudioFormat_put_Type(ISpeechAudioFormat* This,SpeechAudioFormatType AudioFormat) {
   14163     return This->lpVtbl->put_Type(This,AudioFormat);
   14164 }
   14165 static FORCEINLINE HRESULT ISpeechAudioFormat_get_Guid(ISpeechAudioFormat* This,BSTR *Guid) {
   14166     return This->lpVtbl->get_Guid(This,Guid);
   14167 }
   14168 static FORCEINLINE HRESULT ISpeechAudioFormat_put_Guid(ISpeechAudioFormat* This,BSTR Guid) {
   14169     return This->lpVtbl->put_Guid(This,Guid);
   14170 }
   14171 static FORCEINLINE HRESULT ISpeechAudioFormat_GetWaveFormatEx(ISpeechAudioFormat* This,ISpeechWaveFormatEx **SpeechWaveFormatEx) {
   14172     return This->lpVtbl->GetWaveFormatEx(This,SpeechWaveFormatEx);
   14173 }
   14174 static FORCEINLINE HRESULT ISpeechAudioFormat_SetWaveFormatEx(ISpeechAudioFormat* This,ISpeechWaveFormatEx *SpeechWaveFormatEx) {
   14175     return This->lpVtbl->SetWaveFormatEx(This,SpeechWaveFormatEx);
   14176 }
   14177 #endif
   14178 #endif
   14179 
   14180 #endif
   14181 
   14182 HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_get_Type_Proxy(
   14183     ISpeechAudioFormat* This,
   14184     SpeechAudioFormatType *AudioFormat);
   14185 void __RPC_STUB ISpeechAudioFormat_get_Type_Stub(
   14186     IRpcStubBuffer* This,
   14187     IRpcChannelBuffer* pRpcChannelBuffer,
   14188     PRPC_MESSAGE pRpcMessage,
   14189     DWORD* pdwStubPhase);
   14190 HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_put_Type_Proxy(
   14191     ISpeechAudioFormat* This,
   14192     SpeechAudioFormatType AudioFormat);
   14193 void __RPC_STUB ISpeechAudioFormat_put_Type_Stub(
   14194     IRpcStubBuffer* This,
   14195     IRpcChannelBuffer* pRpcChannelBuffer,
   14196     PRPC_MESSAGE pRpcMessage,
   14197     DWORD* pdwStubPhase);
   14198 HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_get_Guid_Proxy(
   14199     ISpeechAudioFormat* This,
   14200     BSTR *Guid);
   14201 void __RPC_STUB ISpeechAudioFormat_get_Guid_Stub(
   14202     IRpcStubBuffer* This,
   14203     IRpcChannelBuffer* pRpcChannelBuffer,
   14204     PRPC_MESSAGE pRpcMessage,
   14205     DWORD* pdwStubPhase);
   14206 HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_put_Guid_Proxy(
   14207     ISpeechAudioFormat* This,
   14208     BSTR Guid);
   14209 void __RPC_STUB ISpeechAudioFormat_put_Guid_Stub(
   14210     IRpcStubBuffer* This,
   14211     IRpcChannelBuffer* pRpcChannelBuffer,
   14212     PRPC_MESSAGE pRpcMessage,
   14213     DWORD* pdwStubPhase);
   14214 HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_GetWaveFormatEx_Proxy(
   14215     ISpeechAudioFormat* This,
   14216     ISpeechWaveFormatEx **SpeechWaveFormatEx);
   14217 void __RPC_STUB ISpeechAudioFormat_GetWaveFormatEx_Stub(
   14218     IRpcStubBuffer* This,
   14219     IRpcChannelBuffer* pRpcChannelBuffer,
   14220     PRPC_MESSAGE pRpcMessage,
   14221     DWORD* pdwStubPhase);
   14222 HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_SetWaveFormatEx_Proxy(
   14223     ISpeechAudioFormat* This,
   14224     ISpeechWaveFormatEx *SpeechWaveFormatEx);
   14225 void __RPC_STUB ISpeechAudioFormat_SetWaveFormatEx_Stub(
   14226     IRpcStubBuffer* This,
   14227     IRpcChannelBuffer* pRpcChannelBuffer,
   14228     PRPC_MESSAGE pRpcMessage,
   14229     DWORD* pdwStubPhase);
   14230 
   14231 #endif  /* __ISpeechAudioFormat_INTERFACE_DEFINED__ */
   14232 
   14233 /*****************************************************************************
   14234  * ISpeechBaseStream interface
   14235  */
   14236 #ifndef __ISpeechBaseStream_INTERFACE_DEFINED__
   14237 #define __ISpeechBaseStream_INTERFACE_DEFINED__
   14238 
   14239 DEFINE_GUID(IID_ISpeechBaseStream, 0x6450336f, 0x7d49, 0x4ced, 0x80,0x97, 0x49,0xd6,0xde,0xe3,0x72,0x94);
   14240 #if defined(__cplusplus) && !defined(CINTERFACE)
   14241 MIDL_INTERFACE("6450336f-7d49-4ced-8097-49d6dee37294")
   14242 ISpeechBaseStream : public IDispatch
   14243 {
   14244     virtual HRESULT STDMETHODCALLTYPE get_Format(
   14245         ISpeechAudioFormat **AudioFormat) = 0;
   14246 
   14247     virtual HRESULT STDMETHODCALLTYPE putref_Format(
   14248         ISpeechAudioFormat *AudioFormat) = 0;
   14249 
   14250     virtual HRESULT STDMETHODCALLTYPE Read(
   14251         VARIANT *Buffer,
   14252         LONG NumberOfBytes,
   14253         LONG *BytesRead) = 0;
   14254 
   14255     virtual HRESULT STDMETHODCALLTYPE Write(
   14256         VARIANT Buffer,
   14257         LONG *BytesWritten) = 0;
   14258 
   14259     virtual HRESULT STDMETHODCALLTYPE Seek(
   14260         VARIANT Position,
   14261         SpeechStreamSeekPositionType Origin,
   14262         VARIANT *NewPosition) = 0;
   14263 
   14264 };
   14265 #ifdef __CRT_UUID_DECL
   14266 __CRT_UUID_DECL(ISpeechBaseStream, 0x6450336f, 0x7d49, 0x4ced, 0x80,0x97, 0x49,0xd6,0xde,0xe3,0x72,0x94)
   14267 #endif
   14268 #else
   14269 typedef struct ISpeechBaseStreamVtbl {
   14270     BEGIN_INTERFACE
   14271 
   14272     /*** IUnknown methods ***/
   14273     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   14274         ISpeechBaseStream* This,
   14275         REFIID riid,
   14276         void **ppvObject);
   14277 
   14278     ULONG (STDMETHODCALLTYPE *AddRef)(
   14279         ISpeechBaseStream* This);
   14280 
   14281     ULONG (STDMETHODCALLTYPE *Release)(
   14282         ISpeechBaseStream* This);
   14283 
   14284     /*** IDispatch methods ***/
   14285     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   14286         ISpeechBaseStream* This,
   14287         UINT *pctinfo);
   14288 
   14289     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   14290         ISpeechBaseStream* This,
   14291         UINT iTInfo,
   14292         LCID lcid,
   14293         ITypeInfo **ppTInfo);
   14294 
   14295     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   14296         ISpeechBaseStream* This,
   14297         REFIID riid,
   14298         LPOLESTR *rgszNames,
   14299         UINT cNames,
   14300         LCID lcid,
   14301         DISPID *rgDispId);
   14302 
   14303     HRESULT (STDMETHODCALLTYPE *Invoke)(
   14304         ISpeechBaseStream* This,
   14305         DISPID dispIdMember,
   14306         REFIID riid,
   14307         LCID lcid,
   14308         WORD wFlags,
   14309         DISPPARAMS *pDispParams,
   14310         VARIANT *pVarResult,
   14311         EXCEPINFO *pExcepInfo,
   14312         UINT *puArgErr);
   14313 
   14314     /*** ISpeechBaseStream methods ***/
   14315     HRESULT (STDMETHODCALLTYPE *get_Format)(
   14316         ISpeechBaseStream* This,
   14317         ISpeechAudioFormat **AudioFormat);
   14318 
   14319     HRESULT (STDMETHODCALLTYPE *putref_Format)(
   14320         ISpeechBaseStream* This,
   14321         ISpeechAudioFormat *AudioFormat);
   14322 
   14323     HRESULT (STDMETHODCALLTYPE *Read)(
   14324         ISpeechBaseStream* This,
   14325         VARIANT *Buffer,
   14326         LONG NumberOfBytes,
   14327         LONG *BytesRead);
   14328 
   14329     HRESULT (STDMETHODCALLTYPE *Write)(
   14330         ISpeechBaseStream* This,
   14331         VARIANT Buffer,
   14332         LONG *BytesWritten);
   14333 
   14334     HRESULT (STDMETHODCALLTYPE *Seek)(
   14335         ISpeechBaseStream* This,
   14336         VARIANT Position,
   14337         SpeechStreamSeekPositionType Origin,
   14338         VARIANT *NewPosition);
   14339 
   14340     END_INTERFACE
   14341 } ISpeechBaseStreamVtbl;
   14342 interface ISpeechBaseStream {
   14343     CONST_VTBL ISpeechBaseStreamVtbl* lpVtbl;
   14344 };
   14345 
   14346 #ifdef COBJMACROS
   14347 #ifndef WIDL_C_INLINE_WRAPPERS
   14348 /*** IUnknown methods ***/
   14349 #define ISpeechBaseStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14350 #define ISpeechBaseStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   14351 #define ISpeechBaseStream_Release(This) (This)->lpVtbl->Release(This)
   14352 /*** IDispatch methods ***/
   14353 #define ISpeechBaseStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   14354 #define ISpeechBaseStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   14355 #define ISpeechBaseStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   14356 #define ISpeechBaseStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   14357 /*** ISpeechBaseStream methods ***/
   14358 #define ISpeechBaseStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
   14359 #define ISpeechBaseStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
   14360 #define ISpeechBaseStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
   14361 #define ISpeechBaseStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
   14362 #define ISpeechBaseStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
   14363 #else
   14364 /*** IUnknown methods ***/
   14365 static FORCEINLINE HRESULT ISpeechBaseStream_QueryInterface(ISpeechBaseStream* This,REFIID riid,void **ppvObject) {
   14366     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   14367 }
   14368 static FORCEINLINE ULONG ISpeechBaseStream_AddRef(ISpeechBaseStream* This) {
   14369     return This->lpVtbl->AddRef(This);
   14370 }
   14371 static FORCEINLINE ULONG ISpeechBaseStream_Release(ISpeechBaseStream* This) {
   14372     return This->lpVtbl->Release(This);
   14373 }
   14374 /*** IDispatch methods ***/
   14375 static FORCEINLINE HRESULT ISpeechBaseStream_GetTypeInfoCount(ISpeechBaseStream* This,UINT *pctinfo) {
   14376     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   14377 }
   14378 static FORCEINLINE HRESULT ISpeechBaseStream_GetTypeInfo(ISpeechBaseStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   14379     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   14380 }
   14381 static FORCEINLINE HRESULT ISpeechBaseStream_GetIDsOfNames(ISpeechBaseStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   14382     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   14383 }
   14384 static FORCEINLINE HRESULT ISpeechBaseStream_Invoke(ISpeechBaseStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   14385     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   14386 }
   14387 /*** ISpeechBaseStream methods ***/
   14388 static FORCEINLINE HRESULT ISpeechBaseStream_get_Format(ISpeechBaseStream* This,ISpeechAudioFormat **AudioFormat) {
   14389     return This->lpVtbl->get_Format(This,AudioFormat);
   14390 }
   14391 static FORCEINLINE HRESULT ISpeechBaseStream_putref_Format(ISpeechBaseStream* This,ISpeechAudioFormat *AudioFormat) {
   14392     return This->lpVtbl->putref_Format(This,AudioFormat);
   14393 }
   14394 static FORCEINLINE HRESULT ISpeechBaseStream_Read(ISpeechBaseStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
   14395     return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
   14396 }
   14397 static FORCEINLINE HRESULT ISpeechBaseStream_Write(ISpeechBaseStream* This,VARIANT Buffer,LONG *BytesWritten) {
   14398     return This->lpVtbl->Write(This,Buffer,BytesWritten);
   14399 }
   14400 static FORCEINLINE HRESULT ISpeechBaseStream_Seek(ISpeechBaseStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
   14401     return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
   14402 }
   14403 #endif
   14404 #endif
   14405 
   14406 #endif
   14407 
   14408 HRESULT STDMETHODCALLTYPE ISpeechBaseStream_get_Format_Proxy(
   14409     ISpeechBaseStream* This,
   14410     ISpeechAudioFormat **AudioFormat);
   14411 void __RPC_STUB ISpeechBaseStream_get_Format_Stub(
   14412     IRpcStubBuffer* This,
   14413     IRpcChannelBuffer* pRpcChannelBuffer,
   14414     PRPC_MESSAGE pRpcMessage,
   14415     DWORD* pdwStubPhase);
   14416 HRESULT STDMETHODCALLTYPE ISpeechBaseStream_putref_Format_Proxy(
   14417     ISpeechBaseStream* This,
   14418     ISpeechAudioFormat *AudioFormat);
   14419 void __RPC_STUB ISpeechBaseStream_putref_Format_Stub(
   14420     IRpcStubBuffer* This,
   14421     IRpcChannelBuffer* pRpcChannelBuffer,
   14422     PRPC_MESSAGE pRpcMessage,
   14423     DWORD* pdwStubPhase);
   14424 HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Read_Proxy(
   14425     ISpeechBaseStream* This,
   14426     VARIANT *Buffer,
   14427     LONG NumberOfBytes,
   14428     LONG *BytesRead);
   14429 void __RPC_STUB ISpeechBaseStream_Read_Stub(
   14430     IRpcStubBuffer* This,
   14431     IRpcChannelBuffer* pRpcChannelBuffer,
   14432     PRPC_MESSAGE pRpcMessage,
   14433     DWORD* pdwStubPhase);
   14434 HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Write_Proxy(
   14435     ISpeechBaseStream* This,
   14436     VARIANT Buffer,
   14437     LONG *BytesWritten);
   14438 void __RPC_STUB ISpeechBaseStream_Write_Stub(
   14439     IRpcStubBuffer* This,
   14440     IRpcChannelBuffer* pRpcChannelBuffer,
   14441     PRPC_MESSAGE pRpcMessage,
   14442     DWORD* pdwStubPhase);
   14443 HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Seek_Proxy(
   14444     ISpeechBaseStream* This,
   14445     VARIANT Position,
   14446     SpeechStreamSeekPositionType Origin,
   14447     VARIANT *NewPosition);
   14448 void __RPC_STUB ISpeechBaseStream_Seek_Stub(
   14449     IRpcStubBuffer* This,
   14450     IRpcChannelBuffer* pRpcChannelBuffer,
   14451     PRPC_MESSAGE pRpcMessage,
   14452     DWORD* pdwStubPhase);
   14453 
   14454 #endif  /* __ISpeechBaseStream_INTERFACE_DEFINED__ */
   14455 
   14456 /*****************************************************************************
   14457  * ISpeechAudio interface
   14458  */
   14459 #ifndef __ISpeechAudio_INTERFACE_DEFINED__
   14460 #define __ISpeechAudio_INTERFACE_DEFINED__
   14461 
   14462 DEFINE_GUID(IID_ISpeechAudio, 0xcff8e175, 0x019e, 0x11d3, 0xa0,0x8e, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5);
   14463 #if defined(__cplusplus) && !defined(CINTERFACE)
   14464 MIDL_INTERFACE("cff8e175-019e-11d3-a08e-00c04f8ef9b5")
   14465 ISpeechAudio : public ISpeechBaseStream
   14466 {
   14467     virtual HRESULT STDMETHODCALLTYPE get_Status(
   14468         ISpeechAudioStatus **Status) = 0;
   14469 
   14470     virtual HRESULT STDMETHODCALLTYPE get_BufferInfo(
   14471         ISpeechAudioBufferInfo **BufferInfo) = 0;
   14472 
   14473     virtual HRESULT STDMETHODCALLTYPE get_DefaultFormat(
   14474         ISpeechAudioFormat **StreamFormat) = 0;
   14475 
   14476     virtual HRESULT STDMETHODCALLTYPE get_Volume(
   14477         LONG *Volume) = 0;
   14478 
   14479     virtual HRESULT STDMETHODCALLTYPE put_Volume(
   14480         LONG Volume) = 0;
   14481 
   14482     virtual HRESULT STDMETHODCALLTYPE get_BufferNotifySize(
   14483         LONG *BufferNotifySize) = 0;
   14484 
   14485     virtual HRESULT STDMETHODCALLTYPE put_BufferNotifySize(
   14486         LONG BufferNotifySize) = 0;
   14487 
   14488     virtual HRESULT STDMETHODCALLTYPE get_EventHandle(
   14489         LONG *EventHandle) = 0;
   14490 
   14491     virtual HRESULT STDMETHODCALLTYPE SetState(
   14492         SpeechAudioState State) = 0;
   14493 
   14494 };
   14495 #ifdef __CRT_UUID_DECL
   14496 __CRT_UUID_DECL(ISpeechAudio, 0xcff8e175, 0x019e, 0x11d3, 0xa0,0x8e, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5)
   14497 #endif
   14498 #else
   14499 typedef struct ISpeechAudioVtbl {
   14500     BEGIN_INTERFACE
   14501 
   14502     /*** IUnknown methods ***/
   14503     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   14504         ISpeechAudio* This,
   14505         REFIID riid,
   14506         void **ppvObject);
   14507 
   14508     ULONG (STDMETHODCALLTYPE *AddRef)(
   14509         ISpeechAudio* This);
   14510 
   14511     ULONG (STDMETHODCALLTYPE *Release)(
   14512         ISpeechAudio* This);
   14513 
   14514     /*** IDispatch methods ***/
   14515     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   14516         ISpeechAudio* This,
   14517         UINT *pctinfo);
   14518 
   14519     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   14520         ISpeechAudio* This,
   14521         UINT iTInfo,
   14522         LCID lcid,
   14523         ITypeInfo **ppTInfo);
   14524 
   14525     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   14526         ISpeechAudio* This,
   14527         REFIID riid,
   14528         LPOLESTR *rgszNames,
   14529         UINT cNames,
   14530         LCID lcid,
   14531         DISPID *rgDispId);
   14532 
   14533     HRESULT (STDMETHODCALLTYPE *Invoke)(
   14534         ISpeechAudio* This,
   14535         DISPID dispIdMember,
   14536         REFIID riid,
   14537         LCID lcid,
   14538         WORD wFlags,
   14539         DISPPARAMS *pDispParams,
   14540         VARIANT *pVarResult,
   14541         EXCEPINFO *pExcepInfo,
   14542         UINT *puArgErr);
   14543 
   14544     /*** ISpeechBaseStream methods ***/
   14545     HRESULT (STDMETHODCALLTYPE *get_Format)(
   14546         ISpeechAudio* This,
   14547         ISpeechAudioFormat **AudioFormat);
   14548 
   14549     HRESULT (STDMETHODCALLTYPE *putref_Format)(
   14550         ISpeechAudio* This,
   14551         ISpeechAudioFormat *AudioFormat);
   14552 
   14553     HRESULT (STDMETHODCALLTYPE *Read)(
   14554         ISpeechAudio* This,
   14555         VARIANT *Buffer,
   14556         LONG NumberOfBytes,
   14557         LONG *BytesRead);
   14558 
   14559     HRESULT (STDMETHODCALLTYPE *Write)(
   14560         ISpeechAudio* This,
   14561         VARIANT Buffer,
   14562         LONG *BytesWritten);
   14563 
   14564     HRESULT (STDMETHODCALLTYPE *Seek)(
   14565         ISpeechAudio* This,
   14566         VARIANT Position,
   14567         SpeechStreamSeekPositionType Origin,
   14568         VARIANT *NewPosition);
   14569 
   14570     /*** ISpeechAudio methods ***/
   14571     HRESULT (STDMETHODCALLTYPE *get_Status)(
   14572         ISpeechAudio* This,
   14573         ISpeechAudioStatus **Status);
   14574 
   14575     HRESULT (STDMETHODCALLTYPE *get_BufferInfo)(
   14576         ISpeechAudio* This,
   14577         ISpeechAudioBufferInfo **BufferInfo);
   14578 
   14579     HRESULT (STDMETHODCALLTYPE *get_DefaultFormat)(
   14580         ISpeechAudio* This,
   14581         ISpeechAudioFormat **StreamFormat);
   14582 
   14583     HRESULT (STDMETHODCALLTYPE *get_Volume)(
   14584         ISpeechAudio* This,
   14585         LONG *Volume);
   14586 
   14587     HRESULT (STDMETHODCALLTYPE *put_Volume)(
   14588         ISpeechAudio* This,
   14589         LONG Volume);
   14590 
   14591     HRESULT (STDMETHODCALLTYPE *get_BufferNotifySize)(
   14592         ISpeechAudio* This,
   14593         LONG *BufferNotifySize);
   14594 
   14595     HRESULT (STDMETHODCALLTYPE *put_BufferNotifySize)(
   14596         ISpeechAudio* This,
   14597         LONG BufferNotifySize);
   14598 
   14599     HRESULT (STDMETHODCALLTYPE *get_EventHandle)(
   14600         ISpeechAudio* This,
   14601         LONG *EventHandle);
   14602 
   14603     HRESULT (STDMETHODCALLTYPE *SetState)(
   14604         ISpeechAudio* This,
   14605         SpeechAudioState State);
   14606 
   14607     END_INTERFACE
   14608 } ISpeechAudioVtbl;
   14609 interface ISpeechAudio {
   14610     CONST_VTBL ISpeechAudioVtbl* lpVtbl;
   14611 };
   14612 
   14613 #ifdef COBJMACROS
   14614 #ifndef WIDL_C_INLINE_WRAPPERS
   14615 /*** IUnknown methods ***/
   14616 #define ISpeechAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14617 #define ISpeechAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
   14618 #define ISpeechAudio_Release(This) (This)->lpVtbl->Release(This)
   14619 /*** IDispatch methods ***/
   14620 #define ISpeechAudio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   14621 #define ISpeechAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   14622 #define ISpeechAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   14623 #define ISpeechAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   14624 /*** ISpeechBaseStream methods ***/
   14625 #define ISpeechAudio_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
   14626 #define ISpeechAudio_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
   14627 #define ISpeechAudio_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
   14628 #define ISpeechAudio_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
   14629 #define ISpeechAudio_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
   14630 /*** ISpeechAudio methods ***/
   14631 #define ISpeechAudio_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
   14632 #define ISpeechAudio_get_BufferInfo(This,BufferInfo) (This)->lpVtbl->get_BufferInfo(This,BufferInfo)
   14633 #define ISpeechAudio_get_DefaultFormat(This,StreamFormat) (This)->lpVtbl->get_DefaultFormat(This,StreamFormat)
   14634 #define ISpeechAudio_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
   14635 #define ISpeechAudio_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
   14636 #define ISpeechAudio_get_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->get_BufferNotifySize(This,BufferNotifySize)
   14637 #define ISpeechAudio_put_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->put_BufferNotifySize(This,BufferNotifySize)
   14638 #define ISpeechAudio_get_EventHandle(This,EventHandle) (This)->lpVtbl->get_EventHandle(This,EventHandle)
   14639 #define ISpeechAudio_SetState(This,State) (This)->lpVtbl->SetState(This,State)
   14640 #else
   14641 /*** IUnknown methods ***/
   14642 static FORCEINLINE HRESULT ISpeechAudio_QueryInterface(ISpeechAudio* This,REFIID riid,void **ppvObject) {
   14643     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   14644 }
   14645 static FORCEINLINE ULONG ISpeechAudio_AddRef(ISpeechAudio* This) {
   14646     return This->lpVtbl->AddRef(This);
   14647 }
   14648 static FORCEINLINE ULONG ISpeechAudio_Release(ISpeechAudio* This) {
   14649     return This->lpVtbl->Release(This);
   14650 }
   14651 /*** IDispatch methods ***/
   14652 static FORCEINLINE HRESULT ISpeechAudio_GetTypeInfoCount(ISpeechAudio* This,UINT *pctinfo) {
   14653     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   14654 }
   14655 static FORCEINLINE HRESULT ISpeechAudio_GetTypeInfo(ISpeechAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   14656     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   14657 }
   14658 static FORCEINLINE HRESULT ISpeechAudio_GetIDsOfNames(ISpeechAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   14659     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   14660 }
   14661 static FORCEINLINE HRESULT ISpeechAudio_Invoke(ISpeechAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   14662     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   14663 }
   14664 /*** ISpeechBaseStream methods ***/
   14665 static FORCEINLINE HRESULT ISpeechAudio_get_Format(ISpeechAudio* This,ISpeechAudioFormat **AudioFormat) {
   14666     return This->lpVtbl->get_Format(This,AudioFormat);
   14667 }
   14668 static FORCEINLINE HRESULT ISpeechAudio_putref_Format(ISpeechAudio* This,ISpeechAudioFormat *AudioFormat) {
   14669     return This->lpVtbl->putref_Format(This,AudioFormat);
   14670 }
   14671 static FORCEINLINE HRESULT ISpeechAudio_Read(ISpeechAudio* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
   14672     return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
   14673 }
   14674 static FORCEINLINE HRESULT ISpeechAudio_Write(ISpeechAudio* This,VARIANT Buffer,LONG *BytesWritten) {
   14675     return This->lpVtbl->Write(This,Buffer,BytesWritten);
   14676 }
   14677 static FORCEINLINE HRESULT ISpeechAudio_Seek(ISpeechAudio* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
   14678     return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
   14679 }
   14680 /*** ISpeechAudio methods ***/
   14681 static FORCEINLINE HRESULT ISpeechAudio_get_Status(ISpeechAudio* This,ISpeechAudioStatus **Status) {
   14682     return This->lpVtbl->get_Status(This,Status);
   14683 }
   14684 static FORCEINLINE HRESULT ISpeechAudio_get_BufferInfo(ISpeechAudio* This,ISpeechAudioBufferInfo **BufferInfo) {
   14685     return This->lpVtbl->get_BufferInfo(This,BufferInfo);
   14686 }
   14687 static FORCEINLINE HRESULT ISpeechAudio_get_DefaultFormat(ISpeechAudio* This,ISpeechAudioFormat **StreamFormat) {
   14688     return This->lpVtbl->get_DefaultFormat(This,StreamFormat);
   14689 }
   14690 static FORCEINLINE HRESULT ISpeechAudio_get_Volume(ISpeechAudio* This,LONG *Volume) {
   14691     return This->lpVtbl->get_Volume(This,Volume);
   14692 }
   14693 static FORCEINLINE HRESULT ISpeechAudio_put_Volume(ISpeechAudio* This,LONG Volume) {
   14694     return This->lpVtbl->put_Volume(This,Volume);
   14695 }
   14696 static FORCEINLINE HRESULT ISpeechAudio_get_BufferNotifySize(ISpeechAudio* This,LONG *BufferNotifySize) {
   14697     return This->lpVtbl->get_BufferNotifySize(This,BufferNotifySize);
   14698 }
   14699 static FORCEINLINE HRESULT ISpeechAudio_put_BufferNotifySize(ISpeechAudio* This,LONG BufferNotifySize) {
   14700     return This->lpVtbl->put_BufferNotifySize(This,BufferNotifySize);
   14701 }
   14702 static FORCEINLINE HRESULT ISpeechAudio_get_EventHandle(ISpeechAudio* This,LONG *EventHandle) {
   14703     return This->lpVtbl->get_EventHandle(This,EventHandle);
   14704 }
   14705 static FORCEINLINE HRESULT ISpeechAudio_SetState(ISpeechAudio* This,SpeechAudioState State) {
   14706     return This->lpVtbl->SetState(This,State);
   14707 }
   14708 #endif
   14709 #endif
   14710 
   14711 #endif
   14712 
   14713 HRESULT STDMETHODCALLTYPE ISpeechAudio_get_Status_Proxy(
   14714     ISpeechAudio* This,
   14715     ISpeechAudioStatus **Status);
   14716 void __RPC_STUB ISpeechAudio_get_Status_Stub(
   14717     IRpcStubBuffer* This,
   14718     IRpcChannelBuffer* pRpcChannelBuffer,
   14719     PRPC_MESSAGE pRpcMessage,
   14720     DWORD* pdwStubPhase);
   14721 HRESULT STDMETHODCALLTYPE ISpeechAudio_get_BufferInfo_Proxy(
   14722     ISpeechAudio* This,
   14723     ISpeechAudioBufferInfo **BufferInfo);
   14724 void __RPC_STUB ISpeechAudio_get_BufferInfo_Stub(
   14725     IRpcStubBuffer* This,
   14726     IRpcChannelBuffer* pRpcChannelBuffer,
   14727     PRPC_MESSAGE pRpcMessage,
   14728     DWORD* pdwStubPhase);
   14729 HRESULT STDMETHODCALLTYPE ISpeechAudio_get_DefaultFormat_Proxy(
   14730     ISpeechAudio* This,
   14731     ISpeechAudioFormat **StreamFormat);
   14732 void __RPC_STUB ISpeechAudio_get_DefaultFormat_Stub(
   14733     IRpcStubBuffer* This,
   14734     IRpcChannelBuffer* pRpcChannelBuffer,
   14735     PRPC_MESSAGE pRpcMessage,
   14736     DWORD* pdwStubPhase);
   14737 HRESULT STDMETHODCALLTYPE ISpeechAudio_get_Volume_Proxy(
   14738     ISpeechAudio* This,
   14739     LONG *Volume);
   14740 void __RPC_STUB ISpeechAudio_get_Volume_Stub(
   14741     IRpcStubBuffer* This,
   14742     IRpcChannelBuffer* pRpcChannelBuffer,
   14743     PRPC_MESSAGE pRpcMessage,
   14744     DWORD* pdwStubPhase);
   14745 HRESULT STDMETHODCALLTYPE ISpeechAudio_put_Volume_Proxy(
   14746     ISpeechAudio* This,
   14747     LONG Volume);
   14748 void __RPC_STUB ISpeechAudio_put_Volume_Stub(
   14749     IRpcStubBuffer* This,
   14750     IRpcChannelBuffer* pRpcChannelBuffer,
   14751     PRPC_MESSAGE pRpcMessage,
   14752     DWORD* pdwStubPhase);
   14753 HRESULT STDMETHODCALLTYPE ISpeechAudio_get_BufferNotifySize_Proxy(
   14754     ISpeechAudio* This,
   14755     LONG *BufferNotifySize);
   14756 void __RPC_STUB ISpeechAudio_get_BufferNotifySize_Stub(
   14757     IRpcStubBuffer* This,
   14758     IRpcChannelBuffer* pRpcChannelBuffer,
   14759     PRPC_MESSAGE pRpcMessage,
   14760     DWORD* pdwStubPhase);
   14761 HRESULT STDMETHODCALLTYPE ISpeechAudio_put_BufferNotifySize_Proxy(
   14762     ISpeechAudio* This,
   14763     LONG BufferNotifySize);
   14764 void __RPC_STUB ISpeechAudio_put_BufferNotifySize_Stub(
   14765     IRpcStubBuffer* This,
   14766     IRpcChannelBuffer* pRpcChannelBuffer,
   14767     PRPC_MESSAGE pRpcMessage,
   14768     DWORD* pdwStubPhase);
   14769 HRESULT STDMETHODCALLTYPE ISpeechAudio_get_EventHandle_Proxy(
   14770     ISpeechAudio* This,
   14771     LONG *EventHandle);
   14772 void __RPC_STUB ISpeechAudio_get_EventHandle_Stub(
   14773     IRpcStubBuffer* This,
   14774     IRpcChannelBuffer* pRpcChannelBuffer,
   14775     PRPC_MESSAGE pRpcMessage,
   14776     DWORD* pdwStubPhase);
   14777 HRESULT STDMETHODCALLTYPE ISpeechAudio_SetState_Proxy(
   14778     ISpeechAudio* This,
   14779     SpeechAudioState State);
   14780 void __RPC_STUB ISpeechAudio_SetState_Stub(
   14781     IRpcStubBuffer* This,
   14782     IRpcChannelBuffer* pRpcChannelBuffer,
   14783     PRPC_MESSAGE pRpcMessage,
   14784     DWORD* pdwStubPhase);
   14785 
   14786 #endif  /* __ISpeechAudio_INTERFACE_DEFINED__ */
   14787 
   14788 /*****************************************************************************
   14789  * ISpeechMMSysAudio interface
   14790  */
   14791 #ifndef __ISpeechMMSysAudio_INTERFACE_DEFINED__
   14792 #define __ISpeechMMSysAudio_INTERFACE_DEFINED__
   14793 
   14794 DEFINE_GUID(IID_ISpeechMMSysAudio, 0x3c76af6d, 0x1fd7, 0x4831, 0x81,0xd1, 0x3b,0x71,0xd5,0xa1,0x3c,0x44);
   14795 #if defined(__cplusplus) && !defined(CINTERFACE)
   14796 MIDL_INTERFACE("3c76af6d-1fd7-4831-81d1-3b71d5a13c44")
   14797 ISpeechMMSysAudio : public ISpeechAudio
   14798 {
   14799     virtual HRESULT STDMETHODCALLTYPE get_DeviceId(
   14800         LONG *DeviceId) = 0;
   14801 
   14802     virtual HRESULT STDMETHODCALLTYPE put_DeviceId(
   14803         LONG DeviceId) = 0;
   14804 
   14805     virtual HRESULT STDMETHODCALLTYPE get_LineId(
   14806         LONG *LineId) = 0;
   14807 
   14808     virtual HRESULT STDMETHODCALLTYPE put_LineId(
   14809         LONG LineId) = 0;
   14810 
   14811     virtual HRESULT STDMETHODCALLTYPE get_MMHandle(
   14812         LONG *Handle) = 0;
   14813 
   14814 };
   14815 #ifdef __CRT_UUID_DECL
   14816 __CRT_UUID_DECL(ISpeechMMSysAudio, 0x3c76af6d, 0x1fd7, 0x4831, 0x81,0xd1, 0x3b,0x71,0xd5,0xa1,0x3c,0x44)
   14817 #endif
   14818 #else
   14819 typedef struct ISpeechMMSysAudioVtbl {
   14820     BEGIN_INTERFACE
   14821 
   14822     /*** IUnknown methods ***/
   14823     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   14824         ISpeechMMSysAudio* This,
   14825         REFIID riid,
   14826         void **ppvObject);
   14827 
   14828     ULONG (STDMETHODCALLTYPE *AddRef)(
   14829         ISpeechMMSysAudio* This);
   14830 
   14831     ULONG (STDMETHODCALLTYPE *Release)(
   14832         ISpeechMMSysAudio* This);
   14833 
   14834     /*** IDispatch methods ***/
   14835     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   14836         ISpeechMMSysAudio* This,
   14837         UINT *pctinfo);
   14838 
   14839     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   14840         ISpeechMMSysAudio* This,
   14841         UINT iTInfo,
   14842         LCID lcid,
   14843         ITypeInfo **ppTInfo);
   14844 
   14845     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   14846         ISpeechMMSysAudio* This,
   14847         REFIID riid,
   14848         LPOLESTR *rgszNames,
   14849         UINT cNames,
   14850         LCID lcid,
   14851         DISPID *rgDispId);
   14852 
   14853     HRESULT (STDMETHODCALLTYPE *Invoke)(
   14854         ISpeechMMSysAudio* This,
   14855         DISPID dispIdMember,
   14856         REFIID riid,
   14857         LCID lcid,
   14858         WORD wFlags,
   14859         DISPPARAMS *pDispParams,
   14860         VARIANT *pVarResult,
   14861         EXCEPINFO *pExcepInfo,
   14862         UINT *puArgErr);
   14863 
   14864     /*** ISpeechBaseStream methods ***/
   14865     HRESULT (STDMETHODCALLTYPE *get_Format)(
   14866         ISpeechMMSysAudio* This,
   14867         ISpeechAudioFormat **AudioFormat);
   14868 
   14869     HRESULT (STDMETHODCALLTYPE *putref_Format)(
   14870         ISpeechMMSysAudio* This,
   14871         ISpeechAudioFormat *AudioFormat);
   14872 
   14873     HRESULT (STDMETHODCALLTYPE *Read)(
   14874         ISpeechMMSysAudio* This,
   14875         VARIANT *Buffer,
   14876         LONG NumberOfBytes,
   14877         LONG *BytesRead);
   14878 
   14879     HRESULT (STDMETHODCALLTYPE *Write)(
   14880         ISpeechMMSysAudio* This,
   14881         VARIANT Buffer,
   14882         LONG *BytesWritten);
   14883 
   14884     HRESULT (STDMETHODCALLTYPE *Seek)(
   14885         ISpeechMMSysAudio* This,
   14886         VARIANT Position,
   14887         SpeechStreamSeekPositionType Origin,
   14888         VARIANT *NewPosition);
   14889 
   14890     /*** ISpeechAudio methods ***/
   14891     HRESULT (STDMETHODCALLTYPE *get_Status)(
   14892         ISpeechMMSysAudio* This,
   14893         ISpeechAudioStatus **Status);
   14894 
   14895     HRESULT (STDMETHODCALLTYPE *get_BufferInfo)(
   14896         ISpeechMMSysAudio* This,
   14897         ISpeechAudioBufferInfo **BufferInfo);
   14898 
   14899     HRESULT (STDMETHODCALLTYPE *get_DefaultFormat)(
   14900         ISpeechMMSysAudio* This,
   14901         ISpeechAudioFormat **StreamFormat);
   14902 
   14903     HRESULT (STDMETHODCALLTYPE *get_Volume)(
   14904         ISpeechMMSysAudio* This,
   14905         LONG *Volume);
   14906 
   14907     HRESULT (STDMETHODCALLTYPE *put_Volume)(
   14908         ISpeechMMSysAudio* This,
   14909         LONG Volume);
   14910 
   14911     HRESULT (STDMETHODCALLTYPE *get_BufferNotifySize)(
   14912         ISpeechMMSysAudio* This,
   14913         LONG *BufferNotifySize);
   14914 
   14915     HRESULT (STDMETHODCALLTYPE *put_BufferNotifySize)(
   14916         ISpeechMMSysAudio* This,
   14917         LONG BufferNotifySize);
   14918 
   14919     HRESULT (STDMETHODCALLTYPE *get_EventHandle)(
   14920         ISpeechMMSysAudio* This,
   14921         LONG *EventHandle);
   14922 
   14923     HRESULT (STDMETHODCALLTYPE *SetState)(
   14924         ISpeechMMSysAudio* This,
   14925         SpeechAudioState State);
   14926 
   14927     /*** ISpeechMMSysAudio methods ***/
   14928     HRESULT (STDMETHODCALLTYPE *get_DeviceId)(
   14929         ISpeechMMSysAudio* This,
   14930         LONG *DeviceId);
   14931 
   14932     HRESULT (STDMETHODCALLTYPE *put_DeviceId)(
   14933         ISpeechMMSysAudio* This,
   14934         LONG DeviceId);
   14935 
   14936     HRESULT (STDMETHODCALLTYPE *get_LineId)(
   14937         ISpeechMMSysAudio* This,
   14938         LONG *LineId);
   14939 
   14940     HRESULT (STDMETHODCALLTYPE *put_LineId)(
   14941         ISpeechMMSysAudio* This,
   14942         LONG LineId);
   14943 
   14944     HRESULT (STDMETHODCALLTYPE *get_MMHandle)(
   14945         ISpeechMMSysAudio* This,
   14946         LONG *Handle);
   14947 
   14948     END_INTERFACE
   14949 } ISpeechMMSysAudioVtbl;
   14950 interface ISpeechMMSysAudio {
   14951     CONST_VTBL ISpeechMMSysAudioVtbl* lpVtbl;
   14952 };
   14953 
   14954 #ifdef COBJMACROS
   14955 #ifndef WIDL_C_INLINE_WRAPPERS
   14956 /*** IUnknown methods ***/
   14957 #define ISpeechMMSysAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   14958 #define ISpeechMMSysAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
   14959 #define ISpeechMMSysAudio_Release(This) (This)->lpVtbl->Release(This)
   14960 /*** IDispatch methods ***/
   14961 #define ISpeechMMSysAudio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   14962 #define ISpeechMMSysAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   14963 #define ISpeechMMSysAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   14964 #define ISpeechMMSysAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   14965 /*** ISpeechBaseStream methods ***/
   14966 #define ISpeechMMSysAudio_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
   14967 #define ISpeechMMSysAudio_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
   14968 #define ISpeechMMSysAudio_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
   14969 #define ISpeechMMSysAudio_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
   14970 #define ISpeechMMSysAudio_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
   14971 /*** ISpeechAudio methods ***/
   14972 #define ISpeechMMSysAudio_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
   14973 #define ISpeechMMSysAudio_get_BufferInfo(This,BufferInfo) (This)->lpVtbl->get_BufferInfo(This,BufferInfo)
   14974 #define ISpeechMMSysAudio_get_DefaultFormat(This,StreamFormat) (This)->lpVtbl->get_DefaultFormat(This,StreamFormat)
   14975 #define ISpeechMMSysAudio_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
   14976 #define ISpeechMMSysAudio_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
   14977 #define ISpeechMMSysAudio_get_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->get_BufferNotifySize(This,BufferNotifySize)
   14978 #define ISpeechMMSysAudio_put_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->put_BufferNotifySize(This,BufferNotifySize)
   14979 #define ISpeechMMSysAudio_get_EventHandle(This,EventHandle) (This)->lpVtbl->get_EventHandle(This,EventHandle)
   14980 #define ISpeechMMSysAudio_SetState(This,State) (This)->lpVtbl->SetState(This,State)
   14981 /*** ISpeechMMSysAudio methods ***/
   14982 #define ISpeechMMSysAudio_get_DeviceId(This,DeviceId) (This)->lpVtbl->get_DeviceId(This,DeviceId)
   14983 #define ISpeechMMSysAudio_put_DeviceId(This,DeviceId) (This)->lpVtbl->put_DeviceId(This,DeviceId)
   14984 #define ISpeechMMSysAudio_get_LineId(This,LineId) (This)->lpVtbl->get_LineId(This,LineId)
   14985 #define ISpeechMMSysAudio_put_LineId(This,LineId) (This)->lpVtbl->put_LineId(This,LineId)
   14986 #define ISpeechMMSysAudio_get_MMHandle(This,Handle) (This)->lpVtbl->get_MMHandle(This,Handle)
   14987 #else
   14988 /*** IUnknown methods ***/
   14989 static FORCEINLINE HRESULT ISpeechMMSysAudio_QueryInterface(ISpeechMMSysAudio* This,REFIID riid,void **ppvObject) {
   14990     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   14991 }
   14992 static FORCEINLINE ULONG ISpeechMMSysAudio_AddRef(ISpeechMMSysAudio* This) {
   14993     return This->lpVtbl->AddRef(This);
   14994 }
   14995 static FORCEINLINE ULONG ISpeechMMSysAudio_Release(ISpeechMMSysAudio* This) {
   14996     return This->lpVtbl->Release(This);
   14997 }
   14998 /*** IDispatch methods ***/
   14999 static FORCEINLINE HRESULT ISpeechMMSysAudio_GetTypeInfoCount(ISpeechMMSysAudio* This,UINT *pctinfo) {
   15000     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   15001 }
   15002 static FORCEINLINE HRESULT ISpeechMMSysAudio_GetTypeInfo(ISpeechMMSysAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   15003     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   15004 }
   15005 static FORCEINLINE HRESULT ISpeechMMSysAudio_GetIDsOfNames(ISpeechMMSysAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   15006     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   15007 }
   15008 static FORCEINLINE HRESULT ISpeechMMSysAudio_Invoke(ISpeechMMSysAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   15009     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   15010 }
   15011 /*** ISpeechBaseStream methods ***/
   15012 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Format(ISpeechMMSysAudio* This,ISpeechAudioFormat **AudioFormat) {
   15013     return This->lpVtbl->get_Format(This,AudioFormat);
   15014 }
   15015 static FORCEINLINE HRESULT ISpeechMMSysAudio_putref_Format(ISpeechMMSysAudio* This,ISpeechAudioFormat *AudioFormat) {
   15016     return This->lpVtbl->putref_Format(This,AudioFormat);
   15017 }
   15018 static FORCEINLINE HRESULT ISpeechMMSysAudio_Read(ISpeechMMSysAudio* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
   15019     return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
   15020 }
   15021 static FORCEINLINE HRESULT ISpeechMMSysAudio_Write(ISpeechMMSysAudio* This,VARIANT Buffer,LONG *BytesWritten) {
   15022     return This->lpVtbl->Write(This,Buffer,BytesWritten);
   15023 }
   15024 static FORCEINLINE HRESULT ISpeechMMSysAudio_Seek(ISpeechMMSysAudio* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
   15025     return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
   15026 }
   15027 /*** ISpeechAudio methods ***/
   15028 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Status(ISpeechMMSysAudio* This,ISpeechAudioStatus **Status) {
   15029     return This->lpVtbl->get_Status(This,Status);
   15030 }
   15031 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_BufferInfo(ISpeechMMSysAudio* This,ISpeechAudioBufferInfo **BufferInfo) {
   15032     return This->lpVtbl->get_BufferInfo(This,BufferInfo);
   15033 }
   15034 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_DefaultFormat(ISpeechMMSysAudio* This,ISpeechAudioFormat **StreamFormat) {
   15035     return This->lpVtbl->get_DefaultFormat(This,StreamFormat);
   15036 }
   15037 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Volume(ISpeechMMSysAudio* This,LONG *Volume) {
   15038     return This->lpVtbl->get_Volume(This,Volume);
   15039 }
   15040 static FORCEINLINE HRESULT ISpeechMMSysAudio_put_Volume(ISpeechMMSysAudio* This,LONG Volume) {
   15041     return This->lpVtbl->put_Volume(This,Volume);
   15042 }
   15043 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_BufferNotifySize(ISpeechMMSysAudio* This,LONG *BufferNotifySize) {
   15044     return This->lpVtbl->get_BufferNotifySize(This,BufferNotifySize);
   15045 }
   15046 static FORCEINLINE HRESULT ISpeechMMSysAudio_put_BufferNotifySize(ISpeechMMSysAudio* This,LONG BufferNotifySize) {
   15047     return This->lpVtbl->put_BufferNotifySize(This,BufferNotifySize);
   15048 }
   15049 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_EventHandle(ISpeechMMSysAudio* This,LONG *EventHandle) {
   15050     return This->lpVtbl->get_EventHandle(This,EventHandle);
   15051 }
   15052 static FORCEINLINE HRESULT ISpeechMMSysAudio_SetState(ISpeechMMSysAudio* This,SpeechAudioState State) {
   15053     return This->lpVtbl->SetState(This,State);
   15054 }
   15055 /*** ISpeechMMSysAudio methods ***/
   15056 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_DeviceId(ISpeechMMSysAudio* This,LONG *DeviceId) {
   15057     return This->lpVtbl->get_DeviceId(This,DeviceId);
   15058 }
   15059 static FORCEINLINE HRESULT ISpeechMMSysAudio_put_DeviceId(ISpeechMMSysAudio* This,LONG DeviceId) {
   15060     return This->lpVtbl->put_DeviceId(This,DeviceId);
   15061 }
   15062 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_LineId(ISpeechMMSysAudio* This,LONG *LineId) {
   15063     return This->lpVtbl->get_LineId(This,LineId);
   15064 }
   15065 static FORCEINLINE HRESULT ISpeechMMSysAudio_put_LineId(ISpeechMMSysAudio* This,LONG LineId) {
   15066     return This->lpVtbl->put_LineId(This,LineId);
   15067 }
   15068 static FORCEINLINE HRESULT ISpeechMMSysAudio_get_MMHandle(ISpeechMMSysAudio* This,LONG *Handle) {
   15069     return This->lpVtbl->get_MMHandle(This,Handle);
   15070 }
   15071 #endif
   15072 #endif
   15073 
   15074 #endif
   15075 
   15076 HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_DeviceId_Proxy(
   15077     ISpeechMMSysAudio* This,
   15078     LONG *DeviceId);
   15079 void __RPC_STUB ISpeechMMSysAudio_get_DeviceId_Stub(
   15080     IRpcStubBuffer* This,
   15081     IRpcChannelBuffer* pRpcChannelBuffer,
   15082     PRPC_MESSAGE pRpcMessage,
   15083     DWORD* pdwStubPhase);
   15084 HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_put_DeviceId_Proxy(
   15085     ISpeechMMSysAudio* This,
   15086     LONG DeviceId);
   15087 void __RPC_STUB ISpeechMMSysAudio_put_DeviceId_Stub(
   15088     IRpcStubBuffer* This,
   15089     IRpcChannelBuffer* pRpcChannelBuffer,
   15090     PRPC_MESSAGE pRpcMessage,
   15091     DWORD* pdwStubPhase);
   15092 HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_LineId_Proxy(
   15093     ISpeechMMSysAudio* This,
   15094     LONG *LineId);
   15095 void __RPC_STUB ISpeechMMSysAudio_get_LineId_Stub(
   15096     IRpcStubBuffer* This,
   15097     IRpcChannelBuffer* pRpcChannelBuffer,
   15098     PRPC_MESSAGE pRpcMessage,
   15099     DWORD* pdwStubPhase);
   15100 HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_put_LineId_Proxy(
   15101     ISpeechMMSysAudio* This,
   15102     LONG LineId);
   15103 void __RPC_STUB ISpeechMMSysAudio_put_LineId_Stub(
   15104     IRpcStubBuffer* This,
   15105     IRpcChannelBuffer* pRpcChannelBuffer,
   15106     PRPC_MESSAGE pRpcMessage,
   15107     DWORD* pdwStubPhase);
   15108 HRESULT STDMETHODCALLTYPE ISpeechMMSysAudio_get_MMHandle_Proxy(
   15109     ISpeechMMSysAudio* This,
   15110     LONG *Handle);
   15111 void __RPC_STUB ISpeechMMSysAudio_get_MMHandle_Stub(
   15112     IRpcStubBuffer* This,
   15113     IRpcChannelBuffer* pRpcChannelBuffer,
   15114     PRPC_MESSAGE pRpcMessage,
   15115     DWORD* pdwStubPhase);
   15116 
   15117 #endif  /* __ISpeechMMSysAudio_INTERFACE_DEFINED__ */
   15118 
   15119 /*****************************************************************************
   15120  * ISpeechFileStream interface
   15121  */
   15122 #ifndef __ISpeechFileStream_INTERFACE_DEFINED__
   15123 #define __ISpeechFileStream_INTERFACE_DEFINED__
   15124 
   15125 DEFINE_GUID(IID_ISpeechFileStream, 0xaf67f125, 0xab39, 0x4e93, 0xb4,0xa2, 0xcc,0x2e,0x66,0xe1,0x82,0xa7);
   15126 #if defined(__cplusplus) && !defined(CINTERFACE)
   15127 MIDL_INTERFACE("af67f125-ab39-4e93-b4a2-cc2e66e182a7")
   15128 ISpeechFileStream : public ISpeechBaseStream
   15129 {
   15130     virtual HRESULT STDMETHODCALLTYPE Open(
   15131         BSTR FileName,
   15132         SpeechStreamFileMode FileMode = SSFMOpenForRead,
   15133         VARIANT_BOOL DoEvents = 0) = 0;
   15134 
   15135     virtual HRESULT STDMETHODCALLTYPE Close(
   15136         ) = 0;
   15137 
   15138 };
   15139 #ifdef __CRT_UUID_DECL
   15140 __CRT_UUID_DECL(ISpeechFileStream, 0xaf67f125, 0xab39, 0x4e93, 0xb4,0xa2, 0xcc,0x2e,0x66,0xe1,0x82,0xa7)
   15141 #endif
   15142 #else
   15143 typedef struct ISpeechFileStreamVtbl {
   15144     BEGIN_INTERFACE
   15145 
   15146     /*** IUnknown methods ***/
   15147     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   15148         ISpeechFileStream* This,
   15149         REFIID riid,
   15150         void **ppvObject);
   15151 
   15152     ULONG (STDMETHODCALLTYPE *AddRef)(
   15153         ISpeechFileStream* This);
   15154 
   15155     ULONG (STDMETHODCALLTYPE *Release)(
   15156         ISpeechFileStream* This);
   15157 
   15158     /*** IDispatch methods ***/
   15159     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   15160         ISpeechFileStream* This,
   15161         UINT *pctinfo);
   15162 
   15163     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   15164         ISpeechFileStream* This,
   15165         UINT iTInfo,
   15166         LCID lcid,
   15167         ITypeInfo **ppTInfo);
   15168 
   15169     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   15170         ISpeechFileStream* This,
   15171         REFIID riid,
   15172         LPOLESTR *rgszNames,
   15173         UINT cNames,
   15174         LCID lcid,
   15175         DISPID *rgDispId);
   15176 
   15177     HRESULT (STDMETHODCALLTYPE *Invoke)(
   15178         ISpeechFileStream* This,
   15179         DISPID dispIdMember,
   15180         REFIID riid,
   15181         LCID lcid,
   15182         WORD wFlags,
   15183         DISPPARAMS *pDispParams,
   15184         VARIANT *pVarResult,
   15185         EXCEPINFO *pExcepInfo,
   15186         UINT *puArgErr);
   15187 
   15188     /*** ISpeechBaseStream methods ***/
   15189     HRESULT (STDMETHODCALLTYPE *get_Format)(
   15190         ISpeechFileStream* This,
   15191         ISpeechAudioFormat **AudioFormat);
   15192 
   15193     HRESULT (STDMETHODCALLTYPE *putref_Format)(
   15194         ISpeechFileStream* This,
   15195         ISpeechAudioFormat *AudioFormat);
   15196 
   15197     HRESULT (STDMETHODCALLTYPE *Read)(
   15198         ISpeechFileStream* This,
   15199         VARIANT *Buffer,
   15200         LONG NumberOfBytes,
   15201         LONG *BytesRead);
   15202 
   15203     HRESULT (STDMETHODCALLTYPE *Write)(
   15204         ISpeechFileStream* This,
   15205         VARIANT Buffer,
   15206         LONG *BytesWritten);
   15207 
   15208     HRESULT (STDMETHODCALLTYPE *Seek)(
   15209         ISpeechFileStream* This,
   15210         VARIANT Position,
   15211         SpeechStreamSeekPositionType Origin,
   15212         VARIANT *NewPosition);
   15213 
   15214     /*** ISpeechFileStream methods ***/
   15215     HRESULT (STDMETHODCALLTYPE *Open)(
   15216         ISpeechFileStream* This,
   15217         BSTR FileName,
   15218         SpeechStreamFileMode FileMode,
   15219         VARIANT_BOOL DoEvents);
   15220 
   15221     HRESULT (STDMETHODCALLTYPE *Close)(
   15222         ISpeechFileStream* This);
   15223 
   15224     END_INTERFACE
   15225 } ISpeechFileStreamVtbl;
   15226 interface ISpeechFileStream {
   15227     CONST_VTBL ISpeechFileStreamVtbl* lpVtbl;
   15228 };
   15229 
   15230 #ifdef COBJMACROS
   15231 #ifndef WIDL_C_INLINE_WRAPPERS
   15232 /*** IUnknown methods ***/
   15233 #define ISpeechFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15234 #define ISpeechFileStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   15235 #define ISpeechFileStream_Release(This) (This)->lpVtbl->Release(This)
   15236 /*** IDispatch methods ***/
   15237 #define ISpeechFileStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   15238 #define ISpeechFileStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   15239 #define ISpeechFileStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   15240 #define ISpeechFileStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   15241 /*** ISpeechBaseStream methods ***/
   15242 #define ISpeechFileStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
   15243 #define ISpeechFileStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
   15244 #define ISpeechFileStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
   15245 #define ISpeechFileStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
   15246 #define ISpeechFileStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
   15247 /*** ISpeechFileStream methods ***/
   15248 #define ISpeechFileStream_Open(This,FileName,FileMode,DoEvents) (This)->lpVtbl->Open(This,FileName,FileMode,DoEvents)
   15249 #define ISpeechFileStream_Close(This) (This)->lpVtbl->Close(This)
   15250 #else
   15251 /*** IUnknown methods ***/
   15252 static FORCEINLINE HRESULT ISpeechFileStream_QueryInterface(ISpeechFileStream* This,REFIID riid,void **ppvObject) {
   15253     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   15254 }
   15255 static FORCEINLINE ULONG ISpeechFileStream_AddRef(ISpeechFileStream* This) {
   15256     return This->lpVtbl->AddRef(This);
   15257 }
   15258 static FORCEINLINE ULONG ISpeechFileStream_Release(ISpeechFileStream* This) {
   15259     return This->lpVtbl->Release(This);
   15260 }
   15261 /*** IDispatch methods ***/
   15262 static FORCEINLINE HRESULT ISpeechFileStream_GetTypeInfoCount(ISpeechFileStream* This,UINT *pctinfo) {
   15263     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   15264 }
   15265 static FORCEINLINE HRESULT ISpeechFileStream_GetTypeInfo(ISpeechFileStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   15266     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   15267 }
   15268 static FORCEINLINE HRESULT ISpeechFileStream_GetIDsOfNames(ISpeechFileStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   15269     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   15270 }
   15271 static FORCEINLINE HRESULT ISpeechFileStream_Invoke(ISpeechFileStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   15272     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   15273 }
   15274 /*** ISpeechBaseStream methods ***/
   15275 static FORCEINLINE HRESULT ISpeechFileStream_get_Format(ISpeechFileStream* This,ISpeechAudioFormat **AudioFormat) {
   15276     return This->lpVtbl->get_Format(This,AudioFormat);
   15277 }
   15278 static FORCEINLINE HRESULT ISpeechFileStream_putref_Format(ISpeechFileStream* This,ISpeechAudioFormat *AudioFormat) {
   15279     return This->lpVtbl->putref_Format(This,AudioFormat);
   15280 }
   15281 static FORCEINLINE HRESULT ISpeechFileStream_Read(ISpeechFileStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
   15282     return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
   15283 }
   15284 static FORCEINLINE HRESULT ISpeechFileStream_Write(ISpeechFileStream* This,VARIANT Buffer,LONG *BytesWritten) {
   15285     return This->lpVtbl->Write(This,Buffer,BytesWritten);
   15286 }
   15287 static FORCEINLINE HRESULT ISpeechFileStream_Seek(ISpeechFileStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
   15288     return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
   15289 }
   15290 /*** ISpeechFileStream methods ***/
   15291 static FORCEINLINE HRESULT ISpeechFileStream_Open(ISpeechFileStream* This,BSTR FileName,SpeechStreamFileMode FileMode,VARIANT_BOOL DoEvents) {
   15292     return This->lpVtbl->Open(This,FileName,FileMode,DoEvents);
   15293 }
   15294 static FORCEINLINE HRESULT ISpeechFileStream_Close(ISpeechFileStream* This) {
   15295     return This->lpVtbl->Close(This);
   15296 }
   15297 #endif
   15298 #endif
   15299 
   15300 #endif
   15301 
   15302 HRESULT STDMETHODCALLTYPE ISpeechFileStream_Open_Proxy(
   15303     ISpeechFileStream* This,
   15304     BSTR FileName,
   15305     SpeechStreamFileMode FileMode,
   15306     VARIANT_BOOL DoEvents);
   15307 void __RPC_STUB ISpeechFileStream_Open_Stub(
   15308     IRpcStubBuffer* This,
   15309     IRpcChannelBuffer* pRpcChannelBuffer,
   15310     PRPC_MESSAGE pRpcMessage,
   15311     DWORD* pdwStubPhase);
   15312 HRESULT STDMETHODCALLTYPE ISpeechFileStream_Close_Proxy(
   15313     ISpeechFileStream* This);
   15314 void __RPC_STUB ISpeechFileStream_Close_Stub(
   15315     IRpcStubBuffer* This,
   15316     IRpcChannelBuffer* pRpcChannelBuffer,
   15317     PRPC_MESSAGE pRpcMessage,
   15318     DWORD* pdwStubPhase);
   15319 
   15320 #endif  /* __ISpeechFileStream_INTERFACE_DEFINED__ */
   15321 
   15322 /*****************************************************************************
   15323  * ISpeechCustomStream interface
   15324  */
   15325 #ifndef __ISpeechCustomStream_INTERFACE_DEFINED__
   15326 #define __ISpeechCustomStream_INTERFACE_DEFINED__
   15327 
   15328 DEFINE_GUID(IID_ISpeechCustomStream, 0x1a9e9f4f, 0x104f, 0x4db8, 0xa1,0x15, 0xef,0xd7,0xfd,0x0c,0x97,0xae);
   15329 #if defined(__cplusplus) && !defined(CINTERFACE)
   15330 MIDL_INTERFACE("1a9e9f4f-104f-4db8-a115-efd7fd0c97ae")
   15331 ISpeechCustomStream : public ISpeechBaseStream
   15332 {
   15333     virtual HRESULT STDMETHODCALLTYPE get_BaseStream(
   15334         IUnknown **ppUnkStream) = 0;
   15335 
   15336     virtual HRESULT STDMETHODCALLTYPE putref_BaseStream(
   15337         IUnknown *pUnkStream) = 0;
   15338 
   15339 };
   15340 #ifdef __CRT_UUID_DECL
   15341 __CRT_UUID_DECL(ISpeechCustomStream, 0x1a9e9f4f, 0x104f, 0x4db8, 0xa1,0x15, 0xef,0xd7,0xfd,0x0c,0x97,0xae)
   15342 #endif
   15343 #else
   15344 typedef struct ISpeechCustomStreamVtbl {
   15345     BEGIN_INTERFACE
   15346 
   15347     /*** IUnknown methods ***/
   15348     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   15349         ISpeechCustomStream* This,
   15350         REFIID riid,
   15351         void **ppvObject);
   15352 
   15353     ULONG (STDMETHODCALLTYPE *AddRef)(
   15354         ISpeechCustomStream* This);
   15355 
   15356     ULONG (STDMETHODCALLTYPE *Release)(
   15357         ISpeechCustomStream* This);
   15358 
   15359     /*** IDispatch methods ***/
   15360     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   15361         ISpeechCustomStream* This,
   15362         UINT *pctinfo);
   15363 
   15364     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   15365         ISpeechCustomStream* This,
   15366         UINT iTInfo,
   15367         LCID lcid,
   15368         ITypeInfo **ppTInfo);
   15369 
   15370     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   15371         ISpeechCustomStream* This,
   15372         REFIID riid,
   15373         LPOLESTR *rgszNames,
   15374         UINT cNames,
   15375         LCID lcid,
   15376         DISPID *rgDispId);
   15377 
   15378     HRESULT (STDMETHODCALLTYPE *Invoke)(
   15379         ISpeechCustomStream* This,
   15380         DISPID dispIdMember,
   15381         REFIID riid,
   15382         LCID lcid,
   15383         WORD wFlags,
   15384         DISPPARAMS *pDispParams,
   15385         VARIANT *pVarResult,
   15386         EXCEPINFO *pExcepInfo,
   15387         UINT *puArgErr);
   15388 
   15389     /*** ISpeechBaseStream methods ***/
   15390     HRESULT (STDMETHODCALLTYPE *get_Format)(
   15391         ISpeechCustomStream* This,
   15392         ISpeechAudioFormat **AudioFormat);
   15393 
   15394     HRESULT (STDMETHODCALLTYPE *putref_Format)(
   15395         ISpeechCustomStream* This,
   15396         ISpeechAudioFormat *AudioFormat);
   15397 
   15398     HRESULT (STDMETHODCALLTYPE *Read)(
   15399         ISpeechCustomStream* This,
   15400         VARIANT *Buffer,
   15401         LONG NumberOfBytes,
   15402         LONG *BytesRead);
   15403 
   15404     HRESULT (STDMETHODCALLTYPE *Write)(
   15405         ISpeechCustomStream* This,
   15406         VARIANT Buffer,
   15407         LONG *BytesWritten);
   15408 
   15409     HRESULT (STDMETHODCALLTYPE *Seek)(
   15410         ISpeechCustomStream* This,
   15411         VARIANT Position,
   15412         SpeechStreamSeekPositionType Origin,
   15413         VARIANT *NewPosition);
   15414 
   15415     /*** ISpeechCustomStream methods ***/
   15416     HRESULT (STDMETHODCALLTYPE *get_BaseStream)(
   15417         ISpeechCustomStream* This,
   15418         IUnknown **ppUnkStream);
   15419 
   15420     HRESULT (STDMETHODCALLTYPE *putref_BaseStream)(
   15421         ISpeechCustomStream* This,
   15422         IUnknown *pUnkStream);
   15423 
   15424     END_INTERFACE
   15425 } ISpeechCustomStreamVtbl;
   15426 interface ISpeechCustomStream {
   15427     CONST_VTBL ISpeechCustomStreamVtbl* lpVtbl;
   15428 };
   15429 
   15430 #ifdef COBJMACROS
   15431 #ifndef WIDL_C_INLINE_WRAPPERS
   15432 /*** IUnknown methods ***/
   15433 #define ISpeechCustomStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15434 #define ISpeechCustomStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   15435 #define ISpeechCustomStream_Release(This) (This)->lpVtbl->Release(This)
   15436 /*** IDispatch methods ***/
   15437 #define ISpeechCustomStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   15438 #define ISpeechCustomStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   15439 #define ISpeechCustomStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   15440 #define ISpeechCustomStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   15441 /*** ISpeechBaseStream methods ***/
   15442 #define ISpeechCustomStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
   15443 #define ISpeechCustomStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
   15444 #define ISpeechCustomStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
   15445 #define ISpeechCustomStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
   15446 #define ISpeechCustomStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
   15447 /*** ISpeechCustomStream methods ***/
   15448 #define ISpeechCustomStream_get_BaseStream(This,ppUnkStream) (This)->lpVtbl->get_BaseStream(This,ppUnkStream)
   15449 #define ISpeechCustomStream_putref_BaseStream(This,pUnkStream) (This)->lpVtbl->putref_BaseStream(This,pUnkStream)
   15450 #else
   15451 /*** IUnknown methods ***/
   15452 static FORCEINLINE HRESULT ISpeechCustomStream_QueryInterface(ISpeechCustomStream* This,REFIID riid,void **ppvObject) {
   15453     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   15454 }
   15455 static FORCEINLINE ULONG ISpeechCustomStream_AddRef(ISpeechCustomStream* This) {
   15456     return This->lpVtbl->AddRef(This);
   15457 }
   15458 static FORCEINLINE ULONG ISpeechCustomStream_Release(ISpeechCustomStream* This) {
   15459     return This->lpVtbl->Release(This);
   15460 }
   15461 /*** IDispatch methods ***/
   15462 static FORCEINLINE HRESULT ISpeechCustomStream_GetTypeInfoCount(ISpeechCustomStream* This,UINT *pctinfo) {
   15463     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   15464 }
   15465 static FORCEINLINE HRESULT ISpeechCustomStream_GetTypeInfo(ISpeechCustomStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   15466     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   15467 }
   15468 static FORCEINLINE HRESULT ISpeechCustomStream_GetIDsOfNames(ISpeechCustomStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   15469     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   15470 }
   15471 static FORCEINLINE HRESULT ISpeechCustomStream_Invoke(ISpeechCustomStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   15472     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   15473 }
   15474 /*** ISpeechBaseStream methods ***/
   15475 static FORCEINLINE HRESULT ISpeechCustomStream_get_Format(ISpeechCustomStream* This,ISpeechAudioFormat **AudioFormat) {
   15476     return This->lpVtbl->get_Format(This,AudioFormat);
   15477 }
   15478 static FORCEINLINE HRESULT ISpeechCustomStream_putref_Format(ISpeechCustomStream* This,ISpeechAudioFormat *AudioFormat) {
   15479     return This->lpVtbl->putref_Format(This,AudioFormat);
   15480 }
   15481 static FORCEINLINE HRESULT ISpeechCustomStream_Read(ISpeechCustomStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
   15482     return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
   15483 }
   15484 static FORCEINLINE HRESULT ISpeechCustomStream_Write(ISpeechCustomStream* This,VARIANT Buffer,LONG *BytesWritten) {
   15485     return This->lpVtbl->Write(This,Buffer,BytesWritten);
   15486 }
   15487 static FORCEINLINE HRESULT ISpeechCustomStream_Seek(ISpeechCustomStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
   15488     return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
   15489 }
   15490 /*** ISpeechCustomStream methods ***/
   15491 static FORCEINLINE HRESULT ISpeechCustomStream_get_BaseStream(ISpeechCustomStream* This,IUnknown **ppUnkStream) {
   15492     return This->lpVtbl->get_BaseStream(This,ppUnkStream);
   15493 }
   15494 static FORCEINLINE HRESULT ISpeechCustomStream_putref_BaseStream(ISpeechCustomStream* This,IUnknown *pUnkStream) {
   15495     return This->lpVtbl->putref_BaseStream(This,pUnkStream);
   15496 }
   15497 #endif
   15498 #endif
   15499 
   15500 #endif
   15501 
   15502 HRESULT STDMETHODCALLTYPE ISpeechCustomStream_get_BaseStream_Proxy(
   15503     ISpeechCustomStream* This,
   15504     IUnknown **ppUnkStream);
   15505 void __RPC_STUB ISpeechCustomStream_get_BaseStream_Stub(
   15506     IRpcStubBuffer* This,
   15507     IRpcChannelBuffer* pRpcChannelBuffer,
   15508     PRPC_MESSAGE pRpcMessage,
   15509     DWORD* pdwStubPhase);
   15510 HRESULT STDMETHODCALLTYPE ISpeechCustomStream_putref_BaseStream_Proxy(
   15511     ISpeechCustomStream* This,
   15512     IUnknown *pUnkStream);
   15513 void __RPC_STUB ISpeechCustomStream_putref_BaseStream_Stub(
   15514     IRpcStubBuffer* This,
   15515     IRpcChannelBuffer* pRpcChannelBuffer,
   15516     PRPC_MESSAGE pRpcMessage,
   15517     DWORD* pdwStubPhase);
   15518 
   15519 #endif  /* __ISpeechCustomStream_INTERFACE_DEFINED__ */
   15520 
   15521 /*****************************************************************************
   15522  * ISpeechMemoryStream interface
   15523  */
   15524 #ifndef __ISpeechMemoryStream_INTERFACE_DEFINED__
   15525 #define __ISpeechMemoryStream_INTERFACE_DEFINED__
   15526 
   15527 DEFINE_GUID(IID_ISpeechMemoryStream, 0xeeb14b68, 0x808b, 0x4abe, 0xa5,0xea, 0xb5,0x1d,0xa7,0x58,0x80,0x08);
   15528 #if defined(__cplusplus) && !defined(CINTERFACE)
   15529 MIDL_INTERFACE("eeb14b68-808b-4abe-a5ea-b51da7588008")
   15530 ISpeechMemoryStream : public ISpeechBaseStream
   15531 {
   15532     virtual HRESULT STDMETHODCALLTYPE SetData(
   15533         VARIANT Data) = 0;
   15534 
   15535     virtual HRESULT STDMETHODCALLTYPE GetData(
   15536         VARIANT *pData) = 0;
   15537 
   15538 };
   15539 #ifdef __CRT_UUID_DECL
   15540 __CRT_UUID_DECL(ISpeechMemoryStream, 0xeeb14b68, 0x808b, 0x4abe, 0xa5,0xea, 0xb5,0x1d,0xa7,0x58,0x80,0x08)
   15541 #endif
   15542 #else
   15543 typedef struct ISpeechMemoryStreamVtbl {
   15544     BEGIN_INTERFACE
   15545 
   15546     /*** IUnknown methods ***/
   15547     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   15548         ISpeechMemoryStream* This,
   15549         REFIID riid,
   15550         void **ppvObject);
   15551 
   15552     ULONG (STDMETHODCALLTYPE *AddRef)(
   15553         ISpeechMemoryStream* This);
   15554 
   15555     ULONG (STDMETHODCALLTYPE *Release)(
   15556         ISpeechMemoryStream* This);
   15557 
   15558     /*** IDispatch methods ***/
   15559     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   15560         ISpeechMemoryStream* This,
   15561         UINT *pctinfo);
   15562 
   15563     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   15564         ISpeechMemoryStream* This,
   15565         UINT iTInfo,
   15566         LCID lcid,
   15567         ITypeInfo **ppTInfo);
   15568 
   15569     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   15570         ISpeechMemoryStream* This,
   15571         REFIID riid,
   15572         LPOLESTR *rgszNames,
   15573         UINT cNames,
   15574         LCID lcid,
   15575         DISPID *rgDispId);
   15576 
   15577     HRESULT (STDMETHODCALLTYPE *Invoke)(
   15578         ISpeechMemoryStream* This,
   15579         DISPID dispIdMember,
   15580         REFIID riid,
   15581         LCID lcid,
   15582         WORD wFlags,
   15583         DISPPARAMS *pDispParams,
   15584         VARIANT *pVarResult,
   15585         EXCEPINFO *pExcepInfo,
   15586         UINT *puArgErr);
   15587 
   15588     /*** ISpeechBaseStream methods ***/
   15589     HRESULT (STDMETHODCALLTYPE *get_Format)(
   15590         ISpeechMemoryStream* This,
   15591         ISpeechAudioFormat **AudioFormat);
   15592 
   15593     HRESULT (STDMETHODCALLTYPE *putref_Format)(
   15594         ISpeechMemoryStream* This,
   15595         ISpeechAudioFormat *AudioFormat);
   15596 
   15597     HRESULT (STDMETHODCALLTYPE *Read)(
   15598         ISpeechMemoryStream* This,
   15599         VARIANT *Buffer,
   15600         LONG NumberOfBytes,
   15601         LONG *BytesRead);
   15602 
   15603     HRESULT (STDMETHODCALLTYPE *Write)(
   15604         ISpeechMemoryStream* This,
   15605         VARIANT Buffer,
   15606         LONG *BytesWritten);
   15607 
   15608     HRESULT (STDMETHODCALLTYPE *Seek)(
   15609         ISpeechMemoryStream* This,
   15610         VARIANT Position,
   15611         SpeechStreamSeekPositionType Origin,
   15612         VARIANT *NewPosition);
   15613 
   15614     /*** ISpeechMemoryStream methods ***/
   15615     HRESULT (STDMETHODCALLTYPE *SetData)(
   15616         ISpeechMemoryStream* This,
   15617         VARIANT Data);
   15618 
   15619     HRESULT (STDMETHODCALLTYPE *GetData)(
   15620         ISpeechMemoryStream* This,
   15621         VARIANT *pData);
   15622 
   15623     END_INTERFACE
   15624 } ISpeechMemoryStreamVtbl;
   15625 interface ISpeechMemoryStream {
   15626     CONST_VTBL ISpeechMemoryStreamVtbl* lpVtbl;
   15627 };
   15628 
   15629 #ifdef COBJMACROS
   15630 #ifndef WIDL_C_INLINE_WRAPPERS
   15631 /*** IUnknown methods ***/
   15632 #define ISpeechMemoryStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15633 #define ISpeechMemoryStream_AddRef(This) (This)->lpVtbl->AddRef(This)
   15634 #define ISpeechMemoryStream_Release(This) (This)->lpVtbl->Release(This)
   15635 /*** IDispatch methods ***/
   15636 #define ISpeechMemoryStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   15637 #define ISpeechMemoryStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   15638 #define ISpeechMemoryStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   15639 #define ISpeechMemoryStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   15640 /*** ISpeechBaseStream methods ***/
   15641 #define ISpeechMemoryStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
   15642 #define ISpeechMemoryStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
   15643 #define ISpeechMemoryStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
   15644 #define ISpeechMemoryStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
   15645 #define ISpeechMemoryStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
   15646 /*** ISpeechMemoryStream methods ***/
   15647 #define ISpeechMemoryStream_SetData(This,Data) (This)->lpVtbl->SetData(This,Data)
   15648 #define ISpeechMemoryStream_GetData(This,pData) (This)->lpVtbl->GetData(This,pData)
   15649 #else
   15650 /*** IUnknown methods ***/
   15651 static FORCEINLINE HRESULT ISpeechMemoryStream_QueryInterface(ISpeechMemoryStream* This,REFIID riid,void **ppvObject) {
   15652     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   15653 }
   15654 static FORCEINLINE ULONG ISpeechMemoryStream_AddRef(ISpeechMemoryStream* This) {
   15655     return This->lpVtbl->AddRef(This);
   15656 }
   15657 static FORCEINLINE ULONG ISpeechMemoryStream_Release(ISpeechMemoryStream* This) {
   15658     return This->lpVtbl->Release(This);
   15659 }
   15660 /*** IDispatch methods ***/
   15661 static FORCEINLINE HRESULT ISpeechMemoryStream_GetTypeInfoCount(ISpeechMemoryStream* This,UINT *pctinfo) {
   15662     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   15663 }
   15664 static FORCEINLINE HRESULT ISpeechMemoryStream_GetTypeInfo(ISpeechMemoryStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   15665     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   15666 }
   15667 static FORCEINLINE HRESULT ISpeechMemoryStream_GetIDsOfNames(ISpeechMemoryStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   15668     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   15669 }
   15670 static FORCEINLINE HRESULT ISpeechMemoryStream_Invoke(ISpeechMemoryStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   15671     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   15672 }
   15673 /*** ISpeechBaseStream methods ***/
   15674 static FORCEINLINE HRESULT ISpeechMemoryStream_get_Format(ISpeechMemoryStream* This,ISpeechAudioFormat **AudioFormat) {
   15675     return This->lpVtbl->get_Format(This,AudioFormat);
   15676 }
   15677 static FORCEINLINE HRESULT ISpeechMemoryStream_putref_Format(ISpeechMemoryStream* This,ISpeechAudioFormat *AudioFormat) {
   15678     return This->lpVtbl->putref_Format(This,AudioFormat);
   15679 }
   15680 static FORCEINLINE HRESULT ISpeechMemoryStream_Read(ISpeechMemoryStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
   15681     return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
   15682 }
   15683 static FORCEINLINE HRESULT ISpeechMemoryStream_Write(ISpeechMemoryStream* This,VARIANT Buffer,LONG *BytesWritten) {
   15684     return This->lpVtbl->Write(This,Buffer,BytesWritten);
   15685 }
   15686 static FORCEINLINE HRESULT ISpeechMemoryStream_Seek(ISpeechMemoryStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
   15687     return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
   15688 }
   15689 /*** ISpeechMemoryStream methods ***/
   15690 static FORCEINLINE HRESULT ISpeechMemoryStream_SetData(ISpeechMemoryStream* This,VARIANT Data) {
   15691     return This->lpVtbl->SetData(This,Data);
   15692 }
   15693 static FORCEINLINE HRESULT ISpeechMemoryStream_GetData(ISpeechMemoryStream* This,VARIANT *pData) {
   15694     return This->lpVtbl->GetData(This,pData);
   15695 }
   15696 #endif
   15697 #endif
   15698 
   15699 #endif
   15700 
   15701 HRESULT STDMETHODCALLTYPE ISpeechMemoryStream_SetData_Proxy(
   15702     ISpeechMemoryStream* This,
   15703     VARIANT Data);
   15704 void __RPC_STUB ISpeechMemoryStream_SetData_Stub(
   15705     IRpcStubBuffer* This,
   15706     IRpcChannelBuffer* pRpcChannelBuffer,
   15707     PRPC_MESSAGE pRpcMessage,
   15708     DWORD* pdwStubPhase);
   15709 HRESULT STDMETHODCALLTYPE ISpeechMemoryStream_GetData_Proxy(
   15710     ISpeechMemoryStream* This,
   15711     VARIANT *pData);
   15712 void __RPC_STUB ISpeechMemoryStream_GetData_Stub(
   15713     IRpcStubBuffer* This,
   15714     IRpcChannelBuffer* pRpcChannelBuffer,
   15715     PRPC_MESSAGE pRpcMessage,
   15716     DWORD* pdwStubPhase);
   15717 
   15718 #endif  /* __ISpeechMemoryStream_INTERFACE_DEFINED__ */
   15719 
   15720 /*****************************************************************************
   15721  * ISpeechAudioStatus interface
   15722  */
   15723 #ifndef __ISpeechAudioStatus_INTERFACE_DEFINED__
   15724 #define __ISpeechAudioStatus_INTERFACE_DEFINED__
   15725 
   15726 DEFINE_GUID(IID_ISpeechAudioStatus, 0xc62d9c91, 0x7458, 0x47f6, 0x86,0x2d, 0x1e,0xf8,0x6f,0xb0,0xb2,0x78);
   15727 #if defined(__cplusplus) && !defined(CINTERFACE)
   15728 MIDL_INTERFACE("c62d9c91-7458-47f6-862d-1ef86fb0b278")
   15729 ISpeechAudioStatus : public IDispatch
   15730 {
   15731     virtual HRESULT STDMETHODCALLTYPE get_FreeBufferSpace(
   15732         LONG *FreeBufferSpace) = 0;
   15733 
   15734     virtual HRESULT STDMETHODCALLTYPE get_NonBlockingIO(
   15735         LONG *NonBlockingIO) = 0;
   15736 
   15737     virtual HRESULT STDMETHODCALLTYPE get_State(
   15738         SpeechAudioState *State) = 0;
   15739 
   15740     virtual HRESULT STDMETHODCALLTYPE get_CurrentSeekPosition(
   15741         VARIANT *CurrentSeekPosition) = 0;
   15742 
   15743     virtual HRESULT STDMETHODCALLTYPE get_CurrentDevicePosition(
   15744         VARIANT *CurrentDevicePosition) = 0;
   15745 
   15746 };
   15747 #ifdef __CRT_UUID_DECL
   15748 __CRT_UUID_DECL(ISpeechAudioStatus, 0xc62d9c91, 0x7458, 0x47f6, 0x86,0x2d, 0x1e,0xf8,0x6f,0xb0,0xb2,0x78)
   15749 #endif
   15750 #else
   15751 typedef struct ISpeechAudioStatusVtbl {
   15752     BEGIN_INTERFACE
   15753 
   15754     /*** IUnknown methods ***/
   15755     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   15756         ISpeechAudioStatus* This,
   15757         REFIID riid,
   15758         void **ppvObject);
   15759 
   15760     ULONG (STDMETHODCALLTYPE *AddRef)(
   15761         ISpeechAudioStatus* This);
   15762 
   15763     ULONG (STDMETHODCALLTYPE *Release)(
   15764         ISpeechAudioStatus* This);
   15765 
   15766     /*** IDispatch methods ***/
   15767     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   15768         ISpeechAudioStatus* This,
   15769         UINT *pctinfo);
   15770 
   15771     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   15772         ISpeechAudioStatus* This,
   15773         UINT iTInfo,
   15774         LCID lcid,
   15775         ITypeInfo **ppTInfo);
   15776 
   15777     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   15778         ISpeechAudioStatus* This,
   15779         REFIID riid,
   15780         LPOLESTR *rgszNames,
   15781         UINT cNames,
   15782         LCID lcid,
   15783         DISPID *rgDispId);
   15784 
   15785     HRESULT (STDMETHODCALLTYPE *Invoke)(
   15786         ISpeechAudioStatus* This,
   15787         DISPID dispIdMember,
   15788         REFIID riid,
   15789         LCID lcid,
   15790         WORD wFlags,
   15791         DISPPARAMS *pDispParams,
   15792         VARIANT *pVarResult,
   15793         EXCEPINFO *pExcepInfo,
   15794         UINT *puArgErr);
   15795 
   15796     /*** ISpeechAudioStatus methods ***/
   15797     HRESULT (STDMETHODCALLTYPE *get_FreeBufferSpace)(
   15798         ISpeechAudioStatus* This,
   15799         LONG *FreeBufferSpace);
   15800 
   15801     HRESULT (STDMETHODCALLTYPE *get_NonBlockingIO)(
   15802         ISpeechAudioStatus* This,
   15803         LONG *NonBlockingIO);
   15804 
   15805     HRESULT (STDMETHODCALLTYPE *get_State)(
   15806         ISpeechAudioStatus* This,
   15807         SpeechAudioState *State);
   15808 
   15809     HRESULT (STDMETHODCALLTYPE *get_CurrentSeekPosition)(
   15810         ISpeechAudioStatus* This,
   15811         VARIANT *CurrentSeekPosition);
   15812 
   15813     HRESULT (STDMETHODCALLTYPE *get_CurrentDevicePosition)(
   15814         ISpeechAudioStatus* This,
   15815         VARIANT *CurrentDevicePosition);
   15816 
   15817     END_INTERFACE
   15818 } ISpeechAudioStatusVtbl;
   15819 interface ISpeechAudioStatus {
   15820     CONST_VTBL ISpeechAudioStatusVtbl* lpVtbl;
   15821 };
   15822 
   15823 #ifdef COBJMACROS
   15824 #ifndef WIDL_C_INLINE_WRAPPERS
   15825 /*** IUnknown methods ***/
   15826 #define ISpeechAudioStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   15827 #define ISpeechAudioStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
   15828 #define ISpeechAudioStatus_Release(This) (This)->lpVtbl->Release(This)
   15829 /*** IDispatch methods ***/
   15830 #define ISpeechAudioStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   15831 #define ISpeechAudioStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   15832 #define ISpeechAudioStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   15833 #define ISpeechAudioStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   15834 /*** ISpeechAudioStatus methods ***/
   15835 #define ISpeechAudioStatus_get_FreeBufferSpace(This,FreeBufferSpace) (This)->lpVtbl->get_FreeBufferSpace(This,FreeBufferSpace)
   15836 #define ISpeechAudioStatus_get_NonBlockingIO(This,NonBlockingIO) (This)->lpVtbl->get_NonBlockingIO(This,NonBlockingIO)
   15837 #define ISpeechAudioStatus_get_State(This,State) (This)->lpVtbl->get_State(This,State)
   15838 #define ISpeechAudioStatus_get_CurrentSeekPosition(This,CurrentSeekPosition) (This)->lpVtbl->get_CurrentSeekPosition(This,CurrentSeekPosition)
   15839 #define ISpeechAudioStatus_get_CurrentDevicePosition(This,CurrentDevicePosition) (This)->lpVtbl->get_CurrentDevicePosition(This,CurrentDevicePosition)
   15840 #else
   15841 /*** IUnknown methods ***/
   15842 static FORCEINLINE HRESULT ISpeechAudioStatus_QueryInterface(ISpeechAudioStatus* This,REFIID riid,void **ppvObject) {
   15843     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   15844 }
   15845 static FORCEINLINE ULONG ISpeechAudioStatus_AddRef(ISpeechAudioStatus* This) {
   15846     return This->lpVtbl->AddRef(This);
   15847 }
   15848 static FORCEINLINE ULONG ISpeechAudioStatus_Release(ISpeechAudioStatus* This) {
   15849     return This->lpVtbl->Release(This);
   15850 }
   15851 /*** IDispatch methods ***/
   15852 static FORCEINLINE HRESULT ISpeechAudioStatus_GetTypeInfoCount(ISpeechAudioStatus* This,UINT *pctinfo) {
   15853     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   15854 }
   15855 static FORCEINLINE HRESULT ISpeechAudioStatus_GetTypeInfo(ISpeechAudioStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   15856     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   15857 }
   15858 static FORCEINLINE HRESULT ISpeechAudioStatus_GetIDsOfNames(ISpeechAudioStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   15859     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   15860 }
   15861 static FORCEINLINE HRESULT ISpeechAudioStatus_Invoke(ISpeechAudioStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   15862     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   15863 }
   15864 /*** ISpeechAudioStatus methods ***/
   15865 static FORCEINLINE HRESULT ISpeechAudioStatus_get_FreeBufferSpace(ISpeechAudioStatus* This,LONG *FreeBufferSpace) {
   15866     return This->lpVtbl->get_FreeBufferSpace(This,FreeBufferSpace);
   15867 }
   15868 static FORCEINLINE HRESULT ISpeechAudioStatus_get_NonBlockingIO(ISpeechAudioStatus* This,LONG *NonBlockingIO) {
   15869     return This->lpVtbl->get_NonBlockingIO(This,NonBlockingIO);
   15870 }
   15871 static FORCEINLINE HRESULT ISpeechAudioStatus_get_State(ISpeechAudioStatus* This,SpeechAudioState *State) {
   15872     return This->lpVtbl->get_State(This,State);
   15873 }
   15874 static FORCEINLINE HRESULT ISpeechAudioStatus_get_CurrentSeekPosition(ISpeechAudioStatus* This,VARIANT *CurrentSeekPosition) {
   15875     return This->lpVtbl->get_CurrentSeekPosition(This,CurrentSeekPosition);
   15876 }
   15877 static FORCEINLINE HRESULT ISpeechAudioStatus_get_CurrentDevicePosition(ISpeechAudioStatus* This,VARIANT *CurrentDevicePosition) {
   15878     return This->lpVtbl->get_CurrentDevicePosition(This,CurrentDevicePosition);
   15879 }
   15880 #endif
   15881 #endif
   15882 
   15883 #endif
   15884 
   15885 HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_FreeBufferSpace_Proxy(
   15886     ISpeechAudioStatus* This,
   15887     LONG *FreeBufferSpace);
   15888 void __RPC_STUB ISpeechAudioStatus_get_FreeBufferSpace_Stub(
   15889     IRpcStubBuffer* This,
   15890     IRpcChannelBuffer* pRpcChannelBuffer,
   15891     PRPC_MESSAGE pRpcMessage,
   15892     DWORD* pdwStubPhase);
   15893 HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_NonBlockingIO_Proxy(
   15894     ISpeechAudioStatus* This,
   15895     LONG *NonBlockingIO);
   15896 void __RPC_STUB ISpeechAudioStatus_get_NonBlockingIO_Stub(
   15897     IRpcStubBuffer* This,
   15898     IRpcChannelBuffer* pRpcChannelBuffer,
   15899     PRPC_MESSAGE pRpcMessage,
   15900     DWORD* pdwStubPhase);
   15901 HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_State_Proxy(
   15902     ISpeechAudioStatus* This,
   15903     SpeechAudioState *State);
   15904 void __RPC_STUB ISpeechAudioStatus_get_State_Stub(
   15905     IRpcStubBuffer* This,
   15906     IRpcChannelBuffer* pRpcChannelBuffer,
   15907     PRPC_MESSAGE pRpcMessage,
   15908     DWORD* pdwStubPhase);
   15909 HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_CurrentSeekPosition_Proxy(
   15910     ISpeechAudioStatus* This,
   15911     VARIANT *CurrentSeekPosition);
   15912 void __RPC_STUB ISpeechAudioStatus_get_CurrentSeekPosition_Stub(
   15913     IRpcStubBuffer* This,
   15914     IRpcChannelBuffer* pRpcChannelBuffer,
   15915     PRPC_MESSAGE pRpcMessage,
   15916     DWORD* pdwStubPhase);
   15917 HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_CurrentDevicePosition_Proxy(
   15918     ISpeechAudioStatus* This,
   15919     VARIANT *CurrentDevicePosition);
   15920 void __RPC_STUB ISpeechAudioStatus_get_CurrentDevicePosition_Stub(
   15921     IRpcStubBuffer* This,
   15922     IRpcChannelBuffer* pRpcChannelBuffer,
   15923     PRPC_MESSAGE pRpcMessage,
   15924     DWORD* pdwStubPhase);
   15925 
   15926 #endif  /* __ISpeechAudioStatus_INTERFACE_DEFINED__ */
   15927 
   15928 /*****************************************************************************
   15929  * ISpeechAudioBufferInfo interface
   15930  */
   15931 #ifndef __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
   15932 #define __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
   15933 
   15934 DEFINE_GUID(IID_ISpeechAudioBufferInfo, 0x11b103d8, 0x1142, 0x4edf, 0xa0,0x93, 0x82,0xfb,0x39,0x15,0xf8,0xcc);
   15935 #if defined(__cplusplus) && !defined(CINTERFACE)
   15936 MIDL_INTERFACE("11b103d8-1142-4edf-a093-82fb3915f8cc")
   15937 ISpeechAudioBufferInfo : public IDispatch
   15938 {
   15939     virtual HRESULT STDMETHODCALLTYPE get_MinNotification(
   15940         LONG *MinNotification) = 0;
   15941 
   15942     virtual HRESULT STDMETHODCALLTYPE put_MinNotification(
   15943         LONG MinNotification) = 0;
   15944 
   15945     virtual HRESULT STDMETHODCALLTYPE get_BufferSize(
   15946         LONG *BufferSize) = 0;
   15947 
   15948     virtual HRESULT STDMETHODCALLTYPE put_BufferSize(
   15949         LONG BufferSize) = 0;
   15950 
   15951     virtual HRESULT STDMETHODCALLTYPE get_EventBias(
   15952         LONG *EventBias) = 0;
   15953 
   15954     virtual HRESULT STDMETHODCALLTYPE put_EventBias(
   15955         LONG EventBias) = 0;
   15956 
   15957 };
   15958 #ifdef __CRT_UUID_DECL
   15959 __CRT_UUID_DECL(ISpeechAudioBufferInfo, 0x11b103d8, 0x1142, 0x4edf, 0xa0,0x93, 0x82,0xfb,0x39,0x15,0xf8,0xcc)
   15960 #endif
   15961 #else
   15962 typedef struct ISpeechAudioBufferInfoVtbl {
   15963     BEGIN_INTERFACE
   15964 
   15965     /*** IUnknown methods ***/
   15966     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   15967         ISpeechAudioBufferInfo* This,
   15968         REFIID riid,
   15969         void **ppvObject);
   15970 
   15971     ULONG (STDMETHODCALLTYPE *AddRef)(
   15972         ISpeechAudioBufferInfo* This);
   15973 
   15974     ULONG (STDMETHODCALLTYPE *Release)(
   15975         ISpeechAudioBufferInfo* This);
   15976 
   15977     /*** IDispatch methods ***/
   15978     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   15979         ISpeechAudioBufferInfo* This,
   15980         UINT *pctinfo);
   15981 
   15982     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   15983         ISpeechAudioBufferInfo* This,
   15984         UINT iTInfo,
   15985         LCID lcid,
   15986         ITypeInfo **ppTInfo);
   15987 
   15988     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   15989         ISpeechAudioBufferInfo* This,
   15990         REFIID riid,
   15991         LPOLESTR *rgszNames,
   15992         UINT cNames,
   15993         LCID lcid,
   15994         DISPID *rgDispId);
   15995 
   15996     HRESULT (STDMETHODCALLTYPE *Invoke)(
   15997         ISpeechAudioBufferInfo* This,
   15998         DISPID dispIdMember,
   15999         REFIID riid,
   16000         LCID lcid,
   16001         WORD wFlags,
   16002         DISPPARAMS *pDispParams,
   16003         VARIANT *pVarResult,
   16004         EXCEPINFO *pExcepInfo,
   16005         UINT *puArgErr);
   16006 
   16007     /*** ISpeechAudioBufferInfo methods ***/
   16008     HRESULT (STDMETHODCALLTYPE *get_MinNotification)(
   16009         ISpeechAudioBufferInfo* This,
   16010         LONG *MinNotification);
   16011 
   16012     HRESULT (STDMETHODCALLTYPE *put_MinNotification)(
   16013         ISpeechAudioBufferInfo* This,
   16014         LONG MinNotification);
   16015 
   16016     HRESULT (STDMETHODCALLTYPE *get_BufferSize)(
   16017         ISpeechAudioBufferInfo* This,
   16018         LONG *BufferSize);
   16019 
   16020     HRESULT (STDMETHODCALLTYPE *put_BufferSize)(
   16021         ISpeechAudioBufferInfo* This,
   16022         LONG BufferSize);
   16023 
   16024     HRESULT (STDMETHODCALLTYPE *get_EventBias)(
   16025         ISpeechAudioBufferInfo* This,
   16026         LONG *EventBias);
   16027 
   16028     HRESULT (STDMETHODCALLTYPE *put_EventBias)(
   16029         ISpeechAudioBufferInfo* This,
   16030         LONG EventBias);
   16031 
   16032     END_INTERFACE
   16033 } ISpeechAudioBufferInfoVtbl;
   16034 interface ISpeechAudioBufferInfo {
   16035     CONST_VTBL ISpeechAudioBufferInfoVtbl* lpVtbl;
   16036 };
   16037 
   16038 #ifdef COBJMACROS
   16039 #ifndef WIDL_C_INLINE_WRAPPERS
   16040 /*** IUnknown methods ***/
   16041 #define ISpeechAudioBufferInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16042 #define ISpeechAudioBufferInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   16043 #define ISpeechAudioBufferInfo_Release(This) (This)->lpVtbl->Release(This)
   16044 /*** IDispatch methods ***/
   16045 #define ISpeechAudioBufferInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   16046 #define ISpeechAudioBufferInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   16047 #define ISpeechAudioBufferInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   16048 #define ISpeechAudioBufferInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   16049 /*** ISpeechAudioBufferInfo methods ***/
   16050 #define ISpeechAudioBufferInfo_get_MinNotification(This,MinNotification) (This)->lpVtbl->get_MinNotification(This,MinNotification)
   16051 #define ISpeechAudioBufferInfo_put_MinNotification(This,MinNotification) (This)->lpVtbl->put_MinNotification(This,MinNotification)
   16052 #define ISpeechAudioBufferInfo_get_BufferSize(This,BufferSize) (This)->lpVtbl->get_BufferSize(This,BufferSize)
   16053 #define ISpeechAudioBufferInfo_put_BufferSize(This,BufferSize) (This)->lpVtbl->put_BufferSize(This,BufferSize)
   16054 #define ISpeechAudioBufferInfo_get_EventBias(This,EventBias) (This)->lpVtbl->get_EventBias(This,EventBias)
   16055 #define ISpeechAudioBufferInfo_put_EventBias(This,EventBias) (This)->lpVtbl->put_EventBias(This,EventBias)
   16056 #else
   16057 /*** IUnknown methods ***/
   16058 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_QueryInterface(ISpeechAudioBufferInfo* This,REFIID riid,void **ppvObject) {
   16059     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   16060 }
   16061 static FORCEINLINE ULONG ISpeechAudioBufferInfo_AddRef(ISpeechAudioBufferInfo* This) {
   16062     return This->lpVtbl->AddRef(This);
   16063 }
   16064 static FORCEINLINE ULONG ISpeechAudioBufferInfo_Release(ISpeechAudioBufferInfo* This) {
   16065     return This->lpVtbl->Release(This);
   16066 }
   16067 /*** IDispatch methods ***/
   16068 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetTypeInfoCount(ISpeechAudioBufferInfo* This,UINT *pctinfo) {
   16069     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   16070 }
   16071 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetTypeInfo(ISpeechAudioBufferInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   16072     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   16073 }
   16074 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_GetIDsOfNames(ISpeechAudioBufferInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   16075     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   16076 }
   16077 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_Invoke(ISpeechAudioBufferInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   16078     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   16079 }
   16080 /*** ISpeechAudioBufferInfo methods ***/
   16081 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_MinNotification(ISpeechAudioBufferInfo* This,LONG *MinNotification) {
   16082     return This->lpVtbl->get_MinNotification(This,MinNotification);
   16083 }
   16084 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_MinNotification(ISpeechAudioBufferInfo* This,LONG MinNotification) {
   16085     return This->lpVtbl->put_MinNotification(This,MinNotification);
   16086 }
   16087 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_BufferSize(ISpeechAudioBufferInfo* This,LONG *BufferSize) {
   16088     return This->lpVtbl->get_BufferSize(This,BufferSize);
   16089 }
   16090 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_BufferSize(ISpeechAudioBufferInfo* This,LONG BufferSize) {
   16091     return This->lpVtbl->put_BufferSize(This,BufferSize);
   16092 }
   16093 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_get_EventBias(ISpeechAudioBufferInfo* This,LONG *EventBias) {
   16094     return This->lpVtbl->get_EventBias(This,EventBias);
   16095 }
   16096 static FORCEINLINE HRESULT ISpeechAudioBufferInfo_put_EventBias(ISpeechAudioBufferInfo* This,LONG EventBias) {
   16097     return This->lpVtbl->put_EventBias(This,EventBias);
   16098 }
   16099 #endif
   16100 #endif
   16101 
   16102 #endif
   16103 
   16104 HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_MinNotification_Proxy(
   16105     ISpeechAudioBufferInfo* This,
   16106     LONG *MinNotification);
   16107 void __RPC_STUB ISpeechAudioBufferInfo_get_MinNotification_Stub(
   16108     IRpcStubBuffer* This,
   16109     IRpcChannelBuffer* pRpcChannelBuffer,
   16110     PRPC_MESSAGE pRpcMessage,
   16111     DWORD* pdwStubPhase);
   16112 HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_MinNotification_Proxy(
   16113     ISpeechAudioBufferInfo* This,
   16114     LONG MinNotification);
   16115 void __RPC_STUB ISpeechAudioBufferInfo_put_MinNotification_Stub(
   16116     IRpcStubBuffer* This,
   16117     IRpcChannelBuffer* pRpcChannelBuffer,
   16118     PRPC_MESSAGE pRpcMessage,
   16119     DWORD* pdwStubPhase);
   16120 HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_BufferSize_Proxy(
   16121     ISpeechAudioBufferInfo* This,
   16122     LONG *BufferSize);
   16123 void __RPC_STUB ISpeechAudioBufferInfo_get_BufferSize_Stub(
   16124     IRpcStubBuffer* This,
   16125     IRpcChannelBuffer* pRpcChannelBuffer,
   16126     PRPC_MESSAGE pRpcMessage,
   16127     DWORD* pdwStubPhase);
   16128 HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_BufferSize_Proxy(
   16129     ISpeechAudioBufferInfo* This,
   16130     LONG BufferSize);
   16131 void __RPC_STUB ISpeechAudioBufferInfo_put_BufferSize_Stub(
   16132     IRpcStubBuffer* This,
   16133     IRpcChannelBuffer* pRpcChannelBuffer,
   16134     PRPC_MESSAGE pRpcMessage,
   16135     DWORD* pdwStubPhase);
   16136 HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_EventBias_Proxy(
   16137     ISpeechAudioBufferInfo* This,
   16138     LONG *EventBias);
   16139 void __RPC_STUB ISpeechAudioBufferInfo_get_EventBias_Stub(
   16140     IRpcStubBuffer* This,
   16141     IRpcChannelBuffer* pRpcChannelBuffer,
   16142     PRPC_MESSAGE pRpcMessage,
   16143     DWORD* pdwStubPhase);
   16144 HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_EventBias_Proxy(
   16145     ISpeechAudioBufferInfo* This,
   16146     LONG EventBias);
   16147 void __RPC_STUB ISpeechAudioBufferInfo_put_EventBias_Stub(
   16148     IRpcStubBuffer* This,
   16149     IRpcChannelBuffer* pRpcChannelBuffer,
   16150     PRPC_MESSAGE pRpcMessage,
   16151     DWORD* pdwStubPhase);
   16152 
   16153 #endif  /* __ISpeechAudioBufferInfo_INTERFACE_DEFINED__ */
   16154 
   16155 /*****************************************************************************
   16156  * ISpeechWaveFormatEx interface
   16157  */
   16158 #ifndef __ISpeechWaveFormatEx_INTERFACE_DEFINED__
   16159 #define __ISpeechWaveFormatEx_INTERFACE_DEFINED__
   16160 
   16161 DEFINE_GUID(IID_ISpeechWaveFormatEx, 0x7a1ef0d5, 0x1581, 0x4741, 0x88,0xe4, 0x20,0x9a,0x49,0xf1,0x1a,0x10);
   16162 #if defined(__cplusplus) && !defined(CINTERFACE)
   16163 MIDL_INTERFACE("7a1ef0d5-1581-4741-88e4-209a49f11a10")
   16164 ISpeechWaveFormatEx : public IDispatch
   16165 {
   16166     virtual HRESULT STDMETHODCALLTYPE get_FormatTag(
   16167         short *FormatTag) = 0;
   16168 
   16169     virtual HRESULT STDMETHODCALLTYPE put_FormatTag(
   16170         short FormatTag) = 0;
   16171 
   16172     virtual HRESULT STDMETHODCALLTYPE get_Channels(
   16173         short *Channels) = 0;
   16174 
   16175     virtual HRESULT STDMETHODCALLTYPE put_Channels(
   16176         short Channels) = 0;
   16177 
   16178     virtual HRESULT STDMETHODCALLTYPE get_SamplesPerSec(
   16179         LONG *SamplesPerSec) = 0;
   16180 
   16181     virtual HRESULT STDMETHODCALLTYPE put_SamplesPerSec(
   16182         LONG SamplesPerSec) = 0;
   16183 
   16184     virtual HRESULT STDMETHODCALLTYPE get_AvgBytesPerSec(
   16185         LONG *AvgBytesPerSec) = 0;
   16186 
   16187     virtual HRESULT STDMETHODCALLTYPE put_AvgBytesPerSec(
   16188         LONG AvgBytesPerSec) = 0;
   16189 
   16190     virtual HRESULT STDMETHODCALLTYPE get_BlockAlign(
   16191         short *BlockAlign) = 0;
   16192 
   16193     virtual HRESULT STDMETHODCALLTYPE put_BlockAlign(
   16194         short BlockAlign) = 0;
   16195 
   16196     virtual HRESULT STDMETHODCALLTYPE get_BitsPerSample(
   16197         short *BitsPerSample) = 0;
   16198 
   16199     virtual HRESULT STDMETHODCALLTYPE put_BitsPerSample(
   16200         short BitsPerSample) = 0;
   16201 
   16202     virtual HRESULT STDMETHODCALLTYPE get_ExtraData(
   16203         VARIANT *ExtraData) = 0;
   16204 
   16205     virtual HRESULT STDMETHODCALLTYPE put_ExtraData(
   16206         VARIANT ExtraData) = 0;
   16207 
   16208 };
   16209 #ifdef __CRT_UUID_DECL
   16210 __CRT_UUID_DECL(ISpeechWaveFormatEx, 0x7a1ef0d5, 0x1581, 0x4741, 0x88,0xe4, 0x20,0x9a,0x49,0xf1,0x1a,0x10)
   16211 #endif
   16212 #else
   16213 typedef struct ISpeechWaveFormatExVtbl {
   16214     BEGIN_INTERFACE
   16215 
   16216     /*** IUnknown methods ***/
   16217     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   16218         ISpeechWaveFormatEx* This,
   16219         REFIID riid,
   16220         void **ppvObject);
   16221 
   16222     ULONG (STDMETHODCALLTYPE *AddRef)(
   16223         ISpeechWaveFormatEx* This);
   16224 
   16225     ULONG (STDMETHODCALLTYPE *Release)(
   16226         ISpeechWaveFormatEx* This);
   16227 
   16228     /*** IDispatch methods ***/
   16229     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   16230         ISpeechWaveFormatEx* This,
   16231         UINT *pctinfo);
   16232 
   16233     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   16234         ISpeechWaveFormatEx* This,
   16235         UINT iTInfo,
   16236         LCID lcid,
   16237         ITypeInfo **ppTInfo);
   16238 
   16239     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   16240         ISpeechWaveFormatEx* This,
   16241         REFIID riid,
   16242         LPOLESTR *rgszNames,
   16243         UINT cNames,
   16244         LCID lcid,
   16245         DISPID *rgDispId);
   16246 
   16247     HRESULT (STDMETHODCALLTYPE *Invoke)(
   16248         ISpeechWaveFormatEx* This,
   16249         DISPID dispIdMember,
   16250         REFIID riid,
   16251         LCID lcid,
   16252         WORD wFlags,
   16253         DISPPARAMS *pDispParams,
   16254         VARIANT *pVarResult,
   16255         EXCEPINFO *pExcepInfo,
   16256         UINT *puArgErr);
   16257 
   16258     /*** ISpeechWaveFormatEx methods ***/
   16259     HRESULT (STDMETHODCALLTYPE *get_FormatTag)(
   16260         ISpeechWaveFormatEx* This,
   16261         short *FormatTag);
   16262 
   16263     HRESULT (STDMETHODCALLTYPE *put_FormatTag)(
   16264         ISpeechWaveFormatEx* This,
   16265         short FormatTag);
   16266 
   16267     HRESULT (STDMETHODCALLTYPE *get_Channels)(
   16268         ISpeechWaveFormatEx* This,
   16269         short *Channels);
   16270 
   16271     HRESULT (STDMETHODCALLTYPE *put_Channels)(
   16272         ISpeechWaveFormatEx* This,
   16273         short Channels);
   16274 
   16275     HRESULT (STDMETHODCALLTYPE *get_SamplesPerSec)(
   16276         ISpeechWaveFormatEx* This,
   16277         LONG *SamplesPerSec);
   16278 
   16279     HRESULT (STDMETHODCALLTYPE *put_SamplesPerSec)(
   16280         ISpeechWaveFormatEx* This,
   16281         LONG SamplesPerSec);
   16282 
   16283     HRESULT (STDMETHODCALLTYPE *get_AvgBytesPerSec)(
   16284         ISpeechWaveFormatEx* This,
   16285         LONG *AvgBytesPerSec);
   16286 
   16287     HRESULT (STDMETHODCALLTYPE *put_AvgBytesPerSec)(
   16288         ISpeechWaveFormatEx* This,
   16289         LONG AvgBytesPerSec);
   16290 
   16291     HRESULT (STDMETHODCALLTYPE *get_BlockAlign)(
   16292         ISpeechWaveFormatEx* This,
   16293         short *BlockAlign);
   16294 
   16295     HRESULT (STDMETHODCALLTYPE *put_BlockAlign)(
   16296         ISpeechWaveFormatEx* This,
   16297         short BlockAlign);
   16298 
   16299     HRESULT (STDMETHODCALLTYPE *get_BitsPerSample)(
   16300         ISpeechWaveFormatEx* This,
   16301         short *BitsPerSample);
   16302 
   16303     HRESULT (STDMETHODCALLTYPE *put_BitsPerSample)(
   16304         ISpeechWaveFormatEx* This,
   16305         short BitsPerSample);
   16306 
   16307     HRESULT (STDMETHODCALLTYPE *get_ExtraData)(
   16308         ISpeechWaveFormatEx* This,
   16309         VARIANT *ExtraData);
   16310 
   16311     HRESULT (STDMETHODCALLTYPE *put_ExtraData)(
   16312         ISpeechWaveFormatEx* This,
   16313         VARIANT ExtraData);
   16314 
   16315     END_INTERFACE
   16316 } ISpeechWaveFormatExVtbl;
   16317 interface ISpeechWaveFormatEx {
   16318     CONST_VTBL ISpeechWaveFormatExVtbl* lpVtbl;
   16319 };
   16320 
   16321 #ifdef COBJMACROS
   16322 #ifndef WIDL_C_INLINE_WRAPPERS
   16323 /*** IUnknown methods ***/
   16324 #define ISpeechWaveFormatEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16325 #define ISpeechWaveFormatEx_AddRef(This) (This)->lpVtbl->AddRef(This)
   16326 #define ISpeechWaveFormatEx_Release(This) (This)->lpVtbl->Release(This)
   16327 /*** IDispatch methods ***/
   16328 #define ISpeechWaveFormatEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   16329 #define ISpeechWaveFormatEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   16330 #define ISpeechWaveFormatEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   16331 #define ISpeechWaveFormatEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   16332 /*** ISpeechWaveFormatEx methods ***/
   16333 #define ISpeechWaveFormatEx_get_FormatTag(This,FormatTag) (This)->lpVtbl->get_FormatTag(This,FormatTag)
   16334 #define ISpeechWaveFormatEx_put_FormatTag(This,FormatTag) (This)->lpVtbl->put_FormatTag(This,FormatTag)
   16335 #define ISpeechWaveFormatEx_get_Channels(This,Channels) (This)->lpVtbl->get_Channels(This,Channels)
   16336 #define ISpeechWaveFormatEx_put_Channels(This,Channels) (This)->lpVtbl->put_Channels(This,Channels)
   16337 #define ISpeechWaveFormatEx_get_SamplesPerSec(This,SamplesPerSec) (This)->lpVtbl->get_SamplesPerSec(This,SamplesPerSec)
   16338 #define ISpeechWaveFormatEx_put_SamplesPerSec(This,SamplesPerSec) (This)->lpVtbl->put_SamplesPerSec(This,SamplesPerSec)
   16339 #define ISpeechWaveFormatEx_get_AvgBytesPerSec(This,AvgBytesPerSec) (This)->lpVtbl->get_AvgBytesPerSec(This,AvgBytesPerSec)
   16340 #define ISpeechWaveFormatEx_put_AvgBytesPerSec(This,AvgBytesPerSec) (This)->lpVtbl->put_AvgBytesPerSec(This,AvgBytesPerSec)
   16341 #define ISpeechWaveFormatEx_get_BlockAlign(This,BlockAlign) (This)->lpVtbl->get_BlockAlign(This,BlockAlign)
   16342 #define ISpeechWaveFormatEx_put_BlockAlign(This,BlockAlign) (This)->lpVtbl->put_BlockAlign(This,BlockAlign)
   16343 #define ISpeechWaveFormatEx_get_BitsPerSample(This,BitsPerSample) (This)->lpVtbl->get_BitsPerSample(This,BitsPerSample)
   16344 #define ISpeechWaveFormatEx_put_BitsPerSample(This,BitsPerSample) (This)->lpVtbl->put_BitsPerSample(This,BitsPerSample)
   16345 #define ISpeechWaveFormatEx_get_ExtraData(This,ExtraData) (This)->lpVtbl->get_ExtraData(This,ExtraData)
   16346 #define ISpeechWaveFormatEx_put_ExtraData(This,ExtraData) (This)->lpVtbl->put_ExtraData(This,ExtraData)
   16347 #else
   16348 /*** IUnknown methods ***/
   16349 static FORCEINLINE HRESULT ISpeechWaveFormatEx_QueryInterface(ISpeechWaveFormatEx* This,REFIID riid,void **ppvObject) {
   16350     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   16351 }
   16352 static FORCEINLINE ULONG ISpeechWaveFormatEx_AddRef(ISpeechWaveFormatEx* This) {
   16353     return This->lpVtbl->AddRef(This);
   16354 }
   16355 static FORCEINLINE ULONG ISpeechWaveFormatEx_Release(ISpeechWaveFormatEx* This) {
   16356     return This->lpVtbl->Release(This);
   16357 }
   16358 /*** IDispatch methods ***/
   16359 static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetTypeInfoCount(ISpeechWaveFormatEx* This,UINT *pctinfo) {
   16360     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   16361 }
   16362 static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetTypeInfo(ISpeechWaveFormatEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   16363     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   16364 }
   16365 static FORCEINLINE HRESULT ISpeechWaveFormatEx_GetIDsOfNames(ISpeechWaveFormatEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   16366     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   16367 }
   16368 static FORCEINLINE HRESULT ISpeechWaveFormatEx_Invoke(ISpeechWaveFormatEx* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   16369     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   16370 }
   16371 /*** ISpeechWaveFormatEx methods ***/
   16372 static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_FormatTag(ISpeechWaveFormatEx* This,short *FormatTag) {
   16373     return This->lpVtbl->get_FormatTag(This,FormatTag);
   16374 }
   16375 static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_FormatTag(ISpeechWaveFormatEx* This,short FormatTag) {
   16376     return This->lpVtbl->put_FormatTag(This,FormatTag);
   16377 }
   16378 static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_Channels(ISpeechWaveFormatEx* This,short *Channels) {
   16379     return This->lpVtbl->get_Channels(This,Channels);
   16380 }
   16381 static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_Channels(ISpeechWaveFormatEx* This,short Channels) {
   16382     return This->lpVtbl->put_Channels(This,Channels);
   16383 }
   16384 static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_SamplesPerSec(ISpeechWaveFormatEx* This,LONG *SamplesPerSec) {
   16385     return This->lpVtbl->get_SamplesPerSec(This,SamplesPerSec);
   16386 }
   16387 static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_SamplesPerSec(ISpeechWaveFormatEx* This,LONG SamplesPerSec) {
   16388     return This->lpVtbl->put_SamplesPerSec(This,SamplesPerSec);
   16389 }
   16390 static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_AvgBytesPerSec(ISpeechWaveFormatEx* This,LONG *AvgBytesPerSec) {
   16391     return This->lpVtbl->get_AvgBytesPerSec(This,AvgBytesPerSec);
   16392 }
   16393 static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_AvgBytesPerSec(ISpeechWaveFormatEx* This,LONG AvgBytesPerSec) {
   16394     return This->lpVtbl->put_AvgBytesPerSec(This,AvgBytesPerSec);
   16395 }
   16396 static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_BlockAlign(ISpeechWaveFormatEx* This,short *BlockAlign) {
   16397     return This->lpVtbl->get_BlockAlign(This,BlockAlign);
   16398 }
   16399 static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_BlockAlign(ISpeechWaveFormatEx* This,short BlockAlign) {
   16400     return This->lpVtbl->put_BlockAlign(This,BlockAlign);
   16401 }
   16402 static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_BitsPerSample(ISpeechWaveFormatEx* This,short *BitsPerSample) {
   16403     return This->lpVtbl->get_BitsPerSample(This,BitsPerSample);
   16404 }
   16405 static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_BitsPerSample(ISpeechWaveFormatEx* This,short BitsPerSample) {
   16406     return This->lpVtbl->put_BitsPerSample(This,BitsPerSample);
   16407 }
   16408 static FORCEINLINE HRESULT ISpeechWaveFormatEx_get_ExtraData(ISpeechWaveFormatEx* This,VARIANT *ExtraData) {
   16409     return This->lpVtbl->get_ExtraData(This,ExtraData);
   16410 }
   16411 static FORCEINLINE HRESULT ISpeechWaveFormatEx_put_ExtraData(ISpeechWaveFormatEx* This,VARIANT ExtraData) {
   16412     return This->lpVtbl->put_ExtraData(This,ExtraData);
   16413 }
   16414 #endif
   16415 #endif
   16416 
   16417 #endif
   16418 
   16419 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_FormatTag_Proxy(
   16420     ISpeechWaveFormatEx* This,
   16421     short *FormatTag);
   16422 void __RPC_STUB ISpeechWaveFormatEx_get_FormatTag_Stub(
   16423     IRpcStubBuffer* This,
   16424     IRpcChannelBuffer* pRpcChannelBuffer,
   16425     PRPC_MESSAGE pRpcMessage,
   16426     DWORD* pdwStubPhase);
   16427 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_FormatTag_Proxy(
   16428     ISpeechWaveFormatEx* This,
   16429     short FormatTag);
   16430 void __RPC_STUB ISpeechWaveFormatEx_put_FormatTag_Stub(
   16431     IRpcStubBuffer* This,
   16432     IRpcChannelBuffer* pRpcChannelBuffer,
   16433     PRPC_MESSAGE pRpcMessage,
   16434     DWORD* pdwStubPhase);
   16435 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_Channels_Proxy(
   16436     ISpeechWaveFormatEx* This,
   16437     short *Channels);
   16438 void __RPC_STUB ISpeechWaveFormatEx_get_Channels_Stub(
   16439     IRpcStubBuffer* This,
   16440     IRpcChannelBuffer* pRpcChannelBuffer,
   16441     PRPC_MESSAGE pRpcMessage,
   16442     DWORD* pdwStubPhase);
   16443 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_Channels_Proxy(
   16444     ISpeechWaveFormatEx* This,
   16445     short Channels);
   16446 void __RPC_STUB ISpeechWaveFormatEx_put_Channels_Stub(
   16447     IRpcStubBuffer* This,
   16448     IRpcChannelBuffer* pRpcChannelBuffer,
   16449     PRPC_MESSAGE pRpcMessage,
   16450     DWORD* pdwStubPhase);
   16451 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_SamplesPerSec_Proxy(
   16452     ISpeechWaveFormatEx* This,
   16453     LONG *SamplesPerSec);
   16454 void __RPC_STUB ISpeechWaveFormatEx_get_SamplesPerSec_Stub(
   16455     IRpcStubBuffer* This,
   16456     IRpcChannelBuffer* pRpcChannelBuffer,
   16457     PRPC_MESSAGE pRpcMessage,
   16458     DWORD* pdwStubPhase);
   16459 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_SamplesPerSec_Proxy(
   16460     ISpeechWaveFormatEx* This,
   16461     LONG SamplesPerSec);
   16462 void __RPC_STUB ISpeechWaveFormatEx_put_SamplesPerSec_Stub(
   16463     IRpcStubBuffer* This,
   16464     IRpcChannelBuffer* pRpcChannelBuffer,
   16465     PRPC_MESSAGE pRpcMessage,
   16466     DWORD* pdwStubPhase);
   16467 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_AvgBytesPerSec_Proxy(
   16468     ISpeechWaveFormatEx* This,
   16469     LONG *AvgBytesPerSec);
   16470 void __RPC_STUB ISpeechWaveFormatEx_get_AvgBytesPerSec_Stub(
   16471     IRpcStubBuffer* This,
   16472     IRpcChannelBuffer* pRpcChannelBuffer,
   16473     PRPC_MESSAGE pRpcMessage,
   16474     DWORD* pdwStubPhase);
   16475 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_AvgBytesPerSec_Proxy(
   16476     ISpeechWaveFormatEx* This,
   16477     LONG AvgBytesPerSec);
   16478 void __RPC_STUB ISpeechWaveFormatEx_put_AvgBytesPerSec_Stub(
   16479     IRpcStubBuffer* This,
   16480     IRpcChannelBuffer* pRpcChannelBuffer,
   16481     PRPC_MESSAGE pRpcMessage,
   16482     DWORD* pdwStubPhase);
   16483 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_BlockAlign_Proxy(
   16484     ISpeechWaveFormatEx* This,
   16485     short *BlockAlign);
   16486 void __RPC_STUB ISpeechWaveFormatEx_get_BlockAlign_Stub(
   16487     IRpcStubBuffer* This,
   16488     IRpcChannelBuffer* pRpcChannelBuffer,
   16489     PRPC_MESSAGE pRpcMessage,
   16490     DWORD* pdwStubPhase);
   16491 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_BlockAlign_Proxy(
   16492     ISpeechWaveFormatEx* This,
   16493     short BlockAlign);
   16494 void __RPC_STUB ISpeechWaveFormatEx_put_BlockAlign_Stub(
   16495     IRpcStubBuffer* This,
   16496     IRpcChannelBuffer* pRpcChannelBuffer,
   16497     PRPC_MESSAGE pRpcMessage,
   16498     DWORD* pdwStubPhase);
   16499 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_BitsPerSample_Proxy(
   16500     ISpeechWaveFormatEx* This,
   16501     short *BitsPerSample);
   16502 void __RPC_STUB ISpeechWaveFormatEx_get_BitsPerSample_Stub(
   16503     IRpcStubBuffer* This,
   16504     IRpcChannelBuffer* pRpcChannelBuffer,
   16505     PRPC_MESSAGE pRpcMessage,
   16506     DWORD* pdwStubPhase);
   16507 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_BitsPerSample_Proxy(
   16508     ISpeechWaveFormatEx* This,
   16509     short BitsPerSample);
   16510 void __RPC_STUB ISpeechWaveFormatEx_put_BitsPerSample_Stub(
   16511     IRpcStubBuffer* This,
   16512     IRpcChannelBuffer* pRpcChannelBuffer,
   16513     PRPC_MESSAGE pRpcMessage,
   16514     DWORD* pdwStubPhase);
   16515 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_ExtraData_Proxy(
   16516     ISpeechWaveFormatEx* This,
   16517     VARIANT *ExtraData);
   16518 void __RPC_STUB ISpeechWaveFormatEx_get_ExtraData_Stub(
   16519     IRpcStubBuffer* This,
   16520     IRpcChannelBuffer* pRpcChannelBuffer,
   16521     PRPC_MESSAGE pRpcMessage,
   16522     DWORD* pdwStubPhase);
   16523 HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_ExtraData_Proxy(
   16524     ISpeechWaveFormatEx* This,
   16525     VARIANT ExtraData);
   16526 void __RPC_STUB ISpeechWaveFormatEx_put_ExtraData_Stub(
   16527     IRpcStubBuffer* This,
   16528     IRpcChannelBuffer* pRpcChannelBuffer,
   16529     PRPC_MESSAGE pRpcMessage,
   16530     DWORD* pdwStubPhase);
   16531 
   16532 #endif  /* __ISpeechWaveFormatEx_INTERFACE_DEFINED__ */
   16533 
   16534 /*****************************************************************************
   16535  * ISpeechVoice interface
   16536  */
   16537 #ifndef __ISpeechVoice_INTERFACE_DEFINED__
   16538 #define __ISpeechVoice_INTERFACE_DEFINED__
   16539 
   16540 DEFINE_GUID(IID_ISpeechVoice, 0x269316d8, 0x57bd, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96);
   16541 #if defined(__cplusplus) && !defined(CINTERFACE)
   16542 MIDL_INTERFACE("269316d8-57bd-11d2-9eee-00c04f797396")
   16543 ISpeechVoice : public IDispatch
   16544 {
   16545     virtual HRESULT STDMETHODCALLTYPE get_Status(
   16546         ISpeechVoiceStatus **Status) = 0;
   16547 
   16548     virtual HRESULT STDMETHODCALLTYPE get_Voice(
   16549         ISpeechObjectToken **Voice) = 0;
   16550 
   16551     virtual HRESULT STDMETHODCALLTYPE putref_Voice(
   16552         ISpeechObjectToken *Voice) = 0;
   16553 
   16554     virtual HRESULT STDMETHODCALLTYPE get_AudioOutput(
   16555         ISpeechObjectToken **AudioOutput) = 0;
   16556 
   16557     virtual HRESULT STDMETHODCALLTYPE putref_AudioOutput(
   16558         ISpeechObjectToken *AudioOutput) = 0;
   16559 
   16560     virtual HRESULT STDMETHODCALLTYPE get_AudioOutputStream(
   16561         ISpeechBaseStream **AudioOutputStream) = 0;
   16562 
   16563     virtual HRESULT STDMETHODCALLTYPE putref_AudioOutputStream(
   16564         ISpeechBaseStream *AudioOutputStream) = 0;
   16565 
   16566     virtual HRESULT STDMETHODCALLTYPE get_Rate(
   16567         LONG *Rate) = 0;
   16568 
   16569     virtual HRESULT STDMETHODCALLTYPE put_Rate(
   16570         LONG Rate) = 0;
   16571 
   16572     virtual HRESULT STDMETHODCALLTYPE get_Volume(
   16573         LONG *Volume) = 0;
   16574 
   16575     virtual HRESULT STDMETHODCALLTYPE put_Volume(
   16576         LONG Volume) = 0;
   16577 
   16578     virtual HRESULT STDMETHODCALLTYPE put_AllowAudioOutputFormatChangesOnNextSet(
   16579         VARIANT_BOOL Allow) = 0;
   16580 
   16581     virtual HRESULT STDMETHODCALLTYPE get_AllowAudioOutputFormatChangesOnNextSet(
   16582         VARIANT_BOOL *Allow) = 0;
   16583 
   16584     virtual HRESULT STDMETHODCALLTYPE get_EventInterests(
   16585         SpeechVoiceEvents *EventInterestFlags) = 0;
   16586 
   16587     virtual HRESULT STDMETHODCALLTYPE put_EventInterests(
   16588         SpeechVoiceEvents EventInterestFlags) = 0;
   16589 
   16590     virtual HRESULT STDMETHODCALLTYPE put_Priority(
   16591         SpeechVoicePriority Priority) = 0;
   16592 
   16593     virtual HRESULT STDMETHODCALLTYPE get_Priority(
   16594         SpeechVoicePriority *Priority) = 0;
   16595 
   16596     virtual HRESULT STDMETHODCALLTYPE put_AlertBoundary(
   16597         SpeechVoiceEvents Boundary) = 0;
   16598 
   16599     virtual HRESULT STDMETHODCALLTYPE get_AlertBoundary(
   16600         SpeechVoiceEvents *Boundary) = 0;
   16601 
   16602     virtual HRESULT STDMETHODCALLTYPE put_SynchronousSpeakTimeout(
   16603         LONG msTimeout) = 0;
   16604 
   16605     virtual HRESULT STDMETHODCALLTYPE get_SynchronousSpeakTimeout(
   16606         LONG *msTimeout) = 0;
   16607 
   16608     virtual HRESULT STDMETHODCALLTYPE Speak(
   16609         BSTR Text,
   16610         SpeechVoiceSpeakFlags Flags,
   16611         LONG *StreamNumber) = 0;
   16612 
   16613     virtual HRESULT STDMETHODCALLTYPE SpeakStream(
   16614         ISpeechBaseStream *Stream,
   16615         SpeechVoiceSpeakFlags Flags,
   16616         LONG *StreamNumber) = 0;
   16617 
   16618     virtual HRESULT STDMETHODCALLTYPE Pause(
   16619         ) = 0;
   16620 
   16621     virtual HRESULT STDMETHODCALLTYPE Resume(
   16622         ) = 0;
   16623 
   16624     virtual HRESULT STDMETHODCALLTYPE Skip(
   16625         const BSTR Type,
   16626         LONG NumItems,
   16627         LONG *NumSkipped) = 0;
   16628 
   16629     virtual HRESULT STDMETHODCALLTYPE GetVoices(
   16630         BSTR RequiredAttributes,
   16631         BSTR OptionalAttributes,
   16632         ISpeechObjectTokens **ObjectTokens) = 0;
   16633 
   16634     virtual HRESULT STDMETHODCALLTYPE GetAudioOutputs(
   16635         BSTR RequiredAttributes,
   16636         BSTR OptionalAttributes,
   16637         ISpeechObjectTokens **ObjectTokens) = 0;
   16638 
   16639     virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
   16640         LONG msTimeout,
   16641         VARIANT_BOOL *Done) = 0;
   16642 
   16643     virtual HRESULT STDMETHODCALLTYPE SpeakCompleteEvent(
   16644         LONG *Handle) = 0;
   16645 
   16646     virtual HRESULT STDMETHODCALLTYPE IsUISupported(
   16647         const BSTR TypeOfUI,
   16648         const VARIANT *ExtraData,
   16649         VARIANT_BOOL *Supported) = 0;
   16650 
   16651     virtual HRESULT STDMETHODCALLTYPE DisplayUI(
   16652         LONG hWndParent,
   16653         BSTR Title,
   16654         const BSTR TypeOfUI,
   16655         const VARIANT *ExtraData = 0) = 0;
   16656 
   16657 };
   16658 #ifdef __CRT_UUID_DECL
   16659 __CRT_UUID_DECL(ISpeechVoice, 0x269316d8, 0x57bd, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96)
   16660 #endif
   16661 #else
   16662 typedef struct ISpeechVoiceVtbl {
   16663     BEGIN_INTERFACE
   16664 
   16665     /*** IUnknown methods ***/
   16666     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   16667         ISpeechVoice* This,
   16668         REFIID riid,
   16669         void **ppvObject);
   16670 
   16671     ULONG (STDMETHODCALLTYPE *AddRef)(
   16672         ISpeechVoice* This);
   16673 
   16674     ULONG (STDMETHODCALLTYPE *Release)(
   16675         ISpeechVoice* This);
   16676 
   16677     /*** IDispatch methods ***/
   16678     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   16679         ISpeechVoice* This,
   16680         UINT *pctinfo);
   16681 
   16682     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   16683         ISpeechVoice* This,
   16684         UINT iTInfo,
   16685         LCID lcid,
   16686         ITypeInfo **ppTInfo);
   16687 
   16688     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   16689         ISpeechVoice* This,
   16690         REFIID riid,
   16691         LPOLESTR *rgszNames,
   16692         UINT cNames,
   16693         LCID lcid,
   16694         DISPID *rgDispId);
   16695 
   16696     HRESULT (STDMETHODCALLTYPE *Invoke)(
   16697         ISpeechVoice* This,
   16698         DISPID dispIdMember,
   16699         REFIID riid,
   16700         LCID lcid,
   16701         WORD wFlags,
   16702         DISPPARAMS *pDispParams,
   16703         VARIANT *pVarResult,
   16704         EXCEPINFO *pExcepInfo,
   16705         UINT *puArgErr);
   16706 
   16707     /*** ISpeechVoice methods ***/
   16708     HRESULT (STDMETHODCALLTYPE *get_Status)(
   16709         ISpeechVoice* This,
   16710         ISpeechVoiceStatus **Status);
   16711 
   16712     HRESULT (STDMETHODCALLTYPE *get_Voice)(
   16713         ISpeechVoice* This,
   16714         ISpeechObjectToken **Voice);
   16715 
   16716     HRESULT (STDMETHODCALLTYPE *putref_Voice)(
   16717         ISpeechVoice* This,
   16718         ISpeechObjectToken *Voice);
   16719 
   16720     HRESULT (STDMETHODCALLTYPE *get_AudioOutput)(
   16721         ISpeechVoice* This,
   16722         ISpeechObjectToken **AudioOutput);
   16723 
   16724     HRESULT (STDMETHODCALLTYPE *putref_AudioOutput)(
   16725         ISpeechVoice* This,
   16726         ISpeechObjectToken *AudioOutput);
   16727 
   16728     HRESULT (STDMETHODCALLTYPE *get_AudioOutputStream)(
   16729         ISpeechVoice* This,
   16730         ISpeechBaseStream **AudioOutputStream);
   16731 
   16732     HRESULT (STDMETHODCALLTYPE *putref_AudioOutputStream)(
   16733         ISpeechVoice* This,
   16734         ISpeechBaseStream *AudioOutputStream);
   16735 
   16736     HRESULT (STDMETHODCALLTYPE *get_Rate)(
   16737         ISpeechVoice* This,
   16738         LONG *Rate);
   16739 
   16740     HRESULT (STDMETHODCALLTYPE *put_Rate)(
   16741         ISpeechVoice* This,
   16742         LONG Rate);
   16743 
   16744     HRESULT (STDMETHODCALLTYPE *get_Volume)(
   16745         ISpeechVoice* This,
   16746         LONG *Volume);
   16747 
   16748     HRESULT (STDMETHODCALLTYPE *put_Volume)(
   16749         ISpeechVoice* This,
   16750         LONG Volume);
   16751 
   16752     HRESULT (STDMETHODCALLTYPE *put_AllowAudioOutputFormatChangesOnNextSet)(
   16753         ISpeechVoice* This,
   16754         VARIANT_BOOL Allow);
   16755 
   16756     HRESULT (STDMETHODCALLTYPE *get_AllowAudioOutputFormatChangesOnNextSet)(
   16757         ISpeechVoice* This,
   16758         VARIANT_BOOL *Allow);
   16759 
   16760     HRESULT (STDMETHODCALLTYPE *get_EventInterests)(
   16761         ISpeechVoice* This,
   16762         SpeechVoiceEvents *EventInterestFlags);
   16763 
   16764     HRESULT (STDMETHODCALLTYPE *put_EventInterests)(
   16765         ISpeechVoice* This,
   16766         SpeechVoiceEvents EventInterestFlags);
   16767 
   16768     HRESULT (STDMETHODCALLTYPE *put_Priority)(
   16769         ISpeechVoice* This,
   16770         SpeechVoicePriority Priority);
   16771 
   16772     HRESULT (STDMETHODCALLTYPE *get_Priority)(
   16773         ISpeechVoice* This,
   16774         SpeechVoicePriority *Priority);
   16775 
   16776     HRESULT (STDMETHODCALLTYPE *put_AlertBoundary)(
   16777         ISpeechVoice* This,
   16778         SpeechVoiceEvents Boundary);
   16779 
   16780     HRESULT (STDMETHODCALLTYPE *get_AlertBoundary)(
   16781         ISpeechVoice* This,
   16782         SpeechVoiceEvents *Boundary);
   16783 
   16784     HRESULT (STDMETHODCALLTYPE *put_SynchronousSpeakTimeout)(
   16785         ISpeechVoice* This,
   16786         LONG msTimeout);
   16787 
   16788     HRESULT (STDMETHODCALLTYPE *get_SynchronousSpeakTimeout)(
   16789         ISpeechVoice* This,
   16790         LONG *msTimeout);
   16791 
   16792     HRESULT (STDMETHODCALLTYPE *Speak)(
   16793         ISpeechVoice* This,
   16794         BSTR Text,
   16795         SpeechVoiceSpeakFlags Flags,
   16796         LONG *StreamNumber);
   16797 
   16798     HRESULT (STDMETHODCALLTYPE *SpeakStream)(
   16799         ISpeechVoice* This,
   16800         ISpeechBaseStream *Stream,
   16801         SpeechVoiceSpeakFlags Flags,
   16802         LONG *StreamNumber);
   16803 
   16804     HRESULT (STDMETHODCALLTYPE *Pause)(
   16805         ISpeechVoice* This);
   16806 
   16807     HRESULT (STDMETHODCALLTYPE *Resume)(
   16808         ISpeechVoice* This);
   16809 
   16810     HRESULT (STDMETHODCALLTYPE *Skip)(
   16811         ISpeechVoice* This,
   16812         const BSTR Type,
   16813         LONG NumItems,
   16814         LONG *NumSkipped);
   16815 
   16816     HRESULT (STDMETHODCALLTYPE *GetVoices)(
   16817         ISpeechVoice* This,
   16818         BSTR RequiredAttributes,
   16819         BSTR OptionalAttributes,
   16820         ISpeechObjectTokens **ObjectTokens);
   16821 
   16822     HRESULT (STDMETHODCALLTYPE *GetAudioOutputs)(
   16823         ISpeechVoice* This,
   16824         BSTR RequiredAttributes,
   16825         BSTR OptionalAttributes,
   16826         ISpeechObjectTokens **ObjectTokens);
   16827 
   16828     HRESULT (STDMETHODCALLTYPE *WaitUntilDone)(
   16829         ISpeechVoice* This,
   16830         LONG msTimeout,
   16831         VARIANT_BOOL *Done);
   16832 
   16833     HRESULT (STDMETHODCALLTYPE *SpeakCompleteEvent)(
   16834         ISpeechVoice* This,
   16835         LONG *Handle);
   16836 
   16837     HRESULT (STDMETHODCALLTYPE *IsUISupported)(
   16838         ISpeechVoice* This,
   16839         const BSTR TypeOfUI,
   16840         const VARIANT *ExtraData,
   16841         VARIANT_BOOL *Supported);
   16842 
   16843     HRESULT (STDMETHODCALLTYPE *DisplayUI)(
   16844         ISpeechVoice* This,
   16845         LONG hWndParent,
   16846         BSTR Title,
   16847         const BSTR TypeOfUI,
   16848         const VARIANT *ExtraData);
   16849 
   16850     END_INTERFACE
   16851 } ISpeechVoiceVtbl;
   16852 interface ISpeechVoice {
   16853     CONST_VTBL ISpeechVoiceVtbl* lpVtbl;
   16854 };
   16855 
   16856 #ifdef COBJMACROS
   16857 #ifndef WIDL_C_INLINE_WRAPPERS
   16858 /*** IUnknown methods ***/
   16859 #define ISpeechVoice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   16860 #define ISpeechVoice_AddRef(This) (This)->lpVtbl->AddRef(This)
   16861 #define ISpeechVoice_Release(This) (This)->lpVtbl->Release(This)
   16862 /*** IDispatch methods ***/
   16863 #define ISpeechVoice_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   16864 #define ISpeechVoice_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   16865 #define ISpeechVoice_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   16866 #define ISpeechVoice_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   16867 /*** ISpeechVoice methods ***/
   16868 #define ISpeechVoice_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
   16869 #define ISpeechVoice_get_Voice(This,Voice) (This)->lpVtbl->get_Voice(This,Voice)
   16870 #define ISpeechVoice_putref_Voice(This,Voice) (This)->lpVtbl->putref_Voice(This,Voice)
   16871 #define ISpeechVoice_get_AudioOutput(This,AudioOutput) (This)->lpVtbl->get_AudioOutput(This,AudioOutput)
   16872 #define ISpeechVoice_putref_AudioOutput(This,AudioOutput) (This)->lpVtbl->putref_AudioOutput(This,AudioOutput)
   16873 #define ISpeechVoice_get_AudioOutputStream(This,AudioOutputStream) (This)->lpVtbl->get_AudioOutputStream(This,AudioOutputStream)
   16874 #define ISpeechVoice_putref_AudioOutputStream(This,AudioOutputStream) (This)->lpVtbl->putref_AudioOutputStream(This,AudioOutputStream)
   16875 #define ISpeechVoice_get_Rate(This,Rate) (This)->lpVtbl->get_Rate(This,Rate)
   16876 #define ISpeechVoice_put_Rate(This,Rate) (This)->lpVtbl->put_Rate(This,Rate)
   16877 #define ISpeechVoice_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
   16878 #define ISpeechVoice_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
   16879 #define ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->put_AllowAudioOutputFormatChangesOnNextSet(This,Allow)
   16880 #define ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->get_AllowAudioOutputFormatChangesOnNextSet(This,Allow)
   16881 #define ISpeechVoice_get_EventInterests(This,EventInterestFlags) (This)->lpVtbl->get_EventInterests(This,EventInterestFlags)
   16882 #define ISpeechVoice_put_EventInterests(This,EventInterestFlags) (This)->lpVtbl->put_EventInterests(This,EventInterestFlags)
   16883 #define ISpeechVoice_put_Priority(This,Priority) (This)->lpVtbl->put_Priority(This,Priority)
   16884 #define ISpeechVoice_get_Priority(This,Priority) (This)->lpVtbl->get_Priority(This,Priority)
   16885 #define ISpeechVoice_put_AlertBoundary(This,Boundary) (This)->lpVtbl->put_AlertBoundary(This,Boundary)
   16886 #define ISpeechVoice_get_AlertBoundary(This,Boundary) (This)->lpVtbl->get_AlertBoundary(This,Boundary)
   16887 #define ISpeechVoice_put_SynchronousSpeakTimeout(This,msTimeout) (This)->lpVtbl->put_SynchronousSpeakTimeout(This,msTimeout)
   16888 #define ISpeechVoice_get_SynchronousSpeakTimeout(This,msTimeout) (This)->lpVtbl->get_SynchronousSpeakTimeout(This,msTimeout)
   16889 #define ISpeechVoice_Speak(This,Text,Flags,StreamNumber) (This)->lpVtbl->Speak(This,Text,Flags,StreamNumber)
   16890 #define ISpeechVoice_SpeakStream(This,Stream,Flags,StreamNumber) (This)->lpVtbl->SpeakStream(This,Stream,Flags,StreamNumber)
   16891 #define ISpeechVoice_Pause(This) (This)->lpVtbl->Pause(This)
   16892 #define ISpeechVoice_Resume(This) (This)->lpVtbl->Resume(This)
   16893 #define ISpeechVoice_Skip(This,Type,NumItems,NumSkipped) (This)->lpVtbl->Skip(This,Type,NumItems,NumSkipped)
   16894 #define ISpeechVoice_GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
   16895 #define ISpeechVoice_GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
   16896 #define ISpeechVoice_WaitUntilDone(This,msTimeout,Done) (This)->lpVtbl->WaitUntilDone(This,msTimeout,Done)
   16897 #define ISpeechVoice_SpeakCompleteEvent(This,Handle) (This)->lpVtbl->SpeakCompleteEvent(This,Handle)
   16898 #define ISpeechVoice_IsUISupported(This,TypeOfUI,ExtraData,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported)
   16899 #define ISpeechVoice_DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData) (This)->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)
   16900 #else
   16901 /*** IUnknown methods ***/
   16902 static FORCEINLINE HRESULT ISpeechVoice_QueryInterface(ISpeechVoice* This,REFIID riid,void **ppvObject) {
   16903     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   16904 }
   16905 static FORCEINLINE ULONG ISpeechVoice_AddRef(ISpeechVoice* This) {
   16906     return This->lpVtbl->AddRef(This);
   16907 }
   16908 static FORCEINLINE ULONG ISpeechVoice_Release(ISpeechVoice* This) {
   16909     return This->lpVtbl->Release(This);
   16910 }
   16911 /*** IDispatch methods ***/
   16912 static FORCEINLINE HRESULT ISpeechVoice_GetTypeInfoCount(ISpeechVoice* This,UINT *pctinfo) {
   16913     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   16914 }
   16915 static FORCEINLINE HRESULT ISpeechVoice_GetTypeInfo(ISpeechVoice* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   16916     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   16917 }
   16918 static FORCEINLINE HRESULT ISpeechVoice_GetIDsOfNames(ISpeechVoice* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   16919     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   16920 }
   16921 static FORCEINLINE HRESULT ISpeechVoice_Invoke(ISpeechVoice* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   16922     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   16923 }
   16924 /*** ISpeechVoice methods ***/
   16925 static FORCEINLINE HRESULT ISpeechVoice_get_Status(ISpeechVoice* This,ISpeechVoiceStatus **Status) {
   16926     return This->lpVtbl->get_Status(This,Status);
   16927 }
   16928 static FORCEINLINE HRESULT ISpeechVoice_get_Voice(ISpeechVoice* This,ISpeechObjectToken **Voice) {
   16929     return This->lpVtbl->get_Voice(This,Voice);
   16930 }
   16931 static FORCEINLINE HRESULT ISpeechVoice_putref_Voice(ISpeechVoice* This,ISpeechObjectToken *Voice) {
   16932     return This->lpVtbl->putref_Voice(This,Voice);
   16933 }
   16934 static FORCEINLINE HRESULT ISpeechVoice_get_AudioOutput(ISpeechVoice* This,ISpeechObjectToken **AudioOutput) {
   16935     return This->lpVtbl->get_AudioOutput(This,AudioOutput);
   16936 }
   16937 static FORCEINLINE HRESULT ISpeechVoice_putref_AudioOutput(ISpeechVoice* This,ISpeechObjectToken *AudioOutput) {
   16938     return This->lpVtbl->putref_AudioOutput(This,AudioOutput);
   16939 }
   16940 static FORCEINLINE HRESULT ISpeechVoice_get_AudioOutputStream(ISpeechVoice* This,ISpeechBaseStream **AudioOutputStream) {
   16941     return This->lpVtbl->get_AudioOutputStream(This,AudioOutputStream);
   16942 }
   16943 static FORCEINLINE HRESULT ISpeechVoice_putref_AudioOutputStream(ISpeechVoice* This,ISpeechBaseStream *AudioOutputStream) {
   16944     return This->lpVtbl->putref_AudioOutputStream(This,AudioOutputStream);
   16945 }
   16946 static FORCEINLINE HRESULT ISpeechVoice_get_Rate(ISpeechVoice* This,LONG *Rate) {
   16947     return This->lpVtbl->get_Rate(This,Rate);
   16948 }
   16949 static FORCEINLINE HRESULT ISpeechVoice_put_Rate(ISpeechVoice* This,LONG Rate) {
   16950     return This->lpVtbl->put_Rate(This,Rate);
   16951 }
   16952 static FORCEINLINE HRESULT ISpeechVoice_get_Volume(ISpeechVoice* This,LONG *Volume) {
   16953     return This->lpVtbl->get_Volume(This,Volume);
   16954 }
   16955 static FORCEINLINE HRESULT ISpeechVoice_put_Volume(ISpeechVoice* This,LONG Volume) {
   16956     return This->lpVtbl->put_Volume(This,Volume);
   16957 }
   16958 static FORCEINLINE HRESULT ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet(ISpeechVoice* This,VARIANT_BOOL Allow) {
   16959     return This->lpVtbl->put_AllowAudioOutputFormatChangesOnNextSet(This,Allow);
   16960 }
   16961 static FORCEINLINE HRESULT ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet(ISpeechVoice* This,VARIANT_BOOL *Allow) {
   16962     return This->lpVtbl->get_AllowAudioOutputFormatChangesOnNextSet(This,Allow);
   16963 }
   16964 static FORCEINLINE HRESULT ISpeechVoice_get_EventInterests(ISpeechVoice* This,SpeechVoiceEvents *EventInterestFlags) {
   16965     return This->lpVtbl->get_EventInterests(This,EventInterestFlags);
   16966 }
   16967 static FORCEINLINE HRESULT ISpeechVoice_put_EventInterests(ISpeechVoice* This,SpeechVoiceEvents EventInterestFlags) {
   16968     return This->lpVtbl->put_EventInterests(This,EventInterestFlags);
   16969 }
   16970 static FORCEINLINE HRESULT ISpeechVoice_put_Priority(ISpeechVoice* This,SpeechVoicePriority Priority) {
   16971     return This->lpVtbl->put_Priority(This,Priority);
   16972 }
   16973 static FORCEINLINE HRESULT ISpeechVoice_get_Priority(ISpeechVoice* This,SpeechVoicePriority *Priority) {
   16974     return This->lpVtbl->get_Priority(This,Priority);
   16975 }
   16976 static FORCEINLINE HRESULT ISpeechVoice_put_AlertBoundary(ISpeechVoice* This,SpeechVoiceEvents Boundary) {
   16977     return This->lpVtbl->put_AlertBoundary(This,Boundary);
   16978 }
   16979 static FORCEINLINE HRESULT ISpeechVoice_get_AlertBoundary(ISpeechVoice* This,SpeechVoiceEvents *Boundary) {
   16980     return This->lpVtbl->get_AlertBoundary(This,Boundary);
   16981 }
   16982 static FORCEINLINE HRESULT ISpeechVoice_put_SynchronousSpeakTimeout(ISpeechVoice* This,LONG msTimeout) {
   16983     return This->lpVtbl->put_SynchronousSpeakTimeout(This,msTimeout);
   16984 }
   16985 static FORCEINLINE HRESULT ISpeechVoice_get_SynchronousSpeakTimeout(ISpeechVoice* This,LONG *msTimeout) {
   16986     return This->lpVtbl->get_SynchronousSpeakTimeout(This,msTimeout);
   16987 }
   16988 static FORCEINLINE HRESULT ISpeechVoice_Speak(ISpeechVoice* This,BSTR Text,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
   16989     return This->lpVtbl->Speak(This,Text,Flags,StreamNumber);
   16990 }
   16991 static FORCEINLINE HRESULT ISpeechVoice_SpeakStream(ISpeechVoice* This,ISpeechBaseStream *Stream,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
   16992     return This->lpVtbl->SpeakStream(This,Stream,Flags,StreamNumber);
   16993 }
   16994 static FORCEINLINE HRESULT ISpeechVoice_Pause(ISpeechVoice* This) {
   16995     return This->lpVtbl->Pause(This);
   16996 }
   16997 static FORCEINLINE HRESULT ISpeechVoice_Resume(ISpeechVoice* This) {
   16998     return This->lpVtbl->Resume(This);
   16999 }
   17000 static FORCEINLINE HRESULT ISpeechVoice_Skip(ISpeechVoice* This,const BSTR Type,LONG NumItems,LONG *NumSkipped) {
   17001     return This->lpVtbl->Skip(This,Type,NumItems,NumSkipped);
   17002 }
   17003 static FORCEINLINE HRESULT ISpeechVoice_GetVoices(ISpeechVoice* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
   17004     return This->lpVtbl->GetVoices(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
   17005 }
   17006 static FORCEINLINE HRESULT ISpeechVoice_GetAudioOutputs(ISpeechVoice* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
   17007     return This->lpVtbl->GetAudioOutputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
   17008 }
   17009 static FORCEINLINE HRESULT ISpeechVoice_WaitUntilDone(ISpeechVoice* This,LONG msTimeout,VARIANT_BOOL *Done) {
   17010     return This->lpVtbl->WaitUntilDone(This,msTimeout,Done);
   17011 }
   17012 static FORCEINLINE HRESULT ISpeechVoice_SpeakCompleteEvent(ISpeechVoice* This,LONG *Handle) {
   17013     return This->lpVtbl->SpeakCompleteEvent(This,Handle);
   17014 }
   17015 static FORCEINLINE HRESULT ISpeechVoice_IsUISupported(ISpeechVoice* This,const BSTR TypeOfUI,const VARIANT *ExtraData,VARIANT_BOOL *Supported) {
   17016     return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported);
   17017 }
   17018 static FORCEINLINE HRESULT ISpeechVoice_DisplayUI(ISpeechVoice* This,LONG hWndParent,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData) {
   17019     return This->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData);
   17020 }
   17021 #endif
   17022 #endif
   17023 
   17024 #endif
   17025 
   17026 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Status_Proxy(
   17027     ISpeechVoice* This,
   17028     ISpeechVoiceStatus **Status);
   17029 void __RPC_STUB ISpeechVoice_get_Status_Stub(
   17030     IRpcStubBuffer* This,
   17031     IRpcChannelBuffer* pRpcChannelBuffer,
   17032     PRPC_MESSAGE pRpcMessage,
   17033     DWORD* pdwStubPhase);
   17034 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Voice_Proxy(
   17035     ISpeechVoice* This,
   17036     ISpeechObjectToken **Voice);
   17037 void __RPC_STUB ISpeechVoice_get_Voice_Stub(
   17038     IRpcStubBuffer* This,
   17039     IRpcChannelBuffer* pRpcChannelBuffer,
   17040     PRPC_MESSAGE pRpcMessage,
   17041     DWORD* pdwStubPhase);
   17042 HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_Voice_Proxy(
   17043     ISpeechVoice* This,
   17044     ISpeechObjectToken *Voice);
   17045 void __RPC_STUB ISpeechVoice_putref_Voice_Stub(
   17046     IRpcStubBuffer* This,
   17047     IRpcChannelBuffer* pRpcChannelBuffer,
   17048     PRPC_MESSAGE pRpcMessage,
   17049     DWORD* pdwStubPhase);
   17050 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AudioOutput_Proxy(
   17051     ISpeechVoice* This,
   17052     ISpeechObjectToken **AudioOutput);
   17053 void __RPC_STUB ISpeechVoice_get_AudioOutput_Stub(
   17054     IRpcStubBuffer* This,
   17055     IRpcChannelBuffer* pRpcChannelBuffer,
   17056     PRPC_MESSAGE pRpcMessage,
   17057     DWORD* pdwStubPhase);
   17058 HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_AudioOutput_Proxy(
   17059     ISpeechVoice* This,
   17060     ISpeechObjectToken *AudioOutput);
   17061 void __RPC_STUB ISpeechVoice_putref_AudioOutput_Stub(
   17062     IRpcStubBuffer* This,
   17063     IRpcChannelBuffer* pRpcChannelBuffer,
   17064     PRPC_MESSAGE pRpcMessage,
   17065     DWORD* pdwStubPhase);
   17066 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AudioOutputStream_Proxy(
   17067     ISpeechVoice* This,
   17068     ISpeechBaseStream **AudioOutputStream);
   17069 void __RPC_STUB ISpeechVoice_get_AudioOutputStream_Stub(
   17070     IRpcStubBuffer* This,
   17071     IRpcChannelBuffer* pRpcChannelBuffer,
   17072     PRPC_MESSAGE pRpcMessage,
   17073     DWORD* pdwStubPhase);
   17074 HRESULT STDMETHODCALLTYPE ISpeechVoice_putref_AudioOutputStream_Proxy(
   17075     ISpeechVoice* This,
   17076     ISpeechBaseStream *AudioOutputStream);
   17077 void __RPC_STUB ISpeechVoice_putref_AudioOutputStream_Stub(
   17078     IRpcStubBuffer* This,
   17079     IRpcChannelBuffer* pRpcChannelBuffer,
   17080     PRPC_MESSAGE pRpcMessage,
   17081     DWORD* pdwStubPhase);
   17082 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Rate_Proxy(
   17083     ISpeechVoice* This,
   17084     LONG *Rate);
   17085 void __RPC_STUB ISpeechVoice_get_Rate_Stub(
   17086     IRpcStubBuffer* This,
   17087     IRpcChannelBuffer* pRpcChannelBuffer,
   17088     PRPC_MESSAGE pRpcMessage,
   17089     DWORD* pdwStubPhase);
   17090 HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Rate_Proxy(
   17091     ISpeechVoice* This,
   17092     LONG Rate);
   17093 void __RPC_STUB ISpeechVoice_put_Rate_Stub(
   17094     IRpcStubBuffer* This,
   17095     IRpcChannelBuffer* pRpcChannelBuffer,
   17096     PRPC_MESSAGE pRpcMessage,
   17097     DWORD* pdwStubPhase);
   17098 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Volume_Proxy(
   17099     ISpeechVoice* This,
   17100     LONG *Volume);
   17101 void __RPC_STUB ISpeechVoice_get_Volume_Stub(
   17102     IRpcStubBuffer* This,
   17103     IRpcChannelBuffer* pRpcChannelBuffer,
   17104     PRPC_MESSAGE pRpcMessage,
   17105     DWORD* pdwStubPhase);
   17106 HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Volume_Proxy(
   17107     ISpeechVoice* This,
   17108     LONG Volume);
   17109 void __RPC_STUB ISpeechVoice_put_Volume_Stub(
   17110     IRpcStubBuffer* This,
   17111     IRpcChannelBuffer* pRpcChannelBuffer,
   17112     PRPC_MESSAGE pRpcMessage,
   17113     DWORD* pdwStubPhase);
   17114 HRESULT STDMETHODCALLTYPE ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet_Proxy(
   17115     ISpeechVoice* This,
   17116     VARIANT_BOOL Allow);
   17117 void __RPC_STUB ISpeechVoice_put_AllowAudioOutputFormatChangesOnNextSet_Stub(
   17118     IRpcStubBuffer* This,
   17119     IRpcChannelBuffer* pRpcChannelBuffer,
   17120     PRPC_MESSAGE pRpcMessage,
   17121     DWORD* pdwStubPhase);
   17122 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet_Proxy(
   17123     ISpeechVoice* This,
   17124     VARIANT_BOOL *Allow);
   17125 void __RPC_STUB ISpeechVoice_get_AllowAudioOutputFormatChangesOnNextSet_Stub(
   17126     IRpcStubBuffer* This,
   17127     IRpcChannelBuffer* pRpcChannelBuffer,
   17128     PRPC_MESSAGE pRpcMessage,
   17129     DWORD* pdwStubPhase);
   17130 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_EventInterests_Proxy(
   17131     ISpeechVoice* This,
   17132     SpeechVoiceEvents *EventInterestFlags);
   17133 void __RPC_STUB ISpeechVoice_get_EventInterests_Stub(
   17134     IRpcStubBuffer* This,
   17135     IRpcChannelBuffer* pRpcChannelBuffer,
   17136     PRPC_MESSAGE pRpcMessage,
   17137     DWORD* pdwStubPhase);
   17138 HRESULT STDMETHODCALLTYPE ISpeechVoice_put_EventInterests_Proxy(
   17139     ISpeechVoice* This,
   17140     SpeechVoiceEvents EventInterestFlags);
   17141 void __RPC_STUB ISpeechVoice_put_EventInterests_Stub(
   17142     IRpcStubBuffer* This,
   17143     IRpcChannelBuffer* pRpcChannelBuffer,
   17144     PRPC_MESSAGE pRpcMessage,
   17145     DWORD* pdwStubPhase);
   17146 HRESULT STDMETHODCALLTYPE ISpeechVoice_put_Priority_Proxy(
   17147     ISpeechVoice* This,
   17148     SpeechVoicePriority Priority);
   17149 void __RPC_STUB ISpeechVoice_put_Priority_Stub(
   17150     IRpcStubBuffer* This,
   17151     IRpcChannelBuffer* pRpcChannelBuffer,
   17152     PRPC_MESSAGE pRpcMessage,
   17153     DWORD* pdwStubPhase);
   17154 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_Priority_Proxy(
   17155     ISpeechVoice* This,
   17156     SpeechVoicePriority *Priority);
   17157 void __RPC_STUB ISpeechVoice_get_Priority_Stub(
   17158     IRpcStubBuffer* This,
   17159     IRpcChannelBuffer* pRpcChannelBuffer,
   17160     PRPC_MESSAGE pRpcMessage,
   17161     DWORD* pdwStubPhase);
   17162 HRESULT STDMETHODCALLTYPE ISpeechVoice_put_AlertBoundary_Proxy(
   17163     ISpeechVoice* This,
   17164     SpeechVoiceEvents Boundary);
   17165 void __RPC_STUB ISpeechVoice_put_AlertBoundary_Stub(
   17166     IRpcStubBuffer* This,
   17167     IRpcChannelBuffer* pRpcChannelBuffer,
   17168     PRPC_MESSAGE pRpcMessage,
   17169     DWORD* pdwStubPhase);
   17170 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_AlertBoundary_Proxy(
   17171     ISpeechVoice* This,
   17172     SpeechVoiceEvents *Boundary);
   17173 void __RPC_STUB ISpeechVoice_get_AlertBoundary_Stub(
   17174     IRpcStubBuffer* This,
   17175     IRpcChannelBuffer* pRpcChannelBuffer,
   17176     PRPC_MESSAGE pRpcMessage,
   17177     DWORD* pdwStubPhase);
   17178 HRESULT STDMETHODCALLTYPE ISpeechVoice_put_SynchronousSpeakTimeout_Proxy(
   17179     ISpeechVoice* This,
   17180     LONG msTimeout);
   17181 void __RPC_STUB ISpeechVoice_put_SynchronousSpeakTimeout_Stub(
   17182     IRpcStubBuffer* This,
   17183     IRpcChannelBuffer* pRpcChannelBuffer,
   17184     PRPC_MESSAGE pRpcMessage,
   17185     DWORD* pdwStubPhase);
   17186 HRESULT STDMETHODCALLTYPE ISpeechVoice_get_SynchronousSpeakTimeout_Proxy(
   17187     ISpeechVoice* This,
   17188     LONG *msTimeout);
   17189 void __RPC_STUB ISpeechVoice_get_SynchronousSpeakTimeout_Stub(
   17190     IRpcStubBuffer* This,
   17191     IRpcChannelBuffer* pRpcChannelBuffer,
   17192     PRPC_MESSAGE pRpcMessage,
   17193     DWORD* pdwStubPhase);
   17194 HRESULT STDMETHODCALLTYPE ISpeechVoice_Speak_Proxy(
   17195     ISpeechVoice* This,
   17196     BSTR Text,
   17197     SpeechVoiceSpeakFlags Flags,
   17198     LONG *StreamNumber);
   17199 void __RPC_STUB ISpeechVoice_Speak_Stub(
   17200     IRpcStubBuffer* This,
   17201     IRpcChannelBuffer* pRpcChannelBuffer,
   17202     PRPC_MESSAGE pRpcMessage,
   17203     DWORD* pdwStubPhase);
   17204 HRESULT STDMETHODCALLTYPE ISpeechVoice_SpeakStream_Proxy(
   17205     ISpeechVoice* This,
   17206     ISpeechBaseStream *Stream,
   17207     SpeechVoiceSpeakFlags Flags,
   17208     LONG *StreamNumber);
   17209 void __RPC_STUB ISpeechVoice_SpeakStream_Stub(
   17210     IRpcStubBuffer* This,
   17211     IRpcChannelBuffer* pRpcChannelBuffer,
   17212     PRPC_MESSAGE pRpcMessage,
   17213     DWORD* pdwStubPhase);
   17214 HRESULT STDMETHODCALLTYPE ISpeechVoice_Pause_Proxy(
   17215     ISpeechVoice* This);
   17216 void __RPC_STUB ISpeechVoice_Pause_Stub(
   17217     IRpcStubBuffer* This,
   17218     IRpcChannelBuffer* pRpcChannelBuffer,
   17219     PRPC_MESSAGE pRpcMessage,
   17220     DWORD* pdwStubPhase);
   17221 HRESULT STDMETHODCALLTYPE ISpeechVoice_Resume_Proxy(
   17222     ISpeechVoice* This);
   17223 void __RPC_STUB ISpeechVoice_Resume_Stub(
   17224     IRpcStubBuffer* This,
   17225     IRpcChannelBuffer* pRpcChannelBuffer,
   17226     PRPC_MESSAGE pRpcMessage,
   17227     DWORD* pdwStubPhase);
   17228 HRESULT STDMETHODCALLTYPE ISpeechVoice_Skip_Proxy(
   17229     ISpeechVoice* This,
   17230     const BSTR Type,
   17231     LONG NumItems,
   17232     LONG *NumSkipped);
   17233 void __RPC_STUB ISpeechVoice_Skip_Stub(
   17234     IRpcStubBuffer* This,
   17235     IRpcChannelBuffer* pRpcChannelBuffer,
   17236     PRPC_MESSAGE pRpcMessage,
   17237     DWORD* pdwStubPhase);
   17238 HRESULT STDMETHODCALLTYPE ISpeechVoice_GetVoices_Proxy(
   17239     ISpeechVoice* This,
   17240     BSTR RequiredAttributes,
   17241     BSTR OptionalAttributes,
   17242     ISpeechObjectTokens **ObjectTokens);
   17243 void __RPC_STUB ISpeechVoice_GetVoices_Stub(
   17244     IRpcStubBuffer* This,
   17245     IRpcChannelBuffer* pRpcChannelBuffer,
   17246     PRPC_MESSAGE pRpcMessage,
   17247     DWORD* pdwStubPhase);
   17248 HRESULT STDMETHODCALLTYPE ISpeechVoice_GetAudioOutputs_Proxy(
   17249     ISpeechVoice* This,
   17250     BSTR RequiredAttributes,
   17251     BSTR OptionalAttributes,
   17252     ISpeechObjectTokens **ObjectTokens);
   17253 void __RPC_STUB ISpeechVoice_GetAudioOutputs_Stub(
   17254     IRpcStubBuffer* This,
   17255     IRpcChannelBuffer* pRpcChannelBuffer,
   17256     PRPC_MESSAGE pRpcMessage,
   17257     DWORD* pdwStubPhase);
   17258 HRESULT STDMETHODCALLTYPE ISpeechVoice_WaitUntilDone_Proxy(
   17259     ISpeechVoice* This,
   17260     LONG msTimeout,
   17261     VARIANT_BOOL *Done);
   17262 void __RPC_STUB ISpeechVoice_WaitUntilDone_Stub(
   17263     IRpcStubBuffer* This,
   17264     IRpcChannelBuffer* pRpcChannelBuffer,
   17265     PRPC_MESSAGE pRpcMessage,
   17266     DWORD* pdwStubPhase);
   17267 HRESULT STDMETHODCALLTYPE ISpeechVoice_SpeakCompleteEvent_Proxy(
   17268     ISpeechVoice* This,
   17269     LONG *Handle);
   17270 void __RPC_STUB ISpeechVoice_SpeakCompleteEvent_Stub(
   17271     IRpcStubBuffer* This,
   17272     IRpcChannelBuffer* pRpcChannelBuffer,
   17273     PRPC_MESSAGE pRpcMessage,
   17274     DWORD* pdwStubPhase);
   17275 HRESULT STDMETHODCALLTYPE ISpeechVoice_IsUISupported_Proxy(
   17276     ISpeechVoice* This,
   17277     const BSTR TypeOfUI,
   17278     const VARIANT *ExtraData,
   17279     VARIANT_BOOL *Supported);
   17280 void __RPC_STUB ISpeechVoice_IsUISupported_Stub(
   17281     IRpcStubBuffer* This,
   17282     IRpcChannelBuffer* pRpcChannelBuffer,
   17283     PRPC_MESSAGE pRpcMessage,
   17284     DWORD* pdwStubPhase);
   17285 HRESULT STDMETHODCALLTYPE ISpeechVoice_DisplayUI_Proxy(
   17286     ISpeechVoice* This,
   17287     LONG hWndParent,
   17288     BSTR Title,
   17289     const BSTR TypeOfUI,
   17290     const VARIANT *ExtraData);
   17291 void __RPC_STUB ISpeechVoice_DisplayUI_Stub(
   17292     IRpcStubBuffer* This,
   17293     IRpcChannelBuffer* pRpcChannelBuffer,
   17294     PRPC_MESSAGE pRpcMessage,
   17295     DWORD* pdwStubPhase);
   17296 
   17297 #endif  /* __ISpeechVoice_INTERFACE_DEFINED__ */
   17298 
   17299 /*****************************************************************************
   17300  * ISpeechVoiceStatus interface
   17301  */
   17302 #ifndef __ISpeechVoiceStatus_INTERFACE_DEFINED__
   17303 #define __ISpeechVoiceStatus_INTERFACE_DEFINED__
   17304 
   17305 DEFINE_GUID(IID_ISpeechVoiceStatus, 0x8be47b07, 0x57f6, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96);
   17306 #if defined(__cplusplus) && !defined(CINTERFACE)
   17307 MIDL_INTERFACE("8be47b07-57f6-11d2-9eee-00c04f797396")
   17308 ISpeechVoiceStatus : public IDispatch
   17309 {
   17310     virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamNumber(
   17311         LONG *StreamNumber) = 0;
   17312 
   17313     virtual HRESULT STDMETHODCALLTYPE get_LastStreamNumberQueued(
   17314         LONG *StreamNumber) = 0;
   17315 
   17316     virtual HRESULT STDMETHODCALLTYPE get_LastHResult(
   17317         LONG *HResult) = 0;
   17318 
   17319     virtual HRESULT STDMETHODCALLTYPE get_RunningState(
   17320         SpeechRunState *State) = 0;
   17321 
   17322     virtual HRESULT STDMETHODCALLTYPE get_InputWordPosition(
   17323         LONG *Position) = 0;
   17324 
   17325     virtual HRESULT STDMETHODCALLTYPE get_InputWordLength(
   17326         LONG *Length) = 0;
   17327 
   17328     virtual HRESULT STDMETHODCALLTYPE get_InputSentencePosition(
   17329         LONG *Position) = 0;
   17330 
   17331     virtual HRESULT STDMETHODCALLTYPE get_InputSentenceLength(
   17332         LONG *Length) = 0;
   17333 
   17334     virtual HRESULT STDMETHODCALLTYPE get_LastBookmark(
   17335         BSTR *Bookmark) = 0;
   17336 
   17337     virtual HRESULT STDMETHODCALLTYPE get_LastBookmarkId(
   17338         LONG *BookmarkId) = 0;
   17339 
   17340     virtual HRESULT STDMETHODCALLTYPE get_PhonemeId(
   17341         short *PhoneId) = 0;
   17342 
   17343     virtual HRESULT STDMETHODCALLTYPE get_VisemeId(
   17344         short *VisemeId) = 0;
   17345 
   17346 };
   17347 #ifdef __CRT_UUID_DECL
   17348 __CRT_UUID_DECL(ISpeechVoiceStatus, 0x8be47b07, 0x57f6, 0x11d2, 0x9e,0xee, 0x00,0xc0,0x4f,0x79,0x73,0x96)
   17349 #endif
   17350 #else
   17351 typedef struct ISpeechVoiceStatusVtbl {
   17352     BEGIN_INTERFACE
   17353 
   17354     /*** IUnknown methods ***/
   17355     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   17356         ISpeechVoiceStatus* This,
   17357         REFIID riid,
   17358         void **ppvObject);
   17359 
   17360     ULONG (STDMETHODCALLTYPE *AddRef)(
   17361         ISpeechVoiceStatus* This);
   17362 
   17363     ULONG (STDMETHODCALLTYPE *Release)(
   17364         ISpeechVoiceStatus* This);
   17365 
   17366     /*** IDispatch methods ***/
   17367     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   17368         ISpeechVoiceStatus* This,
   17369         UINT *pctinfo);
   17370 
   17371     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   17372         ISpeechVoiceStatus* This,
   17373         UINT iTInfo,
   17374         LCID lcid,
   17375         ITypeInfo **ppTInfo);
   17376 
   17377     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   17378         ISpeechVoiceStatus* This,
   17379         REFIID riid,
   17380         LPOLESTR *rgszNames,
   17381         UINT cNames,
   17382         LCID lcid,
   17383         DISPID *rgDispId);
   17384 
   17385     HRESULT (STDMETHODCALLTYPE *Invoke)(
   17386         ISpeechVoiceStatus* This,
   17387         DISPID dispIdMember,
   17388         REFIID riid,
   17389         LCID lcid,
   17390         WORD wFlags,
   17391         DISPPARAMS *pDispParams,
   17392         VARIANT *pVarResult,
   17393         EXCEPINFO *pExcepInfo,
   17394         UINT *puArgErr);
   17395 
   17396     /*** ISpeechVoiceStatus methods ***/
   17397     HRESULT (STDMETHODCALLTYPE *get_CurrentStreamNumber)(
   17398         ISpeechVoiceStatus* This,
   17399         LONG *StreamNumber);
   17400 
   17401     HRESULT (STDMETHODCALLTYPE *get_LastStreamNumberQueued)(
   17402         ISpeechVoiceStatus* This,
   17403         LONG *StreamNumber);
   17404 
   17405     HRESULT (STDMETHODCALLTYPE *get_LastHResult)(
   17406         ISpeechVoiceStatus* This,
   17407         LONG *HResult);
   17408 
   17409     HRESULT (STDMETHODCALLTYPE *get_RunningState)(
   17410         ISpeechVoiceStatus* This,
   17411         SpeechRunState *State);
   17412 
   17413     HRESULT (STDMETHODCALLTYPE *get_InputWordPosition)(
   17414         ISpeechVoiceStatus* This,
   17415         LONG *Position);
   17416 
   17417     HRESULT (STDMETHODCALLTYPE *get_InputWordLength)(
   17418         ISpeechVoiceStatus* This,
   17419         LONG *Length);
   17420 
   17421     HRESULT (STDMETHODCALLTYPE *get_InputSentencePosition)(
   17422         ISpeechVoiceStatus* This,
   17423         LONG *Position);
   17424 
   17425     HRESULT (STDMETHODCALLTYPE *get_InputSentenceLength)(
   17426         ISpeechVoiceStatus* This,
   17427         LONG *Length);
   17428 
   17429     HRESULT (STDMETHODCALLTYPE *get_LastBookmark)(
   17430         ISpeechVoiceStatus* This,
   17431         BSTR *Bookmark);
   17432 
   17433     HRESULT (STDMETHODCALLTYPE *get_LastBookmarkId)(
   17434         ISpeechVoiceStatus* This,
   17435         LONG *BookmarkId);
   17436 
   17437     HRESULT (STDMETHODCALLTYPE *get_PhonemeId)(
   17438         ISpeechVoiceStatus* This,
   17439         short *PhoneId);
   17440 
   17441     HRESULT (STDMETHODCALLTYPE *get_VisemeId)(
   17442         ISpeechVoiceStatus* This,
   17443         short *VisemeId);
   17444 
   17445     END_INTERFACE
   17446 } ISpeechVoiceStatusVtbl;
   17447 interface ISpeechVoiceStatus {
   17448     CONST_VTBL ISpeechVoiceStatusVtbl* lpVtbl;
   17449 };
   17450 
   17451 #ifdef COBJMACROS
   17452 #ifndef WIDL_C_INLINE_WRAPPERS
   17453 /*** IUnknown methods ***/
   17454 #define ISpeechVoiceStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   17455 #define ISpeechVoiceStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
   17456 #define ISpeechVoiceStatus_Release(This) (This)->lpVtbl->Release(This)
   17457 /*** IDispatch methods ***/
   17458 #define ISpeechVoiceStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   17459 #define ISpeechVoiceStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   17460 #define ISpeechVoiceStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   17461 #define ISpeechVoiceStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   17462 /*** ISpeechVoiceStatus methods ***/
   17463 #define ISpeechVoiceStatus_get_CurrentStreamNumber(This,StreamNumber) (This)->lpVtbl->get_CurrentStreamNumber(This,StreamNumber)
   17464 #define ISpeechVoiceStatus_get_LastStreamNumberQueued(This,StreamNumber) (This)->lpVtbl->get_LastStreamNumberQueued(This,StreamNumber)
   17465 #define ISpeechVoiceStatus_get_LastHResult(This,HResult) (This)->lpVtbl->get_LastHResult(This,HResult)
   17466 #define ISpeechVoiceStatus_get_RunningState(This,State) (This)->lpVtbl->get_RunningState(This,State)
   17467 #define ISpeechVoiceStatus_get_InputWordPosition(This,Position) (This)->lpVtbl->get_InputWordPosition(This,Position)
   17468 #define ISpeechVoiceStatus_get_InputWordLength(This,Length) (This)->lpVtbl->get_InputWordLength(This,Length)
   17469 #define ISpeechVoiceStatus_get_InputSentencePosition(This,Position) (This)->lpVtbl->get_InputSentencePosition(This,Position)
   17470 #define ISpeechVoiceStatus_get_InputSentenceLength(This,Length) (This)->lpVtbl->get_InputSentenceLength(This,Length)
   17471 #define ISpeechVoiceStatus_get_LastBookmark(This,Bookmark) (This)->lpVtbl->get_LastBookmark(This,Bookmark)
   17472 #define ISpeechVoiceStatus_get_LastBookmarkId(This,BookmarkId) (This)->lpVtbl->get_LastBookmarkId(This,BookmarkId)
   17473 #define ISpeechVoiceStatus_get_PhonemeId(This,PhoneId) (This)->lpVtbl->get_PhonemeId(This,PhoneId)
   17474 #define ISpeechVoiceStatus_get_VisemeId(This,VisemeId) (This)->lpVtbl->get_VisemeId(This,VisemeId)
   17475 #else
   17476 /*** IUnknown methods ***/
   17477 static FORCEINLINE HRESULT ISpeechVoiceStatus_QueryInterface(ISpeechVoiceStatus* This,REFIID riid,void **ppvObject) {
   17478     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   17479 }
   17480 static FORCEINLINE ULONG ISpeechVoiceStatus_AddRef(ISpeechVoiceStatus* This) {
   17481     return This->lpVtbl->AddRef(This);
   17482 }
   17483 static FORCEINLINE ULONG ISpeechVoiceStatus_Release(ISpeechVoiceStatus* This) {
   17484     return This->lpVtbl->Release(This);
   17485 }
   17486 /*** IDispatch methods ***/
   17487 static FORCEINLINE HRESULT ISpeechVoiceStatus_GetTypeInfoCount(ISpeechVoiceStatus* This,UINT *pctinfo) {
   17488     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   17489 }
   17490 static FORCEINLINE HRESULT ISpeechVoiceStatus_GetTypeInfo(ISpeechVoiceStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   17491     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   17492 }
   17493 static FORCEINLINE HRESULT ISpeechVoiceStatus_GetIDsOfNames(ISpeechVoiceStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   17494     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   17495 }
   17496 static FORCEINLINE HRESULT ISpeechVoiceStatus_Invoke(ISpeechVoiceStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   17497     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   17498 }
   17499 /*** ISpeechVoiceStatus methods ***/
   17500 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_CurrentStreamNumber(ISpeechVoiceStatus* This,LONG *StreamNumber) {
   17501     return This->lpVtbl->get_CurrentStreamNumber(This,StreamNumber);
   17502 }
   17503 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastStreamNumberQueued(ISpeechVoiceStatus* This,LONG *StreamNumber) {
   17504     return This->lpVtbl->get_LastStreamNumberQueued(This,StreamNumber);
   17505 }
   17506 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastHResult(ISpeechVoiceStatus* This,LONG *HResult) {
   17507     return This->lpVtbl->get_LastHResult(This,HResult);
   17508 }
   17509 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_RunningState(ISpeechVoiceStatus* This,SpeechRunState *State) {
   17510     return This->lpVtbl->get_RunningState(This,State);
   17511 }
   17512 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputWordPosition(ISpeechVoiceStatus* This,LONG *Position) {
   17513     return This->lpVtbl->get_InputWordPosition(This,Position);
   17514 }
   17515 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputWordLength(ISpeechVoiceStatus* This,LONG *Length) {
   17516     return This->lpVtbl->get_InputWordLength(This,Length);
   17517 }
   17518 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputSentencePosition(ISpeechVoiceStatus* This,LONG *Position) {
   17519     return This->lpVtbl->get_InputSentencePosition(This,Position);
   17520 }
   17521 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_InputSentenceLength(ISpeechVoiceStatus* This,LONG *Length) {
   17522     return This->lpVtbl->get_InputSentenceLength(This,Length);
   17523 }
   17524 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastBookmark(ISpeechVoiceStatus* This,BSTR *Bookmark) {
   17525     return This->lpVtbl->get_LastBookmark(This,Bookmark);
   17526 }
   17527 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_LastBookmarkId(ISpeechVoiceStatus* This,LONG *BookmarkId) {
   17528     return This->lpVtbl->get_LastBookmarkId(This,BookmarkId);
   17529 }
   17530 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_PhonemeId(ISpeechVoiceStatus* This,short *PhoneId) {
   17531     return This->lpVtbl->get_PhonemeId(This,PhoneId);
   17532 }
   17533 static FORCEINLINE HRESULT ISpeechVoiceStatus_get_VisemeId(ISpeechVoiceStatus* This,short *VisemeId) {
   17534     return This->lpVtbl->get_VisemeId(This,VisemeId);
   17535 }
   17536 #endif
   17537 #endif
   17538 
   17539 #endif
   17540 
   17541 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_CurrentStreamNumber_Proxy(
   17542     ISpeechVoiceStatus* This,
   17543     LONG *StreamNumber);
   17544 void __RPC_STUB ISpeechVoiceStatus_get_CurrentStreamNumber_Stub(
   17545     IRpcStubBuffer* This,
   17546     IRpcChannelBuffer* pRpcChannelBuffer,
   17547     PRPC_MESSAGE pRpcMessage,
   17548     DWORD* pdwStubPhase);
   17549 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastStreamNumberQueued_Proxy(
   17550     ISpeechVoiceStatus* This,
   17551     LONG *StreamNumber);
   17552 void __RPC_STUB ISpeechVoiceStatus_get_LastStreamNumberQueued_Stub(
   17553     IRpcStubBuffer* This,
   17554     IRpcChannelBuffer* pRpcChannelBuffer,
   17555     PRPC_MESSAGE pRpcMessage,
   17556     DWORD* pdwStubPhase);
   17557 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastHResult_Proxy(
   17558     ISpeechVoiceStatus* This,
   17559     LONG *HResult);
   17560 void __RPC_STUB ISpeechVoiceStatus_get_LastHResult_Stub(
   17561     IRpcStubBuffer* This,
   17562     IRpcChannelBuffer* pRpcChannelBuffer,
   17563     PRPC_MESSAGE pRpcMessage,
   17564     DWORD* pdwStubPhase);
   17565 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_RunningState_Proxy(
   17566     ISpeechVoiceStatus* This,
   17567     SpeechRunState *State);
   17568 void __RPC_STUB ISpeechVoiceStatus_get_RunningState_Stub(
   17569     IRpcStubBuffer* This,
   17570     IRpcChannelBuffer* pRpcChannelBuffer,
   17571     PRPC_MESSAGE pRpcMessage,
   17572     DWORD* pdwStubPhase);
   17573 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputWordPosition_Proxy(
   17574     ISpeechVoiceStatus* This,
   17575     LONG *Position);
   17576 void __RPC_STUB ISpeechVoiceStatus_get_InputWordPosition_Stub(
   17577     IRpcStubBuffer* This,
   17578     IRpcChannelBuffer* pRpcChannelBuffer,
   17579     PRPC_MESSAGE pRpcMessage,
   17580     DWORD* pdwStubPhase);
   17581 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputWordLength_Proxy(
   17582     ISpeechVoiceStatus* This,
   17583     LONG *Length);
   17584 void __RPC_STUB ISpeechVoiceStatus_get_InputWordLength_Stub(
   17585     IRpcStubBuffer* This,
   17586     IRpcChannelBuffer* pRpcChannelBuffer,
   17587     PRPC_MESSAGE pRpcMessage,
   17588     DWORD* pdwStubPhase);
   17589 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputSentencePosition_Proxy(
   17590     ISpeechVoiceStatus* This,
   17591     LONG *Position);
   17592 void __RPC_STUB ISpeechVoiceStatus_get_InputSentencePosition_Stub(
   17593     IRpcStubBuffer* This,
   17594     IRpcChannelBuffer* pRpcChannelBuffer,
   17595     PRPC_MESSAGE pRpcMessage,
   17596     DWORD* pdwStubPhase);
   17597 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_InputSentenceLength_Proxy(
   17598     ISpeechVoiceStatus* This,
   17599     LONG *Length);
   17600 void __RPC_STUB ISpeechVoiceStatus_get_InputSentenceLength_Stub(
   17601     IRpcStubBuffer* This,
   17602     IRpcChannelBuffer* pRpcChannelBuffer,
   17603     PRPC_MESSAGE pRpcMessage,
   17604     DWORD* pdwStubPhase);
   17605 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastBookmark_Proxy(
   17606     ISpeechVoiceStatus* This,
   17607     BSTR *Bookmark);
   17608 void __RPC_STUB ISpeechVoiceStatus_get_LastBookmark_Stub(
   17609     IRpcStubBuffer* This,
   17610     IRpcChannelBuffer* pRpcChannelBuffer,
   17611     PRPC_MESSAGE pRpcMessage,
   17612     DWORD* pdwStubPhase);
   17613 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_LastBookmarkId_Proxy(
   17614     ISpeechVoiceStatus* This,
   17615     LONG *BookmarkId);
   17616 void __RPC_STUB ISpeechVoiceStatus_get_LastBookmarkId_Stub(
   17617     IRpcStubBuffer* This,
   17618     IRpcChannelBuffer* pRpcChannelBuffer,
   17619     PRPC_MESSAGE pRpcMessage,
   17620     DWORD* pdwStubPhase);
   17621 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_PhonemeId_Proxy(
   17622     ISpeechVoiceStatus* This,
   17623     short *PhoneId);
   17624 void __RPC_STUB ISpeechVoiceStatus_get_PhonemeId_Stub(
   17625     IRpcStubBuffer* This,
   17626     IRpcChannelBuffer* pRpcChannelBuffer,
   17627     PRPC_MESSAGE pRpcMessage,
   17628     DWORD* pdwStubPhase);
   17629 HRESULT STDMETHODCALLTYPE ISpeechVoiceStatus_get_VisemeId_Proxy(
   17630     ISpeechVoiceStatus* This,
   17631     short *VisemeId);
   17632 void __RPC_STUB ISpeechVoiceStatus_get_VisemeId_Stub(
   17633     IRpcStubBuffer* This,
   17634     IRpcChannelBuffer* pRpcChannelBuffer,
   17635     PRPC_MESSAGE pRpcMessage,
   17636     DWORD* pdwStubPhase);
   17637 
   17638 #endif  /* __ISpeechVoiceStatus_INTERFACE_DEFINED__ */
   17639 
   17640 typedef enum SpeechVisemeType {
   17641     SVP_0 = 0,
   17642     SVP_1 = 1,
   17643     SVP_2 = 2,
   17644     SVP_3 = 3,
   17645     SVP_4 = 4,
   17646     SVP_5 = 5,
   17647     SVP_6 = 6,
   17648     SVP_7 = 7,
   17649     SVP_8 = 8,
   17650     SVP_9 = 9,
   17651     SVP_10 = 10,
   17652     SVP_11 = 11,
   17653     SVP_12 = 12,
   17654     SVP_13 = 13,
   17655     SVP_14 = 14,
   17656     SVP_15 = 15,
   17657     SVP_16 = 16,
   17658     SVP_17 = 17,
   17659     SVP_18 = 18,
   17660     SVP_19 = 19,
   17661     SVP_20 = 20,
   17662     SVP_21 = 21
   17663 } SpeechVisemeType;
   17664 typedef enum SpeechVisemeFeature {
   17665     SVF_None = 0,
   17666     SVF_Stressed = SPVFEATURE_STRESSED,
   17667     SVF_Emphasis = SPVFEATURE_EMPHASIS
   17668 } SpeechVisemeFeature;
   17669 typedef enum DISPID_SpeechVoiceEvent {
   17670     DISPID_SVEStreamStart = 1,
   17671     DISPID_SVEStreamEnd = 2,
   17672     DISPID_SVEVoiceChange = 3,
   17673     DISPID_SVEBookmark = 4,
   17674     DISPID_SVEWord = 5,
   17675     DISPID_SVEPhoneme = 6,
   17676     DISPID_SVESentenceBoundary = 7,
   17677     DISPID_SVEViseme = 8,
   17678     DISPID_SVEAudioLevel = 9,
   17679     DISPID_SVEEnginePrivate = 10
   17680 } DISPID_SpeechVoiceEvent;
   17681 typedef enum DISPID_SpeechRecognizer {
   17682     DISPID_SRRecognizer = 1,
   17683     DISPID_SRAllowAudioInputFormatChangesOnNextSet = 2,
   17684     DISPID_SRAudioInput = 3,
   17685     DISPID_SRAudioInputStream = 4,
   17686     DISPID_SRIsShared = 5,
   17687     DISPID_SRState = 6,
   17688     DISPID_SRStatus = 7,
   17689     DISPID_SRProfile = 8,
   17690     DISPID_SREmulateRecognition = 9,
   17691     DISPID_SRCreateRecoContext = 10,
   17692     DISPID_SRGetFormat = 11,
   17693     DISPID_SRSetPropertyNumber = 12,
   17694     DISPID_SRGetPropertyNumber = 13,
   17695     DISPID_SRSetPropertyString = 14,
   17696     DISPID_SRGetPropertyString = 15,
   17697     DISPID_SRIsUISupported = 16,
   17698     DISPID_SRDisplayUI = 17,
   17699     DISPID_SRGetRecognizers = 18,
   17700     DISPID_SVGetAudioInputs = 19,
   17701     DISPID_SVGetProfiles = 20
   17702 } DISPID_SpeechRecognizer;
   17703 typedef enum SpeechRecognizerState {
   17704     SRSInactive = SPRST_INACTIVE,
   17705     SRSActive = SPRST_ACTIVE,
   17706     SRSActiveAlways = SPRST_ACTIVE_ALWAYS,
   17707     SRSInactiveWithPurge = SPRST_INACTIVE_WITH_PURGE
   17708 } SpeechRecognizerState;
   17709 typedef enum SpeechDisplayAttributes {
   17710     SDA_No_Trailing_Space = 0,
   17711     SDA_One_Trailing_Space = SPAF_ONE_TRAILING_SPACE,
   17712     SDA_Two_Trailing_Spaces = SPAF_TWO_TRAILING_SPACES,
   17713     SDA_Consume_Leading_Spaces = SPAF_CONSUME_LEADING_SPACES
   17714 } SpeechDisplayAttributes;
   17715 typedef enum SpeechFormatType {
   17716     SFTInput = SPWF_INPUT,
   17717     SFTSREngine = SPWF_SRENGINE
   17718 } SpeechFormatType;
   17719 typedef enum DISPID_SpeechRecognizerStatus {
   17720     DISPID_SRSAudioStatus = 1,
   17721     DISPID_SRSCurrentStreamPosition = 2,
   17722     DISPID_SRSCurrentStreamNumber = 3,
   17723     DISPID_SRSNumberOfActiveRules = 4,
   17724     DISPID_SRSClsidEngine = 5,
   17725     DISPID_SRSSupportedLanguages = 6
   17726 } DISPID_SpeechRecognizerStatus;
   17727 typedef enum DISPID_SpeechRecoContext {
   17728     DISPID_SRCRecognizer = 1,
   17729     DISPID_SRCAudioInInterferenceStatus = 2,
   17730     DISPID_SRCRequestedUIType = 3,
   17731     DISPID_SRCVoice = 4,
   17732     DISPID_SRAllowVoiceFormatMatchingOnNextSet = 5,
   17733     DISPID_SRCVoicePurgeEvent = 6,
   17734     DISPID_SRCEventInterests = 7,
   17735     DISPID_SRCCmdMaxAlternates = 8,
   17736     DISPID_SRCState = 9,
   17737     DISPID_SRCRetainedAudio = 10,
   17738     DISPID_SRCRetainedAudioFormat = 11,
   17739     DISPID_SRCPause = 12,
   17740     DISPID_SRCResume = 13,
   17741     DISPID_SRCCreateGrammar = 14,
   17742     DISPID_SRCCreateResultFromMemory = 15,
   17743     DISPID_SRCBookmark = 16,
   17744     DISPID_SRCSetAdaptationData = 17
   17745 } DISPID_SpeechRecoContext;
   17746 typedef enum SpeechRetainedAudioOptions {
   17747     SRAONone = SPAO_NONE,
   17748     SRAORetainAudio = SPAO_RETAIN_AUDIO
   17749 } SpeechRetainedAudioOptions;
   17750 typedef enum SpeechBookmarkOptions {
   17751     SBONone = SPBO_NONE,
   17752     SBOPause = SPBO_PAUSE
   17753 } SpeechBookmarkOptions;
   17754 typedef enum SpeechInterference {
   17755     SINone = SPINTERFERENCE_NONE,
   17756     SINoise = SPINTERFERENCE_NOISE,
   17757     SINoSignal = SPINTERFERENCE_NOSIGNAL,
   17758     SITooLoud = SPINTERFERENCE_TOOLOUD,
   17759     SITooQuiet = SPINTERFERENCE_TOOQUIET,
   17760     SITooFast = SPINTERFERENCE_TOOFAST,
   17761     SITooSlow = SPINTERFERENCE_TOOSLOW
   17762 } SpeechInterference;
   17763 typedef enum SpeechRecoEvents {
   17764     SREStreamEnd = 0x1,
   17765     SRESoundStart = 0x2,
   17766     SRESoundEnd = 0x4,
   17767     SREPhraseStart = 0x8,
   17768     SRERecognition = 0x10,
   17769     SREHypothesis = 0x20,
   17770     SREBookmark = 0x40,
   17771     SREPropertyNumChange = 0x80,
   17772     SREPropertyStringChange = 0x100,
   17773     SREFalseRecognition = 0x200,
   17774     SREInterference = 0x400,
   17775     SRERequestUI = 0x800,
   17776     SREStateChange = 0x1000,
   17777     SREAdaptation = 0x2000,
   17778     SREStreamStart = 0x4000,
   17779     SRERecoOtherContext = 0x8000,
   17780     SREAudioLevel = 0x10000,
   17781     SREPrivate = 0x40000,
   17782     SREAllEvents = 0x5ffff
   17783 } SpeechRecoEvents;
   17784 typedef enum SpeechRecoContextState {
   17785     SRCS_Disabled = SPCS_DISABLED,
   17786     SRCS_Enabled = SPCS_ENABLED
   17787 } SpeechRecoContextState;
   17788 typedef enum DISPIDSPRG {
   17789     DISPID_SRGId = 1,
   17790     DISPID_SRGRecoContext = 2,
   17791     DISPID_SRGState = 3,
   17792     DISPID_SRGRules = 4,
   17793     DISPID_SRGReset = 5,
   17794     DISPID_SRGCommit = 6,
   17795     DISPID_SRGCmdLoadFromFile = 7,
   17796     DISPID_SRGCmdLoadFromObject = 8,
   17797     DISPID_SRGCmdLoadFromResource = 9,
   17798     DISPID_SRGCmdLoadFromMemory = 10,
   17799     DISPID_SRGCmdLoadFromProprietaryGrammar = 11,
   17800     DISPID_SRGCmdSetRuleState = 12,
   17801     DISPID_SRGCmdSetRuleIdState = 13,
   17802     DISPID_SRGDictationLoad = 14,
   17803     DISPID_SRGDictationUnload = 15,
   17804     DISPID_SRGDictationSetState = 16,
   17805     DISPID_SRGSetWordSequenceData = 17,
   17806     DISPID_SRGSetTextSelection = 18,
   17807     DISPID_SRGIsPronounceable = 19
   17808 } DISPIDSPRG;
   17809 typedef enum SpeechLoadOption {
   17810     SLOStatic = SPLO_STATIC,
   17811     SLODynamic = SPLO_DYNAMIC
   17812 } SpeechLoadOption;
   17813 typedef enum SpeechWordPronounceable {
   17814     SWPUnknownWordUnpronounceable = SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE,
   17815     SWPUnknownWordPronounceable = SPWP_UNKNOWN_WORD_PRONOUNCEABLE,
   17816     SWPKnownWordPronounceable = SPWP_KNOWN_WORD_PRONOUNCEABLE
   17817 } SpeechWordPronounceable;
   17818 typedef enum SpeechGrammarState {
   17819     SGSEnabled = SPGS_ENABLED,
   17820     SGSDisabled = SPGS_DISABLED,
   17821     SGSExclusive = SPGS_EXCLUSIVE
   17822 } SpeechGrammarState;
   17823 typedef enum SpeechRuleState {
   17824     SGDSInactive = SPRS_INACTIVE,
   17825     SGDSActive = SPRS_ACTIVE,
   17826     SGDSActiveWithAutoPause = SPRS_ACTIVE_WITH_AUTO_PAUSE,
   17827     SGDSActiveUserDelimited = SPRS_ACTIVE_USER_DELIMITED
   17828 } SpeechRuleState;
   17829 typedef enum SpeechRuleAttributes {
   17830     SRATopLevel = SPRAF_TopLevel,
   17831     SRADefaultToActive = SPRAF_Active,
   17832     SRAExport = SPRAF_Export,
   17833     SRAImport = SPRAF_Import,
   17834     SRAInterpreter = SPRAF_Interpreter,
   17835     SRADynamic = SPRAF_Dynamic,
   17836     SRARoot = SPRAF_Root
   17837 } SpeechRuleAttributes;
   17838 typedef enum SpeechGrammarWordType {
   17839     SGDisplay = SPWT_DISPLAY,
   17840     SGLexical = SPWT_LEXICAL,
   17841     SGPronounciation = SPWT_PRONUNCIATION,
   17842     SGLexicalNoSpecialChars = SPWT_LEXICAL_NO_SPECIAL_CHARS
   17843 } SpeechGrammarWordType;
   17844 typedef enum DISPID_SpeechRecoContextEvents {
   17845     DISPID_SRCEStartStream = 1,
   17846     DISPID_SRCEEndStream = 2,
   17847     DISPID_SRCEBookmark = 3,
   17848     DISPID_SRCESoundStart = 4,
   17849     DISPID_SRCESoundEnd = 5,
   17850     DISPID_SRCEPhraseStart = 6,
   17851     DISPID_SRCERecognition = 7,
   17852     DISPID_SRCEHypothesis = 8,
   17853     DISPID_SRCEPropertyNumberChange = 9,
   17854     DISPID_SRCEPropertyStringChange = 10,
   17855     DISPID_SRCEFalseRecognition = 11,
   17856     DISPID_SRCEInterference = 12,
   17857     DISPID_SRCERequestUI = 13,
   17858     DISPID_SRCERecognizerStateChange = 14,
   17859     DISPID_SRCEAdaptation = 15,
   17860     DISPID_SRCERecognitionForOtherContext = 16,
   17861     DISPID_SRCEAudioLevel = 17,
   17862     DISPID_SRCEEnginePrivate = 18
   17863 } DISPID_SpeechRecoContextEvents;
   17864 typedef enum SpeechRecognitionType {
   17865     SRTStandard = 0,
   17866     SRTAutopause = SPREF_AutoPause,
   17867     SRTEmulated = SPREF_Emulated,
   17868     SRTSMLTimeout = SPREF_SMLTimeout,
   17869     SRTExtendableParse = SPREF_ExtendableParse,
   17870     SRTReSent = SPREF_ReSent
   17871 } SpeechRecognitionType;
   17872 typedef enum DISPID_SpeechGrammarRule {
   17873     DISPID_SGRAttributes = 1,
   17874     DISPID_SGRInitialState = 2,
   17875     DISPID_SGRName = 3,
   17876     DISPID_SGRId = 4,
   17877     DISPID_SGRClear = 5,
   17878     DISPID_SGRAddResource = 6,
   17879     DISPID_SGRAddState = 7
   17880 } DISPID_SpeechGrammarRule;
   17881 typedef enum DISPID_SpeechGrammarRules {
   17882     DISPID_SGRsCount = 1,
   17883     DISPID_SGRsDynamic = 2,
   17884     DISPID_SGRsAdd = 3,
   17885     DISPID_SGRsCommit = 4,
   17886     DISPID_SGRsCommitAndSave = 5,
   17887     DISPID_SGRsFindRule = 6,
   17888     DISPID_SGRsItem = DISPID_VALUE,
   17889     DISPID_SGRs_NewEnum = DISPID_NEWENUM
   17890 } DISPID_SpeechGrammarRules;
   17891 typedef enum DISPID_SpeechGrammarRuleState {
   17892     DISPID_SGRSRule = 1,
   17893     DISPID_SGRSTransitions = 2,
   17894     DISPID_SGRSAddWordTransition = 3,
   17895     DISPID_SGRSAddRuleTransition = 4,
   17896     DISPID_SGRSAddSpecialTransition = 5
   17897 } DISPID_SpeechGrammarRuleState;
   17898 typedef enum SpeechSpecialTransitionType {
   17899     SSTTWildcard = 1,
   17900     SSTTDictation = 2,
   17901     SSTTTextBuffer = 3
   17902 } SpeechSpecialTransitionType;
   17903 typedef enum DISPID_SpeechGrammarRuleStateTransitions {
   17904     DISPID_SGRSTsCount = 1,
   17905     DISPID_SGRSTsItem = DISPID_VALUE,
   17906     DISPID_SGRSTs_NewEnum = DISPID_NEWENUM
   17907 } DISPID_SpeechGrammarRuleStateTransitions;
   17908 typedef enum DISPID_SpeechGrammarRuleStateTransition {
   17909     DISPID_SGRSTType = 1,
   17910     DISPID_SGRSTText = 2,
   17911     DISPID_SGRSTRule = 3,
   17912     DISPID_SGRSTWeight = 4,
   17913     DISPID_SGRSTPropertyName = 5,
   17914     DISPID_SGRSTPropertyId = 6,
   17915     DISPID_SGRSTPropertyValue = 7,
   17916     DISPID_SGRSTNextState = 8
   17917 } DISPID_SpeechGrammarRuleStateTransition;
   17918 typedef enum SpeechGrammarRuleStateTransitionType {
   17919     SGRSTTEpsilon = 0,
   17920     SGRSTTWord = 1,
   17921     SGRSTTRule = 2,
   17922     SGRSTTDictation = 3,
   17923     SGRSTTWildcard = 4,
   17924     SGRSTTTextBuffer = 5
   17925 } SpeechGrammarRuleStateTransitionType;
   17926 typedef enum DISPIDSPTSI {
   17927     DISPIDSPTSI_ActiveOffset = 1,
   17928     DISPIDSPTSI_ActiveLength = 2,
   17929     DISPIDSPTSI_SelectionOffset = 3,
   17930     DISPIDSPTSI_SelectionLength = 4
   17931 } DISPIDSPTSI;
   17932 typedef enum DISPID_SpeechRecoResult {
   17933     DISPID_SRRRecoContext = 1,
   17934     DISPID_SRRTimes = 2,
   17935     DISPID_SRRAudioFormat = 3,
   17936     DISPID_SRRPhraseInfo = 4,
   17937     DISPID_SRRAlternates = 5,
   17938     DISPID_SRRAudio = 6,
   17939     DISPID_SRRSpeakAudio = 7,
   17940     DISPID_SRRSaveToMemory = 8,
   17941     DISPID_SRRDiscardResultInfo = 9
   17942 } DISPID_SpeechRecoResult;
   17943 typedef enum SpeechDiscardType {
   17944     SDTProperty = SPDF_PROPERTY,
   17945     SDTReplacement = SPDF_REPLACEMENT,
   17946     SDTRule = SPDF_RULE,
   17947     SDTDisplayText = SPDF_DISPLAYTEXT,
   17948     SDTLexicalForm = SPDF_LEXICALFORM,
   17949     SDTPronunciation = SPDF_PRONUNCIATION,
   17950     SDTAudio = SPDF_AUDIO,
   17951     SDTAlternates = SPDF_ALTERNATES,
   17952     SDTAll = SPDF_ALL
   17953 } SpeechDiscardType;
   17954 typedef enum SpeechEmulationCompareFlags {
   17955     SECFIgnoreCase = 0x1,
   17956     SECFIgnoreKanaType = 0x10000,
   17957     SECFIgnoreWidth = 0x20000,
   17958     SECFNoSpecialChars = 0x20000000,
   17959     SECFEmulateResult = 0x40000000,
   17960     SECFDefault = (SECFIgnoreCase | SECFIgnoreKanaType) | SECFIgnoreWidth
   17961 } SpeechEmulationCompareFlags;
   17962 typedef enum DISPID_SpeechXMLRecoResult {
   17963     DISPID_SRRGetXMLResult = DISPID_SRRDiscardResultInfo + 1,
   17964     DISPID_SRRGetXMLErrorInfo = DISPID_SRRGetXMLResult + 1
   17965 } DISPID_SpeechXMLRecoResult;
   17966 typedef enum DISPID_SpeechRecoResult2 {
   17967     DISPID_SRRSetTextFeedback = DISPID_SRRGetXMLErrorInfo + 1
   17968 } DISPID_SpeechRecoResult2;
   17969 typedef enum DISPID_SpeechPhraseBuilder {
   17970     DISPID_SPPBRestorePhraseFromMemory = 1
   17971 } DISPID_SpeechPhraseBuilder;
   17972 typedef enum DISPID_SpeechRecoResultTimes {
   17973     DISPID_SRRTStreamTime = 1,
   17974     DISPID_SRRTLength = 2,
   17975     DISPID_SRRTTickCount = 3,
   17976     DISPID_SRRTOffsetFromStart = 4
   17977 } DISPID_SpeechRecoResultTimes;
   17978 typedef enum DISPID_SpeechPhraseAlternate {
   17979     DISPID_SPARecoResult = 1,
   17980     DISPID_SPAStartElementInResult = 2,
   17981     DISPID_SPANumberOfElementsInResult = 3,
   17982     DISPID_SPAPhraseInfo = 4,
   17983     DISPID_SPACommit = 5
   17984 } DISPID_SpeechPhraseAlternate;
   17985 typedef enum DISPID_SpeechPhraseAlternates {
   17986     DISPID_SPAsCount = 1,
   17987     DISPID_SPAsItem = DISPID_VALUE,
   17988     DISPID_SPAs_NewEnum = DISPID_NEWENUM
   17989 } DISPID_SpeechPhraseAlternates;
   17990 typedef enum DISPID_SpeechPhraseInfo {
   17991     DISPID_SPILanguageId = 1,
   17992     DISPID_SPIGrammarId = 2,
   17993     DISPID_SPIStartTime = 3,
   17994     DISPID_SPIAudioStreamPosition = 4,
   17995     DISPID_SPIAudioSizeBytes = 5,
   17996     DISPID_SPIRetainedSizeBytes = 6,
   17997     DISPID_SPIAudioSizeTime = 7,
   17998     DISPID_SPIRule = 8,
   17999     DISPID_SPIProperties = 9,
   18000     DISPID_SPIElements = 10,
   18001     DISPID_SPIReplacements = 11,
   18002     DISPID_SPIEngineId = 12,
   18003     DISPID_SPIEnginePrivateData = 13,
   18004     DISPID_SPISaveToMemory = 14,
   18005     DISPID_SPIGetText = 15,
   18006     DISPID_SPIGetDisplayAttributes = 16
   18007 } DISPID_SpeechPhraseInfo;
   18008 typedef enum DISPID_SpeechPhraseElement {
   18009     DISPID_SPEAudioTimeOffset = 1,
   18010     DISPID_SPEAudioSizeTime = 2,
   18011     DISPID_SPEAudioStreamOffset = 3,
   18012     DISPID_SPEAudioSizeBytes = 4,
   18013     DISPID_SPERetainedStreamOffset = 5,
   18014     DISPID_SPERetainedSizeBytes = 6,
   18015     DISPID_SPEDisplayText = 7,
   18016     DISPID_SPELexicalForm = 8,
   18017     DISPID_SPEPronunciation = 9,
   18018     DISPID_SPEDisplayAttributes = 10,
   18019     DISPID_SPERequiredConfidence = 11,
   18020     DISPID_SPEActualConfidence = 12,
   18021     DISPID_SPEEngineConfidence = 13
   18022 } DISPID_SpeechPhraseElement;
   18023 typedef enum SpeechEngineConfidence {
   18024     SECLowConfidence = -1,
   18025     SECNormalConfidence = 0,
   18026     SECHighConfidence = 1
   18027 } SpeechEngineConfidence;
   18028 typedef enum DISPID_SpeechPhraseElements {
   18029     DISPID_SPEsCount = 1,
   18030     DISPID_SPEsItem = DISPID_VALUE,
   18031     DISPID_SPEs_NewEnum = DISPID_NEWENUM
   18032 } DISPID_SpeechPhraseElements;
   18033 typedef enum DISPID_SpeechPhraseReplacement {
   18034     DISPID_SPRDisplayAttributes = 1,
   18035     DISPID_SPRText = 2,
   18036     DISPID_SPRFirstElement = 3,
   18037     DISPID_SPRNumberOfElements = 4
   18038 } DISPID_SpeechPhraseReplacement;
   18039 typedef enum DISPID_SpeechPhraseReplacements {
   18040     DISPID_SPRsCount = 1,
   18041     DISPID_SPRsItem = DISPID_VALUE,
   18042     DISPID_SPRs_NewEnum = DISPID_NEWENUM
   18043 } DISPID_SpeechPhraseReplacements;
   18044 typedef enum DISPID_SpeechPhraseProperty {
   18045     DISPID_SPPName = 1,
   18046     DISPID_SPPId = 2,
   18047     DISPID_SPPValue = 3,
   18048     DISPID_SPPFirstElement = 4,
   18049     DISPID_SPPNumberOfElements = 5,
   18050     DISPID_SPPEngineConfidence = 6,
   18051     DISPID_SPPConfidence = 7,
   18052     DISPID_SPPParent = 8,
   18053     DISPID_SPPChildren = 9
   18054 } DISPID_SpeechPhraseProperty;
   18055 typedef enum DISPID_SpeechPhraseProperties {
   18056     DISPID_SPPsCount = 1,
   18057     DISPID_SPPsItem = DISPID_VALUE,
   18058     DISPID_SPPs_NewEnum = DISPID_NEWENUM
   18059 } DISPID_SpeechPhraseProperties;
   18060 typedef enum DISPID_SpeechPhraseRule {
   18061     DISPID_SPRuleName = 1,
   18062     DISPID_SPRuleId = 2,
   18063     DISPID_SPRuleFirstElement = 3,
   18064     DISPID_SPRuleNumberOfElements = 4,
   18065     DISPID_SPRuleParent = 5,
   18066     DISPID_SPRuleChildren = 6,
   18067     DISPID_SPRuleConfidence = 7,
   18068     DISPID_SPRuleEngineConfidence = 8
   18069 } DISPID_SpeechPhraseRule;
   18070 typedef enum DISPID_SpeechPhraseRules {
   18071     DISPID_SPRulesCount = 1,
   18072     DISPID_SPRulesItem = DISPID_VALUE,
   18073     DISPID_SPRules_NewEnum = DISPID_NEWENUM
   18074 } DISPID_SpeechPhraseRules;
   18075 typedef enum DISPID_SpeechLexicon {
   18076     DISPID_SLGenerationId = 1,
   18077     DISPID_SLGetWords = 2,
   18078     DISPID_SLAddPronunciation = 3,
   18079     DISPID_SLAddPronunciationByPhoneIds = 4,
   18080     DISPID_SLRemovePronunciation = 5,
   18081     DISPID_SLRemovePronunciationByPhoneIds = 6,
   18082     DISPID_SLGetPronunciations = 7,
   18083     DISPID_SLGetGenerationChange = 8
   18084 } DISPID_SpeechLexicon;
   18085 typedef enum SpeechLexiconType {
   18086     SLTUser = eLEXTYPE_USER,
   18087     SLTApp = eLEXTYPE_APP
   18088 } SpeechLexiconType;
   18089 typedef enum SpeechPartOfSpeech {
   18090     SPSNotOverriden = SPPS_NotOverriden,
   18091     SPSUnknown = SPPS_Unknown,
   18092     SPSNoun = SPPS_Noun,
   18093     SPSVerb = SPPS_Verb,
   18094     SPSModifier = SPPS_Modifier,
   18095     SPSFunction = SPPS_Function,
   18096     SPSInterjection = SPPS_Interjection,
   18097     SPSLMA = SPPS_LMA,
   18098     SPSSuppressWord = SPPS_SuppressWord
   18099 } SpeechPartOfSpeech;
   18100 typedef enum DISPID_SpeechLexiconWords {
   18101     DISPID_SLWsCount = 1,
   18102     DISPID_SLWsItem = DISPID_VALUE,
   18103     DISPID_SLWs_NewEnum = DISPID_NEWENUM
   18104 } DISPID_SpeechLexiconWords;
   18105 typedef enum SpeechWordType {
   18106     SWTAdded = eWORDTYPE_ADDED,
   18107     SWTDeleted = eWORDTYPE_DELETED
   18108 } SpeechWordType;
   18109 typedef enum DISPID_SpeechLexiconWord {
   18110     DISPID_SLWLangId = 1,
   18111     DISPID_SLWType = 2,
   18112     DISPID_SLWWord = 3,
   18113     DISPID_SLWPronunciations = 4
   18114 } DISPID_SpeechLexiconWord;
   18115 typedef enum DISPID_SpeechLexiconProns {
   18116     DISPID_SLPsCount = 1,
   18117     DISPID_SLPsItem = DISPID_VALUE,
   18118     DISPID_SLPs_NewEnum = DISPID_NEWENUM
   18119 } DISPID_SpeechLexiconProns;
   18120 typedef enum DISPID_SpeechLexiconPronunciation {
   18121     DISPID_SLPType = 1,
   18122     DISPID_SLPLangId = 2,
   18123     DISPID_SLPPartOfSpeech = 3,
   18124     DISPID_SLPPhoneIds = 4,
   18125     DISPID_SLPSymbolic = 5
   18126 } DISPID_SpeechLexiconPronunciation;
   18127 typedef enum DISPID_SpeechPhoneConverter {
   18128     DISPID_SPCLangId = 1,
   18129     DISPID_SPCPhoneToId = 2,
   18130     DISPID_SPCIdToPhone = 3
   18131 } DISPID_SpeechPhoneConverter;
   18132 /*****************************************************************************
   18133  * _ISpeechVoiceEvents dispinterface
   18134  */
   18135 #ifndef ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__
   18136 #define ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__
   18137 
   18138 DEFINE_GUID(DIID__ISpeechVoiceEvents, 0xa372acd1, 0x3bef, 0x4bbd, 0x8f,0xfb, 0xcb,0x3e,0x2b,0x41,0x6a,0xf8);
   18139 #if defined(__cplusplus) && !defined(CINTERFACE)
   18140 MIDL_INTERFACE("a372acd1-3bef-4bbd-8ffb-cb3e2b416af8")
   18141 _ISpeechVoiceEvents : public IDispatch
   18142 {
   18143 };
   18144 #ifdef __CRT_UUID_DECL
   18145 __CRT_UUID_DECL(_ISpeechVoiceEvents, 0xa372acd1, 0x3bef, 0x4bbd, 0x8f,0xfb, 0xcb,0x3e,0x2b,0x41,0x6a,0xf8)
   18146 #endif
   18147 #else
   18148 typedef struct _ISpeechVoiceEventsVtbl {
   18149     BEGIN_INTERFACE
   18150 
   18151     /*** IUnknown methods ***/
   18152     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   18153         _ISpeechVoiceEvents* This,
   18154         REFIID riid,
   18155         void **ppvObject);
   18156 
   18157     ULONG (STDMETHODCALLTYPE *AddRef)(
   18158         _ISpeechVoiceEvents* This);
   18159 
   18160     ULONG (STDMETHODCALLTYPE *Release)(
   18161         _ISpeechVoiceEvents* This);
   18162 
   18163     /*** IDispatch methods ***/
   18164     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   18165         _ISpeechVoiceEvents* This,
   18166         UINT *pctinfo);
   18167 
   18168     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   18169         _ISpeechVoiceEvents* This,
   18170         UINT iTInfo,
   18171         LCID lcid,
   18172         ITypeInfo **ppTInfo);
   18173 
   18174     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   18175         _ISpeechVoiceEvents* This,
   18176         REFIID riid,
   18177         LPOLESTR *rgszNames,
   18178         UINT cNames,
   18179         LCID lcid,
   18180         DISPID *rgDispId);
   18181 
   18182     HRESULT (STDMETHODCALLTYPE *Invoke)(
   18183         _ISpeechVoiceEvents* This,
   18184         DISPID dispIdMember,
   18185         REFIID riid,
   18186         LCID lcid,
   18187         WORD wFlags,
   18188         DISPPARAMS *pDispParams,
   18189         VARIANT *pVarResult,
   18190         EXCEPINFO *pExcepInfo,
   18191         UINT *puArgErr);
   18192 
   18193     END_INTERFACE
   18194 } _ISpeechVoiceEventsVtbl;
   18195 interface _ISpeechVoiceEvents {
   18196     CONST_VTBL _ISpeechVoiceEventsVtbl* lpVtbl;
   18197 };
   18198 
   18199 #ifdef COBJMACROS
   18200 #ifndef WIDL_C_INLINE_WRAPPERS
   18201 /*** IUnknown methods ***/
   18202 #define _ISpeechVoiceEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   18203 #define _ISpeechVoiceEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   18204 #define _ISpeechVoiceEvents_Release(This) (This)->lpVtbl->Release(This)
   18205 /*** IDispatch methods ***/
   18206 #define _ISpeechVoiceEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   18207 #define _ISpeechVoiceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   18208 #define _ISpeechVoiceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   18209 #define _ISpeechVoiceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   18210 #else
   18211 /*** IUnknown methods ***/
   18212 static FORCEINLINE HRESULT _ISpeechVoiceEvents_QueryInterface(_ISpeechVoiceEvents* This,REFIID riid,void **ppvObject) {
   18213     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   18214 }
   18215 static FORCEINLINE ULONG _ISpeechVoiceEvents_AddRef(_ISpeechVoiceEvents* This) {
   18216     return This->lpVtbl->AddRef(This);
   18217 }
   18218 static FORCEINLINE ULONG _ISpeechVoiceEvents_Release(_ISpeechVoiceEvents* This) {
   18219     return This->lpVtbl->Release(This);
   18220 }
   18221 /*** IDispatch methods ***/
   18222 static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetTypeInfoCount(_ISpeechVoiceEvents* This,UINT *pctinfo) {
   18223     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   18224 }
   18225 static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetTypeInfo(_ISpeechVoiceEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   18226     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   18227 }
   18228 static FORCEINLINE HRESULT _ISpeechVoiceEvents_GetIDsOfNames(_ISpeechVoiceEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   18229     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   18230 }
   18231 static FORCEINLINE HRESULT _ISpeechVoiceEvents_Invoke(_ISpeechVoiceEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   18232     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   18233 }
   18234 #endif
   18235 #endif
   18236 
   18237 #endif
   18238 
   18239 #endif  /* ___ISpeechVoiceEvents_DISPINTERFACE_DEFINED__ */
   18240 
   18241 /*****************************************************************************
   18242  * ISpeechRecognizer interface
   18243  */
   18244 #ifndef __ISpeechRecognizer_INTERFACE_DEFINED__
   18245 #define __ISpeechRecognizer_INTERFACE_DEFINED__
   18246 
   18247 DEFINE_GUID(IID_ISpeechRecognizer, 0x2d5f1c0c, 0xbd75, 0x4b08, 0x94,0x78, 0x3b,0x11,0xfe,0xa2,0x58,0x6c);
   18248 #if defined(__cplusplus) && !defined(CINTERFACE)
   18249 MIDL_INTERFACE("2d5f1c0c-bd75-4b08-9478-3b11fea2586c")
   18250 ISpeechRecognizer : public IDispatch
   18251 {
   18252     virtual HRESULT STDMETHODCALLTYPE putref_Recognizer(
   18253         ISpeechObjectToken *Recognizer) = 0;
   18254 
   18255     virtual HRESULT STDMETHODCALLTYPE get_Recognizer(
   18256         ISpeechObjectToken **Recognizer) = 0;
   18257 
   18258     virtual HRESULT STDMETHODCALLTYPE put_AllowAudioInputFormatChangesOnNextSet(
   18259         VARIANT_BOOL Allow) = 0;
   18260 
   18261     virtual HRESULT STDMETHODCALLTYPE get_AllowAudioInputFormatChangesOnNextSet(
   18262         VARIANT_BOOL *Allow) = 0;
   18263 
   18264     virtual HRESULT STDMETHODCALLTYPE putref_AudioInput(
   18265         ISpeechObjectToken *AudioInput = 0) = 0;
   18266 
   18267     virtual HRESULT STDMETHODCALLTYPE get_AudioInput(
   18268         ISpeechObjectToken **AudioInput) = 0;
   18269 
   18270     virtual HRESULT STDMETHODCALLTYPE putref_AudioInputStream(
   18271         ISpeechBaseStream *AudioInputStream = 0) = 0;
   18272 
   18273     virtual HRESULT STDMETHODCALLTYPE get_AudioInputStream(
   18274         ISpeechBaseStream **AudioInputStream) = 0;
   18275 
   18276     virtual HRESULT STDMETHODCALLTYPE get_IsShared(
   18277         VARIANT_BOOL *Shared) = 0;
   18278 
   18279     virtual HRESULT STDMETHODCALLTYPE put_State(
   18280         SpeechRecognizerState State) = 0;
   18281 
   18282     virtual HRESULT STDMETHODCALLTYPE get_State(
   18283         SpeechRecognizerState *State) = 0;
   18284 
   18285     virtual HRESULT STDMETHODCALLTYPE get_Status(
   18286         ISpeechRecognizerStatus **Status) = 0;
   18287 
   18288     virtual HRESULT STDMETHODCALLTYPE putref_Profile(
   18289         ISpeechObjectToken *Profile = 0) = 0;
   18290 
   18291     virtual HRESULT STDMETHODCALLTYPE get_Profile(
   18292         ISpeechObjectToken **Profile) = 0;
   18293 
   18294     virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
   18295         VARIANT TextElements,
   18296         VARIANT *ElementDisplayAttributes = 0,
   18297         LONG LanguageId = 0) = 0;
   18298 
   18299     virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
   18300         ISpeechRecoContext **NewContext) = 0;
   18301 
   18302     virtual HRESULT STDMETHODCALLTYPE GetFormat(
   18303         SpeechFormatType Type,
   18304         ISpeechAudioFormat **Format) = 0;
   18305 
   18306     virtual HRESULT STDMETHODCALLTYPE SetPropertyNumber(
   18307         const BSTR Name,
   18308         LONG Value,
   18309         VARIANT_BOOL *Supported) = 0;
   18310 
   18311     virtual HRESULT STDMETHODCALLTYPE GetPropertyNumber(
   18312         const BSTR Name,
   18313         LONG *Value,
   18314         VARIANT_BOOL *Supported) = 0;
   18315 
   18316     virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
   18317         const BSTR Name,
   18318         const BSTR Value,
   18319         VARIANT_BOOL *Supported) = 0;
   18320 
   18321     virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
   18322         const BSTR Name,
   18323         BSTR *Value,
   18324         VARIANT_BOOL *Supported) = 0;
   18325 
   18326     virtual HRESULT STDMETHODCALLTYPE IsUISupported(
   18327         const BSTR TypeOfUI,
   18328         const VARIANT *ExtraData,
   18329         VARIANT_BOOL *Supported) = 0;
   18330 
   18331     virtual HRESULT STDMETHODCALLTYPE DisplayUI(
   18332         LONG hWndParent,
   18333         BSTR Title,
   18334         const BSTR TypeOfUI,
   18335         const VARIANT *ExtraData = 0) = 0;
   18336 
   18337     virtual HRESULT STDMETHODCALLTYPE GetRecognizers(
   18338         BSTR RequiredAttributes,
   18339         BSTR OptionalAttributes,
   18340         ISpeechObjectTokens **ObjectTokens) = 0;
   18341 
   18342     virtual HRESULT STDMETHODCALLTYPE GetAudioInputs(
   18343         BSTR RequiredAttributes,
   18344         BSTR OptionalAttributes,
   18345         ISpeechObjectTokens **ObjectTokens) = 0;
   18346 
   18347     virtual HRESULT STDMETHODCALLTYPE GetProfiles(
   18348         BSTR RequiredAttributes,
   18349         BSTR OptionalAttributes,
   18350         ISpeechObjectTokens **ObjectTokens) = 0;
   18351 
   18352 };
   18353 #ifdef __CRT_UUID_DECL
   18354 __CRT_UUID_DECL(ISpeechRecognizer, 0x2d5f1c0c, 0xbd75, 0x4b08, 0x94,0x78, 0x3b,0x11,0xfe,0xa2,0x58,0x6c)
   18355 #endif
   18356 #else
   18357 typedef struct ISpeechRecognizerVtbl {
   18358     BEGIN_INTERFACE
   18359 
   18360     /*** IUnknown methods ***/
   18361     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   18362         ISpeechRecognizer* This,
   18363         REFIID riid,
   18364         void **ppvObject);
   18365 
   18366     ULONG (STDMETHODCALLTYPE *AddRef)(
   18367         ISpeechRecognizer* This);
   18368 
   18369     ULONG (STDMETHODCALLTYPE *Release)(
   18370         ISpeechRecognizer* This);
   18371 
   18372     /*** IDispatch methods ***/
   18373     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   18374         ISpeechRecognizer* This,
   18375         UINT *pctinfo);
   18376 
   18377     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   18378         ISpeechRecognizer* This,
   18379         UINT iTInfo,
   18380         LCID lcid,
   18381         ITypeInfo **ppTInfo);
   18382 
   18383     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   18384         ISpeechRecognizer* This,
   18385         REFIID riid,
   18386         LPOLESTR *rgszNames,
   18387         UINT cNames,
   18388         LCID lcid,
   18389         DISPID *rgDispId);
   18390 
   18391     HRESULT (STDMETHODCALLTYPE *Invoke)(
   18392         ISpeechRecognizer* This,
   18393         DISPID dispIdMember,
   18394         REFIID riid,
   18395         LCID lcid,
   18396         WORD wFlags,
   18397         DISPPARAMS *pDispParams,
   18398         VARIANT *pVarResult,
   18399         EXCEPINFO *pExcepInfo,
   18400         UINT *puArgErr);
   18401 
   18402     /*** ISpeechRecognizer methods ***/
   18403     HRESULT (STDMETHODCALLTYPE *putref_Recognizer)(
   18404         ISpeechRecognizer* This,
   18405         ISpeechObjectToken *Recognizer);
   18406 
   18407     HRESULT (STDMETHODCALLTYPE *get_Recognizer)(
   18408         ISpeechRecognizer* This,
   18409         ISpeechObjectToken **Recognizer);
   18410 
   18411     HRESULT (STDMETHODCALLTYPE *put_AllowAudioInputFormatChangesOnNextSet)(
   18412         ISpeechRecognizer* This,
   18413         VARIANT_BOOL Allow);
   18414 
   18415     HRESULT (STDMETHODCALLTYPE *get_AllowAudioInputFormatChangesOnNextSet)(
   18416         ISpeechRecognizer* This,
   18417         VARIANT_BOOL *Allow);
   18418 
   18419     HRESULT (STDMETHODCALLTYPE *putref_AudioInput)(
   18420         ISpeechRecognizer* This,
   18421         ISpeechObjectToken *AudioInput);
   18422 
   18423     HRESULT (STDMETHODCALLTYPE *get_AudioInput)(
   18424         ISpeechRecognizer* This,
   18425         ISpeechObjectToken **AudioInput);
   18426 
   18427     HRESULT (STDMETHODCALLTYPE *putref_AudioInputStream)(
   18428         ISpeechRecognizer* This,
   18429         ISpeechBaseStream *AudioInputStream);
   18430 
   18431     HRESULT (STDMETHODCALLTYPE *get_AudioInputStream)(
   18432         ISpeechRecognizer* This,
   18433         ISpeechBaseStream **AudioInputStream);
   18434 
   18435     HRESULT (STDMETHODCALLTYPE *get_IsShared)(
   18436         ISpeechRecognizer* This,
   18437         VARIANT_BOOL *Shared);
   18438 
   18439     HRESULT (STDMETHODCALLTYPE *put_State)(
   18440         ISpeechRecognizer* This,
   18441         SpeechRecognizerState State);
   18442 
   18443     HRESULT (STDMETHODCALLTYPE *get_State)(
   18444         ISpeechRecognizer* This,
   18445         SpeechRecognizerState *State);
   18446 
   18447     HRESULT (STDMETHODCALLTYPE *get_Status)(
   18448         ISpeechRecognizer* This,
   18449         ISpeechRecognizerStatus **Status);
   18450 
   18451     HRESULT (STDMETHODCALLTYPE *putref_Profile)(
   18452         ISpeechRecognizer* This,
   18453         ISpeechObjectToken *Profile);
   18454 
   18455     HRESULT (STDMETHODCALLTYPE *get_Profile)(
   18456         ISpeechRecognizer* This,
   18457         ISpeechObjectToken **Profile);
   18458 
   18459     HRESULT (STDMETHODCALLTYPE *EmulateRecognition)(
   18460         ISpeechRecognizer* This,
   18461         VARIANT TextElements,
   18462         VARIANT *ElementDisplayAttributes,
   18463         LONG LanguageId);
   18464 
   18465     HRESULT (STDMETHODCALLTYPE *CreateRecoContext)(
   18466         ISpeechRecognizer* This,
   18467         ISpeechRecoContext **NewContext);
   18468 
   18469     HRESULT (STDMETHODCALLTYPE *GetFormat)(
   18470         ISpeechRecognizer* This,
   18471         SpeechFormatType Type,
   18472         ISpeechAudioFormat **Format);
   18473 
   18474     HRESULT (STDMETHODCALLTYPE *SetPropertyNumber)(
   18475         ISpeechRecognizer* This,
   18476         const BSTR Name,
   18477         LONG Value,
   18478         VARIANT_BOOL *Supported);
   18479 
   18480     HRESULT (STDMETHODCALLTYPE *GetPropertyNumber)(
   18481         ISpeechRecognizer* This,
   18482         const BSTR Name,
   18483         LONG *Value,
   18484         VARIANT_BOOL *Supported);
   18485 
   18486     HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
   18487         ISpeechRecognizer* This,
   18488         const BSTR Name,
   18489         const BSTR Value,
   18490         VARIANT_BOOL *Supported);
   18491 
   18492     HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
   18493         ISpeechRecognizer* This,
   18494         const BSTR Name,
   18495         BSTR *Value,
   18496         VARIANT_BOOL *Supported);
   18497 
   18498     HRESULT (STDMETHODCALLTYPE *IsUISupported)(
   18499         ISpeechRecognizer* This,
   18500         const BSTR TypeOfUI,
   18501         const VARIANT *ExtraData,
   18502         VARIANT_BOOL *Supported);
   18503 
   18504     HRESULT (STDMETHODCALLTYPE *DisplayUI)(
   18505         ISpeechRecognizer* This,
   18506         LONG hWndParent,
   18507         BSTR Title,
   18508         const BSTR TypeOfUI,
   18509         const VARIANT *ExtraData);
   18510 
   18511     HRESULT (STDMETHODCALLTYPE *GetRecognizers)(
   18512         ISpeechRecognizer* This,
   18513         BSTR RequiredAttributes,
   18514         BSTR OptionalAttributes,
   18515         ISpeechObjectTokens **ObjectTokens);
   18516 
   18517     HRESULT (STDMETHODCALLTYPE *GetAudioInputs)(
   18518         ISpeechRecognizer* This,
   18519         BSTR RequiredAttributes,
   18520         BSTR OptionalAttributes,
   18521         ISpeechObjectTokens **ObjectTokens);
   18522 
   18523     HRESULT (STDMETHODCALLTYPE *GetProfiles)(
   18524         ISpeechRecognizer* This,
   18525         BSTR RequiredAttributes,
   18526         BSTR OptionalAttributes,
   18527         ISpeechObjectTokens **ObjectTokens);
   18528 
   18529     END_INTERFACE
   18530 } ISpeechRecognizerVtbl;
   18531 interface ISpeechRecognizer {
   18532     CONST_VTBL ISpeechRecognizerVtbl* lpVtbl;
   18533 };
   18534 
   18535 #ifdef COBJMACROS
   18536 #ifndef WIDL_C_INLINE_WRAPPERS
   18537 /*** IUnknown methods ***/
   18538 #define ISpeechRecognizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   18539 #define ISpeechRecognizer_AddRef(This) (This)->lpVtbl->AddRef(This)
   18540 #define ISpeechRecognizer_Release(This) (This)->lpVtbl->Release(This)
   18541 /*** IDispatch methods ***/
   18542 #define ISpeechRecognizer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   18543 #define ISpeechRecognizer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   18544 #define ISpeechRecognizer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   18545 #define ISpeechRecognizer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   18546 /*** ISpeechRecognizer methods ***/
   18547 #define ISpeechRecognizer_putref_Recognizer(This,Recognizer) (This)->lpVtbl->putref_Recognizer(This,Recognizer)
   18548 #define ISpeechRecognizer_get_Recognizer(This,Recognizer) (This)->lpVtbl->get_Recognizer(This,Recognizer)
   18549 #define ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->put_AllowAudioInputFormatChangesOnNextSet(This,Allow)
   18550 #define ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet(This,Allow) (This)->lpVtbl->get_AllowAudioInputFormatChangesOnNextSet(This,Allow)
   18551 #define ISpeechRecognizer_putref_AudioInput(This,AudioInput) (This)->lpVtbl->putref_AudioInput(This,AudioInput)
   18552 #define ISpeechRecognizer_get_AudioInput(This,AudioInput) (This)->lpVtbl->get_AudioInput(This,AudioInput)
   18553 #define ISpeechRecognizer_putref_AudioInputStream(This,AudioInputStream) (This)->lpVtbl->putref_AudioInputStream(This,AudioInputStream)
   18554 #define ISpeechRecognizer_get_AudioInputStream(This,AudioInputStream) (This)->lpVtbl->get_AudioInputStream(This,AudioInputStream)
   18555 #define ISpeechRecognizer_get_IsShared(This,Shared) (This)->lpVtbl->get_IsShared(This,Shared)
   18556 #define ISpeechRecognizer_put_State(This,State) (This)->lpVtbl->put_State(This,State)
   18557 #define ISpeechRecognizer_get_State(This,State) (This)->lpVtbl->get_State(This,State)
   18558 #define ISpeechRecognizer_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
   18559 #define ISpeechRecognizer_putref_Profile(This,Profile) (This)->lpVtbl->putref_Profile(This,Profile)
   18560 #define ISpeechRecognizer_get_Profile(This,Profile) (This)->lpVtbl->get_Profile(This,Profile)
   18561 #define ISpeechRecognizer_EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId) (This)->lpVtbl->EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId)
   18562 #define ISpeechRecognizer_CreateRecoContext(This,NewContext) (This)->lpVtbl->CreateRecoContext(This,NewContext)
   18563 #define ISpeechRecognizer_GetFormat(This,Type,Format) (This)->lpVtbl->GetFormat(This,Type,Format)
   18564 #define ISpeechRecognizer_SetPropertyNumber(This,Name,Value,Supported) (This)->lpVtbl->SetPropertyNumber(This,Name,Value,Supported)
   18565 #define ISpeechRecognizer_GetPropertyNumber(This,Name,Value,Supported) (This)->lpVtbl->GetPropertyNumber(This,Name,Value,Supported)
   18566 #define ISpeechRecognizer_SetPropertyString(This,Name,Value,Supported) (This)->lpVtbl->SetPropertyString(This,Name,Value,Supported)
   18567 #define ISpeechRecognizer_GetPropertyString(This,Name,Value,Supported) (This)->lpVtbl->GetPropertyString(This,Name,Value,Supported)
   18568 #define ISpeechRecognizer_IsUISupported(This,TypeOfUI,ExtraData,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported)
   18569 #define ISpeechRecognizer_DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData) (This)->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData)
   18570 #define ISpeechRecognizer_GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
   18571 #define ISpeechRecognizer_GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
   18572 #define ISpeechRecognizer_GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens) (This)->lpVtbl->GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens)
   18573 #else
   18574 /*** IUnknown methods ***/
   18575 static FORCEINLINE HRESULT ISpeechRecognizer_QueryInterface(ISpeechRecognizer* This,REFIID riid,void **ppvObject) {
   18576     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   18577 }
   18578 static FORCEINLINE ULONG ISpeechRecognizer_AddRef(ISpeechRecognizer* This) {
   18579     return This->lpVtbl->AddRef(This);
   18580 }
   18581 static FORCEINLINE ULONG ISpeechRecognizer_Release(ISpeechRecognizer* This) {
   18582     return This->lpVtbl->Release(This);
   18583 }
   18584 /*** IDispatch methods ***/
   18585 static FORCEINLINE HRESULT ISpeechRecognizer_GetTypeInfoCount(ISpeechRecognizer* This,UINT *pctinfo) {
   18586     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   18587 }
   18588 static FORCEINLINE HRESULT ISpeechRecognizer_GetTypeInfo(ISpeechRecognizer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   18589     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   18590 }
   18591 static FORCEINLINE HRESULT ISpeechRecognizer_GetIDsOfNames(ISpeechRecognizer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   18592     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   18593 }
   18594 static FORCEINLINE HRESULT ISpeechRecognizer_Invoke(ISpeechRecognizer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   18595     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   18596 }
   18597 /*** ISpeechRecognizer methods ***/
   18598 static FORCEINLINE HRESULT ISpeechRecognizer_putref_Recognizer(ISpeechRecognizer* This,ISpeechObjectToken *Recognizer) {
   18599     return This->lpVtbl->putref_Recognizer(This,Recognizer);
   18600 }
   18601 static FORCEINLINE HRESULT ISpeechRecognizer_get_Recognizer(ISpeechRecognizer* This,ISpeechObjectToken **Recognizer) {
   18602     return This->lpVtbl->get_Recognizer(This,Recognizer);
   18603 }
   18604 static FORCEINLINE HRESULT ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet(ISpeechRecognizer* This,VARIANT_BOOL Allow) {
   18605     return This->lpVtbl->put_AllowAudioInputFormatChangesOnNextSet(This,Allow);
   18606 }
   18607 static FORCEINLINE HRESULT ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet(ISpeechRecognizer* This,VARIANT_BOOL *Allow) {
   18608     return This->lpVtbl->get_AllowAudioInputFormatChangesOnNextSet(This,Allow);
   18609 }
   18610 static FORCEINLINE HRESULT ISpeechRecognizer_putref_AudioInput(ISpeechRecognizer* This,ISpeechObjectToken *AudioInput) {
   18611     return This->lpVtbl->putref_AudioInput(This,AudioInput);
   18612 }
   18613 static FORCEINLINE HRESULT ISpeechRecognizer_get_AudioInput(ISpeechRecognizer* This,ISpeechObjectToken **AudioInput) {
   18614     return This->lpVtbl->get_AudioInput(This,AudioInput);
   18615 }
   18616 static FORCEINLINE HRESULT ISpeechRecognizer_putref_AudioInputStream(ISpeechRecognizer* This,ISpeechBaseStream *AudioInputStream) {
   18617     return This->lpVtbl->putref_AudioInputStream(This,AudioInputStream);
   18618 }
   18619 static FORCEINLINE HRESULT ISpeechRecognizer_get_AudioInputStream(ISpeechRecognizer* This,ISpeechBaseStream **AudioInputStream) {
   18620     return This->lpVtbl->get_AudioInputStream(This,AudioInputStream);
   18621 }
   18622 static FORCEINLINE HRESULT ISpeechRecognizer_get_IsShared(ISpeechRecognizer* This,VARIANT_BOOL *Shared) {
   18623     return This->lpVtbl->get_IsShared(This,Shared);
   18624 }
   18625 static FORCEINLINE HRESULT ISpeechRecognizer_put_State(ISpeechRecognizer* This,SpeechRecognizerState State) {
   18626     return This->lpVtbl->put_State(This,State);
   18627 }
   18628 static FORCEINLINE HRESULT ISpeechRecognizer_get_State(ISpeechRecognizer* This,SpeechRecognizerState *State) {
   18629     return This->lpVtbl->get_State(This,State);
   18630 }
   18631 static FORCEINLINE HRESULT ISpeechRecognizer_get_Status(ISpeechRecognizer* This,ISpeechRecognizerStatus **Status) {
   18632     return This->lpVtbl->get_Status(This,Status);
   18633 }
   18634 static FORCEINLINE HRESULT ISpeechRecognizer_putref_Profile(ISpeechRecognizer* This,ISpeechObjectToken *Profile) {
   18635     return This->lpVtbl->putref_Profile(This,Profile);
   18636 }
   18637 static FORCEINLINE HRESULT ISpeechRecognizer_get_Profile(ISpeechRecognizer* This,ISpeechObjectToken **Profile) {
   18638     return This->lpVtbl->get_Profile(This,Profile);
   18639 }
   18640 static FORCEINLINE HRESULT ISpeechRecognizer_EmulateRecognition(ISpeechRecognizer* This,VARIANT TextElements,VARIANT *ElementDisplayAttributes,LONG LanguageId) {
   18641     return This->lpVtbl->EmulateRecognition(This,TextElements,ElementDisplayAttributes,LanguageId);
   18642 }
   18643 static FORCEINLINE HRESULT ISpeechRecognizer_CreateRecoContext(ISpeechRecognizer* This,ISpeechRecoContext **NewContext) {
   18644     return This->lpVtbl->CreateRecoContext(This,NewContext);
   18645 }
   18646 static FORCEINLINE HRESULT ISpeechRecognizer_GetFormat(ISpeechRecognizer* This,SpeechFormatType Type,ISpeechAudioFormat **Format) {
   18647     return This->lpVtbl->GetFormat(This,Type,Format);
   18648 }
   18649 static FORCEINLINE HRESULT ISpeechRecognizer_SetPropertyNumber(ISpeechRecognizer* This,const BSTR Name,LONG Value,VARIANT_BOOL *Supported) {
   18650     return This->lpVtbl->SetPropertyNumber(This,Name,Value,Supported);
   18651 }
   18652 static FORCEINLINE HRESULT ISpeechRecognizer_GetPropertyNumber(ISpeechRecognizer* This,const BSTR Name,LONG *Value,VARIANT_BOOL *Supported) {
   18653     return This->lpVtbl->GetPropertyNumber(This,Name,Value,Supported);
   18654 }
   18655 static FORCEINLINE HRESULT ISpeechRecognizer_SetPropertyString(ISpeechRecognizer* This,const BSTR Name,const BSTR Value,VARIANT_BOOL *Supported) {
   18656     return This->lpVtbl->SetPropertyString(This,Name,Value,Supported);
   18657 }
   18658 static FORCEINLINE HRESULT ISpeechRecognizer_GetPropertyString(ISpeechRecognizer* This,const BSTR Name,BSTR *Value,VARIANT_BOOL *Supported) {
   18659     return This->lpVtbl->GetPropertyString(This,Name,Value,Supported);
   18660 }
   18661 static FORCEINLINE HRESULT ISpeechRecognizer_IsUISupported(ISpeechRecognizer* This,const BSTR TypeOfUI,const VARIANT *ExtraData,VARIANT_BOOL *Supported) {
   18662     return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Supported);
   18663 }
   18664 static FORCEINLINE HRESULT ISpeechRecognizer_DisplayUI(ISpeechRecognizer* This,LONG hWndParent,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData) {
   18665     return This->lpVtbl->DisplayUI(This,hWndParent,Title,TypeOfUI,ExtraData);
   18666 }
   18667 static FORCEINLINE HRESULT ISpeechRecognizer_GetRecognizers(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
   18668     return This->lpVtbl->GetRecognizers(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
   18669 }
   18670 static FORCEINLINE HRESULT ISpeechRecognizer_GetAudioInputs(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
   18671     return This->lpVtbl->GetAudioInputs(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
   18672 }
   18673 static FORCEINLINE HRESULT ISpeechRecognizer_GetProfiles(ISpeechRecognizer* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **ObjectTokens) {
   18674     return This->lpVtbl->GetProfiles(This,RequiredAttributes,OptionalAttributes,ObjectTokens);
   18675 }
   18676 #endif
   18677 #endif
   18678 
   18679 #endif
   18680 
   18681 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_Recognizer_Proxy(
   18682     ISpeechRecognizer* This,
   18683     ISpeechObjectToken *Recognizer);
   18684 void __RPC_STUB ISpeechRecognizer_putref_Recognizer_Stub(
   18685     IRpcStubBuffer* This,
   18686     IRpcChannelBuffer* pRpcChannelBuffer,
   18687     PRPC_MESSAGE pRpcMessage,
   18688     DWORD* pdwStubPhase);
   18689 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Recognizer_Proxy(
   18690     ISpeechRecognizer* This,
   18691     ISpeechObjectToken **Recognizer);
   18692 void __RPC_STUB ISpeechRecognizer_get_Recognizer_Stub(
   18693     IRpcStubBuffer* This,
   18694     IRpcChannelBuffer* pRpcChannelBuffer,
   18695     PRPC_MESSAGE pRpcMessage,
   18696     DWORD* pdwStubPhase);
   18697 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet_Proxy(
   18698     ISpeechRecognizer* This,
   18699     VARIANT_BOOL Allow);
   18700 void __RPC_STUB ISpeechRecognizer_put_AllowAudioInputFormatChangesOnNextSet_Stub(
   18701     IRpcStubBuffer* This,
   18702     IRpcChannelBuffer* pRpcChannelBuffer,
   18703     PRPC_MESSAGE pRpcMessage,
   18704     DWORD* pdwStubPhase);
   18705 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet_Proxy(
   18706     ISpeechRecognizer* This,
   18707     VARIANT_BOOL *Allow);
   18708 void __RPC_STUB ISpeechRecognizer_get_AllowAudioInputFormatChangesOnNextSet_Stub(
   18709     IRpcStubBuffer* This,
   18710     IRpcChannelBuffer* pRpcChannelBuffer,
   18711     PRPC_MESSAGE pRpcMessage,
   18712     DWORD* pdwStubPhase);
   18713 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_AudioInput_Proxy(
   18714     ISpeechRecognizer* This,
   18715     ISpeechObjectToken *AudioInput);
   18716 void __RPC_STUB ISpeechRecognizer_putref_AudioInput_Stub(
   18717     IRpcStubBuffer* This,
   18718     IRpcChannelBuffer* pRpcChannelBuffer,
   18719     PRPC_MESSAGE pRpcMessage,
   18720     DWORD* pdwStubPhase);
   18721 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AudioInput_Proxy(
   18722     ISpeechRecognizer* This,
   18723     ISpeechObjectToken **AudioInput);
   18724 void __RPC_STUB ISpeechRecognizer_get_AudioInput_Stub(
   18725     IRpcStubBuffer* This,
   18726     IRpcChannelBuffer* pRpcChannelBuffer,
   18727     PRPC_MESSAGE pRpcMessage,
   18728     DWORD* pdwStubPhase);
   18729 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_AudioInputStream_Proxy(
   18730     ISpeechRecognizer* This,
   18731     ISpeechBaseStream *AudioInputStream);
   18732 void __RPC_STUB ISpeechRecognizer_putref_AudioInputStream_Stub(
   18733     IRpcStubBuffer* This,
   18734     IRpcChannelBuffer* pRpcChannelBuffer,
   18735     PRPC_MESSAGE pRpcMessage,
   18736     DWORD* pdwStubPhase);
   18737 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_AudioInputStream_Proxy(
   18738     ISpeechRecognizer* This,
   18739     ISpeechBaseStream **AudioInputStream);
   18740 void __RPC_STUB ISpeechRecognizer_get_AudioInputStream_Stub(
   18741     IRpcStubBuffer* This,
   18742     IRpcChannelBuffer* pRpcChannelBuffer,
   18743     PRPC_MESSAGE pRpcMessage,
   18744     DWORD* pdwStubPhase);
   18745 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_IsShared_Proxy(
   18746     ISpeechRecognizer* This,
   18747     VARIANT_BOOL *Shared);
   18748 void __RPC_STUB ISpeechRecognizer_get_IsShared_Stub(
   18749     IRpcStubBuffer* This,
   18750     IRpcChannelBuffer* pRpcChannelBuffer,
   18751     PRPC_MESSAGE pRpcMessage,
   18752     DWORD* pdwStubPhase);
   18753 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_put_State_Proxy(
   18754     ISpeechRecognizer* This,
   18755     SpeechRecognizerState State);
   18756 void __RPC_STUB ISpeechRecognizer_put_State_Stub(
   18757     IRpcStubBuffer* This,
   18758     IRpcChannelBuffer* pRpcChannelBuffer,
   18759     PRPC_MESSAGE pRpcMessage,
   18760     DWORD* pdwStubPhase);
   18761 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_State_Proxy(
   18762     ISpeechRecognizer* This,
   18763     SpeechRecognizerState *State);
   18764 void __RPC_STUB ISpeechRecognizer_get_State_Stub(
   18765     IRpcStubBuffer* This,
   18766     IRpcChannelBuffer* pRpcChannelBuffer,
   18767     PRPC_MESSAGE pRpcMessage,
   18768     DWORD* pdwStubPhase);
   18769 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Status_Proxy(
   18770     ISpeechRecognizer* This,
   18771     ISpeechRecognizerStatus **Status);
   18772 void __RPC_STUB ISpeechRecognizer_get_Status_Stub(
   18773     IRpcStubBuffer* This,
   18774     IRpcChannelBuffer* pRpcChannelBuffer,
   18775     PRPC_MESSAGE pRpcMessage,
   18776     DWORD* pdwStubPhase);
   18777 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_putref_Profile_Proxy(
   18778     ISpeechRecognizer* This,
   18779     ISpeechObjectToken *Profile);
   18780 void __RPC_STUB ISpeechRecognizer_putref_Profile_Stub(
   18781     IRpcStubBuffer* This,
   18782     IRpcChannelBuffer* pRpcChannelBuffer,
   18783     PRPC_MESSAGE pRpcMessage,
   18784     DWORD* pdwStubPhase);
   18785 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_get_Profile_Proxy(
   18786     ISpeechRecognizer* This,
   18787     ISpeechObjectToken **Profile);
   18788 void __RPC_STUB ISpeechRecognizer_get_Profile_Stub(
   18789     IRpcStubBuffer* This,
   18790     IRpcChannelBuffer* pRpcChannelBuffer,
   18791     PRPC_MESSAGE pRpcMessage,
   18792     DWORD* pdwStubPhase);
   18793 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_EmulateRecognition_Proxy(
   18794     ISpeechRecognizer* This,
   18795     VARIANT TextElements,
   18796     VARIANT *ElementDisplayAttributes,
   18797     LONG LanguageId);
   18798 void __RPC_STUB ISpeechRecognizer_EmulateRecognition_Stub(
   18799     IRpcStubBuffer* This,
   18800     IRpcChannelBuffer* pRpcChannelBuffer,
   18801     PRPC_MESSAGE pRpcMessage,
   18802     DWORD* pdwStubPhase);
   18803 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_CreateRecoContext_Proxy(
   18804     ISpeechRecognizer* This,
   18805     ISpeechRecoContext **NewContext);
   18806 void __RPC_STUB ISpeechRecognizer_CreateRecoContext_Stub(
   18807     IRpcStubBuffer* This,
   18808     IRpcChannelBuffer* pRpcChannelBuffer,
   18809     PRPC_MESSAGE pRpcMessage,
   18810     DWORD* pdwStubPhase);
   18811 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetFormat_Proxy(
   18812     ISpeechRecognizer* This,
   18813     SpeechFormatType Type,
   18814     ISpeechAudioFormat **Format);
   18815 void __RPC_STUB ISpeechRecognizer_GetFormat_Stub(
   18816     IRpcStubBuffer* This,
   18817     IRpcChannelBuffer* pRpcChannelBuffer,
   18818     PRPC_MESSAGE pRpcMessage,
   18819     DWORD* pdwStubPhase);
   18820 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_SetPropertyNumber_Proxy(
   18821     ISpeechRecognizer* This,
   18822     const BSTR Name,
   18823     LONG Value,
   18824     VARIANT_BOOL *Supported);
   18825 void __RPC_STUB ISpeechRecognizer_SetPropertyNumber_Stub(
   18826     IRpcStubBuffer* This,
   18827     IRpcChannelBuffer* pRpcChannelBuffer,
   18828     PRPC_MESSAGE pRpcMessage,
   18829     DWORD* pdwStubPhase);
   18830 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetPropertyNumber_Proxy(
   18831     ISpeechRecognizer* This,
   18832     const BSTR Name,
   18833     LONG *Value,
   18834     VARIANT_BOOL *Supported);
   18835 void __RPC_STUB ISpeechRecognizer_GetPropertyNumber_Stub(
   18836     IRpcStubBuffer* This,
   18837     IRpcChannelBuffer* pRpcChannelBuffer,
   18838     PRPC_MESSAGE pRpcMessage,
   18839     DWORD* pdwStubPhase);
   18840 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_SetPropertyString_Proxy(
   18841     ISpeechRecognizer* This,
   18842     const BSTR Name,
   18843     const BSTR Value,
   18844     VARIANT_BOOL *Supported);
   18845 void __RPC_STUB ISpeechRecognizer_SetPropertyString_Stub(
   18846     IRpcStubBuffer* This,
   18847     IRpcChannelBuffer* pRpcChannelBuffer,
   18848     PRPC_MESSAGE pRpcMessage,
   18849     DWORD* pdwStubPhase);
   18850 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetPropertyString_Proxy(
   18851     ISpeechRecognizer* This,
   18852     const BSTR Name,
   18853     BSTR *Value,
   18854     VARIANT_BOOL *Supported);
   18855 void __RPC_STUB ISpeechRecognizer_GetPropertyString_Stub(
   18856     IRpcStubBuffer* This,
   18857     IRpcChannelBuffer* pRpcChannelBuffer,
   18858     PRPC_MESSAGE pRpcMessage,
   18859     DWORD* pdwStubPhase);
   18860 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_IsUISupported_Proxy(
   18861     ISpeechRecognizer* This,
   18862     const BSTR TypeOfUI,
   18863     const VARIANT *ExtraData,
   18864     VARIANT_BOOL *Supported);
   18865 void __RPC_STUB ISpeechRecognizer_IsUISupported_Stub(
   18866     IRpcStubBuffer* This,
   18867     IRpcChannelBuffer* pRpcChannelBuffer,
   18868     PRPC_MESSAGE pRpcMessage,
   18869     DWORD* pdwStubPhase);
   18870 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_DisplayUI_Proxy(
   18871     ISpeechRecognizer* This,
   18872     LONG hWndParent,
   18873     BSTR Title,
   18874     const BSTR TypeOfUI,
   18875     const VARIANT *ExtraData);
   18876 void __RPC_STUB ISpeechRecognizer_DisplayUI_Stub(
   18877     IRpcStubBuffer* This,
   18878     IRpcChannelBuffer* pRpcChannelBuffer,
   18879     PRPC_MESSAGE pRpcMessage,
   18880     DWORD* pdwStubPhase);
   18881 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetRecognizers_Proxy(
   18882     ISpeechRecognizer* This,
   18883     BSTR RequiredAttributes,
   18884     BSTR OptionalAttributes,
   18885     ISpeechObjectTokens **ObjectTokens);
   18886 void __RPC_STUB ISpeechRecognizer_GetRecognizers_Stub(
   18887     IRpcStubBuffer* This,
   18888     IRpcChannelBuffer* pRpcChannelBuffer,
   18889     PRPC_MESSAGE pRpcMessage,
   18890     DWORD* pdwStubPhase);
   18891 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetAudioInputs_Proxy(
   18892     ISpeechRecognizer* This,
   18893     BSTR RequiredAttributes,
   18894     BSTR OptionalAttributes,
   18895     ISpeechObjectTokens **ObjectTokens);
   18896 void __RPC_STUB ISpeechRecognizer_GetAudioInputs_Stub(
   18897     IRpcStubBuffer* This,
   18898     IRpcChannelBuffer* pRpcChannelBuffer,
   18899     PRPC_MESSAGE pRpcMessage,
   18900     DWORD* pdwStubPhase);
   18901 HRESULT STDMETHODCALLTYPE ISpeechRecognizer_GetProfiles_Proxy(
   18902     ISpeechRecognizer* This,
   18903     BSTR RequiredAttributes,
   18904     BSTR OptionalAttributes,
   18905     ISpeechObjectTokens **ObjectTokens);
   18906 void __RPC_STUB ISpeechRecognizer_GetProfiles_Stub(
   18907     IRpcStubBuffer* This,
   18908     IRpcChannelBuffer* pRpcChannelBuffer,
   18909     PRPC_MESSAGE pRpcMessage,
   18910     DWORD* pdwStubPhase);
   18911 
   18912 #endif  /* __ISpeechRecognizer_INTERFACE_DEFINED__ */
   18913 
   18914 /*****************************************************************************
   18915  * ISpeechRecognizerStatus interface
   18916  */
   18917 #ifndef __ISpeechRecognizerStatus_INTERFACE_DEFINED__
   18918 #define __ISpeechRecognizerStatus_INTERFACE_DEFINED__
   18919 
   18920 DEFINE_GUID(IID_ISpeechRecognizerStatus, 0xbff9e781, 0x53ec, 0x484e, 0xbb,0x8a, 0x0e,0x1b,0x55,0x51,0xe3,0x5c);
   18921 #if defined(__cplusplus) && !defined(CINTERFACE)
   18922 MIDL_INTERFACE("bff9e781-53ec-484e-bb8a-0e1b5551e35c")
   18923 ISpeechRecognizerStatus : public IDispatch
   18924 {
   18925     virtual HRESULT STDMETHODCALLTYPE get_AudioStatus(
   18926         ISpeechAudioStatus **AudioStatus) = 0;
   18927 
   18928     virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamPosition(
   18929         VARIANT *pCurrentStreamPos) = 0;
   18930 
   18931     virtual HRESULT STDMETHODCALLTYPE get_CurrentStreamNumber(
   18932         LONG *StreamNumber) = 0;
   18933 
   18934     virtual HRESULT STDMETHODCALLTYPE get_NumberOfActiveRules(
   18935         LONG *NumberOfActiveRules) = 0;
   18936 
   18937     virtual HRESULT STDMETHODCALLTYPE get_ClsidEngine(
   18938         BSTR *ClsidEngine) = 0;
   18939 
   18940     virtual HRESULT STDMETHODCALLTYPE get_SupportedLanguages(
   18941         VARIANT *SupportedLanguages) = 0;
   18942 
   18943 };
   18944 #ifdef __CRT_UUID_DECL
   18945 __CRT_UUID_DECL(ISpeechRecognizerStatus, 0xbff9e781, 0x53ec, 0x484e, 0xbb,0x8a, 0x0e,0x1b,0x55,0x51,0xe3,0x5c)
   18946 #endif
   18947 #else
   18948 typedef struct ISpeechRecognizerStatusVtbl {
   18949     BEGIN_INTERFACE
   18950 
   18951     /*** IUnknown methods ***/
   18952     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   18953         ISpeechRecognizerStatus* This,
   18954         REFIID riid,
   18955         void **ppvObject);
   18956 
   18957     ULONG (STDMETHODCALLTYPE *AddRef)(
   18958         ISpeechRecognizerStatus* This);
   18959 
   18960     ULONG (STDMETHODCALLTYPE *Release)(
   18961         ISpeechRecognizerStatus* This);
   18962 
   18963     /*** IDispatch methods ***/
   18964     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   18965         ISpeechRecognizerStatus* This,
   18966         UINT *pctinfo);
   18967 
   18968     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   18969         ISpeechRecognizerStatus* This,
   18970         UINT iTInfo,
   18971         LCID lcid,
   18972         ITypeInfo **ppTInfo);
   18973 
   18974     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   18975         ISpeechRecognizerStatus* This,
   18976         REFIID riid,
   18977         LPOLESTR *rgszNames,
   18978         UINT cNames,
   18979         LCID lcid,
   18980         DISPID *rgDispId);
   18981 
   18982     HRESULT (STDMETHODCALLTYPE *Invoke)(
   18983         ISpeechRecognizerStatus* This,
   18984         DISPID dispIdMember,
   18985         REFIID riid,
   18986         LCID lcid,
   18987         WORD wFlags,
   18988         DISPPARAMS *pDispParams,
   18989         VARIANT *pVarResult,
   18990         EXCEPINFO *pExcepInfo,
   18991         UINT *puArgErr);
   18992 
   18993     /*** ISpeechRecognizerStatus methods ***/
   18994     HRESULT (STDMETHODCALLTYPE *get_AudioStatus)(
   18995         ISpeechRecognizerStatus* This,
   18996         ISpeechAudioStatus **AudioStatus);
   18997 
   18998     HRESULT (STDMETHODCALLTYPE *get_CurrentStreamPosition)(
   18999         ISpeechRecognizerStatus* This,
   19000         VARIANT *pCurrentStreamPos);
   19001 
   19002     HRESULT (STDMETHODCALLTYPE *get_CurrentStreamNumber)(
   19003         ISpeechRecognizerStatus* This,
   19004         LONG *StreamNumber);
   19005 
   19006     HRESULT (STDMETHODCALLTYPE *get_NumberOfActiveRules)(
   19007         ISpeechRecognizerStatus* This,
   19008         LONG *NumberOfActiveRules);
   19009 
   19010     HRESULT (STDMETHODCALLTYPE *get_ClsidEngine)(
   19011         ISpeechRecognizerStatus* This,
   19012         BSTR *ClsidEngine);
   19013 
   19014     HRESULT (STDMETHODCALLTYPE *get_SupportedLanguages)(
   19015         ISpeechRecognizerStatus* This,
   19016         VARIANT *SupportedLanguages);
   19017 
   19018     END_INTERFACE
   19019 } ISpeechRecognizerStatusVtbl;
   19020 interface ISpeechRecognizerStatus {
   19021     CONST_VTBL ISpeechRecognizerStatusVtbl* lpVtbl;
   19022 };
   19023 
   19024 #ifdef COBJMACROS
   19025 #ifndef WIDL_C_INLINE_WRAPPERS
   19026 /*** IUnknown methods ***/
   19027 #define ISpeechRecognizerStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   19028 #define ISpeechRecognizerStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
   19029 #define ISpeechRecognizerStatus_Release(This) (This)->lpVtbl->Release(This)
   19030 /*** IDispatch methods ***/
   19031 #define ISpeechRecognizerStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   19032 #define ISpeechRecognizerStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   19033 #define ISpeechRecognizerStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   19034 #define ISpeechRecognizerStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   19035 /*** ISpeechRecognizerStatus methods ***/
   19036 #define ISpeechRecognizerStatus_get_AudioStatus(This,AudioStatus) (This)->lpVtbl->get_AudioStatus(This,AudioStatus)
   19037 #define ISpeechRecognizerStatus_get_CurrentStreamPosition(This,pCurrentStreamPos) (This)->lpVtbl->get_CurrentStreamPosition(This,pCurrentStreamPos)
   19038 #define ISpeechRecognizerStatus_get_CurrentStreamNumber(This,StreamNumber) (This)->lpVtbl->get_CurrentStreamNumber(This,StreamNumber)
   19039 #define ISpeechRecognizerStatus_get_NumberOfActiveRules(This,NumberOfActiveRules) (This)->lpVtbl->get_NumberOfActiveRules(This,NumberOfActiveRules)
   19040 #define ISpeechRecognizerStatus_get_ClsidEngine(This,ClsidEngine) (This)->lpVtbl->get_ClsidEngine(This,ClsidEngine)
   19041 #define ISpeechRecognizerStatus_get_SupportedLanguages(This,SupportedLanguages) (This)->lpVtbl->get_SupportedLanguages(This,SupportedLanguages)
   19042 #else
   19043 /*** IUnknown methods ***/
   19044 static FORCEINLINE HRESULT ISpeechRecognizerStatus_QueryInterface(ISpeechRecognizerStatus* This,REFIID riid,void **ppvObject) {
   19045     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   19046 }
   19047 static FORCEINLINE ULONG ISpeechRecognizerStatus_AddRef(ISpeechRecognizerStatus* This) {
   19048     return This->lpVtbl->AddRef(This);
   19049 }
   19050 static FORCEINLINE ULONG ISpeechRecognizerStatus_Release(ISpeechRecognizerStatus* This) {
   19051     return This->lpVtbl->Release(This);
   19052 }
   19053 /*** IDispatch methods ***/
   19054 static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetTypeInfoCount(ISpeechRecognizerStatus* This,UINT *pctinfo) {
   19055     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   19056 }
   19057 static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetTypeInfo(ISpeechRecognizerStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   19058     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   19059 }
   19060 static FORCEINLINE HRESULT ISpeechRecognizerStatus_GetIDsOfNames(ISpeechRecognizerStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   19061     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   19062 }
   19063 static FORCEINLINE HRESULT ISpeechRecognizerStatus_Invoke(ISpeechRecognizerStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   19064     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   19065 }
   19066 /*** ISpeechRecognizerStatus methods ***/
   19067 static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_AudioStatus(ISpeechRecognizerStatus* This,ISpeechAudioStatus **AudioStatus) {
   19068     return This->lpVtbl->get_AudioStatus(This,AudioStatus);
   19069 }
   19070 static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_CurrentStreamPosition(ISpeechRecognizerStatus* This,VARIANT *pCurrentStreamPos) {
   19071     return This->lpVtbl->get_CurrentStreamPosition(This,pCurrentStreamPos);
   19072 }
   19073 static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_CurrentStreamNumber(ISpeechRecognizerStatus* This,LONG *StreamNumber) {
   19074     return This->lpVtbl->get_CurrentStreamNumber(This,StreamNumber);
   19075 }
   19076 static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_NumberOfActiveRules(ISpeechRecognizerStatus* This,LONG *NumberOfActiveRules) {
   19077     return This->lpVtbl->get_NumberOfActiveRules(This,NumberOfActiveRules);
   19078 }
   19079 static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_ClsidEngine(ISpeechRecognizerStatus* This,BSTR *ClsidEngine) {
   19080     return This->lpVtbl->get_ClsidEngine(This,ClsidEngine);
   19081 }
   19082 static FORCEINLINE HRESULT ISpeechRecognizerStatus_get_SupportedLanguages(ISpeechRecognizerStatus* This,VARIANT *SupportedLanguages) {
   19083     return This->lpVtbl->get_SupportedLanguages(This,SupportedLanguages);
   19084 }
   19085 #endif
   19086 #endif
   19087 
   19088 #endif
   19089 
   19090 HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_AudioStatus_Proxy(
   19091     ISpeechRecognizerStatus* This,
   19092     ISpeechAudioStatus **AudioStatus);
   19093 void __RPC_STUB ISpeechRecognizerStatus_get_AudioStatus_Stub(
   19094     IRpcStubBuffer* This,
   19095     IRpcChannelBuffer* pRpcChannelBuffer,
   19096     PRPC_MESSAGE pRpcMessage,
   19097     DWORD* pdwStubPhase);
   19098 HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_CurrentStreamPosition_Proxy(
   19099     ISpeechRecognizerStatus* This,
   19100     VARIANT *pCurrentStreamPos);
   19101 void __RPC_STUB ISpeechRecognizerStatus_get_CurrentStreamPosition_Stub(
   19102     IRpcStubBuffer* This,
   19103     IRpcChannelBuffer* pRpcChannelBuffer,
   19104     PRPC_MESSAGE pRpcMessage,
   19105     DWORD* pdwStubPhase);
   19106 HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_CurrentStreamNumber_Proxy(
   19107     ISpeechRecognizerStatus* This,
   19108     LONG *StreamNumber);
   19109 void __RPC_STUB ISpeechRecognizerStatus_get_CurrentStreamNumber_Stub(
   19110     IRpcStubBuffer* This,
   19111     IRpcChannelBuffer* pRpcChannelBuffer,
   19112     PRPC_MESSAGE pRpcMessage,
   19113     DWORD* pdwStubPhase);
   19114 HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_NumberOfActiveRules_Proxy(
   19115     ISpeechRecognizerStatus* This,
   19116     LONG *NumberOfActiveRules);
   19117 void __RPC_STUB ISpeechRecognizerStatus_get_NumberOfActiveRules_Stub(
   19118     IRpcStubBuffer* This,
   19119     IRpcChannelBuffer* pRpcChannelBuffer,
   19120     PRPC_MESSAGE pRpcMessage,
   19121     DWORD* pdwStubPhase);
   19122 HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_ClsidEngine_Proxy(
   19123     ISpeechRecognizerStatus* This,
   19124     BSTR *ClsidEngine);
   19125 void __RPC_STUB ISpeechRecognizerStatus_get_ClsidEngine_Stub(
   19126     IRpcStubBuffer* This,
   19127     IRpcChannelBuffer* pRpcChannelBuffer,
   19128     PRPC_MESSAGE pRpcMessage,
   19129     DWORD* pdwStubPhase);
   19130 HRESULT STDMETHODCALLTYPE ISpeechRecognizerStatus_get_SupportedLanguages_Proxy(
   19131     ISpeechRecognizerStatus* This,
   19132     VARIANT *SupportedLanguages);
   19133 void __RPC_STUB ISpeechRecognizerStatus_get_SupportedLanguages_Stub(
   19134     IRpcStubBuffer* This,
   19135     IRpcChannelBuffer* pRpcChannelBuffer,
   19136     PRPC_MESSAGE pRpcMessage,
   19137     DWORD* pdwStubPhase);
   19138 
   19139 #endif  /* __ISpeechRecognizerStatus_INTERFACE_DEFINED__ */
   19140 
   19141 /*****************************************************************************
   19142  * ISpeechRecoContext interface
   19143  */
   19144 #ifndef __ISpeechRecoContext_INTERFACE_DEFINED__
   19145 #define __ISpeechRecoContext_INTERFACE_DEFINED__
   19146 
   19147 DEFINE_GUID(IID_ISpeechRecoContext, 0x580aa49d, 0x7e1e, 0x4809, 0xb8,0xe2, 0x57,0xda,0x80,0x61,0x04,0xb8);
   19148 #if defined(__cplusplus) && !defined(CINTERFACE)
   19149 MIDL_INTERFACE("580aa49d-7e1e-4809-b8e2-57da806104b8")
   19150 ISpeechRecoContext : public IDispatch
   19151 {
   19152     virtual HRESULT STDMETHODCALLTYPE get_Recognizer(
   19153         ISpeechRecognizer **Recognizer) = 0;
   19154 
   19155     virtual HRESULT STDMETHODCALLTYPE get_AudioInputInterferenceStatus(
   19156         SpeechInterference *Interference) = 0;
   19157 
   19158     virtual HRESULT STDMETHODCALLTYPE get_RequestedUIType(
   19159         BSTR *UIType) = 0;
   19160 
   19161     virtual HRESULT STDMETHODCALLTYPE putref_Voice(
   19162         ISpeechVoice *Voice) = 0;
   19163 
   19164     virtual HRESULT STDMETHODCALLTYPE get_Voice(
   19165         ISpeechVoice **Voice) = 0;
   19166 
   19167     virtual HRESULT STDMETHODCALLTYPE put_AllowVoiceFormatMatchingOnNextSet(
   19168         VARIANT_BOOL Allow) = 0;
   19169 
   19170     virtual HRESULT STDMETHODCALLTYPE get_AllowVoiceFormatMatchingOnNextSet(
   19171         VARIANT_BOOL *pAllow) = 0;
   19172 
   19173     virtual HRESULT STDMETHODCALLTYPE put_VoicePurgeEvent(
   19174         SpeechRecoEvents EventInterest) = 0;
   19175 
   19176     virtual HRESULT STDMETHODCALLTYPE get_VoicePurgeEvent(
   19177         SpeechRecoEvents *EventInterest) = 0;
   19178 
   19179     virtual HRESULT STDMETHODCALLTYPE put_EventInterests(
   19180         SpeechRecoEvents EventInterest) = 0;
   19181 
   19182     virtual HRESULT STDMETHODCALLTYPE get_EventInterests(
   19183         SpeechRecoEvents *EventInterest) = 0;
   19184 
   19185     virtual HRESULT STDMETHODCALLTYPE put_CmdMaxAlternates(
   19186         LONG MaxAlternates) = 0;
   19187 
   19188     virtual HRESULT STDMETHODCALLTYPE get_CmdMaxAlternates(
   19189         LONG *MaxAlternates) = 0;
   19190 
   19191     virtual HRESULT STDMETHODCALLTYPE put_State(
   19192         SpeechRecoContextState State) = 0;
   19193 
   19194     virtual HRESULT STDMETHODCALLTYPE get_State(
   19195         SpeechRecoContextState *State) = 0;
   19196 
   19197     virtual HRESULT STDMETHODCALLTYPE put_RetainedAudio(
   19198         SpeechRetainedAudioOptions Option) = 0;
   19199 
   19200     virtual HRESULT STDMETHODCALLTYPE get_RetainedAudio(
   19201         SpeechRetainedAudioOptions *Option) = 0;
   19202 
   19203     virtual HRESULT STDMETHODCALLTYPE putref_RetainedAudioFormat(
   19204         ISpeechAudioFormat *Format) = 0;
   19205 
   19206     virtual HRESULT STDMETHODCALLTYPE get_RetainedAudioFormat(
   19207         ISpeechAudioFormat **Format) = 0;
   19208 
   19209     virtual HRESULT STDMETHODCALLTYPE Pause(
   19210         ) = 0;
   19211 
   19212     virtual HRESULT STDMETHODCALLTYPE Resume(
   19213         ) = 0;
   19214 
   19215     virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
   19216         VARIANT GrammarId,
   19217         ISpeechRecoGrammar **Grammar) = 0;
   19218 
   19219     virtual HRESULT STDMETHODCALLTYPE CreateResultFromMemory(
   19220         VARIANT *ResultBlock,
   19221         ISpeechRecoResult **Result) = 0;
   19222 
   19223     virtual HRESULT STDMETHODCALLTYPE Bookmark(
   19224         SpeechBookmarkOptions Options,
   19225         VARIANT StreamPos,
   19226         VARIANT BookmarkId) = 0;
   19227 
   19228     virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
   19229         BSTR AdaptationString) = 0;
   19230 
   19231 };
   19232 #ifdef __CRT_UUID_DECL
   19233 __CRT_UUID_DECL(ISpeechRecoContext, 0x580aa49d, 0x7e1e, 0x4809, 0xb8,0xe2, 0x57,0xda,0x80,0x61,0x04,0xb8)
   19234 #endif
   19235 #else
   19236 typedef struct ISpeechRecoContextVtbl {
   19237     BEGIN_INTERFACE
   19238 
   19239     /*** IUnknown methods ***/
   19240     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   19241         ISpeechRecoContext* This,
   19242         REFIID riid,
   19243         void **ppvObject);
   19244 
   19245     ULONG (STDMETHODCALLTYPE *AddRef)(
   19246         ISpeechRecoContext* This);
   19247 
   19248     ULONG (STDMETHODCALLTYPE *Release)(
   19249         ISpeechRecoContext* This);
   19250 
   19251     /*** IDispatch methods ***/
   19252     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   19253         ISpeechRecoContext* This,
   19254         UINT *pctinfo);
   19255 
   19256     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   19257         ISpeechRecoContext* This,
   19258         UINT iTInfo,
   19259         LCID lcid,
   19260         ITypeInfo **ppTInfo);
   19261 
   19262     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   19263         ISpeechRecoContext* This,
   19264         REFIID riid,
   19265         LPOLESTR *rgszNames,
   19266         UINT cNames,
   19267         LCID lcid,
   19268         DISPID *rgDispId);
   19269 
   19270     HRESULT (STDMETHODCALLTYPE *Invoke)(
   19271         ISpeechRecoContext* This,
   19272         DISPID dispIdMember,
   19273         REFIID riid,
   19274         LCID lcid,
   19275         WORD wFlags,
   19276         DISPPARAMS *pDispParams,
   19277         VARIANT *pVarResult,
   19278         EXCEPINFO *pExcepInfo,
   19279         UINT *puArgErr);
   19280 
   19281     /*** ISpeechRecoContext methods ***/
   19282     HRESULT (STDMETHODCALLTYPE *get_Recognizer)(
   19283         ISpeechRecoContext* This,
   19284         ISpeechRecognizer **Recognizer);
   19285 
   19286     HRESULT (STDMETHODCALLTYPE *get_AudioInputInterferenceStatus)(
   19287         ISpeechRecoContext* This,
   19288         SpeechInterference *Interference);
   19289 
   19290     HRESULT (STDMETHODCALLTYPE *get_RequestedUIType)(
   19291         ISpeechRecoContext* This,
   19292         BSTR *UIType);
   19293 
   19294     HRESULT (STDMETHODCALLTYPE *putref_Voice)(
   19295         ISpeechRecoContext* This,
   19296         ISpeechVoice *Voice);
   19297 
   19298     HRESULT (STDMETHODCALLTYPE *get_Voice)(
   19299         ISpeechRecoContext* This,
   19300         ISpeechVoice **Voice);
   19301 
   19302     HRESULT (STDMETHODCALLTYPE *put_AllowVoiceFormatMatchingOnNextSet)(
   19303         ISpeechRecoContext* This,
   19304         VARIANT_BOOL Allow);
   19305 
   19306     HRESULT (STDMETHODCALLTYPE *get_AllowVoiceFormatMatchingOnNextSet)(
   19307         ISpeechRecoContext* This,
   19308         VARIANT_BOOL *pAllow);
   19309 
   19310     HRESULT (STDMETHODCALLTYPE *put_VoicePurgeEvent)(
   19311         ISpeechRecoContext* This,
   19312         SpeechRecoEvents EventInterest);
   19313 
   19314     HRESULT (STDMETHODCALLTYPE *get_VoicePurgeEvent)(
   19315         ISpeechRecoContext* This,
   19316         SpeechRecoEvents *EventInterest);
   19317 
   19318     HRESULT (STDMETHODCALLTYPE *put_EventInterests)(
   19319         ISpeechRecoContext* This,
   19320         SpeechRecoEvents EventInterest);
   19321 
   19322     HRESULT (STDMETHODCALLTYPE *get_EventInterests)(
   19323         ISpeechRecoContext* This,
   19324         SpeechRecoEvents *EventInterest);
   19325 
   19326     HRESULT (STDMETHODCALLTYPE *put_CmdMaxAlternates)(
   19327         ISpeechRecoContext* This,
   19328         LONG MaxAlternates);
   19329 
   19330     HRESULT (STDMETHODCALLTYPE *get_CmdMaxAlternates)(
   19331         ISpeechRecoContext* This,
   19332         LONG *MaxAlternates);
   19333 
   19334     HRESULT (STDMETHODCALLTYPE *put_State)(
   19335         ISpeechRecoContext* This,
   19336         SpeechRecoContextState State);
   19337 
   19338     HRESULT (STDMETHODCALLTYPE *get_State)(
   19339         ISpeechRecoContext* This,
   19340         SpeechRecoContextState *State);
   19341 
   19342     HRESULT (STDMETHODCALLTYPE *put_RetainedAudio)(
   19343         ISpeechRecoContext* This,
   19344         SpeechRetainedAudioOptions Option);
   19345 
   19346     HRESULT (STDMETHODCALLTYPE *get_RetainedAudio)(
   19347         ISpeechRecoContext* This,
   19348         SpeechRetainedAudioOptions *Option);
   19349 
   19350     HRESULT (STDMETHODCALLTYPE *putref_RetainedAudioFormat)(
   19351         ISpeechRecoContext* This,
   19352         ISpeechAudioFormat *Format);
   19353 
   19354     HRESULT (STDMETHODCALLTYPE *get_RetainedAudioFormat)(
   19355         ISpeechRecoContext* This,
   19356         ISpeechAudioFormat **Format);
   19357 
   19358     HRESULT (STDMETHODCALLTYPE *Pause)(
   19359         ISpeechRecoContext* This);
   19360 
   19361     HRESULT (STDMETHODCALLTYPE *Resume)(
   19362         ISpeechRecoContext* This);
   19363 
   19364     HRESULT (STDMETHODCALLTYPE *CreateGrammar)(
   19365         ISpeechRecoContext* This,
   19366         VARIANT GrammarId,
   19367         ISpeechRecoGrammar **Grammar);
   19368 
   19369     HRESULT (STDMETHODCALLTYPE *CreateResultFromMemory)(
   19370         ISpeechRecoContext* This,
   19371         VARIANT *ResultBlock,
   19372         ISpeechRecoResult **Result);
   19373 
   19374     HRESULT (STDMETHODCALLTYPE *Bookmark)(
   19375         ISpeechRecoContext* This,
   19376         SpeechBookmarkOptions Options,
   19377         VARIANT StreamPos,
   19378         VARIANT BookmarkId);
   19379 
   19380     HRESULT (STDMETHODCALLTYPE *SetAdaptationData)(
   19381         ISpeechRecoContext* This,
   19382         BSTR AdaptationString);
   19383 
   19384     END_INTERFACE
   19385 } ISpeechRecoContextVtbl;
   19386 interface ISpeechRecoContext {
   19387     CONST_VTBL ISpeechRecoContextVtbl* lpVtbl;
   19388 };
   19389 
   19390 #ifdef COBJMACROS
   19391 #ifndef WIDL_C_INLINE_WRAPPERS
   19392 /*** IUnknown methods ***/
   19393 #define ISpeechRecoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   19394 #define ISpeechRecoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
   19395 #define ISpeechRecoContext_Release(This) (This)->lpVtbl->Release(This)
   19396 /*** IDispatch methods ***/
   19397 #define ISpeechRecoContext_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   19398 #define ISpeechRecoContext_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   19399 #define ISpeechRecoContext_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   19400 #define ISpeechRecoContext_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   19401 /*** ISpeechRecoContext methods ***/
   19402 #define ISpeechRecoContext_get_Recognizer(This,Recognizer) (This)->lpVtbl->get_Recognizer(This,Recognizer)
   19403 #define ISpeechRecoContext_get_AudioInputInterferenceStatus(This,Interference) (This)->lpVtbl->get_AudioInputInterferenceStatus(This,Interference)
   19404 #define ISpeechRecoContext_get_RequestedUIType(This,UIType) (This)->lpVtbl->get_RequestedUIType(This,UIType)
   19405 #define ISpeechRecoContext_putref_Voice(This,Voice) (This)->lpVtbl->putref_Voice(This,Voice)
   19406 #define ISpeechRecoContext_get_Voice(This,Voice) (This)->lpVtbl->get_Voice(This,Voice)
   19407 #define ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet(This,Allow) (This)->lpVtbl->put_AllowVoiceFormatMatchingOnNextSet(This,Allow)
   19408 #define ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet(This,pAllow) (This)->lpVtbl->get_AllowVoiceFormatMatchingOnNextSet(This,pAllow)
   19409 #define ISpeechRecoContext_put_VoicePurgeEvent(This,EventInterest) (This)->lpVtbl->put_VoicePurgeEvent(This,EventInterest)
   19410 #define ISpeechRecoContext_get_VoicePurgeEvent(This,EventInterest) (This)->lpVtbl->get_VoicePurgeEvent(This,EventInterest)
   19411 #define ISpeechRecoContext_put_EventInterests(This,EventInterest) (This)->lpVtbl->put_EventInterests(This,EventInterest)
   19412 #define ISpeechRecoContext_get_EventInterests(This,EventInterest) (This)->lpVtbl->get_EventInterests(This,EventInterest)
   19413 #define ISpeechRecoContext_put_CmdMaxAlternates(This,MaxAlternates) (This)->lpVtbl->put_CmdMaxAlternates(This,MaxAlternates)
   19414 #define ISpeechRecoContext_get_CmdMaxAlternates(This,MaxAlternates) (This)->lpVtbl->get_CmdMaxAlternates(This,MaxAlternates)
   19415 #define ISpeechRecoContext_put_State(This,State) (This)->lpVtbl->put_State(This,State)
   19416 #define ISpeechRecoContext_get_State(This,State) (This)->lpVtbl->get_State(This,State)
   19417 #define ISpeechRecoContext_put_RetainedAudio(This,Option) (This)->lpVtbl->put_RetainedAudio(This,Option)
   19418 #define ISpeechRecoContext_get_RetainedAudio(This,Option) (This)->lpVtbl->get_RetainedAudio(This,Option)
   19419 #define ISpeechRecoContext_putref_RetainedAudioFormat(This,Format) (This)->lpVtbl->putref_RetainedAudioFormat(This,Format)
   19420 #define ISpeechRecoContext_get_RetainedAudioFormat(This,Format) (This)->lpVtbl->get_RetainedAudioFormat(This,Format)
   19421 #define ISpeechRecoContext_Pause(This) (This)->lpVtbl->Pause(This)
   19422 #define ISpeechRecoContext_Resume(This) (This)->lpVtbl->Resume(This)
   19423 #define ISpeechRecoContext_CreateGrammar(This,GrammarId,Grammar) (This)->lpVtbl->CreateGrammar(This,GrammarId,Grammar)
   19424 #define ISpeechRecoContext_CreateResultFromMemory(This,ResultBlock,Result) (This)->lpVtbl->CreateResultFromMemory(This,ResultBlock,Result)
   19425 #define ISpeechRecoContext_Bookmark(This,Options,StreamPos,BookmarkId) (This)->lpVtbl->Bookmark(This,Options,StreamPos,BookmarkId)
   19426 #define ISpeechRecoContext_SetAdaptationData(This,AdaptationString) (This)->lpVtbl->SetAdaptationData(This,AdaptationString)
   19427 #else
   19428 /*** IUnknown methods ***/
   19429 static FORCEINLINE HRESULT ISpeechRecoContext_QueryInterface(ISpeechRecoContext* This,REFIID riid,void **ppvObject) {
   19430     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   19431 }
   19432 static FORCEINLINE ULONG ISpeechRecoContext_AddRef(ISpeechRecoContext* This) {
   19433     return This->lpVtbl->AddRef(This);
   19434 }
   19435 static FORCEINLINE ULONG ISpeechRecoContext_Release(ISpeechRecoContext* This) {
   19436     return This->lpVtbl->Release(This);
   19437 }
   19438 /*** IDispatch methods ***/
   19439 static FORCEINLINE HRESULT ISpeechRecoContext_GetTypeInfoCount(ISpeechRecoContext* This,UINT *pctinfo) {
   19440     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   19441 }
   19442 static FORCEINLINE HRESULT ISpeechRecoContext_GetTypeInfo(ISpeechRecoContext* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   19443     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   19444 }
   19445 static FORCEINLINE HRESULT ISpeechRecoContext_GetIDsOfNames(ISpeechRecoContext* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   19446     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   19447 }
   19448 static FORCEINLINE HRESULT ISpeechRecoContext_Invoke(ISpeechRecoContext* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   19449     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   19450 }
   19451 /*** ISpeechRecoContext methods ***/
   19452 static FORCEINLINE HRESULT ISpeechRecoContext_get_Recognizer(ISpeechRecoContext* This,ISpeechRecognizer **Recognizer) {
   19453     return This->lpVtbl->get_Recognizer(This,Recognizer);
   19454 }
   19455 static FORCEINLINE HRESULT ISpeechRecoContext_get_AudioInputInterferenceStatus(ISpeechRecoContext* This,SpeechInterference *Interference) {
   19456     return This->lpVtbl->get_AudioInputInterferenceStatus(This,Interference);
   19457 }
   19458 static FORCEINLINE HRESULT ISpeechRecoContext_get_RequestedUIType(ISpeechRecoContext* This,BSTR *UIType) {
   19459     return This->lpVtbl->get_RequestedUIType(This,UIType);
   19460 }
   19461 static FORCEINLINE HRESULT ISpeechRecoContext_putref_Voice(ISpeechRecoContext* This,ISpeechVoice *Voice) {
   19462     return This->lpVtbl->putref_Voice(This,Voice);
   19463 }
   19464 static FORCEINLINE HRESULT ISpeechRecoContext_get_Voice(ISpeechRecoContext* This,ISpeechVoice **Voice) {
   19465     return This->lpVtbl->get_Voice(This,Voice);
   19466 }
   19467 static FORCEINLINE HRESULT ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet(ISpeechRecoContext* This,VARIANT_BOOL Allow) {
   19468     return This->lpVtbl->put_AllowVoiceFormatMatchingOnNextSet(This,Allow);
   19469 }
   19470 static FORCEINLINE HRESULT ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet(ISpeechRecoContext* This,VARIANT_BOOL *pAllow) {
   19471     return This->lpVtbl->get_AllowVoiceFormatMatchingOnNextSet(This,pAllow);
   19472 }
   19473 static FORCEINLINE HRESULT ISpeechRecoContext_put_VoicePurgeEvent(ISpeechRecoContext* This,SpeechRecoEvents EventInterest) {
   19474     return This->lpVtbl->put_VoicePurgeEvent(This,EventInterest);
   19475 }
   19476 static FORCEINLINE HRESULT ISpeechRecoContext_get_VoicePurgeEvent(ISpeechRecoContext* This,SpeechRecoEvents *EventInterest) {
   19477     return This->lpVtbl->get_VoicePurgeEvent(This,EventInterest);
   19478 }
   19479 static FORCEINLINE HRESULT ISpeechRecoContext_put_EventInterests(ISpeechRecoContext* This,SpeechRecoEvents EventInterest) {
   19480     return This->lpVtbl->put_EventInterests(This,EventInterest);
   19481 }
   19482 static FORCEINLINE HRESULT ISpeechRecoContext_get_EventInterests(ISpeechRecoContext* This,SpeechRecoEvents *EventInterest) {
   19483     return This->lpVtbl->get_EventInterests(This,EventInterest);
   19484 }
   19485 static FORCEINLINE HRESULT ISpeechRecoContext_put_CmdMaxAlternates(ISpeechRecoContext* This,LONG MaxAlternates) {
   19486     return This->lpVtbl->put_CmdMaxAlternates(This,MaxAlternates);
   19487 }
   19488 static FORCEINLINE HRESULT ISpeechRecoContext_get_CmdMaxAlternates(ISpeechRecoContext* This,LONG *MaxAlternates) {
   19489     return This->lpVtbl->get_CmdMaxAlternates(This,MaxAlternates);
   19490 }
   19491 static FORCEINLINE HRESULT ISpeechRecoContext_put_State(ISpeechRecoContext* This,SpeechRecoContextState State) {
   19492     return This->lpVtbl->put_State(This,State);
   19493 }
   19494 static FORCEINLINE HRESULT ISpeechRecoContext_get_State(ISpeechRecoContext* This,SpeechRecoContextState *State) {
   19495     return This->lpVtbl->get_State(This,State);
   19496 }
   19497 static FORCEINLINE HRESULT ISpeechRecoContext_put_RetainedAudio(ISpeechRecoContext* This,SpeechRetainedAudioOptions Option) {
   19498     return This->lpVtbl->put_RetainedAudio(This,Option);
   19499 }
   19500 static FORCEINLINE HRESULT ISpeechRecoContext_get_RetainedAudio(ISpeechRecoContext* This,SpeechRetainedAudioOptions *Option) {
   19501     return This->lpVtbl->get_RetainedAudio(This,Option);
   19502 }
   19503 static FORCEINLINE HRESULT ISpeechRecoContext_putref_RetainedAudioFormat(ISpeechRecoContext* This,ISpeechAudioFormat *Format) {
   19504     return This->lpVtbl->putref_RetainedAudioFormat(This,Format);
   19505 }
   19506 static FORCEINLINE HRESULT ISpeechRecoContext_get_RetainedAudioFormat(ISpeechRecoContext* This,ISpeechAudioFormat **Format) {
   19507     return This->lpVtbl->get_RetainedAudioFormat(This,Format);
   19508 }
   19509 static FORCEINLINE HRESULT ISpeechRecoContext_Pause(ISpeechRecoContext* This) {
   19510     return This->lpVtbl->Pause(This);
   19511 }
   19512 static FORCEINLINE HRESULT ISpeechRecoContext_Resume(ISpeechRecoContext* This) {
   19513     return This->lpVtbl->Resume(This);
   19514 }
   19515 static FORCEINLINE HRESULT ISpeechRecoContext_CreateGrammar(ISpeechRecoContext* This,VARIANT GrammarId,ISpeechRecoGrammar **Grammar) {
   19516     return This->lpVtbl->CreateGrammar(This,GrammarId,Grammar);
   19517 }
   19518 static FORCEINLINE HRESULT ISpeechRecoContext_CreateResultFromMemory(ISpeechRecoContext* This,VARIANT *ResultBlock,ISpeechRecoResult **Result) {
   19519     return This->lpVtbl->CreateResultFromMemory(This,ResultBlock,Result);
   19520 }
   19521 static FORCEINLINE HRESULT ISpeechRecoContext_Bookmark(ISpeechRecoContext* This,SpeechBookmarkOptions Options,VARIANT StreamPos,VARIANT BookmarkId) {
   19522     return This->lpVtbl->Bookmark(This,Options,StreamPos,BookmarkId);
   19523 }
   19524 static FORCEINLINE HRESULT ISpeechRecoContext_SetAdaptationData(ISpeechRecoContext* This,BSTR AdaptationString) {
   19525     return This->lpVtbl->SetAdaptationData(This,AdaptationString);
   19526 }
   19527 #endif
   19528 #endif
   19529 
   19530 #endif
   19531 
   19532 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_Recognizer_Proxy(
   19533     ISpeechRecoContext* This,
   19534     ISpeechRecognizer **Recognizer);
   19535 void __RPC_STUB ISpeechRecoContext_get_Recognizer_Stub(
   19536     IRpcStubBuffer* This,
   19537     IRpcChannelBuffer* pRpcChannelBuffer,
   19538     PRPC_MESSAGE pRpcMessage,
   19539     DWORD* pdwStubPhase);
   19540 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_AudioInputInterferenceStatus_Proxy(
   19541     ISpeechRecoContext* This,
   19542     SpeechInterference *Interference);
   19543 void __RPC_STUB ISpeechRecoContext_get_AudioInputInterferenceStatus_Stub(
   19544     IRpcStubBuffer* This,
   19545     IRpcChannelBuffer* pRpcChannelBuffer,
   19546     PRPC_MESSAGE pRpcMessage,
   19547     DWORD* pdwStubPhase);
   19548 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RequestedUIType_Proxy(
   19549     ISpeechRecoContext* This,
   19550     BSTR *UIType);
   19551 void __RPC_STUB ISpeechRecoContext_get_RequestedUIType_Stub(
   19552     IRpcStubBuffer* This,
   19553     IRpcChannelBuffer* pRpcChannelBuffer,
   19554     PRPC_MESSAGE pRpcMessage,
   19555     DWORD* pdwStubPhase);
   19556 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_putref_Voice_Proxy(
   19557     ISpeechRecoContext* This,
   19558     ISpeechVoice *Voice);
   19559 void __RPC_STUB ISpeechRecoContext_putref_Voice_Stub(
   19560     IRpcStubBuffer* This,
   19561     IRpcChannelBuffer* pRpcChannelBuffer,
   19562     PRPC_MESSAGE pRpcMessage,
   19563     DWORD* pdwStubPhase);
   19564 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_Voice_Proxy(
   19565     ISpeechRecoContext* This,
   19566     ISpeechVoice **Voice);
   19567 void __RPC_STUB ISpeechRecoContext_get_Voice_Stub(
   19568     IRpcStubBuffer* This,
   19569     IRpcChannelBuffer* pRpcChannelBuffer,
   19570     PRPC_MESSAGE pRpcMessage,
   19571     DWORD* pdwStubPhase);
   19572 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet_Proxy(
   19573     ISpeechRecoContext* This,
   19574     VARIANT_BOOL Allow);
   19575 void __RPC_STUB ISpeechRecoContext_put_AllowVoiceFormatMatchingOnNextSet_Stub(
   19576     IRpcStubBuffer* This,
   19577     IRpcChannelBuffer* pRpcChannelBuffer,
   19578     PRPC_MESSAGE pRpcMessage,
   19579     DWORD* pdwStubPhase);
   19580 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet_Proxy(
   19581     ISpeechRecoContext* This,
   19582     VARIANT_BOOL *pAllow);
   19583 void __RPC_STUB ISpeechRecoContext_get_AllowVoiceFormatMatchingOnNextSet_Stub(
   19584     IRpcStubBuffer* This,
   19585     IRpcChannelBuffer* pRpcChannelBuffer,
   19586     PRPC_MESSAGE pRpcMessage,
   19587     DWORD* pdwStubPhase);
   19588 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_VoicePurgeEvent_Proxy(
   19589     ISpeechRecoContext* This,
   19590     SpeechRecoEvents EventInterest);
   19591 void __RPC_STUB ISpeechRecoContext_put_VoicePurgeEvent_Stub(
   19592     IRpcStubBuffer* This,
   19593     IRpcChannelBuffer* pRpcChannelBuffer,
   19594     PRPC_MESSAGE pRpcMessage,
   19595     DWORD* pdwStubPhase);
   19596 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_VoicePurgeEvent_Proxy(
   19597     ISpeechRecoContext* This,
   19598     SpeechRecoEvents *EventInterest);
   19599 void __RPC_STUB ISpeechRecoContext_get_VoicePurgeEvent_Stub(
   19600     IRpcStubBuffer* This,
   19601     IRpcChannelBuffer* pRpcChannelBuffer,
   19602     PRPC_MESSAGE pRpcMessage,
   19603     DWORD* pdwStubPhase);
   19604 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_EventInterests_Proxy(
   19605     ISpeechRecoContext* This,
   19606     SpeechRecoEvents EventInterest);
   19607 void __RPC_STUB ISpeechRecoContext_put_EventInterests_Stub(
   19608     IRpcStubBuffer* This,
   19609     IRpcChannelBuffer* pRpcChannelBuffer,
   19610     PRPC_MESSAGE pRpcMessage,
   19611     DWORD* pdwStubPhase);
   19612 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_EventInterests_Proxy(
   19613     ISpeechRecoContext* This,
   19614     SpeechRecoEvents *EventInterest);
   19615 void __RPC_STUB ISpeechRecoContext_get_EventInterests_Stub(
   19616     IRpcStubBuffer* This,
   19617     IRpcChannelBuffer* pRpcChannelBuffer,
   19618     PRPC_MESSAGE pRpcMessage,
   19619     DWORD* pdwStubPhase);
   19620 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_CmdMaxAlternates_Proxy(
   19621     ISpeechRecoContext* This,
   19622     LONG MaxAlternates);
   19623 void __RPC_STUB ISpeechRecoContext_put_CmdMaxAlternates_Stub(
   19624     IRpcStubBuffer* This,
   19625     IRpcChannelBuffer* pRpcChannelBuffer,
   19626     PRPC_MESSAGE pRpcMessage,
   19627     DWORD* pdwStubPhase);
   19628 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_CmdMaxAlternates_Proxy(
   19629     ISpeechRecoContext* This,
   19630     LONG *MaxAlternates);
   19631 void __RPC_STUB ISpeechRecoContext_get_CmdMaxAlternates_Stub(
   19632     IRpcStubBuffer* This,
   19633     IRpcChannelBuffer* pRpcChannelBuffer,
   19634     PRPC_MESSAGE pRpcMessage,
   19635     DWORD* pdwStubPhase);
   19636 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_State_Proxy(
   19637     ISpeechRecoContext* This,
   19638     SpeechRecoContextState State);
   19639 void __RPC_STUB ISpeechRecoContext_put_State_Stub(
   19640     IRpcStubBuffer* This,
   19641     IRpcChannelBuffer* pRpcChannelBuffer,
   19642     PRPC_MESSAGE pRpcMessage,
   19643     DWORD* pdwStubPhase);
   19644 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_State_Proxy(
   19645     ISpeechRecoContext* This,
   19646     SpeechRecoContextState *State);
   19647 void __RPC_STUB ISpeechRecoContext_get_State_Stub(
   19648     IRpcStubBuffer* This,
   19649     IRpcChannelBuffer* pRpcChannelBuffer,
   19650     PRPC_MESSAGE pRpcMessage,
   19651     DWORD* pdwStubPhase);
   19652 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_put_RetainedAudio_Proxy(
   19653     ISpeechRecoContext* This,
   19654     SpeechRetainedAudioOptions Option);
   19655 void __RPC_STUB ISpeechRecoContext_put_RetainedAudio_Stub(
   19656     IRpcStubBuffer* This,
   19657     IRpcChannelBuffer* pRpcChannelBuffer,
   19658     PRPC_MESSAGE pRpcMessage,
   19659     DWORD* pdwStubPhase);
   19660 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RetainedAudio_Proxy(
   19661     ISpeechRecoContext* This,
   19662     SpeechRetainedAudioOptions *Option);
   19663 void __RPC_STUB ISpeechRecoContext_get_RetainedAudio_Stub(
   19664     IRpcStubBuffer* This,
   19665     IRpcChannelBuffer* pRpcChannelBuffer,
   19666     PRPC_MESSAGE pRpcMessage,
   19667     DWORD* pdwStubPhase);
   19668 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_putref_RetainedAudioFormat_Proxy(
   19669     ISpeechRecoContext* This,
   19670     ISpeechAudioFormat *Format);
   19671 void __RPC_STUB ISpeechRecoContext_putref_RetainedAudioFormat_Stub(
   19672     IRpcStubBuffer* This,
   19673     IRpcChannelBuffer* pRpcChannelBuffer,
   19674     PRPC_MESSAGE pRpcMessage,
   19675     DWORD* pdwStubPhase);
   19676 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_get_RetainedAudioFormat_Proxy(
   19677     ISpeechRecoContext* This,
   19678     ISpeechAudioFormat **Format);
   19679 void __RPC_STUB ISpeechRecoContext_get_RetainedAudioFormat_Stub(
   19680     IRpcStubBuffer* This,
   19681     IRpcChannelBuffer* pRpcChannelBuffer,
   19682     PRPC_MESSAGE pRpcMessage,
   19683     DWORD* pdwStubPhase);
   19684 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Pause_Proxy(
   19685     ISpeechRecoContext* This);
   19686 void __RPC_STUB ISpeechRecoContext_Pause_Stub(
   19687     IRpcStubBuffer* This,
   19688     IRpcChannelBuffer* pRpcChannelBuffer,
   19689     PRPC_MESSAGE pRpcMessage,
   19690     DWORD* pdwStubPhase);
   19691 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Resume_Proxy(
   19692     ISpeechRecoContext* This);
   19693 void __RPC_STUB ISpeechRecoContext_Resume_Stub(
   19694     IRpcStubBuffer* This,
   19695     IRpcChannelBuffer* pRpcChannelBuffer,
   19696     PRPC_MESSAGE pRpcMessage,
   19697     DWORD* pdwStubPhase);
   19698 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_CreateGrammar_Proxy(
   19699     ISpeechRecoContext* This,
   19700     VARIANT GrammarId,
   19701     ISpeechRecoGrammar **Grammar);
   19702 void __RPC_STUB ISpeechRecoContext_CreateGrammar_Stub(
   19703     IRpcStubBuffer* This,
   19704     IRpcChannelBuffer* pRpcChannelBuffer,
   19705     PRPC_MESSAGE pRpcMessage,
   19706     DWORD* pdwStubPhase);
   19707 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_CreateResultFromMemory_Proxy(
   19708     ISpeechRecoContext* This,
   19709     VARIANT *ResultBlock,
   19710     ISpeechRecoResult **Result);
   19711 void __RPC_STUB ISpeechRecoContext_CreateResultFromMemory_Stub(
   19712     IRpcStubBuffer* This,
   19713     IRpcChannelBuffer* pRpcChannelBuffer,
   19714     PRPC_MESSAGE pRpcMessage,
   19715     DWORD* pdwStubPhase);
   19716 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_Bookmark_Proxy(
   19717     ISpeechRecoContext* This,
   19718     SpeechBookmarkOptions Options,
   19719     VARIANT StreamPos,
   19720     VARIANT BookmarkId);
   19721 void __RPC_STUB ISpeechRecoContext_Bookmark_Stub(
   19722     IRpcStubBuffer* This,
   19723     IRpcChannelBuffer* pRpcChannelBuffer,
   19724     PRPC_MESSAGE pRpcMessage,
   19725     DWORD* pdwStubPhase);
   19726 HRESULT STDMETHODCALLTYPE ISpeechRecoContext_SetAdaptationData_Proxy(
   19727     ISpeechRecoContext* This,
   19728     BSTR AdaptationString);
   19729 void __RPC_STUB ISpeechRecoContext_SetAdaptationData_Stub(
   19730     IRpcStubBuffer* This,
   19731     IRpcChannelBuffer* pRpcChannelBuffer,
   19732     PRPC_MESSAGE pRpcMessage,
   19733     DWORD* pdwStubPhase);
   19734 
   19735 #endif  /* __ISpeechRecoContext_INTERFACE_DEFINED__ */
   19736 
   19737 /*****************************************************************************
   19738  * ISpeechRecoGrammar interface
   19739  */
   19740 #ifndef __ISpeechRecoGrammar_INTERFACE_DEFINED__
   19741 #define __ISpeechRecoGrammar_INTERFACE_DEFINED__
   19742 
   19743 DEFINE_GUID(IID_ISpeechRecoGrammar, 0xb6d6f79f, 0x2158, 0x4e50, 0xb5,0xbc, 0x9a,0x9c,0xcd,0x85,0x2a,0x09);
   19744 #if defined(__cplusplus) && !defined(CINTERFACE)
   19745 MIDL_INTERFACE("b6d6f79f-2158-4e50-b5bc-9a9ccd852a09")
   19746 ISpeechRecoGrammar : public IDispatch
   19747 {
   19748     virtual HRESULT STDMETHODCALLTYPE get_Id(
   19749         VARIANT *Id) = 0;
   19750 
   19751     virtual HRESULT STDMETHODCALLTYPE get_RecoContext(
   19752         ISpeechRecoContext **RecoContext) = 0;
   19753 
   19754     virtual HRESULT STDMETHODCALLTYPE put_State(
   19755         SpeechGrammarState State) = 0;
   19756 
   19757     virtual HRESULT STDMETHODCALLTYPE get_State(
   19758         SpeechGrammarState *State) = 0;
   19759 
   19760     virtual HRESULT STDMETHODCALLTYPE get_Rules(
   19761         ISpeechGrammarRules **Rules) = 0;
   19762 
   19763     virtual HRESULT STDMETHODCALLTYPE Reset(
   19764         SpeechLanguageId NewLanguage = 0) = 0;
   19765 
   19766     virtual HRESULT STDMETHODCALLTYPE CmdLoadFromFile(
   19767         const BSTR FileName,
   19768         SpeechLoadOption LoadOption = SLOStatic) = 0;
   19769 
   19770     virtual HRESULT STDMETHODCALLTYPE CmdLoadFromObject(
   19771         const BSTR ClassId,
   19772         const BSTR GrammarName,
   19773         SpeechLoadOption LoadOption = SLOStatic) = 0;
   19774 
   19775     virtual HRESULT STDMETHODCALLTYPE CmdLoadFromResource(
   19776         LONG hModule,
   19777         VARIANT ResourceName,
   19778         VARIANT ResourceType,
   19779         SpeechLanguageId LanguageId,
   19780         SpeechLoadOption LoadOption = SLOStatic) = 0;
   19781 
   19782     virtual HRESULT STDMETHODCALLTYPE CmdLoadFromMemory(
   19783         VARIANT GrammarData,
   19784         SpeechLoadOption LoadOption = SLOStatic) = 0;
   19785 
   19786     virtual HRESULT STDMETHODCALLTYPE CmdLoadFromProprietaryGrammar(
   19787         const BSTR ProprietaryGuid,
   19788         const BSTR ProprietaryString,
   19789         VARIANT ProprietaryData,
   19790         SpeechLoadOption LoadOption = SLOStatic) = 0;
   19791 
   19792     virtual HRESULT STDMETHODCALLTYPE CmdSetRuleState(
   19793         const BSTR Name,
   19794         SpeechRuleState State) = 0;
   19795 
   19796     virtual HRESULT STDMETHODCALLTYPE CmdSetRuleIdState(
   19797         LONG RuleId,
   19798         SpeechRuleState State) = 0;
   19799 
   19800     virtual HRESULT STDMETHODCALLTYPE DictationLoad(
   19801         const BSTR TopicName = L"",
   19802         SpeechLoadOption LoadOption = SLOStatic) = 0;
   19803 
   19804     virtual HRESULT STDMETHODCALLTYPE DictationUnload(
   19805         ) = 0;
   19806 
   19807     virtual HRESULT STDMETHODCALLTYPE DictationSetState(
   19808         SpeechRuleState State) = 0;
   19809 
   19810     virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
   19811         const BSTR Text,
   19812         LONG TextLength,
   19813         ISpeechTextSelectionInformation *Info) = 0;
   19814 
   19815     virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
   19816         ISpeechTextSelectionInformation *Info) = 0;
   19817 
   19818     virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
   19819         const BSTR Word,
   19820         SpeechWordPronounceable *WordPronounceable) = 0;
   19821 
   19822 };
   19823 #ifdef __CRT_UUID_DECL
   19824 __CRT_UUID_DECL(ISpeechRecoGrammar, 0xb6d6f79f, 0x2158, 0x4e50, 0xb5,0xbc, 0x9a,0x9c,0xcd,0x85,0x2a,0x09)
   19825 #endif
   19826 #else
   19827 typedef struct ISpeechRecoGrammarVtbl {
   19828     BEGIN_INTERFACE
   19829 
   19830     /*** IUnknown methods ***/
   19831     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   19832         ISpeechRecoGrammar* This,
   19833         REFIID riid,
   19834         void **ppvObject);
   19835 
   19836     ULONG (STDMETHODCALLTYPE *AddRef)(
   19837         ISpeechRecoGrammar* This);
   19838 
   19839     ULONG (STDMETHODCALLTYPE *Release)(
   19840         ISpeechRecoGrammar* This);
   19841 
   19842     /*** IDispatch methods ***/
   19843     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   19844         ISpeechRecoGrammar* This,
   19845         UINT *pctinfo);
   19846 
   19847     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   19848         ISpeechRecoGrammar* This,
   19849         UINT iTInfo,
   19850         LCID lcid,
   19851         ITypeInfo **ppTInfo);
   19852 
   19853     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   19854         ISpeechRecoGrammar* This,
   19855         REFIID riid,
   19856         LPOLESTR *rgszNames,
   19857         UINT cNames,
   19858         LCID lcid,
   19859         DISPID *rgDispId);
   19860 
   19861     HRESULT (STDMETHODCALLTYPE *Invoke)(
   19862         ISpeechRecoGrammar* This,
   19863         DISPID dispIdMember,
   19864         REFIID riid,
   19865         LCID lcid,
   19866         WORD wFlags,
   19867         DISPPARAMS *pDispParams,
   19868         VARIANT *pVarResult,
   19869         EXCEPINFO *pExcepInfo,
   19870         UINT *puArgErr);
   19871 
   19872     /*** ISpeechRecoGrammar methods ***/
   19873     HRESULT (STDMETHODCALLTYPE *get_Id)(
   19874         ISpeechRecoGrammar* This,
   19875         VARIANT *Id);
   19876 
   19877     HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
   19878         ISpeechRecoGrammar* This,
   19879         ISpeechRecoContext **RecoContext);
   19880 
   19881     HRESULT (STDMETHODCALLTYPE *put_State)(
   19882         ISpeechRecoGrammar* This,
   19883         SpeechGrammarState State);
   19884 
   19885     HRESULT (STDMETHODCALLTYPE *get_State)(
   19886         ISpeechRecoGrammar* This,
   19887         SpeechGrammarState *State);
   19888 
   19889     HRESULT (STDMETHODCALLTYPE *get_Rules)(
   19890         ISpeechRecoGrammar* This,
   19891         ISpeechGrammarRules **Rules);
   19892 
   19893     HRESULT (STDMETHODCALLTYPE *Reset)(
   19894         ISpeechRecoGrammar* This,
   19895         SpeechLanguageId NewLanguage);
   19896 
   19897     HRESULT (STDMETHODCALLTYPE *CmdLoadFromFile)(
   19898         ISpeechRecoGrammar* This,
   19899         const BSTR FileName,
   19900         SpeechLoadOption LoadOption);
   19901 
   19902     HRESULT (STDMETHODCALLTYPE *CmdLoadFromObject)(
   19903         ISpeechRecoGrammar* This,
   19904         const BSTR ClassId,
   19905         const BSTR GrammarName,
   19906         SpeechLoadOption LoadOption);
   19907 
   19908     HRESULT (STDMETHODCALLTYPE *CmdLoadFromResource)(
   19909         ISpeechRecoGrammar* This,
   19910         LONG hModule,
   19911         VARIANT ResourceName,
   19912         VARIANT ResourceType,
   19913         SpeechLanguageId LanguageId,
   19914         SpeechLoadOption LoadOption);
   19915 
   19916     HRESULT (STDMETHODCALLTYPE *CmdLoadFromMemory)(
   19917         ISpeechRecoGrammar* This,
   19918         VARIANT GrammarData,
   19919         SpeechLoadOption LoadOption);
   19920 
   19921     HRESULT (STDMETHODCALLTYPE *CmdLoadFromProprietaryGrammar)(
   19922         ISpeechRecoGrammar* This,
   19923         const BSTR ProprietaryGuid,
   19924         const BSTR ProprietaryString,
   19925         VARIANT ProprietaryData,
   19926         SpeechLoadOption LoadOption);
   19927 
   19928     HRESULT (STDMETHODCALLTYPE *CmdSetRuleState)(
   19929         ISpeechRecoGrammar* This,
   19930         const BSTR Name,
   19931         SpeechRuleState State);
   19932 
   19933     HRESULT (STDMETHODCALLTYPE *CmdSetRuleIdState)(
   19934         ISpeechRecoGrammar* This,
   19935         LONG RuleId,
   19936         SpeechRuleState State);
   19937 
   19938     HRESULT (STDMETHODCALLTYPE *DictationLoad)(
   19939         ISpeechRecoGrammar* This,
   19940         const BSTR TopicName,
   19941         SpeechLoadOption LoadOption);
   19942 
   19943     HRESULT (STDMETHODCALLTYPE *DictationUnload)(
   19944         ISpeechRecoGrammar* This);
   19945 
   19946     HRESULT (STDMETHODCALLTYPE *DictationSetState)(
   19947         ISpeechRecoGrammar* This,
   19948         SpeechRuleState State);
   19949 
   19950     HRESULT (STDMETHODCALLTYPE *SetWordSequenceData)(
   19951         ISpeechRecoGrammar* This,
   19952         const BSTR Text,
   19953         LONG TextLength,
   19954         ISpeechTextSelectionInformation *Info);
   19955 
   19956     HRESULT (STDMETHODCALLTYPE *SetTextSelection)(
   19957         ISpeechRecoGrammar* This,
   19958         ISpeechTextSelectionInformation *Info);
   19959 
   19960     HRESULT (STDMETHODCALLTYPE *IsPronounceable)(
   19961         ISpeechRecoGrammar* This,
   19962         const BSTR Word,
   19963         SpeechWordPronounceable *WordPronounceable);
   19964 
   19965     END_INTERFACE
   19966 } ISpeechRecoGrammarVtbl;
   19967 interface ISpeechRecoGrammar {
   19968     CONST_VTBL ISpeechRecoGrammarVtbl* lpVtbl;
   19969 };
   19970 
   19971 #ifdef COBJMACROS
   19972 #ifndef WIDL_C_INLINE_WRAPPERS
   19973 /*** IUnknown methods ***/
   19974 #define ISpeechRecoGrammar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   19975 #define ISpeechRecoGrammar_AddRef(This) (This)->lpVtbl->AddRef(This)
   19976 #define ISpeechRecoGrammar_Release(This) (This)->lpVtbl->Release(This)
   19977 /*** IDispatch methods ***/
   19978 #define ISpeechRecoGrammar_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   19979 #define ISpeechRecoGrammar_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   19980 #define ISpeechRecoGrammar_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   19981 #define ISpeechRecoGrammar_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   19982 /*** ISpeechRecoGrammar methods ***/
   19983 #define ISpeechRecoGrammar_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
   19984 #define ISpeechRecoGrammar_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
   19985 #define ISpeechRecoGrammar_put_State(This,State) (This)->lpVtbl->put_State(This,State)
   19986 #define ISpeechRecoGrammar_get_State(This,State) (This)->lpVtbl->get_State(This,State)
   19987 #define ISpeechRecoGrammar_get_Rules(This,Rules) (This)->lpVtbl->get_Rules(This,Rules)
   19988 #define ISpeechRecoGrammar_Reset(This,NewLanguage) (This)->lpVtbl->Reset(This,NewLanguage)
   19989 #define ISpeechRecoGrammar_CmdLoadFromFile(This,FileName,LoadOption) (This)->lpVtbl->CmdLoadFromFile(This,FileName,LoadOption)
   19990 #define ISpeechRecoGrammar_CmdLoadFromObject(This,ClassId,GrammarName,LoadOption) (This)->lpVtbl->CmdLoadFromObject(This,ClassId,GrammarName,LoadOption)
   19991 #define ISpeechRecoGrammar_CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption) (This)->lpVtbl->CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption)
   19992 #define ISpeechRecoGrammar_CmdLoadFromMemory(This,GrammarData,LoadOption) (This)->lpVtbl->CmdLoadFromMemory(This,GrammarData,LoadOption)
   19993 #define ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption) (This)->lpVtbl->CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption)
   19994 #define ISpeechRecoGrammar_CmdSetRuleState(This,Name,State) (This)->lpVtbl->CmdSetRuleState(This,Name,State)
   19995 #define ISpeechRecoGrammar_CmdSetRuleIdState(This,RuleId,State) (This)->lpVtbl->CmdSetRuleIdState(This,RuleId,State)
   19996 #define ISpeechRecoGrammar_DictationLoad(This,TopicName,LoadOption) (This)->lpVtbl->DictationLoad(This,TopicName,LoadOption)
   19997 #define ISpeechRecoGrammar_DictationUnload(This) (This)->lpVtbl->DictationUnload(This)
   19998 #define ISpeechRecoGrammar_DictationSetState(This,State) (This)->lpVtbl->DictationSetState(This,State)
   19999 #define ISpeechRecoGrammar_SetWordSequenceData(This,Text,TextLength,Info) (This)->lpVtbl->SetWordSequenceData(This,Text,TextLength,Info)
   20000 #define ISpeechRecoGrammar_SetTextSelection(This,Info) (This)->lpVtbl->SetTextSelection(This,Info)
   20001 #define ISpeechRecoGrammar_IsPronounceable(This,Word,WordPronounceable) (This)->lpVtbl->IsPronounceable(This,Word,WordPronounceable)
   20002 #else
   20003 /*** IUnknown methods ***/
   20004 static FORCEINLINE HRESULT ISpeechRecoGrammar_QueryInterface(ISpeechRecoGrammar* This,REFIID riid,void **ppvObject) {
   20005     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   20006 }
   20007 static FORCEINLINE ULONG ISpeechRecoGrammar_AddRef(ISpeechRecoGrammar* This) {
   20008     return This->lpVtbl->AddRef(This);
   20009 }
   20010 static FORCEINLINE ULONG ISpeechRecoGrammar_Release(ISpeechRecoGrammar* This) {
   20011     return This->lpVtbl->Release(This);
   20012 }
   20013 /*** IDispatch methods ***/
   20014 static FORCEINLINE HRESULT ISpeechRecoGrammar_GetTypeInfoCount(ISpeechRecoGrammar* This,UINT *pctinfo) {
   20015     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   20016 }
   20017 static FORCEINLINE HRESULT ISpeechRecoGrammar_GetTypeInfo(ISpeechRecoGrammar* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   20018     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   20019 }
   20020 static FORCEINLINE HRESULT ISpeechRecoGrammar_GetIDsOfNames(ISpeechRecoGrammar* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   20021     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   20022 }
   20023 static FORCEINLINE HRESULT ISpeechRecoGrammar_Invoke(ISpeechRecoGrammar* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   20024     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   20025 }
   20026 /*** ISpeechRecoGrammar methods ***/
   20027 static FORCEINLINE HRESULT ISpeechRecoGrammar_get_Id(ISpeechRecoGrammar* This,VARIANT *Id) {
   20028     return This->lpVtbl->get_Id(This,Id);
   20029 }
   20030 static FORCEINLINE HRESULT ISpeechRecoGrammar_get_RecoContext(ISpeechRecoGrammar* This,ISpeechRecoContext **RecoContext) {
   20031     return This->lpVtbl->get_RecoContext(This,RecoContext);
   20032 }
   20033 static FORCEINLINE HRESULT ISpeechRecoGrammar_put_State(ISpeechRecoGrammar* This,SpeechGrammarState State) {
   20034     return This->lpVtbl->put_State(This,State);
   20035 }
   20036 static FORCEINLINE HRESULT ISpeechRecoGrammar_get_State(ISpeechRecoGrammar* This,SpeechGrammarState *State) {
   20037     return This->lpVtbl->get_State(This,State);
   20038 }
   20039 static FORCEINLINE HRESULT ISpeechRecoGrammar_get_Rules(ISpeechRecoGrammar* This,ISpeechGrammarRules **Rules) {
   20040     return This->lpVtbl->get_Rules(This,Rules);
   20041 }
   20042 static FORCEINLINE HRESULT ISpeechRecoGrammar_Reset(ISpeechRecoGrammar* This,SpeechLanguageId NewLanguage) {
   20043     return This->lpVtbl->Reset(This,NewLanguage);
   20044 }
   20045 static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromFile(ISpeechRecoGrammar* This,const BSTR FileName,SpeechLoadOption LoadOption) {
   20046     return This->lpVtbl->CmdLoadFromFile(This,FileName,LoadOption);
   20047 }
   20048 static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromObject(ISpeechRecoGrammar* This,const BSTR ClassId,const BSTR GrammarName,SpeechLoadOption LoadOption) {
   20049     return This->lpVtbl->CmdLoadFromObject(This,ClassId,GrammarName,LoadOption);
   20050 }
   20051 static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromResource(ISpeechRecoGrammar* This,LONG hModule,VARIANT ResourceName,VARIANT ResourceType,SpeechLanguageId LanguageId,SpeechLoadOption LoadOption) {
   20052     return This->lpVtbl->CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption);
   20053 }
   20054 static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromMemory(ISpeechRecoGrammar* This,VARIANT GrammarData,SpeechLoadOption LoadOption) {
   20055     return This->lpVtbl->CmdLoadFromMemory(This,GrammarData,LoadOption);
   20056 }
   20057 static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar(ISpeechRecoGrammar* This,const BSTR ProprietaryGuid,const BSTR ProprietaryString,VARIANT ProprietaryData,SpeechLoadOption LoadOption) {
   20058     return This->lpVtbl->CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption);
   20059 }
   20060 static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdSetRuleState(ISpeechRecoGrammar* This,const BSTR Name,SpeechRuleState State) {
   20061     return This->lpVtbl->CmdSetRuleState(This,Name,State);
   20062 }
   20063 static FORCEINLINE HRESULT ISpeechRecoGrammar_CmdSetRuleIdState(ISpeechRecoGrammar* This,LONG RuleId,SpeechRuleState State) {
   20064     return This->lpVtbl->CmdSetRuleIdState(This,RuleId,State);
   20065 }
   20066 static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationLoad(ISpeechRecoGrammar* This,const BSTR TopicName,SpeechLoadOption LoadOption) {
   20067     return This->lpVtbl->DictationLoad(This,TopicName,LoadOption);
   20068 }
   20069 static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationUnload(ISpeechRecoGrammar* This) {
   20070     return This->lpVtbl->DictationUnload(This);
   20071 }
   20072 static FORCEINLINE HRESULT ISpeechRecoGrammar_DictationSetState(ISpeechRecoGrammar* This,SpeechRuleState State) {
   20073     return This->lpVtbl->DictationSetState(This,State);
   20074 }
   20075 static FORCEINLINE HRESULT ISpeechRecoGrammar_SetWordSequenceData(ISpeechRecoGrammar* This,const BSTR Text,LONG TextLength,ISpeechTextSelectionInformation *Info) {
   20076     return This->lpVtbl->SetWordSequenceData(This,Text,TextLength,Info);
   20077 }
   20078 static FORCEINLINE HRESULT ISpeechRecoGrammar_SetTextSelection(ISpeechRecoGrammar* This,ISpeechTextSelectionInformation *Info) {
   20079     return This->lpVtbl->SetTextSelection(This,Info);
   20080 }
   20081 static FORCEINLINE HRESULT ISpeechRecoGrammar_IsPronounceable(ISpeechRecoGrammar* This,const BSTR Word,SpeechWordPronounceable *WordPronounceable) {
   20082     return This->lpVtbl->IsPronounceable(This,Word,WordPronounceable);
   20083 }
   20084 #endif
   20085 #endif
   20086 
   20087 #endif
   20088 
   20089 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_Id_Proxy(
   20090     ISpeechRecoGrammar* This,
   20091     VARIANT *Id);
   20092 void __RPC_STUB ISpeechRecoGrammar_get_Id_Stub(
   20093     IRpcStubBuffer* This,
   20094     IRpcChannelBuffer* pRpcChannelBuffer,
   20095     PRPC_MESSAGE pRpcMessage,
   20096     DWORD* pdwStubPhase);
   20097 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_RecoContext_Proxy(
   20098     ISpeechRecoGrammar* This,
   20099     ISpeechRecoContext **RecoContext);
   20100 void __RPC_STUB ISpeechRecoGrammar_get_RecoContext_Stub(
   20101     IRpcStubBuffer* This,
   20102     IRpcChannelBuffer* pRpcChannelBuffer,
   20103     PRPC_MESSAGE pRpcMessage,
   20104     DWORD* pdwStubPhase);
   20105 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_put_State_Proxy(
   20106     ISpeechRecoGrammar* This,
   20107     SpeechGrammarState State);
   20108 void __RPC_STUB ISpeechRecoGrammar_put_State_Stub(
   20109     IRpcStubBuffer* This,
   20110     IRpcChannelBuffer* pRpcChannelBuffer,
   20111     PRPC_MESSAGE pRpcMessage,
   20112     DWORD* pdwStubPhase);
   20113 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_State_Proxy(
   20114     ISpeechRecoGrammar* This,
   20115     SpeechGrammarState *State);
   20116 void __RPC_STUB ISpeechRecoGrammar_get_State_Stub(
   20117     IRpcStubBuffer* This,
   20118     IRpcChannelBuffer* pRpcChannelBuffer,
   20119     PRPC_MESSAGE pRpcMessage,
   20120     DWORD* pdwStubPhase);
   20121 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_Rules_Proxy(
   20122     ISpeechRecoGrammar* This,
   20123     ISpeechGrammarRules **Rules);
   20124 void __RPC_STUB ISpeechRecoGrammar_get_Rules_Stub(
   20125     IRpcStubBuffer* This,
   20126     IRpcChannelBuffer* pRpcChannelBuffer,
   20127     PRPC_MESSAGE pRpcMessage,
   20128     DWORD* pdwStubPhase);
   20129 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_Reset_Proxy(
   20130     ISpeechRecoGrammar* This,
   20131     SpeechLanguageId NewLanguage);
   20132 void __RPC_STUB ISpeechRecoGrammar_Reset_Stub(
   20133     IRpcStubBuffer* This,
   20134     IRpcChannelBuffer* pRpcChannelBuffer,
   20135     PRPC_MESSAGE pRpcMessage,
   20136     DWORD* pdwStubPhase);
   20137 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromFile_Proxy(
   20138     ISpeechRecoGrammar* This,
   20139     const BSTR FileName,
   20140     SpeechLoadOption LoadOption);
   20141 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromFile_Stub(
   20142     IRpcStubBuffer* This,
   20143     IRpcChannelBuffer* pRpcChannelBuffer,
   20144     PRPC_MESSAGE pRpcMessage,
   20145     DWORD* pdwStubPhase);
   20146 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromObject_Proxy(
   20147     ISpeechRecoGrammar* This,
   20148     const BSTR ClassId,
   20149     const BSTR GrammarName,
   20150     SpeechLoadOption LoadOption);
   20151 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromObject_Stub(
   20152     IRpcStubBuffer* This,
   20153     IRpcChannelBuffer* pRpcChannelBuffer,
   20154     PRPC_MESSAGE pRpcMessage,
   20155     DWORD* pdwStubPhase);
   20156 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromResource_Proxy(
   20157     ISpeechRecoGrammar* This,
   20158     LONG hModule,
   20159     VARIANT ResourceName,
   20160     VARIANT ResourceType,
   20161     SpeechLanguageId LanguageId,
   20162     SpeechLoadOption LoadOption);
   20163 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromResource_Stub(
   20164     IRpcStubBuffer* This,
   20165     IRpcChannelBuffer* pRpcChannelBuffer,
   20166     PRPC_MESSAGE pRpcMessage,
   20167     DWORD* pdwStubPhase);
   20168 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromMemory_Proxy(
   20169     ISpeechRecoGrammar* This,
   20170     VARIANT GrammarData,
   20171     SpeechLoadOption LoadOption);
   20172 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromMemory_Stub(
   20173     IRpcStubBuffer* This,
   20174     IRpcChannelBuffer* pRpcChannelBuffer,
   20175     PRPC_MESSAGE pRpcMessage,
   20176     DWORD* pdwStubPhase);
   20177 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar_Proxy(
   20178     ISpeechRecoGrammar* This,
   20179     const BSTR ProprietaryGuid,
   20180     const BSTR ProprietaryString,
   20181     VARIANT ProprietaryData,
   20182     SpeechLoadOption LoadOption);
   20183 void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar_Stub(
   20184     IRpcStubBuffer* This,
   20185     IRpcChannelBuffer* pRpcChannelBuffer,
   20186     PRPC_MESSAGE pRpcMessage,
   20187     DWORD* pdwStubPhase);
   20188 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdSetRuleState_Proxy(
   20189     ISpeechRecoGrammar* This,
   20190     const BSTR Name,
   20191     SpeechRuleState State);
   20192 void __RPC_STUB ISpeechRecoGrammar_CmdSetRuleState_Stub(
   20193     IRpcStubBuffer* This,
   20194     IRpcChannelBuffer* pRpcChannelBuffer,
   20195     PRPC_MESSAGE pRpcMessage,
   20196     DWORD* pdwStubPhase);
   20197 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdSetRuleIdState_Proxy(
   20198     ISpeechRecoGrammar* This,
   20199     LONG RuleId,
   20200     SpeechRuleState State);
   20201 void __RPC_STUB ISpeechRecoGrammar_CmdSetRuleIdState_Stub(
   20202     IRpcStubBuffer* This,
   20203     IRpcChannelBuffer* pRpcChannelBuffer,
   20204     PRPC_MESSAGE pRpcMessage,
   20205     DWORD* pdwStubPhase);
   20206 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationLoad_Proxy(
   20207     ISpeechRecoGrammar* This,
   20208     const BSTR TopicName,
   20209     SpeechLoadOption LoadOption);
   20210 void __RPC_STUB ISpeechRecoGrammar_DictationLoad_Stub(
   20211     IRpcStubBuffer* This,
   20212     IRpcChannelBuffer* pRpcChannelBuffer,
   20213     PRPC_MESSAGE pRpcMessage,
   20214     DWORD* pdwStubPhase);
   20215 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationUnload_Proxy(
   20216     ISpeechRecoGrammar* This);
   20217 void __RPC_STUB ISpeechRecoGrammar_DictationUnload_Stub(
   20218     IRpcStubBuffer* This,
   20219     IRpcChannelBuffer* pRpcChannelBuffer,
   20220     PRPC_MESSAGE pRpcMessage,
   20221     DWORD* pdwStubPhase);
   20222 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationSetState_Proxy(
   20223     ISpeechRecoGrammar* This,
   20224     SpeechRuleState State);
   20225 void __RPC_STUB ISpeechRecoGrammar_DictationSetState_Stub(
   20226     IRpcStubBuffer* This,
   20227     IRpcChannelBuffer* pRpcChannelBuffer,
   20228     PRPC_MESSAGE pRpcMessage,
   20229     DWORD* pdwStubPhase);
   20230 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_SetWordSequenceData_Proxy(
   20231     ISpeechRecoGrammar* This,
   20232     const BSTR Text,
   20233     LONG TextLength,
   20234     ISpeechTextSelectionInformation *Info);
   20235 void __RPC_STUB ISpeechRecoGrammar_SetWordSequenceData_Stub(
   20236     IRpcStubBuffer* This,
   20237     IRpcChannelBuffer* pRpcChannelBuffer,
   20238     PRPC_MESSAGE pRpcMessage,
   20239     DWORD* pdwStubPhase);
   20240 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_SetTextSelection_Proxy(
   20241     ISpeechRecoGrammar* This,
   20242     ISpeechTextSelectionInformation *Info);
   20243 void __RPC_STUB ISpeechRecoGrammar_SetTextSelection_Stub(
   20244     IRpcStubBuffer* This,
   20245     IRpcChannelBuffer* pRpcChannelBuffer,
   20246     PRPC_MESSAGE pRpcMessage,
   20247     DWORD* pdwStubPhase);
   20248 HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_IsPronounceable_Proxy(
   20249     ISpeechRecoGrammar* This,
   20250     const BSTR Word,
   20251     SpeechWordPronounceable *WordPronounceable);
   20252 void __RPC_STUB ISpeechRecoGrammar_IsPronounceable_Stub(
   20253     IRpcStubBuffer* This,
   20254     IRpcChannelBuffer* pRpcChannelBuffer,
   20255     PRPC_MESSAGE pRpcMessage,
   20256     DWORD* pdwStubPhase);
   20257 
   20258 #endif  /* __ISpeechRecoGrammar_INTERFACE_DEFINED__ */
   20259 
   20260 /*****************************************************************************
   20261  * _ISpeechRecoContextEvents dispinterface
   20262  */
   20263 #ifndef ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
   20264 #define ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
   20265 
   20266 DEFINE_GUID(DIID__ISpeechRecoContextEvents, 0x7b8fcb42, 0x0e9d, 0x4f00, 0xa0,0x48, 0x7b,0x04,0xd6,0x17,0x9d,0x3d);
   20267 #if defined(__cplusplus) && !defined(CINTERFACE)
   20268 MIDL_INTERFACE("7b8fcb42-0e9d-4f00-a048-7b04d6179d3d")
   20269 _ISpeechRecoContextEvents : public IDispatch
   20270 {
   20271 };
   20272 #ifdef __CRT_UUID_DECL
   20273 __CRT_UUID_DECL(_ISpeechRecoContextEvents, 0x7b8fcb42, 0x0e9d, 0x4f00, 0xa0,0x48, 0x7b,0x04,0xd6,0x17,0x9d,0x3d)
   20274 #endif
   20275 #else
   20276 typedef struct _ISpeechRecoContextEventsVtbl {
   20277     BEGIN_INTERFACE
   20278 
   20279     /*** IUnknown methods ***/
   20280     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   20281         _ISpeechRecoContextEvents* This,
   20282         REFIID riid,
   20283         void **ppvObject);
   20284 
   20285     ULONG (STDMETHODCALLTYPE *AddRef)(
   20286         _ISpeechRecoContextEvents* This);
   20287 
   20288     ULONG (STDMETHODCALLTYPE *Release)(
   20289         _ISpeechRecoContextEvents* This);
   20290 
   20291     /*** IDispatch methods ***/
   20292     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   20293         _ISpeechRecoContextEvents* This,
   20294         UINT *pctinfo);
   20295 
   20296     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   20297         _ISpeechRecoContextEvents* This,
   20298         UINT iTInfo,
   20299         LCID lcid,
   20300         ITypeInfo **ppTInfo);
   20301 
   20302     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   20303         _ISpeechRecoContextEvents* This,
   20304         REFIID riid,
   20305         LPOLESTR *rgszNames,
   20306         UINT cNames,
   20307         LCID lcid,
   20308         DISPID *rgDispId);
   20309 
   20310     HRESULT (STDMETHODCALLTYPE *Invoke)(
   20311         _ISpeechRecoContextEvents* This,
   20312         DISPID dispIdMember,
   20313         REFIID riid,
   20314         LCID lcid,
   20315         WORD wFlags,
   20316         DISPPARAMS *pDispParams,
   20317         VARIANT *pVarResult,
   20318         EXCEPINFO *pExcepInfo,
   20319         UINT *puArgErr);
   20320 
   20321     END_INTERFACE
   20322 } _ISpeechRecoContextEventsVtbl;
   20323 interface _ISpeechRecoContextEvents {
   20324     CONST_VTBL _ISpeechRecoContextEventsVtbl* lpVtbl;
   20325 };
   20326 
   20327 #ifdef COBJMACROS
   20328 #ifndef WIDL_C_INLINE_WRAPPERS
   20329 /*** IUnknown methods ***/
   20330 #define _ISpeechRecoContextEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   20331 #define _ISpeechRecoContextEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   20332 #define _ISpeechRecoContextEvents_Release(This) (This)->lpVtbl->Release(This)
   20333 /*** IDispatch methods ***/
   20334 #define _ISpeechRecoContextEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   20335 #define _ISpeechRecoContextEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   20336 #define _ISpeechRecoContextEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   20337 #define _ISpeechRecoContextEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   20338 #else
   20339 /*** IUnknown methods ***/
   20340 static FORCEINLINE HRESULT _ISpeechRecoContextEvents_QueryInterface(_ISpeechRecoContextEvents* This,REFIID riid,void **ppvObject) {
   20341     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   20342 }
   20343 static FORCEINLINE ULONG _ISpeechRecoContextEvents_AddRef(_ISpeechRecoContextEvents* This) {
   20344     return This->lpVtbl->AddRef(This);
   20345 }
   20346 static FORCEINLINE ULONG _ISpeechRecoContextEvents_Release(_ISpeechRecoContextEvents* This) {
   20347     return This->lpVtbl->Release(This);
   20348 }
   20349 /*** IDispatch methods ***/
   20350 static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetTypeInfoCount(_ISpeechRecoContextEvents* This,UINT *pctinfo) {
   20351     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   20352 }
   20353 static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetTypeInfo(_ISpeechRecoContextEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   20354     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   20355 }
   20356 static FORCEINLINE HRESULT _ISpeechRecoContextEvents_GetIDsOfNames(_ISpeechRecoContextEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   20357     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   20358 }
   20359 static FORCEINLINE HRESULT _ISpeechRecoContextEvents_Invoke(_ISpeechRecoContextEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   20360     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   20361 }
   20362 #endif
   20363 #endif
   20364 
   20365 #endif
   20366 
   20367 #endif  /* ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__ */
   20368 
   20369 /*****************************************************************************
   20370  * ISpeechGrammarRule interface
   20371  */
   20372 #ifndef __ISpeechGrammarRule_INTERFACE_DEFINED__
   20373 #define __ISpeechGrammarRule_INTERFACE_DEFINED__
   20374 
   20375 DEFINE_GUID(IID_ISpeechGrammarRule, 0xafe719cf, 0x5dd1, 0x44f2, 0x99,0x9c, 0x7a,0x39,0x9f,0x1c,0xfc,0xcc);
   20376 #if defined(__cplusplus) && !defined(CINTERFACE)
   20377 MIDL_INTERFACE("afe719cf-5dd1-44f2-999c-7a399f1cfccc")
   20378 ISpeechGrammarRule : public IDispatch
   20379 {
   20380     virtual HRESULT STDMETHODCALLTYPE get_Attributes(
   20381         SpeechRuleAttributes *Attributes) = 0;
   20382 
   20383     virtual HRESULT STDMETHODCALLTYPE get_InitialState(
   20384         ISpeechGrammarRuleState **State) = 0;
   20385 
   20386     virtual HRESULT STDMETHODCALLTYPE get_Name(
   20387         BSTR *Name) = 0;
   20388 
   20389     virtual HRESULT STDMETHODCALLTYPE get_Id(
   20390         LONG *Id) = 0;
   20391 
   20392     virtual HRESULT STDMETHODCALLTYPE Clear(
   20393         ) = 0;
   20394 
   20395     virtual HRESULT STDMETHODCALLTYPE AddResource(
   20396         const BSTR ResourceName,
   20397         const BSTR ResourceValue) = 0;
   20398 
   20399     virtual HRESULT STDMETHODCALLTYPE AddState(
   20400         ISpeechGrammarRuleState **State) = 0;
   20401 
   20402 };
   20403 #ifdef __CRT_UUID_DECL
   20404 __CRT_UUID_DECL(ISpeechGrammarRule, 0xafe719cf, 0x5dd1, 0x44f2, 0x99,0x9c, 0x7a,0x39,0x9f,0x1c,0xfc,0xcc)
   20405 #endif
   20406 #else
   20407 typedef struct ISpeechGrammarRuleVtbl {
   20408     BEGIN_INTERFACE
   20409 
   20410     /*** IUnknown methods ***/
   20411     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   20412         ISpeechGrammarRule* This,
   20413         REFIID riid,
   20414         void **ppvObject);
   20415 
   20416     ULONG (STDMETHODCALLTYPE *AddRef)(
   20417         ISpeechGrammarRule* This);
   20418 
   20419     ULONG (STDMETHODCALLTYPE *Release)(
   20420         ISpeechGrammarRule* This);
   20421 
   20422     /*** IDispatch methods ***/
   20423     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   20424         ISpeechGrammarRule* This,
   20425         UINT *pctinfo);
   20426 
   20427     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   20428         ISpeechGrammarRule* This,
   20429         UINT iTInfo,
   20430         LCID lcid,
   20431         ITypeInfo **ppTInfo);
   20432 
   20433     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   20434         ISpeechGrammarRule* This,
   20435         REFIID riid,
   20436         LPOLESTR *rgszNames,
   20437         UINT cNames,
   20438         LCID lcid,
   20439         DISPID *rgDispId);
   20440 
   20441     HRESULT (STDMETHODCALLTYPE *Invoke)(
   20442         ISpeechGrammarRule* This,
   20443         DISPID dispIdMember,
   20444         REFIID riid,
   20445         LCID lcid,
   20446         WORD wFlags,
   20447         DISPPARAMS *pDispParams,
   20448         VARIANT *pVarResult,
   20449         EXCEPINFO *pExcepInfo,
   20450         UINT *puArgErr);
   20451 
   20452     /*** ISpeechGrammarRule methods ***/
   20453     HRESULT (STDMETHODCALLTYPE *get_Attributes)(
   20454         ISpeechGrammarRule* This,
   20455         SpeechRuleAttributes *Attributes);
   20456 
   20457     HRESULT (STDMETHODCALLTYPE *get_InitialState)(
   20458         ISpeechGrammarRule* This,
   20459         ISpeechGrammarRuleState **State);
   20460 
   20461     HRESULT (STDMETHODCALLTYPE *get_Name)(
   20462         ISpeechGrammarRule* This,
   20463         BSTR *Name);
   20464 
   20465     HRESULT (STDMETHODCALLTYPE *get_Id)(
   20466         ISpeechGrammarRule* This,
   20467         LONG *Id);
   20468 
   20469     HRESULT (STDMETHODCALLTYPE *Clear)(
   20470         ISpeechGrammarRule* This);
   20471 
   20472     HRESULT (STDMETHODCALLTYPE *AddResource)(
   20473         ISpeechGrammarRule* This,
   20474         const BSTR ResourceName,
   20475         const BSTR ResourceValue);
   20476 
   20477     HRESULT (STDMETHODCALLTYPE *AddState)(
   20478         ISpeechGrammarRule* This,
   20479         ISpeechGrammarRuleState **State);
   20480 
   20481     END_INTERFACE
   20482 } ISpeechGrammarRuleVtbl;
   20483 interface ISpeechGrammarRule {
   20484     CONST_VTBL ISpeechGrammarRuleVtbl* lpVtbl;
   20485 };
   20486 
   20487 #ifdef COBJMACROS
   20488 #ifndef WIDL_C_INLINE_WRAPPERS
   20489 /*** IUnknown methods ***/
   20490 #define ISpeechGrammarRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   20491 #define ISpeechGrammarRule_AddRef(This) (This)->lpVtbl->AddRef(This)
   20492 #define ISpeechGrammarRule_Release(This) (This)->lpVtbl->Release(This)
   20493 /*** IDispatch methods ***/
   20494 #define ISpeechGrammarRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   20495 #define ISpeechGrammarRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   20496 #define ISpeechGrammarRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   20497 #define ISpeechGrammarRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   20498 /*** ISpeechGrammarRule methods ***/
   20499 #define ISpeechGrammarRule_get_Attributes(This,Attributes) (This)->lpVtbl->get_Attributes(This,Attributes)
   20500 #define ISpeechGrammarRule_get_InitialState(This,State) (This)->lpVtbl->get_InitialState(This,State)
   20501 #define ISpeechGrammarRule_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
   20502 #define ISpeechGrammarRule_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
   20503 #define ISpeechGrammarRule_Clear(This) (This)->lpVtbl->Clear(This)
   20504 #define ISpeechGrammarRule_AddResource(This,ResourceName,ResourceValue) (This)->lpVtbl->AddResource(This,ResourceName,ResourceValue)
   20505 #define ISpeechGrammarRule_AddState(This,State) (This)->lpVtbl->AddState(This,State)
   20506 #else
   20507 /*** IUnknown methods ***/
   20508 static FORCEINLINE HRESULT ISpeechGrammarRule_QueryInterface(ISpeechGrammarRule* This,REFIID riid,void **ppvObject) {
   20509     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   20510 }
   20511 static FORCEINLINE ULONG ISpeechGrammarRule_AddRef(ISpeechGrammarRule* This) {
   20512     return This->lpVtbl->AddRef(This);
   20513 }
   20514 static FORCEINLINE ULONG ISpeechGrammarRule_Release(ISpeechGrammarRule* This) {
   20515     return This->lpVtbl->Release(This);
   20516 }
   20517 /*** IDispatch methods ***/
   20518 static FORCEINLINE HRESULT ISpeechGrammarRule_GetTypeInfoCount(ISpeechGrammarRule* This,UINT *pctinfo) {
   20519     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   20520 }
   20521 static FORCEINLINE HRESULT ISpeechGrammarRule_GetTypeInfo(ISpeechGrammarRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   20522     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   20523 }
   20524 static FORCEINLINE HRESULT ISpeechGrammarRule_GetIDsOfNames(ISpeechGrammarRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   20525     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   20526 }
   20527 static FORCEINLINE HRESULT ISpeechGrammarRule_Invoke(ISpeechGrammarRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   20528     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   20529 }
   20530 /*** ISpeechGrammarRule methods ***/
   20531 static FORCEINLINE HRESULT ISpeechGrammarRule_get_Attributes(ISpeechGrammarRule* This,SpeechRuleAttributes *Attributes) {
   20532     return This->lpVtbl->get_Attributes(This,Attributes);
   20533 }
   20534 static FORCEINLINE HRESULT ISpeechGrammarRule_get_InitialState(ISpeechGrammarRule* This,ISpeechGrammarRuleState **State) {
   20535     return This->lpVtbl->get_InitialState(This,State);
   20536 }
   20537 static FORCEINLINE HRESULT ISpeechGrammarRule_get_Name(ISpeechGrammarRule* This,BSTR *Name) {
   20538     return This->lpVtbl->get_Name(This,Name);
   20539 }
   20540 static FORCEINLINE HRESULT ISpeechGrammarRule_get_Id(ISpeechGrammarRule* This,LONG *Id) {
   20541     return This->lpVtbl->get_Id(This,Id);
   20542 }
   20543 static FORCEINLINE HRESULT ISpeechGrammarRule_Clear(ISpeechGrammarRule* This) {
   20544     return This->lpVtbl->Clear(This);
   20545 }
   20546 static FORCEINLINE HRESULT ISpeechGrammarRule_AddResource(ISpeechGrammarRule* This,const BSTR ResourceName,const BSTR ResourceValue) {
   20547     return This->lpVtbl->AddResource(This,ResourceName,ResourceValue);
   20548 }
   20549 static FORCEINLINE HRESULT ISpeechGrammarRule_AddState(ISpeechGrammarRule* This,ISpeechGrammarRuleState **State) {
   20550     return This->lpVtbl->AddState(This,State);
   20551 }
   20552 #endif
   20553 #endif
   20554 
   20555 #endif
   20556 
   20557 HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Attributes_Proxy(
   20558     ISpeechGrammarRule* This,
   20559     SpeechRuleAttributes *Attributes);
   20560 void __RPC_STUB ISpeechGrammarRule_get_Attributes_Stub(
   20561     IRpcStubBuffer* This,
   20562     IRpcChannelBuffer* pRpcChannelBuffer,
   20563     PRPC_MESSAGE pRpcMessage,
   20564     DWORD* pdwStubPhase);
   20565 HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_InitialState_Proxy(
   20566     ISpeechGrammarRule* This,
   20567     ISpeechGrammarRuleState **State);
   20568 void __RPC_STUB ISpeechGrammarRule_get_InitialState_Stub(
   20569     IRpcStubBuffer* This,
   20570     IRpcChannelBuffer* pRpcChannelBuffer,
   20571     PRPC_MESSAGE pRpcMessage,
   20572     DWORD* pdwStubPhase);
   20573 HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Name_Proxy(
   20574     ISpeechGrammarRule* This,
   20575     BSTR *Name);
   20576 void __RPC_STUB ISpeechGrammarRule_get_Name_Stub(
   20577     IRpcStubBuffer* This,
   20578     IRpcChannelBuffer* pRpcChannelBuffer,
   20579     PRPC_MESSAGE pRpcMessage,
   20580     DWORD* pdwStubPhase);
   20581 HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Id_Proxy(
   20582     ISpeechGrammarRule* This,
   20583     LONG *Id);
   20584 void __RPC_STUB ISpeechGrammarRule_get_Id_Stub(
   20585     IRpcStubBuffer* This,
   20586     IRpcChannelBuffer* pRpcChannelBuffer,
   20587     PRPC_MESSAGE pRpcMessage,
   20588     DWORD* pdwStubPhase);
   20589 HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_Clear_Proxy(
   20590     ISpeechGrammarRule* This);
   20591 void __RPC_STUB ISpeechGrammarRule_Clear_Stub(
   20592     IRpcStubBuffer* This,
   20593     IRpcChannelBuffer* pRpcChannelBuffer,
   20594     PRPC_MESSAGE pRpcMessage,
   20595     DWORD* pdwStubPhase);
   20596 HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_AddResource_Proxy(
   20597     ISpeechGrammarRule* This,
   20598     const BSTR ResourceName,
   20599     const BSTR ResourceValue);
   20600 void __RPC_STUB ISpeechGrammarRule_AddResource_Stub(
   20601     IRpcStubBuffer* This,
   20602     IRpcChannelBuffer* pRpcChannelBuffer,
   20603     PRPC_MESSAGE pRpcMessage,
   20604     DWORD* pdwStubPhase);
   20605 HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_AddState_Proxy(
   20606     ISpeechGrammarRule* This,
   20607     ISpeechGrammarRuleState **State);
   20608 void __RPC_STUB ISpeechGrammarRule_AddState_Stub(
   20609     IRpcStubBuffer* This,
   20610     IRpcChannelBuffer* pRpcChannelBuffer,
   20611     PRPC_MESSAGE pRpcMessage,
   20612     DWORD* pdwStubPhase);
   20613 
   20614 #endif  /* __ISpeechGrammarRule_INTERFACE_DEFINED__ */
   20615 
   20616 /*****************************************************************************
   20617  * ISpeechGrammarRules interface
   20618  */
   20619 #ifndef __ISpeechGrammarRules_INTERFACE_DEFINED__
   20620 #define __ISpeechGrammarRules_INTERFACE_DEFINED__
   20621 
   20622 DEFINE_GUID(IID_ISpeechGrammarRules, 0x6ffa3b44, 0xfc2d, 0x40d1, 0x8a,0xfc, 0x32,0x91,0x1c,0x7f,0x1a,0xd1);
   20623 #if defined(__cplusplus) && !defined(CINTERFACE)
   20624 MIDL_INTERFACE("6ffa3b44-fc2d-40d1-8afc-32911c7f1ad1")
   20625 ISpeechGrammarRules : public IDispatch
   20626 {
   20627     virtual HRESULT STDMETHODCALLTYPE get_Count(
   20628         LONG *Count) = 0;
   20629 
   20630     virtual HRESULT STDMETHODCALLTYPE FindRule(
   20631         VARIANT RuleNameOrId,
   20632         ISpeechGrammarRule **Rule) = 0;
   20633 
   20634     virtual HRESULT STDMETHODCALLTYPE Item(
   20635         LONG Index,
   20636         ISpeechGrammarRule **Rule) = 0;
   20637 
   20638     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   20639         IUnknown **EnumVARIANT) = 0;
   20640 
   20641     virtual HRESULT STDMETHODCALLTYPE get_Dynamic(
   20642         VARIANT_BOOL *Dynamic) = 0;
   20643 
   20644     virtual HRESULT STDMETHODCALLTYPE Add(
   20645         BSTR RuleName,
   20646         SpeechRuleAttributes Attributes,
   20647         LONG RuleId,
   20648         ISpeechGrammarRule **Rule) = 0;
   20649 
   20650     virtual HRESULT STDMETHODCALLTYPE Commit(
   20651         ) = 0;
   20652 
   20653     virtual HRESULT STDMETHODCALLTYPE CommitAndSave(
   20654         BSTR *ErrorText,
   20655         VARIANT *SaveStream) = 0;
   20656 
   20657 };
   20658 #ifdef __CRT_UUID_DECL
   20659 __CRT_UUID_DECL(ISpeechGrammarRules, 0x6ffa3b44, 0xfc2d, 0x40d1, 0x8a,0xfc, 0x32,0x91,0x1c,0x7f,0x1a,0xd1)
   20660 #endif
   20661 #else
   20662 typedef struct ISpeechGrammarRulesVtbl {
   20663     BEGIN_INTERFACE
   20664 
   20665     /*** IUnknown methods ***/
   20666     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   20667         ISpeechGrammarRules* This,
   20668         REFIID riid,
   20669         void **ppvObject);
   20670 
   20671     ULONG (STDMETHODCALLTYPE *AddRef)(
   20672         ISpeechGrammarRules* This);
   20673 
   20674     ULONG (STDMETHODCALLTYPE *Release)(
   20675         ISpeechGrammarRules* This);
   20676 
   20677     /*** IDispatch methods ***/
   20678     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   20679         ISpeechGrammarRules* This,
   20680         UINT *pctinfo);
   20681 
   20682     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   20683         ISpeechGrammarRules* This,
   20684         UINT iTInfo,
   20685         LCID lcid,
   20686         ITypeInfo **ppTInfo);
   20687 
   20688     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   20689         ISpeechGrammarRules* This,
   20690         REFIID riid,
   20691         LPOLESTR *rgszNames,
   20692         UINT cNames,
   20693         LCID lcid,
   20694         DISPID *rgDispId);
   20695 
   20696     HRESULT (STDMETHODCALLTYPE *Invoke)(
   20697         ISpeechGrammarRules* This,
   20698         DISPID dispIdMember,
   20699         REFIID riid,
   20700         LCID lcid,
   20701         WORD wFlags,
   20702         DISPPARAMS *pDispParams,
   20703         VARIANT *pVarResult,
   20704         EXCEPINFO *pExcepInfo,
   20705         UINT *puArgErr);
   20706 
   20707     /*** ISpeechGrammarRules methods ***/
   20708     HRESULT (STDMETHODCALLTYPE *get_Count)(
   20709         ISpeechGrammarRules* This,
   20710         LONG *Count);
   20711 
   20712     HRESULT (STDMETHODCALLTYPE *FindRule)(
   20713         ISpeechGrammarRules* This,
   20714         VARIANT RuleNameOrId,
   20715         ISpeechGrammarRule **Rule);
   20716 
   20717     HRESULT (STDMETHODCALLTYPE *Item)(
   20718         ISpeechGrammarRules* This,
   20719         LONG Index,
   20720         ISpeechGrammarRule **Rule);
   20721 
   20722     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   20723         ISpeechGrammarRules* This,
   20724         IUnknown **EnumVARIANT);
   20725 
   20726     HRESULT (STDMETHODCALLTYPE *get_Dynamic)(
   20727         ISpeechGrammarRules* This,
   20728         VARIANT_BOOL *Dynamic);
   20729 
   20730     HRESULT (STDMETHODCALLTYPE *Add)(
   20731         ISpeechGrammarRules* This,
   20732         BSTR RuleName,
   20733         SpeechRuleAttributes Attributes,
   20734         LONG RuleId,
   20735         ISpeechGrammarRule **Rule);
   20736 
   20737     HRESULT (STDMETHODCALLTYPE *Commit)(
   20738         ISpeechGrammarRules* This);
   20739 
   20740     HRESULT (STDMETHODCALLTYPE *CommitAndSave)(
   20741         ISpeechGrammarRules* This,
   20742         BSTR *ErrorText,
   20743         VARIANT *SaveStream);
   20744 
   20745     END_INTERFACE
   20746 } ISpeechGrammarRulesVtbl;
   20747 interface ISpeechGrammarRules {
   20748     CONST_VTBL ISpeechGrammarRulesVtbl* lpVtbl;
   20749 };
   20750 
   20751 #ifdef COBJMACROS
   20752 #ifndef WIDL_C_INLINE_WRAPPERS
   20753 /*** IUnknown methods ***/
   20754 #define ISpeechGrammarRules_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   20755 #define ISpeechGrammarRules_AddRef(This) (This)->lpVtbl->AddRef(This)
   20756 #define ISpeechGrammarRules_Release(This) (This)->lpVtbl->Release(This)
   20757 /*** IDispatch methods ***/
   20758 #define ISpeechGrammarRules_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   20759 #define ISpeechGrammarRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   20760 #define ISpeechGrammarRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   20761 #define ISpeechGrammarRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   20762 /*** ISpeechGrammarRules methods ***/
   20763 #define ISpeechGrammarRules_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   20764 #define ISpeechGrammarRules_FindRule(This,RuleNameOrId,Rule) (This)->lpVtbl->FindRule(This,RuleNameOrId,Rule)
   20765 #define ISpeechGrammarRules_Item(This,Index,Rule) (This)->lpVtbl->Item(This,Index,Rule)
   20766 #define ISpeechGrammarRules_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   20767 #define ISpeechGrammarRules_get_Dynamic(This,Dynamic) (This)->lpVtbl->get_Dynamic(This,Dynamic)
   20768 #define ISpeechGrammarRules_Add(This,RuleName,Attributes,RuleId,Rule) (This)->lpVtbl->Add(This,RuleName,Attributes,RuleId,Rule)
   20769 #define ISpeechGrammarRules_Commit(This) (This)->lpVtbl->Commit(This)
   20770 #define ISpeechGrammarRules_CommitAndSave(This,ErrorText,SaveStream) (This)->lpVtbl->CommitAndSave(This,ErrorText,SaveStream)
   20771 #else
   20772 /*** IUnknown methods ***/
   20773 static FORCEINLINE HRESULT ISpeechGrammarRules_QueryInterface(ISpeechGrammarRules* This,REFIID riid,void **ppvObject) {
   20774     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   20775 }
   20776 static FORCEINLINE ULONG ISpeechGrammarRules_AddRef(ISpeechGrammarRules* This) {
   20777     return This->lpVtbl->AddRef(This);
   20778 }
   20779 static FORCEINLINE ULONG ISpeechGrammarRules_Release(ISpeechGrammarRules* This) {
   20780     return This->lpVtbl->Release(This);
   20781 }
   20782 /*** IDispatch methods ***/
   20783 static FORCEINLINE HRESULT ISpeechGrammarRules_GetTypeInfoCount(ISpeechGrammarRules* This,UINT *pctinfo) {
   20784     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   20785 }
   20786 static FORCEINLINE HRESULT ISpeechGrammarRules_GetTypeInfo(ISpeechGrammarRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   20787     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   20788 }
   20789 static FORCEINLINE HRESULT ISpeechGrammarRules_GetIDsOfNames(ISpeechGrammarRules* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   20790     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   20791 }
   20792 static FORCEINLINE HRESULT ISpeechGrammarRules_Invoke(ISpeechGrammarRules* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   20793     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   20794 }
   20795 /*** ISpeechGrammarRules methods ***/
   20796 static FORCEINLINE HRESULT ISpeechGrammarRules_get_Count(ISpeechGrammarRules* This,LONG *Count) {
   20797     return This->lpVtbl->get_Count(This,Count);
   20798 }
   20799 static FORCEINLINE HRESULT ISpeechGrammarRules_FindRule(ISpeechGrammarRules* This,VARIANT RuleNameOrId,ISpeechGrammarRule **Rule) {
   20800     return This->lpVtbl->FindRule(This,RuleNameOrId,Rule);
   20801 }
   20802 static FORCEINLINE HRESULT ISpeechGrammarRules_Item(ISpeechGrammarRules* This,LONG Index,ISpeechGrammarRule **Rule) {
   20803     return This->lpVtbl->Item(This,Index,Rule);
   20804 }
   20805 static FORCEINLINE HRESULT ISpeechGrammarRules_get__NewEnum(ISpeechGrammarRules* This,IUnknown **EnumVARIANT) {
   20806     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   20807 }
   20808 static FORCEINLINE HRESULT ISpeechGrammarRules_get_Dynamic(ISpeechGrammarRules* This,VARIANT_BOOL *Dynamic) {
   20809     return This->lpVtbl->get_Dynamic(This,Dynamic);
   20810 }
   20811 static FORCEINLINE HRESULT ISpeechGrammarRules_Add(ISpeechGrammarRules* This,BSTR RuleName,SpeechRuleAttributes Attributes,LONG RuleId,ISpeechGrammarRule **Rule) {
   20812     return This->lpVtbl->Add(This,RuleName,Attributes,RuleId,Rule);
   20813 }
   20814 static FORCEINLINE HRESULT ISpeechGrammarRules_Commit(ISpeechGrammarRules* This) {
   20815     return This->lpVtbl->Commit(This);
   20816 }
   20817 static FORCEINLINE HRESULT ISpeechGrammarRules_CommitAndSave(ISpeechGrammarRules* This,BSTR *ErrorText,VARIANT *SaveStream) {
   20818     return This->lpVtbl->CommitAndSave(This,ErrorText,SaveStream);
   20819 }
   20820 #endif
   20821 #endif
   20822 
   20823 #endif
   20824 
   20825 HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get_Count_Proxy(
   20826     ISpeechGrammarRules* This,
   20827     LONG *Count);
   20828 void __RPC_STUB ISpeechGrammarRules_get_Count_Stub(
   20829     IRpcStubBuffer* This,
   20830     IRpcChannelBuffer* pRpcChannelBuffer,
   20831     PRPC_MESSAGE pRpcMessage,
   20832     DWORD* pdwStubPhase);
   20833 HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_FindRule_Proxy(
   20834     ISpeechGrammarRules* This,
   20835     VARIANT RuleNameOrId,
   20836     ISpeechGrammarRule **Rule);
   20837 void __RPC_STUB ISpeechGrammarRules_FindRule_Stub(
   20838     IRpcStubBuffer* This,
   20839     IRpcChannelBuffer* pRpcChannelBuffer,
   20840     PRPC_MESSAGE pRpcMessage,
   20841     DWORD* pdwStubPhase);
   20842 HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Item_Proxy(
   20843     ISpeechGrammarRules* This,
   20844     LONG Index,
   20845     ISpeechGrammarRule **Rule);
   20846 void __RPC_STUB ISpeechGrammarRules_Item_Stub(
   20847     IRpcStubBuffer* This,
   20848     IRpcChannelBuffer* pRpcChannelBuffer,
   20849     PRPC_MESSAGE pRpcMessage,
   20850     DWORD* pdwStubPhase);
   20851 HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get__NewEnum_Proxy(
   20852     ISpeechGrammarRules* This,
   20853     IUnknown **EnumVARIANT);
   20854 void __RPC_STUB ISpeechGrammarRules_get__NewEnum_Stub(
   20855     IRpcStubBuffer* This,
   20856     IRpcChannelBuffer* pRpcChannelBuffer,
   20857     PRPC_MESSAGE pRpcMessage,
   20858     DWORD* pdwStubPhase);
   20859 HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get_Dynamic_Proxy(
   20860     ISpeechGrammarRules* This,
   20861     VARIANT_BOOL *Dynamic);
   20862 void __RPC_STUB ISpeechGrammarRules_get_Dynamic_Stub(
   20863     IRpcStubBuffer* This,
   20864     IRpcChannelBuffer* pRpcChannelBuffer,
   20865     PRPC_MESSAGE pRpcMessage,
   20866     DWORD* pdwStubPhase);
   20867 HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Add_Proxy(
   20868     ISpeechGrammarRules* This,
   20869     BSTR RuleName,
   20870     SpeechRuleAttributes Attributes,
   20871     LONG RuleId,
   20872     ISpeechGrammarRule **Rule);
   20873 void __RPC_STUB ISpeechGrammarRules_Add_Stub(
   20874     IRpcStubBuffer* This,
   20875     IRpcChannelBuffer* pRpcChannelBuffer,
   20876     PRPC_MESSAGE pRpcMessage,
   20877     DWORD* pdwStubPhase);
   20878 HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Commit_Proxy(
   20879     ISpeechGrammarRules* This);
   20880 void __RPC_STUB ISpeechGrammarRules_Commit_Stub(
   20881     IRpcStubBuffer* This,
   20882     IRpcChannelBuffer* pRpcChannelBuffer,
   20883     PRPC_MESSAGE pRpcMessage,
   20884     DWORD* pdwStubPhase);
   20885 HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_CommitAndSave_Proxy(
   20886     ISpeechGrammarRules* This,
   20887     BSTR *ErrorText,
   20888     VARIANT *SaveStream);
   20889 void __RPC_STUB ISpeechGrammarRules_CommitAndSave_Stub(
   20890     IRpcStubBuffer* This,
   20891     IRpcChannelBuffer* pRpcChannelBuffer,
   20892     PRPC_MESSAGE pRpcMessage,
   20893     DWORD* pdwStubPhase);
   20894 
   20895 #endif  /* __ISpeechGrammarRules_INTERFACE_DEFINED__ */
   20896 
   20897 /*****************************************************************************
   20898  * ISpeechGrammarRuleState interface
   20899  */
   20900 #ifndef __ISpeechGrammarRuleState_INTERFACE_DEFINED__
   20901 #define __ISpeechGrammarRuleState_INTERFACE_DEFINED__
   20902 
   20903 DEFINE_GUID(IID_ISpeechGrammarRuleState, 0xd4286f2c, 0xee67, 0x45ae, 0xb9,0x28, 0x28,0xd6,0x95,0x36,0x2e,0xda);
   20904 #if defined(__cplusplus) && !defined(CINTERFACE)
   20905 MIDL_INTERFACE("d4286f2c-ee67-45ae-b928-28d695362eda")
   20906 ISpeechGrammarRuleState : public IDispatch
   20907 {
   20908     virtual HRESULT STDMETHODCALLTYPE get_Rule(
   20909         ISpeechGrammarRule **Rule) = 0;
   20910 
   20911     virtual HRESULT STDMETHODCALLTYPE get_Transitions(
   20912         ISpeechGrammarRuleStateTransitions **Transitions) = 0;
   20913 
   20914     virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
   20915         ISpeechGrammarRuleState *DestState,
   20916         const BSTR Words,
   20917         const BSTR Separators = L" ",
   20918         SpeechGrammarWordType Type = SGLexical,
   20919         const BSTR PropertyName = L"",
   20920         LONG PropertyId = 0,
   20921         VARIANT *PropertyValue = 0,
   20922         float Weight = 1) = 0;
   20923 
   20924     virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
   20925         ISpeechGrammarRuleState *DestinationState,
   20926         ISpeechGrammarRule *Rule,
   20927         const BSTR PropertyName = L"",
   20928         LONG PropertyId = 0,
   20929         VARIANT *PropertyValue = 0,
   20930         float Weight = 1) = 0;
   20931 
   20932     virtual HRESULT STDMETHODCALLTYPE AddSpecialTransition(
   20933         ISpeechGrammarRuleState *DestinationState,
   20934         SpeechSpecialTransitionType Type,
   20935         const BSTR PropertyName = L"",
   20936         LONG PropertyId = 0,
   20937         VARIANT *PropertyValue = 0,
   20938         float Weight = 1) = 0;
   20939 
   20940 };
   20941 #ifdef __CRT_UUID_DECL
   20942 __CRT_UUID_DECL(ISpeechGrammarRuleState, 0xd4286f2c, 0xee67, 0x45ae, 0xb9,0x28, 0x28,0xd6,0x95,0x36,0x2e,0xda)
   20943 #endif
   20944 #else
   20945 typedef struct ISpeechGrammarRuleStateVtbl {
   20946     BEGIN_INTERFACE
   20947 
   20948     /*** IUnknown methods ***/
   20949     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   20950         ISpeechGrammarRuleState* This,
   20951         REFIID riid,
   20952         void **ppvObject);
   20953 
   20954     ULONG (STDMETHODCALLTYPE *AddRef)(
   20955         ISpeechGrammarRuleState* This);
   20956 
   20957     ULONG (STDMETHODCALLTYPE *Release)(
   20958         ISpeechGrammarRuleState* This);
   20959 
   20960     /*** IDispatch methods ***/
   20961     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   20962         ISpeechGrammarRuleState* This,
   20963         UINT *pctinfo);
   20964 
   20965     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   20966         ISpeechGrammarRuleState* This,
   20967         UINT iTInfo,
   20968         LCID lcid,
   20969         ITypeInfo **ppTInfo);
   20970 
   20971     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   20972         ISpeechGrammarRuleState* This,
   20973         REFIID riid,
   20974         LPOLESTR *rgszNames,
   20975         UINT cNames,
   20976         LCID lcid,
   20977         DISPID *rgDispId);
   20978 
   20979     HRESULT (STDMETHODCALLTYPE *Invoke)(
   20980         ISpeechGrammarRuleState* This,
   20981         DISPID dispIdMember,
   20982         REFIID riid,
   20983         LCID lcid,
   20984         WORD wFlags,
   20985         DISPPARAMS *pDispParams,
   20986         VARIANT *pVarResult,
   20987         EXCEPINFO *pExcepInfo,
   20988         UINT *puArgErr);
   20989 
   20990     /*** ISpeechGrammarRuleState methods ***/
   20991     HRESULT (STDMETHODCALLTYPE *get_Rule)(
   20992         ISpeechGrammarRuleState* This,
   20993         ISpeechGrammarRule **Rule);
   20994 
   20995     HRESULT (STDMETHODCALLTYPE *get_Transitions)(
   20996         ISpeechGrammarRuleState* This,
   20997         ISpeechGrammarRuleStateTransitions **Transitions);
   20998 
   20999     HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
   21000         ISpeechGrammarRuleState* This,
   21001         ISpeechGrammarRuleState *DestState,
   21002         const BSTR Words,
   21003         const BSTR Separators,
   21004         SpeechGrammarWordType Type,
   21005         const BSTR PropertyName,
   21006         LONG PropertyId,
   21007         VARIANT *PropertyValue,
   21008         float Weight);
   21009 
   21010     HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
   21011         ISpeechGrammarRuleState* This,
   21012         ISpeechGrammarRuleState *DestinationState,
   21013         ISpeechGrammarRule *Rule,
   21014         const BSTR PropertyName,
   21015         LONG PropertyId,
   21016         VARIANT *PropertyValue,
   21017         float Weight);
   21018 
   21019     HRESULT (STDMETHODCALLTYPE *AddSpecialTransition)(
   21020         ISpeechGrammarRuleState* This,
   21021         ISpeechGrammarRuleState *DestinationState,
   21022         SpeechSpecialTransitionType Type,
   21023         const BSTR PropertyName,
   21024         LONG PropertyId,
   21025         VARIANT *PropertyValue,
   21026         float Weight);
   21027 
   21028     END_INTERFACE
   21029 } ISpeechGrammarRuleStateVtbl;
   21030 interface ISpeechGrammarRuleState {
   21031     CONST_VTBL ISpeechGrammarRuleStateVtbl* lpVtbl;
   21032 };
   21033 
   21034 #ifdef COBJMACROS
   21035 #ifndef WIDL_C_INLINE_WRAPPERS
   21036 /*** IUnknown methods ***/
   21037 #define ISpeechGrammarRuleState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   21038 #define ISpeechGrammarRuleState_AddRef(This) (This)->lpVtbl->AddRef(This)
   21039 #define ISpeechGrammarRuleState_Release(This) (This)->lpVtbl->Release(This)
   21040 /*** IDispatch methods ***/
   21041 #define ISpeechGrammarRuleState_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   21042 #define ISpeechGrammarRuleState_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   21043 #define ISpeechGrammarRuleState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   21044 #define ISpeechGrammarRuleState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   21045 /*** ISpeechGrammarRuleState methods ***/
   21046 #define ISpeechGrammarRuleState_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
   21047 #define ISpeechGrammarRuleState_get_Transitions(This,Transitions) (This)->lpVtbl->get_Transitions(This,Transitions)
   21048 #define ISpeechGrammarRuleState_AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight)
   21049 #define ISpeechGrammarRuleState_AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight)
   21050 #define ISpeechGrammarRuleState_AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight) (This)->lpVtbl->AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight)
   21051 #else
   21052 /*** IUnknown methods ***/
   21053 static FORCEINLINE HRESULT ISpeechGrammarRuleState_QueryInterface(ISpeechGrammarRuleState* This,REFIID riid,void **ppvObject) {
   21054     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   21055 }
   21056 static FORCEINLINE ULONG ISpeechGrammarRuleState_AddRef(ISpeechGrammarRuleState* This) {
   21057     return This->lpVtbl->AddRef(This);
   21058 }
   21059 static FORCEINLINE ULONG ISpeechGrammarRuleState_Release(ISpeechGrammarRuleState* This) {
   21060     return This->lpVtbl->Release(This);
   21061 }
   21062 /*** IDispatch methods ***/
   21063 static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetTypeInfoCount(ISpeechGrammarRuleState* This,UINT *pctinfo) {
   21064     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   21065 }
   21066 static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetTypeInfo(ISpeechGrammarRuleState* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   21067     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   21068 }
   21069 static FORCEINLINE HRESULT ISpeechGrammarRuleState_GetIDsOfNames(ISpeechGrammarRuleState* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   21070     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   21071 }
   21072 static FORCEINLINE HRESULT ISpeechGrammarRuleState_Invoke(ISpeechGrammarRuleState* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   21073     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   21074 }
   21075 /*** ISpeechGrammarRuleState methods ***/
   21076 static FORCEINLINE HRESULT ISpeechGrammarRuleState_get_Rule(ISpeechGrammarRuleState* This,ISpeechGrammarRule **Rule) {
   21077     return This->lpVtbl->get_Rule(This,Rule);
   21078 }
   21079 static FORCEINLINE HRESULT ISpeechGrammarRuleState_get_Transitions(ISpeechGrammarRuleState* This,ISpeechGrammarRuleStateTransitions **Transitions) {
   21080     return This->lpVtbl->get_Transitions(This,Transitions);
   21081 }
   21082 static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddWordTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestState,const BSTR Words,const BSTR Separators,SpeechGrammarWordType Type,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
   21083     return This->lpVtbl->AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight);
   21084 }
   21085 static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddRuleTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestinationState,ISpeechGrammarRule *Rule,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
   21086     return This->lpVtbl->AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight);
   21087 }
   21088 static FORCEINLINE HRESULT ISpeechGrammarRuleState_AddSpecialTransition(ISpeechGrammarRuleState* This,ISpeechGrammarRuleState *DestinationState,SpeechSpecialTransitionType Type,const BSTR PropertyName,LONG PropertyId,VARIANT *PropertyValue,float Weight) {
   21089     return This->lpVtbl->AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight);
   21090 }
   21091 #endif
   21092 #endif
   21093 
   21094 #endif
   21095 
   21096 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_get_Rule_Proxy(
   21097     ISpeechGrammarRuleState* This,
   21098     ISpeechGrammarRule **Rule);
   21099 void __RPC_STUB ISpeechGrammarRuleState_get_Rule_Stub(
   21100     IRpcStubBuffer* This,
   21101     IRpcChannelBuffer* pRpcChannelBuffer,
   21102     PRPC_MESSAGE pRpcMessage,
   21103     DWORD* pdwStubPhase);
   21104 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_get_Transitions_Proxy(
   21105     ISpeechGrammarRuleState* This,
   21106     ISpeechGrammarRuleStateTransitions **Transitions);
   21107 void __RPC_STUB ISpeechGrammarRuleState_get_Transitions_Stub(
   21108     IRpcStubBuffer* This,
   21109     IRpcChannelBuffer* pRpcChannelBuffer,
   21110     PRPC_MESSAGE pRpcMessage,
   21111     DWORD* pdwStubPhase);
   21112 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddWordTransition_Proxy(
   21113     ISpeechGrammarRuleState* This,
   21114     ISpeechGrammarRuleState *DestState,
   21115     const BSTR Words,
   21116     const BSTR Separators,
   21117     SpeechGrammarWordType Type,
   21118     const BSTR PropertyName,
   21119     LONG PropertyId,
   21120     VARIANT *PropertyValue,
   21121     float Weight);
   21122 void __RPC_STUB ISpeechGrammarRuleState_AddWordTransition_Stub(
   21123     IRpcStubBuffer* This,
   21124     IRpcChannelBuffer* pRpcChannelBuffer,
   21125     PRPC_MESSAGE pRpcMessage,
   21126     DWORD* pdwStubPhase);
   21127 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddRuleTransition_Proxy(
   21128     ISpeechGrammarRuleState* This,
   21129     ISpeechGrammarRuleState *DestinationState,
   21130     ISpeechGrammarRule *Rule,
   21131     const BSTR PropertyName,
   21132     LONG PropertyId,
   21133     VARIANT *PropertyValue,
   21134     float Weight);
   21135 void __RPC_STUB ISpeechGrammarRuleState_AddRuleTransition_Stub(
   21136     IRpcStubBuffer* This,
   21137     IRpcChannelBuffer* pRpcChannelBuffer,
   21138     PRPC_MESSAGE pRpcMessage,
   21139     DWORD* pdwStubPhase);
   21140 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddSpecialTransition_Proxy(
   21141     ISpeechGrammarRuleState* This,
   21142     ISpeechGrammarRuleState *DestinationState,
   21143     SpeechSpecialTransitionType Type,
   21144     const BSTR PropertyName,
   21145     LONG PropertyId,
   21146     VARIANT *PropertyValue,
   21147     float Weight);
   21148 void __RPC_STUB ISpeechGrammarRuleState_AddSpecialTransition_Stub(
   21149     IRpcStubBuffer* This,
   21150     IRpcChannelBuffer* pRpcChannelBuffer,
   21151     PRPC_MESSAGE pRpcMessage,
   21152     DWORD* pdwStubPhase);
   21153 
   21154 #endif  /* __ISpeechGrammarRuleState_INTERFACE_DEFINED__ */
   21155 
   21156 /*****************************************************************************
   21157  * ISpeechGrammarRuleStateTransitions interface
   21158  */
   21159 #ifndef __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
   21160 #define __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
   21161 
   21162 DEFINE_GUID(IID_ISpeechGrammarRuleStateTransitions, 0xeabce657, 0x75bc, 0x44a2, 0xaa,0x7f, 0xc5,0x64,0x76,0x74,0x29,0x63);
   21163 #if defined(__cplusplus) && !defined(CINTERFACE)
   21164 MIDL_INTERFACE("eabce657-75bc-44a2-aa7f-c56476742963")
   21165 ISpeechGrammarRuleStateTransitions : public IDispatch
   21166 {
   21167     virtual HRESULT STDMETHODCALLTYPE get_Count(
   21168         LONG *Count) = 0;
   21169 
   21170     virtual HRESULT STDMETHODCALLTYPE Item(
   21171         LONG Index,
   21172         ISpeechGrammarRuleStateTransition **Transition) = 0;
   21173 
   21174     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   21175         IUnknown **EnumVARIANT) = 0;
   21176 
   21177 };
   21178 #ifdef __CRT_UUID_DECL
   21179 __CRT_UUID_DECL(ISpeechGrammarRuleStateTransitions, 0xeabce657, 0x75bc, 0x44a2, 0xaa,0x7f, 0xc5,0x64,0x76,0x74,0x29,0x63)
   21180 #endif
   21181 #else
   21182 typedef struct ISpeechGrammarRuleStateTransitionsVtbl {
   21183     BEGIN_INTERFACE
   21184 
   21185     /*** IUnknown methods ***/
   21186     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   21187         ISpeechGrammarRuleStateTransitions* This,
   21188         REFIID riid,
   21189         void **ppvObject);
   21190 
   21191     ULONG (STDMETHODCALLTYPE *AddRef)(
   21192         ISpeechGrammarRuleStateTransitions* This);
   21193 
   21194     ULONG (STDMETHODCALLTYPE *Release)(
   21195         ISpeechGrammarRuleStateTransitions* This);
   21196 
   21197     /*** IDispatch methods ***/
   21198     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   21199         ISpeechGrammarRuleStateTransitions* This,
   21200         UINT *pctinfo);
   21201 
   21202     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   21203         ISpeechGrammarRuleStateTransitions* This,
   21204         UINT iTInfo,
   21205         LCID lcid,
   21206         ITypeInfo **ppTInfo);
   21207 
   21208     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   21209         ISpeechGrammarRuleStateTransitions* This,
   21210         REFIID riid,
   21211         LPOLESTR *rgszNames,
   21212         UINT cNames,
   21213         LCID lcid,
   21214         DISPID *rgDispId);
   21215 
   21216     HRESULT (STDMETHODCALLTYPE *Invoke)(
   21217         ISpeechGrammarRuleStateTransitions* This,
   21218         DISPID dispIdMember,
   21219         REFIID riid,
   21220         LCID lcid,
   21221         WORD wFlags,
   21222         DISPPARAMS *pDispParams,
   21223         VARIANT *pVarResult,
   21224         EXCEPINFO *pExcepInfo,
   21225         UINT *puArgErr);
   21226 
   21227     /*** ISpeechGrammarRuleStateTransitions methods ***/
   21228     HRESULT (STDMETHODCALLTYPE *get_Count)(
   21229         ISpeechGrammarRuleStateTransitions* This,
   21230         LONG *Count);
   21231 
   21232     HRESULT (STDMETHODCALLTYPE *Item)(
   21233         ISpeechGrammarRuleStateTransitions* This,
   21234         LONG Index,
   21235         ISpeechGrammarRuleStateTransition **Transition);
   21236 
   21237     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   21238         ISpeechGrammarRuleStateTransitions* This,
   21239         IUnknown **EnumVARIANT);
   21240 
   21241     END_INTERFACE
   21242 } ISpeechGrammarRuleStateTransitionsVtbl;
   21243 interface ISpeechGrammarRuleStateTransitions {
   21244     CONST_VTBL ISpeechGrammarRuleStateTransitionsVtbl* lpVtbl;
   21245 };
   21246 
   21247 #ifdef COBJMACROS
   21248 #ifndef WIDL_C_INLINE_WRAPPERS
   21249 /*** IUnknown methods ***/
   21250 #define ISpeechGrammarRuleStateTransitions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   21251 #define ISpeechGrammarRuleStateTransitions_AddRef(This) (This)->lpVtbl->AddRef(This)
   21252 #define ISpeechGrammarRuleStateTransitions_Release(This) (This)->lpVtbl->Release(This)
   21253 /*** IDispatch methods ***/
   21254 #define ISpeechGrammarRuleStateTransitions_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   21255 #define ISpeechGrammarRuleStateTransitions_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   21256 #define ISpeechGrammarRuleStateTransitions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   21257 #define ISpeechGrammarRuleStateTransitions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   21258 /*** ISpeechGrammarRuleStateTransitions methods ***/
   21259 #define ISpeechGrammarRuleStateTransitions_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   21260 #define ISpeechGrammarRuleStateTransitions_Item(This,Index,Transition) (This)->lpVtbl->Item(This,Index,Transition)
   21261 #define ISpeechGrammarRuleStateTransitions_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   21262 #else
   21263 /*** IUnknown methods ***/
   21264 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_QueryInterface(ISpeechGrammarRuleStateTransitions* This,REFIID riid,void **ppvObject) {
   21265     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   21266 }
   21267 static FORCEINLINE ULONG ISpeechGrammarRuleStateTransitions_AddRef(ISpeechGrammarRuleStateTransitions* This) {
   21268     return This->lpVtbl->AddRef(This);
   21269 }
   21270 static FORCEINLINE ULONG ISpeechGrammarRuleStateTransitions_Release(ISpeechGrammarRuleStateTransitions* This) {
   21271     return This->lpVtbl->Release(This);
   21272 }
   21273 /*** IDispatch methods ***/
   21274 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetTypeInfoCount(ISpeechGrammarRuleStateTransitions* This,UINT *pctinfo) {
   21275     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   21276 }
   21277 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetTypeInfo(ISpeechGrammarRuleStateTransitions* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   21278     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   21279 }
   21280 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_GetIDsOfNames(ISpeechGrammarRuleStateTransitions* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   21281     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   21282 }
   21283 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_Invoke(ISpeechGrammarRuleStateTransitions* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   21284     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   21285 }
   21286 /*** ISpeechGrammarRuleStateTransitions methods ***/
   21287 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_get_Count(ISpeechGrammarRuleStateTransitions* This,LONG *Count) {
   21288     return This->lpVtbl->get_Count(This,Count);
   21289 }
   21290 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_Item(ISpeechGrammarRuleStateTransitions* This,LONG Index,ISpeechGrammarRuleStateTransition **Transition) {
   21291     return This->lpVtbl->Item(This,Index,Transition);
   21292 }
   21293 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransitions_get__NewEnum(ISpeechGrammarRuleStateTransitions* This,IUnknown **EnumVARIANT) {
   21294     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   21295 }
   21296 #endif
   21297 #endif
   21298 
   21299 #endif
   21300 
   21301 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_get_Count_Proxy(
   21302     ISpeechGrammarRuleStateTransitions* This,
   21303     LONG *Count);
   21304 void __RPC_STUB ISpeechGrammarRuleStateTransitions_get_Count_Stub(
   21305     IRpcStubBuffer* This,
   21306     IRpcChannelBuffer* pRpcChannelBuffer,
   21307     PRPC_MESSAGE pRpcMessage,
   21308     DWORD* pdwStubPhase);
   21309 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_Item_Proxy(
   21310     ISpeechGrammarRuleStateTransitions* This,
   21311     LONG Index,
   21312     ISpeechGrammarRuleStateTransition **Transition);
   21313 void __RPC_STUB ISpeechGrammarRuleStateTransitions_Item_Stub(
   21314     IRpcStubBuffer* This,
   21315     IRpcChannelBuffer* pRpcChannelBuffer,
   21316     PRPC_MESSAGE pRpcMessage,
   21317     DWORD* pdwStubPhase);
   21318 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_get__NewEnum_Proxy(
   21319     ISpeechGrammarRuleStateTransitions* This,
   21320     IUnknown **EnumVARIANT);
   21321 void __RPC_STUB ISpeechGrammarRuleStateTransitions_get__NewEnum_Stub(
   21322     IRpcStubBuffer* This,
   21323     IRpcChannelBuffer* pRpcChannelBuffer,
   21324     PRPC_MESSAGE pRpcMessage,
   21325     DWORD* pdwStubPhase);
   21326 
   21327 #endif  /* __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__ */
   21328 
   21329 /*****************************************************************************
   21330  * ISpeechGrammarRuleStateTransition interface
   21331  */
   21332 #ifndef __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
   21333 #define __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
   21334 
   21335 DEFINE_GUID(IID_ISpeechGrammarRuleStateTransition, 0xcafd1db1, 0x41d1, 0x4a06, 0x98,0x63, 0xe2,0xe8,0x1d,0xa1,0x7a,0x9a);
   21336 #if defined(__cplusplus) && !defined(CINTERFACE)
   21337 MIDL_INTERFACE("cafd1db1-41d1-4a06-9863-e2e81da17a9a")
   21338 ISpeechGrammarRuleStateTransition : public IDispatch
   21339 {
   21340     virtual HRESULT STDMETHODCALLTYPE get_Type(
   21341         SpeechGrammarRuleStateTransitionType *Type) = 0;
   21342 
   21343     virtual HRESULT STDMETHODCALLTYPE get_Text(
   21344         BSTR *Text) = 0;
   21345 
   21346     virtual HRESULT STDMETHODCALLTYPE get_Rule(
   21347         ISpeechGrammarRule **Rule) = 0;
   21348 
   21349     virtual HRESULT STDMETHODCALLTYPE get_Weight(
   21350         VARIANT *Weight) = 0;
   21351 
   21352     virtual HRESULT STDMETHODCALLTYPE get_PropertyName(
   21353         BSTR *PropertyName) = 0;
   21354 
   21355     virtual HRESULT STDMETHODCALLTYPE get_PropertyId(
   21356         LONG *PropertyId) = 0;
   21357 
   21358     virtual HRESULT STDMETHODCALLTYPE get_PropertyValue(
   21359         VARIANT *PropertyValue) = 0;
   21360 
   21361     virtual HRESULT STDMETHODCALLTYPE get_NextState(
   21362         ISpeechGrammarRuleState **NextState) = 0;
   21363 
   21364 };
   21365 #ifdef __CRT_UUID_DECL
   21366 __CRT_UUID_DECL(ISpeechGrammarRuleStateTransition, 0xcafd1db1, 0x41d1, 0x4a06, 0x98,0x63, 0xe2,0xe8,0x1d,0xa1,0x7a,0x9a)
   21367 #endif
   21368 #else
   21369 typedef struct ISpeechGrammarRuleStateTransitionVtbl {
   21370     BEGIN_INTERFACE
   21371 
   21372     /*** IUnknown methods ***/
   21373     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   21374         ISpeechGrammarRuleStateTransition* This,
   21375         REFIID riid,
   21376         void **ppvObject);
   21377 
   21378     ULONG (STDMETHODCALLTYPE *AddRef)(
   21379         ISpeechGrammarRuleStateTransition* This);
   21380 
   21381     ULONG (STDMETHODCALLTYPE *Release)(
   21382         ISpeechGrammarRuleStateTransition* This);
   21383 
   21384     /*** IDispatch methods ***/
   21385     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   21386         ISpeechGrammarRuleStateTransition* This,
   21387         UINT *pctinfo);
   21388 
   21389     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   21390         ISpeechGrammarRuleStateTransition* This,
   21391         UINT iTInfo,
   21392         LCID lcid,
   21393         ITypeInfo **ppTInfo);
   21394 
   21395     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   21396         ISpeechGrammarRuleStateTransition* This,
   21397         REFIID riid,
   21398         LPOLESTR *rgszNames,
   21399         UINT cNames,
   21400         LCID lcid,
   21401         DISPID *rgDispId);
   21402 
   21403     HRESULT (STDMETHODCALLTYPE *Invoke)(
   21404         ISpeechGrammarRuleStateTransition* This,
   21405         DISPID dispIdMember,
   21406         REFIID riid,
   21407         LCID lcid,
   21408         WORD wFlags,
   21409         DISPPARAMS *pDispParams,
   21410         VARIANT *pVarResult,
   21411         EXCEPINFO *pExcepInfo,
   21412         UINT *puArgErr);
   21413 
   21414     /*** ISpeechGrammarRuleStateTransition methods ***/
   21415     HRESULT (STDMETHODCALLTYPE *get_Type)(
   21416         ISpeechGrammarRuleStateTransition* This,
   21417         SpeechGrammarRuleStateTransitionType *Type);
   21418 
   21419     HRESULT (STDMETHODCALLTYPE *get_Text)(
   21420         ISpeechGrammarRuleStateTransition* This,
   21421         BSTR *Text);
   21422 
   21423     HRESULT (STDMETHODCALLTYPE *get_Rule)(
   21424         ISpeechGrammarRuleStateTransition* This,
   21425         ISpeechGrammarRule **Rule);
   21426 
   21427     HRESULT (STDMETHODCALLTYPE *get_Weight)(
   21428         ISpeechGrammarRuleStateTransition* This,
   21429         VARIANT *Weight);
   21430 
   21431     HRESULT (STDMETHODCALLTYPE *get_PropertyName)(
   21432         ISpeechGrammarRuleStateTransition* This,
   21433         BSTR *PropertyName);
   21434 
   21435     HRESULT (STDMETHODCALLTYPE *get_PropertyId)(
   21436         ISpeechGrammarRuleStateTransition* This,
   21437         LONG *PropertyId);
   21438 
   21439     HRESULT (STDMETHODCALLTYPE *get_PropertyValue)(
   21440         ISpeechGrammarRuleStateTransition* This,
   21441         VARIANT *PropertyValue);
   21442 
   21443     HRESULT (STDMETHODCALLTYPE *get_NextState)(
   21444         ISpeechGrammarRuleStateTransition* This,
   21445         ISpeechGrammarRuleState **NextState);
   21446 
   21447     END_INTERFACE
   21448 } ISpeechGrammarRuleStateTransitionVtbl;
   21449 interface ISpeechGrammarRuleStateTransition {
   21450     CONST_VTBL ISpeechGrammarRuleStateTransitionVtbl* lpVtbl;
   21451 };
   21452 
   21453 #ifdef COBJMACROS
   21454 #ifndef WIDL_C_INLINE_WRAPPERS
   21455 /*** IUnknown methods ***/
   21456 #define ISpeechGrammarRuleStateTransition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   21457 #define ISpeechGrammarRuleStateTransition_AddRef(This) (This)->lpVtbl->AddRef(This)
   21458 #define ISpeechGrammarRuleStateTransition_Release(This) (This)->lpVtbl->Release(This)
   21459 /*** IDispatch methods ***/
   21460 #define ISpeechGrammarRuleStateTransition_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   21461 #define ISpeechGrammarRuleStateTransition_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   21462 #define ISpeechGrammarRuleStateTransition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   21463 #define ISpeechGrammarRuleStateTransition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   21464 /*** ISpeechGrammarRuleStateTransition methods ***/
   21465 #define ISpeechGrammarRuleStateTransition_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
   21466 #define ISpeechGrammarRuleStateTransition_get_Text(This,Text) (This)->lpVtbl->get_Text(This,Text)
   21467 #define ISpeechGrammarRuleStateTransition_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
   21468 #define ISpeechGrammarRuleStateTransition_get_Weight(This,Weight) (This)->lpVtbl->get_Weight(This,Weight)
   21469 #define ISpeechGrammarRuleStateTransition_get_PropertyName(This,PropertyName) (This)->lpVtbl->get_PropertyName(This,PropertyName)
   21470 #define ISpeechGrammarRuleStateTransition_get_PropertyId(This,PropertyId) (This)->lpVtbl->get_PropertyId(This,PropertyId)
   21471 #define ISpeechGrammarRuleStateTransition_get_PropertyValue(This,PropertyValue) (This)->lpVtbl->get_PropertyValue(This,PropertyValue)
   21472 #define ISpeechGrammarRuleStateTransition_get_NextState(This,NextState) (This)->lpVtbl->get_NextState(This,NextState)
   21473 #else
   21474 /*** IUnknown methods ***/
   21475 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_QueryInterface(ISpeechGrammarRuleStateTransition* This,REFIID riid,void **ppvObject) {
   21476     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   21477 }
   21478 static FORCEINLINE ULONG ISpeechGrammarRuleStateTransition_AddRef(ISpeechGrammarRuleStateTransition* This) {
   21479     return This->lpVtbl->AddRef(This);
   21480 }
   21481 static FORCEINLINE ULONG ISpeechGrammarRuleStateTransition_Release(ISpeechGrammarRuleStateTransition* This) {
   21482     return This->lpVtbl->Release(This);
   21483 }
   21484 /*** IDispatch methods ***/
   21485 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetTypeInfoCount(ISpeechGrammarRuleStateTransition* This,UINT *pctinfo) {
   21486     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   21487 }
   21488 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetTypeInfo(ISpeechGrammarRuleStateTransition* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   21489     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   21490 }
   21491 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_GetIDsOfNames(ISpeechGrammarRuleStateTransition* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   21492     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   21493 }
   21494 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_Invoke(ISpeechGrammarRuleStateTransition* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   21495     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   21496 }
   21497 /*** ISpeechGrammarRuleStateTransition methods ***/
   21498 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Type(ISpeechGrammarRuleStateTransition* This,SpeechGrammarRuleStateTransitionType *Type) {
   21499     return This->lpVtbl->get_Type(This,Type);
   21500 }
   21501 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Text(ISpeechGrammarRuleStateTransition* This,BSTR *Text) {
   21502     return This->lpVtbl->get_Text(This,Text);
   21503 }
   21504 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Rule(ISpeechGrammarRuleStateTransition* This,ISpeechGrammarRule **Rule) {
   21505     return This->lpVtbl->get_Rule(This,Rule);
   21506 }
   21507 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_Weight(ISpeechGrammarRuleStateTransition* This,VARIANT *Weight) {
   21508     return This->lpVtbl->get_Weight(This,Weight);
   21509 }
   21510 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyName(ISpeechGrammarRuleStateTransition* This,BSTR *PropertyName) {
   21511     return This->lpVtbl->get_PropertyName(This,PropertyName);
   21512 }
   21513 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyId(ISpeechGrammarRuleStateTransition* This,LONG *PropertyId) {
   21514     return This->lpVtbl->get_PropertyId(This,PropertyId);
   21515 }
   21516 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_PropertyValue(ISpeechGrammarRuleStateTransition* This,VARIANT *PropertyValue) {
   21517     return This->lpVtbl->get_PropertyValue(This,PropertyValue);
   21518 }
   21519 static FORCEINLINE HRESULT ISpeechGrammarRuleStateTransition_get_NextState(ISpeechGrammarRuleStateTransition* This,ISpeechGrammarRuleState **NextState) {
   21520     return This->lpVtbl->get_NextState(This,NextState);
   21521 }
   21522 #endif
   21523 #endif
   21524 
   21525 #endif
   21526 
   21527 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Type_Proxy(
   21528     ISpeechGrammarRuleStateTransition* This,
   21529     SpeechGrammarRuleStateTransitionType *Type);
   21530 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Type_Stub(
   21531     IRpcStubBuffer* This,
   21532     IRpcChannelBuffer* pRpcChannelBuffer,
   21533     PRPC_MESSAGE pRpcMessage,
   21534     DWORD* pdwStubPhase);
   21535 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Text_Proxy(
   21536     ISpeechGrammarRuleStateTransition* This,
   21537     BSTR *Text);
   21538 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Text_Stub(
   21539     IRpcStubBuffer* This,
   21540     IRpcChannelBuffer* pRpcChannelBuffer,
   21541     PRPC_MESSAGE pRpcMessage,
   21542     DWORD* pdwStubPhase);
   21543 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Rule_Proxy(
   21544     ISpeechGrammarRuleStateTransition* This,
   21545     ISpeechGrammarRule **Rule);
   21546 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Rule_Stub(
   21547     IRpcStubBuffer* This,
   21548     IRpcChannelBuffer* pRpcChannelBuffer,
   21549     PRPC_MESSAGE pRpcMessage,
   21550     DWORD* pdwStubPhase);
   21551 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Weight_Proxy(
   21552     ISpeechGrammarRuleStateTransition* This,
   21553     VARIANT *Weight);
   21554 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Weight_Stub(
   21555     IRpcStubBuffer* This,
   21556     IRpcChannelBuffer* pRpcChannelBuffer,
   21557     PRPC_MESSAGE pRpcMessage,
   21558     DWORD* pdwStubPhase);
   21559 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyName_Proxy(
   21560     ISpeechGrammarRuleStateTransition* This,
   21561     BSTR *PropertyName);
   21562 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyName_Stub(
   21563     IRpcStubBuffer* This,
   21564     IRpcChannelBuffer* pRpcChannelBuffer,
   21565     PRPC_MESSAGE pRpcMessage,
   21566     DWORD* pdwStubPhase);
   21567 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyId_Proxy(
   21568     ISpeechGrammarRuleStateTransition* This,
   21569     LONG *PropertyId);
   21570 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyId_Stub(
   21571     IRpcStubBuffer* This,
   21572     IRpcChannelBuffer* pRpcChannelBuffer,
   21573     PRPC_MESSAGE pRpcMessage,
   21574     DWORD* pdwStubPhase);
   21575 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyValue_Proxy(
   21576     ISpeechGrammarRuleStateTransition* This,
   21577     VARIANT *PropertyValue);
   21578 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyValue_Stub(
   21579     IRpcStubBuffer* This,
   21580     IRpcChannelBuffer* pRpcChannelBuffer,
   21581     PRPC_MESSAGE pRpcMessage,
   21582     DWORD* pdwStubPhase);
   21583 HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_NextState_Proxy(
   21584     ISpeechGrammarRuleStateTransition* This,
   21585     ISpeechGrammarRuleState **NextState);
   21586 void __RPC_STUB ISpeechGrammarRuleStateTransition_get_NextState_Stub(
   21587     IRpcStubBuffer* This,
   21588     IRpcChannelBuffer* pRpcChannelBuffer,
   21589     PRPC_MESSAGE pRpcMessage,
   21590     DWORD* pdwStubPhase);
   21591 
   21592 #endif  /* __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__ */
   21593 
   21594 /*****************************************************************************
   21595  * ISpeechTextSelectionInformation interface
   21596  */
   21597 #ifndef __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
   21598 #define __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
   21599 
   21600 DEFINE_GUID(IID_ISpeechTextSelectionInformation, 0x3b9c7e7a, 0x6eee, 0x4ded, 0x90,0x92, 0x11,0x65,0x72,0x79,0xad,0xbe);
   21601 #if defined(__cplusplus) && !defined(CINTERFACE)
   21602 MIDL_INTERFACE("3b9c7e7a-6eee-4ded-9092-11657279adbe")
   21603 ISpeechTextSelectionInformation : public IDispatch
   21604 {
   21605     virtual HRESULT STDMETHODCALLTYPE put_ActiveOffset(
   21606         LONG ActiveOffset) = 0;
   21607 
   21608     virtual HRESULT STDMETHODCALLTYPE get_ActiveOffset(
   21609         LONG *ActiveOffset) = 0;
   21610 
   21611     virtual HRESULT STDMETHODCALLTYPE put_ActiveLength(
   21612         LONG ActiveLength) = 0;
   21613 
   21614     virtual HRESULT STDMETHODCALLTYPE get_ActiveLength(
   21615         LONG *ActiveLength) = 0;
   21616 
   21617     virtual HRESULT STDMETHODCALLTYPE put_SelectionOffset(
   21618         LONG SelectionOffset) = 0;
   21619 
   21620     virtual HRESULT STDMETHODCALLTYPE get_SelectionOffset(
   21621         LONG *SelectionOffset) = 0;
   21622 
   21623     virtual HRESULT STDMETHODCALLTYPE put_SelectionLength(
   21624         LONG SelectionLength) = 0;
   21625 
   21626     virtual HRESULT STDMETHODCALLTYPE get_SelectionLength(
   21627         LONG *SelectionLength) = 0;
   21628 
   21629 };
   21630 #ifdef __CRT_UUID_DECL
   21631 __CRT_UUID_DECL(ISpeechTextSelectionInformation, 0x3b9c7e7a, 0x6eee, 0x4ded, 0x90,0x92, 0x11,0x65,0x72,0x79,0xad,0xbe)
   21632 #endif
   21633 #else
   21634 typedef struct ISpeechTextSelectionInformationVtbl {
   21635     BEGIN_INTERFACE
   21636 
   21637     /*** IUnknown methods ***/
   21638     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   21639         ISpeechTextSelectionInformation* This,
   21640         REFIID riid,
   21641         void **ppvObject);
   21642 
   21643     ULONG (STDMETHODCALLTYPE *AddRef)(
   21644         ISpeechTextSelectionInformation* This);
   21645 
   21646     ULONG (STDMETHODCALLTYPE *Release)(
   21647         ISpeechTextSelectionInformation* This);
   21648 
   21649     /*** IDispatch methods ***/
   21650     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   21651         ISpeechTextSelectionInformation* This,
   21652         UINT *pctinfo);
   21653 
   21654     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   21655         ISpeechTextSelectionInformation* This,
   21656         UINT iTInfo,
   21657         LCID lcid,
   21658         ITypeInfo **ppTInfo);
   21659 
   21660     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   21661         ISpeechTextSelectionInformation* This,
   21662         REFIID riid,
   21663         LPOLESTR *rgszNames,
   21664         UINT cNames,
   21665         LCID lcid,
   21666         DISPID *rgDispId);
   21667 
   21668     HRESULT (STDMETHODCALLTYPE *Invoke)(
   21669         ISpeechTextSelectionInformation* This,
   21670         DISPID dispIdMember,
   21671         REFIID riid,
   21672         LCID lcid,
   21673         WORD wFlags,
   21674         DISPPARAMS *pDispParams,
   21675         VARIANT *pVarResult,
   21676         EXCEPINFO *pExcepInfo,
   21677         UINT *puArgErr);
   21678 
   21679     /*** ISpeechTextSelectionInformation methods ***/
   21680     HRESULT (STDMETHODCALLTYPE *put_ActiveOffset)(
   21681         ISpeechTextSelectionInformation* This,
   21682         LONG ActiveOffset);
   21683 
   21684     HRESULT (STDMETHODCALLTYPE *get_ActiveOffset)(
   21685         ISpeechTextSelectionInformation* This,
   21686         LONG *ActiveOffset);
   21687 
   21688     HRESULT (STDMETHODCALLTYPE *put_ActiveLength)(
   21689         ISpeechTextSelectionInformation* This,
   21690         LONG ActiveLength);
   21691 
   21692     HRESULT (STDMETHODCALLTYPE *get_ActiveLength)(
   21693         ISpeechTextSelectionInformation* This,
   21694         LONG *ActiveLength);
   21695 
   21696     HRESULT (STDMETHODCALLTYPE *put_SelectionOffset)(
   21697         ISpeechTextSelectionInformation* This,
   21698         LONG SelectionOffset);
   21699 
   21700     HRESULT (STDMETHODCALLTYPE *get_SelectionOffset)(
   21701         ISpeechTextSelectionInformation* This,
   21702         LONG *SelectionOffset);
   21703 
   21704     HRESULT (STDMETHODCALLTYPE *put_SelectionLength)(
   21705         ISpeechTextSelectionInformation* This,
   21706         LONG SelectionLength);
   21707 
   21708     HRESULT (STDMETHODCALLTYPE *get_SelectionLength)(
   21709         ISpeechTextSelectionInformation* This,
   21710         LONG *SelectionLength);
   21711 
   21712     END_INTERFACE
   21713 } ISpeechTextSelectionInformationVtbl;
   21714 interface ISpeechTextSelectionInformation {
   21715     CONST_VTBL ISpeechTextSelectionInformationVtbl* lpVtbl;
   21716 };
   21717 
   21718 #ifdef COBJMACROS
   21719 #ifndef WIDL_C_INLINE_WRAPPERS
   21720 /*** IUnknown methods ***/
   21721 #define ISpeechTextSelectionInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   21722 #define ISpeechTextSelectionInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
   21723 #define ISpeechTextSelectionInformation_Release(This) (This)->lpVtbl->Release(This)
   21724 /*** IDispatch methods ***/
   21725 #define ISpeechTextSelectionInformation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   21726 #define ISpeechTextSelectionInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   21727 #define ISpeechTextSelectionInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   21728 #define ISpeechTextSelectionInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   21729 /*** ISpeechTextSelectionInformation methods ***/
   21730 #define ISpeechTextSelectionInformation_put_ActiveOffset(This,ActiveOffset) (This)->lpVtbl->put_ActiveOffset(This,ActiveOffset)
   21731 #define ISpeechTextSelectionInformation_get_ActiveOffset(This,ActiveOffset) (This)->lpVtbl->get_ActiveOffset(This,ActiveOffset)
   21732 #define ISpeechTextSelectionInformation_put_ActiveLength(This,ActiveLength) (This)->lpVtbl->put_ActiveLength(This,ActiveLength)
   21733 #define ISpeechTextSelectionInformation_get_ActiveLength(This,ActiveLength) (This)->lpVtbl->get_ActiveLength(This,ActiveLength)
   21734 #define ISpeechTextSelectionInformation_put_SelectionOffset(This,SelectionOffset) (This)->lpVtbl->put_SelectionOffset(This,SelectionOffset)
   21735 #define ISpeechTextSelectionInformation_get_SelectionOffset(This,SelectionOffset) (This)->lpVtbl->get_SelectionOffset(This,SelectionOffset)
   21736 #define ISpeechTextSelectionInformation_put_SelectionLength(This,SelectionLength) (This)->lpVtbl->put_SelectionLength(This,SelectionLength)
   21737 #define ISpeechTextSelectionInformation_get_SelectionLength(This,SelectionLength) (This)->lpVtbl->get_SelectionLength(This,SelectionLength)
   21738 #else
   21739 /*** IUnknown methods ***/
   21740 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_QueryInterface(ISpeechTextSelectionInformation* This,REFIID riid,void **ppvObject) {
   21741     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   21742 }
   21743 static FORCEINLINE ULONG ISpeechTextSelectionInformation_AddRef(ISpeechTextSelectionInformation* This) {
   21744     return This->lpVtbl->AddRef(This);
   21745 }
   21746 static FORCEINLINE ULONG ISpeechTextSelectionInformation_Release(ISpeechTextSelectionInformation* This) {
   21747     return This->lpVtbl->Release(This);
   21748 }
   21749 /*** IDispatch methods ***/
   21750 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetTypeInfoCount(ISpeechTextSelectionInformation* This,UINT *pctinfo) {
   21751     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   21752 }
   21753 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetTypeInfo(ISpeechTextSelectionInformation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   21754     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   21755 }
   21756 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_GetIDsOfNames(ISpeechTextSelectionInformation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   21757     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   21758 }
   21759 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_Invoke(ISpeechTextSelectionInformation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   21760     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   21761 }
   21762 /*** ISpeechTextSelectionInformation methods ***/
   21763 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_ActiveOffset(ISpeechTextSelectionInformation* This,LONG ActiveOffset) {
   21764     return This->lpVtbl->put_ActiveOffset(This,ActiveOffset);
   21765 }
   21766 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_ActiveOffset(ISpeechTextSelectionInformation* This,LONG *ActiveOffset) {
   21767     return This->lpVtbl->get_ActiveOffset(This,ActiveOffset);
   21768 }
   21769 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_ActiveLength(ISpeechTextSelectionInformation* This,LONG ActiveLength) {
   21770     return This->lpVtbl->put_ActiveLength(This,ActiveLength);
   21771 }
   21772 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_ActiveLength(ISpeechTextSelectionInformation* This,LONG *ActiveLength) {
   21773     return This->lpVtbl->get_ActiveLength(This,ActiveLength);
   21774 }
   21775 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_SelectionOffset(ISpeechTextSelectionInformation* This,LONG SelectionOffset) {
   21776     return This->lpVtbl->put_SelectionOffset(This,SelectionOffset);
   21777 }
   21778 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_SelectionOffset(ISpeechTextSelectionInformation* This,LONG *SelectionOffset) {
   21779     return This->lpVtbl->get_SelectionOffset(This,SelectionOffset);
   21780 }
   21781 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_put_SelectionLength(ISpeechTextSelectionInformation* This,LONG SelectionLength) {
   21782     return This->lpVtbl->put_SelectionLength(This,SelectionLength);
   21783 }
   21784 static FORCEINLINE HRESULT ISpeechTextSelectionInformation_get_SelectionLength(ISpeechTextSelectionInformation* This,LONG *SelectionLength) {
   21785     return This->lpVtbl->get_SelectionLength(This,SelectionLength);
   21786 }
   21787 #endif
   21788 #endif
   21789 
   21790 #endif
   21791 
   21792 HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_ActiveOffset_Proxy(
   21793     ISpeechTextSelectionInformation* This,
   21794     LONG ActiveOffset);
   21795 void __RPC_STUB ISpeechTextSelectionInformation_put_ActiveOffset_Stub(
   21796     IRpcStubBuffer* This,
   21797     IRpcChannelBuffer* pRpcChannelBuffer,
   21798     PRPC_MESSAGE pRpcMessage,
   21799     DWORD* pdwStubPhase);
   21800 HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_ActiveOffset_Proxy(
   21801     ISpeechTextSelectionInformation* This,
   21802     LONG *ActiveOffset);
   21803 void __RPC_STUB ISpeechTextSelectionInformation_get_ActiveOffset_Stub(
   21804     IRpcStubBuffer* This,
   21805     IRpcChannelBuffer* pRpcChannelBuffer,
   21806     PRPC_MESSAGE pRpcMessage,
   21807     DWORD* pdwStubPhase);
   21808 HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_ActiveLength_Proxy(
   21809     ISpeechTextSelectionInformation* This,
   21810     LONG ActiveLength);
   21811 void __RPC_STUB ISpeechTextSelectionInformation_put_ActiveLength_Stub(
   21812     IRpcStubBuffer* This,
   21813     IRpcChannelBuffer* pRpcChannelBuffer,
   21814     PRPC_MESSAGE pRpcMessage,
   21815     DWORD* pdwStubPhase);
   21816 HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_ActiveLength_Proxy(
   21817     ISpeechTextSelectionInformation* This,
   21818     LONG *ActiveLength);
   21819 void __RPC_STUB ISpeechTextSelectionInformation_get_ActiveLength_Stub(
   21820     IRpcStubBuffer* This,
   21821     IRpcChannelBuffer* pRpcChannelBuffer,
   21822     PRPC_MESSAGE pRpcMessage,
   21823     DWORD* pdwStubPhase);
   21824 HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_SelectionOffset_Proxy(
   21825     ISpeechTextSelectionInformation* This,
   21826     LONG SelectionOffset);
   21827 void __RPC_STUB ISpeechTextSelectionInformation_put_SelectionOffset_Stub(
   21828     IRpcStubBuffer* This,
   21829     IRpcChannelBuffer* pRpcChannelBuffer,
   21830     PRPC_MESSAGE pRpcMessage,
   21831     DWORD* pdwStubPhase);
   21832 HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_SelectionOffset_Proxy(
   21833     ISpeechTextSelectionInformation* This,
   21834     LONG *SelectionOffset);
   21835 void __RPC_STUB ISpeechTextSelectionInformation_get_SelectionOffset_Stub(
   21836     IRpcStubBuffer* This,
   21837     IRpcChannelBuffer* pRpcChannelBuffer,
   21838     PRPC_MESSAGE pRpcMessage,
   21839     DWORD* pdwStubPhase);
   21840 HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_SelectionLength_Proxy(
   21841     ISpeechTextSelectionInformation* This,
   21842     LONG SelectionLength);
   21843 void __RPC_STUB ISpeechTextSelectionInformation_put_SelectionLength_Stub(
   21844     IRpcStubBuffer* This,
   21845     IRpcChannelBuffer* pRpcChannelBuffer,
   21846     PRPC_MESSAGE pRpcMessage,
   21847     DWORD* pdwStubPhase);
   21848 HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_SelectionLength_Proxy(
   21849     ISpeechTextSelectionInformation* This,
   21850     LONG *SelectionLength);
   21851 void __RPC_STUB ISpeechTextSelectionInformation_get_SelectionLength_Stub(
   21852     IRpcStubBuffer* This,
   21853     IRpcChannelBuffer* pRpcChannelBuffer,
   21854     PRPC_MESSAGE pRpcMessage,
   21855     DWORD* pdwStubPhase);
   21856 
   21857 #endif  /* __ISpeechTextSelectionInformation_INTERFACE_DEFINED__ */
   21858 
   21859 /*****************************************************************************
   21860  * ISpeechRecoResult interface
   21861  */
   21862 #ifndef __ISpeechRecoResult_INTERFACE_DEFINED__
   21863 #define __ISpeechRecoResult_INTERFACE_DEFINED__
   21864 
   21865 DEFINE_GUID(IID_ISpeechRecoResult, 0xed2879cf, 0xced9, 0x4ee6, 0xa5,0x34, 0xde,0x01,0x91,0xd5,0x46,0x8d);
   21866 #if defined(__cplusplus) && !defined(CINTERFACE)
   21867 MIDL_INTERFACE("ed2879cf-ced9-4ee6-a534-de0191d5468d")
   21868 ISpeechRecoResult : public IDispatch
   21869 {
   21870     virtual HRESULT STDMETHODCALLTYPE get_RecoContext(
   21871         ISpeechRecoContext **RecoContext) = 0;
   21872 
   21873     virtual HRESULT STDMETHODCALLTYPE get_Times(
   21874         ISpeechRecoResultTimes **Times) = 0;
   21875 
   21876     virtual HRESULT STDMETHODCALLTYPE putref_AudioFormat(
   21877         ISpeechAudioFormat *Format) = 0;
   21878 
   21879     virtual HRESULT STDMETHODCALLTYPE get_AudioFormat(
   21880         ISpeechAudioFormat **Format) = 0;
   21881 
   21882     virtual HRESULT STDMETHODCALLTYPE get_PhraseInfo(
   21883         ISpeechPhraseInfo **PhraseInfo) = 0;
   21884 
   21885     virtual HRESULT STDMETHODCALLTYPE Alternates(
   21886         LONG RequestCount,
   21887         LONG StartElement,
   21888         LONG Elements,
   21889         ISpeechPhraseAlternates **Alternates) = 0;
   21890 
   21891     virtual HRESULT STDMETHODCALLTYPE Audio(
   21892         LONG StartElement,
   21893         LONG Elements,
   21894         ISpeechMemoryStream **Stream) = 0;
   21895 
   21896     virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
   21897         LONG StartElement,
   21898         LONG Elements,
   21899         SpeechVoiceSpeakFlags Flags,
   21900         LONG *StreamNumber) = 0;
   21901 
   21902     virtual HRESULT STDMETHODCALLTYPE SaveToMemory(
   21903         VARIANT *ResultBlock) = 0;
   21904 
   21905     virtual HRESULT STDMETHODCALLTYPE DiscardResultInfo(
   21906         SpeechDiscardType ValueTypes) = 0;
   21907 
   21908 };
   21909 #ifdef __CRT_UUID_DECL
   21910 __CRT_UUID_DECL(ISpeechRecoResult, 0xed2879cf, 0xced9, 0x4ee6, 0xa5,0x34, 0xde,0x01,0x91,0xd5,0x46,0x8d)
   21911 #endif
   21912 #else
   21913 typedef struct ISpeechRecoResultVtbl {
   21914     BEGIN_INTERFACE
   21915 
   21916     /*** IUnknown methods ***/
   21917     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   21918         ISpeechRecoResult* This,
   21919         REFIID riid,
   21920         void **ppvObject);
   21921 
   21922     ULONG (STDMETHODCALLTYPE *AddRef)(
   21923         ISpeechRecoResult* This);
   21924 
   21925     ULONG (STDMETHODCALLTYPE *Release)(
   21926         ISpeechRecoResult* This);
   21927 
   21928     /*** IDispatch methods ***/
   21929     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   21930         ISpeechRecoResult* This,
   21931         UINT *pctinfo);
   21932 
   21933     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   21934         ISpeechRecoResult* This,
   21935         UINT iTInfo,
   21936         LCID lcid,
   21937         ITypeInfo **ppTInfo);
   21938 
   21939     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   21940         ISpeechRecoResult* This,
   21941         REFIID riid,
   21942         LPOLESTR *rgszNames,
   21943         UINT cNames,
   21944         LCID lcid,
   21945         DISPID *rgDispId);
   21946 
   21947     HRESULT (STDMETHODCALLTYPE *Invoke)(
   21948         ISpeechRecoResult* This,
   21949         DISPID dispIdMember,
   21950         REFIID riid,
   21951         LCID lcid,
   21952         WORD wFlags,
   21953         DISPPARAMS *pDispParams,
   21954         VARIANT *pVarResult,
   21955         EXCEPINFO *pExcepInfo,
   21956         UINT *puArgErr);
   21957 
   21958     /*** ISpeechRecoResult methods ***/
   21959     HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
   21960         ISpeechRecoResult* This,
   21961         ISpeechRecoContext **RecoContext);
   21962 
   21963     HRESULT (STDMETHODCALLTYPE *get_Times)(
   21964         ISpeechRecoResult* This,
   21965         ISpeechRecoResultTimes **Times);
   21966 
   21967     HRESULT (STDMETHODCALLTYPE *putref_AudioFormat)(
   21968         ISpeechRecoResult* This,
   21969         ISpeechAudioFormat *Format);
   21970 
   21971     HRESULT (STDMETHODCALLTYPE *get_AudioFormat)(
   21972         ISpeechRecoResult* This,
   21973         ISpeechAudioFormat **Format);
   21974 
   21975     HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
   21976         ISpeechRecoResult* This,
   21977         ISpeechPhraseInfo **PhraseInfo);
   21978 
   21979     HRESULT (STDMETHODCALLTYPE *Alternates)(
   21980         ISpeechRecoResult* This,
   21981         LONG RequestCount,
   21982         LONG StartElement,
   21983         LONG Elements,
   21984         ISpeechPhraseAlternates **Alternates);
   21985 
   21986     HRESULT (STDMETHODCALLTYPE *Audio)(
   21987         ISpeechRecoResult* This,
   21988         LONG StartElement,
   21989         LONG Elements,
   21990         ISpeechMemoryStream **Stream);
   21991 
   21992     HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
   21993         ISpeechRecoResult* This,
   21994         LONG StartElement,
   21995         LONG Elements,
   21996         SpeechVoiceSpeakFlags Flags,
   21997         LONG *StreamNumber);
   21998 
   21999     HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
   22000         ISpeechRecoResult* This,
   22001         VARIANT *ResultBlock);
   22002 
   22003     HRESULT (STDMETHODCALLTYPE *DiscardResultInfo)(
   22004         ISpeechRecoResult* This,
   22005         SpeechDiscardType ValueTypes);
   22006 
   22007     END_INTERFACE
   22008 } ISpeechRecoResultVtbl;
   22009 interface ISpeechRecoResult {
   22010     CONST_VTBL ISpeechRecoResultVtbl* lpVtbl;
   22011 };
   22012 
   22013 #ifdef COBJMACROS
   22014 #ifndef WIDL_C_INLINE_WRAPPERS
   22015 /*** IUnknown methods ***/
   22016 #define ISpeechRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   22017 #define ISpeechRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
   22018 #define ISpeechRecoResult_Release(This) (This)->lpVtbl->Release(This)
   22019 /*** IDispatch methods ***/
   22020 #define ISpeechRecoResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   22021 #define ISpeechRecoResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   22022 #define ISpeechRecoResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   22023 #define ISpeechRecoResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   22024 /*** ISpeechRecoResult methods ***/
   22025 #define ISpeechRecoResult_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
   22026 #define ISpeechRecoResult_get_Times(This,Times) (This)->lpVtbl->get_Times(This,Times)
   22027 #define ISpeechRecoResult_putref_AudioFormat(This,Format) (This)->lpVtbl->putref_AudioFormat(This,Format)
   22028 #define ISpeechRecoResult_get_AudioFormat(This,Format) (This)->lpVtbl->get_AudioFormat(This,Format)
   22029 #define ISpeechRecoResult_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
   22030 #define ISpeechRecoResult_Alternates(This,RequestCount,StartElement,Elements,Alternates) (This)->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates)
   22031 #define ISpeechRecoResult_Audio(This,StartElement,Elements,Stream) (This)->lpVtbl->Audio(This,StartElement,Elements,Stream)
   22032 #define ISpeechRecoResult_SpeakAudio(This,StartElement,Elements,Flags,StreamNumber) (This)->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
   22033 #define ISpeechRecoResult_SaveToMemory(This,ResultBlock) (This)->lpVtbl->SaveToMemory(This,ResultBlock)
   22034 #define ISpeechRecoResult_DiscardResultInfo(This,ValueTypes) (This)->lpVtbl->DiscardResultInfo(This,ValueTypes)
   22035 #else
   22036 /*** IUnknown methods ***/
   22037 static FORCEINLINE HRESULT ISpeechRecoResult_QueryInterface(ISpeechRecoResult* This,REFIID riid,void **ppvObject) {
   22038     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   22039 }
   22040 static FORCEINLINE ULONG ISpeechRecoResult_AddRef(ISpeechRecoResult* This) {
   22041     return This->lpVtbl->AddRef(This);
   22042 }
   22043 static FORCEINLINE ULONG ISpeechRecoResult_Release(ISpeechRecoResult* This) {
   22044     return This->lpVtbl->Release(This);
   22045 }
   22046 /*** IDispatch methods ***/
   22047 static FORCEINLINE HRESULT ISpeechRecoResult_GetTypeInfoCount(ISpeechRecoResult* This,UINT *pctinfo) {
   22048     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   22049 }
   22050 static FORCEINLINE HRESULT ISpeechRecoResult_GetTypeInfo(ISpeechRecoResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   22051     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   22052 }
   22053 static FORCEINLINE HRESULT ISpeechRecoResult_GetIDsOfNames(ISpeechRecoResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   22054     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   22055 }
   22056 static FORCEINLINE HRESULT ISpeechRecoResult_Invoke(ISpeechRecoResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   22057     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   22058 }
   22059 /*** ISpeechRecoResult methods ***/
   22060 static FORCEINLINE HRESULT ISpeechRecoResult_get_RecoContext(ISpeechRecoResult* This,ISpeechRecoContext **RecoContext) {
   22061     return This->lpVtbl->get_RecoContext(This,RecoContext);
   22062 }
   22063 static FORCEINLINE HRESULT ISpeechRecoResult_get_Times(ISpeechRecoResult* This,ISpeechRecoResultTimes **Times) {
   22064     return This->lpVtbl->get_Times(This,Times);
   22065 }
   22066 static FORCEINLINE HRESULT ISpeechRecoResult_putref_AudioFormat(ISpeechRecoResult* This,ISpeechAudioFormat *Format) {
   22067     return This->lpVtbl->putref_AudioFormat(This,Format);
   22068 }
   22069 static FORCEINLINE HRESULT ISpeechRecoResult_get_AudioFormat(ISpeechRecoResult* This,ISpeechAudioFormat **Format) {
   22070     return This->lpVtbl->get_AudioFormat(This,Format);
   22071 }
   22072 static FORCEINLINE HRESULT ISpeechRecoResult_get_PhraseInfo(ISpeechRecoResult* This,ISpeechPhraseInfo **PhraseInfo) {
   22073     return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
   22074 }
   22075 static FORCEINLINE HRESULT ISpeechRecoResult_Alternates(ISpeechRecoResult* This,LONG RequestCount,LONG StartElement,LONG Elements,ISpeechPhraseAlternates **Alternates) {
   22076     return This->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates);
   22077 }
   22078 static FORCEINLINE HRESULT ISpeechRecoResult_Audio(ISpeechRecoResult* This,LONG StartElement,LONG Elements,ISpeechMemoryStream **Stream) {
   22079     return This->lpVtbl->Audio(This,StartElement,Elements,Stream);
   22080 }
   22081 static FORCEINLINE HRESULT ISpeechRecoResult_SpeakAudio(ISpeechRecoResult* This,LONG StartElement,LONG Elements,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
   22082     return This->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber);
   22083 }
   22084 static FORCEINLINE HRESULT ISpeechRecoResult_SaveToMemory(ISpeechRecoResult* This,VARIANT *ResultBlock) {
   22085     return This->lpVtbl->SaveToMemory(This,ResultBlock);
   22086 }
   22087 static FORCEINLINE HRESULT ISpeechRecoResult_DiscardResultInfo(ISpeechRecoResult* This,SpeechDiscardType ValueTypes) {
   22088     return This->lpVtbl->DiscardResultInfo(This,ValueTypes);
   22089 }
   22090 #endif
   22091 #endif
   22092 
   22093 #endif
   22094 
   22095 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_RecoContext_Proxy(
   22096     ISpeechRecoResult* This,
   22097     ISpeechRecoContext **RecoContext);
   22098 void __RPC_STUB ISpeechRecoResult_get_RecoContext_Stub(
   22099     IRpcStubBuffer* This,
   22100     IRpcChannelBuffer* pRpcChannelBuffer,
   22101     PRPC_MESSAGE pRpcMessage,
   22102     DWORD* pdwStubPhase);
   22103 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_Times_Proxy(
   22104     ISpeechRecoResult* This,
   22105     ISpeechRecoResultTimes **Times);
   22106 void __RPC_STUB ISpeechRecoResult_get_Times_Stub(
   22107     IRpcStubBuffer* This,
   22108     IRpcChannelBuffer* pRpcChannelBuffer,
   22109     PRPC_MESSAGE pRpcMessage,
   22110     DWORD* pdwStubPhase);
   22111 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_putref_AudioFormat_Proxy(
   22112     ISpeechRecoResult* This,
   22113     ISpeechAudioFormat *Format);
   22114 void __RPC_STUB ISpeechRecoResult_putref_AudioFormat_Stub(
   22115     IRpcStubBuffer* This,
   22116     IRpcChannelBuffer* pRpcChannelBuffer,
   22117     PRPC_MESSAGE pRpcMessage,
   22118     DWORD* pdwStubPhase);
   22119 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_AudioFormat_Proxy(
   22120     ISpeechRecoResult* This,
   22121     ISpeechAudioFormat **Format);
   22122 void __RPC_STUB ISpeechRecoResult_get_AudioFormat_Stub(
   22123     IRpcStubBuffer* This,
   22124     IRpcChannelBuffer* pRpcChannelBuffer,
   22125     PRPC_MESSAGE pRpcMessage,
   22126     DWORD* pdwStubPhase);
   22127 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_PhraseInfo_Proxy(
   22128     ISpeechRecoResult* This,
   22129     ISpeechPhraseInfo **PhraseInfo);
   22130 void __RPC_STUB ISpeechRecoResult_get_PhraseInfo_Stub(
   22131     IRpcStubBuffer* This,
   22132     IRpcChannelBuffer* pRpcChannelBuffer,
   22133     PRPC_MESSAGE pRpcMessage,
   22134     DWORD* pdwStubPhase);
   22135 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_Alternates_Proxy(
   22136     ISpeechRecoResult* This,
   22137     LONG RequestCount,
   22138     LONG StartElement,
   22139     LONG Elements,
   22140     ISpeechPhraseAlternates **Alternates);
   22141 void __RPC_STUB ISpeechRecoResult_Alternates_Stub(
   22142     IRpcStubBuffer* This,
   22143     IRpcChannelBuffer* pRpcChannelBuffer,
   22144     PRPC_MESSAGE pRpcMessage,
   22145     DWORD* pdwStubPhase);
   22146 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_Audio_Proxy(
   22147     ISpeechRecoResult* This,
   22148     LONG StartElement,
   22149     LONG Elements,
   22150     ISpeechMemoryStream **Stream);
   22151 void __RPC_STUB ISpeechRecoResult_Audio_Stub(
   22152     IRpcStubBuffer* This,
   22153     IRpcChannelBuffer* pRpcChannelBuffer,
   22154     PRPC_MESSAGE pRpcMessage,
   22155     DWORD* pdwStubPhase);
   22156 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_SpeakAudio_Proxy(
   22157     ISpeechRecoResult* This,
   22158     LONG StartElement,
   22159     LONG Elements,
   22160     SpeechVoiceSpeakFlags Flags,
   22161     LONG *StreamNumber);
   22162 void __RPC_STUB ISpeechRecoResult_SpeakAudio_Stub(
   22163     IRpcStubBuffer* This,
   22164     IRpcChannelBuffer* pRpcChannelBuffer,
   22165     PRPC_MESSAGE pRpcMessage,
   22166     DWORD* pdwStubPhase);
   22167 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_SaveToMemory_Proxy(
   22168     ISpeechRecoResult* This,
   22169     VARIANT *ResultBlock);
   22170 void __RPC_STUB ISpeechRecoResult_SaveToMemory_Stub(
   22171     IRpcStubBuffer* This,
   22172     IRpcChannelBuffer* pRpcChannelBuffer,
   22173     PRPC_MESSAGE pRpcMessage,
   22174     DWORD* pdwStubPhase);
   22175 HRESULT STDMETHODCALLTYPE ISpeechRecoResult_DiscardResultInfo_Proxy(
   22176     ISpeechRecoResult* This,
   22177     SpeechDiscardType ValueTypes);
   22178 void __RPC_STUB ISpeechRecoResult_DiscardResultInfo_Stub(
   22179     IRpcStubBuffer* This,
   22180     IRpcChannelBuffer* pRpcChannelBuffer,
   22181     PRPC_MESSAGE pRpcMessage,
   22182     DWORD* pdwStubPhase);
   22183 
   22184 #endif  /* __ISpeechRecoResult_INTERFACE_DEFINED__ */
   22185 
   22186 /*****************************************************************************
   22187  * ISpeechXMLRecoResult interface
   22188  */
   22189 #ifndef __ISpeechXMLRecoResult_INTERFACE_DEFINED__
   22190 #define __ISpeechXMLRecoResult_INTERFACE_DEFINED__
   22191 
   22192 DEFINE_GUID(IID_ISpeechXMLRecoResult, 0xaaec54af, 0x8f85, 0x4924, 0x94,0x4d, 0xb7,0x9d,0x39,0xd7,0x2e,0x19);
   22193 #if defined(__cplusplus) && !defined(CINTERFACE)
   22194 MIDL_INTERFACE("aaec54af-8f85-4924-944d-b79d39d72e19")
   22195 ISpeechXMLRecoResult : public ISpeechRecoResult
   22196 {
   22197     virtual HRESULT STDMETHODCALLTYPE GetXMLResult(
   22198         SPXMLRESULTOPTIONS Options,
   22199         BSTR *pResult) = 0;
   22200 
   22201     virtual HRESULT STDMETHODCALLTYPE GetXMLErrorInfo(
   22202         LONG *LineNumber,
   22203         BSTR *ScriptLine,
   22204         BSTR *Source,
   22205         BSTR *Description,
   22206         LONG *ResultCode,
   22207         VARIANT_BOOL *IsError) = 0;
   22208 
   22209 };
   22210 #ifdef __CRT_UUID_DECL
   22211 __CRT_UUID_DECL(ISpeechXMLRecoResult, 0xaaec54af, 0x8f85, 0x4924, 0x94,0x4d, 0xb7,0x9d,0x39,0xd7,0x2e,0x19)
   22212 #endif
   22213 #else
   22214 typedef struct ISpeechXMLRecoResultVtbl {
   22215     BEGIN_INTERFACE
   22216 
   22217     /*** IUnknown methods ***/
   22218     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   22219         ISpeechXMLRecoResult* This,
   22220         REFIID riid,
   22221         void **ppvObject);
   22222 
   22223     ULONG (STDMETHODCALLTYPE *AddRef)(
   22224         ISpeechXMLRecoResult* This);
   22225 
   22226     ULONG (STDMETHODCALLTYPE *Release)(
   22227         ISpeechXMLRecoResult* This);
   22228 
   22229     /*** IDispatch methods ***/
   22230     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   22231         ISpeechXMLRecoResult* This,
   22232         UINT *pctinfo);
   22233 
   22234     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   22235         ISpeechXMLRecoResult* This,
   22236         UINT iTInfo,
   22237         LCID lcid,
   22238         ITypeInfo **ppTInfo);
   22239 
   22240     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   22241         ISpeechXMLRecoResult* This,
   22242         REFIID riid,
   22243         LPOLESTR *rgszNames,
   22244         UINT cNames,
   22245         LCID lcid,
   22246         DISPID *rgDispId);
   22247 
   22248     HRESULT (STDMETHODCALLTYPE *Invoke)(
   22249         ISpeechXMLRecoResult* This,
   22250         DISPID dispIdMember,
   22251         REFIID riid,
   22252         LCID lcid,
   22253         WORD wFlags,
   22254         DISPPARAMS *pDispParams,
   22255         VARIANT *pVarResult,
   22256         EXCEPINFO *pExcepInfo,
   22257         UINT *puArgErr);
   22258 
   22259     /*** ISpeechRecoResult methods ***/
   22260     HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
   22261         ISpeechXMLRecoResult* This,
   22262         ISpeechRecoContext **RecoContext);
   22263 
   22264     HRESULT (STDMETHODCALLTYPE *get_Times)(
   22265         ISpeechXMLRecoResult* This,
   22266         ISpeechRecoResultTimes **Times);
   22267 
   22268     HRESULT (STDMETHODCALLTYPE *putref_AudioFormat)(
   22269         ISpeechXMLRecoResult* This,
   22270         ISpeechAudioFormat *Format);
   22271 
   22272     HRESULT (STDMETHODCALLTYPE *get_AudioFormat)(
   22273         ISpeechXMLRecoResult* This,
   22274         ISpeechAudioFormat **Format);
   22275 
   22276     HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
   22277         ISpeechXMLRecoResult* This,
   22278         ISpeechPhraseInfo **PhraseInfo);
   22279 
   22280     HRESULT (STDMETHODCALLTYPE *Alternates)(
   22281         ISpeechXMLRecoResult* This,
   22282         LONG RequestCount,
   22283         LONG StartElement,
   22284         LONG Elements,
   22285         ISpeechPhraseAlternates **Alternates);
   22286 
   22287     HRESULT (STDMETHODCALLTYPE *Audio)(
   22288         ISpeechXMLRecoResult* This,
   22289         LONG StartElement,
   22290         LONG Elements,
   22291         ISpeechMemoryStream **Stream);
   22292 
   22293     HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
   22294         ISpeechXMLRecoResult* This,
   22295         LONG StartElement,
   22296         LONG Elements,
   22297         SpeechVoiceSpeakFlags Flags,
   22298         LONG *StreamNumber);
   22299 
   22300     HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
   22301         ISpeechXMLRecoResult* This,
   22302         VARIANT *ResultBlock);
   22303 
   22304     HRESULT (STDMETHODCALLTYPE *DiscardResultInfo)(
   22305         ISpeechXMLRecoResult* This,
   22306         SpeechDiscardType ValueTypes);
   22307 
   22308     /*** ISpeechXMLRecoResult methods ***/
   22309     HRESULT (STDMETHODCALLTYPE *GetXMLResult)(
   22310         ISpeechXMLRecoResult* This,
   22311         SPXMLRESULTOPTIONS Options,
   22312         BSTR *pResult);
   22313 
   22314     HRESULT (STDMETHODCALLTYPE *GetXMLErrorInfo)(
   22315         ISpeechXMLRecoResult* This,
   22316         LONG *LineNumber,
   22317         BSTR *ScriptLine,
   22318         BSTR *Source,
   22319         BSTR *Description,
   22320         LONG *ResultCode,
   22321         VARIANT_BOOL *IsError);
   22322 
   22323     END_INTERFACE
   22324 } ISpeechXMLRecoResultVtbl;
   22325 interface ISpeechXMLRecoResult {
   22326     CONST_VTBL ISpeechXMLRecoResultVtbl* lpVtbl;
   22327 };
   22328 
   22329 #ifdef COBJMACROS
   22330 #ifndef WIDL_C_INLINE_WRAPPERS
   22331 /*** IUnknown methods ***/
   22332 #define ISpeechXMLRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   22333 #define ISpeechXMLRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
   22334 #define ISpeechXMLRecoResult_Release(This) (This)->lpVtbl->Release(This)
   22335 /*** IDispatch methods ***/
   22336 #define ISpeechXMLRecoResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   22337 #define ISpeechXMLRecoResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   22338 #define ISpeechXMLRecoResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   22339 #define ISpeechXMLRecoResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   22340 /*** ISpeechRecoResult methods ***/
   22341 #define ISpeechXMLRecoResult_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
   22342 #define ISpeechXMLRecoResult_get_Times(This,Times) (This)->lpVtbl->get_Times(This,Times)
   22343 #define ISpeechXMLRecoResult_putref_AudioFormat(This,Format) (This)->lpVtbl->putref_AudioFormat(This,Format)
   22344 #define ISpeechXMLRecoResult_get_AudioFormat(This,Format) (This)->lpVtbl->get_AudioFormat(This,Format)
   22345 #define ISpeechXMLRecoResult_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
   22346 #define ISpeechXMLRecoResult_Alternates(This,RequestCount,StartElement,Elements,Alternates) (This)->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates)
   22347 #define ISpeechXMLRecoResult_Audio(This,StartElement,Elements,Stream) (This)->lpVtbl->Audio(This,StartElement,Elements,Stream)
   22348 #define ISpeechXMLRecoResult_SpeakAudio(This,StartElement,Elements,Flags,StreamNumber) (This)->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
   22349 #define ISpeechXMLRecoResult_SaveToMemory(This,ResultBlock) (This)->lpVtbl->SaveToMemory(This,ResultBlock)
   22350 #define ISpeechXMLRecoResult_DiscardResultInfo(This,ValueTypes) (This)->lpVtbl->DiscardResultInfo(This,ValueTypes)
   22351 /*** ISpeechXMLRecoResult methods ***/
   22352 #define ISpeechXMLRecoResult_GetXMLResult(This,Options,pResult) (This)->lpVtbl->GetXMLResult(This,Options,pResult)
   22353 #define ISpeechXMLRecoResult_GetXMLErrorInfo(This,LineNumber,ScriptLine,Source,Description,ResultCode,IsError) (This)->lpVtbl->GetXMLErrorInfo(This,LineNumber,ScriptLine,Source,Description,ResultCode,IsError)
   22354 #else
   22355 /*** IUnknown methods ***/
   22356 static FORCEINLINE HRESULT ISpeechXMLRecoResult_QueryInterface(ISpeechXMLRecoResult* This,REFIID riid,void **ppvObject) {
   22357     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   22358 }
   22359 static FORCEINLINE ULONG ISpeechXMLRecoResult_AddRef(ISpeechXMLRecoResult* This) {
   22360     return This->lpVtbl->AddRef(This);
   22361 }
   22362 static FORCEINLINE ULONG ISpeechXMLRecoResult_Release(ISpeechXMLRecoResult* This) {
   22363     return This->lpVtbl->Release(This);
   22364 }
   22365 /*** IDispatch methods ***/
   22366 static FORCEINLINE HRESULT ISpeechXMLRecoResult_GetTypeInfoCount(ISpeechXMLRecoResult* This,UINT *pctinfo) {
   22367     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   22368 }
   22369 static FORCEINLINE HRESULT ISpeechXMLRecoResult_GetTypeInfo(ISpeechXMLRecoResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   22370     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   22371 }
   22372 static FORCEINLINE HRESULT ISpeechXMLRecoResult_GetIDsOfNames(ISpeechXMLRecoResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   22373     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   22374 }
   22375 static FORCEINLINE HRESULT ISpeechXMLRecoResult_Invoke(ISpeechXMLRecoResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   22376     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   22377 }
   22378 /*** ISpeechRecoResult methods ***/
   22379 static FORCEINLINE HRESULT ISpeechXMLRecoResult_get_RecoContext(ISpeechXMLRecoResult* This,ISpeechRecoContext **RecoContext) {
   22380     return This->lpVtbl->get_RecoContext(This,RecoContext);
   22381 }
   22382 static FORCEINLINE HRESULT ISpeechXMLRecoResult_get_Times(ISpeechXMLRecoResult* This,ISpeechRecoResultTimes **Times) {
   22383     return This->lpVtbl->get_Times(This,Times);
   22384 }
   22385 static FORCEINLINE HRESULT ISpeechXMLRecoResult_putref_AudioFormat(ISpeechXMLRecoResult* This,ISpeechAudioFormat *Format) {
   22386     return This->lpVtbl->putref_AudioFormat(This,Format);
   22387 }
   22388 static FORCEINLINE HRESULT ISpeechXMLRecoResult_get_AudioFormat(ISpeechXMLRecoResult* This,ISpeechAudioFormat **Format) {
   22389     return This->lpVtbl->get_AudioFormat(This,Format);
   22390 }
   22391 static FORCEINLINE HRESULT ISpeechXMLRecoResult_get_PhraseInfo(ISpeechXMLRecoResult* This,ISpeechPhraseInfo **PhraseInfo) {
   22392     return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
   22393 }
   22394 static FORCEINLINE HRESULT ISpeechXMLRecoResult_Alternates(ISpeechXMLRecoResult* This,LONG RequestCount,LONG StartElement,LONG Elements,ISpeechPhraseAlternates **Alternates) {
   22395     return This->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates);
   22396 }
   22397 static FORCEINLINE HRESULT ISpeechXMLRecoResult_Audio(ISpeechXMLRecoResult* This,LONG StartElement,LONG Elements,ISpeechMemoryStream **Stream) {
   22398     return This->lpVtbl->Audio(This,StartElement,Elements,Stream);
   22399 }
   22400 static FORCEINLINE HRESULT ISpeechXMLRecoResult_SpeakAudio(ISpeechXMLRecoResult* This,LONG StartElement,LONG Elements,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
   22401     return This->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber);
   22402 }
   22403 static FORCEINLINE HRESULT ISpeechXMLRecoResult_SaveToMemory(ISpeechXMLRecoResult* This,VARIANT *ResultBlock) {
   22404     return This->lpVtbl->SaveToMemory(This,ResultBlock);
   22405 }
   22406 static FORCEINLINE HRESULT ISpeechXMLRecoResult_DiscardResultInfo(ISpeechXMLRecoResult* This,SpeechDiscardType ValueTypes) {
   22407     return This->lpVtbl->DiscardResultInfo(This,ValueTypes);
   22408 }
   22409 /*** ISpeechXMLRecoResult methods ***/
   22410 static FORCEINLINE HRESULT ISpeechXMLRecoResult_GetXMLResult(ISpeechXMLRecoResult* This,SPXMLRESULTOPTIONS Options,BSTR *pResult) {
   22411     return This->lpVtbl->GetXMLResult(This,Options,pResult);
   22412 }
   22413 static FORCEINLINE HRESULT ISpeechXMLRecoResult_GetXMLErrorInfo(ISpeechXMLRecoResult* This,LONG *LineNumber,BSTR *ScriptLine,BSTR *Source,BSTR *Description,LONG *ResultCode,VARIANT_BOOL *IsError) {
   22414     return This->lpVtbl->GetXMLErrorInfo(This,LineNumber,ScriptLine,Source,Description,ResultCode,IsError);
   22415 }
   22416 #endif
   22417 #endif
   22418 
   22419 #endif
   22420 
   22421 HRESULT STDMETHODCALLTYPE ISpeechXMLRecoResult_GetXMLResult_Proxy(
   22422     ISpeechXMLRecoResult* This,
   22423     SPXMLRESULTOPTIONS Options,
   22424     BSTR *pResult);
   22425 void __RPC_STUB ISpeechXMLRecoResult_GetXMLResult_Stub(
   22426     IRpcStubBuffer* This,
   22427     IRpcChannelBuffer* pRpcChannelBuffer,
   22428     PRPC_MESSAGE pRpcMessage,
   22429     DWORD* pdwStubPhase);
   22430 HRESULT STDMETHODCALLTYPE ISpeechXMLRecoResult_GetXMLErrorInfo_Proxy(
   22431     ISpeechXMLRecoResult* This,
   22432     LONG *LineNumber,
   22433     BSTR *ScriptLine,
   22434     BSTR *Source,
   22435     BSTR *Description,
   22436     LONG *ResultCode,
   22437     VARIANT_BOOL *IsError);
   22438 void __RPC_STUB ISpeechXMLRecoResult_GetXMLErrorInfo_Stub(
   22439     IRpcStubBuffer* This,
   22440     IRpcChannelBuffer* pRpcChannelBuffer,
   22441     PRPC_MESSAGE pRpcMessage,
   22442     DWORD* pdwStubPhase);
   22443 
   22444 #endif  /* __ISpeechXMLRecoResult_INTERFACE_DEFINED__ */
   22445 
   22446 /*****************************************************************************
   22447  * ISpeechRecoResult2 interface
   22448  */
   22449 #ifndef __ISpeechRecoResult2_INTERFACE_DEFINED__
   22450 #define __ISpeechRecoResult2_INTERFACE_DEFINED__
   22451 
   22452 DEFINE_GUID(IID_ISpeechRecoResult2, 0x8e0a246d, 0xd3c8, 0x45de, 0x86,0x57, 0x04,0x29,0x0c,0x45,0x8c,0x3c);
   22453 #if defined(__cplusplus) && !defined(CINTERFACE)
   22454 MIDL_INTERFACE("8e0a246d-d3c8-45de-8657-04290c458c3c")
   22455 ISpeechRecoResult2 : public ISpeechRecoResult
   22456 {
   22457     virtual HRESULT STDMETHODCALLTYPE SetTextFeedback(
   22458         BSTR Feedback,
   22459         VARIANT_BOOL WasSuccessful) = 0;
   22460 
   22461 };
   22462 #ifdef __CRT_UUID_DECL
   22463 __CRT_UUID_DECL(ISpeechRecoResult2, 0x8e0a246d, 0xd3c8, 0x45de, 0x86,0x57, 0x04,0x29,0x0c,0x45,0x8c,0x3c)
   22464 #endif
   22465 #else
   22466 typedef struct ISpeechRecoResult2Vtbl {
   22467     BEGIN_INTERFACE
   22468 
   22469     /*** IUnknown methods ***/
   22470     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   22471         ISpeechRecoResult2* This,
   22472         REFIID riid,
   22473         void **ppvObject);
   22474 
   22475     ULONG (STDMETHODCALLTYPE *AddRef)(
   22476         ISpeechRecoResult2* This);
   22477 
   22478     ULONG (STDMETHODCALLTYPE *Release)(
   22479         ISpeechRecoResult2* This);
   22480 
   22481     /*** IDispatch methods ***/
   22482     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   22483         ISpeechRecoResult2* This,
   22484         UINT *pctinfo);
   22485 
   22486     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   22487         ISpeechRecoResult2* This,
   22488         UINT iTInfo,
   22489         LCID lcid,
   22490         ITypeInfo **ppTInfo);
   22491 
   22492     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   22493         ISpeechRecoResult2* This,
   22494         REFIID riid,
   22495         LPOLESTR *rgszNames,
   22496         UINT cNames,
   22497         LCID lcid,
   22498         DISPID *rgDispId);
   22499 
   22500     HRESULT (STDMETHODCALLTYPE *Invoke)(
   22501         ISpeechRecoResult2* This,
   22502         DISPID dispIdMember,
   22503         REFIID riid,
   22504         LCID lcid,
   22505         WORD wFlags,
   22506         DISPPARAMS *pDispParams,
   22507         VARIANT *pVarResult,
   22508         EXCEPINFO *pExcepInfo,
   22509         UINT *puArgErr);
   22510 
   22511     /*** ISpeechRecoResult methods ***/
   22512     HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
   22513         ISpeechRecoResult2* This,
   22514         ISpeechRecoContext **RecoContext);
   22515 
   22516     HRESULT (STDMETHODCALLTYPE *get_Times)(
   22517         ISpeechRecoResult2* This,
   22518         ISpeechRecoResultTimes **Times);
   22519 
   22520     HRESULT (STDMETHODCALLTYPE *putref_AudioFormat)(
   22521         ISpeechRecoResult2* This,
   22522         ISpeechAudioFormat *Format);
   22523 
   22524     HRESULT (STDMETHODCALLTYPE *get_AudioFormat)(
   22525         ISpeechRecoResult2* This,
   22526         ISpeechAudioFormat **Format);
   22527 
   22528     HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
   22529         ISpeechRecoResult2* This,
   22530         ISpeechPhraseInfo **PhraseInfo);
   22531 
   22532     HRESULT (STDMETHODCALLTYPE *Alternates)(
   22533         ISpeechRecoResult2* This,
   22534         LONG RequestCount,
   22535         LONG StartElement,
   22536         LONG Elements,
   22537         ISpeechPhraseAlternates **Alternates);
   22538 
   22539     HRESULT (STDMETHODCALLTYPE *Audio)(
   22540         ISpeechRecoResult2* This,
   22541         LONG StartElement,
   22542         LONG Elements,
   22543         ISpeechMemoryStream **Stream);
   22544 
   22545     HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
   22546         ISpeechRecoResult2* This,
   22547         LONG StartElement,
   22548         LONG Elements,
   22549         SpeechVoiceSpeakFlags Flags,
   22550         LONG *StreamNumber);
   22551 
   22552     HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
   22553         ISpeechRecoResult2* This,
   22554         VARIANT *ResultBlock);
   22555 
   22556     HRESULT (STDMETHODCALLTYPE *DiscardResultInfo)(
   22557         ISpeechRecoResult2* This,
   22558         SpeechDiscardType ValueTypes);
   22559 
   22560     /*** ISpeechRecoResult2 methods ***/
   22561     HRESULT (STDMETHODCALLTYPE *SetTextFeedback)(
   22562         ISpeechRecoResult2* This,
   22563         BSTR Feedback,
   22564         VARIANT_BOOL WasSuccessful);
   22565 
   22566     END_INTERFACE
   22567 } ISpeechRecoResult2Vtbl;
   22568 interface ISpeechRecoResult2 {
   22569     CONST_VTBL ISpeechRecoResult2Vtbl* lpVtbl;
   22570 };
   22571 
   22572 #ifdef COBJMACROS
   22573 #ifndef WIDL_C_INLINE_WRAPPERS
   22574 /*** IUnknown methods ***/
   22575 #define ISpeechRecoResult2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   22576 #define ISpeechRecoResult2_AddRef(This) (This)->lpVtbl->AddRef(This)
   22577 #define ISpeechRecoResult2_Release(This) (This)->lpVtbl->Release(This)
   22578 /*** IDispatch methods ***/
   22579 #define ISpeechRecoResult2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   22580 #define ISpeechRecoResult2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   22581 #define ISpeechRecoResult2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   22582 #define ISpeechRecoResult2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   22583 /*** ISpeechRecoResult methods ***/
   22584 #define ISpeechRecoResult2_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
   22585 #define ISpeechRecoResult2_get_Times(This,Times) (This)->lpVtbl->get_Times(This,Times)
   22586 #define ISpeechRecoResult2_putref_AudioFormat(This,Format) (This)->lpVtbl->putref_AudioFormat(This,Format)
   22587 #define ISpeechRecoResult2_get_AudioFormat(This,Format) (This)->lpVtbl->get_AudioFormat(This,Format)
   22588 #define ISpeechRecoResult2_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
   22589 #define ISpeechRecoResult2_Alternates(This,RequestCount,StartElement,Elements,Alternates) (This)->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates)
   22590 #define ISpeechRecoResult2_Audio(This,StartElement,Elements,Stream) (This)->lpVtbl->Audio(This,StartElement,Elements,Stream)
   22591 #define ISpeechRecoResult2_SpeakAudio(This,StartElement,Elements,Flags,StreamNumber) (This)->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
   22592 #define ISpeechRecoResult2_SaveToMemory(This,ResultBlock) (This)->lpVtbl->SaveToMemory(This,ResultBlock)
   22593 #define ISpeechRecoResult2_DiscardResultInfo(This,ValueTypes) (This)->lpVtbl->DiscardResultInfo(This,ValueTypes)
   22594 /*** ISpeechRecoResult2 methods ***/
   22595 #define ISpeechRecoResult2_SetTextFeedback(This,Feedback,WasSuccessful) (This)->lpVtbl->SetTextFeedback(This,Feedback,WasSuccessful)
   22596 #else
   22597 /*** IUnknown methods ***/
   22598 static FORCEINLINE HRESULT ISpeechRecoResult2_QueryInterface(ISpeechRecoResult2* This,REFIID riid,void **ppvObject) {
   22599     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   22600 }
   22601 static FORCEINLINE ULONG ISpeechRecoResult2_AddRef(ISpeechRecoResult2* This) {
   22602     return This->lpVtbl->AddRef(This);
   22603 }
   22604 static FORCEINLINE ULONG ISpeechRecoResult2_Release(ISpeechRecoResult2* This) {
   22605     return This->lpVtbl->Release(This);
   22606 }
   22607 /*** IDispatch methods ***/
   22608 static FORCEINLINE HRESULT ISpeechRecoResult2_GetTypeInfoCount(ISpeechRecoResult2* This,UINT *pctinfo) {
   22609     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   22610 }
   22611 static FORCEINLINE HRESULT ISpeechRecoResult2_GetTypeInfo(ISpeechRecoResult2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   22612     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   22613 }
   22614 static FORCEINLINE HRESULT ISpeechRecoResult2_GetIDsOfNames(ISpeechRecoResult2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   22615     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   22616 }
   22617 static FORCEINLINE HRESULT ISpeechRecoResult2_Invoke(ISpeechRecoResult2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   22618     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   22619 }
   22620 /*** ISpeechRecoResult methods ***/
   22621 static FORCEINLINE HRESULT ISpeechRecoResult2_get_RecoContext(ISpeechRecoResult2* This,ISpeechRecoContext **RecoContext) {
   22622     return This->lpVtbl->get_RecoContext(This,RecoContext);
   22623 }
   22624 static FORCEINLINE HRESULT ISpeechRecoResult2_get_Times(ISpeechRecoResult2* This,ISpeechRecoResultTimes **Times) {
   22625     return This->lpVtbl->get_Times(This,Times);
   22626 }
   22627 static FORCEINLINE HRESULT ISpeechRecoResult2_putref_AudioFormat(ISpeechRecoResult2* This,ISpeechAudioFormat *Format) {
   22628     return This->lpVtbl->putref_AudioFormat(This,Format);
   22629 }
   22630 static FORCEINLINE HRESULT ISpeechRecoResult2_get_AudioFormat(ISpeechRecoResult2* This,ISpeechAudioFormat **Format) {
   22631     return This->lpVtbl->get_AudioFormat(This,Format);
   22632 }
   22633 static FORCEINLINE HRESULT ISpeechRecoResult2_get_PhraseInfo(ISpeechRecoResult2* This,ISpeechPhraseInfo **PhraseInfo) {
   22634     return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
   22635 }
   22636 static FORCEINLINE HRESULT ISpeechRecoResult2_Alternates(ISpeechRecoResult2* This,LONG RequestCount,LONG StartElement,LONG Elements,ISpeechPhraseAlternates **Alternates) {
   22637     return This->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates);
   22638 }
   22639 static FORCEINLINE HRESULT ISpeechRecoResult2_Audio(ISpeechRecoResult2* This,LONG StartElement,LONG Elements,ISpeechMemoryStream **Stream) {
   22640     return This->lpVtbl->Audio(This,StartElement,Elements,Stream);
   22641 }
   22642 static FORCEINLINE HRESULT ISpeechRecoResult2_SpeakAudio(ISpeechRecoResult2* This,LONG StartElement,LONG Elements,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
   22643     return This->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber);
   22644 }
   22645 static FORCEINLINE HRESULT ISpeechRecoResult2_SaveToMemory(ISpeechRecoResult2* This,VARIANT *ResultBlock) {
   22646     return This->lpVtbl->SaveToMemory(This,ResultBlock);
   22647 }
   22648 static FORCEINLINE HRESULT ISpeechRecoResult2_DiscardResultInfo(ISpeechRecoResult2* This,SpeechDiscardType ValueTypes) {
   22649     return This->lpVtbl->DiscardResultInfo(This,ValueTypes);
   22650 }
   22651 /*** ISpeechRecoResult2 methods ***/
   22652 static FORCEINLINE HRESULT ISpeechRecoResult2_SetTextFeedback(ISpeechRecoResult2* This,BSTR Feedback,VARIANT_BOOL WasSuccessful) {
   22653     return This->lpVtbl->SetTextFeedback(This,Feedback,WasSuccessful);
   22654 }
   22655 #endif
   22656 #endif
   22657 
   22658 #endif
   22659 
   22660 HRESULT STDMETHODCALLTYPE ISpeechRecoResult2_SetTextFeedback_Proxy(
   22661     ISpeechRecoResult2* This,
   22662     BSTR Feedback,
   22663     VARIANT_BOOL WasSuccessful);
   22664 void __RPC_STUB ISpeechRecoResult2_SetTextFeedback_Stub(
   22665     IRpcStubBuffer* This,
   22666     IRpcChannelBuffer* pRpcChannelBuffer,
   22667     PRPC_MESSAGE pRpcMessage,
   22668     DWORD* pdwStubPhase);
   22669 
   22670 #endif  /* __ISpeechRecoResult2_INTERFACE_DEFINED__ */
   22671 
   22672 /*****************************************************************************
   22673  * ISpeechRecoResultDispatch interface
   22674  */
   22675 #ifndef __ISpeechRecoResultDispatch_INTERFACE_DEFINED__
   22676 #define __ISpeechRecoResultDispatch_INTERFACE_DEFINED__
   22677 
   22678 DEFINE_GUID(IID_ISpeechRecoResultDispatch, 0x6d60eb64, 0xaced, 0x40a6, 0xbb,0xf3, 0x4e,0x55,0x7f,0x71,0xde,0xe2);
   22679 #if defined(__cplusplus) && !defined(CINTERFACE)
   22680 MIDL_INTERFACE("6d60eb64-aced-40a6-bbf3-4e557f71dee2")
   22681 ISpeechRecoResultDispatch : public IDispatch
   22682 {
   22683     virtual HRESULT STDMETHODCALLTYPE get_RecoContext(
   22684         ISpeechRecoContext **RecoContext) = 0;
   22685 
   22686     virtual HRESULT STDMETHODCALLTYPE get_Times(
   22687         ISpeechRecoResultTimes **Times) = 0;
   22688 
   22689     virtual HRESULT STDMETHODCALLTYPE putref_AudioFormat(
   22690         ISpeechAudioFormat *Format) = 0;
   22691 
   22692     virtual HRESULT STDMETHODCALLTYPE get_AudioFormat(
   22693         ISpeechAudioFormat **Format) = 0;
   22694 
   22695     virtual HRESULT STDMETHODCALLTYPE get_PhraseInfo(
   22696         ISpeechPhraseInfo **PhraseInfo) = 0;
   22697 
   22698     virtual HRESULT STDMETHODCALLTYPE Alternates(
   22699         LONG RequestCount,
   22700         LONG StartElement,
   22701         LONG Elements,
   22702         ISpeechPhraseAlternates **Alternates) = 0;
   22703 
   22704     virtual HRESULT STDMETHODCALLTYPE Audio(
   22705         LONG StartElement,
   22706         LONG Elements,
   22707         ISpeechMemoryStream **Stream) = 0;
   22708 
   22709     virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
   22710         LONG StartElement,
   22711         LONG Elements,
   22712         SpeechVoiceSpeakFlags Flags,
   22713         LONG *StreamNumber) = 0;
   22714 
   22715     virtual HRESULT STDMETHODCALLTYPE SaveToMemory(
   22716         VARIANT *ResultBlock) = 0;
   22717 
   22718     virtual HRESULT STDMETHODCALLTYPE DiscardResultInfo(
   22719         SpeechDiscardType ValueTypes) = 0;
   22720 
   22721     virtual HRESULT STDMETHODCALLTYPE GetXMLResult(
   22722         SPXMLRESULTOPTIONS Options,
   22723         BSTR *pResult) = 0;
   22724 
   22725     virtual HRESULT STDMETHODCALLTYPE GetXMLErrorInfo(
   22726         LONG *LineNumber,
   22727         BSTR *ScriptLine,
   22728         BSTR *Source,
   22729         BSTR *Description,
   22730         HRESULT *ResultCode,
   22731         VARIANT_BOOL *IsError) = 0;
   22732 
   22733     virtual HRESULT STDMETHODCALLTYPE SetTextFeedback(
   22734         BSTR Feedback,
   22735         VARIANT_BOOL WasSuccessful) = 0;
   22736 
   22737 };
   22738 #ifdef __CRT_UUID_DECL
   22739 __CRT_UUID_DECL(ISpeechRecoResultDispatch, 0x6d60eb64, 0xaced, 0x40a6, 0xbb,0xf3, 0x4e,0x55,0x7f,0x71,0xde,0xe2)
   22740 #endif
   22741 #else
   22742 typedef struct ISpeechRecoResultDispatchVtbl {
   22743     BEGIN_INTERFACE
   22744 
   22745     /*** IUnknown methods ***/
   22746     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   22747         ISpeechRecoResultDispatch* This,
   22748         REFIID riid,
   22749         void **ppvObject);
   22750 
   22751     ULONG (STDMETHODCALLTYPE *AddRef)(
   22752         ISpeechRecoResultDispatch* This);
   22753 
   22754     ULONG (STDMETHODCALLTYPE *Release)(
   22755         ISpeechRecoResultDispatch* This);
   22756 
   22757     /*** IDispatch methods ***/
   22758     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   22759         ISpeechRecoResultDispatch* This,
   22760         UINT *pctinfo);
   22761 
   22762     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   22763         ISpeechRecoResultDispatch* This,
   22764         UINT iTInfo,
   22765         LCID lcid,
   22766         ITypeInfo **ppTInfo);
   22767 
   22768     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   22769         ISpeechRecoResultDispatch* This,
   22770         REFIID riid,
   22771         LPOLESTR *rgszNames,
   22772         UINT cNames,
   22773         LCID lcid,
   22774         DISPID *rgDispId);
   22775 
   22776     HRESULT (STDMETHODCALLTYPE *Invoke)(
   22777         ISpeechRecoResultDispatch* This,
   22778         DISPID dispIdMember,
   22779         REFIID riid,
   22780         LCID lcid,
   22781         WORD wFlags,
   22782         DISPPARAMS *pDispParams,
   22783         VARIANT *pVarResult,
   22784         EXCEPINFO *pExcepInfo,
   22785         UINT *puArgErr);
   22786 
   22787     /*** ISpeechRecoResultDispatch methods ***/
   22788     HRESULT (STDMETHODCALLTYPE *get_RecoContext)(
   22789         ISpeechRecoResultDispatch* This,
   22790         ISpeechRecoContext **RecoContext);
   22791 
   22792     HRESULT (STDMETHODCALLTYPE *get_Times)(
   22793         ISpeechRecoResultDispatch* This,
   22794         ISpeechRecoResultTimes **Times);
   22795 
   22796     HRESULT (STDMETHODCALLTYPE *putref_AudioFormat)(
   22797         ISpeechRecoResultDispatch* This,
   22798         ISpeechAudioFormat *Format);
   22799 
   22800     HRESULT (STDMETHODCALLTYPE *get_AudioFormat)(
   22801         ISpeechRecoResultDispatch* This,
   22802         ISpeechAudioFormat **Format);
   22803 
   22804     HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
   22805         ISpeechRecoResultDispatch* This,
   22806         ISpeechPhraseInfo **PhraseInfo);
   22807 
   22808     HRESULT (STDMETHODCALLTYPE *Alternates)(
   22809         ISpeechRecoResultDispatch* This,
   22810         LONG RequestCount,
   22811         LONG StartElement,
   22812         LONG Elements,
   22813         ISpeechPhraseAlternates **Alternates);
   22814 
   22815     HRESULT (STDMETHODCALLTYPE *Audio)(
   22816         ISpeechRecoResultDispatch* This,
   22817         LONG StartElement,
   22818         LONG Elements,
   22819         ISpeechMemoryStream **Stream);
   22820 
   22821     HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
   22822         ISpeechRecoResultDispatch* This,
   22823         LONG StartElement,
   22824         LONG Elements,
   22825         SpeechVoiceSpeakFlags Flags,
   22826         LONG *StreamNumber);
   22827 
   22828     HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
   22829         ISpeechRecoResultDispatch* This,
   22830         VARIANT *ResultBlock);
   22831 
   22832     HRESULT (STDMETHODCALLTYPE *DiscardResultInfo)(
   22833         ISpeechRecoResultDispatch* This,
   22834         SpeechDiscardType ValueTypes);
   22835 
   22836     HRESULT (STDMETHODCALLTYPE *GetXMLResult)(
   22837         ISpeechRecoResultDispatch* This,
   22838         SPXMLRESULTOPTIONS Options,
   22839         BSTR *pResult);
   22840 
   22841     HRESULT (STDMETHODCALLTYPE *GetXMLErrorInfo)(
   22842         ISpeechRecoResultDispatch* This,
   22843         LONG *LineNumber,
   22844         BSTR *ScriptLine,
   22845         BSTR *Source,
   22846         BSTR *Description,
   22847         HRESULT *ResultCode,
   22848         VARIANT_BOOL *IsError);
   22849 
   22850     HRESULT (STDMETHODCALLTYPE *SetTextFeedback)(
   22851         ISpeechRecoResultDispatch* This,
   22852         BSTR Feedback,
   22853         VARIANT_BOOL WasSuccessful);
   22854 
   22855     END_INTERFACE
   22856 } ISpeechRecoResultDispatchVtbl;
   22857 interface ISpeechRecoResultDispatch {
   22858     CONST_VTBL ISpeechRecoResultDispatchVtbl* lpVtbl;
   22859 };
   22860 
   22861 #ifdef COBJMACROS
   22862 #ifndef WIDL_C_INLINE_WRAPPERS
   22863 /*** IUnknown methods ***/
   22864 #define ISpeechRecoResultDispatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   22865 #define ISpeechRecoResultDispatch_AddRef(This) (This)->lpVtbl->AddRef(This)
   22866 #define ISpeechRecoResultDispatch_Release(This) (This)->lpVtbl->Release(This)
   22867 /*** IDispatch methods ***/
   22868 #define ISpeechRecoResultDispatch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   22869 #define ISpeechRecoResultDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   22870 #define ISpeechRecoResultDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   22871 #define ISpeechRecoResultDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   22872 /*** ISpeechRecoResultDispatch methods ***/
   22873 #define ISpeechRecoResultDispatch_get_RecoContext(This,RecoContext) (This)->lpVtbl->get_RecoContext(This,RecoContext)
   22874 #define ISpeechRecoResultDispatch_get_Times(This,Times) (This)->lpVtbl->get_Times(This,Times)
   22875 #define ISpeechRecoResultDispatch_putref_AudioFormat(This,Format) (This)->lpVtbl->putref_AudioFormat(This,Format)
   22876 #define ISpeechRecoResultDispatch_get_AudioFormat(This,Format) (This)->lpVtbl->get_AudioFormat(This,Format)
   22877 #define ISpeechRecoResultDispatch_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
   22878 #define ISpeechRecoResultDispatch_Alternates(This,RequestCount,StartElement,Elements,Alternates) (This)->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates)
   22879 #define ISpeechRecoResultDispatch_Audio(This,StartElement,Elements,Stream) (This)->lpVtbl->Audio(This,StartElement,Elements,Stream)
   22880 #define ISpeechRecoResultDispatch_SpeakAudio(This,StartElement,Elements,Flags,StreamNumber) (This)->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
   22881 #define ISpeechRecoResultDispatch_SaveToMemory(This,ResultBlock) (This)->lpVtbl->SaveToMemory(This,ResultBlock)
   22882 #define ISpeechRecoResultDispatch_DiscardResultInfo(This,ValueTypes) (This)->lpVtbl->DiscardResultInfo(This,ValueTypes)
   22883 #define ISpeechRecoResultDispatch_GetXMLResult(This,Options,pResult) (This)->lpVtbl->GetXMLResult(This,Options,pResult)
   22884 #define ISpeechRecoResultDispatch_GetXMLErrorInfo(This,LineNumber,ScriptLine,Source,Description,ResultCode,IsError) (This)->lpVtbl->GetXMLErrorInfo(This,LineNumber,ScriptLine,Source,Description,ResultCode,IsError)
   22885 #define ISpeechRecoResultDispatch_SetTextFeedback(This,Feedback,WasSuccessful) (This)->lpVtbl->SetTextFeedback(This,Feedback,WasSuccessful)
   22886 #else
   22887 /*** IUnknown methods ***/
   22888 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_QueryInterface(ISpeechRecoResultDispatch* This,REFIID riid,void **ppvObject) {
   22889     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   22890 }
   22891 static FORCEINLINE ULONG ISpeechRecoResultDispatch_AddRef(ISpeechRecoResultDispatch* This) {
   22892     return This->lpVtbl->AddRef(This);
   22893 }
   22894 static FORCEINLINE ULONG ISpeechRecoResultDispatch_Release(ISpeechRecoResultDispatch* This) {
   22895     return This->lpVtbl->Release(This);
   22896 }
   22897 /*** IDispatch methods ***/
   22898 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_GetTypeInfoCount(ISpeechRecoResultDispatch* This,UINT *pctinfo) {
   22899     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   22900 }
   22901 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_GetTypeInfo(ISpeechRecoResultDispatch* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   22902     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   22903 }
   22904 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_GetIDsOfNames(ISpeechRecoResultDispatch* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   22905     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   22906 }
   22907 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_Invoke(ISpeechRecoResultDispatch* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   22908     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   22909 }
   22910 /*** ISpeechRecoResultDispatch methods ***/
   22911 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_get_RecoContext(ISpeechRecoResultDispatch* This,ISpeechRecoContext **RecoContext) {
   22912     return This->lpVtbl->get_RecoContext(This,RecoContext);
   22913 }
   22914 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_get_Times(ISpeechRecoResultDispatch* This,ISpeechRecoResultTimes **Times) {
   22915     return This->lpVtbl->get_Times(This,Times);
   22916 }
   22917 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_putref_AudioFormat(ISpeechRecoResultDispatch* This,ISpeechAudioFormat *Format) {
   22918     return This->lpVtbl->putref_AudioFormat(This,Format);
   22919 }
   22920 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_get_AudioFormat(ISpeechRecoResultDispatch* This,ISpeechAudioFormat **Format) {
   22921     return This->lpVtbl->get_AudioFormat(This,Format);
   22922 }
   22923 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_get_PhraseInfo(ISpeechRecoResultDispatch* This,ISpeechPhraseInfo **PhraseInfo) {
   22924     return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
   22925 }
   22926 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_Alternates(ISpeechRecoResultDispatch* This,LONG RequestCount,LONG StartElement,LONG Elements,ISpeechPhraseAlternates **Alternates) {
   22927     return This->lpVtbl->Alternates(This,RequestCount,StartElement,Elements,Alternates);
   22928 }
   22929 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_Audio(ISpeechRecoResultDispatch* This,LONG StartElement,LONG Elements,ISpeechMemoryStream **Stream) {
   22930     return This->lpVtbl->Audio(This,StartElement,Elements,Stream);
   22931 }
   22932 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_SpeakAudio(ISpeechRecoResultDispatch* This,LONG StartElement,LONG Elements,SpeechVoiceSpeakFlags Flags,LONG *StreamNumber) {
   22933     return This->lpVtbl->SpeakAudio(This,StartElement,Elements,Flags,StreamNumber);
   22934 }
   22935 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_SaveToMemory(ISpeechRecoResultDispatch* This,VARIANT *ResultBlock) {
   22936     return This->lpVtbl->SaveToMemory(This,ResultBlock);
   22937 }
   22938 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_DiscardResultInfo(ISpeechRecoResultDispatch* This,SpeechDiscardType ValueTypes) {
   22939     return This->lpVtbl->DiscardResultInfo(This,ValueTypes);
   22940 }
   22941 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_GetXMLResult(ISpeechRecoResultDispatch* This,SPXMLRESULTOPTIONS Options,BSTR *pResult) {
   22942     return This->lpVtbl->GetXMLResult(This,Options,pResult);
   22943 }
   22944 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_GetXMLErrorInfo(ISpeechRecoResultDispatch* This,LONG *LineNumber,BSTR *ScriptLine,BSTR *Source,BSTR *Description,HRESULT *ResultCode,VARIANT_BOOL *IsError) {
   22945     return This->lpVtbl->GetXMLErrorInfo(This,LineNumber,ScriptLine,Source,Description,ResultCode,IsError);
   22946 }
   22947 static FORCEINLINE HRESULT ISpeechRecoResultDispatch_SetTextFeedback(ISpeechRecoResultDispatch* This,BSTR Feedback,VARIANT_BOOL WasSuccessful) {
   22948     return This->lpVtbl->SetTextFeedback(This,Feedback,WasSuccessful);
   22949 }
   22950 #endif
   22951 #endif
   22952 
   22953 #endif
   22954 
   22955 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_get_RecoContext_Proxy(
   22956     ISpeechRecoResultDispatch* This,
   22957     ISpeechRecoContext **RecoContext);
   22958 void __RPC_STUB ISpeechRecoResultDispatch_get_RecoContext_Stub(
   22959     IRpcStubBuffer* This,
   22960     IRpcChannelBuffer* pRpcChannelBuffer,
   22961     PRPC_MESSAGE pRpcMessage,
   22962     DWORD* pdwStubPhase);
   22963 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_get_Times_Proxy(
   22964     ISpeechRecoResultDispatch* This,
   22965     ISpeechRecoResultTimes **Times);
   22966 void __RPC_STUB ISpeechRecoResultDispatch_get_Times_Stub(
   22967     IRpcStubBuffer* This,
   22968     IRpcChannelBuffer* pRpcChannelBuffer,
   22969     PRPC_MESSAGE pRpcMessage,
   22970     DWORD* pdwStubPhase);
   22971 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_putref_AudioFormat_Proxy(
   22972     ISpeechRecoResultDispatch* This,
   22973     ISpeechAudioFormat *Format);
   22974 void __RPC_STUB ISpeechRecoResultDispatch_putref_AudioFormat_Stub(
   22975     IRpcStubBuffer* This,
   22976     IRpcChannelBuffer* pRpcChannelBuffer,
   22977     PRPC_MESSAGE pRpcMessage,
   22978     DWORD* pdwStubPhase);
   22979 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_get_AudioFormat_Proxy(
   22980     ISpeechRecoResultDispatch* This,
   22981     ISpeechAudioFormat **Format);
   22982 void __RPC_STUB ISpeechRecoResultDispatch_get_AudioFormat_Stub(
   22983     IRpcStubBuffer* This,
   22984     IRpcChannelBuffer* pRpcChannelBuffer,
   22985     PRPC_MESSAGE pRpcMessage,
   22986     DWORD* pdwStubPhase);
   22987 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_get_PhraseInfo_Proxy(
   22988     ISpeechRecoResultDispatch* This,
   22989     ISpeechPhraseInfo **PhraseInfo);
   22990 void __RPC_STUB ISpeechRecoResultDispatch_get_PhraseInfo_Stub(
   22991     IRpcStubBuffer* This,
   22992     IRpcChannelBuffer* pRpcChannelBuffer,
   22993     PRPC_MESSAGE pRpcMessage,
   22994     DWORD* pdwStubPhase);
   22995 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_Alternates_Proxy(
   22996     ISpeechRecoResultDispatch* This,
   22997     LONG RequestCount,
   22998     LONG StartElement,
   22999     LONG Elements,
   23000     ISpeechPhraseAlternates **Alternates);
   23001 void __RPC_STUB ISpeechRecoResultDispatch_Alternates_Stub(
   23002     IRpcStubBuffer* This,
   23003     IRpcChannelBuffer* pRpcChannelBuffer,
   23004     PRPC_MESSAGE pRpcMessage,
   23005     DWORD* pdwStubPhase);
   23006 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_Audio_Proxy(
   23007     ISpeechRecoResultDispatch* This,
   23008     LONG StartElement,
   23009     LONG Elements,
   23010     ISpeechMemoryStream **Stream);
   23011 void __RPC_STUB ISpeechRecoResultDispatch_Audio_Stub(
   23012     IRpcStubBuffer* This,
   23013     IRpcChannelBuffer* pRpcChannelBuffer,
   23014     PRPC_MESSAGE pRpcMessage,
   23015     DWORD* pdwStubPhase);
   23016 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_SpeakAudio_Proxy(
   23017     ISpeechRecoResultDispatch* This,
   23018     LONG StartElement,
   23019     LONG Elements,
   23020     SpeechVoiceSpeakFlags Flags,
   23021     LONG *StreamNumber);
   23022 void __RPC_STUB ISpeechRecoResultDispatch_SpeakAudio_Stub(
   23023     IRpcStubBuffer* This,
   23024     IRpcChannelBuffer* pRpcChannelBuffer,
   23025     PRPC_MESSAGE pRpcMessage,
   23026     DWORD* pdwStubPhase);
   23027 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_SaveToMemory_Proxy(
   23028     ISpeechRecoResultDispatch* This,
   23029     VARIANT *ResultBlock);
   23030 void __RPC_STUB ISpeechRecoResultDispatch_SaveToMemory_Stub(
   23031     IRpcStubBuffer* This,
   23032     IRpcChannelBuffer* pRpcChannelBuffer,
   23033     PRPC_MESSAGE pRpcMessage,
   23034     DWORD* pdwStubPhase);
   23035 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_DiscardResultInfo_Proxy(
   23036     ISpeechRecoResultDispatch* This,
   23037     SpeechDiscardType ValueTypes);
   23038 void __RPC_STUB ISpeechRecoResultDispatch_DiscardResultInfo_Stub(
   23039     IRpcStubBuffer* This,
   23040     IRpcChannelBuffer* pRpcChannelBuffer,
   23041     PRPC_MESSAGE pRpcMessage,
   23042     DWORD* pdwStubPhase);
   23043 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_GetXMLResult_Proxy(
   23044     ISpeechRecoResultDispatch* This,
   23045     SPXMLRESULTOPTIONS Options,
   23046     BSTR *pResult);
   23047 void __RPC_STUB ISpeechRecoResultDispatch_GetXMLResult_Stub(
   23048     IRpcStubBuffer* This,
   23049     IRpcChannelBuffer* pRpcChannelBuffer,
   23050     PRPC_MESSAGE pRpcMessage,
   23051     DWORD* pdwStubPhase);
   23052 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_GetXMLErrorInfo_Proxy(
   23053     ISpeechRecoResultDispatch* This,
   23054     LONG *LineNumber,
   23055     BSTR *ScriptLine,
   23056     BSTR *Source,
   23057     BSTR *Description,
   23058     HRESULT *ResultCode,
   23059     VARIANT_BOOL *IsError);
   23060 void __RPC_STUB ISpeechRecoResultDispatch_GetXMLErrorInfo_Stub(
   23061     IRpcStubBuffer* This,
   23062     IRpcChannelBuffer* pRpcChannelBuffer,
   23063     PRPC_MESSAGE pRpcMessage,
   23064     DWORD* pdwStubPhase);
   23065 HRESULT STDMETHODCALLTYPE ISpeechRecoResultDispatch_SetTextFeedback_Proxy(
   23066     ISpeechRecoResultDispatch* This,
   23067     BSTR Feedback,
   23068     VARIANT_BOOL WasSuccessful);
   23069 void __RPC_STUB ISpeechRecoResultDispatch_SetTextFeedback_Stub(
   23070     IRpcStubBuffer* This,
   23071     IRpcChannelBuffer* pRpcChannelBuffer,
   23072     PRPC_MESSAGE pRpcMessage,
   23073     DWORD* pdwStubPhase);
   23074 
   23075 #endif  /* __ISpeechRecoResultDispatch_INTERFACE_DEFINED__ */
   23076 
   23077 /*****************************************************************************
   23078  * ISpeechPhraseInfoBuilder interface
   23079  */
   23080 #ifndef __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__
   23081 #define __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__
   23082 
   23083 DEFINE_GUID(IID_ISpeechPhraseInfoBuilder, 0x3b151836, 0xdf3a, 0x4e0a, 0x84,0x6c, 0xd2,0xad,0xc9,0x33,0x43,0x33);
   23084 #if defined(__cplusplus) && !defined(CINTERFACE)
   23085 MIDL_INTERFACE("3b151836-df3a-4e0a-846c-d2adc9334333")
   23086 ISpeechPhraseInfoBuilder : public IDispatch
   23087 {
   23088     virtual HRESULT STDMETHODCALLTYPE RestorePhraseFromMemory(
   23089         VARIANT *PhraseInMemory,
   23090         ISpeechPhraseInfo **PhraseInfo) = 0;
   23091 
   23092 };
   23093 #ifdef __CRT_UUID_DECL
   23094 __CRT_UUID_DECL(ISpeechPhraseInfoBuilder, 0x3b151836, 0xdf3a, 0x4e0a, 0x84,0x6c, 0xd2,0xad,0xc9,0x33,0x43,0x33)
   23095 #endif
   23096 #else
   23097 typedef struct ISpeechPhraseInfoBuilderVtbl {
   23098     BEGIN_INTERFACE
   23099 
   23100     /*** IUnknown methods ***/
   23101     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   23102         ISpeechPhraseInfoBuilder* This,
   23103         REFIID riid,
   23104         void **ppvObject);
   23105 
   23106     ULONG (STDMETHODCALLTYPE *AddRef)(
   23107         ISpeechPhraseInfoBuilder* This);
   23108 
   23109     ULONG (STDMETHODCALLTYPE *Release)(
   23110         ISpeechPhraseInfoBuilder* This);
   23111 
   23112     /*** IDispatch methods ***/
   23113     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   23114         ISpeechPhraseInfoBuilder* This,
   23115         UINT *pctinfo);
   23116 
   23117     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   23118         ISpeechPhraseInfoBuilder* This,
   23119         UINT iTInfo,
   23120         LCID lcid,
   23121         ITypeInfo **ppTInfo);
   23122 
   23123     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   23124         ISpeechPhraseInfoBuilder* This,
   23125         REFIID riid,
   23126         LPOLESTR *rgszNames,
   23127         UINT cNames,
   23128         LCID lcid,
   23129         DISPID *rgDispId);
   23130 
   23131     HRESULT (STDMETHODCALLTYPE *Invoke)(
   23132         ISpeechPhraseInfoBuilder* This,
   23133         DISPID dispIdMember,
   23134         REFIID riid,
   23135         LCID lcid,
   23136         WORD wFlags,
   23137         DISPPARAMS *pDispParams,
   23138         VARIANT *pVarResult,
   23139         EXCEPINFO *pExcepInfo,
   23140         UINT *puArgErr);
   23141 
   23142     /*** ISpeechPhraseInfoBuilder methods ***/
   23143     HRESULT (STDMETHODCALLTYPE *RestorePhraseFromMemory)(
   23144         ISpeechPhraseInfoBuilder* This,
   23145         VARIANT *PhraseInMemory,
   23146         ISpeechPhraseInfo **PhraseInfo);
   23147 
   23148     END_INTERFACE
   23149 } ISpeechPhraseInfoBuilderVtbl;
   23150 interface ISpeechPhraseInfoBuilder {
   23151     CONST_VTBL ISpeechPhraseInfoBuilderVtbl* lpVtbl;
   23152 };
   23153 
   23154 #ifdef COBJMACROS
   23155 #ifndef WIDL_C_INLINE_WRAPPERS
   23156 /*** IUnknown methods ***/
   23157 #define ISpeechPhraseInfoBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   23158 #define ISpeechPhraseInfoBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
   23159 #define ISpeechPhraseInfoBuilder_Release(This) (This)->lpVtbl->Release(This)
   23160 /*** IDispatch methods ***/
   23161 #define ISpeechPhraseInfoBuilder_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   23162 #define ISpeechPhraseInfoBuilder_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   23163 #define ISpeechPhraseInfoBuilder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   23164 #define ISpeechPhraseInfoBuilder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   23165 /*** ISpeechPhraseInfoBuilder methods ***/
   23166 #define ISpeechPhraseInfoBuilder_RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo) (This)->lpVtbl->RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo)
   23167 #else
   23168 /*** IUnknown methods ***/
   23169 static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_QueryInterface(ISpeechPhraseInfoBuilder* This,REFIID riid,void **ppvObject) {
   23170     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   23171 }
   23172 static FORCEINLINE ULONG ISpeechPhraseInfoBuilder_AddRef(ISpeechPhraseInfoBuilder* This) {
   23173     return This->lpVtbl->AddRef(This);
   23174 }
   23175 static FORCEINLINE ULONG ISpeechPhraseInfoBuilder_Release(ISpeechPhraseInfoBuilder* This) {
   23176     return This->lpVtbl->Release(This);
   23177 }
   23178 /*** IDispatch methods ***/
   23179 static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetTypeInfoCount(ISpeechPhraseInfoBuilder* This,UINT *pctinfo) {
   23180     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   23181 }
   23182 static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetTypeInfo(ISpeechPhraseInfoBuilder* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   23183     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   23184 }
   23185 static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_GetIDsOfNames(ISpeechPhraseInfoBuilder* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   23186     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   23187 }
   23188 static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_Invoke(ISpeechPhraseInfoBuilder* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   23189     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   23190 }
   23191 /*** ISpeechPhraseInfoBuilder methods ***/
   23192 static FORCEINLINE HRESULT ISpeechPhraseInfoBuilder_RestorePhraseFromMemory(ISpeechPhraseInfoBuilder* This,VARIANT *PhraseInMemory,ISpeechPhraseInfo **PhraseInfo) {
   23193     return This->lpVtbl->RestorePhraseFromMemory(This,PhraseInMemory,PhraseInfo);
   23194 }
   23195 #endif
   23196 #endif
   23197 
   23198 #endif
   23199 
   23200 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfoBuilder_RestorePhraseFromMemory_Proxy(
   23201     ISpeechPhraseInfoBuilder* This,
   23202     VARIANT *PhraseInMemory,
   23203     ISpeechPhraseInfo **PhraseInfo);
   23204 void __RPC_STUB ISpeechPhraseInfoBuilder_RestorePhraseFromMemory_Stub(
   23205     IRpcStubBuffer* This,
   23206     IRpcChannelBuffer* pRpcChannelBuffer,
   23207     PRPC_MESSAGE pRpcMessage,
   23208     DWORD* pdwStubPhase);
   23209 
   23210 #endif  /* __ISpeechPhraseInfoBuilder_INTERFACE_DEFINED__ */
   23211 
   23212 /*****************************************************************************
   23213  * ISpeechRecoResultTimes interface
   23214  */
   23215 #ifndef __ISpeechRecoResultTimes_INTERFACE_DEFINED__
   23216 #define __ISpeechRecoResultTimes_INTERFACE_DEFINED__
   23217 
   23218 DEFINE_GUID(IID_ISpeechRecoResultTimes, 0x62b3b8fb, 0xf6e7, 0x41be, 0xbd,0xcb, 0x05,0x6b,0x1c,0x29,0xef,0xc0);
   23219 #if defined(__cplusplus) && !defined(CINTERFACE)
   23220 MIDL_INTERFACE("62b3b8fb-f6e7-41be-bdcb-056b1c29efc0")
   23221 ISpeechRecoResultTimes : public IDispatch
   23222 {
   23223     virtual HRESULT STDMETHODCALLTYPE get_StreamTime(
   23224         VARIANT *Time) = 0;
   23225 
   23226     virtual HRESULT STDMETHODCALLTYPE get_Length(
   23227         VARIANT *Length) = 0;
   23228 
   23229     virtual HRESULT STDMETHODCALLTYPE get_TickCount(
   23230         LONG *TickCount) = 0;
   23231 
   23232     virtual HRESULT STDMETHODCALLTYPE get_OffsetFromStart(
   23233         VARIANT *OffsetFromStart) = 0;
   23234 
   23235 };
   23236 #ifdef __CRT_UUID_DECL
   23237 __CRT_UUID_DECL(ISpeechRecoResultTimes, 0x62b3b8fb, 0xf6e7, 0x41be, 0xbd,0xcb, 0x05,0x6b,0x1c,0x29,0xef,0xc0)
   23238 #endif
   23239 #else
   23240 typedef struct ISpeechRecoResultTimesVtbl {
   23241     BEGIN_INTERFACE
   23242 
   23243     /*** IUnknown methods ***/
   23244     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   23245         ISpeechRecoResultTimes* This,
   23246         REFIID riid,
   23247         void **ppvObject);
   23248 
   23249     ULONG (STDMETHODCALLTYPE *AddRef)(
   23250         ISpeechRecoResultTimes* This);
   23251 
   23252     ULONG (STDMETHODCALLTYPE *Release)(
   23253         ISpeechRecoResultTimes* This);
   23254 
   23255     /*** IDispatch methods ***/
   23256     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   23257         ISpeechRecoResultTimes* This,
   23258         UINT *pctinfo);
   23259 
   23260     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   23261         ISpeechRecoResultTimes* This,
   23262         UINT iTInfo,
   23263         LCID lcid,
   23264         ITypeInfo **ppTInfo);
   23265 
   23266     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   23267         ISpeechRecoResultTimes* This,
   23268         REFIID riid,
   23269         LPOLESTR *rgszNames,
   23270         UINT cNames,
   23271         LCID lcid,
   23272         DISPID *rgDispId);
   23273 
   23274     HRESULT (STDMETHODCALLTYPE *Invoke)(
   23275         ISpeechRecoResultTimes* This,
   23276         DISPID dispIdMember,
   23277         REFIID riid,
   23278         LCID lcid,
   23279         WORD wFlags,
   23280         DISPPARAMS *pDispParams,
   23281         VARIANT *pVarResult,
   23282         EXCEPINFO *pExcepInfo,
   23283         UINT *puArgErr);
   23284 
   23285     /*** ISpeechRecoResultTimes methods ***/
   23286     HRESULT (STDMETHODCALLTYPE *get_StreamTime)(
   23287         ISpeechRecoResultTimes* This,
   23288         VARIANT *Time);
   23289 
   23290     HRESULT (STDMETHODCALLTYPE *get_Length)(
   23291         ISpeechRecoResultTimes* This,
   23292         VARIANT *Length);
   23293 
   23294     HRESULT (STDMETHODCALLTYPE *get_TickCount)(
   23295         ISpeechRecoResultTimes* This,
   23296         LONG *TickCount);
   23297 
   23298     HRESULT (STDMETHODCALLTYPE *get_OffsetFromStart)(
   23299         ISpeechRecoResultTimes* This,
   23300         VARIANT *OffsetFromStart);
   23301 
   23302     END_INTERFACE
   23303 } ISpeechRecoResultTimesVtbl;
   23304 interface ISpeechRecoResultTimes {
   23305     CONST_VTBL ISpeechRecoResultTimesVtbl* lpVtbl;
   23306 };
   23307 
   23308 #ifdef COBJMACROS
   23309 #ifndef WIDL_C_INLINE_WRAPPERS
   23310 /*** IUnknown methods ***/
   23311 #define ISpeechRecoResultTimes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   23312 #define ISpeechRecoResultTimes_AddRef(This) (This)->lpVtbl->AddRef(This)
   23313 #define ISpeechRecoResultTimes_Release(This) (This)->lpVtbl->Release(This)
   23314 /*** IDispatch methods ***/
   23315 #define ISpeechRecoResultTimes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   23316 #define ISpeechRecoResultTimes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   23317 #define ISpeechRecoResultTimes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   23318 #define ISpeechRecoResultTimes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   23319 /*** ISpeechRecoResultTimes methods ***/
   23320 #define ISpeechRecoResultTimes_get_StreamTime(This,Time) (This)->lpVtbl->get_StreamTime(This,Time)
   23321 #define ISpeechRecoResultTimes_get_Length(This,Length) (This)->lpVtbl->get_Length(This,Length)
   23322 #define ISpeechRecoResultTimes_get_TickCount(This,TickCount) (This)->lpVtbl->get_TickCount(This,TickCount)
   23323 #define ISpeechRecoResultTimes_get_OffsetFromStart(This,OffsetFromStart) (This)->lpVtbl->get_OffsetFromStart(This,OffsetFromStart)
   23324 #else
   23325 /*** IUnknown methods ***/
   23326 static FORCEINLINE HRESULT ISpeechRecoResultTimes_QueryInterface(ISpeechRecoResultTimes* This,REFIID riid,void **ppvObject) {
   23327     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   23328 }
   23329 static FORCEINLINE ULONG ISpeechRecoResultTimes_AddRef(ISpeechRecoResultTimes* This) {
   23330     return This->lpVtbl->AddRef(This);
   23331 }
   23332 static FORCEINLINE ULONG ISpeechRecoResultTimes_Release(ISpeechRecoResultTimes* This) {
   23333     return This->lpVtbl->Release(This);
   23334 }
   23335 /*** IDispatch methods ***/
   23336 static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetTypeInfoCount(ISpeechRecoResultTimes* This,UINT *pctinfo) {
   23337     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   23338 }
   23339 static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetTypeInfo(ISpeechRecoResultTimes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   23340     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   23341 }
   23342 static FORCEINLINE HRESULT ISpeechRecoResultTimes_GetIDsOfNames(ISpeechRecoResultTimes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   23343     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   23344 }
   23345 static FORCEINLINE HRESULT ISpeechRecoResultTimes_Invoke(ISpeechRecoResultTimes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   23346     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   23347 }
   23348 /*** ISpeechRecoResultTimes methods ***/
   23349 static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_StreamTime(ISpeechRecoResultTimes* This,VARIANT *Time) {
   23350     return This->lpVtbl->get_StreamTime(This,Time);
   23351 }
   23352 static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_Length(ISpeechRecoResultTimes* This,VARIANT *Length) {
   23353     return This->lpVtbl->get_Length(This,Length);
   23354 }
   23355 static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_TickCount(ISpeechRecoResultTimes* This,LONG *TickCount) {
   23356     return This->lpVtbl->get_TickCount(This,TickCount);
   23357 }
   23358 static FORCEINLINE HRESULT ISpeechRecoResultTimes_get_OffsetFromStart(ISpeechRecoResultTimes* This,VARIANT *OffsetFromStart) {
   23359     return This->lpVtbl->get_OffsetFromStart(This,OffsetFromStart);
   23360 }
   23361 #endif
   23362 #endif
   23363 
   23364 #endif
   23365 
   23366 HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_StreamTime_Proxy(
   23367     ISpeechRecoResultTimes* This,
   23368     VARIANT *Time);
   23369 void __RPC_STUB ISpeechRecoResultTimes_get_StreamTime_Stub(
   23370     IRpcStubBuffer* This,
   23371     IRpcChannelBuffer* pRpcChannelBuffer,
   23372     PRPC_MESSAGE pRpcMessage,
   23373     DWORD* pdwStubPhase);
   23374 HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_Length_Proxy(
   23375     ISpeechRecoResultTimes* This,
   23376     VARIANT *Length);
   23377 void __RPC_STUB ISpeechRecoResultTimes_get_Length_Stub(
   23378     IRpcStubBuffer* This,
   23379     IRpcChannelBuffer* pRpcChannelBuffer,
   23380     PRPC_MESSAGE pRpcMessage,
   23381     DWORD* pdwStubPhase);
   23382 HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_TickCount_Proxy(
   23383     ISpeechRecoResultTimes* This,
   23384     LONG *TickCount);
   23385 void __RPC_STUB ISpeechRecoResultTimes_get_TickCount_Stub(
   23386     IRpcStubBuffer* This,
   23387     IRpcChannelBuffer* pRpcChannelBuffer,
   23388     PRPC_MESSAGE pRpcMessage,
   23389     DWORD* pdwStubPhase);
   23390 HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_OffsetFromStart_Proxy(
   23391     ISpeechRecoResultTimes* This,
   23392     VARIANT *OffsetFromStart);
   23393 void __RPC_STUB ISpeechRecoResultTimes_get_OffsetFromStart_Stub(
   23394     IRpcStubBuffer* This,
   23395     IRpcChannelBuffer* pRpcChannelBuffer,
   23396     PRPC_MESSAGE pRpcMessage,
   23397     DWORD* pdwStubPhase);
   23398 
   23399 #endif  /* __ISpeechRecoResultTimes_INTERFACE_DEFINED__ */
   23400 
   23401 /*****************************************************************************
   23402  * ISpeechPhraseAlternate interface
   23403  */
   23404 #ifndef __ISpeechPhraseAlternate_INTERFACE_DEFINED__
   23405 #define __ISpeechPhraseAlternate_INTERFACE_DEFINED__
   23406 
   23407 DEFINE_GUID(IID_ISpeechPhraseAlternate, 0x27864a2a, 0x2b9f, 0x4cb8, 0x92,0xd3, 0x0d,0x27,0x22,0xfd,0x1e,0x73);
   23408 #if defined(__cplusplus) && !defined(CINTERFACE)
   23409 MIDL_INTERFACE("27864a2a-2b9f-4cb8-92d3-0d2722fd1e73")
   23410 ISpeechPhraseAlternate : public IDispatch
   23411 {
   23412     virtual HRESULT STDMETHODCALLTYPE get_RecoResult(
   23413         ISpeechRecoResult **RecoResult) = 0;
   23414 
   23415     virtual HRESULT STDMETHODCALLTYPE get_StartElementInResult(
   23416         LONG *StartElement) = 0;
   23417 
   23418     virtual HRESULT STDMETHODCALLTYPE get_NumberOfElementsInResult(
   23419         LONG *NumberOfElements) = 0;
   23420 
   23421     virtual HRESULT STDMETHODCALLTYPE get_PhraseInfo(
   23422         ISpeechPhraseInfo **PhraseInfo) = 0;
   23423 
   23424     virtual HRESULT STDMETHODCALLTYPE Commit(
   23425         ) = 0;
   23426 
   23427 };
   23428 #ifdef __CRT_UUID_DECL
   23429 __CRT_UUID_DECL(ISpeechPhraseAlternate, 0x27864a2a, 0x2b9f, 0x4cb8, 0x92,0xd3, 0x0d,0x27,0x22,0xfd,0x1e,0x73)
   23430 #endif
   23431 #else
   23432 typedef struct ISpeechPhraseAlternateVtbl {
   23433     BEGIN_INTERFACE
   23434 
   23435     /*** IUnknown methods ***/
   23436     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   23437         ISpeechPhraseAlternate* This,
   23438         REFIID riid,
   23439         void **ppvObject);
   23440 
   23441     ULONG (STDMETHODCALLTYPE *AddRef)(
   23442         ISpeechPhraseAlternate* This);
   23443 
   23444     ULONG (STDMETHODCALLTYPE *Release)(
   23445         ISpeechPhraseAlternate* This);
   23446 
   23447     /*** IDispatch methods ***/
   23448     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   23449         ISpeechPhraseAlternate* This,
   23450         UINT *pctinfo);
   23451 
   23452     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   23453         ISpeechPhraseAlternate* This,
   23454         UINT iTInfo,
   23455         LCID lcid,
   23456         ITypeInfo **ppTInfo);
   23457 
   23458     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   23459         ISpeechPhraseAlternate* This,
   23460         REFIID riid,
   23461         LPOLESTR *rgszNames,
   23462         UINT cNames,
   23463         LCID lcid,
   23464         DISPID *rgDispId);
   23465 
   23466     HRESULT (STDMETHODCALLTYPE *Invoke)(
   23467         ISpeechPhraseAlternate* This,
   23468         DISPID dispIdMember,
   23469         REFIID riid,
   23470         LCID lcid,
   23471         WORD wFlags,
   23472         DISPPARAMS *pDispParams,
   23473         VARIANT *pVarResult,
   23474         EXCEPINFO *pExcepInfo,
   23475         UINT *puArgErr);
   23476 
   23477     /*** ISpeechPhraseAlternate methods ***/
   23478     HRESULT (STDMETHODCALLTYPE *get_RecoResult)(
   23479         ISpeechPhraseAlternate* This,
   23480         ISpeechRecoResult **RecoResult);
   23481 
   23482     HRESULT (STDMETHODCALLTYPE *get_StartElementInResult)(
   23483         ISpeechPhraseAlternate* This,
   23484         LONG *StartElement);
   23485 
   23486     HRESULT (STDMETHODCALLTYPE *get_NumberOfElementsInResult)(
   23487         ISpeechPhraseAlternate* This,
   23488         LONG *NumberOfElements);
   23489 
   23490     HRESULT (STDMETHODCALLTYPE *get_PhraseInfo)(
   23491         ISpeechPhraseAlternate* This,
   23492         ISpeechPhraseInfo **PhraseInfo);
   23493 
   23494     HRESULT (STDMETHODCALLTYPE *Commit)(
   23495         ISpeechPhraseAlternate* This);
   23496 
   23497     END_INTERFACE
   23498 } ISpeechPhraseAlternateVtbl;
   23499 interface ISpeechPhraseAlternate {
   23500     CONST_VTBL ISpeechPhraseAlternateVtbl* lpVtbl;
   23501 };
   23502 
   23503 #ifdef COBJMACROS
   23504 #ifndef WIDL_C_INLINE_WRAPPERS
   23505 /*** IUnknown methods ***/
   23506 #define ISpeechPhraseAlternate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   23507 #define ISpeechPhraseAlternate_AddRef(This) (This)->lpVtbl->AddRef(This)
   23508 #define ISpeechPhraseAlternate_Release(This) (This)->lpVtbl->Release(This)
   23509 /*** IDispatch methods ***/
   23510 #define ISpeechPhraseAlternate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   23511 #define ISpeechPhraseAlternate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   23512 #define ISpeechPhraseAlternate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   23513 #define ISpeechPhraseAlternate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   23514 /*** ISpeechPhraseAlternate methods ***/
   23515 #define ISpeechPhraseAlternate_get_RecoResult(This,RecoResult) (This)->lpVtbl->get_RecoResult(This,RecoResult)
   23516 #define ISpeechPhraseAlternate_get_StartElementInResult(This,StartElement) (This)->lpVtbl->get_StartElementInResult(This,StartElement)
   23517 #define ISpeechPhraseAlternate_get_NumberOfElementsInResult(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElementsInResult(This,NumberOfElements)
   23518 #define ISpeechPhraseAlternate_get_PhraseInfo(This,PhraseInfo) (This)->lpVtbl->get_PhraseInfo(This,PhraseInfo)
   23519 #define ISpeechPhraseAlternate_Commit(This) (This)->lpVtbl->Commit(This)
   23520 #else
   23521 /*** IUnknown methods ***/
   23522 static FORCEINLINE HRESULT ISpeechPhraseAlternate_QueryInterface(ISpeechPhraseAlternate* This,REFIID riid,void **ppvObject) {
   23523     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   23524 }
   23525 static FORCEINLINE ULONG ISpeechPhraseAlternate_AddRef(ISpeechPhraseAlternate* This) {
   23526     return This->lpVtbl->AddRef(This);
   23527 }
   23528 static FORCEINLINE ULONG ISpeechPhraseAlternate_Release(ISpeechPhraseAlternate* This) {
   23529     return This->lpVtbl->Release(This);
   23530 }
   23531 /*** IDispatch methods ***/
   23532 static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetTypeInfoCount(ISpeechPhraseAlternate* This,UINT *pctinfo) {
   23533     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   23534 }
   23535 static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetTypeInfo(ISpeechPhraseAlternate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   23536     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   23537 }
   23538 static FORCEINLINE HRESULT ISpeechPhraseAlternate_GetIDsOfNames(ISpeechPhraseAlternate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   23539     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   23540 }
   23541 static FORCEINLINE HRESULT ISpeechPhraseAlternate_Invoke(ISpeechPhraseAlternate* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   23542     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   23543 }
   23544 /*** ISpeechPhraseAlternate methods ***/
   23545 static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_RecoResult(ISpeechPhraseAlternate* This,ISpeechRecoResult **RecoResult) {
   23546     return This->lpVtbl->get_RecoResult(This,RecoResult);
   23547 }
   23548 static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_StartElementInResult(ISpeechPhraseAlternate* This,LONG *StartElement) {
   23549     return This->lpVtbl->get_StartElementInResult(This,StartElement);
   23550 }
   23551 static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_NumberOfElementsInResult(ISpeechPhraseAlternate* This,LONG *NumberOfElements) {
   23552     return This->lpVtbl->get_NumberOfElementsInResult(This,NumberOfElements);
   23553 }
   23554 static FORCEINLINE HRESULT ISpeechPhraseAlternate_get_PhraseInfo(ISpeechPhraseAlternate* This,ISpeechPhraseInfo **PhraseInfo) {
   23555     return This->lpVtbl->get_PhraseInfo(This,PhraseInfo);
   23556 }
   23557 static FORCEINLINE HRESULT ISpeechPhraseAlternate_Commit(ISpeechPhraseAlternate* This) {
   23558     return This->lpVtbl->Commit(This);
   23559 }
   23560 #endif
   23561 #endif
   23562 
   23563 #endif
   23564 
   23565 HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_RecoResult_Proxy(
   23566     ISpeechPhraseAlternate* This,
   23567     ISpeechRecoResult **RecoResult);
   23568 void __RPC_STUB ISpeechPhraseAlternate_get_RecoResult_Stub(
   23569     IRpcStubBuffer* This,
   23570     IRpcChannelBuffer* pRpcChannelBuffer,
   23571     PRPC_MESSAGE pRpcMessage,
   23572     DWORD* pdwStubPhase);
   23573 HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_StartElementInResult_Proxy(
   23574     ISpeechPhraseAlternate* This,
   23575     LONG *StartElement);
   23576 void __RPC_STUB ISpeechPhraseAlternate_get_StartElementInResult_Stub(
   23577     IRpcStubBuffer* This,
   23578     IRpcChannelBuffer* pRpcChannelBuffer,
   23579     PRPC_MESSAGE pRpcMessage,
   23580     DWORD* pdwStubPhase);
   23581 HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_NumberOfElementsInResult_Proxy(
   23582     ISpeechPhraseAlternate* This,
   23583     LONG *NumberOfElements);
   23584 void __RPC_STUB ISpeechPhraseAlternate_get_NumberOfElementsInResult_Stub(
   23585     IRpcStubBuffer* This,
   23586     IRpcChannelBuffer* pRpcChannelBuffer,
   23587     PRPC_MESSAGE pRpcMessage,
   23588     DWORD* pdwStubPhase);
   23589 HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_PhraseInfo_Proxy(
   23590     ISpeechPhraseAlternate* This,
   23591     ISpeechPhraseInfo **PhraseInfo);
   23592 void __RPC_STUB ISpeechPhraseAlternate_get_PhraseInfo_Stub(
   23593     IRpcStubBuffer* This,
   23594     IRpcChannelBuffer* pRpcChannelBuffer,
   23595     PRPC_MESSAGE pRpcMessage,
   23596     DWORD* pdwStubPhase);
   23597 HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_Commit_Proxy(
   23598     ISpeechPhraseAlternate* This);
   23599 void __RPC_STUB ISpeechPhraseAlternate_Commit_Stub(
   23600     IRpcStubBuffer* This,
   23601     IRpcChannelBuffer* pRpcChannelBuffer,
   23602     PRPC_MESSAGE pRpcMessage,
   23603     DWORD* pdwStubPhase);
   23604 
   23605 #endif  /* __ISpeechPhraseAlternate_INTERFACE_DEFINED__ */
   23606 
   23607 /*****************************************************************************
   23608  * ISpeechPhraseAlternates interface
   23609  */
   23610 #ifndef __ISpeechPhraseAlternates_INTERFACE_DEFINED__
   23611 #define __ISpeechPhraseAlternates_INTERFACE_DEFINED__
   23612 
   23613 DEFINE_GUID(IID_ISpeechPhraseAlternates, 0xb238b6d5, 0xf276, 0x4c3d, 0xa6,0xc1, 0x29,0x74,0x80,0x1c,0x3c,0xc2);
   23614 #if defined(__cplusplus) && !defined(CINTERFACE)
   23615 MIDL_INTERFACE("b238b6d5-f276-4c3d-a6c1-2974801c3cc2")
   23616 ISpeechPhraseAlternates : public IDispatch
   23617 {
   23618     virtual HRESULT STDMETHODCALLTYPE get_Count(
   23619         LONG *Count) = 0;
   23620 
   23621     virtual HRESULT STDMETHODCALLTYPE Item(
   23622         LONG Index,
   23623         ISpeechPhraseAlternate **PhraseAlternate) = 0;
   23624 
   23625     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   23626         IUnknown **EnumVARIANT) = 0;
   23627 
   23628 };
   23629 #ifdef __CRT_UUID_DECL
   23630 __CRT_UUID_DECL(ISpeechPhraseAlternates, 0xb238b6d5, 0xf276, 0x4c3d, 0xa6,0xc1, 0x29,0x74,0x80,0x1c,0x3c,0xc2)
   23631 #endif
   23632 #else
   23633 typedef struct ISpeechPhraseAlternatesVtbl {
   23634     BEGIN_INTERFACE
   23635 
   23636     /*** IUnknown methods ***/
   23637     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   23638         ISpeechPhraseAlternates* This,
   23639         REFIID riid,
   23640         void **ppvObject);
   23641 
   23642     ULONG (STDMETHODCALLTYPE *AddRef)(
   23643         ISpeechPhraseAlternates* This);
   23644 
   23645     ULONG (STDMETHODCALLTYPE *Release)(
   23646         ISpeechPhraseAlternates* This);
   23647 
   23648     /*** IDispatch methods ***/
   23649     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   23650         ISpeechPhraseAlternates* This,
   23651         UINT *pctinfo);
   23652 
   23653     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   23654         ISpeechPhraseAlternates* This,
   23655         UINT iTInfo,
   23656         LCID lcid,
   23657         ITypeInfo **ppTInfo);
   23658 
   23659     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   23660         ISpeechPhraseAlternates* This,
   23661         REFIID riid,
   23662         LPOLESTR *rgszNames,
   23663         UINT cNames,
   23664         LCID lcid,
   23665         DISPID *rgDispId);
   23666 
   23667     HRESULT (STDMETHODCALLTYPE *Invoke)(
   23668         ISpeechPhraseAlternates* This,
   23669         DISPID dispIdMember,
   23670         REFIID riid,
   23671         LCID lcid,
   23672         WORD wFlags,
   23673         DISPPARAMS *pDispParams,
   23674         VARIANT *pVarResult,
   23675         EXCEPINFO *pExcepInfo,
   23676         UINT *puArgErr);
   23677 
   23678     /*** ISpeechPhraseAlternates methods ***/
   23679     HRESULT (STDMETHODCALLTYPE *get_Count)(
   23680         ISpeechPhraseAlternates* This,
   23681         LONG *Count);
   23682 
   23683     HRESULT (STDMETHODCALLTYPE *Item)(
   23684         ISpeechPhraseAlternates* This,
   23685         LONG Index,
   23686         ISpeechPhraseAlternate **PhraseAlternate);
   23687 
   23688     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   23689         ISpeechPhraseAlternates* This,
   23690         IUnknown **EnumVARIANT);
   23691 
   23692     END_INTERFACE
   23693 } ISpeechPhraseAlternatesVtbl;
   23694 interface ISpeechPhraseAlternates {
   23695     CONST_VTBL ISpeechPhraseAlternatesVtbl* lpVtbl;
   23696 };
   23697 
   23698 #ifdef COBJMACROS
   23699 #ifndef WIDL_C_INLINE_WRAPPERS
   23700 /*** IUnknown methods ***/
   23701 #define ISpeechPhraseAlternates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   23702 #define ISpeechPhraseAlternates_AddRef(This) (This)->lpVtbl->AddRef(This)
   23703 #define ISpeechPhraseAlternates_Release(This) (This)->lpVtbl->Release(This)
   23704 /*** IDispatch methods ***/
   23705 #define ISpeechPhraseAlternates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   23706 #define ISpeechPhraseAlternates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   23707 #define ISpeechPhraseAlternates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   23708 #define ISpeechPhraseAlternates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   23709 /*** ISpeechPhraseAlternates methods ***/
   23710 #define ISpeechPhraseAlternates_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   23711 #define ISpeechPhraseAlternates_Item(This,Index,PhraseAlternate) (This)->lpVtbl->Item(This,Index,PhraseAlternate)
   23712 #define ISpeechPhraseAlternates_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   23713 #else
   23714 /*** IUnknown methods ***/
   23715 static FORCEINLINE HRESULT ISpeechPhraseAlternates_QueryInterface(ISpeechPhraseAlternates* This,REFIID riid,void **ppvObject) {
   23716     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   23717 }
   23718 static FORCEINLINE ULONG ISpeechPhraseAlternates_AddRef(ISpeechPhraseAlternates* This) {
   23719     return This->lpVtbl->AddRef(This);
   23720 }
   23721 static FORCEINLINE ULONG ISpeechPhraseAlternates_Release(ISpeechPhraseAlternates* This) {
   23722     return This->lpVtbl->Release(This);
   23723 }
   23724 /*** IDispatch methods ***/
   23725 static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetTypeInfoCount(ISpeechPhraseAlternates* This,UINT *pctinfo) {
   23726     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   23727 }
   23728 static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetTypeInfo(ISpeechPhraseAlternates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   23729     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   23730 }
   23731 static FORCEINLINE HRESULT ISpeechPhraseAlternates_GetIDsOfNames(ISpeechPhraseAlternates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   23732     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   23733 }
   23734 static FORCEINLINE HRESULT ISpeechPhraseAlternates_Invoke(ISpeechPhraseAlternates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   23735     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   23736 }
   23737 /*** ISpeechPhraseAlternates methods ***/
   23738 static FORCEINLINE HRESULT ISpeechPhraseAlternates_get_Count(ISpeechPhraseAlternates* This,LONG *Count) {
   23739     return This->lpVtbl->get_Count(This,Count);
   23740 }
   23741 static FORCEINLINE HRESULT ISpeechPhraseAlternates_Item(ISpeechPhraseAlternates* This,LONG Index,ISpeechPhraseAlternate **PhraseAlternate) {
   23742     return This->lpVtbl->Item(This,Index,PhraseAlternate);
   23743 }
   23744 static FORCEINLINE HRESULT ISpeechPhraseAlternates_get__NewEnum(ISpeechPhraseAlternates* This,IUnknown **EnumVARIANT) {
   23745     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   23746 }
   23747 #endif
   23748 #endif
   23749 
   23750 #endif
   23751 
   23752 HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_get_Count_Proxy(
   23753     ISpeechPhraseAlternates* This,
   23754     LONG *Count);
   23755 void __RPC_STUB ISpeechPhraseAlternates_get_Count_Stub(
   23756     IRpcStubBuffer* This,
   23757     IRpcChannelBuffer* pRpcChannelBuffer,
   23758     PRPC_MESSAGE pRpcMessage,
   23759     DWORD* pdwStubPhase);
   23760 HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_Item_Proxy(
   23761     ISpeechPhraseAlternates* This,
   23762     LONG Index,
   23763     ISpeechPhraseAlternate **PhraseAlternate);
   23764 void __RPC_STUB ISpeechPhraseAlternates_Item_Stub(
   23765     IRpcStubBuffer* This,
   23766     IRpcChannelBuffer* pRpcChannelBuffer,
   23767     PRPC_MESSAGE pRpcMessage,
   23768     DWORD* pdwStubPhase);
   23769 HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_get__NewEnum_Proxy(
   23770     ISpeechPhraseAlternates* This,
   23771     IUnknown **EnumVARIANT);
   23772 void __RPC_STUB ISpeechPhraseAlternates_get__NewEnum_Stub(
   23773     IRpcStubBuffer* This,
   23774     IRpcChannelBuffer* pRpcChannelBuffer,
   23775     PRPC_MESSAGE pRpcMessage,
   23776     DWORD* pdwStubPhase);
   23777 
   23778 #endif  /* __ISpeechPhraseAlternates_INTERFACE_DEFINED__ */
   23779 
   23780 /*****************************************************************************
   23781  * ISpeechPhraseInfo interface
   23782  */
   23783 #ifndef __ISpeechPhraseInfo_INTERFACE_DEFINED__
   23784 #define __ISpeechPhraseInfo_INTERFACE_DEFINED__
   23785 
   23786 DEFINE_GUID(IID_ISpeechPhraseInfo, 0x961559cf, 0x4e67, 0x4662, 0x8b,0xf0, 0xd9,0x3f,0x1f,0xcd,0x61,0xb3);
   23787 #if defined(__cplusplus) && !defined(CINTERFACE)
   23788 MIDL_INTERFACE("961559cf-4e67-4662-8bf0-d93f1fcd61b3")
   23789 ISpeechPhraseInfo : public IDispatch
   23790 {
   23791     virtual HRESULT STDMETHODCALLTYPE get_LanguageId(
   23792         LONG *LanguageId) = 0;
   23793 
   23794     virtual HRESULT STDMETHODCALLTYPE get_GrammarId(
   23795         VARIANT *GrammarId) = 0;
   23796 
   23797     virtual HRESULT STDMETHODCALLTYPE get_StartTime(
   23798         VARIANT *StartTime) = 0;
   23799 
   23800     virtual HRESULT STDMETHODCALLTYPE get_AudioStreamPosition(
   23801         VARIANT *AudioStreamPosition) = 0;
   23802 
   23803     virtual HRESULT STDMETHODCALLTYPE get_AudioSizeBytes(
   23804         LONG *pAudioSizeBytes) = 0;
   23805 
   23806     virtual HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes(
   23807         LONG *RetainedSizeBytes) = 0;
   23808 
   23809     virtual HRESULT STDMETHODCALLTYPE get_AudioSizeTime(
   23810         LONG *AudioSizeTime) = 0;
   23811 
   23812     virtual HRESULT STDMETHODCALLTYPE get_Rule(
   23813         ISpeechPhraseRule **Rule) = 0;
   23814 
   23815     virtual HRESULT STDMETHODCALLTYPE get_Properties(
   23816         ISpeechPhraseProperties **Properties) = 0;
   23817 
   23818     virtual HRESULT STDMETHODCALLTYPE get_Elements(
   23819         ISpeechPhraseElements **Elements) = 0;
   23820 
   23821     virtual HRESULT STDMETHODCALLTYPE get_Replacements(
   23822         ISpeechPhraseReplacements **Replacements) = 0;
   23823 
   23824     virtual HRESULT STDMETHODCALLTYPE get_EngineId(
   23825         BSTR *EngineIdGuid) = 0;
   23826 
   23827     virtual HRESULT STDMETHODCALLTYPE get_EnginePrivateData(
   23828         VARIANT *PrivateData) = 0;
   23829 
   23830     virtual HRESULT STDMETHODCALLTYPE SaveToMemory(
   23831         VARIANT *PhraseBlock) = 0;
   23832 
   23833     virtual HRESULT STDMETHODCALLTYPE GetText(
   23834         LONG StartElement,
   23835         LONG Elements,
   23836         VARIANT_BOOL UseReplacements,
   23837         BSTR *Text) = 0;
   23838 
   23839     virtual HRESULT STDMETHODCALLTYPE GetDisplayAttributes(
   23840         LONG StartElement,
   23841         LONG Elements,
   23842         VARIANT_BOOL UseReplacements,
   23843         SpeechDisplayAttributes *DisplayAttributes) = 0;
   23844 
   23845 };
   23846 #ifdef __CRT_UUID_DECL
   23847 __CRT_UUID_DECL(ISpeechPhraseInfo, 0x961559cf, 0x4e67, 0x4662, 0x8b,0xf0, 0xd9,0x3f,0x1f,0xcd,0x61,0xb3)
   23848 #endif
   23849 #else
   23850 typedef struct ISpeechPhraseInfoVtbl {
   23851     BEGIN_INTERFACE
   23852 
   23853     /*** IUnknown methods ***/
   23854     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   23855         ISpeechPhraseInfo* This,
   23856         REFIID riid,
   23857         void **ppvObject);
   23858 
   23859     ULONG (STDMETHODCALLTYPE *AddRef)(
   23860         ISpeechPhraseInfo* This);
   23861 
   23862     ULONG (STDMETHODCALLTYPE *Release)(
   23863         ISpeechPhraseInfo* This);
   23864 
   23865     /*** IDispatch methods ***/
   23866     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   23867         ISpeechPhraseInfo* This,
   23868         UINT *pctinfo);
   23869 
   23870     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   23871         ISpeechPhraseInfo* This,
   23872         UINT iTInfo,
   23873         LCID lcid,
   23874         ITypeInfo **ppTInfo);
   23875 
   23876     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   23877         ISpeechPhraseInfo* This,
   23878         REFIID riid,
   23879         LPOLESTR *rgszNames,
   23880         UINT cNames,
   23881         LCID lcid,
   23882         DISPID *rgDispId);
   23883 
   23884     HRESULT (STDMETHODCALLTYPE *Invoke)(
   23885         ISpeechPhraseInfo* This,
   23886         DISPID dispIdMember,
   23887         REFIID riid,
   23888         LCID lcid,
   23889         WORD wFlags,
   23890         DISPPARAMS *pDispParams,
   23891         VARIANT *pVarResult,
   23892         EXCEPINFO *pExcepInfo,
   23893         UINT *puArgErr);
   23894 
   23895     /*** ISpeechPhraseInfo methods ***/
   23896     HRESULT (STDMETHODCALLTYPE *get_LanguageId)(
   23897         ISpeechPhraseInfo* This,
   23898         LONG *LanguageId);
   23899 
   23900     HRESULT (STDMETHODCALLTYPE *get_GrammarId)(
   23901         ISpeechPhraseInfo* This,
   23902         VARIANT *GrammarId);
   23903 
   23904     HRESULT (STDMETHODCALLTYPE *get_StartTime)(
   23905         ISpeechPhraseInfo* This,
   23906         VARIANT *StartTime);
   23907 
   23908     HRESULT (STDMETHODCALLTYPE *get_AudioStreamPosition)(
   23909         ISpeechPhraseInfo* This,
   23910         VARIANT *AudioStreamPosition);
   23911 
   23912     HRESULT (STDMETHODCALLTYPE *get_AudioSizeBytes)(
   23913         ISpeechPhraseInfo* This,
   23914         LONG *pAudioSizeBytes);
   23915 
   23916     HRESULT (STDMETHODCALLTYPE *get_RetainedSizeBytes)(
   23917         ISpeechPhraseInfo* This,
   23918         LONG *RetainedSizeBytes);
   23919 
   23920     HRESULT (STDMETHODCALLTYPE *get_AudioSizeTime)(
   23921         ISpeechPhraseInfo* This,
   23922         LONG *AudioSizeTime);
   23923 
   23924     HRESULT (STDMETHODCALLTYPE *get_Rule)(
   23925         ISpeechPhraseInfo* This,
   23926         ISpeechPhraseRule **Rule);
   23927 
   23928     HRESULT (STDMETHODCALLTYPE *get_Properties)(
   23929         ISpeechPhraseInfo* This,
   23930         ISpeechPhraseProperties **Properties);
   23931 
   23932     HRESULT (STDMETHODCALLTYPE *get_Elements)(
   23933         ISpeechPhraseInfo* This,
   23934         ISpeechPhraseElements **Elements);
   23935 
   23936     HRESULT (STDMETHODCALLTYPE *get_Replacements)(
   23937         ISpeechPhraseInfo* This,
   23938         ISpeechPhraseReplacements **Replacements);
   23939 
   23940     HRESULT (STDMETHODCALLTYPE *get_EngineId)(
   23941         ISpeechPhraseInfo* This,
   23942         BSTR *EngineIdGuid);
   23943 
   23944     HRESULT (STDMETHODCALLTYPE *get_EnginePrivateData)(
   23945         ISpeechPhraseInfo* This,
   23946         VARIANT *PrivateData);
   23947 
   23948     HRESULT (STDMETHODCALLTYPE *SaveToMemory)(
   23949         ISpeechPhraseInfo* This,
   23950         VARIANT *PhraseBlock);
   23951 
   23952     HRESULT (STDMETHODCALLTYPE *GetText)(
   23953         ISpeechPhraseInfo* This,
   23954         LONG StartElement,
   23955         LONG Elements,
   23956         VARIANT_BOOL UseReplacements,
   23957         BSTR *Text);
   23958 
   23959     HRESULT (STDMETHODCALLTYPE *GetDisplayAttributes)(
   23960         ISpeechPhraseInfo* This,
   23961         LONG StartElement,
   23962         LONG Elements,
   23963         VARIANT_BOOL UseReplacements,
   23964         SpeechDisplayAttributes *DisplayAttributes);
   23965 
   23966     END_INTERFACE
   23967 } ISpeechPhraseInfoVtbl;
   23968 interface ISpeechPhraseInfo {
   23969     CONST_VTBL ISpeechPhraseInfoVtbl* lpVtbl;
   23970 };
   23971 
   23972 #ifdef COBJMACROS
   23973 #ifndef WIDL_C_INLINE_WRAPPERS
   23974 /*** IUnknown methods ***/
   23975 #define ISpeechPhraseInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   23976 #define ISpeechPhraseInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   23977 #define ISpeechPhraseInfo_Release(This) (This)->lpVtbl->Release(This)
   23978 /*** IDispatch methods ***/
   23979 #define ISpeechPhraseInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   23980 #define ISpeechPhraseInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   23981 #define ISpeechPhraseInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   23982 #define ISpeechPhraseInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   23983 /*** ISpeechPhraseInfo methods ***/
   23984 #define ISpeechPhraseInfo_get_LanguageId(This,LanguageId) (This)->lpVtbl->get_LanguageId(This,LanguageId)
   23985 #define ISpeechPhraseInfo_get_GrammarId(This,GrammarId) (This)->lpVtbl->get_GrammarId(This,GrammarId)
   23986 #define ISpeechPhraseInfo_get_StartTime(This,StartTime) (This)->lpVtbl->get_StartTime(This,StartTime)
   23987 #define ISpeechPhraseInfo_get_AudioStreamPosition(This,AudioStreamPosition) (This)->lpVtbl->get_AudioStreamPosition(This,AudioStreamPosition)
   23988 #define ISpeechPhraseInfo_get_AudioSizeBytes(This,pAudioSizeBytes) (This)->lpVtbl->get_AudioSizeBytes(This,pAudioSizeBytes)
   23989 #define ISpeechPhraseInfo_get_RetainedSizeBytes(This,RetainedSizeBytes) (This)->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes)
   23990 #define ISpeechPhraseInfo_get_AudioSizeTime(This,AudioSizeTime) (This)->lpVtbl->get_AudioSizeTime(This,AudioSizeTime)
   23991 #define ISpeechPhraseInfo_get_Rule(This,Rule) (This)->lpVtbl->get_Rule(This,Rule)
   23992 #define ISpeechPhraseInfo_get_Properties(This,Properties) (This)->lpVtbl->get_Properties(This,Properties)
   23993 #define ISpeechPhraseInfo_get_Elements(This,Elements) (This)->lpVtbl->get_Elements(This,Elements)
   23994 #define ISpeechPhraseInfo_get_Replacements(This,Replacements) (This)->lpVtbl->get_Replacements(This,Replacements)
   23995 #define ISpeechPhraseInfo_get_EngineId(This,EngineIdGuid) (This)->lpVtbl->get_EngineId(This,EngineIdGuid)
   23996 #define ISpeechPhraseInfo_get_EnginePrivateData(This,PrivateData) (This)->lpVtbl->get_EnginePrivateData(This,PrivateData)
   23997 #define ISpeechPhraseInfo_SaveToMemory(This,PhraseBlock) (This)->lpVtbl->SaveToMemory(This,PhraseBlock)
   23998 #define ISpeechPhraseInfo_GetText(This,StartElement,Elements,UseReplacements,Text) (This)->lpVtbl->GetText(This,StartElement,Elements,UseReplacements,Text)
   23999 #define ISpeechPhraseInfo_GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes) (This)->lpVtbl->GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes)
   24000 #else
   24001 /*** IUnknown methods ***/
   24002 static FORCEINLINE HRESULT ISpeechPhraseInfo_QueryInterface(ISpeechPhraseInfo* This,REFIID riid,void **ppvObject) {
   24003     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   24004 }
   24005 static FORCEINLINE ULONG ISpeechPhraseInfo_AddRef(ISpeechPhraseInfo* This) {
   24006     return This->lpVtbl->AddRef(This);
   24007 }
   24008 static FORCEINLINE ULONG ISpeechPhraseInfo_Release(ISpeechPhraseInfo* This) {
   24009     return This->lpVtbl->Release(This);
   24010 }
   24011 /*** IDispatch methods ***/
   24012 static FORCEINLINE HRESULT ISpeechPhraseInfo_GetTypeInfoCount(ISpeechPhraseInfo* This,UINT *pctinfo) {
   24013     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   24014 }
   24015 static FORCEINLINE HRESULT ISpeechPhraseInfo_GetTypeInfo(ISpeechPhraseInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   24016     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   24017 }
   24018 static FORCEINLINE HRESULT ISpeechPhraseInfo_GetIDsOfNames(ISpeechPhraseInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   24019     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   24020 }
   24021 static FORCEINLINE HRESULT ISpeechPhraseInfo_Invoke(ISpeechPhraseInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   24022     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   24023 }
   24024 /*** ISpeechPhraseInfo methods ***/
   24025 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_LanguageId(ISpeechPhraseInfo* This,LONG *LanguageId) {
   24026     return This->lpVtbl->get_LanguageId(This,LanguageId);
   24027 }
   24028 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_GrammarId(ISpeechPhraseInfo* This,VARIANT *GrammarId) {
   24029     return This->lpVtbl->get_GrammarId(This,GrammarId);
   24030 }
   24031 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_StartTime(ISpeechPhraseInfo* This,VARIANT *StartTime) {
   24032     return This->lpVtbl->get_StartTime(This,StartTime);
   24033 }
   24034 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioStreamPosition(ISpeechPhraseInfo* This,VARIANT *AudioStreamPosition) {
   24035     return This->lpVtbl->get_AudioStreamPosition(This,AudioStreamPosition);
   24036 }
   24037 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioSizeBytes(ISpeechPhraseInfo* This,LONG *pAudioSizeBytes) {
   24038     return This->lpVtbl->get_AudioSizeBytes(This,pAudioSizeBytes);
   24039 }
   24040 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_RetainedSizeBytes(ISpeechPhraseInfo* This,LONG *RetainedSizeBytes) {
   24041     return This->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes);
   24042 }
   24043 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_AudioSizeTime(ISpeechPhraseInfo* This,LONG *AudioSizeTime) {
   24044     return This->lpVtbl->get_AudioSizeTime(This,AudioSizeTime);
   24045 }
   24046 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Rule(ISpeechPhraseInfo* This,ISpeechPhraseRule **Rule) {
   24047     return This->lpVtbl->get_Rule(This,Rule);
   24048 }
   24049 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Properties(ISpeechPhraseInfo* This,ISpeechPhraseProperties **Properties) {
   24050     return This->lpVtbl->get_Properties(This,Properties);
   24051 }
   24052 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Elements(ISpeechPhraseInfo* This,ISpeechPhraseElements **Elements) {
   24053     return This->lpVtbl->get_Elements(This,Elements);
   24054 }
   24055 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_Replacements(ISpeechPhraseInfo* This,ISpeechPhraseReplacements **Replacements) {
   24056     return This->lpVtbl->get_Replacements(This,Replacements);
   24057 }
   24058 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_EngineId(ISpeechPhraseInfo* This,BSTR *EngineIdGuid) {
   24059     return This->lpVtbl->get_EngineId(This,EngineIdGuid);
   24060 }
   24061 static FORCEINLINE HRESULT ISpeechPhraseInfo_get_EnginePrivateData(ISpeechPhraseInfo* This,VARIANT *PrivateData) {
   24062     return This->lpVtbl->get_EnginePrivateData(This,PrivateData);
   24063 }
   24064 static FORCEINLINE HRESULT ISpeechPhraseInfo_SaveToMemory(ISpeechPhraseInfo* This,VARIANT *PhraseBlock) {
   24065     return This->lpVtbl->SaveToMemory(This,PhraseBlock);
   24066 }
   24067 static FORCEINLINE HRESULT ISpeechPhraseInfo_GetText(ISpeechPhraseInfo* This,LONG StartElement,LONG Elements,VARIANT_BOOL UseReplacements,BSTR *Text) {
   24068     return This->lpVtbl->GetText(This,StartElement,Elements,UseReplacements,Text);
   24069 }
   24070 static FORCEINLINE HRESULT ISpeechPhraseInfo_GetDisplayAttributes(ISpeechPhraseInfo* This,LONG StartElement,LONG Elements,VARIANT_BOOL UseReplacements,SpeechDisplayAttributes *DisplayAttributes) {
   24071     return This->lpVtbl->GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes);
   24072 }
   24073 #endif
   24074 #endif
   24075 
   24076 #endif
   24077 
   24078 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_LanguageId_Proxy(
   24079     ISpeechPhraseInfo* This,
   24080     LONG *LanguageId);
   24081 void __RPC_STUB ISpeechPhraseInfo_get_LanguageId_Stub(
   24082     IRpcStubBuffer* This,
   24083     IRpcChannelBuffer* pRpcChannelBuffer,
   24084     PRPC_MESSAGE pRpcMessage,
   24085     DWORD* pdwStubPhase);
   24086 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_GrammarId_Proxy(
   24087     ISpeechPhraseInfo* This,
   24088     VARIANT *GrammarId);
   24089 void __RPC_STUB ISpeechPhraseInfo_get_GrammarId_Stub(
   24090     IRpcStubBuffer* This,
   24091     IRpcChannelBuffer* pRpcChannelBuffer,
   24092     PRPC_MESSAGE pRpcMessage,
   24093     DWORD* pdwStubPhase);
   24094 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_StartTime_Proxy(
   24095     ISpeechPhraseInfo* This,
   24096     VARIANT *StartTime);
   24097 void __RPC_STUB ISpeechPhraseInfo_get_StartTime_Stub(
   24098     IRpcStubBuffer* This,
   24099     IRpcChannelBuffer* pRpcChannelBuffer,
   24100     PRPC_MESSAGE pRpcMessage,
   24101     DWORD* pdwStubPhase);
   24102 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioStreamPosition_Proxy(
   24103     ISpeechPhraseInfo* This,
   24104     VARIANT *AudioStreamPosition);
   24105 void __RPC_STUB ISpeechPhraseInfo_get_AudioStreamPosition_Stub(
   24106     IRpcStubBuffer* This,
   24107     IRpcChannelBuffer* pRpcChannelBuffer,
   24108     PRPC_MESSAGE pRpcMessage,
   24109     DWORD* pdwStubPhase);
   24110 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioSizeBytes_Proxy(
   24111     ISpeechPhraseInfo* This,
   24112     LONG *pAudioSizeBytes);
   24113 void __RPC_STUB ISpeechPhraseInfo_get_AudioSizeBytes_Stub(
   24114     IRpcStubBuffer* This,
   24115     IRpcChannelBuffer* pRpcChannelBuffer,
   24116     PRPC_MESSAGE pRpcMessage,
   24117     DWORD* pdwStubPhase);
   24118 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_RetainedSizeBytes_Proxy(
   24119     ISpeechPhraseInfo* This,
   24120     LONG *RetainedSizeBytes);
   24121 void __RPC_STUB ISpeechPhraseInfo_get_RetainedSizeBytes_Stub(
   24122     IRpcStubBuffer* This,
   24123     IRpcChannelBuffer* pRpcChannelBuffer,
   24124     PRPC_MESSAGE pRpcMessage,
   24125     DWORD* pdwStubPhase);
   24126 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioSizeTime_Proxy(
   24127     ISpeechPhraseInfo* This,
   24128     LONG *AudioSizeTime);
   24129 void __RPC_STUB ISpeechPhraseInfo_get_AudioSizeTime_Stub(
   24130     IRpcStubBuffer* This,
   24131     IRpcChannelBuffer* pRpcChannelBuffer,
   24132     PRPC_MESSAGE pRpcMessage,
   24133     DWORD* pdwStubPhase);
   24134 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Rule_Proxy(
   24135     ISpeechPhraseInfo* This,
   24136     ISpeechPhraseRule **Rule);
   24137 void __RPC_STUB ISpeechPhraseInfo_get_Rule_Stub(
   24138     IRpcStubBuffer* This,
   24139     IRpcChannelBuffer* pRpcChannelBuffer,
   24140     PRPC_MESSAGE pRpcMessage,
   24141     DWORD* pdwStubPhase);
   24142 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Properties_Proxy(
   24143     ISpeechPhraseInfo* This,
   24144     ISpeechPhraseProperties **Properties);
   24145 void __RPC_STUB ISpeechPhraseInfo_get_Properties_Stub(
   24146     IRpcStubBuffer* This,
   24147     IRpcChannelBuffer* pRpcChannelBuffer,
   24148     PRPC_MESSAGE pRpcMessage,
   24149     DWORD* pdwStubPhase);
   24150 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Elements_Proxy(
   24151     ISpeechPhraseInfo* This,
   24152     ISpeechPhraseElements **Elements);
   24153 void __RPC_STUB ISpeechPhraseInfo_get_Elements_Stub(
   24154     IRpcStubBuffer* This,
   24155     IRpcChannelBuffer* pRpcChannelBuffer,
   24156     PRPC_MESSAGE pRpcMessage,
   24157     DWORD* pdwStubPhase);
   24158 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Replacements_Proxy(
   24159     ISpeechPhraseInfo* This,
   24160     ISpeechPhraseReplacements **Replacements);
   24161 void __RPC_STUB ISpeechPhraseInfo_get_Replacements_Stub(
   24162     IRpcStubBuffer* This,
   24163     IRpcChannelBuffer* pRpcChannelBuffer,
   24164     PRPC_MESSAGE pRpcMessage,
   24165     DWORD* pdwStubPhase);
   24166 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_EngineId_Proxy(
   24167     ISpeechPhraseInfo* This,
   24168     BSTR *EngineIdGuid);
   24169 void __RPC_STUB ISpeechPhraseInfo_get_EngineId_Stub(
   24170     IRpcStubBuffer* This,
   24171     IRpcChannelBuffer* pRpcChannelBuffer,
   24172     PRPC_MESSAGE pRpcMessage,
   24173     DWORD* pdwStubPhase);
   24174 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_EnginePrivateData_Proxy(
   24175     ISpeechPhraseInfo* This,
   24176     VARIANT *PrivateData);
   24177 void __RPC_STUB ISpeechPhraseInfo_get_EnginePrivateData_Stub(
   24178     IRpcStubBuffer* This,
   24179     IRpcChannelBuffer* pRpcChannelBuffer,
   24180     PRPC_MESSAGE pRpcMessage,
   24181     DWORD* pdwStubPhase);
   24182 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_SaveToMemory_Proxy(
   24183     ISpeechPhraseInfo* This,
   24184     VARIANT *PhraseBlock);
   24185 void __RPC_STUB ISpeechPhraseInfo_SaveToMemory_Stub(
   24186     IRpcStubBuffer* This,
   24187     IRpcChannelBuffer* pRpcChannelBuffer,
   24188     PRPC_MESSAGE pRpcMessage,
   24189     DWORD* pdwStubPhase);
   24190 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_GetText_Proxy(
   24191     ISpeechPhraseInfo* This,
   24192     LONG StartElement,
   24193     LONG Elements,
   24194     VARIANT_BOOL UseReplacements,
   24195     BSTR *Text);
   24196 void __RPC_STUB ISpeechPhraseInfo_GetText_Stub(
   24197     IRpcStubBuffer* This,
   24198     IRpcChannelBuffer* pRpcChannelBuffer,
   24199     PRPC_MESSAGE pRpcMessage,
   24200     DWORD* pdwStubPhase);
   24201 HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_GetDisplayAttributes_Proxy(
   24202     ISpeechPhraseInfo* This,
   24203     LONG StartElement,
   24204     LONG Elements,
   24205     VARIANT_BOOL UseReplacements,
   24206     SpeechDisplayAttributes *DisplayAttributes);
   24207 void __RPC_STUB ISpeechPhraseInfo_GetDisplayAttributes_Stub(
   24208     IRpcStubBuffer* This,
   24209     IRpcChannelBuffer* pRpcChannelBuffer,
   24210     PRPC_MESSAGE pRpcMessage,
   24211     DWORD* pdwStubPhase);
   24212 
   24213 #endif  /* __ISpeechPhraseInfo_INTERFACE_DEFINED__ */
   24214 
   24215 /*****************************************************************************
   24216  * ISpeechPhraseElement interface
   24217  */
   24218 #ifndef __ISpeechPhraseElement_INTERFACE_DEFINED__
   24219 #define __ISpeechPhraseElement_INTERFACE_DEFINED__
   24220 
   24221 DEFINE_GUID(IID_ISpeechPhraseElement, 0xe6176f96, 0xe373, 0x4801, 0xb2,0x23, 0x3b,0x62,0xc0,0x68,0xc0,0xb4);
   24222 #if defined(__cplusplus) && !defined(CINTERFACE)
   24223 MIDL_INTERFACE("e6176f96-e373-4801-b223-3b62c068c0b4")
   24224 ISpeechPhraseElement : public IDispatch
   24225 {
   24226     virtual HRESULT STDMETHODCALLTYPE get_AudioTimeOffset(
   24227         LONG *AudioTimeOffset) = 0;
   24228 
   24229     virtual HRESULT STDMETHODCALLTYPE get_AudioSizeTime(
   24230         LONG *AudioSizeTime) = 0;
   24231 
   24232     virtual HRESULT STDMETHODCALLTYPE get_AudioStreamOffset(
   24233         LONG *AudioStreamOffset) = 0;
   24234 
   24235     virtual HRESULT STDMETHODCALLTYPE get_AudioSizeBytes(
   24236         LONG *AudioSizeBytes) = 0;
   24237 
   24238     virtual HRESULT STDMETHODCALLTYPE get_RetainedStreamOffset(
   24239         LONG *RetainedStreamOffset) = 0;
   24240 
   24241     virtual HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes(
   24242         LONG *RetainedSizeBytes) = 0;
   24243 
   24244     virtual HRESULT STDMETHODCALLTYPE get_DisplayText(
   24245         BSTR *DisplayText) = 0;
   24246 
   24247     virtual HRESULT STDMETHODCALLTYPE get_LexicalForm(
   24248         BSTR *LexicalForm) = 0;
   24249 
   24250     virtual HRESULT STDMETHODCALLTYPE get_Pronunciation(
   24251         VARIANT *Pronunciation) = 0;
   24252 
   24253     virtual HRESULT STDMETHODCALLTYPE get_DisplayAttributes(
   24254         SpeechDisplayAttributes *DisplayAttributes) = 0;
   24255 
   24256     virtual HRESULT STDMETHODCALLTYPE get_RequiredConfidence(
   24257         SpeechEngineConfidence *RequiredConfidence) = 0;
   24258 
   24259     virtual HRESULT STDMETHODCALLTYPE get_ActualConfidence(
   24260         SpeechEngineConfidence *ActualConfidence) = 0;
   24261 
   24262     virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
   24263         float *EngineConfidence) = 0;
   24264 
   24265 };
   24266 #ifdef __CRT_UUID_DECL
   24267 __CRT_UUID_DECL(ISpeechPhraseElement, 0xe6176f96, 0xe373, 0x4801, 0xb2,0x23, 0x3b,0x62,0xc0,0x68,0xc0,0xb4)
   24268 #endif
   24269 #else
   24270 typedef struct ISpeechPhraseElementVtbl {
   24271     BEGIN_INTERFACE
   24272 
   24273     /*** IUnknown methods ***/
   24274     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   24275         ISpeechPhraseElement* This,
   24276         REFIID riid,
   24277         void **ppvObject);
   24278 
   24279     ULONG (STDMETHODCALLTYPE *AddRef)(
   24280         ISpeechPhraseElement* This);
   24281 
   24282     ULONG (STDMETHODCALLTYPE *Release)(
   24283         ISpeechPhraseElement* This);
   24284 
   24285     /*** IDispatch methods ***/
   24286     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   24287         ISpeechPhraseElement* This,
   24288         UINT *pctinfo);
   24289 
   24290     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   24291         ISpeechPhraseElement* This,
   24292         UINT iTInfo,
   24293         LCID lcid,
   24294         ITypeInfo **ppTInfo);
   24295 
   24296     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   24297         ISpeechPhraseElement* This,
   24298         REFIID riid,
   24299         LPOLESTR *rgszNames,
   24300         UINT cNames,
   24301         LCID lcid,
   24302         DISPID *rgDispId);
   24303 
   24304     HRESULT (STDMETHODCALLTYPE *Invoke)(
   24305         ISpeechPhraseElement* This,
   24306         DISPID dispIdMember,
   24307         REFIID riid,
   24308         LCID lcid,
   24309         WORD wFlags,
   24310         DISPPARAMS *pDispParams,
   24311         VARIANT *pVarResult,
   24312         EXCEPINFO *pExcepInfo,
   24313         UINT *puArgErr);
   24314 
   24315     /*** ISpeechPhraseElement methods ***/
   24316     HRESULT (STDMETHODCALLTYPE *get_AudioTimeOffset)(
   24317         ISpeechPhraseElement* This,
   24318         LONG *AudioTimeOffset);
   24319 
   24320     HRESULT (STDMETHODCALLTYPE *get_AudioSizeTime)(
   24321         ISpeechPhraseElement* This,
   24322         LONG *AudioSizeTime);
   24323 
   24324     HRESULT (STDMETHODCALLTYPE *get_AudioStreamOffset)(
   24325         ISpeechPhraseElement* This,
   24326         LONG *AudioStreamOffset);
   24327 
   24328     HRESULT (STDMETHODCALLTYPE *get_AudioSizeBytes)(
   24329         ISpeechPhraseElement* This,
   24330         LONG *AudioSizeBytes);
   24331 
   24332     HRESULT (STDMETHODCALLTYPE *get_RetainedStreamOffset)(
   24333         ISpeechPhraseElement* This,
   24334         LONG *RetainedStreamOffset);
   24335 
   24336     HRESULT (STDMETHODCALLTYPE *get_RetainedSizeBytes)(
   24337         ISpeechPhraseElement* This,
   24338         LONG *RetainedSizeBytes);
   24339 
   24340     HRESULT (STDMETHODCALLTYPE *get_DisplayText)(
   24341         ISpeechPhraseElement* This,
   24342         BSTR *DisplayText);
   24343 
   24344     HRESULT (STDMETHODCALLTYPE *get_LexicalForm)(
   24345         ISpeechPhraseElement* This,
   24346         BSTR *LexicalForm);
   24347 
   24348     HRESULT (STDMETHODCALLTYPE *get_Pronunciation)(
   24349         ISpeechPhraseElement* This,
   24350         VARIANT *Pronunciation);
   24351 
   24352     HRESULT (STDMETHODCALLTYPE *get_DisplayAttributes)(
   24353         ISpeechPhraseElement* This,
   24354         SpeechDisplayAttributes *DisplayAttributes);
   24355 
   24356     HRESULT (STDMETHODCALLTYPE *get_RequiredConfidence)(
   24357         ISpeechPhraseElement* This,
   24358         SpeechEngineConfidence *RequiredConfidence);
   24359 
   24360     HRESULT (STDMETHODCALLTYPE *get_ActualConfidence)(
   24361         ISpeechPhraseElement* This,
   24362         SpeechEngineConfidence *ActualConfidence);
   24363 
   24364     HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
   24365         ISpeechPhraseElement* This,
   24366         float *EngineConfidence);
   24367 
   24368     END_INTERFACE
   24369 } ISpeechPhraseElementVtbl;
   24370 interface ISpeechPhraseElement {
   24371     CONST_VTBL ISpeechPhraseElementVtbl* lpVtbl;
   24372 };
   24373 
   24374 #ifdef COBJMACROS
   24375 #ifndef WIDL_C_INLINE_WRAPPERS
   24376 /*** IUnknown methods ***/
   24377 #define ISpeechPhraseElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   24378 #define ISpeechPhraseElement_AddRef(This) (This)->lpVtbl->AddRef(This)
   24379 #define ISpeechPhraseElement_Release(This) (This)->lpVtbl->Release(This)
   24380 /*** IDispatch methods ***/
   24381 #define ISpeechPhraseElement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   24382 #define ISpeechPhraseElement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   24383 #define ISpeechPhraseElement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   24384 #define ISpeechPhraseElement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   24385 /*** ISpeechPhraseElement methods ***/
   24386 #define ISpeechPhraseElement_get_AudioTimeOffset(This,AudioTimeOffset) (This)->lpVtbl->get_AudioTimeOffset(This,AudioTimeOffset)
   24387 #define ISpeechPhraseElement_get_AudioSizeTime(This,AudioSizeTime) (This)->lpVtbl->get_AudioSizeTime(This,AudioSizeTime)
   24388 #define ISpeechPhraseElement_get_AudioStreamOffset(This,AudioStreamOffset) (This)->lpVtbl->get_AudioStreamOffset(This,AudioStreamOffset)
   24389 #define ISpeechPhraseElement_get_AudioSizeBytes(This,AudioSizeBytes) (This)->lpVtbl->get_AudioSizeBytes(This,AudioSizeBytes)
   24390 #define ISpeechPhraseElement_get_RetainedStreamOffset(This,RetainedStreamOffset) (This)->lpVtbl->get_RetainedStreamOffset(This,RetainedStreamOffset)
   24391 #define ISpeechPhraseElement_get_RetainedSizeBytes(This,RetainedSizeBytes) (This)->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes)
   24392 #define ISpeechPhraseElement_get_DisplayText(This,DisplayText) (This)->lpVtbl->get_DisplayText(This,DisplayText)
   24393 #define ISpeechPhraseElement_get_LexicalForm(This,LexicalForm) (This)->lpVtbl->get_LexicalForm(This,LexicalForm)
   24394 #define ISpeechPhraseElement_get_Pronunciation(This,Pronunciation) (This)->lpVtbl->get_Pronunciation(This,Pronunciation)
   24395 #define ISpeechPhraseElement_get_DisplayAttributes(This,DisplayAttributes) (This)->lpVtbl->get_DisplayAttributes(This,DisplayAttributes)
   24396 #define ISpeechPhraseElement_get_RequiredConfidence(This,RequiredConfidence) (This)->lpVtbl->get_RequiredConfidence(This,RequiredConfidence)
   24397 #define ISpeechPhraseElement_get_ActualConfidence(This,ActualConfidence) (This)->lpVtbl->get_ActualConfidence(This,ActualConfidence)
   24398 #define ISpeechPhraseElement_get_EngineConfidence(This,EngineConfidence) (This)->lpVtbl->get_EngineConfidence(This,EngineConfidence)
   24399 #else
   24400 /*** IUnknown methods ***/
   24401 static FORCEINLINE HRESULT ISpeechPhraseElement_QueryInterface(ISpeechPhraseElement* This,REFIID riid,void **ppvObject) {
   24402     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   24403 }
   24404 static FORCEINLINE ULONG ISpeechPhraseElement_AddRef(ISpeechPhraseElement* This) {
   24405     return This->lpVtbl->AddRef(This);
   24406 }
   24407 static FORCEINLINE ULONG ISpeechPhraseElement_Release(ISpeechPhraseElement* This) {
   24408     return This->lpVtbl->Release(This);
   24409 }
   24410 /*** IDispatch methods ***/
   24411 static FORCEINLINE HRESULT ISpeechPhraseElement_GetTypeInfoCount(ISpeechPhraseElement* This,UINT *pctinfo) {
   24412     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   24413 }
   24414 static FORCEINLINE HRESULT ISpeechPhraseElement_GetTypeInfo(ISpeechPhraseElement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   24415     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   24416 }
   24417 static FORCEINLINE HRESULT ISpeechPhraseElement_GetIDsOfNames(ISpeechPhraseElement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   24418     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   24419 }
   24420 static FORCEINLINE HRESULT ISpeechPhraseElement_Invoke(ISpeechPhraseElement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   24421     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   24422 }
   24423 /*** ISpeechPhraseElement methods ***/
   24424 static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioTimeOffset(ISpeechPhraseElement* This,LONG *AudioTimeOffset) {
   24425     return This->lpVtbl->get_AudioTimeOffset(This,AudioTimeOffset);
   24426 }
   24427 static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioSizeTime(ISpeechPhraseElement* This,LONG *AudioSizeTime) {
   24428     return This->lpVtbl->get_AudioSizeTime(This,AudioSizeTime);
   24429 }
   24430 static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioStreamOffset(ISpeechPhraseElement* This,LONG *AudioStreamOffset) {
   24431     return This->lpVtbl->get_AudioStreamOffset(This,AudioStreamOffset);
   24432 }
   24433 static FORCEINLINE HRESULT ISpeechPhraseElement_get_AudioSizeBytes(ISpeechPhraseElement* This,LONG *AudioSizeBytes) {
   24434     return This->lpVtbl->get_AudioSizeBytes(This,AudioSizeBytes);
   24435 }
   24436 static FORCEINLINE HRESULT ISpeechPhraseElement_get_RetainedStreamOffset(ISpeechPhraseElement* This,LONG *RetainedStreamOffset) {
   24437     return This->lpVtbl->get_RetainedStreamOffset(This,RetainedStreamOffset);
   24438 }
   24439 static FORCEINLINE HRESULT ISpeechPhraseElement_get_RetainedSizeBytes(ISpeechPhraseElement* This,LONG *RetainedSizeBytes) {
   24440     return This->lpVtbl->get_RetainedSizeBytes(This,RetainedSizeBytes);
   24441 }
   24442 static FORCEINLINE HRESULT ISpeechPhraseElement_get_DisplayText(ISpeechPhraseElement* This,BSTR *DisplayText) {
   24443     return This->lpVtbl->get_DisplayText(This,DisplayText);
   24444 }
   24445 static FORCEINLINE HRESULT ISpeechPhraseElement_get_LexicalForm(ISpeechPhraseElement* This,BSTR *LexicalForm) {
   24446     return This->lpVtbl->get_LexicalForm(This,LexicalForm);
   24447 }
   24448 static FORCEINLINE HRESULT ISpeechPhraseElement_get_Pronunciation(ISpeechPhraseElement* This,VARIANT *Pronunciation) {
   24449     return This->lpVtbl->get_Pronunciation(This,Pronunciation);
   24450 }
   24451 static FORCEINLINE HRESULT ISpeechPhraseElement_get_DisplayAttributes(ISpeechPhraseElement* This,SpeechDisplayAttributes *DisplayAttributes) {
   24452     return This->lpVtbl->get_DisplayAttributes(This,DisplayAttributes);
   24453 }
   24454 static FORCEINLINE HRESULT ISpeechPhraseElement_get_RequiredConfidence(ISpeechPhraseElement* This,SpeechEngineConfidence *RequiredConfidence) {
   24455     return This->lpVtbl->get_RequiredConfidence(This,RequiredConfidence);
   24456 }
   24457 static FORCEINLINE HRESULT ISpeechPhraseElement_get_ActualConfidence(ISpeechPhraseElement* This,SpeechEngineConfidence *ActualConfidence) {
   24458     return This->lpVtbl->get_ActualConfidence(This,ActualConfidence);
   24459 }
   24460 static FORCEINLINE HRESULT ISpeechPhraseElement_get_EngineConfidence(ISpeechPhraseElement* This,float *EngineConfidence) {
   24461     return This->lpVtbl->get_EngineConfidence(This,EngineConfidence);
   24462 }
   24463 #endif
   24464 #endif
   24465 
   24466 #endif
   24467 
   24468 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioTimeOffset_Proxy(
   24469     ISpeechPhraseElement* This,
   24470     LONG *AudioTimeOffset);
   24471 void __RPC_STUB ISpeechPhraseElement_get_AudioTimeOffset_Stub(
   24472     IRpcStubBuffer* This,
   24473     IRpcChannelBuffer* pRpcChannelBuffer,
   24474     PRPC_MESSAGE pRpcMessage,
   24475     DWORD* pdwStubPhase);
   24476 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioSizeTime_Proxy(
   24477     ISpeechPhraseElement* This,
   24478     LONG *AudioSizeTime);
   24479 void __RPC_STUB ISpeechPhraseElement_get_AudioSizeTime_Stub(
   24480     IRpcStubBuffer* This,
   24481     IRpcChannelBuffer* pRpcChannelBuffer,
   24482     PRPC_MESSAGE pRpcMessage,
   24483     DWORD* pdwStubPhase);
   24484 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioStreamOffset_Proxy(
   24485     ISpeechPhraseElement* This,
   24486     LONG *AudioStreamOffset);
   24487 void __RPC_STUB ISpeechPhraseElement_get_AudioStreamOffset_Stub(
   24488     IRpcStubBuffer* This,
   24489     IRpcChannelBuffer* pRpcChannelBuffer,
   24490     PRPC_MESSAGE pRpcMessage,
   24491     DWORD* pdwStubPhase);
   24492 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_AudioSizeBytes_Proxy(
   24493     ISpeechPhraseElement* This,
   24494     LONG *AudioSizeBytes);
   24495 void __RPC_STUB ISpeechPhraseElement_get_AudioSizeBytes_Stub(
   24496     IRpcStubBuffer* This,
   24497     IRpcChannelBuffer* pRpcChannelBuffer,
   24498     PRPC_MESSAGE pRpcMessage,
   24499     DWORD* pdwStubPhase);
   24500 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RetainedStreamOffset_Proxy(
   24501     ISpeechPhraseElement* This,
   24502     LONG *RetainedStreamOffset);
   24503 void __RPC_STUB ISpeechPhraseElement_get_RetainedStreamOffset_Stub(
   24504     IRpcStubBuffer* This,
   24505     IRpcChannelBuffer* pRpcChannelBuffer,
   24506     PRPC_MESSAGE pRpcMessage,
   24507     DWORD* pdwStubPhase);
   24508 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RetainedSizeBytes_Proxy(
   24509     ISpeechPhraseElement* This,
   24510     LONG *RetainedSizeBytes);
   24511 void __RPC_STUB ISpeechPhraseElement_get_RetainedSizeBytes_Stub(
   24512     IRpcStubBuffer* This,
   24513     IRpcChannelBuffer* pRpcChannelBuffer,
   24514     PRPC_MESSAGE pRpcMessage,
   24515     DWORD* pdwStubPhase);
   24516 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_DisplayText_Proxy(
   24517     ISpeechPhraseElement* This,
   24518     BSTR *DisplayText);
   24519 void __RPC_STUB ISpeechPhraseElement_get_DisplayText_Stub(
   24520     IRpcStubBuffer* This,
   24521     IRpcChannelBuffer* pRpcChannelBuffer,
   24522     PRPC_MESSAGE pRpcMessage,
   24523     DWORD* pdwStubPhase);
   24524 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_LexicalForm_Proxy(
   24525     ISpeechPhraseElement* This,
   24526     BSTR *LexicalForm);
   24527 void __RPC_STUB ISpeechPhraseElement_get_LexicalForm_Stub(
   24528     IRpcStubBuffer* This,
   24529     IRpcChannelBuffer* pRpcChannelBuffer,
   24530     PRPC_MESSAGE pRpcMessage,
   24531     DWORD* pdwStubPhase);
   24532 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_Pronunciation_Proxy(
   24533     ISpeechPhraseElement* This,
   24534     VARIANT *Pronunciation);
   24535 void __RPC_STUB ISpeechPhraseElement_get_Pronunciation_Stub(
   24536     IRpcStubBuffer* This,
   24537     IRpcChannelBuffer* pRpcChannelBuffer,
   24538     PRPC_MESSAGE pRpcMessage,
   24539     DWORD* pdwStubPhase);
   24540 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_DisplayAttributes_Proxy(
   24541     ISpeechPhraseElement* This,
   24542     SpeechDisplayAttributes *DisplayAttributes);
   24543 void __RPC_STUB ISpeechPhraseElement_get_DisplayAttributes_Stub(
   24544     IRpcStubBuffer* This,
   24545     IRpcChannelBuffer* pRpcChannelBuffer,
   24546     PRPC_MESSAGE pRpcMessage,
   24547     DWORD* pdwStubPhase);
   24548 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_RequiredConfidence_Proxy(
   24549     ISpeechPhraseElement* This,
   24550     SpeechEngineConfidence *RequiredConfidence);
   24551 void __RPC_STUB ISpeechPhraseElement_get_RequiredConfidence_Stub(
   24552     IRpcStubBuffer* This,
   24553     IRpcChannelBuffer* pRpcChannelBuffer,
   24554     PRPC_MESSAGE pRpcMessage,
   24555     DWORD* pdwStubPhase);
   24556 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_ActualConfidence_Proxy(
   24557     ISpeechPhraseElement* This,
   24558     SpeechEngineConfidence *ActualConfidence);
   24559 void __RPC_STUB ISpeechPhraseElement_get_ActualConfidence_Stub(
   24560     IRpcStubBuffer* This,
   24561     IRpcChannelBuffer* pRpcChannelBuffer,
   24562     PRPC_MESSAGE pRpcMessage,
   24563     DWORD* pdwStubPhase);
   24564 HRESULT STDMETHODCALLTYPE ISpeechPhraseElement_get_EngineConfidence_Proxy(
   24565     ISpeechPhraseElement* This,
   24566     float *EngineConfidence);
   24567 void __RPC_STUB ISpeechPhraseElement_get_EngineConfidence_Stub(
   24568     IRpcStubBuffer* This,
   24569     IRpcChannelBuffer* pRpcChannelBuffer,
   24570     PRPC_MESSAGE pRpcMessage,
   24571     DWORD* pdwStubPhase);
   24572 
   24573 #endif  /* __ISpeechPhraseElement_INTERFACE_DEFINED__ */
   24574 
   24575 /*****************************************************************************
   24576  * ISpeechPhraseElements interface
   24577  */
   24578 #ifndef __ISpeechPhraseElements_INTERFACE_DEFINED__
   24579 #define __ISpeechPhraseElements_INTERFACE_DEFINED__
   24580 
   24581 DEFINE_GUID(IID_ISpeechPhraseElements, 0x0626b328, 0x3478, 0x467d, 0xa0,0xb3, 0xd0,0x85,0x3b,0x93,0xdd,0xa3);
   24582 #if defined(__cplusplus) && !defined(CINTERFACE)
   24583 MIDL_INTERFACE("0626b328-3478-467d-a0b3-d0853b93dda3")
   24584 ISpeechPhraseElements : public IDispatch
   24585 {
   24586     virtual HRESULT STDMETHODCALLTYPE get_Count(
   24587         LONG *Count) = 0;
   24588 
   24589     virtual HRESULT STDMETHODCALLTYPE Item(
   24590         LONG Index,
   24591         ISpeechPhraseElement **Element) = 0;
   24592 
   24593     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   24594         IUnknown **EnumVARIANT) = 0;
   24595 
   24596 };
   24597 #ifdef __CRT_UUID_DECL
   24598 __CRT_UUID_DECL(ISpeechPhraseElements, 0x0626b328, 0x3478, 0x467d, 0xa0,0xb3, 0xd0,0x85,0x3b,0x93,0xdd,0xa3)
   24599 #endif
   24600 #else
   24601 typedef struct ISpeechPhraseElementsVtbl {
   24602     BEGIN_INTERFACE
   24603 
   24604     /*** IUnknown methods ***/
   24605     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   24606         ISpeechPhraseElements* This,
   24607         REFIID riid,
   24608         void **ppvObject);
   24609 
   24610     ULONG (STDMETHODCALLTYPE *AddRef)(
   24611         ISpeechPhraseElements* This);
   24612 
   24613     ULONG (STDMETHODCALLTYPE *Release)(
   24614         ISpeechPhraseElements* This);
   24615 
   24616     /*** IDispatch methods ***/
   24617     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   24618         ISpeechPhraseElements* This,
   24619         UINT *pctinfo);
   24620 
   24621     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   24622         ISpeechPhraseElements* This,
   24623         UINT iTInfo,
   24624         LCID lcid,
   24625         ITypeInfo **ppTInfo);
   24626 
   24627     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   24628         ISpeechPhraseElements* This,
   24629         REFIID riid,
   24630         LPOLESTR *rgszNames,
   24631         UINT cNames,
   24632         LCID lcid,
   24633         DISPID *rgDispId);
   24634 
   24635     HRESULT (STDMETHODCALLTYPE *Invoke)(
   24636         ISpeechPhraseElements* This,
   24637         DISPID dispIdMember,
   24638         REFIID riid,
   24639         LCID lcid,
   24640         WORD wFlags,
   24641         DISPPARAMS *pDispParams,
   24642         VARIANT *pVarResult,
   24643         EXCEPINFO *pExcepInfo,
   24644         UINT *puArgErr);
   24645 
   24646     /*** ISpeechPhraseElements methods ***/
   24647     HRESULT (STDMETHODCALLTYPE *get_Count)(
   24648         ISpeechPhraseElements* This,
   24649         LONG *Count);
   24650 
   24651     HRESULT (STDMETHODCALLTYPE *Item)(
   24652         ISpeechPhraseElements* This,
   24653         LONG Index,
   24654         ISpeechPhraseElement **Element);
   24655 
   24656     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   24657         ISpeechPhraseElements* This,
   24658         IUnknown **EnumVARIANT);
   24659 
   24660     END_INTERFACE
   24661 } ISpeechPhraseElementsVtbl;
   24662 interface ISpeechPhraseElements {
   24663     CONST_VTBL ISpeechPhraseElementsVtbl* lpVtbl;
   24664 };
   24665 
   24666 #ifdef COBJMACROS
   24667 #ifndef WIDL_C_INLINE_WRAPPERS
   24668 /*** IUnknown methods ***/
   24669 #define ISpeechPhraseElements_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   24670 #define ISpeechPhraseElements_AddRef(This) (This)->lpVtbl->AddRef(This)
   24671 #define ISpeechPhraseElements_Release(This) (This)->lpVtbl->Release(This)
   24672 /*** IDispatch methods ***/
   24673 #define ISpeechPhraseElements_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   24674 #define ISpeechPhraseElements_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   24675 #define ISpeechPhraseElements_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   24676 #define ISpeechPhraseElements_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   24677 /*** ISpeechPhraseElements methods ***/
   24678 #define ISpeechPhraseElements_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   24679 #define ISpeechPhraseElements_Item(This,Index,Element) (This)->lpVtbl->Item(This,Index,Element)
   24680 #define ISpeechPhraseElements_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   24681 #else
   24682 /*** IUnknown methods ***/
   24683 static FORCEINLINE HRESULT ISpeechPhraseElements_QueryInterface(ISpeechPhraseElements* This,REFIID riid,void **ppvObject) {
   24684     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   24685 }
   24686 static FORCEINLINE ULONG ISpeechPhraseElements_AddRef(ISpeechPhraseElements* This) {
   24687     return This->lpVtbl->AddRef(This);
   24688 }
   24689 static FORCEINLINE ULONG ISpeechPhraseElements_Release(ISpeechPhraseElements* This) {
   24690     return This->lpVtbl->Release(This);
   24691 }
   24692 /*** IDispatch methods ***/
   24693 static FORCEINLINE HRESULT ISpeechPhraseElements_GetTypeInfoCount(ISpeechPhraseElements* This,UINT *pctinfo) {
   24694     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   24695 }
   24696 static FORCEINLINE HRESULT ISpeechPhraseElements_GetTypeInfo(ISpeechPhraseElements* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   24697     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   24698 }
   24699 static FORCEINLINE HRESULT ISpeechPhraseElements_GetIDsOfNames(ISpeechPhraseElements* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   24700     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   24701 }
   24702 static FORCEINLINE HRESULT ISpeechPhraseElements_Invoke(ISpeechPhraseElements* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   24703     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   24704 }
   24705 /*** ISpeechPhraseElements methods ***/
   24706 static FORCEINLINE HRESULT ISpeechPhraseElements_get_Count(ISpeechPhraseElements* This,LONG *Count) {
   24707     return This->lpVtbl->get_Count(This,Count);
   24708 }
   24709 static FORCEINLINE HRESULT ISpeechPhraseElements_Item(ISpeechPhraseElements* This,LONG Index,ISpeechPhraseElement **Element) {
   24710     return This->lpVtbl->Item(This,Index,Element);
   24711 }
   24712 static FORCEINLINE HRESULT ISpeechPhraseElements_get__NewEnum(ISpeechPhraseElements* This,IUnknown **EnumVARIANT) {
   24713     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   24714 }
   24715 #endif
   24716 #endif
   24717 
   24718 #endif
   24719 
   24720 HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_get_Count_Proxy(
   24721     ISpeechPhraseElements* This,
   24722     LONG *Count);
   24723 void __RPC_STUB ISpeechPhraseElements_get_Count_Stub(
   24724     IRpcStubBuffer* This,
   24725     IRpcChannelBuffer* pRpcChannelBuffer,
   24726     PRPC_MESSAGE pRpcMessage,
   24727     DWORD* pdwStubPhase);
   24728 HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_Item_Proxy(
   24729     ISpeechPhraseElements* This,
   24730     LONG Index,
   24731     ISpeechPhraseElement **Element);
   24732 void __RPC_STUB ISpeechPhraseElements_Item_Stub(
   24733     IRpcStubBuffer* This,
   24734     IRpcChannelBuffer* pRpcChannelBuffer,
   24735     PRPC_MESSAGE pRpcMessage,
   24736     DWORD* pdwStubPhase);
   24737 HRESULT STDMETHODCALLTYPE ISpeechPhraseElements_get__NewEnum_Proxy(
   24738     ISpeechPhraseElements* This,
   24739     IUnknown **EnumVARIANT);
   24740 void __RPC_STUB ISpeechPhraseElements_get__NewEnum_Stub(
   24741     IRpcStubBuffer* This,
   24742     IRpcChannelBuffer* pRpcChannelBuffer,
   24743     PRPC_MESSAGE pRpcMessage,
   24744     DWORD* pdwStubPhase);
   24745 
   24746 #endif  /* __ISpeechPhraseElements_INTERFACE_DEFINED__ */
   24747 
   24748 /*****************************************************************************
   24749  * ISpeechPhraseReplacement interface
   24750  */
   24751 #ifndef __ISpeechPhraseReplacement_INTERFACE_DEFINED__
   24752 #define __ISpeechPhraseReplacement_INTERFACE_DEFINED__
   24753 
   24754 DEFINE_GUID(IID_ISpeechPhraseReplacement, 0x2890a410, 0x53a7, 0x4fb5, 0x94,0xec, 0x06,0xd4,0x99,0x8e,0x3d,0x02);
   24755 #if defined(__cplusplus) && !defined(CINTERFACE)
   24756 MIDL_INTERFACE("2890a410-53a7-4fb5-94ec-06d4998e3d02")
   24757 ISpeechPhraseReplacement : public IDispatch
   24758 {
   24759     virtual HRESULT STDMETHODCALLTYPE get_DisplayAttributes(
   24760         SpeechDisplayAttributes *DisplayAttributes) = 0;
   24761 
   24762     virtual HRESULT STDMETHODCALLTYPE get_Text(
   24763         BSTR *Text) = 0;
   24764 
   24765     virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
   24766         LONG *FirstElement) = 0;
   24767 
   24768     virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
   24769         LONG *NumberOfElements) = 0;
   24770 
   24771 };
   24772 #ifdef __CRT_UUID_DECL
   24773 __CRT_UUID_DECL(ISpeechPhraseReplacement, 0x2890a410, 0x53a7, 0x4fb5, 0x94,0xec, 0x06,0xd4,0x99,0x8e,0x3d,0x02)
   24774 #endif
   24775 #else
   24776 typedef struct ISpeechPhraseReplacementVtbl {
   24777     BEGIN_INTERFACE
   24778 
   24779     /*** IUnknown methods ***/
   24780     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   24781         ISpeechPhraseReplacement* This,
   24782         REFIID riid,
   24783         void **ppvObject);
   24784 
   24785     ULONG (STDMETHODCALLTYPE *AddRef)(
   24786         ISpeechPhraseReplacement* This);
   24787 
   24788     ULONG (STDMETHODCALLTYPE *Release)(
   24789         ISpeechPhraseReplacement* This);
   24790 
   24791     /*** IDispatch methods ***/
   24792     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   24793         ISpeechPhraseReplacement* This,
   24794         UINT *pctinfo);
   24795 
   24796     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   24797         ISpeechPhraseReplacement* This,
   24798         UINT iTInfo,
   24799         LCID lcid,
   24800         ITypeInfo **ppTInfo);
   24801 
   24802     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   24803         ISpeechPhraseReplacement* This,
   24804         REFIID riid,
   24805         LPOLESTR *rgszNames,
   24806         UINT cNames,
   24807         LCID lcid,
   24808         DISPID *rgDispId);
   24809 
   24810     HRESULT (STDMETHODCALLTYPE *Invoke)(
   24811         ISpeechPhraseReplacement* This,
   24812         DISPID dispIdMember,
   24813         REFIID riid,
   24814         LCID lcid,
   24815         WORD wFlags,
   24816         DISPPARAMS *pDispParams,
   24817         VARIANT *pVarResult,
   24818         EXCEPINFO *pExcepInfo,
   24819         UINT *puArgErr);
   24820 
   24821     /*** ISpeechPhraseReplacement methods ***/
   24822     HRESULT (STDMETHODCALLTYPE *get_DisplayAttributes)(
   24823         ISpeechPhraseReplacement* This,
   24824         SpeechDisplayAttributes *DisplayAttributes);
   24825 
   24826     HRESULT (STDMETHODCALLTYPE *get_Text)(
   24827         ISpeechPhraseReplacement* This,
   24828         BSTR *Text);
   24829 
   24830     HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
   24831         ISpeechPhraseReplacement* This,
   24832         LONG *FirstElement);
   24833 
   24834     HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
   24835         ISpeechPhraseReplacement* This,
   24836         LONG *NumberOfElements);
   24837 
   24838     END_INTERFACE
   24839 } ISpeechPhraseReplacementVtbl;
   24840 interface ISpeechPhraseReplacement {
   24841     CONST_VTBL ISpeechPhraseReplacementVtbl* lpVtbl;
   24842 };
   24843 
   24844 #ifdef COBJMACROS
   24845 #ifndef WIDL_C_INLINE_WRAPPERS
   24846 /*** IUnknown methods ***/
   24847 #define ISpeechPhraseReplacement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   24848 #define ISpeechPhraseReplacement_AddRef(This) (This)->lpVtbl->AddRef(This)
   24849 #define ISpeechPhraseReplacement_Release(This) (This)->lpVtbl->Release(This)
   24850 /*** IDispatch methods ***/
   24851 #define ISpeechPhraseReplacement_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   24852 #define ISpeechPhraseReplacement_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   24853 #define ISpeechPhraseReplacement_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   24854 #define ISpeechPhraseReplacement_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   24855 /*** ISpeechPhraseReplacement methods ***/
   24856 #define ISpeechPhraseReplacement_get_DisplayAttributes(This,DisplayAttributes) (This)->lpVtbl->get_DisplayAttributes(This,DisplayAttributes)
   24857 #define ISpeechPhraseReplacement_get_Text(This,Text) (This)->lpVtbl->get_Text(This,Text)
   24858 #define ISpeechPhraseReplacement_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
   24859 #define ISpeechPhraseReplacement_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
   24860 #else
   24861 /*** IUnknown methods ***/
   24862 static FORCEINLINE HRESULT ISpeechPhraseReplacement_QueryInterface(ISpeechPhraseReplacement* This,REFIID riid,void **ppvObject) {
   24863     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   24864 }
   24865 static FORCEINLINE ULONG ISpeechPhraseReplacement_AddRef(ISpeechPhraseReplacement* This) {
   24866     return This->lpVtbl->AddRef(This);
   24867 }
   24868 static FORCEINLINE ULONG ISpeechPhraseReplacement_Release(ISpeechPhraseReplacement* This) {
   24869     return This->lpVtbl->Release(This);
   24870 }
   24871 /*** IDispatch methods ***/
   24872 static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetTypeInfoCount(ISpeechPhraseReplacement* This,UINT *pctinfo) {
   24873     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   24874 }
   24875 static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetTypeInfo(ISpeechPhraseReplacement* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   24876     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   24877 }
   24878 static FORCEINLINE HRESULT ISpeechPhraseReplacement_GetIDsOfNames(ISpeechPhraseReplacement* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   24879     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   24880 }
   24881 static FORCEINLINE HRESULT ISpeechPhraseReplacement_Invoke(ISpeechPhraseReplacement* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   24882     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   24883 }
   24884 /*** ISpeechPhraseReplacement methods ***/
   24885 static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_DisplayAttributes(ISpeechPhraseReplacement* This,SpeechDisplayAttributes *DisplayAttributes) {
   24886     return This->lpVtbl->get_DisplayAttributes(This,DisplayAttributes);
   24887 }
   24888 static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_Text(ISpeechPhraseReplacement* This,BSTR *Text) {
   24889     return This->lpVtbl->get_Text(This,Text);
   24890 }
   24891 static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_FirstElement(ISpeechPhraseReplacement* This,LONG *FirstElement) {
   24892     return This->lpVtbl->get_FirstElement(This,FirstElement);
   24893 }
   24894 static FORCEINLINE HRESULT ISpeechPhraseReplacement_get_NumberOfElements(ISpeechPhraseReplacement* This,LONG *NumberOfElements) {
   24895     return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
   24896 }
   24897 #endif
   24898 #endif
   24899 
   24900 #endif
   24901 
   24902 HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_DisplayAttributes_Proxy(
   24903     ISpeechPhraseReplacement* This,
   24904     SpeechDisplayAttributes *DisplayAttributes);
   24905 void __RPC_STUB ISpeechPhraseReplacement_get_DisplayAttributes_Stub(
   24906     IRpcStubBuffer* This,
   24907     IRpcChannelBuffer* pRpcChannelBuffer,
   24908     PRPC_MESSAGE pRpcMessage,
   24909     DWORD* pdwStubPhase);
   24910 HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_Text_Proxy(
   24911     ISpeechPhraseReplacement* This,
   24912     BSTR *Text);
   24913 void __RPC_STUB ISpeechPhraseReplacement_get_Text_Stub(
   24914     IRpcStubBuffer* This,
   24915     IRpcChannelBuffer* pRpcChannelBuffer,
   24916     PRPC_MESSAGE pRpcMessage,
   24917     DWORD* pdwStubPhase);
   24918 HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_FirstElement_Proxy(
   24919     ISpeechPhraseReplacement* This,
   24920     LONG *FirstElement);
   24921 void __RPC_STUB ISpeechPhraseReplacement_get_FirstElement_Stub(
   24922     IRpcStubBuffer* This,
   24923     IRpcChannelBuffer* pRpcChannelBuffer,
   24924     PRPC_MESSAGE pRpcMessage,
   24925     DWORD* pdwStubPhase);
   24926 HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacement_get_NumberOfElements_Proxy(
   24927     ISpeechPhraseReplacement* This,
   24928     LONG *NumberOfElements);
   24929 void __RPC_STUB ISpeechPhraseReplacement_get_NumberOfElements_Stub(
   24930     IRpcStubBuffer* This,
   24931     IRpcChannelBuffer* pRpcChannelBuffer,
   24932     PRPC_MESSAGE pRpcMessage,
   24933     DWORD* pdwStubPhase);
   24934 
   24935 #endif  /* __ISpeechPhraseReplacement_INTERFACE_DEFINED__ */
   24936 
   24937 /*****************************************************************************
   24938  * ISpeechPhraseReplacements interface
   24939  */
   24940 #ifndef __ISpeechPhraseReplacements_INTERFACE_DEFINED__
   24941 #define __ISpeechPhraseReplacements_INTERFACE_DEFINED__
   24942 
   24943 DEFINE_GUID(IID_ISpeechPhraseReplacements, 0x38bc662f, 0x2257, 0x4525, 0x95,0x9e, 0x20,0x69,0xd2,0x59,0x6c,0x05);
   24944 #if defined(__cplusplus) && !defined(CINTERFACE)
   24945 MIDL_INTERFACE("38bc662f-2257-4525-959e-2069d2596c05")
   24946 ISpeechPhraseReplacements : public IDispatch
   24947 {
   24948     virtual HRESULT STDMETHODCALLTYPE get_Count(
   24949         LONG *Count) = 0;
   24950 
   24951     virtual HRESULT STDMETHODCALLTYPE Item(
   24952         LONG Index,
   24953         ISpeechPhraseReplacement **Reps) = 0;
   24954 
   24955     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   24956         IUnknown **EnumVARIANT) = 0;
   24957 
   24958 };
   24959 #ifdef __CRT_UUID_DECL
   24960 __CRT_UUID_DECL(ISpeechPhraseReplacements, 0x38bc662f, 0x2257, 0x4525, 0x95,0x9e, 0x20,0x69,0xd2,0x59,0x6c,0x05)
   24961 #endif
   24962 #else
   24963 typedef struct ISpeechPhraseReplacementsVtbl {
   24964     BEGIN_INTERFACE
   24965 
   24966     /*** IUnknown methods ***/
   24967     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   24968         ISpeechPhraseReplacements* This,
   24969         REFIID riid,
   24970         void **ppvObject);
   24971 
   24972     ULONG (STDMETHODCALLTYPE *AddRef)(
   24973         ISpeechPhraseReplacements* This);
   24974 
   24975     ULONG (STDMETHODCALLTYPE *Release)(
   24976         ISpeechPhraseReplacements* This);
   24977 
   24978     /*** IDispatch methods ***/
   24979     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   24980         ISpeechPhraseReplacements* This,
   24981         UINT *pctinfo);
   24982 
   24983     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   24984         ISpeechPhraseReplacements* This,
   24985         UINT iTInfo,
   24986         LCID lcid,
   24987         ITypeInfo **ppTInfo);
   24988 
   24989     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   24990         ISpeechPhraseReplacements* This,
   24991         REFIID riid,
   24992         LPOLESTR *rgszNames,
   24993         UINT cNames,
   24994         LCID lcid,
   24995         DISPID *rgDispId);
   24996 
   24997     HRESULT (STDMETHODCALLTYPE *Invoke)(
   24998         ISpeechPhraseReplacements* This,
   24999         DISPID dispIdMember,
   25000         REFIID riid,
   25001         LCID lcid,
   25002         WORD wFlags,
   25003         DISPPARAMS *pDispParams,
   25004         VARIANT *pVarResult,
   25005         EXCEPINFO *pExcepInfo,
   25006         UINT *puArgErr);
   25007 
   25008     /*** ISpeechPhraseReplacements methods ***/
   25009     HRESULT (STDMETHODCALLTYPE *get_Count)(
   25010         ISpeechPhraseReplacements* This,
   25011         LONG *Count);
   25012 
   25013     HRESULT (STDMETHODCALLTYPE *Item)(
   25014         ISpeechPhraseReplacements* This,
   25015         LONG Index,
   25016         ISpeechPhraseReplacement **Reps);
   25017 
   25018     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   25019         ISpeechPhraseReplacements* This,
   25020         IUnknown **EnumVARIANT);
   25021 
   25022     END_INTERFACE
   25023 } ISpeechPhraseReplacementsVtbl;
   25024 interface ISpeechPhraseReplacements {
   25025     CONST_VTBL ISpeechPhraseReplacementsVtbl* lpVtbl;
   25026 };
   25027 
   25028 #ifdef COBJMACROS
   25029 #ifndef WIDL_C_INLINE_WRAPPERS
   25030 /*** IUnknown methods ***/
   25031 #define ISpeechPhraseReplacements_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   25032 #define ISpeechPhraseReplacements_AddRef(This) (This)->lpVtbl->AddRef(This)
   25033 #define ISpeechPhraseReplacements_Release(This) (This)->lpVtbl->Release(This)
   25034 /*** IDispatch methods ***/
   25035 #define ISpeechPhraseReplacements_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   25036 #define ISpeechPhraseReplacements_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   25037 #define ISpeechPhraseReplacements_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   25038 #define ISpeechPhraseReplacements_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   25039 /*** ISpeechPhraseReplacements methods ***/
   25040 #define ISpeechPhraseReplacements_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   25041 #define ISpeechPhraseReplacements_Item(This,Index,Reps) (This)->lpVtbl->Item(This,Index,Reps)
   25042 #define ISpeechPhraseReplacements_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   25043 #else
   25044 /*** IUnknown methods ***/
   25045 static FORCEINLINE HRESULT ISpeechPhraseReplacements_QueryInterface(ISpeechPhraseReplacements* This,REFIID riid,void **ppvObject) {
   25046     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   25047 }
   25048 static FORCEINLINE ULONG ISpeechPhraseReplacements_AddRef(ISpeechPhraseReplacements* This) {
   25049     return This->lpVtbl->AddRef(This);
   25050 }
   25051 static FORCEINLINE ULONG ISpeechPhraseReplacements_Release(ISpeechPhraseReplacements* This) {
   25052     return This->lpVtbl->Release(This);
   25053 }
   25054 /*** IDispatch methods ***/
   25055 static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetTypeInfoCount(ISpeechPhraseReplacements* This,UINT *pctinfo) {
   25056     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   25057 }
   25058 static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetTypeInfo(ISpeechPhraseReplacements* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   25059     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   25060 }
   25061 static FORCEINLINE HRESULT ISpeechPhraseReplacements_GetIDsOfNames(ISpeechPhraseReplacements* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   25062     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   25063 }
   25064 static FORCEINLINE HRESULT ISpeechPhraseReplacements_Invoke(ISpeechPhraseReplacements* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   25065     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   25066 }
   25067 /*** ISpeechPhraseReplacements methods ***/
   25068 static FORCEINLINE HRESULT ISpeechPhraseReplacements_get_Count(ISpeechPhraseReplacements* This,LONG *Count) {
   25069     return This->lpVtbl->get_Count(This,Count);
   25070 }
   25071 static FORCEINLINE HRESULT ISpeechPhraseReplacements_Item(ISpeechPhraseReplacements* This,LONG Index,ISpeechPhraseReplacement **Reps) {
   25072     return This->lpVtbl->Item(This,Index,Reps);
   25073 }
   25074 static FORCEINLINE HRESULT ISpeechPhraseReplacements_get__NewEnum(ISpeechPhraseReplacements* This,IUnknown **EnumVARIANT) {
   25075     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   25076 }
   25077 #endif
   25078 #endif
   25079 
   25080 #endif
   25081 
   25082 HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_get_Count_Proxy(
   25083     ISpeechPhraseReplacements* This,
   25084     LONG *Count);
   25085 void __RPC_STUB ISpeechPhraseReplacements_get_Count_Stub(
   25086     IRpcStubBuffer* This,
   25087     IRpcChannelBuffer* pRpcChannelBuffer,
   25088     PRPC_MESSAGE pRpcMessage,
   25089     DWORD* pdwStubPhase);
   25090 HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_Item_Proxy(
   25091     ISpeechPhraseReplacements* This,
   25092     LONG Index,
   25093     ISpeechPhraseReplacement **Reps);
   25094 void __RPC_STUB ISpeechPhraseReplacements_Item_Stub(
   25095     IRpcStubBuffer* This,
   25096     IRpcChannelBuffer* pRpcChannelBuffer,
   25097     PRPC_MESSAGE pRpcMessage,
   25098     DWORD* pdwStubPhase);
   25099 HRESULT STDMETHODCALLTYPE ISpeechPhraseReplacements_get__NewEnum_Proxy(
   25100     ISpeechPhraseReplacements* This,
   25101     IUnknown **EnumVARIANT);
   25102 void __RPC_STUB ISpeechPhraseReplacements_get__NewEnum_Stub(
   25103     IRpcStubBuffer* This,
   25104     IRpcChannelBuffer* pRpcChannelBuffer,
   25105     PRPC_MESSAGE pRpcMessage,
   25106     DWORD* pdwStubPhase);
   25107 
   25108 #endif  /* __ISpeechPhraseReplacements_INTERFACE_DEFINED__ */
   25109 
   25110 /*****************************************************************************
   25111  * ISpeechPhraseProperty interface
   25112  */
   25113 #ifndef __ISpeechPhraseProperty_INTERFACE_DEFINED__
   25114 #define __ISpeechPhraseProperty_INTERFACE_DEFINED__
   25115 
   25116 DEFINE_GUID(IID_ISpeechPhraseProperty, 0xce563d48, 0x961e, 0x4732, 0xa2,0xe1, 0x37,0x8a,0x42,0xb4,0x30,0xbe);
   25117 #if defined(__cplusplus) && !defined(CINTERFACE)
   25118 MIDL_INTERFACE("ce563d48-961e-4732-a2e1-378a42b430be")
   25119 ISpeechPhraseProperty : public IDispatch
   25120 {
   25121     virtual HRESULT STDMETHODCALLTYPE get_Name(
   25122         BSTR *Name) = 0;
   25123 
   25124     virtual HRESULT STDMETHODCALLTYPE get_Id(
   25125         LONG *Id) = 0;
   25126 
   25127     virtual HRESULT STDMETHODCALLTYPE get_Value(
   25128         VARIANT *Value) = 0;
   25129 
   25130     virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
   25131         LONG *FirstElement) = 0;
   25132 
   25133     virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
   25134         LONG *NumberOfElements) = 0;
   25135 
   25136     virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
   25137         float *Confidence) = 0;
   25138 
   25139     virtual HRESULT STDMETHODCALLTYPE get_Confidence(
   25140         SpeechEngineConfidence *Confidence) = 0;
   25141 
   25142     virtual HRESULT STDMETHODCALLTYPE get_Parent(
   25143         ISpeechPhraseProperty **ParentProperty) = 0;
   25144 
   25145     virtual HRESULT STDMETHODCALLTYPE get_Children(
   25146         ISpeechPhraseProperties **Children) = 0;
   25147 
   25148 };
   25149 #ifdef __CRT_UUID_DECL
   25150 __CRT_UUID_DECL(ISpeechPhraseProperty, 0xce563d48, 0x961e, 0x4732, 0xa2,0xe1, 0x37,0x8a,0x42,0xb4,0x30,0xbe)
   25151 #endif
   25152 #else
   25153 typedef struct ISpeechPhrasePropertyVtbl {
   25154     BEGIN_INTERFACE
   25155 
   25156     /*** IUnknown methods ***/
   25157     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   25158         ISpeechPhraseProperty* This,
   25159         REFIID riid,
   25160         void **ppvObject);
   25161 
   25162     ULONG (STDMETHODCALLTYPE *AddRef)(
   25163         ISpeechPhraseProperty* This);
   25164 
   25165     ULONG (STDMETHODCALLTYPE *Release)(
   25166         ISpeechPhraseProperty* This);
   25167 
   25168     /*** IDispatch methods ***/
   25169     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   25170         ISpeechPhraseProperty* This,
   25171         UINT *pctinfo);
   25172 
   25173     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   25174         ISpeechPhraseProperty* This,
   25175         UINT iTInfo,
   25176         LCID lcid,
   25177         ITypeInfo **ppTInfo);
   25178 
   25179     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   25180         ISpeechPhraseProperty* This,
   25181         REFIID riid,
   25182         LPOLESTR *rgszNames,
   25183         UINT cNames,
   25184         LCID lcid,
   25185         DISPID *rgDispId);
   25186 
   25187     HRESULT (STDMETHODCALLTYPE *Invoke)(
   25188         ISpeechPhraseProperty* This,
   25189         DISPID dispIdMember,
   25190         REFIID riid,
   25191         LCID lcid,
   25192         WORD wFlags,
   25193         DISPPARAMS *pDispParams,
   25194         VARIANT *pVarResult,
   25195         EXCEPINFO *pExcepInfo,
   25196         UINT *puArgErr);
   25197 
   25198     /*** ISpeechPhraseProperty methods ***/
   25199     HRESULT (STDMETHODCALLTYPE *get_Name)(
   25200         ISpeechPhraseProperty* This,
   25201         BSTR *Name);
   25202 
   25203     HRESULT (STDMETHODCALLTYPE *get_Id)(
   25204         ISpeechPhraseProperty* This,
   25205         LONG *Id);
   25206 
   25207     HRESULT (STDMETHODCALLTYPE *get_Value)(
   25208         ISpeechPhraseProperty* This,
   25209         VARIANT *Value);
   25210 
   25211     HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
   25212         ISpeechPhraseProperty* This,
   25213         LONG *FirstElement);
   25214 
   25215     HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
   25216         ISpeechPhraseProperty* This,
   25217         LONG *NumberOfElements);
   25218 
   25219     HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
   25220         ISpeechPhraseProperty* This,
   25221         float *Confidence);
   25222 
   25223     HRESULT (STDMETHODCALLTYPE *get_Confidence)(
   25224         ISpeechPhraseProperty* This,
   25225         SpeechEngineConfidence *Confidence);
   25226 
   25227     HRESULT (STDMETHODCALLTYPE *get_Parent)(
   25228         ISpeechPhraseProperty* This,
   25229         ISpeechPhraseProperty **ParentProperty);
   25230 
   25231     HRESULT (STDMETHODCALLTYPE *get_Children)(
   25232         ISpeechPhraseProperty* This,
   25233         ISpeechPhraseProperties **Children);
   25234 
   25235     END_INTERFACE
   25236 } ISpeechPhrasePropertyVtbl;
   25237 interface ISpeechPhraseProperty {
   25238     CONST_VTBL ISpeechPhrasePropertyVtbl* lpVtbl;
   25239 };
   25240 
   25241 #ifdef COBJMACROS
   25242 #ifndef WIDL_C_INLINE_WRAPPERS
   25243 /*** IUnknown methods ***/
   25244 #define ISpeechPhraseProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   25245 #define ISpeechPhraseProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
   25246 #define ISpeechPhraseProperty_Release(This) (This)->lpVtbl->Release(This)
   25247 /*** IDispatch methods ***/
   25248 #define ISpeechPhraseProperty_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   25249 #define ISpeechPhraseProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   25250 #define ISpeechPhraseProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   25251 #define ISpeechPhraseProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   25252 /*** ISpeechPhraseProperty methods ***/
   25253 #define ISpeechPhraseProperty_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
   25254 #define ISpeechPhraseProperty_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
   25255 #define ISpeechPhraseProperty_get_Value(This,Value) (This)->lpVtbl->get_Value(This,Value)
   25256 #define ISpeechPhraseProperty_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
   25257 #define ISpeechPhraseProperty_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
   25258 #define ISpeechPhraseProperty_get_EngineConfidence(This,Confidence) (This)->lpVtbl->get_EngineConfidence(This,Confidence)
   25259 #define ISpeechPhraseProperty_get_Confidence(This,Confidence) (This)->lpVtbl->get_Confidence(This,Confidence)
   25260 #define ISpeechPhraseProperty_get_Parent(This,ParentProperty) (This)->lpVtbl->get_Parent(This,ParentProperty)
   25261 #define ISpeechPhraseProperty_get_Children(This,Children) (This)->lpVtbl->get_Children(This,Children)
   25262 #else
   25263 /*** IUnknown methods ***/
   25264 static FORCEINLINE HRESULT ISpeechPhraseProperty_QueryInterface(ISpeechPhraseProperty* This,REFIID riid,void **ppvObject) {
   25265     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   25266 }
   25267 static FORCEINLINE ULONG ISpeechPhraseProperty_AddRef(ISpeechPhraseProperty* This) {
   25268     return This->lpVtbl->AddRef(This);
   25269 }
   25270 static FORCEINLINE ULONG ISpeechPhraseProperty_Release(ISpeechPhraseProperty* This) {
   25271     return This->lpVtbl->Release(This);
   25272 }
   25273 /*** IDispatch methods ***/
   25274 static FORCEINLINE HRESULT ISpeechPhraseProperty_GetTypeInfoCount(ISpeechPhraseProperty* This,UINT *pctinfo) {
   25275     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   25276 }
   25277 static FORCEINLINE HRESULT ISpeechPhraseProperty_GetTypeInfo(ISpeechPhraseProperty* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   25278     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   25279 }
   25280 static FORCEINLINE HRESULT ISpeechPhraseProperty_GetIDsOfNames(ISpeechPhraseProperty* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   25281     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   25282 }
   25283 static FORCEINLINE HRESULT ISpeechPhraseProperty_Invoke(ISpeechPhraseProperty* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   25284     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   25285 }
   25286 /*** ISpeechPhraseProperty methods ***/
   25287 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Name(ISpeechPhraseProperty* This,BSTR *Name) {
   25288     return This->lpVtbl->get_Name(This,Name);
   25289 }
   25290 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Id(ISpeechPhraseProperty* This,LONG *Id) {
   25291     return This->lpVtbl->get_Id(This,Id);
   25292 }
   25293 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Value(ISpeechPhraseProperty* This,VARIANT *Value) {
   25294     return This->lpVtbl->get_Value(This,Value);
   25295 }
   25296 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_FirstElement(ISpeechPhraseProperty* This,LONG *FirstElement) {
   25297     return This->lpVtbl->get_FirstElement(This,FirstElement);
   25298 }
   25299 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_NumberOfElements(ISpeechPhraseProperty* This,LONG *NumberOfElements) {
   25300     return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
   25301 }
   25302 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_EngineConfidence(ISpeechPhraseProperty* This,float *Confidence) {
   25303     return This->lpVtbl->get_EngineConfidence(This,Confidence);
   25304 }
   25305 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Confidence(ISpeechPhraseProperty* This,SpeechEngineConfidence *Confidence) {
   25306     return This->lpVtbl->get_Confidence(This,Confidence);
   25307 }
   25308 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Parent(ISpeechPhraseProperty* This,ISpeechPhraseProperty **ParentProperty) {
   25309     return This->lpVtbl->get_Parent(This,ParentProperty);
   25310 }
   25311 static FORCEINLINE HRESULT ISpeechPhraseProperty_get_Children(ISpeechPhraseProperty* This,ISpeechPhraseProperties **Children) {
   25312     return This->lpVtbl->get_Children(This,Children);
   25313 }
   25314 #endif
   25315 #endif
   25316 
   25317 #endif
   25318 
   25319 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Name_Proxy(
   25320     ISpeechPhraseProperty* This,
   25321     BSTR *Name);
   25322 void __RPC_STUB ISpeechPhraseProperty_get_Name_Stub(
   25323     IRpcStubBuffer* This,
   25324     IRpcChannelBuffer* pRpcChannelBuffer,
   25325     PRPC_MESSAGE pRpcMessage,
   25326     DWORD* pdwStubPhase);
   25327 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Id_Proxy(
   25328     ISpeechPhraseProperty* This,
   25329     LONG *Id);
   25330 void __RPC_STUB ISpeechPhraseProperty_get_Id_Stub(
   25331     IRpcStubBuffer* This,
   25332     IRpcChannelBuffer* pRpcChannelBuffer,
   25333     PRPC_MESSAGE pRpcMessage,
   25334     DWORD* pdwStubPhase);
   25335 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Value_Proxy(
   25336     ISpeechPhraseProperty* This,
   25337     VARIANT *Value);
   25338 void __RPC_STUB ISpeechPhraseProperty_get_Value_Stub(
   25339     IRpcStubBuffer* This,
   25340     IRpcChannelBuffer* pRpcChannelBuffer,
   25341     PRPC_MESSAGE pRpcMessage,
   25342     DWORD* pdwStubPhase);
   25343 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_FirstElement_Proxy(
   25344     ISpeechPhraseProperty* This,
   25345     LONG *FirstElement);
   25346 void __RPC_STUB ISpeechPhraseProperty_get_FirstElement_Stub(
   25347     IRpcStubBuffer* This,
   25348     IRpcChannelBuffer* pRpcChannelBuffer,
   25349     PRPC_MESSAGE pRpcMessage,
   25350     DWORD* pdwStubPhase);
   25351 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_NumberOfElements_Proxy(
   25352     ISpeechPhraseProperty* This,
   25353     LONG *NumberOfElements);
   25354 void __RPC_STUB ISpeechPhraseProperty_get_NumberOfElements_Stub(
   25355     IRpcStubBuffer* This,
   25356     IRpcChannelBuffer* pRpcChannelBuffer,
   25357     PRPC_MESSAGE pRpcMessage,
   25358     DWORD* pdwStubPhase);
   25359 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_EngineConfidence_Proxy(
   25360     ISpeechPhraseProperty* This,
   25361     float *Confidence);
   25362 void __RPC_STUB ISpeechPhraseProperty_get_EngineConfidence_Stub(
   25363     IRpcStubBuffer* This,
   25364     IRpcChannelBuffer* pRpcChannelBuffer,
   25365     PRPC_MESSAGE pRpcMessage,
   25366     DWORD* pdwStubPhase);
   25367 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Confidence_Proxy(
   25368     ISpeechPhraseProperty* This,
   25369     SpeechEngineConfidence *Confidence);
   25370 void __RPC_STUB ISpeechPhraseProperty_get_Confidence_Stub(
   25371     IRpcStubBuffer* This,
   25372     IRpcChannelBuffer* pRpcChannelBuffer,
   25373     PRPC_MESSAGE pRpcMessage,
   25374     DWORD* pdwStubPhase);
   25375 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Parent_Proxy(
   25376     ISpeechPhraseProperty* This,
   25377     ISpeechPhraseProperty **ParentProperty);
   25378 void __RPC_STUB ISpeechPhraseProperty_get_Parent_Stub(
   25379     IRpcStubBuffer* This,
   25380     IRpcChannelBuffer* pRpcChannelBuffer,
   25381     PRPC_MESSAGE pRpcMessage,
   25382     DWORD* pdwStubPhase);
   25383 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperty_get_Children_Proxy(
   25384     ISpeechPhraseProperty* This,
   25385     ISpeechPhraseProperties **Children);
   25386 void __RPC_STUB ISpeechPhraseProperty_get_Children_Stub(
   25387     IRpcStubBuffer* This,
   25388     IRpcChannelBuffer* pRpcChannelBuffer,
   25389     PRPC_MESSAGE pRpcMessage,
   25390     DWORD* pdwStubPhase);
   25391 
   25392 #endif  /* __ISpeechPhraseProperty_INTERFACE_DEFINED__ */
   25393 
   25394 /*****************************************************************************
   25395  * ISpeechPhraseProperties interface
   25396  */
   25397 #ifndef __ISpeechPhraseProperties_INTERFACE_DEFINED__
   25398 #define __ISpeechPhraseProperties_INTERFACE_DEFINED__
   25399 
   25400 DEFINE_GUID(IID_ISpeechPhraseProperties, 0x08166b47, 0x102e, 0x4b23, 0xa5,0x99, 0xbd,0xb9,0x8d,0xbf,0xd1,0xf4);
   25401 #if defined(__cplusplus) && !defined(CINTERFACE)
   25402 MIDL_INTERFACE("08166b47-102e-4b23-a599-bdb98dbfd1f4")
   25403 ISpeechPhraseProperties : public IDispatch
   25404 {
   25405     virtual HRESULT STDMETHODCALLTYPE get_Count(
   25406         LONG *Count) = 0;
   25407 
   25408     virtual HRESULT STDMETHODCALLTYPE Item(
   25409         LONG Index,
   25410         ISpeechPhraseProperty **Property) = 0;
   25411 
   25412     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   25413         IUnknown **EnumVARIANT) = 0;
   25414 
   25415 };
   25416 #ifdef __CRT_UUID_DECL
   25417 __CRT_UUID_DECL(ISpeechPhraseProperties, 0x08166b47, 0x102e, 0x4b23, 0xa5,0x99, 0xbd,0xb9,0x8d,0xbf,0xd1,0xf4)
   25418 #endif
   25419 #else
   25420 typedef struct ISpeechPhrasePropertiesVtbl {
   25421     BEGIN_INTERFACE
   25422 
   25423     /*** IUnknown methods ***/
   25424     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   25425         ISpeechPhraseProperties* This,
   25426         REFIID riid,
   25427         void **ppvObject);
   25428 
   25429     ULONG (STDMETHODCALLTYPE *AddRef)(
   25430         ISpeechPhraseProperties* This);
   25431 
   25432     ULONG (STDMETHODCALLTYPE *Release)(
   25433         ISpeechPhraseProperties* This);
   25434 
   25435     /*** IDispatch methods ***/
   25436     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   25437         ISpeechPhraseProperties* This,
   25438         UINT *pctinfo);
   25439 
   25440     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   25441         ISpeechPhraseProperties* This,
   25442         UINT iTInfo,
   25443         LCID lcid,
   25444         ITypeInfo **ppTInfo);
   25445 
   25446     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   25447         ISpeechPhraseProperties* This,
   25448         REFIID riid,
   25449         LPOLESTR *rgszNames,
   25450         UINT cNames,
   25451         LCID lcid,
   25452         DISPID *rgDispId);
   25453 
   25454     HRESULT (STDMETHODCALLTYPE *Invoke)(
   25455         ISpeechPhraseProperties* This,
   25456         DISPID dispIdMember,
   25457         REFIID riid,
   25458         LCID lcid,
   25459         WORD wFlags,
   25460         DISPPARAMS *pDispParams,
   25461         VARIANT *pVarResult,
   25462         EXCEPINFO *pExcepInfo,
   25463         UINT *puArgErr);
   25464 
   25465     /*** ISpeechPhraseProperties methods ***/
   25466     HRESULT (STDMETHODCALLTYPE *get_Count)(
   25467         ISpeechPhraseProperties* This,
   25468         LONG *Count);
   25469 
   25470     HRESULT (STDMETHODCALLTYPE *Item)(
   25471         ISpeechPhraseProperties* This,
   25472         LONG Index,
   25473         ISpeechPhraseProperty **Property);
   25474 
   25475     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   25476         ISpeechPhraseProperties* This,
   25477         IUnknown **EnumVARIANT);
   25478 
   25479     END_INTERFACE
   25480 } ISpeechPhrasePropertiesVtbl;
   25481 interface ISpeechPhraseProperties {
   25482     CONST_VTBL ISpeechPhrasePropertiesVtbl* lpVtbl;
   25483 };
   25484 
   25485 #ifdef COBJMACROS
   25486 #ifndef WIDL_C_INLINE_WRAPPERS
   25487 /*** IUnknown methods ***/
   25488 #define ISpeechPhraseProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   25489 #define ISpeechPhraseProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
   25490 #define ISpeechPhraseProperties_Release(This) (This)->lpVtbl->Release(This)
   25491 /*** IDispatch methods ***/
   25492 #define ISpeechPhraseProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   25493 #define ISpeechPhraseProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   25494 #define ISpeechPhraseProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   25495 #define ISpeechPhraseProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   25496 /*** ISpeechPhraseProperties methods ***/
   25497 #define ISpeechPhraseProperties_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   25498 #define ISpeechPhraseProperties_Item(This,Index,Property) (This)->lpVtbl->Item(This,Index,Property)
   25499 #define ISpeechPhraseProperties_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   25500 #else
   25501 /*** IUnknown methods ***/
   25502 static FORCEINLINE HRESULT ISpeechPhraseProperties_QueryInterface(ISpeechPhraseProperties* This,REFIID riid,void **ppvObject) {
   25503     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   25504 }
   25505 static FORCEINLINE ULONG ISpeechPhraseProperties_AddRef(ISpeechPhraseProperties* This) {
   25506     return This->lpVtbl->AddRef(This);
   25507 }
   25508 static FORCEINLINE ULONG ISpeechPhraseProperties_Release(ISpeechPhraseProperties* This) {
   25509     return This->lpVtbl->Release(This);
   25510 }
   25511 /*** IDispatch methods ***/
   25512 static FORCEINLINE HRESULT ISpeechPhraseProperties_GetTypeInfoCount(ISpeechPhraseProperties* This,UINT *pctinfo) {
   25513     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   25514 }
   25515 static FORCEINLINE HRESULT ISpeechPhraseProperties_GetTypeInfo(ISpeechPhraseProperties* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   25516     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   25517 }
   25518 static FORCEINLINE HRESULT ISpeechPhraseProperties_GetIDsOfNames(ISpeechPhraseProperties* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   25519     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   25520 }
   25521 static FORCEINLINE HRESULT ISpeechPhraseProperties_Invoke(ISpeechPhraseProperties* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   25522     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   25523 }
   25524 /*** ISpeechPhraseProperties methods ***/
   25525 static FORCEINLINE HRESULT ISpeechPhraseProperties_get_Count(ISpeechPhraseProperties* This,LONG *Count) {
   25526     return This->lpVtbl->get_Count(This,Count);
   25527 }
   25528 static FORCEINLINE HRESULT ISpeechPhraseProperties_Item(ISpeechPhraseProperties* This,LONG Index,ISpeechPhraseProperty **Property) {
   25529     return This->lpVtbl->Item(This,Index,Property);
   25530 }
   25531 static FORCEINLINE HRESULT ISpeechPhraseProperties_get__NewEnum(ISpeechPhraseProperties* This,IUnknown **EnumVARIANT) {
   25532     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   25533 }
   25534 #endif
   25535 #endif
   25536 
   25537 #endif
   25538 
   25539 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_get_Count_Proxy(
   25540     ISpeechPhraseProperties* This,
   25541     LONG *Count);
   25542 void __RPC_STUB ISpeechPhraseProperties_get_Count_Stub(
   25543     IRpcStubBuffer* This,
   25544     IRpcChannelBuffer* pRpcChannelBuffer,
   25545     PRPC_MESSAGE pRpcMessage,
   25546     DWORD* pdwStubPhase);
   25547 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_Item_Proxy(
   25548     ISpeechPhraseProperties* This,
   25549     LONG Index,
   25550     ISpeechPhraseProperty **Property);
   25551 void __RPC_STUB ISpeechPhraseProperties_Item_Stub(
   25552     IRpcStubBuffer* This,
   25553     IRpcChannelBuffer* pRpcChannelBuffer,
   25554     PRPC_MESSAGE pRpcMessage,
   25555     DWORD* pdwStubPhase);
   25556 HRESULT STDMETHODCALLTYPE ISpeechPhraseProperties_get__NewEnum_Proxy(
   25557     ISpeechPhraseProperties* This,
   25558     IUnknown **EnumVARIANT);
   25559 void __RPC_STUB ISpeechPhraseProperties_get__NewEnum_Stub(
   25560     IRpcStubBuffer* This,
   25561     IRpcChannelBuffer* pRpcChannelBuffer,
   25562     PRPC_MESSAGE pRpcMessage,
   25563     DWORD* pdwStubPhase);
   25564 
   25565 #endif  /* __ISpeechPhraseProperties_INTERFACE_DEFINED__ */
   25566 
   25567 /*****************************************************************************
   25568  * ISpeechPhraseRule interface
   25569  */
   25570 #ifndef __ISpeechPhraseRule_INTERFACE_DEFINED__
   25571 #define __ISpeechPhraseRule_INTERFACE_DEFINED__
   25572 
   25573 DEFINE_GUID(IID_ISpeechPhraseRule, 0xa7bfe112, 0xa4a0, 0x48d9, 0xb6,0x02, 0xc3,0x13,0x84,0x3f,0x69,0x64);
   25574 #if defined(__cplusplus) && !defined(CINTERFACE)
   25575 MIDL_INTERFACE("a7bfe112-a4a0-48d9-b602-c313843f6964")
   25576 ISpeechPhraseRule : public IDispatch
   25577 {
   25578     virtual HRESULT STDMETHODCALLTYPE get_Name(
   25579         BSTR *Name) = 0;
   25580 
   25581     virtual HRESULT STDMETHODCALLTYPE get_Id(
   25582         LONG *Id) = 0;
   25583 
   25584     virtual HRESULT STDMETHODCALLTYPE get_FirstElement(
   25585         LONG *FirstElement) = 0;
   25586 
   25587     virtual HRESULT STDMETHODCALLTYPE get_NumberOfElements(
   25588         LONG *NumberOfElements) = 0;
   25589 
   25590     virtual HRESULT STDMETHODCALLTYPE get_Parent(
   25591         ISpeechPhraseRule **Parent) = 0;
   25592 
   25593     virtual HRESULT STDMETHODCALLTYPE get_Children(
   25594         ISpeechPhraseRules **Children) = 0;
   25595 
   25596     virtual HRESULT STDMETHODCALLTYPE get_Confidence(
   25597         SpeechEngineConfidence *ActualConfidence) = 0;
   25598 
   25599     virtual HRESULT STDMETHODCALLTYPE get_EngineConfidence(
   25600         float *EngineConfidence) = 0;
   25601 
   25602 };
   25603 #ifdef __CRT_UUID_DECL
   25604 __CRT_UUID_DECL(ISpeechPhraseRule, 0xa7bfe112, 0xa4a0, 0x48d9, 0xb6,0x02, 0xc3,0x13,0x84,0x3f,0x69,0x64)
   25605 #endif
   25606 #else
   25607 typedef struct ISpeechPhraseRuleVtbl {
   25608     BEGIN_INTERFACE
   25609 
   25610     /*** IUnknown methods ***/
   25611     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   25612         ISpeechPhraseRule* This,
   25613         REFIID riid,
   25614         void **ppvObject);
   25615 
   25616     ULONG (STDMETHODCALLTYPE *AddRef)(
   25617         ISpeechPhraseRule* This);
   25618 
   25619     ULONG (STDMETHODCALLTYPE *Release)(
   25620         ISpeechPhraseRule* This);
   25621 
   25622     /*** IDispatch methods ***/
   25623     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   25624         ISpeechPhraseRule* This,
   25625         UINT *pctinfo);
   25626 
   25627     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   25628         ISpeechPhraseRule* This,
   25629         UINT iTInfo,
   25630         LCID lcid,
   25631         ITypeInfo **ppTInfo);
   25632 
   25633     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   25634         ISpeechPhraseRule* This,
   25635         REFIID riid,
   25636         LPOLESTR *rgszNames,
   25637         UINT cNames,
   25638         LCID lcid,
   25639         DISPID *rgDispId);
   25640 
   25641     HRESULT (STDMETHODCALLTYPE *Invoke)(
   25642         ISpeechPhraseRule* This,
   25643         DISPID dispIdMember,
   25644         REFIID riid,
   25645         LCID lcid,
   25646         WORD wFlags,
   25647         DISPPARAMS *pDispParams,
   25648         VARIANT *pVarResult,
   25649         EXCEPINFO *pExcepInfo,
   25650         UINT *puArgErr);
   25651 
   25652     /*** ISpeechPhraseRule methods ***/
   25653     HRESULT (STDMETHODCALLTYPE *get_Name)(
   25654         ISpeechPhraseRule* This,
   25655         BSTR *Name);
   25656 
   25657     HRESULT (STDMETHODCALLTYPE *get_Id)(
   25658         ISpeechPhraseRule* This,
   25659         LONG *Id);
   25660 
   25661     HRESULT (STDMETHODCALLTYPE *get_FirstElement)(
   25662         ISpeechPhraseRule* This,
   25663         LONG *FirstElement);
   25664 
   25665     HRESULT (STDMETHODCALLTYPE *get_NumberOfElements)(
   25666         ISpeechPhraseRule* This,
   25667         LONG *NumberOfElements);
   25668 
   25669     HRESULT (STDMETHODCALLTYPE *get_Parent)(
   25670         ISpeechPhraseRule* This,
   25671         ISpeechPhraseRule **Parent);
   25672 
   25673     HRESULT (STDMETHODCALLTYPE *get_Children)(
   25674         ISpeechPhraseRule* This,
   25675         ISpeechPhraseRules **Children);
   25676 
   25677     HRESULT (STDMETHODCALLTYPE *get_Confidence)(
   25678         ISpeechPhraseRule* This,
   25679         SpeechEngineConfidence *ActualConfidence);
   25680 
   25681     HRESULT (STDMETHODCALLTYPE *get_EngineConfidence)(
   25682         ISpeechPhraseRule* This,
   25683         float *EngineConfidence);
   25684 
   25685     END_INTERFACE
   25686 } ISpeechPhraseRuleVtbl;
   25687 interface ISpeechPhraseRule {
   25688     CONST_VTBL ISpeechPhraseRuleVtbl* lpVtbl;
   25689 };
   25690 
   25691 #ifdef COBJMACROS
   25692 #ifndef WIDL_C_INLINE_WRAPPERS
   25693 /*** IUnknown methods ***/
   25694 #define ISpeechPhraseRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   25695 #define ISpeechPhraseRule_AddRef(This) (This)->lpVtbl->AddRef(This)
   25696 #define ISpeechPhraseRule_Release(This) (This)->lpVtbl->Release(This)
   25697 /*** IDispatch methods ***/
   25698 #define ISpeechPhraseRule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   25699 #define ISpeechPhraseRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   25700 #define ISpeechPhraseRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   25701 #define ISpeechPhraseRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   25702 /*** ISpeechPhraseRule methods ***/
   25703 #define ISpeechPhraseRule_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
   25704 #define ISpeechPhraseRule_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
   25705 #define ISpeechPhraseRule_get_FirstElement(This,FirstElement) (This)->lpVtbl->get_FirstElement(This,FirstElement)
   25706 #define ISpeechPhraseRule_get_NumberOfElements(This,NumberOfElements) (This)->lpVtbl->get_NumberOfElements(This,NumberOfElements)
   25707 #define ISpeechPhraseRule_get_Parent(This,Parent) (This)->lpVtbl->get_Parent(This,Parent)
   25708 #define ISpeechPhraseRule_get_Children(This,Children) (This)->lpVtbl->get_Children(This,Children)
   25709 #define ISpeechPhraseRule_get_Confidence(This,ActualConfidence) (This)->lpVtbl->get_Confidence(This,ActualConfidence)
   25710 #define ISpeechPhraseRule_get_EngineConfidence(This,EngineConfidence) (This)->lpVtbl->get_EngineConfidence(This,EngineConfidence)
   25711 #else
   25712 /*** IUnknown methods ***/
   25713 static FORCEINLINE HRESULT ISpeechPhraseRule_QueryInterface(ISpeechPhraseRule* This,REFIID riid,void **ppvObject) {
   25714     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   25715 }
   25716 static FORCEINLINE ULONG ISpeechPhraseRule_AddRef(ISpeechPhraseRule* This) {
   25717     return This->lpVtbl->AddRef(This);
   25718 }
   25719 static FORCEINLINE ULONG ISpeechPhraseRule_Release(ISpeechPhraseRule* This) {
   25720     return This->lpVtbl->Release(This);
   25721 }
   25722 /*** IDispatch methods ***/
   25723 static FORCEINLINE HRESULT ISpeechPhraseRule_GetTypeInfoCount(ISpeechPhraseRule* This,UINT *pctinfo) {
   25724     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   25725 }
   25726 static FORCEINLINE HRESULT ISpeechPhraseRule_GetTypeInfo(ISpeechPhraseRule* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   25727     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   25728 }
   25729 static FORCEINLINE HRESULT ISpeechPhraseRule_GetIDsOfNames(ISpeechPhraseRule* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   25730     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   25731 }
   25732 static FORCEINLINE HRESULT ISpeechPhraseRule_Invoke(ISpeechPhraseRule* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   25733     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   25734 }
   25735 /*** ISpeechPhraseRule methods ***/
   25736 static FORCEINLINE HRESULT ISpeechPhraseRule_get_Name(ISpeechPhraseRule* This,BSTR *Name) {
   25737     return This->lpVtbl->get_Name(This,Name);
   25738 }
   25739 static FORCEINLINE HRESULT ISpeechPhraseRule_get_Id(ISpeechPhraseRule* This,LONG *Id) {
   25740     return This->lpVtbl->get_Id(This,Id);
   25741 }
   25742 static FORCEINLINE HRESULT ISpeechPhraseRule_get_FirstElement(ISpeechPhraseRule* This,LONG *FirstElement) {
   25743     return This->lpVtbl->get_FirstElement(This,FirstElement);
   25744 }
   25745 static FORCEINLINE HRESULT ISpeechPhraseRule_get_NumberOfElements(ISpeechPhraseRule* This,LONG *NumberOfElements) {
   25746     return This->lpVtbl->get_NumberOfElements(This,NumberOfElements);
   25747 }
   25748 static FORCEINLINE HRESULT ISpeechPhraseRule_get_Parent(ISpeechPhraseRule* This,ISpeechPhraseRule **Parent) {
   25749     return This->lpVtbl->get_Parent(This,Parent);
   25750 }
   25751 static FORCEINLINE HRESULT ISpeechPhraseRule_get_Children(ISpeechPhraseRule* This,ISpeechPhraseRules **Children) {
   25752     return This->lpVtbl->get_Children(This,Children);
   25753 }
   25754 static FORCEINLINE HRESULT ISpeechPhraseRule_get_Confidence(ISpeechPhraseRule* This,SpeechEngineConfidence *ActualConfidence) {
   25755     return This->lpVtbl->get_Confidence(This,ActualConfidence);
   25756 }
   25757 static FORCEINLINE HRESULT ISpeechPhraseRule_get_EngineConfidence(ISpeechPhraseRule* This,float *EngineConfidence) {
   25758     return This->lpVtbl->get_EngineConfidence(This,EngineConfidence);
   25759 }
   25760 #endif
   25761 #endif
   25762 
   25763 #endif
   25764 
   25765 HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Name_Proxy(
   25766     ISpeechPhraseRule* This,
   25767     BSTR *Name);
   25768 void __RPC_STUB ISpeechPhraseRule_get_Name_Stub(
   25769     IRpcStubBuffer* This,
   25770     IRpcChannelBuffer* pRpcChannelBuffer,
   25771     PRPC_MESSAGE pRpcMessage,
   25772     DWORD* pdwStubPhase);
   25773 HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Id_Proxy(
   25774     ISpeechPhraseRule* This,
   25775     LONG *Id);
   25776 void __RPC_STUB ISpeechPhraseRule_get_Id_Stub(
   25777     IRpcStubBuffer* This,
   25778     IRpcChannelBuffer* pRpcChannelBuffer,
   25779     PRPC_MESSAGE pRpcMessage,
   25780     DWORD* pdwStubPhase);
   25781 HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_FirstElement_Proxy(
   25782     ISpeechPhraseRule* This,
   25783     LONG *FirstElement);
   25784 void __RPC_STUB ISpeechPhraseRule_get_FirstElement_Stub(
   25785     IRpcStubBuffer* This,
   25786     IRpcChannelBuffer* pRpcChannelBuffer,
   25787     PRPC_MESSAGE pRpcMessage,
   25788     DWORD* pdwStubPhase);
   25789 HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_NumberOfElements_Proxy(
   25790     ISpeechPhraseRule* This,
   25791     LONG *NumberOfElements);
   25792 void __RPC_STUB ISpeechPhraseRule_get_NumberOfElements_Stub(
   25793     IRpcStubBuffer* This,
   25794     IRpcChannelBuffer* pRpcChannelBuffer,
   25795     PRPC_MESSAGE pRpcMessage,
   25796     DWORD* pdwStubPhase);
   25797 HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Parent_Proxy(
   25798     ISpeechPhraseRule* This,
   25799     ISpeechPhraseRule **Parent);
   25800 void __RPC_STUB ISpeechPhraseRule_get_Parent_Stub(
   25801     IRpcStubBuffer* This,
   25802     IRpcChannelBuffer* pRpcChannelBuffer,
   25803     PRPC_MESSAGE pRpcMessage,
   25804     DWORD* pdwStubPhase);
   25805 HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Children_Proxy(
   25806     ISpeechPhraseRule* This,
   25807     ISpeechPhraseRules **Children);
   25808 void __RPC_STUB ISpeechPhraseRule_get_Children_Stub(
   25809     IRpcStubBuffer* This,
   25810     IRpcChannelBuffer* pRpcChannelBuffer,
   25811     PRPC_MESSAGE pRpcMessage,
   25812     DWORD* pdwStubPhase);
   25813 HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_Confidence_Proxy(
   25814     ISpeechPhraseRule* This,
   25815     SpeechEngineConfidence *ActualConfidence);
   25816 void __RPC_STUB ISpeechPhraseRule_get_Confidence_Stub(
   25817     IRpcStubBuffer* This,
   25818     IRpcChannelBuffer* pRpcChannelBuffer,
   25819     PRPC_MESSAGE pRpcMessage,
   25820     DWORD* pdwStubPhase);
   25821 HRESULT STDMETHODCALLTYPE ISpeechPhraseRule_get_EngineConfidence_Proxy(
   25822     ISpeechPhraseRule* This,
   25823     float *EngineConfidence);
   25824 void __RPC_STUB ISpeechPhraseRule_get_EngineConfidence_Stub(
   25825     IRpcStubBuffer* This,
   25826     IRpcChannelBuffer* pRpcChannelBuffer,
   25827     PRPC_MESSAGE pRpcMessage,
   25828     DWORD* pdwStubPhase);
   25829 
   25830 #endif  /* __ISpeechPhraseRule_INTERFACE_DEFINED__ */
   25831 
   25832 /*****************************************************************************
   25833  * ISpeechPhraseRules interface
   25834  */
   25835 #ifndef __ISpeechPhraseRules_INTERFACE_DEFINED__
   25836 #define __ISpeechPhraseRules_INTERFACE_DEFINED__
   25837 
   25838 DEFINE_GUID(IID_ISpeechPhraseRules, 0x9047d593, 0x01dd, 0x4b72, 0x81,0xa3, 0xe4,0xa0,0xca,0x69,0xf4,0x07);
   25839 #if defined(__cplusplus) && !defined(CINTERFACE)
   25840 MIDL_INTERFACE("9047d593-01dd-4b72-81a3-e4a0ca69f407")
   25841 ISpeechPhraseRules : public IDispatch
   25842 {
   25843     virtual HRESULT STDMETHODCALLTYPE get_Count(
   25844         LONG *Count) = 0;
   25845 
   25846     virtual HRESULT STDMETHODCALLTYPE Item(
   25847         LONG Index,
   25848         ISpeechPhraseRule **Rule) = 0;
   25849 
   25850     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   25851         IUnknown **EnumVARIANT) = 0;
   25852 
   25853 };
   25854 #ifdef __CRT_UUID_DECL
   25855 __CRT_UUID_DECL(ISpeechPhraseRules, 0x9047d593, 0x01dd, 0x4b72, 0x81,0xa3, 0xe4,0xa0,0xca,0x69,0xf4,0x07)
   25856 #endif
   25857 #else
   25858 typedef struct ISpeechPhraseRulesVtbl {
   25859     BEGIN_INTERFACE
   25860 
   25861     /*** IUnknown methods ***/
   25862     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   25863         ISpeechPhraseRules* This,
   25864         REFIID riid,
   25865         void **ppvObject);
   25866 
   25867     ULONG (STDMETHODCALLTYPE *AddRef)(
   25868         ISpeechPhraseRules* This);
   25869 
   25870     ULONG (STDMETHODCALLTYPE *Release)(
   25871         ISpeechPhraseRules* This);
   25872 
   25873     /*** IDispatch methods ***/
   25874     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   25875         ISpeechPhraseRules* This,
   25876         UINT *pctinfo);
   25877 
   25878     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   25879         ISpeechPhraseRules* This,
   25880         UINT iTInfo,
   25881         LCID lcid,
   25882         ITypeInfo **ppTInfo);
   25883 
   25884     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   25885         ISpeechPhraseRules* This,
   25886         REFIID riid,
   25887         LPOLESTR *rgszNames,
   25888         UINT cNames,
   25889         LCID lcid,
   25890         DISPID *rgDispId);
   25891 
   25892     HRESULT (STDMETHODCALLTYPE *Invoke)(
   25893         ISpeechPhraseRules* This,
   25894         DISPID dispIdMember,
   25895         REFIID riid,
   25896         LCID lcid,
   25897         WORD wFlags,
   25898         DISPPARAMS *pDispParams,
   25899         VARIANT *pVarResult,
   25900         EXCEPINFO *pExcepInfo,
   25901         UINT *puArgErr);
   25902 
   25903     /*** ISpeechPhraseRules methods ***/
   25904     HRESULT (STDMETHODCALLTYPE *get_Count)(
   25905         ISpeechPhraseRules* This,
   25906         LONG *Count);
   25907 
   25908     HRESULT (STDMETHODCALLTYPE *Item)(
   25909         ISpeechPhraseRules* This,
   25910         LONG Index,
   25911         ISpeechPhraseRule **Rule);
   25912 
   25913     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   25914         ISpeechPhraseRules* This,
   25915         IUnknown **EnumVARIANT);
   25916 
   25917     END_INTERFACE
   25918 } ISpeechPhraseRulesVtbl;
   25919 interface ISpeechPhraseRules {
   25920     CONST_VTBL ISpeechPhraseRulesVtbl* lpVtbl;
   25921 };
   25922 
   25923 #ifdef COBJMACROS
   25924 #ifndef WIDL_C_INLINE_WRAPPERS
   25925 /*** IUnknown methods ***/
   25926 #define ISpeechPhraseRules_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   25927 #define ISpeechPhraseRules_AddRef(This) (This)->lpVtbl->AddRef(This)
   25928 #define ISpeechPhraseRules_Release(This) (This)->lpVtbl->Release(This)
   25929 /*** IDispatch methods ***/
   25930 #define ISpeechPhraseRules_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   25931 #define ISpeechPhraseRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   25932 #define ISpeechPhraseRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   25933 #define ISpeechPhraseRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   25934 /*** ISpeechPhraseRules methods ***/
   25935 #define ISpeechPhraseRules_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   25936 #define ISpeechPhraseRules_Item(This,Index,Rule) (This)->lpVtbl->Item(This,Index,Rule)
   25937 #define ISpeechPhraseRules_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   25938 #else
   25939 /*** IUnknown methods ***/
   25940 static FORCEINLINE HRESULT ISpeechPhraseRules_QueryInterface(ISpeechPhraseRules* This,REFIID riid,void **ppvObject) {
   25941     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   25942 }
   25943 static FORCEINLINE ULONG ISpeechPhraseRules_AddRef(ISpeechPhraseRules* This) {
   25944     return This->lpVtbl->AddRef(This);
   25945 }
   25946 static FORCEINLINE ULONG ISpeechPhraseRules_Release(ISpeechPhraseRules* This) {
   25947     return This->lpVtbl->Release(This);
   25948 }
   25949 /*** IDispatch methods ***/
   25950 static FORCEINLINE HRESULT ISpeechPhraseRules_GetTypeInfoCount(ISpeechPhraseRules* This,UINT *pctinfo) {
   25951     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   25952 }
   25953 static FORCEINLINE HRESULT ISpeechPhraseRules_GetTypeInfo(ISpeechPhraseRules* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   25954     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   25955 }
   25956 static FORCEINLINE HRESULT ISpeechPhraseRules_GetIDsOfNames(ISpeechPhraseRules* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   25957     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   25958 }
   25959 static FORCEINLINE HRESULT ISpeechPhraseRules_Invoke(ISpeechPhraseRules* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   25960     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   25961 }
   25962 /*** ISpeechPhraseRules methods ***/
   25963 static FORCEINLINE HRESULT ISpeechPhraseRules_get_Count(ISpeechPhraseRules* This,LONG *Count) {
   25964     return This->lpVtbl->get_Count(This,Count);
   25965 }
   25966 static FORCEINLINE HRESULT ISpeechPhraseRules_Item(ISpeechPhraseRules* This,LONG Index,ISpeechPhraseRule **Rule) {
   25967     return This->lpVtbl->Item(This,Index,Rule);
   25968 }
   25969 static FORCEINLINE HRESULT ISpeechPhraseRules_get__NewEnum(ISpeechPhraseRules* This,IUnknown **EnumVARIANT) {
   25970     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   25971 }
   25972 #endif
   25973 #endif
   25974 
   25975 #endif
   25976 
   25977 HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_get_Count_Proxy(
   25978     ISpeechPhraseRules* This,
   25979     LONG *Count);
   25980 void __RPC_STUB ISpeechPhraseRules_get_Count_Stub(
   25981     IRpcStubBuffer* This,
   25982     IRpcChannelBuffer* pRpcChannelBuffer,
   25983     PRPC_MESSAGE pRpcMessage,
   25984     DWORD* pdwStubPhase);
   25985 HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_Item_Proxy(
   25986     ISpeechPhraseRules* This,
   25987     LONG Index,
   25988     ISpeechPhraseRule **Rule);
   25989 void __RPC_STUB ISpeechPhraseRules_Item_Stub(
   25990     IRpcStubBuffer* This,
   25991     IRpcChannelBuffer* pRpcChannelBuffer,
   25992     PRPC_MESSAGE pRpcMessage,
   25993     DWORD* pdwStubPhase);
   25994 HRESULT STDMETHODCALLTYPE ISpeechPhraseRules_get__NewEnum_Proxy(
   25995     ISpeechPhraseRules* This,
   25996     IUnknown **EnumVARIANT);
   25997 void __RPC_STUB ISpeechPhraseRules_get__NewEnum_Stub(
   25998     IRpcStubBuffer* This,
   25999     IRpcChannelBuffer* pRpcChannelBuffer,
   26000     PRPC_MESSAGE pRpcMessage,
   26001     DWORD* pdwStubPhase);
   26002 
   26003 #endif  /* __ISpeechPhraseRules_INTERFACE_DEFINED__ */
   26004 
   26005 /*****************************************************************************
   26006  * ISpeechLexiconWords interface
   26007  */
   26008 #ifndef __ISpeechLexiconWords_INTERFACE_DEFINED__
   26009 #define __ISpeechLexiconWords_INTERFACE_DEFINED__
   26010 
   26011 DEFINE_GUID(IID_ISpeechLexiconWords, 0x8d199862, 0x415e, 0x47d5, 0xac,0x4f, 0xfa,0xa6,0x08,0xb4,0x24,0xe6);
   26012 #if defined(__cplusplus) && !defined(CINTERFACE)
   26013 MIDL_INTERFACE("8d199862-415e-47d5-ac4f-faa608b424e6")
   26014 ISpeechLexiconWords : public IDispatch
   26015 {
   26016     virtual HRESULT STDMETHODCALLTYPE get_Count(
   26017         LONG *Count) = 0;
   26018 
   26019     virtual HRESULT STDMETHODCALLTYPE Item(
   26020         LONG Index,
   26021         ISpeechLexiconWord **Word) = 0;
   26022 
   26023     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   26024         IUnknown **EnumVARIANT) = 0;
   26025 
   26026 };
   26027 #ifdef __CRT_UUID_DECL
   26028 __CRT_UUID_DECL(ISpeechLexiconWords, 0x8d199862, 0x415e, 0x47d5, 0xac,0x4f, 0xfa,0xa6,0x08,0xb4,0x24,0xe6)
   26029 #endif
   26030 #else
   26031 typedef struct ISpeechLexiconWordsVtbl {
   26032     BEGIN_INTERFACE
   26033 
   26034     /*** IUnknown methods ***/
   26035     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   26036         ISpeechLexiconWords* This,
   26037         REFIID riid,
   26038         void **ppvObject);
   26039 
   26040     ULONG (STDMETHODCALLTYPE *AddRef)(
   26041         ISpeechLexiconWords* This);
   26042 
   26043     ULONG (STDMETHODCALLTYPE *Release)(
   26044         ISpeechLexiconWords* This);
   26045 
   26046     /*** IDispatch methods ***/
   26047     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   26048         ISpeechLexiconWords* This,
   26049         UINT *pctinfo);
   26050 
   26051     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   26052         ISpeechLexiconWords* This,
   26053         UINT iTInfo,
   26054         LCID lcid,
   26055         ITypeInfo **ppTInfo);
   26056 
   26057     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   26058         ISpeechLexiconWords* This,
   26059         REFIID riid,
   26060         LPOLESTR *rgszNames,
   26061         UINT cNames,
   26062         LCID lcid,
   26063         DISPID *rgDispId);
   26064 
   26065     HRESULT (STDMETHODCALLTYPE *Invoke)(
   26066         ISpeechLexiconWords* This,
   26067         DISPID dispIdMember,
   26068         REFIID riid,
   26069         LCID lcid,
   26070         WORD wFlags,
   26071         DISPPARAMS *pDispParams,
   26072         VARIANT *pVarResult,
   26073         EXCEPINFO *pExcepInfo,
   26074         UINT *puArgErr);
   26075 
   26076     /*** ISpeechLexiconWords methods ***/
   26077     HRESULT (STDMETHODCALLTYPE *get_Count)(
   26078         ISpeechLexiconWords* This,
   26079         LONG *Count);
   26080 
   26081     HRESULT (STDMETHODCALLTYPE *Item)(
   26082         ISpeechLexiconWords* This,
   26083         LONG Index,
   26084         ISpeechLexiconWord **Word);
   26085 
   26086     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   26087         ISpeechLexiconWords* This,
   26088         IUnknown **EnumVARIANT);
   26089 
   26090     END_INTERFACE
   26091 } ISpeechLexiconWordsVtbl;
   26092 interface ISpeechLexiconWords {
   26093     CONST_VTBL ISpeechLexiconWordsVtbl* lpVtbl;
   26094 };
   26095 
   26096 #ifdef COBJMACROS
   26097 #ifndef WIDL_C_INLINE_WRAPPERS
   26098 /*** IUnknown methods ***/
   26099 #define ISpeechLexiconWords_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   26100 #define ISpeechLexiconWords_AddRef(This) (This)->lpVtbl->AddRef(This)
   26101 #define ISpeechLexiconWords_Release(This) (This)->lpVtbl->Release(This)
   26102 /*** IDispatch methods ***/
   26103 #define ISpeechLexiconWords_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   26104 #define ISpeechLexiconWords_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   26105 #define ISpeechLexiconWords_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   26106 #define ISpeechLexiconWords_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   26107 /*** ISpeechLexiconWords methods ***/
   26108 #define ISpeechLexiconWords_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   26109 #define ISpeechLexiconWords_Item(This,Index,Word) (This)->lpVtbl->Item(This,Index,Word)
   26110 #define ISpeechLexiconWords_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   26111 #else
   26112 /*** IUnknown methods ***/
   26113 static FORCEINLINE HRESULT ISpeechLexiconWords_QueryInterface(ISpeechLexiconWords* This,REFIID riid,void **ppvObject) {
   26114     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   26115 }
   26116 static FORCEINLINE ULONG ISpeechLexiconWords_AddRef(ISpeechLexiconWords* This) {
   26117     return This->lpVtbl->AddRef(This);
   26118 }
   26119 static FORCEINLINE ULONG ISpeechLexiconWords_Release(ISpeechLexiconWords* This) {
   26120     return This->lpVtbl->Release(This);
   26121 }
   26122 /*** IDispatch methods ***/
   26123 static FORCEINLINE HRESULT ISpeechLexiconWords_GetTypeInfoCount(ISpeechLexiconWords* This,UINT *pctinfo) {
   26124     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   26125 }
   26126 static FORCEINLINE HRESULT ISpeechLexiconWords_GetTypeInfo(ISpeechLexiconWords* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   26127     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   26128 }
   26129 static FORCEINLINE HRESULT ISpeechLexiconWords_GetIDsOfNames(ISpeechLexiconWords* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   26130     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   26131 }
   26132 static FORCEINLINE HRESULT ISpeechLexiconWords_Invoke(ISpeechLexiconWords* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   26133     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   26134 }
   26135 /*** ISpeechLexiconWords methods ***/
   26136 static FORCEINLINE HRESULT ISpeechLexiconWords_get_Count(ISpeechLexiconWords* This,LONG *Count) {
   26137     return This->lpVtbl->get_Count(This,Count);
   26138 }
   26139 static FORCEINLINE HRESULT ISpeechLexiconWords_Item(ISpeechLexiconWords* This,LONG Index,ISpeechLexiconWord **Word) {
   26140     return This->lpVtbl->Item(This,Index,Word);
   26141 }
   26142 static FORCEINLINE HRESULT ISpeechLexiconWords_get__NewEnum(ISpeechLexiconWords* This,IUnknown **EnumVARIANT) {
   26143     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   26144 }
   26145 #endif
   26146 #endif
   26147 
   26148 #endif
   26149 
   26150 HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_get_Count_Proxy(
   26151     ISpeechLexiconWords* This,
   26152     LONG *Count);
   26153 void __RPC_STUB ISpeechLexiconWords_get_Count_Stub(
   26154     IRpcStubBuffer* This,
   26155     IRpcChannelBuffer* pRpcChannelBuffer,
   26156     PRPC_MESSAGE pRpcMessage,
   26157     DWORD* pdwStubPhase);
   26158 HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_Item_Proxy(
   26159     ISpeechLexiconWords* This,
   26160     LONG Index,
   26161     ISpeechLexiconWord **Word);
   26162 void __RPC_STUB ISpeechLexiconWords_Item_Stub(
   26163     IRpcStubBuffer* This,
   26164     IRpcChannelBuffer* pRpcChannelBuffer,
   26165     PRPC_MESSAGE pRpcMessage,
   26166     DWORD* pdwStubPhase);
   26167 HRESULT STDMETHODCALLTYPE ISpeechLexiconWords_get__NewEnum_Proxy(
   26168     ISpeechLexiconWords* This,
   26169     IUnknown **EnumVARIANT);
   26170 void __RPC_STUB ISpeechLexiconWords_get__NewEnum_Stub(
   26171     IRpcStubBuffer* This,
   26172     IRpcChannelBuffer* pRpcChannelBuffer,
   26173     PRPC_MESSAGE pRpcMessage,
   26174     DWORD* pdwStubPhase);
   26175 
   26176 #endif  /* __ISpeechLexiconWords_INTERFACE_DEFINED__ */
   26177 
   26178 /*****************************************************************************
   26179  * ISpeechLexicon interface
   26180  */
   26181 #ifndef __ISpeechLexicon_INTERFACE_DEFINED__
   26182 #define __ISpeechLexicon_INTERFACE_DEFINED__
   26183 
   26184 DEFINE_GUID(IID_ISpeechLexicon, 0x3da7627a, 0xc7ae, 0x4b23, 0x87,0x08, 0x63,0x8c,0x50,0x36,0x2c,0x25);
   26185 #if defined(__cplusplus) && !defined(CINTERFACE)
   26186 MIDL_INTERFACE("3da7627a-c7ae-4b23-8708-638c50362c25")
   26187 ISpeechLexicon : public IDispatch
   26188 {
   26189     virtual HRESULT STDMETHODCALLTYPE get_GenerationId(
   26190         LONG *GenerationId) = 0;
   26191 
   26192     virtual HRESULT STDMETHODCALLTYPE GetWords(
   26193         SpeechLexiconType Flags,
   26194         LONG *GenerationID,
   26195         ISpeechLexiconWords **Words) = 0;
   26196 
   26197     virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
   26198         BSTR bstrWord,
   26199         SpeechLanguageId LangId,
   26200         SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
   26201         BSTR bstrPronunciation = L"") = 0;
   26202 
   26203     virtual HRESULT STDMETHODCALLTYPE AddPronunciationByPhoneIds(
   26204         BSTR bstrWord,
   26205         SpeechLanguageId LangId,
   26206         SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
   26207         VARIANT *PhoneIds = 0) = 0;
   26208 
   26209     virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
   26210         BSTR bstrWord,
   26211         SpeechLanguageId LangId,
   26212         SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
   26213         BSTR bstrPronunciation = L"") = 0;
   26214 
   26215     virtual HRESULT STDMETHODCALLTYPE RemovePronunciationByPhoneIds(
   26216         BSTR bstrWord,
   26217         SpeechLanguageId LangId,
   26218         SpeechPartOfSpeech PartOfSpeech = SPSUnknown,
   26219         VARIANT *PhoneIds = 0) = 0;
   26220 
   26221     virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
   26222         BSTR bstrWord,
   26223         SpeechLanguageId LangId,
   26224         SpeechLexiconType TypeFlags,
   26225         ISpeechLexiconPronunciations **ppPronunciations) = 0;
   26226 
   26227     virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
   26228         LONG *GenerationID,
   26229         ISpeechLexiconWords **ppWords) = 0;
   26230 
   26231 };
   26232 #ifdef __CRT_UUID_DECL
   26233 __CRT_UUID_DECL(ISpeechLexicon, 0x3da7627a, 0xc7ae, 0x4b23, 0x87,0x08, 0x63,0x8c,0x50,0x36,0x2c,0x25)
   26234 #endif
   26235 #else
   26236 typedef struct ISpeechLexiconVtbl {
   26237     BEGIN_INTERFACE
   26238 
   26239     /*** IUnknown methods ***/
   26240     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   26241         ISpeechLexicon* This,
   26242         REFIID riid,
   26243         void **ppvObject);
   26244 
   26245     ULONG (STDMETHODCALLTYPE *AddRef)(
   26246         ISpeechLexicon* This);
   26247 
   26248     ULONG (STDMETHODCALLTYPE *Release)(
   26249         ISpeechLexicon* This);
   26250 
   26251     /*** IDispatch methods ***/
   26252     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   26253         ISpeechLexicon* This,
   26254         UINT *pctinfo);
   26255 
   26256     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   26257         ISpeechLexicon* This,
   26258         UINT iTInfo,
   26259         LCID lcid,
   26260         ITypeInfo **ppTInfo);
   26261 
   26262     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   26263         ISpeechLexicon* This,
   26264         REFIID riid,
   26265         LPOLESTR *rgszNames,
   26266         UINT cNames,
   26267         LCID lcid,
   26268         DISPID *rgDispId);
   26269 
   26270     HRESULT (STDMETHODCALLTYPE *Invoke)(
   26271         ISpeechLexicon* This,
   26272         DISPID dispIdMember,
   26273         REFIID riid,
   26274         LCID lcid,
   26275         WORD wFlags,
   26276         DISPPARAMS *pDispParams,
   26277         VARIANT *pVarResult,
   26278         EXCEPINFO *pExcepInfo,
   26279         UINT *puArgErr);
   26280 
   26281     /*** ISpeechLexicon methods ***/
   26282     HRESULT (STDMETHODCALLTYPE *get_GenerationId)(
   26283         ISpeechLexicon* This,
   26284         LONG *GenerationId);
   26285 
   26286     HRESULT (STDMETHODCALLTYPE *GetWords)(
   26287         ISpeechLexicon* This,
   26288         SpeechLexiconType Flags,
   26289         LONG *GenerationID,
   26290         ISpeechLexiconWords **Words);
   26291 
   26292     HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
   26293         ISpeechLexicon* This,
   26294         BSTR bstrWord,
   26295         SpeechLanguageId LangId,
   26296         SpeechPartOfSpeech PartOfSpeech,
   26297         BSTR bstrPronunciation);
   26298 
   26299     HRESULT (STDMETHODCALLTYPE *AddPronunciationByPhoneIds)(
   26300         ISpeechLexicon* This,
   26301         BSTR bstrWord,
   26302         SpeechLanguageId LangId,
   26303         SpeechPartOfSpeech PartOfSpeech,
   26304         VARIANT *PhoneIds);
   26305 
   26306     HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
   26307         ISpeechLexicon* This,
   26308         BSTR bstrWord,
   26309         SpeechLanguageId LangId,
   26310         SpeechPartOfSpeech PartOfSpeech,
   26311         BSTR bstrPronunciation);
   26312 
   26313     HRESULT (STDMETHODCALLTYPE *RemovePronunciationByPhoneIds)(
   26314         ISpeechLexicon* This,
   26315         BSTR bstrWord,
   26316         SpeechLanguageId LangId,
   26317         SpeechPartOfSpeech PartOfSpeech,
   26318         VARIANT *PhoneIds);
   26319 
   26320     HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
   26321         ISpeechLexicon* This,
   26322         BSTR bstrWord,
   26323         SpeechLanguageId LangId,
   26324         SpeechLexiconType TypeFlags,
   26325         ISpeechLexiconPronunciations **ppPronunciations);
   26326 
   26327     HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
   26328         ISpeechLexicon* This,
   26329         LONG *GenerationID,
   26330         ISpeechLexiconWords **ppWords);
   26331 
   26332     END_INTERFACE
   26333 } ISpeechLexiconVtbl;
   26334 interface ISpeechLexicon {
   26335     CONST_VTBL ISpeechLexiconVtbl* lpVtbl;
   26336 };
   26337 
   26338 #ifdef COBJMACROS
   26339 #ifndef WIDL_C_INLINE_WRAPPERS
   26340 /*** IUnknown methods ***/
   26341 #define ISpeechLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   26342 #define ISpeechLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
   26343 #define ISpeechLexicon_Release(This) (This)->lpVtbl->Release(This)
   26344 /*** IDispatch methods ***/
   26345 #define ISpeechLexicon_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   26346 #define ISpeechLexicon_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   26347 #define ISpeechLexicon_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   26348 #define ISpeechLexicon_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   26349 /*** ISpeechLexicon methods ***/
   26350 #define ISpeechLexicon_get_GenerationId(This,GenerationId) (This)->lpVtbl->get_GenerationId(This,GenerationId)
   26351 #define ISpeechLexicon_GetWords(This,Flags,GenerationID,Words) (This)->lpVtbl->GetWords(This,Flags,GenerationID,Words)
   26352 #define ISpeechLexicon_AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation) (This)->lpVtbl->AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)
   26353 #define ISpeechLexicon_AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds) (This)->lpVtbl->AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)
   26354 #define ISpeechLexicon_RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation) (This)->lpVtbl->RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation)
   26355 #define ISpeechLexicon_RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds) (This)->lpVtbl->RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds)
   26356 #define ISpeechLexicon_GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations) (This)->lpVtbl->GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations)
   26357 #define ISpeechLexicon_GetGenerationChange(This,GenerationID,ppWords) (This)->lpVtbl->GetGenerationChange(This,GenerationID,ppWords)
   26358 #else
   26359 /*** IUnknown methods ***/
   26360 static FORCEINLINE HRESULT ISpeechLexicon_QueryInterface(ISpeechLexicon* This,REFIID riid,void **ppvObject) {
   26361     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   26362 }
   26363 static FORCEINLINE ULONG ISpeechLexicon_AddRef(ISpeechLexicon* This) {
   26364     return This->lpVtbl->AddRef(This);
   26365 }
   26366 static FORCEINLINE ULONG ISpeechLexicon_Release(ISpeechLexicon* This) {
   26367     return This->lpVtbl->Release(This);
   26368 }
   26369 /*** IDispatch methods ***/
   26370 static FORCEINLINE HRESULT ISpeechLexicon_GetTypeInfoCount(ISpeechLexicon* This,UINT *pctinfo) {
   26371     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   26372 }
   26373 static FORCEINLINE HRESULT ISpeechLexicon_GetTypeInfo(ISpeechLexicon* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   26374     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   26375 }
   26376 static FORCEINLINE HRESULT ISpeechLexicon_GetIDsOfNames(ISpeechLexicon* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   26377     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   26378 }
   26379 static FORCEINLINE HRESULT ISpeechLexicon_Invoke(ISpeechLexicon* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   26380     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   26381 }
   26382 /*** ISpeechLexicon methods ***/
   26383 static FORCEINLINE HRESULT ISpeechLexicon_get_GenerationId(ISpeechLexicon* This,LONG *GenerationId) {
   26384     return This->lpVtbl->get_GenerationId(This,GenerationId);
   26385 }
   26386 static FORCEINLINE HRESULT ISpeechLexicon_GetWords(ISpeechLexicon* This,SpeechLexiconType Flags,LONG *GenerationID,ISpeechLexiconWords **Words) {
   26387     return This->lpVtbl->GetWords(This,Flags,GenerationID,Words);
   26388 }
   26389 static FORCEINLINE HRESULT ISpeechLexicon_AddPronunciation(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,BSTR bstrPronunciation) {
   26390     return This->lpVtbl->AddPronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation);
   26391 }
   26392 static FORCEINLINE HRESULT ISpeechLexicon_AddPronunciationByPhoneIds(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,VARIANT *PhoneIds) {
   26393     return This->lpVtbl->AddPronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds);
   26394 }
   26395 static FORCEINLINE HRESULT ISpeechLexicon_RemovePronunciation(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,BSTR bstrPronunciation) {
   26396     return This->lpVtbl->RemovePronunciation(This,bstrWord,LangId,PartOfSpeech,bstrPronunciation);
   26397 }
   26398 static FORCEINLINE HRESULT ISpeechLexicon_RemovePronunciationByPhoneIds(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechPartOfSpeech PartOfSpeech,VARIANT *PhoneIds) {
   26399     return This->lpVtbl->RemovePronunciationByPhoneIds(This,bstrWord,LangId,PartOfSpeech,PhoneIds);
   26400 }
   26401 static FORCEINLINE HRESULT ISpeechLexicon_GetPronunciations(ISpeechLexicon* This,BSTR bstrWord,SpeechLanguageId LangId,SpeechLexiconType TypeFlags,ISpeechLexiconPronunciations **ppPronunciations) {
   26402     return This->lpVtbl->GetPronunciations(This,bstrWord,LangId,TypeFlags,ppPronunciations);
   26403 }
   26404 static FORCEINLINE HRESULT ISpeechLexicon_GetGenerationChange(ISpeechLexicon* This,LONG *GenerationID,ISpeechLexiconWords **ppWords) {
   26405     return This->lpVtbl->GetGenerationChange(This,GenerationID,ppWords);
   26406 }
   26407 #endif
   26408 #endif
   26409 
   26410 #endif
   26411 
   26412 HRESULT STDMETHODCALLTYPE ISpeechLexicon_get_GenerationId_Proxy(
   26413     ISpeechLexicon* This,
   26414     LONG *GenerationId);
   26415 void __RPC_STUB ISpeechLexicon_get_GenerationId_Stub(
   26416     IRpcStubBuffer* This,
   26417     IRpcChannelBuffer* pRpcChannelBuffer,
   26418     PRPC_MESSAGE pRpcMessage,
   26419     DWORD* pdwStubPhase);
   26420 HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetWords_Proxy(
   26421     ISpeechLexicon* This,
   26422     SpeechLexiconType Flags,
   26423     LONG *GenerationID,
   26424     ISpeechLexiconWords **Words);
   26425 void __RPC_STUB ISpeechLexicon_GetWords_Stub(
   26426     IRpcStubBuffer* This,
   26427     IRpcChannelBuffer* pRpcChannelBuffer,
   26428     PRPC_MESSAGE pRpcMessage,
   26429     DWORD* pdwStubPhase);
   26430 HRESULT STDMETHODCALLTYPE ISpeechLexicon_AddPronunciation_Proxy(
   26431     ISpeechLexicon* This,
   26432     BSTR bstrWord,
   26433     SpeechLanguageId LangId,
   26434     SpeechPartOfSpeech PartOfSpeech,
   26435     BSTR bstrPronunciation);
   26436 void __RPC_STUB ISpeechLexicon_AddPronunciation_Stub(
   26437     IRpcStubBuffer* This,
   26438     IRpcChannelBuffer* pRpcChannelBuffer,
   26439     PRPC_MESSAGE pRpcMessage,
   26440     DWORD* pdwStubPhase);
   26441 HRESULT STDMETHODCALLTYPE ISpeechLexicon_AddPronunciationByPhoneIds_Proxy(
   26442     ISpeechLexicon* This,
   26443     BSTR bstrWord,
   26444     SpeechLanguageId LangId,
   26445     SpeechPartOfSpeech PartOfSpeech,
   26446     VARIANT *PhoneIds);
   26447 void __RPC_STUB ISpeechLexicon_AddPronunciationByPhoneIds_Stub(
   26448     IRpcStubBuffer* This,
   26449     IRpcChannelBuffer* pRpcChannelBuffer,
   26450     PRPC_MESSAGE pRpcMessage,
   26451     DWORD* pdwStubPhase);
   26452 HRESULT STDMETHODCALLTYPE ISpeechLexicon_RemovePronunciation_Proxy(
   26453     ISpeechLexicon* This,
   26454     BSTR bstrWord,
   26455     SpeechLanguageId LangId,
   26456     SpeechPartOfSpeech PartOfSpeech,
   26457     BSTR bstrPronunciation);
   26458 void __RPC_STUB ISpeechLexicon_RemovePronunciation_Stub(
   26459     IRpcStubBuffer* This,
   26460     IRpcChannelBuffer* pRpcChannelBuffer,
   26461     PRPC_MESSAGE pRpcMessage,
   26462     DWORD* pdwStubPhase);
   26463 HRESULT STDMETHODCALLTYPE ISpeechLexicon_RemovePronunciationByPhoneIds_Proxy(
   26464     ISpeechLexicon* This,
   26465     BSTR bstrWord,
   26466     SpeechLanguageId LangId,
   26467     SpeechPartOfSpeech PartOfSpeech,
   26468     VARIANT *PhoneIds);
   26469 void __RPC_STUB ISpeechLexicon_RemovePronunciationByPhoneIds_Stub(
   26470     IRpcStubBuffer* This,
   26471     IRpcChannelBuffer* pRpcChannelBuffer,
   26472     PRPC_MESSAGE pRpcMessage,
   26473     DWORD* pdwStubPhase);
   26474 HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetPronunciations_Proxy(
   26475     ISpeechLexicon* This,
   26476     BSTR bstrWord,
   26477     SpeechLanguageId LangId,
   26478     SpeechLexiconType TypeFlags,
   26479     ISpeechLexiconPronunciations **ppPronunciations);
   26480 void __RPC_STUB ISpeechLexicon_GetPronunciations_Stub(
   26481     IRpcStubBuffer* This,
   26482     IRpcChannelBuffer* pRpcChannelBuffer,
   26483     PRPC_MESSAGE pRpcMessage,
   26484     DWORD* pdwStubPhase);
   26485 HRESULT STDMETHODCALLTYPE ISpeechLexicon_GetGenerationChange_Proxy(
   26486     ISpeechLexicon* This,
   26487     LONG *GenerationID,
   26488     ISpeechLexiconWords **ppWords);
   26489 void __RPC_STUB ISpeechLexicon_GetGenerationChange_Stub(
   26490     IRpcStubBuffer* This,
   26491     IRpcChannelBuffer* pRpcChannelBuffer,
   26492     PRPC_MESSAGE pRpcMessage,
   26493     DWORD* pdwStubPhase);
   26494 
   26495 #endif  /* __ISpeechLexicon_INTERFACE_DEFINED__ */
   26496 
   26497 /*****************************************************************************
   26498  * ISpeechLexiconWord interface
   26499  */
   26500 #ifndef __ISpeechLexiconWord_INTERFACE_DEFINED__
   26501 #define __ISpeechLexiconWord_INTERFACE_DEFINED__
   26502 
   26503 DEFINE_GUID(IID_ISpeechLexiconWord, 0x4e5b933c, 0xc9be, 0x48ed, 0x88,0x42, 0x1e,0xe5,0x1b,0xb1,0xd4,0xff);
   26504 #if defined(__cplusplus) && !defined(CINTERFACE)
   26505 MIDL_INTERFACE("4e5b933c-c9be-48ed-8842-1ee51bb1d4ff")
   26506 ISpeechLexiconWord : public IDispatch
   26507 {
   26508     virtual HRESULT STDMETHODCALLTYPE get_LangId(
   26509         SpeechLanguageId *LangId) = 0;
   26510 
   26511     virtual HRESULT STDMETHODCALLTYPE get_Type(
   26512         SpeechWordType *WordType) = 0;
   26513 
   26514     virtual HRESULT STDMETHODCALLTYPE get_Word(
   26515         BSTR *Word) = 0;
   26516 
   26517     virtual HRESULT STDMETHODCALLTYPE get_Pronunciations(
   26518         ISpeechLexiconPronunciations **Pronunciations) = 0;
   26519 
   26520 };
   26521 #ifdef __CRT_UUID_DECL
   26522 __CRT_UUID_DECL(ISpeechLexiconWord, 0x4e5b933c, 0xc9be, 0x48ed, 0x88,0x42, 0x1e,0xe5,0x1b,0xb1,0xd4,0xff)
   26523 #endif
   26524 #else
   26525 typedef struct ISpeechLexiconWordVtbl {
   26526     BEGIN_INTERFACE
   26527 
   26528     /*** IUnknown methods ***/
   26529     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   26530         ISpeechLexiconWord* This,
   26531         REFIID riid,
   26532         void **ppvObject);
   26533 
   26534     ULONG (STDMETHODCALLTYPE *AddRef)(
   26535         ISpeechLexiconWord* This);
   26536 
   26537     ULONG (STDMETHODCALLTYPE *Release)(
   26538         ISpeechLexiconWord* This);
   26539 
   26540     /*** IDispatch methods ***/
   26541     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   26542         ISpeechLexiconWord* This,
   26543         UINT *pctinfo);
   26544 
   26545     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   26546         ISpeechLexiconWord* This,
   26547         UINT iTInfo,
   26548         LCID lcid,
   26549         ITypeInfo **ppTInfo);
   26550 
   26551     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   26552         ISpeechLexiconWord* This,
   26553         REFIID riid,
   26554         LPOLESTR *rgszNames,
   26555         UINT cNames,
   26556         LCID lcid,
   26557         DISPID *rgDispId);
   26558 
   26559     HRESULT (STDMETHODCALLTYPE *Invoke)(
   26560         ISpeechLexiconWord* This,
   26561         DISPID dispIdMember,
   26562         REFIID riid,
   26563         LCID lcid,
   26564         WORD wFlags,
   26565         DISPPARAMS *pDispParams,
   26566         VARIANT *pVarResult,
   26567         EXCEPINFO *pExcepInfo,
   26568         UINT *puArgErr);
   26569 
   26570     /*** ISpeechLexiconWord methods ***/
   26571     HRESULT (STDMETHODCALLTYPE *get_LangId)(
   26572         ISpeechLexiconWord* This,
   26573         SpeechLanguageId *LangId);
   26574 
   26575     HRESULT (STDMETHODCALLTYPE *get_Type)(
   26576         ISpeechLexiconWord* This,
   26577         SpeechWordType *WordType);
   26578 
   26579     HRESULT (STDMETHODCALLTYPE *get_Word)(
   26580         ISpeechLexiconWord* This,
   26581         BSTR *Word);
   26582 
   26583     HRESULT (STDMETHODCALLTYPE *get_Pronunciations)(
   26584         ISpeechLexiconWord* This,
   26585         ISpeechLexiconPronunciations **Pronunciations);
   26586 
   26587     END_INTERFACE
   26588 } ISpeechLexiconWordVtbl;
   26589 interface ISpeechLexiconWord {
   26590     CONST_VTBL ISpeechLexiconWordVtbl* lpVtbl;
   26591 };
   26592 
   26593 #ifdef COBJMACROS
   26594 #ifndef WIDL_C_INLINE_WRAPPERS
   26595 /*** IUnknown methods ***/
   26596 #define ISpeechLexiconWord_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   26597 #define ISpeechLexiconWord_AddRef(This) (This)->lpVtbl->AddRef(This)
   26598 #define ISpeechLexiconWord_Release(This) (This)->lpVtbl->Release(This)
   26599 /*** IDispatch methods ***/
   26600 #define ISpeechLexiconWord_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   26601 #define ISpeechLexiconWord_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   26602 #define ISpeechLexiconWord_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   26603 #define ISpeechLexiconWord_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   26604 /*** ISpeechLexiconWord methods ***/
   26605 #define ISpeechLexiconWord_get_LangId(This,LangId) (This)->lpVtbl->get_LangId(This,LangId)
   26606 #define ISpeechLexiconWord_get_Type(This,WordType) (This)->lpVtbl->get_Type(This,WordType)
   26607 #define ISpeechLexiconWord_get_Word(This,Word) (This)->lpVtbl->get_Word(This,Word)
   26608 #define ISpeechLexiconWord_get_Pronunciations(This,Pronunciations) (This)->lpVtbl->get_Pronunciations(This,Pronunciations)
   26609 #else
   26610 /*** IUnknown methods ***/
   26611 static FORCEINLINE HRESULT ISpeechLexiconWord_QueryInterface(ISpeechLexiconWord* This,REFIID riid,void **ppvObject) {
   26612     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   26613 }
   26614 static FORCEINLINE ULONG ISpeechLexiconWord_AddRef(ISpeechLexiconWord* This) {
   26615     return This->lpVtbl->AddRef(This);
   26616 }
   26617 static FORCEINLINE ULONG ISpeechLexiconWord_Release(ISpeechLexiconWord* This) {
   26618     return This->lpVtbl->Release(This);
   26619 }
   26620 /*** IDispatch methods ***/
   26621 static FORCEINLINE HRESULT ISpeechLexiconWord_GetTypeInfoCount(ISpeechLexiconWord* This,UINT *pctinfo) {
   26622     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   26623 }
   26624 static FORCEINLINE HRESULT ISpeechLexiconWord_GetTypeInfo(ISpeechLexiconWord* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   26625     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   26626 }
   26627 static FORCEINLINE HRESULT ISpeechLexiconWord_GetIDsOfNames(ISpeechLexiconWord* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   26628     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   26629 }
   26630 static FORCEINLINE HRESULT ISpeechLexiconWord_Invoke(ISpeechLexiconWord* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   26631     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   26632 }
   26633 /*** ISpeechLexiconWord methods ***/
   26634 static FORCEINLINE HRESULT ISpeechLexiconWord_get_LangId(ISpeechLexiconWord* This,SpeechLanguageId *LangId) {
   26635     return This->lpVtbl->get_LangId(This,LangId);
   26636 }
   26637 static FORCEINLINE HRESULT ISpeechLexiconWord_get_Type(ISpeechLexiconWord* This,SpeechWordType *WordType) {
   26638     return This->lpVtbl->get_Type(This,WordType);
   26639 }
   26640 static FORCEINLINE HRESULT ISpeechLexiconWord_get_Word(ISpeechLexiconWord* This,BSTR *Word) {
   26641     return This->lpVtbl->get_Word(This,Word);
   26642 }
   26643 static FORCEINLINE HRESULT ISpeechLexiconWord_get_Pronunciations(ISpeechLexiconWord* This,ISpeechLexiconPronunciations **Pronunciations) {
   26644     return This->lpVtbl->get_Pronunciations(This,Pronunciations);
   26645 }
   26646 #endif
   26647 #endif
   26648 
   26649 #endif
   26650 
   26651 HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_LangId_Proxy(
   26652     ISpeechLexiconWord* This,
   26653     SpeechLanguageId *LangId);
   26654 void __RPC_STUB ISpeechLexiconWord_get_LangId_Stub(
   26655     IRpcStubBuffer* This,
   26656     IRpcChannelBuffer* pRpcChannelBuffer,
   26657     PRPC_MESSAGE pRpcMessage,
   26658     DWORD* pdwStubPhase);
   26659 HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Type_Proxy(
   26660     ISpeechLexiconWord* This,
   26661     SpeechWordType *WordType);
   26662 void __RPC_STUB ISpeechLexiconWord_get_Type_Stub(
   26663     IRpcStubBuffer* This,
   26664     IRpcChannelBuffer* pRpcChannelBuffer,
   26665     PRPC_MESSAGE pRpcMessage,
   26666     DWORD* pdwStubPhase);
   26667 HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Word_Proxy(
   26668     ISpeechLexiconWord* This,
   26669     BSTR *Word);
   26670 void __RPC_STUB ISpeechLexiconWord_get_Word_Stub(
   26671     IRpcStubBuffer* This,
   26672     IRpcChannelBuffer* pRpcChannelBuffer,
   26673     PRPC_MESSAGE pRpcMessage,
   26674     DWORD* pdwStubPhase);
   26675 HRESULT STDMETHODCALLTYPE ISpeechLexiconWord_get_Pronunciations_Proxy(
   26676     ISpeechLexiconWord* This,
   26677     ISpeechLexiconPronunciations **Pronunciations);
   26678 void __RPC_STUB ISpeechLexiconWord_get_Pronunciations_Stub(
   26679     IRpcStubBuffer* This,
   26680     IRpcChannelBuffer* pRpcChannelBuffer,
   26681     PRPC_MESSAGE pRpcMessage,
   26682     DWORD* pdwStubPhase);
   26683 
   26684 #endif  /* __ISpeechLexiconWord_INTERFACE_DEFINED__ */
   26685 
   26686 /*****************************************************************************
   26687  * ISpeechLexiconPronunciations interface
   26688  */
   26689 #ifndef __ISpeechLexiconPronunciations_INTERFACE_DEFINED__
   26690 #define __ISpeechLexiconPronunciations_INTERFACE_DEFINED__
   26691 
   26692 DEFINE_GUID(IID_ISpeechLexiconPronunciations, 0x72829128, 0x5682, 0x4704, 0xa0,0xd4, 0x3e,0x2b,0xb6,0xf2,0xea,0xd3);
   26693 #if defined(__cplusplus) && !defined(CINTERFACE)
   26694 MIDL_INTERFACE("72829128-5682-4704-a0d4-3e2bb6f2ead3")
   26695 ISpeechLexiconPronunciations : public IDispatch
   26696 {
   26697     virtual HRESULT STDMETHODCALLTYPE get_Count(
   26698         LONG *Count) = 0;
   26699 
   26700     virtual HRESULT STDMETHODCALLTYPE Item(
   26701         LONG Index,
   26702         ISpeechLexiconPronunciation **Pronunciation) = 0;
   26703 
   26704     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
   26705         IUnknown **EnumVARIANT) = 0;
   26706 
   26707 };
   26708 #ifdef __CRT_UUID_DECL
   26709 __CRT_UUID_DECL(ISpeechLexiconPronunciations, 0x72829128, 0x5682, 0x4704, 0xa0,0xd4, 0x3e,0x2b,0xb6,0xf2,0xea,0xd3)
   26710 #endif
   26711 #else
   26712 typedef struct ISpeechLexiconPronunciationsVtbl {
   26713     BEGIN_INTERFACE
   26714 
   26715     /*** IUnknown methods ***/
   26716     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   26717         ISpeechLexiconPronunciations* This,
   26718         REFIID riid,
   26719         void **ppvObject);
   26720 
   26721     ULONG (STDMETHODCALLTYPE *AddRef)(
   26722         ISpeechLexiconPronunciations* This);
   26723 
   26724     ULONG (STDMETHODCALLTYPE *Release)(
   26725         ISpeechLexiconPronunciations* This);
   26726 
   26727     /*** IDispatch methods ***/
   26728     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   26729         ISpeechLexiconPronunciations* This,
   26730         UINT *pctinfo);
   26731 
   26732     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   26733         ISpeechLexiconPronunciations* This,
   26734         UINT iTInfo,
   26735         LCID lcid,
   26736         ITypeInfo **ppTInfo);
   26737 
   26738     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   26739         ISpeechLexiconPronunciations* This,
   26740         REFIID riid,
   26741         LPOLESTR *rgszNames,
   26742         UINT cNames,
   26743         LCID lcid,
   26744         DISPID *rgDispId);
   26745 
   26746     HRESULT (STDMETHODCALLTYPE *Invoke)(
   26747         ISpeechLexiconPronunciations* This,
   26748         DISPID dispIdMember,
   26749         REFIID riid,
   26750         LCID lcid,
   26751         WORD wFlags,
   26752         DISPPARAMS *pDispParams,
   26753         VARIANT *pVarResult,
   26754         EXCEPINFO *pExcepInfo,
   26755         UINT *puArgErr);
   26756 
   26757     /*** ISpeechLexiconPronunciations methods ***/
   26758     HRESULT (STDMETHODCALLTYPE *get_Count)(
   26759         ISpeechLexiconPronunciations* This,
   26760         LONG *Count);
   26761 
   26762     HRESULT (STDMETHODCALLTYPE *Item)(
   26763         ISpeechLexiconPronunciations* This,
   26764         LONG Index,
   26765         ISpeechLexiconPronunciation **Pronunciation);
   26766 
   26767     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
   26768         ISpeechLexiconPronunciations* This,
   26769         IUnknown **EnumVARIANT);
   26770 
   26771     END_INTERFACE
   26772 } ISpeechLexiconPronunciationsVtbl;
   26773 interface ISpeechLexiconPronunciations {
   26774     CONST_VTBL ISpeechLexiconPronunciationsVtbl* lpVtbl;
   26775 };
   26776 
   26777 #ifdef COBJMACROS
   26778 #ifndef WIDL_C_INLINE_WRAPPERS
   26779 /*** IUnknown methods ***/
   26780 #define ISpeechLexiconPronunciations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   26781 #define ISpeechLexiconPronunciations_AddRef(This) (This)->lpVtbl->AddRef(This)
   26782 #define ISpeechLexiconPronunciations_Release(This) (This)->lpVtbl->Release(This)
   26783 /*** IDispatch methods ***/
   26784 #define ISpeechLexiconPronunciations_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   26785 #define ISpeechLexiconPronunciations_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   26786 #define ISpeechLexiconPronunciations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   26787 #define ISpeechLexiconPronunciations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   26788 /*** ISpeechLexiconPronunciations methods ***/
   26789 #define ISpeechLexiconPronunciations_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   26790 #define ISpeechLexiconPronunciations_Item(This,Index,Pronunciation) (This)->lpVtbl->Item(This,Index,Pronunciation)
   26791 #define ISpeechLexiconPronunciations_get__NewEnum(This,EnumVARIANT) (This)->lpVtbl->get__NewEnum(This,EnumVARIANT)
   26792 #else
   26793 /*** IUnknown methods ***/
   26794 static FORCEINLINE HRESULT ISpeechLexiconPronunciations_QueryInterface(ISpeechLexiconPronunciations* This,REFIID riid,void **ppvObject) {
   26795     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   26796 }
   26797 static FORCEINLINE ULONG ISpeechLexiconPronunciations_AddRef(ISpeechLexiconPronunciations* This) {
   26798     return This->lpVtbl->AddRef(This);
   26799 }
   26800 static FORCEINLINE ULONG ISpeechLexiconPronunciations_Release(ISpeechLexiconPronunciations* This) {
   26801     return This->lpVtbl->Release(This);
   26802 }
   26803 /*** IDispatch methods ***/
   26804 static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetTypeInfoCount(ISpeechLexiconPronunciations* This,UINT *pctinfo) {
   26805     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   26806 }
   26807 static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetTypeInfo(ISpeechLexiconPronunciations* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   26808     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   26809 }
   26810 static FORCEINLINE HRESULT ISpeechLexiconPronunciations_GetIDsOfNames(ISpeechLexiconPronunciations* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   26811     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   26812 }
   26813 static FORCEINLINE HRESULT ISpeechLexiconPronunciations_Invoke(ISpeechLexiconPronunciations* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   26814     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   26815 }
   26816 /*** ISpeechLexiconPronunciations methods ***/
   26817 static FORCEINLINE HRESULT ISpeechLexiconPronunciations_get_Count(ISpeechLexiconPronunciations* This,LONG *Count) {
   26818     return This->lpVtbl->get_Count(This,Count);
   26819 }
   26820 static FORCEINLINE HRESULT ISpeechLexiconPronunciations_Item(ISpeechLexiconPronunciations* This,LONG Index,ISpeechLexiconPronunciation **Pronunciation) {
   26821     return This->lpVtbl->Item(This,Index,Pronunciation);
   26822 }
   26823 static FORCEINLINE HRESULT ISpeechLexiconPronunciations_get__NewEnum(ISpeechLexiconPronunciations* This,IUnknown **EnumVARIANT) {
   26824     return This->lpVtbl->get__NewEnum(This,EnumVARIANT);
   26825 }
   26826 #endif
   26827 #endif
   26828 
   26829 #endif
   26830 
   26831 HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_get_Count_Proxy(
   26832     ISpeechLexiconPronunciations* This,
   26833     LONG *Count);
   26834 void __RPC_STUB ISpeechLexiconPronunciations_get_Count_Stub(
   26835     IRpcStubBuffer* This,
   26836     IRpcChannelBuffer* pRpcChannelBuffer,
   26837     PRPC_MESSAGE pRpcMessage,
   26838     DWORD* pdwStubPhase);
   26839 HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_Item_Proxy(
   26840     ISpeechLexiconPronunciations* This,
   26841     LONG Index,
   26842     ISpeechLexiconPronunciation **Pronunciation);
   26843 void __RPC_STUB ISpeechLexiconPronunciations_Item_Stub(
   26844     IRpcStubBuffer* This,
   26845     IRpcChannelBuffer* pRpcChannelBuffer,
   26846     PRPC_MESSAGE pRpcMessage,
   26847     DWORD* pdwStubPhase);
   26848 HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciations_get__NewEnum_Proxy(
   26849     ISpeechLexiconPronunciations* This,
   26850     IUnknown **EnumVARIANT);
   26851 void __RPC_STUB ISpeechLexiconPronunciations_get__NewEnum_Stub(
   26852     IRpcStubBuffer* This,
   26853     IRpcChannelBuffer* pRpcChannelBuffer,
   26854     PRPC_MESSAGE pRpcMessage,
   26855     DWORD* pdwStubPhase);
   26856 
   26857 #endif  /* __ISpeechLexiconPronunciations_INTERFACE_DEFINED__ */
   26858 
   26859 /*****************************************************************************
   26860  * ISpeechLexiconPronunciation interface
   26861  */
   26862 #ifndef __ISpeechLexiconPronunciation_INTERFACE_DEFINED__
   26863 #define __ISpeechLexiconPronunciation_INTERFACE_DEFINED__
   26864 
   26865 DEFINE_GUID(IID_ISpeechLexiconPronunciation, 0x95252c5d, 0x9e43, 0x4f4a, 0x98,0x99, 0x48,0xee,0x73,0x35,0x2f,0x9f);
   26866 #if defined(__cplusplus) && !defined(CINTERFACE)
   26867 MIDL_INTERFACE("95252c5d-9e43-4f4a-9899-48ee73352f9f")
   26868 ISpeechLexiconPronunciation : public IDispatch
   26869 {
   26870     virtual HRESULT STDMETHODCALLTYPE get_Type(
   26871         SpeechLexiconType *LexiconType) = 0;
   26872 
   26873     virtual HRESULT STDMETHODCALLTYPE get_LangId(
   26874         SpeechLanguageId *LangId) = 0;
   26875 
   26876     virtual HRESULT STDMETHODCALLTYPE get_PartOfSpeech(
   26877         SpeechPartOfSpeech *PartOfSpeech) = 0;
   26878 
   26879     virtual HRESULT STDMETHODCALLTYPE get_PhoneIds(
   26880         VARIANT *PhoneIds) = 0;
   26881 
   26882     virtual HRESULT STDMETHODCALLTYPE get_Symbolic(
   26883         BSTR *Symbolic) = 0;
   26884 
   26885 };
   26886 #ifdef __CRT_UUID_DECL
   26887 __CRT_UUID_DECL(ISpeechLexiconPronunciation, 0x95252c5d, 0x9e43, 0x4f4a, 0x98,0x99, 0x48,0xee,0x73,0x35,0x2f,0x9f)
   26888 #endif
   26889 #else
   26890 typedef struct ISpeechLexiconPronunciationVtbl {
   26891     BEGIN_INTERFACE
   26892 
   26893     /*** IUnknown methods ***/
   26894     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   26895         ISpeechLexiconPronunciation* This,
   26896         REFIID riid,
   26897         void **ppvObject);
   26898 
   26899     ULONG (STDMETHODCALLTYPE *AddRef)(
   26900         ISpeechLexiconPronunciation* This);
   26901 
   26902     ULONG (STDMETHODCALLTYPE *Release)(
   26903         ISpeechLexiconPronunciation* This);
   26904 
   26905     /*** IDispatch methods ***/
   26906     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   26907         ISpeechLexiconPronunciation* This,
   26908         UINT *pctinfo);
   26909 
   26910     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   26911         ISpeechLexiconPronunciation* This,
   26912         UINT iTInfo,
   26913         LCID lcid,
   26914         ITypeInfo **ppTInfo);
   26915 
   26916     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   26917         ISpeechLexiconPronunciation* This,
   26918         REFIID riid,
   26919         LPOLESTR *rgszNames,
   26920         UINT cNames,
   26921         LCID lcid,
   26922         DISPID *rgDispId);
   26923 
   26924     HRESULT (STDMETHODCALLTYPE *Invoke)(
   26925         ISpeechLexiconPronunciation* This,
   26926         DISPID dispIdMember,
   26927         REFIID riid,
   26928         LCID lcid,
   26929         WORD wFlags,
   26930         DISPPARAMS *pDispParams,
   26931         VARIANT *pVarResult,
   26932         EXCEPINFO *pExcepInfo,
   26933         UINT *puArgErr);
   26934 
   26935     /*** ISpeechLexiconPronunciation methods ***/
   26936     HRESULT (STDMETHODCALLTYPE *get_Type)(
   26937         ISpeechLexiconPronunciation* This,
   26938         SpeechLexiconType *LexiconType);
   26939 
   26940     HRESULT (STDMETHODCALLTYPE *get_LangId)(
   26941         ISpeechLexiconPronunciation* This,
   26942         SpeechLanguageId *LangId);
   26943 
   26944     HRESULT (STDMETHODCALLTYPE *get_PartOfSpeech)(
   26945         ISpeechLexiconPronunciation* This,
   26946         SpeechPartOfSpeech *PartOfSpeech);
   26947 
   26948     HRESULT (STDMETHODCALLTYPE *get_PhoneIds)(
   26949         ISpeechLexiconPronunciation* This,
   26950         VARIANT *PhoneIds);
   26951 
   26952     HRESULT (STDMETHODCALLTYPE *get_Symbolic)(
   26953         ISpeechLexiconPronunciation* This,
   26954         BSTR *Symbolic);
   26955 
   26956     END_INTERFACE
   26957 } ISpeechLexiconPronunciationVtbl;
   26958 interface ISpeechLexiconPronunciation {
   26959     CONST_VTBL ISpeechLexiconPronunciationVtbl* lpVtbl;
   26960 };
   26961 
   26962 #ifdef COBJMACROS
   26963 #ifndef WIDL_C_INLINE_WRAPPERS
   26964 /*** IUnknown methods ***/
   26965 #define ISpeechLexiconPronunciation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   26966 #define ISpeechLexiconPronunciation_AddRef(This) (This)->lpVtbl->AddRef(This)
   26967 #define ISpeechLexiconPronunciation_Release(This) (This)->lpVtbl->Release(This)
   26968 /*** IDispatch methods ***/
   26969 #define ISpeechLexiconPronunciation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   26970 #define ISpeechLexiconPronunciation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   26971 #define ISpeechLexiconPronunciation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   26972 #define ISpeechLexiconPronunciation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   26973 /*** ISpeechLexiconPronunciation methods ***/
   26974 #define ISpeechLexiconPronunciation_get_Type(This,LexiconType) (This)->lpVtbl->get_Type(This,LexiconType)
   26975 #define ISpeechLexiconPronunciation_get_LangId(This,LangId) (This)->lpVtbl->get_LangId(This,LangId)
   26976 #define ISpeechLexiconPronunciation_get_PartOfSpeech(This,PartOfSpeech) (This)->lpVtbl->get_PartOfSpeech(This,PartOfSpeech)
   26977 #define ISpeechLexiconPronunciation_get_PhoneIds(This,PhoneIds) (This)->lpVtbl->get_PhoneIds(This,PhoneIds)
   26978 #define ISpeechLexiconPronunciation_get_Symbolic(This,Symbolic) (This)->lpVtbl->get_Symbolic(This,Symbolic)
   26979 #else
   26980 /*** IUnknown methods ***/
   26981 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_QueryInterface(ISpeechLexiconPronunciation* This,REFIID riid,void **ppvObject) {
   26982     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   26983 }
   26984 static FORCEINLINE ULONG ISpeechLexiconPronunciation_AddRef(ISpeechLexiconPronunciation* This) {
   26985     return This->lpVtbl->AddRef(This);
   26986 }
   26987 static FORCEINLINE ULONG ISpeechLexiconPronunciation_Release(ISpeechLexiconPronunciation* This) {
   26988     return This->lpVtbl->Release(This);
   26989 }
   26990 /*** IDispatch methods ***/
   26991 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetTypeInfoCount(ISpeechLexiconPronunciation* This,UINT *pctinfo) {
   26992     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   26993 }
   26994 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetTypeInfo(ISpeechLexiconPronunciation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   26995     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   26996 }
   26997 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_GetIDsOfNames(ISpeechLexiconPronunciation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   26998     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   26999 }
   27000 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_Invoke(ISpeechLexiconPronunciation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   27001     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   27002 }
   27003 /*** ISpeechLexiconPronunciation methods ***/
   27004 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_Type(ISpeechLexiconPronunciation* This,SpeechLexiconType *LexiconType) {
   27005     return This->lpVtbl->get_Type(This,LexiconType);
   27006 }
   27007 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_LangId(ISpeechLexiconPronunciation* This,SpeechLanguageId *LangId) {
   27008     return This->lpVtbl->get_LangId(This,LangId);
   27009 }
   27010 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_PartOfSpeech(ISpeechLexiconPronunciation* This,SpeechPartOfSpeech *PartOfSpeech) {
   27011     return This->lpVtbl->get_PartOfSpeech(This,PartOfSpeech);
   27012 }
   27013 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_PhoneIds(ISpeechLexiconPronunciation* This,VARIANT *PhoneIds) {
   27014     return This->lpVtbl->get_PhoneIds(This,PhoneIds);
   27015 }
   27016 static FORCEINLINE HRESULT ISpeechLexiconPronunciation_get_Symbolic(ISpeechLexiconPronunciation* This,BSTR *Symbolic) {
   27017     return This->lpVtbl->get_Symbolic(This,Symbolic);
   27018 }
   27019 #endif
   27020 #endif
   27021 
   27022 #endif
   27023 
   27024 HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_Type_Proxy(
   27025     ISpeechLexiconPronunciation* This,
   27026     SpeechLexiconType *LexiconType);
   27027 void __RPC_STUB ISpeechLexiconPronunciation_get_Type_Stub(
   27028     IRpcStubBuffer* This,
   27029     IRpcChannelBuffer* pRpcChannelBuffer,
   27030     PRPC_MESSAGE pRpcMessage,
   27031     DWORD* pdwStubPhase);
   27032 HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_LangId_Proxy(
   27033     ISpeechLexiconPronunciation* This,
   27034     SpeechLanguageId *LangId);
   27035 void __RPC_STUB ISpeechLexiconPronunciation_get_LangId_Stub(
   27036     IRpcStubBuffer* This,
   27037     IRpcChannelBuffer* pRpcChannelBuffer,
   27038     PRPC_MESSAGE pRpcMessage,
   27039     DWORD* pdwStubPhase);
   27040 HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_PartOfSpeech_Proxy(
   27041     ISpeechLexiconPronunciation* This,
   27042     SpeechPartOfSpeech *PartOfSpeech);
   27043 void __RPC_STUB ISpeechLexiconPronunciation_get_PartOfSpeech_Stub(
   27044     IRpcStubBuffer* This,
   27045     IRpcChannelBuffer* pRpcChannelBuffer,
   27046     PRPC_MESSAGE pRpcMessage,
   27047     DWORD* pdwStubPhase);
   27048 HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_PhoneIds_Proxy(
   27049     ISpeechLexiconPronunciation* This,
   27050     VARIANT *PhoneIds);
   27051 void __RPC_STUB ISpeechLexiconPronunciation_get_PhoneIds_Stub(
   27052     IRpcStubBuffer* This,
   27053     IRpcChannelBuffer* pRpcChannelBuffer,
   27054     PRPC_MESSAGE pRpcMessage,
   27055     DWORD* pdwStubPhase);
   27056 HRESULT STDMETHODCALLTYPE ISpeechLexiconPronunciation_get_Symbolic_Proxy(
   27057     ISpeechLexiconPronunciation* This,
   27058     BSTR *Symbolic);
   27059 void __RPC_STUB ISpeechLexiconPronunciation_get_Symbolic_Stub(
   27060     IRpcStubBuffer* This,
   27061     IRpcChannelBuffer* pRpcChannelBuffer,
   27062     PRPC_MESSAGE pRpcMessage,
   27063     DWORD* pdwStubPhase);
   27064 
   27065 #endif  /* __ISpeechLexiconPronunciation_INTERFACE_DEFINED__ */
   27066 
   27067 /*****************************************************************************
   27068  * ISpeechPhoneConverter interface
   27069  */
   27070 #ifndef __ISpeechPhoneConverter_INTERFACE_DEFINED__
   27071 #define __ISpeechPhoneConverter_INTERFACE_DEFINED__
   27072 
   27073 DEFINE_GUID(IID_ISpeechPhoneConverter, 0xc3e4f353, 0x433f, 0x43d6, 0x89,0xa1, 0x6a,0x62,0xa7,0x05,0x4c,0x3d);
   27074 #if defined(__cplusplus) && !defined(CINTERFACE)
   27075 MIDL_INTERFACE("c3e4f353-433f-43d6-89a1-6a62a7054c3d")
   27076 ISpeechPhoneConverter : public IDispatch
   27077 {
   27078     virtual HRESULT STDMETHODCALLTYPE get_LanguageId(
   27079         SpeechLanguageId *LanguageId) = 0;
   27080 
   27081     virtual HRESULT STDMETHODCALLTYPE put_LanguageId(
   27082         SpeechLanguageId LanguageId) = 0;
   27083 
   27084     virtual HRESULT STDMETHODCALLTYPE PhoneToId(
   27085         const BSTR Phonemes,
   27086         VARIANT *IdArray) = 0;
   27087 
   27088     virtual HRESULT STDMETHODCALLTYPE IdToPhone(
   27089         const VARIANT IdArray,
   27090         BSTR *Phonemes) = 0;
   27091 
   27092 };
   27093 #ifdef __CRT_UUID_DECL
   27094 __CRT_UUID_DECL(ISpeechPhoneConverter, 0xc3e4f353, 0x433f, 0x43d6, 0x89,0xa1, 0x6a,0x62,0xa7,0x05,0x4c,0x3d)
   27095 #endif
   27096 #else
   27097 typedef struct ISpeechPhoneConverterVtbl {
   27098     BEGIN_INTERFACE
   27099 
   27100     /*** IUnknown methods ***/
   27101     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   27102         ISpeechPhoneConverter* This,
   27103         REFIID riid,
   27104         void **ppvObject);
   27105 
   27106     ULONG (STDMETHODCALLTYPE *AddRef)(
   27107         ISpeechPhoneConverter* This);
   27108 
   27109     ULONG (STDMETHODCALLTYPE *Release)(
   27110         ISpeechPhoneConverter* This);
   27111 
   27112     /*** IDispatch methods ***/
   27113     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   27114         ISpeechPhoneConverter* This,
   27115         UINT *pctinfo);
   27116 
   27117     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   27118         ISpeechPhoneConverter* This,
   27119         UINT iTInfo,
   27120         LCID lcid,
   27121         ITypeInfo **ppTInfo);
   27122 
   27123     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   27124         ISpeechPhoneConverter* This,
   27125         REFIID riid,
   27126         LPOLESTR *rgszNames,
   27127         UINT cNames,
   27128         LCID lcid,
   27129         DISPID *rgDispId);
   27130 
   27131     HRESULT (STDMETHODCALLTYPE *Invoke)(
   27132         ISpeechPhoneConverter* This,
   27133         DISPID dispIdMember,
   27134         REFIID riid,
   27135         LCID lcid,
   27136         WORD wFlags,
   27137         DISPPARAMS *pDispParams,
   27138         VARIANT *pVarResult,
   27139         EXCEPINFO *pExcepInfo,
   27140         UINT *puArgErr);
   27141 
   27142     /*** ISpeechPhoneConverter methods ***/
   27143     HRESULT (STDMETHODCALLTYPE *get_LanguageId)(
   27144         ISpeechPhoneConverter* This,
   27145         SpeechLanguageId *LanguageId);
   27146 
   27147     HRESULT (STDMETHODCALLTYPE *put_LanguageId)(
   27148         ISpeechPhoneConverter* This,
   27149         SpeechLanguageId LanguageId);
   27150 
   27151     HRESULT (STDMETHODCALLTYPE *PhoneToId)(
   27152         ISpeechPhoneConverter* This,
   27153         const BSTR Phonemes,
   27154         VARIANT *IdArray);
   27155 
   27156     HRESULT (STDMETHODCALLTYPE *IdToPhone)(
   27157         ISpeechPhoneConverter* This,
   27158         const VARIANT IdArray,
   27159         BSTR *Phonemes);
   27160 
   27161     END_INTERFACE
   27162 } ISpeechPhoneConverterVtbl;
   27163 interface ISpeechPhoneConverter {
   27164     CONST_VTBL ISpeechPhoneConverterVtbl* lpVtbl;
   27165 };
   27166 
   27167 #ifdef COBJMACROS
   27168 #ifndef WIDL_C_INLINE_WRAPPERS
   27169 /*** IUnknown methods ***/
   27170 #define ISpeechPhoneConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   27171 #define ISpeechPhoneConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
   27172 #define ISpeechPhoneConverter_Release(This) (This)->lpVtbl->Release(This)
   27173 /*** IDispatch methods ***/
   27174 #define ISpeechPhoneConverter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   27175 #define ISpeechPhoneConverter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   27176 #define ISpeechPhoneConverter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   27177 #define ISpeechPhoneConverter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   27178 /*** ISpeechPhoneConverter methods ***/
   27179 #define ISpeechPhoneConverter_get_LanguageId(This,LanguageId) (This)->lpVtbl->get_LanguageId(This,LanguageId)
   27180 #define ISpeechPhoneConverter_put_LanguageId(This,LanguageId) (This)->lpVtbl->put_LanguageId(This,LanguageId)
   27181 #define ISpeechPhoneConverter_PhoneToId(This,Phonemes,IdArray) (This)->lpVtbl->PhoneToId(This,Phonemes,IdArray)
   27182 #define ISpeechPhoneConverter_IdToPhone(This,IdArray,Phonemes) (This)->lpVtbl->IdToPhone(This,IdArray,Phonemes)
   27183 #else
   27184 /*** IUnknown methods ***/
   27185 static FORCEINLINE HRESULT ISpeechPhoneConverter_QueryInterface(ISpeechPhoneConverter* This,REFIID riid,void **ppvObject) {
   27186     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   27187 }
   27188 static FORCEINLINE ULONG ISpeechPhoneConverter_AddRef(ISpeechPhoneConverter* This) {
   27189     return This->lpVtbl->AddRef(This);
   27190 }
   27191 static FORCEINLINE ULONG ISpeechPhoneConverter_Release(ISpeechPhoneConverter* This) {
   27192     return This->lpVtbl->Release(This);
   27193 }
   27194 /*** IDispatch methods ***/
   27195 static FORCEINLINE HRESULT ISpeechPhoneConverter_GetTypeInfoCount(ISpeechPhoneConverter* This,UINT *pctinfo) {
   27196     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   27197 }
   27198 static FORCEINLINE HRESULT ISpeechPhoneConverter_GetTypeInfo(ISpeechPhoneConverter* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   27199     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   27200 }
   27201 static FORCEINLINE HRESULT ISpeechPhoneConverter_GetIDsOfNames(ISpeechPhoneConverter* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   27202     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   27203 }
   27204 static FORCEINLINE HRESULT ISpeechPhoneConverter_Invoke(ISpeechPhoneConverter* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   27205     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   27206 }
   27207 /*** ISpeechPhoneConverter methods ***/
   27208 static FORCEINLINE HRESULT ISpeechPhoneConverter_get_LanguageId(ISpeechPhoneConverter* This,SpeechLanguageId *LanguageId) {
   27209     return This->lpVtbl->get_LanguageId(This,LanguageId);
   27210 }
   27211 static FORCEINLINE HRESULT ISpeechPhoneConverter_put_LanguageId(ISpeechPhoneConverter* This,SpeechLanguageId LanguageId) {
   27212     return This->lpVtbl->put_LanguageId(This,LanguageId);
   27213 }
   27214 static FORCEINLINE HRESULT ISpeechPhoneConverter_PhoneToId(ISpeechPhoneConverter* This,const BSTR Phonemes,VARIANT *IdArray) {
   27215     return This->lpVtbl->PhoneToId(This,Phonemes,IdArray);
   27216 }
   27217 static FORCEINLINE HRESULT ISpeechPhoneConverter_IdToPhone(ISpeechPhoneConverter* This,const VARIANT IdArray,BSTR *Phonemes) {
   27218     return This->lpVtbl->IdToPhone(This,IdArray,Phonemes);
   27219 }
   27220 #endif
   27221 #endif
   27222 
   27223 #endif
   27224 
   27225 HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_get_LanguageId_Proxy(
   27226     ISpeechPhoneConverter* This,
   27227     SpeechLanguageId *LanguageId);
   27228 void __RPC_STUB ISpeechPhoneConverter_get_LanguageId_Stub(
   27229     IRpcStubBuffer* This,
   27230     IRpcChannelBuffer* pRpcChannelBuffer,
   27231     PRPC_MESSAGE pRpcMessage,
   27232     DWORD* pdwStubPhase);
   27233 HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_put_LanguageId_Proxy(
   27234     ISpeechPhoneConverter* This,
   27235     SpeechLanguageId LanguageId);
   27236 void __RPC_STUB ISpeechPhoneConverter_put_LanguageId_Stub(
   27237     IRpcStubBuffer* This,
   27238     IRpcChannelBuffer* pRpcChannelBuffer,
   27239     PRPC_MESSAGE pRpcMessage,
   27240     DWORD* pdwStubPhase);
   27241 HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_PhoneToId_Proxy(
   27242     ISpeechPhoneConverter* This,
   27243     const BSTR Phonemes,
   27244     VARIANT *IdArray);
   27245 void __RPC_STUB ISpeechPhoneConverter_PhoneToId_Stub(
   27246     IRpcStubBuffer* This,
   27247     IRpcChannelBuffer* pRpcChannelBuffer,
   27248     PRPC_MESSAGE pRpcMessage,
   27249     DWORD* pdwStubPhase);
   27250 HRESULT STDMETHODCALLTYPE ISpeechPhoneConverter_IdToPhone_Proxy(
   27251     ISpeechPhoneConverter* This,
   27252     const VARIANT IdArray,
   27253     BSTR *Phonemes);
   27254 void __RPC_STUB ISpeechPhoneConverter_IdToPhone_Stub(
   27255     IRpcStubBuffer* This,
   27256     IRpcChannelBuffer* pRpcChannelBuffer,
   27257     PRPC_MESSAGE pRpcMessage,
   27258     DWORD* pdwStubPhase);
   27259 
   27260 #endif  /* __ISpeechPhoneConverter_INTERFACE_DEFINED__ */
   27261 
   27262 /*****************************************************************************
   27263  * SpNotifyTranslator coclass
   27264  */
   27265 
   27266 DEFINE_GUID(CLSID_SpNotifyTranslator, 0xe2ae5372, 0x5d40, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   27267 
   27268 #ifdef __cplusplus
   27269 class DECLSPEC_UUID("e2ae5372-5d40-11d2-960e-00c04f8ee628") SpNotifyTranslator;
   27270 #ifdef __CRT_UUID_DECL
   27271 __CRT_UUID_DECL(SpNotifyTranslator, 0xe2ae5372, 0x5d40, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   27272 #endif
   27273 #endif
   27274 
   27275 /*****************************************************************************
   27276  * SpObjectTokenCategory coclass
   27277  */
   27278 
   27279 DEFINE_GUID(CLSID_SpObjectTokenCategory, 0xa910187f, 0x0c7a, 0x45ac, 0x92,0xcc, 0x59,0xed,0xaf,0xb7,0x7b,0x53);
   27280 
   27281 #ifdef __cplusplus
   27282 class DECLSPEC_UUID("a910187f-0c7a-45ac-92cc-59edafb77b53") SpObjectTokenCategory;
   27283 #ifdef __CRT_UUID_DECL
   27284 __CRT_UUID_DECL(SpObjectTokenCategory, 0xa910187f, 0x0c7a, 0x45ac, 0x92,0xcc, 0x59,0xed,0xaf,0xb7,0x7b,0x53)
   27285 #endif
   27286 #endif
   27287 
   27288 /*****************************************************************************
   27289  * SpObjectToken coclass
   27290  */
   27291 
   27292 DEFINE_GUID(CLSID_SpObjectToken, 0xef411752, 0x3736, 0x4cb4, 0x9c,0x8c, 0x8e,0xf4,0xcc,0xb5,0x8e,0xfe);
   27293 
   27294 #ifdef __cplusplus
   27295 class DECLSPEC_UUID("ef411752-3736-4cb4-9c8c-8ef4ccb58efe") SpObjectToken;
   27296 #ifdef __CRT_UUID_DECL
   27297 __CRT_UUID_DECL(SpObjectToken, 0xef411752, 0x3736, 0x4cb4, 0x9c,0x8c, 0x8e,0xf4,0xcc,0xb5,0x8e,0xfe)
   27298 #endif
   27299 #endif
   27300 
   27301 /*****************************************************************************
   27302  * SpResourceManager coclass
   27303  */
   27304 
   27305 DEFINE_GUID(CLSID_SpResourceManager, 0x96749373, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96);
   27306 
   27307 #ifdef __cplusplus
   27308 class DECLSPEC_UUID("96749373-3391-11d2-9ee3-00c04f797396") SpResourceManager;
   27309 #ifdef __CRT_UUID_DECL
   27310 __CRT_UUID_DECL(SpResourceManager, 0x96749373, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96)
   27311 #endif
   27312 #endif
   27313 
   27314 /*****************************************************************************
   27315  * SpStreamFormatConverter coclass
   27316  */
   27317 
   27318 DEFINE_GUID(CLSID_SpStreamFormatConverter, 0x7013943a, 0xe2ec, 0x11d2, 0xa0,0x86, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5);
   27319 
   27320 #ifdef __cplusplus
   27321 class DECLSPEC_UUID("7013943a-e2ec-11d2-a086-00c04f8ef9b5") SpStreamFormatConverter;
   27322 #ifdef __CRT_UUID_DECL
   27323 __CRT_UUID_DECL(SpStreamFormatConverter, 0x7013943a, 0xe2ec, 0x11d2, 0xa0,0x86, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5)
   27324 #endif
   27325 #endif
   27326 
   27327 /*****************************************************************************
   27328  * SpMMAudioEnum coclass
   27329  */
   27330 
   27331 DEFINE_GUID(CLSID_SpMMAudioEnum, 0xab1890a0, 0xe91f, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
   27332 
   27333 #ifdef __cplusplus
   27334 class DECLSPEC_UUID("ab1890a0-e91f-11d2-bb91-00c04f8ee6c0") SpMMAudioEnum;
   27335 #ifdef __CRT_UUID_DECL
   27336 __CRT_UUID_DECL(SpMMAudioEnum, 0xab1890a0, 0xe91f, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
   27337 #endif
   27338 #endif
   27339 
   27340 /*****************************************************************************
   27341  * SpMMAudioIn coclass
   27342  */
   27343 
   27344 DEFINE_GUID(CLSID_SpMMAudioIn, 0xcf3d2e50, 0x53f2, 0x11d2, 0x96,0x0c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   27345 
   27346 #ifdef __cplusplus
   27347 class DECLSPEC_UUID("cf3d2e50-53f2-11d2-960c-00c04f8ee628") SpMMAudioIn;
   27348 #ifdef __CRT_UUID_DECL
   27349 __CRT_UUID_DECL(SpMMAudioIn, 0xcf3d2e50, 0x53f2, 0x11d2, 0x96,0x0c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   27350 #endif
   27351 #endif
   27352 
   27353 /*****************************************************************************
   27354  * SpMMAudioOut coclass
   27355  */
   27356 
   27357 DEFINE_GUID(CLSID_SpMMAudioOut, 0xa8c680eb, 0x3d32, 0x11d2, 0x9e,0xe7, 0x00,0xc0,0x4f,0x79,0x73,0x96);
   27358 
   27359 #ifdef __cplusplus
   27360 class DECLSPEC_UUID("a8c680eb-3d32-11d2-9ee7-00c04f797396") SpMMAudioOut;
   27361 #ifdef __CRT_UUID_DECL
   27362 __CRT_UUID_DECL(SpMMAudioOut, 0xa8c680eb, 0x3d32, 0x11d2, 0x9e,0xe7, 0x00,0xc0,0x4f,0x79,0x73,0x96)
   27363 #endif
   27364 #endif
   27365 
   27366 /*****************************************************************************
   27367  * SpStream coclass
   27368  */
   27369 
   27370 DEFINE_GUID(CLSID_SpStream, 0x715d9c59, 0x4442, 0x11d2, 0x96,0x05, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   27371 
   27372 #ifdef __cplusplus
   27373 class DECLSPEC_UUID("715d9c59-4442-11d2-9605-00c04f8ee628") SpStream;
   27374 #ifdef __CRT_UUID_DECL
   27375 __CRT_UUID_DECL(SpStream, 0x715d9c59, 0x4442, 0x11d2, 0x96,0x05, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   27376 #endif
   27377 #endif
   27378 
   27379 /*****************************************************************************
   27380  * SpVoice coclass
   27381  */
   27382 
   27383 DEFINE_GUID(CLSID_SpVoice, 0x96749377, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96);
   27384 
   27385 #ifdef __cplusplus
   27386 class DECLSPEC_UUID("96749377-3391-11d2-9ee3-00c04f797396") SpVoice;
   27387 #ifdef __CRT_UUID_DECL
   27388 __CRT_UUID_DECL(SpVoice, 0x96749377, 0x3391, 0x11d2, 0x9e,0xe3, 0x00,0xc0,0x4f,0x79,0x73,0x96)
   27389 #endif
   27390 #endif
   27391 
   27392 /*****************************************************************************
   27393  * SpSharedRecoContext coclass
   27394  */
   27395 
   27396 DEFINE_GUID(CLSID_SpSharedRecoContext, 0x47206204, 0x5eca, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   27397 
   27398 #ifdef __cplusplus
   27399 class DECLSPEC_UUID("47206204-5eca-11d2-960f-00c04f8ee628") SpSharedRecoContext;
   27400 #ifdef __CRT_UUID_DECL
   27401 __CRT_UUID_DECL(SpSharedRecoContext, 0x47206204, 0x5eca, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   27402 #endif
   27403 #endif
   27404 
   27405 /*****************************************************************************
   27406  * SpInprocRecognizer coclass
   27407  */
   27408 
   27409 DEFINE_GUID(CLSID_SpInprocRecognizer, 0x41b89b6b, 0x9399, 0x11d2, 0x96,0x23, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
   27410 
   27411 #ifdef __cplusplus
   27412 class DECLSPEC_UUID("41b89b6b-9399-11d2-9623-00c04f8ee628") SpInprocRecognizer;
   27413 #ifdef __CRT_UUID_DECL
   27414 __CRT_UUID_DECL(SpInprocRecognizer, 0x41b89b6b, 0x9399, 0x11d2, 0x96,0x23, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
   27415 #endif
   27416 #endif
   27417 
   27418 /*****************************************************************************
   27419  * SpSharedRecognizer coclass
   27420  */
   27421 
   27422 DEFINE_GUID(CLSID_SpSharedRecognizer, 0x3bee4890, 0x4fe9, 0x4a37, 0x8c,0x1e, 0x5e,0x7e,0x12,0x79,0x1c,0x1f);
   27423 
   27424 #ifdef __cplusplus
   27425 class DECLSPEC_UUID("3bee4890-4fe9-4a37-8c1e-5e7e12791c1f") SpSharedRecognizer;
   27426 #ifdef __CRT_UUID_DECL
   27427 __CRT_UUID_DECL(SpSharedRecognizer, 0x3bee4890, 0x4fe9, 0x4a37, 0x8c,0x1e, 0x5e,0x7e,0x12,0x79,0x1c,0x1f)
   27428 #endif
   27429 #endif
   27430 
   27431 /*****************************************************************************
   27432  * SpLexicon coclass
   27433  */
   27434 
   27435 DEFINE_GUID(CLSID_SpLexicon, 0x0655e396, 0x25d0, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c);
   27436 
   27437 #ifdef __cplusplus
   27438 class DECLSPEC_UUID("0655e396-25d0-11d3-9c26-00c04f8ef87c") SpLexicon;
   27439 #ifdef __CRT_UUID_DECL
   27440 __CRT_UUID_DECL(SpLexicon, 0x0655e396, 0x25d0, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c)
   27441 #endif
   27442 #endif
   27443 
   27444 /*****************************************************************************
   27445  * SpUnCompressedLexicon coclass
   27446  */
   27447 
   27448 DEFINE_GUID(CLSID_SpUnCompressedLexicon, 0xc9e37c15, 0xdf92, 0x4727, 0x85,0xd6, 0x72,0xe5,0xee,0xb6,0x99,0x5a);
   27449 
   27450 #ifdef __cplusplus
   27451 class DECLSPEC_UUID("c9e37c15-df92-4727-85d6-72e5eeb6995a") SpUnCompressedLexicon;
   27452 #ifdef __CRT_UUID_DECL
   27453 __CRT_UUID_DECL(SpUnCompressedLexicon, 0xc9e37c15, 0xdf92, 0x4727, 0x85,0xd6, 0x72,0xe5,0xee,0xb6,0x99,0x5a)
   27454 #endif
   27455 #endif
   27456 
   27457 /*****************************************************************************
   27458  * SpCompressedLexicon coclass
   27459  */
   27460 
   27461 DEFINE_GUID(CLSID_SpCompressedLexicon, 0x90903716, 0x2f42, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c);
   27462 
   27463 #ifdef __cplusplus
   27464 class DECLSPEC_UUID("90903716-2f42-11d3-9c26-00c04f8ef87c") SpCompressedLexicon;
   27465 #ifdef __CRT_UUID_DECL
   27466 __CRT_UUID_DECL(SpCompressedLexicon, 0x90903716, 0x2f42, 0x11d3, 0x9c,0x26, 0x00,0xc0,0x4f,0x8e,0xf8,0x7c)
   27467 #endif
   27468 #endif
   27469 
   27470 /*****************************************************************************
   27471  * SpShortcut coclass
   27472  */
   27473 
   27474 DEFINE_GUID(CLSID_SpShortcut, 0x0d722f1a, 0x9fcf, 0x4e62, 0x96,0xd8, 0x6d,0xf8,0xf0,0x1a,0x26,0xaa);
   27475 
   27476 #ifdef __cplusplus
   27477 class DECLSPEC_UUID("0d722f1a-9fcf-4e62-96d8-6df8f01a26aa") SpShortcut;
   27478 #ifdef __CRT_UUID_DECL
   27479 __CRT_UUID_DECL(SpShortcut, 0x0d722f1a, 0x9fcf, 0x4e62, 0x96,0xd8, 0x6d,0xf8,0xf0,0x1a,0x26,0xaa)
   27480 #endif
   27481 #endif
   27482 
   27483 /*****************************************************************************
   27484  * SpPhoneConverter coclass
   27485  */
   27486 
   27487 DEFINE_GUID(CLSID_SpPhoneConverter, 0x9185f743, 0x1143, 0x4c28, 0x86,0xb5, 0xbf,0xf1,0x4f,0x20,0xe5,0xc8);
   27488 
   27489 #ifdef __cplusplus
   27490 class DECLSPEC_UUID("9185f743-1143-4c28-86b5-bff14f20e5c8") SpPhoneConverter;
   27491 #ifdef __CRT_UUID_DECL
   27492 __CRT_UUID_DECL(SpPhoneConverter, 0x9185f743, 0x1143, 0x4c28, 0x86,0xb5, 0xbf,0xf1,0x4f,0x20,0xe5,0xc8)
   27493 #endif
   27494 #endif
   27495 
   27496 /*****************************************************************************
   27497  * SpPhoneticAlphabetConverter coclass
   27498  */
   27499 
   27500 DEFINE_GUID(CLSID_SpPhoneticAlphabetConverter, 0x4f414126, 0xdfe3, 0x4629, 0x99,0xee, 0x79,0x79,0x78,0x31,0x7e,0xad);
   27501 
   27502 #ifdef __cplusplus
   27503 class DECLSPEC_UUID("4f414126-dfe3-4629-99ee-797978317ead") SpPhoneticAlphabetConverter;
   27504 #ifdef __CRT_UUID_DECL
   27505 __CRT_UUID_DECL(SpPhoneticAlphabetConverter, 0x4f414126, 0xdfe3, 0x4629, 0x99,0xee, 0x79,0x79,0x78,0x31,0x7e,0xad)
   27506 #endif
   27507 #endif
   27508 
   27509 /*****************************************************************************
   27510  * SpNullPhoneConverter coclass
   27511  */
   27512 
   27513 DEFINE_GUID(CLSID_SpNullPhoneConverter, 0x455f24e9, 0x7396, 0x4a16, 0x97,0x15, 0x7c,0x0f,0xdb,0xe3,0xef,0xe3);
   27514 
   27515 #ifdef __cplusplus
   27516 class DECLSPEC_UUID("455f24e9-7396-4a16-9715-7c0fdbe3efe3") SpNullPhoneConverter;
   27517 #ifdef __CRT_UUID_DECL
   27518 __CRT_UUID_DECL(SpNullPhoneConverter, 0x455f24e9, 0x7396, 0x4a16, 0x97,0x15, 0x7c,0x0f,0xdb,0xe3,0xef,0xe3)
   27519 #endif
   27520 #endif
   27521 
   27522 /*****************************************************************************
   27523  * SpTextSelectionInformation coclass
   27524  */
   27525 
   27526 DEFINE_GUID(CLSID_SpTextSelectionInformation, 0x0f92030a, 0xcbfd, 0x4ab8, 0xa1,0x64, 0xff,0x59,0x85,0x54,0x7f,0xf6);
   27527 
   27528 #ifdef __cplusplus
   27529 class DECLSPEC_UUID("0f92030a-cbfd-4ab8-a164-ff5985547ff6") SpTextSelectionInformation;
   27530 #ifdef __CRT_UUID_DECL
   27531 __CRT_UUID_DECL(SpTextSelectionInformation, 0x0f92030a, 0xcbfd, 0x4ab8, 0xa1,0x64, 0xff,0x59,0x85,0x54,0x7f,0xf6)
   27532 #endif
   27533 #endif
   27534 
   27535 /*****************************************************************************
   27536  * SpPhraseInfoBuilder coclass
   27537  */
   27538 
   27539 DEFINE_GUID(CLSID_SpPhraseInfoBuilder, 0xc23fc28d, 0xc55f, 0x4720, 0x8b,0x32, 0x91,0xf7,0x3c,0x2b,0xd5,0xd1);
   27540 
   27541 #ifdef __cplusplus
   27542 class DECLSPEC_UUID("c23fc28d-c55f-4720-8b32-91f73c2bd5d1") SpPhraseInfoBuilder;
   27543 #ifdef __CRT_UUID_DECL
   27544 __CRT_UUID_DECL(SpPhraseInfoBuilder, 0xc23fc28d, 0xc55f, 0x4720, 0x8b,0x32, 0x91,0xf7,0x3c,0x2b,0xd5,0xd1)
   27545 #endif
   27546 #endif
   27547 
   27548 /*****************************************************************************
   27549  * SpAudioFormat coclass
   27550  */
   27551 
   27552 DEFINE_GUID(CLSID_SpAudioFormat, 0x9ef96870, 0xe160, 0x4792, 0x82,0x0d, 0x48,0xcf,0x06,0x49,0xe4,0xec);
   27553 
   27554 #ifdef __cplusplus
   27555 class DECLSPEC_UUID("9ef96870-e160-4792-820d-48cf0649e4ec") SpAudioFormat;
   27556 #ifdef __CRT_UUID_DECL
   27557 __CRT_UUID_DECL(SpAudioFormat, 0x9ef96870, 0xe160, 0x4792, 0x82,0x0d, 0x48,0xcf,0x06,0x49,0xe4,0xec)
   27558 #endif
   27559 #endif
   27560 
   27561 /*****************************************************************************
   27562  * SpWaveFormatEx coclass
   27563  */
   27564 
   27565 DEFINE_GUID(CLSID_SpWaveFormatEx, 0xc79a574c, 0x63be, 0x44b9, 0x80,0x1f, 0x28,0x3f,0x87,0xf8,0x98,0xbe);
   27566 
   27567 #ifdef __cplusplus
   27568 class DECLSPEC_UUID("c79a574c-63be-44b9-801f-283f87f898be") SpWaveFormatEx;
   27569 #ifdef __CRT_UUID_DECL
   27570 __CRT_UUID_DECL(SpWaveFormatEx, 0xc79a574c, 0x63be, 0x44b9, 0x80,0x1f, 0x28,0x3f,0x87,0xf8,0x98,0xbe)
   27571 #endif
   27572 #endif
   27573 
   27574 /*****************************************************************************
   27575  * SpInProcRecoContext coclass
   27576  */
   27577 
   27578 DEFINE_GUID(CLSID_SpInProcRecoContext, 0x73ad6842, 0xace0, 0x45e8, 0xa4,0xdd, 0x87,0x95,0x88,0x1a,0x2c,0x2a);
   27579 
   27580 #ifdef __cplusplus
   27581 class DECLSPEC_UUID("73ad6842-ace0-45e8-a4dd-8795881a2c2a") SpInProcRecoContext;
   27582 #ifdef __CRT_UUID_DECL
   27583 __CRT_UUID_DECL(SpInProcRecoContext, 0x73ad6842, 0xace0, 0x45e8, 0xa4,0xdd, 0x87,0x95,0x88,0x1a,0x2c,0x2a)
   27584 #endif
   27585 #endif
   27586 
   27587 /*****************************************************************************
   27588  * SpCustomStream coclass
   27589  */
   27590 
   27591 DEFINE_GUID(CLSID_SpCustomStream, 0x8dbef13f, 0x1948, 0x4aa8, 0x8c,0xf0, 0x04,0x8e,0xeb,0xed,0x95,0xd8);
   27592 
   27593 #ifdef __cplusplus
   27594 class DECLSPEC_UUID("8dbef13f-1948-4aa8-8cf0-048eebed95d8") SpCustomStream;
   27595 #ifdef __CRT_UUID_DECL
   27596 __CRT_UUID_DECL(SpCustomStream, 0x8dbef13f, 0x1948, 0x4aa8, 0x8c,0xf0, 0x04,0x8e,0xeb,0xed,0x95,0xd8)
   27597 #endif
   27598 #endif
   27599 
   27600 /*****************************************************************************
   27601  * SpFileStream coclass
   27602  */
   27603 
   27604 DEFINE_GUID(CLSID_SpFileStream, 0x947812b3, 0x2ae1, 0x4644, 0xba,0x86, 0x9e,0x90,0xde,0xd7,0xec,0x91);
   27605 
   27606 #ifdef __cplusplus
   27607 class DECLSPEC_UUID("947812b3-2ae1-4644-ba86-9e90ded7ec91") SpFileStream;
   27608 #ifdef __CRT_UUID_DECL
   27609 __CRT_UUID_DECL(SpFileStream, 0x947812b3, 0x2ae1, 0x4644, 0xba,0x86, 0x9e,0x90,0xde,0xd7,0xec,0x91)
   27610 #endif
   27611 #endif
   27612 
   27613 /*****************************************************************************
   27614  * SpMemoryStream coclass
   27615  */
   27616 
   27617 DEFINE_GUID(CLSID_SpMemoryStream, 0x5fb7ef7d, 0xdff4, 0x468a, 0xb6,0xb7, 0x2f,0xcb,0xd1,0x88,0xf9,0x94);
   27618 
   27619 #ifdef __cplusplus
   27620 class DECLSPEC_UUID("5fb7ef7d-dff4-468a-b6b7-2fcbd188f994") SpMemoryStream;
   27621 #ifdef __CRT_UUID_DECL
   27622 __CRT_UUID_DECL(SpMemoryStream, 0x5fb7ef7d, 0xdff4, 0x468a, 0xb6,0xb7, 0x2f,0xcb,0xd1,0x88,0xf9,0x94)
   27623 #endif
   27624 #endif
   27625 
   27626 #ifndef __ISpXMLRecoResult_FWD_DEFINED__
   27627 #define __ISpXMLRecoResult_FWD_DEFINED__
   27628 typedef interface ISpXMLRecoResult ISpXMLRecoResult;
   27629 #endif
   27630 
   27631 #ifndef __ISpRecoGrammar2_FWD_DEFINED__
   27632 #define __ISpRecoGrammar2_FWD_DEFINED__
   27633 typedef interface ISpRecoGrammar2 ISpRecoGrammar2;
   27634 #endif
   27635 
   27636 #ifndef __ISpeechResourceLoader_FWD_DEFINED__
   27637 #define __ISpeechResourceLoader_FWD_DEFINED__
   27638 typedef interface ISpeechResourceLoader ISpeechResourceLoader;
   27639 #endif
   27640 
   27641 /* Begin additional prototypes for all interfaces */
   27642 
   27643 ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
   27644 unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
   27645 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
   27646 void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
   27647 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   27648 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   27649 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   27650 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   27651 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
   27652 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
   27653 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
   27654 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
   27655 
   27656 /* End additional prototypes */
   27657 
   27658 #ifdef __cplusplus
   27659 }
   27660 #endif
   27661 
   27662 #endif /* __sapi53_h__ */
   27663