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

模拟服务器

开发平台:

C/C++

  1.             /* [in] */ ISpeechTextSelectionInformation *Info) = 0;
  2.         
  3.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SetTextSelection( 
  4.             /* [in] */ ISpeechTextSelectionInformation *Info) = 0;
  5.         
  6.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE IsPronounceable( 
  7.             /* [in] */ const BSTR Word,
  8.             /* [retval][out] */ SpeechWordPronounceable *WordPronounceable) = 0;
  9.         
  10.     };
  11.     
  12. #else  /* C style interface */
  13.     typedef struct ISpeechRecoGrammarVtbl
  14.     {
  15.         BEGIN_INTERFACE
  16.         
  17.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18.             ISpeechRecoGrammar * This,
  19.             /* [in] */ REFIID riid,
  20.             /* [iid_is][out] */ void **ppvObject);
  21.         
  22.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23.             ISpeechRecoGrammar * This);
  24.         
  25.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26.             ISpeechRecoGrammar * This);
  27.         
  28.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  29.             ISpeechRecoGrammar * This,
  30.             /* [out] */ UINT *pctinfo);
  31.         
  32.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  33.             ISpeechRecoGrammar * This,
  34.             /* [in] */ UINT iTInfo,
  35.             /* [in] */ LCID lcid,
  36.             /* [out] */ ITypeInfo **ppTInfo);
  37.         
  38.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  39.             ISpeechRecoGrammar * This,
  40.             /* [in] */ REFIID riid,
  41.             /* [size_is][in] */ LPOLESTR *rgszNames,
  42.             /* [in] */ UINT cNames,
  43.             /* [in] */ LCID lcid,
  44.             /* [size_is][out] */ DISPID *rgDispId);
  45.         
  46.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  47.             ISpeechRecoGrammar * This,
  48.             /* [in] */ DISPID dispIdMember,
  49.             /* [in] */ REFIID riid,
  50.             /* [in] */ LCID lcid,
  51.             /* [in] */ WORD wFlags,
  52.             /* [out][in] */ DISPPARAMS *pDispParams,
  53.             /* [out] */ VARIANT *pVarResult,
  54.             /* [out] */ EXCEPINFO *pExcepInfo,
  55.             /* [out] */ UINT *puArgErr);
  56.         
  57.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
  58.             ISpeechRecoGrammar * This,
  59.             /* [retval][out] */ VARIANT *Id);
  60.         
  61.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecoContext )( 
  62.             ISpeechRecoGrammar * This,
  63.             /* [retval][out] */ ISpeechRecoContext **RecoContext);
  64.         
  65.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
  66.             ISpeechRecoGrammar * This,
  67.             /* [in] */ SpeechGrammarState State);
  68.         
  69.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  70.             ISpeechRecoGrammar * This,
  71.             /* [retval][out] */ SpeechGrammarState *State);
  72.         
  73.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rules )( 
  74.             ISpeechRecoGrammar * This,
  75.             /* [retval][out] */ ISpeechGrammarRules **Rules);
  76.         
  77.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
  78.             ISpeechRecoGrammar * This,
  79.             /* [defaultvalue][in] */ SpeechLanguageId NewLanguage);
  80.         
  81.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromFile )( 
  82.             ISpeechRecoGrammar * This,
  83.             /* [in] */ const BSTR FileName,
  84.             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  85.         
  86.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromObject )( 
  87.             ISpeechRecoGrammar * This,
  88.             /* [in] */ const BSTR ClassId,
  89.             /* [in] */ const BSTR GrammarName,
  90.             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  91.         
  92.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromResource )( 
  93.             ISpeechRecoGrammar * This,
  94.             /* [in] */ long hModule,
  95.             /* [in] */ VARIANT ResourceName,
  96.             /* [in] */ VARIANT ResourceType,
  97.             /* [in] */ SpeechLanguageId LanguageId,
  98.             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  99.         
  100.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromMemory )( 
  101.             ISpeechRecoGrammar * This,
  102.             /* [in] */ VARIANT GrammarData,
  103.             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  104.         
  105.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdLoadFromProprietaryGrammar )( 
  106.             ISpeechRecoGrammar * This,
  107.             /* [in] */ const BSTR ProprietaryGuid,
  108.             /* [in] */ const BSTR ProprietaryString,
  109.             /* [in] */ VARIANT ProprietaryData,
  110.             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  111.         
  112.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdSetRuleState )( 
  113.             ISpeechRecoGrammar * This,
  114.             /* [in] */ const BSTR Name,
  115.             /* [in] */ SpeechRuleState State);
  116.         
  117.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CmdSetRuleIdState )( 
  118.             ISpeechRecoGrammar * This,
  119.             /* [in] */ long RuleId,
  120.             /* [in] */ SpeechRuleState State);
  121.         
  122.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DictationLoad )( 
  123.             ISpeechRecoGrammar * This,
  124.             /* [defaultvalue][in] */ const BSTR TopicName,
  125.             /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  126.         
  127.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DictationUnload )( 
  128.             ISpeechRecoGrammar * This);
  129.         
  130.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DictationSetState )( 
  131.             ISpeechRecoGrammar * This,
  132.             /* [in] */ SpeechRuleState State);
  133.         
  134.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetWordSequenceData )( 
  135.             ISpeechRecoGrammar * This,
  136.             /* [in] */ const BSTR Text,
  137.             /* [in] */ long TextLength,
  138.             /* [in] */ ISpeechTextSelectionInformation *Info);
  139.         
  140.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTextSelection )( 
  141.             ISpeechRecoGrammar * This,
  142.             /* [in] */ ISpeechTextSelectionInformation *Info);
  143.         
  144.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsPronounceable )( 
  145.             ISpeechRecoGrammar * This,
  146.             /* [in] */ const BSTR Word,
  147.             /* [retval][out] */ SpeechWordPronounceable *WordPronounceable);
  148.         
  149.         END_INTERFACE
  150.     } ISpeechRecoGrammarVtbl;
  151.     interface ISpeechRecoGrammar
  152.     {
  153.         CONST_VTBL struct ISpeechRecoGrammarVtbl *lpVtbl;
  154.     };
  155.     
  156. #ifdef COBJMACROS
  157. #define ISpeechRecoGrammar_QueryInterface(This,riid,ppvObject)
  158.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  159. #define ISpeechRecoGrammar_AddRef(This)
  160.     (This)->lpVtbl -> AddRef(This)
  161. #define ISpeechRecoGrammar_Release(This)
  162.     (This)->lpVtbl -> Release(This)
  163. #define ISpeechRecoGrammar_GetTypeInfoCount(This,pctinfo)
  164.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  165. #define ISpeechRecoGrammar_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  166.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  167. #define ISpeechRecoGrammar_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  168.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  169. #define ISpeechRecoGrammar_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  170.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  171. #define ISpeechRecoGrammar_get_Id(This,Id)
  172.     (This)->lpVtbl -> get_Id(This,Id)
  173. #define ISpeechRecoGrammar_get_RecoContext(This,RecoContext)
  174.     (This)->lpVtbl -> get_RecoContext(This,RecoContext)
  175. #define ISpeechRecoGrammar_put_State(This,State)
  176.     (This)->lpVtbl -> put_State(This,State)
  177. #define ISpeechRecoGrammar_get_State(This,State)
  178.     (This)->lpVtbl -> get_State(This,State)
  179. #define ISpeechRecoGrammar_get_Rules(This,Rules)
  180.     (This)->lpVtbl -> get_Rules(This,Rules)
  181. #define ISpeechRecoGrammar_Reset(This,NewLanguage)
  182.     (This)->lpVtbl -> Reset(This,NewLanguage)
  183. #define ISpeechRecoGrammar_CmdLoadFromFile(This,FileName,LoadOption)
  184.     (This)->lpVtbl -> CmdLoadFromFile(This,FileName,LoadOption)
  185. #define ISpeechRecoGrammar_CmdLoadFromObject(This,ClassId,GrammarName,LoadOption)
  186.     (This)->lpVtbl -> CmdLoadFromObject(This,ClassId,GrammarName,LoadOption)
  187. #define ISpeechRecoGrammar_CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption)
  188.     (This)->lpVtbl -> CmdLoadFromResource(This,hModule,ResourceName,ResourceType,LanguageId,LoadOption)
  189. #define ISpeechRecoGrammar_CmdLoadFromMemory(This,GrammarData,LoadOption)
  190.     (This)->lpVtbl -> CmdLoadFromMemory(This,GrammarData,LoadOption)
  191. #define ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption)
  192.     (This)->lpVtbl -> CmdLoadFromProprietaryGrammar(This,ProprietaryGuid,ProprietaryString,ProprietaryData,LoadOption)
  193. #define ISpeechRecoGrammar_CmdSetRuleState(This,Name,State)
  194.     (This)->lpVtbl -> CmdSetRuleState(This,Name,State)
  195. #define ISpeechRecoGrammar_CmdSetRuleIdState(This,RuleId,State)
  196.     (This)->lpVtbl -> CmdSetRuleIdState(This,RuleId,State)
  197. #define ISpeechRecoGrammar_DictationLoad(This,TopicName,LoadOption)
  198.     (This)->lpVtbl -> DictationLoad(This,TopicName,LoadOption)
  199. #define ISpeechRecoGrammar_DictationUnload(This)
  200.     (This)->lpVtbl -> DictationUnload(This)
  201. #define ISpeechRecoGrammar_DictationSetState(This,State)
  202.     (This)->lpVtbl -> DictationSetState(This,State)
  203. #define ISpeechRecoGrammar_SetWordSequenceData(This,Text,TextLength,Info)
  204.     (This)->lpVtbl -> SetWordSequenceData(This,Text,TextLength,Info)
  205. #define ISpeechRecoGrammar_SetTextSelection(This,Info)
  206.     (This)->lpVtbl -> SetTextSelection(This,Info)
  207. #define ISpeechRecoGrammar_IsPronounceable(This,Word,WordPronounceable)
  208.     (This)->lpVtbl -> IsPronounceable(This,Word,WordPronounceable)
  209. #endif /* COBJMACROS */
  210. #endif  /* C style interface */
  211. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_Id_Proxy( 
  212.     ISpeechRecoGrammar * This,
  213.     /* [retval][out] */ VARIANT *Id);
  214. void __RPC_STUB ISpeechRecoGrammar_get_Id_Stub(
  215.     IRpcStubBuffer *This,
  216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  217.     PRPC_MESSAGE _pRpcMessage,
  218.     DWORD *_pdwStubPhase);
  219. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_RecoContext_Proxy( 
  220.     ISpeechRecoGrammar * This,
  221.     /* [retval][out] */ ISpeechRecoContext **RecoContext);
  222. void __RPC_STUB ISpeechRecoGrammar_get_RecoContext_Stub(
  223.     IRpcStubBuffer *This,
  224.     IRpcChannelBuffer *_pRpcChannelBuffer,
  225.     PRPC_MESSAGE _pRpcMessage,
  226.     DWORD *_pdwStubPhase);
  227. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_put_State_Proxy( 
  228.     ISpeechRecoGrammar * This,
  229.     /* [in] */ SpeechGrammarState State);
  230. void __RPC_STUB ISpeechRecoGrammar_put_State_Stub(
  231.     IRpcStubBuffer *This,
  232.     IRpcChannelBuffer *_pRpcChannelBuffer,
  233.     PRPC_MESSAGE _pRpcMessage,
  234.     DWORD *_pdwStubPhase);
  235. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_State_Proxy( 
  236.     ISpeechRecoGrammar * This,
  237.     /* [retval][out] */ SpeechGrammarState *State);
  238. void __RPC_STUB ISpeechRecoGrammar_get_State_Stub(
  239.     IRpcStubBuffer *This,
  240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  241.     PRPC_MESSAGE _pRpcMessage,
  242.     DWORD *_pdwStubPhase);
  243. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_get_Rules_Proxy( 
  244.     ISpeechRecoGrammar * This,
  245.     /* [retval][out] */ ISpeechGrammarRules **Rules);
  246. void __RPC_STUB ISpeechRecoGrammar_get_Rules_Stub(
  247.     IRpcStubBuffer *This,
  248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  249.     PRPC_MESSAGE _pRpcMessage,
  250.     DWORD *_pdwStubPhase);
  251. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_Reset_Proxy( 
  252.     ISpeechRecoGrammar * This,
  253.     /* [defaultvalue][in] */ SpeechLanguageId NewLanguage);
  254. void __RPC_STUB ISpeechRecoGrammar_Reset_Stub(
  255.     IRpcStubBuffer *This,
  256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  257.     PRPC_MESSAGE _pRpcMessage,
  258.     DWORD *_pdwStubPhase);
  259. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromFile_Proxy( 
  260.     ISpeechRecoGrammar * This,
  261.     /* [in] */ const BSTR FileName,
  262.     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  263. void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromFile_Stub(
  264.     IRpcStubBuffer *This,
  265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  266.     PRPC_MESSAGE _pRpcMessage,
  267.     DWORD *_pdwStubPhase);
  268. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromObject_Proxy( 
  269.     ISpeechRecoGrammar * This,
  270.     /* [in] */ const BSTR ClassId,
  271.     /* [in] */ const BSTR GrammarName,
  272.     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  273. void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromObject_Stub(
  274.     IRpcStubBuffer *This,
  275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  276.     PRPC_MESSAGE _pRpcMessage,
  277.     DWORD *_pdwStubPhase);
  278. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromResource_Proxy( 
  279.     ISpeechRecoGrammar * This,
  280.     /* [in] */ long hModule,
  281.     /* [in] */ VARIANT ResourceName,
  282.     /* [in] */ VARIANT ResourceType,
  283.     /* [in] */ SpeechLanguageId LanguageId,
  284.     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  285. void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromResource_Stub(
  286.     IRpcStubBuffer *This,
  287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  288.     PRPC_MESSAGE _pRpcMessage,
  289.     DWORD *_pdwStubPhase);
  290. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromMemory_Proxy( 
  291.     ISpeechRecoGrammar * This,
  292.     /* [in] */ VARIANT GrammarData,
  293.     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  294. void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromMemory_Stub(
  295.     IRpcStubBuffer *This,
  296.     IRpcChannelBuffer *_pRpcChannelBuffer,
  297.     PRPC_MESSAGE _pRpcMessage,
  298.     DWORD *_pdwStubPhase);
  299. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar_Proxy( 
  300.     ISpeechRecoGrammar * This,
  301.     /* [in] */ const BSTR ProprietaryGuid,
  302.     /* [in] */ const BSTR ProprietaryString,
  303.     /* [in] */ VARIANT ProprietaryData,
  304.     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  305. void __RPC_STUB ISpeechRecoGrammar_CmdLoadFromProprietaryGrammar_Stub(
  306.     IRpcStubBuffer *This,
  307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  308.     PRPC_MESSAGE _pRpcMessage,
  309.     DWORD *_pdwStubPhase);
  310. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdSetRuleState_Proxy( 
  311.     ISpeechRecoGrammar * This,
  312.     /* [in] */ const BSTR Name,
  313.     /* [in] */ SpeechRuleState State);
  314. void __RPC_STUB ISpeechRecoGrammar_CmdSetRuleState_Stub(
  315.     IRpcStubBuffer *This,
  316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  317.     PRPC_MESSAGE _pRpcMessage,
  318.     DWORD *_pdwStubPhase);
  319. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_CmdSetRuleIdState_Proxy( 
  320.     ISpeechRecoGrammar * This,
  321.     /* [in] */ long RuleId,
  322.     /* [in] */ SpeechRuleState State);
  323. void __RPC_STUB ISpeechRecoGrammar_CmdSetRuleIdState_Stub(
  324.     IRpcStubBuffer *This,
  325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  326.     PRPC_MESSAGE _pRpcMessage,
  327.     DWORD *_pdwStubPhase);
  328. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationLoad_Proxy( 
  329.     ISpeechRecoGrammar * This,
  330.     /* [defaultvalue][in] */ const BSTR TopicName,
  331.     /* [defaultvalue][in] */ SpeechLoadOption LoadOption);
  332. void __RPC_STUB ISpeechRecoGrammar_DictationLoad_Stub(
  333.     IRpcStubBuffer *This,
  334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  335.     PRPC_MESSAGE _pRpcMessage,
  336.     DWORD *_pdwStubPhase);
  337. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationUnload_Proxy( 
  338.     ISpeechRecoGrammar * This);
  339. void __RPC_STUB ISpeechRecoGrammar_DictationUnload_Stub(
  340.     IRpcStubBuffer *This,
  341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  342.     PRPC_MESSAGE _pRpcMessage,
  343.     DWORD *_pdwStubPhase);
  344. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_DictationSetState_Proxy( 
  345.     ISpeechRecoGrammar * This,
  346.     /* [in] */ SpeechRuleState State);
  347. void __RPC_STUB ISpeechRecoGrammar_DictationSetState_Stub(
  348.     IRpcStubBuffer *This,
  349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  350.     PRPC_MESSAGE _pRpcMessage,
  351.     DWORD *_pdwStubPhase);
  352. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_SetWordSequenceData_Proxy( 
  353.     ISpeechRecoGrammar * This,
  354.     /* [in] */ const BSTR Text,
  355.     /* [in] */ long TextLength,
  356.     /* [in] */ ISpeechTextSelectionInformation *Info);
  357. void __RPC_STUB ISpeechRecoGrammar_SetWordSequenceData_Stub(
  358.     IRpcStubBuffer *This,
  359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  360.     PRPC_MESSAGE _pRpcMessage,
  361.     DWORD *_pdwStubPhase);
  362. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_SetTextSelection_Proxy( 
  363.     ISpeechRecoGrammar * This,
  364.     /* [in] */ ISpeechTextSelectionInformation *Info);
  365. void __RPC_STUB ISpeechRecoGrammar_SetTextSelection_Stub(
  366.     IRpcStubBuffer *This,
  367.     IRpcChannelBuffer *_pRpcChannelBuffer,
  368.     PRPC_MESSAGE _pRpcMessage,
  369.     DWORD *_pdwStubPhase);
  370. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoGrammar_IsPronounceable_Proxy( 
  371.     ISpeechRecoGrammar * This,
  372.     /* [in] */ const BSTR Word,
  373.     /* [retval][out] */ SpeechWordPronounceable *WordPronounceable);
  374. void __RPC_STUB ISpeechRecoGrammar_IsPronounceable_Stub(
  375.     IRpcStubBuffer *This,
  376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  377.     PRPC_MESSAGE _pRpcMessage,
  378.     DWORD *_pdwStubPhase);
  379. #endif  /* __ISpeechRecoGrammar_INTERFACE_DEFINED__ */
  380. #ifndef ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
  381. #define ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__
  382. /* dispinterface _ISpeechRecoContextEvents */
  383. /* [uuid] */ 
  384. EXTERN_C const IID DIID__ISpeechRecoContextEvents;
  385. #if defined(__cplusplus) && !defined(CINTERFACE)
  386.     MIDL_INTERFACE("7B8FCB42-0E9D-4f00-A048-7B04D6179D3D")
  387.     _ISpeechRecoContextEvents : public IDispatch
  388.     {
  389.     };
  390.     
  391. #else  /* C style interface */
  392.     typedef struct _ISpeechRecoContextEventsVtbl
  393.     {
  394.         BEGIN_INTERFACE
  395.         
  396.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  397.             _ISpeechRecoContextEvents * This,
  398.             /* [in] */ REFIID riid,
  399.             /* [iid_is][out] */ void **ppvObject);
  400.         
  401.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  402.             _ISpeechRecoContextEvents * This);
  403.         
  404.         ULONG ( STDMETHODCALLTYPE *Release )( 
  405.             _ISpeechRecoContextEvents * This);
  406.         
  407.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  408.             _ISpeechRecoContextEvents * This,
  409.             /* [out] */ UINT *pctinfo);
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  412.             _ISpeechRecoContextEvents * This,
  413.             /* [in] */ UINT iTInfo,
  414.             /* [in] */ LCID lcid,
  415.             /* [out] */ ITypeInfo **ppTInfo);
  416.         
  417.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  418.             _ISpeechRecoContextEvents * This,
  419.             /* [in] */ REFIID riid,
  420.             /* [size_is][in] */ LPOLESTR *rgszNames,
  421.             /* [in] */ UINT cNames,
  422.             /* [in] */ LCID lcid,
  423.             /* [size_is][out] */ DISPID *rgDispId);
  424.         
  425.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  426.             _ISpeechRecoContextEvents * This,
  427.             /* [in] */ DISPID dispIdMember,
  428.             /* [in] */ REFIID riid,
  429.             /* [in] */ LCID lcid,
  430.             /* [in] */ WORD wFlags,
  431.             /* [out][in] */ DISPPARAMS *pDispParams,
  432.             /* [out] */ VARIANT *pVarResult,
  433.             /* [out] */ EXCEPINFO *pExcepInfo,
  434.             /* [out] */ UINT *puArgErr);
  435.         
  436.         END_INTERFACE
  437.     } _ISpeechRecoContextEventsVtbl;
  438.     interface _ISpeechRecoContextEvents
  439.     {
  440.         CONST_VTBL struct _ISpeechRecoContextEventsVtbl *lpVtbl;
  441.     };
  442.     
  443. #ifdef COBJMACROS
  444. #define _ISpeechRecoContextEvents_QueryInterface(This,riid,ppvObject)
  445.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  446. #define _ISpeechRecoContextEvents_AddRef(This)
  447.     (This)->lpVtbl -> AddRef(This)
  448. #define _ISpeechRecoContextEvents_Release(This)
  449.     (This)->lpVtbl -> Release(This)
  450. #define _ISpeechRecoContextEvents_GetTypeInfoCount(This,pctinfo)
  451.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  452. #define _ISpeechRecoContextEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  453.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  454. #define _ISpeechRecoContextEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  455.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  456. #define _ISpeechRecoContextEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  457.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  458. #endif /* COBJMACROS */
  459. #endif  /* C style interface */
  460. #endif  /* ___ISpeechRecoContextEvents_DISPINTERFACE_DEFINED__ */
  461. #ifndef __ISpeechGrammarRule_INTERFACE_DEFINED__
  462. #define __ISpeechGrammarRule_INTERFACE_DEFINED__
  463. /* interface ISpeechGrammarRule */
  464. /* [unique][helpstring][dual][uuid][object] */ 
  465. EXTERN_C const IID IID_ISpeechGrammarRule;
  466. #if defined(__cplusplus) && !defined(CINTERFACE)
  467.     
  468.     MIDL_INTERFACE("AFE719CF-5DD1-44f2-999C-7A399F1CFCCC")
  469.     ISpeechGrammarRule : public IDispatch
  470.     {
  471.     public:
  472.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  473.             /* [retval][out] */ SpeechRuleAttributes *Attributes) = 0;
  474.         
  475.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InitialState( 
  476.             /* [retval][out] */ ISpeechGrammarRuleState **State) = 0;
  477.         
  478.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  479.             /* [retval][out] */ BSTR *Name) = 0;
  480.         
  481.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
  482.             /* [retval][out] */ long *Id) = 0;
  483.         
  484.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  485.         
  486.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddResource( 
  487.             /* [in] */ const BSTR ResourceName,
  488.             /* [in] */ const BSTR ResourceValue) = 0;
  489.         
  490.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddState( 
  491.             /* [retval][out] */ ISpeechGrammarRuleState **State) = 0;
  492.         
  493.     };
  494.     
  495. #else  /* C style interface */
  496.     typedef struct ISpeechGrammarRuleVtbl
  497.     {
  498.         BEGIN_INTERFACE
  499.         
  500.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  501.             ISpeechGrammarRule * This,
  502.             /* [in] */ REFIID riid,
  503.             /* [iid_is][out] */ void **ppvObject);
  504.         
  505.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  506.             ISpeechGrammarRule * This);
  507.         
  508.         ULONG ( STDMETHODCALLTYPE *Release )( 
  509.             ISpeechGrammarRule * This);
  510.         
  511.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  512.             ISpeechGrammarRule * This,
  513.             /* [out] */ UINT *pctinfo);
  514.         
  515.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  516.             ISpeechGrammarRule * This,
  517.             /* [in] */ UINT iTInfo,
  518.             /* [in] */ LCID lcid,
  519.             /* [out] */ ITypeInfo **ppTInfo);
  520.         
  521.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  522.             ISpeechGrammarRule * This,
  523.             /* [in] */ REFIID riid,
  524.             /* [size_is][in] */ LPOLESTR *rgszNames,
  525.             /* [in] */ UINT cNames,
  526.             /* [in] */ LCID lcid,
  527.             /* [size_is][out] */ DISPID *rgDispId);
  528.         
  529.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  530.             ISpeechGrammarRule * This,
  531.             /* [in] */ DISPID dispIdMember,
  532.             /* [in] */ REFIID riid,
  533.             /* [in] */ LCID lcid,
  534.             /* [in] */ WORD wFlags,
  535.             /* [out][in] */ DISPPARAMS *pDispParams,
  536.             /* [out] */ VARIANT *pVarResult,
  537.             /* [out] */ EXCEPINFO *pExcepInfo,
  538.             /* [out] */ UINT *puArgErr);
  539.         
  540.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
  541.             ISpeechGrammarRule * This,
  542.             /* [retval][out] */ SpeechRuleAttributes *Attributes);
  543.         
  544.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InitialState )( 
  545.             ISpeechGrammarRule * This,
  546.             /* [retval][out] */ ISpeechGrammarRuleState **State);
  547.         
  548.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  549.             ISpeechGrammarRule * This,
  550.             /* [retval][out] */ BSTR *Name);
  551.         
  552.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
  553.             ISpeechGrammarRule * This,
  554.             /* [retval][out] */ long *Id);
  555.         
  556.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
  557.             ISpeechGrammarRule * This);
  558.         
  559.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddResource )( 
  560.             ISpeechGrammarRule * This,
  561.             /* [in] */ const BSTR ResourceName,
  562.             /* [in] */ const BSTR ResourceValue);
  563.         
  564.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddState )( 
  565.             ISpeechGrammarRule * This,
  566.             /* [retval][out] */ ISpeechGrammarRuleState **State);
  567.         
  568.         END_INTERFACE
  569.     } ISpeechGrammarRuleVtbl;
  570.     interface ISpeechGrammarRule
  571.     {
  572.         CONST_VTBL struct ISpeechGrammarRuleVtbl *lpVtbl;
  573.     };
  574.     
  575. #ifdef COBJMACROS
  576. #define ISpeechGrammarRule_QueryInterface(This,riid,ppvObject)
  577.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  578. #define ISpeechGrammarRule_AddRef(This)
  579.     (This)->lpVtbl -> AddRef(This)
  580. #define ISpeechGrammarRule_Release(This)
  581.     (This)->lpVtbl -> Release(This)
  582. #define ISpeechGrammarRule_GetTypeInfoCount(This,pctinfo)
  583.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  584. #define ISpeechGrammarRule_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  585.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  586. #define ISpeechGrammarRule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  587.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  588. #define ISpeechGrammarRule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  589.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  590. #define ISpeechGrammarRule_get_Attributes(This,Attributes)
  591.     (This)->lpVtbl -> get_Attributes(This,Attributes)
  592. #define ISpeechGrammarRule_get_InitialState(This,State)
  593.     (This)->lpVtbl -> get_InitialState(This,State)
  594. #define ISpeechGrammarRule_get_Name(This,Name)
  595.     (This)->lpVtbl -> get_Name(This,Name)
  596. #define ISpeechGrammarRule_get_Id(This,Id)
  597.     (This)->lpVtbl -> get_Id(This,Id)
  598. #define ISpeechGrammarRule_Clear(This)
  599.     (This)->lpVtbl -> Clear(This)
  600. #define ISpeechGrammarRule_AddResource(This,ResourceName,ResourceValue)
  601.     (This)->lpVtbl -> AddResource(This,ResourceName,ResourceValue)
  602. #define ISpeechGrammarRule_AddState(This,State)
  603.     (This)->lpVtbl -> AddState(This,State)
  604. #endif /* COBJMACROS */
  605. #endif  /* C style interface */
  606. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Attributes_Proxy( 
  607.     ISpeechGrammarRule * This,
  608.     /* [retval][out] */ SpeechRuleAttributes *Attributes);
  609. void __RPC_STUB ISpeechGrammarRule_get_Attributes_Stub(
  610.     IRpcStubBuffer *This,
  611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  612.     PRPC_MESSAGE _pRpcMessage,
  613.     DWORD *_pdwStubPhase);
  614. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_InitialState_Proxy( 
  615.     ISpeechGrammarRule * This,
  616.     /* [retval][out] */ ISpeechGrammarRuleState **State);
  617. void __RPC_STUB ISpeechGrammarRule_get_InitialState_Stub(
  618.     IRpcStubBuffer *This,
  619.     IRpcChannelBuffer *_pRpcChannelBuffer,
  620.     PRPC_MESSAGE _pRpcMessage,
  621.     DWORD *_pdwStubPhase);
  622. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Name_Proxy( 
  623.     ISpeechGrammarRule * This,
  624.     /* [retval][out] */ BSTR *Name);
  625. void __RPC_STUB ISpeechGrammarRule_get_Name_Stub(
  626.     IRpcStubBuffer *This,
  627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  628.     PRPC_MESSAGE _pRpcMessage,
  629.     DWORD *_pdwStubPhase);
  630. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_get_Id_Proxy( 
  631.     ISpeechGrammarRule * This,
  632.     /* [retval][out] */ long *Id);
  633. void __RPC_STUB ISpeechGrammarRule_get_Id_Stub(
  634.     IRpcStubBuffer *This,
  635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  636.     PRPC_MESSAGE _pRpcMessage,
  637.     DWORD *_pdwStubPhase);
  638. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_Clear_Proxy( 
  639.     ISpeechGrammarRule * This);
  640. void __RPC_STUB ISpeechGrammarRule_Clear_Stub(
  641.     IRpcStubBuffer *This,
  642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  643.     PRPC_MESSAGE _pRpcMessage,
  644.     DWORD *_pdwStubPhase);
  645. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_AddResource_Proxy( 
  646.     ISpeechGrammarRule * This,
  647.     /* [in] */ const BSTR ResourceName,
  648.     /* [in] */ const BSTR ResourceValue);
  649. void __RPC_STUB ISpeechGrammarRule_AddResource_Stub(
  650.     IRpcStubBuffer *This,
  651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  652.     PRPC_MESSAGE _pRpcMessage,
  653.     DWORD *_pdwStubPhase);
  654. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRule_AddState_Proxy( 
  655.     ISpeechGrammarRule * This,
  656.     /* [retval][out] */ ISpeechGrammarRuleState **State);
  657. void __RPC_STUB ISpeechGrammarRule_AddState_Stub(
  658.     IRpcStubBuffer *This,
  659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  660.     PRPC_MESSAGE _pRpcMessage,
  661.     DWORD *_pdwStubPhase);
  662. #endif  /* __ISpeechGrammarRule_INTERFACE_DEFINED__ */
  663. #ifndef __ISpeechGrammarRules_INTERFACE_DEFINED__
  664. #define __ISpeechGrammarRules_INTERFACE_DEFINED__
  665. /* interface ISpeechGrammarRules */
  666. /* [unique][helpstring][dual][uuid][object] */ 
  667. EXTERN_C const IID IID_ISpeechGrammarRules;
  668. #if defined(__cplusplus) && !defined(CINTERFACE)
  669.     
  670.     MIDL_INTERFACE("6FFA3B44-FC2D-40d1-8AFC-32911C7F1AD1")
  671.     ISpeechGrammarRules : public IDispatch
  672.     {
  673.     public:
  674.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  675.             /* [retval][out] */ long *Count) = 0;
  676.         
  677.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE FindRule( 
  678.             /* [in] */ VARIANT RuleNameOrId,
  679.             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
  680.         
  681.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( 
  682.             /* [in] */ long Index,
  683.             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
  684.         
  685.         virtual /* [restricted][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  686.             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
  687.         
  688.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Dynamic( 
  689.             /* [retval][out] */ VARIANT_BOOL *Dynamic) = 0;
  690.         
  691.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
  692.             /* [in] */ BSTR RuleName,
  693.             /* [in] */ SpeechRuleAttributes Attributes,
  694.             /* [defaultvalue][in] */ long RuleId,
  695.             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
  696.         
  697.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  698.         
  699.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE CommitAndSave( 
  700.             /* [out] */ BSTR *ErrorText,
  701.             /* [retval][out] */ VARIANT *SaveStream) = 0;
  702.         
  703.     };
  704.     
  705. #else  /* C style interface */
  706.     typedef struct ISpeechGrammarRulesVtbl
  707.     {
  708.         BEGIN_INTERFACE
  709.         
  710.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  711.             ISpeechGrammarRules * This,
  712.             /* [in] */ REFIID riid,
  713.             /* [iid_is][out] */ void **ppvObject);
  714.         
  715.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  716.             ISpeechGrammarRules * This);
  717.         
  718.         ULONG ( STDMETHODCALLTYPE *Release )( 
  719.             ISpeechGrammarRules * This);
  720.         
  721.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  722.             ISpeechGrammarRules * This,
  723.             /* [out] */ UINT *pctinfo);
  724.         
  725.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  726.             ISpeechGrammarRules * This,
  727.             /* [in] */ UINT iTInfo,
  728.             /* [in] */ LCID lcid,
  729.             /* [out] */ ITypeInfo **ppTInfo);
  730.         
  731.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  732.             ISpeechGrammarRules * This,
  733.             /* [in] */ REFIID riid,
  734.             /* [size_is][in] */ LPOLESTR *rgszNames,
  735.             /* [in] */ UINT cNames,
  736.             /* [in] */ LCID lcid,
  737.             /* [size_is][out] */ DISPID *rgDispId);
  738.         
  739.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  740.             ISpeechGrammarRules * This,
  741.             /* [in] */ DISPID dispIdMember,
  742.             /* [in] */ REFIID riid,
  743.             /* [in] */ LCID lcid,
  744.             /* [in] */ WORD wFlags,
  745.             /* [out][in] */ DISPPARAMS *pDispParams,
  746.             /* [out] */ VARIANT *pVarResult,
  747.             /* [out] */ EXCEPINFO *pExcepInfo,
  748.             /* [out] */ UINT *puArgErr);
  749.         
  750.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  751.             ISpeechGrammarRules * This,
  752.             /* [retval][out] */ long *Count);
  753.         
  754.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindRule )( 
  755.             ISpeechGrammarRules * This,
  756.             /* [in] */ VARIANT RuleNameOrId,
  757.             /* [retval][out] */ ISpeechGrammarRule **Rule);
  758.         
  759.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
  760.             ISpeechGrammarRules * This,
  761.             /* [in] */ long Index,
  762.             /* [retval][out] */ ISpeechGrammarRule **Rule);
  763.         
  764.         /* [restricted][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  765.             ISpeechGrammarRules * This,
  766.             /* [retval][out] */ IUnknown **EnumVARIANT);
  767.         
  768.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Dynamic )( 
  769.             ISpeechGrammarRules * This,
  770.             /* [retval][out] */ VARIANT_BOOL *Dynamic);
  771.         
  772.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
  773.             ISpeechGrammarRules * This,
  774.             /* [in] */ BSTR RuleName,
  775.             /* [in] */ SpeechRuleAttributes Attributes,
  776.             /* [defaultvalue][in] */ long RuleId,
  777.             /* [retval][out] */ ISpeechGrammarRule **Rule);
  778.         
  779.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Commit )( 
  780.             ISpeechGrammarRules * This);
  781.         
  782.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *CommitAndSave )( 
  783.             ISpeechGrammarRules * This,
  784.             /* [out] */ BSTR *ErrorText,
  785.             /* [retval][out] */ VARIANT *SaveStream);
  786.         
  787.         END_INTERFACE
  788.     } ISpeechGrammarRulesVtbl;
  789.     interface ISpeechGrammarRules
  790.     {
  791.         CONST_VTBL struct ISpeechGrammarRulesVtbl *lpVtbl;
  792.     };
  793.     
  794. #ifdef COBJMACROS
  795. #define ISpeechGrammarRules_QueryInterface(This,riid,ppvObject)
  796.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  797. #define ISpeechGrammarRules_AddRef(This)
  798.     (This)->lpVtbl -> AddRef(This)
  799. #define ISpeechGrammarRules_Release(This)
  800.     (This)->lpVtbl -> Release(This)
  801. #define ISpeechGrammarRules_GetTypeInfoCount(This,pctinfo)
  802.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  803. #define ISpeechGrammarRules_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  804.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  805. #define ISpeechGrammarRules_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  806.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  807. #define ISpeechGrammarRules_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  808.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  809. #define ISpeechGrammarRules_get_Count(This,Count)
  810.     (This)->lpVtbl -> get_Count(This,Count)
  811. #define ISpeechGrammarRules_FindRule(This,RuleNameOrId,Rule)
  812.     (This)->lpVtbl -> FindRule(This,RuleNameOrId,Rule)
  813. #define ISpeechGrammarRules_Item(This,Index,Rule)
  814.     (This)->lpVtbl -> Item(This,Index,Rule)
  815. #define ISpeechGrammarRules_get__NewEnum(This,EnumVARIANT)
  816.     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
  817. #define ISpeechGrammarRules_get_Dynamic(This,Dynamic)
  818.     (This)->lpVtbl -> get_Dynamic(This,Dynamic)
  819. #define ISpeechGrammarRules_Add(This,RuleName,Attributes,RuleId,Rule)
  820.     (This)->lpVtbl -> Add(This,RuleName,Attributes,RuleId,Rule)
  821. #define ISpeechGrammarRules_Commit(This)
  822.     (This)->lpVtbl -> Commit(This)
  823. #define ISpeechGrammarRules_CommitAndSave(This,ErrorText,SaveStream)
  824.     (This)->lpVtbl -> CommitAndSave(This,ErrorText,SaveStream)
  825. #endif /* COBJMACROS */
  826. #endif  /* C style interface */
  827. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get_Count_Proxy( 
  828.     ISpeechGrammarRules * This,
  829.     /* [retval][out] */ long *Count);
  830. void __RPC_STUB ISpeechGrammarRules_get_Count_Stub(
  831.     IRpcStubBuffer *This,
  832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  833.     PRPC_MESSAGE _pRpcMessage,
  834.     DWORD *_pdwStubPhase);
  835. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_FindRule_Proxy( 
  836.     ISpeechGrammarRules * This,
  837.     /* [in] */ VARIANT RuleNameOrId,
  838.     /* [retval][out] */ ISpeechGrammarRule **Rule);
  839. void __RPC_STUB ISpeechGrammarRules_FindRule_Stub(
  840.     IRpcStubBuffer *This,
  841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  842.     PRPC_MESSAGE _pRpcMessage,
  843.     DWORD *_pdwStubPhase);
  844. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Item_Proxy( 
  845.     ISpeechGrammarRules * This,
  846.     /* [in] */ long Index,
  847.     /* [retval][out] */ ISpeechGrammarRule **Rule);
  848. void __RPC_STUB ISpeechGrammarRules_Item_Stub(
  849.     IRpcStubBuffer *This,
  850.     IRpcChannelBuffer *_pRpcChannelBuffer,
  851.     PRPC_MESSAGE _pRpcMessage,
  852.     DWORD *_pdwStubPhase);
  853. /* [restricted][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get__NewEnum_Proxy( 
  854.     ISpeechGrammarRules * This,
  855.     /* [retval][out] */ IUnknown **EnumVARIANT);
  856. void __RPC_STUB ISpeechGrammarRules_get__NewEnum_Stub(
  857.     IRpcStubBuffer *This,
  858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  859.     PRPC_MESSAGE _pRpcMessage,
  860.     DWORD *_pdwStubPhase);
  861. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_get_Dynamic_Proxy( 
  862.     ISpeechGrammarRules * This,
  863.     /* [retval][out] */ VARIANT_BOOL *Dynamic);
  864. void __RPC_STUB ISpeechGrammarRules_get_Dynamic_Stub(
  865.     IRpcStubBuffer *This,
  866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  867.     PRPC_MESSAGE _pRpcMessage,
  868.     DWORD *_pdwStubPhase);
  869. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Add_Proxy( 
  870.     ISpeechGrammarRules * This,
  871.     /* [in] */ BSTR RuleName,
  872.     /* [in] */ SpeechRuleAttributes Attributes,
  873.     /* [defaultvalue][in] */ long RuleId,
  874.     /* [retval][out] */ ISpeechGrammarRule **Rule);
  875. void __RPC_STUB ISpeechGrammarRules_Add_Stub(
  876.     IRpcStubBuffer *This,
  877.     IRpcChannelBuffer *_pRpcChannelBuffer,
  878.     PRPC_MESSAGE _pRpcMessage,
  879.     DWORD *_pdwStubPhase);
  880. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_Commit_Proxy( 
  881.     ISpeechGrammarRules * This);
  882. void __RPC_STUB ISpeechGrammarRules_Commit_Stub(
  883.     IRpcStubBuffer *This,
  884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  885.     PRPC_MESSAGE _pRpcMessage,
  886.     DWORD *_pdwStubPhase);
  887. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRules_CommitAndSave_Proxy( 
  888.     ISpeechGrammarRules * This,
  889.     /* [out] */ BSTR *ErrorText,
  890.     /* [retval][out] */ VARIANT *SaveStream);
  891. void __RPC_STUB ISpeechGrammarRules_CommitAndSave_Stub(
  892.     IRpcStubBuffer *This,
  893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  894.     PRPC_MESSAGE _pRpcMessage,
  895.     DWORD *_pdwStubPhase);
  896. #endif  /* __ISpeechGrammarRules_INTERFACE_DEFINED__ */
  897. #ifndef __ISpeechGrammarRuleState_INTERFACE_DEFINED__
  898. #define __ISpeechGrammarRuleState_INTERFACE_DEFINED__
  899. /* interface ISpeechGrammarRuleState */
  900. /* [unique][helpstring][dual][uuid][object] */ 
  901. EXTERN_C const IID IID_ISpeechGrammarRuleState;
  902. #if defined(__cplusplus) && !defined(CINTERFACE)
  903.     
  904.     MIDL_INTERFACE("D4286F2C-EE67-45ae-B928-28D695362EDA")
  905.     ISpeechGrammarRuleState : public IDispatch
  906.     {
  907.     public:
  908.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rule( 
  909.             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
  910.         
  911.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Transitions( 
  912.             /* [retval][out] */ ISpeechGrammarRuleStateTransitions **Transitions) = 0;
  913.         
  914.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddWordTransition( 
  915.             /* [in] */ ISpeechGrammarRuleState *DestState,
  916.             /* [in] */ const BSTR Words,
  917.             /* [defaultvalue][in] */ const BSTR Separators = L" ",
  918.             /* [defaultvalue][in] */ SpeechGrammarWordType Type = SGLexical,
  919.             /* [defaultvalue][in] */ const BSTR PropertyName = L"",
  920.             /* [defaultvalue][in] */ long PropertyId = 0,
  921.             /* [defaultvalue][in] */ VARIANT *PropertyValue = 0,
  922.             /* [defaultvalue][in] */ float Weight = 1) = 0;
  923.         
  924.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddRuleTransition( 
  925.             /* [in] */ ISpeechGrammarRuleState *DestinationState,
  926.             /* [in] */ ISpeechGrammarRule *Rule,
  927.             /* [defaultvalue][in] */ const BSTR PropertyName = L"",
  928.             /* [defaultvalue][in] */ long PropertyId = 0,
  929.             /* [defaultvalue][in] */ VARIANT *PropertyValue = 0,
  930.             /* [defaultvalue][in] */ float Weight = 1) = 0;
  931.         
  932.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE AddSpecialTransition( 
  933.             /* [in] */ ISpeechGrammarRuleState *DestinationState,
  934.             /* [in] */ SpeechSpecialTransitionType Type,
  935.             /* [defaultvalue][in] */ const BSTR PropertyName = L"",
  936.             /* [defaultvalue][in] */ long PropertyId = 0,
  937.             /* [defaultvalue][in] */ VARIANT *PropertyValue = 0,
  938.             /* [defaultvalue][in] */ float Weight = 1) = 0;
  939.         
  940.     };
  941.     
  942. #else  /* C style interface */
  943.     typedef struct ISpeechGrammarRuleStateVtbl
  944.     {
  945.         BEGIN_INTERFACE
  946.         
  947.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  948.             ISpeechGrammarRuleState * This,
  949.             /* [in] */ REFIID riid,
  950.             /* [iid_is][out] */ void **ppvObject);
  951.         
  952.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  953.             ISpeechGrammarRuleState * This);
  954.         
  955.         ULONG ( STDMETHODCALLTYPE *Release )( 
  956.             ISpeechGrammarRuleState * This);
  957.         
  958.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  959.             ISpeechGrammarRuleState * This,
  960.             /* [out] */ UINT *pctinfo);
  961.         
  962.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  963.             ISpeechGrammarRuleState * This,
  964.             /* [in] */ UINT iTInfo,
  965.             /* [in] */ LCID lcid,
  966.             /* [out] */ ITypeInfo **ppTInfo);
  967.         
  968.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  969.             ISpeechGrammarRuleState * This,
  970.             /* [in] */ REFIID riid,
  971.             /* [size_is][in] */ LPOLESTR *rgszNames,
  972.             /* [in] */ UINT cNames,
  973.             /* [in] */ LCID lcid,
  974.             /* [size_is][out] */ DISPID *rgDispId);
  975.         
  976.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  977.             ISpeechGrammarRuleState * This,
  978.             /* [in] */ DISPID dispIdMember,
  979.             /* [in] */ REFIID riid,
  980.             /* [in] */ LCID lcid,
  981.             /* [in] */ WORD wFlags,
  982.             /* [out][in] */ DISPPARAMS *pDispParams,
  983.             /* [out] */ VARIANT *pVarResult,
  984.             /* [out] */ EXCEPINFO *pExcepInfo,
  985.             /* [out] */ UINT *puArgErr);
  986.         
  987.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rule )( 
  988.             ISpeechGrammarRuleState * This,
  989.             /* [retval][out] */ ISpeechGrammarRule **Rule);
  990.         
  991.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Transitions )( 
  992.             ISpeechGrammarRuleState * This,
  993.             /* [retval][out] */ ISpeechGrammarRuleStateTransitions **Transitions);
  994.         
  995.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddWordTransition )( 
  996.             ISpeechGrammarRuleState * This,
  997.             /* [in] */ ISpeechGrammarRuleState *DestState,
  998.             /* [in] */ const BSTR Words,
  999.             /* [defaultvalue][in] */ const BSTR Separators,
  1000.             /* [defaultvalue][in] */ SpeechGrammarWordType Type,
  1001.             /* [defaultvalue][in] */ const BSTR PropertyName,
  1002.             /* [defaultvalue][in] */ long PropertyId,
  1003.             /* [defaultvalue][in] */ VARIANT *PropertyValue,
  1004.             /* [defaultvalue][in] */ float Weight);
  1005.         
  1006.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddRuleTransition )( 
  1007.             ISpeechGrammarRuleState * This,
  1008.             /* [in] */ ISpeechGrammarRuleState *DestinationState,
  1009.             /* [in] */ ISpeechGrammarRule *Rule,
  1010.             /* [defaultvalue][in] */ const BSTR PropertyName,
  1011.             /* [defaultvalue][in] */ long PropertyId,
  1012.             /* [defaultvalue][in] */ VARIANT *PropertyValue,
  1013.             /* [defaultvalue][in] */ float Weight);
  1014.         
  1015.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddSpecialTransition )( 
  1016.             ISpeechGrammarRuleState * This,
  1017.             /* [in] */ ISpeechGrammarRuleState *DestinationState,
  1018.             /* [in] */ SpeechSpecialTransitionType Type,
  1019.             /* [defaultvalue][in] */ const BSTR PropertyName,
  1020.             /* [defaultvalue][in] */ long PropertyId,
  1021.             /* [defaultvalue][in] */ VARIANT *PropertyValue,
  1022.             /* [defaultvalue][in] */ float Weight);
  1023.         
  1024.         END_INTERFACE
  1025.     } ISpeechGrammarRuleStateVtbl;
  1026.     interface ISpeechGrammarRuleState
  1027.     {
  1028.         CONST_VTBL struct ISpeechGrammarRuleStateVtbl *lpVtbl;
  1029.     };
  1030.     
  1031. #ifdef COBJMACROS
  1032. #define ISpeechGrammarRuleState_QueryInterface(This,riid,ppvObject)
  1033.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1034. #define ISpeechGrammarRuleState_AddRef(This)
  1035.     (This)->lpVtbl -> AddRef(This)
  1036. #define ISpeechGrammarRuleState_Release(This)
  1037.     (This)->lpVtbl -> Release(This)
  1038. #define ISpeechGrammarRuleState_GetTypeInfoCount(This,pctinfo)
  1039.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1040. #define ISpeechGrammarRuleState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1041.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1042. #define ISpeechGrammarRuleState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1043.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1044. #define ISpeechGrammarRuleState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1045.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1046. #define ISpeechGrammarRuleState_get_Rule(This,Rule)
  1047.     (This)->lpVtbl -> get_Rule(This,Rule)
  1048. #define ISpeechGrammarRuleState_get_Transitions(This,Transitions)
  1049.     (This)->lpVtbl -> get_Transitions(This,Transitions)
  1050. #define ISpeechGrammarRuleState_AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight)
  1051.     (This)->lpVtbl -> AddWordTransition(This,DestState,Words,Separators,Type,PropertyName,PropertyId,PropertyValue,Weight)
  1052. #define ISpeechGrammarRuleState_AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight)
  1053.     (This)->lpVtbl -> AddRuleTransition(This,DestinationState,Rule,PropertyName,PropertyId,PropertyValue,Weight)
  1054. #define ISpeechGrammarRuleState_AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight)
  1055.     (This)->lpVtbl -> AddSpecialTransition(This,DestinationState,Type,PropertyName,PropertyId,PropertyValue,Weight)
  1056. #endif /* COBJMACROS */
  1057. #endif  /* C style interface */
  1058. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_get_Rule_Proxy( 
  1059.     ISpeechGrammarRuleState * This,
  1060.     /* [retval][out] */ ISpeechGrammarRule **Rule);
  1061. void __RPC_STUB ISpeechGrammarRuleState_get_Rule_Stub(
  1062.     IRpcStubBuffer *This,
  1063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1064.     PRPC_MESSAGE _pRpcMessage,
  1065.     DWORD *_pdwStubPhase);
  1066. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_get_Transitions_Proxy( 
  1067.     ISpeechGrammarRuleState * This,
  1068.     /* [retval][out] */ ISpeechGrammarRuleStateTransitions **Transitions);
  1069. void __RPC_STUB ISpeechGrammarRuleState_get_Transitions_Stub(
  1070.     IRpcStubBuffer *This,
  1071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1072.     PRPC_MESSAGE _pRpcMessage,
  1073.     DWORD *_pdwStubPhase);
  1074. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddWordTransition_Proxy( 
  1075.     ISpeechGrammarRuleState * This,
  1076.     /* [in] */ ISpeechGrammarRuleState *DestState,
  1077.     /* [in] */ const BSTR Words,
  1078.     /* [defaultvalue][in] */ const BSTR Separators,
  1079.     /* [defaultvalue][in] */ SpeechGrammarWordType Type,
  1080.     /* [defaultvalue][in] */ const BSTR PropertyName,
  1081.     /* [defaultvalue][in] */ long PropertyId,
  1082.     /* [defaultvalue][in] */ VARIANT *PropertyValue,
  1083.     /* [defaultvalue][in] */ float Weight);
  1084. void __RPC_STUB ISpeechGrammarRuleState_AddWordTransition_Stub(
  1085.     IRpcStubBuffer *This,
  1086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1087.     PRPC_MESSAGE _pRpcMessage,
  1088.     DWORD *_pdwStubPhase);
  1089. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddRuleTransition_Proxy( 
  1090.     ISpeechGrammarRuleState * This,
  1091.     /* [in] */ ISpeechGrammarRuleState *DestinationState,
  1092.     /* [in] */ ISpeechGrammarRule *Rule,
  1093.     /* [defaultvalue][in] */ const BSTR PropertyName,
  1094.     /* [defaultvalue][in] */ long PropertyId,
  1095.     /* [defaultvalue][in] */ VARIANT *PropertyValue,
  1096.     /* [defaultvalue][in] */ float Weight);
  1097. void __RPC_STUB ISpeechGrammarRuleState_AddRuleTransition_Stub(
  1098.     IRpcStubBuffer *This,
  1099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1100.     PRPC_MESSAGE _pRpcMessage,
  1101.     DWORD *_pdwStubPhase);
  1102. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleState_AddSpecialTransition_Proxy( 
  1103.     ISpeechGrammarRuleState * This,
  1104.     /* [in] */ ISpeechGrammarRuleState *DestinationState,
  1105.     /* [in] */ SpeechSpecialTransitionType Type,
  1106.     /* [defaultvalue][in] */ const BSTR PropertyName,
  1107.     /* [defaultvalue][in] */ long PropertyId,
  1108.     /* [defaultvalue][in] */ VARIANT *PropertyValue,
  1109.     /* [defaultvalue][in] */ float Weight);
  1110. void __RPC_STUB ISpeechGrammarRuleState_AddSpecialTransition_Stub(
  1111.     IRpcStubBuffer *This,
  1112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1113.     PRPC_MESSAGE _pRpcMessage,
  1114.     DWORD *_pdwStubPhase);
  1115. #endif  /* __ISpeechGrammarRuleState_INTERFACE_DEFINED__ */
  1116. #ifndef __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
  1117. #define __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__
  1118. /* interface ISpeechGrammarRuleStateTransition */
  1119. /* [unique][helpstring][dual][uuid][object] */ 
  1120. EXTERN_C const IID IID_ISpeechGrammarRuleStateTransition;
  1121. #if defined(__cplusplus) && !defined(CINTERFACE)
  1122.     
  1123.     MIDL_INTERFACE("CAFD1DB1-41D1-4a06-9863-E2E81DA17A9A")
  1124.     ISpeechGrammarRuleStateTransition : public IDispatch
  1125.     {
  1126.     public:
  1127.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  1128.             /* [retval][out] */ SpeechGrammarRuleStateTransitionType *Type) = 0;
  1129.         
  1130.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Text( 
  1131.             /* [retval][out] */ BSTR *Text) = 0;
  1132.         
  1133.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rule( 
  1134.             /* [retval][out] */ ISpeechGrammarRule **Rule) = 0;
  1135.         
  1136.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Weight( 
  1137.             /* [retval][out] */ VARIANT *Weight) = 0;
  1138.         
  1139.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PropertyName( 
  1140.             /* [retval][out] */ BSTR *PropertyName) = 0;
  1141.         
  1142.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PropertyId( 
  1143.             /* [retval][out] */ long *PropertyId) = 0;
  1144.         
  1145.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PropertyValue( 
  1146.             /* [retval][out] */ VARIANT *PropertyValue) = 0;
  1147.         
  1148.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NextState( 
  1149.             /* [retval][out] */ ISpeechGrammarRuleState **NextState) = 0;
  1150.         
  1151.     };
  1152.     
  1153. #else  /* C style interface */
  1154.     typedef struct ISpeechGrammarRuleStateTransitionVtbl
  1155.     {
  1156.         BEGIN_INTERFACE
  1157.         
  1158.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1159.             ISpeechGrammarRuleStateTransition * This,
  1160.             /* [in] */ REFIID riid,
  1161.             /* [iid_is][out] */ void **ppvObject);
  1162.         
  1163.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1164.             ISpeechGrammarRuleStateTransition * This);
  1165.         
  1166.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1167.             ISpeechGrammarRuleStateTransition * This);
  1168.         
  1169.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1170.             ISpeechGrammarRuleStateTransition * This,
  1171.             /* [out] */ UINT *pctinfo);
  1172.         
  1173.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1174.             ISpeechGrammarRuleStateTransition * This,
  1175.             /* [in] */ UINT iTInfo,
  1176.             /* [in] */ LCID lcid,
  1177.             /* [out] */ ITypeInfo **ppTInfo);
  1178.         
  1179.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1180.             ISpeechGrammarRuleStateTransition * This,
  1181.             /* [in] */ REFIID riid,
  1182.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1183.             /* [in] */ UINT cNames,
  1184.             /* [in] */ LCID lcid,
  1185.             /* [size_is][out] */ DISPID *rgDispId);
  1186.         
  1187.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1188.             ISpeechGrammarRuleStateTransition * This,
  1189.             /* [in] */ DISPID dispIdMember,
  1190.             /* [in] */ REFIID riid,
  1191.             /* [in] */ LCID lcid,
  1192.             /* [in] */ WORD wFlags,
  1193.             /* [out][in] */ DISPPARAMS *pDispParams,
  1194.             /* [out] */ VARIANT *pVarResult,
  1195.             /* [out] */ EXCEPINFO *pExcepInfo,
  1196.             /* [out] */ UINT *puArgErr);
  1197.         
  1198.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  1199.             ISpeechGrammarRuleStateTransition * This,
  1200.             /* [retval][out] */ SpeechGrammarRuleStateTransitionType *Type);
  1201.         
  1202.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
  1203.             ISpeechGrammarRuleStateTransition * This,
  1204.             /* [retval][out] */ BSTR *Text);
  1205.         
  1206.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rule )( 
  1207.             ISpeechGrammarRuleStateTransition * This,
  1208.             /* [retval][out] */ ISpeechGrammarRule **Rule);
  1209.         
  1210.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Weight )( 
  1211.             ISpeechGrammarRuleStateTransition * This,
  1212.             /* [retval][out] */ VARIANT *Weight);
  1213.         
  1214.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyName )( 
  1215.             ISpeechGrammarRuleStateTransition * This,
  1216.             /* [retval][out] */ BSTR *PropertyName);
  1217.         
  1218.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyId )( 
  1219.             ISpeechGrammarRuleStateTransition * This,
  1220.             /* [retval][out] */ long *PropertyId);
  1221.         
  1222.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyValue )( 
  1223.             ISpeechGrammarRuleStateTransition * This,
  1224.             /* [retval][out] */ VARIANT *PropertyValue);
  1225.         
  1226.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NextState )( 
  1227.             ISpeechGrammarRuleStateTransition * This,
  1228.             /* [retval][out] */ ISpeechGrammarRuleState **NextState);
  1229.         
  1230.         END_INTERFACE
  1231.     } ISpeechGrammarRuleStateTransitionVtbl;
  1232.     interface ISpeechGrammarRuleStateTransition
  1233.     {
  1234.         CONST_VTBL struct ISpeechGrammarRuleStateTransitionVtbl *lpVtbl;
  1235.     };
  1236.     
  1237. #ifdef COBJMACROS
  1238. #define ISpeechGrammarRuleStateTransition_QueryInterface(This,riid,ppvObject)
  1239.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1240. #define ISpeechGrammarRuleStateTransition_AddRef(This)
  1241.     (This)->lpVtbl -> AddRef(This)
  1242. #define ISpeechGrammarRuleStateTransition_Release(This)
  1243.     (This)->lpVtbl -> Release(This)
  1244. #define ISpeechGrammarRuleStateTransition_GetTypeInfoCount(This,pctinfo)
  1245.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1246. #define ISpeechGrammarRuleStateTransition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1247.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1248. #define ISpeechGrammarRuleStateTransition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1249.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1250. #define ISpeechGrammarRuleStateTransition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1251.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1252. #define ISpeechGrammarRuleStateTransition_get_Type(This,Type)
  1253.     (This)->lpVtbl -> get_Type(This,Type)
  1254. #define ISpeechGrammarRuleStateTransition_get_Text(This,Text)
  1255.     (This)->lpVtbl -> get_Text(This,Text)
  1256. #define ISpeechGrammarRuleStateTransition_get_Rule(This,Rule)
  1257.     (This)->lpVtbl -> get_Rule(This,Rule)
  1258. #define ISpeechGrammarRuleStateTransition_get_Weight(This,Weight)
  1259.     (This)->lpVtbl -> get_Weight(This,Weight)
  1260. #define ISpeechGrammarRuleStateTransition_get_PropertyName(This,PropertyName)
  1261.     (This)->lpVtbl -> get_PropertyName(This,PropertyName)
  1262. #define ISpeechGrammarRuleStateTransition_get_PropertyId(This,PropertyId)
  1263.     (This)->lpVtbl -> get_PropertyId(This,PropertyId)
  1264. #define ISpeechGrammarRuleStateTransition_get_PropertyValue(This,PropertyValue)
  1265.     (This)->lpVtbl -> get_PropertyValue(This,PropertyValue)
  1266. #define ISpeechGrammarRuleStateTransition_get_NextState(This,NextState)
  1267.     (This)->lpVtbl -> get_NextState(This,NextState)
  1268. #endif /* COBJMACROS */
  1269. #endif  /* C style interface */
  1270. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Type_Proxy( 
  1271.     ISpeechGrammarRuleStateTransition * This,
  1272.     /* [retval][out] */ SpeechGrammarRuleStateTransitionType *Type);
  1273. void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Type_Stub(
  1274.     IRpcStubBuffer *This,
  1275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1276.     PRPC_MESSAGE _pRpcMessage,
  1277.     DWORD *_pdwStubPhase);
  1278. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Text_Proxy( 
  1279.     ISpeechGrammarRuleStateTransition * This,
  1280.     /* [retval][out] */ BSTR *Text);
  1281. void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Text_Stub(
  1282.     IRpcStubBuffer *This,
  1283.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1284.     PRPC_MESSAGE _pRpcMessage,
  1285.     DWORD *_pdwStubPhase);
  1286. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Rule_Proxy( 
  1287.     ISpeechGrammarRuleStateTransition * This,
  1288.     /* [retval][out] */ ISpeechGrammarRule **Rule);
  1289. void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Rule_Stub(
  1290.     IRpcStubBuffer *This,
  1291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1292.     PRPC_MESSAGE _pRpcMessage,
  1293.     DWORD *_pdwStubPhase);
  1294. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_Weight_Proxy( 
  1295.     ISpeechGrammarRuleStateTransition * This,
  1296.     /* [retval][out] */ VARIANT *Weight);
  1297. void __RPC_STUB ISpeechGrammarRuleStateTransition_get_Weight_Stub(
  1298.     IRpcStubBuffer *This,
  1299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1300.     PRPC_MESSAGE _pRpcMessage,
  1301.     DWORD *_pdwStubPhase);
  1302. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyName_Proxy( 
  1303.     ISpeechGrammarRuleStateTransition * This,
  1304.     /* [retval][out] */ BSTR *PropertyName);
  1305. void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyName_Stub(
  1306.     IRpcStubBuffer *This,
  1307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1308.     PRPC_MESSAGE _pRpcMessage,
  1309.     DWORD *_pdwStubPhase);
  1310. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyId_Proxy( 
  1311.     ISpeechGrammarRuleStateTransition * This,
  1312.     /* [retval][out] */ long *PropertyId);
  1313. void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyId_Stub(
  1314.     IRpcStubBuffer *This,
  1315.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1316.     PRPC_MESSAGE _pRpcMessage,
  1317.     DWORD *_pdwStubPhase);
  1318. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_PropertyValue_Proxy( 
  1319.     ISpeechGrammarRuleStateTransition * This,
  1320.     /* [retval][out] */ VARIANT *PropertyValue);
  1321. void __RPC_STUB ISpeechGrammarRuleStateTransition_get_PropertyValue_Stub(
  1322.     IRpcStubBuffer *This,
  1323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1324.     PRPC_MESSAGE _pRpcMessage,
  1325.     DWORD *_pdwStubPhase);
  1326. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransition_get_NextState_Proxy( 
  1327.     ISpeechGrammarRuleStateTransition * This,
  1328.     /* [retval][out] */ ISpeechGrammarRuleState **NextState);
  1329. void __RPC_STUB ISpeechGrammarRuleStateTransition_get_NextState_Stub(
  1330.     IRpcStubBuffer *This,
  1331.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1332.     PRPC_MESSAGE _pRpcMessage,
  1333.     DWORD *_pdwStubPhase);
  1334. #endif  /* __ISpeechGrammarRuleStateTransition_INTERFACE_DEFINED__ */
  1335. #ifndef __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
  1336. #define __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__
  1337. /* interface ISpeechGrammarRuleStateTransitions */
  1338. /* [unique][helpstring][dual][uuid][object] */ 
  1339. EXTERN_C const IID IID_ISpeechGrammarRuleStateTransitions;
  1340. #if defined(__cplusplus) && !defined(CINTERFACE)
  1341.     
  1342.     MIDL_INTERFACE("EABCE657-75BC-44a2-AA7F-C56476742963")
  1343.     ISpeechGrammarRuleStateTransitions : public IDispatch
  1344.     {
  1345.     public:
  1346.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1347.             /* [retval][out] */ long *Count) = 0;
  1348.         
  1349.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item( 
  1350.             /* [in] */ long Index,
  1351.             /* [retval][out] */ ISpeechGrammarRuleStateTransition **Transition) = 0;
  1352.         
  1353.         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1354.             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
  1355.         
  1356.     };
  1357.     
  1358. #else  /* C style interface */
  1359.     typedef struct ISpeechGrammarRuleStateTransitionsVtbl
  1360.     {
  1361.         BEGIN_INTERFACE
  1362.         
  1363.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1364.             ISpeechGrammarRuleStateTransitions * This,
  1365.             /* [in] */ REFIID riid,
  1366.             /* [iid_is][out] */ void **ppvObject);
  1367.         
  1368.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1369.             ISpeechGrammarRuleStateTransitions * This);
  1370.         
  1371.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1372.             ISpeechGrammarRuleStateTransitions * This);
  1373.         
  1374.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1375.             ISpeechGrammarRuleStateTransitions * This,
  1376.             /* [out] */ UINT *pctinfo);
  1377.         
  1378.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1379.             ISpeechGrammarRuleStateTransitions * This,
  1380.             /* [in] */ UINT iTInfo,
  1381.             /* [in] */ LCID lcid,
  1382.             /* [out] */ ITypeInfo **ppTInfo);
  1383.         
  1384.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1385.             ISpeechGrammarRuleStateTransitions * This,
  1386.             /* [in] */ REFIID riid,
  1387.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1388.             /* [in] */ UINT cNames,
  1389.             /* [in] */ LCID lcid,
  1390.             /* [size_is][out] */ DISPID *rgDispId);
  1391.         
  1392.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1393.             ISpeechGrammarRuleStateTransitions * This,
  1394.             /* [in] */ DISPID dispIdMember,
  1395.             /* [in] */ REFIID riid,
  1396.             /* [in] */ LCID lcid,
  1397.             /* [in] */ WORD wFlags,
  1398.             /* [out][in] */ DISPPARAMS *pDispParams,
  1399.             /* [out] */ VARIANT *pVarResult,
  1400.             /* [out] */ EXCEPINFO *pExcepInfo,
  1401.             /* [out] */ UINT *puArgErr);
  1402.         
  1403.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1404.             ISpeechGrammarRuleStateTransitions * This,
  1405.             /* [retval][out] */ long *Count);
  1406.         
  1407.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
  1408.             ISpeechGrammarRuleStateTransitions * This,
  1409.             /* [in] */ long Index,
  1410.             /* [retval][out] */ ISpeechGrammarRuleStateTransition **Transition);
  1411.         
  1412.         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1413.             ISpeechGrammarRuleStateTransitions * This,
  1414.             /* [retval][out] */ IUnknown **EnumVARIANT);
  1415.         
  1416.         END_INTERFACE
  1417.     } ISpeechGrammarRuleStateTransitionsVtbl;
  1418.     interface ISpeechGrammarRuleStateTransitions
  1419.     {
  1420.         CONST_VTBL struct ISpeechGrammarRuleStateTransitionsVtbl *lpVtbl;
  1421.     };
  1422.     
  1423. #ifdef COBJMACROS
  1424. #define ISpeechGrammarRuleStateTransitions_QueryInterface(This,riid,ppvObject)
  1425.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1426. #define ISpeechGrammarRuleStateTransitions_AddRef(This)
  1427.     (This)->lpVtbl -> AddRef(This)
  1428. #define ISpeechGrammarRuleStateTransitions_Release(This)
  1429.     (This)->lpVtbl -> Release(This)
  1430. #define ISpeechGrammarRuleStateTransitions_GetTypeInfoCount(This,pctinfo)
  1431.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1432. #define ISpeechGrammarRuleStateTransitions_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1433.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1434. #define ISpeechGrammarRuleStateTransitions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1435.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1436. #define ISpeechGrammarRuleStateTransitions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1437.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1438. #define ISpeechGrammarRuleStateTransitions_get_Count(This,Count)
  1439.     (This)->lpVtbl -> get_Count(This,Count)
  1440. #define ISpeechGrammarRuleStateTransitions_Item(This,Index,Transition)
  1441.     (This)->lpVtbl -> Item(This,Index,Transition)
  1442. #define ISpeechGrammarRuleStateTransitions_get__NewEnum(This,EnumVARIANT)
  1443.     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
  1444. #endif /* COBJMACROS */
  1445. #endif  /* C style interface */
  1446. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_get_Count_Proxy( 
  1447.     ISpeechGrammarRuleStateTransitions * This,
  1448.     /* [retval][out] */ long *Count);
  1449. void __RPC_STUB ISpeechGrammarRuleStateTransitions_get_Count_Stub(
  1450.     IRpcStubBuffer *This,
  1451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1452.     PRPC_MESSAGE _pRpcMessage,
  1453.     DWORD *_pdwStubPhase);
  1454. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_Item_Proxy( 
  1455.     ISpeechGrammarRuleStateTransitions * This,
  1456.     /* [in] */ long Index,
  1457.     /* [retval][out] */ ISpeechGrammarRuleStateTransition **Transition);
  1458. void __RPC_STUB ISpeechGrammarRuleStateTransitions_Item_Stub(
  1459.     IRpcStubBuffer *This,
  1460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1461.     PRPC_MESSAGE _pRpcMessage,
  1462.     DWORD *_pdwStubPhase);
  1463. /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechGrammarRuleStateTransitions_get__NewEnum_Proxy( 
  1464.     ISpeechGrammarRuleStateTransitions * This,
  1465.     /* [retval][out] */ IUnknown **EnumVARIANT);
  1466. void __RPC_STUB ISpeechGrammarRuleStateTransitions_get__NewEnum_Stub(
  1467.     IRpcStubBuffer *This,
  1468.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1469.     PRPC_MESSAGE _pRpcMessage,
  1470.     DWORD *_pdwStubPhase);
  1471. #endif  /* __ISpeechGrammarRuleStateTransitions_INTERFACE_DEFINED__ */
  1472. #ifndef __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
  1473. #define __ISpeechTextSelectionInformation_INTERFACE_DEFINED__
  1474. /* interface ISpeechTextSelectionInformation */
  1475. /* [unique][helpstring][dual][uuid][object] */ 
  1476. EXTERN_C const IID IID_ISpeechTextSelectionInformation;
  1477. #if defined(__cplusplus) && !defined(CINTERFACE)
  1478.     
  1479.     MIDL_INTERFACE("3B9C7E7A-6EEE-4DED-9092-11657279ADBE")
  1480.     ISpeechTextSelectionInformation : public IDispatch
  1481.     {
  1482.     public:
  1483.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveOffset( 
  1484.             /* [in] */ long ActiveOffset) = 0;
  1485.         
  1486.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveOffset( 
  1487.             /* [retval][out] */ long *ActiveOffset) = 0;
  1488.         
  1489.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveLength( 
  1490.             /* [in] */ long ActiveLength) = 0;
  1491.         
  1492.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveLength( 
  1493.             /* [retval][out] */ long *ActiveLength) = 0;
  1494.         
  1495.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SelectionOffset( 
  1496.             /* [in] */ long SelectionOffset) = 0;
  1497.         
  1498.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectionOffset( 
  1499.             /* [retval][out] */ long *SelectionOffset) = 0;
  1500.         
  1501.         virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SelectionLength( 
  1502.             /* [in] */ long SelectionLength) = 0;
  1503.         
  1504.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectionLength( 
  1505.             /* [retval][out] */ long *SelectionLength) = 0;
  1506.         
  1507.     };
  1508.     
  1509. #else  /* C style interface */
  1510.     typedef struct ISpeechTextSelectionInformationVtbl
  1511.     {
  1512.         BEGIN_INTERFACE
  1513.         
  1514.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1515.             ISpeechTextSelectionInformation * This,
  1516.             /* [in] */ REFIID riid,
  1517.             /* [iid_is][out] */ void **ppvObject);
  1518.         
  1519.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1520.             ISpeechTextSelectionInformation * This);
  1521.         
  1522.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1523.             ISpeechTextSelectionInformation * This);
  1524.         
  1525.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1526.             ISpeechTextSelectionInformation * This,
  1527.             /* [out] */ UINT *pctinfo);
  1528.         
  1529.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1530.             ISpeechTextSelectionInformation * This,
  1531.             /* [in] */ UINT iTInfo,
  1532.             /* [in] */ LCID lcid,
  1533.             /* [out] */ ITypeInfo **ppTInfo);
  1534.         
  1535.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1536.             ISpeechTextSelectionInformation * This,
  1537.             /* [in] */ REFIID riid,
  1538.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1539.             /* [in] */ UINT cNames,
  1540.             /* [in] */ LCID lcid,
  1541.             /* [size_is][out] */ DISPID *rgDispId);
  1542.         
  1543.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1544.             ISpeechTextSelectionInformation * This,
  1545.             /* [in] */ DISPID dispIdMember,
  1546.             /* [in] */ REFIID riid,
  1547.             /* [in] */ LCID lcid,
  1548.             /* [in] */ WORD wFlags,
  1549.             /* [out][in] */ DISPPARAMS *pDispParams,
  1550.             /* [out] */ VARIANT *pVarResult,
  1551.             /* [out] */ EXCEPINFO *pExcepInfo,
  1552.             /* [out] */ UINT *puArgErr);
  1553.         
  1554.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveOffset )( 
  1555.             ISpeechTextSelectionInformation * This,
  1556.             /* [in] */ long ActiveOffset);
  1557.         
  1558.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveOffset )( 
  1559.             ISpeechTextSelectionInformation * This,
  1560.             /* [retval][out] */ long *ActiveOffset);
  1561.         
  1562.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveLength )( 
  1563.             ISpeechTextSelectionInformation * This,
  1564.             /* [in] */ long ActiveLength);
  1565.         
  1566.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveLength )( 
  1567.             ISpeechTextSelectionInformation * This,
  1568.             /* [retval][out] */ long *ActiveLength);
  1569.         
  1570.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectionOffset )( 
  1571.             ISpeechTextSelectionInformation * This,
  1572.             /* [in] */ long SelectionOffset);
  1573.         
  1574.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectionOffset )( 
  1575.             ISpeechTextSelectionInformation * This,
  1576.             /* [retval][out] */ long *SelectionOffset);
  1577.         
  1578.         /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectionLength )( 
  1579.             ISpeechTextSelectionInformation * This,
  1580.             /* [in] */ long SelectionLength);
  1581.         
  1582.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectionLength )( 
  1583.             ISpeechTextSelectionInformation * This,
  1584.             /* [retval][out] */ long *SelectionLength);
  1585.         
  1586.         END_INTERFACE
  1587.     } ISpeechTextSelectionInformationVtbl;
  1588.     interface ISpeechTextSelectionInformation
  1589.     {
  1590.         CONST_VTBL struct ISpeechTextSelectionInformationVtbl *lpVtbl;
  1591.     };
  1592.     
  1593. #ifdef COBJMACROS
  1594. #define ISpeechTextSelectionInformation_QueryInterface(This,riid,ppvObject)
  1595.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1596. #define ISpeechTextSelectionInformation_AddRef(This)
  1597.     (This)->lpVtbl -> AddRef(This)
  1598. #define ISpeechTextSelectionInformation_Release(This)
  1599.     (This)->lpVtbl -> Release(This)
  1600. #define ISpeechTextSelectionInformation_GetTypeInfoCount(This,pctinfo)
  1601.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1602. #define ISpeechTextSelectionInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1603.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1604. #define ISpeechTextSelectionInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1605.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1606. #define ISpeechTextSelectionInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1607.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1608. #define ISpeechTextSelectionInformation_put_ActiveOffset(This,ActiveOffset)
  1609.     (This)->lpVtbl -> put_ActiveOffset(This,ActiveOffset)
  1610. #define ISpeechTextSelectionInformation_get_ActiveOffset(This,ActiveOffset)
  1611.     (This)->lpVtbl -> get_ActiveOffset(This,ActiveOffset)
  1612. #define ISpeechTextSelectionInformation_put_ActiveLength(This,ActiveLength)
  1613.     (This)->lpVtbl -> put_ActiveLength(This,ActiveLength)
  1614. #define ISpeechTextSelectionInformation_get_ActiveLength(This,ActiveLength)
  1615.     (This)->lpVtbl -> get_ActiveLength(This,ActiveLength)
  1616. #define ISpeechTextSelectionInformation_put_SelectionOffset(This,SelectionOffset)
  1617.     (This)->lpVtbl -> put_SelectionOffset(This,SelectionOffset)
  1618. #define ISpeechTextSelectionInformation_get_SelectionOffset(This,SelectionOffset)
  1619.     (This)->lpVtbl -> get_SelectionOffset(This,SelectionOffset)
  1620. #define ISpeechTextSelectionInformation_put_SelectionLength(This,SelectionLength)
  1621.     (This)->lpVtbl -> put_SelectionLength(This,SelectionLength)
  1622. #define ISpeechTextSelectionInformation_get_SelectionLength(This,SelectionLength)
  1623.     (This)->lpVtbl -> get_SelectionLength(This,SelectionLength)
  1624. #endif /* COBJMACROS */
  1625. #endif  /* C style interface */
  1626. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_ActiveOffset_Proxy( 
  1627.     ISpeechTextSelectionInformation * This,
  1628.     /* [in] */ long ActiveOffset);
  1629. void __RPC_STUB ISpeechTextSelectionInformation_put_ActiveOffset_Stub(
  1630.     IRpcStubBuffer *This,
  1631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1632.     PRPC_MESSAGE _pRpcMessage,
  1633.     DWORD *_pdwStubPhase);
  1634. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_ActiveOffset_Proxy( 
  1635.     ISpeechTextSelectionInformation * This,
  1636.     /* [retval][out] */ long *ActiveOffset);
  1637. void __RPC_STUB ISpeechTextSelectionInformation_get_ActiveOffset_Stub(
  1638.     IRpcStubBuffer *This,
  1639.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1640.     PRPC_MESSAGE _pRpcMessage,
  1641.     DWORD *_pdwStubPhase);
  1642. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_ActiveLength_Proxy( 
  1643.     ISpeechTextSelectionInformation * This,
  1644.     /* [in] */ long ActiveLength);
  1645. void __RPC_STUB ISpeechTextSelectionInformation_put_ActiveLength_Stub(
  1646.     IRpcStubBuffer *This,
  1647.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1648.     PRPC_MESSAGE _pRpcMessage,
  1649.     DWORD *_pdwStubPhase);
  1650. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_ActiveLength_Proxy( 
  1651.     ISpeechTextSelectionInformation * This,
  1652.     /* [retval][out] */ long *ActiveLength);
  1653. void __RPC_STUB ISpeechTextSelectionInformation_get_ActiveLength_Stub(
  1654.     IRpcStubBuffer *This,
  1655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1656.     PRPC_MESSAGE _pRpcMessage,
  1657.     DWORD *_pdwStubPhase);
  1658. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_SelectionOffset_Proxy( 
  1659.     ISpeechTextSelectionInformation * This,
  1660.     /* [in] */ long SelectionOffset);
  1661. void __RPC_STUB ISpeechTextSelectionInformation_put_SelectionOffset_Stub(
  1662.     IRpcStubBuffer *This,
  1663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1664.     PRPC_MESSAGE _pRpcMessage,
  1665.     DWORD *_pdwStubPhase);
  1666. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_SelectionOffset_Proxy( 
  1667.     ISpeechTextSelectionInformation * This,
  1668.     /* [retval][out] */ long *SelectionOffset);
  1669. void __RPC_STUB ISpeechTextSelectionInformation_get_SelectionOffset_Stub(
  1670.     IRpcStubBuffer *This,
  1671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1672.     PRPC_MESSAGE _pRpcMessage,
  1673.     DWORD *_pdwStubPhase);
  1674. /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_put_SelectionLength_Proxy( 
  1675.     ISpeechTextSelectionInformation * This,
  1676.     /* [in] */ long SelectionLength);
  1677. void __RPC_STUB ISpeechTextSelectionInformation_put_SelectionLength_Stub(
  1678.     IRpcStubBuffer *This,
  1679.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1680.     PRPC_MESSAGE _pRpcMessage,
  1681.     DWORD *_pdwStubPhase);
  1682. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechTextSelectionInformation_get_SelectionLength_Proxy( 
  1683.     ISpeechTextSelectionInformation * This,
  1684.     /* [retval][out] */ long *SelectionLength);
  1685. void __RPC_STUB ISpeechTextSelectionInformation_get_SelectionLength_Stub(
  1686.     IRpcStubBuffer *This,
  1687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1688.     PRPC_MESSAGE _pRpcMessage,
  1689.     DWORD *_pdwStubPhase);
  1690. #endif  /* __ISpeechTextSelectionInformation_INTERFACE_DEFINED__ */
  1691. #ifndef __ISpeechRecoResult_INTERFACE_DEFINED__
  1692. #define __ISpeechRecoResult_INTERFACE_DEFINED__
  1693. /* interface ISpeechRecoResult */
  1694. /* [unique][helpstring][dual][uuid][object] */ 
  1695. EXTERN_C const IID IID_ISpeechRecoResult;
  1696. #if defined(__cplusplus) && !defined(CINTERFACE)
  1697.     
  1698.     MIDL_INTERFACE("ED2879CF-CED9-4ee6-A534-DE0191D5468D")
  1699.     ISpeechRecoResult : public IDispatch
  1700.     {
  1701.     public:
  1702.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RecoContext( 
  1703.             /* [retval][out] */ ISpeechRecoContext **RecoContext) = 0;
  1704.         
  1705.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Times( 
  1706.             /* [retval][out] */ ISpeechRecoResultTimes **Times) = 0;
  1707.         
  1708.         virtual /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE putref_AudioFormat( 
  1709.             /* [in] */ ISpeechAudioFormat *Format) = 0;
  1710.         
  1711.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioFormat( 
  1712.             /* [retval][out] */ ISpeechAudioFormat **Format) = 0;
  1713.         
  1714.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PhraseInfo( 
  1715.             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo) = 0;
  1716.         
  1717.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Alternates( 
  1718.             /* [in] */ long RequestCount,
  1719.             /* [defaultvalue][in] */ long StartElement,
  1720.             /* [defaultvalue][in] */ long Elements,
  1721.             /* [retval][out] */ ISpeechPhraseAlternates **Alternates) = 0;
  1722.         
  1723.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Audio( 
  1724.             /* [defaultvalue][in] */ long StartElement,
  1725.             /* [defaultvalue][in] */ long Elements,
  1726.             /* [retval][out] */ ISpeechMemoryStream **Stream) = 0;
  1727.         
  1728.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SpeakAudio( 
  1729.             /* [defaultvalue][in] */ long StartElement,
  1730.             /* [defaultvalue][in] */ long Elements,
  1731.             /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
  1732.             /* [retval][out] */ long *StreamNumber) = 0;
  1733.         
  1734.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SaveToMemory( 
  1735.             /* [retval][out] */ VARIANT *ResultBlock) = 0;
  1736.         
  1737.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE DiscardResultInfo( 
  1738.             /* [in] */ SpeechDiscardType ValueTypes) = 0;
  1739.         
  1740.     };
  1741.     
  1742. #else  /* C style interface */
  1743.     typedef struct ISpeechRecoResultVtbl
  1744.     {
  1745.         BEGIN_INTERFACE
  1746.         
  1747.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1748.             ISpeechRecoResult * This,
  1749.             /* [in] */ REFIID riid,
  1750.             /* [iid_is][out] */ void **ppvObject);
  1751.         
  1752.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1753.             ISpeechRecoResult * This);
  1754.         
  1755.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1756.             ISpeechRecoResult * This);
  1757.         
  1758.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1759.             ISpeechRecoResult * This,
  1760.             /* [out] */ UINT *pctinfo);
  1761.         
  1762.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1763.             ISpeechRecoResult * This,
  1764.             /* [in] */ UINT iTInfo,
  1765.             /* [in] */ LCID lcid,
  1766.             /* [out] */ ITypeInfo **ppTInfo);
  1767.         
  1768.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1769.             ISpeechRecoResult * This,
  1770.             /* [in] */ REFIID riid,
  1771.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1772.             /* [in] */ UINT cNames,
  1773.             /* [in] */ LCID lcid,
  1774.             /* [size_is][out] */ DISPID *rgDispId);
  1775.         
  1776.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1777.             ISpeechRecoResult * This,
  1778.             /* [in] */ DISPID dispIdMember,
  1779.             /* [in] */ REFIID riid,
  1780.             /* [in] */ LCID lcid,
  1781.             /* [in] */ WORD wFlags,
  1782.             /* [out][in] */ DISPPARAMS *pDispParams,
  1783.             /* [out] */ VARIANT *pVarResult,
  1784.             /* [out] */ EXCEPINFO *pExcepInfo,
  1785.             /* [out] */ UINT *puArgErr);
  1786.         
  1787.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecoContext )( 
  1788.             ISpeechRecoResult * This,
  1789.             /* [retval][out] */ ISpeechRecoContext **RecoContext);
  1790.         
  1791.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Times )( 
  1792.             ISpeechRecoResult * This,
  1793.             /* [retval][out] */ ISpeechRecoResultTimes **Times);
  1794.         
  1795.         /* [id][helpstring][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_AudioFormat )( 
  1796.             ISpeechRecoResult * This,
  1797.             /* [in] */ ISpeechAudioFormat *Format);
  1798.         
  1799.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioFormat )( 
  1800.             ISpeechRecoResult * This,
  1801.             /* [retval][out] */ ISpeechAudioFormat **Format);
  1802.         
  1803.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhraseInfo )( 
  1804.             ISpeechRecoResult * This,
  1805.             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
  1806.         
  1807.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Alternates )( 
  1808.             ISpeechRecoResult * This,
  1809.             /* [in] */ long RequestCount,
  1810.             /* [defaultvalue][in] */ long StartElement,
  1811.             /* [defaultvalue][in] */ long Elements,
  1812.             /* [retval][out] */ ISpeechPhraseAlternates **Alternates);
  1813.         
  1814.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Audio )( 
  1815.             ISpeechRecoResult * This,
  1816.             /* [defaultvalue][in] */ long StartElement,
  1817.             /* [defaultvalue][in] */ long Elements,
  1818.             /* [retval][out] */ ISpeechMemoryStream **Stream);
  1819.         
  1820.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SpeakAudio )( 
  1821.             ISpeechRecoResult * This,
  1822.             /* [defaultvalue][in] */ long StartElement,
  1823.             /* [defaultvalue][in] */ long Elements,
  1824.             /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
  1825.             /* [retval][out] */ long *StreamNumber);
  1826.         
  1827.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveToMemory )( 
  1828.             ISpeechRecoResult * This,
  1829.             /* [retval][out] */ VARIANT *ResultBlock);
  1830.         
  1831.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *DiscardResultInfo )( 
  1832.             ISpeechRecoResult * This,
  1833.             /* [in] */ SpeechDiscardType ValueTypes);
  1834.         
  1835.         END_INTERFACE
  1836.     } ISpeechRecoResultVtbl;
  1837.     interface ISpeechRecoResult
  1838.     {
  1839.         CONST_VTBL struct ISpeechRecoResultVtbl *lpVtbl;
  1840.     };
  1841.     
  1842. #ifdef COBJMACROS
  1843. #define ISpeechRecoResult_QueryInterface(This,riid,ppvObject)
  1844.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1845. #define ISpeechRecoResult_AddRef(This)
  1846.     (This)->lpVtbl -> AddRef(This)
  1847. #define ISpeechRecoResult_Release(This)
  1848.     (This)->lpVtbl -> Release(This)
  1849. #define ISpeechRecoResult_GetTypeInfoCount(This,pctinfo)
  1850.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1851. #define ISpeechRecoResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1852.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1853. #define ISpeechRecoResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1854.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1855. #define ISpeechRecoResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1856.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1857. #define ISpeechRecoResult_get_RecoContext(This,RecoContext)
  1858.     (This)->lpVtbl -> get_RecoContext(This,RecoContext)
  1859. #define ISpeechRecoResult_get_Times(This,Times)
  1860.     (This)->lpVtbl -> get_Times(This,Times)
  1861. #define ISpeechRecoResult_putref_AudioFormat(This,Format)
  1862.     (This)->lpVtbl -> putref_AudioFormat(This,Format)
  1863. #define ISpeechRecoResult_get_AudioFormat(This,Format)
  1864.     (This)->lpVtbl -> get_AudioFormat(This,Format)
  1865. #define ISpeechRecoResult_get_PhraseInfo(This,PhraseInfo)
  1866.     (This)->lpVtbl -> get_PhraseInfo(This,PhraseInfo)
  1867. #define ISpeechRecoResult_Alternates(This,RequestCount,StartElement,Elements,Alternates)
  1868.     (This)->lpVtbl -> Alternates(This,RequestCount,StartElement,Elements,Alternates)
  1869. #define ISpeechRecoResult_Audio(This,StartElement,Elements,Stream)
  1870.     (This)->lpVtbl -> Audio(This,StartElement,Elements,Stream)
  1871. #define ISpeechRecoResult_SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
  1872.     (This)->lpVtbl -> SpeakAudio(This,StartElement,Elements,Flags,StreamNumber)
  1873. #define ISpeechRecoResult_SaveToMemory(This,ResultBlock)
  1874.     (This)->lpVtbl -> SaveToMemory(This,ResultBlock)
  1875. #define ISpeechRecoResult_DiscardResultInfo(This,ValueTypes)
  1876.     (This)->lpVtbl -> DiscardResultInfo(This,ValueTypes)
  1877. #endif /* COBJMACROS */
  1878. #endif  /* C style interface */
  1879. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_RecoContext_Proxy( 
  1880.     ISpeechRecoResult * This,
  1881.     /* [retval][out] */ ISpeechRecoContext **RecoContext);
  1882. void __RPC_STUB ISpeechRecoResult_get_RecoContext_Stub(
  1883.     IRpcStubBuffer *This,
  1884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1885.     PRPC_MESSAGE _pRpcMessage,
  1886.     DWORD *_pdwStubPhase);
  1887. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_Times_Proxy( 
  1888.     ISpeechRecoResult * This,
  1889.     /* [retval][out] */ ISpeechRecoResultTimes **Times);
  1890. void __RPC_STUB ISpeechRecoResult_get_Times_Stub(
  1891.     IRpcStubBuffer *This,
  1892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1893.     PRPC_MESSAGE _pRpcMessage,
  1894.     DWORD *_pdwStubPhase);
  1895. /* [id][helpstring][propputref] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_putref_AudioFormat_Proxy( 
  1896.     ISpeechRecoResult * This,
  1897.     /* [in] */ ISpeechAudioFormat *Format);
  1898. void __RPC_STUB ISpeechRecoResult_putref_AudioFormat_Stub(
  1899.     IRpcStubBuffer *This,
  1900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1901.     PRPC_MESSAGE _pRpcMessage,
  1902.     DWORD *_pdwStubPhase);
  1903. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_AudioFormat_Proxy( 
  1904.     ISpeechRecoResult * This,
  1905.     /* [retval][out] */ ISpeechAudioFormat **Format);
  1906. void __RPC_STUB ISpeechRecoResult_get_AudioFormat_Stub(
  1907.     IRpcStubBuffer *This,
  1908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1909.     PRPC_MESSAGE _pRpcMessage,
  1910.     DWORD *_pdwStubPhase);
  1911. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_get_PhraseInfo_Proxy( 
  1912.     ISpeechRecoResult * This,
  1913.     /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
  1914. void __RPC_STUB ISpeechRecoResult_get_PhraseInfo_Stub(
  1915.     IRpcStubBuffer *This,
  1916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1917.     PRPC_MESSAGE _pRpcMessage,
  1918.     DWORD *_pdwStubPhase);
  1919. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_Alternates_Proxy( 
  1920.     ISpeechRecoResult * This,
  1921.     /* [in] */ long RequestCount,
  1922.     /* [defaultvalue][in] */ long StartElement,
  1923.     /* [defaultvalue][in] */ long Elements,
  1924.     /* [retval][out] */ ISpeechPhraseAlternates **Alternates);
  1925. void __RPC_STUB ISpeechRecoResult_Alternates_Stub(
  1926.     IRpcStubBuffer *This,
  1927.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1928.     PRPC_MESSAGE _pRpcMessage,
  1929.     DWORD *_pdwStubPhase);
  1930. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_Audio_Proxy( 
  1931.     ISpeechRecoResult * This,
  1932.     /* [defaultvalue][in] */ long StartElement,
  1933.     /* [defaultvalue][in] */ long Elements,
  1934.     /* [retval][out] */ ISpeechMemoryStream **Stream);
  1935. void __RPC_STUB ISpeechRecoResult_Audio_Stub(
  1936.     IRpcStubBuffer *This,
  1937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1938.     PRPC_MESSAGE _pRpcMessage,
  1939.     DWORD *_pdwStubPhase);
  1940. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_SpeakAudio_Proxy( 
  1941.     ISpeechRecoResult * This,
  1942.     /* [defaultvalue][in] */ long StartElement,
  1943.     /* [defaultvalue][in] */ long Elements,
  1944.     /* [defaultvalue][in] */ SpeechVoiceSpeakFlags Flags,
  1945.     /* [retval][out] */ long *StreamNumber);
  1946. void __RPC_STUB ISpeechRecoResult_SpeakAudio_Stub(
  1947.     IRpcStubBuffer *This,
  1948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1949.     PRPC_MESSAGE _pRpcMessage,
  1950.     DWORD *_pdwStubPhase);
  1951. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_SaveToMemory_Proxy( 
  1952.     ISpeechRecoResult * This,
  1953.     /* [retval][out] */ VARIANT *ResultBlock);
  1954. void __RPC_STUB ISpeechRecoResult_SaveToMemory_Stub(
  1955.     IRpcStubBuffer *This,
  1956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1957.     PRPC_MESSAGE _pRpcMessage,
  1958.     DWORD *_pdwStubPhase);
  1959. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResult_DiscardResultInfo_Proxy( 
  1960.     ISpeechRecoResult * This,
  1961.     /* [in] */ SpeechDiscardType ValueTypes);
  1962. void __RPC_STUB ISpeechRecoResult_DiscardResultInfo_Stub(
  1963.     IRpcStubBuffer *This,
  1964.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1965.     PRPC_MESSAGE _pRpcMessage,
  1966.     DWORD *_pdwStubPhase);
  1967. #endif  /* __ISpeechRecoResult_INTERFACE_DEFINED__ */
  1968. #ifndef __ISpeechRecoResultTimes_INTERFACE_DEFINED__
  1969. #define __ISpeechRecoResultTimes_INTERFACE_DEFINED__
  1970. /* interface ISpeechRecoResultTimes */
  1971. /* [unique][helpstring][dual][uuid][object] */ 
  1972. EXTERN_C const IID IID_ISpeechRecoResultTimes;
  1973. #if defined(__cplusplus) && !defined(CINTERFACE)
  1974.     
  1975.     MIDL_INTERFACE("62B3B8FB-F6E7-41be-BDCB-056B1C29EFC0")
  1976.     ISpeechRecoResultTimes : public IDispatch
  1977.     {
  1978.     public:
  1979.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StreamTime( 
  1980.             /* [retval][out] */ VARIANT *Time) = 0;
  1981.         
  1982.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
  1983.             /* [retval][out] */ VARIANT *Length) = 0;
  1984.         
  1985.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TickCount( 
  1986.             /* [retval][out] */ long *TickCount) = 0;
  1987.         
  1988.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OffsetFromStart( 
  1989.             /* [retval][out] */ VARIANT *OffsetFromStart) = 0;
  1990.         
  1991.     };
  1992.     
  1993. #else  /* C style interface */
  1994.     typedef struct ISpeechRecoResultTimesVtbl
  1995.     {
  1996.         BEGIN_INTERFACE
  1997.         
  1998.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1999.             ISpeechRecoResultTimes * This,
  2000.             /* [in] */ REFIID riid,
  2001.             /* [iid_is][out] */ void **ppvObject);
  2002.         
  2003.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2004.             ISpeechRecoResultTimes * This);
  2005.         
  2006.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2007.             ISpeechRecoResultTimes * This);
  2008.         
  2009.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2010.             ISpeechRecoResultTimes * This,
  2011.             /* [out] */ UINT *pctinfo);
  2012.         
  2013.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2014.             ISpeechRecoResultTimes * This,
  2015.             /* [in] */ UINT iTInfo,
  2016.             /* [in] */ LCID lcid,
  2017.             /* [out] */ ITypeInfo **ppTInfo);
  2018.         
  2019.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2020.             ISpeechRecoResultTimes * This,
  2021.             /* [in] */ REFIID riid,
  2022.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2023.             /* [in] */ UINT cNames,
  2024.             /* [in] */ LCID lcid,
  2025.             /* [size_is][out] */ DISPID *rgDispId);
  2026.         
  2027.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2028.             ISpeechRecoResultTimes * This,
  2029.             /* [in] */ DISPID dispIdMember,
  2030.             /* [in] */ REFIID riid,
  2031.             /* [in] */ LCID lcid,
  2032.             /* [in] */ WORD wFlags,
  2033.             /* [out][in] */ DISPPARAMS *pDispParams,
  2034.             /* [out] */ VARIANT *pVarResult,
  2035.             /* [out] */ EXCEPINFO *pExcepInfo,
  2036.             /* [out] */ UINT *puArgErr);
  2037.         
  2038.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StreamTime )( 
  2039.             ISpeechRecoResultTimes * This,
  2040.             /* [retval][out] */ VARIANT *Time);
  2041.         
  2042.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
  2043.             ISpeechRecoResultTimes * This,
  2044.             /* [retval][out] */ VARIANT *Length);
  2045.         
  2046.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TickCount )( 
  2047.             ISpeechRecoResultTimes * This,
  2048.             /* [retval][out] */ long *TickCount);
  2049.         
  2050.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OffsetFromStart )( 
  2051.             ISpeechRecoResultTimes * This,
  2052.             /* [retval][out] */ VARIANT *OffsetFromStart);
  2053.         
  2054.         END_INTERFACE
  2055.     } ISpeechRecoResultTimesVtbl;
  2056.     interface ISpeechRecoResultTimes
  2057.     {
  2058.         CONST_VTBL struct ISpeechRecoResultTimesVtbl *lpVtbl;
  2059.     };
  2060.     
  2061. #ifdef COBJMACROS
  2062. #define ISpeechRecoResultTimes_QueryInterface(This,riid,ppvObject)
  2063.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2064. #define ISpeechRecoResultTimes_AddRef(This)
  2065.     (This)->lpVtbl -> AddRef(This)
  2066. #define ISpeechRecoResultTimes_Release(This)
  2067.     (This)->lpVtbl -> Release(This)
  2068. #define ISpeechRecoResultTimes_GetTypeInfoCount(This,pctinfo)
  2069.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2070. #define ISpeechRecoResultTimes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2071.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2072. #define ISpeechRecoResultTimes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2073.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2074. #define ISpeechRecoResultTimes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2075.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2076. #define ISpeechRecoResultTimes_get_StreamTime(This,Time)
  2077.     (This)->lpVtbl -> get_StreamTime(This,Time)
  2078. #define ISpeechRecoResultTimes_get_Length(This,Length)
  2079.     (This)->lpVtbl -> get_Length(This,Length)
  2080. #define ISpeechRecoResultTimes_get_TickCount(This,TickCount)
  2081.     (This)->lpVtbl -> get_TickCount(This,TickCount)
  2082. #define ISpeechRecoResultTimes_get_OffsetFromStart(This,OffsetFromStart)
  2083.     (This)->lpVtbl -> get_OffsetFromStart(This,OffsetFromStart)
  2084. #endif /* COBJMACROS */
  2085. #endif  /* C style interface */
  2086. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_StreamTime_Proxy( 
  2087.     ISpeechRecoResultTimes * This,
  2088.     /* [retval][out] */ VARIANT *Time);
  2089. void __RPC_STUB ISpeechRecoResultTimes_get_StreamTime_Stub(
  2090.     IRpcStubBuffer *This,
  2091.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2092.     PRPC_MESSAGE _pRpcMessage,
  2093.     DWORD *_pdwStubPhase);
  2094. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_Length_Proxy( 
  2095.     ISpeechRecoResultTimes * This,
  2096.     /* [retval][out] */ VARIANT *Length);
  2097. void __RPC_STUB ISpeechRecoResultTimes_get_Length_Stub(
  2098.     IRpcStubBuffer *This,
  2099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2100.     PRPC_MESSAGE _pRpcMessage,
  2101.     DWORD *_pdwStubPhase);
  2102. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_TickCount_Proxy( 
  2103.     ISpeechRecoResultTimes * This,
  2104.     /* [retval][out] */ long *TickCount);
  2105. void __RPC_STUB ISpeechRecoResultTimes_get_TickCount_Stub(
  2106.     IRpcStubBuffer *This,
  2107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2108.     PRPC_MESSAGE _pRpcMessage,
  2109.     DWORD *_pdwStubPhase);
  2110. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechRecoResultTimes_get_OffsetFromStart_Proxy( 
  2111.     ISpeechRecoResultTimes * This,
  2112.     /* [retval][out] */ VARIANT *OffsetFromStart);
  2113. void __RPC_STUB ISpeechRecoResultTimes_get_OffsetFromStart_Stub(
  2114.     IRpcStubBuffer *This,
  2115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2116.     PRPC_MESSAGE _pRpcMessage,
  2117.     DWORD *_pdwStubPhase);
  2118. #endif  /* __ISpeechRecoResultTimes_INTERFACE_DEFINED__ */
  2119. #ifndef __ISpeechPhraseAlternate_INTERFACE_DEFINED__
  2120. #define __ISpeechPhraseAlternate_INTERFACE_DEFINED__
  2121. /* interface ISpeechPhraseAlternate */
  2122. /* [unique][helpstring][dual][uuid][object] */ 
  2123. EXTERN_C const IID IID_ISpeechPhraseAlternate;
  2124. #if defined(__cplusplus) && !defined(CINTERFACE)
  2125.     
  2126.     MIDL_INTERFACE("27864A2A-2B9F-4cb8-92D3-0D2722FD1E73")
  2127.     ISpeechPhraseAlternate : public IDispatch
  2128.     {
  2129.     public:
  2130.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RecoResult( 
  2131.             /* [retval][out] */ ISpeechRecoResult **RecoResult) = 0;
  2132.         
  2133.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartElementInResult( 
  2134.             /* [retval][out] */ long *StartElement) = 0;
  2135.         
  2136.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfElementsInResult( 
  2137.             /* [retval][out] */ long *NumberOfElements) = 0;
  2138.         
  2139.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PhraseInfo( 
  2140.             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo) = 0;
  2141.         
  2142.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  2143.         
  2144.     };
  2145.     
  2146. #else  /* C style interface */
  2147.     typedef struct ISpeechPhraseAlternateVtbl
  2148.     {
  2149.         BEGIN_INTERFACE
  2150.         
  2151.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2152.             ISpeechPhraseAlternate * This,
  2153.             /* [in] */ REFIID riid,
  2154.             /* [iid_is][out] */ void **ppvObject);
  2155.         
  2156.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2157.             ISpeechPhraseAlternate * This);
  2158.         
  2159.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2160.             ISpeechPhraseAlternate * This);
  2161.         
  2162.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2163.             ISpeechPhraseAlternate * This,
  2164.             /* [out] */ UINT *pctinfo);
  2165.         
  2166.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2167.             ISpeechPhraseAlternate * This,
  2168.             /* [in] */ UINT iTInfo,
  2169.             /* [in] */ LCID lcid,
  2170.             /* [out] */ ITypeInfo **ppTInfo);
  2171.         
  2172.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2173.             ISpeechPhraseAlternate * This,
  2174.             /* [in] */ REFIID riid,
  2175.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2176.             /* [in] */ UINT cNames,
  2177.             /* [in] */ LCID lcid,
  2178.             /* [size_is][out] */ DISPID *rgDispId);
  2179.         
  2180.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2181.             ISpeechPhraseAlternate * This,
  2182.             /* [in] */ DISPID dispIdMember,
  2183.             /* [in] */ REFIID riid,
  2184.             /* [in] */ LCID lcid,
  2185.             /* [in] */ WORD wFlags,
  2186.             /* [out][in] */ DISPPARAMS *pDispParams,
  2187.             /* [out] */ VARIANT *pVarResult,
  2188.             /* [out] */ EXCEPINFO *pExcepInfo,
  2189.             /* [out] */ UINT *puArgErr);
  2190.         
  2191.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RecoResult )( 
  2192.             ISpeechPhraseAlternate * This,
  2193.             /* [retval][out] */ ISpeechRecoResult **RecoResult);
  2194.         
  2195.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartElementInResult )( 
  2196.             ISpeechPhraseAlternate * This,
  2197.             /* [retval][out] */ long *StartElement);
  2198.         
  2199.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfElementsInResult )( 
  2200.             ISpeechPhraseAlternate * This,
  2201.             /* [retval][out] */ long *NumberOfElements);
  2202.         
  2203.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhraseInfo )( 
  2204.             ISpeechPhraseAlternate * This,
  2205.             /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
  2206.         
  2207.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Commit )( 
  2208.             ISpeechPhraseAlternate * This);
  2209.         
  2210.         END_INTERFACE
  2211.     } ISpeechPhraseAlternateVtbl;
  2212.     interface ISpeechPhraseAlternate
  2213.     {
  2214.         CONST_VTBL struct ISpeechPhraseAlternateVtbl *lpVtbl;
  2215.     };
  2216.     
  2217. #ifdef COBJMACROS
  2218. #define ISpeechPhraseAlternate_QueryInterface(This,riid,ppvObject)
  2219.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2220. #define ISpeechPhraseAlternate_AddRef(This)
  2221.     (This)->lpVtbl -> AddRef(This)
  2222. #define ISpeechPhraseAlternate_Release(This)
  2223.     (This)->lpVtbl -> Release(This)
  2224. #define ISpeechPhraseAlternate_GetTypeInfoCount(This,pctinfo)
  2225.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2226. #define ISpeechPhraseAlternate_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2227.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2228. #define ISpeechPhraseAlternate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2229.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2230. #define ISpeechPhraseAlternate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2231.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2232. #define ISpeechPhraseAlternate_get_RecoResult(This,RecoResult)
  2233.     (This)->lpVtbl -> get_RecoResult(This,RecoResult)
  2234. #define ISpeechPhraseAlternate_get_StartElementInResult(This,StartElement)
  2235.     (This)->lpVtbl -> get_StartElementInResult(This,StartElement)
  2236. #define ISpeechPhraseAlternate_get_NumberOfElementsInResult(This,NumberOfElements)
  2237.     (This)->lpVtbl -> get_NumberOfElementsInResult(This,NumberOfElements)
  2238. #define ISpeechPhraseAlternate_get_PhraseInfo(This,PhraseInfo)
  2239.     (This)->lpVtbl -> get_PhraseInfo(This,PhraseInfo)
  2240. #define ISpeechPhraseAlternate_Commit(This)
  2241.     (This)->lpVtbl -> Commit(This)
  2242. #endif /* COBJMACROS */
  2243. #endif  /* C style interface */
  2244. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_RecoResult_Proxy( 
  2245.     ISpeechPhraseAlternate * This,
  2246.     /* [retval][out] */ ISpeechRecoResult **RecoResult);
  2247. void __RPC_STUB ISpeechPhraseAlternate_get_RecoResult_Stub(
  2248.     IRpcStubBuffer *This,
  2249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2250.     PRPC_MESSAGE _pRpcMessage,
  2251.     DWORD *_pdwStubPhase);
  2252. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_StartElementInResult_Proxy( 
  2253.     ISpeechPhraseAlternate * This,
  2254.     /* [retval][out] */ long *StartElement);
  2255. void __RPC_STUB ISpeechPhraseAlternate_get_StartElementInResult_Stub(
  2256.     IRpcStubBuffer *This,
  2257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2258.     PRPC_MESSAGE _pRpcMessage,
  2259.     DWORD *_pdwStubPhase);
  2260. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_NumberOfElementsInResult_Proxy( 
  2261.     ISpeechPhraseAlternate * This,
  2262.     /* [retval][out] */ long *NumberOfElements);
  2263. void __RPC_STUB ISpeechPhraseAlternate_get_NumberOfElementsInResult_Stub(
  2264.     IRpcStubBuffer *This,
  2265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2266.     PRPC_MESSAGE _pRpcMessage,
  2267.     DWORD *_pdwStubPhase);
  2268. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_get_PhraseInfo_Proxy( 
  2269.     ISpeechPhraseAlternate * This,
  2270.     /* [retval][out] */ ISpeechPhraseInfo **PhraseInfo);
  2271. void __RPC_STUB ISpeechPhraseAlternate_get_PhraseInfo_Stub(
  2272.     IRpcStubBuffer *This,
  2273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2274.     PRPC_MESSAGE _pRpcMessage,
  2275.     DWORD *_pdwStubPhase);
  2276. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternate_Commit_Proxy( 
  2277.     ISpeechPhraseAlternate * This);
  2278. void __RPC_STUB ISpeechPhraseAlternate_Commit_Stub(
  2279.     IRpcStubBuffer *This,
  2280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2281.     PRPC_MESSAGE _pRpcMessage,
  2282.     DWORD *_pdwStubPhase);
  2283. #endif  /* __ISpeechPhraseAlternate_INTERFACE_DEFINED__ */
  2284. #ifndef __ISpeechPhraseAlternates_INTERFACE_DEFINED__
  2285. #define __ISpeechPhraseAlternates_INTERFACE_DEFINED__
  2286. /* interface ISpeechPhraseAlternates */
  2287. /* [unique][helpstring][dual][uuid][object] */ 
  2288. EXTERN_C const IID IID_ISpeechPhraseAlternates;
  2289. #if defined(__cplusplus) && !defined(CINTERFACE)
  2290.     
  2291.     MIDL_INTERFACE("B238B6D5-F276-4c3d-A6C1-2974801C3CC2")
  2292.     ISpeechPhraseAlternates : public IDispatch
  2293.     {
  2294.     public:
  2295.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  2296.             /* [retval][out] */ long *Count) = 0;
  2297.         
  2298.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE Item( 
  2299.             /* [in] */ long Index,
  2300.             /* [retval][out] */ ISpeechPhraseAlternate **PhraseAlternate) = 0;
  2301.         
  2302.         virtual /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  2303.             /* [retval][out] */ IUnknown **EnumVARIANT) = 0;
  2304.         
  2305.     };
  2306.     
  2307. #else  /* C style interface */
  2308.     typedef struct ISpeechPhraseAlternatesVtbl
  2309.     {
  2310.         BEGIN_INTERFACE
  2311.         
  2312.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2313.             ISpeechPhraseAlternates * This,
  2314.             /* [in] */ REFIID riid,
  2315.             /* [iid_is][out] */ void **ppvObject);
  2316.         
  2317.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2318.             ISpeechPhraseAlternates * This);
  2319.         
  2320.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2321.             ISpeechPhraseAlternates * This);
  2322.         
  2323.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2324.             ISpeechPhraseAlternates * This,
  2325.             /* [out] */ UINT *pctinfo);
  2326.         
  2327.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2328.             ISpeechPhraseAlternates * This,
  2329.             /* [in] */ UINT iTInfo,
  2330.             /* [in] */ LCID lcid,
  2331.             /* [out] */ ITypeInfo **ppTInfo);
  2332.         
  2333.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2334.             ISpeechPhraseAlternates * This,
  2335.             /* [in] */ REFIID riid,
  2336.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2337.             /* [in] */ UINT cNames,
  2338.             /* [in] */ LCID lcid,
  2339.             /* [size_is][out] */ DISPID *rgDispId);
  2340.         
  2341.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2342.             ISpeechPhraseAlternates * This,
  2343.             /* [in] */ DISPID dispIdMember,
  2344.             /* [in] */ REFIID riid,
  2345.             /* [in] */ LCID lcid,
  2346.             /* [in] */ WORD wFlags,
  2347.             /* [out][in] */ DISPPARAMS *pDispParams,
  2348.             /* [out] */ VARIANT *pVarResult,
  2349.             /* [out] */ EXCEPINFO *pExcepInfo,
  2350.             /* [out] */ UINT *puArgErr);
  2351.         
  2352.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  2353.             ISpeechPhraseAlternates * This,
  2354.             /* [retval][out] */ long *Count);
  2355.         
  2356.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
  2357.             ISpeechPhraseAlternates * This,
  2358.             /* [in] */ long Index,
  2359.             /* [retval][out] */ ISpeechPhraseAlternate **PhraseAlternate);
  2360.         
  2361.         /* [id][restricted][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  2362.             ISpeechPhraseAlternates * This,
  2363.             /* [retval][out] */ IUnknown **EnumVARIANT);
  2364.         
  2365.         END_INTERFACE
  2366.     } ISpeechPhraseAlternatesVtbl;
  2367.     interface ISpeechPhraseAlternates
  2368.     {
  2369.         CONST_VTBL struct ISpeechPhraseAlternatesVtbl *lpVtbl;
  2370.     };
  2371.     
  2372. #ifdef COBJMACROS
  2373. #define ISpeechPhraseAlternates_QueryInterface(This,riid,ppvObject)
  2374.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2375. #define ISpeechPhraseAlternates_AddRef(This)
  2376.     (This)->lpVtbl -> AddRef(This)
  2377. #define ISpeechPhraseAlternates_Release(This)
  2378.     (This)->lpVtbl -> Release(This)
  2379. #define ISpeechPhraseAlternates_GetTypeInfoCount(This,pctinfo)
  2380.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2381. #define ISpeechPhraseAlternates_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2382.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2383. #define ISpeechPhraseAlternates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2384.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2385. #define ISpeechPhraseAlternates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2386.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2387. #define ISpeechPhraseAlternates_get_Count(This,Count)
  2388.     (This)->lpVtbl -> get_Count(This,Count)
  2389. #define ISpeechPhraseAlternates_Item(This,Index,PhraseAlternate)
  2390.     (This)->lpVtbl -> Item(This,Index,PhraseAlternate)
  2391. #define ISpeechPhraseAlternates_get__NewEnum(This,EnumVARIANT)
  2392.     (This)->lpVtbl -> get__NewEnum(This,EnumVARIANT)
  2393. #endif /* COBJMACROS */
  2394. #endif  /* C style interface */
  2395. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_get_Count_Proxy( 
  2396.     ISpeechPhraseAlternates * This,
  2397.     /* [retval][out] */ long *Count);
  2398. void __RPC_STUB ISpeechPhraseAlternates_get_Count_Stub(
  2399.     IRpcStubBuffer *This,
  2400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2401.     PRPC_MESSAGE _pRpcMessage,
  2402.     DWORD *_pdwStubPhase);
  2403. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_Item_Proxy( 
  2404.     ISpeechPhraseAlternates * This,
  2405.     /* [in] */ long Index,
  2406.     /* [retval][out] */ ISpeechPhraseAlternate **PhraseAlternate);
  2407. void __RPC_STUB ISpeechPhraseAlternates_Item_Stub(
  2408.     IRpcStubBuffer *This,
  2409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2410.     PRPC_MESSAGE _pRpcMessage,
  2411.     DWORD *_pdwStubPhase);
  2412. /* [id][restricted][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseAlternates_get__NewEnum_Proxy( 
  2413.     ISpeechPhraseAlternates * This,
  2414.     /* [retval][out] */ IUnknown **EnumVARIANT);
  2415. void __RPC_STUB ISpeechPhraseAlternates_get__NewEnum_Stub(
  2416.     IRpcStubBuffer *This,
  2417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2418.     PRPC_MESSAGE _pRpcMessage,
  2419.     DWORD *_pdwStubPhase);
  2420. #endif  /* __ISpeechPhraseAlternates_INTERFACE_DEFINED__ */
  2421. #ifndef __ISpeechPhraseInfo_INTERFACE_DEFINED__
  2422. #define __ISpeechPhraseInfo_INTERFACE_DEFINED__
  2423. /* interface ISpeechPhraseInfo */
  2424. /* [unique][helpstring][dual][uuid][object] */ 
  2425. EXTERN_C const IID IID_ISpeechPhraseInfo;
  2426. #if defined(__cplusplus) && !defined(CINTERFACE)
  2427.     
  2428.     MIDL_INTERFACE("961559CF-4E67-4662-8BF0-D93F1FCD61B3")
  2429.     ISpeechPhraseInfo : public IDispatch
  2430.     {
  2431.     public:
  2432.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LanguageId( 
  2433.             /* [retval][out] */ long *LanguageId) = 0;
  2434.         
  2435.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GrammarId( 
  2436.             /* [retval][out] */ VARIANT *GrammarId) = 0;
  2437.         
  2438.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartTime( 
  2439.             /* [retval][out] */ VARIANT *StartTime) = 0;
  2440.         
  2441.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioStreamPosition( 
  2442.             /* [retval][out] */ VARIANT *AudioStreamPosition) = 0;
  2443.         
  2444.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioSizeBytes( 
  2445.             /* [retval][out] */ long *pAudioSizeBytes) = 0;
  2446.         
  2447.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes( 
  2448.             /* [retval][out] */ long *RetainedSizeBytes) = 0;
  2449.         
  2450.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioSizeTime( 
  2451.             /* [retval][out] */ long *AudioSizeTime) = 0;
  2452.         
  2453.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rule( 
  2454.             /* [retval][out] */ ISpeechPhraseRule **Rule) = 0;
  2455.         
  2456.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  2457.             /* [retval][out] */ ISpeechPhraseProperties **Properties) = 0;
  2458.         
  2459.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Elements( 
  2460.             /* [retval][out] */ ISpeechPhraseElements **Elements) = 0;
  2461.         
  2462.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Replacements( 
  2463.             /* [retval][out] */ ISpeechPhraseReplacements **Replacements) = 0;
  2464.         
  2465.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EngineId( 
  2466.             /* [retval][out] */ BSTR *EngineIdGuid) = 0;
  2467.         
  2468.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EnginePrivateData( 
  2469.             /* [retval][out] */ VARIANT *PrivateData) = 0;
  2470.         
  2471.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE SaveToMemory( 
  2472.             /* [retval][out] */ VARIANT *PhraseBlock) = 0;
  2473.         
  2474.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetText( 
  2475.             /* [defaultvalue][in] */ long StartElement,
  2476.             /* [defaultvalue][in] */ long Elements,
  2477.             /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
  2478.             /* [retval][out] */ BSTR *Text) = 0;
  2479.         
  2480.         virtual /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayAttributes( 
  2481.             /* [defaultvalue][in] */ long StartElement,
  2482.             /* [defaultvalue][in] */ long Elements,
  2483.             /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
  2484.             /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes) = 0;
  2485.         
  2486.     };
  2487.     
  2488. #else  /* C style interface */
  2489.     typedef struct ISpeechPhraseInfoVtbl
  2490.     {
  2491.         BEGIN_INTERFACE
  2492.         
  2493.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2494.             ISpeechPhraseInfo * This,
  2495.             /* [in] */ REFIID riid,
  2496.             /* [iid_is][out] */ void **ppvObject);
  2497.         
  2498.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2499.             ISpeechPhraseInfo * This);
  2500.         
  2501.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2502.             ISpeechPhraseInfo * This);
  2503.         
  2504.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2505.             ISpeechPhraseInfo * This,
  2506.             /* [out] */ UINT *pctinfo);
  2507.         
  2508.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2509.             ISpeechPhraseInfo * This,
  2510.             /* [in] */ UINT iTInfo,
  2511.             /* [in] */ LCID lcid,
  2512.             /* [out] */ ITypeInfo **ppTInfo);
  2513.         
  2514.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2515.             ISpeechPhraseInfo * This,
  2516.             /* [in] */ REFIID riid,
  2517.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2518.             /* [in] */ UINT cNames,
  2519.             /* [in] */ LCID lcid,
  2520.             /* [size_is][out] */ DISPID *rgDispId);
  2521.         
  2522.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2523.             ISpeechPhraseInfo * This,
  2524.             /* [in] */ DISPID dispIdMember,
  2525.             /* [in] */ REFIID riid,
  2526.             /* [in] */ LCID lcid,
  2527.             /* [in] */ WORD wFlags,
  2528.             /* [out][in] */ DISPPARAMS *pDispParams,
  2529.             /* [out] */ VARIANT *pVarResult,
  2530.             /* [out] */ EXCEPINFO *pExcepInfo,
  2531.             /* [out] */ UINT *puArgErr);
  2532.         
  2533.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LanguageId )( 
  2534.             ISpeechPhraseInfo * This,
  2535.             /* [retval][out] */ long *LanguageId);
  2536.         
  2537.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GrammarId )( 
  2538.             ISpeechPhraseInfo * This,
  2539.             /* [retval][out] */ VARIANT *GrammarId);
  2540.         
  2541.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartTime )( 
  2542.             ISpeechPhraseInfo * This,
  2543.             /* [retval][out] */ VARIANT *StartTime);
  2544.         
  2545.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioStreamPosition )( 
  2546.             ISpeechPhraseInfo * This,
  2547.             /* [retval][out] */ VARIANT *AudioStreamPosition);
  2548.         
  2549.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSizeBytes )( 
  2550.             ISpeechPhraseInfo * This,
  2551.             /* [retval][out] */ long *pAudioSizeBytes);
  2552.         
  2553.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RetainedSizeBytes )( 
  2554.             ISpeechPhraseInfo * This,
  2555.             /* [retval][out] */ long *RetainedSizeBytes);
  2556.         
  2557.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSizeTime )( 
  2558.             ISpeechPhraseInfo * This,
  2559.             /* [retval][out] */ long *AudioSizeTime);
  2560.         
  2561.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rule )( 
  2562.             ISpeechPhraseInfo * This,
  2563.             /* [retval][out] */ ISpeechPhraseRule **Rule);
  2564.         
  2565.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  2566.             ISpeechPhraseInfo * This,
  2567.             /* [retval][out] */ ISpeechPhraseProperties **Properties);
  2568.         
  2569.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Elements )( 
  2570.             ISpeechPhraseInfo * This,
  2571.             /* [retval][out] */ ISpeechPhraseElements **Elements);
  2572.         
  2573.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Replacements )( 
  2574.             ISpeechPhraseInfo * This,
  2575.             /* [retval][out] */ ISpeechPhraseReplacements **Replacements);
  2576.         
  2577.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EngineId )( 
  2578.             ISpeechPhraseInfo * This,
  2579.             /* [retval][out] */ BSTR *EngineIdGuid);
  2580.         
  2581.         /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnginePrivateData )( 
  2582.             ISpeechPhraseInfo * This,
  2583.             /* [retval][out] */ VARIANT *PrivateData);
  2584.         
  2585.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveToMemory )( 
  2586.             ISpeechPhraseInfo * This,
  2587.             /* [retval][out] */ VARIANT *PhraseBlock);
  2588.         
  2589.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetText )( 
  2590.             ISpeechPhraseInfo * This,
  2591.             /* [defaultvalue][in] */ long StartElement,
  2592.             /* [defaultvalue][in] */ long Elements,
  2593.             /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
  2594.             /* [retval][out] */ BSTR *Text);
  2595.         
  2596.         /* [id][helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDisplayAttributes )( 
  2597.             ISpeechPhraseInfo * This,
  2598.             /* [defaultvalue][in] */ long StartElement,
  2599.             /* [defaultvalue][in] */ long Elements,
  2600.             /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
  2601.             /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes);
  2602.         
  2603.         END_INTERFACE
  2604.     } ISpeechPhraseInfoVtbl;
  2605.     interface ISpeechPhraseInfo
  2606.     {
  2607.         CONST_VTBL struct ISpeechPhraseInfoVtbl *lpVtbl;
  2608.     };
  2609.     
  2610. #ifdef COBJMACROS
  2611. #define ISpeechPhraseInfo_QueryInterface(This,riid,ppvObject)
  2612.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2613. #define ISpeechPhraseInfo_AddRef(This)
  2614.     (This)->lpVtbl -> AddRef(This)
  2615. #define ISpeechPhraseInfo_Release(This)
  2616.     (This)->lpVtbl -> Release(This)
  2617. #define ISpeechPhraseInfo_GetTypeInfoCount(This,pctinfo)
  2618.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2619. #define ISpeechPhraseInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2620.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2621. #define ISpeechPhraseInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2622.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2623. #define ISpeechPhraseInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2624.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2625. #define ISpeechPhraseInfo_get_LanguageId(This,LanguageId)
  2626.     (This)->lpVtbl -> get_LanguageId(This,LanguageId)
  2627. #define ISpeechPhraseInfo_get_GrammarId(This,GrammarId)
  2628.     (This)->lpVtbl -> get_GrammarId(This,GrammarId)
  2629. #define ISpeechPhraseInfo_get_StartTime(This,StartTime)
  2630.     (This)->lpVtbl -> get_StartTime(This,StartTime)
  2631. #define ISpeechPhraseInfo_get_AudioStreamPosition(This,AudioStreamPosition)
  2632.     (This)->lpVtbl -> get_AudioStreamPosition(This,AudioStreamPosition)
  2633. #define ISpeechPhraseInfo_get_AudioSizeBytes(This,pAudioSizeBytes)
  2634.     (This)->lpVtbl -> get_AudioSizeBytes(This,pAudioSizeBytes)
  2635. #define ISpeechPhraseInfo_get_RetainedSizeBytes(This,RetainedSizeBytes)
  2636.     (This)->lpVtbl -> get_RetainedSizeBytes(This,RetainedSizeBytes)
  2637. #define ISpeechPhraseInfo_get_AudioSizeTime(This,AudioSizeTime)
  2638.     (This)->lpVtbl -> get_AudioSizeTime(This,AudioSizeTime)
  2639. #define ISpeechPhraseInfo_get_Rule(This,Rule)
  2640.     (This)->lpVtbl -> get_Rule(This,Rule)
  2641. #define ISpeechPhraseInfo_get_Properties(This,Properties)
  2642.     (This)->lpVtbl -> get_Properties(This,Properties)
  2643. #define ISpeechPhraseInfo_get_Elements(This,Elements)
  2644.     (This)->lpVtbl -> get_Elements(This,Elements)
  2645. #define ISpeechPhraseInfo_get_Replacements(This,Replacements)
  2646.     (This)->lpVtbl -> get_Replacements(This,Replacements)
  2647. #define ISpeechPhraseInfo_get_EngineId(This,EngineIdGuid)
  2648.     (This)->lpVtbl -> get_EngineId(This,EngineIdGuid)
  2649. #define ISpeechPhraseInfo_get_EnginePrivateData(This,PrivateData)
  2650.     (This)->lpVtbl -> get_EnginePrivateData(This,PrivateData)
  2651. #define ISpeechPhraseInfo_SaveToMemory(This,PhraseBlock)
  2652.     (This)->lpVtbl -> SaveToMemory(This,PhraseBlock)
  2653. #define ISpeechPhraseInfo_GetText(This,StartElement,Elements,UseReplacements,Text)
  2654.     (This)->lpVtbl -> GetText(This,StartElement,Elements,UseReplacements,Text)
  2655. #define ISpeechPhraseInfo_GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes)
  2656.     (This)->lpVtbl -> GetDisplayAttributes(This,StartElement,Elements,UseReplacements,DisplayAttributes)
  2657. #endif /* COBJMACROS */
  2658. #endif  /* C style interface */
  2659. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_LanguageId_Proxy( 
  2660.     ISpeechPhraseInfo * This,
  2661.     /* [retval][out] */ long *LanguageId);
  2662. void __RPC_STUB ISpeechPhraseInfo_get_LanguageId_Stub(
  2663.     IRpcStubBuffer *This,
  2664.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2665.     PRPC_MESSAGE _pRpcMessage,
  2666.     DWORD *_pdwStubPhase);
  2667. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_GrammarId_Proxy( 
  2668.     ISpeechPhraseInfo * This,
  2669.     /* [retval][out] */ VARIANT *GrammarId);
  2670. void __RPC_STUB ISpeechPhraseInfo_get_GrammarId_Stub(
  2671.     IRpcStubBuffer *This,
  2672.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2673.     PRPC_MESSAGE _pRpcMessage,
  2674.     DWORD *_pdwStubPhase);
  2675. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_StartTime_Proxy( 
  2676.     ISpeechPhraseInfo * This,
  2677.     /* [retval][out] */ VARIANT *StartTime);
  2678. void __RPC_STUB ISpeechPhraseInfo_get_StartTime_Stub(
  2679.     IRpcStubBuffer *This,
  2680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2681.     PRPC_MESSAGE _pRpcMessage,
  2682.     DWORD *_pdwStubPhase);
  2683. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioStreamPosition_Proxy( 
  2684.     ISpeechPhraseInfo * This,
  2685.     /* [retval][out] */ VARIANT *AudioStreamPosition);
  2686. void __RPC_STUB ISpeechPhraseInfo_get_AudioStreamPosition_Stub(
  2687.     IRpcStubBuffer *This,
  2688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2689.     PRPC_MESSAGE _pRpcMessage,
  2690.     DWORD *_pdwStubPhase);
  2691. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioSizeBytes_Proxy( 
  2692.     ISpeechPhraseInfo * This,
  2693.     /* [retval][out] */ long *pAudioSizeBytes);
  2694. void __RPC_STUB ISpeechPhraseInfo_get_AudioSizeBytes_Stub(
  2695.     IRpcStubBuffer *This,
  2696.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2697.     PRPC_MESSAGE _pRpcMessage,
  2698.     DWORD *_pdwStubPhase);
  2699. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_RetainedSizeBytes_Proxy( 
  2700.     ISpeechPhraseInfo * This,
  2701.     /* [retval][out] */ long *RetainedSizeBytes);
  2702. void __RPC_STUB ISpeechPhraseInfo_get_RetainedSizeBytes_Stub(
  2703.     IRpcStubBuffer *This,
  2704.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2705.     PRPC_MESSAGE _pRpcMessage,
  2706.     DWORD *_pdwStubPhase);
  2707. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_AudioSizeTime_Proxy( 
  2708.     ISpeechPhraseInfo * This,
  2709.     /* [retval][out] */ long *AudioSizeTime);
  2710. void __RPC_STUB ISpeechPhraseInfo_get_AudioSizeTime_Stub(
  2711.     IRpcStubBuffer *This,
  2712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2713.     PRPC_MESSAGE _pRpcMessage,
  2714.     DWORD *_pdwStubPhase);
  2715. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Rule_Proxy( 
  2716.     ISpeechPhraseInfo * This,
  2717.     /* [retval][out] */ ISpeechPhraseRule **Rule);
  2718. void __RPC_STUB ISpeechPhraseInfo_get_Rule_Stub(
  2719.     IRpcStubBuffer *This,
  2720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2721.     PRPC_MESSAGE _pRpcMessage,
  2722.     DWORD *_pdwStubPhase);
  2723. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Properties_Proxy( 
  2724.     ISpeechPhraseInfo * This,
  2725.     /* [retval][out] */ ISpeechPhraseProperties **Properties);
  2726. void __RPC_STUB ISpeechPhraseInfo_get_Properties_Stub(
  2727.     IRpcStubBuffer *This,
  2728.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2729.     PRPC_MESSAGE _pRpcMessage,
  2730.     DWORD *_pdwStubPhase);
  2731. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Elements_Proxy( 
  2732.     ISpeechPhraseInfo * This,
  2733.     /* [retval][out] */ ISpeechPhraseElements **Elements);
  2734. void __RPC_STUB ISpeechPhraseInfo_get_Elements_Stub(
  2735.     IRpcStubBuffer *This,
  2736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2737.     PRPC_MESSAGE _pRpcMessage,
  2738.     DWORD *_pdwStubPhase);
  2739. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_Replacements_Proxy( 
  2740.     ISpeechPhraseInfo * This,
  2741.     /* [retval][out] */ ISpeechPhraseReplacements **Replacements);
  2742. void __RPC_STUB ISpeechPhraseInfo_get_Replacements_Stub(
  2743.     IRpcStubBuffer *This,
  2744.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2745.     PRPC_MESSAGE _pRpcMessage,
  2746.     DWORD *_pdwStubPhase);
  2747. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_EngineId_Proxy( 
  2748.     ISpeechPhraseInfo * This,
  2749.     /* [retval][out] */ BSTR *EngineIdGuid);
  2750. void __RPC_STUB ISpeechPhraseInfo_get_EngineId_Stub(
  2751.     IRpcStubBuffer *This,
  2752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2753.     PRPC_MESSAGE _pRpcMessage,
  2754.     DWORD *_pdwStubPhase);
  2755. /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_get_EnginePrivateData_Proxy( 
  2756.     ISpeechPhraseInfo * This,
  2757.     /* [retval][out] */ VARIANT *PrivateData);
  2758. void __RPC_STUB ISpeechPhraseInfo_get_EnginePrivateData_Stub(
  2759.     IRpcStubBuffer *This,
  2760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2761.     PRPC_MESSAGE _pRpcMessage,
  2762.     DWORD *_pdwStubPhase);
  2763. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_SaveToMemory_Proxy( 
  2764.     ISpeechPhraseInfo * This,
  2765.     /* [retval][out] */ VARIANT *PhraseBlock);
  2766. void __RPC_STUB ISpeechPhraseInfo_SaveToMemory_Stub(
  2767.     IRpcStubBuffer *This,
  2768.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2769.     PRPC_MESSAGE _pRpcMessage,
  2770.     DWORD *_pdwStubPhase);
  2771. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_GetText_Proxy( 
  2772.     ISpeechPhraseInfo * This,
  2773.     /* [defaultvalue][in] */ long StartElement,
  2774.     /* [defaultvalue][in] */ long Elements,
  2775.     /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
  2776.     /* [retval][out] */ BSTR *Text);
  2777. void __RPC_STUB ISpeechPhraseInfo_GetText_Stub(
  2778.     IRpcStubBuffer *This,
  2779.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2780.     PRPC_MESSAGE _pRpcMessage,
  2781.     DWORD *_pdwStubPhase);
  2782. /* [id][helpstring] */ HRESULT STDMETHODCALLTYPE ISpeechPhraseInfo_GetDisplayAttributes_Proxy( 
  2783.     ISpeechPhraseInfo * This,
  2784.     /* [defaultvalue][in] */ long StartElement,
  2785.     /* [defaultvalue][in] */ long Elements,
  2786.     /* [defaultvalue][in] */ VARIANT_BOOL UseReplacements,
  2787.     /* [retval][out] */ SpeechDisplayAttributes *DisplayAttributes);
  2788. void __RPC_STUB ISpeechPhraseInfo_GetDisplayAttributes_Stub(
  2789.     IRpcStubBuffer *This,
  2790.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2791.     PRPC_MESSAGE _pRpcMessage,
  2792.     DWORD *_pdwStubPhase);
  2793. #endif  /* __ISpeechPhraseInfo_INTERFACE_DEFINED__ */
  2794. #ifndef __ISpeechPhraseElement_INTERFACE_DEFINED__
  2795. #define __ISpeechPhraseElement_INTERFACE_DEFINED__
  2796. /* interface ISpeechPhraseElement */
  2797. /* [unique][helpstring][dual][uuid][object] */ 
  2798. EXTERN_C const IID IID_ISpeechPhraseElement;
  2799. #if defined(__cplusplus) && !defined(CINTERFACE)
  2800.     
  2801.     MIDL_INTERFACE("E6176F96-E373-4801-B223-3B62C068C0B4")
  2802.     ISpeechPhraseElement : public IDispatch
  2803.     {
  2804.     public:
  2805.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioTimeOffset( 
  2806.             /* [retval][out] */ long *AudioTimeOffset) = 0;
  2807.         
  2808.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioSizeTime( 
  2809.             /* [retval][out] */ long *AudioSizeTime) = 0;
  2810.         
  2811.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioStreamOffset( 
  2812.             /* [retval][out] */ long *AudioStreamOffset) = 0;
  2813.         
  2814.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AudioSizeBytes( 
  2815.             /* [retval][out] */ long *AudioSizeBytes) = 0;
  2816.         
  2817.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RetainedStreamOffset( 
  2818.             /* [retval][out] */ long *RetainedStreamOffset) = 0;
  2819.         
  2820.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RetainedSizeBytes( 
  2821.             /* [retval][out] */ long *RetainedSizeBytes) = 0;
  2822.         
  2823.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayText( 
  2824.             /* [retval][out] */ BSTR *DisplayText) = 0;
  2825.         
  2826.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LexicalForm( 
  2827.             /* [retval][out] */ BSTR *LexicalForm) = 0;
  2828.         
  2829.         virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Pronunciation(