wine-wine/include/sapiaut.idl

2037 lines
61 KiB
Plaintext

/*
* Copyright (C) 2019 Alistair Leslie-Hughes
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
import "oaidl.idl";
import "ocidl.idl";
interface ISpeechAudioFormat;
interface ISpeechGrammarRule;
interface ISpeechGrammarRuleState;
interface ISpeechObjectTokens;
interface ISpeechPhraseProperties;
interface ISpeechPhraseRule;
interface ISpeechRecognizer;
interface ISpeechRecoContext;
interface ISpeechRecoGrammar;
interface ISpeechRecoResult;
typedef long SpeechLanguageId;
typedef enum SpeechLoadOption
{
SLOStatic = SPLO_STATIC,
SLODynamic = SPLO_DYNAMIC
} SpeechLoadOption;
typedef enum SpeechRuleState
{
SGDSInactive = SPRS_INACTIVE,
SGDSActive = SPRS_ACTIVE,
SGDSActiveWithAutoPause = SPRS_ACTIVE_WITH_AUTO_PAUSE,
SGDSActiveUserDelimited = SPRS_ACTIVE_USER_DELIMITED
} SpeechRuleState;
typedef enum SpeechTokenShellFolder
{
STSF_AppData = 0x001a,
STSF_LocalAppData = 0x001c,
STSF_CommonAppData = 0x0023,
STSF_FlagCreate = 0x8000
} SpeechTokenShellFolder;
typedef enum SpeechEngineConfidence
{
SECLowConfidence = -1,
SECNormalConfidence = 0,
SECHighConfidence = 1
} SpeechEngineConfidence;
typedef enum SpeechAudioState
{
SASClosed = SPAS_CLOSED,
SASStop = SPAS_STOP,
SASPause = SPAS_PAUSE,
SASRun = SPAS_RUN
} SpeechAudioState;
typedef enum SpeechRunState
{
SRSEDone = SPRS_DONE,
SRSEIsSpeaking = SPRS_IS_SPEAKING
} SpeechRunState;
typedef enum SpeechDiscardType
{
SDTProperty = SPDF_PROPERTY,
SDTReplacement = SPDF_REPLACEMENT,
SDTRule = SPDF_RULE,
SDTDisplayText = SPDF_DISPLAYTEXT,
SDTLexicalForm = SPDF_LEXICALFORM,
SDTPronunciation = SPDF_PRONUNCIATION,
SDTAudio = SPDF_AUDIO,
SDTAlternates = SPDF_ALTERNATES,
SDTAll = SPDF_ALL
} SpeechDiscardType;
typedef enum SpeechRecognizerState
{
SRSInactive = SPRST_INACTIVE,
SRSActive = SPRST_ACTIVE,
SRSActiveAlways = SPRST_ACTIVE_ALWAYS,
SRSInactiveWithPurge = SPRST_INACTIVE_WITH_PURGE,
} SpeechRecognizerState;
typedef enum SpeechDisplayAttributes
{
SDA_No_Trailing_Space = 0,
SDA_One_Trailing_Space = SPAF_ONE_TRAILING_SPACE,
SDA_Two_Trailing_Spaces = SPAF_TWO_TRAILING_SPACES,
SDA_Consume_Leading_Spaces = SPAF_CONSUME_LEADING_SPACES
} SpeechDisplayAttributes;
typedef enum SpeechFormatType
{
SFTInput = SPWF_INPUT,
SFTSREngine = SPWF_SRENGINE
} SpeechFormatType;
typedef enum SpeechGrammarState
{
SGSEnabled = SPGS_ENABLED,
SGSDisabled = SPGS_DISABLED,
SGSExclusive = SPGS_EXCLUSIVE,
} SpeechGrammarState;
typedef enum SpeechRuleAttributes
{
SRATopLevel = SPRAF_TopLevel,
SRADefaultToActive = SPRAF_Active,
SRAExport = SPRAF_Export,
SRAImport = SPRAF_Import,
SRAInterpreter = SPRAF_Interpreter,
SRADynamic = SPRAF_Dynamic,
SRARoot = SPRAF_Root
} SpeechRuleAttributes;
typedef enum SpeechWordPronounceable
{
SWPUnknownWordUnpronounceable = SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE,
SWPUnknownWordPronounceable = SPWP_UNKNOWN_WORD_PRONOUNCEABLE,
SWPKnownWordPronounceable = SPWP_KNOWN_WORD_PRONOUNCEABLE
} SpeechWordPronounceable;
typedef enum SpeechSpecialTransitionType
{
SSTTWildcard = 1,
SSTTDictation,
SSTTTextBuffer
} SpeechSpecialTransitionType;
typedef [hidden] enum DISPID_SpeechRecoContext
{
DISPID_SRCRecognizer = 1,
DISPID_SRCAudioInInterferenceStatus,
DISPID_SRCRequestedUIType,
DISPID_SRCVoice,
DISPID_SRAllowVoiceFormatMatchingOnNextSet,
DISPID_SRCVoicePurgeEvent,
DISPID_SRCEventInterests,
DISPID_SRCCmdMaxAlternates,
DISPID_SRCState,
DISPID_SRCRetainedAudio,
DISPID_SRCRetainedAudioFormat,
DISPID_SRCPause,
DISPID_SRCResume,
DISPID_SRCCreateGrammar,
DISPID_SRCCreateResultFromMemory,
DISPID_SRCBookmark,
DISPID_SRCSetAdaptationData
} DISPID_SpeechRecoContext;
typedef [hidden] enum DISPID_SpeechDataKey
{
DISPID_SDKSetBinaryValue = 1,
DISPID_SDKGetBinaryValue,
DISPID_SDKSetStringValue,
DISPID_SDKGetStringValue,
DISPID_SDKSetLongValue,
DISPID_SDKGetlongValue,
DISPID_SDKOpenKey,
DISPID_SDKCreateKey,
DISPID_SDKDeleteKey,
DISPID_SDKDeleteValue,
DISPID_SDKEnumKeys,
DISPID_SDKEnumValues
} DISPID_SpeechDataKey;
typedef [hidden] enum DISPIDSPRG
{
DISPID_SRGId = 1,
DISPID_SRGRecoContext,
DISPID_SRGState,
DISPID_SRGRules,
DISPID_SRGReset,
DISPID_SRGCommit,
DISPID_SRGCmdLoadFromFile,
DISPID_SRGCmdLoadFromObject,
DISPID_SRGCmdLoadFromResource,
DISPID_SRGCmdLoadFromMemory,
DISPID_SRGCmdLoadFromProprietaryGrammar,
DISPID_SRGCmdSetRuleState,
DISPID_SRGCmdSetRuleIdState,
DISPID_SRGDictationLoad,
DISPID_SRGDictationUnload,
DISPID_SRGDictationSetState,
DISPID_SRGSetWordSequenceData,
DISPID_SRGSetTextSelection,
DISPID_SRGIsPronounceable
} DISPIDSPRG;
typedef enum SpeechInterference
{
SINone = SPINTERFERENCE_NONE,
SINoise = SPINTERFERENCE_NOISE,
SINoSignal = SPINTERFERENCE_NOSIGNAL,
SITooLoud = SPINTERFERENCE_TOOLOUD,
SITooQuiet = SPINTERFERENCE_TOOQUIET,
SITooFast = SPINTERFERENCE_TOOFAST,
SITooSlow = SPINTERFERENCE_TOOSLOW
} SpeechInterference;
typedef enum SpeechVoiceEvents
{
SVEStartInputStream = (1L << 1),
SVEEndInputStream = (1L << 2),
SVEVoiceChange = (1L << 3),
SVEBookmark = (1L << 4),
SVEWordBoundary = (1L << 5),
SVEPhoneme = (1L << 6),
SVESentenceBoundary = (1L << 7),
SVEViseme = (1L << 8),
SVEAudioLevel = (1L << 9),
SVEPrivate = (1L << 15),
SVEAllEvents = 0x083FE
} SpeechVoiceEvents;
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 SpeechGrammarWordType
{
SGDisplay = SPWT_DISPLAY,
SGLexical = SPWT_LEXICAL,
SGPronounciation = SPWT_PRONUNCIATION,
SGLexicalNoSpecialChars = SPWT_LEXICAL_NO_SPECIAL_CHARS
} SpeechGrammarWordType;
typedef enum SpeechRecoEvents
{
SREStreamEnd = (1L << 0),
SRESoundStart = (1L << 1),
SRESoundEnd = (1L << 2),
SREPhraseStart = (1L << 3),
SRERecognition = (1L << 4),
SREHypothesis = (1L << 5),
SREBookmark = (1L << 6),
SREPropertyNumChange = (1L << 7),
SREPropertyStringChange = (1L << 8),
SREFalseRecognition = (1L << 9),
SREInterference = (1L << 10),
SRERequestUI = (1L << 11),
SREStateChange = (1L << 12),
SREAdaptation = (1L << 13),
SREStreamStart = (1L << 14),
SRERecoOtherContext = (1L << 15),
SREAudioLevel = (1L << 16),
SREPrivate = (1L << 18),
SREAllEvents = 0x5FFFF
} SpeechRecoEvents;
typedef enum SpeechRecoContextState
{
SRCS_Disabled = SPCS_DISABLED,
SRCS_Enabled = SPCS_ENABLED
} SpeechRecoContextState;
typedef enum SpeechRetainedAudioOptions
{
SRAONone = SPAO_NONE,
SRAORetainAudio = SPAO_RETAIN_AUDIO
} SpeechRetainedAudioOptions;
typedef enum SpeechVoicePriority
{
SVPNormal = SPVPRI_NORMAL,
SVPAlert = SPVPRI_ALERT,
SVPOver = SPVPRI_OVER
} SpeechVoicePriority;
[
object,
uuid(ce17c09b-4efa-44d5-a4c9-59d9585ab0cd),
dual,
pointer_default(unique)
]
interface ISpeechDataKey : IDispatch
{
[id(DISPID_SDKSetBinaryValue)]
HRESULT SetBinaryValue([in] const BSTR name, [in] VARIANT value);
[id(DISPID_SDKGetBinaryValue)]
HRESULT GetBinaryValue([in] const BSTR name, [out,retval] VARIANT *value);
[id(DISPID_SDKSetStringValue)]
HRESULT SetStringValue([in] const BSTR name, [in]const BSTR value);
[id(DISPID_SDKGetStringValue)]
HRESULT GetStringValue([in] const BSTR name, [out,retval] BSTR* value);
[id(DISPID_SDKSetLongValue)]
HRESULT SetLongValue([in] const BSTR name, [in] long value);
[id(DISPID_SDKGetlongValue)]
HRESULT GetLongValue([in] const BSTR name, [out,retval] long *value);
[id(DISPID_SDKOpenKey)]
HRESULT OpenKey( [in] const BSTR name, [out,retval] ISpeechDataKey **key);
[id(DISPID_SDKCreateKey)]
HRESULT CreateKey([in] const BSTR name, [out,retval] ISpeechDataKey **key);
[id(DISPID_SDKDeleteKey)]
HRESULT DeleteKey([in] const BSTR name);
[id(DISPID_SDKDeleteValue)]
HRESULT DeleteValue([in] const BSTR name);
[id(DISPID_SDKEnumKeys)]
HRESULT EnumKeys([in] long index, [out,retval] BSTR *name);
[id(DISPID_SDKEnumValues)]
HRESULT EnumValues([in] long Index, [out,retval] BSTR *value);
}
typedef enum SpeechDataKeyLocation
{
SDKLDefaultLocation = 0,
SDKLCurrentUser = 1,
SDKLLocalMachine = 2,
SDKLCurrentConfig = 5
} SpeechDataKeyLocation;
typedef enum SpeechBookmarkOptions
{
SBONone = SPBO_NONE,
SBOPause = SPBO_PAUSE
} SpeechBookmarkOptions;
#define CLSCTXALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
typedef enum SpeechTokenContext
{
STCInprocServer = CLSCTX_INPROC_SERVER,
STCInprocHandler = CLSCTX_INPROC_HANDLER,
STCLocalServer = CLSCTX_LOCAL_SERVER,
STCRemoteServer = CLSCTX_REMOTE_SERVER,
STCAll = CLSCTXALL
} SpeechTokenContext;
typedef [hidden] enum DISPID_SpeechObjectTokenCategory
{
DISPID_SOTCId = 1,
DISPID_SOTCDefault,
DISPID_SOTCSetId,
DISPID_SOTCGetDataKey,
DISPID_SOTCEnumerateTokens,
} DISPID_SpeechObjectTokenCategory;
[
object,
uuid(ca7eac50-2d01-4145-86d4-5ae7d70f4469),
dual,
pointer_default(unique)
]
interface ISpeechObjectTokenCategory : IDispatch
{
[propget, id(DISPID_SOTCId)]
HRESULT Id([out, retval] BSTR *id);
[propput, id(DISPID_SOTCDefault)]
HRESULT Default([in] const BSTR token);
[propget, id(DISPID_SOTCDefault)]
HRESULT Default([out, retval] BSTR *token);
[id(DISPID_SOTCSetId)]
HRESULT SetId([in] const BSTR id, [in, defaultvalue(0)] VARIANT_BOOL created);
[hidden, id(DISPID_SOTCGetDataKey)]
HRESULT GetDataKey([in, defaultvalue(SDKLDefaultLocation)] SpeechDataKeyLocation location,
[out, retval] ISpeechDataKey **key);
[id(DISPID_SOTCEnumerateTokens)]
HRESULT EnumerateTokens([in, defaultvalue("")] BSTR required,
[in, defaultvalue("")] BSTR optional,
[out, retval] ISpeechObjectTokens **tokens);
}
typedef [hidden] enum DISPID_SpeechObjectToken
{
DISPID_SOTId = 1,
DISPID_SOTDataKey,
DISPID_SOTCategory,
DISPID_SOTGetDescription,
DISPID_SOTSetId,
DISPID_SOTGetAttribute,
DISPID_SOTCreateInstance,
DISPID_SOTRemove,
DISPID_SOTGetStorageFileName,
DISPID_SOTRemoveStorageFileName,
DISPID_SOTIsUISupported,
DISPID_SOTDisplayUI,
DISPID_SOTMatchesAttributes
} DISPID_SpeechObjectToken;
[
object,
uuid(c74a3adc-b727-4500-a84a-b526721c8b8c),
dual,
pointer_default(unique)
]
interface ISpeechObjectToken : IDispatch
{
[propget, id(DISPID_SOTId)]
HRESULT Id([out,retval] BSTR *object);
[propget, id(DISPID_SOTDataKey), hidden]
HRESULT DataKey([out,retval] ISpeechDataKey **key);
[propget, id(DISPID_SOTCategory)]
HRESULT Category([out,retval] ISpeechObjectTokenCategory **category);
[id(DISPID_SOTGetDescription)]
HRESULT GetDescription( [in,defaultvalue(0)] long locale, [out,retval]BSTR *description);
[hidden, id(DISPID_SOTSetId)]
HRESULT SetId([in] BSTR id, [in, defaultvalue("")] BSTR category, [in, defaultvalue(0)] VARIANT_BOOL create);
[id(DISPID_SOTGetAttribute)]
HRESULT GetAttribute([in] BSTR name, [out, retval] BSTR* value);
[id(DISPID_SOTCreateInstance)]
HRESULT CreateInstance([in, defaultvalue(NULL)] IUnknown *outer, [in, defaultvalue(STCAll)] SpeechTokenContext spcontext,
[out, retval] IUnknown **object);
[hidden, id(DISPID_SOTRemove)]
HRESULT Remove([in] BSTR clsid);
[hidden, id(DISPID_SOTGetStorageFileName)]
HRESULT GetStorageFileName([in] BSTR clsid, [in] BSTR key, [in] BSTR name, [in] SpeechTokenShellFolder folder,
[out,retval] BSTR* path);
[hidden, id(DISPID_SOTRemoveStorageFileName)]
HRESULT RemoveStorageFileName([in] BSTR clsid, [in]BSTR key, [in] VARIANT_BOOL delete);
[hidden, id(DISPID_SOTIsUISupported)]
HRESULT IsUISupported( [in]const BSTR type, [in, defaultvalue(NULL)] const VARIANT *data,
[in, defaultvalue(NULL)] IUnknown *object,
[out,retval] VARIANT_BOOL *supported);
[hidden, id(DISPID_SOTDisplayUI)]
HRESULT DisplayUI([in] long hwnd, [in] BSTR title, [in]const BSTR type,
[in, defaultvalue(NULL)] const VARIANT *data,
[in, defaultvalue(NULL)] IUnknown *object);
[id(DISPID_SOTMatchesAttributes)]
HRESULT MatchesAttributes([in] BSTR attributes, [out,retval] VARIANT_BOOL *matches);
}
typedef [hidden] enum DISPID_SpeechObjectTokens
{
DISPID_SOTsCount = 1,
DISPID_SOTsItem = DISPID_VALUE,
DISPID_SOTs_NewEnum = DISPID_NEWENUM
} DISPID_SpeechObjectTokens;
[
object,
uuid(9285b776-2e7b-4bc0-b53e-580eb6fa967f),
dual,
pointer_default(unique)
]
interface ISpeechObjectTokens : IDispatch
{
[propget, id(DISPID_SOTsCount)]
HRESULT Count([out, retval] long* count);
[id(DISPID_VALUE)]
HRESULT Item([in] long index, [out, retval] ISpeechObjectToken **token);
[propget, restricted, id(DISPID_NEWENUM)]
HRESULT _NewEnum([out, retval] IUnknown **ppenum);
}
typedef [hidden] enum DISPID_SpeechWaveFormatEx
{
DISPID_SWFEFormatTag = 1,
DISPID_SWFEChannels,
DISPID_SWFESamplesPerSec,
DISPID_SWFEAvgBytesPerSec,
DISPID_SWFEBlockAlign,
DISPID_SWFEBitsPerSample,
DISPID_SWFEExtraData
} DISPID_SpeechWaveFormatEx;
[
object,
uuid(7a1ef0d5-1581-4741-88e4-209a49f11a10),
dual,
pointer_default(unique)
]
interface ISpeechWaveFormatEx : IDispatch
{
[propget, id(DISPID_SWFEFormatTag)]
HRESULT FormatTag([out,retval] short *tag);
[propput, id(DISPID_SWFEFormatTag)]
HRESULT FormatTag([in] short tag);
[propget, id(DISPID_SWFEChannels)]
HRESULT Channels([out,retval] short *channels);
[propput, id(DISPID_SWFEChannels)]
HRESULT Channels([in] short channels);
[propget, id(DISPID_SWFESamplesPerSec)]
HRESULT SamplesPerSec([out,retval] long * samples);
[propput, id(DISPID_SWFESamplesPerSec)]
HRESULT SamplesPerSec([in] long samples);
[propget, id(DISPID_SWFEAvgBytesPerSec)]
HRESULT AvgBytesPerSec([out,retval] long *average);
[propput, id(DISPID_SWFEAvgBytesPerSec)]
HRESULT AvgBytesPerSec([in] long average);
[propget, id(DISPID_SWFEBlockAlign)]
HRESULT BlockAlign([out,retval] short *alignment);
[propput, id(DISPID_SWFEBlockAlign)]
HRESULT BlockAlign([in] short alignment);
[propget, id(DISPID_SWFEBitsPerSample)]
HRESULT BitsPerSample([out,retval] short *bits);
[propput, id(DISPID_SWFEBitsPerSample)]
HRESULT BitsPerSample([in] short bits);
[propget, id(DISPID_SWFEExtraData)]
HRESULT ExtraData([out,retval] VARIANT *data);
[propput, id(DISPID_SWFEExtraData)]
HRESULT ExtraData([in] VARIANT data);
}
typedef enum SpeechAudioFormatType
{
SAFTDefault = -1,
SAFTNoAssignedFormat = 0,
SAFTText,
SAFTNonStandardFormat,
SAFTExtendedAudioFormat,
SAFT8kHz8BitMono,
SAFT8kHz8BitStereo,
SAFT8kHz16BitMono,
SAFT8kHz16BitStereo,
SAFT11kHz8BitMono,
SAFT11kHz8BitStereo,
SAFT11kHz16BitMono,
SAFT11kHz16BitStereo,
SAFT12kHz8BitMono,
SAFT12kHz8BitStereo,
SAFT12kHz16BitMono,
SAFT12kHz16BitStereo,
SAFT16kHz8BitMono,
SAFT16kHz8BitStereo,
SAFT16kHz16BitMono,
SAFT16kHz16BitStereo,
SAFT22kHz8BitMono,
SAFT22kHz8BitStereo,
SAFT22kHz16BitMono,
SAFT22kHz16BitStereo,
SAFT24kHz8BitMono,
SAFT24kHz8BitStereo,
SAFT24kHz16BitMono,
SAFT24kHz16BitStereo,
SAFT32kHz8BitMono,
SAFT32kHz8BitStereo,
SAFT32kHz16BitMono,
SAFT32kHz16BitStereo,
SAFT44kHz8BitMono,
SAFT44kHz8BitStereo,
SAFT44kHz16BitMono,
SAFT44kHz16BitStereo,
SAFT48kHz8BitMono,
SAFT48kHz8BitStereo,
SAFT48kHz16BitMono,
SAFT48kHz16BitStereo,
SAFTTrueSpeech_8kHz1BitMono,
SAFTCCITT_ALaw_8kHzMono,
SAFTCCITT_ALaw_8kHzStereo,
SAFTCCITT_ALaw_11kHzMono,
SAFTCCITT_ALaw_11kHzStereo,
SAFTCCITT_ALaw_22kHzMono,
SAFTCCITT_ALaw_22kHzStereo,
SAFTCCITT_ALaw_44kHzMono,
SAFTCCITT_ALaw_44kHzStereo,
SAFTCCITT_uLaw_8kHzMono,
SAFTCCITT_uLaw_8kHzStereo,
SAFTCCITT_uLaw_11kHzMono,
SAFTCCITT_uLaw_11kHzStereo,
SAFTCCITT_uLaw_22kHzMono,
SAFTCCITT_uLaw_22kHzStereo,
SAFTCCITT_uLaw_44kHzMono,
SAFTCCITT_uLaw_44kHzStereo,
SAFTADPCM_8kHzMono,
SAFTADPCM_8kHzStereo,
SAFTADPCM_11kHzMono,
SAFTADPCM_11kHzStereo,
SAFTADPCM_22kHzMono,
SAFTADPCM_22kHzStereo,
SAFTADPCM_44kHzMono,
SAFTADPCM_44kHzStereo,
SAFTGSM610_8kHzMono,
SAFTGSM610_11kHzMono,
SAFTGSM610_22kHzMono,
SAFTGSM610_44kHzMono,
} SpeechAudioFormatType;
typedef [hidden] enum DISPID_SpeechAudioFormat
{
DISPID_SAFType = 1,
DISPID_SAFGuid,
DISPID_SAFGetWaveFormatEx,
DISPID_SAFSetWaveFormatEx
} DISPID_SpeechAudioFormat;
[
object,
uuid(e6e9c590-3e18-40e3-8299-061f98bde7c7),
dual,
pointer_default(unique)
]
interface ISpeechAudioFormat : IDispatch
{
[propget, id(DISPID_SAFType)]
HRESULT Type([out,retval] SpeechAudioFormatType *format);
[propput, id(DISPID_SAFType)]
HRESULT Type([in] SpeechAudioFormatType format);
[propget, hidden, id(DISPID_SAFGuid)]
HRESULT Guid([out,retval] BSTR *guid);
[propput, hidden, id(DISPID_SAFGuid)]
HRESULT Guid([in] BSTR guid);
[hidden, id(DISPID_SAFGetWaveFormatEx)]
HRESULT GetWaveFormatEx([out,retval] ISpeechWaveFormatEx **speechwave);
[hidden, id(DISPID_SAFSetWaveFormatEx)]
HRESULT SetWaveFormatEx([in] ISpeechWaveFormatEx *speechwave);
}
typedef enum SpeechStreamSeekPositionType
{
SSSPTRelativeToStart = STREAM_SEEK_SET,
SSSPTRelativeToCurrentPosition = STREAM_SEEK_CUR,
SSSPTRelativeToEnd = STREAM_SEEK_END
} SpeechStreamSeekPositionType;
typedef [hidden] enum DISPID_SpeechBaseStream
{
DISPID_SBSFormat = 1,
DISPID_SBSRead,
DISPID_SBSWrite,
DISPID_SBSSeek
} DISPID_SpeechBaseStream;
[
object,
uuid(6450336f-7d49-4ced-8097-49d6dee37294),
dual,
pointer_default(unique)
]
interface ISpeechBaseStream : IDispatch
{
[propget, id(DISPID_SBSFormat)]
HRESULT Format([out,retval] ISpeechAudioFormat **format);
[propputref, id(DISPID_SBSFormat)]
HRESULT Format([in] ISpeechAudioFormat *format);
[id(DISPID_SBSRead)]
HRESULT Read([out] VARIANT *buffer, [in] long written, [out,retval] long *read);
[id(DISPID_SBSWrite)]
HRESULT Write([in] VARIANT buffer, [out,retval] long *written);
[id(DISPID_SBSSeek)]
HRESULT Seek([in] VARIANT position, [in, defaultvalue(SSSPTRelativeToStart)] SpeechStreamSeekPositionType origin,
[out,retval] VARIANT *pos);
}
typedef [hidden] enum DISPID_SpeechAudioStatus
{
DISPID_SASFreeBufferSpace = 1,
DISPID_SASNonBlockingIO,
DISPID_SASState,
DISPID_SASCurrentSeekPosition,
DISPID_SASCurrentDevicePosition
} DISPID_SpeechAudioStatus;
[
object,
uuid(c62d9c91-7458-47f6-862d-1ef86fb0b278),
dual,
pointer_default(unique)
]
interface ISpeechAudioStatus : IDispatch
{
[propget, id(DISPID_SASFreeBufferSpace)]
HRESULT FreeBufferSpace([out,retval] long *space);
[propget, id(DISPID_SASNonBlockingIO)]
HRESULT NonBlockingIO([out,retval] long *nonblocking);
[propget, id(DISPID_SASState)]
HRESULT State([out, retval] SpeechAudioState *state);
[propget, id(DISPID_SASCurrentSeekPosition)]
HRESULT CurrentSeekPosition([out,retval] VARIANT *position);
[propget, id(DISPID_SASCurrentDevicePosition)]
HRESULT CurrentDevicePosition([out,retval] VARIANT *position);
}
typedef [hidden] enum DISPID_SpeechRecognizerStatus
{
DISPID_SRSAudioStatus = 1,
DISPID_SRSCurrentStreamPosition,
DISPID_SRSCurrentStreamNumber,
DISPID_SRSNumberOfActiveRules,
DISPID_SRSClsidEngine,
DISPID_SRSSupportedLanguages
} DISPID_SpeechRecognizerStatus;
[
object,
uuid(bff9e781-53ec-484e-bb8a-0e1b5551e35c),
dual,
pointer_default(unique)
]
interface ISpeechRecognizerStatus : IDispatch
{
[propget, id(DISPID_SRSAudioStatus)]
HRESULT AudioStatus([out,retval] ISpeechAudioStatus **audio);
[propget, id(DISPID_SRSCurrentStreamPosition)]
HRESULT CurrentStreamPosition([out,retval] VARIANT *pos);
[propget, id(DISPID_SRSCurrentStreamNumber)]
HRESULT CurrentStreamNumber([out,retval] long *number);
[propget, id(DISPID_SRSNumberOfActiveRules)]
HRESULT NumberOfActiveRules([out,retval] long *rules);
[propget, id(DISPID_SRSClsidEngine)]
HRESULT ClsidEngine([out,retval] BSTR *clsid);
[propget, id(DISPID_SRSSupportedLanguages)]
HRESULT SupportedLanguages([out,retval] VARIANT *languages);
}
typedef [hidden] enum DISPID_SpeechVoiceStatus
{
DISPID_SVSCurrentStreamNumber = 1,
DISPID_SVSLastStreamNumberQueued,
DISPID_SVSLastResult,
DISPID_SVSRunningState,
DISPID_SVSInputWordPosition,
DISPID_SVSInputWordLength,
DISPID_SVSInputSentencePosition,
DISPID_SVSInputSentenceLength,
DISPID_SVSLastBookmark,
DISPID_SVSLastBookmarkId,
DISPID_SVSPhonemeId,
DISPID_SVSVisemeId
} DISPID_SpeechVoiceStatus;
[
object,
uuid(8be47b07-57f6-11d2-9eee-00c04f797396),
dual,
pointer_default(unique)
]
interface ISpeechVoiceStatus : IDispatch
{
[propget, id(DISPID_SVSCurrentStreamNumber)]
HRESULT CurrentStreamNumber([out, retval] long *number);
[propget, id(DISPID_SVSLastStreamNumberQueued)]
HRESULT LastStreamNumberQueued([out, retval] long *number);
[propget, id(DISPID_SVSLastResult)]
HRESULT LastHResult([out, retval]long *result);
[propget, id(DISPID_SVSRunningState)]
HRESULT RunningState([out, retval] SpeechRunState *state);
[propget, id(DISPID_SVSInputWordPosition)]
HRESULT InputWordPosition([out, retval] long *position);
[propget, id(DISPID_SVSInputWordLength)]
HRESULT InputWordLength([out, retval] long *length);
[propget, id(DISPID_SVSInputSentencePosition)]
HRESULT InputSentencePosition([out, retval] long *position);
[propget, id(DISPID_SVSInputSentenceLength)]
HRESULT InputSentenceLength([out, retval] long *length);
[propget, id(DISPID_SVSLastBookmark)]
HRESULT LastBookmark([out, retval] BSTR *bookmark);
[propget, id(DISPID_SVSLastBookmarkId), hidden]
HRESULT LastBookmarkId([out, retval] long *bookmark);
[propget, id(DISPID_SVSPhonemeId)]
HRESULT PhonemeId([out, retval] short *phone);
[propget, id(DISPID_SVSVisemeId)]
HRESULT VisemeId([out, retval] short *id);
}
typedef [hidden] enum DISPID_SpeechVoice
{
DISPID_SVStatus = 1,
DISPID_SVVoice,
DISPID_SVAudioOutput,
DISPID_SVAudioOutputStream,
DISPID_SVRate,
DISPID_SVVolume,
DISPID_SVAllowAudioOuputFormatChangesOnNextSet,
DISPID_SVEventInterests,
DISPID_SVPriority,
DISPID_SVAlertBoundary,
DISPID_SVSyncronousSpeakTimeout,
DISPID_SVSpeak,
DISPID_SVSpeakStream,
DISPID_SVPause,
DISPID_SVResume,
DISPID_SVSkip,
DISPID_SVGetVoices,
DISPID_SVGetAudioOutputs,
DISPID_SVWaitUntilDone,
DISPID_SVSpeakCompleteEvent,
DISPID_SVIsUISupported,
DISPID_SVDisplayUI
} DISPID_SpeechVoice;
[
object,
uuid(269316d8-57bd-11d2-9eee-00c04f797396),
dual,
pointer_default(unique)
]
interface ISpeechVoice : IDispatch
{
[propget, id(DISPID_SVStatus)]
HRESULT Status([out, retval] ISpeechVoiceStatus **Status);
[propget, id(DISPID_SVVoice)]
HRESULT Voice([out, retval] ISpeechObjectToken **voice);
[propputref, id(DISPID_SVVoice)]
HRESULT Voice([in] ISpeechObjectToken *voice);
[propget, id(DISPID_SVAudioOutput)]
HRESULT AudioOutput([out, retval] ISpeechObjectToken **output);
[propputref, id(DISPID_SVAudioOutput)]
HRESULT AudioOutput([in] ISpeechObjectToken *output);
[propget, id(DISPID_SVAudioOutputStream)]
HRESULT AudioOutputStream([out, retval] ISpeechBaseStream **output);
[propputref, id(DISPID_SVAudioOutputStream)]
HRESULT AudioOutputStream([in] ISpeechBaseStream *output);
[propget, id(DISPID_SVRate)]
HRESULT Rate([out, retval] long *rate);
[propput, id(DISPID_SVRate)]
HRESULT Rate([in] long rate);
[propget, id(DISPID_SVVolume)]
HRESULT Volume([out, retval] long *volume);
[propput, id(DISPID_SVVolume)]
HRESULT Volume([in] long volume);
[propput, hidden, id(DISPID_SVAllowAudioOuputFormatChangesOnNextSet)]
HRESULT AllowAudioOutputFormatChangesOnNextSet([in] VARIANT_BOOL allow);
[propget, hidden, id(DISPID_SVAllowAudioOuputFormatChangesOnNextSet)]
HRESULT AllowAudioOutputFormatChangesOnNextSet([out,retval] VARIANT_BOOL *allow);
[propget, id(DISPID_SVEventInterests)]
HRESULT EventInterests([out,retval] SpeechVoiceEvents *flags);
[propput, id(DISPID_SVEventInterests)]
HRESULT EventInterests([in] SpeechVoiceEvents flags);
[propput, id(DISPID_SVPriority)]
HRESULT Priority([in] SpeechVoicePriority vpriority);
[propget, id(DISPID_SVPriority)]
HRESULT Priority([out,retval] SpeechVoicePriority *vpriority);
[propput, id(DISPID_SVAlertBoundary)]
HRESULT AlertBoundary([in] SpeechVoiceEvents boundary);
[propget, id(DISPID_SVAlertBoundary)]
HRESULT AlertBoundary([out,retval] SpeechVoiceEvents *boundary);
[propput, id(DISPID_SVSyncronousSpeakTimeout)]
HRESULT SynchronousSpeakTimeout([in] long timeout);
[propget, id(DISPID_SVSyncronousSpeakTimeout)]
HRESULT SynchronousSpeakTimeout([out,retval] long *timeout);
[id(DISPID_SVSpeak)]
HRESULT Speak([in] BSTR text, [in, defaultvalue(SPF_DEFAULT)] SpeechVoiceSpeakFlags flags,
[out, retval] long *number);
[id(DISPID_SVSpeakStream)]
HRESULT SpeakStream([in] ISpeechBaseStream *stream, [in, defaultvalue(SPF_DEFAULT)] SpeechVoiceSpeakFlags flags,
[out, retval] long *number);
[id(DISPID_SVPause)]
HRESULT Pause(void);
[id(DISPID_SVResume)]
HRESULT Resume(void);
[id(DISPID_SVSkip)]
HRESULT Skip([in] const BSTR type, [in] long items, [out,retval ]long *skipped);
[id(DISPID_SVGetVoices)]
HRESULT GetVoices([in, defaultvalue("")] BSTR required, [in, defaultvalue("")] BSTR optional,
[out,retval] ISpeechObjectTokens **tokens);
[id(DISPID_SVGetAudioOutputs)]
HRESULT GetAudioOutputs([in, defaultvalue("")] BSTR required, [in, defaultvalue("")] BSTR optional,
[out,retval] ISpeechObjectTokens **tokens);
[id(DISPID_SVWaitUntilDone)]
HRESULT WaitUntilDone([in] long msTimeout, [out,retval] VARIANT_BOOL *done);
[hidden, id(DISPID_SVSpeakCompleteEvent)]
HRESULT SpeakCompleteEvent([out,retval] long *handle);
[id(DISPID_SVIsUISupported)]
HRESULT IsUISupported( [in] const BSTR typeui, [in, defaultvalue(NULL)] const VARIANT *data,
[out,retval] VARIANT_BOOL *supported);
[id(DISPID_SVDisplayUI)]
HRESULT DisplayUI([in] long hwnd, [in] BSTR title, [in] const BSTR typeui, [in, defaultvalue(NULL)] const VARIANT *data);
}
typedef [hidden] enum DISPID_SpeechRecoResultTimes
{
DISPID_SRRTStreamTime = 1,
DISPID_SRRTLength,
DISPID_SRRTTickCount,
DISPID_SRRTOffsetFromStart
} DISPID_SpeechRecoResultTimes;
[
object,
uuid(62b3b8fb-f6e7-41be-bdcb-056b1c29efc0),
dual,
pointer_default(unique)
]
interface ISpeechRecoResultTimes : IDispatch
{
[propget, id(DISPID_SRRTStreamTime)]
HRESULT StreamTime([out,retval] VARIANT *streamtime);
[propget, id(DISPID_SRRTLength)]
HRESULT Length([out,retval] VARIANT *length);
[propget, id(DISPID_SRRTTickCount)]
HRESULT TickCount([out,retval] long *count);
[propget, id(DISPID_SRRTOffsetFromStart)]
HRESULT OffsetFromStart([out,retval] VARIANT *offset);
}
typedef [hidden] enum DISPID_SpeechPhraseRules
{
DISPID_SPRulesCount = 1,
DISPID_SPRulesItem = DISPID_VALUE,
DISPID_SPRules_NewEnum = DISPID_NEWENUM
} DISPID_SpeechPhraseRules;
[
object,
uuid(9047d593-01dd-4b72-81a3-e4a0ca69f407),
dual,
pointer_default(unique)
]
interface ISpeechPhraseRules : IDispatch
{
[propget, id(DISPID_SPRulesCount)]
HRESULT Count([out, retval] long *count);
[id(DISPID_SPRulesItem)]
HRESULT Item([in] long index, [out, retval] ISpeechPhraseRule **rule);
[propget, restricted, id(DISPID_SPRules_NewEnum)]
HRESULT _NewEnum([out, retval] IUnknown **obj);
}
typedef [hidden] enum DISPID_SpeechPhraseRule
{
DISPID_SPRuleName = 1,
DISPID_SPRuleId,
DISPID_SPRuleFirstElement,
DISPID_SPRuleNumberOfElements,
DISPID_SPRuleParent,
DISPID_SPRuleChildren,
DISPID_SPRuleConfidence,
DISPID_SPRuleEngineConfidence
} DISPID_SpeechPhraseRule;
[
object,
uuid(a7bfe112-a4a0-48d9-b602-c313843f6964),
dual,
pointer_default(unique)
]
interface ISpeechPhraseRule : IDispatch
{
[propget, id(DISPID_SPRuleName)]
HRESULT Name([out, retval]BSTR *name);
[propget, id(DISPID_SPRuleId)]
HRESULT Id( [out, retval] long *id);
[propget, id(DISPID_SPRuleFirstElement)]
HRESULT FirstElement([out, retval] long *element);
[propget, id(DISPID_SPRuleNumberOfElements)]
HRESULT NumberOfElements([out, retval] long *count);
[propget, id(DISPID_SPRuleParent)]
HRESULT Parent([out, retval] ISpeechPhraseRule **parent);
[propget, id(DISPID_SPRuleChildren)]
HRESULT Children([out, retval] ISpeechPhraseRules **children);
[propget, id(DISPID_SPRuleConfidence)]
HRESULT Confidence([out, retval] SpeechEngineConfidence *confidence);
[propget, id(DISPID_SPRuleEngineConfidence)]
HRESULT EngineConfidence([out, retval] float *confidence);
}
typedef [hidden] enum DISPID_SpeechPhraseProperty
{
DISPID_SPPName = 1,
DISPID_SPPId,
DISPID_SPPValue,
DISPID_SPPFirstElement,
DISPID_SPPNumberOfElements,
DISPID_SPPEngineConfidence,
DISPID_SPPConfidence,
DISPID_SPPParent,
DISPID_SPPChildren
} DISPID_SpeechPhraseProperty;
[
object,
uuid(CE563D48-961E-4732-A2E1-378A42B430BE),
dual,
pointer_default(unique)
]
interface ISpeechPhraseProperty : IDispatch
{
[propget, id(DISPID_SPPName)]
HRESULT Name([out, retval] BSTR *name);
[propget, id(DISPID_SPPId)]
HRESULT Id([out, retval] long *id);
[propget, id(DISPID_SPPValue)]
HRESULT Value([out, retval] VARIANT *value);
[propget, id(DISPID_SPPFirstElement)]
HRESULT FirstElement( [out, retval] long *element);
[propget, id(DISPID_SPPNumberOfElements)]
HRESULT NumberOfElements([out, retval] long *elements);
[propget, id(DISPID_SPPEngineConfidence)]
HRESULT EngineConfidence([out, retval] float *confidence);
[propget, id(DISPID_SPPConfidence)]
HRESULT Confidence([out, retval] SpeechEngineConfidence *Confidence);
[propget, id(DISPID_SPPParent)]
HRESULT Parent([out, retval] ISpeechPhraseProperty **parent);
[propget, id(DISPID_SPPChildren)]
HRESULT Children( [out, retval] ISpeechPhraseProperties **children);
}
typedef [hidden] enum DISPID_SpeechPhraseProperties
{
DISPID_SPPsCount = 1,
DISPID_SPPsItem = DISPID_VALUE,
DISPID_SPPs_NewEnum = DISPID_NEWENUM
} DISPID_SpeechPhraseProperties;
[
object,
uuid(08166b47-102e-4b23-a599-bdb98dbfd1f4),
dual,
pointer_default(unique)
]
interface ISpeechPhraseProperties : IDispatch
{
[propget, id(DISPID_SPPsCount)]
HRESULT Count([out, retval] long *count);
[id(DISPID_SPPsItem)]
HRESULT Item([in] long index, [out, retval] ISpeechPhraseProperty **obj);
[propget, restricted, id(DISPID_SPPs_NewEnum)]
HRESULT _NewEnum([out, retval] IUnknown **obj);
}
typedef [hidden] enum DISPID_SpeechPhraseElement
{
DISPID_SPEAudioTimeOffset = 1,
DISPID_SPEAudioSizeTime,
DISPID_SPEAudioStreamOffset,
DISPID_SPEAudioSizeBytes,
DISPID_SPERetainedStreamOffset,
DISPID_SPERetainedSizeBytes,
DISPID_SPEDisplayText,
DISPID_SPELexicalForm,
DISPID_SPEPronunciation,
DISPID_SPEDisplayAttributes,
DISPID_SPERequiredConfidence,
DISPID_SPEActualConfidence,
DISPID_SPEEngineConfidence
} DISPID_SpeechPhraseElement;
[
object,
uuid(e6176f96-e373-4801-b223-3b62c068c0b4),
dual,
pointer_default(unique)
]
interface ISpeechPhraseElement : IDispatch
{
[propget, id(DISPID_SPEAudioTimeOffset)]
HRESULT AudioTimeOffset( [out, retval] long *offset);
[propget, id(DISPID_SPEAudioSizeTime)]
HRESULT AudioSizeTime([out, retval] long *audiotime);
[propget, id(DISPID_SPEAudioStreamOffset)]
HRESULT AudioStreamOffset([out, retval] long *offset);
[propget, id(DISPID_SPEAudioSizeBytes)]
HRESULT AudioSizeBytes([out, retval]long *bytes);
[propget, id(DISPID_SPERetainedStreamOffset)]
HRESULT RetainedStreamOffset([out, retval] long *offset);
[propget, id(DISPID_SPERetainedSizeBytes)]
HRESULT RetainedSizeBytes([out, retval] long *retained);
[propget, id(DISPID_SPEDisplayText)]
HRESULT DisplayText([out, retval] BSTR *display);
[propget, id(DISPID_SPELexicalForm)]
HRESULT LexicalForm( [out, retval] BSTR *lexical);
[propget, id(DISPID_SPEPronunciation)]
HRESULT Pronunciation([out, retval] VARIANT *pronunciation);
[propget, id(DISPID_SPEDisplayAttributes)]
HRESULT DisplayAttributes([out, retval] SpeechDisplayAttributes *attributes);
[propget, id(DISPID_SPERequiredConfidence)]
HRESULT RequiredConfidence([out, retval] SpeechEngineConfidence *confidence);
[propget, id(DISPID_SPEActualConfidence)]
HRESULT ActualConfidence([out, retval] SpeechEngineConfidence *confidence);
[propget, id(DISPID_SPEEngineConfidence)]
HRESULT EngineConfidence([out, retval] float *confidence);
}
typedef [hidden] enum DISPID_SpeechPhraseElements
{
DISPID_SPEsCount = 1,
DISPID_SPEsItem = DISPID_VALUE,
DISPID_SPEs_NewEnum = DISPID_NEWENUM
} DISPID_SpeechPhraseElements;
[
object,
uuid(0626b328-3478-467d-a0b3-d0853b93dda3),
dual,
pointer_default(unique)
]
interface ISpeechPhraseElements : IDispatch
{
[propget, id(DISPID_SPEsCount)]
HRESULT Count([out, retval] long *count);
[id(DISPID_SPEsItem)]
HRESULT Item([in] long Index, [out, retval] ISpeechPhraseElement **element);
[propget, restricted, id(DISPID_SPEs_NewEnum)]
HRESULT _NewEnum([out, retval] IUnknown **obj);
}
typedef [hidden] enum DISPID_SpeechPhraseReplacement
{
DISPID_SPRDisplayAttributes = 1,
DISPID_SPRText,
DISPID_SPRFirstElement,
DISPID_SPRNumberOfElements
} DISPID_SpeechPhraseReplacement;
[
object,
uuid(2890a410-53a7-4fb5-94ec-06d4998e3d02),
dual,
pointer_default(unique)
]
interface ISpeechPhraseReplacement : IDispatch
{
[propget, id(DISPID_SPRDisplayAttributes)]
HRESULT DisplayAttributes([out,retval] SpeechDisplayAttributes *attributes);
[propget, id(DISPID_SPRText)]
HRESULT Text([out, retval] BSTR *text);
[propget, id(DISPID_SPRFirstElement)]
HRESULT FirstElement([out, retval] long *element);
[propget, id(DISPID_SPRNumberOfElements)]
HRESULT NumberOfElements([out, retval] long *elements);
}
typedef [hidden] enum DISPID_SpeechPhraseReplacements
{
DISPID_SPRsCount = 1,
DISPID_SPRsItem = DISPID_VALUE,
DISPID_SPRs_NewEnum = DISPID_NEWENUM
} DISPID_SpeechPhraseReplacements;
[
object,
uuid(38bc662f-2257-4525-959e-2069d2596c05),
dual,
pointer_default(unique)
]
interface ISpeechPhraseReplacements : IDispatch
{
[propget, id(DISPID_SPRsCount)]
HRESULT Count([out, retval] long *count);
[id(DISPID_SPRsItem)]
HRESULT Item([in] long index, [out, retval] ISpeechPhraseReplacement **reps);
[propget, restricted, id(DISPID_SPRs_NewEnum)]
HRESULT _NewEnum([out, retval] IUnknown **obj);
}
typedef [hidden] enum DISPID_SpeechPhraseInfo
{
DISPID_SPILanguageId = 1,
DISPID_SPIGrammarId,
DISPID_SPIStartTime,
DISPID_SPIAudioStreamPosition,
DISPID_SPIAudioSizeBytes,
DISPID_SPIRetainedSizeBytes,
DISPID_SPIAudioSizeTime,
DISPID_SPIRule,
DISPID_SPIProperties,
DISPID_SPIElements,
DISPID_SPIReplacements,
DISPID_SPIEngineId,
DISPID_SPIEnginePrivateData,
DISPID_SPISaveToMemory,
DISPID_SPIGetText,
DISPID_SPIGetDisplayAttributes
} DISPID_SpeechPhraseInfo;
[
object,
uuid(961559cf-4e67-4662-8bf0-d93f1fcd61b3),
dual,
pointer_default(unique)
]
interface ISpeechPhraseInfo : IDispatch
{
[propget, id(DISPID_SPILanguageId)]
HRESULT LanguageId( [out, retval] long *language);
[propget, id(DISPID_SPIGrammarId)]
HRESULT GrammarId([out, retval] VARIANT *grammar);
[propget, id(DISPID_SPIStartTime)]
HRESULT StartTime([out, retval]VARIANT *start);
[propget, id(DISPID_SPIAudioStreamPosition)]
HRESULT AudioStreamPosition([out, retval] VARIANT *position);
[propget, id(DISPID_SPIAudioSizeBytes)]
HRESULT AudioSizeBytes([out, retval] long *bytes);
[propget, id(DISPID_SPIRetainedSizeBytes)]
HRESULT RetainedSizeBytes([out, retval] long *bytes);
[propget, id(DISPID_SPIAudioSizeTime)]
HRESULT AudioSizeTime([out, retval] long *audiotime);
[propget, id(DISPID_SPIRule)]
HRESULT Rule([out, retval] ISpeechPhraseRule **rule);
[propget, id(DISPID_SPIProperties)]
HRESULT Properties([out, retval] ISpeechPhraseProperties **props);
[propget, id(DISPID_SPIElements)]
HRESULT Elements([out, retval] ISpeechPhraseElements **elements);
[propget, id(DISPID_SPIReplacements)]
HRESULT Replacements([out, retval] ISpeechPhraseReplacements **replacements);
[propget, id(DISPID_SPIEngineId)]
HRESULT EngineId([out, retval] BSTR *engine);
[propget, id(DISPID_SPIEnginePrivateData)]
HRESULT EnginePrivateData([out, retval] VARIANT *data);
[id(DISPID_SPISaveToMemory)]
HRESULT SaveToMemory([out,retval] VARIANT *block);
[id(DISPID_SPIGetText)]
HRESULT GetText([in, defaultvalue(0)] long start,
[in, defaultvalue(SPPR_ALL_ELEMENTS)] long elements,
[in, defaultvalue(-1)] VARIANT_BOOL replacements, [out,retval] BSTR *text);
[id(DISPID_SPIGetDisplayAttributes)]
HRESULT GetDisplayAttributes([in, defaultvalue(0)] long start,
[in, defaultvalue(SPPR_ALL_ELEMENTS)] long elements,
[in, defaultvalue(-1)] VARIANT_BOOL replacements,
[out,retval] SpeechDisplayAttributes *attributes);
}
typedef [hidden] enum DISPID_SpeechPhraseAlternate
{
DISPID_SPARecoResult = 1,
DISPID_SPAStartElementInResult,
DISPID_SPANumberOfElementsInResult,
DISPID_SPAPhraseInfo,
DISPID_SPACommit
} DISPID_SpeechPhraseAlternate;
[
object,
uuid(27864a2a-2b9f-4cb8-92d3-0d2722fd1e73),
dual,
pointer_default(unique)
]
interface ISpeechPhraseAlternate : IDispatch
{
[propget, id(DISPID_SPARecoResult)]
HRESULT RecoResult( [out,retval] ISpeechRecoResult **result);
[propget, id(DISPID_SPAStartElementInResult)]
HRESULT StartElementInResult([out,retval] long *element);
[propget, id(DISPID_SPANumberOfElementsInResult)]
HRESULT NumberOfElementsInResult([out,retval] long *elements);
[propget, id(DISPID_SPAPhraseInfo)]
HRESULT PhraseInfo( [out,retval] ISpeechPhraseInfo **PhraseInfo);
[id(DISPID_SPACommit)]
HRESULT Commit(void);
}
typedef [hidden] enum DISPID_SpeechPhraseAlternates
{
DISPID_SPAsCount = 1,
DISPID_SPAsItem = DISPID_VALUE,
DISPID_SPAs_NewEnum = DISPID_NEWENUM
} DISPID_SpeechPhraseAlternates;
[
object,
uuid(b238b6d5-f276-4c3d-a6c1-2974801c3cc2),
dual,
pointer_default(unique)
]
interface ISpeechPhraseAlternates : IDispatch
{
[propget, id(DISPID_SPAsCount)]
HRESULT Count([out, retval] long *count);
[id(DISPID_SPAsItem)]
HRESULT Item([in] long index, [out, retval] ISpeechPhraseAlternate **alternate);
[propget, restricted, id(DISPID_SPAs_NewEnum)]
HRESULT _NewEnum([out, retval] IUnknown **obj);
}
typedef [hidden] enum DISPID_SpeechMemoryStream
{
DISPID_SMSSetData = 100,
DISPID_SMSGetData
} DISPID_SpeechMemoryStream;
[
object,
uuid(eeb14b68-808b-4abe-a5ea-b51da7588008),
dual,
pointer_default(unique)
]
interface ISpeechMemoryStream : ISpeechBaseStream
{
[id(DISPID_SMSSetData)]
HRESULT SetData([in] VARIANT data);
[id(DISPID_SMSGetData)]
HRESULT GetData([out, retval] VARIANT *data);
}
typedef [hidden] enum DISPID_SpeechRecoResult
{
DISPID_SRRRecoContext = 1,
DISPID_SRRTimes,
DISPID_SRRAudioFormat,
DISPID_SRRPhraseInfo,
DISPID_SRRAlternates,
DISPID_SRRAudio,
DISPID_SRRSpeakAudio,
DISPID_SRRSaveToMemory,
DISPID_SRRDiscardResultInfo
} DISPID_SpeechRecoResult;
[
object,
uuid(ed2879cf-ced9-4ee6-a534-de0191d5468d),
dual,
pointer_default(unique)
]
interface ISpeechRecoResult : IDispatch
{
[propget, id(DISPID_SRRRecoContext)]
HRESULT RecoContext( [out,retval] ISpeechRecoContext** RecoContext );
[propget, id(DISPID_SRRTimes)]
HRESULT Times([out,retval] ISpeechRecoResultTimes **times);
[propputref, id(DISPID_SRRAudioFormat)]
HRESULT AudioFormat([in]ISpeechAudioFormat *format);
[propget, id(DISPID_SRRAudioFormat)]
HRESULT AudioFormat([out,retval] ISpeechAudioFormat **format);
[propget, id(DISPID_SRRPhraseInfo)]
HRESULT PhraseInfo([out,retval] ISpeechPhraseInfo **phrase);
[id(DISPID_SRRAlternates)]
HRESULT Alternates( [in] long count, [in, defaultvalue(0)] long start,
[in, defaultvalue(SPPR_ALL_ELEMENTS)] long elements,
[out,retval] ISpeechPhraseAlternates **alternates);
[id(DISPID_SRRAudio)]
HRESULT Audio([in, defaultvalue(0)] long start,
[in, defaultvalue(SPPR_ALL_ELEMENTS)] long elements,
[out,retval] ISpeechMemoryStream **stream);
[id(DISPID_SRRSpeakAudio)]
HRESULT SpeakAudio([in, defaultvalue(0)] long start,
[in, defaultvalue(SPPR_ALL_ELEMENTS)] long elements,
[in, defaultvalue(SPF_DEFAULT)] SpeechVoiceSpeakFlags flags,
[out,retval] long *stream);
[id(DISPID_SRRSaveToMemory)]
HRESULT SaveToMemory([out,retval] VARIANT *block);
[id(DISPID_SRRDiscardResultInfo)]
HRESULT DiscardResultInfo([in] SpeechDiscardType types);
}
typedef [hidden] enum DISPID_SpeechGrammarRule
{
DISPID_SGRAttributes = 1,
DISPID_SGRInitialState,
DISPID_SGRName,
DISPID_SGRId,
DISPID_SGRClear,
DISPID_SGRAddResource,
DISPID_SGRAddState
} DISPID_SpeechGrammarRule;
typedef [hidden] enum DISPID_SpeechGrammarRuleStateTransitions
{
DISPID_SGRSTsCount = 1,
DISPID_SGRSTsItem = DISPID_VALUE,
DISPID_SGRSTs_NewEnum = DISPID_NEWENUM
} DISPID_SpeechGrammarRuleStateTransitions;
typedef enum SpeechGrammarRuleStateTransitionType
{
SGRSTTEpsilon = 0,
SGRSTTWord,
SGRSTTRule,
SGRSTTDictation,
SGRSTTWildcard,
SGRSTTTextBuffer
} SpeechGrammarRuleStateTransitionType;
typedef [hidden] enum DISPID_SpeechGrammarRuleStateTransition
{
DISPID_SGRSTType = 1,
DISPID_SGRSTText,
DISPID_SGRSTRule,
DISPID_SGRSTWeight,
DISPID_SGRSTPropertyName,
DISPID_SGRSTPropertyId,
DISPID_SGRSTPropertyValue,
DISPID_SGRSTNextState
} DISPID_SpeechGrammarRuleStateTransition;
[
object,
uuid(cafd1db1-41d1-4a06-9863-e2e81da17a9a),
dual,
pointer_default(unique)
]
interface ISpeechGrammarRuleStateTransition : IDispatch
{
[propget, id(DISPID_SGRSTType)]
HRESULT Type([out, retval] SpeechGrammarRuleStateTransitionType *type);
[propget, id(DISPID_SGRSTText)]
HRESULT Text([out, retval] BSTR *text);
[propget, id(DISPID_SGRSTRule)]
HRESULT Rule([out, retval] ISpeechGrammarRule **rule);
[propget, id(DISPID_SGRSTWeight)]
HRESULT Weight([out, retval] VARIANT *weight);
[propget, id(DISPID_SGRSTPropertyName)]
HRESULT PropertyName([out, retval] BSTR *name);
[propget, id(DISPID_SGRSTPropertyId)]
HRESULT PropertyId([out, retval] long *id);
[propget, id(DISPID_SGRSTPropertyValue)]
HRESULT PropertyValue([out, retval] VARIANT *value);
[propget, id(DISPID_SGRSTNextState)]
HRESULT NextState([out, retval] ISpeechGrammarRuleState **state);
}
[
object,
uuid(EABCE657-75BC-44a2-AA7F-C56476742963),
dual,
pointer_default(unique)
]
interface ISpeechGrammarRuleStateTransitions : IDispatch
{
[propget, id(DISPID_SGRSTsCount)]
HRESULT Count([out, retval] long *count);
[id(DISPID_SGRSTsItem)]
HRESULT Item([in] long index, [out, retval] ISpeechGrammarRuleStateTransition **transition);
[propget, restricted, id(DISPID_SGRSTs_NewEnum)]
HRESULT _NewEnum([out, retval] IUnknown **enum_var);
}
typedef [hidden] enum DISPID_SpeechGrammarRuleState
{
DISPID_SGRSRule = 1,
DISPID_SGRSTransitions,
DISPID_SGRSAddWordTransition,
DISPID_SGRSAddRuleTransition,
DISPID_SGRSAddSpecialTransition
} DISPID_SpeechGrammarRuleState;
[
object,
uuid(d4286f2c-ee67-45ae-b928-28d695362eda),
dual,
pointer_default(unique)
]
interface ISpeechGrammarRuleState : IDispatch
{
[propget, id(DISPID_SGRSRule)]
HRESULT Rule([out, retval] ISpeechGrammarRule **rule);
[propget, id(DISPID_SGRSTransitions)]
HRESULT Transitions([out, retval] ISpeechGrammarRuleStateTransitions **transitions);
[id(DISPID_SGRSAddWordTransition)]
HRESULT AddWordTransition([in] ISpeechGrammarRuleState *state, [in] const BSTR Words,
[in, defaultvalue(" ")] const BSTR separators, [in, defaultvalue(SGLexical)] SpeechGrammarWordType type,
[in, defaultvalue("")] const BSTR name, [in, defaultvalue(0)] long id,
[in, defaultvalue(0)] VARIANT *value, [in, defaultvalue(1)] float weight);
[id(DISPID_SGRSAddRuleTransition)]
HRESULT AddRuleTransition([in] ISpeechGrammarRuleState *state, [in] ISpeechGrammarRule *rule,
[in, defaultvalue("")] const BSTR name, [in, defaultvalue(0)] long id,
[in, defaultvalue(0)] VARIANT *value, [in, defaultvalue(1)] float weight);
[id(DISPID_SGRSAddSpecialTransition)]
HRESULT AddSpecialTransition([in] ISpeechGrammarRuleState *state, [in] SpeechSpecialTransitionType type,
[in, defaultvalue("")] const BSTR name, [in, defaultvalue(0)] long id,
[in, defaultvalue(0)] VARIANT* value, [in, defaultvalue(1)] float weight);
}
[
object,
uuid(afe719cf-5dd1-44f2-999c-7a399f1cfccc),
dual,
pointer_default(unique)
]
interface ISpeechGrammarRule : IDispatch
{
[propget, id(DISPID_SGRAttributes)]
HRESULT Attributes([out, retval] SpeechRuleAttributes *attributes);
[propget, id(DISPID_SGRInitialState)]
HRESULT InitialState([out, retval] ISpeechGrammarRuleState **state);
[propget, id(DISPID_SGRName)]
HRESULT Name([out, retval] BSTR *name);
[propget, id(DISPID_SGRId)]
HRESULT Id([out, retval] long *id);
[id(DISPID_SGRClear)]
HRESULT Clear();
[id(DISPID_SGRAddResource)]
HRESULT AddResource([in] const BSTR name, [in] const BSTR value);
[id(DISPID_SGRAddState)]
HRESULT AddState([out, retval] ISpeechGrammarRuleState **state);
}
typedef [hidden] enum DISPIDSPTSI
{
DISPIDSPTSI_ActiveOffset = 1,
DISPIDSPTSI_ActiveLength,
DISPIDSPTSI_SelectionOffset,
DISPIDSPTSI_SelectionLength
} DISPIDSPTSI;
[
object,
uuid(3b9c7e7a-6eee-4ded-9092-11657279adbe),
dual,
pointer_default(unique)
]
interface ISpeechTextSelectionInformation : IDispatch
{
[propput, id(DISPIDSPTSI_ActiveOffset)]
HRESULT ActiveOffset([in] long offset);
[propget, id(DISPIDSPTSI_ActiveOffset)]
HRESULT ActiveOffset([out, retval] long *offset);
[propput, id(DISPIDSPTSI_ActiveLength)]
HRESULT ActiveLength([in] long length);
[propget, id(DISPIDSPTSI_ActiveLength)]
HRESULT ActiveLength([out, retval] long *length);
[propput, id(DISPIDSPTSI_SelectionOffset)]
HRESULT SelectionOffset([in] long offset);
[propget, id(DISPIDSPTSI_SelectionOffset)]
HRESULT SelectionOffset([out, retval] long *offset);
[propput, id(DISPIDSPTSI_SelectionLength)]
HRESULT SelectionLength([in] long length);
[propget, id(DISPIDSPTSI_SelectionLength)]
HRESULT SelectionLength([out, retval] long* length);
}
typedef [hidden] enum DISPID_SpeechGrammarRules
{
DISPID_SGRsCount = 1,
DISPID_SGRsDynamic,
DISPID_SGRsAdd,
DISPID_SGRsCommit,
DISPID_SGRsCommitAndSave,
DISPID_SGRsFindRule,
DISPID_SGRsItem = DISPID_VALUE,
DISPID_SGRs_NewEnum = DISPID_NEWENUM
} DISPID_SpeechGrammarRules;
[
object,
uuid(6ffa3b44-fc2d-40d1-8afc-32911c7f1ad1),
dual,
pointer_default(unique)
]
interface ISpeechGrammarRules : IDispatch
{
[propget, id(DISPID_SGRsCount)]
HRESULT Count([out, retval] long *count);
[id(DISPID_SGRsFindRule)]
HRESULT FindRule([in] VARIANT id, [out, retval] ISpeechGrammarRule **rule);
[id(DISPID_SGRsItem)]
HRESULT Item([in] long index, [out, retval] ISpeechGrammarRule **rule);
[id(DISPID_SGRs_NewEnum), propget, restricted]
HRESULT _NewEnum([out, retval] IUnknown **enum_var);
[propget, id(DISPID_SGRsDynamic)]
HRESULT Dynamic([out, retval] VARIANT_BOOL *dynamic);
[id(DISPID_SGRsAdd)]
HRESULT Add([in] BSTR name, [in] SpeechRuleAttributes attributes,
[in, defaultvalue(0)] long id, [out, retval] ISpeechGrammarRule **rule);
[id(DISPID_SGRsCommit)]
HRESULT Commit(void);
[id(DISPID_SGRsCommitAndSave)]
HRESULT CommitAndSave([out] BSTR *text, [out, retval] VARIANT *stream);
}
[
object,
uuid(b6d6f79f-2158-4e50-b5bc-9a9ccd852a09),
dual,
pointer_default(unique)
]
interface ISpeechRecoGrammar : IDispatch
{
[propget, id(DISPID_SRGId)]
HRESULT Id([out, retval] VARIANT *id);
[propget, id(DISPID_SRGRecoContext)]
HRESULT RecoContext([out, retval] ISpeechRecoContext **context);
[propput, id(DISPID_SRGState)]
HRESULT State([in] SpeechGrammarState state);
[propget, id(DISPID_SRGState)]
HRESULT State([out, retval] SpeechGrammarState *state);
[propget, id(DISPID_SRGRules)]
HRESULT Rules([out, retval] ISpeechGrammarRules **rules);
[id(DISPID_SRGReset)]
HRESULT Reset([in, defaultvalue(0)] SpeechLanguageId language);
[id(DISPID_SRGCmdLoadFromFile)]
HRESULT CmdLoadFromFile([in] const BSTR filename, [in, defaultvalue(SLOStatic)] SpeechLoadOption option);
[id(DISPID_SRGCmdLoadFromObject)]
HRESULT CmdLoadFromObject([in]const BSTR classid, [in] const BSTR grammarname, [in, defaultvalue(SLOStatic)] SpeechLoadOption option);
[id(DISPID_SRGCmdLoadFromResource)]
HRESULT CmdLoadFromResource([in]long mod, [in] VARIANT name, [in] VARIANT type, [in] SpeechLanguageId language,
[in, defaultvalue(SLOStatic)] SpeechLoadOption option);
[id(DISPID_SRGCmdLoadFromMemory)]
HRESULT CmdLoadFromMemory([in] VARIANT data, [in, defaultvalue(SLOStatic)] SpeechLoadOption option);
[id(DISPID_SRGCmdLoadFromProprietaryGrammar)]
HRESULT CmdLoadFromProprietaryGrammar([in] const BSTR guid, [in] const BSTR string, [in] VARIANT data,
[in, defaultvalue(SLOStatic)] SpeechLoadOption option);
[id(DISPID_SRGCmdSetRuleState)]
HRESULT CmdSetRuleState([in] const BSTR name, [in] SpeechRuleState state);
[id(DISPID_SRGCmdSetRuleIdState)]
HRESULT CmdSetRuleIdState([in] long rule, [in] SpeechRuleState State);
[id(DISPID_SRGDictationLoad)]
HRESULT DictationLoad([in, defaultvalue("")] const BSTR topic, [in, defaultvalue(SLOStatic)] SpeechLoadOption option);
[id(DISPID_SRGDictationUnload)]
HRESULT DictationUnload(void);
[id(DISPID_SRGDictationSetState)]
HRESULT DictationSetState([in] SpeechRuleState State);
[id(DISPID_SRGSetWordSequenceData)]
HRESULT SetWordSequenceData([in] const BSTR text, [in] long length, [in] ISpeechTextSelectionInformation *info);
[id(DISPID_SRGSetTextSelection)]
HRESULT SetTextSelection([in] ISpeechTextSelectionInformation *info);
[id(DISPID_SRGIsPronounceable)]
HRESULT IsPronounceable([in] const BSTR word, [out, retval] SpeechWordPronounceable *pronounceable);
}
[
object,
uuid(580aa49d-7e1e-4809-b8e2-57da806104b8),
dual,
pointer_default(unique)
]
interface ISpeechRecoContext : IDispatch
{
[propget, id(DISPID_SRCRecognizer)]
HRESULT Recognizer([out,retval] ISpeechRecognizer **recognizer);
[propget, id(DISPID_SRCAudioInInterferenceStatus)]
HRESULT AudioInputInterferenceStatus([out,retval] SpeechInterference *interference);
[propget, id(DISPID_SRCRequestedUIType)]
HRESULT RequestedUIType([out,retval] BSTR *type );
[propputref, id(DISPID_SRCVoice)]
HRESULT Voice([in] ISpeechVoice *voice);
[propget, id(DISPID_SRCVoice)]
HRESULT Voice([out,retval] ISpeechVoice **voice);
[propput, hidden, id(DISPID_SRAllowVoiceFormatMatchingOnNextSet)]
HRESULT AllowVoiceFormatMatchingOnNextSet([in] VARIANT_BOOL allow);
[propget, hidden, id(DISPID_SRAllowVoiceFormatMatchingOnNextSet)]
HRESULT AllowVoiceFormatMatchingOnNextSet([out,retval] VARIANT_BOOL *allow);
[propput, id(DISPID_SRCVoicePurgeEvent)]
HRESULT VoicePurgeEvent([in] SpeechRecoEvents interest);
[propget, id(DISPID_SRCVoicePurgeEvent)]
HRESULT VoicePurgeEvent([out,retval] SpeechRecoEvents *interest);
[propput, id(DISPID_SRCEventInterests)]
HRESULT EventInterests([in] SpeechRecoEvents interest);
[propget, id(DISPID_SRCEventInterests)]
HRESULT EventInterests([out,retval] SpeechRecoEvents *interest);
[propput, id(DISPID_SRCCmdMaxAlternates)]
HRESULT CmdMaxAlternates([in] long alternates);
[propget, id(DISPID_SRCCmdMaxAlternates)]
HRESULT CmdMaxAlternates([out,retval] long *alternates);
[propput, id(DISPID_SRCState)]
HRESULT State([in] SpeechRecoContextState state);
[propget, id(DISPID_SRCState)]
HRESULT State([out,retval] SpeechRecoContextState *state);
[propput, id(DISPID_SRCRetainedAudio)]
HRESULT RetainedAudio([in] SpeechRetainedAudioOptions option);
[propget, id(DISPID_SRCRetainedAudio)]
HRESULT RetainedAudio([out,retval] SpeechRetainedAudioOptions *option);
[propputref, id(DISPID_SRCRetainedAudioFormat)]
HRESULT RetainedAudioFormat([in] ISpeechAudioFormat *format);
[propget, id(DISPID_SRCRetainedAudioFormat)]
HRESULT RetainedAudioFormat([out,retval] ISpeechAudioFormat **format);
[id(DISPID_SRCPause)]
HRESULT Pause(void);
[id(DISPID_SRCResume)]
HRESULT Resume(void);
[id(DISPID_SRCCreateGrammar)]
HRESULT CreateGrammar([in, defaultvalue(0)] VARIANT id, [out,retval] ISpeechRecoGrammar **grammar);
[id(DISPID_SRCCreateResultFromMemory)]
HRESULT CreateResultFromMemory([in] VARIANT *block, [out,retval] ISpeechRecoResult **result);
[id(DISPID_SRCBookmark)]
HRESULT Bookmark([in] SpeechBookmarkOptions options, [in] VARIANT pos, [in] VARIANT bookmark);
[id(DISPID_SRCSetAdaptationData)]
HRESULT SetAdaptationData([in] BSTR adaptation);
}
typedef [hidden] enum DISPID_SpeechRecognizer
{
DISPID_SRRecognizer = 1,
DISPID_SRAllowAudioInputFormatChangesOnNextSet,
DISPID_SRAudioInput,
DISPID_SRAudioInputStream,
DISPID_SRIsShared,
DISPID_SRState,
DISPID_SRStatus,
DISPID_SRProfile,
DISPID_SREmulateRecognition,
DISPID_SRCreateRecoContext,
DISPID_SRGetFormat,
DISPID_SRSetPropertyNumber,
DISPID_SRGetPropertyNumber,
DISPID_SRSetPropertyString,
DISPID_SRGetPropertyString,
DISPID_SRIsUISupported,
DISPID_SRDisplayUI,
DISPID_SRGetRecognizers,
DISPID_SVGetAudioInputs,
DISPID_SVGetProfiles
} DISPID_SpeechRecognizer;
[
object,
uuid(2d5f1c0c-bd75-4b08-9478-3b11fea2586c),
dual,
pointer_default(unique)
]
interface ISpeechRecognizer : IDispatch
{
[propputref, id(DISPID_SRRecognizer)]
HRESULT Recognizer([in]ISpeechObjectToken *recognizer);
[propget, id(DISPID_SRRecognizer)]
HRESULT Recognizer([out,retval]ISpeechObjectToken **recognizer);
[propput, hidden, id(DISPID_SRAllowAudioInputFormatChangesOnNextSet)]
HRESULT AllowAudioInputFormatChangesOnNextSet([in] VARIANT_BOOL allow);
[propget, hidden, id(DISPID_SRAllowAudioInputFormatChangesOnNextSet)]
HRESULT AllowAudioInputFormatChangesOnNextSet([out,retval] VARIANT_BOOL *allow);
[propputref, id(DISPID_SRAudioInput)]
HRESULT AudioInput([in,defaultvalue(0)] ISpeechObjectToken *input);
[propget, id(DISPID_SRAudioInput)]
HRESULT AudioInput([out,retval] ISpeechObjectToken **input);
[propputref, id(DISPID_SRAudioInputStream)]
HRESULT AudioInputStream([in,defaultvalue(0)] ISpeechBaseStream *input);
[propget, id(DISPID_SRAudioInputStream)]
HRESULT AudioInputStream([out,retval] ISpeechBaseStream **input);
[propget, id(DISPID_SRIsShared)]
HRESULT IsShared([out,retval] VARIANT_BOOL *shared);
[propput, id(DISPID_SRState)]
HRESULT State([in] SpeechRecognizerState state);
[propget, id(DISPID_SRState)]
HRESULT State([out,retval] SpeechRecognizerState *state);
[propget, id(DISPID_SRStatus)]
HRESULT Status([out,retval] ISpeechRecognizerStatus **status);
[propputref, id(DISPID_SRProfile)]
HRESULT Profile([in,defaultvalue(0)] ISpeechObjectToken *profile);
[propget, id(DISPID_SRProfile)]
HRESULT Profile([out,retval] ISpeechObjectToken **profile);
[id(DISPID_SREmulateRecognition)]
HRESULT EmulateRecognition([in] VARIANT elements, [in, defaultvalue(NULL)] VARIANT *attributes,
[in, defaultvalue(0)] long id);
[id(DISPID_SRCreateRecoContext)]
HRESULT CreateRecoContext([out,retval] ISpeechRecoContext **ncontext);
[id(DISPID_SRGetFormat)]
HRESULT GetFormat([in] SpeechFormatType speechtype, [out,retval] ISpeechAudioFormat **audioformat);
[hidden, id(DISPID_SRSetPropertyNumber)]
HRESULT SetPropertyNumber([in] const BSTR name, [in] long value, [out,retval] VARIANT_BOOL *supported);
[hidden, id(DISPID_SRGetPropertyNumber)]
HRESULT GetPropertyNumber([in] const BSTR name, [in,out] long *value, [out,retval] VARIANT_BOOL *supported);
[hidden, id(DISPID_SRSetPropertyString)]
HRESULT SetPropertyString([in] const BSTR name, [in] const BSTR value, [out,retval] VARIANT_BOOL *supported);
[hidden, id(DISPID_SRGetPropertyString)]
HRESULT GetPropertyString([in] const BSTR name, [in,out] BSTR *value, [out,retval] VARIANT_BOOL *supported);
[id(DISPID_SRIsUISupported)]
HRESULT IsUISupported([in] const BSTR type, [in, defaultvalue(NULL)] const VARIANT *data,
[out,retval] VARIANT_BOOL *supported);
[id(DISPID_SRDisplayUI)]
HRESULT DisplayUI( [in] long hWnd, [in] BSTR title, [in] const BSTR type, [in, defaultvalue(NULL)] const VARIANT *data);
[id(DISPID_SRGetRecognizers)]
HRESULT GetRecognizers([in, defaultvalue("")] BSTR required, [in, defaultvalue("")] BSTR optional,
[out,retval] ISpeechObjectTokens **tokens);
[id(DISPID_SVGetAudioInputs)]
HRESULT GetAudioInputs([in, defaultvalue("")] BSTR required, [in, defaultvalue("")] BSTR optional,
[out,retval] ISpeechObjectTokens **tokens);
[id(DISPID_SVGetProfiles)]
HRESULT GetProfiles([in, defaultvalue("")] BSTR required, [in, defaultvalue("")] BSTR optional,
[out,retval] ISpeechObjectTokens **tokens);
}
typedef enum SpeechStreamFileMode
{
SSFMOpenForRead = SPFM_OPEN_READONLY,
SSFMOpenReadWrite = SPFM_OPEN_READWRITE,
SSFMCreate = SPFM_CREATE,
SSFMCreateForWrite = SPFM_CREATE_ALWAYS,
} SpeechStreamFileMode;
typedef [hidden] enum DISPID_SpeechFileStream
{
DISPID_SFSOpen = 100,
DISPID_SFSClose
} DISPID_SpeechFileStream;
[
object,
uuid(af67f125-ab39-4e93-b4a2-cc2e66e182a7),
dual,
pointer_default(unique)
]
interface ISpeechFileStream : ISpeechBaseStream
{
[id(DISPID_SFSOpen)]
HRESULT Open([in] BSTR filename, [in, defaultvalue(SSFMOpenForRead)] SpeechStreamFileMode mode,
[in, defaultvalue(0)] VARIANT_BOOL events);
[id(DISPID_SFSClose)]
HRESULT Close(void);
};