blob: 5f42df218bcb4ac60706775959ac68ea1a0adb22 [file] [log] [blame]
/*** Autogenerated by WIDL 6.3 from include/sapi53.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __sapi53_h__
#define __sapi53_h__
/* Forward declarations */
#ifndef __ISpNotifySource_FWD_DEFINED__
#define __ISpNotifySource_FWD_DEFINED__
typedef interface ISpNotifySource ISpNotifySource;
#ifdef __cplusplus
interface ISpNotifySource;
#endif /* __cplusplus */
#endif
#ifndef __ISpNotifySink_FWD_DEFINED__
#define __ISpNotifySink_FWD_DEFINED__
typedef interface ISpNotifySink ISpNotifySink;
#ifdef __cplusplus
interface ISpNotifySink;
#endif /* __cplusplus */
#endif
#ifndef __ISpNotifyTranslator_FWD_DEFINED__
#define __ISpNotifyTranslator_FWD_DEFINED__
typedef interface ISpNotifyTranslator ISpNotifyTranslator;
#ifdef __cplusplus
interface ISpNotifyTranslator;
#endif /* __cplusplus */
#endif
#ifndef __ISpDataKey_FWD_DEFINED__
#define __ISpDataKey_FWD_DEFINED__
typedef interface ISpDataKey ISpDataKey;
#ifdef __cplusplus
interface ISpDataKey;
#endif /* __cplusplus */
#endif
#ifndef __ISpObjectWithToken_FWD_DEFINED__
#define __ISpObjectWithToken_FWD_DEFINED__
typedef interface ISpObjectWithToken ISpObjectWithToken;
#ifdef __cplusplus
interface ISpObjectWithToken;
#endif /* __cplusplus */
#endif
#ifndef __IEnumSpObjectTokens_FWD_DEFINED__
#define __IEnumSpObjectTokens_FWD_DEFINED__
typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
#ifdef __cplusplus
interface IEnumSpObjectTokens;
#endif /* __cplusplus */
#endif
#ifndef __ISpRegDataKey_FWD_DEFINED__
#define __ISpRegDataKey_FWD_DEFINED__
typedef interface ISpRegDataKey ISpRegDataKey;
#ifdef __cplusplus
interface ISpRegDataKey;
#endif /* __cplusplus */
#endif
#ifndef __ISpObjectTokenCategory_FWD_DEFINED__
#define __ISpObjectTokenCategory_FWD_DEFINED__
typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
#ifdef __cplusplus
interface ISpObjectTokenCategory;
#endif /* __cplusplus */
#endif
#ifndef __ISpObjectToken_FWD_DEFINED__
#define __ISpObjectToken_FWD_DEFINED__
typedef interface ISpObjectToken ISpObjectToken;
#ifdef __cplusplus
interface ISpObjectToken;
#endif /* __cplusplus */
#endif
#ifndef __ISpObjectTokenInit_FWD_DEFINED__
#define __ISpObjectTokenInit_FWD_DEFINED__
typedef interface ISpObjectTokenInit ISpObjectTokenInit;
#ifdef __cplusplus
interface ISpObjectTokenInit;
#endif /* __cplusplus */
#endif
#ifndef __ISpResourceManager_FWD_DEFINED__
#define __ISpResourceManager_FWD_DEFINED__
typedef interface ISpResourceManager ISpResourceManager;
#ifdef __cplusplus
interface ISpResourceManager;
#endif /* __cplusplus */
#endif
#ifndef __ISpEventSource_FWD_DEFINED__
#define __ISpEventSource_FWD_DEFINED__
typedef interface ISpEventSource ISpEventSource;
#ifdef __cplusplus
interface ISpEventSource;
#endif /* __cplusplus */
#endif
#ifndef __ISpEventSource2_FWD_DEFINED__
#define __ISpEventSource2_FWD_DEFINED__
typedef interface ISpEventSource2 ISpEventSource2;
#ifdef __cplusplus
interface ISpEventSource2;
#endif /* __cplusplus */
#endif
#ifndef __ISpEventSink_FWD_DEFINED__
#define __ISpEventSink_FWD_DEFINED__
typedef interface ISpEventSink ISpEventSink;
#ifdef __cplusplus
interface ISpEventSink;
#endif /* __cplusplus */
#endif
#ifndef __ISpStreamFormat_FWD_DEFINED__
#define __ISpStreamFormat_FWD_DEFINED__
typedef interface ISpStreamFormat ISpStreamFormat;
#ifdef __cplusplus
interface ISpStreamFormat;
#endif /* __cplusplus */
#endif
#ifndef __ISpStream_FWD_DEFINED__
#define __ISpStream_FWD_DEFINED__
typedef interface ISpStream ISpStream;
#ifdef __cplusplus
interface ISpStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpStreamFormatConverter_FWD_DEFINED__
#define __ISpStreamFormatConverter_FWD_DEFINED__
typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
#ifdef __cplusplus
interface ISpStreamFormatConverter;
#endif /* __cplusplus */
#endif
#ifndef __ISpAudio_FWD_DEFINED__
#define __ISpAudio_FWD_DEFINED__
typedef interface ISpAudio ISpAudio;
#ifdef __cplusplus
interface ISpAudio;
#endif /* __cplusplus */
#endif
#ifndef __ISpMMSysAudio_FWD_DEFINED__
#define __ISpMMSysAudio_FWD_DEFINED__
typedef interface ISpMMSysAudio ISpMMSysAudio;
#ifdef __cplusplus
interface ISpMMSysAudio;
#endif /* __cplusplus */
#endif
#ifndef __ISpTranscript_FWD_DEFINED__
#define __ISpTranscript_FWD_DEFINED__
typedef interface ISpTranscript ISpTranscript;
#ifdef __cplusplus
interface ISpTranscript;
#endif /* __cplusplus */
#endif
#ifndef __ISpLexicon_FWD_DEFINED__
#define __ISpLexicon_FWD_DEFINED__
typedef interface ISpLexicon ISpLexicon;
#ifdef __cplusplus
interface ISpLexicon;
#endif /* __cplusplus */
#endif
#ifndef __ISpContainerLexicon_FWD_DEFINED__
#define __ISpContainerLexicon_FWD_DEFINED__
typedef interface ISpContainerLexicon ISpContainerLexicon;
#ifdef __cplusplus
interface ISpContainerLexicon;
#endif /* __cplusplus */
#endif
#ifndef __ISpShortcut_FWD_DEFINED__
#define __ISpShortcut_FWD_DEFINED__
typedef interface ISpShortcut ISpShortcut;
#ifdef __cplusplus
interface ISpShortcut;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhoneConverter_FWD_DEFINED__
#define __ISpPhoneConverter_FWD_DEFINED__
typedef interface ISpPhoneConverter ISpPhoneConverter;
#ifdef __cplusplus
interface ISpPhoneConverter;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhoneticAlphabetConverter_FWD_DEFINED__
#define __ISpPhoneticAlphabetConverter_FWD_DEFINED__
typedef interface ISpPhoneticAlphabetConverter ISpPhoneticAlphabetConverter;
#ifdef __cplusplus
interface ISpPhoneticAlphabetConverter;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhoneticAlphabetSelection_FWD_DEFINED__
#define __ISpPhoneticAlphabetSelection_FWD_DEFINED__
typedef interface ISpPhoneticAlphabetSelection ISpPhoneticAlphabetSelection;
#ifdef __cplusplus
interface ISpPhoneticAlphabetSelection;
#endif /* __cplusplus */
#endif
#ifndef __ISpVoice_FWD_DEFINED__
#define __ISpVoice_FWD_DEFINED__
typedef interface ISpVoice ISpVoice;
#ifdef __cplusplus
interface ISpVoice;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhrase_FWD_DEFINED__
#define __ISpPhrase_FWD_DEFINED__
typedef interface ISpPhrase ISpPhrase;
#ifdef __cplusplus
interface ISpPhrase;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhraseAlt_FWD_DEFINED__
#define __ISpPhraseAlt_FWD_DEFINED__
typedef interface ISpPhraseAlt ISpPhraseAlt;
#ifdef __cplusplus
interface ISpPhraseAlt;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhrase2_FWD_DEFINED__
#define __ISpPhrase2_FWD_DEFINED__
typedef interface ISpPhrase2 ISpPhrase2;
#ifdef __cplusplus
interface ISpPhrase2;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoResult_FWD_DEFINED__
#define __ISpRecoResult_FWD_DEFINED__
typedef interface ISpRecoResult ISpRecoResult;
#ifdef __cplusplus
interface ISpRecoResult;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoResult2_FWD_DEFINED__
#define __ISpRecoResult2_FWD_DEFINED__
typedef interface ISpRecoResult2 ISpRecoResult2;
#ifdef __cplusplus
interface ISpRecoResult2;
#endif /* __cplusplus */
#endif
#ifndef __ISpXMLRecoResult_FWD_DEFINED__
#define __ISpXMLRecoResult_FWD_DEFINED__
typedef interface ISpXMLRecoResult ISpXMLRecoResult;
#ifdef __cplusplus
interface ISpXMLRecoResult;
#endif /* __cplusplus */
#endif
#ifndef __ISpGrammarBuilder_FWD_DEFINED__
#define __ISpGrammarBuilder_FWD_DEFINED__
typedef interface ISpGrammarBuilder ISpGrammarBuilder;
#ifdef __cplusplus
interface ISpGrammarBuilder;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoGrammar_FWD_DEFINED__
#define __ISpRecoGrammar_FWD_DEFINED__
typedef interface ISpRecoGrammar ISpRecoGrammar;
#ifdef __cplusplus
interface ISpRecoGrammar;
#endif /* __cplusplus */
#endif
#ifndef __ISpGrammarBuilder2_FWD_DEFINED__
#define __ISpGrammarBuilder2_FWD_DEFINED__
typedef interface ISpGrammarBuilder2 ISpGrammarBuilder2;
#ifdef __cplusplus
interface ISpGrammarBuilder2;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoGrammar2_FWD_DEFINED__
#define __ISpRecoGrammar2_FWD_DEFINED__
typedef interface ISpRecoGrammar2 ISpRecoGrammar2;
#ifdef __cplusplus
interface ISpRecoGrammar2;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechResourceLoader_FWD_DEFINED__
#define __ISpeechResourceLoader_FWD_DEFINED__
typedef interface ISpeechResourceLoader ISpeechResourceLoader;
#ifdef __cplusplus
interface ISpeechResourceLoader;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoContext_FWD_DEFINED__
#define __ISpRecoContext_FWD_DEFINED__
typedef interface ISpRecoContext ISpRecoContext;
#ifdef __cplusplus
interface ISpRecoContext;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoContext2_FWD_DEFINED__
#define __ISpRecoContext2_FWD_DEFINED__
typedef interface ISpRecoContext2 ISpRecoContext2;
#ifdef __cplusplus
interface ISpRecoContext2;
#endif /* __cplusplus */
#endif
#ifndef __ISpProperties_FWD_DEFINED__
#define __ISpProperties_FWD_DEFINED__
typedef interface ISpProperties ISpProperties;
#ifdef __cplusplus
interface ISpProperties;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecognizer_FWD_DEFINED__
#define __ISpRecognizer_FWD_DEFINED__
typedef interface ISpRecognizer ISpRecognizer;
#ifdef __cplusplus
interface ISpRecognizer;
#endif /* __cplusplus */
#endif
#ifndef __ISpSerializeState_FWD_DEFINED__
#define __ISpSerializeState_FWD_DEFINED__
typedef interface ISpSerializeState ISpSerializeState;
#ifdef __cplusplus
interface ISpSerializeState;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecognizer2_FWD_DEFINED__
#define __ISpRecognizer2_FWD_DEFINED__
typedef interface ISpRecognizer2 ISpRecognizer2;
#ifdef __cplusplus
interface ISpRecognizer2;
#endif /* __cplusplus */
#endif
#ifndef __ISpEnginePronunciation_FWD_DEFINED__
#define __ISpEnginePronunciation_FWD_DEFINED__
typedef interface ISpEnginePronunciation ISpEnginePronunciation;
#ifdef __cplusplus
interface ISpEnginePronunciation;
#endif /* __cplusplus */
#endif
#ifndef __ISpDisplayAlternates_FWD_DEFINED__
#define __ISpDisplayAlternates_FWD_DEFINED__
typedef interface ISpDisplayAlternates ISpDisplayAlternates;
#ifdef __cplusplus
interface ISpDisplayAlternates;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechDataKey_FWD_DEFINED__
#define __ISpeechDataKey_FWD_DEFINED__
typedef interface ISpeechDataKey ISpeechDataKey;
#ifdef __cplusplus
interface ISpeechDataKey;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechObjectToken_FWD_DEFINED__
#define __ISpeechObjectToken_FWD_DEFINED__
typedef interface ISpeechObjectToken ISpeechObjectToken;
#ifdef __cplusplus
interface ISpeechObjectToken;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechObjectTokens_FWD_DEFINED__
#define __ISpeechObjectTokens_FWD_DEFINED__
typedef interface ISpeechObjectTokens ISpeechObjectTokens;
#ifdef __cplusplus
interface ISpeechObjectTokens;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
#define __ISpeechObjectTokenCategory_FWD_DEFINED__
typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
#ifdef __cplusplus
interface ISpeechObjectTokenCategory;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechAudioFormat_FWD_DEFINED__
#define __ISpeechAudioFormat_FWD_DEFINED__
typedef interface ISpeechAudioFormat ISpeechAudioFormat;
#ifdef __cplusplus
interface ISpeechAudioFormat;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechBaseStream_FWD_DEFINED__
#define __ISpeechBaseStream_FWD_DEFINED__
typedef interface ISpeechBaseStream ISpeechBaseStream;
#ifdef __cplusplus
interface ISpeechBaseStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechAudio_FWD_DEFINED__
#define __ISpeechAudio_FWD_DEFINED__
typedef interface ISpeechAudio ISpeechAudio;
#ifdef __cplusplus
interface ISpeechAudio;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechMMSysAudio_FWD_DEFINED__
#define __ISpeechMMSysAudio_FWD_DEFINED__
typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
#ifdef __cplusplus
interface ISpeechMMSysAudio;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechFileStream_FWD_DEFINED__
#define __ISpeechFileStream_FWD_DEFINED__
typedef interface ISpeechFileStream ISpeechFileStream;
#ifdef __cplusplus
interface ISpeechFileStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechCustomStream_FWD_DEFINED__
#define __ISpeechCustomStream_FWD_DEFINED__
typedef interface ISpeechCustomStream ISpeechCustomStream;
#ifdef __cplusplus
interface ISpeechCustomStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechMemoryStream_FWD_DEFINED__
#define __ISpeechMemoryStream_FWD_DEFINED__
typedef interface ISpeechMemoryStream ISpeechMemoryStream;
#ifdef __cplusplus
interface ISpeechMemoryStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechAudioStatus_FWD_DEFINED__
#define __ISpeechAudioStatus_FWD_DEFINED__
typedef interface ISpeechAudioStatus ISpeechAudioStatus;
#ifdef __cplusplus
interface ISpeechAudioStatus;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
#define __ISpeechAudioBufferInfo_FWD_DEFINED__
typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
#ifdef __cplusplus
interface ISpeechAudioBufferInfo;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
#define __ISpeechWaveFormatEx_FWD_DEFINED__
typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
#ifdef __cplusplus
interface ISpeechWaveFormatEx;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechVoice_FWD_DEFINED__
#define __ISpeechVoice_FWD_DEFINED__
typedef interface ISpeechVoice ISpeechVoice;
#ifdef __cplusplus
interface ISpeechVoice;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechVoiceStatus_FWD_DEFINED__
#define __ISpeechVoiceStatus_FWD_DEFINED__
typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
#ifdef __cplusplus
interface ISpeechVoiceStatus;
#endif /* __cplusplus */
#endif
#ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
#define ___ISpeechVoiceEvents_FWD_DEFINED__
typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
#ifdef __cplusplus
interface _ISpeechVoiceEvents;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecognizer_FWD_DEFINED__
#define __ISpeechRecognizer_FWD_DEFINED__
typedef interface ISpeechRecognizer ISpeechRecognizer;
#ifdef __cplusplus
interface ISpeechRecognizer;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
#define __ISpeechRecognizerStatus_FWD_DEFINED__
typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
#ifdef __cplusplus
interface ISpeechRecognizerStatus;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoContext_FWD_DEFINED__
#define __ISpeechRecoContext_FWD_DEFINED__
typedef interface ISpeechRecoContext ISpeechRecoContext;
#ifdef __cplusplus
interface ISpeechRecoContext;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoGrammar_FWD_DEFINED__
#define __ISpeechRecoGrammar_FWD_DEFINED__
typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
#ifdef __cplusplus
interface ISpeechRecoGrammar;
#endif /* __cplusplus */
#endif
#ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
#define ___ISpeechRecoContextEvents_FWD_DEFINED__
typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
#ifdef __cplusplus
interface _ISpeechRecoContextEvents;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRule_FWD_DEFINED__
#define __ISpeechGrammarRule_FWD_DEFINED__
typedef interface ISpeechGrammarRule ISpeechGrammarRule;
#ifdef __cplusplus
interface ISpeechGrammarRule;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRules_FWD_DEFINED__
#define __ISpeechGrammarRules_FWD_DEFINED__
typedef interface ISpeechGrammarRules ISpeechGrammarRules;
#ifdef __cplusplus
interface ISpeechGrammarRules;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
#define __ISpeechGrammarRuleState_FWD_DEFINED__
typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
#ifdef __cplusplus
interface ISpeechGrammarRuleState;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
#define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
#ifdef __cplusplus
interface ISpeechGrammarRuleStateTransitions;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
#define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
#ifdef __cplusplus
interface ISpeechGrammarRuleStateTransition;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
#define __ISpeechTextSelectionInformation_FWD_DEFINED__
typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
#ifdef __cplusplus
interface ISpeechTextSelectionInformation;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoResult_FWD_DEFINED__
#define __ISpeechRecoResult_FWD_DEFINED__
typedef interface ISpeechRecoResult ISpeechRecoResult;
#ifdef __cplusplus
interface ISpeechRecoResult;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechXMLRecoResult_FWD_DEFINED__
#define __ISpeechXMLRecoResult_FWD_DEFINED__
typedef interface ISpeechXMLRecoResult ISpeechXMLRecoResult;
#ifdef __cplusplus
interface ISpeechXMLRecoResult;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoResult2_FWD_DEFINED__
#define __ISpeechRecoResult2_FWD_DEFINED__
typedef interface ISpeechRecoResult2 ISpeechRecoResult2;
#ifdef __cplusplus
interface ISpeechRecoResult2;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoResultDispatch_FWD_DEFINED__
#define __ISpeechRecoResultDispatch_FWD_DEFINED__
typedef interface ISpeechRecoResultDispatch ISpeechRecoResultDispatch;
#ifdef __cplusplus
interface ISpeechRecoResultDispatch;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseInfoBuilder_FWD_DEFINED__
#define __ISpeechPhraseInfoBuilder_FWD_DEFINED__
typedef interface ISpeechPhraseInfoBuilder ISpeechPhraseInfoBuilder;
#ifdef __cplusplus
interface ISpeechPhraseInfoBuilder;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
#define __ISpeechRecoResultTimes_FWD_DEFINED__
typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
#ifdef __cplusplus
interface ISpeechRecoResultTimes;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
#define __ISpeechPhraseAlternate_FWD_DEFINED__
typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
#ifdef __cplusplus
interface ISpeechPhraseAlternate;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
#define __ISpeechPhraseAlternates_FWD_DEFINED__
typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
#ifdef __cplusplus
interface ISpeechPhraseAlternates;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseInfo_FWD_DEFINED__
#define __ISpeechPhraseInfo_FWD_DEFINED__
typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
#ifdef __cplusplus
interface ISpeechPhraseInfo;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseElement_FWD_DEFINED__
#define __ISpeechPhraseElement_FWD_DEFINED__
typedef interface ISpeechPhraseElement ISpeechPhraseElement;
#ifdef __cplusplus
interface ISpeechPhraseElement;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseElements_FWD_DEFINED__
#define __ISpeechPhraseElements_FWD_DEFINED__
typedef interface ISpeechPhraseElements ISpeechPhraseElements;
#ifdef __cplusplus
interface ISpeechPhraseElements;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
#define __ISpeechPhraseReplacement_FWD_DEFINED__
typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
#ifdef __cplusplus
interface ISpeechPhraseReplacement;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
#define __ISpeechPhraseReplacements_FWD_DEFINED__
typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
#ifdef __cplusplus
interface ISpeechPhraseReplacements;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseProperty_FWD_DEFINED__
#define __ISpeechPhraseProperty_FWD_DEFINED__
typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
#ifdef __cplusplus
interface ISpeechPhraseProperty;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseProperties_FWD_DEFINED__
#define __ISpeechPhraseProperties_FWD_DEFINED__
typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
#ifdef __cplusplus
interface ISpeechPhraseProperties;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseRule_FWD_DEFINED__
#define __ISpeechPhraseRule_FWD_DEFINED__
typedef interface ISpeechPhraseRule ISpeechPhraseRule;
#ifdef __cplusplus
interface ISpeechPhraseRule;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseRules_FWD_DEFINED__
#define __ISpeechPhraseRules_FWD_DEFINED__
typedef interface ISpeechPhraseRules ISpeechPhraseRules;
#ifdef __cplusplus
interface ISpeechPhraseRules;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexiconWords_FWD_DEFINED__
#define __ISpeechLexiconWords_FWD_DEFINED__
typedef interface ISpeechLexiconWords ISpeechLexiconWords;
#ifdef __cplusplus
interface ISpeechLexiconWords;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexicon_FWD_DEFINED__
#define __ISpeechLexicon_FWD_DEFINED__
typedef interface ISpeechLexicon ISpeechLexicon;
#ifdef __cplusplus
interface ISpeechLexicon;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexiconWord_FWD_DEFINED__
#define __ISpeechLexiconWord_FWD_DEFINED__
typedef interface ISpeechLexiconWord ISpeechLexiconWord;
#ifdef __cplusplus
interface ISpeechLexiconWord;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
#define __ISpeechLexiconPronunciations_FWD_DEFINED__
typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
#ifdef __cplusplus
interface ISpeechLexiconPronunciations;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
#define __ISpeechLexiconPronunciation_FWD_DEFINED__
typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
#ifdef __cplusplus
interface ISpeechLexiconPronunciation;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhoneConverter_FWD_DEFINED__
#define __ISpeechPhoneConverter_FWD_DEFINED__
typedef interface ISpeechPhoneConverter ISpeechPhoneConverter;
#ifdef __cplusplus
interface ISpeechPhoneConverter;
#endif /* __cplusplus */
#endif
#ifndef __SpNotifyTranslator_FWD_DEFINED__
#define __SpNotifyTranslator_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpNotifyTranslator SpNotifyTranslator;
#else
typedef struct SpNotifyTranslator SpNotifyTranslator;
#endif /* defined __cplusplus */
#endif /* defined __SpNotifyTranslator_FWD_DEFINED__ */
#ifndef __SpObjectTokenCategory_FWD_DEFINED__
#define __SpObjectTokenCategory_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpObjectTokenCategory SpObjectTokenCategory;
#else
typedef struct SpObjectTokenCategory SpObjectTokenCategory;
#endif /* defined __cplusplus */
#endif /* defined __SpObjectTokenCategory_FWD_DEFINED__ */
#ifndef __SpObjectToken_FWD_DEFINED__
#define __SpObjectToken_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpObjectToken SpObjectToken;
#else
typedef struct SpObjectToken SpObjectToken;
#endif /* defined __cplusplus */
#endif /* defined __SpObjectToken_FWD_DEFINED__ */
#ifndef __SpResourceManager_FWD_DEFINED__
#define __SpResourceManager_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpResourceManager SpResourceManager;
#else
typedef struct SpResourceManager SpResourceManager;
#endif /* defined __cplusplus */
#endif /* defined __SpResourceManager_FWD_DEFINED__ */
#ifndef __SpStreamFormatConverter_FWD_DEFINED__
#define __SpStreamFormatConverter_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpStreamFormatConverter SpStreamFormatConverter;
#else
typedef struct SpStreamFormatConverter SpStreamFormatConverter;
#endif /* defined __cplusplus */
#endif /* defined __SpStreamFormatConverter_FWD_DEFINED__ */
#ifndef __SpMMAudioEnum_FWD_DEFINED__
#define __SpMMAudioEnum_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpMMAudioEnum SpMMAudioEnum;
#else
typedef struct SpMMAudioEnum SpMMAudioEnum;
#endif /* defined __cplusplus */
#endif /* defined __SpMMAudioEnum_FWD_DEFINED__ */
#ifndef __SpMMAudioIn_FWD_DEFINED__
#define __SpMMAudioIn_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpMMAudioIn SpMMAudioIn;
#else
typedef struct SpMMAudioIn SpMMAudioIn;
#endif /* defined __cplusplus */
#endif /* defined __SpMMAudioIn_FWD_DEFINED__ */
#ifndef __SpMMAudioOut_FWD_DEFINED__
#define __SpMMAudioOut_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpMMAudioOut SpMMAudioOut;
#else
typedef struct SpMMAudioOut SpMMAudioOut;
#endif /* defined __cplusplus */
#endif /* defined __SpMMAudioOut_FWD_DEFINED__ */
#ifndef __SpStream_FWD_DEFINED__
#define __SpStream_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpStream SpStream;
#else
typedef struct SpStream SpStream;
#endif /* defined __cplusplus */
#endif /* defined __SpStream_FWD_DEFINED__ */
#ifndef __SpVoice_FWD_DEFINED__
#define __SpVoice_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpVoice SpVoice;
#else
typedef struct SpVoice SpVoice;
#endif /* defined __cplusplus */
#endif /* defined __SpVoice_FWD_DEFINED__ */
#ifndef __SpSharedRecoContext_FWD_DEFINED__
#define __SpSharedRecoContext_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpSharedRecoContext SpSharedRecoContext;
#else
typedef struct SpSharedRecoContext SpSharedRecoContext;
#endif /* defined __cplusplus */
#endif /* defined __SpSharedRecoContext_FWD_DEFINED__ */
#ifndef __SpInprocRecognizer_FWD_DEFINED__
#define __SpInprocRecognizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpInprocRecognizer SpInprocRecognizer;
#else
typedef struct SpInprocRecognizer SpInprocRecognizer;
#endif /* defined __cplusplus */
#endif /* defined __SpInprocRecognizer_FWD_DEFINED__ */
#ifndef __SpSharedRecognizer_FWD_DEFINED__
#define __SpSharedRecognizer_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpSharedRecognizer SpSharedRecognizer;
#else
typedef struct SpSharedRecognizer SpSharedRecognizer;
#endif /* defined __cplusplus */
#endif /* defined __SpSharedRecognizer_FWD_DEFINED__ */
#ifndef __SpLexicon_FWD_DEFINED__
#define __SpLexicon_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpLexicon SpLexicon;
#else
typedef struct SpLexicon SpLexicon;
#endif /* defined __cplusplus */
#endif /* defined __SpLexicon_FWD_DEFINED__ */
#ifndef __SpUnCompressedLexicon_FWD_DEFINED__
#define __SpUnCompressedLexicon_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpUnCompressedLexicon SpUnCompressedLexicon;
#else
typedef struct SpUnCompressedLexicon SpUnCompressedLexicon;
#endif /* defined __cplusplus */
#endif /* defined __SpUnCompressedLexicon_FWD_DEFINED__ */
#ifndef __SpCompressedLexicon_FWD_DEFINED__
#define __SpCompressedLexicon_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpCompressedLexicon SpCompressedLexicon;
#else
typedef struct SpCompressedLexicon SpCompressedLexicon;
#endif /* defined __cplusplus */
#endif /* defined __SpCompressedLexicon_FWD_DEFINED__ */
#ifndef __SpShortcut_FWD_DEFINED__
#define __SpShortcut_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpShortcut SpShortcut;
#else
typedef struct SpShortcut SpShortcut;
#endif /* defined __cplusplus */
#endif /* defined __SpShortcut_FWD_DEFINED__ */
#ifndef __SpPhoneConverter_FWD_DEFINED__
#define __SpPhoneConverter_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpPhoneConverter SpPhoneConverter;
#else
typedef struct SpPhoneConverter SpPhoneConverter;
#endif /* defined __cplusplus */
#endif /* defined __SpPhoneConverter_FWD_DEFINED__ */
#ifndef __SpPhoneticAlphabetConverter_FWD_DEFINED__
#define __SpPhoneticAlphabetConverter_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpPhoneticAlphabetConverter SpPhoneticAlphabetConverter;
#else
typedef struct SpPhoneticAlphabetConverter SpPhoneticAlphabetConverter;
#endif /* defined __cplusplus */
#endif /* defined __SpPhoneticAlphabetConverter_FWD_DEFINED__ */
#ifndef __SpNullPhoneConverter_FWD_DEFINED__
#define __SpNullPhoneConverter_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpNullPhoneConverter SpNullPhoneConverter;
#else
typedef struct SpNullPhoneConverter SpNullPhoneConverter;
#endif /* defined __cplusplus */
#endif /* defined __SpNullPhoneConverter_FWD_DEFINED__ */
#ifndef __SpTextSelectionInformation_FWD_DEFINED__
#define __SpTextSelectionInformation_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpTextSelectionInformation SpTextSelectionInformation;
#else
typedef struct SpTextSelectionInformation SpTextSelectionInformation;
#endif /* defined __cplusplus */
#endif /* defined __SpTextSelectionInformation_FWD_DEFINED__ */
#ifndef __SpPhraseInfoBuilder_FWD_DEFINED__
#define __SpPhraseInfoBuilder_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpPhraseInfoBuilder SpPhraseInfoBuilder;
#else
typedef struct SpPhraseInfoBuilder SpPhraseInfoBuilder;
#endif /* defined __cplusplus */
#endif /* defined __SpPhraseInfoBuilder_FWD_DEFINED__ */
#ifndef __SpAudioFormat_FWD_DEFINED__
#define __SpAudioFormat_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpAudioFormat SpAudioFormat;
#else
typedef struct SpAudioFormat SpAudioFormat;
#endif /* defined __cplusplus */
#endif /* defined __SpAudioFormat_FWD_DEFINED__ */
#ifndef __SpWaveFormatEx_FWD_DEFINED__
#define __SpWaveFormatEx_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpWaveFormatEx SpWaveFormatEx;
#else
typedef struct SpWaveFormatEx SpWaveFormatEx;
#endif /* defined __cplusplus */
#endif /* defined __SpWaveFormatEx_FWD_DEFINED__ */
#ifndef __SpInProcRecoContext_FWD_DEFINED__
#define __SpInProcRecoContext_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpInProcRecoContext SpInProcRecoContext;
#else
typedef struct SpInProcRecoContext SpInProcRecoContext;
#endif /* defined __cplusplus */
#endif /* defined __SpInProcRecoContext_FWD_DEFINED__ */
#ifndef __SpCustomStream_FWD_DEFINED__
#define __SpCustomStream_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpCustomStream SpCustomStream;
#else
typedef struct SpCustomStream SpCustomStream;
#endif /* defined __cplusplus */
#endif /* defined __SpCustomStream_FWD_DEFINED__ */
#ifndef __SpFileStream_FWD_DEFINED__
#define __SpFileStream_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpFileStream SpFileStream;
#else
typedef struct SpFileStream SpFileStream;
#endif /* defined __cplusplus */
#endif /* defined __SpFileStream_FWD_DEFINED__ */
#ifndef __SpMemoryStream_FWD_DEFINED__
#define __SpMemoryStream_FWD_DEFINED__
#ifdef __cplusplus
typedef class SpMemoryStream SpMemoryStream;
#else
typedef struct SpMemoryStream SpMemoryStream;
#endif /* defined __cplusplus */
#endif /* defined __SpMemoryStream_FWD_DEFINED__ */
/* Headers for imported files */
#include <oaidl.h>
#include <ocidl.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _SAPI_VER
#error "you have to include <sapi.h> header before this."
#endif
#if 0
typedef struct WAVEFORMATEX {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
} WAVEFORMATEX;
#endif
#ifndef __ISpNotifySource_FWD_DEFINED__
#define __ISpNotifySource_FWD_DEFINED__
typedef interface ISpNotifySource ISpNotifySource;
#ifdef __cplusplus
interface ISpNotifySource;
#endif /* __cplusplus */
#endif
#ifndef __ISpNotifySink_FWD_DEFINED__
#define __ISpNotifySink_FWD_DEFINED__
typedef interface ISpNotifySink ISpNotifySink;
#ifdef __cplusplus
interface ISpNotifySink;
#endif /* __cplusplus */
#endif
#ifndef __ISpNotifyTranslator_FWD_DEFINED__
#define __ISpNotifyTranslator_FWD_DEFINED__
typedef interface ISpNotifyTranslator ISpNotifyTranslator;
#ifdef __cplusplus
interface ISpNotifyTranslator;
#endif /* __cplusplus */
#endif
#ifndef __ISpDataKey_FWD_DEFINED__
#define __ISpDataKey_FWD_DEFINED__
typedef interface ISpDataKey ISpDataKey;
#ifdef __cplusplus
interface ISpDataKey;
#endif /* __cplusplus */
#endif
#ifndef __ISpObjectTokenCategory_FWD_DEFINED__
#define __ISpObjectTokenCategory_FWD_DEFINED__
typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
#ifdef __cplusplus
interface ISpObjectTokenCategory;
#endif /* __cplusplus */
#endif
#ifndef __ISpObjectToken_FWD_DEFINED__
#define __ISpObjectToken_FWD_DEFINED__
typedef interface ISpObjectToken ISpObjectToken;
#ifdef __cplusplus
interface ISpObjectToken;
#endif /* __cplusplus */
#endif
#ifndef __IEnumSpObjectTokens_FWD_DEFINED__
#define __IEnumSpObjectTokens_FWD_DEFINED__
typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
#ifdef __cplusplus
interface IEnumSpObjectTokens;
#endif /* __cplusplus */
#endif
#ifndef __ISpObjectWithToken_FWD_DEFINED__
#define __ISpObjectWithToken_FWD_DEFINED__
typedef interface ISpObjectWithToken ISpObjectWithToken;
#ifdef __cplusplus
interface ISpObjectWithToken;
#endif /* __cplusplus */
#endif
#ifndef __ISpResourceManager_FWD_DEFINED__
#define __ISpResourceManager_FWD_DEFINED__
typedef interface ISpResourceManager ISpResourceManager;
#ifdef __cplusplus
interface ISpResourceManager;
#endif /* __cplusplus */
#endif
#ifndef __ISpEventSource_FWD_DEFINED__
#define __ISpEventSource_FWD_DEFINED__
typedef interface ISpEventSource ISpEventSource;
#ifdef __cplusplus
interface ISpEventSource;
#endif /* __cplusplus */
#endif
#ifndef __ISpEventSink_FWD_DEFINED__
#define __ISpEventSink_FWD_DEFINED__
typedef interface ISpEventSink ISpEventSink;
#ifdef __cplusplus
interface ISpEventSink;
#endif /* __cplusplus */
#endif
#ifndef __ISpStreamFormat_FWD_DEFINED__
#define __ISpStreamFormat_FWD_DEFINED__
typedef interface ISpStreamFormat ISpStreamFormat;
#ifdef __cplusplus
interface ISpStreamFormat;
#endif /* __cplusplus */
#endif
#ifndef __ISpStream_FWD_DEFINED__
#define __ISpStream_FWD_DEFINED__
typedef interface ISpStream ISpStream;
#ifdef __cplusplus
interface ISpStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpStreamFormatConverter_FWD_DEFINED__
#define __ISpStreamFormatConverter_FWD_DEFINED__
typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
#ifdef __cplusplus
interface ISpStreamFormatConverter;
#endif /* __cplusplus */
#endif
#ifndef __ISpAudio_FWD_DEFINED__
#define __ISpAudio_FWD_DEFINED__
typedef interface ISpAudio ISpAudio;
#ifdef __cplusplus
interface ISpAudio;
#endif /* __cplusplus */
#endif
#ifndef __ISpMMSysAudio_FWD_DEFINED__
#define __ISpMMSysAudio_FWD_DEFINED__
typedef interface ISpMMSysAudio ISpMMSysAudio;
#ifdef __cplusplus
interface ISpMMSysAudio;
#endif /* __cplusplus */
#endif
#ifndef __ISpTranscript_FWD_DEFINED__
#define __ISpTranscript_FWD_DEFINED__
typedef interface ISpTranscript ISpTranscript;
#ifdef __cplusplus
interface ISpTranscript;
#endif /* __cplusplus */
#endif
#ifndef __ISpVoice_FWD_DEFINED__
#define __ISpVoice_FWD_DEFINED__
typedef interface ISpVoice ISpVoice;
#ifdef __cplusplus
interface ISpVoice;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoResult_FWD_DEFINED__
#define __ISpRecoResult_FWD_DEFINED__
typedef interface ISpRecoResult ISpRecoResult;
#ifdef __cplusplus
interface ISpRecoResult;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoContext_FWD_DEFINED__
#define __ISpRecoContext_FWD_DEFINED__
typedef interface ISpRecoContext ISpRecoContext;
#ifdef __cplusplus
interface ISpRecoContext;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecognizer_FWD_DEFINED__
#define __ISpRecognizer_FWD_DEFINED__
typedef interface ISpRecognizer ISpRecognizer;
#ifdef __cplusplus
interface ISpRecognizer;
#endif /* __cplusplus */
#endif
#ifndef __ISpProperties_FWD_DEFINED__
#define __ISpProperties_FWD_DEFINED__
typedef interface ISpProperties ISpProperties;
#ifdef __cplusplus
interface ISpProperties;
#endif /* __cplusplus */
#endif
#ifndef __ISpLexicon_FWD_DEFINED__
#define __ISpLexicon_FWD_DEFINED__
typedef interface ISpLexicon ISpLexicon;
#ifdef __cplusplus
interface ISpLexicon;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhoneConverter_FWD_DEFINED__
#define __ISpPhoneConverter_FWD_DEFINED__
typedef interface ISpPhoneConverter ISpPhoneConverter;
#ifdef __cplusplus
interface ISpPhoneConverter;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhrase_FWD_DEFINED__
#define __ISpPhrase_FWD_DEFINED__
typedef interface ISpPhrase ISpPhrase;
#ifdef __cplusplus
interface ISpPhrase;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoContext2_FWD_DEFINED__
#define __ISpRecoContext2_FWD_DEFINED__
typedef interface ISpRecoContext2 ISpRecoContext2;
#ifdef __cplusplus
interface ISpRecoContext2;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecognizer2_FWD_DEFINED__
#define __ISpRecognizer2_FWD_DEFINED__
typedef interface ISpRecognizer2 ISpRecognizer2;
#ifdef __cplusplus
interface ISpRecognizer2;
#endif /* __cplusplus */
#endif
#ifndef __ISpShortcut_FWD_DEFINED__
#define __ISpShortcut_FWD_DEFINED__
typedef interface ISpShortcut ISpShortcut;
#ifdef __cplusplus
interface ISpShortcut;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhoneticAlphabetConverter_FWD_DEFINED__
#define __ISpPhoneticAlphabetConverter_FWD_DEFINED__
typedef interface ISpPhoneticAlphabetConverter ISpPhoneticAlphabetConverter;
#ifdef __cplusplus
interface ISpPhoneticAlphabetConverter;
#endif /* __cplusplus */
#endif
#ifndef __ISpPhoneticAlphabetSelection_FWD_DEFINED__
#define __ISpPhoneticAlphabetSelection_FWD_DEFINED__
typedef interface ISpPhoneticAlphabetSelection ISpPhoneticAlphabetSelection;
#ifdef __cplusplus
interface ISpPhoneticAlphabetSelection;
#endif /* __cplusplus */
#endif
#ifndef __ISpRecoGrammar2_FWD_DEFINED__
#define __ISpRecoGrammar2_FWD_DEFINED__
typedef interface ISpRecoGrammar2 ISpRecoGrammar2;
#ifdef __cplusplus
interface ISpRecoGrammar2;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechResourceLoader_FWD_DEFINED__
#define __ISpeechResourceLoader_FWD_DEFINED__
typedef interface ISpeechResourceLoader ISpeechResourceLoader;
#ifdef __cplusplus
interface ISpeechResourceLoader;
#endif /* __cplusplus */
#endif
typedef enum SPDATAKEYLOCATION {
SPDKL_DefaultLocation = 0,
SPDKL_CurrentUser = 1,
SPDKL_LocalMachine = 2,
SPDKL_CurrentConfig = 5
} SPDATAKEYLOCATION;
typedef enum SPSTREAMFORMAT {
SPSF_Default = -1,
SPSF_NoAssignedFormat = 0,
SPSF_Text = 1,
SPSF_NonStandardFormat = 2,
SPSF_ExtendedAudioFormat = 3,
SPSF_8kHz8BitMono = 4,
SPSF_8kHz8BitStereo = 5,
SPSF_8kHz16BitMono = 6,
SPSF_8kHz16BitStereo = 7,
SPSF_11kHz8BitMono = 8,
SPSF_11kHz8BitStereo = 9,
SPSF_11kHz16BitMono = 10,
SPSF_11kHz16BitStereo = 11,
SPSF_12kHz8BitMono = 12,
SPSF_12kHz8BitStereo = 13,
SPSF_12kHz16BitMono = 14,
SPSF_12kHz16BitStereo = 15,
SPSF_16kHz8BitMono = 16,
SPSF_16kHz8BitStereo = 17,
SPSF_16kHz16BitMono = 18,
SPSF_16kHz16BitStereo = 19,
SPSF_22kHz8BitMono = 20,
SPSF_22kHz8BitStereo = 21,
SPSF_22kHz16BitMono = 22,
SPSF_22kHz16BitStereo = 23,
SPSF_24kHz8BitMono = 24,
SPSF_24kHz8BitStereo = 25,
SPSF_24kHz16BitMono = 26,
SPSF_24kHz16BitStereo = 27,
SPSF_32kHz8BitMono = 28,
SPSF_32kHz8BitStereo = 29,
SPSF_32kHz16BitMono = 30,
SPSF_32kHz16BitStereo = 31,
SPSF_44kHz8BitMono = 32,
SPSF_44kHz8BitStereo = 33,
SPSF_44kHz16BitMono = 34,
SPSF_44kHz16BitStereo = 35,
SPSF_48kHz8BitMono = 36,
SPSF_48kHz8BitStereo = 37,
SPSF_48kHz16BitMono = 38,
SPSF_48kHz16BitStereo = 39,
SPSF_TrueSpeech_8kHz1BitMono = 40,
SPSF_CCITT_ALaw_8kHzMono = 41,
SPSF_CCITT_ALaw_8kHzStereo = 42,
SPSF_CCITT_ALaw_11kHzMono = 43,
SPSF_CCITT_ALaw_11kHzStereo = 44,
SPSF_CCITT_ALaw_22kHzMono = 45,
SPSF_CCITT_ALaw_22kHzStereo = 46,
SPSF_CCITT_ALaw_44kHzMono = 47,
SPSF_CCITT_ALaw_44kHzStereo = 48,
SPSF_CCITT_uLaw_8kHzMono = 49,
SPSF_CCITT_uLaw_8kHzStereo = 50,
SPSF_CCITT_uLaw_11kHzMono = 51,
SPSF_CCITT_uLaw_11kHzStereo = 52,
SPSF_CCITT_uLaw_22kHzMono = 53,
SPSF_CCITT_uLaw_22kHzStereo = 54,
SPSF_CCITT_uLaw_44kHzMono = 55,
SPSF_CCITT_uLaw_44kHzStereo = 56,
SPSF_ADPCM_8kHzMono = 57,
SPSF_ADPCM_8kHzStereo = 58,
SPSF_ADPCM_11kHzMono = 59,
SPSF_ADPCM_11kHzStereo = 60,
SPSF_ADPCM_22kHzMono = 61,
SPSF_ADPCM_22kHzStereo = 62,
SPSF_ADPCM_44kHzMono = 63,
SPSF_ADPCM_44kHzStereo = 64,
SPSF_GSM610_8kHzMono = 65,
SPSF_GSM610_11kHzMono = 66,
SPSF_GSM610_22kHzMono = 67,
SPSF_GSM610_44kHzMono = 68,
SPSF_NUM_FORMATS = 69
} SPSTREAMFORMAT;
typedef enum SPEVENTLPARAMTYPE {
SPET_LPARAM_IS_UNDEFINED = 0,
SPET_LPARAM_IS_TOKEN = 1,
SPET_LPARAM_IS_OBJECT = 2,
SPET_LPARAM_IS_POINTER = 3,
SPET_LPARAM_IS_STRING = 4
} SPEVENTLPARAMTYPE;
typedef enum SPEVENTENUM {
SPEI_UNDEFINED = 0,
SPEI_START_INPUT_STREAM = 1,
SPEI_END_INPUT_STREAM = 2,
SPEI_VOICE_CHANGE = 3,
SPEI_TTS_BOOKMARK = 4,
SPEI_WORD_BOUNDARY = 5,
SPEI_PHONEME = 6,
SPEI_SENTENCE_BOUNDARY = 7,
SPEI_VISEME = 8,
SPEI_TTS_AUDIO_LEVEL = 9,
SPEI_TTS_PRIVATE = 15,
SPEI_MIN_TTS = 1,
SPEI_MAX_TTS = 15,
SPEI_END_SR_STREAM = 34,
SPEI_SOUND_START = 35,
SPEI_SOUND_END = 36,
SPEI_PHRASE_START = 37,
SPEI_RECOGNITION = 38,
SPEI_HYPOTHESIS = 39,
SPEI_SR_BOOKMARK = 40,
SPEI_PROPERTY_NUM_CHANGE = 41,
SPEI_PROPERTY_STRING_CHANGE = 42,
SPEI_FALSE_RECOGNITION = 43,
SPEI_INTERFERENCE = 44,
SPEI_REQUEST_UI = 45,
SPEI_RECO_STATE_CHANGE = 46,
SPEI_ADAPTATION = 47,
SPEI_START_SR_STREAM = 48,
SPEI_RECO_OTHER_CONTEXT = 49,
SPEI_SR_AUDIO_LEVEL = 50,
SPEI_SR_RETAINEDAUDIO = 51,
SPEI_SR_PRIVATE = 52,
SPEI_RESERVED4 = 53,
SPEI_RESERVED5 = 54,
SPEI_RESERVED6 = 55,
SPEI_MIN_SR = 34,
SPEI_MAX_SR = 55,
SPEI_RESERVED1 = 30,
SPEI_RESERVED2 = 33,
SPEI_RESERVED3 = 63
} SPEVENTENUM;
typedef enum SPINTERFERENCE {
SPINTERFERENCE_NONE = 0,
SPINTERFERENCE_NOISE = 1,
SPINTERFERENCE_NOSIGNAL = 2,
SPINTERFERENCE_TOOLOUD = 3,
SPINTERFERENCE_TOOQUIET = 4,
SPINTERFERENCE_TOOFAST = 5,
SPINTERFERENCE_TOOSLOW = 6,
SPINTERFERENCE_LATENCY_WARNING = 7,
SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN = 8,
SPINTERFERENCE_LATENCY_TRUNCATE_END = 9
} SPINTERFERENCE;
typedef enum SPENDSRSTREAMFLAGS {
SPESF_NONE = 0,
SPESF_STREAM_RELEASED = 1,
SPESF_EMULATED = 2
} SPENDSRSTREAMFLAGS;
typedef enum SPVFEATURE {
SPVFEATURE_STRESSED = 1,
SPVFEATURE_EMPHASIS = 2
} SPVFEATURE;
typedef enum SPVISEMES {
SP_VISEME_0 = 0,
SP_VISEME_1 = 1,
SP_VISEME_2 = 2,
SP_VISEME_3 = 3,
SP_VISEME_4 = 4,
SP_VISEME_5 = 5,
SP_VISEME_6 = 6,
SP_VISEME_7 = 7,
SP_VISEME_8 = 8,
SP_VISEME_9 = 9,
SP_VISEME_10 = 10,
SP_VISEME_11 = 11,
SP_VISEME_12 = 12,
SP_VISEME_13 = 13,
SP_VISEME_14 = 14,
SP_VISEME_15 = 15,
SP_VISEME_16 = 16,
SP_VISEME_17 = 17,
SP_VISEME_18 = 18,
SP_VISEME_19 = 19,
SP_VISEME_20 = 20,
SP_VISEME_21 = 21
} SPVISEMES;
typedef enum SPFILEMODE {
SPFM_OPEN_READONLY = 0,
SPFM_OPEN_READWRITE = 1,
SPFM_CREATE = 2,
SPFM_CREATE_ALWAYS = 3,
SPFM_NUM_MODES = 4
} SPFILEMODE;
typedef enum _SPAUDIOSTATE {
SPAS_CLOSED = 0,
SPAS_STOP = 1,
SPAS_PAUSE = 2,
SPAS_RUN = 3
} SPAUDIOSTATE;
typedef enum SPDISPLYATTRIBUTES {
SPAF_ONE_TRAILING_SPACE = 0x2,
SPAF_TWO_TRAILING_SPACES = 0x4,
SPAF_CONSUME_LEADING_SPACES = 0x8,
SPAF_BUFFER_POSITION = 0x10,
SPAF_ALL = 0x1f,
SPAF_USER_SPECIFIED = 0x80
} SPDISPLAYATTRIBUTES;
typedef enum SPPHRASEPROPERTYUNIONTYPE {
SPPPUT_UNUSED = 0,
SPPPUT_ARRAY_INDEX = 1
} SPPHRASEPROPERTYUNIONTYPE;
typedef enum SPSEMANTICFORMAT {
SPSMF_SAPI_PROPERTIES = 0,
SPSMF_SRGS_SEMANTICINTERPRETATION_MS = 1,
SPSMF_SRGS_SAPIPROPERTIES = 2,
SPSMF_UPS = 4,
SPSMF_SRGS_SEMANTICINTERPRETATION_W3C = 8
} SPSEMANTICFORMAT;
typedef enum SPRECOEVENTFLAGS {
SPREF_AutoPause = 0x1,
SPREF_Emulated = 0x2,
SPREF_SMLTimeout = 0x4,
SPREF_ExtendableParse = 0x8,
SPREF_ReSent = 0x10,
SPREF_Hypothesis = 0x20,
SPREF_FalseRecognition = 0x40
} SPRECOEVENTFLAGS;
typedef enum SPPARTOFSPEECH {
SPPS_NotOverriden = -1,
SPPS_Unknown = 0,
SPPS_Noun = 0x1000,
SPPS_Verb = 0x2000,
SPPS_Modifier = 0x3000,
SPPS_Function = 0x4000,
SPPS_Interjection = 0x5000,
SPPS_Noncontent = 0x6000,
SPPS_LMA = 0x7000,
SPPS_SuppressWord = 0xf000
} SPPARTOFSPEECH;
typedef enum SPLEXICONTYPE {
eLEXTYPE_USER = 0x1,
eLEXTYPE_APP = 0x2,
eLEXTYPE_VENDORLEXICON = 0x4,
eLEXTYPE_LETTERTOSOUND = 0x8,
eLEXTYPE_MORPHOLOGY = 0x10,
eLEXTYPE_RESERVED4 = 0x20,
eLEXTYPE_USER_SHORTCUT = 0x40,
eLEXTYPE_RESERVED6 = 0x80,
eLEXTYPE_RESERVED7 = 0x100,
eLEXTYPE_RESERVED8 = 0x200,
eLEXTYPE_RESERVED9 = 0x400,
eLEXTYPE_RESERVED10 = 0x800,
eLEXTYPE_PRIVATE1 = 0x1000,
eLEXTYPE_PRIVATE2 = 0x2000,
eLEXTYPE_PRIVATE3 = 0x4000,
eLEXTYPE_PRIVATE4 = 0x8000,
eLEXTYPE_PRIVATE5 = 0x10000,
eLEXTYPE_PRIVATE6 = 0x20000,
eLEXTYPE_PRIVATE7 = 0x40000,
eLEXTYPE_PRIVATE8 = 0x80000,
eLEXTYPE_PRIVATE9 = 0x100000,
eLEXTYPE_PRIVATE10 = 0x200000,
eLEXTYPE_PRIVATE11 = 0x400000,
eLEXTYPE_PRIVATE12 = 0x800000,
eLEXTYPE_PRIVATE13 = 0x1000000,
eLEXTYPE_PRIVATE14 = 0x2000000,
eLEXTYPE_PRIVATE15 = 0x4000000,
eLEXTYPE_PRIVATE16 = 0x8000000,
eLEXTYPE_PRIVATE17 = 0x10000000,
eLEXTYPE_PRIVATE18 = 0x20000000,
eLEXTYPE_PRIVATE19 = 0x40000000,
eLEXTYPE_PRIVATE20 = 0x80000000
} SPLEXICONTYPE;
typedef enum SPWORDTYPE {
eWORDTYPE_ADDED = 1,
eWORDTYPE_DELETED = 2
} SPWORDTYPE;
typedef enum SPPRONUNCIATIONFLAGS {
ePRONFLAG_USED = 1
} SPPRONUNCIATIONFLAGS;
typedef enum SPSHORTCUTTYPE {
SPSHT_NotOverriden = -1,
SPSHT_Unknown = 0,
SPSHT_EMAIL = 0x1000,
SPSHT_OTHER = 0x2000,
SPPS_RESERVED1 = 0x3000,
SPPS_RESERVED2 = 0x4000,
SPPS_RESERVED3 = 0x5000,
SPPS_RESERVED4 = 0xf000
} SPSHORTCUTTYPE;
typedef enum SPVALUETYPE {
SPDF_PROPERTY = 0x1,
SPDF_REPLACEMENT = 0x2,
SPDF_RULE = 0x4,
SPDF_DISPLAYTEXT = 0x8,
SPDF_LEXICALFORM = 0x10,
SPDF_PRONUNCIATION = 0x20,
SPDF_AUDIO = 0x40,
SPDF_ALTERNATES = 0x80,
SPDF_ALL = 0xff
} SPVALUETYPE;
typedef enum SPPHRASERNG {
SPPR_ALL_ELEMENTS = -1
} SPPHRASERNG;
typedef enum SPVACTIONS {
SPVA_Speak = 0,
SPVA_Silence = 1,
SPVA_Pronounce = 2,
SPVA_Bookmark = 3,
SPVA_SpellOut = 4,
SPVA_Section = 5,
SPVA_ParseUnknownTag = 6
} SPVACTIONS;
typedef enum SPRUNSTATE {
SPRS_DONE = 1,
SPRS_IS_SPEAKING = 2
} SPRUNSTATE;
typedef enum SPVLIMITS {
SPMIN_VOLUME = 0,
SPMAX_VOLUME = 100,
SPMIN_RATE = -10,
SPMAX_RATE = 10
} SPVLIMITS;
typedef enum SPVPRIORITY {
SPVPRI_NORMAL = 0,
SPVPRI_ALERT = 1,
SPVPRI_OVER = 2
} SPVPRIORITY;
EXTERN_C const GUID SPDFID_Text;
EXTERN_C const GUID SPDFID_WaveFormatEx;
#define SP_LOW_CONFIDENCE (-1)
#define SP_NORMAL_CONFIDENCE (0)
#define SP_HIGH_CONFIDENCE (+1)
#define DEFAULT_WEIGHT (1)
#define SP_MAX_WORD_LENGTH (128)
#define SP_MAX_PRON_LENGTH (384)
#define SP_EMULATE_RESULT (0x40000000)
#ifdef __cplusplus
interface ISpNotifyCallback {
virtual HRESULT STDMETHODCALLTYPE NotifyCallback(WPARAM wParam, LPARAM lParam) = 0;
};
#else
typedef void *ISpNotifyCallback;
#endif
#if 0
typedef void *SPNOTIFYCALLBACK;
#else
typedef void __stdcall SPNOTIFYCALLBACK(WPARAM wParam, LPARAM lParam);
#endif
/*****************************************************************************
* ISpNotifySource interface
*/
#ifndef __ISpNotifySource_INTERFACE_DEFINED__
#define __ISpNotifySource_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpNotifySource, 0x5eff4aef, 0x8487, 0x11d2, 0x96,0x1c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5eff4aef-8487-11d2-961c-00c04f8ee628")
ISpNotifySource : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetNotifySink(
ISpNotifySink *pNotifySink) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNotifyWindowMessage(
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNotifyCallbackFunction(
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNotifyCallbackInterface(
ISpNotifyCallback *pSpCallback,
WPARAM wParam,
LPARAM lParam) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNotifyWin32Event(
) = 0;
virtual HRESULT STDMETHODCALLTYPE WaitForNotifyEvent(
DWORD dwMilliseconds) = 0;
virtual HANDLE STDMETHODCALLTYPE GetNotifyEventHandle(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpNotifySource, 0x5eff4aef, 0x8487, 0x11d2, 0x96,0x1c, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
#endif
#else
typedef struct ISpNotifySourceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpNotifySource *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpNotifySource *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpNotifySource *This);
/*** ISpNotifySource methods ***/
HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
ISpNotifySource *This,
ISpNotifySink *pNotifySink);
HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
ISpNotifySource *This,
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
ISpNotifySource *This,
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
ISpNotifySource *This,
ISpNotifyCallback *pSpCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
ISpNotifySource *This);
HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
ISpNotifySource *This,
DWORD dwMilliseconds);
HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
ISpNotifySource *This);
END_INTERFACE
} ISpNotifySourceVtbl;
interface ISpNotifySource {
CONST_VTBL ISpNotifySourceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpNotifySource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpNotifySource_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpNotifySource_Release(This) (This)->lpVtbl->Release(This)
/*** ISpNotifySource methods ***/
#define ISpNotifySource_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
#define ISpNotifySource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
#define ISpNotifySource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
#define ISpNotifySource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
#define ISpNotifySource_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
#define ISpNotifySource_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
#define ISpNotifySource_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpNotifySource_QueryInterface(ISpNotifySource* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpNotifySource_AddRef(ISpNotifySource* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpNotifySource_Release(ISpNotifySource* This) {
return This->lpVtbl->Release(This);
}
/*** ISpNotifySource methods ***/
static FORCEINLINE HRESULT ISpNotifySource_SetNotifySink(ISpNotifySource* This,ISpNotifySink *pNotifySink) {
return This->lpVtbl->SetNotifySink(This,pNotifySink);
}
static FORCEINLINE HRESULT ISpNotifySource_SetNotifyWindowMessage(ISpNotifySource* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
}
static FORCEINLINE HRESULT ISpNotifySource_SetNotifyCallbackFunction(ISpNotifySource* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpNotifySource_SetNotifyCallbackInterface(ISpNotifySource* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpNotifySource_SetNotifyWin32Event(ISpNotifySource* This) {
return This->lpVtbl->SetNotifyWin32Event(This);
}
static FORCEINLINE HRESULT ISpNotifySource_WaitForNotifyEvent(ISpNotifySource* This,DWORD dwMilliseconds) {
return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
}
static FORCEINLINE HANDLE ISpNotifySource_GetNotifyEventHandle(ISpNotifySource* This) {
return This->lpVtbl->GetNotifyEventHandle(This);
}
#endif
#endif
#endif
#endif /* __ISpNotifySource_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpNotifySink interface
*/
#ifndef __ISpNotifySink_INTERFACE_DEFINED__
#define __ISpNotifySink_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpNotifySink, 0x259684dc, 0x37c3, 0x11d2, 0x96,0x03, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("259684dc-37c3-11d2-9603-00c04f8ee628")
ISpNotifySink : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Notify(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpNotifySink, 0x259684dc, 0x37c3, 0x11d2, 0x96,0x03, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
#endif
#else
typedef struct ISpNotifySinkVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpNotifySink *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpNotifySink *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpNotifySink *This);
/*** ISpNotifySink methods ***/
HRESULT (STDMETHODCALLTYPE *Notify)(
ISpNotifySink *This);
END_INTERFACE
} ISpNotifySinkVtbl;
interface ISpNotifySink {
CONST_VTBL ISpNotifySinkVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpNotifySink_Release(This) (This)->lpVtbl->Release(This)
/*** ISpNotifySink methods ***/
#define ISpNotifySink_Notify(This) (This)->lpVtbl->Notify(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpNotifySink_QueryInterface(ISpNotifySink* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpNotifySink_AddRef(ISpNotifySink* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpNotifySink_Release(ISpNotifySink* This) {
return This->lpVtbl->Release(This);
}
/*** ISpNotifySink methods ***/
static FORCEINLINE HRESULT ISpNotifySink_Notify(ISpNotifySink* This) {
return This->lpVtbl->Notify(This);
}
#endif
#endif
#endif
#endif /* __ISpNotifySink_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpNotifyTranslator interface
*/
#ifndef __ISpNotifyTranslator_INTERFACE_DEFINED__
#define __ISpNotifyTranslator_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpNotifyTranslator, 0xaca16614, 0x5d3d, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("aca16614-5d3d-11d2-960e-00c04f8ee628")
ISpNotifyTranslator : public ISpNotifySink
{
virtual HRESULT STDMETHODCALLTYPE InitWindowMessage(
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam) = 0;
virtual HRESULT STDMETHODCALLTYPE InitCallback(
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam) = 0;
virtual HRESULT STDMETHODCALLTYPE InitSpNotifyCallback(
ISpNotifyCallback *pSpCallback,
WPARAM wParam,
LPARAM lParam) = 0;
virtual HRESULT STDMETHODCALLTYPE InitWin32Event(
HANDLE hEvent,
WINBOOL fCloseHandleOnRelease) = 0;
virtual HRESULT STDMETHODCALLTYPE Wait(
DWORD dwMilliseconds) = 0;
virtual HANDLE STDMETHODCALLTYPE GetEventHandle(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpNotifyTranslator, 0xaca16614, 0x5d3d, 0x11d2, 0x96,0x0e, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
#endif
#else
typedef struct ISpNotifyTranslatorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpNotifyTranslator *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpNotifyTranslator *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpNotifyTranslator *This);
/*** ISpNotifySink methods ***/
HRESULT (STDMETHODCALLTYPE *Notify)(
ISpNotifyTranslator *This);
/*** ISpNotifyTranslator methods ***/
HRESULT (STDMETHODCALLTYPE *InitWindowMessage)(
ISpNotifyTranslator *This,
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *InitCallback)(
ISpNotifyTranslator *This,
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *InitSpNotifyCallback)(
ISpNotifyTranslator *This,
ISpNotifyCallback *pSpCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *InitWin32Event)(
ISpNotifyTranslator *This,
HANDLE hEvent,
WINBOOL fCloseHandleOnRelease);
HRESULT (STDMETHODCALLTYPE *Wait)(
ISpNotifyTranslator *This,
DWORD dwMilliseconds);
HANDLE (STDMETHODCALLTYPE *GetEventHandle)(
ISpNotifyTranslator *This);
END_INTERFACE
} ISpNotifyTranslatorVtbl;
interface ISpNotifyTranslator {
CONST_VTBL ISpNotifyTranslatorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpNotifyTranslator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpNotifyTranslator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpNotifyTranslator_Release(This) (This)->lpVtbl->Release(This)
/*** ISpNotifySink methods ***/
#define ISpNotifyTranslator_Notify(This) (This)->lpVtbl->Notify(This)
/*** ISpNotifyTranslator methods ***/
#define ISpNotifyTranslator_InitWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->InitWindowMessage(This,hWnd,Msg,wParam,lParam)
#define ISpNotifyTranslator_InitCallback(This,pfnCallback,wParam,lParam) (This)->lpVtbl->InitCallback(This,pfnCallback,wParam,lParam)
#define ISpNotifyTranslator_InitSpNotifyCallback(This,pSpCallback,wParam,lParam) (This)->lpVtbl->InitSpNotifyCallback(This,pSpCallback,wParam,lParam)
#define ISpNotifyTranslator_InitWin32Event(This,hEvent,fCloseHandleOnRelease) (This)->lpVtbl->InitWin32Event(This,hEvent,fCloseHandleOnRelease)
#define ISpNotifyTranslator_Wait(This,dwMilliseconds) (This)->lpVtbl->Wait(This,dwMilliseconds)
#define ISpNotifyTranslator_GetEventHandle(This) (This)->lpVtbl->GetEventHandle(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpNotifyTranslator_QueryInterface(ISpNotifyTranslator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpNotifyTranslator_AddRef(ISpNotifyTranslator* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpNotifyTranslator_Release(ISpNotifyTranslator* This) {
return This->lpVtbl->Release(This);
}
/*** ISpNotifySink methods ***/
static FORCEINLINE HRESULT ISpNotifyTranslator_Notify(ISpNotifyTranslator* This) {
return This->lpVtbl->Notify(This);
}
/*** ISpNotifyTranslator methods ***/
static FORCEINLINE HRESULT ISpNotifyTranslator_InitWindowMessage(ISpNotifyTranslator* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->InitWindowMessage(This,hWnd,Msg,wParam,lParam);
}
static FORCEINLINE HRESULT ISpNotifyTranslator_InitCallback(ISpNotifyTranslator* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->InitCallback(This,pfnCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpNotifyTranslator_InitSpNotifyCallback(ISpNotifyTranslator* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->InitSpNotifyCallback(This,pSpCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpNotifyTranslator_InitWin32Event(ISpNotifyTranslator* This,HANDLE hEvent,WINBOOL fCloseHandleOnRelease) {
return This->lpVtbl->InitWin32Event(This,hEvent,fCloseHandleOnRelease);
}
static FORCEINLINE HRESULT ISpNotifyTranslator_Wait(ISpNotifyTranslator* This,DWORD dwMilliseconds) {
return This->lpVtbl->Wait(This,dwMilliseconds);
}
static FORCEINLINE HANDLE ISpNotifyTranslator_GetEventHandle(ISpNotifyTranslator* This) {
return This->lpVtbl->GetEventHandle(This);
}
#endif
#endif
#endif
#endif /* __ISpNotifyTranslator_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpDataKey interface
*/
#ifndef __ISpDataKey_INTERFACE_DEFINED__
#define __ISpDataKey_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpDataKey, 0x14056581, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("14056581-e16c-11d2-bb90-00c04f8ee6c0")
ISpDataKey : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetData(
LPCWSTR pszValueName,
ULONG cbData,
const BYTE *pData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetData(
LPCWSTR pszValueName,
ULONG *pcbData,
BYTE *pData) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStringValue(
LPCWSTR pszValueName,
LPCWSTR pszValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStringValue(
LPCWSTR pszValueName,
LPWSTR *ppszValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDWORD(
LPCWSTR pszValueName,
DWORD dwValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDWORD(
LPCWSTR pszValueName,
DWORD *pdwValue) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenKey(
LPCWSTR pszSubKeyName,
ISpDataKey **ppSubKey) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateKey(
LPCWSTR pszSubKey,
ISpDataKey **ppSubKey) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteKey(
LPCWSTR pszSubKey) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteValue(
LPCWSTR pszValueName) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumKeys(
ULONG Index,
LPWSTR *ppszSubKeyName) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumValues(
ULONG Index,
LPWSTR *ppszValueName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpDataKey, 0x14056581, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
#endif
#else
typedef struct ISpDataKeyVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpDataKey *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpDataKey *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpDataKey *This);
/*** ISpDataKey methods ***/
HRESULT (STDMETHODCALLTYPE *SetData)(
ISpDataKey *This,
LPCWSTR pszValueName,
ULONG cbData,
const BYTE *pData);
HRESULT (STDMETHODCALLTYPE *GetData)(
ISpDataKey *This,
LPCWSTR pszValueName,
ULONG *pcbData,
BYTE *pData);
HRESULT (STDMETHODCALLTYPE *SetStringValue)(
ISpDataKey *This,
LPCWSTR pszValueName,
LPCWSTR pszValue);
HRESULT (STDMETHODCALLTYPE *GetStringValue)(
ISpDataKey *This,
LPCWSTR pszValueName,
LPWSTR *ppszValue);
HRESULT (STDMETHODCALLTYPE *SetDWORD)(
ISpDataKey *This,
LPCWSTR pszValueName,
DWORD dwValue);
HRESULT (STDMETHODCALLTYPE *GetDWORD)(
ISpDataKey *This,
LPCWSTR pszValueName,
DWORD *pdwValue);
HRESULT (STDMETHODCALLTYPE *OpenKey)(
ISpDataKey *This,
LPCWSTR pszSubKeyName,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *CreateKey)(
ISpDataKey *This,
LPCWSTR pszSubKey,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteKey)(
ISpDataKey *This,
LPCWSTR pszSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteValue)(
ISpDataKey *This,
LPCWSTR pszValueName);
HRESULT (STDMETHODCALLTYPE *EnumKeys)(
ISpDataKey *This,
ULONG Index,
LPWSTR *ppszSubKeyName);
HRESULT (STDMETHODCALLTYPE *EnumValues)(
ISpDataKey *This,
ULONG Index,
LPWSTR *ppszValueName);
END_INTERFACE
} ISpDataKeyVtbl;
interface ISpDataKey {
CONST_VTBL ISpDataKeyVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpDataKey_Release(This) (This)->lpVtbl->Release(This)
/*** ISpDataKey methods ***/
#define ISpDataKey_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
#define ISpDataKey_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
#define ISpDataKey_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
#define ISpDataKey_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
#define ISpDataKey_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
#define ISpDataKey_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
#define ISpDataKey_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
#define ISpDataKey_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
#define ISpDataKey_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
#define ISpDataKey_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
#define ISpDataKey_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
#define ISpDataKey_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpDataKey_QueryInterface(ISpDataKey* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpDataKey_AddRef(ISpDataKey* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpDataKey_Release(ISpDataKey* This) {
return This->lpVtbl->Release(This);
}
/*** ISpDataKey methods ***/
static FORCEINLINE HRESULT ISpDataKey_SetData(ISpDataKey* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
}
static FORCEINLINE HRESULT ISpDataKey_GetData(ISpDataKey* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
}
static FORCEINLINE HRESULT ISpDataKey_SetStringValue(ISpDataKey* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
}
static FORCEINLINE HRESULT ISpDataKey_GetStringValue(ISpDataKey* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
}
static FORCEINLINE HRESULT ISpDataKey_SetDWORD(ISpDataKey* This,LPCWSTR pszValueName,DWORD dwValue) {
return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
}
static FORCEINLINE HRESULT ISpDataKey_GetDWORD(ISpDataKey* This,LPCWSTR pszValueName,DWORD *pdwValue) {
return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
}
static FORCEINLINE HRESULT ISpDataKey_OpenKey(ISpDataKey* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
}
static FORCEINLINE HRESULT ISpDataKey_CreateKey(ISpDataKey* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
}
static FORCEINLINE HRESULT ISpDataKey_DeleteKey(ISpDataKey* This,LPCWSTR pszSubKey) {
return This->lpVtbl->DeleteKey(This,pszSubKey);
}
static FORCEINLINE HRESULT ISpDataKey_DeleteValue(ISpDataKey* This,LPCWSTR pszValueName) {
return This->lpVtbl->DeleteValue(This,pszValueName);
}
static FORCEINLINE HRESULT ISpDataKey_EnumKeys(ISpDataKey* This,ULONG Index,LPWSTR *ppszSubKeyName) {
return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
}
static FORCEINLINE HRESULT ISpDataKey_EnumValues(ISpDataKey* This,ULONG Index,LPWSTR *ppszValueName) {
return This->lpVtbl->EnumValues(This,Index,ppszValueName);
}
#endif
#endif
#endif
#endif /* __ISpDataKey_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpObjectWithToken interface
*/
#ifndef __ISpObjectWithToken_INTERFACE_DEFINED__
#define __ISpObjectWithToken_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpObjectWithToken, 0x5b559f40, 0xe952, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b559f40-e952-11d2-bb91-00c04f8ee6c0")
ISpObjectWithToken : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetObjectToken(
ISpObjectToken *pToken) = 0;
virtual HRESULT STDMETHODCALLTYPE GetObjectToken(
ISpObjectToken **ppToken) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpObjectWithToken, 0x5b559f40, 0xe952, 0x11d2, 0xbb,0x91, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
#endif
#else
typedef struct ISpObjectWithTokenVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpObjectWithToken *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpObjectWithToken *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpObjectWithToken *This);
/*** ISpObjectWithToken methods ***/
HRESULT (STDMETHODCALLTYPE *SetObjectToken)(
ISpObjectWithToken *This,
ISpObjectToken *pToken);
HRESULT (STDMETHODCALLTYPE *GetObjectToken)(
ISpObjectWithToken *This,
ISpObjectToken **ppToken);
END_INTERFACE
} ISpObjectWithTokenVtbl;
interface ISpObjectWithToken {
CONST_VTBL ISpObjectWithTokenVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpObjectWithToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpObjectWithToken_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpObjectWithToken_Release(This) (This)->lpVtbl->Release(This)
/*** ISpObjectWithToken methods ***/
#define ISpObjectWithToken_SetObjectToken(This,pToken) (This)->lpVtbl->SetObjectToken(This,pToken)
#define ISpObjectWithToken_GetObjectToken(This,ppToken) (This)->lpVtbl->GetObjectToken(This,ppToken)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpObjectWithToken_QueryInterface(ISpObjectWithToken* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpObjectWithToken_AddRef(ISpObjectWithToken* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpObjectWithToken_Release(ISpObjectWithToken* This) {
return This->lpVtbl->Release(This);
}
/*** ISpObjectWithToken methods ***/
static FORCEINLINE HRESULT ISpObjectWithToken_SetObjectToken(ISpObjectWithToken* This,ISpObjectToken *pToken) {
return This->lpVtbl->SetObjectToken(This,pToken);
}
static FORCEINLINE HRESULT ISpObjectWithToken_GetObjectToken(ISpObjectWithToken* This,ISpObjectToken **ppToken) {
return This->lpVtbl->GetObjectToken(This,ppToken);
}
#endif
#endif
#endif
#endif /* __ISpObjectWithToken_INTERFACE_DEFINED__ */
/*****************************************************************************
* IEnumSpObjectTokens interface
*/
#ifndef __IEnumSpObjectTokens_INTERFACE_DEFINED__
#define __IEnumSpObjectTokens_INTERFACE_DEFINED__
DEFINE_GUID(IID_IEnumSpObjectTokens, 0x06b64f9e, 0x7fda, 0x11d2, 0xb4,0xf2, 0x00,0xc0,0x4f,0x79,0x73,0x96);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("06b64f9e-7fda-11d2-b4f2-00c04f797396")
IEnumSpObjectTokens : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
ISpObjectToken **pelt,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IEnumSpObjectTokens **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE Item(
ULONG Index,
ISpObjectToken **ppToken) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCount(
ULONG *pCount) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IEnumSpObjectTokens, 0x06b64f9e, 0x7fda, 0x11d2, 0xb4,0xf2, 0x00,0xc0,0x4f,0x79,0x73,0x96)
#endif
#else
typedef struct IEnumSpObjectTokensVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IEnumSpObjectTokens *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IEnumSpObjectTokens *This);
ULONG (STDMETHODCALLTYPE *Release)(
IEnumSpObjectTokens *This);
/*** IEnumSpObjectTokens methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IEnumSpObjectTokens *This,
ULONG celt,
ISpObjectToken **pelt,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IEnumSpObjectTokens *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IEnumSpObjectTokens *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IEnumSpObjectTokens *This,
IEnumSpObjectTokens **ppEnum);
HRESULT (STDMETHODCALLTYPE *Item)(
IEnumSpObjectTokens *This,
ULONG Index,
ISpObjectToken **ppToken);
HRESULT (STDMETHODCALLTYPE *GetCount)(
IEnumSpObjectTokens *This,
ULONG *pCount);
END_INTERFACE
} IEnumSpObjectTokensVtbl;
interface IEnumSpObjectTokens {
CONST_VTBL IEnumSpObjectTokensVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IEnumSpObjectTokens_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumSpObjectTokens_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumSpObjectTokens_Release(This) (This)->lpVtbl->Release(This)
/*** IEnumSpObjectTokens methods ***/
#define IEnumSpObjectTokens_Next(This,celt,pelt,pceltFetched) (This)->lpVtbl->Next(This,celt,pelt,pceltFetched)
#define IEnumSpObjectTokens_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumSpObjectTokens_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumSpObjectTokens_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
#define IEnumSpObjectTokens_Item(This,Index,ppToken) (This)->lpVtbl->Item(This,Index,ppToken)
#define IEnumSpObjectTokens_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IEnumSpObjectTokens_QueryInterface(IEnumSpObjectTokens* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IEnumSpObjectTokens_AddRef(IEnumSpObjectTokens* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IEnumSpObjectTokens_Release(IEnumSpObjectTokens* This) {
return This->lpVtbl->Release(This);
}
/*** IEnumSpObjectTokens methods ***/
static FORCEINLINE HRESULT IEnumSpObjectTokens_Next(IEnumSpObjectTokens* This,ULONG celt,ISpObjectToken **pelt,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,pelt,pceltFetched);
}
static FORCEINLINE HRESULT IEnumSpObjectTokens_Skip(IEnumSpObjectTokens* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static FORCEINLINE HRESULT IEnumSpObjectTokens_Reset(IEnumSpObjectTokens* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IEnumSpObjectTokens_Clone(IEnumSpObjectTokens* This,IEnumSpObjectTokens **ppEnum) {
return This->lpVtbl->Clone(This,ppEnum);
}
static FORCEINLINE HRESULT IEnumSpObjectTokens_Item(IEnumSpObjectTokens* This,ULONG Index,ISpObjectToken **ppToken) {
return This->lpVtbl->Item(This,Index,ppToken);
}
static FORCEINLINE HRESULT IEnumSpObjectTokens_GetCount(IEnumSpObjectTokens* This,ULONG *pCount) {
return This->lpVtbl->GetCount(This,pCount);
}
#endif
#endif
#endif
#endif /* __IEnumSpObjectTokens_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpRegDataKey interface
*/
#ifndef __ISpRegDataKey_INTERFACE_DEFINED__
#define __ISpRegDataKey_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRegDataKey, 0x92a66e2b, 0xc830, 0x4149, 0x83,0xdf, 0x6f,0xc2,0xba,0x1e,0x7a,0x5b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("92a66e2b-c830-4149-83df-6fc2ba1e7a5b")
ISpRegDataKey : public ISpDataKey
{
virtual HRESULT STDMETHODCALLTYPE SetKey(
HKEY hkey,
WINBOOL fReadOnly) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRegDataKey, 0x92a66e2b, 0xc830, 0x4149, 0x83,0xdf, 0x6f,0xc2,0xba,0x1e,0x7a,0x5b)
#endif
#else
typedef struct ISpRegDataKeyVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRegDataKey *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRegDataKey *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRegDataKey *This);
/*** ISpDataKey methods ***/
HRESULT (STDMETHODCALLTYPE *SetData)(
ISpRegDataKey *This,
LPCWSTR pszValueName,
ULONG cbData,
const BYTE *pData);
HRESULT (STDMETHODCALLTYPE *GetData)(
ISpRegDataKey *This,
LPCWSTR pszValueName,
ULONG *pcbData,
BYTE *pData);
HRESULT (STDMETHODCALLTYPE *SetStringValue)(
ISpRegDataKey *This,
LPCWSTR pszValueName,
LPCWSTR pszValue);
HRESULT (STDMETHODCALLTYPE *GetStringValue)(
ISpRegDataKey *This,
LPCWSTR pszValueName,
LPWSTR *ppszValue);
HRESULT (STDMETHODCALLTYPE *SetDWORD)(
ISpRegDataKey *This,
LPCWSTR pszValueName,
DWORD dwValue);
HRESULT (STDMETHODCALLTYPE *GetDWORD)(
ISpRegDataKey *This,
LPCWSTR pszValueName,
DWORD *pdwValue);
HRESULT (STDMETHODCALLTYPE *OpenKey)(
ISpRegDataKey *This,
LPCWSTR pszSubKeyName,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *CreateKey)(
ISpRegDataKey *This,
LPCWSTR pszSubKey,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteKey)(
ISpRegDataKey *This,
LPCWSTR pszSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteValue)(
ISpRegDataKey *This,
LPCWSTR pszValueName);
HRESULT (STDMETHODCALLTYPE *EnumKeys)(
ISpRegDataKey *This,
ULONG Index,
LPWSTR *ppszSubKeyName);
HRESULT (STDMETHODCALLTYPE *EnumValues)(
ISpRegDataKey *This,
ULONG Index,
LPWSTR *ppszValueName);
/*** ISpRegDataKey methods ***/
HRESULT (STDMETHODCALLTYPE *SetKey)(
ISpRegDataKey *This,
HKEY hkey,
WINBOOL fReadOnly);
END_INTERFACE
} ISpRegDataKeyVtbl;
interface ISpRegDataKey {
CONST_VTBL ISpRegDataKeyVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRegDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRegDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRegDataKey_Release(This) (This)->lpVtbl->Release(This)
/*** ISpDataKey methods ***/
#define ISpRegDataKey_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
#define ISpRegDataKey_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
#define ISpRegDataKey_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
#define ISpRegDataKey_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
#define ISpRegDataKey_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
#define ISpRegDataKey_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
#define ISpRegDataKey_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
#define ISpRegDataKey_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
#define ISpRegDataKey_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
#define ISpRegDataKey_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
#define ISpRegDataKey_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
#define ISpRegDataKey_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
/*** ISpRegDataKey methods ***/
#define ISpRegDataKey_SetKey(This,hkey,fReadOnly) (This)->lpVtbl->SetKey(This,hkey,fReadOnly)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRegDataKey_QueryInterface(ISpRegDataKey* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRegDataKey_AddRef(ISpRegDataKey* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRegDataKey_Release(ISpRegDataKey* This) {
return This->lpVtbl->Release(This);
}
/*** ISpDataKey methods ***/
static FORCEINLINE HRESULT ISpRegDataKey_SetData(ISpRegDataKey* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
}
static FORCEINLINE HRESULT ISpRegDataKey_GetData(ISpRegDataKey* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
}
static FORCEINLINE HRESULT ISpRegDataKey_SetStringValue(ISpRegDataKey* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
}
static FORCEINLINE HRESULT ISpRegDataKey_GetStringValue(ISpRegDataKey* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
}
static FORCEINLINE HRESULT ISpRegDataKey_SetDWORD(ISpRegDataKey* This,LPCWSTR pszValueName,DWORD dwValue) {
return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
}
static FORCEINLINE HRESULT ISpRegDataKey_GetDWORD(ISpRegDataKey* This,LPCWSTR pszValueName,DWORD *pdwValue) {
return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
}
static FORCEINLINE HRESULT ISpRegDataKey_OpenKey(ISpRegDataKey* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
}
static FORCEINLINE HRESULT ISpRegDataKey_CreateKey(ISpRegDataKey* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
}
static FORCEINLINE HRESULT ISpRegDataKey_DeleteKey(ISpRegDataKey* This,LPCWSTR pszSubKey) {
return This->lpVtbl->DeleteKey(This,pszSubKey);
}
static FORCEINLINE HRESULT ISpRegDataKey_DeleteValue(ISpRegDataKey* This,LPCWSTR pszValueName) {
return This->lpVtbl->DeleteValue(This,pszValueName);
}
static FORCEINLINE HRESULT ISpRegDataKey_EnumKeys(ISpRegDataKey* This,ULONG Index,LPWSTR *ppszSubKeyName) {
return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
}
static FORCEINLINE HRESULT ISpRegDataKey_EnumValues(ISpRegDataKey* This,ULONG Index,LPWSTR *ppszValueName) {
return This->lpVtbl->EnumValues(This,Index,ppszValueName);
}
/*** ISpRegDataKey methods ***/
static FORCEINLINE HRESULT ISpRegDataKey_SetKey(ISpRegDataKey* This,HKEY hkey,WINBOOL fReadOnly) {
return This->lpVtbl->SetKey(This,hkey,fReadOnly);
}
#endif
#endif
#endif
#endif /* __ISpRegDataKey_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpObjectTokenCategory interface
*/
#ifndef __ISpObjectTokenCategory_INTERFACE_DEFINED__
#define __ISpObjectTokenCategory_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpObjectTokenCategory, 0x2d3d3845, 0x39af, 0x4850, 0xbb,0xf9, 0x40,0xb4,0x97,0x80,0x01,0x1d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2d3d3845-39af-4850-bbf9-40b49780011d")
ISpObjectTokenCategory : public ISpDataKey
{
virtual HRESULT STDMETHODCALLTYPE SetId(
LPCWSTR pszCategoryId,
WINBOOL fCreateIfNotExist) = 0;
virtual HRESULT STDMETHODCALLTYPE GetId(
LPWSTR *ppszCoMemCategoryId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDataKey(
SPDATAKEYLOCATION spdkl,
ISpDataKey **ppDataKey) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumTokens(
LPCWSTR pzsReqAttribs,
LPCWSTR pszOptAttribs,
IEnumSpObjectTokens **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDefaultTokenId(
LPCWSTR pszTokenId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultTokenId(
LPWSTR *ppszCoMemTokenId) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpObjectTokenCategory, 0x2d3d3845, 0x39af, 0x4850, 0xbb,0xf9, 0x40,0xb4,0x97,0x80,0x01,0x1d)
#endif
#else
typedef struct ISpObjectTokenCategoryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpObjectTokenCategory *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpObjectTokenCategory *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpObjectTokenCategory *This);
/*** ISpDataKey methods ***/
HRESULT (STDMETHODCALLTYPE *SetData)(
ISpObjectTokenCategory *This,
LPCWSTR pszValueName,
ULONG cbData,
const BYTE *pData);
HRESULT (STDMETHODCALLTYPE *GetData)(
ISpObjectTokenCategory *This,
LPCWSTR pszValueName,
ULONG *pcbData,
BYTE *pData);
HRESULT (STDMETHODCALLTYPE *SetStringValue)(
ISpObjectTokenCategory *This,
LPCWSTR pszValueName,
LPCWSTR pszValue);
HRESULT (STDMETHODCALLTYPE *GetStringValue)(
ISpObjectTokenCategory *This,
LPCWSTR pszValueName,
LPWSTR *ppszValue);
HRESULT (STDMETHODCALLTYPE *SetDWORD)(
ISpObjectTokenCategory *This,
LPCWSTR pszValueName,
DWORD dwValue);
HRESULT (STDMETHODCALLTYPE *GetDWORD)(
ISpObjectTokenCategory *This,
LPCWSTR pszValueName,
DWORD *pdwValue);
HRESULT (STDMETHODCALLTYPE *OpenKey)(
ISpObjectTokenCategory *This,
LPCWSTR pszSubKeyName,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *CreateKey)(
ISpObjectTokenCategory *This,
LPCWSTR pszSubKey,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteKey)(
ISpObjectTokenCategory *This,
LPCWSTR pszSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteValue)(
ISpObjectTokenCategory *This,
LPCWSTR pszValueName);
HRESULT (STDMETHODCALLTYPE *EnumKeys)(
ISpObjectTokenCategory *This,
ULONG Index,
LPWSTR *ppszSubKeyName);
HRESULT (STDMETHODCALLTYPE *EnumValues)(
ISpObjectTokenCategory *This,
ULONG Index,
LPWSTR *ppszValueName);
/*** ISpObjectTokenCategory methods ***/
HRESULT (STDMETHODCALLTYPE *SetId)(
ISpObjectTokenCategory *This,
LPCWSTR pszCategoryId,
WINBOOL fCreateIfNotExist);
HRESULT (STDMETHODCALLTYPE *GetId)(
ISpObjectTokenCategory *This,
LPWSTR *ppszCoMemCategoryId);
HRESULT (STDMETHODCALLTYPE *GetDataKey)(
ISpObjectTokenCategory *This,
SPDATAKEYLOCATION spdkl,
ISpDataKey **ppDataKey);
HRESULT (STDMETHODCALLTYPE *EnumTokens)(
ISpObjectTokenCategory *This,
LPCWSTR pzsReqAttribs,
LPCWSTR pszOptAttribs,
IEnumSpObjectTokens **ppEnum);
HRESULT (STDMETHODCALLTYPE *SetDefaultTokenId)(
ISpObjectTokenCategory *This,
LPCWSTR pszTokenId);
HRESULT (STDMETHODCALLTYPE *GetDefaultTokenId)(
ISpObjectTokenCategory *This,
LPWSTR *ppszCoMemTokenId);
END_INTERFACE
} ISpObjectTokenCategoryVtbl;
interface ISpObjectTokenCategory {
CONST_VTBL ISpObjectTokenCategoryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpObjectTokenCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpObjectTokenCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpObjectTokenCategory_Release(This) (This)->lpVtbl->Release(This)
/*** ISpDataKey methods ***/
#define ISpObjectTokenCategory_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
#define ISpObjectTokenCategory_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
#define ISpObjectTokenCategory_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
#define ISpObjectTokenCategory_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
#define ISpObjectTokenCategory_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
#define ISpObjectTokenCategory_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
#define ISpObjectTokenCategory_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
#define ISpObjectTokenCategory_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
#define ISpObjectTokenCategory_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
#define ISpObjectTokenCategory_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
#define ISpObjectTokenCategory_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
#define ISpObjectTokenCategory_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
/*** ISpObjectTokenCategory methods ***/
#define ISpObjectTokenCategory_SetId(This,pszCategoryId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,fCreateIfNotExist)
#define ISpObjectTokenCategory_GetId(This,ppszCoMemCategoryId) (This)->lpVtbl->GetId(This,ppszCoMemCategoryId)
#define ISpObjectTokenCategory_GetDataKey(This,spdkl,ppDataKey) (This)->lpVtbl->GetDataKey(This,spdkl,ppDataKey)
#define ISpObjectTokenCategory_EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum) (This)->lpVtbl->EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum)
#define ISpObjectTokenCategory_SetDefaultTokenId(This,pszTokenId) (This)->lpVtbl->SetDefaultTokenId(This,pszTokenId)
#define ISpObjectTokenCategory_GetDefaultTokenId(This,ppszCoMemTokenId) (This)->lpVtbl->GetDefaultTokenId(This,ppszCoMemTokenId)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpObjectTokenCategory_QueryInterface(ISpObjectTokenCategory* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpObjectTokenCategory_AddRef(ISpObjectTokenCategory* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpObjectTokenCategory_Release(ISpObjectTokenCategory* This) {
return This->lpVtbl->Release(This);
}
/*** ISpDataKey methods ***/
static FORCEINLINE HRESULT ISpObjectTokenCategory_SetData(ISpObjectTokenCategory* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_GetData(ISpObjectTokenCategory* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_SetStringValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_GetStringValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_SetDWORD(ISpObjectTokenCategory* This,LPCWSTR pszValueName,DWORD dwValue) {
return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDWORD(ISpObjectTokenCategory* This,LPCWSTR pszValueName,DWORD *pdwValue) {
return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_OpenKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_CreateKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_DeleteKey(ISpObjectTokenCategory* This,LPCWSTR pszSubKey) {
return This->lpVtbl->DeleteKey(This,pszSubKey);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_DeleteValue(ISpObjectTokenCategory* This,LPCWSTR pszValueName) {
return This->lpVtbl->DeleteValue(This,pszValueName);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumKeys(ISpObjectTokenCategory* This,ULONG Index,LPWSTR *ppszSubKeyName) {
return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumValues(ISpObjectTokenCategory* This,ULONG Index,LPWSTR *ppszValueName) {
return This->lpVtbl->EnumValues(This,Index,ppszValueName);
}
/*** ISpObjectTokenCategory methods ***/
static FORCEINLINE HRESULT ISpObjectTokenCategory_SetId(ISpObjectTokenCategory* This,LPCWSTR pszCategoryId,WINBOOL fCreateIfNotExist) {
return This->lpVtbl->SetId(This,pszCategoryId,fCreateIfNotExist);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_GetId(ISpObjectTokenCategory* This,LPWSTR *ppszCoMemCategoryId) {
return This->lpVtbl->GetId(This,ppszCoMemCategoryId);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDataKey(ISpObjectTokenCategory* This,SPDATAKEYLOCATION spdkl,ISpDataKey **ppDataKey) {
return This->lpVtbl->GetDataKey(This,spdkl,ppDataKey);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_EnumTokens(ISpObjectTokenCategory* This,LPCWSTR pzsReqAttribs,LPCWSTR pszOptAttribs,IEnumSpObjectTokens **ppEnum) {
return This->lpVtbl->EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_SetDefaultTokenId(ISpObjectTokenCategory* This,LPCWSTR pszTokenId) {
return This->lpVtbl->SetDefaultTokenId(This,pszTokenId);
}
static FORCEINLINE HRESULT ISpObjectTokenCategory_GetDefaultTokenId(ISpObjectTokenCategory* This,LPWSTR *ppszCoMemTokenId) {
return This->lpVtbl->GetDefaultTokenId(This,ppszCoMemTokenId);
}
#endif
#endif
#endif
#endif /* __ISpObjectTokenCategory_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpObjectToken interface
*/
#ifndef __ISpObjectToken_INTERFACE_DEFINED__
#define __ISpObjectToken_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpObjectToken, 0x14056589, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("14056589-e16c-11d2-bb90-00c04f8ee6c0")
ISpObjectToken : public ISpDataKey
{
virtual HRESULT STDMETHODCALLTYPE SetId(
LPCWSTR pszCategoryId,
LPCWSTR pszTokenId,
WINBOOL fCreateIfNotExist) = 0;
virtual HRESULT STDMETHODCALLTYPE GetId(
LPWSTR *ppszCoMemTokenId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCategory(
ISpObjectTokenCategory **ppTokenCategory) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateInstance(
IUnknown *pUnkOuter,
DWORD dwClsContext,
REFIID riid,
void **ppvObject) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
REFCLSID clsidCaller,
LPCWSTR pszValueName,
LPCWSTR pszFileNameSpecifier,
ULONG nFolder,
LPWSTR *ppszFilePath) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
REFCLSID clsidCaller,
LPCWSTR pszKeyName,
WINBOOL fDeleteFile) = 0;
virtual HRESULT STDMETHODCALLTYPE Remove(
const CLSID *pclsidCaller) = 0;
virtual HRESULT STDMETHODCALLTYPE IsUISupported(
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
IUnknown *punkObject,
WINBOOL *pfSupported) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayUI(
HWND hwndParent,
LPCWSTR pszTitle,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
IUnknown *punkObject) = 0;
virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
LPCWSTR pszAttributes,
WINBOOL *pfMatches) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpObjectToken, 0x14056589, 0xe16c, 0x11d2, 0xbb,0x90, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
#endif
#else
typedef struct ISpObjectTokenVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpObjectToken *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpObjectToken *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpObjectToken *This);
/*** ISpDataKey methods ***/
HRESULT (STDMETHODCALLTYPE *SetData)(
ISpObjectToken *This,
LPCWSTR pszValueName,
ULONG cbData,
const BYTE *pData);
HRESULT (STDMETHODCALLTYPE *GetData)(
ISpObjectToken *This,
LPCWSTR pszValueName,
ULONG *pcbData,
BYTE *pData);
HRESULT (STDMETHODCALLTYPE *SetStringValue)(
ISpObjectToken *This,
LPCWSTR pszValueName,
LPCWSTR pszValue);
HRESULT (STDMETHODCALLTYPE *GetStringValue)(
ISpObjectToken *This,
LPCWSTR pszValueName,
LPWSTR *ppszValue);
HRESULT (STDMETHODCALLTYPE *SetDWORD)(
ISpObjectToken *This,
LPCWSTR pszValueName,
DWORD dwValue);
HRESULT (STDMETHODCALLTYPE *GetDWORD)(
ISpObjectToken *This,
LPCWSTR pszValueName,
DWORD *pdwValue);
HRESULT (STDMETHODCALLTYPE *OpenKey)(
ISpObjectToken *This,
LPCWSTR pszSubKeyName,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *CreateKey)(
ISpObjectToken *This,
LPCWSTR pszSubKey,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteKey)(
ISpObjectToken *This,
LPCWSTR pszSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteValue)(
ISpObjectToken *This,
LPCWSTR pszValueName);
HRESULT (STDMETHODCALLTYPE *EnumKeys)(
ISpObjectToken *This,
ULONG Index,
LPWSTR *ppszSubKeyName);
HRESULT (STDMETHODCALLTYPE *EnumValues)(
ISpObjectToken *This,
ULONG Index,
LPWSTR *ppszValueName);
/*** ISpObjectToken methods ***/
HRESULT (STDMETHODCALLTYPE *SetId)(
ISpObjectToken *This,
LPCWSTR pszCategoryId,
LPCWSTR pszTokenId,
WINBOOL fCreateIfNotExist);
HRESULT (STDMETHODCALLTYPE *GetId)(
ISpObjectToken *This,
LPWSTR *ppszCoMemTokenId);
HRESULT (STDMETHODCALLTYPE *GetCategory)(
ISpObjectToken *This,
ISpObjectTokenCategory **ppTokenCategory);
HRESULT (STDMETHODCALLTYPE *CreateInstance)(
ISpObjectToken *This,
IUnknown *pUnkOuter,
DWORD dwClsContext,
REFIID riid,
void **ppvObject);
HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
ISpObjectToken *This,
REFCLSID clsidCaller,
LPCWSTR pszValueName,
LPCWSTR pszFileNameSpecifier,
ULONG nFolder,
LPWSTR *ppszFilePath);
HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
ISpObjectToken *This,
REFCLSID clsidCaller,
LPCWSTR pszKeyName,
WINBOOL fDeleteFile);
HRESULT (STDMETHODCALLTYPE *Remove)(
ISpObjectToken *This,
const CLSID *pclsidCaller);
HRESULT (STDMETHODCALLTYPE *IsUISupported)(
ISpObjectToken *This,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
IUnknown *punkObject,
WINBOOL *pfSupported);
HRESULT (STDMETHODCALLTYPE *DisplayUI)(
ISpObjectToken *This,
HWND hwndParent,
LPCWSTR pszTitle,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
IUnknown *punkObject);
HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
ISpObjectToken *This,
LPCWSTR pszAttributes,
WINBOOL *pfMatches);
END_INTERFACE
} ISpObjectTokenVtbl;
interface ISpObjectToken {
CONST_VTBL ISpObjectTokenVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpObjectToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpObjectToken_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpObjectToken_Release(This) (This)->lpVtbl->Release(This)
/*** ISpDataKey methods ***/
#define ISpObjectToken_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
#define ISpObjectToken_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
#define ISpObjectToken_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
#define ISpObjectToken_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
#define ISpObjectToken_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
#define ISpObjectToken_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
#define ISpObjectToken_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
#define ISpObjectToken_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
#define ISpObjectToken_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
#define ISpObjectToken_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
#define ISpObjectToken_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
#define ISpObjectToken_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
/*** ISpObjectToken methods ***/
#define ISpObjectToken_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
#define ISpObjectToken_GetId(This,ppszCoMemTokenId) (This)->lpVtbl->GetId(This,ppszCoMemTokenId)
#define ISpObjectToken_GetCategory(This,ppTokenCategory) (This)->lpVtbl->GetCategory(This,ppTokenCategory)
#define ISpObjectToken_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
#define ISpObjectToken_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) (This)->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
#define ISpObjectToken_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
#define ISpObjectToken_Remove(This,pclsidCaller) (This)->lpVtbl->Remove(This,pclsidCaller)
#define ISpObjectToken_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
#define ISpObjectToken_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
#define ISpObjectToken_MatchesAttributes(This,pszAttributes,pfMatches) (This)->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpObjectToken_QueryInterface(ISpObjectToken* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpObjectToken_AddRef(ISpObjectToken* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpObjectToken_Release(ISpObjectToken* This) {
return This->lpVtbl->Release(This);
}
/*** ISpDataKey methods ***/
static FORCEINLINE HRESULT ISpObjectToken_SetData(ISpObjectToken* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
}
static FORCEINLINE HRESULT ISpObjectToken_GetData(ISpObjectToken* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
}
static FORCEINLINE HRESULT ISpObjectToken_SetStringValue(ISpObjectToken* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
}
static FORCEINLINE HRESULT ISpObjectToken_GetStringValue(ISpObjectToken* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
}
static FORCEINLINE HRESULT ISpObjectToken_SetDWORD(ISpObjectToken* This,LPCWSTR pszValueName,DWORD dwValue) {
return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
}
static FORCEINLINE HRESULT ISpObjectToken_GetDWORD(ISpObjectToken* This,LPCWSTR pszValueName,DWORD *pdwValue) {
return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
}
static FORCEINLINE HRESULT ISpObjectToken_OpenKey(ISpObjectToken* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
}
static FORCEINLINE HRESULT ISpObjectToken_CreateKey(ISpObjectToken* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
}
static FORCEINLINE HRESULT ISpObjectToken_DeleteKey(ISpObjectToken* This,LPCWSTR pszSubKey) {
return This->lpVtbl->DeleteKey(This,pszSubKey);
}
static FORCEINLINE HRESULT ISpObjectToken_DeleteValue(ISpObjectToken* This,LPCWSTR pszValueName) {
return This->lpVtbl->DeleteValue(This,pszValueName);
}
static FORCEINLINE HRESULT ISpObjectToken_EnumKeys(ISpObjectToken* This,ULONG Index,LPWSTR *ppszSubKeyName) {
return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
}
static FORCEINLINE HRESULT ISpObjectToken_EnumValues(ISpObjectToken* This,ULONG Index,LPWSTR *ppszValueName) {
return This->lpVtbl->EnumValues(This,Index,ppszValueName);
}
/*** ISpObjectToken methods ***/
static FORCEINLINE HRESULT ISpObjectToken_SetId(ISpObjectToken* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,WINBOOL fCreateIfNotExist) {
return This->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist);
}
static FORCEINLINE HRESULT ISpObjectToken_GetId(ISpObjectToken* This,LPWSTR *ppszCoMemTokenId) {
return This->lpVtbl->GetId(This,ppszCoMemTokenId);
}
static FORCEINLINE HRESULT ISpObjectToken_GetCategory(ISpObjectToken* This,ISpObjectTokenCategory **ppTokenCategory) {
return This->lpVtbl->GetCategory(This,ppTokenCategory);
}
static FORCEINLINE HRESULT ISpObjectToken_CreateInstance(ISpObjectToken* This,IUnknown *pUnkOuter,DWORD dwClsContext,REFIID riid,void **ppvObject) {
return This->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject);
}
static FORCEINLINE HRESULT ISpObjectToken_GetStorageFileName(ISpObjectToken* This,REFCLSID clsidCaller,LPCWSTR pszValueName,LPCWSTR pszFileNameSpecifier,ULONG nFolder,LPWSTR *ppszFilePath) {
return This->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath);
}
static FORCEINLINE HRESULT ISpObjectToken_RemoveStorageFileName(ISpObjectToken* This,REFCLSID clsidCaller,LPCWSTR pszKeyName,WINBOOL fDeleteFile) {
return This->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile);
}
static FORCEINLINE HRESULT ISpObjectToken_Remove(ISpObjectToken* This,const CLSID *pclsidCaller) {
return This->lpVtbl->Remove(This,pclsidCaller);
}
static FORCEINLINE HRESULT ISpObjectToken_IsUISupported(ISpObjectToken* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject,WINBOOL *pfSupported) {
return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported);
}
static FORCEINLINE HRESULT ISpObjectToken_DisplayUI(ISpObjectToken* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject) {
return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject);
}
static FORCEINLINE HRESULT ISpObjectToken_MatchesAttributes(ISpObjectToken* This,LPCWSTR pszAttributes,WINBOOL *pfMatches) {
return This->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches);
}
#endif
#endif
#endif
#endif /* __ISpObjectToken_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpObjectTokenInit interface
*/
#ifndef __ISpObjectTokenInit_INTERFACE_DEFINED__
#define __ISpObjectTokenInit_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpObjectTokenInit, 0xb8aab0cf, 0x346f, 0x49d8, 0x94,0x99, 0xc8,0xb0,0x3f,0x16,0x1d,0x51);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b8aab0cf-346f-49d8-9499-c8b03f161d51")
ISpObjectTokenInit : public ISpObjectToken
{
virtual HRESULT STDMETHODCALLTYPE InitFromDataKey(
LPCWSTR pszCategoryId,
LPCWSTR pszTokenId,
ISpDataKey *pDataKey) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpObjectTokenInit, 0xb8aab0cf, 0x346f, 0x49d8, 0x94,0x99, 0xc8,0xb0,0x3f,0x16,0x1d,0x51)
#endif
#else
typedef struct ISpObjectTokenInitVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpObjectTokenInit *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpObjectTokenInit *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpObjectTokenInit *This);
/*** ISpDataKey methods ***/
HRESULT (STDMETHODCALLTYPE *SetData)(
ISpObjectTokenInit *This,
LPCWSTR pszValueName,
ULONG cbData,
const BYTE *pData);
HRESULT (STDMETHODCALLTYPE *GetData)(
ISpObjectTokenInit *This,
LPCWSTR pszValueName,
ULONG *pcbData,
BYTE *pData);
HRESULT (STDMETHODCALLTYPE *SetStringValue)(
ISpObjectTokenInit *This,
LPCWSTR pszValueName,
LPCWSTR pszValue);
HRESULT (STDMETHODCALLTYPE *GetStringValue)(
ISpObjectTokenInit *This,
LPCWSTR pszValueName,
LPWSTR *ppszValue);
HRESULT (STDMETHODCALLTYPE *SetDWORD)(
ISpObjectTokenInit *This,
LPCWSTR pszValueName,
DWORD dwValue);
HRESULT (STDMETHODCALLTYPE *GetDWORD)(
ISpObjectTokenInit *This,
LPCWSTR pszValueName,
DWORD *pdwValue);
HRESULT (STDMETHODCALLTYPE *OpenKey)(
ISpObjectTokenInit *This,
LPCWSTR pszSubKeyName,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *CreateKey)(
ISpObjectTokenInit *This,
LPCWSTR pszSubKey,
ISpDataKey **ppSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteKey)(
ISpObjectTokenInit *This,
LPCWSTR pszSubKey);
HRESULT (STDMETHODCALLTYPE *DeleteValue)(
ISpObjectTokenInit *This,
LPCWSTR pszValueName);
HRESULT (STDMETHODCALLTYPE *EnumKeys)(
ISpObjectTokenInit *This,
ULONG Index,
LPWSTR *ppszSubKeyName);
HRESULT (STDMETHODCALLTYPE *EnumValues)(
ISpObjectTokenInit *This,
ULONG Index,
LPWSTR *ppszValueName);
/*** ISpObjectToken methods ***/
HRESULT (STDMETHODCALLTYPE *SetId)(
ISpObjectTokenInit *This,
LPCWSTR pszCategoryId,
LPCWSTR pszTokenId,
WINBOOL fCreateIfNotExist);
HRESULT (STDMETHODCALLTYPE *GetId)(
ISpObjectTokenInit *This,
LPWSTR *ppszCoMemTokenId);
HRESULT (STDMETHODCALLTYPE *GetCategory)(
ISpObjectTokenInit *This,
ISpObjectTokenCategory **ppTokenCategory);
HRESULT (STDMETHODCALLTYPE *CreateInstance)(
ISpObjectTokenInit *This,
IUnknown *pUnkOuter,
DWORD dwClsContext,
REFIID riid,
void **ppvObject);
HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
ISpObjectTokenInit *This,
REFCLSID clsidCaller,
LPCWSTR pszValueName,
LPCWSTR pszFileNameSpecifier,
ULONG nFolder,
LPWSTR *ppszFilePath);
HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
ISpObjectTokenInit *This,
REFCLSID clsidCaller,
LPCWSTR pszKeyName,
WINBOOL fDeleteFile);
HRESULT (STDMETHODCALLTYPE *Remove)(
ISpObjectTokenInit *This,
const CLSID *pclsidCaller);
HRESULT (STDMETHODCALLTYPE *IsUISupported)(
ISpObjectTokenInit *This,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
IUnknown *punkObject,
WINBOOL *pfSupported);
HRESULT (STDMETHODCALLTYPE *DisplayUI)(
ISpObjectTokenInit *This,
HWND hwndParent,
LPCWSTR pszTitle,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
IUnknown *punkObject);
HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
ISpObjectTokenInit *This,
LPCWSTR pszAttributes,
WINBOOL *pfMatches);
/*** ISpObjectTokenInit methods ***/
HRESULT (STDMETHODCALLTYPE *InitFromDataKey)(
ISpObjectTokenInit *This,
LPCWSTR pszCategoryId,
LPCWSTR pszTokenId,
ISpDataKey *pDataKey);
END_INTERFACE
} ISpObjectTokenInitVtbl;
interface ISpObjectTokenInit {
CONST_VTBL ISpObjectTokenInitVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpObjectTokenInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpObjectTokenInit_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpObjectTokenInit_Release(This) (This)->lpVtbl->Release(This)
/*** ISpDataKey methods ***/
#define ISpObjectTokenInit_SetData(This,pszValueName,cbData,pData) (This)->lpVtbl->SetData(This,pszValueName,cbData,pData)
#define ISpObjectTokenInit_GetData(This,pszValueName,pcbData,pData) (This)->lpVtbl->GetData(This,pszValueName,pcbData,pData)
#define ISpObjectTokenInit_SetStringValue(This,pszValueName,pszValue) (This)->lpVtbl->SetStringValue(This,pszValueName,pszValue)
#define ISpObjectTokenInit_GetStringValue(This,pszValueName,ppszValue) (This)->lpVtbl->GetStringValue(This,pszValueName,ppszValue)
#define ISpObjectTokenInit_SetDWORD(This,pszValueName,dwValue) (This)->lpVtbl->SetDWORD(This,pszValueName,dwValue)
#define ISpObjectTokenInit_GetDWORD(This,pszValueName,pdwValue) (This)->lpVtbl->GetDWORD(This,pszValueName,pdwValue)
#define ISpObjectTokenInit_OpenKey(This,pszSubKeyName,ppSubKey) (This)->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey)
#define ISpObjectTokenInit_CreateKey(This,pszSubKey,ppSubKey) (This)->lpVtbl->CreateKey(This,pszSubKey,ppSubKey)
#define ISpObjectTokenInit_DeleteKey(This,pszSubKey) (This)->lpVtbl->DeleteKey(This,pszSubKey)
#define ISpObjectTokenInit_DeleteValue(This,pszValueName) (This)->lpVtbl->DeleteValue(This,pszValueName)
#define ISpObjectTokenInit_EnumKeys(This,Index,ppszSubKeyName) (This)->lpVtbl->EnumKeys(This,Index,ppszSubKeyName)
#define ISpObjectTokenInit_EnumValues(This,Index,ppszValueName) (This)->lpVtbl->EnumValues(This,Index,ppszValueName)
/*** ISpObjectToken methods ***/
#define ISpObjectTokenInit_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) (This)->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
#define ISpObjectTokenInit_GetId(This,ppszCoMemTokenId) (This)->lpVtbl->GetId(This,ppszCoMemTokenId)
#define ISpObjectTokenInit_GetCategory(This,ppTokenCategory) (This)->lpVtbl->GetCategory(This,ppTokenCategory)
#define ISpObjectTokenInit_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
#define ISpObjectTokenInit_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) (This)->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
#define ISpObjectTokenInit_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
#define ISpObjectTokenInit_Remove(This,pclsidCaller) (This)->lpVtbl->Remove(This,pclsidCaller)
#define ISpObjectTokenInit_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
#define ISpObjectTokenInit_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
#define ISpObjectTokenInit_MatchesAttributes(This,pszAttributes,pfMatches) (This)->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches)
/*** ISpObjectTokenInit methods ***/
#define ISpObjectTokenInit_InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey) (This)->lpVtbl->InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpObjectTokenInit_QueryInterface(ISpObjectTokenInit* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpObjectTokenInit_AddRef(ISpObjectTokenInit* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpObjectTokenInit_Release(ISpObjectTokenInit* This) {
return This->lpVtbl->Release(This);
}
/*** ISpDataKey methods ***/
static FORCEINLINE HRESULT ISpObjectTokenInit_SetData(ISpObjectTokenInit* This,LPCWSTR pszValueName,ULONG cbData,const BYTE *pData) {
return This->lpVtbl->SetData(This,pszValueName,cbData,pData);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_GetData(ISpObjectTokenInit* This,LPCWSTR pszValueName,ULONG *pcbData,BYTE *pData) {
return This->lpVtbl->GetData(This,pszValueName,pcbData,pData);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_SetStringValue(ISpObjectTokenInit* This,LPCWSTR pszValueName,LPCWSTR pszValue) {
return This->lpVtbl->SetStringValue(This,pszValueName,pszValue);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_GetStringValue(ISpObjectTokenInit* This,LPCWSTR pszValueName,LPWSTR *ppszValue) {
return This->lpVtbl->GetStringValue(This,pszValueName,ppszValue);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_SetDWORD(ISpObjectTokenInit* This,LPCWSTR pszValueName,DWORD dwValue) {
return This->lpVtbl->SetDWORD(This,pszValueName,dwValue);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_GetDWORD(ISpObjectTokenInit* This,LPCWSTR pszValueName,DWORD *pdwValue) {
return This->lpVtbl->GetDWORD(This,pszValueName,pdwValue);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_OpenKey(ISpObjectTokenInit* This,LPCWSTR pszSubKeyName,ISpDataKey **ppSubKey) {
return This->lpVtbl->OpenKey(This,pszSubKeyName,ppSubKey);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_CreateKey(ISpObjectTokenInit* This,LPCWSTR pszSubKey,ISpDataKey **ppSubKey) {
return This->lpVtbl->CreateKey(This,pszSubKey,ppSubKey);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_DeleteKey(ISpObjectTokenInit* This,LPCWSTR pszSubKey) {
return This->lpVtbl->DeleteKey(This,pszSubKey);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_DeleteValue(ISpObjectTokenInit* This,LPCWSTR pszValueName) {
return This->lpVtbl->DeleteValue(This,pszValueName);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_EnumKeys(ISpObjectTokenInit* This,ULONG Index,LPWSTR *ppszSubKeyName) {
return This->lpVtbl->EnumKeys(This,Index,ppszSubKeyName);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_EnumValues(ISpObjectTokenInit* This,ULONG Index,LPWSTR *ppszValueName) {
return This->lpVtbl->EnumValues(This,Index,ppszValueName);
}
/*** ISpObjectToken methods ***/
static FORCEINLINE HRESULT ISpObjectTokenInit_SetId(ISpObjectTokenInit* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,WINBOOL fCreateIfNotExist) {
return This->lpVtbl->SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_GetId(ISpObjectTokenInit* This,LPWSTR *ppszCoMemTokenId) {
return This->lpVtbl->GetId(This,ppszCoMemTokenId);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_GetCategory(ISpObjectTokenInit* This,ISpObjectTokenCategory **ppTokenCategory) {
return This->lpVtbl->GetCategory(This,ppTokenCategory);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_CreateInstance(ISpObjectTokenInit* This,IUnknown *pUnkOuter,DWORD dwClsContext,REFIID riid,void **ppvObject) {
return This->lpVtbl->CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_GetStorageFileName(ISpObjectTokenInit* This,REFCLSID clsidCaller,LPCWSTR pszValueName,LPCWSTR pszFileNameSpecifier,ULONG nFolder,LPWSTR *ppszFilePath) {
return This->lpVtbl->GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_RemoveStorageFileName(ISpObjectTokenInit* This,REFCLSID clsidCaller,LPCWSTR pszKeyName,WINBOOL fDeleteFile) {
return This->lpVtbl->RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_Remove(ISpObjectTokenInit* This,const CLSID *pclsidCaller) {
return This->lpVtbl->Remove(This,pclsidCaller);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_IsUISupported(ISpObjectTokenInit* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject,WINBOOL *pfSupported) {
return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_DisplayUI(ISpObjectTokenInit* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,IUnknown *punkObject) {
return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject);
}
static FORCEINLINE HRESULT ISpObjectTokenInit_MatchesAttributes(ISpObjectTokenInit* This,LPCWSTR pszAttributes,WINBOOL *pfMatches) {
return This->lpVtbl->MatchesAttributes(This,pszAttributes,pfMatches);
}
/*** ISpObjectTokenInit methods ***/
static FORCEINLINE HRESULT ISpObjectTokenInit_InitFromDataKey(ISpObjectTokenInit* This,LPCWSTR pszCategoryId,LPCWSTR pszTokenId,ISpDataKey *pDataKey) {
return This->lpVtbl->InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey);
}
#endif
#endif
#endif
#endif /* __ISpObjectTokenInit_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpResourceManager interface
*/
#ifndef __ISpResourceManager_INTERFACE_DEFINED__
#define __ISpResourceManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpResourceManager, 0x93384e18, 0x5014, 0x43d5, 0xad,0xbb, 0xa7,0x8e,0x05,0x59,0x26,0xbd);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("93384e18-5014-43d5-adbb-a78e055926bd")
ISpResourceManager : public IServiceProvider
{
virtual HRESULT STDMETHODCALLTYPE SetObject(
REFGUID guidServiceId,
IUnknown *pUnkObject) = 0;
virtual HRESULT STDMETHODCALLTYPE GetObject(
REFGUID guidServiceId,
REFCLSID ObjectCLSID,
REFIID ObjectIID,
WINBOOL fReleaseWhenLastExternalRefReleased,
void **ppObject) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpResourceManager, 0x93384e18, 0x5014, 0x43d5, 0xad,0xbb, 0xa7,0x8e,0x05,0x59,0x26,0xbd)
#endif
#else
typedef struct ISpResourceManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpResourceManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpResourceManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpResourceManager *This);
/*** IServiceProvider methods ***/
HRESULT (STDMETHODCALLTYPE *QueryService)(
ISpResourceManager *This,
REFGUID guidService,
REFIID riid,
void **ppvObject);
/*** ISpResourceManager methods ***/
HRESULT (STDMETHODCALLTYPE *SetObject)(
ISpResourceManager *This,
REFGUID guidServiceId,
IUnknown *pUnkObject);
HRESULT (STDMETHODCALLTYPE *GetObject)(
ISpResourceManager *This,
REFGUID guidServiceId,
REFCLSID ObjectCLSID,
REFIID ObjectIID,
WINBOOL fReleaseWhenLastExternalRefReleased,
void **ppObject);
END_INTERFACE
} ISpResourceManagerVtbl;
interface ISpResourceManager {
CONST_VTBL ISpResourceManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpResourceManager_Release(This) (This)->lpVtbl->Release(This)
/*** IServiceProvider methods ***/
#define ISpResourceManager_QueryService(This,guidService,riid,ppvObject) (This)->lpVtbl->QueryService(This,guidService,riid,ppvObject)
/*** ISpResourceManager methods ***/
#define ISpResourceManager_SetObject(This,guidServiceId,pUnkObject) (This)->lpVtbl->SetObject(This,guidServiceId,pUnkObject)
#define ISpResourceManager_GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject) (This)->lpVtbl->GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpResourceManager_QueryInterface(ISpResourceManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpResourceManager_AddRef(ISpResourceManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpResourceManager_Release(ISpResourceManager* This) {
return This->lpVtbl->Release(This);
}
/*** IServiceProvider methods ***/
static FORCEINLINE HRESULT ISpResourceManager_QueryService(ISpResourceManager* This,REFGUID guidService,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryService(This,guidService,riid,ppvObject);
}
/*** ISpResourceManager methods ***/
static FORCEINLINE HRESULT ISpResourceManager_SetObject(ISpResourceManager* This,REFGUID guidServiceId,IUnknown *pUnkObject) {
return This->lpVtbl->SetObject(This,guidServiceId,pUnkObject);
}
static FORCEINLINE HRESULT ISpResourceManager_GetObject(ISpResourceManager* This,REFGUID guidServiceId,REFCLSID ObjectCLSID,REFIID ObjectIID,WINBOOL fReleaseWhenLastExternalRefReleased,void **ppObject) {
return This->lpVtbl->GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject);
}
#endif
#endif
#endif
#endif /* __ISpResourceManager_INTERFACE_DEFINED__ */
#if 0
typedef struct SPEVENT {
WORD eEventId;
WORD elParamType;
ULONG ulStreamNum;
ULONGLONG ullAudioStreamOffset;
WPARAM wParam;
LPARAM lParam;
} SPEVENT;
typedef struct SPSERIALIZEDEVENT {
WORD eEventId;
WORD elParamType;
ULONG ulStreamNum;
ULONGLONG ullAudioStreamOffset;
ULONG SerializedwParam;
LONG SerializedlParam;
} SPSERIALIZEDEVENT;
typedef struct SPSERIALIZEDEVENT64 {
WORD eEventId;
WORD elParamType;
ULONG ulStreamNum;
ULONGLONG ullAudioStreamOffset;
ULONGLONG SerializedwParam;
LONGLONG SerializedlParam;
} SPSERIALIZEDEVENT64;
#else
typedef struct SPEVENT {
SPEVENTENUM eEventId : 16;
SPEVENTLPARAMTYPE elParamType : 16;
ULONG ulStreamNum;
ULONGLONG ullAudioStreamOffset;
WPARAM wParam;
LPARAM lParam;
} SPEVENT;
typedef struct SPSERIALIZEDEVENT {
SPEVENTENUM eEventId : 16;
SPEVENTLPARAMTYPE elParamType : 16;
ULONG ulStreamNum;
ULONGLONG ullAudioStreamOffset;
ULONG SerializedwParam;
LONG SerializedlParam;
} SPSERIALIZEDEVENT;
typedef struct SPSERIALIZEDEVENT64 {
SPEVENTENUM eEventId : 16;
SPEVENTLPARAMTYPE elParamType : 16;
ULONG ulStreamNum;
ULONGLONG ullAudioStreamOffset;
ULONGLONG SerializedwParam;
LONGLONG SerializedlParam;
} SPSERIALIZEDEVENT64;
#endif
#if 0
typedef struct SPEVENTEX {
WORD eEventId;
WORD elParamType;
ULONG ulStreamNum;
ULONGLONG ullAudioStreamOffset;
WPARAM wParam;
LPARAM lParam;
ULONGLONG ullAudioTimeOffset;
} SPEVENTEX;
#else
typedef struct SPEVENTEX {
SPEVENTENUM eEventId : 16;
SPEVENTLPARAMTYPE elParamType : 16;
ULONG ulStreamNum;
ULONGLONG ullAudioStreamOffset;
WPARAM wParam;
LPARAM lParam;
ULONGLONG ullAudioTimeOffset;
} SPEVENTEX;
#endif
typedef struct SPEVENTSOURCEINFO {
ULONGLONG ullEventInterest;
ULONGLONG ullQueuedInterest;
ULONG ulCount;
} SPEVENTSOURCEINFO;
/*****************************************************************************
* ISpEventSource interface
*/
#ifndef __ISpEventSource_INTERFACE_DEFINED__
#define __ISpEventSource_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpEventSource, 0xbe7a9cce, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("be7a9cce-5f9e-11d2-960f-00c04f8ee628")
ISpEventSource : public ISpNotifySource
{
virtual HRESULT STDMETHODCALLTYPE SetInterest(
ULONGLONG ullEventInterest,
ULONGLONG ullQueuedInterest) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEvents(
ULONG ulCount,
SPEVENT *pEventArray,
ULONG *pulFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInfo(
SPEVENTSOURCEINFO *pInfo) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpEventSource, 0xbe7a9cce, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
#endif
#else
typedef struct ISpEventSourceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpEventSource *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpEventSource *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpEventSource *This);
/*** ISpNotifySource methods ***/
HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
ISpEventSource *This,
ISpNotifySink *pNotifySink);
HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
ISpEventSource *This,
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
ISpEventSource *This,
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
ISpEventSource *This,
ISpNotifyCallback *pSpCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
ISpEventSource *This);
HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
ISpEventSource *This,
DWORD dwMilliseconds);
HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
ISpEventSource *This);
/*** ISpEventSource methods ***/
HRESULT (STDMETHODCALLTYPE *SetInterest)(
ISpEventSource *This,
ULONGLONG ullEventInterest,
ULONGLONG ullQueuedInterest);
HRESULT (STDMETHODCALLTYPE *GetEvents)(
ISpEventSource *This,
ULONG ulCount,
SPEVENT *pEventArray,
ULONG *pulFetched);
HRESULT (STDMETHODCALLTYPE *GetInfo)(
ISpEventSource *This,
SPEVENTSOURCEINFO *pInfo);
END_INTERFACE
} ISpEventSourceVtbl;
interface ISpEventSource {
CONST_VTBL ISpEventSourceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpEventSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpEventSource_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpEventSource_Release(This) (This)->lpVtbl->Release(This)
/*** ISpNotifySource methods ***/
#define ISpEventSource_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
#define ISpEventSource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
#define ISpEventSource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
#define ISpEventSource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
#define ISpEventSource_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
#define ISpEventSource_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
#define ISpEventSource_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
/*** ISpEventSource methods ***/
#define ISpEventSource_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
#define ISpEventSource_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
#define ISpEventSource_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpEventSource_QueryInterface(ISpEventSource* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpEventSource_AddRef(ISpEventSource* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpEventSource_Release(ISpEventSource* This) {
return This->lpVtbl->Release(This);
}
/*** ISpNotifySource methods ***/
static FORCEINLINE HRESULT ISpEventSource_SetNotifySink(ISpEventSource* This,ISpNotifySink *pNotifySink) {
return This->lpVtbl->SetNotifySink(This,pNotifySink);
}
static FORCEINLINE HRESULT ISpEventSource_SetNotifyWindowMessage(ISpEventSource* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
}
static FORCEINLINE HRESULT ISpEventSource_SetNotifyCallbackFunction(ISpEventSource* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpEventSource_SetNotifyCallbackInterface(ISpEventSource* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpEventSource_SetNotifyWin32Event(ISpEventSource* This) {
return This->lpVtbl->SetNotifyWin32Event(This);
}
static FORCEINLINE HRESULT ISpEventSource_WaitForNotifyEvent(ISpEventSource* This,DWORD dwMilliseconds) {
return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
}
static FORCEINLINE HANDLE ISpEventSource_GetNotifyEventHandle(ISpEventSource* This) {
return This->lpVtbl->GetNotifyEventHandle(This);
}
/*** ISpEventSource methods ***/
static FORCEINLINE HRESULT ISpEventSource_SetInterest(ISpEventSource* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
}
static FORCEINLINE HRESULT ISpEventSource_GetEvents(ISpEventSource* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
}
static FORCEINLINE HRESULT ISpEventSource_GetInfo(ISpEventSource* This,SPEVENTSOURCEINFO *pInfo) {
return This->lpVtbl->GetInfo(This,pInfo);
}
#endif
#endif
#endif
#endif /* __ISpEventSource_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpEventSource2 interface
*/
#ifndef __ISpEventSource2_INTERFACE_DEFINED__
#define __ISpEventSource2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpEventSource2, 0x2373a435, 0x6a4b, 0x429e, 0xa6,0xac, 0xd4,0x23,0x1a,0x61,0x97,0x5b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2373a435-6a4b-429e-a6ac-d4231a61975b")
ISpEventSource2 : public ISpEventSource
{
virtual HRESULT STDMETHODCALLTYPE GetEventsEx(
ULONG ulCount,
SPEVENTEX *pEventArray,
ULONG *pulFetched) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpEventSource2, 0x2373a435, 0x6a4b, 0x429e, 0xa6,0xac, 0xd4,0x23,0x1a,0x61,0x97,0x5b)
#endif
#else
typedef struct ISpEventSource2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpEventSource2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpEventSource2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpEventSource2 *This);
/*** ISpNotifySource methods ***/
HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
ISpEventSource2 *This,
ISpNotifySink *pNotifySink);
HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
ISpEventSource2 *This,
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
ISpEventSource2 *This,
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
ISpEventSource2 *This,
ISpNotifyCallback *pSpCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
ISpEventSource2 *This);
HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
ISpEventSource2 *This,
DWORD dwMilliseconds);
HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
ISpEventSource2 *This);
/*** ISpEventSource methods ***/
HRESULT (STDMETHODCALLTYPE *SetInterest)(
ISpEventSource2 *This,
ULONGLONG ullEventInterest,
ULONGLONG ullQueuedInterest);
HRESULT (STDMETHODCALLTYPE *GetEvents)(
ISpEventSource2 *This,
ULONG ulCount,
SPEVENT *pEventArray,
ULONG *pulFetched);
HRESULT (STDMETHODCALLTYPE *GetInfo)(
ISpEventSource2 *This,
SPEVENTSOURCEINFO *pInfo);
/*** ISpEventSource2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetEventsEx)(
ISpEventSource2 *This,
ULONG ulCount,
SPEVENTEX *pEventArray,
ULONG *pulFetched);
END_INTERFACE
} ISpEventSource2Vtbl;
interface ISpEventSource2 {
CONST_VTBL ISpEventSource2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpEventSource2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpEventSource2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpEventSource2_Release(This) (This)->lpVtbl->Release(This)
/*** ISpNotifySource methods ***/
#define ISpEventSource2_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
#define ISpEventSource2_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
#define ISpEventSource2_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
#define ISpEventSource2_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
#define ISpEventSource2_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
#define ISpEventSource2_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
#define ISpEventSource2_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
/*** ISpEventSource methods ***/
#define ISpEventSource2_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
#define ISpEventSource2_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
#define ISpEventSource2_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
/*** ISpEventSource2 methods ***/
#define ISpEventSource2_GetEventsEx(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEventsEx(This,ulCount,pEventArray,pulFetched)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpEventSource2_QueryInterface(ISpEventSource2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpEventSource2_AddRef(ISpEventSource2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpEventSource2_Release(ISpEventSource2* This) {
return This->lpVtbl->Release(This);
}
/*** ISpNotifySource methods ***/
static FORCEINLINE HRESULT ISpEventSource2_SetNotifySink(ISpEventSource2* This,ISpNotifySink *pNotifySink) {
return This->lpVtbl->SetNotifySink(This,pNotifySink);
}
static FORCEINLINE HRESULT ISpEventSource2_SetNotifyWindowMessage(ISpEventSource2* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
}
static FORCEINLINE HRESULT ISpEventSource2_SetNotifyCallbackFunction(ISpEventSource2* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpEventSource2_SetNotifyCallbackInterface(ISpEventSource2* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpEventSource2_SetNotifyWin32Event(ISpEventSource2* This) {
return This->lpVtbl->SetNotifyWin32Event(This);
}
static FORCEINLINE HRESULT ISpEventSource2_WaitForNotifyEvent(ISpEventSource2* This,DWORD dwMilliseconds) {
return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
}
static FORCEINLINE HANDLE ISpEventSource2_GetNotifyEventHandle(ISpEventSource2* This) {
return This->lpVtbl->GetNotifyEventHandle(This);
}
/*** ISpEventSource methods ***/
static FORCEINLINE HRESULT ISpEventSource2_SetInterest(ISpEventSource2* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
}
static FORCEINLINE HRESULT ISpEventSource2_GetEvents(ISpEventSource2* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
}
static FORCEINLINE HRESULT ISpEventSource2_GetInfo(ISpEventSource2* This,SPEVENTSOURCEINFO *pInfo) {
return This->lpVtbl->GetInfo(This,pInfo);
}
/*** ISpEventSource2 methods ***/
static FORCEINLINE HRESULT ISpEventSource2_GetEventsEx(ISpEventSource2* This,ULONG ulCount,SPEVENTEX *pEventArray,ULONG *pulFetched) {
return This->lpVtbl->GetEventsEx(This,ulCount,pEventArray,pulFetched);
}
#endif
#endif
#endif
#endif /* __ISpEventSource2_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpEventSink interface
*/
#ifndef __ISpEventSink_INTERFACE_DEFINED__
#define __ISpEventSink_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpEventSink, 0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("be7a9cc9-5f9e-11d2-960f-00c04f8ee628")
ISpEventSink : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddEvents(
const SPEVENT *pEventArray,
ULONG ulCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
ULONGLONG *pullEventInterest) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpEventSink, 0xbe7a9cc9, 0x5f9e, 0x11d2, 0x96,0x0f, 0x00,0xc0,0x4f,0x8e,0xe6,0x28)
#endif
#else
typedef struct ISpEventSinkVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpEventSink *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpEventSink *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpEventSink *This);
/*** ISpEventSink methods ***/
HRESULT (STDMETHODCALLTYPE *AddEvents)(
ISpEventSink *This,
const SPEVENT *pEventArray,
ULONG ulCount);
HRESULT (STDMETHODCALLTYPE *GetEventInterest)(
ISpEventSink *This,
ULONGLONG *pullEventInterest);
END_INTERFACE
} ISpEventSinkVtbl;
interface ISpEventSink {
CONST_VTBL ISpEventSinkVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpEventSink_Release(This) (This)->lpVtbl->Release(This)
/*** ISpEventSink methods ***/
#define ISpEventSink_AddEvents(This,pEventArray,ulCount) (This)->lpVtbl->AddEvents(This,pEventArray,ulCount)
#define ISpEventSink_GetEventInterest(This,pullEventInterest) (This)->lpVtbl->GetEventInterest(This,pullEventInterest)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpEventSink_QueryInterface(ISpEventSink* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpEventSink_AddRef(ISpEventSink* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpEventSink_Release(ISpEventSink* This) {
return This->lpVtbl->Release(This);
}
/*** ISpEventSink methods ***/
static FORCEINLINE HRESULT ISpEventSink_AddEvents(ISpEventSink* This,const SPEVENT *pEventArray,ULONG ulCount) {
return This->lpVtbl->AddEvents(This,pEventArray,ulCount);
}
static FORCEINLINE HRESULT ISpEventSink_GetEventInterest(ISpEventSink* This,ULONGLONG *pullEventInterest) {
return This->lpVtbl->GetEventInterest(This,pullEventInterest);
}
#endif
#endif
#endif
#endif /* __ISpEventSink_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpStreamFormat interface
*/
#ifndef __ISpStreamFormat_INTERFACE_DEFINED__
#define __ISpStreamFormat_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpStreamFormat, 0xbed530be, 0x2606, 0x4f4d, 0xa1,0xc0, 0x54,0xc5,0xcd,0xa5,0x56,0x6f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bed530be-2606-4f4d-a1c0-54c5cda5566f")
ISpStreamFormat : public IStream
{
virtual HRESULT STDMETHODCALLTYPE GetFormat(
GUID *pguidFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpStreamFormat, 0xbed530be, 0x2606, 0x4f4d, 0xa1,0xc0, 0x54,0xc5,0xcd,0xa5,0x56,0x6f)
#endif
#else
typedef struct ISpStreamFormatVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpStreamFormat *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpStreamFormat *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpStreamFormat *This);
/*** ISequentialStream methods ***/
HRESULT (STDMETHODCALLTYPE *Read)(
ISpStreamFormat *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpStreamFormat *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
/*** IStream methods ***/
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpStreamFormat *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT (STDMETHODCALLTYPE *SetSize)(
ISpStreamFormat *This,
ULARGE_INTEGER libNewSize);
HRESULT (STDMETHODCALLTYPE *CopyTo)(
ISpStreamFormat *This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT (STDMETHODCALLTYPE *Commit)(
ISpStreamFormat *This,
DWORD grfCommitFlags);
HRESULT (STDMETHODCALLTYPE *Revert)(
ISpStreamFormat *This);
HRESULT (STDMETHODCALLTYPE *LockRegion)(
ISpStreamFormat *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
ISpStreamFormat *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *Stat)(
ISpStreamFormat *This,
STATSTG *pstatstg,
DWORD grfStatFlag);
HRESULT (STDMETHODCALLTYPE *Clone)(
ISpStreamFormat *This,
IStream **ppstm);
/*** ISpStreamFormat methods ***/
HRESULT (STDMETHODCALLTYPE *GetFormat)(
ISpStreamFormat *This,
GUID *pguidFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx);
END_INTERFACE
} ISpStreamFormatVtbl;
interface ISpStreamFormat {
CONST_VTBL ISpStreamFormatVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpStreamFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpStreamFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpStreamFormat_Release(This) (This)->lpVtbl->Release(This)
/*** ISequentialStream methods ***/
#define ISpStreamFormat_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
#define ISpStreamFormat_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
/*** IStream methods ***/
#define ISpStreamFormat_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
#define ISpStreamFormat_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
#define ISpStreamFormat_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
#define ISpStreamFormat_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
#define ISpStreamFormat_Revert(This) (This)->lpVtbl->Revert(This)
#define ISpStreamFormat_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
#define ISpStreamFormat_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
#define ISpStreamFormat_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
#define ISpStreamFormat_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
/*** ISpStreamFormat methods ***/
#define ISpStreamFormat_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpStreamFormat_QueryInterface(ISpStreamFormat* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpStreamFormat_AddRef(ISpStreamFormat* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpStreamFormat_Release(ISpStreamFormat* This) {
return This->lpVtbl->Release(This);
}
/*** ISequentialStream methods ***/
static FORCEINLINE HRESULT ISpStreamFormat_Read(ISpStreamFormat* This,void *pv,ULONG cb,ULONG *pcbRead) {
return This->lpVtbl->Read(This,pv,cb,pcbRead);
}
static FORCEINLINE HRESULT ISpStreamFormat_Write(ISpStreamFormat* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
return This->lpVtbl->Write(This,pv,cb,pcbWritten);
}
/*** IStream methods ***/
static FORCEINLINE HRESULT ISpStreamFormat_Seek(ISpStreamFormat* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
}
static FORCEINLINE HRESULT ISpStreamFormat_SetSize(ISpStreamFormat* This,ULARGE_INTEGER libNewSize) {
return This->lpVtbl->SetSize(This,libNewSize);
}
static FORCEINLINE HRESULT ISpStreamFormat_CopyTo(ISpStreamFormat* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
}
static FORCEINLINE HRESULT ISpStreamFormat_Commit(ISpStreamFormat* This,DWORD grfCommitFlags) {
return This->lpVtbl->Commit(This,grfCommitFlags);
}
static FORCEINLINE HRESULT ISpStreamFormat_Revert(ISpStreamFormat* This) {
return This->lpVtbl->Revert(This);
}
static FORCEINLINE HRESULT ISpStreamFormat_LockRegion(ISpStreamFormat* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpStreamFormat_UnlockRegion(ISpStreamFormat* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpStreamFormat_Stat(ISpStreamFormat* This,STATSTG *pstatstg,DWORD grfStatFlag) {
return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}
static FORCEINLINE HRESULT ISpStreamFormat_Clone(ISpStreamFormat* This,IStream **ppstm) {
return This->lpVtbl->Clone(This,ppstm);
}
/*** ISpStreamFormat methods ***/
static FORCEINLINE HRESULT ISpStreamFormat_GetFormat(ISpStreamFormat* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
}
#endif
#endif
#endif
#endif /* __ISpStreamFormat_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpStream interface
*/
#ifndef __ISpStream_INTERFACE_DEFINED__
#define __ISpStream_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpStream, 0x12e3cca9, 0x7518, 0x44c5, 0xa5,0xe7, 0xba,0x5a,0x79,0xcb,0x92,0x9e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("12e3cca9-7518-44c5-a5e7-ba5a79cb929e")
ISpStream : public ISpStreamFormat
{
virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
IStream *pStream,
REFGUID rguidFormat,
const WAVEFORMATEX *pWaveFormatEx) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
IStream **ppStream) = 0;
virtual HRESULT STDMETHODCALLTYPE BindToFile(
LPCWSTR pszFileName,
SPFILEMODE eMode,
const GUID *pFormatId,
const WAVEFORMATEX *pWaveFormatEx,
ULONGLONG ullEventInterest) = 0;
virtual HRESULT STDMETHODCALLTYPE Close(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpStream, 0x12e3cca9, 0x7518, 0x44c5, 0xa5,0xe7, 0xba,0x5a,0x79,0xcb,0x92,0x9e)
#endif
#else
typedef struct ISpStreamVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpStream *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpStream *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpStream *This);
/*** ISequentialStream methods ***/
HRESULT (STDMETHODCALLTYPE *Read)(
ISpStream *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpStream *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
/*** IStream methods ***/
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpStream *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT (STDMETHODCALLTYPE *SetSize)(
ISpStream *This,
ULARGE_INTEGER libNewSize);
HRESULT (STDMETHODCALLTYPE *CopyTo)(
ISpStream *This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT (STDMETHODCALLTYPE *Commit)(
ISpStream *This,
DWORD grfCommitFlags);
HRESULT (STDMETHODCALLTYPE *Revert)(
ISpStream *This);
HRESULT (STDMETHODCALLTYPE *LockRegion)(
ISpStream *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
ISpStream *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *Stat)(
ISpStream *This,
STATSTG *pstatstg,
DWORD grfStatFlag);
HRESULT (STDMETHODCALLTYPE *Clone)(
ISpStream *This,
IStream **ppstm);
/*** ISpStreamFormat methods ***/
HRESULT (STDMETHODCALLTYPE *GetFormat)(
ISpStream *This,
GUID *pguidFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx);
/*** ISpStream methods ***/
HRESULT (STDMETHODCALLTYPE *SetBaseStream)(
ISpStream *This,
IStream *pStream,
REFGUID rguidFormat,
const WAVEFORMATEX *pWaveFormatEx);
HRESULT (STDMETHODCALLTYPE *GetBaseStream)(
ISpStream *This,
IStream **ppStream);
HRESULT (STDMETHODCALLTYPE *BindToFile)(
ISpStream *This,
LPCWSTR pszFileName,
SPFILEMODE eMode,
const GUID *pFormatId,
const WAVEFORMATEX *pWaveFormatEx,
ULONGLONG ullEventInterest);
HRESULT (STDMETHODCALLTYPE *Close)(
ISpStream *This);
END_INTERFACE
} ISpStreamVtbl;
interface ISpStream {
CONST_VTBL ISpStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpStream_Release(This) (This)->lpVtbl->Release(This)
/*** ISequentialStream methods ***/
#define ISpStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
#define ISpStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
/*** IStream methods ***/
#define ISpStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
#define ISpStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
#define ISpStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
#define ISpStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
#define ISpStream_Revert(This) (This)->lpVtbl->Revert(This)
#define ISpStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
#define ISpStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
#define ISpStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
#define ISpStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
/*** ISpStreamFormat methods ***/
#define ISpStream_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
/*** ISpStream methods ***/
#define ISpStream_SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx) (This)->lpVtbl->SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx)
#define ISpStream_GetBaseStream(This,ppStream) (This)->lpVtbl->GetBaseStream(This,ppStream)
#define ISpStream_BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest) (This)->lpVtbl->BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
#define ISpStream_Close(This) (This)->lpVtbl->Close(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpStream_QueryInterface(ISpStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpStream_AddRef(ISpStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpStream_Release(ISpStream* This) {
return This->lpVtbl->Release(This);
}
/*** ISequentialStream methods ***/
static FORCEINLINE HRESULT ISpStream_Read(ISpStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
return This->lpVtbl->Read(This,pv,cb,pcbRead);
}
static FORCEINLINE HRESULT ISpStream_Write(ISpStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
return This->lpVtbl->Write(This,pv,cb,pcbWritten);
}
/*** IStream methods ***/
static FORCEINLINE HRESULT ISpStream_Seek(ISpStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
}
static FORCEINLINE HRESULT ISpStream_SetSize(ISpStream* This,ULARGE_INTEGER libNewSize) {
return This->lpVtbl->SetSize(This,libNewSize);
}
static FORCEINLINE HRESULT ISpStream_CopyTo(ISpStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
}
static FORCEINLINE HRESULT ISpStream_Commit(ISpStream* This,DWORD grfCommitFlags) {
return This->lpVtbl->Commit(This,grfCommitFlags);
}
static FORCEINLINE HRESULT ISpStream_Revert(ISpStream* This) {
return This->lpVtbl->Revert(This);
}
static FORCEINLINE HRESULT ISpStream_LockRegion(ISpStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpStream_UnlockRegion(ISpStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpStream_Stat(ISpStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}
static FORCEINLINE HRESULT ISpStream_Clone(ISpStream* This,IStream **ppstm) {
return This->lpVtbl->Clone(This,ppstm);
}
/*** ISpStreamFormat methods ***/
static FORCEINLINE HRESULT ISpStream_GetFormat(ISpStream* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
}
/*** ISpStream methods ***/
static FORCEINLINE HRESULT ISpStream_SetBaseStream(ISpStream* This,IStream *pStream,REFGUID rguidFormat,const WAVEFORMATEX *pWaveFormatEx) {
return This->lpVtbl->SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx);
}
static FORCEINLINE HRESULT ISpStream_GetBaseStream(ISpStream* This,IStream **ppStream) {
return This->lpVtbl->GetBaseStream(This,ppStream);
}
static FORCEINLINE HRESULT ISpStream_BindToFile(ISpStream* This,LPCWSTR pszFileName,SPFILEMODE eMode,const GUID *pFormatId,const WAVEFORMATEX *pWaveFormatEx,ULONGLONG ullEventInterest) {
return This->lpVtbl->BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest);
}
static FORCEINLINE HRESULT ISpStream_Close(ISpStream* This) {
return This->lpVtbl->Close(This);
}
#endif
#endif
#endif
#endif /* __ISpStream_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpStreamFormatConverter interface
*/
#ifndef __ISpStreamFormatConverter_INTERFACE_DEFINED__
#define __ISpStreamFormatConverter_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpStreamFormatConverter, 0x678a932c, 0xea71, 0x4446, 0x9b,0x41, 0x78,0xfd,0xa6,0x28,0x0a,0x29);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("678a932c-ea71-4446-9b41-78fda6280a29")
ISpStreamFormatConverter : public ISpStreamFormat
{
virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
ISpStreamFormat *pStream,
WINBOOL fSetFormatToBaseStreamFormat,
WINBOOL fWriteToBaseStream) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
ISpStreamFormat **ppStream) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFormat(
REFGUID rguidFormatIdOfConvertedStream,
const WAVEFORMATEX *pWaveFormatExOfConvertedStream) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetSeekPosition(
) = 0;
virtual HRESULT STDMETHODCALLTYPE ScaleConvertedToBaseOffset(
ULONGLONG ullOffsetConvertedStream,
ULONGLONG *pullOffsetBaseStream) = 0;
virtual HRESULT STDMETHODCALLTYPE ScaleBaseToConvertedOffset(
ULONGLONG ullOffsetBaseStream,
ULONGLONG *pullOffsetConvertedStream) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpStreamFormatConverter, 0x678a932c, 0xea71, 0x4446, 0x9b,0x41, 0x78,0xfd,0xa6,0x28,0x0a,0x29)
#endif
#else
typedef struct ISpStreamFormatConverterVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpStreamFormatConverter *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpStreamFormatConverter *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpStreamFormatConverter *This);
/*** ISequentialStream methods ***/
HRESULT (STDMETHODCALLTYPE *Read)(
ISpStreamFormatConverter *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpStreamFormatConverter *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
/*** IStream methods ***/
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpStreamFormatConverter *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT (STDMETHODCALLTYPE *SetSize)(
ISpStreamFormatConverter *This,
ULARGE_INTEGER libNewSize);
HRESULT (STDMETHODCALLTYPE *CopyTo)(
ISpStreamFormatConverter *This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT (STDMETHODCALLTYPE *Commit)(
ISpStreamFormatConverter *This,
DWORD grfCommitFlags);
HRESULT (STDMETHODCALLTYPE *Revert)(
ISpStreamFormatConverter *This);
HRESULT (STDMETHODCALLTYPE *LockRegion)(
ISpStreamFormatConverter *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
ISpStreamFormatConverter *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *Stat)(
ISpStreamFormatConverter *This,
STATSTG *pstatstg,
DWORD grfStatFlag);
HRESULT (STDMETHODCALLTYPE *Clone)(
ISpStreamFormatConverter *This,
IStream **ppstm);
/*** ISpStreamFormat methods ***/
HRESULT (STDMETHODCALLTYPE *GetFormat)(
ISpStreamFormatConverter *This,
GUID *pguidFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx);
/*** ISpStreamFormatConverter methods ***/
HRESULT (STDMETHODCALLTYPE *SetBaseStream)(
ISpStreamFormatConverter *This,
ISpStreamFormat *pStream,
WINBOOL fSetFormatToBaseStreamFormat,
WINBOOL fWriteToBaseStream);
HRESULT (STDMETHODCALLTYPE *GetBaseStream)(
ISpStreamFormatConverter *This,
ISpStreamFormat **ppStream);
HRESULT (STDMETHODCALLTYPE *SetFormat)(
ISpStreamFormatConverter *This,
REFGUID rguidFormatIdOfConvertedStream,
const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
HRESULT (STDMETHODCALLTYPE *ResetSeekPosition)(
ISpStreamFormatConverter *This);
HRESULT (STDMETHODCALLTYPE *ScaleConvertedToBaseOffset)(
ISpStreamFormatConverter *This,
ULONGLONG ullOffsetConvertedStream,
ULONGLONG *pullOffsetBaseStream);
HRESULT (STDMETHODCALLTYPE *ScaleBaseToConvertedOffset)(
ISpStreamFormatConverter *This,
ULONGLONG ullOffsetBaseStream,
ULONGLONG *pullOffsetConvertedStream);
END_INTERFACE
} ISpStreamFormatConverterVtbl;
interface ISpStreamFormatConverter {
CONST_VTBL ISpStreamFormatConverterVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpStreamFormatConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpStreamFormatConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpStreamFormatConverter_Release(This) (This)->lpVtbl->Release(This)
/*** ISequentialStream methods ***/
#define ISpStreamFormatConverter_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
#define ISpStreamFormatConverter_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
/*** IStream methods ***/
#define ISpStreamFormatConverter_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
#define ISpStreamFormatConverter_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
#define ISpStreamFormatConverter_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
#define ISpStreamFormatConverter_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
#define ISpStreamFormatConverter_Revert(This) (This)->lpVtbl->Revert(This)
#define ISpStreamFormatConverter_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
#define ISpStreamFormatConverter_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
#define ISpStreamFormatConverter_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
#define ISpStreamFormatConverter_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
/*** ISpStreamFormat methods ***/
#define ISpStreamFormatConverter_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
/*** ISpStreamFormatConverter methods ***/
#define ISpStreamFormatConverter_SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream) (This)->lpVtbl->SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)
#define ISpStreamFormatConverter_GetBaseStream(This,ppStream) (This)->lpVtbl->GetBaseStream(This,ppStream)
#define ISpStreamFormatConverter_SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream) (This)->lpVtbl->SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)
#define ISpStreamFormatConverter_ResetSeekPosition(This) (This)->lpVtbl->ResetSeekPosition(This)
#define ISpStreamFormatConverter_ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream) (This)->lpVtbl->ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream)
#define ISpStreamFormatConverter_ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream) (This)->lpVtbl->ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpStreamFormatConverter_QueryInterface(ISpStreamFormatConverter* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpStreamFormatConverter_AddRef(ISpStreamFormatConverter* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpStreamFormatConverter_Release(ISpStreamFormatConverter* This) {
return This->lpVtbl->Release(This);
}
/*** ISequentialStream methods ***/
static FORCEINLINE HRESULT ISpStreamFormatConverter_Read(ISpStreamFormatConverter* This,void *pv,ULONG cb,ULONG *pcbRead) {
return This->lpVtbl->Read(This,pv,cb,pcbRead);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_Write(ISpStreamFormatConverter* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
return This->lpVtbl->Write(This,pv,cb,pcbWritten);
}
/*** IStream methods ***/
static FORCEINLINE HRESULT ISpStreamFormatConverter_Seek(ISpStreamFormatConverter* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_SetSize(ISpStreamFormatConverter* This,ULARGE_INTEGER libNewSize) {
return This->lpVtbl->SetSize(This,libNewSize);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_CopyTo(ISpStreamFormatConverter* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_Commit(ISpStreamFormatConverter* This,DWORD grfCommitFlags) {
return This->lpVtbl->Commit(This,grfCommitFlags);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_Revert(ISpStreamFormatConverter* This) {
return This->lpVtbl->Revert(This);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_LockRegion(ISpStreamFormatConverter* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_UnlockRegion(ISpStreamFormatConverter* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_Stat(ISpStreamFormatConverter* This,STATSTG *pstatstg,DWORD grfStatFlag) {
return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_Clone(ISpStreamFormatConverter* This,IStream **ppstm) {
return This->lpVtbl->Clone(This,ppstm);
}
/*** ISpStreamFormat methods ***/
static FORCEINLINE HRESULT ISpStreamFormatConverter_GetFormat(ISpStreamFormatConverter* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
}
/*** ISpStreamFormatConverter methods ***/
static FORCEINLINE HRESULT ISpStreamFormatConverter_SetBaseStream(ISpStreamFormatConverter* This,ISpStreamFormat *pStream,WINBOOL fSetFormatToBaseStreamFormat,WINBOOL fWriteToBaseStream) {
return This->lpVtbl->SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_GetBaseStream(ISpStreamFormatConverter* This,ISpStreamFormat **ppStream) {
return This->lpVtbl->GetBaseStream(This,ppStream);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_SetFormat(ISpStreamFormatConverter* This,REFGUID rguidFormatIdOfConvertedStream,const WAVEFORMATEX *pWaveFormatExOfConvertedStream) {
return This->lpVtbl->SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_ResetSeekPosition(ISpStreamFormatConverter* This) {
return This->lpVtbl->ResetSeekPosition(This);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_ScaleConvertedToBaseOffset(ISpStreamFormatConverter* This,ULONGLONG ullOffsetConvertedStream,ULONGLONG *pullOffsetBaseStream) {
return This->lpVtbl->ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream);
}
static FORCEINLINE HRESULT ISpStreamFormatConverter_ScaleBaseToConvertedOffset(ISpStreamFormatConverter* This,ULONGLONG ullOffsetBaseStream,ULONGLONG *pullOffsetConvertedStream) {
return This->lpVtbl->ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream);
}
#endif
#endif
#endif
#endif /* __ISpStreamFormatConverter_INTERFACE_DEFINED__ */
typedef struct SPAUDIOSTATUS {
LONG cbFreeBuffSpace;
ULONG cbNonBlockingIO;
SPAUDIOSTATE State;
ULONGLONG CurSeekPos;
ULONGLONG CurDevicePos;
DWORD dwAudioLevel;
DWORD dwReserved2;
} SPAUDIOSTATUS;
typedef struct SPAUDIOBUFFERINFO {
ULONG ulMsMinNotification;
ULONG ulMsBufferSize;
ULONG ulMsEventBias;
} SPAUDIOBUFFERINFO;
/*****************************************************************************
* ISpAudio interface
*/
#ifndef __ISpAudio_INTERFACE_DEFINED__
#define __ISpAudio_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpAudio, 0xc05c768f, 0xfae8, 0x4ec2, 0x8e,0x07, 0x33,0x83,0x21,0xc1,0x24,0x52);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c05c768f-fae8-4ec2-8e07-338321c12452")
ISpAudio : public ISpStreamFormat
{
virtual HRESULT STDMETHODCALLTYPE SetState(
SPAUDIOSTATE NewState,
ULONGLONG ullReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFormat(
REFGUID rguidFmtId,
const WAVEFORMATEX *pWaveFormatEx) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus(
SPAUDIOSTATUS *pStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBufferInfo(
const SPAUDIOBUFFERINFO *pBuffInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferInfo(
SPAUDIOBUFFERINFO *pBuffInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultFormat(
GUID *pFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
virtual HANDLE STDMETHODCALLTYPE EventHandle(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVolumeLevel(
ULONG *pLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVolumeLevel(
ULONG Level) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferNotifySize(
ULONG *pcbSize) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBufferNotifySize(
ULONG cbSize) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpAudio, 0xc05c768f, 0xfae8, 0x4ec2, 0x8e,0x07, 0x33,0x83,0x21,0xc1,0x24,0x52)
#endif
#else
typedef struct ISpAudioVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpAudio *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpAudio *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpAudio *This);
/*** ISequentialStream methods ***/
HRESULT (STDMETHODCALLTYPE *Read)(
ISpAudio *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpAudio *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
/*** IStream methods ***/
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpAudio *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT (STDMETHODCALLTYPE *SetSize)(
ISpAudio *This,
ULARGE_INTEGER libNewSize);
HRESULT (STDMETHODCALLTYPE *CopyTo)(
ISpAudio *This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT (STDMETHODCALLTYPE *Commit)(
ISpAudio *This,
DWORD grfCommitFlags);
HRESULT (STDMETHODCALLTYPE *Revert)(
ISpAudio *This);
HRESULT (STDMETHODCALLTYPE *LockRegion)(
ISpAudio *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
ISpAudio *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *Stat)(
ISpAudio *This,
STATSTG *pstatstg,
DWORD grfStatFlag);
HRESULT (STDMETHODCALLTYPE *Clone)(
ISpAudio *This,
IStream **ppstm);
/*** ISpStreamFormat methods ***/
HRESULT (STDMETHODCALLTYPE *GetFormat)(
ISpAudio *This,
GUID *pguidFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx);
/*** ISpAudio methods ***/
HRESULT (STDMETHODCALLTYPE *SetState)(
ISpAudio *This,
SPAUDIOSTATE NewState,
ULONGLONG ullReserved);
HRESULT (STDMETHODCALLTYPE *SetFormat)(
ISpAudio *This,
REFGUID rguidFmtId,
const WAVEFORMATEX *pWaveFormatEx);
HRESULT (STDMETHODCALLTYPE *GetStatus)(
ISpAudio *This,
SPAUDIOSTATUS *pStatus);
HRESULT (STDMETHODCALLTYPE *SetBufferInfo)(
ISpAudio *This,
const SPAUDIOBUFFERINFO *pBuffInfo);
HRESULT (STDMETHODCALLTYPE *GetBufferInfo)(
ISpAudio *This,
SPAUDIOBUFFERINFO *pBuffInfo);
HRESULT (STDMETHODCALLTYPE *GetDefaultFormat)(
ISpAudio *This,
GUID *pFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx);
HANDLE (STDMETHODCALLTYPE *EventHandle)(
ISpAudio *This);
HRESULT (STDMETHODCALLTYPE *GetVolumeLevel)(
ISpAudio *This,
ULONG *pLevel);
HRESULT (STDMETHODCALLTYPE *SetVolumeLevel)(
ISpAudio *This,
ULONG Level);
HRESULT (STDMETHODCALLTYPE *GetBufferNotifySize)(
ISpAudio *This,
ULONG *pcbSize);
HRESULT (STDMETHODCALLTYPE *SetBufferNotifySize)(
ISpAudio *This,
ULONG cbSize);
END_INTERFACE
} ISpAudioVtbl;
interface ISpAudio {
CONST_VTBL ISpAudioVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpAudio_Release(This) (This)->lpVtbl->Release(This)
/*** ISequentialStream methods ***/
#define ISpAudio_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
#define ISpAudio_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
/*** IStream methods ***/
#define ISpAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
#define ISpAudio_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
#define ISpAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
#define ISpAudio_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
#define ISpAudio_Revert(This) (This)->lpVtbl->Revert(This)
#define ISpAudio_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
#define ISpAudio_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
#define ISpAudio_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
#define ISpAudio_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
/*** ISpStreamFormat methods ***/
#define ISpAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
/*** ISpAudio methods ***/
#define ISpAudio_SetState(This,NewState,ullReserved) (This)->lpVtbl->SetState(This,NewState,ullReserved)
#define ISpAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) (This)->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx)
#define ISpAudio_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
#define ISpAudio_SetBufferInfo(This,pBuffInfo) (This)->lpVtbl->SetBufferInfo(This,pBuffInfo)
#define ISpAudio_GetBufferInfo(This,pBuffInfo) (This)->lpVtbl->GetBufferInfo(This,pBuffInfo)
#define ISpAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
#define ISpAudio_EventHandle(This) (This)->lpVtbl->EventHandle(This)
#define ISpAudio_GetVolumeLevel(This,pLevel) (This)->lpVtbl->GetVolumeLevel(This,pLevel)
#define ISpAudio_SetVolumeLevel(This,Level) (This)->lpVtbl->SetVolumeLevel(This,Level)
#define ISpAudio_GetBufferNotifySize(This,pcbSize) (This)->lpVtbl->GetBufferNotifySize(This,pcbSize)
#define ISpAudio_SetBufferNotifySize(This,cbSize) (This)->lpVtbl->SetBufferNotifySize(This,cbSize)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpAudio_QueryInterface(ISpAudio* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpAudio_AddRef(ISpAudio* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpAudio_Release(ISpAudio* This) {
return This->lpVtbl->Release(This);
}
/*** ISequentialStream methods ***/
static FORCEINLINE HRESULT ISpAudio_Read(ISpAudio* This,void *pv,ULONG cb,ULONG *pcbRead) {
return This->lpVtbl->Read(This,pv,cb,pcbRead);
}
static FORCEINLINE HRESULT ISpAudio_Write(ISpAudio* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
return This->lpVtbl->Write(This,pv,cb,pcbWritten);
}
/*** IStream methods ***/
static FORCEINLINE HRESULT ISpAudio_Seek(ISpAudio* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
}
static FORCEINLINE HRESULT ISpAudio_SetSize(ISpAudio* This,ULARGE_INTEGER libNewSize) {
return This->lpVtbl->SetSize(This,libNewSize);
}
static FORCEINLINE HRESULT ISpAudio_CopyTo(ISpAudio* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
}
static FORCEINLINE HRESULT ISpAudio_Commit(ISpAudio* This,DWORD grfCommitFlags) {
return This->lpVtbl->Commit(This,grfCommitFlags);
}
static FORCEINLINE HRESULT ISpAudio_Revert(ISpAudio* This) {
return This->lpVtbl->Revert(This);
}
static FORCEINLINE HRESULT ISpAudio_LockRegion(ISpAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpAudio_UnlockRegion(ISpAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpAudio_Stat(ISpAudio* This,STATSTG *pstatstg,DWORD grfStatFlag) {
return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}
static FORCEINLINE HRESULT ISpAudio_Clone(ISpAudio* This,IStream **ppstm) {
return This->lpVtbl->Clone(This,ppstm);
}
/*** ISpStreamFormat methods ***/
static FORCEINLINE HRESULT ISpAudio_GetFormat(ISpAudio* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
}
/*** ISpAudio methods ***/
static FORCEINLINE HRESULT ISpAudio_SetState(ISpAudio* This,SPAUDIOSTATE NewState,ULONGLONG ullReserved) {
return This->lpVtbl->SetState(This,NewState,ullReserved);
}
static FORCEINLINE HRESULT ISpAudio_SetFormat(ISpAudio* This,REFGUID rguidFmtId,const WAVEFORMATEX *pWaveFormatEx) {
return This->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx);
}
static FORCEINLINE HRESULT ISpAudio_GetStatus(ISpAudio* This,SPAUDIOSTATUS *pStatus) {
return This->lpVtbl->GetStatus(This,pStatus);
}
static FORCEINLINE HRESULT ISpAudio_SetBufferInfo(ISpAudio* This,const SPAUDIOBUFFERINFO *pBuffInfo) {
return This->lpVtbl->SetBufferInfo(This,pBuffInfo);
}
static FORCEINLINE HRESULT ISpAudio_GetBufferInfo(ISpAudio* This,SPAUDIOBUFFERINFO *pBuffInfo) {
return This->lpVtbl->GetBufferInfo(This,pBuffInfo);
}
static FORCEINLINE HRESULT ISpAudio_GetDefaultFormat(ISpAudio* This,GUID *pFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
return This->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx);
}
static FORCEINLINE HANDLE ISpAudio_EventHandle(ISpAudio* This) {
return This->lpVtbl->EventHandle(This);
}
static FORCEINLINE HRESULT ISpAudio_GetVolumeLevel(ISpAudio* This,ULONG *pLevel) {
return This->lpVtbl->GetVolumeLevel(This,pLevel);
}
static FORCEINLINE HRESULT ISpAudio_SetVolumeLevel(ISpAudio* This,ULONG Level) {
return This->lpVtbl->SetVolumeLevel(This,Level);
}
static FORCEINLINE HRESULT ISpAudio_GetBufferNotifySize(ISpAudio* This,ULONG *pcbSize) {
return This->lpVtbl->GetBufferNotifySize(This,pcbSize);
}
static FORCEINLINE HRESULT ISpAudio_SetBufferNotifySize(ISpAudio* This,ULONG cbSize) {
return This->lpVtbl->SetBufferNotifySize(This,cbSize);
}
#endif
#endif
#endif
#endif /* __ISpAudio_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpMMSysAudio interface
*/
#ifndef __ISpMMSysAudio_INTERFACE_DEFINED__
#define __ISpMMSysAudio_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpMMSysAudio, 0x15806f6e, 0x1d70, 0x4b48, 0x98,0xe6, 0x3b,0x1a,0x00,0x75,0x09,0xab);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("15806f6e-1d70-4b48-98e6-3b1a007509ab")
ISpMMSysAudio : public ISpAudio
{
virtual HRESULT STDMETHODCALLTYPE GetDeviceId(
UINT *puDeviceId) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDeviceId(
UINT uDeviceId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMMHandle(
void **pHandle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLineId(
UINT *puLineId) = 0;
virtual HRESULT STDMETHODCALLTYPE SetLineId(
UINT uLineId) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpMMSysAudio, 0x15806f6e, 0x1d70, 0x4b48, 0x98,0xe6, 0x3b,0x1a,0x00,0x75,0x09,0xab)
#endif
#else
typedef struct ISpMMSysAudioVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpMMSysAudio *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpMMSysAudio *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpMMSysAudio *This);
/*** ISequentialStream methods ***/
HRESULT (STDMETHODCALLTYPE *Read)(
ISpMMSysAudio *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpMMSysAudio *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
/*** IStream methods ***/
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpMMSysAudio *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT (STDMETHODCALLTYPE *SetSize)(
ISpMMSysAudio *This,
ULARGE_INTEGER libNewSize);
HRESULT (STDMETHODCALLTYPE *CopyTo)(
ISpMMSysAudio *This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT (STDMETHODCALLTYPE *Commit)(
ISpMMSysAudio *This,
DWORD grfCommitFlags);
HRESULT (STDMETHODCALLTYPE *Revert)(
ISpMMSysAudio *This);
HRESULT (STDMETHODCALLTYPE *LockRegion)(
ISpMMSysAudio *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
ISpMMSysAudio *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (STDMETHODCALLTYPE *Stat)(
ISpMMSysAudio *This,
STATSTG *pstatstg,
DWORD grfStatFlag);
HRESULT (STDMETHODCALLTYPE *Clone)(
ISpMMSysAudio *This,
IStream **ppstm);
/*** ISpStreamFormat methods ***/
HRESULT (STDMETHODCALLTYPE *GetFormat)(
ISpMMSysAudio *This,
GUID *pguidFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx);
/*** ISpAudio methods ***/
HRESULT (STDMETHODCALLTYPE *SetState)(
ISpMMSysAudio *This,
SPAUDIOSTATE NewState,
ULONGLONG ullReserved);
HRESULT (STDMETHODCALLTYPE *SetFormat)(
ISpMMSysAudio *This,
REFGUID rguidFmtId,
const WAVEFORMATEX *pWaveFormatEx);
HRESULT (STDMETHODCALLTYPE *GetStatus)(
ISpMMSysAudio *This,
SPAUDIOSTATUS *pStatus);
HRESULT (STDMETHODCALLTYPE *SetBufferInfo)(
ISpMMSysAudio *This,
const SPAUDIOBUFFERINFO *pBuffInfo);
HRESULT (STDMETHODCALLTYPE *GetBufferInfo)(
ISpMMSysAudio *This,
SPAUDIOBUFFERINFO *pBuffInfo);
HRESULT (STDMETHODCALLTYPE *GetDefaultFormat)(
ISpMMSysAudio *This,
GUID *pFormatId,
WAVEFORMATEX **ppCoMemWaveFormatEx);
HANDLE (STDMETHODCALLTYPE *EventHandle)(
ISpMMSysAudio *This);
HRESULT (STDMETHODCALLTYPE *GetVolumeLevel)(
ISpMMSysAudio *This,
ULONG *pLevel);
HRESULT (STDMETHODCALLTYPE *SetVolumeLevel)(
ISpMMSysAudio *This,
ULONG Level);
HRESULT (STDMETHODCALLTYPE *GetBufferNotifySize)(
ISpMMSysAudio *This,
ULONG *pcbSize);
HRESULT (STDMETHODCALLTYPE *SetBufferNotifySize)(
ISpMMSysAudio *This,
ULONG cbSize);
/*** ISpMMSysAudio methods ***/
HRESULT (STDMETHODCALLTYPE *GetDeviceId)(
ISpMMSysAudio *This,
UINT *puDeviceId);
HRESULT (STDMETHODCALLTYPE *SetDeviceId)(
ISpMMSysAudio *This,
UINT uDeviceId);
HRESULT (STDMETHODCALLTYPE *GetMMHandle)(
ISpMMSysAudio *This,
void **pHandle);
HRESULT (STDMETHODCALLTYPE *GetLineId)(
ISpMMSysAudio *This,
UINT *puLineId);
HRESULT (STDMETHODCALLTYPE *SetLineId)(
ISpMMSysAudio *This,
UINT uLineId);
END_INTERFACE
} ISpMMSysAudioVtbl;
interface ISpMMSysAudio {
CONST_VTBL ISpMMSysAudioVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpMMSysAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpMMSysAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpMMSysAudio_Release(This) (This)->lpVtbl->Release(This)
/*** ISequentialStream methods ***/
#define ISpMMSysAudio_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
#define ISpMMSysAudio_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
/*** IStream methods ***/
#define ISpMMSysAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
#define ISpMMSysAudio_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
#define ISpMMSysAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
#define ISpMMSysAudio_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
#define ISpMMSysAudio_Revert(This) (This)->lpVtbl->Revert(This)
#define ISpMMSysAudio_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
#define ISpMMSysAudio_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
#define ISpMMSysAudio_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
#define ISpMMSysAudio_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
/*** ISpStreamFormat methods ***/
#define ISpMMSysAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
/*** ISpAudio methods ***/
#define ISpMMSysAudio_SetState(This,NewState,ullReserved) (This)->lpVtbl->SetState(This,NewState,ullReserved)
#define ISpMMSysAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) (This)->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx)
#define ISpMMSysAudio_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
#define ISpMMSysAudio_SetBufferInfo(This,pBuffInfo) (This)->lpVtbl->SetBufferInfo(This,pBuffInfo)
#define ISpMMSysAudio_GetBufferInfo(This,pBuffInfo) (This)->lpVtbl->GetBufferInfo(This,pBuffInfo)
#define ISpMMSysAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) (This)->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
#define ISpMMSysAudio_EventHandle(This) (This)->lpVtbl->EventHandle(This)
#define ISpMMSysAudio_GetVolumeLevel(This,pLevel) (This)->lpVtbl->GetVolumeLevel(This,pLevel)
#define ISpMMSysAudio_SetVolumeLevel(This,Level) (This)->lpVtbl->SetVolumeLevel(This,Level)
#define ISpMMSysAudio_GetBufferNotifySize(This,pcbSize) (This)->lpVtbl->GetBufferNotifySize(This,pcbSize)
#define ISpMMSysAudio_SetBufferNotifySize(This,cbSize) (This)->lpVtbl->SetBufferNotifySize(This,cbSize)
/*** ISpMMSysAudio methods ***/
#define ISpMMSysAudio_GetDeviceId(This,puDeviceId) (This)->lpVtbl->GetDeviceId(This,puDeviceId)
#define ISpMMSysAudio_SetDeviceId(This,uDeviceId) (This)->lpVtbl->SetDeviceId(This,uDeviceId)
#define ISpMMSysAudio_GetMMHandle(This,pHandle) (This)->lpVtbl->GetMMHandle(This,pHandle)
#define ISpMMSysAudio_GetLineId(This,puLineId) (This)->lpVtbl->GetLineId(This,puLineId)
#define ISpMMSysAudio_SetLineId(This,uLineId) (This)->lpVtbl->SetLineId(This,uLineId)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpMMSysAudio_QueryInterface(ISpMMSysAudio* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpMMSysAudio_AddRef(ISpMMSysAudio* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpMMSysAudio_Release(ISpMMSysAudio* This) {
return This->lpVtbl->Release(This);
}
/*** ISequentialStream methods ***/
static FORCEINLINE HRESULT ISpMMSysAudio_Read(ISpMMSysAudio* This,void *pv,ULONG cb,ULONG *pcbRead) {
return This->lpVtbl->Read(This,pv,cb,pcbRead);
}
static FORCEINLINE HRESULT ISpMMSysAudio_Write(ISpMMSysAudio* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
return This->lpVtbl->Write(This,pv,cb,pcbWritten);
}
/*** IStream methods ***/
static FORCEINLINE HRESULT ISpMMSysAudio_Seek(ISpMMSysAudio* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
}
static FORCEINLINE HRESULT ISpMMSysAudio_SetSize(ISpMMSysAudio* This,ULARGE_INTEGER libNewSize) {
return This->lpVtbl->SetSize(This,libNewSize);
}
static FORCEINLINE HRESULT ISpMMSysAudio_CopyTo(ISpMMSysAudio* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
}
static FORCEINLINE HRESULT ISpMMSysAudio_Commit(ISpMMSysAudio* This,DWORD grfCommitFlags) {
return This->lpVtbl->Commit(This,grfCommitFlags);
}
static FORCEINLINE HRESULT ISpMMSysAudio_Revert(ISpMMSysAudio* This) {
return This->lpVtbl->Revert(This);
}
static FORCEINLINE HRESULT ISpMMSysAudio_LockRegion(ISpMMSysAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpMMSysAudio_UnlockRegion(ISpMMSysAudio* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
}
static FORCEINLINE HRESULT ISpMMSysAudio_Stat(ISpMMSysAudio* This,STATSTG *pstatstg,DWORD grfStatFlag) {
return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
}
static FORCEINLINE HRESULT ISpMMSysAudio_Clone(ISpMMSysAudio* This,IStream **ppstm) {
return This->lpVtbl->Clone(This,ppstm);
}
/*** ISpStreamFormat methods ***/
static FORCEINLINE HRESULT ISpMMSysAudio_GetFormat(ISpMMSysAudio* This,GUID *pguidFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
return This->lpVtbl->GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx);
}
/*** ISpAudio methods ***/
static FORCEINLINE HRESULT ISpMMSysAudio_SetState(ISpMMSysAudio* This,SPAUDIOSTATE NewState,ULONGLONG ullReserved) {
return This->lpVtbl->SetState(This,NewState,ullReserved);
}
static FORCEINLINE HRESULT ISpMMSysAudio_SetFormat(ISpMMSysAudio* This,REFGUID rguidFmtId,const WAVEFORMATEX *pWaveFormatEx) {
return This->lpVtbl->SetFormat(This,rguidFmtId,pWaveFormatEx);
}
static FORCEINLINE HRESULT ISpMMSysAudio_GetStatus(ISpMMSysAudio* This,SPAUDIOSTATUS *pStatus) {
return This->lpVtbl->GetStatus(This,pStatus);
}
static FORCEINLINE HRESULT ISpMMSysAudio_SetBufferInfo(ISpMMSysAudio* This,const SPAUDIOBUFFERINFO *pBuffInfo) {
return This->lpVtbl->SetBufferInfo(This,pBuffInfo);
}
static FORCEINLINE HRESULT ISpMMSysAudio_GetBufferInfo(ISpMMSysAudio* This,SPAUDIOBUFFERINFO *pBuffInfo) {
return This->lpVtbl->GetBufferInfo(This,pBuffInfo);
}
static FORCEINLINE HRESULT ISpMMSysAudio_GetDefaultFormat(ISpMMSysAudio* This,GUID *pFormatId,WAVEFORMATEX **ppCoMemWaveFormatEx) {
return This->lpVtbl->GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx);
}
static FORCEINLINE HANDLE ISpMMSysAudio_EventHandle(ISpMMSysAudio* This) {
return This->lpVtbl->EventHandle(This);
}
static FORCEINLINE HRESULT ISpMMSysAudio_GetVolumeLevel(ISpMMSysAudio* This,ULONG *pLevel) {
return This->lpVtbl->GetVolumeLevel(This,pLevel);
}
static FORCEINLINE HRESULT ISpMMSysAudio_SetVolumeLevel(ISpMMSysAudio* This,ULONG Level) {
return This->lpVtbl->SetVolumeLevel(This,Level);
}
static FORCEINLINE HRESULT ISpMMSysAudio_GetBufferNotifySize(ISpMMSysAudio* This,ULONG *pcbSize) {
return This->lpVtbl->GetBufferNotifySize(This,pcbSize);
}
static FORCEINLINE HRESULT ISpMMSysAudio_SetBufferNotifySize(ISpMMSysAudio* This,ULONG cbSize) {
return This->lpVtbl->SetBufferNotifySize(This,cbSize);
}
/*** ISpMMSysAudio methods ***/
static FORCEINLINE HRESULT ISpMMSysAudio_GetDeviceId(ISpMMSysAudio* This,UINT *puDeviceId) {
return This->lpVtbl->GetDeviceId(This,puDeviceId);
}
static FORCEINLINE HRESULT ISpMMSysAudio_SetDeviceId(ISpMMSysAudio* This,UINT uDeviceId) {
return This->lpVtbl->SetDeviceId(This,uDeviceId);
}
static FORCEINLINE HRESULT ISpMMSysAudio_GetMMHandle(ISpMMSysAudio* This,void **pHandle) {
return This->lpVtbl->GetMMHandle(This,pHandle);
}
static FORCEINLINE HRESULT ISpMMSysAudio_GetLineId(ISpMMSysAudio* This,UINT *puLineId) {
return This->lpVtbl->GetLineId(This,puLineId);
}
static FORCEINLINE HRESULT ISpMMSysAudio_SetLineId(ISpMMSysAudio* This,UINT uLineId) {
return This->lpVtbl->SetLineId(This,uLineId);
}
#endif
#endif
#endif
#endif /* __ISpMMSysAudio_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpTranscript interface
*/
#ifndef __ISpTranscript_INTERFACE_DEFINED__
#define __ISpTranscript_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpTranscript, 0x10f63bce, 0x201a, 0x11d3, 0xac,0x70, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("10f63bce-201a-11d3-ac70-00c04f8ee6c0")
ISpTranscript : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetTranscript(
LPWSTR *ppszTranscript) = 0;
virtual HRESULT STDMETHODCALLTYPE AppendTranscript(
LPCWSTR pszTranscript) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpTranscript, 0x10f63bce, 0x201a, 0x11d3, 0xac,0x70, 0x00,0xc0,0x4f,0x8e,0xe6,0xc0)
#endif
#else
typedef struct ISpTranscriptVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpTranscript *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpTranscript *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpTranscript *This);
/*** ISpTranscript methods ***/
HRESULT (STDMETHODCALLTYPE *GetTranscript)(
ISpTranscript *This,
LPWSTR *ppszTranscript);
HRESULT (STDMETHODCALLTYPE *AppendTranscript)(
ISpTranscript *This,
LPCWSTR pszTranscript);
END_INTERFACE
} ISpTranscriptVtbl;
interface ISpTranscript {
CONST_VTBL ISpTranscriptVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpTranscript_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpTranscript_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpTranscript_Release(This) (This)->lpVtbl->Release(This)
/*** ISpTranscript methods ***/
#define ISpTranscript_GetTranscript(This,ppszTranscript) (This)->lpVtbl->GetTranscript(This,ppszTranscript)
#define ISpTranscript_AppendTranscript(This,pszTranscript) (This)->lpVtbl->AppendTranscript(This,pszTranscript)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpTranscript_QueryInterface(ISpTranscript* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpTranscript_AddRef(ISpTranscript* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpTranscript_Release(ISpTranscript* This) {
return This->lpVtbl->Release(This);
}
/*** ISpTranscript methods ***/
static FORCEINLINE HRESULT ISpTranscript_GetTranscript(ISpTranscript* This,LPWSTR *ppszTranscript) {
return This->lpVtbl->GetTranscript(This,ppszTranscript);
}
static FORCEINLINE HRESULT ISpTranscript_AppendTranscript(ISpTranscript* This,LPCWSTR pszTranscript) {
return This->lpVtbl->AppendTranscript(This,pszTranscript);
}
#endif
#endif
#endif
#endif /* __ISpTranscript_INTERFACE_DEFINED__ */
typedef WCHAR SPPHONEID;
typedef LPWSTR PSPPHONEID;
typedef LPCWSTR PCSPPHONEID;
typedef struct SPPHRASEELEMENT {
ULONG ulAudioTimeOffset;
ULONG ulAudioSizeTime;
ULONG ulAudioStreamOffset;
ULONG ulAudioSizeBytes;
ULONG ulRetainedStreamOffset;
ULONG ulRetainedSizeBytes;
LPCWSTR pszDisplayText;
LPCWSTR pszLexicalForm;
const SPPHONEID *pszPronunciation;
BYTE bDisplayAttributes;
signed char RequiredConfidence;
signed char ActualConfidence;
BYTE Reserved;
float SREngineConfidence;
} SPPHRASEELEMENT;
typedef struct SPPHRASERULE SPPHRASERULE;
typedef struct SPPHRASEPROPERTY SPPHRASEPROPERTY;
struct SPPHRASERULE {
LPCWSTR pszName;
ULONG ulId;
ULONG ulFirstElement;
ULONG ulCountOfElements;
const SPPHRASERULE *pNextSibling;
const SPPHRASERULE *pFirstChild;
float SREngineConfidence;
signed char Confidence;
};
struct SPPHRASEPROPERTY {
LPCWSTR pszName;
__C89_NAMELESS union {
ULONG ulId;
__C89_NAMELESS struct {
byte bType;
byte bReserved;
unsigned short usArrayIndex;
} __C89_NAMELESSSTRUCTNAME;
} __C89_NAMELESSUNIONNAME;
LPCWSTR pszValue;
VARIANT vValue;
ULONG ulFirstElement;
ULONG ulCountOfElements;
const SPPHRASEPROPERTY *pNextSibling;
const SPPHRASEPROPERTY *pFirstChild;
float SREngineConfidence;
signed char Confidence;
};
typedef struct SPPHRASEREPLACEMENT {
BYTE bDisplayAttributes;
LPCWSTR pszReplacementText;
ULONG ulFirstElement;
ULONG ulCountOfElements;
} SPPHRASEREPLACEMENT;
typedef struct SPSEMANTICERRORINFO {
ULONG ulLineNumber;
LPWSTR pszScriptLine;
LPWSTR pszSource;
LPWSTR pszDescription;
HRESULT hrResultCode;
} SPSEMANTICERRORINFO;
typedef struct SPPHRASE_50 {
ULONG cbSize;
WORD LangID;
WORD wHomophoneGroupId;
ULONGLONG ullGrammarID;
ULONGLONG ftStartTime;
ULONGLONG ullAudioStreamPosition;
ULONG ulAudioSizeBytes;
ULONG ulRetainedSizeBytes;
ULONG ulAudioSizeTime;
SPPHRASERULE Rule;
const SPPHRASEPROPERTY *pProperties;
const SPPHRASEELEMENT *pElements;
ULONG cReplacements;
const SPPHRASEREPLACEMENT *pReplacements;
GUID SREngineID;
ULONG ulSREnginePrivateDataSize;
const BYTE *pSREnginePrivateData;
} SPPHRASE_50;
#define SP_SPPHRASESIZE_500 sizeof (SPPHRASE_50)
#ifdef __cplusplus
typedef struct SPPHRASE : public SPPHRASE_50 {
LPWSTR pSML;
SPSEMANTICERRORINFO* pSemanticErrorInfo;
} SPPHRASE;
#else
typedef struct SPPHRASE {
ULONG cbSize;
WORD LangID;
WORD wHomophoneGroupId;
ULONGLONG ullGrammarID;
ULONGLONG ftStartTime;
ULONGLONG ullAudioStreamPosition;
ULONG ulAudioSizeBytes;
ULONG ulRetainedSizeBytes;
ULONG ulAudioSizeTime;
SPPHRASERULE Rule;
const SPPHRASEPROPERTY *pProperties;
const SPPHRASEELEMENT *pElements;
ULONG cReplacements;
const SPPHRASEREPLACEMENT *pReplacements;
GUID SREngineID;
ULONG ulSREnginePrivateDataSize;
const BYTE *pSREnginePrivateData;
LPWSTR pSML;
SPSEMANTICERRORINFO *pSemanticErrorInfo;
} SPPHRASE;
#endif
typedef struct SPSERIALIZEDPHRASE {
ULONG ulSerializedSize;
} SPSERIALIZEDPHRASE;
typedef struct SPRULE {
LPCWSTR pszRuleName;
ULONG ulRuleId;
DWORD dwAttributes;
} SPRULE;
typedef struct SPBINARYGRAMMAR {
ULONG ulTotalSerializedSize;
} SPBINARYGRAMMAR;
#if 0
typedef void *SPSTATEHANDLE;
#else
DECLARE_HANDLE(SPSTATEHANDLE);
#endif
typedef struct SPWORDPRONUNCIATION {
struct SPWORDPRONUNCIATION *pNextWordPronunciation;
SPLEXICONTYPE eLexiconType;
WORD LangID;
WORD wPronunciationFlags;
SPPARTOFSPEECH ePartOfSpeech;
SPPHONEID szPronunciation[1];
} SPWORDPRONUNCIATION;
typedef struct SPWORDPRONUNCIATIONLIST {
ULONG ulSize;
BYTE *pvBuffer;
SPWORDPRONUNCIATION *pFirstWordPronunciation;
} SPWORDPRONUNCIATIONLIST;
typedef struct SPWORD {
struct SPWORD *pNextWord;
WORD LangID;
WORD wReserved;
SPWORDTYPE eWordType;
LPWSTR pszWord;
SPWORDPRONUNCIATION *pFirstWordPronunciation;
} SPWORD;
typedef struct SPWORDLIST {
ULONG ulSize;
BYTE *pvBuffer;
SPWORD *pFirstWord;
} SPWORDLIST;
/*****************************************************************************
* ISpLexicon interface
*/
#ifndef __ISpLexicon_INTERFACE_DEFINED__
#define __ISpLexicon_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpLexicon, 0xda41a7c2, 0x5383, 0x4db2, 0x91,0x6b, 0x6c,0x17,0x19,0xe3,0xdb,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("da41a7c2-5383-4db2-916b-6c1719e3db58")
ISpLexicon : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
LPCWSTR pszWord,
WORD LangID,
DWORD dwFlags,
SPWORDPRONUNCIATIONLIST *pWordPronunciationList) = 0;
virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
LPCWSTR pszWord,
WORD LangID,
SPPARTOFSPEECH ePartOfSpeech,
PCSPPHONEID pszPronunciation) = 0;
virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
LPCWSTR pszWord,
WORD LangID,
SPPARTOFSPEECH ePartOfSpeech,
PCSPPHONEID pszPronunciation) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGeneration(
DWORD *pdwGeneration) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
DWORD dwFlags,
DWORD *pdwGeneration,
SPWORDLIST *pWordList) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWords(
DWORD dwFlags,
DWORD *pdwGeneration,
DWORD *pdwCookie,
SPWORDLIST *pWordList) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpLexicon, 0xda41a7c2, 0x5383, 0x4db2, 0x91,0x6b, 0x6c,0x17,0x19,0xe3,0xdb,0x58)
#endif
#else
typedef struct ISpLexiconVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpLexicon *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpLexicon *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpLexicon *This);
/*** ISpLexicon methods ***/
HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
ISpLexicon *This,
LPCWSTR pszWord,
WORD LangID,
DWORD dwFlags,
SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
ISpLexicon *This,
LPCWSTR pszWord,
WORD LangID,
SPPARTOFSPEECH ePartOfSpeech,
PCSPPHONEID pszPronunciation);
HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
ISpLexicon *This,
LPCWSTR pszWord,
WORD LangID,
SPPARTOFSPEECH ePartOfSpeech,
PCSPPHONEID pszPronunciation);
HRESULT (STDMETHODCALLTYPE *GetGeneration)(
ISpLexicon *This,
DWORD *pdwGeneration);
HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
ISpLexicon *This,
DWORD dwFlags,
DWORD *pdwGeneration,
SPWORDLIST *pWordList);
HRESULT (STDMETHODCALLTYPE *GetWords)(
ISpLexicon *This,
DWORD dwFlags,
DWORD *pdwGeneration,
DWORD *pdwCookie,
SPWORDLIST *pWordList);
END_INTERFACE
} ISpLexiconVtbl;
interface ISpLexicon {
CONST_VTBL ISpLexiconVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpLexicon_Release(This) (This)->lpVtbl->Release(This)
/*** ISpLexicon methods ***/
#define ISpLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
#define ISpLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
#define ISpLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
#define ISpLexicon_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
#define ISpLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) (This)->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
#define ISpLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpLexicon_QueryInterface(ISpLexicon* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpLexicon_AddRef(ISpLexicon* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpLexicon_Release(ISpLexicon* This) {
return This->lpVtbl->Release(This);
}
/*** ISpLexicon methods ***/
static FORCEINLINE HRESULT ISpLexicon_GetPronunciations(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,DWORD dwFlags,SPWORDPRONUNCIATIONLIST *pWordPronunciationList) {
return This->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList);
}
static FORCEINLINE HRESULT ISpLexicon_AddPronunciation(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
return This->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
}
static FORCEINLINE HRESULT ISpLexicon_RemovePronunciation(ISpLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
return This->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
}
static FORCEINLINE HRESULT ISpLexicon_GetGeneration(ISpLexicon* This,DWORD *pdwGeneration) {
return This->lpVtbl->GetGeneration(This,pdwGeneration);
}
static FORCEINLINE HRESULT ISpLexicon_GetGenerationChange(ISpLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
return This->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList);
}
static FORCEINLINE HRESULT ISpLexicon_GetWords(ISpLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
return This->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList);
}
#endif
#endif
#endif
#endif /* __ISpLexicon_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpContainerLexicon interface
*/
#ifndef __ISpContainerLexicon_INTERFACE_DEFINED__
#define __ISpContainerLexicon_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpContainerLexicon, 0x8565572f, 0xc094, 0x41cc, 0xb5,0x6e, 0x10,0xbd,0x9c,0x3f,0xf0,0x44);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8565572f-c094-41cc-b56e-10bd9c3ff044")
ISpContainerLexicon : public ISpLexicon
{
virtual HRESULT STDMETHODCALLTYPE AddLexicon(
ISpLexicon *pAddLexicon,
DWORD dwFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpContainerLexicon, 0x8565572f, 0xc094, 0x41cc, 0xb5,0x6e, 0x10,0xbd,0x9c,0x3f,0xf0,0x44)
#endif
#else
typedef struct ISpContainerLexiconVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpContainerLexicon *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpContainerLexicon *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpContainerLexicon *This);
/*** ISpLexicon methods ***/
HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
ISpContainerLexicon *This,
LPCWSTR pszWord,
WORD LangID,
DWORD dwFlags,
SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
HRESULT (STDMETHODCALLTYPE *AddPronunciation)(
ISpContainerLexicon *This,
LPCWSTR pszWord,
WORD LangID,
SPPARTOFSPEECH ePartOfSpeech,
PCSPPHONEID pszPronunciation);
HRESULT (STDMETHODCALLTYPE *RemovePronunciation)(
ISpContainerLexicon *This,
LPCWSTR pszWord,
WORD LangID,
SPPARTOFSPEECH ePartOfSpeech,
PCSPPHONEID pszPronunciation);
HRESULT (STDMETHODCALLTYPE *GetGeneration)(
ISpContainerLexicon *This,
DWORD *pdwGeneration);
HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
ISpContainerLexicon *This,
DWORD dwFlags,
DWORD *pdwGeneration,
SPWORDLIST *pWordList);
HRESULT (STDMETHODCALLTYPE *GetWords)(
ISpContainerLexicon *This,
DWORD dwFlags,
DWORD *pdwGeneration,
DWORD *pdwCookie,
SPWORDLIST *pWordList);
/*** ISpContainerLexicon methods ***/
HRESULT (STDMETHODCALLTYPE *AddLexicon)(
ISpContainerLexicon *This,
ISpLexicon *pAddLexicon,
DWORD dwFlags);
END_INTERFACE
} ISpContainerLexiconVtbl;
interface ISpContainerLexicon {
CONST_VTBL ISpContainerLexiconVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpContainerLexicon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpContainerLexicon_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpContainerLexicon_Release(This) (This)->lpVtbl->Release(This)
/*** ISpLexicon methods ***/
#define ISpContainerLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
#define ISpContainerLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
#define ISpContainerLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) (This)->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
#define ISpContainerLexicon_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
#define ISpContainerLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) (This)->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
#define ISpContainerLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
/*** ISpContainerLexicon methods ***/
#define ISpContainerLexicon_AddLexicon(This,pAddLexicon,dwFlags) (This)->lpVtbl->AddLexicon(This,pAddLexicon,dwFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpContainerLexicon_QueryInterface(ISpContainerLexicon* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpContainerLexicon_AddRef(ISpContainerLexicon* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpContainerLexicon_Release(ISpContainerLexicon* This) {
return This->lpVtbl->Release(This);
}
/*** ISpLexicon methods ***/
static FORCEINLINE HRESULT ISpContainerLexicon_GetPronunciations(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,DWORD dwFlags,SPWORDPRONUNCIATIONLIST *pWordPronunciationList) {
return This->lpVtbl->GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList);
}
static FORCEINLINE HRESULT ISpContainerLexicon_AddPronunciation(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
return This->lpVtbl->AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
}
static FORCEINLINE HRESULT ISpContainerLexicon_RemovePronunciation(ISpContainerLexicon* This,LPCWSTR pszWord,WORD LangID,SPPARTOFSPEECH ePartOfSpeech,PCSPPHONEID pszPronunciation) {
return This->lpVtbl->RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation);
}
static FORCEINLINE HRESULT ISpContainerLexicon_GetGeneration(ISpContainerLexicon* This,DWORD *pdwGeneration) {
return This->lpVtbl->GetGeneration(This,pdwGeneration);
}
static FORCEINLINE HRESULT ISpContainerLexicon_GetGenerationChange(ISpContainerLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
return This->lpVtbl->GetGenerationChange(This,dwFlags,pdwGeneration,pWordList);
}
static FORCEINLINE HRESULT ISpContainerLexicon_GetWords(ISpContainerLexicon* This,DWORD dwFlags,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
return This->lpVtbl->GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList);
}
/*** ISpContainerLexicon methods ***/
static FORCEINLINE HRESULT ISpContainerLexicon_AddLexicon(ISpContainerLexicon* This,ISpLexicon *pAddLexicon,DWORD dwFlags) {
return This->lpVtbl->AddLexicon(This,pAddLexicon,dwFlags);
}
#endif
#endif
#endif
#endif /* __ISpContainerLexicon_INTERFACE_DEFINED__ */
typedef struct SPSHORTCUTPAIR {
struct SPSHORTCUTPAIR *pNextSHORTCUTPAIR;
WORD LangID;
SPSHORTCUTTYPE shType;
LPWSTR pszDisplay;
LPWSTR pszSpoken;
} SPSHORTCUTPAIR;
typedef struct SPSHORTCUTPAIRLIST {
ULONG ulSize;
BYTE *pvBuffer;
SPSHORTCUTPAIR *pFirstShortcutPair;
} SPSHORTCUTPAIRLIST;
/*****************************************************************************
* ISpShortcut interface
*/
#ifndef __ISpShortcut_INTERFACE_DEFINED__
#define __ISpShortcut_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpShortcut, 0x3df681e2, 0xea56, 0x11d9, 0x8b,0xde, 0xf6,0x6b,0xad,0x1e,0x3f,0x3a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3df681e2-ea56-11d9-8bde-f66bad1e3f3a")
ISpShortcut : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddShortcut(
LPCWSTR pszDisplay,
WORD LangID,
LPCWSTR pszSpoken,
SPSHORTCUTTYPE shType) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveShortcut(
LPCWSTR pszDisplay,
WORD LangID,
LPCWSTR pszSpoken,
SPSHORTCUTTYPE shType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetShortcuts(
WORD LangID,
SPSHORTCUTPAIRLIST *pShortcutpairList) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGeneration(
DWORD *pdwGeneration) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWordsFromGenerationChange(
DWORD *pdwGeneration,
SPWORDLIST *pWordList) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWords(
DWORD *pdwGeneration,
DWORD *pdwCookie,
SPWORDLIST *pWordList) = 0;
virtual HRESULT STDMETHODCALLTYPE GetShortcutsForGeneration(
DWORD *pdwGeneration,
DWORD *pdwCookie,
SPSHORTCUTPAIRLIST *pShortcutpairList) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
DWORD *pdwGeneration,
SPSHORTCUTPAIRLIST *pShortcutpairList) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpShortcut, 0x3df681e2, 0xea56, 0x11d9, 0x8b,0xde, 0xf6,0x6b,0xad,0x1e,0x3f,0x3a)
#endif
#else
typedef struct ISpShortcutVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpShortcut *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpShortcut *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpShortcut *This);
/*** ISpShortcut methods ***/
HRESULT (STDMETHODCALLTYPE *AddShortcut)(
ISpShortcut *This,
LPCWSTR pszDisplay,
WORD LangID,
LPCWSTR pszSpoken,
SPSHORTCUTTYPE shType);
HRESULT (STDMETHODCALLTYPE *RemoveShortcut)(
ISpShortcut *This,
LPCWSTR pszDisplay,
WORD LangID,
LPCWSTR pszSpoken,
SPSHORTCUTTYPE shType);
HRESULT (STDMETHODCALLTYPE *GetShortcuts)(
ISpShortcut *This,
WORD LangID,
SPSHORTCUTPAIRLIST *pShortcutpairList);
HRESULT (STDMETHODCALLTYPE *GetGeneration)(
ISpShortcut *This,
DWORD *pdwGeneration);
HRESULT (STDMETHODCALLTYPE *GetWordsFromGenerationChange)(
ISpShortcut *This,
DWORD *pdwGeneration,
SPWORDLIST *pWordList);
HRESULT (STDMETHODCALLTYPE *GetWords)(
ISpShortcut *This,
DWORD *pdwGeneration,
DWORD *pdwCookie,
SPWORDLIST *pWordList);
HRESULT (STDMETHODCALLTYPE *GetShortcutsForGeneration)(
ISpShortcut *This,
DWORD *pdwGeneration,
DWORD *pdwCookie,
SPSHORTCUTPAIRLIST *pShortcutpairList);
HRESULT (STDMETHODCALLTYPE *GetGenerationChange)(
ISpShortcut *This,
DWORD *pdwGeneration,
SPSHORTCUTPAIRLIST *pShortcutpairList);
END_INTERFACE
} ISpShortcutVtbl;
interface ISpShortcut {
CONST_VTBL ISpShortcutVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpShortcut_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpShortcut_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpShortcut_Release(This) (This)->lpVtbl->Release(This)
/*** ISpShortcut methods ***/
#define ISpShortcut_AddShortcut(This,pszDisplay,LangID,pszSpoken,shType) (This)->lpVtbl->AddShortcut(This,pszDisplay,LangID,pszSpoken,shType)
#define ISpShortcut_RemoveShortcut(This,pszDisplay,LangID,pszSpoken,shType) (This)->lpVtbl->RemoveShortcut(This,pszDisplay,LangID,pszSpoken,shType)
#define ISpShortcut_GetShortcuts(This,LangID,pShortcutpairList) (This)->lpVtbl->GetShortcuts(This,LangID,pShortcutpairList)
#define ISpShortcut_GetGeneration(This,pdwGeneration) (This)->lpVtbl->GetGeneration(This,pdwGeneration)
#define ISpShortcut_GetWordsFromGenerationChange(This,pdwGeneration,pWordList) (This)->lpVtbl->GetWordsFromGenerationChange(This,pdwGeneration,pWordList)
#define ISpShortcut_GetWords(This,pdwGeneration,pdwCookie,pWordList) (This)->lpVtbl->GetWords(This,pdwGeneration,pdwCookie,pWordList)
#define ISpShortcut_GetShortcutsForGeneration(This,pdwGeneration,pdwCookie,pShortcutpairList) (This)->lpVtbl->GetShortcutsForGeneration(This,pdwGeneration,pdwCookie,pShortcutpairList)
#define ISpShortcut_GetGenerationChange(This,pdwGeneration,pShortcutpairList) (This)->lpVtbl->GetGenerationChange(This,pdwGeneration,pShortcutpairList)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpShortcut_QueryInterface(ISpShortcut* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpShortcut_AddRef(ISpShortcut* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpShortcut_Release(ISpShortcut* This) {
return This->lpVtbl->Release(This);
}
/*** ISpShortcut methods ***/
static FORCEINLINE HRESULT ISpShortcut_AddShortcut(ISpShortcut* This,LPCWSTR pszDisplay,WORD LangID,LPCWSTR pszSpoken,SPSHORTCUTTYPE shType) {
return This->lpVtbl->AddShortcut(This,pszDisplay,LangID,pszSpoken,shType);
}
static FORCEINLINE HRESULT ISpShortcut_RemoveShortcut(ISpShortcut* This,LPCWSTR pszDisplay,WORD LangID,LPCWSTR pszSpoken,SPSHORTCUTTYPE shType) {
return This->lpVtbl->RemoveShortcut(This,pszDisplay,LangID,pszSpoken,shType);
}
static FORCEINLINE HRESULT ISpShortcut_GetShortcuts(ISpShortcut* This,WORD LangID,SPSHORTCUTPAIRLIST *pShortcutpairList) {
return This->lpVtbl->GetShortcuts(This,LangID,pShortcutpairList);
}
static FORCEINLINE HRESULT ISpShortcut_GetGeneration(ISpShortcut* This,DWORD *pdwGeneration) {
return This->lpVtbl->GetGeneration(This,pdwGeneration);
}
static FORCEINLINE HRESULT ISpShortcut_GetWordsFromGenerationChange(ISpShortcut* This,DWORD *pdwGeneration,SPWORDLIST *pWordList) {
return This->lpVtbl->GetWordsFromGenerationChange(This,pdwGeneration,pWordList);
}
static FORCEINLINE HRESULT ISpShortcut_GetWords(ISpShortcut* This,DWORD *pdwGeneration,DWORD *pdwCookie,SPWORDLIST *pWordList) {
return This->lpVtbl->GetWords(This,pdwGeneration,pdwCookie,pWordList);
}
static FORCEINLINE HRESULT ISpShortcut_GetShortcutsForGeneration(ISpShortcut* This,DWORD *pdwGeneration,DWORD *pdwCookie,SPSHORTCUTPAIRLIST *pShortcutpairList) {
return This->lpVtbl->GetShortcutsForGeneration(This,pdwGeneration,pdwCookie,pShortcutpairList);
}
static FORCEINLINE HRESULT ISpShortcut_GetGenerationChange(ISpShortcut* This,DWORD *pdwGeneration,SPSHORTCUTPAIRLIST *pShortcutpairList) {
return This->lpVtbl->GetGenerationChange(This,pdwGeneration,pShortcutpairList);
}
#endif
#endif
#endif
#endif /* __ISpShortcut_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpPhoneConverter interface
*/
#ifndef __ISpPhoneConverter_INTERFACE_DEFINED__
#define __ISpPhoneConverter_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpPhoneConverter, 0x8445c581, 0x0cac, 0x4a38, 0xab,0xfe, 0x9b,0x2c,0xe2,0x82,0x64,0x55);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8445c581-0cac-4a38-abfe-9b2ce2826455")
ISpPhoneConverter : public ISpObjectWithToken
{
virtual HRESULT STDMETHODCALLTYPE PhoneToId(
LPCWSTR pszPhone,
SPPHONEID *pId) = 0;
virtual HRESULT STDMETHODCALLTYPE IdToPhone(
PCSPPHONEID pId,
WCHAR *pszPhone) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpPhoneConverter, 0x8445c581, 0x0cac, 0x4a38, 0xab,0xfe, 0x9b,0x2c,0xe2,0x82,0x64,0x55)
#endif
#else
typedef struct ISpPhoneConverterVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpPhoneConverter *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpPhoneConverter *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpPhoneConverter *This);
/*** ISpObjectWithToken methods ***/
HRESULT (STDMETHODCALLTYPE *SetObjectToken)(
ISpPhoneConverter *This,
ISpObjectToken *pToken);
HRESULT (STDMETHODCALLTYPE *GetObjectToken)(
ISpPhoneConverter *This,
ISpObjectToken **ppToken);
/*** ISpPhoneConverter methods ***/
HRESULT (STDMETHODCALLTYPE *PhoneToId)(
ISpPhoneConverter *This,
LPCWSTR pszPhone,
SPPHONEID *pId);
HRESULT (STDMETHODCALLTYPE *IdToPhone)(
ISpPhoneConverter *This,
PCSPPHONEID pId,
WCHAR *pszPhone);
END_INTERFACE
} ISpPhoneConverterVtbl;
interface ISpPhoneConverter {
CONST_VTBL ISpPhoneConverterVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpPhoneConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpPhoneConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpPhoneConverter_Release(This) (This)->lpVtbl->Release(This)
/*** ISpObjectWithToken methods ***/
#define ISpPhoneConverter_SetObjectToken(This,pToken) (This)->lpVtbl->SetObjectToken(This,pToken)
#define ISpPhoneConverter_GetObjectToken(This,ppToken) (This)->lpVtbl->GetObjectToken(This,ppToken)
/*** ISpPhoneConverter methods ***/
#define ISpPhoneConverter_PhoneToId(This,pszPhone,pId) (This)->lpVtbl->PhoneToId(This,pszPhone,pId)
#define ISpPhoneConverter_IdToPhone(This,pId,pszPhone) (This)->lpVtbl->IdToPhone(This,pId,pszPhone)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpPhoneConverter_QueryInterface(ISpPhoneConverter* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpPhoneConverter_AddRef(ISpPhoneConverter* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpPhoneConverter_Release(ISpPhoneConverter* This) {
return This->lpVtbl->Release(This);
}
/*** ISpObjectWithToken methods ***/
static FORCEINLINE HRESULT ISpPhoneConverter_SetObjectToken(ISpPhoneConverter* This,ISpObjectToken *pToken) {
return This->lpVtbl->SetObjectToken(This,pToken);
}
static FORCEINLINE HRESULT ISpPhoneConverter_GetObjectToken(ISpPhoneConverter* This,ISpObjectToken **ppToken) {
return This->lpVtbl->GetObjectToken(This,ppToken);
}
/*** ISpPhoneConverter methods ***/
static FORCEINLINE HRESULT ISpPhoneConverter_PhoneToId(ISpPhoneConverter* This,LPCWSTR pszPhone,SPPHONEID *pId) {
return This->lpVtbl->PhoneToId(This,pszPhone,pId);
}
static FORCEINLINE HRESULT ISpPhoneConverter_IdToPhone(ISpPhoneConverter* This,PCSPPHONEID pId,WCHAR *pszPhone) {
return This->lpVtbl->IdToPhone(This,pId,pszPhone);
}
#endif
#endif
#endif
#endif /* __ISpPhoneConverter_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpPhoneticAlphabetConverter interface
*/
#ifndef __ISpPhoneticAlphabetConverter_INTERFACE_DEFINED__
#define __ISpPhoneticAlphabetConverter_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpPhoneticAlphabetConverter, 0x133adcd4, 0x19b4, 0x4020, 0x9f,0xdc, 0x84,0x2e,0x78,0x25,0x3b,0x17);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("133adcd4-19b4-4020-9fdc-842e78253b17")
ISpPhoneticAlphabetConverter : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetLangId(
WORD *pLangID) = 0;
virtual HRESULT STDMETHODCALLTYPE SetLangId(
WORD LangID) = 0;
virtual HRESULT STDMETHODCALLTYPE SAPI2UPS(
const SPPHONEID *pszSAPIId,
SPPHONEID *pszUPSId,
DWORD cMaxLength) = 0;
virtual HRESULT STDMETHODCALLTYPE UPS2SAPI(
const SPPHONEID *pszUPSId,
SPPHONEID *pszSAPIId,
DWORD cMaxLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxConvertLength(
DWORD cSrcLength,
WINBOOL bSAPI2UPS,
DWORD *pcMaxDestLength) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpPhoneticAlphabetConverter, 0x133adcd4, 0x19b4, 0x4020, 0x9f,0xdc, 0x84,0x2e,0x78,0x25,0x3b,0x17)
#endif
#else
typedef struct ISpPhoneticAlphabetConverterVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpPhoneticAlphabetConverter *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpPhoneticAlphabetConverter *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpPhoneticAlphabetConverter *This);
/*** ISpPhoneticAlphabetConverter methods ***/
HRESULT (STDMETHODCALLTYPE *GetLangId)(
ISpPhoneticAlphabetConverter *This,
WORD *pLangID);
HRESULT (STDMETHODCALLTYPE *SetLangId)(
ISpPhoneticAlphabetConverter *This,
WORD LangID);
HRESULT (STDMETHODCALLTYPE *SAPI2UPS)(
ISpPhoneticAlphabetConverter *This,
const SPPHONEID *pszSAPIId,
SPPHONEID *pszUPSId,
DWORD cMaxLength);
HRESULT (STDMETHODCALLTYPE *UPS2SAPI)(
ISpPhoneticAlphabetConverter *This,
const SPPHONEID *pszUPSId,
SPPHONEID *pszSAPIId,
DWORD cMaxLength);
HRESULT (STDMETHODCALLTYPE *GetMaxConvertLength)(
ISpPhoneticAlphabetConverter *This,
DWORD cSrcLength,
WINBOOL bSAPI2UPS,
DWORD *pcMaxDestLength);
END_INTERFACE
} ISpPhoneticAlphabetConverterVtbl;
interface ISpPhoneticAlphabetConverter {
CONST_VTBL ISpPhoneticAlphabetConverterVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpPhoneticAlphabetConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpPhoneticAlphabetConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpPhoneticAlphabetConverter_Release(This) (This)->lpVtbl->Release(This)
/*** ISpPhoneticAlphabetConverter methods ***/
#define ISpPhoneticAlphabetConverter_GetLangId(This,pLangID) (This)->lpVtbl->GetLangId(This,pLangID)
#define ISpPhoneticAlphabetConverter_SetLangId(This,LangID) (This)->lpVtbl->SetLangId(This,LangID)
#define ISpPhoneticAlphabetConverter_SAPI2UPS(This,pszSAPIId,pszUPSId,cMaxLength) (This)->lpVtbl->SAPI2UPS(This,pszSAPIId,pszUPSId,cMaxLength)
#define ISpPhoneticAlphabetConverter_UPS2SAPI(This,pszUPSId,pszSAPIId,cMaxLength) (This)->lpVtbl->UPS2SAPI(This,pszUPSId,pszSAPIId,cMaxLength)
#define ISpPhoneticAlphabetConverter_GetMaxConvertLength(This,cSrcLength,bSAPI2UPS,pcMaxDestLength) (This)->lpVtbl->GetMaxConvertLength(This,cSrcLength,bSAPI2UPS,pcMaxDestLength)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_QueryInterface(ISpPhoneticAlphabetConverter* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpPhoneticAlphabetConverter_AddRef(ISpPhoneticAlphabetConverter* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpPhoneticAlphabetConverter_Release(ISpPhoneticAlphabetConverter* This) {
return This->lpVtbl->Release(This);
}
/*** ISpPhoneticAlphabetConverter methods ***/
static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_GetLangId(ISpPhoneticAlphabetConverter* This,WORD *pLangID) {
return This->lpVtbl->GetLangId(This,pLangID);
}
static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_SetLangId(ISpPhoneticAlphabetConverter* This,WORD LangID) {
return This->lpVtbl->SetLangId(This,LangID);
}
static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_SAPI2UPS(ISpPhoneticAlphabetConverter* This,const SPPHONEID *pszSAPIId,SPPHONEID *pszUPSId,DWORD cMaxLength) {
return This->lpVtbl->SAPI2UPS(This,pszSAPIId,pszUPSId,cMaxLength);
}
static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_UPS2SAPI(ISpPhoneticAlphabetConverter* This,const SPPHONEID *pszUPSId,SPPHONEID *pszSAPIId,DWORD cMaxLength) {
return This->lpVtbl->UPS2SAPI(This,pszUPSId,pszSAPIId,cMaxLength);
}
static FORCEINLINE HRESULT ISpPhoneticAlphabetConverter_GetMaxConvertLength(ISpPhoneticAlphabetConverter* This,DWORD cSrcLength,WINBOOL bSAPI2UPS,DWORD *pcMaxDestLength) {
return This->lpVtbl->GetMaxConvertLength(This,cSrcLength,bSAPI2UPS,pcMaxDestLength);
}
#endif
#endif
#endif
#endif /* __ISpPhoneticAlphabetConverter_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpPhoneticAlphabetSelection interface
*/
#ifndef __ISpPhoneticAlphabetSelection_INTERFACE_DEFINED__
#define __ISpPhoneticAlphabetSelection_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpPhoneticAlphabetSelection, 0xb2745efd, 0x42ce, 0x48ca, 0x81,0xf1, 0xa9,0x6e,0x02,0x53,0x8a,0x90);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b2745efd-42ce-48ca-81f1-a96e02538a90")
ISpPhoneticAlphabetSelection : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE IsAlphabetUPS(
WINBOOL *pfIsUPS) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAlphabetToUPS(
WINBOOL fForceUPS) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpPhoneticAlphabetSelection, 0xb2745efd, 0x42ce, 0x48ca, 0x81,0xf1, 0xa9,0x6e,0x02,0x53,0x8a,0x90)
#endif
#else
typedef struct ISpPhoneticAlphabetSelectionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpPhoneticAlphabetSelection *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpPhoneticAlphabetSelection *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpPhoneticAlphabetSelection *This);
/*** ISpPhoneticAlphabetSelection methods ***/
HRESULT (STDMETHODCALLTYPE *IsAlphabetUPS)(
ISpPhoneticAlphabetSelection *This,
WINBOOL *pfIsUPS);
HRESULT (STDMETHODCALLTYPE *SetAlphabetToUPS)(
ISpPhoneticAlphabetSelection *This,
WINBOOL fForceUPS);
END_INTERFACE
} ISpPhoneticAlphabetSelectionVtbl;
interface ISpPhoneticAlphabetSelection {
CONST_VTBL ISpPhoneticAlphabetSelectionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpPhoneticAlphabetSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpPhoneticAlphabetSelection_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpPhoneticAlphabetSelection_Release(This) (This)->lpVtbl->Release(This)
/*** ISpPhoneticAlphabetSelection methods ***/
#define ISpPhoneticAlphabetSelection_IsAlphabetUPS(This,pfIsUPS) (This)->lpVtbl->IsAlphabetUPS(This,pfIsUPS)
#define ISpPhoneticAlphabetSelection_SetAlphabetToUPS(This,fForceUPS) (This)->lpVtbl->SetAlphabetToUPS(This,fForceUPS)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpPhoneticAlphabetSelection_QueryInterface(ISpPhoneticAlphabetSelection* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpPhoneticAlphabetSelection_AddRef(ISpPhoneticAlphabetSelection* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpPhoneticAlphabetSelection_Release(ISpPhoneticAlphabetSelection* This) {
return This->lpVtbl->Release(This);
}
/*** ISpPhoneticAlphabetSelection methods ***/
static FORCEINLINE HRESULT ISpPhoneticAlphabetSelection_IsAlphabetUPS(ISpPhoneticAlphabetSelection* This,WINBOOL *pfIsUPS) {
return This->lpVtbl->IsAlphabetUPS(This,pfIsUPS);
}
static FORCEINLINE HRESULT ISpPhoneticAlphabetSelection_SetAlphabetToUPS(ISpPhoneticAlphabetSelection* This,WINBOOL fForceUPS) {
return This->lpVtbl->SetAlphabetToUPS(This,fForceUPS);
}
#endif
#endif
#endif
#endif /* __ISpPhoneticAlphabetSelection_INTERFACE_DEFINED__ */
typedef struct SPVPITCH {
LONG MiddleAdj;
LONG RangeAdj;
} SPVPITCH;
typedef struct SPVCONTEXT {
LPCWSTR pCategory;
LPCWSTR pBefore;
LPCWSTR pAfter;
} SPVCONTEXT;
typedef struct SPVSTATE {
SPVACTIONS eAction;
WORD LangID;
WORD wReserved;
LONG EmphAdj;
LONG RateAdj;
ULONG Volume;
SPVPITCH PitchAdj;
ULONG SilenceMSecs;
SPPHONEID *pPhoneIds;
SPPARTOFSPEECH ePartOfSpeech;
SPVCONTEXT Context;
} SPVSTATE;
typedef struct SPVOICESTATUS {
ULONG ulCurrentStream;
ULONG ulLastStreamQueued;
HRESULT hrLastResult;
DWORD dwRunningState;
ULONG ulInputWordPos;
ULONG ulInputWordLen;
ULONG ulInputSentPos;
ULONG ulInputSentLen;
LONG lBookmarkId;
SPPHONEID PhonemeId;
SPVISEMES VisemeId;
DWORD dwReserved1;
DWORD dwReserved2;
} SPVOICESTATUS;
typedef enum SPEAKFLAGS {
SPF_DEFAULT = 0,
SPF_ASYNC = 1,
SPF_PURGEBEFORESPEAK = 2,
SPF_IS_FILENAME = 4,
SPF_IS_XML = 8,
SPF_IS_NOT_XML = 0x10,
SPF_PERSIST_XML = 0x20,
SPF_NLP_SPEAK_PUNC = 0x40,
SPF_PARSE_SAPI = 0x80,
SPF_PARSE_SSML = 0x100,
SPF_PARSE_AUTODETECT = 0,
SPF_NLP_MASK = SPF_NLP_SPEAK_PUNC,
SPF_PARSE_MASK = SPF_PARSE_SAPI | SPF_PARSE_SSML,
SPF_VOICE_MASK = ((((((SPF_ASYNC | SPF_PURGEBEFORESPEAK) | SPF_IS_FILENAME) | SPF_IS_XML) | SPF_IS_NOT_XML) | SPF_NLP_MASK) | SPF_PERSIST_XML) | SPF_PARSE_MASK,
SPF_UNUSED_FLAGS = ~SPF_VOICE_MASK
} SPEAKFLAGS;
/*****************************************************************************
* ISpVoice interface
*/
#ifndef __ISpVoice_INTERFACE_DEFINED__
#define __ISpVoice_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpVoice, 0x6c44df74, 0x72b9, 0x4992, 0xa1,0xec, 0xef,0x99,0x6e,0x04,0x22,0xd4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6c44df74-72b9-4992-a1ec-ef996e0422d4")
ISpVoice : public ISpEventSource
{
virtual HRESULT STDMETHODCALLTYPE SetOutput(
IUnknown *pUnkOutput,
WINBOOL fAllowFormatChanges) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputObjectToken(
ISpObjectToken **ppObjectToken) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputStream(
ISpStreamFormat **ppStream) = 0;
virtual HRESULT STDMETHODCALLTYPE Pause(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Resume(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVoice(
ISpObjectToken *pToken) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVoice(
ISpObjectToken **ppToken) = 0;
virtual HRESULT STDMETHODCALLTYPE Speak(
LPCWSTR pwcs,
DWORD dwFlags,
ULONG *pulStreamNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE SpeakStream(
IStream *pStream,
DWORD dwFlags,
ULONG *pulStreamNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus(
SPVOICESTATUS *pStatus,
LPWSTR *ppszLastBookmark) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
LPCWSTR pItemType,
LONG lNumItems,
ULONG *pulNumSkipped) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPriority(
SPVPRIORITY ePriority) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPriority(
SPVPRIORITY *pePriority) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAlertBoundary(
SPEVENTENUM eBoundary) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAlertBoundary(
SPEVENTENUM *peBoundary) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRate(
LONG RateAdjust) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRate(
LONG *pRateAdjust) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVolume(
USHORT usVolume) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVolume(
USHORT *pusVolume) = 0;
virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
ULONG msTimeout) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSyncSpeakTimeout(
ULONG msTimeout) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSyncSpeakTimeout(
ULONG *pmsTimeout) = 0;
virtual HANDLE STDMETHODCALLTYPE SpeakCompleteEvent(
) = 0;
virtual HRESULT STDMETHODCALLTYPE IsUISupported(
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
WINBOOL *pfSupported) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayUI(
HWND hwndParent,
LPCWSTR pszTitle,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpVoice, 0x6c44df74, 0x72b9, 0x4992, 0xa1,0xec, 0xef,0x99,0x6e,0x04,0x22,0xd4)
#endif
#else
typedef struct ISpVoiceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpVoice *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpVoice *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpVoice *This);
/*** ISpNotifySource methods ***/
HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
ISpVoice *This,
ISpNotifySink *pNotifySink);
HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
ISpVoice *This,
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
ISpVoice *This,
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
ISpVoice *This,
ISpNotifyCallback *pSpCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
ISpVoice *This);
HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
ISpVoice *This,
DWORD dwMilliseconds);
HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
ISpVoice *This);
/*** ISpEventSource methods ***/
HRESULT (STDMETHODCALLTYPE *SetInterest)(
ISpVoice *This,
ULONGLONG ullEventInterest,
ULONGLONG ullQueuedInterest);
HRESULT (STDMETHODCALLTYPE *GetEvents)(
ISpVoice *This,
ULONG ulCount,
SPEVENT *pEventArray,
ULONG *pulFetched);
HRESULT (STDMETHODCALLTYPE *GetInfo)(
ISpVoice *This,
SPEVENTSOURCEINFO *pInfo);
/*** ISpVoice methods ***/
HRESULT (STDMETHODCALLTYPE *SetOutput)(
ISpVoice *This,
IUnknown *pUnkOutput,
WINBOOL fAllowFormatChanges);
HRESULT (STDMETHODCALLTYPE *GetOutputObjectToken)(
ISpVoice *This,
ISpObjectToken **ppObjectToken);
HRESULT (STDMETHODCALLTYPE *GetOutputStream)(
ISpVoice *This,
ISpStreamFormat **ppStream);
HRESULT (STDMETHODCALLTYPE *Pause)(
ISpVoice *This);
HRESULT (STDMETHODCALLTYPE *Resume)(
ISpVoice *This);
HRESULT (STDMETHODCALLTYPE *SetVoice)(
ISpVoice *This,
ISpObjectToken *pToken);
HRESULT (STDMETHODCALLTYPE *GetVoice)(
ISpVoice *This,
ISpObjectToken **ppToken);
HRESULT (STDMETHODCALLTYPE *Speak)(
ISpVoice *This,
LPCWSTR pwcs,
DWORD dwFlags,
ULONG *pulStreamNumber);
HRESULT (STDMETHODCALLTYPE *SpeakStream)(
ISpVoice *This,
IStream *pStream,
DWORD dwFlags,
ULONG *pulStreamNumber);
HRESULT (STDMETHODCALLTYPE *GetStatus)(
ISpVoice *This,
SPVOICESTATUS *pStatus,
LPWSTR *ppszLastBookmark);
HRESULT (STDMETHODCALLTYPE *Skip)(
ISpVoice *This,
LPCWSTR pItemType,
LONG lNumItems,
ULONG *pulNumSkipped);
HRESULT (STDMETHODCALLTYPE *SetPriority)(
ISpVoice *This,
SPVPRIORITY ePriority);
HRESULT (STDMETHODCALLTYPE *GetPriority)(
ISpVoice *This,
SPVPRIORITY *pePriority);
HRESULT (STDMETHODCALLTYPE *SetAlertBoundary)(
ISpVoice *This,
SPEVENTENUM eBoundary);
HRESULT (STDMETHODCALLTYPE *GetAlertBoundary)(
ISpVoice *This,
SPEVENTENUM *peBoundary);
HRESULT (STDMETHODCALLTYPE *SetRate)(
ISpVoice *This,
LONG RateAdjust);
HRESULT (STDMETHODCALLTYPE *GetRate)(
ISpVoice *This,
LONG *pRateAdjust);
HRESULT (STDMETHODCALLTYPE *SetVolume)(
ISpVoice *This,
USHORT usVolume);
HRESULT (STDMETHODCALLTYPE *GetVolume)(
ISpVoice *This,
USHORT *pusVolume);
HRESULT (STDMETHODCALLTYPE *WaitUntilDone)(
ISpVoice *This,
ULONG msTimeout);
HRESULT (STDMETHODCALLTYPE *SetSyncSpeakTimeout)(
ISpVoice *This,
ULONG msTimeout);
HRESULT (STDMETHODCALLTYPE *GetSyncSpeakTimeout)(
ISpVoice *This,
ULONG *pmsTimeout);
HANDLE (STDMETHODCALLTYPE *SpeakCompleteEvent)(
ISpVoice *This);
HRESULT (STDMETHODCALLTYPE *IsUISupported)(
ISpVoice *This,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
WINBOOL *pfSupported);
HRESULT (STDMETHODCALLTYPE *DisplayUI)(
ISpVoice *This,
HWND hwndParent,
LPCWSTR pszTitle,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData);
END_INTERFACE
} ISpVoiceVtbl;
interface ISpVoice {
CONST_VTBL ISpVoiceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpVoice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpVoice_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpVoice_Release(This) (This)->lpVtbl->Release(This)
/*** ISpNotifySource methods ***/
#define ISpVoice_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
#define ISpVoice_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
#define ISpVoice_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
#define ISpVoice_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
#define ISpVoice_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
#define ISpVoice_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
#define ISpVoice_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
/*** ISpEventSource methods ***/
#define ISpVoice_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
#define ISpVoice_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
#define ISpVoice_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
/*** ISpVoice methods ***/
#define ISpVoice_SetOutput(This,pUnkOutput,fAllowFormatChanges) (This)->lpVtbl->SetOutput(This,pUnkOutput,fAllowFormatChanges)
#define ISpVoice_GetOutputObjectToken(This,ppObjectToken) (This)->lpVtbl->GetOutputObjectToken(This,ppObjectToken)
#define ISpVoice_GetOutputStream(This,ppStream) (This)->lpVtbl->GetOutputStream(This,ppStream)
#define ISpVoice_Pause(This) (This)->lpVtbl->Pause(This)
#define ISpVoice_Resume(This) (This)->lpVtbl->Resume(This)
#define ISpVoice_SetVoice(This,pToken) (This)->lpVtbl->SetVoice(This,pToken)
#define ISpVoice_GetVoice(This,ppToken) (This)->lpVtbl->GetVoice(This,ppToken)
#define ISpVoice_Speak(This,pwcs,dwFlags,pulStreamNumber) (This)->lpVtbl->Speak(This,pwcs,dwFlags,pulStreamNumber)
#define ISpVoice_SpeakStream(This,pStream,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakStream(This,pStream,dwFlags,pulStreamNumber)
#define ISpVoice_GetStatus(This,pStatus,ppszLastBookmark) (This)->lpVtbl->GetStatus(This,pStatus,ppszLastBookmark)
#define ISpVoice_Skip(This,pItemType,lNumItems,pulNumSkipped) (This)->lpVtbl->Skip(This,pItemType,lNumItems,pulNumSkipped)
#define ISpVoice_SetPriority(This,ePriority) (This)->lpVtbl->SetPriority(This,ePriority)
#define ISpVoice_GetPriority(This,pePriority) (This)->lpVtbl->GetPriority(This,pePriority)
#define ISpVoice_SetAlertBoundary(This,eBoundary) (This)->lpVtbl->SetAlertBoundary(This,eBoundary)
#define ISpVoice_GetAlertBoundary(This,peBoundary) (This)->lpVtbl->GetAlertBoundary(This,peBoundary)
#define ISpVoice_SetRate(This,RateAdjust) (This)->lpVtbl->SetRate(This,RateAdjust)
#define ISpVoice_GetRate(This,pRateAdjust) (This)->lpVtbl->GetRate(This,pRateAdjust)
#define ISpVoice_SetVolume(This,usVolume) (This)->lpVtbl->SetVolume(This,usVolume)
#define ISpVoice_GetVolume(This,pusVolume) (This)->lpVtbl->GetVolume(This,pusVolume)
#define ISpVoice_WaitUntilDone(This,msTimeout) (This)->lpVtbl->WaitUntilDone(This,msTimeout)
#define ISpVoice_SetSyncSpeakTimeout(This,msTimeout) (This)->lpVtbl->SetSyncSpeakTimeout(This,msTimeout)
#define ISpVoice_GetSyncSpeakTimeout(This,pmsTimeout) (This)->lpVtbl->GetSyncSpeakTimeout(This,pmsTimeout)
#define ISpVoice_SpeakCompleteEvent(This) (This)->lpVtbl->SpeakCompleteEvent(This)
#define ISpVoice_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
#define ISpVoice_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpVoice_QueryInterface(ISpVoice* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpVoice_AddRef(ISpVoice* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpVoice_Release(ISpVoice* This) {
return This->lpVtbl->Release(This);
}
/*** ISpNotifySource methods ***/
static FORCEINLINE HRESULT ISpVoice_SetNotifySink(ISpVoice* This,ISpNotifySink *pNotifySink) {
return This->lpVtbl->SetNotifySink(This,pNotifySink);
}
static FORCEINLINE HRESULT ISpVoice_SetNotifyWindowMessage(ISpVoice* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
}
static FORCEINLINE HRESULT ISpVoice_SetNotifyCallbackFunction(ISpVoice* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpVoice_SetNotifyCallbackInterface(ISpVoice* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpVoice_SetNotifyWin32Event(ISpVoice* This) {
return This->lpVtbl->SetNotifyWin32Event(This);
}
static FORCEINLINE HRESULT ISpVoice_WaitForNotifyEvent(ISpVoice* This,DWORD dwMilliseconds) {
return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
}
static FORCEINLINE HANDLE ISpVoice_GetNotifyEventHandle(ISpVoice* This) {
return This->lpVtbl->GetNotifyEventHandle(This);
}
/*** ISpEventSource methods ***/
static FORCEINLINE HRESULT ISpVoice_SetInterest(ISpVoice* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
}
static FORCEINLINE HRESULT ISpVoice_GetEvents(ISpVoice* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
}
static FORCEINLINE HRESULT ISpVoice_GetInfo(ISpVoice* This,SPEVENTSOURCEINFO *pInfo) {
return This->lpVtbl->GetInfo(This,pInfo);
}
/*** ISpVoice methods ***/
static FORCEINLINE HRESULT ISpVoice_SetOutput(ISpVoice* This,IUnknown *pUnkOutput,WINBOOL fAllowFormatChanges) {
return This->lpVtbl->SetOutput(This,pUnkOutput,fAllowFormatChanges);
}
static FORCEINLINE HRESULT ISpVoice_GetOutputObjectToken(ISpVoice* This,ISpObjectToken **ppObjectToken) {
return This->lpVtbl->GetOutputObjectToken(This,ppObjectToken);
}
static FORCEINLINE HRESULT ISpVoice_GetOutputStream(ISpVoice* This,ISpStreamFormat **ppStream) {
return This->lpVtbl->GetOutputStream(This,ppStream);
}
static FORCEINLINE HRESULT ISpVoice_Pause(ISpVoice* This) {
return This->lpVtbl->Pause(This);
}
static FORCEINLINE HRESULT ISpVoice_Resume(ISpVoice* This) {
return This->lpVtbl->Resume(This);
}
static FORCEINLINE HRESULT ISpVoice_SetVoice(ISpVoice* This,ISpObjectToken *pToken) {
return This->lpVtbl->SetVoice(This,pToken);
}
static FORCEINLINE HRESULT ISpVoice_GetVoice(ISpVoice* This,ISpObjectToken **ppToken) {
return This->lpVtbl->GetVoice(This,ppToken);
}
static FORCEINLINE HRESULT ISpVoice_Speak(ISpVoice* This,LPCWSTR pwcs,DWORD dwFlags,ULONG *pulStreamNumber) {
return This->lpVtbl->Speak(This,pwcs,dwFlags,pulStreamNumber);
}
static FORCEINLINE HRESULT ISpVoice_SpeakStream(ISpVoice* This,IStream *pStream,DWORD dwFlags,ULONG *pulStreamNumber) {
return This->lpVtbl->SpeakStream(This,pStream,dwFlags,pulStreamNumber);
}
static FORCEINLINE HRESULT ISpVoice_GetStatus(ISpVoice* This,SPVOICESTATUS *pStatus,LPWSTR *ppszLastBookmark) {
return This->lpVtbl->GetStatus(This,pStatus,ppszLastBookmark);
}
static FORCEINLINE HRESULT ISpVoice_Skip(ISpVoice* This,LPCWSTR pItemType,LONG lNumItems,ULONG *pulNumSkipped) {
return This->lpVtbl->Skip(This,pItemType,lNumItems,pulNumSkipped);
}
static FORCEINLINE HRESULT ISpVoice_SetPriority(ISpVoice* This,SPVPRIORITY ePriority) {
return This->lpVtbl->SetPriority(This,ePriority);
}
static FORCEINLINE HRESULT ISpVoice_GetPriority(ISpVoice* This,SPVPRIORITY *pePriority) {
return This->lpVtbl->GetPriority(This,pePriority);
}
static FORCEINLINE HRESULT ISpVoice_SetAlertBoundary(ISpVoice* This,SPEVENTENUM eBoundary) {
return This->lpVtbl->SetAlertBoundary(This,eBoundary);
}
static FORCEINLINE HRESULT ISpVoice_GetAlertBoundary(ISpVoice* This,SPEVENTENUM *peBoundary) {
return This->lpVtbl->GetAlertBoundary(This,peBoundary);
}
static FORCEINLINE HRESULT ISpVoice_SetRate(ISpVoice* This,LONG RateAdjust) {
return This->lpVtbl->SetRate(This,RateAdjust);
}
static FORCEINLINE HRESULT ISpVoice_GetRate(ISpVoice* This,LONG *pRateAdjust) {
return This->lpVtbl->GetRate(This,pRateAdjust);
}
static FORCEINLINE HRESULT ISpVoice_SetVolume(ISpVoice* This,USHORT usVolume) {
return This->lpVtbl->SetVolume(This,usVolume);
}
static FORCEINLINE HRESULT ISpVoice_GetVolume(ISpVoice* This,USHORT *pusVolume) {
return This->lpVtbl->GetVolume(This,pusVolume);
}
static FORCEINLINE HRESULT ISpVoice_WaitUntilDone(ISpVoice* This,ULONG msTimeout) {
return This->lpVtbl->WaitUntilDone(This,msTimeout);
}
static FORCEINLINE HRESULT ISpVoice_SetSyncSpeakTimeout(ISpVoice* This,ULONG msTimeout) {
return This->lpVtbl->SetSyncSpeakTimeout(This,msTimeout);
}
static FORCEINLINE HRESULT ISpVoice_GetSyncSpeakTimeout(ISpVoice* This,ULONG *pmsTimeout) {
return This->lpVtbl->GetSyncSpeakTimeout(This,pmsTimeout);
}
static FORCEINLINE HANDLE ISpVoice_SpeakCompleteEvent(ISpVoice* This) {
return This->lpVtbl->SpeakCompleteEvent(This);
}
static FORCEINLINE HRESULT ISpVoice_IsUISupported(ISpVoice* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,WINBOOL *pfSupported) {
return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported);
}
static FORCEINLINE HRESULT ISpVoice_DisplayUI(ISpVoice* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData) {
return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData);
}
#endif
#endif
#endif
#endif /* __ISpVoice_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpPhrase interface
*/
#ifndef __ISpPhrase_INTERFACE_DEFINED__
#define __ISpPhrase_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpPhrase, 0x1a5c0354, 0xb621, 0x4b5a, 0x87,0x91, 0xd3,0x06,0xed,0x37,0x9e,0x53);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1a5c0354-b621-4b5a-8791-d306ed379e53")
ISpPhrase : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetPhrase(
SPPHRASE **ppCoMemPhrase) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSerializedPhrase(
SPSERIALIZEDPHRASE **ppCoMemPhrase) = 0;
virtual HRESULT STDMETHODCALLTYPE GetText(
ULONG ulStart,
ULONG ulCount,
WINBOOL fUseTextReplacements,
LPWSTR *ppszCoMemText,
BYTE *pbDisplayAttributes) = 0;
virtual HRESULT STDMETHODCALLTYPE Discard(
DWORD dwValueTypes) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpPhrase, 0x1a5c0354, 0xb621, 0x4b5a, 0x87,0x91, 0xd3,0x06,0xed,0x37,0x9e,0x53)
#endif
#else
typedef struct ISpPhraseVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpPhrase *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpPhrase *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpPhrase *This);
/*** ISpPhrase methods ***/
HRESULT (STDMETHODCALLTYPE *GetPhrase)(
ISpPhrase *This,
SPPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
ISpPhrase *This,
SPSERIALIZEDPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetText)(
ISpPhrase *This,
ULONG ulStart,
ULONG ulCount,
WINBOOL fUseTextReplacements,
LPWSTR *ppszCoMemText,
BYTE *pbDisplayAttributes);
HRESULT (STDMETHODCALLTYPE *Discard)(
ISpPhrase *This,
DWORD dwValueTypes);
END_INTERFACE
} ISpPhraseVtbl;
interface ISpPhrase {
CONST_VTBL ISpPhraseVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpPhrase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpPhrase_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpPhrase_Release(This) (This)->lpVtbl->Release(This)
/*** ISpPhrase methods ***/
#define ISpPhrase_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
#define ISpPhrase_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
#define ISpPhrase_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
#define ISpPhrase_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpPhrase_QueryInterface(ISpPhrase* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpPhrase_AddRef(ISpPhrase* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpPhrase_Release(ISpPhrase* This) {
return This->lpVtbl->Release(This);
}
/*** ISpPhrase methods ***/
static FORCEINLINE HRESULT ISpPhrase_GetPhrase(ISpPhrase* This,SPPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpPhrase_GetSerializedPhrase(ISpPhrase* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpPhrase_GetText(ISpPhrase* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
}
static FORCEINLINE HRESULT ISpPhrase_Discard(ISpPhrase* This,DWORD dwValueTypes) {
return This->lpVtbl->Discard(This,dwValueTypes);
}
#endif
#endif
#endif
#endif /* __ISpPhrase_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpPhraseAlt interface
*/
#ifndef __ISpPhraseAlt_INTERFACE_DEFINED__
#define __ISpPhraseAlt_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpPhraseAlt, 0x8fcebc98, 0x4e49, 0x4067, 0x9c,0x6c, 0xd8,0x6a,0x0e,0x09,0x2e,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8fcebc98-4e49-4067-9c6c-d86a0e092e3d")
ISpPhraseAlt : public ISpPhrase
{
virtual HRESULT STDMETHODCALLTYPE GetAltInfo(
ISpPhrase **ppParent,
ULONG *pulStartElementInParent,
ULONG *pcElementsInParent,
ULONG *pcElementsInAlt) = 0;
virtual HRESULT STDMETHODCALLTYPE Commit(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpPhraseAlt, 0x8fcebc98, 0x4e49, 0x4067, 0x9c,0x6c, 0xd8,0x6a,0x0e,0x09,0x2e,0x3d)
#endif
#else
typedef struct ISpPhraseAltVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpPhraseAlt *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpPhraseAlt *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpPhraseAlt *This);
/*** ISpPhrase methods ***/
HRESULT (STDMETHODCALLTYPE *GetPhrase)(
ISpPhraseAlt *This,
SPPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
ISpPhraseAlt *This,
SPSERIALIZEDPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetText)(
ISpPhraseAlt *This,
ULONG ulStart,
ULONG ulCount,
WINBOOL fUseTextReplacements,
LPWSTR *ppszCoMemText,
BYTE *pbDisplayAttributes);
HRESULT (STDMETHODCALLTYPE *Discard)(
ISpPhraseAlt *This,
DWORD dwValueTypes);
/*** ISpPhraseAlt methods ***/
HRESULT (STDMETHODCALLTYPE *GetAltInfo)(
ISpPhraseAlt *This,
ISpPhrase **ppParent,
ULONG *pulStartElementInParent,
ULONG *pcElementsInParent,
ULONG *pcElementsInAlt);
HRESULT (STDMETHODCALLTYPE *Commit)(
ISpPhraseAlt *This);
END_INTERFACE
} ISpPhraseAltVtbl;
interface ISpPhraseAlt {
CONST_VTBL ISpPhraseAltVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpPhraseAlt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpPhraseAlt_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpPhraseAlt_Release(This) (This)->lpVtbl->Release(This)
/*** ISpPhrase methods ***/
#define ISpPhraseAlt_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
#define ISpPhraseAlt_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
#define ISpPhraseAlt_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
#define ISpPhraseAlt_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
/*** ISpPhraseAlt methods ***/
#define ISpPhraseAlt_GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt) (This)->lpVtbl->GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt)
#define ISpPhraseAlt_Commit(This) (This)->lpVtbl->Commit(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpPhraseAlt_QueryInterface(ISpPhraseAlt* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpPhraseAlt_AddRef(ISpPhraseAlt* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpPhraseAlt_Release(ISpPhraseAlt* This) {
return This->lpVtbl->Release(This);
}
/*** ISpPhrase methods ***/
static FORCEINLINE HRESULT ISpPhraseAlt_GetPhrase(ISpPhraseAlt* This,SPPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpPhraseAlt_GetSerializedPhrase(ISpPhraseAlt* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpPhraseAlt_GetText(ISpPhraseAlt* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
}
static FORCEINLINE HRESULT ISpPhraseAlt_Discard(ISpPhraseAlt* This,DWORD dwValueTypes) {
return This->lpVtbl->Discard(This,dwValueTypes);
}
/*** ISpPhraseAlt methods ***/
static FORCEINLINE HRESULT ISpPhraseAlt_GetAltInfo(ISpPhraseAlt* This,ISpPhrase **ppParent,ULONG *pulStartElementInParent,ULONG *pcElementsInParent,ULONG *pcElementsInAlt) {
return This->lpVtbl->GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt);
}
static FORCEINLINE HRESULT ISpPhraseAlt_Commit(ISpPhraseAlt* This) {
return This->lpVtbl->Commit(This);
}
#endif
#endif
#endif
#endif /* __ISpPhraseAlt_INTERFACE_DEFINED__ */
typedef enum SPXMLRESULTOPTIONS {
SPXRO_SML = 0,
SPXRO_Alternates_SML = 1
} SPXMLRESULTOPTIONS;
/*****************************************************************************
* ISpPhrase2 interface
*/
#ifndef __ISpPhrase2_INTERFACE_DEFINED__
#define __ISpPhrase2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpPhrase2, 0xf264da52, 0xe457, 0x4696, 0xb8,0x56, 0xa7,0x37,0xb7,0x17,0xaf,0x79);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f264da52-e457-4696-b856-a737b717af79")
ISpPhrase2 : public ISpPhrase
{
virtual HRESULT STDMETHODCALLTYPE GetXMLResult(
LPWSTR *ppszCoMemXMLResult,
SPXMLRESULTOPTIONS Options) = 0;
virtual HRESULT STDMETHODCALLTYPE GetXMLErrorInfo(
SPSEMANTICERRORINFO *pSemanticErrorInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudio(
ULONG ulStartElement,
ULONG cElements,
ISpStreamFormat **ppStream) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpPhrase2, 0xf264da52, 0xe457, 0x4696, 0xb8,0x56, 0xa7,0x37,0xb7,0x17,0xaf,0x79)
#endif
#else
typedef struct ISpPhrase2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpPhrase2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpPhrase2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpPhrase2 *This);
/*** ISpPhrase methods ***/
HRESULT (STDMETHODCALLTYPE *GetPhrase)(
ISpPhrase2 *This,
SPPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
ISpPhrase2 *This,
SPSERIALIZEDPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetText)(
ISpPhrase2 *This,
ULONG ulStart,
ULONG ulCount,
WINBOOL fUseTextReplacements,
LPWSTR *ppszCoMemText,
BYTE *pbDisplayAttributes);
HRESULT (STDMETHODCALLTYPE *Discard)(
ISpPhrase2 *This,
DWORD dwValueTypes);
/*** ISpPhrase2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetXMLResult)(
ISpPhrase2 *This,
LPWSTR *ppszCoMemXMLResult,
SPXMLRESULTOPTIONS Options);
HRESULT (STDMETHODCALLTYPE *GetXMLErrorInfo)(
ISpPhrase2 *This,
SPSEMANTICERRORINFO *pSemanticErrorInfo);
HRESULT (STDMETHODCALLTYPE *GetAudio)(
ISpPhrase2 *This,
ULONG ulStartElement,
ULONG cElements,
ISpStreamFormat **ppStream);
END_INTERFACE
} ISpPhrase2Vtbl;
interface ISpPhrase2 {
CONST_VTBL ISpPhrase2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpPhrase2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpPhrase2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpPhrase2_Release(This) (This)->lpVtbl->Release(This)
/*** ISpPhrase methods ***/
#define ISpPhrase2_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
#define ISpPhrase2_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
#define ISpPhrase2_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
#define ISpPhrase2_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
/*** ISpPhrase2 methods ***/
#define ISpPhrase2_GetXMLResult(This,ppszCoMemXMLResult,Options) (This)->lpVtbl->GetXMLResult(This,ppszCoMemXMLResult,Options)
#define ISpPhrase2_GetXMLErrorInfo(This,pSemanticErrorInfo) (This)->lpVtbl->GetXMLErrorInfo(This,pSemanticErrorInfo)
#define ISpPhrase2_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpPhrase2_QueryInterface(ISpPhrase2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpPhrase2_AddRef(ISpPhrase2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpPhrase2_Release(ISpPhrase2* This) {
return This->lpVtbl->Release(This);
}
/*** ISpPhrase methods ***/
static FORCEINLINE HRESULT ISpPhrase2_GetPhrase(ISpPhrase2* This,SPPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpPhrase2_GetSerializedPhrase(ISpPhrase2* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpPhrase2_GetText(ISpPhrase2* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
}
static FORCEINLINE HRESULT ISpPhrase2_Discard(ISpPhrase2* This,DWORD dwValueTypes) {
return This->lpVtbl->Discard(This,dwValueTypes);
}
/*** ISpPhrase2 methods ***/
static FORCEINLINE HRESULT ISpPhrase2_GetXMLResult(ISpPhrase2* This,LPWSTR *ppszCoMemXMLResult,SPXMLRESULTOPTIONS Options) {
return This->lpVtbl->GetXMLResult(This,ppszCoMemXMLResult,Options);
}
static FORCEINLINE HRESULT ISpPhrase2_GetXMLErrorInfo(ISpPhrase2* This,SPSEMANTICERRORINFO *pSemanticErrorInfo) {
return This->lpVtbl->GetXMLErrorInfo(This,pSemanticErrorInfo);
}
static FORCEINLINE HRESULT ISpPhrase2_GetAudio(ISpPhrase2* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
}
#endif
#endif
#endif
#endif /* __ISpPhrase2_INTERFACE_DEFINED__ */
typedef struct SPRECORESULTTIMES {
FILETIME ftStreamTime;
ULONGLONG ullLength;
DWORD dwTickCount;
ULONGLONG ullStart;
} SPRECORESULTTIMES;
typedef struct SPSERIALIZEDRESULT {
ULONG ulSerializedSize;
} SPSERIALIZEDRESULT;
/*****************************************************************************
* ISpRecoResult interface
*/
#ifndef __ISpRecoResult_INTERFACE_DEFINED__
#define __ISpRecoResult_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRecoResult, 0x20b053be, 0xe235, 0x43cd, 0x9a,0x2a, 0x8d,0x17,0xa4,0x8b,0x78,0x42);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("20b053be-e235-43cd-9a2a-8d17a48b7842")
ISpRecoResult : public ISpPhrase
{
virtual HRESULT STDMETHODCALLTYPE GetResultTimes(
SPRECORESULTTIMES *pTimes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAlternates(
ULONG ulStartElement,
ULONG cElements,
ULONG ulRequestCount,
ISpPhraseAlt **ppPhrases,
ULONG *pcPhrasesReturned) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudio(
ULONG ulStartElement,
ULONG cElements,
ISpStreamFormat **ppStream) = 0;
virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
ULONG ulStartElement,
ULONG cElements,
DWORD dwFlags,
ULONG *pulStreamNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE Serialize(
SPSERIALIZEDRESULT **ppCoMemSerializedResult) = 0;
virtual HRESULT STDMETHODCALLTYPE ScaleAudio(
const GUID *pAudioFormatId,
const WAVEFORMATEX *pWaveFormatEx) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
ISpRecoContext **ppRecoContext) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRecoResult, 0x20b053be, 0xe235, 0x43cd, 0x9a,0x2a, 0x8d,0x17,0xa4,0x8b,0x78,0x42)
#endif
#else
typedef struct ISpRecoResultVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRecoResult *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRecoResult *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRecoResult *This);
/*** ISpPhrase methods ***/
HRESULT (STDMETHODCALLTYPE *GetPhrase)(
ISpRecoResult *This,
SPPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
ISpRecoResult *This,
SPSERIALIZEDPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetText)(
ISpRecoResult *This,
ULONG ulStart,
ULONG ulCount,
WINBOOL fUseTextReplacements,
LPWSTR *ppszCoMemText,
BYTE *pbDisplayAttributes);
HRESULT (STDMETHODCALLTYPE *Discard)(
ISpRecoResult *This,
DWORD dwValueTypes);
/*** ISpRecoResult methods ***/
HRESULT (STDMETHODCALLTYPE *GetResultTimes)(
ISpRecoResult *This,
SPRECORESULTTIMES *pTimes);
HRESULT (STDMETHODCALLTYPE *GetAlternates)(
ISpRecoResult *This,
ULONG ulStartElement,
ULONG cElements,
ULONG ulRequestCount,
ISpPhraseAlt **ppPhrases,
ULONG *pcPhrasesReturned);
HRESULT (STDMETHODCALLTYPE *GetAudio)(
ISpRecoResult *This,
ULONG ulStartElement,
ULONG cElements,
ISpStreamFormat **ppStream);
HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
ISpRecoResult *This,
ULONG ulStartElement,
ULONG cElements,
DWORD dwFlags,
ULONG *pulStreamNumber);
HRESULT (STDMETHODCALLTYPE *Serialize)(
ISpRecoResult *This,
SPSERIALIZEDRESULT **ppCoMemSerializedResult);
HRESULT (STDMETHODCALLTYPE *ScaleAudio)(
ISpRecoResult *This,
const GUID *pAudioFormatId,
const WAVEFORMATEX *pWaveFormatEx);
HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
ISpRecoResult *This,
ISpRecoContext **ppRecoContext);
END_INTERFACE
} ISpRecoResultVtbl;
interface ISpRecoResult {
CONST_VTBL ISpRecoResultVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRecoResult_Release(This) (This)->lpVtbl->Release(This)
/*** ISpPhrase methods ***/
#define ISpRecoResult_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
#define ISpRecoResult_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
#define ISpRecoResult_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
#define ISpRecoResult_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
/*** ISpRecoResult methods ***/
#define ISpRecoResult_GetResultTimes(This,pTimes) (This)->lpVtbl->GetResultTimes(This,pTimes)
#define ISpRecoResult_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) (This)->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
#define ISpRecoResult_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
#define ISpRecoResult_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
#define ISpRecoResult_Serialize(This,ppCoMemSerializedResult) (This)->lpVtbl->Serialize(This,ppCoMemSerializedResult)
#define ISpRecoResult_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
#define ISpRecoResult_GetRecoContext(This,ppRecoContext) (This)->lpVtbl->GetRecoContext(This,ppRecoContext)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRecoResult_QueryInterface(ISpRecoResult* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRecoResult_AddRef(ISpRecoResult* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRecoResult_Release(ISpRecoResult* This) {
return This->lpVtbl->Release(This);
}
/*** ISpPhrase methods ***/
static FORCEINLINE HRESULT ISpRecoResult_GetPhrase(ISpRecoResult* This,SPPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpRecoResult_GetSerializedPhrase(ISpRecoResult* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpRecoResult_GetText(ISpRecoResult* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
}
static FORCEINLINE HRESULT ISpRecoResult_Discard(ISpRecoResult* This,DWORD dwValueTypes) {
return This->lpVtbl->Discard(This,dwValueTypes);
}
/*** ISpRecoResult methods ***/
static FORCEINLINE HRESULT ISpRecoResult_GetResultTimes(ISpRecoResult* This,SPRECORESULTTIMES *pTimes) {
return This->lpVtbl->GetResultTimes(This,pTimes);
}
static FORCEINLINE HRESULT ISpRecoResult_GetAlternates(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,ULONG ulRequestCount,ISpPhraseAlt **ppPhrases,ULONG *pcPhrasesReturned) {
return This->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned);
}
static FORCEINLINE HRESULT ISpRecoResult_GetAudio(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
}
static FORCEINLINE HRESULT ISpRecoResult_SpeakAudio(ISpRecoResult* This,ULONG ulStartElement,ULONG cElements,DWORD dwFlags,ULONG *pulStreamNumber) {
return This->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber);
}
static FORCEINLINE HRESULT ISpRecoResult_Serialize(ISpRecoResult* This,SPSERIALIZEDRESULT **ppCoMemSerializedResult) {
return This->lpVtbl->Serialize(This,ppCoMemSerializedResult);
}
static FORCEINLINE HRESULT ISpRecoResult_ScaleAudio(ISpRecoResult* This,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
return This->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx);
}
static FORCEINLINE HRESULT ISpRecoResult_GetRecoContext(ISpRecoResult* This,ISpRecoContext **ppRecoContext) {
return This->lpVtbl->GetRecoContext(This,ppRecoContext);
}
#endif
#endif
#endif
#endif /* __ISpRecoResult_INTERFACE_DEFINED__ */
typedef enum SPCOMMITFLAGS {
SPCF_NONE = 0,
SPCF_ADD_TO_USER_LEXICON = 1 << 0,
SPCF_DEFINITE_CORRECTION = 1 << 1
} SPCOMMITFLAGS;
/*****************************************************************************
* ISpRecoResult2 interface
*/
#ifndef __ISpRecoResult2_INTERFACE_DEFINED__
#define __ISpRecoResult2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRecoResult2, 0x27cac6c4, 0x88f2, 0x41f2, 0x88,0x17, 0x0c,0x95,0xe5,0x9f,0x1e,0x6e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("27cac6c4-88f2-41f2-8817-0c95e59f1e6e")
ISpRecoResult2 : public ISpRecoResult
{
virtual HRESULT STDMETHODCALLTYPE CommitAlternate(
ISpPhraseAlt *pPhraseAlt,
ISpRecoResult **ppNewResult) = 0;
virtual HRESULT STDMETHODCALLTYPE CommitText(
ULONG ulStartElement,
ULONG cElements,
LPCWSTR pszCorrectedData,
DWORD eCommitFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTextFeedback(
LPCWSTR pszFeedback,
WINBOOL fSuccessful) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRecoResult2, 0x27cac6c4, 0x88f2, 0x41f2, 0x88,0x17, 0x0c,0x95,0xe5,0x9f,0x1e,0x6e)
#endif
#else
typedef struct ISpRecoResult2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRecoResult2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRecoResult2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRecoResult2 *This);
/*** ISpPhrase methods ***/
HRESULT (STDMETHODCALLTYPE *GetPhrase)(
ISpRecoResult2 *This,
SPPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
ISpRecoResult2 *This,
SPSERIALIZEDPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetText)(
ISpRecoResult2 *This,
ULONG ulStart,
ULONG ulCount,
WINBOOL fUseTextReplacements,
LPWSTR *ppszCoMemText,
BYTE *pbDisplayAttributes);
HRESULT (STDMETHODCALLTYPE *Discard)(
ISpRecoResult2 *This,
DWORD dwValueTypes);
/*** ISpRecoResult methods ***/
HRESULT (STDMETHODCALLTYPE *GetResultTimes)(
ISpRecoResult2 *This,
SPRECORESULTTIMES *pTimes);
HRESULT (STDMETHODCALLTYPE *GetAlternates)(
ISpRecoResult2 *This,
ULONG ulStartElement,
ULONG cElements,
ULONG ulRequestCount,
ISpPhraseAlt **ppPhrases,
ULONG *pcPhrasesReturned);
HRESULT (STDMETHODCALLTYPE *GetAudio)(
ISpRecoResult2 *This,
ULONG ulStartElement,
ULONG cElements,
ISpStreamFormat **ppStream);
HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
ISpRecoResult2 *This,
ULONG ulStartElement,
ULONG cElements,
DWORD dwFlags,
ULONG *pulStreamNumber);
HRESULT (STDMETHODCALLTYPE *Serialize)(
ISpRecoResult2 *This,
SPSERIALIZEDRESULT **ppCoMemSerializedResult);
HRESULT (STDMETHODCALLTYPE *ScaleAudio)(
ISpRecoResult2 *This,
const GUID *pAudioFormatId,
const WAVEFORMATEX *pWaveFormatEx);
HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
ISpRecoResult2 *This,
ISpRecoContext **ppRecoContext);
/*** ISpRecoResult2 methods ***/
HRESULT (STDMETHODCALLTYPE *CommitAlternate)(
ISpRecoResult2 *This,
ISpPhraseAlt *pPhraseAlt,
ISpRecoResult **ppNewResult);
HRESULT (STDMETHODCALLTYPE *CommitText)(
ISpRecoResult2 *This,
ULONG ulStartElement,
ULONG cElements,
LPCWSTR pszCorrectedData,
DWORD eCommitFlags);
HRESULT (STDMETHODCALLTYPE *SetTextFeedback)(
ISpRecoResult2 *This,
LPCWSTR pszFeedback,
WINBOOL fSuccessful);
END_INTERFACE
} ISpRecoResult2Vtbl;
interface ISpRecoResult2 {
CONST_VTBL ISpRecoResult2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRecoResult2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRecoResult2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRecoResult2_Release(This) (This)->lpVtbl->Release(This)
/*** ISpPhrase methods ***/
#define ISpRecoResult2_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
#define ISpRecoResult2_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
#define ISpRecoResult2_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
#define ISpRecoResult2_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
/*** ISpRecoResult methods ***/
#define ISpRecoResult2_GetResultTimes(This,pTimes) (This)->lpVtbl->GetResultTimes(This,pTimes)
#define ISpRecoResult2_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) (This)->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
#define ISpRecoResult2_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
#define ISpRecoResult2_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
#define ISpRecoResult2_Serialize(This,ppCoMemSerializedResult) (This)->lpVtbl->Serialize(This,ppCoMemSerializedResult)
#define ISpRecoResult2_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
#define ISpRecoResult2_GetRecoContext(This,ppRecoContext) (This)->lpVtbl->GetRecoContext(This,ppRecoContext)
/*** ISpRecoResult2 methods ***/
#define ISpRecoResult2_CommitAlternate(This,pPhraseAlt,ppNewResult) (This)->lpVtbl->CommitAlternate(This,pPhraseAlt,ppNewResult)
#define ISpRecoResult2_CommitText(This,ulStartElement,cElements,pszCorrectedData,eCommitFlags) (This)->lpVtbl->CommitText(This,ulStartElement,cElements,pszCorrectedData,eCommitFlags)
#define ISpRecoResult2_SetTextFeedback(This,pszFeedback,fSuccessful) (This)->lpVtbl->SetTextFeedback(This,pszFeedback,fSuccessful)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRecoResult2_QueryInterface(ISpRecoResult2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRecoResult2_AddRef(ISpRecoResult2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRecoResult2_Release(ISpRecoResult2* This) {
return This->lpVtbl->Release(This);
}
/*** ISpPhrase methods ***/
static FORCEINLINE HRESULT ISpRecoResult2_GetPhrase(ISpRecoResult2* This,SPPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpRecoResult2_GetSerializedPhrase(ISpRecoResult2* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpRecoResult2_GetText(ISpRecoResult2* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
}
static FORCEINLINE HRESULT ISpRecoResult2_Discard(ISpRecoResult2* This,DWORD dwValueTypes) {
return This->lpVtbl->Discard(This,dwValueTypes);
}
/*** ISpRecoResult methods ***/
static FORCEINLINE HRESULT ISpRecoResult2_GetResultTimes(ISpRecoResult2* This,SPRECORESULTTIMES *pTimes) {
return This->lpVtbl->GetResultTimes(This,pTimes);
}
static FORCEINLINE HRESULT ISpRecoResult2_GetAlternates(ISpRecoResult2* This,ULONG ulStartElement,ULONG cElements,ULONG ulRequestCount,ISpPhraseAlt **ppPhrases,ULONG *pcPhrasesReturned) {
return This->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned);
}
static FORCEINLINE HRESULT ISpRecoResult2_GetAudio(ISpRecoResult2* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
}
static FORCEINLINE HRESULT ISpRecoResult2_SpeakAudio(ISpRecoResult2* This,ULONG ulStartElement,ULONG cElements,DWORD dwFlags,ULONG *pulStreamNumber) {
return This->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber);
}
static FORCEINLINE HRESULT ISpRecoResult2_Serialize(ISpRecoResult2* This,SPSERIALIZEDRESULT **ppCoMemSerializedResult) {
return This->lpVtbl->Serialize(This,ppCoMemSerializedResult);
}
static FORCEINLINE HRESULT ISpRecoResult2_ScaleAudio(ISpRecoResult2* This,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
return This->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx);
}
static FORCEINLINE HRESULT ISpRecoResult2_GetRecoContext(ISpRecoResult2* This,ISpRecoContext **ppRecoContext) {
return This->lpVtbl->GetRecoContext(This,ppRecoContext);
}
/*** ISpRecoResult2 methods ***/
static FORCEINLINE HRESULT ISpRecoResult2_CommitAlternate(ISpRecoResult2* This,ISpPhraseAlt *pPhraseAlt,ISpRecoResult **ppNewResult) {
return This->lpVtbl->CommitAlternate(This,pPhraseAlt,ppNewResult);
}
static FORCEINLINE HRESULT ISpRecoResult2_CommitText(ISpRecoResult2* This,ULONG ulStartElement,ULONG cElements,LPCWSTR pszCorrectedData,DWORD eCommitFlags) {
return This->lpVtbl->CommitText(This,ulStartElement,cElements,pszCorrectedData,eCommitFlags);
}
static FORCEINLINE HRESULT ISpRecoResult2_SetTextFeedback(ISpRecoResult2* This,LPCWSTR pszFeedback,WINBOOL fSuccessful) {
return This->lpVtbl->SetTextFeedback(This,pszFeedback,fSuccessful);
}
#endif
#endif
#endif
#endif /* __ISpRecoResult2_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpXMLRecoResult interface
*/
#ifndef __ISpXMLRecoResult_INTERFACE_DEFINED__
#define __ISpXMLRecoResult_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpXMLRecoResult, 0xae39362b, 0x45a8, 0x4074, 0x9b,0x9e, 0xcc,0xf4,0x9a,0xa2,0xd0,0xb6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ae39362b-45a8-4074-9b9e-ccf49aa2d0b6")
ISpXMLRecoResult : public ISpRecoResult
{
virtual HRESULT STDMETHODCALLTYPE GetXMLResult(
LPWSTR *ppszCoMemXMLResult,
SPXMLRESULTOPTIONS Options) = 0;
virtual HRESULT STDMETHODCALLTYPE GetXMLErrorInfo(
SPSEMANTICERRORINFO *pSemanticErrorInfo) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpXMLRecoResult, 0xae39362b, 0x45a8, 0x4074, 0x9b,0x9e, 0xcc,0xf4,0x9a,0xa2,0xd0,0xb6)
#endif
#else
typedef struct ISpXMLRecoResultVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpXMLRecoResult *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpXMLRecoResult *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpXMLRecoResult *This);
/*** ISpPhrase methods ***/
HRESULT (STDMETHODCALLTYPE *GetPhrase)(
ISpXMLRecoResult *This,
SPPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetSerializedPhrase)(
ISpXMLRecoResult *This,
SPSERIALIZEDPHRASE **ppCoMemPhrase);
HRESULT (STDMETHODCALLTYPE *GetText)(
ISpXMLRecoResult *This,
ULONG ulStart,
ULONG ulCount,
WINBOOL fUseTextReplacements,
LPWSTR *ppszCoMemText,
BYTE *pbDisplayAttributes);
HRESULT (STDMETHODCALLTYPE *Discard)(
ISpXMLRecoResult *This,
DWORD dwValueTypes);
/*** ISpRecoResult methods ***/
HRESULT (STDMETHODCALLTYPE *GetResultTimes)(
ISpXMLRecoResult *This,
SPRECORESULTTIMES *pTimes);
HRESULT (STDMETHODCALLTYPE *GetAlternates)(
ISpXMLRecoResult *This,
ULONG ulStartElement,
ULONG cElements,
ULONG ulRequestCount,
ISpPhraseAlt **ppPhrases,
ULONG *pcPhrasesReturned);
HRESULT (STDMETHODCALLTYPE *GetAudio)(
ISpXMLRecoResult *This,
ULONG ulStartElement,
ULONG cElements,
ISpStreamFormat **ppStream);
HRESULT (STDMETHODCALLTYPE *SpeakAudio)(
ISpXMLRecoResult *This,
ULONG ulStartElement,
ULONG cElements,
DWORD dwFlags,
ULONG *pulStreamNumber);
HRESULT (STDMETHODCALLTYPE *Serialize)(
ISpXMLRecoResult *This,
SPSERIALIZEDRESULT **ppCoMemSerializedResult);
HRESULT (STDMETHODCALLTYPE *ScaleAudio)(
ISpXMLRecoResult *This,
const GUID *pAudioFormatId,
const WAVEFORMATEX *pWaveFormatEx);
HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
ISpXMLRecoResult *This,
ISpRecoContext **ppRecoContext);
/*** ISpXMLRecoResult methods ***/
HRESULT (STDMETHODCALLTYPE *GetXMLResult)(
ISpXMLRecoResult *This,
LPWSTR *ppszCoMemXMLResult,
SPXMLRESULTOPTIONS Options);
HRESULT (STDMETHODCALLTYPE *GetXMLErrorInfo)(
ISpXMLRecoResult *This,
SPSEMANTICERRORINFO *pSemanticErrorInfo);
END_INTERFACE
} ISpXMLRecoResultVtbl;
interface ISpXMLRecoResult {
CONST_VTBL ISpXMLRecoResultVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpXMLRecoResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpXMLRecoResult_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpXMLRecoResult_Release(This) (This)->lpVtbl->Release(This)
/*** ISpPhrase methods ***/
#define ISpXMLRecoResult_GetPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetPhrase(This,ppCoMemPhrase)
#define ISpXMLRecoResult_GetSerializedPhrase(This,ppCoMemPhrase) (This)->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase)
#define ISpXMLRecoResult_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) (This)->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
#define ISpXMLRecoResult_Discard(This,dwValueTypes) (This)->lpVtbl->Discard(This,dwValueTypes)
/*** ISpRecoResult methods ***/
#define ISpXMLRecoResult_GetResultTimes(This,pTimes) (This)->lpVtbl->GetResultTimes(This,pTimes)
#define ISpXMLRecoResult_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) (This)->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
#define ISpXMLRecoResult_GetAudio(This,ulStartElement,cElements,ppStream) (This)->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream)
#define ISpXMLRecoResult_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) (This)->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
#define ISpXMLRecoResult_Serialize(This,ppCoMemSerializedResult) (This)->lpVtbl->Serialize(This,ppCoMemSerializedResult)
#define ISpXMLRecoResult_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
#define ISpXMLRecoResult_GetRecoContext(This,ppRecoContext) (This)->lpVtbl->GetRecoContext(This,ppRecoContext)
/*** ISpXMLRecoResult methods ***/
#define ISpXMLRecoResult_GetXMLResult(This,ppszCoMemXMLResult,Options) (This)->lpVtbl->GetXMLResult(This,ppszCoMemXMLResult,Options)
#define ISpXMLRecoResult_GetXMLErrorInfo(This,pSemanticErrorInfo) (This)->lpVtbl->GetXMLErrorInfo(This,pSemanticErrorInfo)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpXMLRecoResult_QueryInterface(ISpXMLRecoResult* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpXMLRecoResult_AddRef(ISpXMLRecoResult* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpXMLRecoResult_Release(ISpXMLRecoResult* This) {
return This->lpVtbl->Release(This);
}
/*** ISpPhrase methods ***/
static FORCEINLINE HRESULT ISpXMLRecoResult_GetPhrase(ISpXMLRecoResult* This,SPPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_GetSerializedPhrase(ISpXMLRecoResult* This,SPSERIALIZEDPHRASE **ppCoMemPhrase) {
return This->lpVtbl->GetSerializedPhrase(This,ppCoMemPhrase);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_GetText(ISpXMLRecoResult* This,ULONG ulStart,ULONG ulCount,WINBOOL fUseTextReplacements,LPWSTR *ppszCoMemText,BYTE *pbDisplayAttributes) {
return This->lpVtbl->GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_Discard(ISpXMLRecoResult* This,DWORD dwValueTypes) {
return This->lpVtbl->Discard(This,dwValueTypes);
}
/*** ISpRecoResult methods ***/
static FORCEINLINE HRESULT ISpXMLRecoResult_GetResultTimes(ISpXMLRecoResult* This,SPRECORESULTTIMES *pTimes) {
return This->lpVtbl->GetResultTimes(This,pTimes);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_GetAlternates(ISpXMLRecoResult* This,ULONG ulStartElement,ULONG cElements,ULONG ulRequestCount,ISpPhraseAlt **ppPhrases,ULONG *pcPhrasesReturned) {
return This->lpVtbl->GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_GetAudio(ISpXMLRecoResult* This,ULONG ulStartElement,ULONG cElements,ISpStreamFormat **ppStream) {
return This->lpVtbl->GetAudio(This,ulStartElement,cElements,ppStream);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_SpeakAudio(ISpXMLRecoResult* This,ULONG ulStartElement,ULONG cElements,DWORD dwFlags,ULONG *pulStreamNumber) {
return This->lpVtbl->SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_Serialize(ISpXMLRecoResult* This,SPSERIALIZEDRESULT **ppCoMemSerializedResult) {
return This->lpVtbl->Serialize(This,ppCoMemSerializedResult);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_ScaleAudio(ISpXMLRecoResult* This,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
return This->lpVtbl->ScaleAudio(This,pAudioFormatId,pWaveFormatEx);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_GetRecoContext(ISpXMLRecoResult* This,ISpRecoContext **ppRecoContext) {
return This->lpVtbl->GetRecoContext(This,ppRecoContext);
}
/*** ISpXMLRecoResult methods ***/
static FORCEINLINE HRESULT ISpXMLRecoResult_GetXMLResult(ISpXMLRecoResult* This,LPWSTR *ppszCoMemXMLResult,SPXMLRESULTOPTIONS Options) {
return This->lpVtbl->GetXMLResult(This,ppszCoMemXMLResult,Options);
}
static FORCEINLINE HRESULT ISpXMLRecoResult_GetXMLErrorInfo(ISpXMLRecoResult* This,SPSEMANTICERRORINFO *pSemanticErrorInfo) {
return This->lpVtbl->GetXMLErrorInfo(This,pSemanticErrorInfo);
}
#endif
#endif
#endif
#endif /* __ISpXMLRecoResult_INTERFACE_DEFINED__ */
typedef struct tagSPTEXTSELECTIONINFO {
ULONG ulStartActiveOffset;
ULONG cchActiveChars;
ULONG ulStartSelection;
ULONG cchSelection;
} SPTEXTSELECTIONINFO;
typedef enum SPWORDPRONOUNCEABLE {
SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE = 0,
SPWP_UNKNOWN_WORD_PRONOUNCEABLE = 1,
SPWP_KNOWN_WORD_PRONOUNCEABLE = 2
} SPWORDPRONOUNCEABLE;
typedef enum SPGRAMMARSTATE {
SPGS_DISABLED = 0,
SPGS_ENABLED = 1,
SPGS_EXCLUSIVE = 3
} SPGRAMMARSTATE;
typedef enum SPCONTEXTSTATE {
SPCS_DISABLED = 0,
SPCS_ENABLED = 1
} SPCONTEXTSTATE;
typedef enum SPRULESTATE {
SPRS_INACTIVE = 0,
SPRS_ACTIVE = 1,
SPRS_ACTIVE_WITH_AUTO_PAUSE = 3,
SPRS_ACTIVE_USER_DELIMITED = 4
} SPRULESTATE;
#define SP_STREAMPOS_ASAP (0)
#define SP_STREAMPOS_REALTIME (-1)
#define SPRULETRANS_TEXTBUFFER (SPSTATEHANDLE) (-1)
#define SPRULETRANS_WILDCARD (SPSTATEHANDLE) (-2)
#define SPRULETRANS_DICTATION (SPSTATEHANDLE) (-3)
typedef enum SPGRAMMARWORDTYPE {
SPWT_DISPLAY = 0,
SPWT_LEXICAL = 1,
SPWT_PRONUNCIATION = 2,
SPWT_LEXICAL_NO_SPECIAL_CHARS = 3
} SPGRAMMARWORDTYPE;
typedef struct tagSPPROPERTYINFO {
LPCWSTR pszName;
ULONG ulId;
LPCWSTR pszValue;
VARIANT vValue;
} SPPROPERTYINFO;
typedef enum SPCFGRULEATTRIBUTES {
SPRAF_TopLevel = 0x1,
SPRAF_Active = 0x2,
SPRAF_Export = 0x4,
SPRAF_Import = 0x8,
SPRAF_Interpreter = 0x10,
SPRAF_Dynamic = 0x20,
SPRAF_Root = 0x40,
SPRAF_AutoPause = 0x10000,
SPRAF_UserDelimited = 0x20000
} SPCFGRULEATTRIBUTES;
/*****************************************************************************
* ISpGrammarBuilder interface
*/
#ifndef __ISpGrammarBuilder_INTERFACE_DEFINED__
#define __ISpGrammarBuilder_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpGrammarBuilder, 0x8137828f, 0x591a, 0x4a42, 0xbe,0x58, 0x49,0xea,0x7e,0xba,0xac,0x68);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8137828f-591a-4a42-be58-49ea7ebaac68")
ISpGrammarBuilder : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ResetGrammar(
WORD NewLanguage) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRule(
LPCWSTR pszRuleName,
DWORD dwRuleId,
DWORD dwAttributes,
WINBOOL fCreateIfNotExist,
SPSTATEHANDLE *phInitialState) = 0;
virtual HRESULT STDMETHODCALLTYPE ClearRule(
SPSTATEHANDLE hState) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateNewState(
SPSTATEHANDLE hState,
SPSTATEHANDLE *phState) = 0;
virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
SPSTATEHANDLE hFromState,
SPSTATEHANDLE hToState,
LPCWSTR psz,
LPCWSTR pszSeparators,
SPGRAMMARWORDTYPE eWordType,
float Weight,
const SPPROPERTYINFO *pPropInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
SPSTATEHANDLE hFromState,
SPSTATEHANDLE hToState,
SPSTATEHANDLE hRule,
float Weight,
const SPPROPERTYINFO *pPropInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE AddResource(
SPSTATEHANDLE hRuleState,
LPCWSTR pszResourceName,
LPCWSTR pszResourceValue) = 0;
virtual HRESULT STDMETHODCALLTYPE Commit(
DWORD dwReserved) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpGrammarBuilder, 0x8137828f, 0x591a, 0x4a42, 0xbe,0x58, 0x49,0xea,0x7e,0xba,0xac,0x68)
#endif
#else
typedef struct ISpGrammarBuilderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpGrammarBuilder *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpGrammarBuilder *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpGrammarBuilder *This);
/*** ISpGrammarBuilder methods ***/
HRESULT (STDMETHODCALLTYPE *ResetGrammar)(
ISpGrammarBuilder *This,
WORD NewLanguage);
HRESULT (STDMETHODCALLTYPE *GetRule)(
ISpGrammarBuilder *This,
LPCWSTR pszRuleName,
DWORD dwRuleId,
DWORD dwAttributes,
WINBOOL fCreateIfNotExist,
SPSTATEHANDLE *phInitialState);
HRESULT (STDMETHODCALLTYPE *ClearRule)(
ISpGrammarBuilder *This,
SPSTATEHANDLE hState);
HRESULT (STDMETHODCALLTYPE *CreateNewState)(
ISpGrammarBuilder *This,
SPSTATEHANDLE hState,
SPSTATEHANDLE *phState);
HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
ISpGrammarBuilder *This,
SPSTATEHANDLE hFromState,
SPSTATEHANDLE hToState,
LPCWSTR psz,
LPCWSTR pszSeparators,
SPGRAMMARWORDTYPE eWordType,
float Weight,
const SPPROPERTYINFO *pPropInfo);
HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
ISpGrammarBuilder *This,
SPSTATEHANDLE hFromState,
SPSTATEHANDLE hToState,
SPSTATEHANDLE hRule,
float Weight,
const SPPROPERTYINFO *pPropInfo);
HRESULT (STDMETHODCALLTYPE *AddResource)(
ISpGrammarBuilder *This,
SPSTATEHANDLE hRuleState,
LPCWSTR pszResourceName,
LPCWSTR pszResourceValue);
HRESULT (STDMETHODCALLTYPE *Commit)(
ISpGrammarBuilder *This,
DWORD dwReserved);
END_INTERFACE
} ISpGrammarBuilderVtbl;
interface ISpGrammarBuilder {
CONST_VTBL ISpGrammarBuilderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpGrammarBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpGrammarBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpGrammarBuilder_Release(This) (This)->lpVtbl->Release(This)
/*** ISpGrammarBuilder methods ***/
#define ISpGrammarBuilder_ResetGrammar(This,NewLanguage) (This)->lpVtbl->ResetGrammar(This,NewLanguage)
#define ISpGrammarBuilder_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) (This)->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
#define ISpGrammarBuilder_ClearRule(This,hState) (This)->lpVtbl->ClearRule(This,hState)
#define ISpGrammarBuilder_CreateNewState(This,hState,phState) (This)->lpVtbl->CreateNewState(This,hState,phState)
#define ISpGrammarBuilder_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo) (This)->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
#define ISpGrammarBuilder_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) (This)->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
#define ISpGrammarBuilder_AddResource(This,hRuleState,pszResourceName,pszResourceValue) (This)->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue)
#define ISpGrammarBuilder_Commit(This,dwReserved) (This)->lpVtbl->Commit(This,dwReserved)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpGrammarBuilder_QueryInterface(ISpGrammarBuilder* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpGrammarBuilder_AddRef(ISpGrammarBuilder* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpGrammarBuilder_Release(ISpGrammarBuilder* This) {
return This->lpVtbl->Release(This);
}
/*** ISpGrammarBuilder methods ***/
static FORCEINLINE HRESULT ISpGrammarBuilder_ResetGrammar(ISpGrammarBuilder* This,WORD NewLanguage) {
return This->lpVtbl->ResetGrammar(This,NewLanguage);
}
static FORCEINLINE HRESULT ISpGrammarBuilder_GetRule(ISpGrammarBuilder* This,LPCWSTR pszRuleName,DWORD dwRuleId,DWORD dwAttributes,WINBOOL fCreateIfNotExist,SPSTATEHANDLE *phInitialState) {
return This->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState);
}
static FORCEINLINE HRESULT ISpGrammarBuilder_ClearRule(ISpGrammarBuilder* This,SPSTATEHANDLE hState) {
return This->lpVtbl->ClearRule(This,hState);
}
static FORCEINLINE HRESULT ISpGrammarBuilder_CreateNewState(ISpGrammarBuilder* This,SPSTATEHANDLE hState,SPSTATEHANDLE *phState) {
return This->lpVtbl->CreateNewState(This,hState,phState);
}
static FORCEINLINE HRESULT ISpGrammarBuilder_AddWordTransition(ISpGrammarBuilder* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,LPCWSTR pszSeparators,SPGRAMMARWORDTYPE eWordType,float Weight,const SPPROPERTYINFO *pPropInfo) {
return This->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo);
}
static FORCEINLINE HRESULT ISpGrammarBuilder_AddRuleTransition(ISpGrammarBuilder* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,SPSTATEHANDLE hRule,float Weight,const SPPROPERTYINFO *pPropInfo) {
return This->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo);
}
static FORCEINLINE HRESULT ISpGrammarBuilder_AddResource(ISpGrammarBuilder* This,SPSTATEHANDLE hRuleState,LPCWSTR pszResourceName,LPCWSTR pszResourceValue) {
return This->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue);
}
static FORCEINLINE HRESULT ISpGrammarBuilder_Commit(ISpGrammarBuilder* This,DWORD dwReserved) {
return This->lpVtbl->Commit(This,dwReserved);
}
#endif
#endif
#endif
#endif /* __ISpGrammarBuilder_INTERFACE_DEFINED__ */
typedef enum SPLOADOPTIONS {
SPLO_STATIC = 0,
SPLO_DYNAMIC = 1
} SPLOADOPTIONS;
/*****************************************************************************
* ISpRecoGrammar interface
*/
#ifndef __ISpRecoGrammar_INTERFACE_DEFINED__
#define __ISpRecoGrammar_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRecoGrammar, 0x2177db29, 0x7f45, 0x47d0, 0x85,0x54, 0x06,0x7e,0x91,0xc8,0x05,0x02);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2177db29-7f45-47d0-8554-067e91c80502")
ISpRecoGrammar : public ISpGrammarBuilder
{
virtual HRESULT STDMETHODCALLTYPE GetGrammarId(
ULONGLONG *pullGrammarId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
ISpRecoContext **ppRecoCtxt) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadCmdFromFile(
LPCWSTR pszFileName,
SPLOADOPTIONS Options) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadCmdFromObject(
REFCLSID rcid,
LPCWSTR pszGrammarName,
SPLOADOPTIONS Options) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadCmdFromResource(
HMODULE hModule,
LPCWSTR pszResourceName,
LPCWSTR pszResourceType,
WORD wLanguage,
SPLOADOPTIONS Options) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadCmdFromMemory(
const SPBINARYGRAMMAR *pGrammar,
SPLOADOPTIONS Options) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadCmdFromProprietaryGrammar(
REFGUID rguidParam,
LPCWSTR pszStringParam,
const void *pvDataPrarm,
ULONG cbDataSize,
SPLOADOPTIONS Options) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRuleState(
LPCWSTR pszName,
void *pReserved,
SPRULESTATE NewState) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRuleIdState(
ULONG ulRuleId,
SPRULESTATE NewState) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadDictation(
LPCWSTR pszTopicName,
SPLOADOPTIONS Options) = 0;
virtual HRESULT STDMETHODCALLTYPE UnloadDictation(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDictationState(
SPRULESTATE NewState) = 0;
virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
const WCHAR *pText,
ULONG cchText,
const SPTEXTSELECTIONINFO *pInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
const SPTEXTSELECTIONINFO *pInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
LPCWSTR pszWord,
SPWORDPRONOUNCEABLE *pWordPronounceable) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGrammarState(
SPGRAMMARSTATE eGrammarState) = 0;
virtual HRESULT STDMETHODCALLTYPE SaveCmd(
IStream *pStream,
LPWSTR *ppszCoMemErrorText) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGrammarState(
SPGRAMMARSTATE *peGrammarState) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRecoGrammar, 0x2177db29, 0x7f45, 0x47d0, 0x85,0x54, 0x06,0x7e,0x91,0xc8,0x05,0x02)
#endif
#else
typedef struct ISpRecoGrammarVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRecoGrammar *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRecoGrammar *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRecoGrammar *This);
/*** ISpGrammarBuilder methods ***/
HRESULT (STDMETHODCALLTYPE *ResetGrammar)(
ISpRecoGrammar *This,
WORD NewLanguage);
HRESULT (STDMETHODCALLTYPE *GetRule)(
ISpRecoGrammar *This,
LPCWSTR pszRuleName,
DWORD dwRuleId,
DWORD dwAttributes,
WINBOOL fCreateIfNotExist,
SPSTATEHANDLE *phInitialState);
HRESULT (STDMETHODCALLTYPE *ClearRule)(
ISpRecoGrammar *This,
SPSTATEHANDLE hState);
HRESULT (STDMETHODCALLTYPE *CreateNewState)(
ISpRecoGrammar *This,
SPSTATEHANDLE hState,
SPSTATEHANDLE *phState);
HRESULT (STDMETHODCALLTYPE *AddWordTransition)(
ISpRecoGrammar *This,
SPSTATEHANDLE hFromState,
SPSTATEHANDLE hToState,
LPCWSTR psz,
LPCWSTR pszSeparators,
SPGRAMMARWORDTYPE eWordType,
float Weight,
const SPPROPERTYINFO *pPropInfo);
HRESULT (STDMETHODCALLTYPE *AddRuleTransition)(
ISpRecoGrammar *This,
SPSTATEHANDLE hFromState,
SPSTATEHANDLE hToState,
SPSTATEHANDLE hRule,
float Weight,
const SPPROPERTYINFO *pPropInfo);
HRESULT (STDMETHODCALLTYPE *AddResource)(
ISpRecoGrammar *This,
SPSTATEHANDLE hRuleState,
LPCWSTR pszResourceName,
LPCWSTR pszResourceValue);
HRESULT (STDMETHODCALLTYPE *Commit)(
ISpRecoGrammar *This,
DWORD dwReserved);
/*** ISpRecoGrammar methods ***/
HRESULT (STDMETHODCALLTYPE *GetGrammarId)(
ISpRecoGrammar *This,
ULONGLONG *pullGrammarId);
HRESULT (STDMETHODCALLTYPE *GetRecoContext)(
ISpRecoGrammar *This,
ISpRecoContext **ppRecoCtxt);
HRESULT (STDMETHODCALLTYPE *LoadCmdFromFile)(
ISpRecoGrammar *This,
LPCWSTR pszFileName,
SPLOADOPTIONS Options);
HRESULT (STDMETHODCALLTYPE *LoadCmdFromObject)(
ISpRecoGrammar *This,
REFCLSID rcid,
LPCWSTR pszGrammarName,
SPLOADOPTIONS Options);
HRESULT (STDMETHODCALLTYPE *LoadCmdFromResource)(
ISpRecoGrammar *This,
HMODULE hModule,
LPCWSTR pszResourceName,
LPCWSTR pszResourceType,
WORD wLanguage,
SPLOADOPTIONS Options);
HRESULT (STDMETHODCALLTYPE *LoadCmdFromMemory)(
ISpRecoGrammar *This,
const SPBINARYGRAMMAR *pGrammar,
SPLOADOPTIONS Options);
HRESULT (STDMETHODCALLTYPE *LoadCmdFromProprietaryGrammar)(
ISpRecoGrammar *This,
REFGUID rguidParam,
LPCWSTR pszStringParam,
const void *pvDataPrarm,
ULONG cbDataSize,
SPLOADOPTIONS Options);
HRESULT (STDMETHODCALLTYPE *SetRuleState)(
ISpRecoGrammar *This,
LPCWSTR pszName,
void *pReserved,
SPRULESTATE NewState);
HRESULT (STDMETHODCALLTYPE *SetRuleIdState)(
ISpRecoGrammar *This,
ULONG ulRuleId,
SPRULESTATE NewState);
HRESULT (STDMETHODCALLTYPE *LoadDictation)(
ISpRecoGrammar *This,
LPCWSTR pszTopicName,
SPLOADOPTIONS Options);
HRESULT (STDMETHODCALLTYPE *UnloadDictation)(
ISpRecoGrammar *This);
HRESULT (STDMETHODCALLTYPE *SetDictationState)(
ISpRecoGrammar *This,
SPRULESTATE NewState);
HRESULT (STDMETHODCALLTYPE *SetWordSequenceData)(
ISpRecoGrammar *This,
const WCHAR *pText,
ULONG cchText,
const SPTEXTSELECTIONINFO *pInfo);
HRESULT (STDMETHODCALLTYPE *SetTextSelection)(
ISpRecoGrammar *This,
const SPTEXTSELECTIONINFO *pInfo);
HRESULT (STDMETHODCALLTYPE *IsPronounceable)(
ISpRecoGrammar *This,
LPCWSTR pszWord,
SPWORDPRONOUNCEABLE *pWordPronounceable);
HRESULT (STDMETHODCALLTYPE *SetGrammarState)(
ISpRecoGrammar *This,
SPGRAMMARSTATE eGrammarState);
HRESULT (STDMETHODCALLTYPE *SaveCmd)(
ISpRecoGrammar *This,
IStream *pStream,
LPWSTR *ppszCoMemErrorText);
HRESULT (STDMETHODCALLTYPE *GetGrammarState)(
ISpRecoGrammar *This,
SPGRAMMARSTATE *peGrammarState);
END_INTERFACE
} ISpRecoGrammarVtbl;
interface ISpRecoGrammar {
CONST_VTBL ISpRecoGrammarVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRecoGrammar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRecoGrammar_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRecoGrammar_Release(This) (This)->lpVtbl->Release(This)
/*** ISpGrammarBuilder methods ***/
#define ISpRecoGrammar_ResetGrammar(This,NewLanguage) (This)->lpVtbl->ResetGrammar(This,NewLanguage)
#define ISpRecoGrammar_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) (This)->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
#define ISpRecoGrammar_ClearRule(This,hState) (This)->lpVtbl->ClearRule(This,hState)
#define ISpRecoGrammar_CreateNewState(This,hState,phState) (This)->lpVtbl->CreateNewState(This,hState,phState)
#define ISpRecoGrammar_AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo) (This)->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo)
#define ISpRecoGrammar_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) (This)->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
#define ISpRecoGrammar_AddResource(This,hRuleState,pszResourceName,pszResourceValue) (This)->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue)
#define ISpRecoGrammar_Commit(This,dwReserved) (This)->lpVtbl->Commit(This,dwReserved)
/*** ISpRecoGrammar methods ***/
#define ISpRecoGrammar_GetGrammarId(This,pullGrammarId) (This)->lpVtbl->GetGrammarId(This,pullGrammarId)
#define ISpRecoGrammar_GetRecoContext(This,ppRecoCtxt) (This)->lpVtbl->GetRecoContext(This,ppRecoCtxt)
#define ISpRecoGrammar_LoadCmdFromFile(This,pszFileName,Options) (This)->lpVtbl->LoadCmdFromFile(This,pszFileName,Options)
#define ISpRecoGrammar_LoadCmdFromObject(This,rcid,pszGrammarName,Options) (This)->lpVtbl->LoadCmdFromObject(This,rcid,pszGrammarName,Options)
#define ISpRecoGrammar_LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options) (This)->lpVtbl->LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options)
#define ISpRecoGrammar_LoadCmdFromMemory(This,pGrammar,Options) (This)->lpVtbl->LoadCmdFromMemory(This,pGrammar,Options)
#define ISpRecoGrammar_LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options) (This)->lpVtbl->LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options)
#define ISpRecoGrammar_SetRuleState(This,pszName,pReserved,NewState) (This)->lpVtbl->SetRuleState(This,pszName,pReserved,NewState)
#define ISpRecoGrammar_SetRuleIdState(This,ulRuleId,NewState) (This)->lpVtbl->SetRuleIdState(This,ulRuleId,NewState)
#define ISpRecoGrammar_LoadDictation(This,pszTopicName,Options) (This)->lpVtbl->LoadDictation(This,pszTopicName,Options)
#define ISpRecoGrammar_UnloadDictation(This) (This)->lpVtbl->UnloadDictation(This)
#define ISpRecoGrammar_SetDictationState(This,NewState) (This)->lpVtbl->SetDictationState(This,NewState)
#define ISpRecoGrammar_SetWordSequenceData(This,pText,cchText,pInfo) (This)->lpVtbl->SetWordSequenceData(This,pText,cchText,pInfo)
#define ISpRecoGrammar_SetTextSelection(This,pInfo) (This)->lpVtbl->SetTextSelection(This,pInfo)
#define ISpRecoGrammar_IsPronounceable(This,pszWord,pWordPronounceable) (This)->lpVtbl->IsPronounceable(This,pszWord,pWordPronounceable)
#define ISpRecoGrammar_SetGrammarState(This,eGrammarState) (This)->lpVtbl->SetGrammarState(This,eGrammarState)
#define ISpRecoGrammar_SaveCmd(This,pStream,ppszCoMemErrorText) (This)->lpVtbl->SaveCmd(This,pStream,ppszCoMemErrorText)
#define ISpRecoGrammar_GetGrammarState(This,peGrammarState) (This)->lpVtbl->GetGrammarState(This,peGrammarState)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRecoGrammar_QueryInterface(ISpRecoGrammar* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRecoGrammar_AddRef(ISpRecoGrammar* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRecoGrammar_Release(ISpRecoGrammar* This) {
return This->lpVtbl->Release(This);
}
/*** ISpGrammarBuilder methods ***/
static FORCEINLINE HRESULT ISpRecoGrammar_ResetGrammar(ISpRecoGrammar* This,WORD NewLanguage) {
return This->lpVtbl->ResetGrammar(This,NewLanguage);
}
static FORCEINLINE HRESULT ISpRecoGrammar_GetRule(ISpRecoGrammar* This,LPCWSTR pszRuleName,DWORD dwRuleId,DWORD dwAttributes,WINBOOL fCreateIfNotExist,SPSTATEHANDLE *phInitialState) {
return This->lpVtbl->GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState);
}
static FORCEINLINE HRESULT ISpRecoGrammar_ClearRule(ISpRecoGrammar* This,SPSTATEHANDLE hState) {
return This->lpVtbl->ClearRule(This,hState);
}
static FORCEINLINE HRESULT ISpRecoGrammar_CreateNewState(ISpRecoGrammar* This,SPSTATEHANDLE hState,SPSTATEHANDLE *phState) {
return This->lpVtbl->CreateNewState(This,hState,phState);
}
static FORCEINLINE HRESULT ISpRecoGrammar_AddWordTransition(ISpRecoGrammar* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,LPCWSTR pszSeparators,SPGRAMMARWORDTYPE eWordType,float Weight,const SPPROPERTYINFO *pPropInfo) {
return This->lpVtbl->AddWordTransition(This,hFromState,hToState,psz,pszSeparators,eWordType,Weight,pPropInfo);
}
static FORCEINLINE HRESULT ISpRecoGrammar_AddRuleTransition(ISpRecoGrammar* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,SPSTATEHANDLE hRule,float Weight,const SPPROPERTYINFO *pPropInfo) {
return This->lpVtbl->AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo);
}
static FORCEINLINE HRESULT ISpRecoGrammar_AddResource(ISpRecoGrammar* This,SPSTATEHANDLE hRuleState,LPCWSTR pszResourceName,LPCWSTR pszResourceValue) {
return This->lpVtbl->AddResource(This,hRuleState,pszResourceName,pszResourceValue);
}
static FORCEINLINE HRESULT ISpRecoGrammar_Commit(ISpRecoGrammar* This,DWORD dwReserved) {
return This->lpVtbl->Commit(This,dwReserved);
}
/*** ISpRecoGrammar methods ***/
static FORCEINLINE HRESULT ISpRecoGrammar_GetGrammarId(ISpRecoGrammar* This,ULONGLONG *pullGrammarId) {
return This->lpVtbl->GetGrammarId(This,pullGrammarId);
}
static FORCEINLINE HRESULT ISpRecoGrammar_GetRecoContext(ISpRecoGrammar* This,ISpRecoContext **ppRecoCtxt) {
return This->lpVtbl->GetRecoContext(This,ppRecoCtxt);
}
static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromFile(ISpRecoGrammar* This,LPCWSTR pszFileName,SPLOADOPTIONS Options) {
return This->lpVtbl->LoadCmdFromFile(This,pszFileName,Options);
}
static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromObject(ISpRecoGrammar* This,REFCLSID rcid,LPCWSTR pszGrammarName,SPLOADOPTIONS Options) {
return This->lpVtbl->LoadCmdFromObject(This,rcid,pszGrammarName,Options);
}
static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromResource(ISpRecoGrammar* This,HMODULE hModule,LPCWSTR pszResourceName,LPCWSTR pszResourceType,WORD wLanguage,SPLOADOPTIONS Options) {
return This->lpVtbl->LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options);
}
static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromMemory(ISpRecoGrammar* This,const SPBINARYGRAMMAR *pGrammar,SPLOADOPTIONS Options) {
return This->lpVtbl->LoadCmdFromMemory(This,pGrammar,Options);
}
static FORCEINLINE HRESULT ISpRecoGrammar_LoadCmdFromProprietaryGrammar(ISpRecoGrammar* This,REFGUID rguidParam,LPCWSTR pszStringParam,const void *pvDataPrarm,ULONG cbDataSize,SPLOADOPTIONS Options) {
return This->lpVtbl->LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options);
}
static FORCEINLINE HRESULT ISpRecoGrammar_SetRuleState(ISpRecoGrammar* This,LPCWSTR pszName,void *pReserved,SPRULESTATE NewState) {
return This->lpVtbl->SetRuleState(This,pszName,pReserved,NewState);
}
static FORCEINLINE HRESULT ISpRecoGrammar_SetRuleIdState(ISpRecoGrammar* This,ULONG ulRuleId,SPRULESTATE NewState) {
return This->lpVtbl->SetRuleIdState(This,ulRuleId,NewState);
}
static FORCEINLINE HRESULT ISpRecoGrammar_LoadDictation(ISpRecoGrammar* This,LPCWSTR pszTopicName,SPLOADOPTIONS Options) {
return This->lpVtbl->LoadDictation(This,pszTopicName,Options);
}
static FORCEINLINE HRESULT ISpRecoGrammar_UnloadDictation(ISpRecoGrammar* This) {
return This->lpVtbl->UnloadDictation(This);
}
static FORCEINLINE HRESULT ISpRecoGrammar_SetDictationState(ISpRecoGrammar* This,SPRULESTATE NewState) {
return This->lpVtbl->SetDictationState(This,NewState);
}
static FORCEINLINE HRESULT ISpRecoGrammar_SetWordSequenceData(ISpRecoGrammar* This,const WCHAR *pText,ULONG cchText,const SPTEXTSELECTIONINFO *pInfo) {
return This->lpVtbl->SetWordSequenceData(This,pText,cchText,pInfo);
}
static FORCEINLINE HRESULT ISpRecoGrammar_SetTextSelection(ISpRecoGrammar* This,const SPTEXTSELECTIONINFO *pInfo) {
return This->lpVtbl->SetTextSelection(This,pInfo);
}
static FORCEINLINE HRESULT ISpRecoGrammar_IsPronounceable(ISpRecoGrammar* This,LPCWSTR pszWord,SPWORDPRONOUNCEABLE *pWordPronounceable) {
return This->lpVtbl->IsPronounceable(This,pszWord,pWordPronounceable);
}
static FORCEINLINE HRESULT ISpRecoGrammar_SetGrammarState(ISpRecoGrammar* This,SPGRAMMARSTATE eGrammarState) {
return This->lpVtbl->SetGrammarState(This,eGrammarState);
}
static FORCEINLINE HRESULT ISpRecoGrammar_SaveCmd(ISpRecoGrammar* This,IStream *pStream,LPWSTR *ppszCoMemErrorText) {
return This->lpVtbl->SaveCmd(This,pStream,ppszCoMemErrorText);
}
static FORCEINLINE HRESULT ISpRecoGrammar_GetGrammarState(ISpRecoGrammar* This,SPGRAMMARSTATE *peGrammarState) {
return This->lpVtbl->GetGrammarState(This,peGrammarState);
}
#endif
#endif
#endif
#endif /* __ISpRecoGrammar_INTERFACE_DEFINED__ */
typedef enum SPMATCHINGMODE {
AllWords = 0,
Subsequence = 1,
OrderedSubset = 3,
SubsequenceContentRequired = 5,
OrderedSubsetContentRequired = 7
} SPMATCHINGMODE;
typedef enum PHONETICALPHABET {
PA_Ipa = 0,
PA_Ups = 1,
PA_Sapi = 2
} PHONETICALPHABET;
/*****************************************************************************
* ISpGrammarBuilder2 interface
*/
#ifndef __ISpGrammarBuilder2_INTERFACE_DEFINED__
#define __ISpGrammarBuilder2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpGrammarBuilder2, 0x8ab10026, 0x20cc, 0x4b20, 0x8c,0x22, 0xa4,0x9c,0x9b,0xa7,0x8f,0x60);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8ab10026-20cc-4b20-8c22-a49c9ba78f60")
ISpGrammarBuilder2 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddTextSubset(
SPSTATEHANDLE hFromState,
SPSTATEHANDLE hToState,
LPCWSTR psz,
SPMATCHINGMODE eMatchMode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPhoneticAlphabet(
PHONETICALPHABET phoneticALphabet) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpGrammarBuilder2, 0x8ab10026, 0x20cc, 0x4b20, 0x8c,0x22, 0xa4,0x9c,0x9b,0xa7,0x8f,0x60)
#endif
#else
typedef struct ISpGrammarBuilder2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpGrammarBuilder2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpGrammarBuilder2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpGrammarBuilder2 *This);
/*** ISpGrammarBuilder2 methods ***/
HRESULT (STDMETHODCALLTYPE *AddTextSubset)(
ISpGrammarBuilder2 *This,
SPSTATEHANDLE hFromState,
SPSTATEHANDLE hToState,
LPCWSTR psz,
SPMATCHINGMODE eMatchMode);
HRESULT (STDMETHODCALLTYPE *SetPhoneticAlphabet)(
ISpGrammarBuilder2 *This,
PHONETICALPHABET phoneticALphabet);
END_INTERFACE
} ISpGrammarBuilder2Vtbl;
interface ISpGrammarBuilder2 {
CONST_VTBL ISpGrammarBuilder2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpGrammarBuilder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpGrammarBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpGrammarBuilder2_Release(This) (This)->lpVtbl->Release(This)
/*** ISpGrammarBuilder2 methods ***/
#define ISpGrammarBuilder2_AddTextSubset(This,hFromState,hToState,psz,eMatchMode) (This)->lpVtbl->AddTextSubset(This,hFromState,hToState,psz,eMatchMode)
#define ISpGrammarBuilder2_SetPhoneticAlphabet(This,phoneticALphabet) (This)->lpVtbl->SetPhoneticAlphabet(This,phoneticALphabet)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpGrammarBuilder2_QueryInterface(ISpGrammarBuilder2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpGrammarBuilder2_AddRef(ISpGrammarBuilder2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpGrammarBuilder2_Release(ISpGrammarBuilder2* This) {
return This->lpVtbl->Release(This);
}
/*** ISpGrammarBuilder2 methods ***/
static FORCEINLINE HRESULT ISpGrammarBuilder2_AddTextSubset(ISpGrammarBuilder2* This,SPSTATEHANDLE hFromState,SPSTATEHANDLE hToState,LPCWSTR psz,SPMATCHINGMODE eMatchMode) {
return This->lpVtbl->AddTextSubset(This,hFromState,hToState,psz,eMatchMode);
}
static FORCEINLINE HRESULT ISpGrammarBuilder2_SetPhoneticAlphabet(ISpGrammarBuilder2* This,PHONETICALPHABET phoneticALphabet) {
return This->lpVtbl->SetPhoneticAlphabet(This,phoneticALphabet);
}
#endif
#endif
#endif
#endif /* __ISpGrammarBuilder2_INTERFACE_DEFINED__ */
#define SPRP_NORMAL 0
/*****************************************************************************
* ISpRecoGrammar2 interface
*/
#ifndef __ISpRecoGrammar2_INTERFACE_DEFINED__
#define __ISpRecoGrammar2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRecoGrammar2, 0x4b37bc9e, 0x9ed6, 0x44a3, 0x93,0xd3, 0x18,0xf0,0x22,0xb7,0x9e,0xc3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4b37bc9e-9ed6-44a3-93d3-18f022b79ec3")
ISpRecoGrammar2 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetRules(
SPRULE **ppCoMemRules,
UINT *puNumRules) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadCmdFromFile2(
LPCWSTR pszFileName,
SPLOADOPTIONS Options,
LPCWSTR pszSharingUri,
LPCWSTR pszBaseUri) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadCmdFromMemory2(
const SPBINARYGRAMMAR *pGrammar,
SPLOADOPTIONS Options,
LPCWSTR pszSharingUri,
LPCWSTR pszBaseUri) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRulePriority(
LPCWSTR pszRuleName,
ULONG ulRuleId,
int nRulePriority) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRuleWeight(
LPCWSTR pszRuleName,
ULONG ulRuleId,
float flWeight) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDictationWeight(
float flWeight) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGrammarLoader(
ISpeechResourceLoader *pLoader) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSMLSecurityManager(
IInternetSecurityManager *pSMLSecurityManager) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRecoGrammar2, 0x4b37bc9e, 0x9ed6, 0x44a3, 0x93,0xd3, 0x18,0xf0,0x22,0xb7,0x9e,0xc3)
#endif
#else
typedef struct ISpRecoGrammar2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRecoGrammar2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRecoGrammar2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRecoGrammar2 *This);
/*** ISpRecoGrammar2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetRules)(
ISpRecoGrammar2 *This,
SPRULE **ppCoMemRules,
UINT *puNumRules);
HRESULT (STDMETHODCALLTYPE *LoadCmdFromFile2)(
ISpRecoGrammar2 *This,
LPCWSTR pszFileName,
SPLOADOPTIONS Options,
LPCWSTR pszSharingUri,
LPCWSTR pszBaseUri);
HRESULT (STDMETHODCALLTYPE *LoadCmdFromMemory2)(
ISpRecoGrammar2 *This,
const SPBINARYGRAMMAR *pGrammar,
SPLOADOPTIONS Options,
LPCWSTR pszSharingUri,
LPCWSTR pszBaseUri);
HRESULT (STDMETHODCALLTYPE *SetRulePriority)(
ISpRecoGrammar2 *This,
LPCWSTR pszRuleName,
ULONG ulRuleId,
int nRulePriority);
HRESULT (STDMETHODCALLTYPE *SetRuleWeight)(
ISpRecoGrammar2 *This,
LPCWSTR pszRuleName,
ULONG ulRuleId,
float flWeight);
HRESULT (STDMETHODCALLTYPE *SetDictationWeight)(
ISpRecoGrammar2 *This,
float flWeight);
HRESULT (STDMETHODCALLTYPE *SetGrammarLoader)(
ISpRecoGrammar2 *This,
ISpeechResourceLoader *pLoader);
HRESULT (STDMETHODCALLTYPE *SetSMLSecurityManager)(
ISpRecoGrammar2 *This,
IInternetSecurityManager *pSMLSecurityManager);
END_INTERFACE
} ISpRecoGrammar2Vtbl;
interface ISpRecoGrammar2 {
CONST_VTBL ISpRecoGrammar2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRecoGrammar2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRecoGrammar2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRecoGrammar2_Release(This) (This)->lpVtbl->Release(This)
/*** ISpRecoGrammar2 methods ***/
#define ISpRecoGrammar2_GetRules(This,ppCoMemRules,puNumRules) (This)->lpVtbl->GetRules(This,ppCoMemRules,puNumRules)
#define ISpRecoGrammar2_LoadCmdFromFile2(This,pszFileName,Options,pszSharingUri,pszBaseUri) (This)->lpVtbl->LoadCmdFromFile2(This,pszFileName,Options,pszSharingUri,pszBaseUri)
#define ISpRecoGrammar2_LoadCmdFromMemory2(This,pGrammar,Options,pszSharingUri,pszBaseUri) (This)->lpVtbl->LoadCmdFromMemory2(This,pGrammar,Options,pszSharingUri,pszBaseUri)
#define ISpRecoGrammar2_SetRulePriority(This,pszRuleName,ulRuleId,nRulePriority) (This)->lpVtbl->SetRulePriority(This,pszRuleName,ulRuleId,nRulePriority)
#define ISpRecoGrammar2_SetRuleWeight(This,pszRuleName,ulRuleId,flWeight) (This)->lpVtbl->SetRuleWeight(This,pszRuleName,ulRuleId,flWeight)
#define ISpRecoGrammar2_SetDictationWeight(This,flWeight) (This)->lpVtbl->SetDictationWeight(This,flWeight)
#define ISpRecoGrammar2_SetGrammarLoader(This,pLoader) (This)->lpVtbl->SetGrammarLoader(This,pLoader)
#define ISpRecoGrammar2_SetSMLSecurityManager(This,pSMLSecurityManager) (This)->lpVtbl->SetSMLSecurityManager(This,pSMLSecurityManager)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRecoGrammar2_QueryInterface(ISpRecoGrammar2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRecoGrammar2_AddRef(ISpRecoGrammar2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRecoGrammar2_Release(ISpRecoGrammar2* This) {
return This->lpVtbl->Release(This);
}
/*** ISpRecoGrammar2 methods ***/
static FORCEINLINE HRESULT ISpRecoGrammar2_GetRules(ISpRecoGrammar2* This,SPRULE **ppCoMemRules,UINT *puNumRules) {
return This->lpVtbl->GetRules(This,ppCoMemRules,puNumRules);
}
static FORCEINLINE HRESULT ISpRecoGrammar2_LoadCmdFromFile2(ISpRecoGrammar2* This,LPCWSTR pszFileName,SPLOADOPTIONS Options,LPCWSTR pszSharingUri,LPCWSTR pszBaseUri) {
return This->lpVtbl->LoadCmdFromFile2(This,pszFileName,Options,pszSharingUri,pszBaseUri);
}
static FORCEINLINE HRESULT ISpRecoGrammar2_LoadCmdFromMemory2(ISpRecoGrammar2* This,const SPBINARYGRAMMAR *pGrammar,SPLOADOPTIONS Options,LPCWSTR pszSharingUri,LPCWSTR pszBaseUri) {
return This->lpVtbl->LoadCmdFromMemory2(This,pGrammar,Options,pszSharingUri,pszBaseUri);
}
static FORCEINLINE HRESULT ISpRecoGrammar2_SetRulePriority(ISpRecoGrammar2* This,LPCWSTR pszRuleName,ULONG ulRuleId,int nRulePriority) {
return This->lpVtbl->SetRulePriority(This,pszRuleName,ulRuleId,nRulePriority);
}
static FORCEINLINE HRESULT ISpRecoGrammar2_SetRuleWeight(ISpRecoGrammar2* This,LPCWSTR pszRuleName,ULONG ulRuleId,float flWeight) {
return This->lpVtbl->SetRuleWeight(This,pszRuleName,ulRuleId,flWeight);
}
static FORCEINLINE HRESULT ISpRecoGrammar2_SetDictationWeight(ISpRecoGrammar2* This,float flWeight) {
return This->lpVtbl->SetDictationWeight(This,flWeight);
}
static FORCEINLINE HRESULT ISpRecoGrammar2_SetGrammarLoader(ISpRecoGrammar2* This,ISpeechResourceLoader *pLoader) {
return This->lpVtbl->SetGrammarLoader(This,pLoader);
}
static FORCEINLINE HRESULT ISpRecoGrammar2_SetSMLSecurityManager(ISpRecoGrammar2* This,IInternetSecurityManager *pSMLSecurityManager) {
return This->lpVtbl->SetSMLSecurityManager(This,pSMLSecurityManager);
}
#endif
#endif
#endif
#endif /* __ISpRecoGrammar2_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechResourceLoader interface
*/
#ifndef __ISpeechResourceLoader_INTERFACE_DEFINED__
#define __ISpeechResourceLoader_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechResourceLoader, 0xb9ac5783, 0xfcd0, 0x4b21, 0xb1,0x19, 0xb4,0xf8,0xda,0x8f,0xd2,0xc3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b9ac5783-fcd0-4b21-b119-b4f8da8fd2c3")
ISpeechResourceLoader : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE LoadResource(
BSTR bstrResourceUri,
VARIANT_BOOL fAlwaysReload,
IUnknown **pStream,
BSTR *pbstrMIMEType,
VARIANT_BOOL *pfModified,
BSTR *pbstrRedirectUrl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLocalCopy(
BSTR bstrResourceUri,
BSTR *pbstrLocalPath,
BSTR *pbstrMIMEType,
BSTR *pbstrRedirectUrl) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseLocalCopy(
BSTR pbstrLocalPath) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechResourceLoader, 0xb9ac5783, 0xfcd0, 0x4b21, 0xb1,0x19, 0xb4,0xf8,0xda,0x8f,0xd2,0xc3)
#endif
#else
typedef struct ISpeechResourceLoaderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechResourceLoader *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechResourceLoader *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechResourceLoader *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechResourceLoader *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechResourceLoader *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechResourceLoader *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechResourceLoader *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechResourceLoader methods ***/
HRESULT (STDMETHODCALLTYPE *LoadResource)(
ISpeechResourceLoader *This,
BSTR bstrResourceUri,
VARIANT_BOOL fAlwaysReload,
IUnknown **pStream,
BSTR *pbstrMIMEType,
VARIANT_BOOL *pfModified,
BSTR *pbstrRedirectUrl);
HRESULT (STDMETHODCALLTYPE *GetLocalCopy)(
ISpeechResourceLoader *This,
BSTR bstrResourceUri,
BSTR *pbstrLocalPath,
BSTR *pbstrMIMEType,
BSTR *pbstrRedirectUrl);
HRESULT (STDMETHODCALLTYPE *ReleaseLocalCopy)(
ISpeechResourceLoader *This,
BSTR pbstrLocalPath);
END_INTERFACE
} ISpeechResourceLoaderVtbl;
interface ISpeechResourceLoader {
CONST_VTBL ISpeechResourceLoaderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechResourceLoader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechResourceLoader_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechResourceLoader_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechResourceLoader_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechResourceLoader_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechResourceLoader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechResourceLoader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechResourceLoader methods ***/
#define ISpeechResourceLoader_LoadResource(This,bstrResourceUri,fAlwaysReload,pStream,pbstrMIMEType,pfModified,pbstrRedirectUrl) (This)->lpVtbl->LoadResource(This,bstrResourceUri,fAlwaysReload,pStream,pbstrMIMEType,pfModified,pbstrRedirectUrl)
#define ISpeechResourceLoader_GetLocalCopy(This,bstrResourceUri,pbstrLocalPath,pbstrMIMEType,pbstrRedirectUrl) (This)->lpVtbl->GetLocalCopy(This,bstrResourceUri,pbstrLocalPath,pbstrMIMEType,pbstrRedirectUrl)
#define ISpeechResourceLoader_ReleaseLocalCopy(This,pbstrLocalPath) (This)->lpVtbl->ReleaseLocalCopy(This,pbstrLocalPath)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechResourceLoader_QueryInterface(ISpeechResourceLoader* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechResourceLoader_AddRef(ISpeechResourceLoader* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechResourceLoader_Release(ISpeechResourceLoader* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechResourceLoader_GetTypeInfoCount(ISpeechResourceLoader* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechResourceLoader_GetTypeInfo(ISpeechResourceLoader* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechResourceLoader_GetIDsOfNames(ISpeechResourceLoader* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechResourceLoader_Invoke(ISpeechResourceLoader* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechResourceLoader methods ***/
static FORCEINLINE HRESULT ISpeechResourceLoader_LoadResource(ISpeechResourceLoader* This,BSTR bstrResourceUri,VARIANT_BOOL fAlwaysReload,IUnknown **pStream,BSTR *pbstrMIMEType,VARIANT_BOOL *pfModified,BSTR *pbstrRedirectUrl) {
return This->lpVtbl->LoadResource(This,bstrResourceUri,fAlwaysReload,pStream,pbstrMIMEType,pfModified,pbstrRedirectUrl);
}
static FORCEINLINE HRESULT ISpeechResourceLoader_GetLocalCopy(ISpeechResourceLoader* This,BSTR bstrResourceUri,BSTR *pbstrLocalPath,BSTR *pbstrMIMEType,BSTR *pbstrRedirectUrl) {
return This->lpVtbl->GetLocalCopy(This,bstrResourceUri,pbstrLocalPath,pbstrMIMEType,pbstrRedirectUrl);
}
static FORCEINLINE HRESULT ISpeechResourceLoader_ReleaseLocalCopy(ISpeechResourceLoader* This,BSTR pbstrLocalPath) {
return This->lpVtbl->ReleaseLocalCopy(This,pbstrLocalPath);
}
#endif
#endif
#endif
#endif /* __ISpeechResourceLoader_INTERFACE_DEFINED__ */
typedef struct SPRECOCONTEXTSTATUS {
SPINTERFERENCE eInterference;
WCHAR szRequestTypeOfUI[255];
DWORD dwReserved1;
DWORD dwReserved2;
} SPRECOCONTEXTSTATUS;
typedef enum SPBOOKMARKOPTIONS {
SPBO_NONE = 0,
SPBO_PAUSE = 0x1,
SPBO_AHEAD = 0x2,
SPBO_TIME_UNITS = 0x4
} SPBOOKMARKOPTIONS;
typedef enum SPAUDIOOPTIONS {
SPAO_NONE = 0,
SPAO_RETAIN_AUDIO = 0x1
} SPAUDIOOPTIONS;
/*****************************************************************************
* ISpRecoContext interface
*/
#ifndef __ISpRecoContext_INTERFACE_DEFINED__
#define __ISpRecoContext_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRecoContext, 0xf740a62f, 0x7c15, 0x489e, 0x82,0x34, 0x94,0x0a,0x33,0xd9,0x27,0x2d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f740a62f-7c15-489e-8234-940a33d9272d")
ISpRecoContext : public ISpEventSource
{
virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
ISpRecognizer **ppRecognizer) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
ULONGLONG ullGrammarId,
ISpRecoGrammar **ppGrammar) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus(
SPRECOCONTEXTSTATUS *pStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxAlternates(
ULONG *pcAlternates) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMaxAlternates(
ULONG cAlternates) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAudioOptions(
SPAUDIOOPTIONS Options,
const GUID *pAudioFormatId,
const WAVEFORMATEX *pWaveFormatEx) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudioOptions(
SPAUDIOOPTIONS *pOptions,
GUID *pAudioFormatId,
WAVEFORMATEX **ppCoMemWFEX) = 0;
virtual HRESULT STDMETHODCALLTYPE DeserializeResult(
const SPSERIALIZEDRESULT *pSerializedResult,
ISpRecoResult **ppResult) = 0;
virtual HRESULT STDMETHODCALLTYPE Bookmark(
SPBOOKMARKOPTIONS Options,
ULONGLONG ullStreamPosition,
LPARAM lparamEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
LPCWSTR pAdaptationData,
const ULONG cch) = 0;
virtual HRESULT STDMETHODCALLTYPE Pause(
DWORD dwReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE Resume(
DWORD dwReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVoice(
ISpVoice *pVoice,
WINBOOL fAllowFormatChanges) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVoice(
ISpVoice **ppVoice) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVoicePurgeEvent(
ULONGLONG ullEventInterest) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVoicePurgeEvent(
ULONGLONG *pullEventInterest) = 0;
virtual HRESULT STDMETHODCALLTYPE SetContextState(
SPCONTEXTSTATE eContextState) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContextState(
SPCONTEXTSTATE *peContextState) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRecoContext, 0xf740a62f, 0x7c15, 0x489e, 0x82,0x34, 0x94,0x0a,0x33,0xd9,0x27,0x2d)
#endif
#else
typedef struct ISpRecoContextVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRecoContext *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRecoContext *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRecoContext *This);
/*** ISpNotifySource methods ***/
HRESULT (STDMETHODCALLTYPE *SetNotifySink)(
ISpRecoContext *This,
ISpNotifySink *pNotifySink);
HRESULT (STDMETHODCALLTYPE *SetNotifyWindowMessage)(
ISpRecoContext *This,
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackFunction)(
ISpRecoContext *This,
SPNOTIFYCALLBACK *pfnCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyCallbackInterface)(
ISpRecoContext *This,
ISpNotifyCallback *pSpCallback,
WPARAM wParam,
LPARAM lParam);
HRESULT (STDMETHODCALLTYPE *SetNotifyWin32Event)(
ISpRecoContext *This);
HRESULT (STDMETHODCALLTYPE *WaitForNotifyEvent)(
ISpRecoContext *This,
DWORD dwMilliseconds);
HANDLE (STDMETHODCALLTYPE *GetNotifyEventHandle)(
ISpRecoContext *This);
/*** ISpEventSource methods ***/
HRESULT (STDMETHODCALLTYPE *SetInterest)(
ISpRecoContext *This,
ULONGLONG ullEventInterest,
ULONGLONG ullQueuedInterest);
HRESULT (STDMETHODCALLTYPE *GetEvents)(
ISpRecoContext *This,
ULONG ulCount,
SPEVENT *pEventArray,
ULONG *pulFetched);
HRESULT (STDMETHODCALLTYPE *GetInfo)(
ISpRecoContext *This,
SPEVENTSOURCEINFO *pInfo);
/*** ISpRecoContext methods ***/
HRESULT (STDMETHODCALLTYPE *GetRecognizer)(
ISpRecoContext *This,
ISpRecognizer **ppRecognizer);
HRESULT (STDMETHODCALLTYPE *CreateGrammar)(
ISpRecoContext *This,
ULONGLONG ullGrammarId,
ISpRecoGrammar **ppGrammar);
HRESULT (STDMETHODCALLTYPE *GetStatus)(
ISpRecoContext *This,
SPRECOCONTEXTSTATUS *pStatus);
HRESULT (STDMETHODCALLTYPE *GetMaxAlternates)(
ISpRecoContext *This,
ULONG *pcAlternates);
HRESULT (STDMETHODCALLTYPE *SetMaxAlternates)(
ISpRecoContext *This,
ULONG cAlternates);
HRESULT (STDMETHODCALLTYPE *SetAudioOptions)(
ISpRecoContext *This,
SPAUDIOOPTIONS Options,
const GUID *pAudioFormatId,
const WAVEFORMATEX *pWaveFormatEx);
HRESULT (STDMETHODCALLTYPE *GetAudioOptions)(
ISpRecoContext *This,
SPAUDIOOPTIONS *pOptions,
GUID *pAudioFormatId,
WAVEFORMATEX **ppCoMemWFEX);
HRESULT (STDMETHODCALLTYPE *DeserializeResult)(
ISpRecoContext *This,
const SPSERIALIZEDRESULT *pSerializedResult,
ISpRecoResult **ppResult);
HRESULT (STDMETHODCALLTYPE *Bookmark)(
ISpRecoContext *This,
SPBOOKMARKOPTIONS Options,
ULONGLONG ullStreamPosition,
LPARAM lparamEvent);
HRESULT (STDMETHODCALLTYPE *SetAdaptationData)(
ISpRecoContext *This,
LPCWSTR pAdaptationData,
const ULONG cch);
HRESULT (STDMETHODCALLTYPE *Pause)(
ISpRecoContext *This,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *Resume)(
ISpRecoContext *This,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *SetVoice)(
ISpRecoContext *This,
ISpVoice *pVoice,
WINBOOL fAllowFormatChanges);
HRESULT (STDMETHODCALLTYPE *GetVoice)(
ISpRecoContext *This,
ISpVoice **ppVoice);
HRESULT (STDMETHODCALLTYPE *SetVoicePurgeEvent)(
ISpRecoContext *This,
ULONGLONG ullEventInterest);
HRESULT (STDMETHODCALLTYPE *GetVoicePurgeEvent)(
ISpRecoContext *This,
ULONGLONG *pullEventInterest);
HRESULT (STDMETHODCALLTYPE *SetContextState)(
ISpRecoContext *This,
SPCONTEXTSTATE eContextState);
HRESULT (STDMETHODCALLTYPE *GetContextState)(
ISpRecoContext *This,
SPCONTEXTSTATE *peContextState);
END_INTERFACE
} ISpRecoContextVtbl;
interface ISpRecoContext {
CONST_VTBL ISpRecoContextVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRecoContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRecoContext_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRecoContext_Release(This) (This)->lpVtbl->Release(This)
/*** ISpNotifySource methods ***/
#define ISpRecoContext_SetNotifySink(This,pNotifySink) (This)->lpVtbl->SetNotifySink(This,pNotifySink)
#define ISpRecoContext_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) (This)->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
#define ISpRecoContext_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
#define ISpRecoContext_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) (This)->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
#define ISpRecoContext_SetNotifyWin32Event(This) (This)->lpVtbl->SetNotifyWin32Event(This)
#define ISpRecoContext_WaitForNotifyEvent(This,dwMilliseconds) (This)->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds)
#define ISpRecoContext_GetNotifyEventHandle(This) (This)->lpVtbl->GetNotifyEventHandle(This)
/*** ISpEventSource methods ***/
#define ISpRecoContext_SetInterest(This,ullEventInterest,ullQueuedInterest) (This)->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest)
#define ISpRecoContext_GetEvents(This,ulCount,pEventArray,pulFetched) (This)->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched)
#define ISpRecoContext_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo)
/*** ISpRecoContext methods ***/
#define ISpRecoContext_GetRecognizer(This,ppRecognizer) (This)->lpVtbl->GetRecognizer(This,ppRecognizer)
#define ISpRecoContext_CreateGrammar(This,ullGrammarId,ppGrammar) (This)->lpVtbl->CreateGrammar(This,ullGrammarId,ppGrammar)
#define ISpRecoContext_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
#define ISpRecoContext_GetMaxAlternates(This,pcAlternates) (This)->lpVtbl->GetMaxAlternates(This,pcAlternates)
#define ISpRecoContext_SetMaxAlternates(This,cAlternates) (This)->lpVtbl->SetMaxAlternates(This,cAlternates)
#define ISpRecoContext_SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx) (This)->lpVtbl->SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx)
#define ISpRecoContext_GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX) (This)->lpVtbl->GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX)
#define ISpRecoContext_DeserializeResult(This,pSerializedResult,ppResult) (This)->lpVtbl->DeserializeResult(This,pSerializedResult,ppResult)
#define ISpRecoContext_Bookmark(This,Options,ullStreamPosition,lparamEvent) (This)->lpVtbl->Bookmark(This,Options,ullStreamPosition,lparamEvent)
#define ISpRecoContext_SetAdaptationData(This,pAdaptationData,cch) (This)->lpVtbl->SetAdaptationData(This,pAdaptationData,cch)
#define ISpRecoContext_Pause(This,dwReserved) (This)->lpVtbl->Pause(This,dwReserved)
#define ISpRecoContext_Resume(This,dwReserved) (This)->lpVtbl->Resume(This,dwReserved)
#define ISpRecoContext_SetVoice(This,pVoice,fAllowFormatChanges) (This)->lpVtbl->SetVoice(This,pVoice,fAllowFormatChanges)
#define ISpRecoContext_GetVoice(This,ppVoice) (This)->lpVtbl->GetVoice(This,ppVoice)
#define ISpRecoContext_SetVoicePurgeEvent(This,ullEventInterest) (This)->lpVtbl->SetVoicePurgeEvent(This,ullEventInterest)
#define ISpRecoContext_GetVoicePurgeEvent(This,pullEventInterest) (This)->lpVtbl->GetVoicePurgeEvent(This,pullEventInterest)
#define ISpRecoContext_SetContextState(This,eContextState) (This)->lpVtbl->SetContextState(This,eContextState)
#define ISpRecoContext_GetContextState(This,peContextState) (This)->lpVtbl->GetContextState(This,peContextState)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRecoContext_QueryInterface(ISpRecoContext* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRecoContext_AddRef(ISpRecoContext* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRecoContext_Release(ISpRecoContext* This) {
return This->lpVtbl->Release(This);
}
/*** ISpNotifySource methods ***/
static FORCEINLINE HRESULT ISpRecoContext_SetNotifySink(ISpRecoContext* This,ISpNotifySink *pNotifySink) {
return This->lpVtbl->SetNotifySink(This,pNotifySink);
}
static FORCEINLINE HRESULT ISpRecoContext_SetNotifyWindowMessage(ISpRecoContext* This,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam);
}
static FORCEINLINE HRESULT ISpRecoContext_SetNotifyCallbackFunction(ISpRecoContext* This,SPNOTIFYCALLBACK *pfnCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpRecoContext_SetNotifyCallbackInterface(ISpRecoContext* This,ISpNotifyCallback *pSpCallback,WPARAM wParam,LPARAM lParam) {
return This->lpVtbl->SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam);
}
static FORCEINLINE HRESULT ISpRecoContext_SetNotifyWin32Event(ISpRecoContext* This) {
return This->lpVtbl->SetNotifyWin32Event(This);
}
static FORCEINLINE HRESULT ISpRecoContext_WaitForNotifyEvent(ISpRecoContext* This,DWORD dwMilliseconds) {
return This->lpVtbl->WaitForNotifyEvent(This,dwMilliseconds);
}
static FORCEINLINE HANDLE ISpRecoContext_GetNotifyEventHandle(ISpRecoContext* This) {
return This->lpVtbl->GetNotifyEventHandle(This);
}
/*** ISpEventSource methods ***/
static FORCEINLINE HRESULT ISpRecoContext_SetInterest(ISpRecoContext* This,ULONGLONG ullEventInterest,ULONGLONG ullQueuedInterest) {
return This->lpVtbl->SetInterest(This,ullEventInterest,ullQueuedInterest);
}
static FORCEINLINE HRESULT ISpRecoContext_GetEvents(ISpRecoContext* This,ULONG ulCount,SPEVENT *pEventArray,ULONG *pulFetched) {
return This->lpVtbl->GetEvents(This,ulCount,pEventArray,pulFetched);
}
static FORCEINLINE HRESULT ISpRecoContext_GetInfo(ISpRecoContext* This,SPEVENTSOURCEINFO *pInfo) {
return This->lpVtbl->GetInfo(This,pInfo);
}
/*** ISpRecoContext methods ***/
static FORCEINLINE HRESULT ISpRecoContext_GetRecognizer(ISpRecoContext* This,ISpRecognizer **ppRecognizer) {
return This->lpVtbl->GetRecognizer(This,ppRecognizer);
}
static FORCEINLINE HRESULT ISpRecoContext_CreateGrammar(ISpRecoContext* This,ULONGLONG ullGrammarId,ISpRecoGrammar **ppGrammar) {
return This->lpVtbl->CreateGrammar(This,ullGrammarId,ppGrammar);
}
static FORCEINLINE HRESULT ISpRecoContext_GetStatus(ISpRecoContext* This,SPRECOCONTEXTSTATUS *pStatus) {
return This->lpVtbl->GetStatus(This,pStatus);
}
static FORCEINLINE HRESULT ISpRecoContext_GetMaxAlternates(ISpRecoContext* This,ULONG *pcAlternates) {
return This->lpVtbl->GetMaxAlternates(This,pcAlternates);
}
static FORCEINLINE HRESULT ISpRecoContext_SetMaxAlternates(ISpRecoContext* This,ULONG cAlternates) {
return This->lpVtbl->SetMaxAlternates(This,cAlternates);
}
static FORCEINLINE HRESULT ISpRecoContext_SetAudioOptions(ISpRecoContext* This,SPAUDIOOPTIONS Options,const GUID *pAudioFormatId,const WAVEFORMATEX *pWaveFormatEx) {
return This->lpVtbl->SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx);
}
static FORCEINLINE HRESULT ISpRecoContext_GetAudioOptions(ISpRecoContext* This,SPAUDIOOPTIONS *pOptions,GUID *pAudioFormatId,WAVEFORMATEX **ppCoMemWFEX) {
return This->lpVtbl->GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX);
}
static FORCEINLINE HRESULT ISpRecoContext_DeserializeResult(ISpRecoContext* This,const SPSERIALIZEDRESULT *pSerializedResult,ISpRecoResult **ppResult) {
return This->lpVtbl->DeserializeResult(This,pSerializedResult,ppResult);
}
static FORCEINLINE HRESULT ISpRecoContext_Bookmark(ISpRecoContext* This,SPBOOKMARKOPTIONS Options,ULONGLONG ullStreamPosition,LPARAM lparamEvent) {
return This->lpVtbl->Bookmark(This,Options,ullStreamPosition,lparamEvent);
}
static FORCEINLINE HRESULT ISpRecoContext_SetAdaptationData(ISpRecoContext* This,LPCWSTR pAdaptationData,const ULONG cch) {
return This->lpVtbl->SetAdaptationData(This,pAdaptationData,cch);
}
static FORCEINLINE HRESULT ISpRecoContext_Pause(ISpRecoContext* This,DWORD dwReserved) {
return This->lpVtbl->Pause(This,dwReserved);
}
static FORCEINLINE HRESULT ISpRecoContext_Resume(ISpRecoContext* This,DWORD dwReserved) {
return This->lpVtbl->Resume(This,dwReserved);
}
static FORCEINLINE HRESULT ISpRecoContext_SetVoice(ISpRecoContext* This,ISpVoice *pVoice,WINBOOL fAllowFormatChanges) {
return This->lpVtbl->SetVoice(This,pVoice,fAllowFormatChanges);
}
static FORCEINLINE HRESULT ISpRecoContext_GetVoice(ISpRecoContext* This,ISpVoice **ppVoice) {
return This->lpVtbl->GetVoice(This,ppVoice);
}
static FORCEINLINE HRESULT ISpRecoContext_SetVoicePurgeEvent(ISpRecoContext* This,ULONGLONG ullEventInterest) {
return This->lpVtbl->SetVoicePurgeEvent(This,ullEventInterest);
}
static FORCEINLINE HRESULT ISpRecoContext_GetVoicePurgeEvent(ISpRecoContext* This,ULONGLONG *pullEventInterest) {
return This->lpVtbl->GetVoicePurgeEvent(This,pullEventInterest);
}
static FORCEINLINE HRESULT ISpRecoContext_SetContextState(ISpRecoContext* This,SPCONTEXTSTATE eContextState) {
return This->lpVtbl->SetContextState(This,eContextState);
}
static FORCEINLINE HRESULT ISpRecoContext_GetContextState(ISpRecoContext* This,SPCONTEXTSTATE *peContextState) {
return This->lpVtbl->GetContextState(This,peContextState);
}
#endif
#endif
#endif
#endif /* __ISpRecoContext_INTERFACE_DEFINED__ */
typedef enum SPGRAMMAROPTIONS {
SPGO_SAPI = 0x1,
SPGO_SRGS = 0x2,
SPGO_UPS = 0x4,
SPGO_SRGS_MS_SCRIPT = 0x8,
SPGO_FILE = 0x10,
SPGO_HTTP = 0x20,
SPGO_RES = 0x40,
SPGO_OBJECT = 0x80,
SPGO_SRGS_W3C_SCRIPT = 0x100,
SPGO_SRGS_STG_SCRIPT = 0x200,
SPGO_SRGS_SCRIPT = ((SPGO_SRGS | SPGO_SRGS_MS_SCRIPT) | SPGO_SRGS_W3C_SCRIPT) | SPGO_SRGS_STG_SCRIPT,
SPGO_DEFAULT = 0x3fb,
SPGO_ALL = 0x3ff
} SPGRAMMAROPTIONS;
typedef enum SPADAPTATIONSETTINGS {
SPADS_Default = 0x0,
SPADS_CurrentRecognizer = 0x1,
SPADS_RecoProfile = 0x2,
SPADS_Immediate = 0x4,
SPADS_Reset = 0x8,
SPADS_HighVolumeDataSource = 0x10
} SPADAPTATIONSETTINGS;
typedef enum SPADAPTATIONRELEVANCE {
SPAR_Unknown = 0,
SPAR_Low = 1,
SPAR_Medium = 2,
SPAR_High = 3
} SPADAPTATIONRELEVANCE;
/*****************************************************************************
* ISpRecoContext2 interface
*/
#ifndef __ISpRecoContext2_INTERFACE_DEFINED__
#define __ISpRecoContext2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRecoContext2, 0xbead311c, 0x52ff, 0x437f, 0x94,0x64, 0x6b,0x21,0x05,0x4c,0xa7,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bead311c-52ff-437f-9464-6b21054ca73d")
ISpRecoContext2 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetGrammarOptions(
DWORD eGrammarOptions) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGrammarOptions(
DWORD *peGrammarOptions) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAdaptationData2(
LPCWSTR pAdaptationData,
const ULONG cch,
LPCWSTR pTopicName,
DWORD eAdaptationSettings,
SPADAPTATIONRELEVANCE eRelevance) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRecoContext2, 0xbead311c, 0x52ff, 0x437f, 0x94,0x64, 0x6b,0x21,0x05,0x4c,0xa7,0x3d)
#endif
#else
typedef struct ISpRecoContext2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRecoContext2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRecoContext2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRecoContext2 *This);
/*** ISpRecoContext2 methods ***/
HRESULT (STDMETHODCALLTYPE *SetGrammarOptions)(
ISpRecoContext2 *This,
DWORD eGrammarOptions);
HRESULT (STDMETHODCALLTYPE *GetGrammarOptions)(
ISpRecoContext2 *This,
DWORD *peGrammarOptions);
HRESULT (STDMETHODCALLTYPE *SetAdaptationData2)(
ISpRecoContext2 *This,
LPCWSTR pAdaptationData,
const ULONG cch,
LPCWSTR pTopicName,
DWORD eAdaptationSettings,
SPADAPTATIONRELEVANCE eRelevance);
END_INTERFACE
} ISpRecoContext2Vtbl;
interface ISpRecoContext2 {
CONST_VTBL ISpRecoContext2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRecoContext2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRecoContext2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRecoContext2_Release(This) (This)->lpVtbl->Release(This)
/*** ISpRecoContext2 methods ***/
#define ISpRecoContext2_SetGrammarOptions(This,eGrammarOptions) (This)->lpVtbl->SetGrammarOptions(This,eGrammarOptions)
#define ISpRecoContext2_GetGrammarOptions(This,peGrammarOptions) (This)->lpVtbl->GetGrammarOptions(This,peGrammarOptions)
#define ISpRecoContext2_SetAdaptationData2(This,pAdaptationData,cch,pTopicName,eAdaptationSettings,eRelevance) (This)->lpVtbl->SetAdaptationData2(This,pAdaptationData,cch,pTopicName,eAdaptationSettings,eRelevance)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRecoContext2_QueryInterface(ISpRecoContext2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRecoContext2_AddRef(ISpRecoContext2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRecoContext2_Release(ISpRecoContext2* This) {
return This->lpVtbl->Release(This);
}
/*** ISpRecoContext2 methods ***/
static FORCEINLINE HRESULT ISpRecoContext2_SetGrammarOptions(ISpRecoContext2* This,DWORD eGrammarOptions) {
return This->lpVtbl->SetGrammarOptions(This,eGrammarOptions);
}
static FORCEINLINE HRESULT ISpRecoContext2_GetGrammarOptions(ISpRecoContext2* This,DWORD *peGrammarOptions) {
return This->lpVtbl->GetGrammarOptions(This,peGrammarOptions);
}
static FORCEINLINE HRESULT ISpRecoContext2_SetAdaptationData2(ISpRecoContext2* This,LPCWSTR pAdaptationData,const ULONG cch,LPCWSTR pTopicName,DWORD eAdaptationSettings,SPADAPTATIONRELEVANCE eRelevance) {
return This->lpVtbl->SetAdaptationData2(This,pAdaptationData,cch,pTopicName,eAdaptationSettings,eRelevance);
}
#endif
#endif
#endif
#endif /* __ISpRecoContext2_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpProperties interface
*/
#ifndef __ISpProperties_INTERFACE_DEFINED__
#define __ISpProperties_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpProperties, 0x5b4fb971, 0xb115, 0x4de1, 0xad,0x97, 0xe4,0x82,0xe3,0xbf,0x6e,0xe4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b4fb971-b115-4de1-ad97-e482e3bf6ee4")
ISpProperties : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetPropertyNum(
LPCWSTR pName,
LONG lValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyNum(
LPCWSTR pName,
LONG *plValue) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
LPCWSTR pName,
LPCWSTR pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
LPCWSTR pName,
LPWSTR *ppCoMemValue) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpProperties, 0x5b4fb971, 0xb115, 0x4de1, 0xad,0x97, 0xe4,0x82,0xe3,0xbf,0x6e,0xe4)
#endif
#else
typedef struct ISpPropertiesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpProperties *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpProperties *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpProperties *This);
/*** ISpProperties methods ***/
HRESULT (STDMETHODCALLTYPE *SetPropertyNum)(
ISpProperties *This,
LPCWSTR pName,
LONG lValue);
HRESULT (STDMETHODCALLTYPE *GetPropertyNum)(
ISpProperties *This,
LPCWSTR pName,
LONG *plValue);
HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
ISpProperties *This,
LPCWSTR pName,
LPCWSTR pValue);
HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
ISpProperties *This,
LPCWSTR pName,
LPWSTR *ppCoMemValue);
END_INTERFACE
} ISpPropertiesVtbl;
interface ISpProperties {
CONST_VTBL ISpPropertiesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpProperties_Release(This) (This)->lpVtbl->Release(This)
/*** ISpProperties methods ***/
#define ISpProperties_SetPropertyNum(This,pName,lValue) (This)->lpVtbl->SetPropertyNum(This,pName,lValue)
#define ISpProperties_GetPropertyNum(This,pName,plValue) (This)->lpVtbl->GetPropertyNum(This,pName,plValue)
#define ISpProperties_SetPropertyString(This,pName,pValue) (This)->lpVtbl->SetPropertyString(This,pName,pValue)
#define ISpProperties_GetPropertyString(This,pName,ppCoMemValue) (This)->lpVtbl->GetPropertyString(This,pName,ppCoMemValue)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpProperties_QueryInterface(ISpProperties* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpProperties_AddRef(ISpProperties* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpProperties_Release(ISpProperties* This) {
return This->lpVtbl->Release(This);
}
/*** ISpProperties methods ***/
static FORCEINLINE HRESULT ISpProperties_SetPropertyNum(ISpProperties* This,LPCWSTR pName,LONG lValue) {
return This->lpVtbl->SetPropertyNum(This,pName,lValue);
}
static FORCEINLINE HRESULT ISpProperties_GetPropertyNum(ISpProperties* This,LPCWSTR pName,LONG *plValue) {
return This->lpVtbl->GetPropertyNum(This,pName,plValue);
}
static FORCEINLINE HRESULT ISpProperties_SetPropertyString(ISpProperties* This,LPCWSTR pName,LPCWSTR pValue) {
return This->lpVtbl->SetPropertyString(This,pName,pValue);
}
static FORCEINLINE HRESULT ISpProperties_GetPropertyString(ISpProperties* This,LPCWSTR pName,LPWSTR *ppCoMemValue) {
return This->lpVtbl->GetPropertyString(This,pName,ppCoMemValue);
}
#endif
#endif
#endif
#endif /* __ISpProperties_INTERFACE_DEFINED__ */
#define SP_MAX_LANGIDS (20)
typedef struct SPRECOGNIZERSTATUS {
SPAUDIOSTATUS AudioStatus;
ULONGLONG ullRecognitionStreamPos;
ULONG ulStreamNumber;
ULONG ulNumActive;
CLSID clsidEngine;
ULONG cLangIDs;
WORD aLangID[20];
ULONGLONG ullRecognitionStreamTime;
} SPRECOGNIZERSTATUS;
typedef enum SPWAVEFORMATTYPE {
SPWF_INPUT = 0,
SPWF_SRENGINE = 1
} SPSTREAMFORMATTYPE;
typedef enum SPRECOSTATE {
SPRST_INACTIVE = 0,
SPRST_ACTIVE = 1,
SPRST_ACTIVE_ALWAYS = 2,
SPRST_INACTIVE_WITH_PURGE = 3,
SPRST_NUM_STATES = 4
} SPRECOSTATE;
/*****************************************************************************
* ISpRecognizer interface
*/
#ifndef __ISpRecognizer_INTERFACE_DEFINED__
#define __ISpRecognizer_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRecognizer, 0xc2b5f241, 0xdaa0, 0x4507, 0x9e,0x16, 0x5a,0x1e,0xaa,0x2b,0x7a,0x5c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c2b5f241-daa0-4507-9e16-5a1eaa2b7a5c")
ISpRecognizer : public ISpProperties
{
virtual HRESULT STDMETHODCALLTYPE SetRecognizer(
ISpObjectToken *pRecognizer) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
ISpObjectToken **ppRecognizer) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInput(
IUnknown *pUnkInput,
WINBOOL fAllowFormatChanges) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputObjectToken(
ISpObjectToken **ppToken) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputStream(
ISpStreamFormat **ppStream) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
ISpRecoContext **ppNewCtxt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRecoProfile(
ISpObjectToken **ppToken) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRecoProfile(
ISpObjectToken *pToken) = 0;
virtual HRESULT STDMETHODCALLTYPE IsSharedInstance(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRecoState(
SPRECOSTATE *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRecoState(
SPRECOSTATE NewState) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus(
SPRECOGNIZERSTATUS *pStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFormat(
SPSTREAMFORMATTYPE WaveFormatType,
GUID *pFormatId,
WAVEFORMATEX **ppCoMemWFEX) = 0;
virtual HRESULT STDMETHODCALLTYPE IsUISupported(
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
WINBOOL *pfSupported) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayUI(
HWND hwndParent,
LPCWSTR pszTitle,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData) = 0;
virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
ISpPhrase *pPhrase) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRecognizer, 0xc2b5f241, 0xdaa0, 0x4507, 0x9e,0x16, 0x5a,0x1e,0xaa,0x2b,0x7a,0x5c)
#endif
#else
typedef struct ISpRecognizerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRecognizer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRecognizer *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRecognizer *This);
/*** ISpProperties methods ***/
HRESULT (STDMETHODCALLTYPE *SetPropertyNum)(
ISpRecognizer *This,
LPCWSTR pName,
LONG lValue);
HRESULT (STDMETHODCALLTYPE *GetPropertyNum)(
ISpRecognizer *This,
LPCWSTR pName,
LONG *plValue);
HRESULT (STDMETHODCALLTYPE *SetPropertyString)(
ISpRecognizer *This,
LPCWSTR pName,
LPCWSTR pValue);
HRESULT (STDMETHODCALLTYPE *GetPropertyString)(
ISpRecognizer *This,
LPCWSTR pName,
LPWSTR *ppCoMemValue);
/*** ISpRecognizer methods ***/
HRESULT (STDMETHODCALLTYPE *SetRecognizer)(
ISpRecognizer *This,
ISpObjectToken *pRecognizer);
HRESULT (STDMETHODCALLTYPE *GetRecognizer)(
ISpRecognizer *This,
ISpObjectToken **ppRecognizer);
HRESULT (STDMETHODCALLTYPE *SetInput)(
ISpRecognizer *This,
IUnknown *pUnkInput,
WINBOOL fAllowFormatChanges);
HRESULT (STDMETHODCALLTYPE *GetInputObjectToken)(
ISpRecognizer *This,
ISpObjectToken **ppToken);
HRESULT (STDMETHODCALLTYPE *GetInputStream)(
ISpRecognizer *This,
ISpStreamFormat **ppStream);
HRESULT (STDMETHODCALLTYPE *CreateRecoContext)(
ISpRecognizer *This,
ISpRecoContext **ppNewCtxt);
HRESULT (STDMETHODCALLTYPE *GetRecoProfile)(
ISpRecognizer *This,
ISpObjectToken **ppToken);
HRESULT (STDMETHODCALLTYPE *SetRecoProfile)(
ISpRecognizer *This,
ISpObjectToken *pToken);
HRESULT (STDMETHODCALLTYPE *IsSharedInstance)(
ISpRecognizer *This);
HRESULT (STDMETHODCALLTYPE *GetRecoState)(
ISpRecognizer *This,
SPRECOSTATE *pState);
HRESULT (STDMETHODCALLTYPE *SetRecoState)(
ISpRecognizer *This,
SPRECOSTATE NewState);
HRESULT (STDMETHODCALLTYPE *GetStatus)(
ISpRecognizer *This,
SPRECOGNIZERSTATUS *pStatus);
HRESULT (STDMETHODCALLTYPE *GetFormat)(
ISpRecognizer *This,
SPSTREAMFORMATTYPE WaveFormatType,
GUID *pFormatId,
WAVEFORMATEX **ppCoMemWFEX);
HRESULT (STDMETHODCALLTYPE *IsUISupported)(
ISpRecognizer *This,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData,
WINBOOL *pfSupported);
HRESULT (STDMETHODCALLTYPE *DisplayUI)(
ISpRecognizer *This,
HWND hwndParent,
LPCWSTR pszTitle,
LPCWSTR pszTypeOfUI,
void *pvExtraData,
ULONG cbExtraData);
HRESULT (STDMETHODCALLTYPE *EmulateRecognition)(
ISpRecognizer *This,
ISpPhrase *pPhrase);
END_INTERFACE
} ISpRecognizerVtbl;
interface ISpRecognizer {
CONST_VTBL ISpRecognizerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRecognizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRecognizer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRecognizer_Release(This) (This)->lpVtbl->Release(This)
/*** ISpProperties methods ***/
#define ISpRecognizer_SetPropertyNum(This,pName,lValue) (This)->lpVtbl->SetPropertyNum(This,pName,lValue)
#define ISpRecognizer_GetPropertyNum(This,pName,plValue) (This)->lpVtbl->GetPropertyNum(This,pName,plValue)
#define ISpRecognizer_SetPropertyString(This,pName,pValue) (This)->lpVtbl->SetPropertyString(This,pName,pValue)
#define ISpRecognizer_GetPropertyString(This,pName,ppCoMemValue) (This)->lpVtbl->GetPropertyString(This,pName,ppCoMemValue)
/*** ISpRecognizer methods ***/
#define ISpRecognizer_SetRecognizer(This,pRecognizer) (This)->lpVtbl->SetRecognizer(This,pRecognizer)
#define ISpRecognizer_GetRecognizer(This,ppRecognizer) (This)->lpVtbl->GetRecognizer(This,ppRecognizer)
#define ISpRecognizer_SetInput(This,pUnkInput,fAllowFormatChanges) (This)->lpVtbl->SetInput(This,pUnkInput,fAllowFormatChanges)
#define ISpRecognizer_GetInputObjectToken(This,ppToken) (This)->lpVtbl->GetInputObjectToken(This,ppToken)
#define ISpRecognizer_GetInputStream(This,ppStream) (This)->lpVtbl->GetInputStream(This,ppStream)
#define ISpRecognizer_CreateRecoContext(This,ppNewCtxt) (This)->lpVtbl->CreateRecoContext(This,ppNewCtxt)
#define ISpRecognizer_GetRecoProfile(This,ppToken) (This)->lpVtbl->GetRecoProfile(This,ppToken)
#define ISpRecognizer_SetRecoProfile(This,pToken) (This)->lpVtbl->SetRecoProfile(This,pToken)
#define ISpRecognizer_IsSharedInstance(This) (This)->lpVtbl->IsSharedInstance(This)
#define ISpRecognizer_GetRecoState(This,pState) (This)->lpVtbl->GetRecoState(This,pState)
#define ISpRecognizer_SetRecoState(This,NewState) (This)->lpVtbl->SetRecoState(This,NewState)
#define ISpRecognizer_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus)
#define ISpRecognizer_GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX) (This)->lpVtbl->GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX)
#define ISpRecognizer_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) (This)->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
#define ISpRecognizer_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) (This)->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
#define ISpRecognizer_EmulateRecognition(This,pPhrase) (This)->lpVtbl->EmulateRecognition(This,pPhrase)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRecognizer_QueryInterface(ISpRecognizer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRecognizer_AddRef(ISpRecognizer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRecognizer_Release(ISpRecognizer* This) {
return This->lpVtbl->Release(This);
}
/*** ISpProperties methods ***/
static FORCEINLINE HRESULT ISpRecognizer_SetPropertyNum(ISpRecognizer* This,LPCWSTR pName,LONG lValue) {
return This->lpVtbl->SetPropertyNum(This,pName,lValue);
}
static FORCEINLINE HRESULT ISpRecognizer_GetPropertyNum(ISpRecognizer* This,LPCWSTR pName,LONG *plValue) {
return This->lpVtbl->GetPropertyNum(This,pName,plValue);
}
static FORCEINLINE HRESULT ISpRecognizer_SetPropertyString(ISpRecognizer* This,LPCWSTR pName,LPCWSTR pValue) {
return This->lpVtbl->SetPropertyString(This,pName,pValue);
}
static FORCEINLINE HRESULT ISpRecognizer_GetPropertyString(ISpRecognizer* This,LPCWSTR pName,LPWSTR *ppCoMemValue) {
return This->lpVtbl->GetPropertyString(This,pName,ppCoMemValue);
}
/*** ISpRecognizer methods ***/
static FORCEINLINE HRESULT ISpRecognizer_SetRecognizer(ISpRecognizer* This,ISpObjectToken *pRecognizer) {
return This->lpVtbl->SetRecognizer(This,pRecognizer);
}
static FORCEINLINE HRESULT ISpRecognizer_GetRecognizer(ISpRecognizer* This,ISpObjectToken **ppRecognizer) {
return This->lpVtbl->GetRecognizer(This,ppRecognizer);
}
static FORCEINLINE HRESULT ISpRecognizer_SetInput(ISpRecognizer* This,IUnknown *pUnkInput,WINBOOL fAllowFormatChanges) {
return This->lpVtbl->SetInput(This,pUnkInput,fAllowFormatChanges);
}
static FORCEINLINE HRESULT ISpRecognizer_GetInputObjectToken(ISpRecognizer* This,ISpObjectToken **ppToken) {
return This->lpVtbl->GetInputObjectToken(This,ppToken);
}
static FORCEINLINE HRESULT ISpRecognizer_GetInputStream(ISpRecognizer* This,ISpStreamFormat **ppStream) {
return This->lpVtbl->GetInputStream(This,ppStream);
}
static FORCEINLINE HRESULT ISpRecognizer_CreateRecoContext(ISpRecognizer* This,ISpRecoContext **ppNewCtxt) {
return This->lpVtbl->CreateRecoContext(This,ppNewCtxt);
}
static FORCEINLINE HRESULT ISpRecognizer_GetRecoProfile(ISpRecognizer* This,ISpObjectToken **ppToken) {
return This->lpVtbl->GetRecoProfile(This,ppToken);
}
static FORCEINLINE HRESULT ISpRecognizer_SetRecoProfile(ISpRecognizer* This,ISpObjectToken *pToken) {
return This->lpVtbl->SetRecoProfile(This,pToken);
}
static FORCEINLINE HRESULT ISpRecognizer_IsSharedInstance(ISpRecognizer* This) {
return This->lpVtbl->IsSharedInstance(This);
}
static FORCEINLINE HRESULT ISpRecognizer_GetRecoState(ISpRecognizer* This,SPRECOSTATE *pState) {
return This->lpVtbl->GetRecoState(This,pState);
}
static FORCEINLINE HRESULT ISpRecognizer_SetRecoState(ISpRecognizer* This,SPRECOSTATE NewState) {
return This->lpVtbl->SetRecoState(This,NewState);
}
static FORCEINLINE HRESULT ISpRecognizer_GetStatus(ISpRecognizer* This,SPRECOGNIZERSTATUS *pStatus) {
return This->lpVtbl->GetStatus(This,pStatus);
}
static FORCEINLINE HRESULT ISpRecognizer_GetFormat(ISpRecognizer* This,SPSTREAMFORMATTYPE WaveFormatType,GUID *pFormatId,WAVEFORMATEX **ppCoMemWFEX) {
return This->lpVtbl->GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX);
}
static FORCEINLINE HRESULT ISpRecognizer_IsUISupported(ISpRecognizer* This,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData,WINBOOL *pfSupported) {
return This->lpVtbl->IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported);
}
static FORCEINLINE HRESULT ISpRecognizer_DisplayUI(ISpRecognizer* This,HWND hwndParent,LPCWSTR pszTitle,LPCWSTR pszTypeOfUI,void *pvExtraData,ULONG cbExtraData) {
return This->lpVtbl->DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData);
}
static FORCEINLINE HRESULT ISpRecognizer_EmulateRecognition(ISpRecognizer* This,ISpPhrase *pPhrase) {
return This->lpVtbl->EmulateRecognition(This,pPhrase);
}
#endif
#endif
#endif
#endif /* __ISpRecognizer_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpSerializeState interface
*/
#ifndef __ISpSerializeState_INTERFACE_DEFINED__
#define __ISpSerializeState_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpSerializeState, 0x21b501a0, 0x0ec7, 0x46c9, 0x92,0xc3, 0xa2,0xbc,0x78,0x4c,0x54,0xb9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("21b501a0-0ec7-46c9-92c3-a2bc784c54b9")
ISpSerializeState : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetSerializedState(
BYTE **ppbData,
ULONG *pulSize,
DWORD dwReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSerializedState(
BYTE *pbData,
ULONG ulSize,
DWORD dwReserved) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpSerializeState, 0x21b501a0, 0x0ec7, 0x46c9, 0x92,0xc3, 0xa2,0xbc,0x78,0x4c,0x54,0xb9)
#endif
#else
typedef struct ISpSerializeStateVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpSerializeState *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpSerializeState *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpSerializeState *This);
/*** ISpSerializeState methods ***/
HRESULT (STDMETHODCALLTYPE *GetSerializedState)(
ISpSerializeState *This,
BYTE **ppbData,
ULONG *pulSize,
DWORD dwReserved);
HRESULT (STDMETHODCALLTYPE *SetSerializedState)(
ISpSerializeState *This,
BYTE *pbData,
ULONG ulSize,
DWORD dwReserved);
END_INTERFACE
} ISpSerializeStateVtbl;
interface ISpSerializeState {
CONST_VTBL ISpSerializeStateVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpSerializeState_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpSerializeState_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpSerializeState_Release(This) (This)->lpVtbl->Release(This)
/*** ISpSerializeState methods ***/
#define ISpSerializeState_GetSerializedState(This,ppbData,pulSize,dwReserved) (This)->lpVtbl->GetSerializedState(This,ppbData,pulSize,dwReserved)
#define ISpSerializeState_SetSerializedState(This,pbData,ulSize,dwReserved) (This)->lpVtbl->SetSerializedState(This,pbData,ulSize,dwReserved)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpSerializeState_QueryInterface(ISpSerializeState* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpSerializeState_AddRef(ISpSerializeState* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpSerializeState_Release(ISpSerializeState* This) {
return This->lpVtbl->Release(This);
}
/*** ISpSerializeState methods ***/
static FORCEINLINE HRESULT ISpSerializeState_GetSerializedState(ISpSerializeState* This,BYTE **ppbData,ULONG *pulSize,DWORD dwReserved) {
return This->lpVtbl->GetSerializedState(This,ppbData,pulSize,dwReserved);
}
static FORCEINLINE HRESULT ISpSerializeState_SetSerializedState(ISpSerializeState* This,BYTE *pbData,ULONG ulSize,DWORD dwReserved) {
return This->lpVtbl->SetSerializedState(This,pbData,ulSize,dwReserved);
}
#endif
#endif
#endif
#endif /* __ISpSerializeState_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpRecognizer2 interface
*/
#ifndef __ISpRecognizer2_INTERFACE_DEFINED__
#define __ISpRecognizer2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpRecognizer2, 0x8fc6d974, 0xc81e, 0x4098, 0x93,0xc5, 0x01,0x47,0xf6,0x1e,0xd4,0xd3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8fc6d974-c81e-4098-93c5-0147f61ed4d3")
ISpRecognizer2 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE EmulateRecognitionEx(
ISpPhrase *pPhrase,
DWORD dwCompareFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTrainingState(
WINBOOL fDoingTraining,
WINBOOL fAdaptFromTrainingData) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetAcousticModelAdaptation(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpRecognizer2, 0x8fc6d974, 0xc81e, 0x4098, 0x93,0xc5, 0x01,0x47,0xf6,0x1e,0xd4,0xd3)
#endif
#else
typedef struct ISpRecognizer2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpRecognizer2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpRecognizer2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpRecognizer2 *This);
/*** ISpRecognizer2 methods ***/
HRESULT (STDMETHODCALLTYPE *EmulateRecognitionEx)(
ISpRecognizer2 *This,
ISpPhrase *pPhrase,
DWORD dwCompareFlags);
HRESULT (STDMETHODCALLTYPE *SetTrainingState)(
ISpRecognizer2 *This,
WINBOOL fDoingTraining,
WINBOOL fAdaptFromTrainingData);
HRESULT (STDMETHODCALLTYPE *ResetAcousticModelAdaptation)(
ISpRecognizer2 *This);
END_INTERFACE
} ISpRecognizer2Vtbl;
interface ISpRecognizer2 {
CONST_VTBL ISpRecognizer2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpRecognizer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpRecognizer2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpRecognizer2_Release(This) (This)->lpVtbl->Release(This)
/*** ISpRecognizer2 methods ***/
#define ISpRecognizer2_EmulateRecognitionEx(This,pPhrase,dwCompareFlags) (This)->lpVtbl->EmulateRecognitionEx(This,pPhrase,dwCompareFlags)
#define ISpRecognizer2_SetTrainingState(This,fDoingTraining,fAdaptFromTrainingData) (This)->lpVtbl->SetTrainingState(This,fDoingTraining,fAdaptFromTrainingData)
#define ISpRecognizer2_ResetAcousticModelAdaptation(This) (This)->lpVtbl->ResetAcousticModelAdaptation(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpRecognizer2_QueryInterface(ISpRecognizer2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpRecognizer2_AddRef(ISpRecognizer2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpRecognizer2_Release(ISpRecognizer2* This) {
return This->lpVtbl->Release(This);
}
/*** ISpRecognizer2 methods ***/
static FORCEINLINE HRESULT ISpRecognizer2_EmulateRecognitionEx(ISpRecognizer2* This,ISpPhrase *pPhrase,DWORD dwCompareFlags) {
return This->lpVtbl->EmulateRecognitionEx(This,pPhrase,dwCompareFlags);
}
static FORCEINLINE HRESULT ISpRecognizer2_SetTrainingState(ISpRecognizer2* This,WINBOOL fDoingTraining,WINBOOL fAdaptFromTrainingData) {
return This->lpVtbl->SetTrainingState(This,fDoingTraining,fAdaptFromTrainingData);
}
static FORCEINLINE HRESULT ISpRecognizer2_ResetAcousticModelAdaptation(ISpRecognizer2* This) {
return This->lpVtbl->ResetAcousticModelAdaptation(This);
}
#endif
#endif
#endif
#endif /* __ISpRecognizer2_INTERFACE_DEFINED__ */
typedef struct SPNORMALIZATIONLIST {
ULONG ulSize;
WCHAR **ppszzNormalizedList;
} SPNORMALIZATIONLIST;
/*****************************************************************************
* ISpEnginePronunciation interface
*/
#ifndef __ISpEnginePronunciation_INTERFACE_DEFINED__
#define __ISpEnginePronunciation_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpEnginePronunciation, 0xc360ce4b, 0x76d1, 0x4214, 0xad,0x68, 0x52,0x65,0x7d,0x50,0x83,0xda);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c360ce4b-76d1-4214-ad68-52657d5083da")
ISpEnginePronunciation : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Normalize(
LPCWSTR pszWord,
LPCWSTR pszLeftContext,
LPCWSTR pszRightContext,
WORD LangID,
SPNORMALIZATIONLIST *pNormalizationList) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
LPCWSTR pszWord,
LPCWSTR pszLeftContext,
LPCWSTR pszRightContext,
WORD LangID,
SPWORDPRONUNCIATIONLIST *pEnginePronunciationList) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpEnginePronunciation, 0xc360ce4b, 0x76d1, 0x4214, 0xad,0x68, 0x52,0x65,0x7d,0x50,0x83,0xda)
#endif
#else
typedef struct ISpEnginePronunciationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpEnginePronunciation *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpEnginePronunciation *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpEnginePronunciation *This);
/*** ISpEnginePronunciation methods ***/
HRESULT (STDMETHODCALLTYPE *Normalize)(
ISpEnginePronunciation *This,
LPCWSTR pszWord,
LPCWSTR pszLeftContext,
LPCWSTR pszRightContext,
WORD LangID,
SPNORMALIZATIONLIST *pNormalizationList);
HRESULT (STDMETHODCALLTYPE *GetPronunciations)(
ISpEnginePronunciation *This,
LPCWSTR pszWord,
LPCWSTR pszLeftContext,
LPCWSTR pszRightContext,
WORD LangID,
SPWORDPRONUNCIATIONLIST *pEnginePronunciationList);
END_INTERFACE
} ISpEnginePronunciationVtbl;
interface ISpEnginePronunciation {
CONST_VTBL ISpEnginePronunciationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpEnginePronunciation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpEnginePronunciation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpEnginePronunciation_Release(This) (This)->lpVtbl->Release(This)
/*** ISpEnginePronunciation methods ***/
#define ISpEnginePronunciation_Normalize(This,pszWord,pszLeftContext,pszRightContext,LangID,pNormalizationList) (This)->lpVtbl->Normalize(This,pszWord,pszLeftContext,pszRightContext,LangID,pNormalizationList)
#define ISpEnginePronunciation_GetPronunciations(This,pszWord,pszLeftContext,pszRightContext,LangID,pEnginePronunciationList) (This)->lpVtbl->GetPronunciations(This,pszWord,pszLeftContext,pszRightContext,LangID,pEnginePronunciationList)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpEnginePronunciation_QueryInterface(ISpEnginePronunciation* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpEnginePronunciation_AddRef(ISpEnginePronunciation* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpEnginePronunciation_Release(ISpEnginePronunciation* This) {
return This->lpVtbl->Release(This);
}
/*** ISpEnginePronunciation methods ***/
static FORCEINLINE HRESULT ISpEnginePronunciation_Normalize(ISpEnginePronunciation* This,LPCWSTR pszWord,LPCWSTR pszLeftContext,LPCWSTR pszRightContext,WORD LangID,SPNORMALIZATIONLIST *pNormalizationList) {
return This->lpVtbl->Normalize(This,pszWord,pszLeftContext,pszRightContext,LangID,pNormalizationList);
}
static FORCEINLINE HRESULT ISpEnginePronunciation_GetPronunciations(ISpEnginePronunciation* This,LPCWSTR pszWord,LPCWSTR pszLeftContext,LPCWSTR pszRightContext,WORD LangID,SPWORDPRONUNCIATIONLIST *pEnginePronunciationList) {
return This->lpVtbl->GetPronunciations(This,pszWord,pszLeftContext,pszRightContext,LangID,pEnginePronunciationList);
}
#endif
#endif
#endif
#endif /* __ISpEnginePronunciation_INTERFACE_DEFINED__ */
typedef struct SPDISPLAYTOKEN {
const WCHAR *pszLexical;
const WCHAR *pszDisplay;
BYTE bDisplayAttributes;
} SPDISPLAYTOKEN;
typedef struct SPDISPLAYPHRASE {
ULONG ulNumTokens;
SPDISPLAYTOKEN *pTokens;
} SPDISPLAYPHRASE;
/*****************************************************************************
* ISpDisplayAlternates interface
*/
#ifndef __ISpDisplayAlternates_INTERFACE_DEFINED__
#define __ISpDisplayAlternates_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpDisplayAlternates, 0xc8d7c7e2, 0x0dde, 0x44b7, 0xaf,0xe3, 0xb0,0xc9,0x91,0xfb,0xeb,0x5e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c8d7c7e2-0dde-44b7-afe3-b0c991fbeb5e")
ISpDisplayAlternates : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDisplayAlternates(
const SPDISPLAYPHRASE *pPhrase,
ULONG cRequestCount,
SPDISPLAYPHRASE **ppCoMemPhrases,
ULONG *pcPhrasesReturned) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFullStopTrailSpace(
ULONG ulTrailSpace) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpDisplayAlternates, 0xc8d7c7e2, 0x0dde, 0x44b7, 0xaf,0xe3, 0xb0,0xc9,0x91,0xfb,0xeb,0x5e)
#endif
#else
typedef struct ISpDisplayAlternatesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpDisplayAlternates *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpDisplayAlternates *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpDisplayAlternates *This);
/*** ISpDisplayAlternates methods ***/
HRESULT (STDMETHODCALLTYPE *GetDisplayAlternates)(
ISpDisplayAlternates *This,
const SPDISPLAYPHRASE *pPhrase,
ULONG cRequestCount,
SPDISPLAYPHRASE **ppCoMemPhrases,
ULONG *pcPhrasesReturned);
HRESULT (STDMETHODCALLTYPE *SetFullStopTrailSpace)(
ISpDisplayAlternates *This,
ULONG ulTrailSpace);
END_INTERFACE
} ISpDisplayAlternatesVtbl;
interface ISpDisplayAlternates {
CONST_VTBL ISpDisplayAlternatesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpDisplayAlternates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpDisplayAlternates_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpDisplayAlternates_Release(This) (This)->lpVtbl->Release(This)
/*** ISpDisplayAlternates methods ***/
#define ISpDisplayAlternates_GetDisplayAlternates(This,pPhrase,cRequestCount,ppCoMemPhrases,pcPhrasesReturned) (This)->lpVtbl->GetDisplayAlternates(This,pPhrase,cRequestCount,ppCoMemPhrases,pcPhrasesReturned)
#define ISpDisplayAlternates_SetFullStopTrailSpace(This,ulTrailSpace) (This)->lpVtbl->SetFullStopTrailSpace(This,ulTrailSpace)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpDisplayAlternates_QueryInterface(ISpDisplayAlternates* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpDisplayAlternates_AddRef(ISpDisplayAlternates* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpDisplayAlternates_Release(ISpDisplayAlternates* This) {
return This->lpVtbl->Release(This);
}
/*** ISpDisplayAlternates methods ***/
static FORCEINLINE HRESULT ISpDisplayAlternates_GetDisplayAlternates(ISpDisplayAlternates* This,const SPDISPLAYPHRASE *pPhrase,ULONG cRequestCount,SPDISPLAYPHRASE **ppCoMemPhrases,ULONG *pcPhrasesReturned) {
return This->lpVtbl->GetDisplayAlternates(This,pPhrase,cRequestCount,ppCoMemPhrases,pcPhrasesReturned);
}
static FORCEINLINE HRESULT ISpDisplayAlternates_SetFullStopTrailSpace(ISpDisplayAlternates* This,ULONG ulTrailSpace) {
return This->lpVtbl->SetFullStopTrailSpace(This,ulTrailSpace);
}
#endif
#endif
#endif
#endif /* __ISpDisplayAlternates_INTERFACE_DEFINED__ */
#ifndef __SpeechLib_LIBRARY_DEFINED__
#define __SpeechLib_LIBRARY_DEFINED__
DEFINE_GUID(LIBID_SpeechLib, 0xc866ca3a, 0x32f7, 0x11d2, 0x96,0x02, 0x00,0xc0,0x4f,0x8e,0xe6,0x28);
#ifndef __ISpeechDataKey_FWD_DEFINED__
#define __ISpeechDataKey_FWD_DEFINED__
typedef interface ISpeechDataKey ISpeechDataKey;
#ifdef __cplusplus
interface ISpeechDataKey;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechObjectToken_FWD_DEFINED__
#define __ISpeechObjectToken_FWD_DEFINED__
typedef interface ISpeechObjectToken ISpeechObjectToken;
#ifdef __cplusplus
interface ISpeechObjectToken;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechObjectTokens_FWD_DEFINED__
#define __ISpeechObjectTokens_FWD_DEFINED__
typedef interface ISpeechObjectTokens ISpeechObjectTokens;
#ifdef __cplusplus
interface ISpeechObjectTokens;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechObjectTokenCategory_FWD_DEFINED__
#define __ISpeechObjectTokenCategory_FWD_DEFINED__
typedef interface ISpeechObjectTokenCategory ISpeechObjectTokenCategory;
#ifdef __cplusplus
interface ISpeechObjectTokenCategory;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechAudioBufferInfo_FWD_DEFINED__
#define __ISpeechAudioBufferInfo_FWD_DEFINED__
typedef interface ISpeechAudioBufferInfo ISpeechAudioBufferInfo;
#ifdef __cplusplus
interface ISpeechAudioBufferInfo;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechAudioStatus_FWD_DEFINED__
#define __ISpeechAudioStatus_FWD_DEFINED__
typedef interface ISpeechAudioStatus ISpeechAudioStatus;
#ifdef __cplusplus
interface ISpeechAudioStatus;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechAudioFormat_FWD_DEFINED__
#define __ISpeechAudioFormat_FWD_DEFINED__
typedef interface ISpeechAudioFormat ISpeechAudioFormat;
#ifdef __cplusplus
interface ISpeechAudioFormat;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechWaveFormatEx_FWD_DEFINED__
#define __ISpeechWaveFormatEx_FWD_DEFINED__
typedef interface ISpeechWaveFormatEx ISpeechWaveFormatEx;
#ifdef __cplusplus
interface ISpeechWaveFormatEx;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechBaseStream_FWD_DEFINED__
#define __ISpeechBaseStream_FWD_DEFINED__
typedef interface ISpeechBaseStream ISpeechBaseStream;
#ifdef __cplusplus
interface ISpeechBaseStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechFileStream_FWD_DEFINED__
#define __ISpeechFileStream_FWD_DEFINED__
typedef interface ISpeechFileStream ISpeechFileStream;
#ifdef __cplusplus
interface ISpeechFileStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechMemoryStream_FWD_DEFINED__
#define __ISpeechMemoryStream_FWD_DEFINED__
typedef interface ISpeechMemoryStream ISpeechMemoryStream;
#ifdef __cplusplus
interface ISpeechMemoryStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechCustomStream_FWD_DEFINED__
#define __ISpeechCustomStream_FWD_DEFINED__
typedef interface ISpeechCustomStream ISpeechCustomStream;
#ifdef __cplusplus
interface ISpeechCustomStream;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechAudio_FWD_DEFINED__
#define __ISpeechAudio_FWD_DEFINED__
typedef interface ISpeechAudio ISpeechAudio;
#ifdef __cplusplus
interface ISpeechAudio;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechMMSysAudio_FWD_DEFINED__
#define __ISpeechMMSysAudio_FWD_DEFINED__
typedef interface ISpeechMMSysAudio ISpeechMMSysAudio;
#ifdef __cplusplus
interface ISpeechMMSysAudio;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechVoice_FWD_DEFINED__
#define __ISpeechVoice_FWD_DEFINED__
typedef interface ISpeechVoice ISpeechVoice;
#ifdef __cplusplus
interface ISpeechVoice;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechVoiceStatus_FWD_DEFINED__
#define __ISpeechVoiceStatus_FWD_DEFINED__
typedef interface ISpeechVoiceStatus ISpeechVoiceStatus;
#ifdef __cplusplus
interface ISpeechVoiceStatus;
#endif /* __cplusplus */
#endif
#ifndef ___ISpeechVoiceEvents_FWD_DEFINED__
#define ___ISpeechVoiceEvents_FWD_DEFINED__
typedef interface _ISpeechVoiceEvents _ISpeechVoiceEvents;
#ifdef __cplusplus
interface _ISpeechVoiceEvents;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecognizer_FWD_DEFINED__
#define __ISpeechRecognizer_FWD_DEFINED__
typedef interface ISpeechRecognizer ISpeechRecognizer;
#ifdef __cplusplus
interface ISpeechRecognizer;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecognizerStatus_FWD_DEFINED__
#define __ISpeechRecognizerStatus_FWD_DEFINED__
typedef interface ISpeechRecognizerStatus ISpeechRecognizerStatus;
#ifdef __cplusplus
interface ISpeechRecognizerStatus;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoContext_FWD_DEFINED__
#define __ISpeechRecoContext_FWD_DEFINED__
typedef interface ISpeechRecoContext ISpeechRecoContext;
#ifdef __cplusplus
interface ISpeechRecoContext;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoGrammar_FWD_DEFINED__
#define __ISpeechRecoGrammar_FWD_DEFINED__
typedef interface ISpeechRecoGrammar ISpeechRecoGrammar;
#ifdef __cplusplus
interface ISpeechRecoGrammar;
#endif /* __cplusplus */
#endif
#ifndef ___ISpeechRecoContextEvents_FWD_DEFINED__
#define ___ISpeechRecoContextEvents_FWD_DEFINED__
typedef interface _ISpeechRecoContextEvents _ISpeechRecoContextEvents;
#ifdef __cplusplus
interface _ISpeechRecoContextEvents;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRule_FWD_DEFINED__
#define __ISpeechGrammarRule_FWD_DEFINED__
typedef interface ISpeechGrammarRule ISpeechGrammarRule;
#ifdef __cplusplus
interface ISpeechGrammarRule;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRules_FWD_DEFINED__
#define __ISpeechGrammarRules_FWD_DEFINED__
typedef interface ISpeechGrammarRules ISpeechGrammarRules;
#ifdef __cplusplus
interface ISpeechGrammarRules;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRuleState_FWD_DEFINED__
#define __ISpeechGrammarRuleState_FWD_DEFINED__
typedef interface ISpeechGrammarRuleState ISpeechGrammarRuleState;
#ifdef __cplusplus
interface ISpeechGrammarRuleState;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
#define __ISpeechGrammarRuleStateTransition_FWD_DEFINED__
typedef interface ISpeechGrammarRuleStateTransition ISpeechGrammarRuleStateTransition;
#ifdef __cplusplus
interface ISpeechGrammarRuleStateTransition;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
#define __ISpeechGrammarRuleStateTransitions_FWD_DEFINED__
typedef interface ISpeechGrammarRuleStateTransitions ISpeechGrammarRuleStateTransitions;
#ifdef __cplusplus
interface ISpeechGrammarRuleStateTransitions;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechTextSelectionInformation_FWD_DEFINED__
#define __ISpeechTextSelectionInformation_FWD_DEFINED__
typedef interface ISpeechTextSelectionInformation ISpeechTextSelectionInformation;
#ifdef __cplusplus
interface ISpeechTextSelectionInformation;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoResult_FWD_DEFINED__
#define __ISpeechRecoResult_FWD_DEFINED__
typedef interface ISpeechRecoResult ISpeechRecoResult;
#ifdef __cplusplus
interface ISpeechRecoResult;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoResult2_FWD_DEFINED__
#define __ISpeechRecoResult2_FWD_DEFINED__
typedef interface ISpeechRecoResult2 ISpeechRecoResult2;
#ifdef __cplusplus
interface ISpeechRecoResult2;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechRecoResultTimes_FWD_DEFINED__
#define __ISpeechRecoResultTimes_FWD_DEFINED__
typedef interface ISpeechRecoResultTimes ISpeechRecoResultTimes;
#ifdef __cplusplus
interface ISpeechRecoResultTimes;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseAlternate_FWD_DEFINED__
#define __ISpeechPhraseAlternate_FWD_DEFINED__
typedef interface ISpeechPhraseAlternate ISpeechPhraseAlternate;
#ifdef __cplusplus
interface ISpeechPhraseAlternate;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseAlternates_FWD_DEFINED__
#define __ISpeechPhraseAlternates_FWD_DEFINED__
typedef interface ISpeechPhraseAlternates ISpeechPhraseAlternates;
#ifdef __cplusplus
interface ISpeechPhraseAlternates;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseInfo_FWD_DEFINED__
#define __ISpeechPhraseInfo_FWD_DEFINED__
typedef interface ISpeechPhraseInfo ISpeechPhraseInfo;
#ifdef __cplusplus
interface ISpeechPhraseInfo;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseElement_FWD_DEFINED__
#define __ISpeechPhraseElement_FWD_DEFINED__
typedef interface ISpeechPhraseElement ISpeechPhraseElement;
#ifdef __cplusplus
interface ISpeechPhraseElement;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseElements_FWD_DEFINED__
#define __ISpeechPhraseElements_FWD_DEFINED__
typedef interface ISpeechPhraseElements ISpeechPhraseElements;
#ifdef __cplusplus
interface ISpeechPhraseElements;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseReplacement_FWD_DEFINED__
#define __ISpeechPhraseReplacement_FWD_DEFINED__
typedef interface ISpeechPhraseReplacement ISpeechPhraseReplacement;
#ifdef __cplusplus
interface ISpeechPhraseReplacement;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseReplacements_FWD_DEFINED__
#define __ISpeechPhraseReplacements_FWD_DEFINED__
typedef interface ISpeechPhraseReplacements ISpeechPhraseReplacements;
#ifdef __cplusplus
interface ISpeechPhraseReplacements;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseProperty_FWD_DEFINED__
#define __ISpeechPhraseProperty_FWD_DEFINED__
typedef interface ISpeechPhraseProperty ISpeechPhraseProperty;
#ifdef __cplusplus
interface ISpeechPhraseProperty;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseProperties_FWD_DEFINED__
#define __ISpeechPhraseProperties_FWD_DEFINED__
typedef interface ISpeechPhraseProperties ISpeechPhraseProperties;
#ifdef __cplusplus
interface ISpeechPhraseProperties;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseRule_FWD_DEFINED__
#define __ISpeechPhraseRule_FWD_DEFINED__
typedef interface ISpeechPhraseRule ISpeechPhraseRule;
#ifdef __cplusplus
interface ISpeechPhraseRule;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechPhraseRules_FWD_DEFINED__
#define __ISpeechPhraseRules_FWD_DEFINED__
typedef interface ISpeechPhraseRules ISpeechPhraseRules;
#ifdef __cplusplus
interface ISpeechPhraseRules;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexicon_FWD_DEFINED__
#define __ISpeechLexicon_FWD_DEFINED__
typedef interface ISpeechLexicon ISpeechLexicon;
#ifdef __cplusplus
interface ISpeechLexicon;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexiconWords_FWD_DEFINED__
#define __ISpeechLexiconWords_FWD_DEFINED__
typedef interface ISpeechLexiconWords ISpeechLexiconWords;
#ifdef __cplusplus
interface ISpeechLexiconWords;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexiconWord_FWD_DEFINED__
#define __ISpeechLexiconWord_FWD_DEFINED__
typedef interface ISpeechLexiconWord ISpeechLexiconWord;
#ifdef __cplusplus
interface ISpeechLexiconWord;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexiconPronunciations_FWD_DEFINED__
#define __ISpeechLexiconPronunciations_FWD_DEFINED__
typedef interface ISpeechLexiconPronunciations ISpeechLexiconPronunciations;
#ifdef __cplusplus
interface ISpeechLexiconPronunciations;
#endif /* __cplusplus */
#endif
#ifndef __ISpeechLexiconPronunciation_FWD_DEFINED__
#define __ISpeechLexiconPronunciation_FWD_DEFINED__
typedef interface ISpeechLexiconPronunciation ISpeechLexiconPronunciation;
#ifdef __cplusplus
interface ISpeechLexiconPronunciation;
#endif /* __cplusplus */
#endif
typedef LONG SpeechLanguageId;
#define __SpeechStringConstants_MODULE_DEFINED__
typedef enum DISPID_SpeechDataKey {
DISPID_SDKSetBinaryValue = 1,
DISPID_SDKGetBinaryValue = 2,
DISPID_SDKSetStringValue = 3,
DISPID_SDKGetStringValue = 4,
DISPID_SDKSetLongValue = 5,
DISPID_SDKGetlongValue = 6,
DISPID_SDKOpenKey = 7,
DISPID_SDKCreateKey = 8,
DISPID_SDKDeleteKey = 9,
DISPID_SDKDeleteValue = 10,
DISPID_SDKEnumKeys = 11,
DISPID_SDKEnumValues = 12
} DISPID_SpeechDataKey;
typedef enum DISPID_SpeechObjectToken {
DISPID_SOTId = 1,
DISPID_SOTDataKey = 2,
DISPID_SOTCategory = 3,
DISPID_SOTGetDescription = 4,
DISPID_SOTSetId = 5,
DISPID_SOTGetAttribute = 6,
DISPID_SOTCreateInstance = 7,
DISPID_SOTRemove = 8,
DISPID_SOTGetStorageFileName = 9,
DISPID_SOTRemoveStorageFileName = 10,
DISPID_SOTIsUISupported = 11,
DISPID_SOTDisplayUI = 12,
DISPID_SOTMatchesAttributes = 13
} DISPID_SpeechObjectToken;
typedef enum SpeechDataKeyLocation {
SDKLDefaultLocation = SPDKL_DefaultLocation,
SDKLCurrentUser = SPDKL_CurrentUser,
SDKLLocalMachine = SPDKL_LocalMachine,
SDKLCurrentConfig = SPDKL_CurrentConfig
} SpeechDataKeyLocation;
typedef enum SpeechTokenContext {
STCInprocServer = CLSCTX_INPROC_SERVER,
STCInprocHandler = CLSCTX_INPROC_HANDLER,
STCLocalServer = CLSCTX_LOCAL_SERVER,
STCRemoteServer = CLSCTX_REMOTE_SERVER,
STCAll = ((CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER) | CLSCTX_LOCAL_SERVER) | CLSCTX_REMOTE_SERVER
} SpeechTokenContext;
typedef enum SpeechTokenShellFolder {
STSF_AppData = 0x1a,
STSF_LocalAppData = 0x1c,
STSF_CommonAppData = 0x23,
STSF_FlagCreate = 0x8000
} SpeechTokenShellFolder;
typedef enum DISPID_SpeechObjectTokens {
DISPID_SOTsCount = 1,
DISPID_SOTsItem = DISPID_VALUE,
DISPID_SOTs_NewEnum = DISPID_NEWENUM
} DISPID_SpeechObjectTokens;
typedef enum DISPID_SpeechObjectTokenCategory {
DISPID_SOTCId = 1,
DISPID_SOTCDefault = 2,
DISPID_SOTCSetId = 3,
DISPID_SOTCGetDataKey = 4,
DISPID_SOTCEnumerateTokens = 5
} DISPID_SpeechObjectTokenCategory;
/*****************************************************************************
* ISpeechDataKey interface
*/
#ifndef __ISpeechDataKey_INTERFACE_DEFINED__
#define __ISpeechDataKey_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechDataKey, 0xce17c09b, 0x4efa, 0x44d5, 0xa4,0xc9, 0x59,0xd9,0x58,0x5a,0xb0,0xcd);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ce17c09b-4efa-44d5-a4c9-59d9585ab0cd")
ISpeechDataKey : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE SetBinaryValue(
const BSTR ValueName,
VARIANT Value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBinaryValue(
const BSTR ValueName,
VARIANT *Value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStringValue(
const BSTR ValueName,
const BSTR Value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStringValue(
const BSTR ValueName,
BSTR *Value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetLongValue(
const BSTR ValueName,
LONG Value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLongValue(
const BSTR ValueName,
LONG *Value) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenKey(
const BSTR SubKeyName,
ISpeechDataKey **SubKey) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateKey(
const BSTR SubKeyName,
ISpeechDataKey **SubKey) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteKey(
const BSTR SubKeyName) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteValue(
const BSTR ValueName) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumKeys(
LONG Index,
BSTR *SubKeyName) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumValues(
LONG Index,
BSTR *ValueName) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechDataKey, 0xce17c09b, 0x4efa, 0x44d5, 0xa4,0xc9, 0x59,0xd9,0x58,0x5a,0xb0,0xcd)
#endif
#else
typedef struct ISpeechDataKeyVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechDataKey *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechDataKey *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechDataKey *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechDataKey *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechDataKey *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechDataKey *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechDataKey *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechDataKey methods ***/
HRESULT (STDMETHODCALLTYPE *SetBinaryValue)(
ISpeechDataKey *This,
const BSTR ValueName,
VARIANT Value);
HRESULT (STDMETHODCALLTYPE *GetBinaryValue)(
ISpeechDataKey *This,
const BSTR ValueName,
VARIANT *Value);
HRESULT (STDMETHODCALLTYPE *SetStringValue)(
ISpeechDataKey *This,
const BSTR ValueName,
const BSTR Value);
HRESULT (STDMETHODCALLTYPE *GetStringValue)(
ISpeechDataKey *This,
const BSTR ValueName,
BSTR *Value);
HRESULT (STDMETHODCALLTYPE *SetLongValue)(
ISpeechDataKey *This,
const BSTR ValueName,
LONG Value);
HRESULT (STDMETHODCALLTYPE *GetLongValue)(
ISpeechDataKey *This,
const BSTR ValueName,
LONG *Value);
HRESULT (STDMETHODCALLTYPE *OpenKey)(
ISpeechDataKey *This,
const BSTR SubKeyName,
ISpeechDataKey **SubKey);
HRESULT (STDMETHODCALLTYPE *CreateKey)(
ISpeechDataKey *This,
const BSTR SubKeyName,
ISpeechDataKey **SubKey);
HRESULT (STDMETHODCALLTYPE *DeleteKey)(
ISpeechDataKey *This,
const BSTR SubKeyName);
HRESULT (STDMETHODCALLTYPE *DeleteValue)(
ISpeechDataKey *This,
const BSTR ValueName);
HRESULT (STDMETHODCALLTYPE *EnumKeys)(
ISpeechDataKey *This,
LONG Index,
BSTR *SubKeyName);
HRESULT (STDMETHODCALLTYPE *EnumValues)(
ISpeechDataKey *This,
LONG Index,
BSTR *ValueName);
END_INTERFACE
} ISpeechDataKeyVtbl;
interface ISpeechDataKey {
CONST_VTBL ISpeechDataKeyVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechDataKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechDataKey_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechDataKey_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechDataKey_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechDataKey_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechDataKey_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechDataKey_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechDataKey methods ***/
#define ISpeechDataKey_SetBinaryValue(This,ValueName,Value) (This)->lpVtbl->SetBinaryValue(This,ValueName,Value)
#define ISpeechDataKey_GetBinaryValue(This,ValueName,Value) (This)->lpVtbl->GetBinaryValue(This,ValueName,Value)
#define ISpeechDataKey_SetStringValue(This,ValueName,Value) (This)->lpVtbl->SetStringValue(This,ValueName,Value)
#define ISpeechDataKey_GetStringValue(This,ValueName,Value) (This)->lpVtbl->GetStringValue(This,ValueName,Value)
#define ISpeechDataKey_SetLongValue(This,ValueName,Value) (This)->lpVtbl->SetLongValue(This,ValueName,Value)
#define ISpeechDataKey_GetLongValue(This,ValueName,Value) (This)->lpVtbl->GetLongValue(This,ValueName,Value)
#define ISpeechDataKey_OpenKey(This,SubKeyName,SubKey) (This)->lpVtbl->OpenKey(This,SubKeyName,SubKey)
#define ISpeechDataKey_CreateKey(This,SubKeyName,SubKey) (This)->lpVtbl->CreateKey(This,SubKeyName,SubKey)
#define ISpeechDataKey_DeleteKey(This,SubKeyName) (This)->lpVtbl->DeleteKey(This,SubKeyName)
#define ISpeechDataKey_DeleteValue(This,ValueName) (This)->lpVtbl->DeleteValue(This,ValueName)
#define ISpeechDataKey_EnumKeys(This,Index,SubKeyName) (This)->lpVtbl->EnumKeys(This,Index,SubKeyName)
#define ISpeechDataKey_EnumValues(This,Index,ValueName) (This)->lpVtbl->EnumValues(This,Index,ValueName)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechDataKey_QueryInterface(ISpeechDataKey* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechDataKey_AddRef(ISpeechDataKey* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechDataKey_Release(ISpeechDataKey* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechDataKey_GetTypeInfoCount(ISpeechDataKey* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechDataKey_GetTypeInfo(ISpeechDataKey* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechDataKey_GetIDsOfNames(ISpeechDataKey* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechDataKey_Invoke(ISpeechDataKey* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechDataKey methods ***/
static FORCEINLINE HRESULT ISpeechDataKey_SetBinaryValue(ISpeechDataKey* This,const BSTR ValueName,VARIANT Value) {
return This->lpVtbl->SetBinaryValue(This,ValueName,Value);
}
static FORCEINLINE HRESULT ISpeechDataKey_GetBinaryValue(ISpeechDataKey* This,const BSTR ValueName,VARIANT *Value) {
return This->lpVtbl->GetBinaryValue(This,ValueName,Value);
}
static FORCEINLINE HRESULT ISpeechDataKey_SetStringValue(ISpeechDataKey* This,const BSTR ValueName,const BSTR Value) {
return This->lpVtbl->SetStringValue(This,ValueName,Value);
}
static FORCEINLINE HRESULT ISpeechDataKey_GetStringValue(ISpeechDataKey* This,const BSTR ValueName,BSTR *Value) {
return This->lpVtbl->GetStringValue(This,ValueName,Value);
}
static FORCEINLINE HRESULT ISpeechDataKey_SetLongValue(ISpeechDataKey* This,const BSTR ValueName,LONG Value) {
return This->lpVtbl->SetLongValue(This,ValueName,Value);
}
static FORCEINLINE HRESULT ISpeechDataKey_GetLongValue(ISpeechDataKey* This,const BSTR ValueName,LONG *Value) {
return This->lpVtbl->GetLongValue(This,ValueName,Value);
}
static FORCEINLINE HRESULT ISpeechDataKey_OpenKey(ISpeechDataKey* This,const BSTR SubKeyName,ISpeechDataKey **SubKey) {
return This->lpVtbl->OpenKey(This,SubKeyName,SubKey);
}
static FORCEINLINE HRESULT ISpeechDataKey_CreateKey(ISpeechDataKey* This,const BSTR SubKeyName,ISpeechDataKey **SubKey) {
return This->lpVtbl->CreateKey(This,SubKeyName,SubKey);
}
static FORCEINLINE HRESULT ISpeechDataKey_DeleteKey(ISpeechDataKey* This,const BSTR SubKeyName) {
return This->lpVtbl->DeleteKey(This,SubKeyName);
}
static FORCEINLINE HRESULT ISpeechDataKey_DeleteValue(ISpeechDataKey* This,const BSTR ValueName) {
return This->lpVtbl->DeleteValue(This,ValueName);
}
static FORCEINLINE HRESULT ISpeechDataKey_EnumKeys(ISpeechDataKey* This,LONG Index,BSTR *SubKeyName) {
return This->lpVtbl->EnumKeys(This,Index,SubKeyName);
}
static FORCEINLINE HRESULT ISpeechDataKey_EnumValues(ISpeechDataKey* This,LONG Index,BSTR *ValueName) {
return This->lpVtbl->EnumValues(This,Index,ValueName);
}
#endif
#endif
#endif
#endif /* __ISpeechDataKey_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechObjectToken interface
*/
#ifndef __ISpeechObjectToken_INTERFACE_DEFINED__
#define __ISpeechObjectToken_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechObjectToken, 0xc74a3adc, 0xb727, 0x4500, 0xa8,0x4a, 0xb5,0x26,0x72,0x1c,0x8b,0x8c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c74a3adc-b727-4500-a84a-b526721c8b8c")
ISpeechObjectToken : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE get_Id(
BSTR *ObjectId) = 0;
virtual HRESULT STDMETHODCALLTYPE get_DataKey(
ISpeechDataKey **DataKey) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Category(
ISpeechObjectTokenCategory **Category) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDescription(
LONG Locale,
BSTR *Description) = 0;
virtual HRESULT STDMETHODCALLTYPE SetId(
BSTR Id,
BSTR CategoryID = L"",
VARIANT_BOOL CreateIfNotExist = 0) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAttribute(
BSTR AttributeName,
BSTR *AttributeValue) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateInstance(
IUnknown *pUnkOuter,
SpeechTokenContext ClsContext,
IUnknown **Object) = 0;
virtual HRESULT STDMETHODCALLTYPE Remove(
BSTR ObjectStorageCLSID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
BSTR ObjectStorageCLSID,
BSTR KeyName,
BSTR FileName,
SpeechTokenShellFolder Folder,
BSTR *FilePath) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
BSTR ObjectStorageCLSID,
BSTR KeyName,
VARIANT_BOOL DeleteFile) = 0;
virtual HRESULT STDMETHODCALLTYPE IsUISupported(
const BSTR TypeOfUI,
const VARIANT *ExtraData,
IUnknown *Object,
VARIANT_BOOL *Supported) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayUI(
LONG hWnd,
BSTR Title,
const BSTR TypeOfUI,
const VARIANT *ExtraData = 0,
IUnknown *Object = 0) = 0;
virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
BSTR Attributes,
VARIANT_BOOL *Matches) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechObjectToken, 0xc74a3adc, 0xb727, 0x4500, 0xa8,0x4a, 0xb5,0x26,0x72,0x1c,0x8b,0x8c)
#endif
#else
typedef struct ISpeechObjectTokenVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechObjectToken *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechObjectToken *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechObjectToken *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechObjectToken *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechObjectToken *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechObjectToken *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechObjectToken *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechObjectToken methods ***/
HRESULT (STDMETHODCALLTYPE *get_Id)(
ISpeechObjectToken *This,
BSTR *ObjectId);
HRESULT (STDMETHODCALLTYPE *get_DataKey)(
ISpeechObjectToken *This,
ISpeechDataKey **DataKey);
HRESULT (STDMETHODCALLTYPE *get_Category)(
ISpeechObjectToken *This,
ISpeechObjectTokenCategory **Category);
HRESULT (STDMETHODCALLTYPE *GetDescription)(
ISpeechObjectToken *This,
LONG Locale,
BSTR *Description);
HRESULT (STDMETHODCALLTYPE *SetId)(
ISpeechObjectToken *This,
BSTR Id,
BSTR CategoryID,
VARIANT_BOOL CreateIfNotExist);
HRESULT (STDMETHODCALLTYPE *GetAttribute)(
ISpeechObjectToken *This,
BSTR AttributeName,
BSTR *AttributeValue);
HRESULT (STDMETHODCALLTYPE *CreateInstance)(
ISpeechObjectToken *This,
IUnknown *pUnkOuter,
SpeechTokenContext ClsContext,
IUnknown **Object);
HRESULT (STDMETHODCALLTYPE *Remove)(
ISpeechObjectToken *This,
BSTR ObjectStorageCLSID);
HRESULT (STDMETHODCALLTYPE *GetStorageFileName)(
ISpeechObjectToken *This,
BSTR ObjectStorageCLSID,
BSTR KeyName,
BSTR FileName,
SpeechTokenShellFolder Folder,
BSTR *FilePath);
HRESULT (STDMETHODCALLTYPE *RemoveStorageFileName)(
ISpeechObjectToken *This,
BSTR ObjectStorageCLSID,
BSTR KeyName,
VARIANT_BOOL DeleteFile);
HRESULT (STDMETHODCALLTYPE *IsUISupported)(
ISpeechObjectToken *This,
const BSTR TypeOfUI,
const VARIANT *ExtraData,
IUnknown *Object,
VARIANT_BOOL *Supported);
HRESULT (STDMETHODCALLTYPE *DisplayUI)(
ISpeechObjectToken *This,
LONG hWnd,
BSTR Title,
const BSTR TypeOfUI,
const VARIANT *ExtraData,
IUnknown *Object);
HRESULT (STDMETHODCALLTYPE *MatchesAttributes)(
ISpeechObjectToken *This,
BSTR Attributes,
VARIANT_BOOL *Matches);
END_INTERFACE
} ISpeechObjectTokenVtbl;
interface ISpeechObjectToken {
CONST_VTBL ISpeechObjectTokenVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechObjectToken_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechObjectToken_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechObjectToken_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechObjectToken_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechObjectToken_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechObjectToken_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechObjectToken_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechObjectToken methods ***/
#define ISpeechObjectToken_get_Id(This,ObjectId) (This)->lpVtbl->get_Id(This,ObjectId)
#define ISpeechObjectToken_get_DataKey(This,DataKey) (This)->lpVtbl->get_DataKey(This,DataKey)
#define ISpeechObjectToken_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category)
#define ISpeechObjectToken_GetDescription(This,Locale,Description) (This)->lpVtbl->GetDescription(This,Locale,Description)
#define ISpeechObjectToken_SetId(This,Id,CategoryID,CreateIfNotExist) (This)->lpVtbl->SetId(This,Id,CategoryID,CreateIfNotExist)
#define ISpeechObjectToken_GetAttribute(This,AttributeName,AttributeValue) (This)->lpVtbl->GetAttribute(This,AttributeName,AttributeValue)
#define ISpeechObjectToken_CreateInstance(This,pUnkOuter,ClsContext,Object) (This)->lpVtbl->CreateInstance(This,pUnkOuter,ClsContext,Object)
#define ISpeechObjectToken_Remove(This,ObjectStorageCLSID) (This)->lpVtbl->Remove(This,ObjectStorageCLSID)
#define ISpeechObjectToken_GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath) (This)->lpVtbl->GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath)
#define ISpeechObjectToken_RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile) (This)->lpVtbl->RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile)
#define ISpeechObjectToken_IsUISupported(This,TypeOfUI,ExtraData,Object,Supported) (This)->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Object,Supported)
#define ISpeechObjectToken_DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object) (This)->lpVtbl->DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object)
#define ISpeechObjectToken_MatchesAttributes(This,Attributes,Matches) (This)->lpVtbl->MatchesAttributes(This,Attributes,Matches)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechObjectToken_QueryInterface(ISpeechObjectToken* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechObjectToken_AddRef(ISpeechObjectToken* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechObjectToken_Release(ISpeechObjectToken* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechObjectToken_GetTypeInfoCount(ISpeechObjectToken* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechObjectToken_GetTypeInfo(ISpeechObjectToken* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechObjectToken_GetIDsOfNames(ISpeechObjectToken* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechObjectToken_Invoke(ISpeechObjectToken* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechObjectToken methods ***/
static FORCEINLINE HRESULT ISpeechObjectToken_get_Id(ISpeechObjectToken* This,BSTR *ObjectId) {
return This->lpVtbl->get_Id(This,ObjectId);
}
static FORCEINLINE HRESULT ISpeechObjectToken_get_DataKey(ISpeechObjectToken* This,ISpeechDataKey **DataKey) {
return This->lpVtbl->get_DataKey(This,DataKey);
}
static FORCEINLINE HRESULT ISpeechObjectToken_get_Category(ISpeechObjectToken* This,ISpeechObjectTokenCategory **Category) {
return This->lpVtbl->get_Category(This,Category);
}
static FORCEINLINE HRESULT ISpeechObjectToken_GetDescription(ISpeechObjectToken* This,LONG Locale,BSTR *Description) {
return This->lpVtbl->GetDescription(This,Locale,Description);
}
static FORCEINLINE HRESULT ISpeechObjectToken_SetId(ISpeechObjectToken* This,BSTR Id,BSTR CategoryID,VARIANT_BOOL CreateIfNotExist) {
return This->lpVtbl->SetId(This,Id,CategoryID,CreateIfNotExist);
}
static FORCEINLINE HRESULT ISpeechObjectToken_GetAttribute(ISpeechObjectToken* This,BSTR AttributeName,BSTR *AttributeValue) {
return This->lpVtbl->GetAttribute(This,AttributeName,AttributeValue);
}
static FORCEINLINE HRESULT ISpeechObjectToken_CreateInstance(ISpeechObjectToken* This,IUnknown *pUnkOuter,SpeechTokenContext ClsContext,IUnknown **Object) {
return This->lpVtbl->CreateInstance(This,pUnkOuter,ClsContext,Object);
}
static FORCEINLINE HRESULT ISpeechObjectToken_Remove(ISpeechObjectToken* This,BSTR ObjectStorageCLSID) {
return This->lpVtbl->Remove(This,ObjectStorageCLSID);
}
static FORCEINLINE HRESULT ISpeechObjectToken_GetStorageFileName(ISpeechObjectToken* This,BSTR ObjectStorageCLSID,BSTR KeyName,BSTR FileName,SpeechTokenShellFolder Folder,BSTR *FilePath) {
return This->lpVtbl->GetStorageFileName(This,ObjectStorageCLSID,KeyName,FileName,Folder,FilePath);
}
static FORCEINLINE HRESULT ISpeechObjectToken_RemoveStorageFileName(ISpeechObjectToken* This,BSTR ObjectStorageCLSID,BSTR KeyName,VARIANT_BOOL DeleteFile) {
return This->lpVtbl->RemoveStorageFileName(This,ObjectStorageCLSID,KeyName,DeleteFile);
}
static FORCEINLINE HRESULT ISpeechObjectToken_IsUISupported(ISpeechObjectToken* This,const BSTR TypeOfUI,const VARIANT *ExtraData,IUnknown *Object,VARIANT_BOOL *Supported) {
return This->lpVtbl->IsUISupported(This,TypeOfUI,ExtraData,Object,Supported);
}
static FORCEINLINE HRESULT ISpeechObjectToken_DisplayUI(ISpeechObjectToken* This,LONG hWnd,BSTR Title,const BSTR TypeOfUI,const VARIANT *ExtraData,IUnknown *Object) {
return This->lpVtbl->DisplayUI(This,hWnd,Title,TypeOfUI,ExtraData,Object);
}
static FORCEINLINE HRESULT ISpeechObjectToken_MatchesAttributes(ISpeechObjectToken* This,BSTR Attributes,VARIANT_BOOL *Matches) {
return This->lpVtbl->MatchesAttributes(This,Attributes,Matches);
}
#endif
#endif
#endif
#endif /* __ISpeechObjectToken_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechObjectTokens interface
*/
#ifndef __ISpeechObjectTokens_INTERFACE_DEFINED__
#define __ISpeechObjectTokens_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechObjectTokens, 0x9285b776, 0x2e7b, 0x4bc0, 0xb5,0x3e, 0x58,0x0e,0xb6,0xfa,0x96,0x7f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9285b776-2e7b-4bc0-b53e-580eb6fa967f")
ISpeechObjectTokens : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE get_Count(
LONG *Count) = 0;
virtual HRESULT STDMETHODCALLTYPE Item(
LONG Index,
ISpeechObjectToken **Token) = 0;
virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
IUnknown **ppEnumVARIANT) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechObjectTokens, 0x9285b776, 0x2e7b, 0x4bc0, 0xb5,0x3e, 0x58,0x0e,0xb6,0xfa,0x96,0x7f)
#endif
#else
typedef struct ISpeechObjectTokensVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechObjectTokens *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechObjectTokens *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechObjectTokens *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechObjectTokens *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechObjectTokens *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechObjectTokens *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechObjectTokens *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechObjectTokens methods ***/
HRESULT (STDMETHODCALLTYPE *get_Count)(
ISpeechObjectTokens *This,
LONG *Count);
HRESULT (STDMETHODCALLTYPE *Item)(
ISpeechObjectTokens *This,
LONG Index,
ISpeechObjectToken **Token);
HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
ISpeechObjectTokens *This,
IUnknown **ppEnumVARIANT);
END_INTERFACE
} ISpeechObjectTokensVtbl;
interface ISpeechObjectTokens {
CONST_VTBL ISpeechObjectTokensVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechObjectTokens_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechObjectTokens_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechObjectTokens_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechObjectTokens_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechObjectTokens_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechObjectTokens_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechObjectTokens_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechObjectTokens methods ***/
#define ISpeechObjectTokens_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
#define ISpeechObjectTokens_Item(This,Index,Token) (This)->lpVtbl->Item(This,Index,Token)
#define ISpeechObjectTokens_get__NewEnum(This,ppEnumVARIANT) (This)->lpVtbl->get__NewEnum(This,ppEnumVARIANT)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechObjectTokens_QueryInterface(ISpeechObjectTokens* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechObjectTokens_AddRef(ISpeechObjectTokens* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechObjectTokens_Release(ISpeechObjectTokens* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechObjectTokens_GetTypeInfoCount(ISpeechObjectTokens* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechObjectTokens_GetTypeInfo(ISpeechObjectTokens* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechObjectTokens_GetIDsOfNames(ISpeechObjectTokens* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechObjectTokens_Invoke(ISpeechObjectTokens* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechObjectTokens methods ***/
static FORCEINLINE HRESULT ISpeechObjectTokens_get_Count(ISpeechObjectTokens* This,LONG *Count) {
return This->lpVtbl->get_Count(This,Count);
}
static FORCEINLINE HRESULT ISpeechObjectTokens_Item(ISpeechObjectTokens* This,LONG Index,ISpeechObjectToken **Token) {
return This->lpVtbl->Item(This,Index,Token);
}
static FORCEINLINE HRESULT ISpeechObjectTokens_get__NewEnum(ISpeechObjectTokens* This,IUnknown **ppEnumVARIANT) {
return This->lpVtbl->get__NewEnum(This,ppEnumVARIANT);
}
#endif
#endif
#endif
#endif /* __ISpeechObjectTokens_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechObjectTokenCategory interface
*/
#ifndef __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
#define __ISpeechObjectTokenCategory_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechObjectTokenCategory, 0xca7eac50, 0x2d01, 0x4145, 0x86,0xd4, 0x5a,0xe7,0xd7,0x0f,0x44,0x69);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ca7eac50-2d01-4145-86d4-5ae7d70f4469")
ISpeechObjectTokenCategory : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE get_Id(
BSTR *Id) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Default(
const BSTR TokenId) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Default(
BSTR *TokenId) = 0;
virtual HRESULT STDMETHODCALLTYPE SetId(
const BSTR Id,
VARIANT_BOOL CreateIfNotExist = 0) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDataKey(
SpeechDataKeyLocation Location,
ISpeechDataKey **DataKey) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumerateTokens(
BSTR RequiredAttributes,
BSTR OptionalAttributes,
ISpeechObjectTokens **Tokens) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechObjectTokenCategory, 0xca7eac50, 0x2d01, 0x4145, 0x86,0xd4, 0x5a,0xe7,0xd7,0x0f,0x44,0x69)
#endif
#else
typedef struct ISpeechObjectTokenCategoryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechObjectTokenCategory *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechObjectTokenCategory *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechObjectTokenCategory *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechObjectTokenCategory *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechObjectTokenCategory *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechObjectTokenCategory *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechObjectTokenCategory *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechObjectTokenCategory methods ***/
HRESULT (STDMETHODCALLTYPE *get_Id)(
ISpeechObjectTokenCategory *This,
BSTR *Id);
HRESULT (STDMETHODCALLTYPE *put_Default)(
ISpeechObjectTokenCategory *This,
const BSTR TokenId);
HRESULT (STDMETHODCALLTYPE *get_Default)(
ISpeechObjectTokenCategory *This,
BSTR *TokenId);
HRESULT (STDMETHODCALLTYPE *SetId)(
ISpeechObjectTokenCategory *This,
const BSTR Id,
VARIANT_BOOL CreateIfNotExist);
HRESULT (STDMETHODCALLTYPE *GetDataKey)(
ISpeechObjectTokenCategory *This,
SpeechDataKeyLocation Location,
ISpeechDataKey **DataKey);
HRESULT (STDMETHODCALLTYPE *EnumerateTokens)(
ISpeechObjectTokenCategory *This,
BSTR RequiredAttributes,
BSTR OptionalAttributes,
ISpeechObjectTokens **Tokens);
END_INTERFACE
} ISpeechObjectTokenCategoryVtbl;
interface ISpeechObjectTokenCategory {
CONST_VTBL ISpeechObjectTokenCategoryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechObjectTokenCategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechObjectTokenCategory_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechObjectTokenCategory_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechObjectTokenCategory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechObjectTokenCategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechObjectTokenCategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechObjectTokenCategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechObjectTokenCategory methods ***/
#define ISpeechObjectTokenCategory_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
#define ISpeechObjectTokenCategory_put_Default(This,TokenId) (This)->lpVtbl->put_Default(This,TokenId)
#define ISpeechObjectTokenCategory_get_Default(This,TokenId) (This)->lpVtbl->get_Default(This,TokenId)
#define ISpeechObjectTokenCategory_SetId(This,Id,CreateIfNotExist) (This)->lpVtbl->SetId(This,Id,CreateIfNotExist)
#define ISpeechObjectTokenCategory_GetDataKey(This,Location,DataKey) (This)->lpVtbl->GetDataKey(This,Location,DataKey)
#define ISpeechObjectTokenCategory_EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens) (This)->lpVtbl->EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_QueryInterface(ISpeechObjectTokenCategory* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechObjectTokenCategory_AddRef(ISpeechObjectTokenCategory* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechObjectTokenCategory_Release(ISpeechObjectTokenCategory* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetTypeInfoCount(ISpeechObjectTokenCategory* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetTypeInfo(ISpeechObjectTokenCategory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetIDsOfNames(ISpeechObjectTokenCategory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_Invoke(ISpeechObjectTokenCategory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechObjectTokenCategory methods ***/
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_get_Id(ISpeechObjectTokenCategory* This,BSTR *Id) {
return This->lpVtbl->get_Id(This,Id);
}
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_put_Default(ISpeechObjectTokenCategory* This,const BSTR TokenId) {
return This->lpVtbl->put_Default(This,TokenId);
}
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_get_Default(ISpeechObjectTokenCategory* This,BSTR *TokenId) {
return This->lpVtbl->get_Default(This,TokenId);
}
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_SetId(ISpeechObjectTokenCategory* This,const BSTR Id,VARIANT_BOOL CreateIfNotExist) {
return This->lpVtbl->SetId(This,Id,CreateIfNotExist);
}
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_GetDataKey(ISpeechObjectTokenCategory* This,SpeechDataKeyLocation Location,ISpeechDataKey **DataKey) {
return This->lpVtbl->GetDataKey(This,Location,DataKey);
}
static FORCEINLINE HRESULT ISpeechObjectTokenCategory_EnumerateTokens(ISpeechObjectTokenCategory* This,BSTR RequiredAttributes,BSTR OptionalAttributes,ISpeechObjectTokens **Tokens) {
return This->lpVtbl->EnumerateTokens(This,RequiredAttributes,OptionalAttributes,Tokens);
}
#endif
#endif
#endif
#endif /* __ISpeechObjectTokenCategory_INTERFACE_DEFINED__ */
typedef enum SpeechAudioFormatType {
SAFTDefault = -1,
SAFTNoAssignedFormat = 0,
SAFTText = 1,
SAFTNonStandardFormat = 2,
SAFTExtendedAudioFormat = 3,
SAFT8kHz8BitMono = 4,
SAFT8kHz8BitStereo = 5,
SAFT8kHz16BitMono = 6,
SAFT8kHz16BitStereo = 7,
SAFT11kHz8BitMono = 8,
SAFT11kHz8BitStereo = 9,
SAFT11kHz16BitMono = 10,
SAFT11kHz16BitStereo = 11,
SAFT12kHz8BitMono = 12,
SAFT12kHz8BitStereo = 13,
SAFT12kHz16BitMono = 14,
SAFT12kHz16BitStereo = 15,
SAFT16kHz8BitMono = 16,
SAFT16kHz8BitStereo = 17,
SAFT16kHz16BitMono = 18,
SAFT16kHz16BitStereo = 19,
SAFT22kHz8BitMono = 20,
SAFT22kHz8BitStereo = 21,
SAFT22kHz16BitMono = 22,
SAFT22kHz16BitStereo = 23,
SAFT24kHz8BitMono = 24,
SAFT24kHz8BitStereo = 25,
SAFT24kHz16BitMono = 26,
SAFT24kHz16BitStereo = 27,
SAFT32kHz8BitMono = 28,
SAFT32kHz8BitStereo = 29,
SAFT32kHz16BitMono = 30,
SAFT32kHz16BitStereo = 31,
SAFT44kHz8BitMono = 32,
SAFT44kHz8BitStereo = 33,
SAFT44kHz16BitMono = 34,
SAFT44kHz16BitStereo = 35,
SAFT48kHz8BitMono = 36,
SAFT48kHz8BitStereo = 37,
SAFT48kHz16BitMono = 38,
SAFT48kHz16BitStereo = 39,
SAFTTrueSpeech_8kHz1BitMono = 40,
SAFTCCITT_ALaw_8kHzMono = 41,
SAFTCCITT_ALaw_8kHzStereo = 42,
SAFTCCITT_ALaw_11kHzMono = 43,
SAFTCCITT_ALaw_11kHzStereo = 44,
SAFTCCITT_ALaw_22kHzMono = 45,
SAFTCCITT_ALaw_22kHzStereo = 46,
SAFTCCITT_ALaw_44kHzMono = 47,
SAFTCCITT_ALaw_44kHzStereo = 48,
SAFTCCITT_uLaw_8kHzMono = 49,
SAFTCCITT_uLaw_8kHzStereo = 50,
SAFTCCITT_uLaw_11kHzMono = 51,
SAFTCCITT_uLaw_11kHzStereo = 52,
SAFTCCITT_uLaw_22kHzMono = 53,
SAFTCCITT_uLaw_22kHzStereo = 54,
SAFTCCITT_uLaw_44kHzMono = 55,
SAFTCCITT_uLaw_44kHzStereo = 56,
SAFTADPCM_8kHzMono = 57,
SAFTADPCM_8kHzStereo = 58,
SAFTADPCM_11kHzMono = 59,
SAFTADPCM_11kHzStereo = 60,
SAFTADPCM_22kHzMono = 61,
SAFTADPCM_22kHzStereo = 62,
SAFTADPCM_44kHzMono = 63,
SAFTADPCM_44kHzStereo = 64,
SAFTGSM610_8kHzMono = 65,
SAFTGSM610_11kHzMono = 66,
SAFTGSM610_22kHzMono = 67,
SAFTGSM610_44kHzMono = 68
} SpeechAudioFormatType;
typedef enum DISPID_SpeechAudioFormat {
DISPID_SAFType = 1,
DISPID_SAFGuid = 2,
DISPID_SAFGetWaveFormatEx = 3,
DISPID_SAFSetWaveFormatEx = 4
} DISPID_SpeechAudioFormat;
typedef enum DISPID_SpeechBaseStream {
DISPID_SBSFormat = 1,
DISPID_SBSRead = 2,
DISPID_SBSWrite = 3,
DISPID_SBSSeek = 4
} DISPID_SpeechBaseStream;
typedef enum SpeechStreamSeekPositionType {
SSSPTRelativeToStart = STREAM_SEEK_SET,
SSSPTRelativeToCurrentPosition = STREAM_SEEK_CUR,
SSSPTRelativeToEnd = STREAM_SEEK_END
} SpeechStreamSeekPositionType;
typedef enum DISPID_SpeechAudio {
DISPID_SAStatus = 200,
DISPID_SABufferInfo = 201,
DISPID_SADefaultFormat = 202,
DISPID_SAVolume = 203,
DISPID_SABufferNotifySize = 204,
DISPID_SAEventHandle = 205,
DISPID_SASetState = 206
} DISPID_SpeechAudio;
typedef enum SpeechAudioState {
SASClosed = SPAS_CLOSED,
SASStop = SPAS_STOP,
SASPause = SPAS_PAUSE,
SASRun = SPAS_RUN
} SpeechAudioState;
typedef enum DISPID_SpeechMMSysAudio {
DISPID_SMSADeviceId = 300,
DISPID_SMSALineId = 301,
DISPID_SMSAMMHandle = 302
} DISPID_SpeechMMSysAudio;
typedef enum DISPID_SpeechFileStream {
DISPID_SFSOpen = 100,
DISPID_SFSClose = 101
} DISPID_SpeechFileStream;
typedef enum SpeechStreamFileMode {
SSFMOpenForRead = SPFM_OPEN_READONLY,
SSFMOpenReadWrite = SPFM_OPEN_READWRITE,
SSFMCreate = SPFM_CREATE,
SSFMCreateForWrite = SPFM_CREATE_ALWAYS
} SpeechStreamFileMode;
typedef enum DISPID_SpeechCustomStream {
DISPID_SCSBaseStream = 100
} DISPID_SpeechCustomStream;
typedef enum DISPID_SpeechMemoryStream {
DISPID_SMSSetData = 100,
DISPID_SMSGetData = 101
} DISPID_SpeechMemoryStream;
typedef enum DISPID_SpeechAudioStatus {
DISPID_SASFreeBufferSpace = 1,
DISPID_SASNonBlockingIO = 2,
DISPID_SASState = 3,
DISPID_SASCurrentSeekPosition = 4,
DISPID_SASCurrentDevicePosition = 5
} DISPID_SpeechAudioStatus;
typedef enum DISPID_SpeechAudioBufferInfo {
DISPID_SABIMinNotification = 1,
DISPID_SABIBufferSize = 2,
DISPID_SABIEventBias = 3
} DISPID_SpeechAudioBufferInfo;
typedef enum DISPID_SpeechWaveFormatEx {
DISPID_SWFEFormatTag = 1,
DISPID_SWFEChannels = 2,
DISPID_SWFESamplesPerSec = 3,
DISPID_SWFEAvgBytesPerSec = 4,
DISPID_SWFEBlockAlign = 5,
DISPID_SWFEBitsPerSample = 6,
DISPID_SWFEExtraData = 7
} DISPID_SpeechWaveFormatEx;
typedef enum DISPID_SpeechVoice {
DISPID_SVStatus = 1,
DISPID_SVVoice = 2,
DISPID_SVAudioOutput = 3,
DISPID_SVAudioOutputStream = 4,
DISPID_SVRate = 5,
DISPID_SVVolume = 6,
DISPID_SVAllowAudioOuputFormatChangesOnNextSet = 7,
DISPID_SVEventInterests = 8,
DISPID_SVPriority = 9,
DISPID_SVAlertBoundary = 10,
DISPID_SVSyncronousSpeakTimeout = 11,
DISPID_SVSpeak = 12,
DISPID_SVSpeakStream = 13,
DISPID_SVPause = 14,
DISPID_SVResume = 15,
DISPID_SVSkip = 16,
DISPID_SVGetVoices = 17,
DISPID_SVGetAudioOutputs = 18,
DISPID_SVWaitUntilDone = 19,
DISPID_SVSpeakCompleteEvent = 20,
DISPID_SVIsUISupported = 21,
DISPID_SVDisplayUI = 22
} DISPID_SpeechVoice;
typedef enum SpeechVoicePriority {
SVPNormal = SPVPRI_NORMAL,
SVPAlert = SPVPRI_ALERT,
SVPOver = SPVPRI_OVER
} SpeechVoicePriority;
typedef enum SpeechVoiceSpeakFlags {
SVSFDefault = SPF_DEFAULT,
SVSFlagsAsync = SPF_ASYNC,
SVSFPurgeBeforeSpeak = SPF_PURGEBEFORESPEAK,
SVSFIsFilename = SPF_IS_FILENAME,
SVSFIsXML = SPF_IS_XML,
SVSFIsNotXML = SPF_IS_NOT_XML,
SVSFPersistXML = SPF_PERSIST_XML,
SVSFNLPSpeakPunc = SPF_NLP_SPEAK_PUNC,
SVSFParseSapi = SPF_PARSE_SAPI,
SVSFParseSsml = SPF_PARSE_SSML,
SVSFParseAutodetect = SPF_PARSE_AUTODETECT,
SVSFNLPMask = SPF_NLP_MASK,
SVSFParseMask = SPF_PARSE_MASK,
SVSFVoiceMask = SPF_VOICE_MASK,
SVSFUnusedFlags = SPF_UNUSED_FLAGS
} SpeechVoiceSpeakFlags;
typedef enum SpeechVoiceEvents {
SVEStartInputStream = 0x2,
SVEEndInputStream = 0x4,
SVEVoiceChange = 0x8,
SVEBookmark = 0x10,
SVEWordBoundary = 0x20,
SVEPhoneme = 0x40,
SVESentenceBoundary = 0x80,
SVEViseme = 0x100,
SVEAudioLevel = 0x200,
SVEPrivate = 0x8000,
SVEAllEvents = 0x83fe
} SpeechVoiceEvents;
typedef enum DISPID_SpeechVoiceStatus {
DISPID_SVSCurrentStreamNumber = 1,
DISPID_SVSLastStreamNumberQueued = 2,
DISPID_SVSLastResult = 3,
DISPID_SVSRunningState = 4,
DISPID_SVSInputWordPosition = 5,
DISPID_SVSInputWordLength = 6,
DISPID_SVSInputSentencePosition = 7,
DISPID_SVSInputSentenceLength = 8,
DISPID_SVSLastBookmark = 9,
DISPID_SVSLastBookmarkId = 10,
DISPID_SVSPhonemeId = 11,
DISPID_SVSVisemeId = 12
} DISPID_SpeechVoiceStatus;
typedef enum SpeechRunState {
SRSEDone = SPRS_DONE,
SRSEIsSpeaking = SPRS_IS_SPEAKING
} SpeechRunState;
/*****************************************************************************
* ISpeechAudioFormat interface
*/
#ifndef __ISpeechAudioFormat_INTERFACE_DEFINED__
#define __ISpeechAudioFormat_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechAudioFormat, 0xe6e9c590, 0x3e18, 0x40e3, 0x82,0x99, 0x06,0x1f,0x98,0xbd,0xe7,0xc7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e6e9c590-3e18-40e3-8299-061f98bde7c7")
ISpeechAudioFormat : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE get_Type(
SpeechAudioFormatType *AudioFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Type(
SpeechAudioFormatType AudioFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Guid(
BSTR *Guid) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Guid(
BSTR Guid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetWaveFormatEx(
ISpeechWaveFormatEx **SpeechWaveFormatEx) = 0;
virtual HRESULT STDMETHODCALLTYPE SetWaveFormatEx(
ISpeechWaveFormatEx *SpeechWaveFormatEx) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechAudioFormat, 0xe6e9c590, 0x3e18, 0x40e3, 0x82,0x99, 0x06,0x1f,0x98,0xbd,0xe7,0xc7)
#endif
#else
typedef struct ISpeechAudioFormatVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechAudioFormat *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechAudioFormat *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechAudioFormat *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechAudioFormat *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechAudioFormat *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechAudioFormat *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechAudioFormat *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechAudioFormat methods ***/
HRESULT (STDMETHODCALLTYPE *get_Type)(
ISpeechAudioFormat *This,
SpeechAudioFormatType *AudioFormat);
HRESULT (STDMETHODCALLTYPE *put_Type)(
ISpeechAudioFormat *This,
SpeechAudioFormatType AudioFormat);
HRESULT (STDMETHODCALLTYPE *get_Guid)(
ISpeechAudioFormat *This,
BSTR *Guid);
HRESULT (STDMETHODCALLTYPE *put_Guid)(
ISpeechAudioFormat *This,
BSTR Guid);
HRESULT (STDMETHODCALLTYPE *GetWaveFormatEx)(
ISpeechAudioFormat *This,
ISpeechWaveFormatEx **SpeechWaveFormatEx);
HRESULT (STDMETHODCALLTYPE *SetWaveFormatEx)(
ISpeechAudioFormat *This,
ISpeechWaveFormatEx *SpeechWaveFormatEx);
END_INTERFACE
} ISpeechAudioFormatVtbl;
interface ISpeechAudioFormat {
CONST_VTBL ISpeechAudioFormatVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechAudioFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechAudioFormat_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechAudioFormat_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechAudioFormat_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechAudioFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechAudioFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechAudioFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechAudioFormat methods ***/
#define ISpeechAudioFormat_get_Type(This,AudioFormat) (This)->lpVtbl->get_Type(This,AudioFormat)
#define ISpeechAudioFormat_put_Type(This,AudioFormat) (This)->lpVtbl->put_Type(This,AudioFormat)
#define ISpeechAudioFormat_get_Guid(This,Guid) (This)->lpVtbl->get_Guid(This,Guid)
#define ISpeechAudioFormat_put_Guid(This,Guid) (This)->lpVtbl->put_Guid(This,Guid)
#define ISpeechAudioFormat_GetWaveFormatEx(This,SpeechWaveFormatEx) (This)->lpVtbl->GetWaveFormatEx(This,SpeechWaveFormatEx)
#define ISpeechAudioFormat_SetWaveFormatEx(This,SpeechWaveFormatEx) (This)->lpVtbl->SetWaveFormatEx(This,SpeechWaveFormatEx)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechAudioFormat_QueryInterface(ISpeechAudioFormat* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechAudioFormat_AddRef(ISpeechAudioFormat* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechAudioFormat_Release(ISpeechAudioFormat* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechAudioFormat_GetTypeInfoCount(ISpeechAudioFormat* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechAudioFormat_GetTypeInfo(ISpeechAudioFormat* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechAudioFormat_GetIDsOfNames(ISpeechAudioFormat* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechAudioFormat_Invoke(ISpeechAudioFormat* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechAudioFormat methods ***/
static FORCEINLINE HRESULT ISpeechAudioFormat_get_Type(ISpeechAudioFormat* This,SpeechAudioFormatType *AudioFormat) {
return This->lpVtbl->get_Type(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechAudioFormat_put_Type(ISpeechAudioFormat* This,SpeechAudioFormatType AudioFormat) {
return This->lpVtbl->put_Type(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechAudioFormat_get_Guid(ISpeechAudioFormat* This,BSTR *Guid) {
return This->lpVtbl->get_Guid(This,Guid);
}
static FORCEINLINE HRESULT ISpeechAudioFormat_put_Guid(ISpeechAudioFormat* This,BSTR Guid) {
return This->lpVtbl->put_Guid(This,Guid);
}
static FORCEINLINE HRESULT ISpeechAudioFormat_GetWaveFormatEx(ISpeechAudioFormat* This,ISpeechWaveFormatEx **SpeechWaveFormatEx) {
return This->lpVtbl->GetWaveFormatEx(This,SpeechWaveFormatEx);
}
static FORCEINLINE HRESULT ISpeechAudioFormat_SetWaveFormatEx(ISpeechAudioFormat* This,ISpeechWaveFormatEx *SpeechWaveFormatEx) {
return This->lpVtbl->SetWaveFormatEx(This,SpeechWaveFormatEx);
}
#endif
#endif
#endif
#endif /* __ISpeechAudioFormat_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechBaseStream interface
*/
#ifndef __ISpeechBaseStream_INTERFACE_DEFINED__
#define __ISpeechBaseStream_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechBaseStream, 0x6450336f, 0x7d49, 0x4ced, 0x80,0x97, 0x49,0xd6,0xde,0xe3,0x72,0x94);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6450336f-7d49-4ced-8097-49d6dee37294")
ISpeechBaseStream : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE get_Format(
ISpeechAudioFormat **AudioFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE putref_Format(
ISpeechAudioFormat *AudioFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE Read(
VARIANT *Buffer,
LONG NumberOfBytes,
LONG *BytesRead) = 0;
virtual HRESULT STDMETHODCALLTYPE Write(
VARIANT Buffer,
LONG *BytesWritten) = 0;
virtual HRESULT STDMETHODCALLTYPE Seek(
VARIANT Position,
SpeechStreamSeekPositionType Origin,
VARIANT *NewPosition) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechBaseStream, 0x6450336f, 0x7d49, 0x4ced, 0x80,0x97, 0x49,0xd6,0xde,0xe3,0x72,0x94)
#endif
#else
typedef struct ISpeechBaseStreamVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechBaseStream *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechBaseStream *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechBaseStream *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechBaseStream *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechBaseStream *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechBaseStream *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechBaseStream *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechBaseStream methods ***/
HRESULT (STDMETHODCALLTYPE *get_Format)(
ISpeechBaseStream *This,
ISpeechAudioFormat **AudioFormat);
HRESULT (STDMETHODCALLTYPE *putref_Format)(
ISpeechBaseStream *This,
ISpeechAudioFormat *AudioFormat);
HRESULT (STDMETHODCALLTYPE *Read)(
ISpeechBaseStream *This,
VARIANT *Buffer,
LONG NumberOfBytes,
LONG *BytesRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpeechBaseStream *This,
VARIANT Buffer,
LONG *BytesWritten);
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpeechBaseStream *This,
VARIANT Position,
SpeechStreamSeekPositionType Origin,
VARIANT *NewPosition);
END_INTERFACE
} ISpeechBaseStreamVtbl;
interface ISpeechBaseStream {
CONST_VTBL ISpeechBaseStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechBaseStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechBaseStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechBaseStream_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechBaseStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechBaseStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechBaseStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechBaseStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechBaseStream methods ***/
#define ISpeechBaseStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
#define ISpeechBaseStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
#define ISpeechBaseStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
#define ISpeechBaseStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
#define ISpeechBaseStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechBaseStream_QueryInterface(ISpeechBaseStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechBaseStream_AddRef(ISpeechBaseStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechBaseStream_Release(ISpeechBaseStream* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechBaseStream_GetTypeInfoCount(ISpeechBaseStream* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechBaseStream_GetTypeInfo(ISpeechBaseStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechBaseStream_GetIDsOfNames(ISpeechBaseStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechBaseStream_Invoke(ISpeechBaseStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechBaseStream methods ***/
static FORCEINLINE HRESULT ISpeechBaseStream_get_Format(ISpeechBaseStream* This,ISpeechAudioFormat **AudioFormat) {
return This->lpVtbl->get_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechBaseStream_putref_Format(ISpeechBaseStream* This,ISpeechAudioFormat *AudioFormat) {
return This->lpVtbl->putref_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechBaseStream_Read(ISpeechBaseStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
}
static FORCEINLINE HRESULT ISpeechBaseStream_Write(ISpeechBaseStream* This,VARIANT Buffer,LONG *BytesWritten) {
return This->lpVtbl->Write(This,Buffer,BytesWritten);
}
static FORCEINLINE HRESULT ISpeechBaseStream_Seek(ISpeechBaseStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
}
#endif
#endif
#endif
#endif /* __ISpeechBaseStream_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechAudio interface
*/
#ifndef __ISpeechAudio_INTERFACE_DEFINED__
#define __ISpeechAudio_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechAudio, 0xcff8e175, 0x019e, 0x11d3, 0xa0,0x8e, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cff8e175-019e-11d3-a08e-00c04f8ef9b5")
ISpeechAudio : public ISpeechBaseStream
{
virtual HRESULT STDMETHODCALLTYPE get_Status(
ISpeechAudioStatus **Status) = 0;
virtual HRESULT STDMETHODCALLTYPE get_BufferInfo(
ISpeechAudioBufferInfo **BufferInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE get_DefaultFormat(
ISpeechAudioFormat **StreamFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Volume(
LONG *Volume) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Volume(
LONG Volume) = 0;
virtual HRESULT STDMETHODCALLTYPE get_BufferNotifySize(
LONG *BufferNotifySize) = 0;
virtual HRESULT STDMETHODCALLTYPE put_BufferNotifySize(
LONG BufferNotifySize) = 0;
virtual HRESULT STDMETHODCALLTYPE get_EventHandle(
LONG *EventHandle) = 0;
virtual HRESULT STDMETHODCALLTYPE SetState(
SpeechAudioState State) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechAudio, 0xcff8e175, 0x019e, 0x11d3, 0xa0,0x8e, 0x00,0xc0,0x4f,0x8e,0xf9,0xb5)
#endif
#else
typedef struct ISpeechAudioVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechAudio *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechAudio *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechAudio *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechAudio *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechAudio *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechAudio *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechAudio *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechBaseStream methods ***/
HRESULT (STDMETHODCALLTYPE *get_Format)(
ISpeechAudio *This,
ISpeechAudioFormat **AudioFormat);
HRESULT (STDMETHODCALLTYPE *putref_Format)(
ISpeechAudio *This,
ISpeechAudioFormat *AudioFormat);
HRESULT (STDMETHODCALLTYPE *Read)(
ISpeechAudio *This,
VARIANT *Buffer,
LONG NumberOfBytes,
LONG *BytesRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpeechAudio *This,
VARIANT Buffer,
LONG *BytesWritten);
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpeechAudio *This,
VARIANT Position,
SpeechStreamSeekPositionType Origin,
VARIANT *NewPosition);
/*** ISpeechAudio methods ***/
HRESULT (STDMETHODCALLTYPE *get_Status)(
ISpeechAudio *This,
ISpeechAudioStatus **Status);
HRESULT (STDMETHODCALLTYPE *get_BufferInfo)(
ISpeechAudio *This,
ISpeechAudioBufferInfo **BufferInfo);
HRESULT (STDMETHODCALLTYPE *get_DefaultFormat)(
ISpeechAudio *This,
ISpeechAudioFormat **StreamFormat);
HRESULT (STDMETHODCALLTYPE *get_Volume)(
ISpeechAudio *This,
LONG *Volume);
HRESULT (STDMETHODCALLTYPE *put_Volume)(
ISpeechAudio *This,
LONG Volume);
HRESULT (STDMETHODCALLTYPE *get_BufferNotifySize)(
ISpeechAudio *This,
LONG *BufferNotifySize);
HRESULT (STDMETHODCALLTYPE *put_BufferNotifySize)(
ISpeechAudio *This,
LONG BufferNotifySize);
HRESULT (STDMETHODCALLTYPE *get_EventHandle)(
ISpeechAudio *This,
LONG *EventHandle);
HRESULT (STDMETHODCALLTYPE *SetState)(
ISpeechAudio *This,
SpeechAudioState State);
END_INTERFACE
} ISpeechAudioVtbl;
interface ISpeechAudio {
CONST_VTBL ISpeechAudioVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechAudio_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechAudio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechBaseStream methods ***/
#define ISpeechAudio_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
#define ISpeechAudio_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
#define ISpeechAudio_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
#define ISpeechAudio_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
#define ISpeechAudio_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
/*** ISpeechAudio methods ***/
#define ISpeechAudio_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
#define ISpeechAudio_get_BufferInfo(This,BufferInfo) (This)->lpVtbl->get_BufferInfo(This,BufferInfo)
#define ISpeechAudio_get_DefaultFormat(This,StreamFormat) (This)->lpVtbl->get_DefaultFormat(This,StreamFormat)
#define ISpeechAudio_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
#define ISpeechAudio_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
#define ISpeechAudio_get_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->get_BufferNotifySize(This,BufferNotifySize)
#define ISpeechAudio_put_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->put_BufferNotifySize(This,BufferNotifySize)
#define ISpeechAudio_get_EventHandle(This,EventHandle) (This)->lpVtbl->get_EventHandle(This,EventHandle)
#define ISpeechAudio_SetState(This,State) (This)->lpVtbl->SetState(This,State)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechAudio_QueryInterface(ISpeechAudio* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechAudio_AddRef(ISpeechAudio* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechAudio_Release(ISpeechAudio* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechAudio_GetTypeInfoCount(ISpeechAudio* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechAudio_GetTypeInfo(ISpeechAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechAudio_GetIDsOfNames(ISpeechAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechAudio_Invoke(ISpeechAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechBaseStream methods ***/
static FORCEINLINE HRESULT ISpeechAudio_get_Format(ISpeechAudio* This,ISpeechAudioFormat **AudioFormat) {
return This->lpVtbl->get_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechAudio_putref_Format(ISpeechAudio* This,ISpeechAudioFormat *AudioFormat) {
return This->lpVtbl->putref_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechAudio_Read(ISpeechAudio* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
}
static FORCEINLINE HRESULT ISpeechAudio_Write(ISpeechAudio* This,VARIANT Buffer,LONG *BytesWritten) {
return This->lpVtbl->Write(This,Buffer,BytesWritten);
}
static FORCEINLINE HRESULT ISpeechAudio_Seek(ISpeechAudio* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
}
/*** ISpeechAudio methods ***/
static FORCEINLINE HRESULT ISpeechAudio_get_Status(ISpeechAudio* This,ISpeechAudioStatus **Status) {
return This->lpVtbl->get_Status(This,Status);
}
static FORCEINLINE HRESULT ISpeechAudio_get_BufferInfo(ISpeechAudio* This,ISpeechAudioBufferInfo **BufferInfo) {
return This->lpVtbl->get_BufferInfo(This,BufferInfo);
}
static FORCEINLINE HRESULT ISpeechAudio_get_DefaultFormat(ISpeechAudio* This,ISpeechAudioFormat **StreamFormat) {
return This->lpVtbl->get_DefaultFormat(This,StreamFormat);
}
static FORCEINLINE HRESULT ISpeechAudio_get_Volume(ISpeechAudio* This,LONG *Volume) {
return This->lpVtbl->get_Volume(This,Volume);
}
static FORCEINLINE HRESULT ISpeechAudio_put_Volume(ISpeechAudio* This,LONG Volume) {
return This->lpVtbl->put_Volume(This,Volume);
}
static FORCEINLINE HRESULT ISpeechAudio_get_BufferNotifySize(ISpeechAudio* This,LONG *BufferNotifySize) {
return This->lpVtbl->get_BufferNotifySize(This,BufferNotifySize);
}
static FORCEINLINE HRESULT ISpeechAudio_put_BufferNotifySize(ISpeechAudio* This,LONG BufferNotifySize) {
return This->lpVtbl->put_BufferNotifySize(This,BufferNotifySize);
}
static FORCEINLINE HRESULT ISpeechAudio_get_EventHandle(ISpeechAudio* This,LONG *EventHandle) {
return This->lpVtbl->get_EventHandle(This,EventHandle);
}
static FORCEINLINE HRESULT ISpeechAudio_SetState(ISpeechAudio* This,SpeechAudioState State) {
return This->lpVtbl->SetState(This,State);
}
#endif
#endif
#endif
#endif /* __ISpeechAudio_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechMMSysAudio interface
*/
#ifndef __ISpeechMMSysAudio_INTERFACE_DEFINED__
#define __ISpeechMMSysAudio_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechMMSysAudio, 0x3c76af6d, 0x1fd7, 0x4831, 0x81,0xd1, 0x3b,0x71,0xd5,0xa1,0x3c,0x44);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3c76af6d-1fd7-4831-81d1-3b71d5a13c44")
ISpeechMMSysAudio : public ISpeechAudio
{
virtual HRESULT STDMETHODCALLTYPE get_DeviceId(
LONG *DeviceId) = 0;
virtual HRESULT STDMETHODCALLTYPE put_DeviceId(
LONG DeviceId) = 0;
virtual HRESULT STDMETHODCALLTYPE get_LineId(
LONG *LineId) = 0;
virtual HRESULT STDMETHODCALLTYPE put_LineId(
LONG LineId) = 0;
virtual HRESULT STDMETHODCALLTYPE get_MMHandle(
LONG *Handle) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechMMSysAudio, 0x3c76af6d, 0x1fd7, 0x4831, 0x81,0xd1, 0x3b,0x71,0xd5,0xa1,0x3c,0x44)
#endif
#else
typedef struct ISpeechMMSysAudioVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechMMSysAudio *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechMMSysAudio *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechMMSysAudio *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechMMSysAudio *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechMMSysAudio *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechMMSysAudio *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechMMSysAudio *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechBaseStream methods ***/
HRESULT (STDMETHODCALLTYPE *get_Format)(
ISpeechMMSysAudio *This,
ISpeechAudioFormat **AudioFormat);
HRESULT (STDMETHODCALLTYPE *putref_Format)(
ISpeechMMSysAudio *This,
ISpeechAudioFormat *AudioFormat);
HRESULT (STDMETHODCALLTYPE *Read)(
ISpeechMMSysAudio *This,
VARIANT *Buffer,
LONG NumberOfBytes,
LONG *BytesRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpeechMMSysAudio *This,
VARIANT Buffer,
LONG *BytesWritten);
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpeechMMSysAudio *This,
VARIANT Position,
SpeechStreamSeekPositionType Origin,
VARIANT *NewPosition);
/*** ISpeechAudio methods ***/
HRESULT (STDMETHODCALLTYPE *get_Status)(
ISpeechMMSysAudio *This,
ISpeechAudioStatus **Status);
HRESULT (STDMETHODCALLTYPE *get_BufferInfo)(
ISpeechMMSysAudio *This,
ISpeechAudioBufferInfo **BufferInfo);
HRESULT (STDMETHODCALLTYPE *get_DefaultFormat)(
ISpeechMMSysAudio *This,
ISpeechAudioFormat **StreamFormat);
HRESULT (STDMETHODCALLTYPE *get_Volume)(
ISpeechMMSysAudio *This,
LONG *Volume);
HRESULT (STDMETHODCALLTYPE *put_Volume)(
ISpeechMMSysAudio *This,
LONG Volume);
HRESULT (STDMETHODCALLTYPE *get_BufferNotifySize)(
ISpeechMMSysAudio *This,
LONG *BufferNotifySize);
HRESULT (STDMETHODCALLTYPE *put_BufferNotifySize)(
ISpeechMMSysAudio *This,
LONG BufferNotifySize);
HRESULT (STDMETHODCALLTYPE *get_EventHandle)(
ISpeechMMSysAudio *This,
LONG *EventHandle);
HRESULT (STDMETHODCALLTYPE *SetState)(
ISpeechMMSysAudio *This,
SpeechAudioState State);
/*** ISpeechMMSysAudio methods ***/
HRESULT (STDMETHODCALLTYPE *get_DeviceId)(
ISpeechMMSysAudio *This,
LONG *DeviceId);
HRESULT (STDMETHODCALLTYPE *put_DeviceId)(
ISpeechMMSysAudio *This,
LONG DeviceId);
HRESULT (STDMETHODCALLTYPE *get_LineId)(
ISpeechMMSysAudio *This,
LONG *LineId);
HRESULT (STDMETHODCALLTYPE *put_LineId)(
ISpeechMMSysAudio *This,
LONG LineId);
HRESULT (STDMETHODCALLTYPE *get_MMHandle)(
ISpeechMMSysAudio *This,
LONG *Handle);
END_INTERFACE
} ISpeechMMSysAudioVtbl;
interface ISpeechMMSysAudio {
CONST_VTBL ISpeechMMSysAudioVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechMMSysAudio_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechMMSysAudio_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechMMSysAudio_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechMMSysAudio_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechMMSysAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechMMSysAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechMMSysAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechBaseStream methods ***/
#define ISpeechMMSysAudio_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
#define ISpeechMMSysAudio_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
#define ISpeechMMSysAudio_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
#define ISpeechMMSysAudio_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
#define ISpeechMMSysAudio_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
/*** ISpeechAudio methods ***/
#define ISpeechMMSysAudio_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status)
#define ISpeechMMSysAudio_get_BufferInfo(This,BufferInfo) (This)->lpVtbl->get_BufferInfo(This,BufferInfo)
#define ISpeechMMSysAudio_get_DefaultFormat(This,StreamFormat) (This)->lpVtbl->get_DefaultFormat(This,StreamFormat)
#define ISpeechMMSysAudio_get_Volume(This,Volume) (This)->lpVtbl->get_Volume(This,Volume)
#define ISpeechMMSysAudio_put_Volume(This,Volume) (This)->lpVtbl->put_Volume(This,Volume)
#define ISpeechMMSysAudio_get_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->get_BufferNotifySize(This,BufferNotifySize)
#define ISpeechMMSysAudio_put_BufferNotifySize(This,BufferNotifySize) (This)->lpVtbl->put_BufferNotifySize(This,BufferNotifySize)
#define ISpeechMMSysAudio_get_EventHandle(This,EventHandle) (This)->lpVtbl->get_EventHandle(This,EventHandle)
#define ISpeechMMSysAudio_SetState(This,State) (This)->lpVtbl->SetState(This,State)
/*** ISpeechMMSysAudio methods ***/
#define ISpeechMMSysAudio_get_DeviceId(This,DeviceId) (This)->lpVtbl->get_DeviceId(This,DeviceId)
#define ISpeechMMSysAudio_put_DeviceId(This,DeviceId) (This)->lpVtbl->put_DeviceId(This,DeviceId)
#define ISpeechMMSysAudio_get_LineId(This,LineId) (This)->lpVtbl->get_LineId(This,LineId)
#define ISpeechMMSysAudio_put_LineId(This,LineId) (This)->lpVtbl->put_LineId(This,LineId)
#define ISpeechMMSysAudio_get_MMHandle(This,Handle) (This)->lpVtbl->get_MMHandle(This,Handle)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechMMSysAudio_QueryInterface(ISpeechMMSysAudio* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechMMSysAudio_AddRef(ISpeechMMSysAudio* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechMMSysAudio_Release(ISpeechMMSysAudio* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechMMSysAudio_GetTypeInfoCount(ISpeechMMSysAudio* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_GetTypeInfo(ISpeechMMSysAudio* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_GetIDsOfNames(ISpeechMMSysAudio* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_Invoke(ISpeechMMSysAudio* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechBaseStream methods ***/
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Format(ISpeechMMSysAudio* This,ISpeechAudioFormat **AudioFormat) {
return This->lpVtbl->get_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_putref_Format(ISpeechMMSysAudio* This,ISpeechAudioFormat *AudioFormat) {
return This->lpVtbl->putref_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_Read(ISpeechMMSysAudio* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_Write(ISpeechMMSysAudio* This,VARIANT Buffer,LONG *BytesWritten) {
return This->lpVtbl->Write(This,Buffer,BytesWritten);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_Seek(ISpeechMMSysAudio* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
}
/*** ISpeechAudio methods ***/
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Status(ISpeechMMSysAudio* This,ISpeechAudioStatus **Status) {
return This->lpVtbl->get_Status(This,Status);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_BufferInfo(ISpeechMMSysAudio* This,ISpeechAudioBufferInfo **BufferInfo) {
return This->lpVtbl->get_BufferInfo(This,BufferInfo);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_DefaultFormat(ISpeechMMSysAudio* This,ISpeechAudioFormat **StreamFormat) {
return This->lpVtbl->get_DefaultFormat(This,StreamFormat);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_Volume(ISpeechMMSysAudio* This,LONG *Volume) {
return This->lpVtbl->get_Volume(This,Volume);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_put_Volume(ISpeechMMSysAudio* This,LONG Volume) {
return This->lpVtbl->put_Volume(This,Volume);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_BufferNotifySize(ISpeechMMSysAudio* This,LONG *BufferNotifySize) {
return This->lpVtbl->get_BufferNotifySize(This,BufferNotifySize);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_put_BufferNotifySize(ISpeechMMSysAudio* This,LONG BufferNotifySize) {
return This->lpVtbl->put_BufferNotifySize(This,BufferNotifySize);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_EventHandle(ISpeechMMSysAudio* This,LONG *EventHandle) {
return This->lpVtbl->get_EventHandle(This,EventHandle);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_SetState(ISpeechMMSysAudio* This,SpeechAudioState State) {
return This->lpVtbl->SetState(This,State);
}
/*** ISpeechMMSysAudio methods ***/
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_DeviceId(ISpeechMMSysAudio* This,LONG *DeviceId) {
return This->lpVtbl->get_DeviceId(This,DeviceId);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_put_DeviceId(ISpeechMMSysAudio* This,LONG DeviceId) {
return This->lpVtbl->put_DeviceId(This,DeviceId);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_LineId(ISpeechMMSysAudio* This,LONG *LineId) {
return This->lpVtbl->get_LineId(This,LineId);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_put_LineId(ISpeechMMSysAudio* This,LONG LineId) {
return This->lpVtbl->put_LineId(This,LineId);
}
static FORCEINLINE HRESULT ISpeechMMSysAudio_get_MMHandle(ISpeechMMSysAudio* This,LONG *Handle) {
return This->lpVtbl->get_MMHandle(This,Handle);
}
#endif
#endif
#endif
#endif /* __ISpeechMMSysAudio_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechFileStream interface
*/
#ifndef __ISpeechFileStream_INTERFACE_DEFINED__
#define __ISpeechFileStream_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechFileStream, 0xaf67f125, 0xab39, 0x4e93, 0xb4,0xa2, 0xcc,0x2e,0x66,0xe1,0x82,0xa7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("af67f125-ab39-4e93-b4a2-cc2e66e182a7")
ISpeechFileStream : public ISpeechBaseStream
{
virtual HRESULT STDMETHODCALLTYPE Open(
BSTR FileName,
SpeechStreamFileMode FileMode = SSFMOpenForRead,
VARIANT_BOOL DoEvents = 0) = 0;
virtual HRESULT STDMETHODCALLTYPE Close(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechFileStream, 0xaf67f125, 0xab39, 0x4e93, 0xb4,0xa2, 0xcc,0x2e,0x66,0xe1,0x82,0xa7)
#endif
#else
typedef struct ISpeechFileStreamVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechFileStream *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechFileStream *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechFileStream *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechFileStream *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechFileStream *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechFileStream *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechFileStream *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechBaseStream methods ***/
HRESULT (STDMETHODCALLTYPE *get_Format)(
ISpeechFileStream *This,
ISpeechAudioFormat **AudioFormat);
HRESULT (STDMETHODCALLTYPE *putref_Format)(
ISpeechFileStream *This,
ISpeechAudioFormat *AudioFormat);
HRESULT (STDMETHODCALLTYPE *Read)(
ISpeechFileStream *This,
VARIANT *Buffer,
LONG NumberOfBytes,
LONG *BytesRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpeechFileStream *This,
VARIANT Buffer,
LONG *BytesWritten);
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpeechFileStream *This,
VARIANT Position,
SpeechStreamSeekPositionType Origin,
VARIANT *NewPosition);
/*** ISpeechFileStream methods ***/
HRESULT (STDMETHODCALLTYPE *Open)(
ISpeechFileStream *This,
BSTR FileName,
SpeechStreamFileMode FileMode,
VARIANT_BOOL DoEvents);
HRESULT (STDMETHODCALLTYPE *Close)(
ISpeechFileStream *This);
END_INTERFACE
} ISpeechFileStreamVtbl;
interface ISpeechFileStream {
CONST_VTBL ISpeechFileStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechFileStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechFileStream_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechFileStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechFileStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechFileStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechFileStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechBaseStream methods ***/
#define ISpeechFileStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
#define ISpeechFileStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
#define ISpeechFileStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
#define ISpeechFileStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
#define ISpeechFileStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
/*** ISpeechFileStream methods ***/
#define ISpeechFileStream_Open(This,FileName,FileMode,DoEvents) (This)->lpVtbl->Open(This,FileName,FileMode,DoEvents)
#define ISpeechFileStream_Close(This) (This)->lpVtbl->Close(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechFileStream_QueryInterface(ISpeechFileStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechFileStream_AddRef(ISpeechFileStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechFileStream_Release(ISpeechFileStream* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechFileStream_GetTypeInfoCount(ISpeechFileStream* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechFileStream_GetTypeInfo(ISpeechFileStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechFileStream_GetIDsOfNames(ISpeechFileStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechFileStream_Invoke(ISpeechFileStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechBaseStream methods ***/
static FORCEINLINE HRESULT ISpeechFileStream_get_Format(ISpeechFileStream* This,ISpeechAudioFormat **AudioFormat) {
return This->lpVtbl->get_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechFileStream_putref_Format(ISpeechFileStream* This,ISpeechAudioFormat *AudioFormat) {
return This->lpVtbl->putref_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechFileStream_Read(ISpeechFileStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
}
static FORCEINLINE HRESULT ISpeechFileStream_Write(ISpeechFileStream* This,VARIANT Buffer,LONG *BytesWritten) {
return This->lpVtbl->Write(This,Buffer,BytesWritten);
}
static FORCEINLINE HRESULT ISpeechFileStream_Seek(ISpeechFileStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
}
/*** ISpeechFileStream methods ***/
static FORCEINLINE HRESULT ISpeechFileStream_Open(ISpeechFileStream* This,BSTR FileName,SpeechStreamFileMode FileMode,VARIANT_BOOL DoEvents) {
return This->lpVtbl->Open(This,FileName,FileMode,DoEvents);
}
static FORCEINLINE HRESULT ISpeechFileStream_Close(ISpeechFileStream* This) {
return This->lpVtbl->Close(This);
}
#endif
#endif
#endif
#endif /* __ISpeechFileStream_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechCustomStream interface
*/
#ifndef __ISpeechCustomStream_INTERFACE_DEFINED__
#define __ISpeechCustomStream_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechCustomStream, 0x1a9e9f4f, 0x104f, 0x4db8, 0xa1,0x15, 0xef,0xd7,0xfd,0x0c,0x97,0xae);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1a9e9f4f-104f-4db8-a115-efd7fd0c97ae")
ISpeechCustomStream : public ISpeechBaseStream
{
virtual HRESULT STDMETHODCALLTYPE get_BaseStream(
IUnknown **ppUnkStream) = 0;
virtual HRESULT STDMETHODCALLTYPE putref_BaseStream(
IUnknown *pUnkStream) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechCustomStream, 0x1a9e9f4f, 0x104f, 0x4db8, 0xa1,0x15, 0xef,0xd7,0xfd,0x0c,0x97,0xae)
#endif
#else
typedef struct ISpeechCustomStreamVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechCustomStream *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechCustomStream *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechCustomStream *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechCustomStream *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechCustomStream *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechCustomStream *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechCustomStream *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechBaseStream methods ***/
HRESULT (STDMETHODCALLTYPE *get_Format)(
ISpeechCustomStream *This,
ISpeechAudioFormat **AudioFormat);
HRESULT (STDMETHODCALLTYPE *putref_Format)(
ISpeechCustomStream *This,
ISpeechAudioFormat *AudioFormat);
HRESULT (STDMETHODCALLTYPE *Read)(
ISpeechCustomStream *This,
VARIANT *Buffer,
LONG NumberOfBytes,
LONG *BytesRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpeechCustomStream *This,
VARIANT Buffer,
LONG *BytesWritten);
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpeechCustomStream *This,
VARIANT Position,
SpeechStreamSeekPositionType Origin,
VARIANT *NewPosition);
/*** ISpeechCustomStream methods ***/
HRESULT (STDMETHODCALLTYPE *get_BaseStream)(
ISpeechCustomStream *This,
IUnknown **ppUnkStream);
HRESULT (STDMETHODCALLTYPE *putref_BaseStream)(
ISpeechCustomStream *This,
IUnknown *pUnkStream);
END_INTERFACE
} ISpeechCustomStreamVtbl;
interface ISpeechCustomStream {
CONST_VTBL ISpeechCustomStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechCustomStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechCustomStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechCustomStream_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechCustomStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechCustomStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechCustomStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechCustomStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechBaseStream methods ***/
#define ISpeechCustomStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
#define ISpeechCustomStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
#define ISpeechCustomStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
#define ISpeechCustomStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
#define ISpeechCustomStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
/*** ISpeechCustomStream methods ***/
#define ISpeechCustomStream_get_BaseStream(This,ppUnkStream) (This)->lpVtbl->get_BaseStream(This,ppUnkStream)
#define ISpeechCustomStream_putref_BaseStream(This,pUnkStream) (This)->lpVtbl->putref_BaseStream(This,pUnkStream)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechCustomStream_QueryInterface(ISpeechCustomStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechCustomStream_AddRef(ISpeechCustomStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechCustomStream_Release(ISpeechCustomStream* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechCustomStream_GetTypeInfoCount(ISpeechCustomStream* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechCustomStream_GetTypeInfo(ISpeechCustomStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechCustomStream_GetIDsOfNames(ISpeechCustomStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechCustomStream_Invoke(ISpeechCustomStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechBaseStream methods ***/
static FORCEINLINE HRESULT ISpeechCustomStream_get_Format(ISpeechCustomStream* This,ISpeechAudioFormat **AudioFormat) {
return This->lpVtbl->get_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechCustomStream_putref_Format(ISpeechCustomStream* This,ISpeechAudioFormat *AudioFormat) {
return This->lpVtbl->putref_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechCustomStream_Read(ISpeechCustomStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
}
static FORCEINLINE HRESULT ISpeechCustomStream_Write(ISpeechCustomStream* This,VARIANT Buffer,LONG *BytesWritten) {
return This->lpVtbl->Write(This,Buffer,BytesWritten);
}
static FORCEINLINE HRESULT ISpeechCustomStream_Seek(ISpeechCustomStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
}
/*** ISpeechCustomStream methods ***/
static FORCEINLINE HRESULT ISpeechCustomStream_get_BaseStream(ISpeechCustomStream* This,IUnknown **ppUnkStream) {
return This->lpVtbl->get_BaseStream(This,ppUnkStream);
}
static FORCEINLINE HRESULT ISpeechCustomStream_putref_BaseStream(ISpeechCustomStream* This,IUnknown *pUnkStream) {
return This->lpVtbl->putref_BaseStream(This,pUnkStream);
}
#endif
#endif
#endif
#endif /* __ISpeechCustomStream_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechMemoryStream interface
*/
#ifndef __ISpeechMemoryStream_INTERFACE_DEFINED__
#define __ISpeechMemoryStream_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechMemoryStream, 0xeeb14b68, 0x808b, 0x4abe, 0xa5,0xea, 0xb5,0x1d,0xa7,0x58,0x80,0x08);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("eeb14b68-808b-4abe-a5ea-b51da7588008")
ISpeechMemoryStream : public ISpeechBaseStream
{
virtual HRESULT STDMETHODCALLTYPE SetData(
VARIANT Data) = 0;
virtual HRESULT STDMETHODCALLTYPE GetData(
VARIANT *pData) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechMemoryStream, 0xeeb14b68, 0x808b, 0x4abe, 0xa5,0xea, 0xb5,0x1d,0xa7,0x58,0x80,0x08)
#endif
#else
typedef struct ISpeechMemoryStreamVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechMemoryStream *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechMemoryStream *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechMemoryStream *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechMemoryStream *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechMemoryStream *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechMemoryStream *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechMemoryStream *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechBaseStream methods ***/
HRESULT (STDMETHODCALLTYPE *get_Format)(
ISpeechMemoryStream *This,
ISpeechAudioFormat **AudioFormat);
HRESULT (STDMETHODCALLTYPE *putref_Format)(
ISpeechMemoryStream *This,
ISpeechAudioFormat *AudioFormat);
HRESULT (STDMETHODCALLTYPE *Read)(
ISpeechMemoryStream *This,
VARIANT *Buffer,
LONG NumberOfBytes,
LONG *BytesRead);
HRESULT (STDMETHODCALLTYPE *Write)(
ISpeechMemoryStream *This,
VARIANT Buffer,
LONG *BytesWritten);
HRESULT (STDMETHODCALLTYPE *Seek)(
ISpeechMemoryStream *This,
VARIANT Position,
SpeechStreamSeekPositionType Origin,
VARIANT *NewPosition);
/*** ISpeechMemoryStream methods ***/
HRESULT (STDMETHODCALLTYPE *SetData)(
ISpeechMemoryStream *This,
VARIANT Data);
HRESULT (STDMETHODCALLTYPE *GetData)(
ISpeechMemoryStream *This,
VARIANT *pData);
END_INTERFACE
} ISpeechMemoryStreamVtbl;
interface ISpeechMemoryStream {
CONST_VTBL ISpeechMemoryStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechMemoryStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechMemoryStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechMemoryStream_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechMemoryStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechMemoryStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechMemoryStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechMemoryStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechBaseStream methods ***/
#define ISpeechMemoryStream_get_Format(This,AudioFormat) (This)->lpVtbl->get_Format(This,AudioFormat)
#define ISpeechMemoryStream_putref_Format(This,AudioFormat) (This)->lpVtbl->putref_Format(This,AudioFormat)
#define ISpeechMemoryStream_Read(This,Buffer,NumberOfBytes,BytesRead) (This)->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead)
#define ISpeechMemoryStream_Write(This,Buffer,BytesWritten) (This)->lpVtbl->Write(This,Buffer,BytesWritten)
#define ISpeechMemoryStream_Seek(This,Position,Origin,NewPosition) (This)->lpVtbl->Seek(This,Position,Origin,NewPosition)
/*** ISpeechMemoryStream methods ***/
#define ISpeechMemoryStream_SetData(This,Data) (This)->lpVtbl->SetData(This,Data)
#define ISpeechMemoryStream_GetData(This,pData) (This)->lpVtbl->GetData(This,pData)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechMemoryStream_QueryInterface(ISpeechMemoryStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechMemoryStream_AddRef(ISpeechMemoryStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechMemoryStream_Release(ISpeechMemoryStream* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechMemoryStream_GetTypeInfoCount(ISpeechMemoryStream* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechMemoryStream_GetTypeInfo(ISpeechMemoryStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechMemoryStream_GetIDsOfNames(ISpeechMemoryStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechMemoryStream_Invoke(ISpeechMemoryStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechBaseStream methods ***/
static FORCEINLINE HRESULT ISpeechMemoryStream_get_Format(ISpeechMemoryStream* This,ISpeechAudioFormat **AudioFormat) {
return This->lpVtbl->get_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechMemoryStream_putref_Format(ISpeechMemoryStream* This,ISpeechAudioFormat *AudioFormat) {
return This->lpVtbl->putref_Format(This,AudioFormat);
}
static FORCEINLINE HRESULT ISpeechMemoryStream_Read(ISpeechMemoryStream* This,VARIANT *Buffer,LONG NumberOfBytes,LONG *BytesRead) {
return This->lpVtbl->Read(This,Buffer,NumberOfBytes,BytesRead);
}
static FORCEINLINE HRESULT ISpeechMemoryStream_Write(ISpeechMemoryStream* This,VARIANT Buffer,LONG *BytesWritten) {
return This->lpVtbl->Write(This,Buffer,BytesWritten);
}
static FORCEINLINE HRESULT ISpeechMemoryStream_Seek(ISpeechMemoryStream* This,VARIANT Position,SpeechStreamSeekPositionType Origin,VARIANT *NewPosition) {
return This->lpVtbl->Seek(This,Position,Origin,NewPosition);
}
/*** ISpeechMemoryStream methods ***/
static FORCEINLINE HRESULT ISpeechMemoryStream_SetData(ISpeechMemoryStream* This,VARIANT Data) {
return This->lpVtbl->SetData(This,Data);
}
static FORCEINLINE HRESULT ISpeechMemoryStream_GetData(ISpeechMemoryStream* This,VARIANT *pData) {
return This->lpVtbl->GetData(This,pData);
}
#endif
#endif
#endif
#endif /* __ISpeechMemoryStream_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechAudioStatus interface
*/
#ifndef __ISpeechAudioStatus_INTERFACE_DEFINED__
#define __ISpeechAudioStatus_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechAudioStatus, 0xc62d9c91, 0x7458, 0x47f6, 0x86,0x2d, 0x1e,0xf8,0x6f,0xb0,0xb2,0x78);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c62d9c91-7458-47f6-862d-1ef86fb0b278")
ISpeechAudioStatus : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE get_FreeBufferSpace(
LONG *FreeBufferSpace) = 0;
virtual HRESULT STDMETHODCALLTYPE get_NonBlockingIO(
LONG *NonBlockingIO) = 0;
virtual HRESULT STDMETHODCALLTYPE get_State(
SpeechAudioState *State) = 0;
virtual HRESULT STDMETHODCALLTYPE get_CurrentSeekPosition(
VARIANT *CurrentSeekPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE get_CurrentDevicePosition(
VARIANT *CurrentDevicePosition) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechAudioStatus, 0xc62d9c91, 0x7458, 0x47f6, 0x86,0x2d, 0x1e,0xf8,0x6f,0xb0,0xb2,0x78)
#endif
#else
typedef struct ISpeechAudioStatusVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechAudioStatus *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechAudioStatus *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechAudioStatus *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechAudioStatus *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechAudioStatus *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechAudioStatus *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechAudioStatus *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechAudioStatus methods ***/
HRESULT (STDMETHODCALLTYPE *get_FreeBufferSpace)(
ISpeechAudioStatus *This,
LONG *FreeBufferSpace);
HRESULT (STDMETHODCALLTYPE *get_NonBlockingIO)(
ISpeechAudioStatus *This,
LONG *NonBlockingIO);
HRESULT (STDMETHODCALLTYPE *get_State)(
ISpeechAudioStatus *This,
SpeechAudioState *State);
HRESULT (STDMETHODCALLTYPE *get_CurrentSeekPosition)(
ISpeechAudioStatus *This,
VARIANT *CurrentSeekPosition);
HRESULT (STDMETHODCALLTYPE *get_CurrentDevicePosition)(
ISpeechAudioStatus *This,
VARIANT *CurrentDevicePosition);
END_INTERFACE
} ISpeechAudioStatusVtbl;
interface ISpeechAudioStatus {
CONST_VTBL ISpeechAudioStatusVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechAudioStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechAudioStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechAudioStatus_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechAudioStatus_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechAudioStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechAudioStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechAudioStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechAudioStatus methods ***/
#define ISpeechAudioStatus_get_FreeBufferSpace(This,FreeBufferSpace) (This)->lpVtbl->get_FreeBufferSpace(This,FreeBufferSpace)
#define ISpeechAudioStatus_get_NonBlockingIO(This,NonBlockingIO) (This)->lpVtbl->get_NonBlockingIO(This,NonBlockingIO)
#define ISpeechAudioStatus_get_State(This,State) (This)->lpVtbl->get_State(This,State)
#define ISpeechAudioStatus_get_CurrentSeekPosition(This,CurrentSeekPosition) (This)->lpVtbl->get_CurrentSeekPosition(This,CurrentSeekPosition)
#define ISpeechAudioStatus_get_CurrentDevicePosition(This,CurrentDevicePosition) (This)->lpVtbl->get_CurrentDevicePosition(This,CurrentDevicePosition)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT ISpeechAudioStatus_QueryInterface(ISpeechAudioStatus* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG ISpeechAudioStatus_AddRef(ISpeechAudioStatus* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG ISpeechAudioStatus_Release(ISpeechAudioStatus* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT ISpeechAudioStatus_GetTypeInfoCount(ISpeechAudioStatus* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT ISpeechAudioStatus_GetTypeInfo(ISpeechAudioStatus* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT ISpeechAudioStatus_GetIDsOfNames(ISpeechAudioStatus* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT ISpeechAudioStatus_Invoke(ISpeechAudioStatus* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** ISpeechAudioStatus methods ***/
static FORCEINLINE HRESULT ISpeechAudioStatus_get_FreeBufferSpace(ISpeechAudioStatus* This,LONG *FreeBufferSpace) {
return This->lpVtbl->get_FreeBufferSpace(This,FreeBufferSpace);
}
static FORCEINLINE HRESULT ISpeechAudioStatus_get_NonBlockingIO(ISpeechAudioStatus* This,LONG *NonBlockingIO) {
return This->lpVtbl->get_NonBlockingIO(This,NonBlockingIO);
}
static FORCEINLINE HRESULT ISpeechAudioStatus_get_State(ISpeechAudioStatus* This,SpeechAudioState *State) {
return This->lpVtbl->get_State(This,State);
}
static FORCEINLINE HRESULT ISpeechAudioStatus_get_CurrentSeekPosition(ISpeechAudioStatus* This,VARIANT *CurrentSeekPosition) {
return This->lpVtbl->get_CurrentSeekPosition(This,CurrentSeekPosition);
}
static FORCEINLINE HRESULT ISpeechAudioStatus_get_CurrentDevicePosition(ISpeechAudioStatus* This,VARIANT *CurrentDevicePosition) {
return This->lpVtbl->get_CurrentDevicePosition(This,CurrentDevicePosition);
}
#endif
#endif
#endif
#endif /* __ISpeechAudioStatus_INTERFACE_DEFINED__ */
/*****************************************************************************
* ISpeechAudioBufferInfo interface
*/
#ifndef __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
#define __ISpeechAudioBufferInfo_INTERFACE_DEFINED__
DEFINE_GUID(IID_ISpeechAudioBufferInfo, 0x11b103d8, 0x1142, 0x4edf, 0xa0,0x93, 0x82,0xfb,0x39,0x15,0xf8,0xcc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("11b103d8-1142-4edf-a093-82fb3915f8cc")
ISpeechAudioBufferInfo : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE get_MinNotification(
LONG *MinNotification) = 0;
virtual HRESULT STDMETHODCALLTYPE put_MinNotification(
LONG MinNotification) = 0;
virtual HRESULT STDMETHODCALLTYPE get_BufferSize(
LONG *BufferSize) = 0;
virtual HRESULT STDMETHODCALLTYPE put_BufferSize(
LONG BufferSize) = 0;
virtual HRESULT STDMETHODCALLTYPE get_EventBias(
LONG *EventBias) = 0;
virtual HRESULT STDMETHODCALLTYPE put_EventBias(
LONG EventBias) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ISpeechAudioBufferInfo, 0x11b103d8, 0x1142, 0x4edf, 0xa0,0x93, 0x82,0xfb,0x39,0x15,0xf8,0xcc)
#endif
#else
typedef struct ISpeechAudioBufferInfoVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ISpeechAudioBufferInfo *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ISpeechAudioBufferInfo *This);
ULONG (STDMETHODCALLTYPE *Release)(
ISpeechAudioBufferInfo *This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
ISpeechAudioBufferInfo *This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
ISpeechAudioBufferInfo *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
ISpeechAudioBufferInfo *This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
ISpeechAudioBufferInfo *This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** ISpeechAudioBufferInfo methods ***/
HRESULT (STDMETHODCALLTYPE *get_MinNotification)(
ISpeechAudioBufferInfo *This,
LONG *MinNotification);
HRESULT (STDMETHODCALLTYPE *put_MinNotification)(
ISpeechAudioBufferInfo *This,
LONG MinNotification);
HRESULT (STDMETHODCALLTYPE *get_BufferSize)(
ISpeechAudioBufferInfo *This,
LONG *BufferSize);
HRESULT (STDMETHODCALLTYPE *put_BufferSize)(
ISpeechAudioBufferInfo *This,
LONG BufferSize);
HRESULT (STDMETHODCALLTYPE *get_EventBias)(
ISpeechAudioBufferInfo *This,
LONG *EventBias);
HRESULT (STDMETHODCALLTYPE *put_EventBias)(
ISpeechAudioBufferInfo *This,
LONG EventBias);
END_INTERFACE
} ISpeechAudioBufferInfoVtbl;
interface ISpeechAudioBufferInfo {
CONST_VTBL ISpeechAudioBufferInfoVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ISpeechAudioBufferInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ISpeechAudioBufferInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ISpeechAudioBufferInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define ISpeechAudioBufferInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define ISpeechAudioBufferInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define ISpeechAudioBufferInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define ISpeechAudioBufferInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** ISpeechAudioBufferInfo methods ***/
#define ISpeechAudioBufferInfo_get_MinNotification(This,MinNotification) (This)->lpVtbl->get_MinNotification(This,MinNotification)
#define ISpeechAudioBufferInfo_put_MinNotification(This,MinNotification) (This)->lpVtbl->put_MinNotification(This,MinNotification)
#define ISpeechAudioBufferInfo_get_BufferSize(This,BufferSize) (This)->lpVtbl->get_BufferSize(This,BufferSize)
#define ISpeechAudioBufferInfo_put_BufferSize(This,BufferSize) (This)->lpVtbl->put_BufferSize(This,BufferSize)
#define ISpeechAudioBufferInfo_get_EventBias(This,EventBias) (This)->lpVtbl->get_EventBias(This,EventBias)