sapi.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:856k
源码类别:

模拟服务器

开发平台:

C/C++

  1. DISPID_SRCERecognition = DISPID_SRCEPhraseStart + 1,
  2. DISPID_SRCEHypothesis = DISPID_SRCERecognition + 1,
  3. DISPID_SRCEPropertyNumberChange = DISPID_SRCEHypothesis + 1,
  4. DISPID_SRCEPropertyStringChange = DISPID_SRCEPropertyNumberChange + 1,
  5. DISPID_SRCEFalseRecognition = DISPID_SRCEPropertyStringChange + 1,
  6. DISPID_SRCEInterference = DISPID_SRCEFalseRecognition + 1,
  7. DISPID_SRCERequestUI = DISPID_SRCEInterference + 1,
  8. DISPID_SRCERecognizerStateChange = DISPID_SRCERequestUI + 1,
  9. DISPID_SRCEAdaptation = DISPID_SRCERecognizerStateChange + 1,
  10. DISPID_SRCERecognitionForOtherContext = DISPID_SRCEAdaptation + 1,
  11. DISPID_SRCEAudioLevel = DISPID_SRCERecognitionForOtherContext + 1,
  12. DISPID_SRCEEnginePrivate = DISPID_SRCEAudioLevel + 1
  13.     }  DISPID_SpeechRecoContextEvents;
  14. typedef 
  15. enum SpeechRecognitionType
  16.     { SRTStandard = 0,
  17. SRTAutopause = SPREF_AutoPause,
  18. SRTEmulated = SPREF_Emulated
  19.     }  SpeechRecognitionType;
  20. typedef /* [hidden] */ 
  21. enum DISPID_SpeechGrammarRule
  22.     { DISPID_SGRAttributes = 1,
  23. DISPID_SGRInitialState = DISPID_SGRAttributes + 1,
  24. DISPID_SGRName = DISPID_SGRInitialState + 1,
  25. DISPID_SGRId = DISPID_SGRName + 1,
  26. DISPID_SGRClear = DISPID_SGRId + 1,
  27. DISPID_SGRAddResource = DISPID_SGRClear + 1,
  28. DISPID_SGRAddState = DISPID_SGRAddResource + 1
  29.     }  DISPID_SpeechGrammarRule;
  30. typedef /* [hidden] */ 
  31. enum DISPID_SpeechGrammarRules
  32.     { DISPID_SGRsCount = 1,
  33. DISPID_SGRsDynamic = DISPID_SGRsCount + 1,
  34. DISPID_SGRsAdd = DISPID_SGRsDynamic + 1,
  35. DISPID_SGRsCommit = DISPID_SGRsAdd + 1,
  36. DISPID_SGRsCommitAndSave = DISPID_SGRsCommit + 1,
  37. DISPID_SGRsFindRule = DISPID_SGRsCommitAndSave + 1,
  38. DISPID_SGRsItem = DISPID_VALUE,
  39. DISPID_SGRs_NewEnum = DISPID_NEWENUM
  40.     }  DISPID_SpeechGrammarRules;
  41. typedef /* [hidden] */ 
  42. enum DISPID_SpeechGrammarRuleState
  43.     { DISPID_SGRSRule = 1,
  44. DISPID_SGRSTransitions = DISPID_SGRSRule + 1,
  45. DISPID_SGRSAddWordTransition = DISPID_SGRSTransitions + 1,
  46. DISPID_SGRSAddRuleTransition = DISPID_SGRSAddWordTransition + 1,
  47. DISPID_SGRSAddSpecialTransition = DISPID_SGRSAddRuleTransition + 1
  48.     }  DISPID_SpeechGrammarRuleState;
  49. typedef 
  50. enum SpeechSpecialTransitionType
  51.     { SSTTWildcard = 1,
  52. SSTTDictation = SSTTWildcard + 1,
  53. SSTTTextBuffer = SSTTDictation + 1
  54.     }  SpeechSpecialTransitionType;
  55. typedef /* [hidden] */ 
  56. enum DISPID_SpeechGrammarRuleStateTransitions
  57.     { DISPID_SGRSTsCount = 1,
  58. DISPID_SGRSTsItem = DISPID_VALUE,
  59. DISPID_SGRSTs_NewEnum = DISPID_NEWENUM
  60.     }  DISPID_SpeechGrammarRuleStateTransitions;
  61. typedef /* [hidden] */ 
  62. enum DISPID_SpeechGrammarRuleStateTransition
  63.     { DISPID_SGRSTType = 1,
  64. DISPID_SGRSTText = DISPID_SGRSTType + 1,
  65. DISPID_SGRSTRule = DISPID_SGRSTText + 1,
  66. DISPID_SGRSTWeight = DISPID_SGRSTRule + 1,
  67. DISPID_SGRSTPropertyName = DISPID_SGRSTWeight + 1,
  68. DISPID_SGRSTPropertyId = DISPID_SGRSTPropertyName + 1,
  69. DISPID_SGRSTPropertyValue = DISPID_SGRSTPropertyId + 1,
  70. DISPID_SGRSTNextState = DISPID_SGRSTPropertyValue + 1
  71.     }  DISPID_SpeechGrammarRuleStateTransition;
  72. typedef 
  73. enum SpeechGrammarRuleStateTransitionType
  74.     { SGRSTTEpsilon = 0,
  75. SGRSTTWord = SGRSTTEpsilon + 1,
  76. SGRSTTRule = SGRSTTWord + 1,
  77. SGRSTTDictation = SGRSTTRule + 1,
  78. SGRSTTWildcard = SGRSTTDictation + 1,
  79. SGRSTTTextBuffer = SGRSTTWildcard + 1
  80.     }  SpeechGrammarRuleStateTransitionType;
  81. typedef /* [hidden] */ 
  82. enum DISPIDSPTSI
  83.     { DISPIDSPTSI_ActiveOffset = 1,
  84. DISPIDSPTSI_ActiveLength = DISPIDSPTSI_ActiveOffset + 1,
  85. DISPIDSPTSI_SelectionOffset = DISPIDSPTSI_ActiveLength + 1,
  86. DISPIDSPTSI_SelectionLength = DISPIDSPTSI_SelectionOffset + 1
  87.     }  DISPIDSPTSI;
  88. typedef /* [hidden] */ 
  89. enum DISPID_SpeechRecoResult
  90.     { DISPID_SRRRecoContext = 1,
  91. DISPID_SRRTimes = DISPID_SRRRecoContext + 1,
  92. DISPID_SRRAudioFormat = DISPID_SRRTimes + 1,
  93. DISPID_SRRPhraseInfo = DISPID_SRRAudioFormat + 1,
  94. DISPID_SRRAlternates = DISPID_SRRPhraseInfo + 1,
  95. DISPID_SRRAudio = DISPID_SRRAlternates + 1,
  96. DISPID_SRRSpeakAudio = DISPID_SRRAudio + 1,
  97. DISPID_SRRSaveToMemory = DISPID_SRRSpeakAudio + 1,
  98. DISPID_SRRDiscardResultInfo = DISPID_SRRSaveToMemory + 1
  99.     }  DISPID_SpeechRecoResult;
  100. typedef 
  101. enum SpeechDiscardType
  102.     { SDTProperty = SPDF_PROPERTY,
  103. SDTReplacement = SPDF_REPLACEMENT,
  104. SDTRule = SPDF_RULE,
  105. SDTDisplayText = SPDF_DISPLAYTEXT,
  106. SDTLexicalForm = SPDF_LEXICALFORM,
  107. SDTPronunciation = SPDF_PRONUNCIATION,
  108. SDTAudio = SPDF_AUDIO,
  109. SDTAlternates = SPDF_ALTERNATES,
  110. SDTAll = SPDF_ALL
  111.     }  SpeechDiscardType;
  112. typedef /* [hidden] */ 
  113. enum DISPID_SpeechPhraseBuilder
  114.     { DISPID_SPPBRestorePhraseFromMemory = 1
  115.     }  DISPID_SpeechPhraseBuilder;
  116. typedef /* [hidden] */ 
  117. enum DISPID_SpeechRecoResultTimes
  118.     { DISPID_SRRTStreamTime = 1,
  119. DISPID_SRRTLength = DISPID_SRRTStreamTime + 1,
  120. DISPID_SRRTTickCount = DISPID_SRRTLength + 1,
  121. DISPID_SRRTOffsetFromStart = DISPID_SRRTTickCount + 1
  122.     }  DISPID_SpeechRecoResultTimes;
  123. typedef /* [hidden] */ 
  124. enum DISPID_SpeechPhraseAlternate
  125.     { DISPID_SPARecoResult = 1,
  126. DISPID_SPAStartElementInResult = DISPID_SPARecoResult + 1,
  127. DISPID_SPANumberOfElementsInResult = DISPID_SPAStartElementInResult + 1,
  128. DISPID_SPAPhraseInfo = DISPID_SPANumberOfElementsInResult + 1,
  129. DISPID_SPACommit = DISPID_SPAPhraseInfo + 1
  130.     }  DISPID_SpeechPhraseAlternate;
  131. typedef /* [hidden] */ 
  132. enum DISPID_SpeechPhraseAlternates
  133.     { DISPID_SPAsCount = 1,
  134. DISPID_SPAsItem = DISPID_VALUE,
  135. DISPID_SPAs_NewEnum = DISPID_NEWENUM
  136.     }  DISPID_SpeechPhraseAlternates;
  137. typedef /* [hidden] */ 
  138. enum DISPID_SpeechPhraseInfo
  139.     { DISPID_SPILanguageId = 1,
  140. DISPID_SPIGrammarId = DISPID_SPILanguageId + 1,
  141. DISPID_SPIStartTime = DISPID_SPIGrammarId + 1,
  142. DISPID_SPIAudioStreamPosition = DISPID_SPIStartTime + 1,
  143. DISPID_SPIAudioSizeBytes = DISPID_SPIAudioStreamPosition + 1,
  144. DISPID_SPIRetainedSizeBytes = DISPID_SPIAudioSizeBytes + 1,
  145. DISPID_SPIAudioSizeTime = DISPID_SPIRetainedSizeBytes + 1,
  146. DISPID_SPIRule = DISPID_SPIAudioSizeTime + 1,
  147. DISPID_SPIProperties = DISPID_SPIRule + 1,
  148. DISPID_SPIElements = DISPID_SPIProperties + 1,
  149. DISPID_SPIReplacements = DISPID_SPIElements + 1,
  150. DISPID_SPIEngineId = DISPID_SPIReplacements + 1,
  151. DISPID_SPIEnginePrivateData = DISPID_SPIEngineId + 1,
  152. DISPID_SPISaveToMemory = DISPID_SPIEnginePrivateData + 1,
  153. DISPID_SPIGetText = DISPID_SPISaveToMemory + 1,
  154. DISPID_SPIGetDisplayAttributes = DISPID_SPIGetText + 1
  155.     }  DISPID_SpeechPhraseInfo;
  156. typedef /* [hidden] */ 
  157. enum DISPID_SpeechPhraseElement
  158.     { DISPID_SPEAudioTimeOffset = 1,
  159. DISPID_SPEAudioSizeTime = DISPID_SPEAudioTimeOffset + 1,
  160. DISPID_SPEAudioStreamOffset = DISPID_SPEAudioSizeTime + 1,
  161. DISPID_SPEAudioSizeBytes = DISPID_SPEAudioStreamOffset + 1,
  162. DISPID_SPERetainedStreamOffset = DISPID_SPEAudioSizeBytes + 1,
  163. DISPID_SPERetainedSizeBytes = DISPID_SPERetainedStreamOffset + 1,
  164. DISPID_SPEDisplayText = DISPID_SPERetainedSizeBytes + 1,
  165. DISPID_SPELexicalForm = DISPID_SPEDisplayText + 1,
  166. DISPID_SPEPronunciation = DISPID_SPELexicalForm + 1,
  167. DISPID_SPEDisplayAttributes = DISPID_SPEPronunciation + 1,
  168. DISPID_SPERequiredConfidence = DISPID_SPEDisplayAttributes + 1,
  169. DISPID_SPEActualConfidence = DISPID_SPERequiredConfidence + 1,
  170. DISPID_SPEEngineConfidence = DISPID_SPEActualConfidence + 1
  171.     }  DISPID_SpeechPhraseElement;
  172. typedef 
  173. enum SpeechEngineConfidence
  174.     { SECLowConfidence = -1,
  175. SECNormalConfidence = 0,
  176. SECHighConfidence = 1
  177.     }  SpeechEngineConfidence;
  178. typedef /* [hidden] */ 
  179. enum DISPID_SpeechPhraseElements
  180.     { DISPID_SPEsCount = 1,
  181. DISPID_SPEsItem = DISPID_VALUE,
  182. DISPID_SPEs_NewEnum = DISPID_NEWENUM
  183.     }  DISPID_SpeechPhraseElements;
  184. typedef /* [hidden] */ 
  185. enum DISPID_SpeechPhraseReplacement
  186.     { DISPID_SPRDisplayAttributes = 1,
  187. DISPID_SPRText = DISPID_SPRDisplayAttributes + 1,
  188. DISPID_SPRFirstElement = DISPID_SPRText + 1,
  189. DISPID_SPRNumberOfElements = DISPID_SPRFirstElement + 1
  190.     }  DISPID_SpeechPhraseReplacement;
  191. typedef /* [hidden] */ 
  192. enum DISPID_SpeechPhraseReplacements
  193.     { DISPID_SPRsCount = 1,
  194. DISPID_SPRsItem = DISPID_VALUE,
  195. DISPID_SPRs_NewEnum = DISPID_NEWENUM
  196.     }  DISPID_SpeechPhraseReplacements;
  197. typedef /* [hidden] */ 
  198. enum DISPID_SpeechPhraseProperty
  199.     { DISPID_SPPName = 1,
  200. DISPID_SPPId = DISPID_SPPName + 1,
  201. DISPID_SPPValue = DISPID_SPPId + 1,
  202. DISPID_SPPFirstElement = DISPID_SPPValue + 1,
  203. DISPID_SPPNumberOfElements = DISPID_SPPFirstElement + 1,
  204. DISPID_SPPEngineConfidence = DISPID_SPPNumberOfElements + 1,
  205. DISPID_SPPConfidence = DISPID_SPPEngineConfidence + 1,
  206. DISPID_SPPParent = DISPID_SPPConfidence + 1,
  207. DISPID_SPPChildren = DISPID_SPPParent + 1
  208.     }  DISPID_SpeechPhraseProperty;
  209. typedef /* [hidden] */ 
  210. enum DISPID_SpeechPhraseProperties
  211.     { DISPID_SPPsCount = 1,
  212. DISPID_SPPsItem = DISPID_VALUE,
  213. DISPID_SPPs_NewEnum = DISPID_NEWENUM
  214.     }  DISPID_SpeechPhraseProperties;
  215. typedef /* [hidden] */ 
  216. enum DISPID_SpeechPhraseRule
  217.     { DISPID_SPRuleName = 1,
  218. DISPID_SPRuleId = DISPID_SPRuleName + 1,
  219. DISPID_SPRuleFirstElement = DISPID_SPRuleId + 1,
  220. DISPID_SPRuleNumberOfElements = DISPID_SPRuleFirstElement + 1,
  221. DISPID_SPRuleParent = DISPID_SPRuleNumberOfElements + 1,
  222. DISPID_SPRuleChildren = DISPID_SPRuleParent + 1,
  223. DISPID_SPRuleConfidence = DISPID_SPRuleChildren + 1,
  224. DISPID_SPRuleEngineConfidence = DISPID_SPRuleConfidence + 1
  225.     }  DISPID_SpeechPhraseRule;
  226. typedef /* [hidden] */ 
  227. enum DISPID_SpeechPhraseRules
  228.     { DISPID_SPRulesCount = 1,
  229. DISPID_SPRulesItem = DISPID_VALUE,
  230. DISPID_SPRules_NewEnum = DISPID_NEWENUM
  231.     }  DISPID_SpeechPhraseRules;
  232. typedef /* [hidden] */ 
  233. enum DISPID_SpeechLexicon
  234.     { DISPID_SLGenerationId = 1,
  235. DISPID_SLGetWords = DISPID_SLGenerationId + 1,
  236. DISPID_SLAddPronunciation = DISPID_SLGetWords + 1,
  237. DISPID_SLAddPronunciationByPhoneIds = DISPID_SLAddPronunciation + 1,
  238. DISPID_SLRemovePronunciation = DISPID_SLAddPronunciationByPhoneIds + 1,
  239. DISPID_SLRemovePronunciationByPhoneIds = DISPID_SLRemovePronunciation + 1,
  240. DISPID_SLGetPronunciations = DISPID_SLRemovePronunciationByPhoneIds + 1,
  241. DISPID_SLGetGenerationChange = DISPID_SLGetPronunciations + 1
  242.     }  DISPID_SpeechLexicon;
  243. typedef 
  244. enum SpeechLexiconType
  245.     { SLTUser = eLEXTYPE_USER,
  246. SLTApp = eLEXTYPE_APP
  247.     }  SpeechLexiconType;
  248. typedef 
  249. enum SpeechPartOfSpeech
  250.     { SPSNotOverriden = SPPS_NotOverriden,
  251. SPSUnknown = SPPS_Unknown,
  252. SPSNoun = SPPS_Noun,
  253. SPSVerb = SPPS_Verb,
  254. SPSModifier = SPPS_Modifier,
  255. SPSFunction = SPPS_Function,
  256. SPSInterjection = SPPS_Interjection
  257.     }  SpeechPartOfSpeech;
  258. typedef /* [hidden] */ 
  259. enum DISPID_SpeechLexiconWords
  260.     { DISPID_SLWsCount = 1,
  261. DISPID_SLWsItem = DISPID_VALUE,
  262. DISPID_SLWs_NewEnum = DISPID_NEWENUM
  263.     }  DISPID_SpeechLexiconWords;
  264. typedef 
  265. enum SpeechWordType
  266.     { SWTAdded = eWORDTYPE_ADDED,
  267. SWTDeleted = eWORDTYPE_DELETED
  268.     }  SpeechWordType;
  269. typedef /* [hidden] */ 
  270. enum DISPID_SpeechLexiconWord
  271.     { DISPID_SLWLangId = 1,
  272. DISPID_SLWType = DISPID_SLWLangId + 1,
  273. DISPID_SLWWord = DISPID_SLWType + 1,
  274. DISPID_SLWPronunciations = DISPID_SLWWord + 1
  275.     }  DISPID_SpeechLexiconWord;
  276. typedef /* [hidden] */ 
  277. enum DISPID_SpeechLexiconProns
  278.     { DISPID_SLPsCount = 1,
  279. DISPID_SLPsItem = DISPID_VALUE,
  280. DISPID_SLPs_NewEnum = DISPID_NEWENUM
  281.     }  DISPID_SpeechLexiconProns;
  282. typedef /* [hidden] */ 
  283. enum DISPID_SpeechLexiconPronunciation
  284.     { DISPID_SLPType = 1,
  285. DISPID_SLPLangId = DISPID_SLPType + 1,
  286. DISPID_SLPPartOfSpeech = DISPID_SLPLangId + 1,
  287. DISPID_SLPPhoneIds = DISPID_SLPPartOfSpeech + 1,
  288. DISPID_SLPSymbolic = DISPID_SLPPhoneIds + 1
  289.     }  DISPID_SpeechLexiconPronunciation;
  290. typedef /* [hidden] */ 
  291. enum DISPID_SpeechPhoneConverter
  292.     { DISPID_SPCLangId = 1,
  293. DISPID_SPCPhoneToId = DISPID_SPCLangId + 1,
  294. DISPID_SPCIdToPhone = DISPID_SPCPhoneToId + 1
  295.     }  DISPID_SpeechPhoneConverter;
  296. EXTERN_C const IID LIBID_SpeechLib;
  297. #ifndef __ISpeechDataKey_INTERFACE_DEFINED__
  298. #define __ISpeechDataKey_INTERFACE_DEFINED__
  299. /* interface ISpeechDataKey */
  300. /* [unique][helpstring][dual][uuid][object] */ 
  301. EXTERN_C const IID IID_ISpeechDataKey;
  302. #if defined(__cplusplus) && !defined(CINTERFACE)
  303.     
  304.     MIDL_INTERFACE("CE17C09B-4EFA-44d5-A4C9-59D9585AB0CD")
  305.     ISpeechDataKey : public IDispatch
  306.     {
  307.     public:
  308.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetBinaryValue( 
  309.             /* [in] */ const BSTR ValueName,
  310.             /* [in] */ VARIANT Value) = 0;
  311.         
  312.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetBinaryValue( 
  313.             /* [in] */ const BSTR ValueName,
  314.             /* [retval][out] */ VARIANT *Value) = 0;
  315.         
  316.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetStringValue( 
  317.             /* [in] */ const BSTR ValueName,
  318.             /* [in] */ const BSTR Value) = 0;
  319.         
  320.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetStringValue( 
  321.             /* [in] */ const BSTR ValueName,
  322.             /* [retval][out] */ BSTR *Value) = 0;
  323.         
  324.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetLongValue( 
  325.             /* [in] */ const BSTR ValueName,
  326.             /* [in] */ long Value) = 0;
  327.         
  328.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetLongValue( 
  329.             /* [in] */ const BSTR ValueName,
  330.             /* [retval][out] */ long *Value) = 0;
  331.         
  332.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE OpenKey( 
  333.             /* [in] */ const BSTR SubKeyName,
  334.             /* [retval][out] */ ISpeechDataKey **SubKey) = 0;
  335.         
  336.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CreateKey( 
  337.             /* [in] */ const BSTR SubKeyName,
  338.             /* [retval][out] */ ISpeechDataKey **SubKey) = 0;
  339.         
  340.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DeleteKey( 
  341.             /* [in] */ const BSTR SubKeyName) = 0;
  342.         
  343.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DeleteValue( 
  344.             /* [in] */ const BSTR ValueName) = 0;
  345.         
  346.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE EnumKeys( 
  347.             /* [in] */ long Index,
  348.             /* [retval][out] */ BSTR *SubKeyName) = 0;
  349.         
  350.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE EnumValues( 
  351.             /* [in] */ long Index,
  352.             /* [retval][out] */ BSTR *ValueName) = 0;
  353.         
  354.     };
  355.     
  356. #else  /* C style interface */
  357.     typedef struct ISpeechDataKeyVtbl
  358.     {
  359.         BEGIN_INTERFACE
  360.         
  361.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  362.             ISpeechDataKey * This,
  363.             /* [in] */ REFIID riid,
  364.             /* [iid_is][out] */ void **ppvObject);
  365.         
  366.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  367.             ISpeechDataKey * This);
  368.         
  369.         ULONG ( STDMETHODCALLTYPE *Release )( 
  370.             ISpeechDataKey * This);
  371.         
  372.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  373.             ISpeechDataKey * This,
  374.             /* [out] */ UINT *pctinfo);
  375.         
  376.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  377.             ISpeechDataKey * This,
  378.             /* [in] */ UINT iTInfo,
  379.             /* [in] */ LCID lcid,
  380.             /* [out] */ ITypeInfo **ppTInfo);
  381.         
  382.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  383.             ISpeechDataKey * This,
  384.             /* [in] */ REFIID riid,
  385.             /* [size_is][in] */ LPOLESTR *rgszNames,
  386.             /* [in] */ UINT cNames,
  387.             /* [in] */ LCID lcid,
  388.             /* [size_is][out] */ DISPID *rgDispId);
  389.         
  390.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  391.             ISpeechDataKey * This,
  392.             /* [in] */ DISPID dispIdMember,
  393.             /* [in] */ REFIID riid,
  394.             /* [in] */ LCID lcid,
  395.             /* [in] */ WORD wFlags,
  396.             /* [out][in] */ DISPPARAMS *pDispParams,
  397.             /* [out] */ VARIANT *pVarResult,
  398.             /* [out] */ EXCEPINFO *pExcepInfo,
  399.             /* [out] */ UINT *puArgErr);
  400.         
  401.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBinaryValue )( 
  402.             ISpeechDataKey * This,
  403.             /* [in] */ const BSTR ValueName,
  404.             /* [in] */ VARIANT Value);
  405.         
  406.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBinaryValue )( 
  407.             ISpeechDataKey * This,
  408.             /* [in] */ const BSTR ValueName,
  409.             /* [retval][out] */ VARIANT *Value);
  410.         
  411.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStringValue )( 
  412.             ISpeechDataKey * This,
  413.             /* [in] */ const BSTR ValueName,
  414.             /* [in] */ const BSTR Value);
  415.         
  416.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStringValue )( 
  417.             ISpeechDataKey * This,
  418.             /* [in] */ const BSTR ValueName,
  419.             /* [retval][out] */ BSTR *Value);
  420.         
  421.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLongValue )( 
  422.             ISpeechDataKey * This,
  423.             /* [in] */ const BSTR ValueName,
  424.             /* [in] */ long Value);
  425.         
  426.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLongValue )( 
  427.             ISpeechDataKey * This,
  428.             /* [in] */ const BSTR ValueName,
  429.             /* [retval][out] */ long *Value);
  430.         
  431.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *OpenKey )( 
  432.             ISpeechDataKey * This,
  433.             /* [in] */ const BSTR SubKeyName,
  434.             /* [retval][out] */ ISpeechDataKey **SubKey);
  435.         
  436.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateKey )( 
  437.             ISpeechDataKey * This,
  438.             /* [in] */ const BSTR SubKeyName,
  439.             /* [retval][out] */ ISpeechDataKey **SubKey);
  440.         
  441.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteKey )( 
  442.             ISpeechDataKey * This,
  443.             /* [in] */ const BSTR SubKeyName);
  444.         
  445.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteValue )( 
  446.             ISpeechDataKey * This,
  447.             /* [in] */ const BSTR ValueName);
  448.         
  449.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumKeys )( 
  450.             ISpeechDataKey * This,
  451.             /* [in] */ long Index,
  452.             /* [retval][out] */ BSTR *SubKeyName);
  453.         
  454.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumValues )( 
  455.             ISpeechDataKey * This,
  456.             /* [in] */ long Index,
  457.             /* [retval][out] */ BSTR *ValueName);
  458.         
  459.         END_INTERFACE
  460.     } ISpeechDataKeyVtbl;
  461.     interface ISpeechDataKey
  462.     {
  463.         CONST_VTBL struct ISpeechDataKeyVtbl *lpVtbl;
  464.     };
  465.     
  466. #ifdef COBJMACROS
  467. #define ISpeechDataKey_QueryInterface(This,riid,ppvObject)
  468.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  469. #define ISpeechDataKey_AddRef(This)
  470.     (This)->lpVtbl -> AddRef(This)
  471. #define ISpeechDataKey_Release(This)
  472.     (This)->lpVtbl -> Release(This)
  473. #define ISpeechDataKey_GetTypeInfoCount(This,pctinfo)
  474.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  475. #define ISpeechDataKey_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  476.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  477. #define ISpeechDataKey_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  478.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  479. #define ISpeechDataKey_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  480.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  481. #define ISpeechDataKey_SetBinaryValue(This,ValueName,Value)
  482.     (This)->lpVtbl -> SetBinaryValue(This,ValueName,Value)
  483. #define ISpeechDataKey_GetBinaryValue(This,ValueName,Value)
  484.     (This)->lpVtbl -> GetBinaryValue(This,ValueName,Value)
  485. #define ISpeechDataKey_SetStringValue(This,ValueName,Value)
  486.     (This)->lpVtbl -> SetStringValue(This,ValueName,Value)
  487. #define ISpeechDataKey_GetStringValue(This,ValueName,Value)
  488.     (This)->lpVtbl -> GetStringValue(This,ValueName,Value)
  489. #define ISpeechDataKey_SetLongValue(This,ValueName,Value)
  490.     (This)->lpVtbl -> SetLongValue(This,ValueName,Value)
  491. #define ISpeechDataKey_GetLongValue(This,ValueName,Value)
  492.     (This)->lpVtbl -> GetLongValue(This,ValueName,Value)
  493. #define ISpeechDataKey_OpenKey(This,SubKeyName,SubKey)
  494.     (This)->lpVtbl -> OpenKey(This,SubKeyName,SubKey)
  495. #define ISpeechDataKey_CreateKey(This,SubKeyName,SubKey)
  496.     (This)->lpVtbl -> CreateKey(This,SubKeyName,SubKey)
  497. #define ISpeechDataKey_DeleteKey(This,SubKeyName)
  498.     (This)->lpVtbl -> DeleteKey(This,SubKeyName)
  499. #define ISpeechDataKey_DeleteValue(This,ValueName)
  500.     (This)->lpVtbl -> DeleteValue(This,ValueName)
  501. #define ISpeechDataKey_EnumKeys(This,Index,SubKeyName)
  502.     (This)->lpVtbl -> EnumKeys(This,Index,SubKeyName)
  503. #define ISpeechDataKey_EnumValues(This,Index,ValueName)
  504.     (This)->lpVtbl -> EnumValues(This,Index,ValueName)
  505. #endif /* COBJMACROS */
  506. #endif  /* C style interface */
  507. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetBinaryValue_Proxy( 
  508.     ISpeechDataKey * This,
  509.     /* [in] */ const BSTR ValueName,
  510.     /* [in] */ VARIANT Value);
  511. void __RPC_STUB ISpeechDataKey_SetBinaryValue_Stub(
  512.     IRpcStubBuffer *This,
  513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  514.     PRPC_MESSAGE _pRpcMessage,
  515.     DWORD *_pdwStubPhase);
  516. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetBinaryValue_Proxy( 
  517.     ISpeechDataKey * This,
  518.     /* [in] */ const BSTR ValueName,
  519.     /* [retval][out] */ VARIANT *Value);
  520. void __RPC_STUB ISpeechDataKey_GetBinaryValue_Stub(
  521.     IRpcStubBuffer *This,
  522.     IRpcChannelBuffer *_pRpcChannelBuffer,
  523.     PRPC_MESSAGE _pRpcMessage,
  524.     DWORD *_pdwStubPhase);
  525. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetStringValue_Proxy( 
  526.     ISpeechDataKey * This,
  527.     /* [in] */ const BSTR ValueName,
  528.     /* [in] */ const BSTR Value);
  529. void __RPC_STUB ISpeechDataKey_SetStringValue_Stub(
  530.     IRpcStubBuffer *This,
  531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  532.     PRPC_MESSAGE _pRpcMessage,
  533.     DWORD *_pdwStubPhase);
  534. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetStringValue_Proxy( 
  535.     ISpeechDataKey * This,
  536.     /* [in] */ const BSTR ValueName,
  537.     /* [retval][out] */ BSTR *Value);
  538. void __RPC_STUB ISpeechDataKey_GetStringValue_Stub(
  539.     IRpcStubBuffer *This,
  540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  541.     PRPC_MESSAGE _pRpcMessage,
  542.     DWORD *_pdwStubPhase);
  543. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_SetLongValue_Proxy( 
  544.     ISpeechDataKey * This,
  545.     /* [in] */ const BSTR ValueName,
  546.     /* [in] */ long Value);
  547. void __RPC_STUB ISpeechDataKey_SetLongValue_Stub(
  548.     IRpcStubBuffer *This,
  549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  550.     PRPC_MESSAGE _pRpcMessage,
  551.     DWORD *_pdwStubPhase);
  552. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_GetLongValue_Proxy( 
  553.     ISpeechDataKey * This,
  554.     /* [in] */ const BSTR ValueName,
  555.     /* [retval][out] */ long *Value);
  556. void __RPC_STUB ISpeechDataKey_GetLongValue_Stub(
  557.     IRpcStubBuffer *This,
  558.     IRpcChannelBuffer *_pRpcChannelBuffer,
  559.     PRPC_MESSAGE _pRpcMessage,
  560.     DWORD *_pdwStubPhase);
  561. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_OpenKey_Proxy( 
  562.     ISpeechDataKey * This,
  563.     /* [in] */ const BSTR SubKeyName,
  564.     /* [retval][out] */ ISpeechDataKey **SubKey);
  565. void __RPC_STUB ISpeechDataKey_OpenKey_Stub(
  566.     IRpcStubBuffer *This,
  567.     IRpcChannelBuffer *_pRpcChannelBuffer,
  568.     PRPC_MESSAGE _pRpcMessage,
  569.     DWORD *_pdwStubPhase);
  570. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_CreateKey_Proxy( 
  571.     ISpeechDataKey * This,
  572.     /* [in] */ const BSTR SubKeyName,
  573.     /* [retval][out] */ ISpeechDataKey **SubKey);
  574. void __RPC_STUB ISpeechDataKey_CreateKey_Stub(
  575.     IRpcStubBuffer *This,
  576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  577.     PRPC_MESSAGE _pRpcMessage,
  578.     DWORD *_pdwStubPhase);
  579. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_DeleteKey_Proxy( 
  580.     ISpeechDataKey * This,
  581.     /* [in] */ const BSTR SubKeyName);
  582. void __RPC_STUB ISpeechDataKey_DeleteKey_Stub(
  583.     IRpcStubBuffer *This,
  584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  585.     PRPC_MESSAGE _pRpcMessage,
  586.     DWORD *_pdwStubPhase);
  587. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_DeleteValue_Proxy( 
  588.     ISpeechDataKey * This,
  589.     /* [in] */ const BSTR ValueName);
  590. void __RPC_STUB ISpeechDataKey_DeleteValue_Stub(
  591.     IRpcStubBuffer *This,
  592.     IRpcChannelBuffer *_pRpcChannelBuffer,
  593.     PRPC_MESSAGE _pRpcMessage,
  594.     DWORD *_pdwStubPhase);
  595. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_EnumKeys_Proxy( 
  596.     ISpeechDataKey * This,
  597.     /* [in] */ long Index,
  598.     /* [retval][out] */ BSTR *SubKeyName);
  599. void __RPC_STUB ISpeechDataKey_EnumKeys_Stub(
  600.     IRpcStubBuffer *This,
  601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  602.     PRPC_MESSAGE _pRpcMessage,
  603.     DWORD *_pdwStubPhase);
  604. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechDataKey_EnumValues_Proxy( 
  605.     ISpeechDataKey * This,
  606.     /* [in] */ long Index,
  607.     /* [retval][out] */ BSTR *ValueName);
  608. void __RPC_STUB ISpeechDataKey_EnumValues_Stub(
  609.     IRpcStubBuffer *This,
  610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  611.     PRPC_MESSAGE _pRpcMessage,
  612.     DWORD *_pdwStubPhase);
  613. #endif  /* __ISpeechDataKey_INTERFACE_DEFINED__ */
  614. #ifndef __ISpeechObjectToken_INTERFACE_DEFINED__
  615. #define __ISpeechObjectToken_INTERFACE_DEFINED__
  616. /* interface ISpeechObjectToken */
  617. /* [unique][helpstring][dual][uuid][object] */ 
  618. EXTERN_C const IID IID_ISpeechObjectToken;
  619. #if defined(__cplusplus) && !defined(CINTERFACE)
  620.     
  621.     MIDL_INTERFACE("C74A3ADC-B727-4500-A84A-B526721C8B8C")
  622.     ISpeechObjectToken : public IDispatch
  623.     {
  624.     public:
  625.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
  626.             /* [retval][out] */ BSTR *ObjectId) = 0;
  627.         
  628.         virtual /* [hidden][id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DataKey( 
  629.             /* [retval][out] */ ISpeechDataKey **DataKey) = 0;
  630.         
  631.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category( 
  632.             /* [retval][out] */ ISpeechObjectTokenCategory **Category) = 0;
  633.         
  634.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetDescription( 
  635.             /* [defaultvalue][in] */ long Locale,
  636.             /* [retval][out] */ BSTR *Description) = 0;
  637.         
  638.         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE SetId( 
  639.             /* [in] */ BSTR Id,
  640.             /* [defaultvalue][in] */ BSTR CategoryID = L"",
  641.             /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist = 0) = 0;
  642.         
  643.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetAttribute( 
  644.             /* [in] */ BSTR AttributeName,
  645.             /* [retval][out] */ BSTR *AttributeValue) = 0;
  646.         
  647.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
  648.             /* [defaultvalue][in] */ IUnknown *pUnkOuter,
  649.             /* [defaultvalue][in] */ SpeechTokenContext ClsContext,
  650.             /* [retval][out] */ IUnknown **Object) = 0;
  651.         
  652.         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE Remove( 
  653.             /* [in] */ BSTR ObjectStorageCLSID) = 0;
  654.         
  655.         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE GetStorageFileName( 
  656.             /* [in] */ BSTR ObjectStorageCLSID,
  657.             /* [in] */ BSTR KeyName,
  658.             /* [in] */ BSTR FileName,
  659.             /* [in] */ SpeechTokenShellFolder Folder,
  660.             /* [retval][out] */ BSTR *FilePath) = 0;
  661.         
  662.         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE RemoveStorageFileName( 
  663.             /* [in] */ BSTR ObjectStorageCLSID,
  664.             /* [in] */ BSTR KeyName,
  665.             /* [in] */ VARIANT_BOOL DeleteFile) = 0;
  666.         
  667.         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE IsUISupported( 
  668.             /* [in] */ const BSTR TypeOfUI,
  669.             /* [defaultvalue][in] */ const VARIANT *ExtraData,
  670.             /* [defaultvalue][in] */ IUnknown *Object,
  671.             /* [retval][out] */ VARIANT_BOOL *Supported) = 0;
  672.         
  673.         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE DisplayUI( 
  674.             /* [in] */ long hWnd,
  675.             /* [in] */ BSTR Title,
  676.             /* [in] */ const BSTR TypeOfUI,
  677.             /* [defaultvalue][in] */ const VARIANT *ExtraData = 0,
  678.             /* [defaultvalue][in] */ IUnknown *Object = 0) = 0;
  679.         
  680.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE MatchesAttributes( 
  681.             /* [in] */ BSTR Attributes,
  682.             /* [retval][out] */ VARIANT_BOOL *Matches) = 0;
  683.         
  684.     };
  685.     
  686. #else  /* C style interface */
  687.     typedef struct ISpeechObjectTokenVtbl
  688.     {
  689.         BEGIN_INTERFACE
  690.         
  691.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  692.             ISpeechObjectToken * This,
  693.             /* [in] */ REFIID riid,
  694.             /* [iid_is][out] */ void **ppvObject);
  695.         
  696.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  697.             ISpeechObjectToken * This);
  698.         
  699.         ULONG ( STDMETHODCALLTYPE *Release )( 
  700.             ISpeechObjectToken * This);
  701.         
  702.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  703.             ISpeechObjectToken * This,
  704.             /* [out] */ UINT *pctinfo);
  705.         
  706.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  707.             ISpeechObjectToken * This,
  708.             /* [in] */ UINT iTInfo,
  709.             /* [in] */ LCID lcid,
  710.             /* [out] */ ITypeInfo **ppTInfo);
  711.         
  712.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  713.             ISpeechObjectToken * This,
  714.             /* [in] */ REFIID riid,
  715.             /* [size_is][in] */ LPOLESTR *rgszNames,
  716.             /* [in] */ UINT cNames,
  717.             /* [in] */ LCID lcid,
  718.             /* [size_is][out] */ DISPID *rgDispId);
  719.         
  720.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  721.             ISpeechObjectToken * This,
  722.             /* [in] */ DISPID dispIdMember,
  723.             /* [in] */ REFIID riid,
  724.             /* [in] */ LCID lcid,
  725.             /* [in] */ WORD wFlags,
  726.             /* [out][in] */ DISPPARAMS *pDispParams,
  727.             /* [out] */ VARIANT *pVarResult,
  728.             /* [out] */ EXCEPINFO *pExcepInfo,
  729.             /* [out] */ UINT *puArgErr);
  730.         
  731.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
  732.             ISpeechObjectToken * This,
  733.             /* [retval][out] */ BSTR *ObjectId);
  734.         
  735.         /* [hidden][id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DataKey )( 
  736.             ISpeechObjectToken * This,
  737.             /* [retval][out] */ ISpeechDataKey **DataKey);
  738.         
  739.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
  740.             ISpeechObjectToken * This,
  741.             /* [retval][out] */ ISpeechObjectTokenCategory **Category);
  742.         
  743.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
  744.             ISpeechObjectToken * This,
  745.             /* [defaultvalue][in] */ long Locale,
  746.             /* [retval][out] */ BSTR *Description);
  747.         
  748.         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetId )( 
  749.             ISpeechObjectToken * This,
  750.             /* [in] */ BSTR Id,
  751.             /* [defaultvalue][in] */ BSTR CategoryID,
  752.             /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist);
  753.         
  754.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttribute )( 
  755.             ISpeechObjectToken * This,
  756.             /* [in] */ BSTR AttributeName,
  757.             /* [retval][out] */ BSTR *AttributeValue);
  758.         
  759.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )( 
  760.             ISpeechObjectToken * This,
  761.             /* [defaultvalue][in] */ IUnknown *pUnkOuter,
  762.             /* [defaultvalue][in] */ SpeechTokenContext ClsContext,
  763.             /* [retval][out] */ IUnknown **Object);
  764.         
  765.         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
  766.             ISpeechObjectToken * This,
  767.             /* [in] */ BSTR ObjectStorageCLSID);
  768.         
  769.         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStorageFileName )( 
  770.             ISpeechObjectToken * This,
  771.             /* [in] */ BSTR ObjectStorageCLSID,
  772.             /* [in] */ BSTR KeyName,
  773.             /* [in] */ BSTR FileName,
  774.             /* [in] */ SpeechTokenShellFolder Folder,
  775.             /* [retval][out] */ BSTR *FilePath);
  776.         
  777.         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveStorageFileName )( 
  778.             ISpeechObjectToken * This,
  779.             /* [in] */ BSTR ObjectStorageCLSID,
  780.             /* [in] */ BSTR KeyName,
  781.             /* [in] */ VARIANT_BOOL DeleteFile);
  782.         
  783.         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )( 
  784.             ISpeechObjectToken * This,
  785.             /* [in] */ const BSTR TypeOfUI,
  786.             /* [defaultvalue][in] */ const VARIANT *ExtraData,
  787.             /* [defaultvalue][in] */ IUnknown *Object,
  788.             /* [retval][out] */ VARIANT_BOOL *Supported);
  789.         
  790.         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )( 
  791.             ISpeechObjectToken * This,
  792.             /* [in] */ long hWnd,
  793.             /* [in] */ BSTR Title,
  794.             /* [in] */ const BSTR TypeOfUI,
  795.             /* [defaultvalue][in] */ const VARIANT *ExtraData,
  796.             /* [defaultvalue][in] */ IUnknown *Object);
  797.         
  798.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *MatchesAttributes )( 
  799.             ISpeechObjectToken * This,
  800.             /* [in] */ BSTR Attributes,
  801.             /* [retval][out] */ VARIANT_BOOL *Matches);
  802.         
  803.         END_INTERFACE
  804.     } ISpeechObjectTokenVtbl;
  805.     interface ISpeechObjectToken
  806.     {
  807.         CONST_VTBL struct ISpeechObjectTokenVtbl *lpVtbl;
  808.     };
  809.     
  810. #ifdef COBJMACROS
  811. #define ISpeechObjectToken_QueryInterface(This,riid,ppvObject)
  812.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  813. #define ISpeechObjectToken_AddRef(This)
  814.     (This)->lpVtbl -> AddRef(This)
  815. #define ISpeechObjectToken_Release(This)
  816.     (This)->lpVtbl -> Release(This)
  817. #define ISpeechObjectToken_GetTypeInfoCount(This,pctinfo)
  818.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  819. #define ISpeechObjectToken_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  820.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  821. #define ISpeechObjectToken_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  822.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  823. #define ISpeechObjectToken_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  824.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  825. #define ISpeechObjectToken_get_Id(This,ObjectId)
  826.     (This)->lpVtbl -> get_Id(This,ObjectId)
  827. #define ISpeechObjectToken_get_DataKey(This,DataKey)
  828.     (This)->lpVtbl -> get_DataKey(This,DataKey)
  829. #define ISpeechObjectToken_get_Category(This,Category)
  830.     (This)->lpVtbl -> get_Category(This,Category)
  831. #define ISpeechObjectToken_GetDescription(This,Locale,Description)
  832.     (This)->lpVtbl -> GetDescription(This,Locale,Description)
  833. #define ISpeechObjectToken_SetId(This,Id,CategoryID,CreateIfNotExist)
  834.     (This)->lpVtbl -> SetId(This,Id,CategoryID,CreateIfNotExist)
  835. #define ISpeechObjectToken_GetAttribute(This,AttributeName,AttributeValue)
  836.     (This)->lpVtbl -> GetAttribute(This,AttributeName,AttributeValue)
  837. #define ISpeechObjectToken_CreateInstance(This,pUnkOuter,ClsContext,Object)
  838.     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,ClsContext,Object)
  839. #define ISpeechObjectToken_Remove(This,ObjectStorageCLSID)
  840.     (This)->lpVtbl -> Remove(This,ObjectStorageCLSID)
  841. #define ISpeechObjectToken_GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath)
  842.     (This)->lpVtbl -> GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath)
  843. #define ISpeechObjectToken_RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile)
  844.     (This)->lpVtbl -> RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile)
  845. #define ISpeechObjectToken_IsUISupported(This,TypeOfUI,ExtraData,Object,Supported)
  846.     (This)->lpVtbl -> IsUISupported(This,TypeOfUI,ExtraData,Object,Supported)
  847. #define ISpeechObjectToken_DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object)
  848.     (This)->lpVtbl -> DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object)
  849. #define ISpeechObjectToken_MatchesAttributes(This,Attributes,Matches)
  850.     (This)->lpVtbl -> MatchesAttributes(This,Attributes,Matches)
  851. #endif /* COBJMACROS */
  852. #endif  /* C style interface */
  853. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_Id_Proxy( 
  854.     ISpeechObjectToken * This,
  855.     /* [retval][out] */ BSTR *ObjectId);
  856. void __RPC_STUB ISpeechObjectToken_get_Id_Stub(
  857.     IRpcStubBuffer *This,
  858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  859.     PRPC_MESSAGE _pRpcMessage,
  860.     DWORD *_pdwStubPhase);
  861. /* [hidden][id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_DataKey_Proxy( 
  862.     ISpeechObjectToken * This,
  863.     /* [retval][out] */ ISpeechDataKey **DataKey);
  864. void __RPC_STUB ISpeechObjectToken_get_DataKey_Stub(
  865.     IRpcStubBuffer *This,
  866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  867.     PRPC_MESSAGE _pRpcMessage,
  868.     DWORD *_pdwStubPhase);
  869. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_get_Category_Proxy( 
  870.     ISpeechObjectToken * This,
  871.     /* [retval][out] */ ISpeechObjectTokenCategory **Category);
  872. void __RPC_STUB ISpeechObjectToken_get_Category_Stub(
  873.     IRpcStubBuffer *This,
  874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  875.     PRPC_MESSAGE _pRpcMessage,
  876.     DWORD *_pdwStubPhase);
  877. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetDescription_Proxy( 
  878.     ISpeechObjectToken * This,
  879.     /* [defaultvalue][in] */ long Locale,
  880.     /* [retval][out] */ BSTR *Description);
  881. void __RPC_STUB ISpeechObjectToken_GetDescription_Stub(
  882.     IRpcStubBuffer *This,
  883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  884.     PRPC_MESSAGE _pRpcMessage,
  885.     DWORD *_pdwStubPhase);
  886. /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_SetId_Proxy( 
  887.     ISpeechObjectToken * This,
  888.     /* [in] */ BSTR Id,
  889.     /* [defaultvalue][in] */ BSTR CategoryID,
  890.     /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist);
  891. void __RPC_STUB ISpeechObjectToken_SetId_Stub(
  892.     IRpcStubBuffer *This,
  893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  894.     PRPC_MESSAGE _pRpcMessage,
  895.     DWORD *_pdwStubPhase);
  896. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetAttribute_Proxy( 
  897.     ISpeechObjectToken * This,
  898.     /* [in] */ BSTR AttributeName,
  899.     /* [retval][out] */ BSTR *AttributeValue);
  900. void __RPC_STUB ISpeechObjectToken_GetAttribute_Stub(
  901.     IRpcStubBuffer *This,
  902.     IRpcChannelBuffer *_pRpcChannelBuffer,
  903.     PRPC_MESSAGE _pRpcMessage,
  904.     DWORD *_pdwStubPhase);
  905. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_CreateInstance_Proxy( 
  906.     ISpeechObjectToken * This,
  907.     /* [defaultvalue][in] */ IUnknown *pUnkOuter,
  908.     /* [defaultvalue][in] */ SpeechTokenContext ClsContext,
  909.     /* [retval][out] */ IUnknown **Object);
  910. void __RPC_STUB ISpeechObjectToken_CreateInstance_Stub(
  911.     IRpcStubBuffer *This,
  912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  913.     PRPC_MESSAGE _pRpcMessage,
  914.     DWORD *_pdwStubPhase);
  915. /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_Remove_Proxy( 
  916.     ISpeechObjectToken * This,
  917.     /* [in] */ BSTR ObjectStorageCLSID);
  918. void __RPC_STUB ISpeechObjectToken_Remove_Stub(
  919.     IRpcStubBuffer *This,
  920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  921.     PRPC_MESSAGE _pRpcMessage,
  922.     DWORD *_pdwStubPhase);
  923. /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_GetStorageFileName_Proxy( 
  924.     ISpeechObjectToken * This,
  925.     /* [in] */ BSTR ObjectStorageCLSID,
  926.     /* [in] */ BSTR KeyName,
  927.     /* [in] */ BSTR FileName,
  928.     /* [in] */ SpeechTokenShellFolder Folder,
  929.     /* [retval][out] */ BSTR *FilePath);
  930. void __RPC_STUB ISpeechObjectToken_GetStorageFileName_Stub(
  931.     IRpcStubBuffer *This,
  932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  933.     PRPC_MESSAGE _pRpcMessage,
  934.     DWORD *_pdwStubPhase);
  935. /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_RemoveStorageFileName_Proxy( 
  936.     ISpeechObjectToken * This,
  937.     /* [in] */ BSTR ObjectStorageCLSID,
  938.     /* [in] */ BSTR KeyName,
  939.     /* [in] */ VARIANT_BOOL DeleteFile);
  940. void __RPC_STUB ISpeechObjectToken_RemoveStorageFileName_Stub(
  941.     IRpcStubBuffer *This,
  942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  943.     PRPC_MESSAGE _pRpcMessage,
  944.     DWORD *_pdwStubPhase);
  945. /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_IsUISupported_Proxy( 
  946.     ISpeechObjectToken * This,
  947.     /* [in] */ const BSTR TypeOfUI,
  948.     /* [defaultvalue][in] */ const VARIANT *ExtraData,
  949.     /* [defaultvalue][in] */ IUnknown *Object,
  950.     /* [retval][out] */ VARIANT_BOOL *Supported);
  951. void __RPC_STUB ISpeechObjectToken_IsUISupported_Stub(
  952.     IRpcStubBuffer *This,
  953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  954.     PRPC_MESSAGE _pRpcMessage,
  955.     DWORD *_pdwStubPhase);
  956. /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_DisplayUI_Proxy( 
  957.     ISpeechObjectToken * This,
  958.     /* [in] */ long hWnd,
  959.     /* [in] */ BSTR Title,
  960.     /* [in] */ const BSTR TypeOfUI,
  961.     /* [defaultvalue][in] */ const VARIANT *ExtraData,
  962.     /* [defaultvalue][in] */ IUnknown *Object);
  963. void __RPC_STUB ISpeechObjectToken_DisplayUI_Stub(
  964.     IRpcStubBuffer *This,
  965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  966.     PRPC_MESSAGE _pRpcMessage,
  967.     DWORD *_pdwStubPhase);
  968. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectToken_MatchesAttributes_Proxy( 
  969.     ISpeechObjectToken * This,
  970.     /* [in] */ BSTR Attributes,
  971.     /* [retval][out] */ VARIANT_BOOL *Matches);
  972. void __RPC_STUB ISpeechObjectToken_MatchesAttributes_Stub(
  973.     IRpcStubBuffer *This,
  974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  975.     PRPC_MESSAGE _pRpcMessage,
  976.     DWORD *_pdwStubPhase);
  977. #endif  /* __ISpeechObjectToken_INTERFACE_DEFINED__ */
  978. #ifndef __ISpeechObjectTokens_INTERFACE_DEFINED__
  979. #define __ISpeechObjectTokens_INTERFACE_DEFINED__
  980. /* interface ISpeechObjectTokens */
  981. /* [unique][helpstring][dual][uuid][object] */ 
  982. EXTERN_C const IID IID_ISpeechObjectTokens;
  983. #if defined(__cplusplus) && !defined(CINTERFACE)
  984.     
  985.     MIDL_INTERFACE("9285B776-2E7B-4bc0-B53E-580EB6FA967F")
  986.     ISpeechObjectTokens : public IDispatch
  987.     {
  988.     public:
  989.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  990.             /* [retval][out] */ long *Count) = 0;
  991.         
  992.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item( 
  993.             /* [in] */ long Index,
  994.             /* [retval][out] */ ISpeechObjectToken **Token) = 0;
  995.         
  996.         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  997.             /* [retval][out] */ IUnknown **ppEnumVARIANT) = 0;
  998.         
  999.     };
  1000.     
  1001. #else  /* C style interface */
  1002.     typedef struct ISpeechObjectTokensVtbl
  1003.     {
  1004.         BEGIN_INTERFACE
  1005.         
  1006.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1007.             ISpeechObjectTokens * This,
  1008.             /* [in] */ REFIID riid,
  1009.             /* [iid_is][out] */ void **ppvObject);
  1010.         
  1011.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1012.             ISpeechObjectTokens * This);
  1013.         
  1014.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1015.             ISpeechObjectTokens * This);
  1016.         
  1017.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1018.             ISpeechObjectTokens * This,
  1019.             /* [out] */ UINT *pctinfo);
  1020.         
  1021.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1022.             ISpeechObjectTokens * This,
  1023.             /* [in] */ UINT iTInfo,
  1024.             /* [in] */ LCID lcid,
  1025.             /* [out] */ ITypeInfo **ppTInfo);
  1026.         
  1027.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1028.             ISpeechObjectTokens * This,
  1029.             /* [in] */ REFIID riid,
  1030.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1031.             /* [in] */ UINT cNames,
  1032.             /* [in] */ LCID lcid,
  1033.             /* [size_is][out] */ DISPID *rgDispId);
  1034.         
  1035.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1036.             ISpeechObjectTokens * This,
  1037.             /* [in] */ DISPID dispIdMember,
  1038.             /* [in] */ REFIID riid,
  1039.             /* [in] */ LCID lcid,
  1040.             /* [in] */ WORD wFlags,
  1041.             /* [out][in] */ DISPPARAMS *pDispParams,
  1042.             /* [out] */ VARIANT *pVarResult,
  1043.             /* [out] */ EXCEPINFO *pExcepInfo,
  1044.             /* [out] */ UINT *puArgErr);
  1045.         
  1046.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1047.             ISpeechObjectTokens * This,
  1048.             /* [retval][out] */ long *Count);
  1049.         
  1050.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
  1051.             ISpeechObjectTokens * This,
  1052.             /* [in] */ long Index,
  1053.             /* [retval][out] */ ISpeechObjectToken **Token);
  1054.         
  1055.         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1056.             ISpeechObjectTokens * This,
  1057.             /* [retval][out] */ IUnknown **ppEnumVARIANT);
  1058.         
  1059.         END_INTERFACE
  1060.     } ISpeechObjectTokensVtbl;
  1061.     interface ISpeechObjectTokens
  1062.     {
  1063.         CONST_VTBL struct ISpeechObjectTokensVtbl *lpVtbl;
  1064.     };
  1065.     
  1066. #ifdef COBJMACROS
  1067. #define ISpeechObjectTokens_QueryInterface(This,riid,ppvObject)
  1068.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1069. #define ISpeechObjectTokens_AddRef(This)
  1070.     (This)->lpVtbl -> AddRef(This)
  1071. #define ISpeechObjectTokens_Release(This)
  1072.     (This)->lpVtbl -> Release(This)
  1073. #define ISpeechObjectTokens_GetTypeInfoCount(This,pctinfo)
  1074.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1075. #define ISpeechObjectTokens_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1076.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1077. #define ISpeechObjectTokens_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1078.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1079. #define ISpeechObjectTokens_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1080.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1081. #define ISpeechObjectTokens_get_Count(This,Count)
  1082.     (This)->lpVtbl -> get_Count(This,Count)
  1083. #define ISpeechObjectTokens_Item(This,Index,Token)
  1084.     (This)->lpVtbl -> Item(This,Index,Token)
  1085. #define ISpeechObjectTokens_get__NewEnum(This,ppEnumVARIANT)
  1086.     (This)->lpVtbl -> get__NewEnum(This,ppEnumVARIANT)
  1087. #endif /* COBJMACROS */
  1088. #endif  /* C style interface */
  1089. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_get_Count_Proxy( 
  1090.     ISpeechObjectTokens * This,
  1091.     /* [retval][out] */ long *Count);
  1092. void __RPC_STUB ISpeechObjectTokens_get_Count_Stub(
  1093.     IRpcStubBuffer *This,
  1094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1095.     PRPC_MESSAGE _pRpcMessage,
  1096.     DWORD *_pdwStubPhase);
  1097. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_Item_Proxy( 
  1098.     ISpeechObjectTokens * This,
  1099.     /* [in] */ long Index,
  1100.     /* [retval][out] */ ISpeechObjectToken **Token);
  1101. void __RPC_STUB ISpeechObjectTokens_Item_Stub(
  1102.     IRpcStubBuffer *This,
  1103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1104.     PRPC_MESSAGE _pRpcMessage,
  1105.     DWORD *_pdwStubPhase);
  1106. /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokens_get__NewEnum_Proxy( 
  1107.     ISpeechObjectTokens * This,
  1108.     /* [retval][out] */ IUnknown **ppEnumVARIANT);
  1109. void __RPC_STUB ISpeechObjectTokens_get__NewEnum_Stub(
  1110.     IRpcStubBuffer *This,
  1111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1112.     PRPC_MESSAGE _pRpcMessage,
  1113.     DWORD *_pdwStubPhase);
  1114. #endif  /* __ISpeechObjectTokens_INTERFACE_DEFINED__ */
  1115. #ifndef __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
  1116. #define __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
  1117. /* interface ISpeechObjectTokenCategory */
  1118. /* [unique][helpstring][dual][uuid][object] */ 
  1119. EXTERN_C const IID IID_ISpeechObjectTokenCategory;
  1120. #if defined(__cplusplus) && !defined(CINTERFACE)
  1121.     
  1122.     MIDL_INTERFACE("CA7EAC50-2D01-4145-86D4-5AE7D70F4469")
  1123.     ISpeechObjectTokenCategory : public IDispatch
  1124.     {
  1125.     public:
  1126.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
  1127.             /* [retval][out] */ BSTR *Id) = 0;
  1128.         
  1129.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Default( 
  1130.             /* [in] */ const BSTR TokenId) = 0;
  1131.         
  1132.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Default( 
  1133.             /* [retval][out] */ BSTR *TokenId) = 0;
  1134.         
  1135.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetId( 
  1136.             /* [in] */ const BSTR Id,
  1137.             /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist = 0) = 0;
  1138.         
  1139.         virtual /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE GetDataKey( 
  1140.             /* [defaultvalue][in] */ SpeechDataKeyLocation Location,
  1141.             /* [retval][out] */ ISpeechDataKey **DataKey) = 0;
  1142.         
  1143.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE EnumerateTokens( 
  1144.             /* [defaultvalue][in] */ BSTR RequiredAttributes,
  1145.             /* [defaultvalue][in] */ BSTR OptionalAttributes,
  1146.             /* [retval][out] */ ISpeechObjectTokens **Tokens) = 0;
  1147.         
  1148.     };
  1149.     
  1150. #else  /* C style interface */
  1151.     typedef struct ISpeechObjectTokenCategoryVtbl
  1152.     {
  1153.         BEGIN_INTERFACE
  1154.         
  1155.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1156.             ISpeechObjectTokenCategory * This,
  1157.             /* [in] */ REFIID riid,
  1158.             /* [iid_is][out] */ void **ppvObject);
  1159.         
  1160.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1161.             ISpeechObjectTokenCategory * This);
  1162.         
  1163.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1164.             ISpeechObjectTokenCategory * This);
  1165.         
  1166.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1167.             ISpeechObjectTokenCategory * This,
  1168.             /* [out] */ UINT *pctinfo);
  1169.         
  1170.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1171.             ISpeechObjectTokenCategory * This,
  1172.             /* [in] */ UINT iTInfo,
  1173.             /* [in] */ LCID lcid,
  1174.             /* [out] */ ITypeInfo **ppTInfo);
  1175.         
  1176.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1177.             ISpeechObjectTokenCategory * This,
  1178.             /* [in] */ REFIID riid,
  1179.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1180.             /* [in] */ UINT cNames,
  1181.             /* [in] */ LCID lcid,
  1182.             /* [size_is][out] */ DISPID *rgDispId);
  1183.         
  1184.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1185.             ISpeechObjectTokenCategory * This,
  1186.             /* [in] */ DISPID dispIdMember,
  1187.             /* [in] */ REFIID riid,
  1188.             /* [in] */ LCID lcid,
  1189.             /* [in] */ WORD wFlags,
  1190.             /* [out][in] */ DISPPARAMS *pDispParams,
  1191.             /* [out] */ VARIANT *pVarResult,
  1192.             /* [out] */ EXCEPINFO *pExcepInfo,
  1193.             /* [out] */ UINT *puArgErr);
  1194.         
  1195.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
  1196.             ISpeechObjectTokenCategory * This,
  1197.             /* [retval][out] */ BSTR *Id);
  1198.         
  1199.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Default )( 
  1200.             ISpeechObjectTokenCategory * This,
  1201.             /* [in] */ const BSTR TokenId);
  1202.         
  1203.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Default )( 
  1204.             ISpeechObjectTokenCategory * This,
  1205.             /* [retval][out] */ BSTR *TokenId);
  1206.         
  1207.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetId )( 
  1208.             ISpeechObjectTokenCategory * This,
  1209.             /* [in] */ const BSTR Id,
  1210.             /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist);
  1211.         
  1212.         /* [id][hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataKey )( 
  1213.             ISpeechObjectTokenCategory * This,
  1214.             /* [defaultvalue][in] */ SpeechDataKeyLocation Location,
  1215.             /* [retval][out] */ ISpeechDataKey **DataKey);
  1216.         
  1217.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumerateTokens )( 
  1218.             ISpeechObjectTokenCategory * This,
  1219.             /* [defaultvalue][in] */ BSTR RequiredAttributes,
  1220.             /* [defaultvalue][in] */ BSTR OptionalAttributes,
  1221.             /* [retval][out] */ ISpeechObjectTokens **Tokens);
  1222.         
  1223.         END_INTERFACE
  1224.     } ISpeechObjectTokenCategoryVtbl;
  1225.     interface ISpeechObjectTokenCategory
  1226.     {
  1227.         CONST_VTBL struct ISpeechObjectTokenCategoryVtbl *lpVtbl;
  1228.     };
  1229.     
  1230. #ifdef COBJMACROS
  1231. #define ISpeechObjectTokenCategory_QueryInterface(This,riid,ppvObject)
  1232.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1233. #define ISpeechObjectTokenCategory_AddRef(This)
  1234.     (This)->lpVtbl -> AddRef(This)
  1235. #define ISpeechObjectTokenCategory_Release(This)
  1236.     (This)->lpVtbl -> Release(This)
  1237. #define ISpeechObjectTokenCategory_GetTypeInfoCount(This,pctinfo)
  1238.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1239. #define ISpeechObjectTokenCategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1240.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1241. #define ISpeechObjectTokenCategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1242.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1243. #define ISpeechObjectTokenCategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1244.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1245. #define ISpeechObjectTokenCategory_get_Id(This,Id)
  1246.     (This)->lpVtbl -> get_Id(This,Id)
  1247. #define ISpeechObjectTokenCategory_put_Default(This,TokenId)
  1248.     (This)->lpVtbl -> put_Default(This,TokenId)
  1249. #define ISpeechObjectTokenCategory_get_Default(This,TokenId)
  1250.     (This)->lpVtbl -> get_Default(This,TokenId)
  1251. #define ISpeechObjectTokenCategory_SetId(This,Id,CreateIfNotExist)
  1252.     (This)->lpVtbl -> SetId(This,Id,CreateIfNotExist)
  1253. #define ISpeechObjectTokenCategory_GetDataKey(This,Location,DataKey)
  1254.     (This)->lpVtbl -> GetDataKey(This,Location,DataKey)
  1255. #define ISpeechObjectTokenCategory_EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens)
  1256.     (This)->lpVtbl -> EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens)
  1257. #endif /* COBJMACROS */
  1258. #endif  /* C style interface */
  1259. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_get_Id_Proxy( 
  1260.     ISpeechObjectTokenCategory * This,
  1261.     /* [retval][out] */ BSTR *Id);
  1262. void __RPC_STUB ISpeechObjectTokenCategory_get_Id_Stub(
  1263.     IRpcStubBuffer *This,
  1264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1265.     PRPC_MESSAGE _pRpcMessage,
  1266.     DWORD *_pdwStubPhase);
  1267. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_put_Default_Proxy( 
  1268.     ISpeechObjectTokenCategory * This,
  1269.     /* [in] */ const BSTR TokenId);
  1270. void __RPC_STUB ISpeechObjectTokenCategory_put_Default_Stub(
  1271.     IRpcStubBuffer *This,
  1272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1273.     PRPC_MESSAGE _pRpcMessage,
  1274.     DWORD *_pdwStubPhase);
  1275. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_get_Default_Proxy( 
  1276.     ISpeechObjectTokenCategory * This,
  1277.     /* [retval][out] */ BSTR *TokenId);
  1278. void __RPC_STUB ISpeechObjectTokenCategory_get_Default_Stub(
  1279.     IRpcStubBuffer *This,
  1280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1281.     PRPC_MESSAGE _pRpcMessage,
  1282.     DWORD *_pdwStubPhase);
  1283. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_SetId_Proxy( 
  1284.     ISpeechObjectTokenCategory * This,
  1285.     /* [in] */ const BSTR Id,
  1286.     /* [defaultvalue][in] */ VARIANT_BOOL CreateIfNotExist);
  1287. void __RPC_STUB ISpeechObjectTokenCategory_SetId_Stub(
  1288.     IRpcStubBuffer *This,
  1289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1290.     PRPC_MESSAGE _pRpcMessage,
  1291.     DWORD *_pdwStubPhase);
  1292. /* [id][hidden][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_GetDataKey_Proxy( 
  1293.     ISpeechObjectTokenCategory * This,
  1294.     /* [defaultvalue][in] */ SpeechDataKeyLocation Location,
  1295.     /* [retval][out] */ ISpeechDataKey **DataKey);
  1296. void __RPC_STUB ISpeechObjectTokenCategory_GetDataKey_Stub(
  1297.     IRpcStubBuffer *This,
  1298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1299.     PRPC_MESSAGE _pRpcMessage,
  1300.     DWORD *_pdwStubPhase);
  1301. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechObjectTokenCategory_EnumerateTokens_Proxy( 
  1302.     ISpeechObjectTokenCategory * This,
  1303.     /* [defaultvalue][in] */ BSTR RequiredAttributes,
  1304.     /* [defaultvalue][in] */ BSTR OptionalAttributes,
  1305.     /* [retval][out] */ ISpeechObjectTokens **Tokens);
  1306. void __RPC_STUB ISpeechObjectTokenCategory_EnumerateTokens_Stub(
  1307.     IRpcStubBuffer *This,
  1308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1309.     PRPC_MESSAGE _pRpcMessage,
  1310.     DWORD *_pdwStubPhase);
  1311. #endif  /* __ISpeechObjectTokenCategory_INTERFACE_DEFINED__ */
  1312. #ifndef __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
  1313. #define __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
  1314. /* interface ISpeechAudioBufferInfo */
  1315. /* [unique][helpstring][dual][uuid][object] */ 
  1316. EXTERN_C const IID IID_ISpeechAudioBufferInfo;
  1317. #if defined(__cplusplus) && !defined(CINTERFACE)
  1318.     
  1319.     MIDL_INTERFACE("11B103D8-1142-4edf-A093-82FB3915F8CC")
  1320.     ISpeechAudioBufferInfo : public IDispatch
  1321.     {
  1322.     public:
  1323.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MinNotification( 
  1324.             /* [retval][out] */ long *MinNotification) = 0;
  1325.         
  1326.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_MinNotification( 
  1327.             /* [in] */ long MinNotification) = 0;
  1328.         
  1329.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BufferSize( 
  1330.             /* [retval][out] */ long *BufferSize) = 0;
  1331.         
  1332.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BufferSize( 
  1333.             /* [in] */ long BufferSize) = 0;
  1334.         
  1335.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EventBias( 
  1336.             /* [retval][out] */ long *EventBias) = 0;
  1337.         
  1338.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EventBias( 
  1339.             /* [in] */ long EventBias) = 0;
  1340.         
  1341.     };
  1342.     
  1343. #else  /* C style interface */
  1344.     typedef struct ISpeechAudioBufferInfoVtbl
  1345.     {
  1346.         BEGIN_INTERFACE
  1347.         
  1348.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1349.             ISpeechAudioBufferInfo * This,
  1350.             /* [in] */ REFIID riid,
  1351.             /* [iid_is][out] */ void **ppvObject);
  1352.         
  1353.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1354.             ISpeechAudioBufferInfo * This);
  1355.         
  1356.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1357.             ISpeechAudioBufferInfo * This);
  1358.         
  1359.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1360.             ISpeechAudioBufferInfo * This,
  1361.             /* [out] */ UINT *pctinfo);
  1362.         
  1363.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1364.             ISpeechAudioBufferInfo * This,
  1365.             /* [in] */ UINT iTInfo,
  1366.             /* [in] */ LCID lcid,
  1367.             /* [out] */ ITypeInfo **ppTInfo);
  1368.         
  1369.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1370.             ISpeechAudioBufferInfo * This,
  1371.             /* [in] */ REFIID riid,
  1372.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1373.             /* [in] */ UINT cNames,
  1374.             /* [in] */ LCID lcid,
  1375.             /* [size_is][out] */ DISPID *rgDispId);
  1376.         
  1377.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1378.             ISpeechAudioBufferInfo * This,
  1379.             /* [in] */ DISPID dispIdMember,
  1380.             /* [in] */ REFIID riid,
  1381.             /* [in] */ LCID lcid,
  1382.             /* [in] */ WORD wFlags,
  1383.             /* [out][in] */ DISPPARAMS *pDispParams,
  1384.             /* [out] */ VARIANT *pVarResult,
  1385.             /* [out] */ EXCEPINFO *pExcepInfo,
  1386.             /* [out] */ UINT *puArgErr);
  1387.         
  1388.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinNotification )( 
  1389.             ISpeechAudioBufferInfo * This,
  1390.             /* [retval][out] */ long *MinNotification);
  1391.         
  1392.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MinNotification )( 
  1393.             ISpeechAudioBufferInfo * This,
  1394.             /* [in] */ long MinNotification);
  1395.         
  1396.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BufferSize )( 
  1397.             ISpeechAudioBufferInfo * This,
  1398.             /* [retval][out] */ long *BufferSize);
  1399.         
  1400.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BufferSize )( 
  1401.             ISpeechAudioBufferInfo * This,
  1402.             /* [in] */ long BufferSize);
  1403.         
  1404.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventBias )( 
  1405.             ISpeechAudioBufferInfo * This,
  1406.             /* [retval][out] */ long *EventBias);
  1407.         
  1408.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventBias )( 
  1409.             ISpeechAudioBufferInfo * This,
  1410.             /* [in] */ long EventBias);
  1411.         
  1412.         END_INTERFACE
  1413.     } ISpeechAudioBufferInfoVtbl;
  1414.     interface ISpeechAudioBufferInfo
  1415.     {
  1416.         CONST_VTBL struct ISpeechAudioBufferInfoVtbl *lpVtbl;
  1417.     };
  1418.     
  1419. #ifdef COBJMACROS
  1420. #define ISpeechAudioBufferInfo_QueryInterface(This,riid,ppvObject)
  1421.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1422. #define ISpeechAudioBufferInfo_AddRef(This)
  1423.     (This)->lpVtbl -> AddRef(This)
  1424. #define ISpeechAudioBufferInfo_Release(This)
  1425.     (This)->lpVtbl -> Release(This)
  1426. #define ISpeechAudioBufferInfo_GetTypeInfoCount(This,pctinfo)
  1427.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1428. #define ISpeechAudioBufferInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1429.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1430. #define ISpeechAudioBufferInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1431.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1432. #define ISpeechAudioBufferInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1433.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1434. #define ISpeechAudioBufferInfo_get_MinNotification(This,MinNotification)
  1435.     (This)->lpVtbl -> get_MinNotification(This,MinNotification)
  1436. #define ISpeechAudioBufferInfo_put_MinNotification(This,MinNotification)
  1437.     (This)->lpVtbl -> put_MinNotification(This,MinNotification)
  1438. #define ISpeechAudioBufferInfo_get_BufferSize(This,BufferSize)
  1439.     (This)->lpVtbl -> get_BufferSize(This,BufferSize)
  1440. #define ISpeechAudioBufferInfo_put_BufferSize(This,BufferSize)
  1441.     (This)->lpVtbl -> put_BufferSize(This,BufferSize)
  1442. #define ISpeechAudioBufferInfo_get_EventBias(This,EventBias)
  1443.     (This)->lpVtbl -> get_EventBias(This,EventBias)
  1444. #define ISpeechAudioBufferInfo_put_EventBias(This,EventBias)
  1445.     (This)->lpVtbl -> put_EventBias(This,EventBias)
  1446. #endif /* COBJMACROS */
  1447. #endif  /* C style interface */
  1448. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_MinNotification_Proxy( 
  1449.     ISpeechAudioBufferInfo * This,
  1450.     /* [retval][out] */ long *MinNotification);
  1451. void __RPC_STUB ISpeechAudioBufferInfo_get_MinNotification_Stub(
  1452.     IRpcStubBuffer *This,
  1453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1454.     PRPC_MESSAGE _pRpcMessage,
  1455.     DWORD *_pdwStubPhase);
  1456. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_MinNotification_Proxy( 
  1457.     ISpeechAudioBufferInfo * This,
  1458.     /* [in] */ long MinNotification);
  1459. void __RPC_STUB ISpeechAudioBufferInfo_put_MinNotification_Stub(
  1460.     IRpcStubBuffer *This,
  1461.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1462.     PRPC_MESSAGE _pRpcMessage,
  1463.     DWORD *_pdwStubPhase);
  1464. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_BufferSize_Proxy( 
  1465.     ISpeechAudioBufferInfo * This,
  1466.     /* [retval][out] */ long *BufferSize);
  1467. void __RPC_STUB ISpeechAudioBufferInfo_get_BufferSize_Stub(
  1468.     IRpcStubBuffer *This,
  1469.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1470.     PRPC_MESSAGE _pRpcMessage,
  1471.     DWORD *_pdwStubPhase);
  1472. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_BufferSize_Proxy( 
  1473.     ISpeechAudioBufferInfo * This,
  1474.     /* [in] */ long BufferSize);
  1475. void __RPC_STUB ISpeechAudioBufferInfo_put_BufferSize_Stub(
  1476.     IRpcStubBuffer *This,
  1477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1478.     PRPC_MESSAGE _pRpcMessage,
  1479.     DWORD *_pdwStubPhase);
  1480. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_get_EventBias_Proxy( 
  1481.     ISpeechAudioBufferInfo * This,
  1482.     /* [retval][out] */ long *EventBias);
  1483. void __RPC_STUB ISpeechAudioBufferInfo_get_EventBias_Stub(
  1484.     IRpcStubBuffer *This,
  1485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1486.     PRPC_MESSAGE _pRpcMessage,
  1487.     DWORD *_pdwStubPhase);
  1488. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioBufferInfo_put_EventBias_Proxy( 
  1489.     ISpeechAudioBufferInfo * This,
  1490.     /* [in] */ long EventBias);
  1491. void __RPC_STUB ISpeechAudioBufferInfo_put_EventBias_Stub(
  1492.     IRpcStubBuffer *This,
  1493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1494.     PRPC_MESSAGE _pRpcMessage,
  1495.     DWORD *_pdwStubPhase);
  1496. #endif  /* __ISpeechAudioBufferInfo_INTERFACE_DEFINED__ */
  1497. #ifndef __ISpeechAudioStatus_INTERFACE_DEFINED__
  1498. #define __ISpeechAudioStatus_INTERFACE_DEFINED__
  1499. /* interface ISpeechAudioStatus */
  1500. /* [unique][helpstring][dual][uuid][object] */ 
  1501. EXTERN_C const IID IID_ISpeechAudioStatus;
  1502. #if defined(__cplusplus) && !defined(CINTERFACE)
  1503.     
  1504.     MIDL_INTERFACE("C62D9C91-7458-47f6-862D-1EF86FB0B278")
  1505.     ISpeechAudioStatus : public IDispatch
  1506.     {
  1507.     public:
  1508.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FreeBufferSpace( 
  1509.             /* [retval][out] */ long *FreeBufferSpace) = 0;
  1510.         
  1511.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NonBlockingIO( 
  1512.             /* [retval][out] */ long *NonBlockingIO) = 0;
  1513.         
  1514.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
  1515.             /* [retval][out] */ SpeechAudioState *State) = 0;
  1516.         
  1517.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentSeekPosition( 
  1518.             /* [retval][out] */ VARIANT *CurrentSeekPosition) = 0;
  1519.         
  1520.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentDevicePosition( 
  1521.             /* [retval][out] */ VARIANT *CurrentDevicePosition) = 0;
  1522.         
  1523.     };
  1524.     
  1525. #else  /* C style interface */
  1526.     typedef struct ISpeechAudioStatusVtbl
  1527.     {
  1528.         BEGIN_INTERFACE
  1529.         
  1530.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1531.             ISpeechAudioStatus * This,
  1532.             /* [in] */ REFIID riid,
  1533.             /* [iid_is][out] */ void **ppvObject);
  1534.         
  1535.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1536.             ISpeechAudioStatus * This);
  1537.         
  1538.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1539.             ISpeechAudioStatus * This);
  1540.         
  1541.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1542.             ISpeechAudioStatus * This,
  1543.             /* [out] */ UINT *pctinfo);
  1544.         
  1545.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1546.             ISpeechAudioStatus * This,
  1547.             /* [in] */ UINT iTInfo,
  1548.             /* [in] */ LCID lcid,
  1549.             /* [out] */ ITypeInfo **ppTInfo);
  1550.         
  1551.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1552.             ISpeechAudioStatus * This,
  1553.             /* [in] */ REFIID riid,
  1554.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1555.             /* [in] */ UINT cNames,
  1556.             /* [in] */ LCID lcid,
  1557.             /* [size_is][out] */ DISPID *rgDispId);
  1558.         
  1559.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1560.             ISpeechAudioStatus * This,
  1561.             /* [in] */ DISPID dispIdMember,
  1562.             /* [in] */ REFIID riid,
  1563.             /* [in] */ LCID lcid,
  1564.             /* [in] */ WORD wFlags,
  1565.             /* [out][in] */ DISPPARAMS *pDispParams,
  1566.             /* [out] */ VARIANT *pVarResult,
  1567.             /* [out] */ EXCEPINFO *pExcepInfo,
  1568.             /* [out] */ UINT *puArgErr);
  1569.         
  1570.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FreeBufferSpace )( 
  1571.             ISpeechAudioStatus * This,
  1572.             /* [retval][out] */ long *FreeBufferSpace);
  1573.         
  1574.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NonBlockingIO )( 
  1575.             ISpeechAudioStatus * This,
  1576.             /* [retval][out] */ long *NonBlockingIO);
  1577.         
  1578.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  1579.             ISpeechAudioStatus * This,
  1580.             /* [retval][out] */ SpeechAudioState *State);
  1581.         
  1582.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentSeekPosition )( 
  1583.             ISpeechAudioStatus * This,
  1584.             /* [retval][out] */ VARIANT *CurrentSeekPosition);
  1585.         
  1586.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentDevicePosition )( 
  1587.             ISpeechAudioStatus * This,
  1588.             /* [retval][out] */ VARIANT *CurrentDevicePosition);
  1589.         
  1590.         END_INTERFACE
  1591.     } ISpeechAudioStatusVtbl;
  1592.     interface ISpeechAudioStatus
  1593.     {
  1594.         CONST_VTBL struct ISpeechAudioStatusVtbl *lpVtbl;
  1595.     };
  1596.     
  1597. #ifdef COBJMACROS
  1598. #define ISpeechAudioStatus_QueryInterface(This,riid,ppvObject)
  1599.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1600. #define ISpeechAudioStatus_AddRef(This)
  1601.     (This)->lpVtbl -> AddRef(This)
  1602. #define ISpeechAudioStatus_Release(This)
  1603.     (This)->lpVtbl -> Release(This)
  1604. #define ISpeechAudioStatus_GetTypeInfoCount(This,pctinfo)
  1605.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1606. #define ISpeechAudioStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1607.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1608. #define ISpeechAudioStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1609.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1610. #define ISpeechAudioStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1611.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1612. #define ISpeechAudioStatus_get_FreeBufferSpace(This,FreeBufferSpace)
  1613.     (This)->lpVtbl -> get_FreeBufferSpace(This,FreeBufferSpace)
  1614. #define ISpeechAudioStatus_get_NonBlockingIO(This,NonBlockingIO)
  1615.     (This)->lpVtbl -> get_NonBlockingIO(This,NonBlockingIO)
  1616. #define ISpeechAudioStatus_get_State(This,State)
  1617.     (This)->lpVtbl -> get_State(This,State)
  1618. #define ISpeechAudioStatus_get_CurrentSeekPosition(This,CurrentSeekPosition)
  1619.     (This)->lpVtbl -> get_CurrentSeekPosition(This,CurrentSeekPosition)
  1620. #define ISpeechAudioStatus_get_CurrentDevicePosition(This,CurrentDevicePosition)
  1621.     (This)->lpVtbl -> get_CurrentDevicePosition(This,CurrentDevicePosition)
  1622. #endif /* COBJMACROS */
  1623. #endif  /* C style interface */
  1624. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_FreeBufferSpace_Proxy( 
  1625.     ISpeechAudioStatus * This,
  1626.     /* [retval][out] */ long *FreeBufferSpace);
  1627. void __RPC_STUB ISpeechAudioStatus_get_FreeBufferSpace_Stub(
  1628.     IRpcStubBuffer *This,
  1629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1630.     PRPC_MESSAGE _pRpcMessage,
  1631.     DWORD *_pdwStubPhase);
  1632. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_NonBlockingIO_Proxy( 
  1633.     ISpeechAudioStatus * This,
  1634.     /* [retval][out] */ long *NonBlockingIO);
  1635. void __RPC_STUB ISpeechAudioStatus_get_NonBlockingIO_Stub(
  1636.     IRpcStubBuffer *This,
  1637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1638.     PRPC_MESSAGE _pRpcMessage,
  1639.     DWORD *_pdwStubPhase);
  1640. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_State_Proxy( 
  1641.     ISpeechAudioStatus * This,
  1642.     /* [retval][out] */ SpeechAudioState *State);
  1643. void __RPC_STUB ISpeechAudioStatus_get_State_Stub(
  1644.     IRpcStubBuffer *This,
  1645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1646.     PRPC_MESSAGE _pRpcMessage,
  1647.     DWORD *_pdwStubPhase);
  1648. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_CurrentSeekPosition_Proxy( 
  1649.     ISpeechAudioStatus * This,
  1650.     /* [retval][out] */ VARIANT *CurrentSeekPosition);
  1651. void __RPC_STUB ISpeechAudioStatus_get_CurrentSeekPosition_Stub(
  1652.     IRpcStubBuffer *This,
  1653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1654.     PRPC_MESSAGE _pRpcMessage,
  1655.     DWORD *_pdwStubPhase);
  1656. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioStatus_get_CurrentDevicePosition_Proxy( 
  1657.     ISpeechAudioStatus * This,
  1658.     /* [retval][out] */ VARIANT *CurrentDevicePosition);
  1659. void __RPC_STUB ISpeechAudioStatus_get_CurrentDevicePosition_Stub(
  1660.     IRpcStubBuffer *This,
  1661.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1662.     PRPC_MESSAGE _pRpcMessage,
  1663.     DWORD *_pdwStubPhase);
  1664. #endif  /* __ISpeechAudioStatus_INTERFACE_DEFINED__ */
  1665. #ifndef __ISpeechAudioFormat_INTERFACE_DEFINED__
  1666. #define __ISpeechAudioFormat_INTERFACE_DEFINED__
  1667. /* interface ISpeechAudioFormat */
  1668. /* [unique][helpstring][dual][uuid][object] */ 
  1669. EXTERN_C const IID IID_ISpeechAudioFormat;
  1670. #if defined(__cplusplus) && !defined(CINTERFACE)
  1671.     
  1672.     MIDL_INTERFACE("E6E9C590-3E18-40e3-8299-061F98BDE7C7")
  1673.     ISpeechAudioFormat : public IDispatch
  1674.     {
  1675.     public:
  1676.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  1677.             /* [retval][out] */ SpeechAudioFormatType *AudioFormat) = 0;
  1678.         
  1679.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
  1680.             /* [in] */ SpeechAudioFormatType AudioFormat) = 0;
  1681.         
  1682.         virtual /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_Guid( 
  1683.             /* [retval][out] */ BSTR *Guid) = 0;
  1684.         
  1685.         virtual /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE put_Guid( 
  1686.             /* [in] */ BSTR Guid) = 0;
  1687.         
  1688.         virtual /* [id][helpstring][hidden] */ HRESULT STDMETHODCALLTYPE GetWaveFormatEx( 
  1689.             /* [retval][out] */ ISpeechWaveFormatEx **WaveFormatEx) = 0;
  1690.         
  1691.         virtual /* [id][helpstring][hidden] */ HRESULT STDMETHODCALLTYPE SetWaveFormatEx( 
  1692.             /* [in] */ ISpeechWaveFormatEx *WaveFormatEx) = 0;
  1693.         
  1694.     };
  1695.     
  1696. #else  /* C style interface */
  1697.     typedef struct ISpeechAudioFormatVtbl
  1698.     {
  1699.         BEGIN_INTERFACE
  1700.         
  1701.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1702.             ISpeechAudioFormat * This,
  1703.             /* [in] */ REFIID riid,
  1704.             /* [iid_is][out] */ void **ppvObject);
  1705.         
  1706.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1707.             ISpeechAudioFormat * This);
  1708.         
  1709.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1710.             ISpeechAudioFormat * This);
  1711.         
  1712.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1713.             ISpeechAudioFormat * This,
  1714.             /* [out] */ UINT *pctinfo);
  1715.         
  1716.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1717.             ISpeechAudioFormat * This,
  1718.             /* [in] */ UINT iTInfo,
  1719.             /* [in] */ LCID lcid,
  1720.             /* [out] */ ITypeInfo **ppTInfo);
  1721.         
  1722.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1723.             ISpeechAudioFormat * This,
  1724.             /* [in] */ REFIID riid,
  1725.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1726.             /* [in] */ UINT cNames,
  1727.             /* [in] */ LCID lcid,
  1728.             /* [size_is][out] */ DISPID *rgDispId);
  1729.         
  1730.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1731.             ISpeechAudioFormat * This,
  1732.             /* [in] */ DISPID dispIdMember,
  1733.             /* [in] */ REFIID riid,
  1734.             /* [in] */ LCID lcid,
  1735.             /* [in] */ WORD wFlags,
  1736.             /* [out][in] */ DISPPARAMS *pDispParams,
  1737.             /* [out] */ VARIANT *pVarResult,
  1738.             /* [out] */ EXCEPINFO *pExcepInfo,
  1739.             /* [out] */ UINT *puArgErr);
  1740.         
  1741.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  1742.             ISpeechAudioFormat * This,
  1743.             /* [retval][out] */ SpeechAudioFormatType *AudioFormat);
  1744.         
  1745.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
  1746.             ISpeechAudioFormat * This,
  1747.             /* [in] */ SpeechAudioFormatType AudioFormat);
  1748.         
  1749.         /* [id][helpstring][hidden][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Guid )( 
  1750.             ISpeechAudioFormat * This,
  1751.             /* [retval][out] */ BSTR *Guid);
  1752.         
  1753.         /* [id][helpstring][hidden][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Guid )( 
  1754.             ISpeechAudioFormat * This,
  1755.             /* [in] */ BSTR Guid);
  1756.         
  1757.         /* [id][helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *GetWaveFormatEx )( 
  1758.             ISpeechAudioFormat * This,
  1759.             /* [retval][out] */ ISpeechWaveFormatEx **WaveFormatEx);
  1760.         
  1761.         /* [id][helpstring][hidden] */ HRESULT ( STDMETHODCALLTYPE *SetWaveFormatEx )( 
  1762.             ISpeechAudioFormat * This,
  1763.             /* [in] */ ISpeechWaveFormatEx *WaveFormatEx);
  1764.         
  1765.         END_INTERFACE
  1766.     } ISpeechAudioFormatVtbl;
  1767.     interface ISpeechAudioFormat
  1768.     {
  1769.         CONST_VTBL struct ISpeechAudioFormatVtbl *lpVtbl;
  1770.     };
  1771.     
  1772. #ifdef COBJMACROS
  1773. #define ISpeechAudioFormat_QueryInterface(This,riid,ppvObject)
  1774.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1775. #define ISpeechAudioFormat_AddRef(This)
  1776.     (This)->lpVtbl -> AddRef(This)
  1777. #define ISpeechAudioFormat_Release(This)
  1778.     (This)->lpVtbl -> Release(This)
  1779. #define ISpeechAudioFormat_GetTypeInfoCount(This,pctinfo)
  1780.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1781. #define ISpeechAudioFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1782.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1783. #define ISpeechAudioFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1784.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1785. #define ISpeechAudioFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1786.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1787. #define ISpeechAudioFormat_get_Type(This,AudioFormat)
  1788.     (This)->lpVtbl -> get_Type(This,AudioFormat)
  1789. #define ISpeechAudioFormat_put_Type(This,AudioFormat)
  1790.     (This)->lpVtbl -> put_Type(This,AudioFormat)
  1791. #define ISpeechAudioFormat_get_Guid(This,Guid)
  1792.     (This)->lpVtbl -> get_Guid(This,Guid)
  1793. #define ISpeechAudioFormat_put_Guid(This,Guid)
  1794.     (This)->lpVtbl -> put_Guid(This,Guid)
  1795. #define ISpeechAudioFormat_GetWaveFormatEx(This,WaveFormatEx)
  1796.     (This)->lpVtbl -> GetWaveFormatEx(This,WaveFormatEx)
  1797. #define ISpeechAudioFormat_SetWaveFormatEx(This,WaveFormatEx)
  1798.     (This)->lpVtbl -> SetWaveFormatEx(This,WaveFormatEx)
  1799. #endif /* COBJMACROS */
  1800. #endif  /* C style interface */
  1801. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_get_Type_Proxy( 
  1802.     ISpeechAudioFormat * This,
  1803.     /* [retval][out] */ SpeechAudioFormatType *AudioFormat);
  1804. void __RPC_STUB ISpeechAudioFormat_get_Type_Stub(
  1805.     IRpcStubBuffer *This,
  1806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1807.     PRPC_MESSAGE _pRpcMessage,
  1808.     DWORD *_pdwStubPhase);
  1809. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_put_Type_Proxy( 
  1810.     ISpeechAudioFormat * This,
  1811.     /* [in] */ SpeechAudioFormatType AudioFormat);
  1812. void __RPC_STUB ISpeechAudioFormat_put_Type_Stub(
  1813.     IRpcStubBuffer *This,
  1814.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1815.     PRPC_MESSAGE _pRpcMessage,
  1816.     DWORD *_pdwStubPhase);
  1817. /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_get_Guid_Proxy( 
  1818.     ISpeechAudioFormat * This,
  1819.     /* [retval][out] */ BSTR *Guid);
  1820. void __RPC_STUB ISpeechAudioFormat_get_Guid_Stub(
  1821.     IRpcStubBuffer *This,
  1822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1823.     PRPC_MESSAGE _pRpcMessage,
  1824.     DWORD *_pdwStubPhase);
  1825. /* [id][helpstring][hidden][propput] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_put_Guid_Proxy( 
  1826.     ISpeechAudioFormat * This,
  1827.     /* [in] */ BSTR Guid);
  1828. void __RPC_STUB ISpeechAudioFormat_put_Guid_Stub(
  1829.     IRpcStubBuffer *This,
  1830.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1831.     PRPC_MESSAGE _pRpcMessage,
  1832.     DWORD *_pdwStubPhase);
  1833. /* [id][helpstring][hidden] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_GetWaveFormatEx_Proxy( 
  1834.     ISpeechAudioFormat * This,
  1835.     /* [retval][out] */ ISpeechWaveFormatEx **WaveFormatEx);
  1836. void __RPC_STUB ISpeechAudioFormat_GetWaveFormatEx_Stub(
  1837.     IRpcStubBuffer *This,
  1838.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1839.     PRPC_MESSAGE _pRpcMessage,
  1840.     DWORD *_pdwStubPhase);
  1841. /* [id][helpstring][hidden] */ HRESULT STDMETHODCALLTYPE ISpeechAudioFormat_SetWaveFormatEx_Proxy( 
  1842.     ISpeechAudioFormat * This,
  1843.     /* [in] */ ISpeechWaveFormatEx *WaveFormatEx);
  1844. void __RPC_STUB ISpeechAudioFormat_SetWaveFormatEx_Stub(
  1845.     IRpcStubBuffer *This,
  1846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1847.     PRPC_MESSAGE _pRpcMessage,
  1848.     DWORD *_pdwStubPhase);
  1849. #endif  /* __ISpeechAudioFormat_INTERFACE_DEFINED__ */
  1850. #ifndef __ISpeechWaveFormatEx_INTERFACE_DEFINED__
  1851. #define __ISpeechWaveFormatEx_INTERFACE_DEFINED__
  1852. /* interface ISpeechWaveFormatEx */
  1853. /* [unique][helpstring][dual][uuid][object] */ 
  1854. EXTERN_C const IID IID_ISpeechWaveFormatEx;
  1855. #if defined(__cplusplus) && !defined(CINTERFACE)
  1856.     
  1857.     MIDL_INTERFACE("7A1EF0D5-1581-4741-88E4-209A49F11A10")
  1858.     ISpeechWaveFormatEx : public IDispatch
  1859.     {
  1860.     public:
  1861.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FormatTag( 
  1862.             /* [retval][out] */ short *FormatTag) = 0;
  1863.         
  1864.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FormatTag( 
  1865.             /* [in] */ short FormatTag) = 0;
  1866.         
  1867.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Channels( 
  1868.             /* [retval][out] */ short *Channels) = 0;
  1869.         
  1870.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Channels( 
  1871.             /* [in] */ short Channels) = 0;
  1872.         
  1873.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SamplesPerSec( 
  1874.             /* [retval][out] */ long *SamplesPerSec) = 0;
  1875.         
  1876.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SamplesPerSec( 
  1877.             /* [in] */ long SamplesPerSec) = 0;
  1878.         
  1879.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AvgBytesPerSec( 
  1880.             /* [retval][out] */ long *AvgBytesPerSec) = 0;
  1881.         
  1882.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AvgBytesPerSec( 
  1883.             /* [in] */ long AvgBytesPerSec) = 0;
  1884.         
  1885.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BlockAlign( 
  1886.             /* [retval][out] */ short *BlockAlign) = 0;
  1887.         
  1888.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BlockAlign( 
  1889.             /* [in] */ short BlockAlign) = 0;
  1890.         
  1891.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BitsPerSample( 
  1892.             /* [retval][out] */ short *BitsPerSample) = 0;
  1893.         
  1894.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BitsPerSample( 
  1895.             /* [in] */ short BitsPerSample) = 0;
  1896.         
  1897.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExtraData( 
  1898.             /* [retval][out] */ VARIANT *ExtraData) = 0;
  1899.         
  1900.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ExtraData( 
  1901.             /* [in] */ VARIANT ExtraData) = 0;
  1902.         
  1903.     };
  1904.     
  1905. #else  /* C style interface */
  1906.     typedef struct ISpeechWaveFormatExVtbl
  1907.     {
  1908.         BEGIN_INTERFACE
  1909.         
  1910.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1911.             ISpeechWaveFormatEx * This,
  1912.             /* [in] */ REFIID riid,
  1913.             /* [iid_is][out] */ void **ppvObject);
  1914.         
  1915.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1916.             ISpeechWaveFormatEx * This);
  1917.         
  1918.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1919.             ISpeechWaveFormatEx * This);
  1920.         
  1921.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1922.             ISpeechWaveFormatEx * This,
  1923.             /* [out] */ UINT *pctinfo);
  1924.         
  1925.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1926.             ISpeechWaveFormatEx * This,
  1927.             /* [in] */ UINT iTInfo,
  1928.             /* [in] */ LCID lcid,
  1929.             /* [out] */ ITypeInfo **ppTInfo);
  1930.         
  1931.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1932.             ISpeechWaveFormatEx * This,
  1933.             /* [in] */ REFIID riid,
  1934.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1935.             /* [in] */ UINT cNames,
  1936.             /* [in] */ LCID lcid,
  1937.             /* [size_is][out] */ DISPID *rgDispId);
  1938.         
  1939.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1940.             ISpeechWaveFormatEx * This,
  1941.             /* [in] */ DISPID dispIdMember,
  1942.             /* [in] */ REFIID riid,
  1943.             /* [in] */ LCID lcid,
  1944.             /* [in] */ WORD wFlags,
  1945.             /* [out][in] */ DISPPARAMS *pDispParams,
  1946.             /* [out] */ VARIANT *pVarResult,
  1947.             /* [out] */ EXCEPINFO *pExcepInfo,
  1948.             /* [out] */ UINT *puArgErr);
  1949.         
  1950.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FormatTag )( 
  1951.             ISpeechWaveFormatEx * This,
  1952.             /* [retval][out] */ short *FormatTag);
  1953.         
  1954.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FormatTag )( 
  1955.             ISpeechWaveFormatEx * This,
  1956.             /* [in] */ short FormatTag);
  1957.         
  1958.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Channels )( 
  1959.             ISpeechWaveFormatEx * This,
  1960.             /* [retval][out] */ short *Channels);
  1961.         
  1962.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Channels )( 
  1963.             ISpeechWaveFormatEx * This,
  1964.             /* [in] */ short Channels);
  1965.         
  1966.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SamplesPerSec )( 
  1967.             ISpeechWaveFormatEx * This,
  1968.             /* [retval][out] */ long *SamplesPerSec);
  1969.         
  1970.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SamplesPerSec )( 
  1971.             ISpeechWaveFormatEx * This,
  1972.             /* [in] */ long SamplesPerSec);
  1973.         
  1974.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AvgBytesPerSec )( 
  1975.             ISpeechWaveFormatEx * This,
  1976.             /* [retval][out] */ long *AvgBytesPerSec);
  1977.         
  1978.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AvgBytesPerSec )( 
  1979.             ISpeechWaveFormatEx * This,
  1980.             /* [in] */ long AvgBytesPerSec);
  1981.         
  1982.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockAlign )( 
  1983.             ISpeechWaveFormatEx * This,
  1984.             /* [retval][out] */ short *BlockAlign);
  1985.         
  1986.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockAlign )( 
  1987.             ISpeechWaveFormatEx * This,
  1988.             /* [in] */ short BlockAlign);
  1989.         
  1990.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitsPerSample )( 
  1991.             ISpeechWaveFormatEx * This,
  1992.             /* [retval][out] */ short *BitsPerSample);
  1993.         
  1994.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BitsPerSample )( 
  1995.             ISpeechWaveFormatEx * This,
  1996.             /* [in] */ short BitsPerSample);
  1997.         
  1998.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtraData )( 
  1999.             ISpeechWaveFormatEx * This,
  2000.             /* [retval][out] */ VARIANT *ExtraData);
  2001.         
  2002.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtraData )( 
  2003.             ISpeechWaveFormatEx * This,
  2004.             /* [in] */ VARIANT ExtraData);
  2005.         
  2006.         END_INTERFACE
  2007.     } ISpeechWaveFormatExVtbl;
  2008.     interface ISpeechWaveFormatEx
  2009.     {
  2010.         CONST_VTBL struct ISpeechWaveFormatExVtbl *lpVtbl;
  2011.     };
  2012.     
  2013. #ifdef COBJMACROS
  2014. #define ISpeechWaveFormatEx_QueryInterface(This,riid,ppvObject)
  2015.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2016. #define ISpeechWaveFormatEx_AddRef(This)
  2017.     (This)->lpVtbl -> AddRef(This)
  2018. #define ISpeechWaveFormatEx_Release(This)
  2019.     (This)->lpVtbl -> Release(This)
  2020. #define ISpeechWaveFormatEx_GetTypeInfoCount(This,pctinfo)
  2021.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2022. #define ISpeechWaveFormatEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2023.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2024. #define ISpeechWaveFormatEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2025.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2026. #define ISpeechWaveFormatEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2027.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2028. #define ISpeechWaveFormatEx_get_FormatTag(This,FormatTag)
  2029.     (This)->lpVtbl -> get_FormatTag(This,FormatTag)
  2030. #define ISpeechWaveFormatEx_put_FormatTag(This,FormatTag)
  2031.     (This)->lpVtbl -> put_FormatTag(This,FormatTag)
  2032. #define ISpeechWaveFormatEx_get_Channels(This,Channels)
  2033.     (This)->lpVtbl -> get_Channels(This,Channels)
  2034. #define ISpeechWaveFormatEx_put_Channels(This,Channels)
  2035.     (This)->lpVtbl -> put_Channels(This,Channels)
  2036. #define ISpeechWaveFormatEx_get_SamplesPerSec(This,SamplesPerSec)
  2037.     (This)->lpVtbl -> get_SamplesPerSec(This,SamplesPerSec)
  2038. #define ISpeechWaveFormatEx_put_SamplesPerSec(This,SamplesPerSec)
  2039.     (This)->lpVtbl -> put_SamplesPerSec(This,SamplesPerSec)
  2040. #define ISpeechWaveFormatEx_get_AvgBytesPerSec(This,AvgBytesPerSec)
  2041.     (This)->lpVtbl -> get_AvgBytesPerSec(This,AvgBytesPerSec)
  2042. #define ISpeechWaveFormatEx_put_AvgBytesPerSec(This,AvgBytesPerSec)
  2043.     (This)->lpVtbl -> put_AvgBytesPerSec(This,AvgBytesPerSec)
  2044. #define ISpeechWaveFormatEx_get_BlockAlign(This,BlockAlign)
  2045.     (This)->lpVtbl -> get_BlockAlign(This,BlockAlign)
  2046. #define ISpeechWaveFormatEx_put_BlockAlign(This,BlockAlign)
  2047.     (This)->lpVtbl -> put_BlockAlign(This,BlockAlign)
  2048. #define ISpeechWaveFormatEx_get_BitsPerSample(This,BitsPerSample)
  2049.     (This)->lpVtbl -> get_BitsPerSample(This,BitsPerSample)
  2050. #define ISpeechWaveFormatEx_put_BitsPerSample(This,BitsPerSample)
  2051.     (This)->lpVtbl -> put_BitsPerSample(This,BitsPerSample)
  2052. #define ISpeechWaveFormatEx_get_ExtraData(This,ExtraData)
  2053.     (This)->lpVtbl -> get_ExtraData(This,ExtraData)
  2054. #define ISpeechWaveFormatEx_put_ExtraData(This,ExtraData)
  2055.     (This)->lpVtbl -> put_ExtraData(This,ExtraData)
  2056. #endif /* COBJMACROS */
  2057. #endif  /* C style interface */
  2058. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_FormatTag_Proxy( 
  2059.     ISpeechWaveFormatEx * This,
  2060.     /* [retval][out] */ short *FormatTag);
  2061. void __RPC_STUB ISpeechWaveFormatEx_get_FormatTag_Stub(
  2062.     IRpcStubBuffer *This,
  2063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2064.     PRPC_MESSAGE _pRpcMessage,
  2065.     DWORD *_pdwStubPhase);
  2066. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_FormatTag_Proxy( 
  2067.     ISpeechWaveFormatEx * This,
  2068.     /* [in] */ short FormatTag);
  2069. void __RPC_STUB ISpeechWaveFormatEx_put_FormatTag_Stub(
  2070.     IRpcStubBuffer *This,
  2071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2072.     PRPC_MESSAGE _pRpcMessage,
  2073.     DWORD *_pdwStubPhase);
  2074. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_Channels_Proxy( 
  2075.     ISpeechWaveFormatEx * This,
  2076.     /* [retval][out] */ short *Channels);
  2077. void __RPC_STUB ISpeechWaveFormatEx_get_Channels_Stub(
  2078.     IRpcStubBuffer *This,
  2079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2080.     PRPC_MESSAGE _pRpcMessage,
  2081.     DWORD *_pdwStubPhase);
  2082. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_Channels_Proxy( 
  2083.     ISpeechWaveFormatEx * This,
  2084.     /* [in] */ short Channels);
  2085. void __RPC_STUB ISpeechWaveFormatEx_put_Channels_Stub(
  2086.     IRpcStubBuffer *This,
  2087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2088.     PRPC_MESSAGE _pRpcMessage,
  2089.     DWORD *_pdwStubPhase);
  2090. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_SamplesPerSec_Proxy( 
  2091.     ISpeechWaveFormatEx * This,
  2092.     /* [retval][out] */ long *SamplesPerSec);
  2093. void __RPC_STUB ISpeechWaveFormatEx_get_SamplesPerSec_Stub(
  2094.     IRpcStubBuffer *This,
  2095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2096.     PRPC_MESSAGE _pRpcMessage,
  2097.     DWORD *_pdwStubPhase);
  2098. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_SamplesPerSec_Proxy( 
  2099.     ISpeechWaveFormatEx * This,
  2100.     /* [in] */ long SamplesPerSec);
  2101. void __RPC_STUB ISpeechWaveFormatEx_put_SamplesPerSec_Stub(
  2102.     IRpcStubBuffer *This,
  2103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2104.     PRPC_MESSAGE _pRpcMessage,
  2105.     DWORD *_pdwStubPhase);
  2106. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_AvgBytesPerSec_Proxy( 
  2107.     ISpeechWaveFormatEx * This,
  2108.     /* [retval][out] */ long *AvgBytesPerSec);
  2109. void __RPC_STUB ISpeechWaveFormatEx_get_AvgBytesPerSec_Stub(
  2110.     IRpcStubBuffer *This,
  2111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2112.     PRPC_MESSAGE _pRpcMessage,
  2113.     DWORD *_pdwStubPhase);
  2114. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_AvgBytesPerSec_Proxy( 
  2115.     ISpeechWaveFormatEx * This,
  2116.     /* [in] */ long AvgBytesPerSec);
  2117. void __RPC_STUB ISpeechWaveFormatEx_put_AvgBytesPerSec_Stub(
  2118.     IRpcStubBuffer *This,
  2119.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2120.     PRPC_MESSAGE _pRpcMessage,
  2121.     DWORD *_pdwStubPhase);
  2122. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_BlockAlign_Proxy( 
  2123.     ISpeechWaveFormatEx * This,
  2124.     /* [retval][out] */ short *BlockAlign);
  2125. void __RPC_STUB ISpeechWaveFormatEx_get_BlockAlign_Stub(
  2126.     IRpcStubBuffer *This,
  2127.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2128.     PRPC_MESSAGE _pRpcMessage,
  2129.     DWORD *_pdwStubPhase);
  2130. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_BlockAlign_Proxy( 
  2131.     ISpeechWaveFormatEx * This,
  2132.     /* [in] */ short BlockAlign);
  2133. void __RPC_STUB ISpeechWaveFormatEx_put_BlockAlign_Stub(
  2134.     IRpcStubBuffer *This,
  2135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2136.     PRPC_MESSAGE _pRpcMessage,
  2137.     DWORD *_pdwStubPhase);
  2138. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_BitsPerSample_Proxy( 
  2139.     ISpeechWaveFormatEx * This,
  2140.     /* [retval][out] */ short *BitsPerSample);
  2141. void __RPC_STUB ISpeechWaveFormatEx_get_BitsPerSample_Stub(
  2142.     IRpcStubBuffer *This,
  2143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2144.     PRPC_MESSAGE _pRpcMessage,
  2145.     DWORD *_pdwStubPhase);
  2146. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_BitsPerSample_Proxy( 
  2147.     ISpeechWaveFormatEx * This,
  2148.     /* [in] */ short BitsPerSample);
  2149. void __RPC_STUB ISpeechWaveFormatEx_put_BitsPerSample_Stub(
  2150.     IRpcStubBuffer *This,
  2151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2152.     PRPC_MESSAGE _pRpcMessage,
  2153.     DWORD *_pdwStubPhase);
  2154. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_get_ExtraData_Proxy( 
  2155.     ISpeechWaveFormatEx * This,
  2156.     /* [retval][out] */ VARIANT *ExtraData);
  2157. void __RPC_STUB ISpeechWaveFormatEx_get_ExtraData_Stub(
  2158.     IRpcStubBuffer *This,
  2159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2160.     PRPC_MESSAGE _pRpcMessage,
  2161.     DWORD *_pdwStubPhase);
  2162. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechWaveFormatEx_put_ExtraData_Proxy( 
  2163.     ISpeechWaveFormatEx * This,
  2164.     /* [in] */ VARIANT ExtraData);
  2165. void __RPC_STUB ISpeechWaveFormatEx_put_ExtraData_Stub(
  2166.     IRpcStubBuffer *This,
  2167.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2168.     PRPC_MESSAGE _pRpcMessage,
  2169.     DWORD *_pdwStubPhase);
  2170. #endif  /* __ISpeechWaveFormatEx_INTERFACE_DEFINED__ */
  2171. #ifndef __ISpeechBaseStream_INTERFACE_DEFINED__
  2172. #define __ISpeechBaseStream_INTERFACE_DEFINED__
  2173. /* interface ISpeechBaseStream */
  2174. /* [unique][helpstring][dual][uuid][object] */ 
  2175. EXTERN_C const IID IID_ISpeechBaseStream;
  2176. #if defined(__cplusplus) && !defined(CINTERFACE)
  2177.     
  2178.     MIDL_INTERFACE("6450336F-7D49-4ced-8097-49D6DEE37294")
  2179.     ISpeechBaseStream : public IDispatch
  2180.     {
  2181.     public:
  2182.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
  2183.             /* [retval][out] */ ISpeechAudioFormat **AudioFormat) = 0;
  2184.         
  2185.         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_Format( 
  2186.             /* [in] */ ISpeechAudioFormat *AudioFormat) = 0;
  2187.         
  2188.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Read( 
  2189.             /* [out] */ VARIANT *Buffer,
  2190.             /* [in] */ long NumberOfBytes,
  2191.             /* [retval][out] */ long *BytesRead) = 0;
  2192.         
  2193.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Write( 
  2194.             /* [in] */ VARIANT Buffer,
  2195.             /* [retval][out] */ long *BytesWritten) = 0;
  2196.         
  2197.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Seek( 
  2198.             /* [in] */ VARIANT Position,
  2199.             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
  2200.             /* [retval][out] */ VARIANT *NewPosition) = 0;
  2201.         
  2202.     };
  2203.     
  2204. #else  /* C style interface */
  2205.     typedef struct ISpeechBaseStreamVtbl
  2206.     {
  2207.         BEGIN_INTERFACE
  2208.         
  2209.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2210.             ISpeechBaseStream * This,
  2211.             /* [in] */ REFIID riid,
  2212.             /* [iid_is][out] */ void **ppvObject);
  2213.         
  2214.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2215.             ISpeechBaseStream * This);
  2216.         
  2217.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2218.             ISpeechBaseStream * This);
  2219.         
  2220.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2221.             ISpeechBaseStream * This,
  2222.             /* [out] */ UINT *pctinfo);
  2223.         
  2224.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2225.             ISpeechBaseStream * This,
  2226.             /* [in] */ UINT iTInfo,
  2227.             /* [in] */ LCID lcid,
  2228.             /* [out] */ ITypeInfo **ppTInfo);
  2229.         
  2230.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2231.             ISpeechBaseStream * This,
  2232.             /* [in] */ REFIID riid,
  2233.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2234.             /* [in] */ UINT cNames,
  2235.             /* [in] */ LCID lcid,
  2236.             /* [size_is][out] */ DISPID *rgDispId);
  2237.         
  2238.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2239.             ISpeechBaseStream * This,
  2240.             /* [in] */ DISPID dispIdMember,
  2241.             /* [in] */ REFIID riid,
  2242.             /* [in] */ LCID lcid,
  2243.             /* [in] */ WORD wFlags,
  2244.             /* [out][in] */ DISPPARAMS *pDispParams,
  2245.             /* [out] */ VARIANT *pVarResult,
  2246.             /* [out] */ EXCEPINFO *pExcepInfo,
  2247.             /* [out] */ UINT *puArgErr);
  2248.         
  2249.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
  2250.             ISpeechBaseStream * This,
  2251.             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
  2252.         
  2253.         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )( 
  2254.             ISpeechBaseStream * This,
  2255.             /* [in] */ ISpeechAudioFormat *AudioFormat);
  2256.         
  2257.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  2258.             ISpeechBaseStream * This,
  2259.             /* [out] */ VARIANT *Buffer,
  2260.             /* [in] */ long NumberOfBytes,
  2261.             /* [retval][out] */ long *BytesRead);
  2262.         
  2263.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )( 
  2264.             ISpeechBaseStream * This,
  2265.             /* [in] */ VARIANT Buffer,
  2266.             /* [retval][out] */ long *BytesWritten);
  2267.         
  2268.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )( 
  2269.             ISpeechBaseStream * This,
  2270.             /* [in] */ VARIANT Position,
  2271.             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
  2272.             /* [retval][out] */ VARIANT *NewPosition);
  2273.         
  2274.         END_INTERFACE
  2275.     } ISpeechBaseStreamVtbl;
  2276.     interface ISpeechBaseStream
  2277.     {
  2278.         CONST_VTBL struct ISpeechBaseStreamVtbl *lpVtbl;
  2279.     };
  2280.     
  2281. #ifdef COBJMACROS
  2282. #define ISpeechBaseStream_QueryInterface(This,riid,ppvObject)
  2283.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2284. #define ISpeechBaseStream_AddRef(This)
  2285.     (This)->lpVtbl -> AddRef(This)
  2286. #define ISpeechBaseStream_Release(This)
  2287.     (This)->lpVtbl -> Release(This)
  2288. #define ISpeechBaseStream_GetTypeInfoCount(This,pctinfo)
  2289.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2290. #define ISpeechBaseStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2291.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2292. #define ISpeechBaseStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2293.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2294. #define ISpeechBaseStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2295.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2296. #define ISpeechBaseStream_get_Format(This,AudioFormat)
  2297.     (This)->lpVtbl -> get_Format(This,AudioFormat)
  2298. #define ISpeechBaseStream_putref_Format(This,AudioFormat)
  2299.     (This)->lpVtbl -> putref_Format(This,AudioFormat)
  2300. #define ISpeechBaseStream_Read(This,Buffer,NumberOfBytes,BytesRead)
  2301.     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
  2302. #define ISpeechBaseStream_Write(This,Buffer,BytesWritten)
  2303.     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
  2304. #define ISpeechBaseStream_Seek(This,Position,Origin,NewPosition)
  2305.     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
  2306. #endif /* COBJMACROS */
  2307. #endif  /* C style interface */
  2308. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_get_Format_Proxy( 
  2309.     ISpeechBaseStream * This,
  2310.     /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
  2311. void __RPC_STUB ISpeechBaseStream_get_Format_Stub(
  2312.     IRpcStubBuffer *This,
  2313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2314.     PRPC_MESSAGE _pRpcMessage,
  2315.     DWORD *_pdwStubPhase);
  2316. /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_putref_Format_Proxy( 
  2317.     ISpeechBaseStream * This,
  2318.     /* [in] */ ISpeechAudioFormat *AudioFormat);
  2319. void __RPC_STUB ISpeechBaseStream_putref_Format_Stub(
  2320.     IRpcStubBuffer *This,
  2321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2322.     PRPC_MESSAGE _pRpcMessage,
  2323.     DWORD *_pdwStubPhase);
  2324. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Read_Proxy( 
  2325.     ISpeechBaseStream * This,
  2326.     /* [out] */ VARIANT *Buffer,
  2327.     /* [in] */ long NumberOfBytes,
  2328.     /* [retval][out] */ long *BytesRead);
  2329. void __RPC_STUB ISpeechBaseStream_Read_Stub(
  2330.     IRpcStubBuffer *This,
  2331.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2332.     PRPC_MESSAGE _pRpcMessage,
  2333.     DWORD *_pdwStubPhase);
  2334. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Write_Proxy( 
  2335.     ISpeechBaseStream * This,
  2336.     /* [in] */ VARIANT Buffer,
  2337.     /* [retval][out] */ long *BytesWritten);
  2338. void __RPC_STUB ISpeechBaseStream_Write_Stub(
  2339.     IRpcStubBuffer *This,
  2340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2341.     PRPC_MESSAGE _pRpcMessage,
  2342.     DWORD *_pdwStubPhase);
  2343. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechBaseStream_Seek_Proxy( 
  2344.     ISpeechBaseStream * This,
  2345.     /* [in] */ VARIANT Position,
  2346.     /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
  2347.     /* [retval][out] */ VARIANT *NewPosition);
  2348. void __RPC_STUB ISpeechBaseStream_Seek_Stub(
  2349.     IRpcStubBuffer *This,
  2350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2351.     PRPC_MESSAGE _pRpcMessage,
  2352.     DWORD *_pdwStubPhase);
  2353. #endif  /* __ISpeechBaseStream_INTERFACE_DEFINED__ */
  2354. #ifndef __ISpeechFileStream_INTERFACE_DEFINED__
  2355. #define __ISpeechFileStream_INTERFACE_DEFINED__
  2356. /* interface ISpeechFileStream */
  2357. /* [unique][helpstring][dual][uuid][object] */ 
  2358. EXTERN_C const IID IID_ISpeechFileStream;
  2359. #if defined(__cplusplus) && !defined(CINTERFACE)
  2360.     
  2361.     MIDL_INTERFACE("AF67F125-AB39-4e93-B4A2-CC2E66E182A7")
  2362.     ISpeechFileStream : public ISpeechBaseStream
  2363.     {
  2364.     public:
  2365.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Open( 
  2366.             /* [in] */ BSTR FileName,
  2367.             /* [defaultvalue][in] */ SpeechStreamFileMode FileMode = SSFMOpenForRead,
  2368.             /* [defaultvalue][in] */ VARIANT_BOOL DoEvents = 0) = 0;
  2369.         
  2370.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  2371.         
  2372.     };
  2373.     
  2374. #else  /* C style interface */
  2375.     typedef struct ISpeechFileStreamVtbl
  2376.     {
  2377.         BEGIN_INTERFACE
  2378.         
  2379.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2380.             ISpeechFileStream * This,
  2381.             /* [in] */ REFIID riid,
  2382.             /* [iid_is][out] */ void **ppvObject);
  2383.         
  2384.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2385.             ISpeechFileStream * This);
  2386.         
  2387.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2388.             ISpeechFileStream * This);
  2389.         
  2390.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2391.             ISpeechFileStream * This,
  2392.             /* [out] */ UINT *pctinfo);
  2393.         
  2394.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2395.             ISpeechFileStream * This,
  2396.             /* [in] */ UINT iTInfo,
  2397.             /* [in] */ LCID lcid,
  2398.             /* [out] */ ITypeInfo **ppTInfo);
  2399.         
  2400.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2401.             ISpeechFileStream * This,
  2402.             /* [in] */ REFIID riid,
  2403.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2404.             /* [in] */ UINT cNames,
  2405.             /* [in] */ LCID lcid,
  2406.             /* [size_is][out] */ DISPID *rgDispId);
  2407.         
  2408.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2409.             ISpeechFileStream * This,
  2410.             /* [in] */ DISPID dispIdMember,
  2411.             /* [in] */ REFIID riid,
  2412.             /* [in] */ LCID lcid,
  2413.             /* [in] */ WORD wFlags,
  2414.             /* [out][in] */ DISPPARAMS *pDispParams,
  2415.             /* [out] */ VARIANT *pVarResult,
  2416.             /* [out] */ EXCEPINFO *pExcepInfo,
  2417.             /* [out] */ UINT *puArgErr);
  2418.         
  2419.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
  2420.             ISpeechFileStream * This,
  2421.             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
  2422.         
  2423.         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )( 
  2424.             ISpeechFileStream * This,
  2425.             /* [in] */ ISpeechAudioFormat *AudioFormat);
  2426.         
  2427.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  2428.             ISpeechFileStream * This,
  2429.             /* [out] */ VARIANT *Buffer,
  2430.             /* [in] */ long NumberOfBytes,
  2431.             /* [retval][out] */ long *BytesRead);
  2432.         
  2433.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )( 
  2434.             ISpeechFileStream * This,
  2435.             /* [in] */ VARIANT Buffer,
  2436.             /* [retval][out] */ long *BytesWritten);
  2437.         
  2438.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )( 
  2439.             ISpeechFileStream * This,
  2440.             /* [in] */ VARIANT Position,
  2441.             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
  2442.             /* [retval][out] */ VARIANT *NewPosition);
  2443.         
  2444.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  2445.             ISpeechFileStream * This,
  2446.             /* [in] */ BSTR FileName,
  2447.             /* [defaultvalue][in] */ SpeechStreamFileMode FileMode,
  2448.             /* [defaultvalue][in] */ VARIANT_BOOL DoEvents);
  2449.         
  2450.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  2451.             ISpeechFileStream * This);
  2452.         
  2453.         END_INTERFACE
  2454.     } ISpeechFileStreamVtbl;
  2455.     interface ISpeechFileStream
  2456.     {
  2457.         CONST_VTBL struct ISpeechFileStreamVtbl *lpVtbl;
  2458.     };
  2459.     
  2460. #ifdef COBJMACROS
  2461. #define ISpeechFileStream_QueryInterface(This,riid,ppvObject)
  2462.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2463. #define ISpeechFileStream_AddRef(This)
  2464.     (This)->lpVtbl -> AddRef(This)
  2465. #define ISpeechFileStream_Release(This)
  2466.     (This)->lpVtbl -> Release(This)
  2467. #define ISpeechFileStream_GetTypeInfoCount(This,pctinfo)
  2468.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2469. #define ISpeechFileStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2470.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2471. #define ISpeechFileStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2472.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2473. #define ISpeechFileStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2474.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2475. #define ISpeechFileStream_get_Format(This,AudioFormat)
  2476.     (This)->lpVtbl -> get_Format(This,AudioFormat)
  2477. #define ISpeechFileStream_putref_Format(This,AudioFormat)
  2478.     (This)->lpVtbl -> putref_Format(This,AudioFormat)
  2479. #define ISpeechFileStream_Read(This,Buffer,NumberOfBytes,BytesRead)
  2480.     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
  2481. #define ISpeechFileStream_Write(This,Buffer,BytesWritten)
  2482.     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
  2483. #define ISpeechFileStream_Seek(This,Position,Origin,NewPosition)
  2484.     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
  2485. #define ISpeechFileStream_Open(This,FileName,FileMode,DoEvents)
  2486.     (This)->lpVtbl -> Open(This,FileName,FileMode,DoEvents)
  2487. #define ISpeechFileStream_Close(This)
  2488.     (This)->lpVtbl -> Close(This)
  2489. #endif /* COBJMACROS */
  2490. #endif  /* C style interface */
  2491. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechFileStream_Open_Proxy( 
  2492.     ISpeechFileStream * This,
  2493.     /* [in] */ BSTR FileName,
  2494.     /* [defaultvalue][in] */ SpeechStreamFileMode FileMode,
  2495.     /* [defaultvalue][in] */ VARIANT_BOOL DoEvents);
  2496. void __RPC_STUB ISpeechFileStream_Open_Stub(
  2497.     IRpcStubBuffer *This,
  2498.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2499.     PRPC_MESSAGE _pRpcMessage,
  2500.     DWORD *_pdwStubPhase);
  2501. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechFileStream_Close_Proxy( 
  2502.     ISpeechFileStream * This);
  2503. void __RPC_STUB ISpeechFileStream_Close_Stub(
  2504.     IRpcStubBuffer *This,
  2505.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2506.     PRPC_MESSAGE _pRpcMessage,
  2507.     DWORD *_pdwStubPhase);
  2508. #endif  /* __ISpeechFileStream_INTERFACE_DEFINED__ */
  2509. #ifndef __ISpeechMemoryStream_INTERFACE_DEFINED__
  2510. #define __ISpeechMemoryStream_INTERFACE_DEFINED__
  2511. /* interface ISpeechMemoryStream */
  2512. /* [unique][helpstring][dual][uuid][object] */ 
  2513. EXTERN_C const IID IID_ISpeechMemoryStream;
  2514. #if defined(__cplusplus) && !defined(CINTERFACE)
  2515.     
  2516.     MIDL_INTERFACE("EEB14B68-808B-4abe-A5EA-B51DA7588008")
  2517.     ISpeechMemoryStream : public ISpeechBaseStream
  2518.     {
  2519.     public:
  2520.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
  2521.             /* [in] */ VARIANT Data) = 0;
  2522.         
  2523.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
  2524.             /* [retval][out] */ VARIANT *pData) = 0;
  2525.         
  2526.     };
  2527.     
  2528. #else  /* C style interface */
  2529.     typedef struct ISpeechMemoryStreamVtbl
  2530.     {
  2531.         BEGIN_INTERFACE
  2532.         
  2533.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2534.             ISpeechMemoryStream * This,
  2535.             /* [in] */ REFIID riid,
  2536.             /* [iid_is][out] */ void **ppvObject);
  2537.         
  2538.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2539.             ISpeechMemoryStream * This);
  2540.         
  2541.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2542.             ISpeechMemoryStream * This);
  2543.         
  2544.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2545.             ISpeechMemoryStream * This,
  2546.             /* [out] */ UINT *pctinfo);
  2547.         
  2548.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2549.             ISpeechMemoryStream * This,
  2550.             /* [in] */ UINT iTInfo,
  2551.             /* [in] */ LCID lcid,
  2552.             /* [out] */ ITypeInfo **ppTInfo);
  2553.         
  2554.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2555.             ISpeechMemoryStream * This,
  2556.             /* [in] */ REFIID riid,
  2557.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2558.             /* [in] */ UINT cNames,
  2559.             /* [in] */ LCID lcid,
  2560.             /* [size_is][out] */ DISPID *rgDispId);
  2561.         
  2562.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2563.             ISpeechMemoryStream * This,
  2564.             /* [in] */ DISPID dispIdMember,
  2565.             /* [in] */ REFIID riid,
  2566.             /* [in] */ LCID lcid,
  2567.             /* [in] */ WORD wFlags,
  2568.             /* [out][in] */ DISPPARAMS *pDispParams,
  2569.             /* [out] */ VARIANT *pVarResult,
  2570.             /* [out] */ EXCEPINFO *pExcepInfo,
  2571.             /* [out] */ UINT *puArgErr);
  2572.         
  2573.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
  2574.             ISpeechMemoryStream * This,
  2575.             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
  2576.         
  2577.         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )( 
  2578.             ISpeechMemoryStream * This,
  2579.             /* [in] */ ISpeechAudioFormat *AudioFormat);
  2580.         
  2581.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  2582.             ISpeechMemoryStream * This,
  2583.             /* [out] */ VARIANT *Buffer,
  2584.             /* [in] */ long NumberOfBytes,
  2585.             /* [retval][out] */ long *BytesRead);
  2586.         
  2587.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )( 
  2588.             ISpeechMemoryStream * This,
  2589.             /* [in] */ VARIANT Buffer,
  2590.             /* [retval][out] */ long *BytesWritten);
  2591.         
  2592.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )( 
  2593.             ISpeechMemoryStream * This,
  2594.             /* [in] */ VARIANT Position,
  2595.             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
  2596.             /* [retval][out] */ VARIANT *NewPosition);
  2597.         
  2598.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
  2599.             ISpeechMemoryStream * This,
  2600.             /* [in] */ VARIANT Data);
  2601.         
  2602.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
  2603.             ISpeechMemoryStream * This,
  2604.             /* [retval][out] */ VARIANT *pData);
  2605.         
  2606.         END_INTERFACE
  2607.     } ISpeechMemoryStreamVtbl;
  2608.     interface ISpeechMemoryStream
  2609.     {
  2610.         CONST_VTBL struct ISpeechMemoryStreamVtbl *lpVtbl;
  2611.     };
  2612.     
  2613. #ifdef COBJMACROS
  2614. #define ISpeechMemoryStream_QueryInterface(This,riid,ppvObject)
  2615.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2616. #define ISpeechMemoryStream_AddRef(This)
  2617.     (This)->lpVtbl -> AddRef(This)
  2618. #define ISpeechMemoryStream_Release(This)
  2619.     (This)->lpVtbl -> Release(This)
  2620. #define ISpeechMemoryStream_GetTypeInfoCount(This,pctinfo)
  2621.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2622. #define ISpeechMemoryStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2623.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2624. #define ISpeechMemoryStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2625.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2626. #define ISpeechMemoryStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2627.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2628. #define ISpeechMemoryStream_get_Format(This,AudioFormat)
  2629.     (This)->lpVtbl -> get_Format(This,AudioFormat)
  2630. #define ISpeechMemoryStream_putref_Format(This,AudioFormat)
  2631.     (This)->lpVtbl -> putref_Format(This,AudioFormat)
  2632. #define ISpeechMemoryStream_Read(This,Buffer,NumberOfBytes,BytesRead)
  2633.     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
  2634. #define ISpeechMemoryStream_Write(This,Buffer,BytesWritten)
  2635.     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
  2636. #define ISpeechMemoryStream_Seek(This,Position,Origin,NewPosition)
  2637.     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
  2638. #define ISpeechMemoryStream_SetData(This,Data)
  2639.     (This)->lpVtbl -> SetData(This,Data)
  2640. #define ISpeechMemoryStream_GetData(This,pData)
  2641.     (This)->lpVtbl -> GetData(This,pData)
  2642. #endif /* COBJMACROS */
  2643. #endif  /* C style interface */
  2644. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechMemoryStream_SetData_Proxy( 
  2645.     ISpeechMemoryStream * This,
  2646.     /* [in] */ VARIANT Data);
  2647. void __RPC_STUB ISpeechMemoryStream_SetData_Stub(
  2648.     IRpcStubBuffer *This,
  2649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2650.     PRPC_MESSAGE _pRpcMessage,
  2651.     DWORD *_pdwStubPhase);
  2652. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechMemoryStream_GetData_Proxy( 
  2653.     ISpeechMemoryStream * This,
  2654.     /* [retval][out] */ VARIANT *pData);
  2655. void __RPC_STUB ISpeechMemoryStream_GetData_Stub(
  2656.     IRpcStubBuffer *This,
  2657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2658.     PRPC_MESSAGE _pRpcMessage,
  2659.     DWORD *_pdwStubPhase);
  2660. #endif  /* __ISpeechMemoryStream_INTERFACE_DEFINED__ */
  2661. #ifndef __ISpeechCustomStream_INTERFACE_DEFINED__
  2662. #define __ISpeechCustomStream_INTERFACE_DEFINED__
  2663. /* interface ISpeechCustomStream */
  2664. /* [unique][helpstring][dual][uuid][object] */ 
  2665. EXTERN_C const IID IID_ISpeechCustomStream;
  2666. #if defined(__cplusplus) && !defined(CINTERFACE)
  2667.     
  2668.     MIDL_INTERFACE("1A9E9F4F-104F-4db8-A115-EFD7FD0C97AE")
  2669.     ISpeechCustomStream : public ISpeechBaseStream
  2670.     {
  2671.     public:
  2672.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BaseStream( 
  2673.             /* [retval][out] */ IUnknown **ppUnkStream) = 0;
  2674.         
  2675.         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_BaseStream( 
  2676.             /* [in] */ IUnknown *pUnkStream) = 0;
  2677.         
  2678.     };
  2679.     
  2680. #else  /* C style interface */
  2681.     typedef struct ISpeechCustomStreamVtbl
  2682.     {
  2683.         BEGIN_INTERFACE
  2684.         
  2685.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2686.             ISpeechCustomStream * This,
  2687.             /* [in] */ REFIID riid,
  2688.             /* [iid_is][out] */ void **ppvObject);
  2689.         
  2690.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2691.             ISpeechCustomStream * This);
  2692.         
  2693.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2694.             ISpeechCustomStream * This);
  2695.         
  2696.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2697.             ISpeechCustomStream * This,
  2698.             /* [out] */ UINT *pctinfo);
  2699.         
  2700.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2701.             ISpeechCustomStream * This,
  2702.             /* [in] */ UINT iTInfo,
  2703.             /* [in] */ LCID lcid,
  2704.             /* [out] */ ITypeInfo **ppTInfo);
  2705.         
  2706.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2707.             ISpeechCustomStream * This,
  2708.             /* [in] */ REFIID riid,
  2709.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2710.             /* [in] */ UINT cNames,
  2711.             /* [in] */ LCID lcid,
  2712.             /* [size_is][out] */ DISPID *rgDispId);
  2713.         
  2714.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2715.             ISpeechCustomStream * This,
  2716.             /* [in] */ DISPID dispIdMember,
  2717.             /* [in] */ REFIID riid,
  2718.             /* [in] */ LCID lcid,
  2719.             /* [in] */ WORD wFlags,
  2720.             /* [out][in] */ DISPPARAMS *pDispParams,
  2721.             /* [out] */ VARIANT *pVarResult,
  2722.             /* [out] */ EXCEPINFO *pExcepInfo,
  2723.             /* [out] */ UINT *puArgErr);
  2724.         
  2725.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
  2726.             ISpeechCustomStream * This,
  2727.             /* [retval][out] */ ISpeechAudioFormat **AudioFormat);
  2728.         
  2729.         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Format )( 
  2730.             ISpeechCustomStream * This,
  2731.             /* [in] */ ISpeechAudioFormat *AudioFormat);
  2732.         
  2733.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  2734.             ISpeechCustomStream * This,
  2735.             /* [out] */ VARIANT *Buffer,
  2736.             /* [in] */ long NumberOfBytes,
  2737.             /* [retval][out] */ long *BytesRead);
  2738.         
  2739.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Write )( 
  2740.             ISpeechCustomStream * This,
  2741.             /* [in] */ VARIANT Buffer,
  2742.             /* [retval][out] */ long *BytesWritten);
  2743.         
  2744.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Seek )( 
  2745.             ISpeechCustomStream * This,
  2746.             /* [in] */ VARIANT Position,
  2747.             /* [defaultvalue][in] */ SpeechStreamSeekPositionType Origin,
  2748.             /* [retval][out] */ VARIANT *NewPosition);
  2749.         
  2750.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseStream )( 
  2751.             ISpeechCustomStream * This,
  2752.             /* [retval][out] */ IUnknown **ppUnkStream);
  2753.         
  2754.         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_BaseStream )( 
  2755.             ISpeechCustomStream * This,
  2756.             /* [in] */ IUnknown *pUnkStream);
  2757.         
  2758.         END_INTERFACE
  2759.     } ISpeechCustomStreamVtbl;
  2760.     interface ISpeechCustomStream
  2761.     {
  2762.         CONST_VTBL struct ISpeechCustomStreamVtbl *lpVtbl;
  2763.     };
  2764.     
  2765. #ifdef COBJMACROS
  2766. #define ISpeechCustomStream_QueryInterface(This,riid,ppvObject)
  2767.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2768. #define ISpeechCustomStream_AddRef(This)
  2769.     (This)->lpVtbl -> AddRef(This)
  2770. #define ISpeechCustomStream_Release(This)
  2771.     (This)->lpVtbl -> Release(This)
  2772. #define ISpeechCustomStream_GetTypeInfoCount(This,pctinfo)
  2773.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2774. #define ISpeechCustomStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2775.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2776. #define ISpeechCustomStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2777.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2778. #define ISpeechCustomStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2779.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2780. #define ISpeechCustomStream_get_Format(This,AudioFormat)
  2781.     (This)->lpVtbl -> get_Format(This,AudioFormat)
  2782. #define ISpeechCustomStream_putref_Format(This,AudioFormat)
  2783.     (This)->lpVtbl -> putref_Format(This,AudioFormat)
  2784. #define ISpeechCustomStream_Read(This,Buffer,NumberOfBytes,BytesRead)
  2785.     (This)->lpVtbl -> Read(This,Buffer,NumberOfBytes,BytesRead)
  2786. #define ISpeechCustomStream_Write(This,Buffer,BytesWritten)
  2787.     (This)->lpVtbl -> Write(This,Buffer,BytesWritten)
  2788. #define ISpeechCustomStream_Seek(This,Position,Origin,NewPosition)
  2789.     (This)->lpVtbl -> Seek(This,Position,Origin,NewPosition)
  2790. #define ISpeechCustomStream_get_BaseStream(This,ppUnkStream)
  2791.     (This)->lpVtbl -> get_BaseStream(This,ppUnkStream)
  2792. #define ISpeechCustomStream_putref_BaseStream(This,pUnkStream)
  2793.     (This)->lpVtbl -> putref_BaseStream(This,pUnkStream)
  2794. #endif /* COBJMACROS */
  2795. #endif  /* C style interface */
  2796. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechCustomStream_get_BaseStream_Proxy( 
  2797.     ISpeechCustomStream * This,
  2798.     /* [retval][out] */ IUnknown **ppUnkStream);
  2799. void __RPC_STUB ISpeechCustomStream_get_BaseStream_Stub(
  2800.     IRpcStubBuffer *This,
  2801.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2802.     PRPC_MESSAGE _pRpcMessage,
  2803.     DWORD *_pdwStubPhase);
  2804. /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechCustomStream_putref_BaseStream_Proxy( 
  2805.     ISpeechCustomStream * This,
  2806.     /* [in] */ IUnknown *pUnkStream);
  2807. void __RPC_STUB ISpeechCustomStream_putref_BaseStream_Stub(
  2808.     IRpcStubBuffer *This,
  2809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2810.     PRPC_MESSAGE _pRpcMessage,
  2811.     DWORD *_pdwStubPhase);
  2812. #endif  /* __ISpeechCustomStream_INTERFACE_DEFINED__ */
  2813. #ifndef __ISpeechAudio_INTERFACE_DEFINED__
  2814. #define __ISpeechAudio_INTERFACE_DEFINED__
  2815. /* interface ISpeechAudio */
  2816. /* [unique][helpstring][dual][uuid][object] */ 
  2817. EXTERN_C const IID IID_ISpeechAudio;
  2818. #if defined(__cplusplus) && !defined(CINTERFACE)
  2819.     
  2820.     MIDL_INTERFACE("CFF8E175-019E-11d3-A08E-00C04F8EF9B5")
  2821.     ISpeechAudio : public ISpeechBaseStream
  2822.     {
  2823.     public:
  2824.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Status( 
  2825.             /* [retval][out] */ ISpeechAudioStatus **Status) = 0;
  2826.         
  2827.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BufferInfo( 
  2828.             /* [retval][out] */ ISpeechAudioBufferInfo **BufferInfo) = 0;
  2829.         
  2830.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultFormat( 
  2831.             /* [retval][out] */ ISpeechAudioFormat **StreamFormat) = 0;
  2832.         
  2833.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Volume( 
  2834.             /* [retval][out] */ long *Volume) = 0;
  2835.         
  2836.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Volume( 
  2837.             /* [in] */ long Volume) = 0;
  2838.         
  2839.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BufferNotifySize( 
  2840.             /* [retval][out] */ long *BufferNotifySize) = 0;
  2841.         
  2842.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BufferNotifySize( 
  2843.             /* [in] */ long BufferNotifySize) = 0;
  2844.         
  2845.         virtual /* [id][helpstring][hidden][propget] */ HRESULT STDMETHODCALLTYPE get_EventHandle( 
  2846.             /* [retval][out] */ long *EventHandle) = 0;
  2847.         
  2848.         virtual /* [hidden][id][helpstring] */ HRESULT STDMETHODCALLTYPE SetState( 
  2849.             /* [in] */ SpeechAudioState State) = 0;
  2850.         
  2851.     };
  2852.     
  2853. #else  /* C style interface */
  2854.     typedef struct ISpeechAudioVtbl
  2855.     {
  2856.         BEGIN_INTERFACE
  2857.         
  2858.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2859.             ISpeechAudio * This,
  2860.             /* [in] */ REFIID riid,
  2861.             /* [iid_is][out] */ void **ppvObject);
  2862.         
  2863.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2864.             ISpeechAudio * This);
  2865.         
  2866.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2867.             ISpeechAudio * This);
  2868.         
  2869.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2870.             ISpeechAudio * This,
  2871.             /* [out] */ UINT *pctinfo);
  2872.         
  2873.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2874.             ISpeechAudio * This,
  2875.             /* [in] */ UINT iTInfo,
  2876.             /* [in] */ LCID lcid,
  2877.             /* [out] */ ITypeInfo **ppTInfo);
  2878.         
  2879.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2880.             ISpeechAudio * This,
  2881.             /* [in] */ REFIID riid,
  2882.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2883.             /* [in] */ UINT cNames,
  2884.             /* [in] */ LCID lcid,
  2885.             /* [size_is][out] */ DISPID *rgDispId);
  2886.         
  2887.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2888.             ISpeechAudio * This,
  2889.             /* [in] */ DISPID dispIdMember,
  2890.             /* [in] */ REFIID riid,
  2891.             /* [in] */ LCID lcid,
  2892.             /* [in] */ WORD wFlags,
  2893.             /* [out][in] */ DISPPARAMS *pDispParams,
  2894.             /* [out] */ VARIANT *pVarResult,