Created
April 22, 2024 05:51
-
-
Save TheLouisHong/7db7548cf198e00065aa04d79b4fbb0c to your computer and use it in GitHub Desktop.
Windows Speech API 4 speech.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/************************************************************************ | |
Speech.H - Header file to use the Microsoft Speech APIs. | |
Copyright 1994 -1998 by Microsoft corporation.All rights reserved. | |
*/ | |
#ifndef _SPEECH_ | |
#define _SPEECH_ | |
// Disable the warning for zero-length arrays in structures | |
#pragma warning(disable:4200) | |
/************************************************************************ | |
Defines common to all of the speech APIs. | |
*/ | |
// Application Speech API Compiler Defines _S_UNICODE | |
// ----------------------------------------------------------------------------- | |
// ANSI ANSI <none> undefined | |
// ANSI Unicode _S_UNICODE defined | |
// Unicode ANSI (UNICODE || _UNICODE) && _S_ANSI undefined | |
// Unicode Unicode (UNICODE || _UNICODE) defined | |
#if (defined(UNICODE) || defined(_UNICODE)) && !defined(_S_ANSI) | |
#ifndef _S_UNICODE | |
#define _S_UNICODE | |
#endif | |
#endif | |
/************************************************************************ | |
defines */ | |
#define SVFN_LEN (262) | |
#define LANG_LEN (64) | |
#define EI_TITLESIZE (128) | |
#define EI_DESCSIZE (512) | |
#define EI_FIXSIZE (512) | |
#define SVPI_MFGLEN (64) | |
#define SVPI_PRODLEN (64) | |
#define SVPI_COMPLEN (64) | |
#define SVPI_COPYRIGHTLEN (128) | |
#define SVI_MFGLEN (SVPI_MFGLEN) | |
#define SETBIT(x) ((DWORD)1 << (x)) | |
// Error Macros | |
#define FACILITY_SPEECH (FACILITY_ITF) | |
#define SPEECHERROR(x) MAKE_SCODE(SEVERITY_ERROR, FACILITY_SPEECH, (x)+0x200) | |
#define AUDERROR(x) MAKE_SCODE(SEVERITY_ERROR, FACILITY_SPEECH, (x)+0x300) | |
#define SRWARNING(x) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_SPEECH, (x)+0x400) | |
#define SRERROR(x) MAKE_SCODE(SEVERITY_ERROR, FACILITY_SPEECH, (x)+0x400) | |
#define TTSERROR(x) MAKE_SCODE(SEVERITY_ERROR, FACILITY_SPEECH, (x)+0x500) | |
#define VCMDERROR(x) MAKE_SCODE(SEVERITY_ERROR, FACILITY_SPEECH, (x)+0x600) | |
#define VTXTERROR(x) MAKE_SCODE(SEVERITY_ERROR, FACILITY_SPEECH, (x)+0x700) | |
#define LEXERROR(x) MAKE_SCODE(SEVERITY_ERROR, FACILITY_SPEECH, (x)+0x800) | |
#define LEXWARNING(x) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_SPEECH, (x)+0x800) | |
// Audio Errors | |
#define AUDERR_NONE S_OK // 0x00000000 | |
#define AUDERR_BADDEVICEID AUDERROR(1) // 0x80040301 | |
#define AUDERR_NEEDWAVEFORMAT AUDERROR(2) // 0x80040302 | |
#define AUDERR_NOTSUPPORTED E_NOTIMPL // 0x80004001 | |
#define AUDERR_NOTENOUGHDATA SPEECHERROR(1) // 0x80040201 | |
#define AUDERR_NOTPLAYING AUDERROR(6) // 0x80040306 | |
#define AUDERR_INVALIDPARAM E_INVALIDARG // 0x80070057 | |
#define AUDERR_WAVEFORMATNOTSUPPORTED SPEECHERROR(2) // 0x80040202 | |
#define AUDERR_WAVEDEVICEBUSY SPEECHERROR(3) // 0x80040203 | |
#define AUDERR_WAVEDEVNOTSUPPORTED AUDERROR(18) // 0x80040312 | |
#define AUDERR_NOTRECORDING AUDERROR(19) // 0x80040313 | |
#define AUDERR_INVALIDFLAG SPEECHERROR(4) // 0x80040204 | |
#define AUDERR_INVALIDHANDLE E_HANDLE // 0x80070006 | |
#define AUDERR_NODRIVER AUDERROR(23) // 0x80040317 | |
#define AUDERR_HANDLEBUSY AUDERROR(24) // 0x80040318 | |
#define AUDERR_INVALIDNOTIFYSINK AUDERROR(25) // 0x80040319 | |
#define AUDERR_WAVENOTENABLED AUDERROR(26) // 0x8004031A | |
#define AUDERR_ALREADYCLAIMED AUDERROR(29) // 0x8004031D | |
#define AUDERR_NOTCLAIMED AUDERROR(30) // 0x8004031E | |
#define AUDERR_STILLPLAYING AUDERROR(31) // 0x8004031F | |
#define AUDERR_ALREADYSTARTED AUDERROR(32) // 0x80040320 | |
#define AUDERR_SYNCNOTALLOWED AUDERROR(33) // 0x80040321 | |
// Speech Recognition Warnings | |
#define SRWARN_BAD_LIST_PRONUNCIATION SRWARNING(1) | |
// Speech Recognition Errors | |
#define SRERR_NONE S_OK // 0x00000000 | |
#define SRERR_OUTOFDISK SPEECHERROR(5) // 0x80040205 | |
#define SRERR_NOTSUPPORTED E_NOTIMPL // 0x80004001 | |
#define SRERR_NOTENOUGHDATA AUDERR_NOTENOUGHDATA // 0x80040201 | |
#define SRERR_VALUEOUTOFRANGE E_UNEXPECTED // 0x8000FFFF | |
#define SRERR_GRAMMARTOOCOMPLEX SRERROR(6) // 0x80040406 | |
#define SRERR_GRAMMARWRONGTYPE SRERROR(7) // 0x80040407 | |
#define SRERR_INVALIDWINDOW OLE_E_INVALIDHWND // 0x8004000F | |
#define SRERR_INVALIDPARAM E_INVALIDARG // 0x80070057 | |
#define SRERR_INVALIDMODE SPEECHERROR(6) // 0x80040206 | |
#define SRERR_TOOMANYGRAMMARS SRERROR(11) // 0x8004040B | |
#define SRERR_INVALIDLIST SPEECHERROR(7) // 0x80040207 | |
#define SRERR_WAVEDEVICEBUSY AUDERR_WAVEDEVICEBUSY // 0x80040203 | |
#define SRERR_WAVEFORMATNOTSUPPORTED AUDERR_WAVEFORMATNOTSUPPORTED // 0x80040202 | |
#define SRERR_INVALIDCHAR SPEECHERROR(8) // 0x80040208 | |
#define SRERR_GRAMTOOCOMPLEX SRERR_GRAMMARTOOCOMPLEX // 0x80040406 | |
#define SRERR_GRAMTOOLARGE SRERROR(17) // 0x80040411 | |
#define SRERR_INVALIDINTERFACE E_NOINTERFACE // 0x80004002 | |
#define SRERR_INVALIDKEY SPEECHERROR(9) // 0x80040209 | |
#define SRERR_INVALIDFLAG AUDERR_INVALIDFLAG // 0x80040204 | |
#define SRERR_GRAMMARERROR SRERROR(22) // 0x80040416 | |
#define SRERR_INVALIDRULE SRERROR(23) // 0x80040417 | |
#define SRERR_RULEALREADYACTIVE SRERROR(24) // 0x80040418 | |
#define SRERR_RULENOTACTIVE SRERROR(25) // 0x80040419 | |
#define SRERR_NOUSERSELECTED SRERROR(26) // 0x8004041A | |
#define SRERR_BAD_PRONUNCIATION SRERROR(27) // 0x8004041B | |
#define SRERR_DATAFILEERROR SRERROR(28) // 0x8004041C | |
#define SRERR_GRAMMARALREADYACTIVE SRERROR(29) // 0x8004041D | |
#define SRERR_GRAMMARNOTACTIVE SRERROR(30) // 0x8004041E | |
#define SRERR_GLOBALGRAMMARALREADYACTIVE SRERROR(31) // 0x8004041F | |
#define SRERR_LANGUAGEMISMATCH SRERROR(32) // 0x80040420 | |
#define SRERR_MULTIPLELANG SRERROR(33) // 0x80040421 | |
#define SRERR_LDGRAMMARNOWORDS SRERROR(34) // 0x80040422 | |
#define SRERR_NOLEXICON SRERROR(35) // 0x80040423 | |
#define SRERR_SPEAKEREXISTS SRERROR(36) // 0x80040424 | |
#define SRERR_GRAMMARENGINEMISMATCH SRERROR(37) // 0x80040425 | |
#define SRERR_BOOKMARKEXISTS SRERROR(38) // 0x80040426 | |
#define SRERR_BOOKMARKDOESNOTEXIST SRERROR(39) // 0x80040427 | |
#define SRERR_MICWIZARDCANCELED SRERROR(40) // 0x80040428 | |
#define SRERR_WORDTOOLONG SRERROR(41) // 0x80040429 | |
#define SRERR_BAD_WORD SRERROR(42) // 0x8004042A | |
#define E_WRONGTYPE SPEECHERROR(13) // 0x8004020C | |
#define E_BUFFERTOOSMALL SPEECHERROR(14) // 0x8004020D | |
// Text to Speech Errors | |
#define TTSERR_NONE S_OK // 0x00000000 | |
#define TTSERR_INVALIDINTERFACE E_NOINTERFACE // 0x80004002 | |
#define TTSERR_OUTOFDISK SRERR_OUTOFDISK // 0x80040205 | |
#define TTSERR_NOTSUPPORTED E_NOTIMPL // 0x80004001 | |
#define TTSERR_VALUEOUTOFRANGE E_UNEXPECTED // 0x8000FFFF | |
#define TTSERR_INVALIDWINDOW OLE_E_INVALIDHWND // 0x8004000F | |
#define TTSERR_INVALIDPARAM E_INVALIDARG // 0x80070057 | |
#define TTSERR_INVALIDMODE SRERR_INVALIDMODE // 0x80040206 | |
#define TTSERR_INVALIDKEY SRERR_INVALIDKEY // 0x80040209 | |
#define TTSERR_WAVEFORMATNOTSUPPORTED AUDERR_WAVEFORMATNOTSUPPORTED // 0x80040202 | |
#define TTSERR_INVALIDCHAR SRERR_INVALIDCHAR // 0x80040208 | |
#define TTSERR_QUEUEFULL SPEECHERROR(10) // 0x8004020A | |
#define TTSERR_WAVEDEVICEBUSY AUDERR_WAVEDEVICEBUSY // 0x80040203 | |
#define TTSERR_NOTPAUSED TTSERROR(1) // 0x80040501 | |
#define TTSERR_ALREADYPAUSED TTSERROR(2) // 0x80040502 | |
// Voice Command Errors | |
/* | |
* Everything worked | |
*/ | |
#define VCMDERR_NONE S_OK // 0x00000000 | |
/* | |
* Voice Commands could not allocate memory | |
*/ | |
#define VCMDERR_OUTOFMEM E_OUTOFMEMORY // 0x8007000E | |
/* | |
* Voice Commands could not store/retrieve a command set from the database | |
*/ | |
#define VCMDERR_OUTOFDISK SRERR_OUTOFDISK // 0x80040205 | |
/* | |
* Function not implemented | |
*/ | |
#define VCMDERR_NOTSUPPORTED E_NOTIMPL // 0x80004001 | |
/* | |
* A parameter was passed that was out of the ranged of accepted values | |
*/ | |
#define VCMDERR_VALUEOUTOFRANGE E_UNEXPECTED // 0x8000FFFF | |
/* | |
* A menu was too complex to compile a context-free grammar | |
*/ | |
#define VCMDERR_MENUTOOCOMPLEX VCMDERROR(0x06) // 0x80040606 | |
/* | |
* Language mismatch between the speech recognition mode and menu trying | |
* to create | |
*/ | |
#define VCMDERR_MENUWRONGLANGUAGE VCMDERROR(0x07) // 0x80040607 | |
/* | |
* An invalid window handle was passed to Voice Commands | |
*/ | |
#define VCMDERR_INVALIDWINDOW OLE_E_INVALIDHWND // 0x8004000F | |
/* | |
* Voice Commands detected a bad function parameter | |
*/ | |
#define VCMDERR_INVALIDPARAM E_INVALIDARG // 0x80070057 | |
/* | |
* This function cannot be completed right now, usually when trying to do | |
* some operation while no speech recognition site is established | |
*/ | |
#define VCMDERR_INVALIDMODE SRERR_INVALIDMODE // 0x80040206 | |
/* | |
* There are too many Voice Commands menu | |
*/ // 0x8004060B | |
#define VCMDERR_TOOMANYMENUS VCMDERROR(0x0B) | |
/* | |
* Invalid list passed to ListSet/ListGet | |
*/ | |
#define VCMDERR_INVALIDLIST SRERR_INVALIDLIST // 0x80040207 | |
/* | |
* Trying to open an existing menu that is not in the Voice Commands database | |
*/ | |
#define VCMDERR_MENUDOESNOTEXIST VCMDERROR(0x0D) // 0x8004060D | |
/* | |
* The function could not be completed because the menu is actively | |
* listening for commands | |
*/ | |
#define VCMDERR_MENUACTIVE VCMDERROR(0x0E) // 0x8004060E | |
/* | |
* No speech recognition engine is started | |
*/ | |
#define VCMDERR_NOENGINE VCMDERROR(0x0F) // 0x8004060F | |
/* | |
* Voice Commands could not acquire a Grammar interface from the speech | |
* recognition engine | |
*/ | |
#define VCMDERR_NOGRAMMARINTERFACE VCMDERROR(0x10) // 0x80040610 | |
/* | |
* Voice Commands could not acquire a Find interface from the speech | |
* recognition engine | |
*/ | |
#define VCMDERR_NOFINDINTERFACE VCMDERROR(0x11) // 0x80040611 | |
/* | |
* Voice Commands could not create a speech recognition enumerator | |
*/ | |
#define VCMDERR_CANTCREATESRENUM VCMDERROR(0x12) // 0x80040612 | |
/* | |
* Voice Commands could get the appropriate site information to start a | |
* speech recognition engine | |
*/ | |
#define VCMDERR_NOSITEINFO VCMDERROR(0x13) // 0x80040613 | |
/* | |
* Voice Commands could not find a speech recognition engine | |
*/ | |
#define VCMDERR_SRFINDFAILED VCMDERROR(0x14) // 0x80040614 | |
/* | |
* Voice Commands could not create an audio source object | |
*/ | |
#define VCMDERR_CANTCREATEAUDIODEVICE VCMDERROR(0x15) // 0x80040615 | |
/* | |
* Voice Commands could not set the appropriate device number in the | |
* audio source object | |
*/ | |
#define VCMDERR_CANTSETDEVICE VCMDERROR(0x16) // 0x80040616 | |
/* | |
* Voice Commands could not select a speech recognition engine. Usually the | |
* error will occur when Voice Commands has enumerated and found an | |
* appropriate speech recognition engine, then it is not able to actually | |
* select/start the engine. There are different reasons that the engine won't | |
* start, but the most common is that there is no wave in device. | |
*/ | |
#define VCMDERR_CANTSELECTENGINE VCMDERROR(0x17) // 0x80040617 | |
/* | |
* Voice Commands could not create a notfication sink for engine | |
* notifications | |
*/ | |
#define VCMDERR_CANTCREATENOTIFY VCMDERROR(0x18) // 0x80040618 | |
/* | |
* Voice Commands could not create internal data structures. | |
*/ | |
#define VCMDERR_CANTCREATEDATASTRUCTURES VCMDERROR(0x19) // 0x80040619 | |
/* | |
* Voice Commands could not initialize internal data structures | |
*/ | |
#define VCMDERR_CANTINITDATASTRUCTURES VCMDERROR(0x1A) // 0x8004061A | |
/* | |
* The menu does not have an entry in the Voice Commands cache | |
*/ | |
#define VCMDERR_NOCACHEDATA VCMDERROR(0x1B) // 0x8004061B | |
/* | |
* The menu does not have commands | |
*/ | |
#define VCMDERR_NOCOMMANDS VCMDERROR(0x1C) // 0x8004061C | |
/* | |
* Voice Commands cannot extract unique words needed for the engine grammar | |
*/ | |
#define VCMDERR_CANTXTRACTWORDS VCMDERROR(0x1D) // 0x8004061D | |
/* | |
* Voice Commands could not get the command set database name | |
*/ | |
#define VCMDERR_CANTGETDBNAME VCMDERROR(0x1E) // 0x8004061E | |
/* | |
* Voice Commands could not create a registry key | |
*/ | |
#define VCMDERR_CANTCREATEKEY VCMDERROR(0x1F) // 0x8004061F | |
/* | |
* Voice Commands could not create a new database name | |
*/ | |
#define VCMDERR_CANTCREATEDBNAME VCMDERROR(0x20) // 0x80040620 | |
/* | |
* Voice Commands could not update the registry | |
*/ | |
#define VCMDERR_CANTUPDATEREGISTRY VCMDERROR(0x21) // 0x80040621 | |
/* | |
* Voice Commands could not open the registry | |
*/ | |
#define VCMDERR_CANTOPENREGISTRY VCMDERROR(0x22) // 0x80040622 | |
/* | |
* Voice Commands could not open the command set database | |
*/ | |
#define VCMDERR_CANTOPENDATABASE VCMDERROR(0x23) // 0x80040623 | |
/* | |
* Voice Commands could not create a database storage object | |
*/ | |
#define VCMDERR_CANTCREATESTORAGE VCMDERROR(0x24) // 0x80040624 | |
/* | |
* Voice Commands could not do CmdMimic | |
*/ | |
#define VCMDERR_CANNOTMIMIC VCMDERROR(0x25) // 0x80040625 | |
/* | |
* A menu of this name already exist | |
*/ | |
#define VCMDERR_MENUEXIST VCMDERROR(0x26) // 0x80040626 | |
/* | |
* A menu of this name is open and cannot be deleted right now | |
*/ | |
#define VCMDERR_MENUOPEN VCMDERROR(0x27) // 0x80040627 | |
// Voice Text Errors | |
#define VTXTERR_NONE S_OK // 0x00000000 | |
/* | |
* Voice Text failed to allocate memory it needed | |
*/ | |
#define VTXTERR_OUTOFMEM E_OUTOFMEMORY // 0x8007000E | |
/* | |
* An empty string ("") was passed to the Speak function | |
*/ | |
#define VTXTERR_EMPTYSPEAKSTRING SPEECHERROR(0x0b) // 0x8004020B | |
/* | |
* An invalid parameter was passed to a Voice Text function | |
*/ | |
#define VTXTERR_INVALIDPARAM E_INVALIDARG // 0x80070057 | |
/* | |
* The called function cannot be done at this time. This usually occurs | |
* when trying to call a function that needs a site, but no site has been | |
* registered. | |
*/ | |
#define VTXTERR_INVALIDMODE SRERR_INVALIDMODE // 0x80040206 | |
/* | |
* No text-to-speech engine is started | |
*/ | |
#define VTXTERR_NOENGINE VTXTERROR(0x0F) // 0x8004070F | |
/* | |
* Voice Text could not acquire a Find interface from the text-to-speech | |
* engine | |
*/ | |
#define VTXTERR_NOFINDINTERFACE VTXTERROR(0x11) // 0x80040711 | |
/* | |
* Voice Text could not create a text-to-speech enumerator | |
*/ | |
#define VTXTERR_CANTCREATETTSENUM VTXTERROR(0x12) // 0x80040712 | |
/* | |
* Voice Text could get the appropriate site information to start a | |
* text-to-speech engine | |
*/ | |
#define VTXTERR_NOSITEINFO VTXTERROR(0x13) // 0x80040713 | |
/* | |
* Voice Text could not find a text-to-speech engine | |
*/ | |
#define VTXTERR_TTSFINDFAILED VTXTERROR(0x14) // 0x80040714 | |
/* | |
* Voice Text could not create an audio destination object | |
*/ | |
#define VTXTERR_CANTCREATEAUDIODEVICE VTXTERROR(0x15) // 0x80040715 | |
/* | |
* Voice Text could not set the appropriate device number in the | |
* audio destination object | |
*/ | |
#define VTXTERR_CANTSETDEVICE VTXTERROR(0x16) // 0x80040716 | |
/* | |
* Voice Text could not select a text-to-speech engine. Usually the | |
* error will occur when Voice Text has enumerated and found an | |
* appropriate text-to-speech engine, then it is not able to actually | |
* select/start the engine. | |
*/ | |
#define VTXTERR_CANTSELECTENGINE VTXTERROR(0x17) // 0x80040717 | |
/* | |
* Voice Text could not create a notfication sink for engine | |
* notifications | |
*/ | |
#define VTXTERR_CANTCREATENOTIFY VTXTERROR(0x18) // 0x80040718 | |
/* | |
* Voice Text is disabled at this time | |
*/ | |
#define VTXTERR_NOTENABLED VTXTERROR(0x19) // 0x80040719 | |
#define VTXTERR_OUTOFDISK SRERR_OUTOFDISK // 0x80040205 | |
#define VTXTERR_NOTSUPPORTED E_NOTIMPL // 0x80004001 | |
#define VTXTERR_NOTENOUGHDATA AUDERR_NOTENOUGHDATA // 0x80040201 | |
#define VTXTERR_QUEUEFULL TTSERR_QUEUEFULL // 0x8004020A | |
#define VTXTERR_VALUEOUTOFRANGE E_UNEXPECTED // 0x8000FFFF | |
#define VTXTERR_INVALIDWINDOW OLE_E_INVALIDHWND // 0x8004000F | |
#define VTXTERR_WAVEDEVICEBUSY AUDERR_WAVEDEVICEBUSY // 0x80040203 | |
#define VTXTERR_WAVEFORMATNOTSUPPORTED AUDERR_WAVEFORMATNOTSUPPORTED // 0x80040202 | |
#define VTXTERR_INVALIDCHAR SRERR_INVALIDCHAR // 0x80040208 | |
// ILexPronounce errors | |
#define LEXERR_INVALIDTEXTCHAR LEXERROR(0x01) // 0x80040801 | |
#define LEXERR_INVALIDSENSE LEXERROR(0x02) // 0x80040802 | |
#define LEXERR_NOTINLEX LEXERROR(0x03) // 0x80040803 | |
#define LEXERR_OUTOFDISK LEXERROR(0x04) // 0x80040804 | |
#define LEXERR_INVALIDPRONCHAR LEXERROR(0x05) // 0x80040805 | |
#define LEXERR_ALREADYINLEX LEXWARNING(0x06) // 0x00040806 | |
#define LEXERR_PRNBUFTOOSMALL LEXERROR(0x07) // 0x80040807 | |
#define LEXERR_ENGBUFTOOSMALL LEXERROR(0x08) // 0x80040808 | |
#define LEXERR_INVALIDLEX LEXERROR(0x09) // 0x80040809 | |
/************************************************************************ | |
typedefs */ | |
typedef LPUNKNOWN FAR * PIUNKNOWN; | |
typedef struct { | |
PVOID pData; | |
DWORD dwSize; | |
} SDATA, * PSDATA; | |
typedef struct { | |
LANGID LanguageID; | |
WCHAR szDialect[LANG_LEN]; | |
} LANGUAGEW, FAR * PLANGUAGEW; | |
typedef struct { | |
LANGID LanguageID; | |
CHAR szDialect[LANG_LEN]; | |
} LANGUAGEA, FAR * PLANGUAGEA; | |
#ifdef _S_UNICODE | |
#define LANGUAGE LANGUAGEW | |
#define PLANGUAGE PLANGUAGEW | |
#else | |
#define LANGUAGE LANGUAGEA | |
#define PLANGUAGE PLANGUAGEA | |
#endif // _S_UNICODE | |
typedef struct { | |
HRESULT hRes; | |
WCHAR szStrings[512]; | |
} SPCHERRORW, FAR * PSPCHERRORW; | |
typedef struct { | |
HRESULT hRes; | |
CHAR szStrings[512]; | |
} SPCHERRORA, FAR * PSPCHERRORA; | |
#ifdef _S_UNICODE | |
#define SPCHERROR SPCHERRORW | |
#define PSPCHERROR PSPCHERRORW | |
#else | |
#define SPCHERROR SPCHERRORA | |
#define PSPCHERROR PSPCHERRORA | |
#endif // _S_UNICODE | |
typedef unsigned __int64 QWORD, * PQWORD; | |
typedef enum { | |
CHARSET_TEXT = 0, | |
CHARSET_IPAPHONETIC = 1, | |
CHARSET_ENGINEPHONETIC = 2 | |
} VOICECHARSET; | |
typedef enum _VOICEPARTOFSPEECH { | |
VPS_UNKNOWN = 0, | |
VPS_NOUN = 1, | |
VPS_VERB = 2, | |
VPS_ADVERB = 3, | |
VPS_ADJECTIVE = 4, | |
VPS_PROPERNOUN = 5, | |
VPS_PRONOUN = 6, | |
VPS_CONJUNCTION = 7, | |
VPS_CARDINAL = 8, | |
VPS_ORDINAL = 9, | |
VPS_DETERMINER = 10, | |
VPS_QUANTIFIER = 11, | |
VPS_PUNCTUATION = 12, | |
VPS_CONTRACTION = 13, | |
VPS_INTERJECTION = 14, | |
VPS_ABBREVIATION = 15, | |
VPS_PREPOSITION = 16 | |
} VOICEPARTOFSPEECH; | |
typedef struct { | |
DWORD dwNextPhonemeNode; | |
DWORD dwUpAlternatePhonemeNode; | |
DWORD dwDownAlternatePhonemeNode; | |
DWORD dwPreviousPhonemeNode; | |
DWORD dwWordNode; | |
QWORD qwStartTime; | |
QWORD qwEndTime; | |
DWORD dwPhonemeScore; | |
WORD wVolume; | |
WORD wPitch; | |
} SRRESPHONEMENODE, *PSRRESPHONEMENODE; | |
typedef struct { | |
DWORD dwNextWordNode; | |
DWORD dwUpAlternateWordNode; | |
DWORD dwDownAlternateWordNode; | |
DWORD dwPreviousWordNode; | |
DWORD dwPhonemeNode; | |
QWORD qwStartTime; | |
QWORD qwEndTime; | |
DWORD dwWordScore; | |
WORD wVolume; | |
WORD wPitch; | |
VOICEPARTOFSPEECH pos; | |
DWORD dwCFGParse; | |
DWORD dwCue; | |
} SRRESWORDNODE, * PSRRESWORDNODE; | |
/************************************************************************ | |
interfaces */ | |
/* | |
* IAttributes | |
*/ | |
/* attribute values */ | |
#define TTSBASEATTR 0x1000 | |
#define SRBASEATTR 0x2000 | |
#define VDCTBASEATTR 0x3000 | |
#define VCMDBASEATTR 0x4000 | |
#define VTXTBASEATTR 0x5000 | |
#define AUDBASEATTR 0x6000 | |
#define TTSATTR_PITCH (1) | |
#define TTSATTR_REALTIME (0) | |
#define TTSATTR_SPEED (2) | |
#define TTSATTR_VOLUME (3) | |
#define TTSATTR_PITCHRANGE (TTSBASEATTR + 5) | |
#define TTSATTR_PITCHRANGEDEFAULT (TTSBASEATTR + 6) | |
#define TTSATTR_PITCHRANGEMAX (TTSBASEATTR + 7) | |
#define TTSATTR_PITCHRANGEMIN (TTSBASEATTR + 8) | |
#define TTSATTR_PITCHRANGERELATIVE (TTSBASEATTR + 9) | |
#define TTSATTR_PITCHRANGERELATIVEMAX (TTSBASEATTR + 10) | |
#define TTSATTR_PITCHRANGERELATIVEMIN (TTSBASEATTR + 11) | |
#define TTSATTR_PITCHRELATIVE (TTSBASEATTR + 12) | |
#define TTSATTR_PITCHRELATIVEMAX (TTSBASEATTR + 13) | |
#define TTSATTR_PITCHRELATIVEMIN (TTSBASEATTR + 14) | |
#define TTSATTR_PITCHDEFAULT (TTSBASEATTR + 15) | |
#define TTSATTR_PITCHMAX (TTSBASEATTR + 16) | |
#define TTSATTR_PITCHMIN (TTSBASEATTR + 17) | |
#define TTSATTR_SPEEDRELATIVE (TTSBASEATTR + 18) | |
#define TTSATTR_SPEEDRELATIVEMAX (TTSBASEATTR + 19) | |
#define TTSATTR_SPEEDRELATIVEMIN (TTSBASEATTR + 20) | |
#define TTSATTR_SPEEDDEFAULT (TTSBASEATTR + 21) | |
#define TTSATTR_SPEEDMAX (TTSBASEATTR + 22) | |
#define TTSATTR_SPEEDMIN (TTSBASEATTR + 23) | |
#define TTSATTR_THREADPRIORITY (TTSBASEATTR + 24) | |
#define TTSATTR_SINKFLAGS (TTSBASEATTR + 25) | |
#define TTSATTR_VOLUMEDEFAULT (TTSBASEATTR + 26) | |
#define SRATTR_AUTOGAIN (1) | |
#define SRATTR_ECHO (3) | |
#define SRATTR_ENERGYFLOOR (4) | |
#define SRATTR_MICROPHONE (5) | |
#define SRATTR_REALTIME (6) | |
#define SRATTR_SPEAKER (7) | |
#define SRATTR_TIMEOUT_COMPLETE (8) | |
#define SRATTR_TIMEOUT_INCOMPLETE (SRBASEATTR + 8) | |
#define SRATTR_THRESHOLD (2) | |
#define SRATTR_ACCURACYSLIDER (SRBASEATTR + 10) | |
#define SRATTR_LEVEL (SRBASEATTR + 11) | |
#define SRATTR_LISTENINGSTATE (SRBASEATTR + 12) | |
#define SRATTR_RESULTSINFO (SRBASEATTR + 13) | |
#define SRATTR_RESULTSINFO_POSSIBLE (SRBASEATTR + 14) | |
#define SRATTR_SINKFLAGS (SRBASEATTR + 15) | |
#define SRATTR_THREADPRIORITY (SRBASEATTR + 16) | |
#define VDCTATTR_AWAKESTATE (VDCTBASEATTR + 1) | |
#define VDCTATTR_MODE (VDCTBASEATTR + 2) | |
#define VDCTATTR_MEMORY (VDCTBASEATTR + 3) | |
#define VDCTATTR_CORRECTIONRECT (VDCTBASEATTR + 4) | |
#define VDCTATTR_VISIBLETEXTSTART (VDCTBASEATTR + 5) | |
#define VDCTATTR_VISIBLETEXTCHARS (VDCTBASEATTR + 6) | |
#define VDCTATTR_INSERTIONGUI (VDCTBASEATTR + 7) // turn on ISRGramInsertionGUI | |
#define VCMDATTR_AWAKESTATE (VCMDBASEATTR + 1) | |
#define VCMDATTR_DEVICE (VCMDBASEATTR + 2) | |
#define VCMDATTR_ENABLED (VCMDBASEATTR + 3) | |
#define VCMDATTR_SRMODE (VCMDBASEATTR + 4) | |
#define AUDATTR_USELOWPRIORITY (AUDBASEATTR + 1) // MMAudioSource: if true, send low priority message to card when starting | |
#define AUDATTR_AUTORETRY (AUDBASEATTR + 2) // MMAudioSource: if true, keep retrying to open wave device if can't initially | |
#define AUDATTR_TIMERMS (AUDBASEATTR + 3) // MMAudioDest: milliseconds between timer ticks, when send out buffers, etc. | |
#define AUDATTR_DIRECTFLAGS (AUDBASEATTR + 4) // DirectSoundAudioDest: Flages to send into CreateSoundBuffer | |
// set these values before waveformatset. Use to do 3-d tts | |
// SRATTR_RESULTSINFO flags | |
#define SRRI_AUDIO SETBIT(0) | |
#define SRRI_AUDIO_UNCOMPRESSED SETBIT(1) | |
#define SRRI_ALTERNATIVES SETBIT(2) | |
#define SRRI_WORDGRAPH SETBIT(3) | |
#define SRRI_PHONEMEGRAPH SETBIT(4) | |
// SRATTR_SINKFLAGS flags | |
#define SRASF_ATTRIBUTES SETBIT(0) | |
#define SRASF_INTERFERENCE SETBIT(1) | |
#define SRASF_SOUND SETBIT(2) | |
#define SRASF_UTTERANCEBEGIN SETBIT(3) | |
#define SRASF_UTTERANCEEND SETBIT(4) | |
#define SRASF_VUMETER SETBIT(5) | |
#define SRASF_PHRASEHYPOTHESIS SETBIT(6) | |
#define SRASF_TRAINING SETBIT(7) | |
#define SRASF_ERRORWARNING SETBIT(8) | |
#undef INTERFACE | |
#define INTERFACE IAttributesW | |
// {1D59DED1-E367-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_IAttributesW, | |
0x1d59ded1, 0xe367, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (IAttributesW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// AttributesW members | |
STDMETHOD (DWORDGet) (DWORD, DWORD*) PURE; | |
STDMETHOD (DWORDSet) (DWORD, DWORD) PURE; | |
STDMETHOD (StringGet) (DWORD, PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (StringSet) (DWORD, PCWSTR) PURE; | |
STDMETHOD (MemoryGet) (DWORD, PVOID*, DWORD*) PURE; | |
STDMETHOD (MemorySet) (DWORD, PVOID, DWORD) PURE; | |
}; | |
typedef IAttributesW FAR * PIATTRIBUTESW; | |
#undef INTERFACE | |
#define INTERFACE IAttributesA | |
// {1D59DED2-E367-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_IAttributesA, | |
0x1d59ded2, 0xe367, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (IAttributesA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// AttributesA members | |
STDMETHOD (DWORDGet) (DWORD, DWORD*) PURE; | |
STDMETHOD (DWORDSet) (DWORD, DWORD) PURE; | |
STDMETHOD (StringGet) (DWORD, PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (StringSet) (DWORD, PCSTR) PURE; | |
STDMETHOD (MemoryGet) (DWORD, PVOID*, DWORD*) PURE; | |
STDMETHOD (MemorySet) (DWORD, PVOID, DWORD) PURE; | |
}; | |
typedef IAttributesA FAR * PIATTRIBUTESA; | |
#ifdef _S_UNICODE | |
#define IAttributes IAttributesW | |
#define IID_IAttributes IID_IAttributesW | |
#define PIATTRIBUTES PIATTRIBUTESW | |
#else | |
#define IAttributes IAttributesA | |
#define IID_IAttributes IID_IAttributesA | |
#define PIATTRIBUTES PIATTRIBUTESA | |
#endif // _S_UNICODE | |
/* | |
* ISpchError | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISpchErrorW | |
// {9B445335-E39F-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_ISpchErrorW, | |
0x9b445335, 0xe39f, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ISpchErrorW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// SpchError members | |
STDMETHOD (LastErrorGet) (THIS_ SPCHERRORW *) PURE; | |
STDMETHOD (ErrorMessageGet) (THIS_ WCHAR *, DWORD, DWORD *) PURE; | |
}; | |
typedef ISpchErrorW FAR * PISPCHERRORW; | |
#undef INTERFACE | |
#define INTERFACE ISpchErrorA | |
// {9B445336-E39F-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_ISpchErrorA, | |
0x9b445336, 0xe39f, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ISpchErrorA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// SpchError members | |
STDMETHOD (LastErrorGet) (THIS_ SPCHERRORA *) PURE; | |
STDMETHOD (ErrorMessageGet) (THIS_ CHAR *, DWORD, DWORD *) PURE; | |
}; | |
typedef ISpchErrorA FAR * PISPCHERRORA; | |
#ifdef _S_UNICODE | |
#define ISpchError ISpchErrorW | |
#define IID_ISpchError IID_ISpchErrorW | |
#define PISPCHERROR PISPCHERRORW | |
#else | |
#define ISpchError ISpchErrorA | |
#define IID_ISpchError IID_ISpchErrorA | |
#define PISPCHERROR PISPCHERRORA | |
#endif // _S_UNICODE | |
/* | |
* ILexPronounce | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ILexPronounceW | |
DEFINE_GUID(IID_ILexPronounceW, 0x090CD9A2, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ILexPronounceW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// LexPronounceW members | |
STDMETHOD (Add) (THIS_ VOICECHARSET, PCWSTR, PCWSTR, | |
VOICEPARTOFSPEECH, PVOID, DWORD) PURE; | |
STDMETHOD (Get) (THIS_ VOICECHARSET, PCWSTR, WORD, PWSTR, | |
DWORD, DWORD *, VOICEPARTOFSPEECH *, PVOID, | |
DWORD, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ PCWSTR, WORD) PURE; | |
}; | |
typedef ILexPronounceW FAR * PILEXPRONOUNCEW; | |
#undef INTERFACE | |
#define INTERFACE ILexPronounceA | |
DEFINE_GUID(IID_ILexPronounceA, 0x2F26B9C0L, 0xDB31, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ILexPronounceA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// LexPronounceA members | |
STDMETHOD (Add) (THIS_ VOICECHARSET, PCSTR, PCSTR, | |
VOICEPARTOFSPEECH, PVOID, DWORD) PURE; | |
STDMETHOD (Get) (THIS_ VOICECHARSET, PCSTR, WORD, PSTR, | |
DWORD, DWORD *, VOICEPARTOFSPEECH *, PVOID, | |
DWORD, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ PCSTR, WORD) PURE; | |
}; | |
typedef ILexPronounceA FAR * PILEXPRONOUNCEA; | |
#ifdef _S_UNICODE | |
#define ILexPronounce ILexPronounceW | |
#define IID_ILexPronounce IID_ILexPronounceW | |
#define PILEXPRONOUNCE PILEXPRONOUNCEW | |
#else | |
#define ILexPronounce ILexPronounceA | |
#define IID_ILexPronounce IID_ILexPronounceA | |
#define PILEXPRONOUNCE PILEXPRONOUNCEA | |
#endif // _S_UNICODE | |
/* | |
* ILexPronounce2 | |
*/ | |
#define ILP2_ACTIVE SETBIT(0) | |
#define ILP2_USER SETBIT(1) | |
#define ILP2_BACKUP SETBIT(2) | |
#define ILP2_LTS SETBIT(3) | |
#undef INTERFACE | |
#define INTERFACE ILexPronounce2W | |
// {D6E56341-B3EA-11d1-AFA5-0000F81E880D} | |
DEFINE_GUID(IID_ILexPronounce2W, 0xd6e56341, 0xb3ea, 0x11d1, 0xaf, 0xa5, 0x0, 0x0, 0xf8, 0x1e, 0x88, 0xd); | |
DECLARE_INTERFACE_ (ILexPronounce2W, ILexPronounceW) { | |
// LexPronounceW members | |
STDMETHOD (Add) (THIS_ VOICECHARSET, PCWSTR, PCWSTR, | |
VOICEPARTOFSPEECH, PVOID, DWORD) PURE; | |
STDMETHOD (Get) (THIS_ VOICECHARSET, PCWSTR, WORD, PWSTR, | |
DWORD, DWORD *, VOICEPARTOFSPEECH *, PVOID, | |
DWORD, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ PCWSTR, WORD) PURE; | |
// LexPronounce2W members | |
STDMETHOD (AddTo) (THIS_ DWORD, VOICECHARSET, PCWSTR, PCWSTR, | |
VOICEPARTOFSPEECH, PVOID, DWORD) PURE; | |
STDMETHOD (GetFrom) (THIS_ DWORD, VOICECHARSET, PCWSTR, WORD, PWSTR, | |
DWORD, DWORD *, VOICEPARTOFSPEECH *, PVOID, | |
DWORD, DWORD *) PURE; | |
STDMETHOD (RemoveFrom) (THIS_ DWORD, PCWSTR, WORD) PURE; | |
STDMETHOD (QueryLexicons) (THIS_ BOOL, DWORD *) PURE; | |
STDMETHOD (ChangeSpelling) (THIS_ DWORD, PCWSTR, PCWSTR) PURE; | |
}; | |
typedef ILexPronounce2W FAR * PILEXPRONOUNCE2W; | |
#undef INTERFACE | |
#define INTERFACE ILexPronounce2A | |
// {D6E56342-B3EA-11d1-AFA5-0000F81E880D} | |
DEFINE_GUID(IID_ILexPronounce2A, 0xd6e56342, 0xb3ea, 0x11d1, 0xaf, 0xa5, 0x0, 0x0, 0xf8, 0x1e, 0x88, 0xd); | |
DECLARE_INTERFACE_ (ILexPronounce2A, ILexPronounceA) { | |
// LexPronounceA members | |
STDMETHOD (Add) (THIS_ VOICECHARSET, PCSTR, PCSTR, | |
VOICEPARTOFSPEECH, PVOID, DWORD) PURE; | |
STDMETHOD (Get) (THIS_ VOICECHARSET, PCSTR, WORD, PSTR, | |
DWORD, DWORD *, VOICEPARTOFSPEECH *, PVOID, | |
DWORD, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ PCSTR, WORD) PURE; | |
// LexPronounceA members | |
STDMETHOD (AddTo) (THIS_ DWORD, VOICECHARSET, PCSTR, PCSTR, | |
VOICEPARTOFSPEECH, PVOID, DWORD) PURE; | |
STDMETHOD (GetFrom) (THIS_ DWORD, VOICECHARSET, PCSTR, WORD, PSTR, | |
DWORD, DWORD *, VOICEPARTOFSPEECH *, PVOID, | |
DWORD, DWORD *) PURE; | |
STDMETHOD (RemoveFrom) (THIS_ DWORD, PCSTR, WORD) PURE; | |
STDMETHOD (QueryLexicons) (THIS_ BOOL, DWORD *) PURE; | |
STDMETHOD (ChangeSpelling) (THIS_ DWORD, PCSTR, PCSTR) PURE; | |
}; | |
typedef ILexPronounce2A FAR * PILEXPRONOUNCE2A; | |
#ifdef _S_UNICODE | |
#define ILexPronounce2 ILexPronounce2W | |
#define IID_ILexPronounce2 IID_ILexPronounce2W | |
#define PILEXPRONOUNCE2 PILEXPRONOUNCE2W | |
#else | |
#define ILexPronounce2 ILexPronounce2A | |
#define IID_ILexPronounce2 IID_ILexPronounce2A | |
#define PILEXPRONOUNCE2 PILEXPRONOUNCE2A | |
#endif // _S_UNICODE | |
/************************************************************************ | |
Speech Tools | |
*/ | |
/* defines */ | |
// ISTMicWizard->Wizard | |
#define STMWU_CNC 0 | |
#define STMWU_DICTATION 1 | |
#define STMWU_LOWERGAIN 0x10000 // if on, tries for a lower gain | |
#define STMWU_NOAUTOGAIN 0x20000 // if on, doesn't adjust the autogain bit | |
#define STMWF_CANSKIP SETBIT(0) | |
// MICWIZARDINFO | |
#define STMWI_UNKNOWN 0 | |
#define STMWI_CLOSETALK 1 | |
#define STMWI_EARPIECE 2 | |
#define STMWI_HANDSET 3 | |
#define STMWI_CLIPON 4 | |
#define STMWI_DESKTOP 5 | |
#define STMWI_HANDHELD 6 | |
#define STMWI_TOPMONITOR 7 | |
#define STMWI_INMONITOR 8 | |
#define STMWI_KEYBOARD 9 | |
#define STMWI_REMOTE 10 | |
#define STMWIS_UNKNOWN 0 | |
#define STMWIS_SPEAKERS 1 | |
#define STMWIS_HEADPHONES 2 | |
#define STMWIS_BOTH 3 | |
/* structures */ | |
typedef struct { | |
BOOL fHasRunMicWizard; | |
DWORD dwWaveInDevice; | |
DWORD dwMicrophoneType; | |
WCHAR szMicString[64]; | |
} MICWIZARDINFO, *PMICWIZARDINFO; | |
typedef struct { | |
BOOL fHasRunMicWizard; | |
DWORD dwWaveInDevice; | |
DWORD dwMicrophoneType; | |
WCHAR szMicString[64]; | |
DWORD dwSpeakers; | |
DWORD dwLastMicLevel; | |
DWORD dwMicLevelDeviceID; | |
} MICWIZARDINFO2, *PMICWIZARDINFO2; | |
// STLexDlg | |
#define STLD_DISABLEREMOVE SETBIT(0) | |
#define STLD_DISABLEADD SETBIT(1) | |
#define STLD_FORCEEDIT SETBIT(2) | |
#define STLD_DISABLEPRONADDREMOVE SETBIT(3) | |
#define STLD_TEST SETBIT(4) | |
#define STLD_DISABLERENAME SETBIT(5) | |
#define STLD_CHANGEPRONADDS SETBIT(6) | |
/* class IDs */ | |
// {B9F11A95-90E3-11d0-8D77-00A0C9034A7E} | |
DEFINE_GUID(CLSID_STMicWizard, | |
0xb9f11a95, 0x90e3, 0x11d0, 0x8d, 0x77, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
// {92655FB1-ADF9-11d1-BEB9-006008317CE8} | |
DEFINE_GUID(CLSID_STLexDlg, | |
0x92655fb1, 0xadf9, 0x11d1, 0xbe, 0xb9, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
// {B9F11A96-90E3-11d0-8D77-00A0C9034A7E} | |
DEFINE_GUID(CLSID_STPhoneConv, | |
0xb9f11a96, 0x90e3, 0x11d0, 0x8d, 0x77, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
/* interfaces */ | |
// ISTMicWizard Interface | |
#undef INTERFACE | |
#define INTERFACE ISTMicWizard | |
// {B9F11A97-90E3-11d0-8D77-00A0C9034A7E} | |
DEFINE_GUID(IID_ISTMicWizard, | |
0xb9f11a97, 0x90e3, 0x11d0, 0x8d, 0x77, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
DECLARE_INTERFACE_ (ISTMicWizard, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTMicWizard members | |
STDMETHOD (InfoGet) (THIS_ PMICWIZARDINFO) PURE; | |
STDMETHOD (InfoSet) (THIS_ PMICWIZARDINFO) PURE; | |
STDMETHOD (Wizard) (THIS_ HWND, DWORD, DWORD, DWORD, DWORD) PURE; | |
}; | |
typedef ISTMicWizard FAR * PISTMICWIZARD; | |
// ISTLexDlg Interface | |
#undef INTERFACE | |
#define INTERFACE ISTLexDlg | |
// {A27B8A01-ADF9-11d1-BEB9-006008317CE8} | |
DEFINE_GUID(IID_ISTLexDlg, | |
0xa27b8a01, 0xadf9, 0x11d1, 0xbe, 0xb9, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ISTLexDlg, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTLexDlg members | |
STDMETHOD (LexDlg) (THIS_ HWND, PCWSTR, DWORD, LANGID, | |
LPUNKNOWN, LPUNKNOWN, LPUNKNOWN, PCWSTR, PCWSTR) PURE; | |
}; | |
typedef ISTLexDlg FAR * PISTLEXDLG; | |
// ISTPhoneConv Interface | |
#undef INTERFACE | |
#define INTERFACE ISTPhoneConv | |
// {B9F11A98-90E3-11d0-8D77-00A0C9034A7E} | |
DEFINE_GUID(IID_ISTPhoneConv, | |
0xb9f11a98, 0x90e3, 0x11d0, 0x8d, 0x77, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
DECLARE_INTERFACE_ (ISTPhoneConv, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTPhoneConv members | |
STDMETHOD (FromIPA) (THIS_ LPCWSTR, DWORD *, LPWSTR, DWORD, DWORD*) PURE; | |
STDMETHOD (Get) (THIS_ SDATA *) PURE; | |
STDMETHOD (SetByLang) (THIS_ LANGID) PURE; | |
STDMETHOD (SetByText) (THIS_ LPCWSTR) PURE; | |
STDMETHOD (ToIPA) (THIS_ LPCWSTR, DWORD *, LPWSTR, DWORD, DWORD*) PURE; | |
}; | |
typedef ISTPhoneConv FAR * PISTPHONECONV; | |
/************************************************************************ | |
Audio source/destiantion API | |
*/ | |
/************************************************************************ | |
defines */ | |
// AudioStop | |
#define IANSRSN_NODATA 0 | |
#define IANSRSN_PRIORITY 1 | |
#define IANSRSN_INACTIVE 2 | |
#define IANSRSN_EOF 3 | |
// IAudioSourceInstrumented::StateSet | |
#define IASISTATE_PASSTHROUGH 0 | |
#define IASISTATE_PASSNOTHING 1 | |
#define IASISTATE_PASSREADFROMWAVE 2 | |
#define IASISTATE_PASSWRITETOWAVE 3 | |
/************************************************************************ | |
typedefs */ | |
/************************************************************************ | |
Class IDs */ | |
// {CB96B400-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(CLSID_MMAudioDest, | |
0xcb96b400, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
// {D24FE500-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(CLSID_MMAudioSource, | |
0xd24fe500, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
// {D4023720-E4B9-11cf-8D56-00A0C9034A7E} | |
DEFINE_GUID(CLSID_InstAudioSource, | |
0xd4023720, 0xe4b9, 0x11cf, 0x8d, 0x56, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
// {D4123720-E4B9-11cf-8D56-00A0C9034A7E} | |
DEFINE_GUID(CLSID_SuspAudioSource, | |
0xd4123720, 0xe4b9, 0x11cf, 0x8d, 0x56, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
// {D4523720-E4B9-11cf-8D56-00A0C9034A7E} | |
DEFINE_GUID(CLSID_AudioSourceFile, | |
0xd4523720, 0xe4b9, 0x11cf, 0x8d, 0x56, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
// {D4523720-E4B9-11cf-8D56-00A0C9034A7E} | |
DEFINE_GUID(CLSID_AudioDestFile, | |
0xd4623720, 0xe4b9, 0x11cf, 0x8d, 0x56, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
// {B9F11A90-90E3-11d0-8D77-00A0C9034A7E} | |
DEFINE_GUID(CLSID_AudioDestDirect, | |
0xb9f11a90, 0x90e3, 0x11d0, 0x8d, 0x77, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
// {32C35401-D04F-11d0-99B3-00AA004CD65C} | |
DEFINE_GUID(CLSID_AudioSourceDirect, | |
0x32c35401, 0xd04f, 0x11d0, 0x99, 0xb3, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
/************************************************************************ | |
interfaces */ | |
// IAudio | |
#undef INTERFACE | |
#define INTERFACE IAudio | |
// {F546B340-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(IID_IAudio, | |
0xf546b340, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (IAudio, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudio members | |
STDMETHOD (Flush) (THIS) PURE; | |
STDMETHOD (LevelGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (LevelSet) (THIS_ DWORD) PURE; | |
STDMETHOD (PassNotify) (THIS_ PVOID, IID) PURE; | |
STDMETHOD (PosnGet) (THIS_ PQWORD) PURE; | |
STDMETHOD (Claim) (THIS) PURE; | |
STDMETHOD (UnClaim) (THIS) PURE; | |
STDMETHOD (Start) (THIS) PURE; | |
STDMETHOD (Stop) (THIS) PURE; | |
STDMETHOD (TotalGet) (THIS_ PQWORD) PURE; | |
STDMETHOD (ToFileTime) (THIS_ PQWORD, FILETIME *) PURE; | |
STDMETHOD (WaveFormatGet) (THIS_ PSDATA) PURE; | |
STDMETHOD (WaveFormatSet) (THIS_ SDATA) PURE; | |
}; | |
typedef IAudio FAR * PIAUDIO; | |
// IAudioDest | |
#undef INTERFACE | |
#define INTERFACE IAudioDest | |
// {2EC34DA0-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(IID_IAudioDest, | |
0x2ec34da0, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (IAudioDest, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioDest members | |
STDMETHOD (FreeSpace) (THIS_ DWORD *, BOOL *) PURE; | |
STDMETHOD (DataSet) (THIS_ PVOID, DWORD) PURE; | |
STDMETHOD (BookMark) (THIS_ DWORD) PURE; | |
}; | |
typedef IAudioDest FAR * PIAUDIODEST; | |
// IAudioDestNotifySink | |
#undef INTERFACE | |
#define INTERFACE IAudioDestNotifySink | |
// {ACB08C00-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(IID_IAudioDestNotifySink, | |
0xacb08c00, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (IAudioDestNotifySink, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioDestNotifySink members | |
STDMETHOD (AudioStop) (THIS_ WORD) PURE; | |
STDMETHOD (AudioStart) (THIS) PURE; | |
STDMETHOD (FreeSpace) (THIS_ DWORD, BOOL) PURE; | |
STDMETHOD (BookMark) (THIS_ DWORD, BOOL) PURE; | |
}; | |
typedef IAudioDestNotifySink FAR * PIAUDIODESTNOTIFYSINK; | |
// IAudioMultiMediaDevice | |
#undef INTERFACE | |
#define INTERFACE IAudioMultiMediaDevice | |
// {B68AD320-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(IID_IAudioMultiMediaDevice, | |
0xb68ad320, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (IAudioMultiMediaDevice, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioMultiMediaDevice members | |
STDMETHOD (CustomMessage) (THIS_ UINT, SDATA) PURE; | |
STDMETHOD (DeviceNumGet) (THIS_ DWORD*) PURE; | |
STDMETHOD (DeviceNumSet) (THIS_ DWORD) PURE; | |
}; | |
typedef IAudioMultiMediaDevice FAR * PIAUDIOMULTIMEDIADEVICE; | |
// IAudioSource | |
#undef INTERFACE | |
#define INTERFACE IAudioSource | |
// {BC06A220-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(IID_IAudioSource, | |
0xbc06a220, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (IAudioSource, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioSource members | |
STDMETHOD (DataAvailable) (THIS_ DWORD *, BOOL *) PURE; | |
STDMETHOD (DataGet) (THIS_ PVOID, DWORD, DWORD *) PURE; | |
}; | |
typedef IAudioSource FAR * PIAUDIOSOURCE; | |
// IAudioSourceInstrumented | |
#undef INTERFACE | |
#define INTERFACE IAudioSourceInstrumented | |
// {D4023721-E4B9-11cf-8D56-00A0C9034A7E} | |
DEFINE_GUID(IID_IAudioSourceInstrumented, | |
0xd4023721, 0xe4b9, 0x11cf, 0x8d, 0x56, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
DECLARE_INTERFACE_ (IAudioSourceInstrumented, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioSourceInstrumented members | |
STDMETHOD (AudioSource) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (RegistryGet) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (RegistrySet) (THIS_ PCWSTR) PURE; | |
STDMETHOD (StateGet) (THIS_ DWORD*) PURE; | |
STDMETHOD (StateSet) (THIS_ DWORD) PURE; | |
STDMETHOD (WaveFileReadGet)(THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (WaveFileReadSet)(THIS_ PCWSTR) PURE; | |
STDMETHOD (WaveFileWriteGet)(THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (WaveFileWriteSet)(THIS_ PCWSTR) PURE; | |
}; | |
typedef IAudioSourceInstrumented FAR * PIAUDIOSOURCEINSTRUMENTED; | |
// IAudioSourceSusp | |
#undef INTERFACE | |
#define INTERFACE IAudioSourceSusp | |
// {D4123721-E4B9-11cf-8D56-00A0C9034A7E} | |
DEFINE_GUID(IID_IAudioSourceSusp, | |
0xd4123721, 0xe4b9, 0x11cf, 0x8d, 0x56, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
DECLARE_INTERFACE_ (IAudioSourceSusp, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioSourceSusp members | |
STDMETHOD (AudioSource) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (Pause) (THIS) PURE; | |
STDMETHOD (Resume) (THIS) PURE; | |
}; | |
typedef IAudioSourceSusp FAR * PIAUDIOSOURCESUSP; | |
// IAudioSourceNotifySink | |
#undef INTERFACE | |
#define INTERFACE IAudioSourceNotifySink | |
// {C0BD9A80-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(IID_IAudioSourceNotifySink, | |
0xc0bd9a80, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (IAudioSourceNotifySink, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioSourceNotifySink members | |
STDMETHOD (AudioStop) (THIS_ WORD) PURE; | |
STDMETHOD (AudioStart) (THIS) PURE; | |
STDMETHOD (DataAvailable) (THIS_ DWORD, BOOL) PURE; | |
STDMETHOD (Overflow) (THIS_ DWORD) PURE; | |
}; | |
typedef IAudioSourceNotifySink FAR * PIAUDIOSOURCENOTIFYSINK; | |
// IAudioFileNotifySink Interface | |
#undef INTERFACE | |
#define INTERFACE IAudioFileNotifySink | |
// {492FE490-51E7-11b9-C000-FED6CBA3B1A9} | |
DEFINE_GUID( IID_IAudioFileNotifySink, 0x492fe490, 0x51e7, 0x11b9, 0xc0, 0x0, 0xfe, 0xd6, 0xcb, 0xa3, 0xb1, 0xa9); | |
DECLARE_INTERFACE_ (IAudioFileNotifySink, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioSourceNotifySink members | |
STDMETHOD (FileBegin) (THIS_ DWORD) PURE; | |
STDMETHOD (FileEnd) (THIS_ DWORD) PURE; | |
STDMETHOD (QueueEmpty) (THIS) PURE; | |
STDMETHOD (Posn) (THIS_ QWORD, QWORD) PURE; | |
}; | |
typedef IAudioFileNotifySink FAR * PIAUDIOFILENOTIFYSINK; | |
// IAudioFile Interface | |
#undef INTERFACE | |
#define INTERFACE IAudioFile | |
// {FD7C2320-3D6D-11b9-C000-FED6CBA3B1A9} | |
DEFINE_GUID( IID_IAudioFile, 0xfd7c2320, 0x3d6d, 0x11b9, 0xc0, 0x0, 0xfe, 0xd6, 0xcb, 0xa3, 0xb1, 0xa9); | |
DECLARE_INTERFACE_ (IAudioFile, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioFile members | |
STDMETHOD (Register) (THIS_ PIAUDIOFILENOTIFYSINK) PURE; | |
STDMETHOD (Set) (THIS_ LPCWSTR pszFile, DWORD dwID) PURE; | |
STDMETHOD (Add) (THIS_ LPCWSTR pszFile, DWORD dwID) PURE; | |
STDMETHOD (Flush) (THIS) PURE; | |
STDMETHOD (RealTimeSet) (THIS_ WORD wTime) PURE; | |
STDMETHOD (RealTimeGet) (THIS_ WORD *pwTime) PURE; | |
}; | |
typedef IAudioFile FAR * PIAUDIOFILE; | |
// IAudioDirect Interface | |
#undef INTERFACE | |
#define INTERFACE IAudioDirect | |
// {B9F11A94-90E3-11d0-8D77-00A0C9034A7E} | |
DEFINE_GUID(IID_IAudioDirect, | |
0xb9f11a94, 0x90e3, 0x11d0, 0x8d, 0x77, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
DECLARE_INTERFACE_ (IAudioDirect, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioDirect members | |
STDMETHOD (Init) (THIS_ PVOID, REFIID) PURE; | |
}; | |
typedef IAudioDirect FAR * PIAUDIODIRECT; | |
/************************************************************************ | |
defines */ | |
/* SRINFO */ | |
#define SRMI_NAMELEN SVFN_LEN | |
#define SRSEQUENCE_DISCRETE (0) | |
#define SRSEQUENCE_CONTINUOUS (1) | |
#define SRSEQUENCE_WORDSPOT (2) | |
#define SRSEQUENCE_CONTCFGDISCDICT (3) | |
#define SRGRAM_CFG SETBIT(0) | |
#define SRGRAM_DICTATION SETBIT(1) | |
#define SRGRAM_LIMITEDDOMAIN SETBIT(2) | |
#define SRFEATURE_INDEPSPEAKER SETBIT(0) | |
#define SRFEATURE_INDEPMICROPHONE SETBIT(1) | |
#define SRFEATURE_TRAINWORD SETBIT(2) | |
#define SRFEATURE_TRAINPHONETIC SETBIT(3) | |
#define SRFEATURE_WILDCARD SETBIT(4) | |
#define SRFEATURE_ANYWORD SETBIT(5) | |
#define SRFEATURE_PCOPTIMIZED SETBIT(6) | |
#define SRFEATURE_PHONEOPTIMIZED SETBIT(7) | |
#define SRFEATURE_GRAMLIST SETBIT(8) | |
#define SRFEATURE_GRAMLINK SETBIT(9) | |
#define SRFEATURE_MULTILINGUAL SETBIT(10) | |
#define SRFEATURE_GRAMRECURSIVE SETBIT(11) | |
#define SRFEATURE_IPAUNICODE SETBIT(12) | |
#define SRFEATURE_SINGLEINSTANCE SETBIT(13) | |
#define SRFEATURE_THREADSAFE SETBIT(14) | |
#define SRFEATURE_FIXEDAUDIO SETBIT(15) | |
#define SRFEATURE_IPAWORD SETBIT(16) | |
#define SRFEATURE_SAPI4 SETBIT(17) | |
#define SRI_ILEXPRONOUNCE SETBIT(0) | |
#define SRI_ISRATTRIBUTES SETBIT(1) | |
#define SRI_ISRCENTRAL SETBIT(2) | |
#define SRI_ISRDIALOGS SETBIT(3) | |
#define SRI_ISRGRAMCOMMON SETBIT(4) | |
#define SRI_ISRGRAMCFG SETBIT(5) | |
#define SRI_ISRGRAMDICTATION SETBIT(6) | |
#define SRI_ISRGRAMINSERTIONGUI SETBIT(7) | |
#define SRI_ISRESBASIC SETBIT(8) | |
#define SRI_ISRESMERGE SETBIT(9) | |
#define SRI_ISRESAUDIO SETBIT(10) | |
#define SRI_ISRESCORRECTION SETBIT(11) | |
#define SRI_ISRESEVAL SETBIT(12) | |
#define SRI_ISRESGRAPH SETBIT(13) | |
#define SRI_ISRESMEMORY SETBIT(14) | |
#define SRI_ISRESMODIFYGUI SETBIT(15) | |
#define SRI_ISRESSPEAKER SETBIT(16) | |
#define SRI_ISRSPEAKER SETBIT(17) | |
#define SRI_ISRESSCORES SETBIT(18) | |
#define SRI_ISRESAUDIOEX SETBIT(19) | |
#define SRI_ISRGRAMLEXPRON SETBIT(20) | |
#define SRI_ISRRESGRAPHEX SETBIT(21) | |
#define SRI_ILEXPRONOUNCE2 SETBIT(22) | |
#define SRI_IATTRIBUTES SETBIT(23) | |
#define SRI_ISRSPEAKER2 SETBIT(24) | |
#define SRI_ISRDIALOGS2 SETBIT(25) | |
// ISRGramCommon::TrainQuery | |
#define SRGRAMQ_NONE 0 | |
#define SRGRAMQ_GENERALTRAIN 1 | |
#define SRGRAMQ_PHRASE 2 | |
#define SRGRAMQ_DIALOG 3 | |
// ISRGramNotifySink::PhraseFinish | |
#define ISRNOTEFIN_RECOGNIZED SETBIT(0) | |
#define ISRNOTEFIN_THISGRAMMAR SETBIT(1) | |
#define ISRNOTEFIN_FROMTHISGRAMMAR SETBIT(2) | |
// ISRGramNotifySink::Training | |
#define SRGNSTRAIN_GENERAL SETBIT(0) | |
#define SRGNSTRAIN_GRAMMAR SETBIT(1) | |
#define SRGNSTRAIN_MICROPHONE SETBIT(2) | |
// ISRNotifySink::AttribChange | |
#define ISRNSAC_AUTOGAINENABLE 1 | |
#define ISRNSAC_THRESHOLD 2 | |
#define ISRNSAC_ECHO 3 | |
#define ISRNSAC_ENERGYFLOOR 4 | |
#define ISRNSAC_MICROPHONE 5 | |
#define ISRNSAC_REALTIME 6 | |
#define ISRNSAC_SPEAKER 7 | |
#define ISRNSAC_TIMEOUT 8 | |
#define ISRNSAC_STARTLISTENING 9 | |
#define ISRNSAC_STOPLISTENING 10 | |
/* Interference */ | |
#define SRMSGINT_NOISE (0x0001) | |
#define SRMSGINT_NOSIGNAL (0x0002) | |
#define SRMSGINT_TOOLOUD (0x0003) | |
#define SRMSGINT_TOOQUIET (0x0004) | |
#define SRMSGINT_AUDIODATA_STOPPED (0x0005) | |
#define SRMSGINT_AUDIODATA_STARTED (0x0006) | |
#define SRMSGINT_IAUDIO_STARTED (0x0007) | |
#define SRMSGINT_IAUDIO_STOPPED (0x0008) | |
// Grammar header values | |
#define SRHDRTYPE_CFG 0 | |
#define SRHDRTYPE_LIMITEDDOMAIN 1 | |
#define SRHDRTYPE_DICTATION 2 | |
#define SRHDRFLAG_UNICODE SETBIT(0) | |
// results objects defines | |
#define SRRESCUE_COMMA 1 | |
#define SRRESCUE_DECLARATIVEBEGIN 2 | |
#define SRRESCUE_DECLARATIVEEND 3 | |
#define SRRESCUE_IMPERATIVEBEGIN 4 | |
#define SRRESCUE_IMPERATIVEEND 5 | |
#define SRRESCUE_INTERROGATIVEBEGIN 6 | |
#define SRRESCUE_INTERROGATIVEEND 7 | |
#define SRRESCUE_NOISE 8 | |
#define SRRESCUE_PAUSE 9 | |
#define SRRESCUE_SENTENCEBEGIN 10 | |
#define SRRESCUE_SENTENCEEND 11 | |
#define SRRESCUE_UM 12 | |
#define SRRESCUE_WILDCARD 13 | |
#define SRRESCUE_WORD 14 | |
/* SRCFGSYMBOL */ | |
#define SRCFG_STARTOPERATION (1) | |
#define SRCFG_ENDOPERATION (2) | |
#define SRCFG_WORD (3) | |
#define SRCFG_RULE (4) | |
#define SRCFG_WILDCARD (5) | |
#define SRCFG_LIST (6) | |
#define SRCFGO_SEQUENCE (1) | |
#define SRCFGO_ALTERNATIVE (2) | |
#define SRCFGO_REPEAT (3) | |
#define SRCFGO_OPTIONAL (4) | |
// Grammar-chunk IDs | |
#define SRCK_LANGUAGE 1 | |
#define SRCKCFG_WORDS 2 | |
#define SRCKCFG_RULES 3 | |
#define SRCKCFG_EXPORTRULES 4 | |
#define SRCKCFG_IMPORTRULES 5 | |
#define SRCKCFG_LISTS 6 | |
#define SRCKD_TOPIC 7 | |
#define SRCKD_COMMON 8 | |
#define SRCKD_GROUP 9 | |
#define SRCKD_SAMPLE 10 | |
#define SRCKLD_WORDS 11 | |
#define SRCKLD_GROUP 12 | |
#define SRCKLD_SAMPLE 13 | |
#define SRCKD_WORDCOUNT 14 | |
#define SRCKD_NGRAM 15 | |
/* TrainQuery */ | |
#define SRTQEX_REQUIRED (0x0000) | |
#define SRTQEX_RECOMMENDED (0x0001) | |
/* ISRResAudioEx */ | |
#define SRAUDIOTIMESTAMP_DEFAULT ((QWORD) -1) | |
/* ISRResCorrection */ | |
#define SRCORCONFIDENCE_SOME (0x0001) | |
#define SRCORCONFIDENCE_VERY (0x0002) | |
/* ISRResGraphEx */ | |
DEFINE_GUID(SRGARC_ACOUSTICSCORE, 0xbf2f5b20, 0xb91d, 0x11d1, 0xb7, 0xbc, 0x0, 0x60, 0x97, 0x98, 0x41, 0xb4); | |
DEFINE_GUID(SRGARC_WORDTEXT, 0xbf2f5b21, 0xb91d, 0x11d1, 0xb7, 0xbc, 0x0, 0x60, 0x97, 0x98, 0x41, 0xb4); | |
DEFINE_GUID(SRGARC_NONLEXICALTEXT, 0x62ec00, 0xbaa0, 0x11d1, 0xb7, 0xbd, 0x0, 0x60, 0x97, 0x98, 0x41, 0xb4); | |
DEFINE_GUID(SRGARC_WORDPRONUNCIATION, 0xbf2f5b22, 0xb91d, 0x11d1, 0xb7, 0xbc, 0x0, 0x60, 0x97, 0x98, 0x41, 0xb4); | |
DEFINE_GUID(SRGNODE_TIME, 0xbf2f5b23, 0xb91d, 0x11d1, 0xb7, 0xbc, 0x0, 0x60, 0x97, 0x98, 0x41, 0xb4); | |
#define SRGEX_ACOUSTICONLY SETBIT(0) | |
#define SRGEX_LMONLY SETBIT(1) | |
#define SRGEX_ACOUSTICANDLM SETBIT(2) | |
/* ISRResMemory constants */ | |
#define SRRESMEMKIND_AUDIO SETBIT(0) | |
#define SRRESMEMKIND_CORRECTION SETBIT(1) | |
#define SRRESMEMKIND_EVAL SETBIT(2) | |
#define SRRESMEMKIND_PHONEMEGRAPH SETBIT(3) | |
#define SRRESMEMKIND_WORDGRAPH SETBIT(4) | |
// Attribute minimums and maximums | |
#define SRATTR_MINAUTOGAIN 0 | |
#define SRATTR_MAXAUTOGAIN 100 | |
#define SRATTR_MINENERGYFLOOR 0 | |
#define SRATTR_MAXENERGYFLOOR 0xffff | |
#define SRATTR_MINREALTIME 0 | |
#define SRATTR_MAXREALTIME 0xffffffff | |
#define SRATTR_MINTHRESHOLD 0 | |
#define SRATTR_MAXTHRESHOLD 100 | |
#define SRATTR_MINTOINCOMPLETE 0 | |
#define SRATTR_MAXTOINCOMPLETE 0xffffffff | |
#define SRATTR_MINTOCOMPLETE 0 | |
#define SRATTR_MAXTOCOMPLETE 0xffffffff | |
/************************************************************************ | |
typedefs */ | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwUniqueID; | |
BYTE abData[0]; | |
} SRCFGRULE, * PSRCFGRULE; | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwRuleNum; | |
WCHAR szString[0]; | |
} SRCFGIMPRULEW, * PSRCFGIMPRULEW; | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwRuleNum; | |
CHAR szString[0]; | |
} SRCFGIMPRULEA, * PSRCFGIMPRULEA; | |
#ifdef _S_UNICODE | |
#define SRCFGIMPRULE SRCFGIMPRULEW | |
#define PSRCFGIMPRULE PSRCFGIMPRULEW | |
#else | |
#define SRCFGIMPRULE SRCFGIMPRULEA | |
#define PSRCFGIMPRULE PSRCFGIMPRULEA | |
#endif // _S_UNICODE | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwRuleNum; | |
WCHAR szString[0]; | |
} SRCFGXRULEW, * PSRCFGXRULEW; | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwRuleNum; | |
CHAR szString[0]; | |
} SRCFGXRULEA, * PSRCFGXRULEA; | |
#ifdef _S_UNICODE | |
#define SRCFGXRULE SRCFGXRULEW | |
#define PSRCFGXRULE PSRCFGXRULEW | |
#else | |
#define SRCFGXRULE SRCFGXRULEA | |
#define PSRCFGXRULE PSRCFGXRULEA | |
#endif // _S_UNICODE | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwListNum; | |
WCHAR szString[0]; | |
} SRCFGLISTW, * PSRCFGLISTW; | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwListNum; | |
CHAR szString[0]; | |
} SRCFGLISTA, * PSRCFGLISTA; | |
#ifdef _S_UNICODE | |
#define SRCFGLIST SRCFGLISTW | |
#define PSRCFGLIST PSRCFGLISTW | |
#else | |
#define SRCFGLIST SRCFGLISTA | |
#define PSRCFGLIST PSRCFGLISTA | |
#endif // _S_UNICODE | |
typedef struct { | |
WORD wType; | |
WORD wProbability; | |
DWORD dwValue; | |
} SRCFGSYMBOL, * PSRCFGSYMBOL; | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwWordNum; | |
WCHAR szWord[0]; | |
} SRWORDW, * PSRWORDW; | |
typedef struct { | |
DWORD dwSize; | |
DWORD dwWordNum; | |
CHAR szWord[0]; | |
} SRWORDA, * PSRWORDA; | |
#ifdef _S_UNICODE | |
#define SRWORD SRWORDW | |
#define PSRWORD PSRWORDW | |
#else | |
#define SRWORD SRWORDA | |
#define PSRWORD PSRWORDA | |
#endif // _S_UNICODE | |
typedef struct { | |
DWORD dwSize; | |
BYTE abWords[0]; | |
} SRPHRASEW, * PSRPHRASEW; | |
typedef struct { | |
DWORD dwSize; | |
BYTE abWords[0]; | |
} SRPHRASEA, * PSRPHRASEA; | |
#ifdef _S_UNICODE | |
#define SRPHRASE SRPHRASEW | |
#define PSRPHRASE PSRPHRASEW | |
#else | |
#define SRPHRASE SRPHRASEA | |
#define PSRPHRASE PSRPHRASEA | |
#endif // _S_UNICODE | |
typedef struct { | |
DWORD dwType; | |
DWORD dwFlags; | |
} SRHEADER, *PSRHEADER; | |
typedef struct { | |
DWORD dwChunkID; | |
DWORD dwChunkSize; | |
BYTE avInfo[0]; | |
} SRCHUNK, *PSRCHUNK; | |
typedef struct { | |
GUID gEngineID; | |
WCHAR szMfgName[SRMI_NAMELEN]; | |
WCHAR szProductName[SRMI_NAMELEN]; | |
GUID gModeID; | |
WCHAR szModeName[SRMI_NAMELEN]; | |
LANGUAGEW language; | |
DWORD dwSequencing; | |
DWORD dwMaxWordsVocab; | |
DWORD dwMaxWordsState; | |
DWORD dwGrammars; | |
DWORD dwFeatures; | |
DWORD dwInterfaces; | |
DWORD dwEngineFeatures; | |
} SRMODEINFOW, * PSRMODEINFOW; | |
typedef struct { | |
GUID gEngineID; | |
CHAR szMfgName[SRMI_NAMELEN]; | |
CHAR szProductName[SRMI_NAMELEN]; | |
GUID gModeID; | |
CHAR szModeName[SRMI_NAMELEN]; | |
LANGUAGEA language; | |
DWORD dwSequencing; | |
DWORD dwMaxWordsVocab; | |
DWORD dwMaxWordsState; | |
DWORD dwGrammars; | |
DWORD dwFeatures; | |
DWORD dwInterfaces; | |
DWORD dwEngineFeatures; | |
} SRMODEINFOA, * PSRMODEINFOA; | |
#ifdef _S_UNICODE | |
#define SRMODEINFO SRMODEINFOW | |
#define PSRMODEINFO PSRMODEINFOW | |
#else | |
#define SRMODEINFO SRMODEINFOA | |
#define PSRMODEINFO PSRMODEINFOA | |
#endif // _S_UNICODE | |
typedef struct { | |
DWORD dwEngineID; | |
DWORD dwMfgName; | |
DWORD dwProductName; | |
DWORD dwModeID; | |
DWORD dwModeName; | |
DWORD dwLanguage; | |
DWORD dwDialect; | |
DWORD dwSequencing; | |
DWORD dwMaxWordsVocab; | |
DWORD dwMaxWordsState; | |
DWORD dwGrammars; | |
DWORD dwFeatures; | |
DWORD dwInterfaces; | |
DWORD dwEngineFeatures; | |
} SRMODEINFORANK, * PSRMODEINFORANK; | |
// speech recognition enumeration sharing object | |
typedef struct { | |
QWORD qwInstanceID; | |
DWORD dwDeviceID; | |
SRMODEINFOW srModeInfo; | |
} SRSHAREW, * PSRSHAREW; | |
typedef struct { | |
QWORD qwInstanceID; | |
DWORD dwDeviceID; | |
SRMODEINFOA srModeInfo; | |
} SRSHAREA, * PSRSHAREA; | |
#ifdef _S_UNICODE | |
#define SRSHARE SRSHAREW | |
#define PSRSHARE PSRSHAREW | |
#else | |
#define SRSHARE SRSHAREA | |
#define PSRSHARE PSRSHAREA | |
#endif // _S_UNICODE | |
// ISRCentral::GrammarLoad | |
typedef enum { | |
SRGRMFMT_CFG = 0x0000, | |
SRGRMFMT_LIMITEDDOMAIN = 0x0001, | |
SRGRMFMT_DICTATION = 0x0002, | |
SRGRMFMT_CFGNATIVE = 0x8000, | |
SRGRMFMT_LIMITEDDOMAINNATIVE = 0x8001, | |
SRGRMFMT_DICTATIONNATIVE = 0x8002, | |
SRGRMFMT_DRAGONNATIVE1 = 0x8101, | |
SRGRMFMT_DRAGONNATIVE2 = 0x8102, | |
SRGRMFMT_DRAGONNATIVE3 = 0x8103 | |
} SRGRMFMT, * PSRGRMFMT; | |
// SRCKD_NGRAM | |
typedef struct { | |
QWORD dwTotalCounts; | |
DWORD dwNumWordsClasses; | |
DWORD dwWordClassNameOffset; | |
DWORD dwNumContextGroups; | |
DWORD dwContextGroupOffset; | |
DWORD dwNumClasses; | |
DWORD dwClassOffset; | |
BYTE bBitsPerWord; | |
BYTE abFiller[3]; | |
DWORD adwProbability[256]; | |
} NGRAMHDR, * PNGRAMHDR; | |
typedef struct { | |
DWORD dwSize; | |
QWORD dwTotalCounts; | |
DWORD adwWordClassID[4]; | |
DWORD dwNumSequential; | |
DWORD dwNumRandomAccess; | |
BYTE bBackOffProbToken; | |
BYTE abFiller[3]; | |
// WORD or DWORD awRandomAccessWordsClasses[dwNumRandomAccess]; | |
// BYTE abProbToken[dwNumSequential+dwNumRandomAccess]; | |
} NGRAMCGHDR, *PNGRAMCGHDR; | |
/************************************************************************ | |
Class IDs */ | |
// {E02D16C0-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(CLSID_SREnumerator, | |
0xe02d16c0, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
/************************************************************************ | |
interfaces */ | |
/* | |
* ISRAttributes | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRAttributesW | |
DEFINE_GUID(IID_ISRAttributesW, 0x68A33AA0L, 0x44CD, 0x101B, 0x90, 0xA8, 0x00, 0xAA, 0x00, 0x3E, 0x4B, 0x50); | |
DECLARE_INTERFACE_ (ISRAttributesW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRAttributesW members | |
STDMETHOD (AutoGainEnableGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AutoGainEnableSet) (THIS_ DWORD) PURE; | |
STDMETHOD (EchoGet) (THIS_ BOOL *) PURE; | |
STDMETHOD (EchoSet) (THIS_ BOOL) PURE; | |
STDMETHOD (EnergyFloorGet) (THIS_ WORD *) PURE; | |
STDMETHOD (EnergyFloorSet) (THIS_ WORD) PURE; | |
STDMETHOD (MicrophoneGet) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (MicrophoneSet) (THIS_ PCWSTR) PURE; | |
STDMETHOD (RealTimeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (RealTimeSet) (THIS_ DWORD) PURE; | |
STDMETHOD (SpeakerGet) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (SpeakerSet) (THIS_ PCWSTR) PURE; | |
STDMETHOD (TimeOutGet) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (TimeOutSet) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (ThresholdGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ThresholdSet) (THIS_ DWORD) PURE; | |
}; | |
typedef ISRAttributesW FAR * PISRATTRIBUTESW; | |
#undef INTERFACE | |
#define INTERFACE ISRAttributesA | |
DEFINE_GUID(IID_ISRAttributesA, 0x2F26B9C1L, 0xDB31, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRAttributesA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRAttributesA members | |
STDMETHOD (AutoGainEnableGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AutoGainEnableSet) (THIS_ DWORD) PURE; | |
STDMETHOD (EchoGet) (THIS_ BOOL *) PURE; | |
STDMETHOD (EchoSet) (THIS_ BOOL) PURE; | |
STDMETHOD (EnergyFloorGet) (THIS_ WORD *) PURE; | |
STDMETHOD (EnergyFloorSet) (THIS_ WORD) PURE; | |
STDMETHOD (MicrophoneGet) (THIS_ PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (MicrophoneSet) (THIS_ PCSTR) PURE; | |
STDMETHOD (RealTimeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (RealTimeSet) (THIS_ DWORD) PURE; | |
STDMETHOD (SpeakerGet) (THIS_ PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (SpeakerSet) (THIS_ PCSTR) PURE; | |
STDMETHOD (TimeOutGet) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (TimeOutSet) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (ThresholdGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ThresholdSet) (THIS_ DWORD) PURE; | |
}; | |
typedef ISRAttributesA FAR * PISRATTRIBUTESA; | |
#ifdef _S_UNICODE | |
#define ISRAttributes ISRAttributesW | |
#define IID_ISRAttributes IID_ISRAttributesW | |
#define PISRATTRIBUTES PISRATTRIBUTESW | |
#else | |
#define ISRAttributes ISRAttributesA | |
#define IID_ISRAttributes IID_ISRAttributesA | |
#define PISRATTRIBUTES PISRATTRIBUTESA | |
#endif // _S_UNICODE | |
/* | |
* ISRCentral | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRCentralW | |
DEFINE_GUID(IID_ISRCentralW, 0xB9BD3860L, 0x44DB, 0x101B, 0x90, 0xA8, 0x00, 0xAA, 0x00, 0x3E, 0x4B, 0x50); | |
DECLARE_INTERFACE_ (ISRCentralW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRCentralW members | |
STDMETHOD (ModeGet) (THIS_ PSRMODEINFOW) PURE; | |
STDMETHOD (GrammarLoad) (THIS_ SRGRMFMT, SDATA, PVOID, IID, LPUNKNOWN *) PURE; | |
STDMETHOD (Pause) (THIS) PURE; | |
STDMETHOD (PosnGet) (THIS_ PQWORD) PURE; | |
STDMETHOD (Resume) (THIS) PURE; | |
STDMETHOD (ToFileTime) (THIS_ PQWORD, FILETIME *) PURE; | |
STDMETHOD (Register) (THIS_ PVOID, IID, DWORD*) PURE; | |
STDMETHOD (UnRegister) (THIS_ DWORD) PURE; | |
}; | |
typedef ISRCentralW FAR * PISRCENTRALW; | |
#undef INTERFACE | |
#define INTERFACE ISRCentralA | |
DEFINE_GUID(IID_ISRCentralA, 0x2F26B9C2L, 0xDB31, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRCentralA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRCentralA members | |
STDMETHOD (ModeGet) (THIS_ PSRMODEINFOA) PURE; | |
STDMETHOD (GrammarLoad) (THIS_ SRGRMFMT, SDATA, PVOID, IID, LPUNKNOWN *) PURE; | |
STDMETHOD (Pause) (THIS) PURE; | |
STDMETHOD (PosnGet) (THIS_ PQWORD) PURE; | |
STDMETHOD (Resume) (THIS) PURE; | |
STDMETHOD (ToFileTime) (THIS_ PQWORD, FILETIME *) PURE; | |
STDMETHOD (Register) (THIS_ PVOID, IID, DWORD*) PURE; | |
STDMETHOD (UnRegister) (THIS_ DWORD) PURE; | |
}; | |
typedef ISRCentralA FAR * PISRCENTRALA; | |
#ifdef _S_UNICODE | |
#define ISRCentral ISRCentralW | |
#define IID_ISRCentral IID_ISRCentralW | |
#define PISRCENTRAL PISRCENTRALW | |
#else | |
#define ISRCentral ISRCentralA | |
#define IID_ISRCentral IID_ISRCentralA | |
#define PISRCENTRAL PISRCENTRALA | |
#endif // _S_UNICODE | |
/* | |
* ISRDialogs | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRDialogsW | |
DEFINE_GUID(IID_ISRDialogsW, 0xBCFB4C60L, 0x44DB, 0x101B, 0x90, 0xA8, 0x00, 0xAA, 0x00, 0x3E, 0x4B, 0x50); | |
DECLARE_INTERFACE_ (ISRDialogsW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRDialogsW members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainMicDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainGeneralDlg)(THIS_ HWND, PCWSTR) PURE; | |
}; | |
typedef ISRDialogsW FAR * PISRDIALOGSW; | |
#undef INTERFACE | |
#define INTERFACE ISRDialogsA | |
DEFINE_GUID(IID_ISRDialogsA, 0x05EB6C60L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRDialogsA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRDialogsA members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainMicDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainGeneralDlg)(THIS_ HWND, PCSTR) PURE; | |
}; | |
typedef ISRDialogsA FAR * PISRDIALOGSA; | |
#ifdef _S_UNICODE | |
#define ISRDialogs ISRDialogsW | |
#define IID_ISRDialogs IID_ISRDialogsW | |
#define PISRDIALOGS PISRDIALOGSW | |
#else | |
#define ISRDialogs ISRDialogsA | |
#define IID_ISRDialogs IID_ISRDialogsA | |
#define PISRDIALOGS PISRDIALOGSA | |
#endif | |
/* | |
* ISRDialogs2 | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRDialogs2W | |
// {9B445330-E39F-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_ISRDialogs2W, | |
0x9b445330, 0xe39f, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ISRDialogs2W, ISRDialogsW) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRDialogs2W members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainMicDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainGeneralDlg)(THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainPhrasesDlg)(THIS_ HWND, PCWSTR, PCWSTR) PURE; | |
}; | |
typedef ISRDialogs2W FAR * PISRDIALOGS2W; | |
#undef INTERFACE | |
#define INTERFACE ISRDialogs2A | |
// {9B445331-E39F-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_ISRDialogs2A, | |
0x9b445331, 0xe39f, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ISRDialogs2A, ISRDialogsA) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRDialogs2A members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainMicDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainGeneralDlg)(THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainPhrasesDlg)(THIS_ HWND, PCSTR, PCSTR) PURE; | |
}; | |
typedef ISRDialogs2A FAR * PISRDIALOGS2A; | |
#ifdef _S_UNICODE | |
#define ISRDialogs2 ISRDialogs2W | |
#define IID_ISRDialogs2 IID_ISRDialogs2W | |
#define PISRDIALOGS2 PISRDIALOGS2W | |
#else | |
#define ISRDialogs2 ISRDialogs2A | |
#define IID_ISRDialogs2 IID_ISRDialogs2A | |
#define PISRDIALOGS2 PISRDIALOGS2A | |
#endif | |
/* | |
* ISREnum | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISREnumW | |
DEFINE_GUID(IID_ISREnumW, 0xBFA9F1A0L, 0x44DB, 0x101B, 0x90, 0xA8, 0x00, 0xAA, 0x00, 0x3E, 0x4B, 0x50); | |
DECLARE_INTERFACE_ (ISREnumW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISREnumW members | |
STDMETHOD (Next) (THIS_ ULONG, PSRMODEINFOW, ULONG *) PURE; | |
STDMETHOD (Skip) (THIS_ ULONG) PURE; | |
STDMETHOD (Reset) (THIS) PURE; | |
STDMETHOD (Clone) (THIS_ ISREnumW * FAR *) PURE; | |
STDMETHOD (Select) (THIS_ GUID, PISRCENTRALW *, LPUNKNOWN) PURE; | |
}; | |
typedef ISREnumW FAR * PISRENUMW; | |
#undef INTERFACE | |
#define INTERFACE ISREnumA | |
DEFINE_GUID(IID_ISREnumA, 0x05EB6C61L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISREnumA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISREnumA members | |
STDMETHOD (Next) (THIS_ ULONG, PSRMODEINFOA, ULONG *) PURE; | |
STDMETHOD (Skip) (THIS_ ULONG) PURE; | |
STDMETHOD (Reset) (THIS) PURE; | |
STDMETHOD (Clone) (THIS_ ISREnumA * FAR *) PURE; | |
STDMETHOD (Select) (THIS_ GUID, PISRCENTRALA *, LPUNKNOWN) PURE; | |
}; | |
typedef ISREnumA FAR * PISRENUMA; | |
#ifdef _S_UNICODE | |
#define ISREnum ISREnumW | |
#define IID_ISREnum IID_ISREnumW | |
#define PISRENUM PISRENUMW | |
#else | |
#define ISREnum ISREnumA | |
#define IID_ISREnum IID_ISREnumA | |
#define PISRENUM PISRENUMA | |
#endif | |
/* | |
* ISRFind | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRFindW | |
DEFINE_GUID(IID_ISRFindW, 0xC2835060L, 0x44DB, 0x101B, 0x90, 0xA8, 0x00, 0xAA, 0x00, 0x3E, 0x4B, 0x50); | |
DECLARE_INTERFACE_ (ISRFindW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRFindW members | |
STDMETHOD (Find) (THIS_ PSRMODEINFOW, PSRMODEINFORANK, PSRMODEINFOW) PURE; | |
STDMETHOD (Select) (THIS_ GUID, PISRCENTRALW *, LPUNKNOWN) PURE; | |
}; | |
typedef ISRFindW FAR * PISRFINDW; | |
#undef INTERFACE | |
#define INTERFACE ISRFindA | |
DEFINE_GUID(IID_ISRFindA, 0x05EB6C62L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRFindA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRFindA members | |
STDMETHOD (Find) (THIS_ PSRMODEINFOA, PSRMODEINFORANK, PSRMODEINFOA) PURE; | |
STDMETHOD (Select) (THIS_ GUID, PISRCENTRALA *, LPUNKNOWN) PURE; | |
}; | |
typedef ISRFindA FAR * PISRFINDA; | |
#ifdef _S_UNICODE | |
#define ISRFind ISRFindW | |
#define IID_ISRFind IID_ISRFindW | |
#define PISRFIND PISRFINDW | |
#else | |
#define ISRFind ISRFindA | |
#define IID_ISRFind IID_ISRFindA | |
#define PISRFIND PISRFINDA | |
#endif | |
/* | |
* ISRGramLexPron | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRGramLexPronW | |
// {7EB4B631-19A7-11d1-AF95-0000F81E880D} | |
DEFINE_GUID(IID_ISRGramLexPronW, 0x7eb4b631, 0x19a7, 0x11d1, 0xaf, 0x95, 0x0, 0x0, 0xf8, 0x1e, 0x88, 0xd); | |
DECLARE_INTERFACE_ (ISRGramLexPronW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramLexPronW members | |
STDMETHOD (Add) (THIS_ VOICECHARSET, PCWSTR, PCWSTR, | |
VOICEPARTOFSPEECH, PVOID, DWORD, BOOL) PURE; | |
STDMETHOD (Get) (THIS_ VOICECHARSET, PCWSTR, WORD, PWSTR, | |
DWORD, DWORD *, VOICEPARTOFSPEECH *, PVOID, | |
DWORD, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ PCWSTR, WORD) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCWSTR, PCWSTR) PURE; | |
}; | |
typedef ISRGramLexPronW FAR * PISRGRAMLEXPRONW; | |
#undef INTERFACE | |
#define INTERFACE ISRGramLexPronA | |
// {7EB4B632-19A7-11d1-AF95-0000F81E880D} | |
DEFINE_GUID(IID_ISRGramLexPronA, 0x7eb4b632, 0x19a7, 0x11d1, 0xaf, 0x95, 0x0, 0x0, 0xf8, 0x1e, 0x88, 0xd); | |
DECLARE_INTERFACE_ (ISRGramLexPronA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// LexPronA members | |
STDMETHOD (Add) (THIS_ VOICECHARSET, PCSTR, PCSTR, | |
VOICEPARTOFSPEECH, PVOID, DWORD, BOOL) PURE; | |
STDMETHOD (Get) (THIS_ VOICECHARSET, PCSTR, WORD, PSTR, | |
DWORD, DWORD *, VOICEPARTOFSPEECH *, PVOID, | |
DWORD, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ PCSTR, WORD) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCSTR, PCSTR) PURE; | |
}; | |
typedef ISRGramLexPronA FAR * PISRGRAMLEXPRONA; | |
#ifdef _S_UNICODE | |
#define ISRGramLexPron ISRGramLexPronW | |
#define IID_ISRGramLexPron IID_ISRGramLexPronW | |
#define PISRGRAMLEXPRON PISRGRAMLEXPRONW | |
#else | |
#define ISRGramLexPron ISRGramLexPronA | |
#define IID_ISRGramLexPron IID_ISRGramLexPronA | |
#define PISRGRAMLEXPRON PISRGRAMLEXPRONA | |
#endif // _S_UNICODE | |
/* | |
* ISRGramCommon | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRGramCommonW | |
DEFINE_GUID(IID_ISRGramCommonW, 0xe8c3e160, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (ISRGramCommonW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramCommonW members | |
STDMETHOD (Activate) (THIS_ HWND, BOOL, PCWSTR) PURE; | |
STDMETHOD (Archive) (THIS_ BOOL, PVOID, DWORD, DWORD *) PURE; | |
STDMETHOD (BookMark) (THIS_ QWORD, DWORD) PURE; | |
STDMETHOD (Deactivate) (THIS_ PCWSTR) PURE; | |
STDMETHOD (DeteriorationGet) (THIS_ DWORD *, DWORD *, DWORD *) PURE; | |
STDMETHOD (DeteriorationSet) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TrainDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainPhrase) (THIS_ DWORD, PSDATA) PURE; | |
STDMETHOD (TrainQuery) (THIS_ DWORD *) PURE; | |
}; | |
typedef ISRGramCommonW FAR * PISRGRAMCOMMONW; | |
#undef INTERFACE | |
#define INTERFACE ISRGramCommonA | |
DEFINE_GUID(IID_ISRGramCommonA, 0x05EB6C63L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRGramCommonA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramCommonA members | |
STDMETHOD (Activate) (THIS_ HWND, BOOL, PCSTR) PURE; | |
STDMETHOD (Archive) (THIS_ BOOL, PVOID, DWORD, DWORD *) PURE; | |
STDMETHOD (BookMark) (THIS_ QWORD, DWORD) PURE; | |
STDMETHOD (Deactivate) (THIS_ PCSTR) PURE; | |
STDMETHOD (DeteriorationGet) (THIS_ DWORD *, DWORD *, DWORD *) PURE; | |
STDMETHOD (DeteriorationSet) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TrainDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainPhrase) (THIS_ DWORD, PSDATA) PURE; | |
STDMETHOD (TrainQuery) (THIS_ DWORD *) PURE; | |
}; | |
typedef ISRGramCommonA FAR * PISRGRAMCOMMONA; | |
#ifdef _S_UNICODE | |
#define ISRGramCommon ISRGramCommonW | |
#define IID_ISRGramCommon IID_ISRGramCommonW | |
#define PISRGRAMCOMMON PISRGRAMCOMMONW | |
#else | |
#define ISRGramCommon ISRGramCommonA | |
#define IID_ISRGramCommon IID_ISRGramCommonA | |
#define PISRGRAMCOMMON PISRGRAMCOMMONA | |
#endif | |
/* | |
* ISRGramCFG | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRGramCFGW | |
DEFINE_GUID(IID_ISRGramCFGW, 0xecc0b180, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (ISRGramCFGW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramCFGW members | |
STDMETHOD (LinkQuery) (THIS_ PCWSTR, BOOL *) PURE; | |
STDMETHOD (ListAppend) (THIS_ PCWSTR, SDATA) PURE; | |
STDMETHOD (ListGet) (THIS_ PCWSTR, PSDATA) PURE; | |
STDMETHOD (ListRemove) (THIS_ PCWSTR, SDATA) PURE; | |
STDMETHOD (ListSet) (THIS_ PCWSTR, SDATA) PURE; | |
STDMETHOD (ListQuery) (THIS_ PCWSTR, BOOL *) PURE; | |
}; | |
typedef ISRGramCFGW FAR * PISRGRAMCFGW; | |
#undef INTERFACE | |
#define INTERFACE ISRGramCFGA | |
DEFINE_GUID(IID_ISRGramCFGA, 0x05EB6C64L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRGramCFGA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramCFGA members | |
STDMETHOD (LinkQuery) (THIS_ PCSTR, BOOL *) PURE; | |
STDMETHOD (ListAppend) (THIS_ PCSTR, SDATA) PURE; | |
STDMETHOD (ListGet) (THIS_ PCSTR, PSDATA) PURE; | |
STDMETHOD (ListRemove) (THIS_ PCSTR, SDATA) PURE; | |
STDMETHOD (ListSet) (THIS_ PCSTR, SDATA) PURE; | |
STDMETHOD (ListQuery) (THIS_ PCSTR, BOOL *) PURE; | |
}; | |
typedef ISRGramCFGA FAR * PISRGRAMCFGA; | |
#ifdef _S_UNICODE | |
#define ISRGramCFG ISRGramCFGW | |
#define IID_ISRGramCFG IID_ISRGramCFGW | |
#define PISRGRAMCFG PISRGRAMCFGW | |
#else | |
#define ISRGramCFG ISRGramCFGA | |
#define IID_ISRGramCFG IID_ISRGramCFGA | |
#define PISRGRAMCFG PISRGRAMCFGA | |
#endif | |
/* | |
* ISRGramDictation | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRGramDictationW | |
DEFINE_GUID(IID_ISRGramDictationW, 0x090CD9A3, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRGramDictationW, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramDictationW members | |
STDMETHOD (Context) (THIS_ PCWSTR, PCWSTR) PURE; | |
STDMETHOD (Hint) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Words) (THIS_ PCWSTR) PURE; | |
}; | |
typedef ISRGramDictationW FAR *PISRGRAMDICTATIONW; | |
#undef INTERFACE | |
#define INTERFACE ISRGramDictationA | |
DEFINE_GUID(IID_ISRGramDictationA, 0x05EB6C65L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRGramDictationA, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramDictationA members | |
STDMETHOD (Context) (THIS_ PCSTR, PCSTR) PURE; | |
STDMETHOD (Hint) (THIS_ PCSTR) PURE; | |
STDMETHOD (Words) (THIS_ PCSTR) PURE; | |
}; | |
typedef ISRGramDictationA FAR *PISRGRAMDICTATIONA; | |
#ifdef _S_UNICODE | |
#define ISRGramDictation ISRGramDictationW | |
#define IID_ISRGramDictation IID_ISRGramDictationW | |
#define PISRGRAMDICTATION PISRGRAMDICTATIONW | |
#else | |
#define ISRGramDictation ISRGramDictationA | |
#define IID_ISRGramDictation IID_ISRGramDictationA | |
#define PISRGRAMDICTATION PISRGRAMDICTATIONA | |
#endif | |
// ISRGramInsertionGUI | |
// This does not need an ANSI/UNICODE interface because no characters are passed | |
#undef INTERFACE | |
#define INTERFACE ISRGramInsertionGUI | |
// {090CD9A4-DA1A-11CD-B3CA-00AA0047BA4F} | |
DEFINE_GUID(IID_ISRGramInsertionGUI, | |
0x090CD9A4, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRGramInsertionGUI, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramInsertionGUI members | |
STDMETHOD (Hide) (THIS) PURE; | |
STDMETHOD (Move) (THIS_ RECT) PURE; | |
STDMETHOD (Show) (THIS_ HWND) PURE; | |
}; | |
typedef ISRGramInsertionGUI FAR *PISRGRAMINSERTIONGUI; | |
/* | |
* ISRGramNotifySink | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRGramNotifySinkW | |
DEFINE_GUID(IID_ISRGramNotifySinkW, 0xf106bfa0, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (ISRGramNotifySinkW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramNotifySinkW members | |
STDMETHOD (BookMark) (THIS_ DWORD) PURE; | |
STDMETHOD (Paused) (THIS) PURE; | |
STDMETHOD (PhraseFinish) (THIS_ DWORD, QWORD, QWORD, PSRPHRASEW, LPUNKNOWN) PURE; | |
STDMETHOD (PhraseHypothesis)(THIS_ DWORD, QWORD, QWORD, PSRPHRASEW, LPUNKNOWN) PURE; | |
STDMETHOD (PhraseStart) (THIS_ QWORD) PURE; | |
STDMETHOD (ReEvaluate) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (Training) (THIS_ DWORD) PURE; | |
STDMETHOD (UnArchive) (THIS_ LPUNKNOWN) PURE; | |
}; | |
typedef ISRGramNotifySinkW FAR * PISRGRAMNOTIFYSINKW; | |
// ISRGramNotifySinkA | |
#undef INTERFACE | |
#define INTERFACE ISRGramNotifySinkA | |
// {EFEEA350-CE5E-11cd-9D96-00AA002FC7C9} | |
DEFINE_GUID(IID_ISRGramNotifySinkA, | |
0xefeea350, 0xce5e, 0x11cd, 0x9d, 0x96, 0x0, 0xaa, 0x0, 0x2f, 0xc7, 0xc9); | |
DECLARE_INTERFACE_ (ISRGramNotifySinkA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRGramNotifySinkA members | |
STDMETHOD (BookMark) (THIS_ DWORD) PURE; | |
STDMETHOD (Paused) (THIS) PURE; | |
STDMETHOD (PhraseFinish) (THIS_ DWORD, QWORD, QWORD, PSRPHRASEA, LPUNKNOWN) PURE; | |
STDMETHOD (PhraseHypothesis)(THIS_ DWORD, QWORD, QWORD, PSRPHRASEA, LPUNKNOWN) PURE; | |
STDMETHOD (PhraseStart) (THIS_ QWORD) PURE; | |
STDMETHOD (ReEvaluate) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (Training) (THIS_ DWORD) PURE; | |
STDMETHOD (UnArchive) (THIS_ LPUNKNOWN) PURE; | |
}; | |
typedef ISRGramNotifySinkA FAR * PISRGRAMNOTIFYSINKA; | |
#ifdef _S_UNICODE | |
#define ISRGramNotifySink ISRGramNotifySinkW | |
#define IID_ISRGramNotifySink IID_ISRGramNotifySinkW | |
#define PISRGRAMNOTIFYSINK PISRGRAMNOTIFYSINKW | |
#else | |
#define ISRGramNotifySink ISRGramNotifySinkA | |
#define IID_ISRGramNotifySink IID_ISRGramNotifySinkA | |
#define PISRGRAMNOTIFYSINK PISRGRAMNOTIFYSINKA | |
#endif // _S_UNICODE | |
// ISRNotifySink | |
// This does not need an ANSI/UNICODE interface because no characters are passed | |
#undef INTERFACE | |
#define INTERFACE ISRNotifySink | |
DEFINE_GUID(IID_ISRNotifySink, | |
0x090CD9B0L, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRNotifySink, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRNotifySink members | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Interference) (THIS_ QWORD, QWORD, DWORD) PURE; | |
STDMETHOD (Sound) (THIS_ QWORD, QWORD) PURE; | |
STDMETHOD (UtteranceBegin) (THIS_ QWORD) PURE; | |
STDMETHOD (UtteranceEnd) (THIS_ QWORD, QWORD) PURE; | |
STDMETHOD (VUMeter) (THIS_ QWORD, WORD) PURE; | |
}; | |
typedef ISRNotifySink FAR *PISRNOTIFYSINK; | |
// Just in case anyone uses the wide/ansi versions | |
#define ISRNotifySinkW ISRNotifySink | |
#define IID_ISRNotifySinkW IID_ISRNotifySink | |
#define PISRNOTIFYSINKW PISRNOTIFYSINK | |
#define ISRNotifySinkA ISRNotifySink | |
#define IID_ISRNotifySinkA IID_ISRNotifySink | |
#define PISRNOTIFYSINKA PISRNOTIFYSINK | |
// ISRNotifySink2 | |
// This does not need an ANSI/UNICODE interface because no characters are passed | |
#undef INTERFACE | |
#define INTERFACE ISRNotifySink2 | |
// {9B445332-E39F-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_ISRNotifySink2, | |
0x9b445332, 0xe39f, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ISRNotifySink2, ISRNotifySink) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRNotifySink2 members | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Interference) (THIS_ QWORD, QWORD, DWORD) PURE; | |
STDMETHOD (Sound) (THIS_ QWORD, QWORD) PURE; | |
STDMETHOD (UtteranceBegin) (THIS_ QWORD) PURE; | |
STDMETHOD (UtteranceEnd) (THIS_ QWORD, QWORD) PURE; | |
STDMETHOD (VUMeter) (THIS_ QWORD, WORD) PURE; | |
STDMETHOD (Training) (THIS) PURE; | |
STDMETHOD (Error) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (Warning) (THIS_ LPUNKNOWN) PURE; | |
}; | |
typedef ISRNotifySink2 FAR *PISRNOTIFYSINK2; | |
/* | |
* ISRResBasic | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResBasicW | |
DEFINE_GUID(IID_ISRResBasicW, 0x090CD9A5, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResBasicW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResBasicW members | |
STDMETHOD (PhraseGet) (THIS_ DWORD, PSRPHRASEW, DWORD, DWORD *) PURE; | |
STDMETHOD (Identify) (THIS_ GUID *) PURE; | |
STDMETHOD (TimeGet) (THIS_ PQWORD, PQWORD) PURE; | |
STDMETHOD (FlagsGet) (THIS_ DWORD, DWORD *) PURE; | |
}; | |
typedef ISRResBasicW FAR *PISRRESBASICW; | |
#undef INTERFACE | |
#define INTERFACE ISRResBasicA | |
DEFINE_GUID(IID_ISRResBasicA, 0x05EB6C66L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResBasicA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResBasicA members | |
STDMETHOD (PhraseGet) (THIS_ DWORD, PSRPHRASEA, DWORD, DWORD *) PURE; | |
STDMETHOD (Identify) (THIS_ GUID *) PURE; | |
STDMETHOD (TimeGet) (THIS_ PQWORD, PQWORD) PURE; | |
STDMETHOD (FlagsGet) (THIS_ DWORD, DWORD *) PURE; | |
}; | |
typedef ISRResBasicA FAR *PISRRESBASICA; | |
#ifdef _S_UNICODE | |
#define ISRResBasic ISRResBasicW | |
#define IID_ISRResBasic IID_ISRResBasicW | |
#define PISRRESBASIC PISRRESBASICW | |
#else | |
#define ISRResBasic ISRResBasicA | |
#define IID_ISRResBasic IID_ISRResBasicA | |
#define PISRRESBASIC PISRRESBASICA | |
#endif // _S_UNICODE | |
/* | |
* ISRResScore | |
* This does not need an ANSI/UNICODE interface because no characters are passed | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResScores | |
// {0B37F1E0-B8DE-11cf-B22E-00AA00A215ED} | |
DEFINE_GUID(IID_ISRResScores, 0xb37f1e0, 0xb8de, 0x11cf, 0xb2, 0x2e, 0x0, 0xaa, 0x0, 0xa2, 0x15, 0xed); | |
DECLARE_INTERFACE_ (ISRResScores, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResScores members | |
STDMETHOD (GetPhraseScore) (THIS_ DWORD, long FAR *) PURE; | |
STDMETHOD (GetWordScores) (THIS_ DWORD, long FAR *, DWORD, LPDWORD) PURE; | |
}; | |
typedef ISRResScores FAR* PISRRESSCORES; | |
// In case someone uses the A/W versions... | |
#define ISRResScoresW ISRResScores | |
#define IID_ISRResScoresW IID_ISRResScores | |
#define PISRRESSCORESW PISRRESSCORES | |
#define ISRResScoresA ISRResScores | |
#define IID_ISRResScoresA IID_ISRResScores | |
#define PISRRESSCORESA PISRRESSCORES | |
/* | |
* ISRResMerge | |
* This does not need an ANSI/UNICODE interface because no characters are passed | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResMerge | |
DEFINE_GUID(IID_ISRResMerge, 0x090CD9A6, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResMerge, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResMerge members | |
STDMETHOD (Merge) (THIS_ LPUNKNOWN, PIUNKNOWN ) PURE; | |
STDMETHOD (Split) (THIS_ QWORD, PIUNKNOWN , PIUNKNOWN ) PURE; | |
}; | |
typedef ISRResMerge FAR *PISRRESMERGE; | |
/* | |
* ISRResAudio | |
* This does not need an ANSI/UNICODE interface because no characters are passed | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResAudio | |
DEFINE_GUID(IID_ISRResAudio, 0x090CD9A7, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResAudio, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResAudio members | |
STDMETHOD (GetWAV) (THIS_ PSDATA) PURE; | |
}; | |
typedef ISRResAudio FAR *PISRRESAUDIO; | |
/* | |
* ISRResAudioEx | |
* This does not need an ANSI/UNICODE interface because no characters are passed | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResAudioEx | |
DEFINE_GUID(IID_ISRResAudioEx, 0xaad74c30, 0x4b02, 0x11d1, 0xb7, 0x92, 0x0, 0x60, 0x97, 0x98, 0x41, 0xb4); | |
DECLARE_INTERFACE_ (ISRResAudioEx, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResAudioEx members | |
STDMETHOD (GetWAV) (THIS_ PSDATA, QWORD, QWORD) PURE; | |
}; | |
typedef ISRResAudioEx FAR *PISRRESAUDIOEX; | |
/* | |
* ISRResCorrection | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResCorrectionW | |
DEFINE_GUID(IID_ISRResCorrectionW, 0x090CD9A8L, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResCorrectionW, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResCorrectionW members | |
STDMETHOD (Correction) (THIS_ PSRPHRASEW, WORD) PURE; | |
STDMETHOD (Validate) (THIS_ WORD) PURE; | |
}; | |
typedef ISRResCorrectionW FAR *PISRRESCORRECTIONW; | |
#undef INTERFACE | |
#define INTERFACE ISRResCorrectionA | |
DEFINE_GUID(IID_ISRResCorrectionA, 0x05EB6C67L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResCorrectionA, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResCorrectionA members | |
STDMETHOD (Correction) (THIS_ PSRPHRASEA, WORD) PURE; | |
STDMETHOD (Validate) (THIS_ WORD) PURE; | |
}; | |
typedef ISRResCorrectionA FAR *PISRRESCORRECTIONA; | |
#ifdef _S_UNICODE | |
#define ISRResCorrection ISRResCorrectionW | |
#define IID_ISRResCorrection IID_ISRResCorrectionW | |
#define PISRRESCORRECTION PISRRESCORRECTIONW | |
#else | |
#define ISRResCorrection ISRResCorrectionA | |
#define IID_ISRResCorrection IID_ISRResCorrectionA | |
#define PISRRESCORRECTION PISRRESCORRECTIONA | |
#endif // _S_UNICODE | |
// ISRResEval | |
// This does not need an ANSI/UNICODE interface because no characters are passed | |
#undef INTERFACE | |
#define INTERFACE ISRResEval | |
// {90CD9A9-DA1A-11CD-B3CA-00AA0047BA4F} | |
DEFINE_GUID(IID_ISRResEval, | |
0x090CD9A9, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResEval, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// SRResEval members | |
STDMETHOD (ReEvaluate) (THIS_ BOOL *) PURE; | |
}; | |
typedef ISRResEval FAR *PISRRESEVAL; | |
/* | |
* ISRResGraph | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResGraphW | |
DEFINE_GUID(IID_ISRResGraphW, 0x090CD9AA, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResGraphW, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResGraphW members | |
STDMETHOD (BestPathPhoneme) (THIS_ DWORD, DWORD *, DWORD, DWORD *) PURE; | |
STDMETHOD (BestPathWord) (THIS_ DWORD, DWORD *, DWORD, DWORD *) PURE; | |
STDMETHOD (GetPhonemeNode) (THIS_ DWORD, PSRRESPHONEMENODE, PWCHAR, | |
PWCHAR) PURE; | |
STDMETHOD (GetWordNode) (THIS_ DWORD, PSRRESWORDNODE, PSRWORDW, DWORD, | |
DWORD *) PURE; | |
STDMETHOD (PathScorePhoneme) (THIS_ DWORD *, DWORD, LONG *) PURE; | |
STDMETHOD (PathScoreWord) (THIS_ DWORD *, DWORD, LONG *) PURE; | |
}; | |
typedef ISRResGraphW FAR *PISRRESGRAPHW; | |
#undef INTERFACE | |
#define INTERFACE ISRResGraphA | |
DEFINE_GUID(IID_ISRResGraphA, 0x05EB6C68L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResGraphA, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResGraphA members | |
STDMETHOD (BestPathPhoneme) (THIS_ DWORD, DWORD *, DWORD, DWORD *) PURE; | |
STDMETHOD (BestPathWord) (THIS_ DWORD, DWORD *, DWORD, DWORD *) PURE; | |
STDMETHOD (GetPhonemeNode) (THIS_ DWORD, PSRRESPHONEMENODE, PWCHAR, | |
PCHAR) PURE; | |
STDMETHOD (GetWordNode) (THIS_ DWORD, PSRRESWORDNODE, PSRWORDA, DWORD, | |
DWORD *) PURE; | |
STDMETHOD (PathScorePhoneme) (THIS_ DWORD *, DWORD, LONG *) PURE; | |
STDMETHOD (PathScoreWord) (THIS_ DWORD *, DWORD, LONG *) PURE; | |
}; | |
typedef ISRResGraphA FAR *PISRRESGRAPHA; | |
#ifdef _S_UNICODE | |
#define ISRResGraph ISRResGraphW | |
#define IID_ISRResGraph IID_ISRResGraphW | |
#define PISRRESGRAPH PISRRESGRAPHW | |
#else | |
#define ISRResGraph ISRResGraphA | |
#define IID_ISRResGraph IID_ISRResGraphA | |
#define PISRRESGRAPH PISRRESGRAPHA | |
#endif // _S_UNICODE | |
/* | |
* ISRResGraphEx | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResGraphEx | |
DEFINE_GUID(IID_ISRResGraphEx, 0xbe8f63a0, 0xb915, 0x11d1, 0xb7, 0xbc, 0x0, 0x60, 0x97, 0x98, 0x41, 0xb4); | |
DECLARE_INTERFACE_ (ISRResGraphEx, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResGraphEx members | |
STDMETHOD (NodeStartGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (NodeEndGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ArcEnum) (THIS_ DWORD, DWORD *, DWORD, DWORD *, BOOL) PURE; | |
STDMETHOD (NodeGet) (THIS_ DWORD, DWORD *, BOOL) PURE; | |
STDMETHOD (DWORDGet) (THIS_ DWORD, GUID, DWORD *) PURE; | |
STDMETHOD (DataGet) (THIS_ DWORD, GUID, SDATA *) PURE; | |
STDMETHOD (ScoreGet) (THIS_ DWORD, DWORD *, DWORD, DWORD, DWORD, DWORD *) PURE; | |
STDMETHOD (BestPathEnum) (THIS_ DWORD, DWORD *, DWORD, DWORD *, DWORD, BOOL, SDATA *) PURE; | |
STDMETHOD (GetAllArcs) (THIS_ DWORD *, DWORD, DWORD *, DWORD *) PURE; | |
STDMETHOD (GetAllNodes) (THIS_ DWORD *, DWORD, DWORD *, DWORD *) PURE; | |
}; | |
typedef ISRResGraphEx FAR *PISRRESGRAPHEX; | |
// ISRResMemory | |
// This does not need an ANSI/UNICODE interface because no characters are passed | |
#undef INTERFACE | |
#define INTERFACE ISRResMemory | |
DEFINE_GUID(IID_ISRResMemory, 0x090CD9AB, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResMemory, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResMemory members | |
STDMETHOD (Free) (THIS_ DWORD) PURE; | |
STDMETHOD (Get) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (LockGet) (THIS_ BOOL *) PURE; | |
STDMETHOD (LockSet) (THIS_ BOOL) PURE; | |
}; | |
typedef ISRResMemory FAR *PISRRESMEMORY; | |
// ISRResModifyGUI | |
// This does not need an ANSI/UNICODE interface because no characters are passed | |
#undef INTERFACE | |
#define INTERFACE ISRResModifyGUI | |
DEFINE_GUID(IID_ISRResModifyGUI, 0x090CD9AC, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResModifyGUI, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResModifyGUI members | |
STDMETHOD (Hide) (THIS) PURE; | |
STDMETHOD (Move) (THIS_ RECT *) PURE; | |
STDMETHOD (Show) (THIS_ HWND) PURE; | |
}; | |
typedef ISRResModifyGUI FAR *PISRRESMODIFYGUI; | |
/* | |
* ISRResSpeakerW | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRResSpeakerW | |
DEFINE_GUID(IID_ISRResSpeakerW, 0x090CD9AD, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResSpeakerW, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResSpeakerW members | |
STDMETHOD (Correction) (THIS_ PCWSTR, WORD) PURE; | |
STDMETHOD (Validate) (THIS_ WORD) PURE; | |
STDMETHOD (Identify) (THIS_ DWORD, PWSTR, DWORD, DWORD *, | |
LONG *) PURE; | |
STDMETHOD (IdentifyForFree) (THIS_ BOOL *) PURE; | |
}; | |
typedef ISRResSpeakerW FAR *PISRRESSPEAKERW; | |
#undef INTERFACE | |
#define INTERFACE ISRResSpeakerA | |
DEFINE_GUID(IID_ISRResSpeakerA, 0x05EB6C69L, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRResSpeakerA, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRResSpeakerA members | |
STDMETHOD (Correction) (THIS_ PCSTR, WORD) PURE; | |
STDMETHOD (Validate) (THIS_ WORD) PURE; | |
STDMETHOD (Identify) (THIS_ DWORD, PSTR, DWORD, DWORD *, | |
LONG *) PURE; | |
STDMETHOD (IdentifyForFree) (THIS_ BOOL *) PURE; | |
}; | |
typedef ISRResSpeakerA FAR *PISRRESSPEAKERA; | |
#ifdef _S_UNICODE | |
#define ISRResSpeaker ISRResSpeakerW | |
#define IID_ISRResSpeaker IID_ISRResSpeakerW | |
#define PISRRESSPEAKER PISRRESSPEAKERW | |
#else | |
#define ISRResSpeaker ISRResSpeakerA | |
#define IID_ISRResSpeaker IID_ISRResSpeakerA | |
#define PISRRESSPEAKER PISRRESSPEAKERA | |
#endif // _S_UNICODE | |
/* | |
* ISRSpeaker | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRSpeakerW | |
DEFINE_GUID(IID_ISRSpeakerW, 0x090CD9AE, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRSpeakerW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRSpeakerW members | |
STDMETHOD (Delete) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Enum) (THIS_ PWSTR *, DWORD *) PURE; | |
STDMETHOD (Merge) (THIS_ PCWSTR, PVOID, DWORD) PURE; | |
STDMETHOD (New) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Query) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (Read) (THIS_ PCWSTR, PVOID *, DWORD *) PURE; | |
STDMETHOD (Revert) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Select) (THIS_ PCWSTR, BOOL) PURE; | |
STDMETHOD (Write) (THIS_ PCWSTR, PVOID, DWORD) PURE; | |
}; | |
typedef ISRSpeakerW FAR *PISRSPEAKERW; | |
#undef INTERFACE | |
#define INTERFACE ISRSpeakerA | |
DEFINE_GUID(IID_ISRSpeakerA, 0x090CD9AF, 0xDA1A, 0x11CD, 0xB3, 0xCA, 0x0, 0xAA, 0x0, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ISRSpeakerA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRSpeakerA members | |
STDMETHOD (Delete) (THIS_ PCSTR) PURE; | |
STDMETHOD (Enum) (THIS_ PSTR *, DWORD *) PURE; | |
STDMETHOD (Merge) (THIS_ PCSTR, PVOID, DWORD) PURE; | |
STDMETHOD (New) (THIS_ PCSTR) PURE; | |
STDMETHOD (Query) (THIS_ PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (Read) (THIS_ PCSTR, PVOID *, DWORD *) PURE; | |
STDMETHOD (Revert) (THIS_ PCSTR) PURE; | |
STDMETHOD (Select) (THIS_ PCSTR, BOOL) PURE; | |
STDMETHOD (Write) (THIS_ PCSTR, PVOID, DWORD) PURE; | |
}; | |
typedef ISRSpeakerA FAR *PISRSPEAKERA; | |
#ifdef _S_UNICODE | |
#define ISRSpeaker ISRSpeakerW | |
#define IID_ISRSpeaker IID_ISRSpeakerW | |
#define PISRSPEAKER PISRSPEAKERW | |
#else | |
#define ISRSpeaker ISRSpeakerA | |
#define IID_ISRSpeaker IID_ISRSpeakerA | |
#define PISRSPEAKER PISRSPEAKERA | |
#endif // _S_UNICODE | |
/* | |
* ISRSpeaker2 | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ISRSpeaker2W | |
// {9B445333-E39F-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_ISRSpeaker2W, | |
0x9b445333, 0xe39f, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ISRSpeaker2W, ISRSpeakerW) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRSpeaker2W members | |
STDMETHOD (Delete) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Enum) (THIS_ PWSTR *, DWORD *) PURE; | |
STDMETHOD (Merge) (THIS_ PCWSTR, PVOID, DWORD) PURE; | |
STDMETHOD (New) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Query) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (Read) (THIS_ PCWSTR, PVOID *, DWORD *) PURE; | |
STDMETHOD (Revert) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Select) (THIS_ PCWSTR, BOOL) PURE; | |
STDMETHOD (Write) (THIS_ PCWSTR, PVOID, DWORD) PURE; | |
STDMETHOD (Commit) (THIS) PURE; | |
STDMETHOD (Rename) (THIS_ PCWSTR, PCWSTR) PURE; | |
STDMETHOD (GetChangedInfo) (THIS_ BOOL *, FILETIME*) PURE; | |
}; | |
typedef ISRSpeaker2W FAR *PISRSPEAKER2W; | |
#undef INTERFACE | |
#define INTERFACE ISRSpeaker2A | |
// {9B445334-E39F-11d1-BED7-006008317CE8} | |
DEFINE_GUID(IID_ISRSpeaker2A, | |
0x9b445334, 0xe39f, 0x11d1, 0xbe, 0xd7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ISRSpeaker2A, ISRSpeakerA) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISRSpeaker2A members | |
STDMETHOD (Delete) (THIS_ PCSTR) PURE; | |
STDMETHOD (Enum) (THIS_ PSTR *, DWORD *) PURE; | |
STDMETHOD (Merge) (THIS_ PCSTR, PVOID, DWORD) PURE; | |
STDMETHOD (New) (THIS_ PCSTR) PURE; | |
STDMETHOD (Query) (THIS_ PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (Read) (THIS_ PCSTR, PVOID *, DWORD *) PURE; | |
STDMETHOD (Revert) (THIS_ PCSTR) PURE; | |
STDMETHOD (Select) (THIS_ PCSTR, BOOL) PURE; | |
STDMETHOD (Write) (THIS_ PCSTR, PVOID, DWORD) PURE; | |
STDMETHOD (Commit) (THIS) PURE; | |
STDMETHOD (Rename) (THIS_ PCSTR, PCSTR) PURE; | |
STDMETHOD (GetChangedInfo) (THIS_ BOOL *, FILETIME*) PURE; | |
}; | |
typedef ISRSpeaker2A FAR *PISRSPEAKER2A; | |
#ifdef _S_UNICODE | |
#define ISRSpeaker2 ISRSpeaker2W | |
#define IID_ISRSpeaker2 IID_ISRSpeaker2W | |
#define PISRSPEAKER2 PISRSPEAKER2W | |
#else | |
#define ISRSpeaker2 ISRSpeaker2A | |
#define IID_ISRSpeaker2 IID_ISRSpeaker2A | |
#define PISRSPEAKER2 PISRSPEAKER2A | |
#endif // _S_UNICODE | |
/************************************************************************ | |
Low-Level text-to-speech API | |
*/ | |
/************************************************************************ | |
defines */ | |
#define TTSI_NAMELEN SVFN_LEN | |
#define TTSI_STYLELEN SVFN_LEN | |
#define GENDER_NEUTRAL (0) | |
#define GENDER_FEMALE (1) | |
#define GENDER_MALE (2) | |
#define TTSFEATURE_ANYWORD SETBIT(0) | |
#define TTSFEATURE_VOLUME SETBIT(1) | |
#define TTSFEATURE_SPEED SETBIT(2) | |
#define TTSFEATURE_PITCH SETBIT(3) | |
#define TTSFEATURE_TAGGED SETBIT(4) | |
#define TTSFEATURE_IPAUNICODE SETBIT(5) | |
#define TTSFEATURE_VISUAL SETBIT(6) | |
#define TTSFEATURE_WORDPOSITION SETBIT(7) | |
#define TTSFEATURE_PCOPTIMIZED SETBIT(8) | |
#define TTSFEATURE_PHONEOPTIMIZED SETBIT(9) | |
#define TTSFEATURE_FIXEDAUDIO SETBIT(10) | |
#define TTSFEATURE_SINGLEINSTANCE SETBIT(11) | |
#define TTSFEATURE_THREADSAFE SETBIT(12) | |
#define TTSFEATURE_IPATEXTDATA SETBIT(13) | |
#define TTSFEATURE_PREFERRED SETBIT(14) | |
#define TTSFEATURE_TRANSPLANTED SETBIT(15) | |
#define TTSFEATURE_SAPI4 SETBIT(16) | |
#define TTSI_ILEXPRONOUNCE SETBIT(0) | |
#define TTSI_ITTSATTRIBUTES SETBIT(1) | |
#define TTSI_ITTSCENTRAL SETBIT(2) | |
#define TTSI_ITTSDIALOGS SETBIT(3) | |
#define TTSI_ATTRIBUTES SETBIT(4) | |
#define TTSI_IATTRIBUTES SETBIT(4) | |
#define TTSI_ILEXPRONOUNCE2 SETBIT(5) | |
#define TTSDATAFLAG_TAGGED SETBIT(0) | |
#define TTSBNS_ABORTED SETBIT(0) | |
// ITTSNotifySink | |
#define TTSNSAC_REALTIME 0 | |
#define TTSNSAC_PITCH 1 | |
#define TTSNSAC_SPEED 2 | |
#define TTSNSAC_VOLUME 3 | |
#define TTSNSHINT_QUESTION SETBIT(0) | |
#define TTSNSHINT_STATEMENT SETBIT(1) | |
#define TTSNSHINT_COMMAND SETBIT(2) | |
#define TTSNSHINT_EXCLAMATION SETBIT(3) | |
#define TTSNSHINT_EMPHASIS SETBIT(4) | |
// Ages | |
#define TTSAGE_BABY 1 | |
#define TTSAGE_TODDLER 3 | |
#define TTSAGE_CHILD 6 | |
#define TTSAGE_ADOLESCENT 14 | |
#define TTSAGE_ADULT 30 | |
#define TTSAGE_ELDERLY 70 | |
// Attribute minimums and maximums | |
#define TTSATTR_MINPITCH 0 | |
#define TTSATTR_MAXPITCH 0xffff | |
#define TTSATTR_MINREALTIME 0 | |
#define TTSATTR_MAXREALTIME 0xffffffff | |
#define TTSATTR_MINSPEED 0 | |
#define TTSATTR_MAXSPEED 0xffffffff | |
#define TTSATTR_MINVOLUME 0 | |
#define TTSATTR_MAXVOLUME 0xffffffff | |
/************************************************************************ | |
typedefs */ | |
typedef struct { | |
BYTE bMouthHeight; | |
BYTE bMouthWidth; | |
BYTE bMouthUpturn; | |
BYTE bJawOpen; | |
BYTE bTeethUpperVisible; | |
BYTE bTeethLowerVisible; | |
BYTE bTonguePosn; | |
BYTE bLipTension; | |
} TTSMOUTH, *PTTSMOUTH; | |
typedef struct { | |
GUID gEngineID; | |
WCHAR szMfgName[TTSI_NAMELEN]; | |
WCHAR szProductName[TTSI_NAMELEN]; | |
GUID gModeID; | |
WCHAR szModeName[TTSI_NAMELEN]; | |
LANGUAGEW language; | |
WCHAR szSpeaker[TTSI_NAMELEN]; | |
WCHAR szStyle[TTSI_STYLELEN]; | |
WORD wGender; | |
WORD wAge; | |
DWORD dwFeatures; | |
DWORD dwInterfaces; | |
DWORD dwEngineFeatures; | |
} TTSMODEINFOW, *PTTSMODEINFOW; | |
typedef struct { | |
GUID gEngineID; | |
CHAR szMfgName[TTSI_NAMELEN]; | |
CHAR szProductName[TTSI_NAMELEN]; | |
GUID gModeID; | |
CHAR szModeName[TTSI_NAMELEN]; | |
LANGUAGEA language; | |
CHAR szSpeaker[TTSI_NAMELEN]; | |
CHAR szStyle[TTSI_STYLELEN]; | |
WORD wGender; | |
WORD wAge; | |
DWORD dwFeatures; | |
DWORD dwInterfaces; | |
DWORD dwEngineFeatures; | |
} TTSMODEINFOA, *PTTSMODEINFOA; | |
#ifdef _S_UNICODE | |
#define TTSMODEINFO TTSMODEINFOW | |
#define PTTSMODEINFO PTTSMODEINFOW | |
#else | |
#define TTSMODEINFO TTSMODEINFOA | |
#define PTTSMODEINFO PTTSMODEINFOA | |
#endif // _S_UNICODE | |
typedef struct { | |
DWORD dwEngineID; | |
DWORD dwMfgName; | |
DWORD dwProductName; | |
DWORD dwModeID; | |
DWORD dwModeName; | |
DWORD dwLanguage; | |
DWORD dwDialect; | |
DWORD dwSpeaker; | |
DWORD dwStyle; | |
DWORD dwGender; | |
DWORD dwAge; | |
DWORD dwFeatures; | |
DWORD dwInterfaces; | |
DWORD dwEngineFeatures; | |
} TTSMODEINFORANK, * PTTSMODEINFORANK; | |
/************************************************************************ | |
Class IDs */ | |
// {D67C0280-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(CLSID_TTSEnumerator, | |
0xd67c0280, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
/************************************************************************ | |
interfaces */ | |
// ITTSAttributes | |
#undef INTERFACE | |
#define INTERFACE ITTSAttributesW | |
DEFINE_GUID(IID_ITTSAttributesW, 0x1287A280L, 0x4A47, 0x101B, 0x93, 0x1A, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSAttributesW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSAttributes members | |
STDMETHOD (PitchGet) (THIS_ WORD *) PURE; | |
STDMETHOD (PitchSet) (THIS_ WORD) PURE; | |
STDMETHOD (RealTimeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (RealTimeSet) (THIS_ DWORD) PURE; | |
STDMETHOD (SpeedGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (SpeedSet) (THIS_ DWORD) PURE; | |
STDMETHOD (VolumeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (VolumeSet) (THIS_ DWORD) PURE; | |
}; | |
typedef ITTSAttributesW FAR * PITTSATTRIBUTESW; | |
#undef INTERFACE | |
#define INTERFACE ITTSAttributesA | |
DEFINE_GUID(IID_ITTSAttributesA, | |
0x0FD6E2A1L, 0xE77D, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSAttributesA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSAttributes members | |
STDMETHOD (PitchGet) (THIS_ WORD *) PURE; | |
STDMETHOD (PitchSet) (THIS_ WORD) PURE; | |
STDMETHOD (RealTimeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (RealTimeSet) (THIS_ DWORD) PURE; | |
STDMETHOD (SpeedGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (SpeedSet) (THIS_ DWORD) PURE; | |
STDMETHOD (VolumeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (VolumeSet) (THIS_ DWORD) PURE; | |
}; | |
typedef ITTSAttributesA FAR * PITTSATTRIBUTESA; | |
#ifdef _S_UNICODE | |
#define ITTSAttributes ITTSAttributesW | |
#define IID_ITTSAttributes IID_ITTSAttributesW | |
#define PITTSATTRIBUTES PITTSATTRIBUTESW | |
#else | |
#define ITTSAttributes ITTSAttributesA | |
#define IID_ITTSAttributes IID_ITTSAttributesA | |
#define PITTSATTRIBUTES PITTSATTRIBUTESA | |
#endif // _S_UNICODE | |
// ITTSBufNotifySink | |
#undef INTERFACE | |
#define INTERFACE ITTSBufNotifySink | |
// {E4963D40-C743-11cd-80E5-00AA003E4B50} | |
DEFINE_GUID(IID_ITTSBufNotifySink, | |
0xe4963d40, 0xc743, 0x11cd, 0x80, 0xe5, 0x0, 0xaa, 0x0, 0x3e, 0x4b, 0x50); | |
DECLARE_INTERFACE_ (ITTSBufNotifySink, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSBufNotifySink members | |
STDMETHOD (TextDataDone) (THIS_ QWORD, DWORD) PURE; | |
STDMETHOD (TextDataStarted)(THIS_ QWORD) PURE; | |
STDMETHOD (BookMark) (THIS_ QWORD, DWORD) PURE; | |
STDMETHOD (WordPosition) (THIS_ QWORD, DWORD) PURE; | |
}; | |
typedef ITTSBufNotifySink FAR * PITTSBUFNOTIFYSINK; | |
// In case anyone uses the W or A interface | |
#define ITTSBufNotifySinkW ITTSBufNotifySink | |
#define IID_ITTSBufNotifySinkW IID_ITTSBufNotifySink | |
#define PITTSBUFNOTIFYSINKW PITTSBUFNOTIFYSINK | |
#define ITTSBufNotifySinkA ITTSBufNotifySink | |
#define IID_ITTSBufNotifySinkA IID_ITTSBufNotifySink | |
#define PITTSBUFNOTIFYSINKA PITTSBUFNOTIFYSINK | |
/* | |
* ITTSCentral | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ITTSCentralW | |
DEFINE_GUID(IID_ITTSCentralW, 0x28016060L, 0x4A47, 0x101B, 0x93, 0x1A, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSCentralW, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSCentralW members | |
STDMETHOD (Inject) (THIS_ PCWSTR) PURE; | |
STDMETHOD (ModeGet) (THIS_ PTTSMODEINFOW) PURE; | |
STDMETHOD (Phoneme) (THIS_ VOICECHARSET, DWORD, SDATA, PSDATA) PURE; | |
STDMETHOD (PosnGet) (THIS_ PQWORD) PURE; | |
STDMETHOD (TextData) (THIS_ VOICECHARSET, DWORD, SDATA, PVOID, IID) PURE; | |
STDMETHOD (ToFileTime) (THIS_ PQWORD, FILETIME *) PURE; | |
STDMETHOD (AudioPause) (THIS) PURE; | |
STDMETHOD (AudioResume) (THIS) PURE; | |
STDMETHOD (AudioReset) (THIS) PURE; | |
STDMETHOD (Register) (THIS_ PVOID, IID, DWORD*) PURE; | |
STDMETHOD (UnRegister) (THIS_ DWORD) PURE; | |
}; | |
typedef ITTSCentralW FAR * PITTSCENTRALW; | |
#undef INTERFACE | |
#define INTERFACE ITTSCentralA | |
DEFINE_GUID(IID_ITTSCentralA, 0x05EB6C6AL, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSCentralA, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSCentralA members | |
STDMETHOD (Inject) (THIS_ PCSTR) PURE; | |
STDMETHOD (ModeGet) (THIS_ PTTSMODEINFOA) PURE; | |
STDMETHOD (Phoneme) (THIS_ VOICECHARSET, DWORD, SDATA, PSDATA) PURE; | |
STDMETHOD (PosnGet) (THIS_ PQWORD) PURE; | |
STDMETHOD (TextData) (THIS_ VOICECHARSET, DWORD, SDATA, PVOID, IID) PURE; | |
STDMETHOD (ToFileTime) (THIS_ PQWORD, FILETIME *) PURE; | |
STDMETHOD (AudioPause) (THIS) PURE; | |
STDMETHOD (AudioResume) (THIS) PURE; | |
STDMETHOD (AudioReset) (THIS) PURE; | |
STDMETHOD (Register) (THIS_ PVOID, IID, DWORD*) PURE; | |
STDMETHOD (UnRegister) (THIS_ DWORD) PURE; | |
}; | |
typedef ITTSCentralA FAR * PITTSCENTRALA; | |
#ifdef _S_UNICODE | |
#define ITTSCentral ITTSCentralW | |
#define IID_ITTSCentral IID_ITTSCentralW | |
#define PITTSCENTRAL PITTSCENTRALW | |
#else | |
#define ITTSCentral ITTSCentralA | |
#define IID_ITTSCentral IID_ITTSCentralA | |
#define PITTSCENTRAL PITTSCENTRALA | |
#endif // _S_UNICODE | |
/* | |
* ITTSDialogsW | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ITTSDialogsW | |
DEFINE_GUID(IID_ITTSDialogsW, 0x47F59D00L, 0x4A47, 0x101B, 0x93, 0x1A, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSDialogsW, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSDialogsW members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TranslateDlg) (THIS_ HWND, PCWSTR) PURE; | |
}; | |
typedef ITTSDialogsW FAR * PITTSDIALOGSW; | |
#undef INTERFACE | |
#define INTERFACE ITTSDialogsA | |
DEFINE_GUID(IID_ITTSDialogsA, 0x05EB6C6BL, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSDialogsA, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSDialogsA members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TranslateDlg) (THIS_ HWND, PCSTR) PURE; | |
}; | |
typedef ITTSDialogsA FAR * PITTSDIALOGSA; | |
#ifdef _S_UNICODE | |
#define ITTSDialogs ITTSDialogsW | |
#define IID_ITTSDialogs IID_ITTSDialogsW | |
#define PITTSDIALOGS PITTSDIALOGSW | |
#else | |
#define ITTSDialogs ITTSDialogsA | |
#define IID_ITTSDialogs IID_ITTSDialogsA | |
#define PITTSDIALOGS PITTSDIALOGSA | |
#endif | |
/* | |
* ITTSEnum | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ITTSEnumW | |
DEFINE_GUID(IID_ITTSEnumW, 0x6B837B20L, 0x4A47, 0x101B, 0x93, 0x1A, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSEnumW, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSEnumW members | |
STDMETHOD (Next) (THIS_ ULONG, PTTSMODEINFOW, ULONG *) PURE; | |
STDMETHOD (Skip) (THIS_ ULONG) PURE; | |
STDMETHOD (Reset) (THIS) PURE; | |
STDMETHOD (Clone) (THIS_ ITTSEnumW * FAR *) PURE; | |
STDMETHOD (Select) (THIS_ GUID, PITTSCENTRALW *, LPUNKNOWN) PURE; | |
}; | |
typedef ITTSEnumW FAR * PITTSENUMW; | |
#undef INTERFACE | |
#define INTERFACE ITTSEnumA | |
DEFINE_GUID(IID_ITTSEnumA, 0x05EB6C6DL, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSEnumA, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSEnumA members | |
STDMETHOD (Next) (THIS_ ULONG, PTTSMODEINFOA, ULONG *) PURE; | |
STDMETHOD (Skip) (THIS_ ULONG) PURE; | |
STDMETHOD (Reset) (THIS) PURE; | |
STDMETHOD (Clone) (THIS_ ITTSEnumA * FAR *) PURE; | |
STDMETHOD (Select) (THIS_ GUID, PITTSCENTRALA *, LPUNKNOWN) PURE; | |
}; | |
typedef ITTSEnumA FAR * PITTSENUMA; | |
#ifdef _S_UNICODE | |
#define ITTSEnum ITTSEnumW | |
#define IID_ITTSEnum IID_ITTSEnumW | |
#define PITTSENUM PITTSENUMW | |
#else | |
#define ITTSEnum ITTSEnumA | |
#define IID_ITTSEnum IID_ITTSEnumA | |
#define PITTSENUM PITTSENUMA | |
#endif | |
/* | |
* ITTSFind | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ITTSFindW | |
DEFINE_GUID(IID_ITTSFindW, 0x7AA42960L, 0x4A47, 0x101B, 0x93, 0x1A, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSFindW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSFindW members | |
STDMETHOD (Find) (THIS_ PTTSMODEINFOW, PTTSMODEINFORANK, PTTSMODEINFOW) PURE; | |
STDMETHOD (Select) (THIS_ GUID, PITTSCENTRALW *, LPUNKNOWN) PURE; | |
}; | |
typedef ITTSFindW FAR * PITTSFINDW; | |
#undef INTERFACE | |
#define INTERFACE ITTSFindA | |
DEFINE_GUID(IID_ITTSFindA, 0x05EB6C6EL, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSFindA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSFindA members | |
STDMETHOD (Find) (THIS_ PTTSMODEINFOA, PTTSMODEINFORANK, PTTSMODEINFOA) PURE; | |
STDMETHOD (Select) (THIS_ GUID, PITTSCENTRALA *, LPUNKNOWN) PURE; | |
}; | |
typedef ITTSFindA FAR * PITTSFINDA; | |
#ifdef _S_UNICODE | |
#define ITTSFind ITTSFindW | |
#define IID_ITTSFind IID_ITTSFindW | |
#define PITTSFIND PITTSFINDW | |
#else | |
#define ITTSFind ITTSFindA | |
#define IID_ITTSFind IID_ITTSFindA | |
#define PITTSFIND PITTSFINDA | |
#endif | |
/* | |
* ITTSNotifySink | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ITTSNotifySinkW | |
DEFINE_GUID(IID_ITTSNotifySinkW, 0xC0FA8F40L, 0x4A46, 0x101B, 0x93, 0x1A, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSNotifySinkW, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSNotifySinkW members | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (AudioStart) (THIS_ QWORD) PURE; | |
STDMETHOD (AudioStop) (THIS_ QWORD) PURE; | |
STDMETHOD (Visual) (THIS_ QWORD, WCHAR, WCHAR, DWORD, PTTSMOUTH) PURE; | |
}; | |
typedef ITTSNotifySinkW FAR * PITTSNOTIFYSINKW; | |
#undef INTERFACE | |
#define INTERFACE ITTSNotifySinkA | |
DEFINE_GUID(IID_ITTSNotifySinkA, 0x05EB6C6FL, 0xDBAB, 0x11CD, 0xB3, 0xCA, 0x00, 0xAA, 0x00, 0x47, 0xBA, 0x4F); | |
DECLARE_INTERFACE_ (ITTSNotifySinkA, IUnknown) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSNotifySinkA members | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (AudioStart) (THIS_ QWORD) PURE; | |
STDMETHOD (AudioStop) (THIS_ QWORD) PURE; | |
STDMETHOD (Visual) (THIS_ QWORD, CHAR, CHAR, DWORD, PTTSMOUTH) PURE; | |
}; | |
typedef ITTSNotifySinkA FAR * PITTSNOTIFYSINKA; | |
#ifdef _S_UNICODE | |
#define ITTSNotifySink ITTSNotifySinkW | |
#define IID_ITTSNotifySink IID_ITTSNotifySinkW | |
#define PITTSNOTIFYSINK PITTSNOTIFYSINKW | |
#else | |
#define ITTSNotifySink ITTSNotifySinkA | |
#define IID_ITTSNotifySink IID_ITTSNotifySinkA | |
#define PITTSNOTIFYSINK PITTSNOTIFYSINKA | |
#endif | |
/* ITTSNotifySink2 */ | |
#undef INTERFACE | |
#define INTERFACE ITTSNotifySink2W | |
// {599F77E1-E42E-11d1-BED8-006008317CE8} | |
DEFINE_GUID(IID_ITTSNotifySink2W, | |
0x599f77e1, 0xe42e, 0x11d1, 0xbe, 0xd8, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ITTSNotifySink2W, ITTSNotifySinkW) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSNotifySink2W members | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (AudioStart) (THIS_ QWORD) PURE; | |
STDMETHOD (AudioStop) (THIS_ QWORD) PURE; | |
STDMETHOD (Visual) (THIS_ QWORD, WCHAR, WCHAR, DWORD, PTTSMOUTH) PURE; | |
STDMETHOD (Error) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (Warning) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (VisualFuture) (THIS_ DWORD, QWORD, WCHAR, WCHAR, DWORD, PTTSMOUTH) PURE; | |
}; | |
typedef ITTSNotifySink2W FAR * PITTSNOTIFYSINK2W; | |
#undef INTERFACE | |
#define INTERFACE ITTSNotifySink2A | |
// {599F77E2-E42E-11d1-BED8-006008317CE8} | |
DEFINE_GUID(IID_ITTSNotifySink2A, | |
0x599f77e2, 0xe42e, 0x11d1, 0xbe, 0xd8, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (ITTSNotifySink2A, ITTSNotifySinkA) { | |
// IUnknown members | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ITTSNotifySink2A members | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (AudioStart) (THIS_ QWORD) PURE; | |
STDMETHOD (AudioStop) (THIS_ QWORD) PURE; | |
STDMETHOD (Visual) (THIS_ QWORD, CHAR, CHAR, DWORD, PTTSMOUTH) PURE; | |
STDMETHOD (Error) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (Warning) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (VisualFuture) (THIS_ DWORD, QWORD, CHAR, CHAR, DWORD, PTTSMOUTH) PURE; | |
}; | |
typedef ITTSNotifySink2A FAR * PITTSNOTIFYSINK2A; | |
#ifdef _S_UNICODE | |
#define ITTSNotifySink2 ITTSNotifySink2W | |
#define IID_ITTSNotifySink2 IID_ITTSNotifySink2W | |
#define PITTSNOTIFYSINK2 PITTSNOTIFYSINK2W | |
#else | |
#define ITTSNotifySink2 ITTSNotifySink2A | |
#define IID_ITTSNotifySink2 IID_ITTSNotifySink2A | |
#define PITTSNOTIFYSINK2 PITTSNOTIFYSINK2A | |
#endif | |
/************************************************************************ | |
High-Level command and control speech recognition API | |
*/ | |
/************************************************************************ | |
defines */ | |
// VCMDNAME member lengths | |
#define VCMD_APPLEN ((DWORD)32) | |
#define VCMD_STATELEN VCMD_APPLEN | |
#define VCMD_MICLEN VCMD_APPLEN | |
#define VCMD_SPEAKERLEN VCMD_APPLEN | |
// dwFlags parameter of IVoiceCmd::MenuCreate | |
#define VCMDMC_CREATE_TEMP 0x00000001 | |
#define VCMDMC_CREATE_NEW 0x00000002 | |
#define VCMDMC_CREATE_ALWAYS 0x00000004 | |
#define VCMDMC_OPEN_ALWAYS 0x00000008 | |
#define VCMDMC_OPEN_EXISTING 0x00000010 | |
// dwFlags parameter of IVoiceCmd::Register | |
#define VCMDRF_NOMESSAGES 0 | |
#define VCMDRF_ALLBUTVUMETER 0x00000001 | |
#define VCMDRF_VUMETER 0x00000002 | |
#define VCMDRF_ALLMESSAGES (VCMDRF_ALLBUTVUMETER | VCMDRF_VUMETER) | |
// dwFlags parameter of IVoiceCmd::MenuEnum | |
#define VCMDEF_DATABASE 0x00000000 | |
#define VCMDEF_ACTIVE 0x00000001 | |
#define VCMDEF_SELECTED 0x00000002 | |
#define VCMDEF_PERMANENT 0x00000004 | |
#define VCMDEF_TEMPORARY 0x00000008 | |
// dwFlags parameter of IVCmdMenu::Activate | |
#define VWGFLAG_ASLEEP 0x00000001 | |
// wPriority parameter of IVCmdMenu::Activate | |
#define VCMDACT_NORMAL (0x8000) | |
#define VCMDACT_LOW (0x4000) | |
#define VCMDACT_HIGH (0xC000) | |
// dwFlags of the VCMDCOMMAND structure | |
#define VCMDCMD_VERIFY 0x00000001 | |
#define VCMDCMD_DISABLED_TEMP 0x00000002 | |
#define VCMDCMD_DISABLED_PERM 0x00000004 | |
#define VCMDCMD_CANTRENAME 0x00000008 | |
// parameter to any function that processes individual commands | |
#define VCMD_BY_POSITION 0x00000001 | |
#define VCMD_BY_IDENTIFIER 0x00000002 | |
// values for dwAttributes field of IVCmdNotifySink::AttribChanged | |
#define IVCNSAC_AUTOGAINENABLE 0x00000001 | |
#define IVCNSAC_ENABLED 0x00000002 | |
#define IVCNSAC_AWAKE 0x00000004 | |
#define IVCNSAC_DEVICE 0x00000008 | |
#define IVCNSAC_MICROPHONE 0x00000010 | |
#define IVCNSAC_SPEAKER 0x00000020 | |
#define IVCNSAC_SRMODE 0x00000040 | |
#define IVCNSAC_THRESHOLD 0x00000080 | |
#define IVCNSAC_ORIGINAPP 0x00010000 | |
// values for dwAttributes field of IVTxtNotifySink::AttribChanged | |
#define IVTNSAC_DEVICE 0x00000001 | |
#define IVTNSAC_ENABLED 0x00000002 | |
#define IVTNSAC_SPEED 0x00000004 | |
#define IVTNSAC_VOLUME 0x00000008 | |
#define IVTNSAC_TTSMODE 0x00000010 | |
// values used by IVXxxAttributes::SetMode to set the global speech | |
// recognition mode | |
#define VSRMODE_OFF 0x00000002 | |
#define VSRMODE_DISABLED 0x00000001 | |
#define VSRMODE_CMDPAUSED 0x00000004 | |
#define VSRMODE_CMDONLY 0x00000010 | |
#define VSRMODE_DCTONLY 0x00000020 | |
#define VSRMODE_CMDANDDCT 0x00000040 | |
/************************************************************************ | |
typedefs */ | |
// voice command structure - passed to command menu functions (IVCmdMenu) | |
typedef struct { | |
DWORD dwSize; // size of struct including amount of abAction | |
DWORD dwFlags; | |
DWORD dwID; // Command ID | |
DWORD dwCommand; // DWORD aligned offset of command string | |
DWORD dwDescription; // DWORD aligned offset of description string | |
DWORD dwCategory; // DWORD aligned offset of category string | |
DWORD dwCommandText; // DWORD aligned offset of command text string | |
DWORD dwAction; // DWORD aligned offset of action data | |
DWORD dwActionSize; // size of the action data (could be string or binary) | |
BYTE abData[1]; // command, description, category, and action data | |
// (action data is NOT interpreted by voice command) | |
} VCMDCOMMAND, * PVCMDCOMMAND; | |
// site information structure - possible parameter to IVoiceCmd::Register | |
typedef struct { | |
DWORD dwAutoGainEnable; | |
DWORD dwAwakeState; | |
DWORD dwThreshold; | |
DWORD dwDevice; | |
DWORD dwEnable; | |
WCHAR szMicrophone[VCMD_MICLEN]; | |
WCHAR szSpeaker[VCMD_SPEAKERLEN]; | |
GUID gModeID; | |
} VCSITEINFOW, *PVCSITEINFOW; | |
typedef struct { | |
DWORD dwAutoGainEnable; | |
DWORD dwAwakeState; | |
DWORD dwThreshold; | |
DWORD dwDevice; | |
DWORD dwEnable; | |
CHAR szMicrophone[VCMD_MICLEN]; | |
CHAR szSpeaker[VCMD_SPEAKERLEN]; | |
GUID gModeID; | |
} VCSITEINFOA, *PVCSITEINFOA; | |
// menu name structure | |
typedef struct { | |
WCHAR szApplication[VCMD_APPLEN]; // unique application name | |
WCHAR szState[VCMD_STATELEN]; // unique application state | |
} VCMDNAMEW, *PVCMDNAMEW; | |
typedef struct { | |
CHAR szApplication[VCMD_APPLEN]; // unique application name | |
CHAR szState[VCMD_STATELEN]; // unique application state | |
} VCMDNAMEA, *PVCMDNAMEA; | |
#ifdef _S_UNICODE | |
#define VCSITEINFO VCSITEINFOW | |
#define PVCSITEINFO PVCSITEINFOW | |
#define VCMDNAME VCMDNAMEW | |
#define PVCMDNAME PVCMDNAMEW | |
#else | |
#define VCSITEINFO VCSITEINFOA | |
#define PVCSITEINFO PVCSITEINFOA | |
#define VCMDNAME VCMDNAMEA | |
#define PVCMDNAME PVCMDNAMEA | |
#endif // _S_UNICODE | |
/************************************************************************ | |
interfaces */ | |
/* | |
* IVCmdNotifySink | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVCmdNotifySinkW | |
DEFINE_GUID(IID_IVCmdNotifySinkW, 0xCCFD7A60L, 0x604D, 0x101B, 0x99, 0x26, 0x00, 0xAA, 0x00, 0x3C, 0xFC, 0x2C); | |
DECLARE_INTERFACE_ (IVCmdNotifySinkW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdNotifySink members | |
STDMETHOD (CommandRecognize) (THIS_ DWORD, PVCMDNAMEW, DWORD, DWORD, PVOID, | |
DWORD, PWSTR, PWSTR) PURE; | |
STDMETHOD (CommandOther) (THIS_ PVCMDNAMEW, PWSTR) PURE; | |
STDMETHOD (CommandStart) (THIS) PURE; | |
STDMETHOD (MenuActivate) (THIS_ PVCMDNAMEW, BOOL) PURE; | |
STDMETHOD (UtteranceBegin) (THIS) PURE; | |
STDMETHOD (UtteranceEnd) (THIS) PURE; | |
STDMETHOD (VUMeter) (THIS_ WORD) PURE; | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Interference) (THIS_ DWORD) PURE; | |
}; | |
typedef IVCmdNotifySinkW FAR * PIVCMDNOTIFYSINKW; | |
#undef INTERFACE | |
#define INTERFACE IVCmdNotifySinkA | |
// {80B25CC0-5540-11b9-C000-5611722E1D15} | |
DEFINE_GUID(IID_IVCmdNotifySinkA, 0x80b25cc0, 0x5540, 0x11b9, 0xc0, 0x0, 0x56, 0x11, 0x72, 0x2e, 0x1d, 0x15); | |
DECLARE_INTERFACE_ (IVCmdNotifySinkA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdNotifySinkA members | |
STDMETHOD (CommandRecognize) (THIS_ DWORD, PVCMDNAMEA, DWORD, DWORD, PVOID, | |
DWORD, PSTR, PSTR) PURE; | |
STDMETHOD (CommandOther) (THIS_ PVCMDNAMEA, PSTR) PURE; | |
STDMETHOD (CommandStart) (THIS) PURE; | |
STDMETHOD (MenuActivate) (THIS_ PVCMDNAMEA, BOOL) PURE; | |
STDMETHOD (UtteranceBegin) (THIS) PURE; | |
STDMETHOD (UtteranceEnd) (THIS) PURE; | |
STDMETHOD (VUMeter) (THIS_ WORD) PURE; | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Interference) (THIS_ DWORD) PURE; | |
}; | |
typedef IVCmdNotifySinkA FAR * PIVCMDNOTIFYSINKA; | |
#ifdef _S_UNICODE | |
#define IVCmdNotifySink IVCmdNotifySinkW | |
#define IID_IVCmdNotifySink IID_IVCmdNotifySinkW | |
#define PIVCMDNOTIFYSINK PIVCMDNOTIFYSINKW | |
#else | |
#define IVCmdNotifySink IVCmdNotifySinkA | |
#define IID_IVCmdNotifySink IID_IVCmdNotifySinkA | |
#define PIVCMDNOTIFYSINK PIVCMDNOTIFYSINKA | |
#endif // _S_UNICODE | |
/* | |
* IVCmdEnum | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVCmdEnumW | |
DEFINE_GUID(IID_IVCmdEnumW, 0xD3CC0820L, 0x604D, 0x101B, 0x99, 0x26, 0x00, 0xAA, 0x00, 0x3C, 0xFC, 0x2C); | |
DECLARE_INTERFACE_ (IVCmdEnumW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdEnum members | |
STDMETHOD (Next) (THIS_ ULONG, PVCMDNAMEW, ULONG *) PURE; | |
STDMETHOD (Skip) (THIS_ ULONG) PURE; | |
STDMETHOD (Reset) (THIS) PURE; | |
STDMETHOD (Clone) (THIS_ IVCmdEnumW * FAR *) PURE; | |
}; | |
typedef IVCmdEnumW FAR * PIVCMDENUMW; | |
#undef INTERFACE | |
#define INTERFACE IVCmdEnumA | |
// {E86F9540-DCA2-11CD-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVCmdEnumA, | |
0xE86F9540, 0xDCA2, 0x11CD, 0xA1, 0x66, 0x0, 0xAA, 0x0, 0x4C, 0xD6, 0x5C); | |
DECLARE_INTERFACE_ (IVCmdEnumA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdEnum members | |
STDMETHOD (Next) (THIS_ ULONG, PVCMDNAMEA, ULONG *) PURE; | |
STDMETHOD (Skip) (THIS_ ULONG) PURE; | |
STDMETHOD (Reset) (THIS) PURE; | |
STDMETHOD (Clone) (THIS_ IVCmdEnumA * FAR *) PURE; | |
}; | |
typedef IVCmdEnumA FAR * PIVCMDENUMA; | |
#ifdef _S_UNICODE | |
#define IVCmdEnum IVCmdEnumW | |
#define IID_IVCmdEnum IID_IVCmdEnumW | |
#define PIVCMDENUM PIVCMDENUMW | |
#else | |
#define IVCmdEnum IVCmdEnumA | |
#define IID_IVCmdEnum IID_IVCmdEnumA | |
#define PIVCMDENUM PIVCMDENUMA | |
#endif // _S_UNICODE | |
/* | |
* IEnumSRShare | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IEnumSRShareW | |
// {E97F05C0-81B3-11ce-B763-00AA004CD65C} | |
DEFINE_GUID(IID_IEnumSRShareW, | |
0xe97f05c0, 0x81b3, 0x11ce, 0xb7, 0x63, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IEnumSRShareW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IEnumSRShare members | |
STDMETHOD (Next) (THIS_ ULONG, PSRSHAREW, ULONG *) PURE; | |
STDMETHOD (Skip) (THIS_ ULONG) PURE; | |
STDMETHOD (Reset) (THIS) PURE; | |
STDMETHOD (Clone) (THIS_ IEnumSRShareW * FAR *) PURE; | |
STDMETHOD (New) (THIS_ DWORD, GUID, PISRCENTRALW *, QWORD *) PURE; | |
STDMETHOD (Share) (THIS_ QWORD, PISRCENTRALW *) PURE; | |
STDMETHOD (Detach) (THIS_ QWORD) PURE; | |
}; | |
typedef IEnumSRShareW FAR * PIENUMSRSHAREW; | |
#undef INTERFACE | |
#define INTERFACE IEnumSRShareA | |
// {E97F05C1-81B3-11ce-B763-00AA004CD65C} | |
DEFINE_GUID(IID_IEnumSRShareA, | |
0xe97f05c1, 0x81b3, 0x11ce, 0xb7, 0x63, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IEnumSRShareA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IEnumSRShare members | |
STDMETHOD (Next) (THIS_ ULONG, PSRSHAREA, ULONG *) PURE; | |
STDMETHOD (Skip) (THIS_ ULONG) PURE; | |
STDMETHOD (Reset) (THIS) PURE; | |
STDMETHOD (Clone) (THIS_ IEnumSRShareA * FAR *) PURE; | |
STDMETHOD (New) (THIS_ DWORD, GUID, PISRCENTRALA *, QWORD *) PURE; | |
STDMETHOD (Share) (THIS_ QWORD, PISRCENTRALA *) PURE; | |
STDMETHOD (Detach) (THIS_ QWORD) PURE; | |
}; | |
typedef IEnumSRShareA FAR * PIENUMSRSHAREA; | |
#ifdef _S_UNICODE | |
#define IEnumSRShare IEnumSRShareW | |
#define IID_IEnumSRShare IID_IEnumSRShareW | |
#define PIENUMSRSHARE PIENUMSRSHAREW | |
#else | |
#define IEnumSRShare IEnumSRShareA | |
#define IID_IEnumSRShare IID_IEnumSRShareA | |
#define PIENUMSRSHARE PIENUMSRSHAREA | |
#endif // _S_UNICODE | |
/* | |
* IVCmdMenu | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVCmdMenuW | |
DEFINE_GUID(IID_IVCmdMenuW, 0xDAC54F60L, 0x604D, 0x101B, 0x99, 0x26, 0x00, 0xAA, 0x00, 0x3C, 0xFC, 0x2C); | |
DECLARE_INTERFACE_ (IVCmdMenuW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdMenu members | |
STDMETHOD (Activate) (THIS_ HWND, DWORD) PURE; | |
STDMETHOD (Deactivate) (THIS) PURE; | |
STDMETHOD (TrainMenuDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (Num) (THIS_ DWORD *) PURE; | |
STDMETHOD (Get) (THIS_ DWORD, DWORD, DWORD, PSDATA, DWORD *) PURE; | |
STDMETHOD (Set) (THIS_ DWORD, DWORD, DWORD, SDATA) PURE; | |
STDMETHOD (Add) (THIS_ DWORD, SDATA, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (ListGet) (THIS_ PCWSTR, PSDATA, DWORD *) PURE; | |
STDMETHOD (ListSet) (THIS_ PCWSTR, DWORD, SDATA) PURE; | |
STDMETHOD (EnableItem) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (SetItem) (THIS_ DWORD, DWORD, DWORD) PURE; | |
}; | |
typedef IVCmdMenuW FAR * PIVCMDMENUW; | |
#undef INTERFACE | |
#define INTERFACE IVCmdMenuA | |
// {746141E0-5543-11b9-C000-5611722E1D15} | |
DEFINE_GUID(IID_IVCmdMenuA, 0x746141e0, 0x5543, 0x11b9, 0xc0, 0x0, 0x56, 0x11, 0x72, 0x2e, 0x1d, 0x15); | |
DECLARE_INTERFACE_ (IVCmdMenuA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdMenu members | |
STDMETHOD (Activate) (THIS_ HWND, DWORD) PURE; | |
STDMETHOD (Deactivate) (THIS) PURE; | |
STDMETHOD (TrainMenuDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (Num) (THIS_ DWORD *) PURE; | |
STDMETHOD (Get) (THIS_ DWORD, DWORD, DWORD, PSDATA, DWORD *) PURE; | |
STDMETHOD (Set) (THIS_ DWORD, DWORD, DWORD, SDATA) PURE; | |
STDMETHOD (Add) (THIS_ DWORD, SDATA, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (ListGet) (THIS_ PCSTR, PSDATA, DWORD *) PURE; | |
STDMETHOD (ListSet) (THIS_ PCSTR, DWORD, SDATA) PURE; | |
STDMETHOD (EnableItem) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (SetItem) (THIS_ DWORD, DWORD, DWORD) PURE; | |
}; | |
typedef IVCmdMenuA FAR * PIVCMDMENUA; | |
#ifdef _S_UNICODE | |
#define IVCmdMenu IVCmdMenuW | |
#define IID_IVCmdMenu IID_IVCmdMenuW | |
#define PIVCMDMENU PIVCMDMENUW | |
#else | |
#define IVCmdMenu IVCmdMenuA | |
#define IID_IVCmdMenu IID_IVCmdMenuA | |
#define PIVCMDMENU PIVCMDMENUA | |
#endif // _S_UNICODE | |
/* | |
* IVoiceCmd | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVoiceCmdW | |
DEFINE_GUID(IID_IVoiceCmdW, 0xE0DCC220L, 0x604D, 0x101B, 0x99, 0x26, 0x00, 0xAA, 0x00, 0x3C, 0xFC, 0x2C); | |
DECLARE_INTERFACE_ (IVoiceCmdW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVoiceCmd members | |
STDMETHOD (Register) (THIS_ PCWSTR, LPUNKNOWN, GUID, DWORD, | |
PVCSITEINFOW) PURE; | |
STDMETHOD (MenuEnum) (THIS_ DWORD, PCWSTR, PCWSTR, PIVCMDENUMW *) PURE; | |
STDMETHOD (MenuCreate) (THIS_ PVCMDNAMEW, PLANGUAGEW, DWORD, | |
PIVCMDMENUW *) PURE; | |
STDMETHOD (MenuDelete) (THIS_ PVCMDNAMEW) PURE; | |
STDMETHOD (CmdMimic) (THIS_ PVCMDNAMEW, PCWSTR) PURE; | |
}; | |
typedef IVoiceCmdW FAR * PIVOICECMDW; | |
#undef INTERFACE | |
#define INTERFACE IVoiceCmdA | |
// {C63A2B30-5543-11b9-C000-5611722E1D15} | |
DEFINE_GUID(IID_IVoiceCmdA, 0xc63a2b30, 0x5543, 0x11b9, 0xc0, 0x0, 0x56, 0x11, 0x72, 0x2e, 0x1d, 0x15); | |
DECLARE_INTERFACE_ (IVoiceCmdA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVoiceCmd members | |
STDMETHOD (Register) (THIS_ PCSTR, LPUNKNOWN, GUID, DWORD, | |
PVCSITEINFOA) PURE; | |
STDMETHOD (MenuEnum) (THIS_ DWORD, PCSTR, PCSTR, PIVCMDENUMA *) PURE; | |
STDMETHOD (MenuCreate) (THIS_ PVCMDNAMEA, PLANGUAGEA, DWORD, | |
PIVCMDMENUA *) PURE; | |
STDMETHOD (MenuDelete) (THIS_ PVCMDNAMEA) PURE; | |
STDMETHOD (CmdMimic) (THIS_ PVCMDNAMEA, PCSTR) PURE; | |
}; | |
typedef IVoiceCmdA FAR * PIVOICECMDA; | |
#ifdef _S_UNICODE | |
#define IVoiceCmd IVoiceCmdW | |
#define IID_IVoiceCmd IID_IVoiceCmdW | |
#define PIVOICECMD PIVOICECMDW | |
#else | |
#define IVoiceCmd IVoiceCmdA | |
#define IID_IVoiceCmd IID_IVoiceCmdA | |
#define PIVOICECMD PIVOICECMDA | |
#endif //_S_UNICODE | |
/* | |
* IVCmdAttributes | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVCmdAttributesW | |
DEFINE_GUID(IID_IVCmdAttributesW, 0xE5F24680L, 0x6053, 0x101B, 0x99, 0x26, 0x00, 0xAA, 0x00, 0x3C, 0xFC, 0x2C); | |
DECLARE_INTERFACE_ (IVCmdAttributesW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdAttributes members | |
STDMETHOD (AutoGainEnableGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AutoGainEnableSet) (THIS_ DWORD) PURE; | |
STDMETHOD (AwakeStateGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AwakeStateSet) (THIS_ DWORD) PURE; | |
STDMETHOD (ThresholdGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ThresholdSet) (THIS_ DWORD) PURE; | |
STDMETHOD (DeviceGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (DeviceSet) (THIS_ DWORD) PURE; | |
STDMETHOD (EnabledGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (EnabledSet) (THIS_ DWORD) PURE; | |
STDMETHOD (MicrophoneGet) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (MicrophoneSet) (THIS_ PCWSTR) PURE; | |
STDMETHOD (SpeakerGet) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (SpeakerSet) (THIS_ PCWSTR) PURE; | |
STDMETHOD (SRModeGet) (THIS_ GUID *) PURE; | |
STDMETHOD (SRModeSet) (THIS_ GUID) PURE; | |
}; | |
typedef IVCmdAttributesW FAR * PIVCMDATTRIBUTESW; | |
#undef INTERFACE | |
#define INTERFACE IVCmdAttributesA | |
// {FFF5DF80-5544-11b9-C000-5611722E1D15} | |
DEFINE_GUID(IID_IVCmdAttributesA, 0xfff5df80, 0x5544, 0x11b9, 0xc0, 0x0, 0x56, 0x11, 0x72, 0x2e, 0x1d, 0x15); | |
DECLARE_INTERFACE_ (IVCmdAttributesA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdAttributes members | |
STDMETHOD (AutoGainEnableGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AutoGainEnableSet) (THIS_ DWORD) PURE; | |
STDMETHOD (AwakeStateGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AwakeStateSet) (THIS_ DWORD) PURE; | |
STDMETHOD (ThresholdGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ThresholdSet) (THIS_ DWORD) PURE; | |
STDMETHOD (DeviceGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (DeviceSet) (THIS_ DWORD) PURE; | |
STDMETHOD (EnabledGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (EnabledSet) (THIS_ DWORD) PURE; | |
STDMETHOD (MicrophoneGet) (THIS_ PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (MicrophoneSet) (THIS_ PCSTR) PURE; | |
STDMETHOD (SpeakerGet) (THIS_ PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (SpeakerSet) (THIS_ PCSTR) PURE; | |
STDMETHOD (SRModeGet) (THIS_ GUID *) PURE; | |
STDMETHOD (SRModeSet) (THIS_ GUID) PURE; | |
}; | |
typedef IVCmdAttributesA FAR * PIVCMDATTRIBUTESA; | |
#ifdef _S_UNICODE | |
#define IVCmdAttributes IVCmdAttributesW | |
#define IID_IVCmdAttributes IID_IVCmdAttributesW | |
#define PIVCMDATTRIBUTES PIVCMDATTRIBUTESW | |
#else | |
#define IVCmdAttributes IVCmdAttributesA | |
#define IID_IVCmdAttributes IID_IVCmdAttributesA | |
#define PIVCMDATTRIBUTES PIVCMDATTRIBUTESA | |
#endif // _S_UNICODE | |
/* | |
* IVCmdDialog | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVCmdDialogsW | |
DEFINE_GUID(IID_IVCmdDialogsW, 0xEE39B8A0L, 0x6053, 0x101B, 0x99, 0x26, 0x00, 0xAA, 0x00, 0x3C, 0xFC, 0x2C); | |
DECLARE_INTERFACE_ (IVCmdDialogsW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdDialogs members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainGeneralDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainMicDlg) (THIS_ HWND, PCWSTR) PURE; | |
}; | |
typedef IVCmdDialogsW FAR * PIVCMDDIALOGSW; | |
#undef INTERFACE | |
#define INTERFACE IVCmdDialogsA | |
// {AA8FE260-5545-11b9-C000-5611722E1D15} | |
DEFINE_GUID(IID_IVCmdDialogsA, 0xaa8fe260, 0x5545, 0x11b9, 0xc0, 0x0, 0x56, 0x11, 0x72, 0x2e, 0x1d, 0x15); | |
DECLARE_INTERFACE_ (IVCmdDialogsA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVCmdDialogs members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainGeneralDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainMicDlg) (THIS_ HWND, PCSTR) PURE; | |
}; | |
typedef IVCmdDialogsA FAR * PIVCMDDIALOGSA; | |
#ifdef _S_UNICODE | |
#define IVCmdDialogs IVCmdDialogsW | |
#define IID_IVCmdDialogs IID_IVCmdDialogsW | |
#define PIVCMDDIALOGS PIVCMDDIALOGSW | |
#else | |
#define IVCmdDialogs IVCmdDialogsA | |
#define IID_IVCmdDialogs IID_IVCmdDialogsA | |
#define PIVCMDDIALOGS PIVCMDDIALOGSA | |
#endif // _S_UNICODE | |
/************************************************************************ | |
class guids */ | |
// DEFINE_GUID(CLSID_VCmd, 0x93898800L, 0x604D, 0x101B, 0x99, 0x26, 0x00, 0xAA, 0x00, 0x3C, 0xFC, 0x2C); | |
// {6D40D820-0BA7-11ce-A166-00AA004CD65C} | |
DEFINE_GUID(CLSID_VCmd, | |
0x6d40d820, 0xba7, 0x11ce, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
// {89F70C30-8636-11ce-B763-00AA004CD65C} | |
DEFINE_GUID(CLSID_SRShare, | |
0x89f70c30, 0x8636, 0x11ce, 0xb7, 0x63, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
/************************************************************************ | |
High-Level dictation speech recognition API | |
*/ | |
/************************************************************************ | |
defines */ | |
#define VDCT_TOPICNAMELEN 32 | |
// bit flags for the dwReason field of IVDctNotifySink::TextChanged | |
#define VDCT_TEXTADDED 0x00000001 | |
#define VDCT_TEXTREMOVED 0x00000002 | |
#define VDCT_TEXTREPLACED 0x00000004 | |
// bit flags for the dwReason field of IVDctText::TextRemove/TextSet | |
#define VDCT_TEXTCLEAN 0x00010000 | |
#define VDCT_TEXTKEEPRESULTS 0x00020000 | |
// bit flags for dwFlags of IVDctGUI::FlagsSet | |
#define VDCTGUIF_VISIBLE 0x00000001 | |
#define VDCTGUIF_DONTMOVE 0x00000002 | |
#define VDCTGUIF_ADDWORD 0x00000004 | |
// bit flags for dwFX of IVDctText::FX | |
#define VDCTFX_CAPFIRST 0x00000001 | |
#define VDCTFX_LOWERFIRST 0x00000002 | |
#define VDCTFX_TOGGLEFIRST 0x00000003 | |
#define VDCTFX_CAPALL 0x00000004 | |
#define VDCTFX_LOWERALL 0x00000005 | |
#define VDCTFX_REMOVESPACES 0x00000006 | |
#define VDCTFX_KEEPONLYFIRSTLETTER 0x00000007 | |
/************************************************************************ | |
typedefs */ | |
// site information structure - used for IVoiceDictation::SiteInfoGet/Set | |
typedef struct { | |
DWORD dwAutoGainEnable; | |
DWORD dwAwakeState; | |
DWORD dwThreshold; | |
DWORD dwDevice; | |
DWORD dwEnable; | |
WCHAR szMicrophone[VCMD_MICLEN]; | |
WCHAR szSpeaker[VCMD_SPEAKERLEN]; | |
GUID gModeID; | |
} VDSITEINFOW, *PVDSITEINFOW; | |
typedef struct { | |
DWORD dwAutoGainEnable; | |
DWORD dwAwakeState; | |
DWORD dwThreshold; | |
DWORD dwDevice; | |
DWORD dwEnable; | |
CHAR szMicrophone[VCMD_MICLEN]; | |
CHAR szSpeaker[VCMD_SPEAKERLEN]; | |
GUID gModeID; | |
} VDSITEINFOA, *PVDSITEINFOA; | |
// topic structure used by the IVoiceDictation object | |
typedef struct { | |
WCHAR szTopic[VDCT_TOPICNAMELEN]; | |
LANGUAGEW language; | |
} VDCTTOPICW, *PVDCTTOPICW; | |
typedef struct { | |
CHAR szTopic[VDCT_TOPICNAMELEN]; | |
LANGUAGEA language; | |
} VDCTTOPICA, *PVDCTTOPICA; | |
#ifdef _S_UNICODE | |
#define VDSITEINFO VDSITEINFOW | |
#define PVDSITEINFO PVDSITEINFOW | |
#define VDCTTOPIC VDCTTOPICW | |
#define PVDCTTOPIC PVDCTTOPICW | |
#else | |
#define VDSITEINFO VDSITEINFOA | |
#define PVDSITEINFO PVDSITEINFOA | |
#define VDCTTOPIC VDCTTOPICA | |
#define PVDCTTOPIC PVDCTTOPICA | |
#endif // _S_UNICODE | |
// memory maintenance structure used by MemoryGet/Set in IVDctAttributes | |
typedef struct { | |
DWORD dwMaxRAM; | |
DWORD dwMaxTime; | |
DWORD dwMaxWords; | |
BOOL fKeepAudio; | |
BOOL fKeepCorrection; | |
BOOL fKeepEval; | |
} VDCTMEMORY, *PVDCTMEMORY; | |
// bookmark definition | |
typedef struct { | |
DWORD dwID; | |
DWORD dwPosn; | |
} VDCTBOOKMARK, *PVDCTBOOKMARK; | |
/************************************************************************ | |
interfaces */ | |
/* | |
* IVDctNotifySink | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctNotifySinkW | |
// {5FEB8800-67D5-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctNotifySinkW, | |
0x5feb8800, 0x67d5, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctNotifySinkW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctNotifySink members | |
STDMETHOD (CommandBuiltIn) (THIS_ PWSTR) PURE; | |
STDMETHOD (CommandOther) (THIS_ PWSTR) PURE; | |
STDMETHOD (CommandRecognize) (THIS_ DWORD, DWORD, DWORD, PVOID, PWSTR) PURE; | |
STDMETHOD (TextSelChanged) (THIS) PURE; | |
STDMETHOD (TextChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (TextBookmarkChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (PhraseStart) (THIS) PURE; | |
STDMETHOD (PhraseFinish) (THIS_ DWORD, PSRPHRASEW) PURE; | |
STDMETHOD (PhraseHypothesis) (THIS_ DWORD, PSRPHRASEW) PURE; | |
STDMETHOD (UtteranceBegin) (THIS) PURE; | |
STDMETHOD (UtteranceEnd) (THIS) PURE; | |
STDMETHOD (VUMeter) (THIS_ WORD) PURE; | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Interference) (THIS_ DWORD) PURE; | |
STDMETHOD (Training) (THIS_ DWORD) PURE; | |
STDMETHOD (Dictating) (THIS_ PCWSTR, BOOL) PURE; | |
}; | |
typedef IVDctNotifySinkW FAR * PIVDCTNOTIFYSINKW; | |
#undef INTERFACE | |
#define INTERFACE IVDctNotifySinkA | |
// {88AD7DC0-67D5-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctNotifySinkA, | |
0x88ad7dc0, 0x67d5, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctNotifySinkA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctNotifySinkA members | |
STDMETHOD (CommandBuiltIn) (THIS_ PSTR) PURE; | |
STDMETHOD (CommandOther) (THIS_ PSTR) PURE; | |
STDMETHOD (CommandRecognize) (THIS_ DWORD, DWORD, DWORD, PVOID, PSTR) PURE; | |
STDMETHOD (TextSelChanged) (THIS) PURE; | |
STDMETHOD (TextChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (TextBookmarkChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (PhraseStart) (THIS) PURE; | |
STDMETHOD (PhraseFinish) (THIS_ DWORD, PSRPHRASEA) PURE; | |
STDMETHOD (PhraseHypothesis) (THIS_ DWORD, PSRPHRASEA) PURE; | |
STDMETHOD (UtteranceBegin) (THIS) PURE; | |
STDMETHOD (UtteranceEnd) (THIS) PURE; | |
STDMETHOD (VUMeter) (THIS_ WORD) PURE; | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Interference) (THIS_ DWORD) PURE; | |
STDMETHOD (Training) (THIS_ DWORD) PURE; | |
STDMETHOD (Dictating) (THIS_ PCSTR, BOOL) PURE; | |
}; | |
typedef IVDctNotifySinkA FAR * PIVDCTNOTIFYSINKA; | |
#ifdef _S_UNICODE | |
#define IVDctNotifySink IVDctNotifySinkW | |
#define IID_IVDctNotifySink IID_IVDctNotifySinkW | |
#define PIVDCTNOTIFYSINK PIVDCTNOTIFYSINKW | |
#else | |
#define IVDctNotifySink IVDctNotifySinkA | |
#define IID_IVDctNotifySink IID_IVDctNotifySinkA | |
#define PIVDCTNOTIFYSINK PIVDCTNOTIFYSINKA | |
#endif // _S_UNICODE | |
/* | |
* IVDctNotifySink2 | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctNotifySink2W | |
// {599F77E3-E42E-11d1-BED8-006008317CE8} | |
DEFINE_GUID(IID_IVDctNotifySink2W, | |
0x599f77e3, 0xe42e, 0x11d1, 0xbe, 0xd8, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (IVDctNotifySink2W, IVDctNotifySinkW) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctNotifySink2 members | |
STDMETHOD (CommandBuiltIn) (THIS_ PWSTR) PURE; | |
STDMETHOD (CommandOther) (THIS_ PWSTR) PURE; | |
STDMETHOD (CommandRecognize) (THIS_ DWORD, DWORD, DWORD, PVOID, PWSTR) PURE; | |
STDMETHOD (TextSelChanged) (THIS) PURE; | |
STDMETHOD (TextChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (TextBookmarkChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (PhraseStart) (THIS) PURE; | |
STDMETHOD (PhraseFinish) (THIS_ DWORD, PSRPHRASEW) PURE; | |
STDMETHOD (PhraseHypothesis) (THIS_ DWORD, PSRPHRASEW) PURE; | |
STDMETHOD (UtteranceBegin) (THIS) PURE; | |
STDMETHOD (UtteranceEnd) (THIS) PURE; | |
STDMETHOD (VUMeter) (THIS_ WORD) PURE; | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Interference) (THIS_ DWORD) PURE; | |
STDMETHOD (Training) (THIS_ DWORD) PURE; | |
STDMETHOD (Dictating) (THIS_ PCWSTR, BOOL) PURE; | |
STDMETHOD (Error) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (Warning) (THIS_ LPUNKNOWN) PURE; | |
}; | |
typedef IVDctNotifySink2W FAR * PIVDCTNOTIFYSINK2W; | |
#undef INTERFACE | |
#define INTERFACE IVDctNotifySink2A | |
// {599F77E4-E42E-11d1-BED8-006008317CE8} | |
DEFINE_GUID(IID_IVDctNotifySink2A, | |
0x599f77e4, 0xe42e, 0x11d1, 0xbe, 0xd8, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (IVDctNotifySink2A, IVDctNotifySinkA) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctNotifySink2A members | |
STDMETHOD (CommandBuiltIn) (THIS_ PSTR) PURE; | |
STDMETHOD (CommandOther) (THIS_ PSTR) PURE; | |
STDMETHOD (CommandRecognize) (THIS_ DWORD, DWORD, DWORD, PVOID, PSTR) PURE; | |
STDMETHOD (TextSelChanged) (THIS) PURE; | |
STDMETHOD (TextChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (TextBookmarkChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (PhraseStart) (THIS) PURE; | |
STDMETHOD (PhraseFinish) (THIS_ DWORD, PSRPHRASEA) PURE; | |
STDMETHOD (PhraseHypothesis) (THIS_ DWORD, PSRPHRASEA) PURE; | |
STDMETHOD (UtteranceBegin) (THIS) PURE; | |
STDMETHOD (UtteranceEnd) (THIS) PURE; | |
STDMETHOD (VUMeter) (THIS_ WORD) PURE; | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Interference) (THIS_ DWORD) PURE; | |
STDMETHOD (Training) (THIS_ DWORD) PURE; | |
STDMETHOD (Dictating) (THIS_ PCSTR, BOOL) PURE; | |
STDMETHOD (Error) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (Warning) (THIS_ LPUNKNOWN) PURE; | |
}; | |
typedef IVDctNotifySink2A FAR * PIVDCTNOTIFYSINK2A; | |
#ifdef _S_UNICODE | |
#define IVDctNotifySink2 IVDctNotifySink2W | |
#define IID_IVDctNotifySink2 IID_IVDctNotifySink2W | |
#define PIVDCTNOTIFYSINK2 PIVDCTNOTIFYSINK2W | |
#else | |
#define IVDctNotifySink2 IVDctNotifySink2A | |
#define IID_IVDctNotifySink2 IID_IVDctNotifySink2A | |
#define PIVDCTNOTIFYSINK2 PIVDCTNOTIFYSINK2A | |
#endif // _S_UNICODE | |
/* | |
* IVoiceDictation | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVoiceDictationW | |
// {88AD7DC3-67D5-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVoiceDictationW, | |
0x88ad7dc3, 0x67d5, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVoiceDictationW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVoiceDictation members | |
STDMETHOD (Register) (THIS_ PCWSTR, PCWSTR, LPSTORAGE, PCWSTR, | |
PIVDCTNOTIFYSINK, GUID, DWORD) PURE; | |
STDMETHOD (SiteInfoGet) (THIS_ PCWSTR, PVDSITEINFOW) PURE; | |
STDMETHOD (SiteInfoSet) (THIS_ PCWSTR, PVDSITEINFOW) PURE; | |
STDMETHOD (SessionSerialize) (THIS_ LPSTORAGE) PURE; | |
STDMETHOD (SessionDeserialize) (THIS_ LPSTORAGE) PURE; | |
STDMETHOD (TopicEnum) (THIS_ PSDATA) PURE; | |
STDMETHOD (TopicAddString) (THIS_ PCWSTR, LANGUAGEW *) PURE; | |
STDMETHOD (TopicRemove) (THIS_ PCWSTR) PURE; | |
STDMETHOD (TopicSerialize) (THIS_ LPSTORAGE) PURE; | |
STDMETHOD (TopicDeserialize) (THIS_ LPSTORAGE) PURE; | |
STDMETHOD (Activate) (THIS_ HWND) PURE; | |
STDMETHOD (Deactivate) (THIS) PURE; | |
STDMETHOD (TopicAddGrammar) (THIS_ PCWSTR, SDATA) PURE; | |
STDMETHOD (CFGSet) (THIS_ LANGID, PCWSTR, PCWSTR) PURE; | |
}; | |
typedef IVoiceDictationW FAR * PIVOICEDICTATIONW; | |
#undef INTERFACE | |
#define INTERFACE IVoiceDictationA | |
// {88AD7DC4-67D5-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVoiceDictationA, | |
0x88ad7dc4, 0x67d5, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVoiceDictationA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVoiceDictation members | |
STDMETHOD (Register) (THIS_ PCSTR, PCSTR, LPSTORAGE, PCSTR, | |
PIVDCTNOTIFYSINK, GUID, DWORD) PURE; | |
STDMETHOD (SiteInfoGet) (THIS_ PCSTR, PVDSITEINFOA) PURE; | |
STDMETHOD (SiteInfoSet) (THIS_ PCSTR, PVDSITEINFOA) PURE; | |
STDMETHOD (SessionSerialize) (THIS_ LPSTORAGE) PURE; | |
STDMETHOD (SessionDeserialize) (THIS_ LPSTORAGE) PURE; | |
STDMETHOD (TopicEnum) (THIS_ PSDATA) PURE; | |
STDMETHOD (TopicAddString) (THIS_ PCSTR, LANGUAGEA *) PURE; | |
STDMETHOD (TopicRemove) (THIS_ PCSTR) PURE; | |
STDMETHOD (TopicSerialize) (THIS_ LPSTORAGE) PURE; | |
STDMETHOD (TopicDeserialize) (THIS_ LPSTORAGE) PURE; | |
STDMETHOD (Activate) (THIS_ HWND) PURE; | |
STDMETHOD (Deactivate) (THIS) PURE; | |
STDMETHOD (TopicAddGrammar) (THIS_ PCSTR, SDATA) PURE; | |
STDMETHOD (CFGSet) (THIS_ LANGID, PCSTR, PCSTR) PURE; | |
}; | |
typedef IVoiceDictationA FAR * PIVOICEDICTATIONA; | |
#ifdef _S_UNICODE | |
#define IVoiceDictation IVoiceDictationW | |
#define IID_IVoiceDictation IID_IVoiceDictationW | |
#define PIVOICEDICTATION PIVOICEDICTATIONW | |
#else | |
#define IVoiceDictation IVoiceDictationA | |
#define IID_IVoiceDictation IID_IVoiceDictationA | |
#define PIVOICEDICTATION PIVOICEDICTATIONA | |
#endif //_S_UNICODE | |
/* | |
* IVDctText | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctTextW | |
// {6D62B3A0-6893-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctTextW, | |
0x6d62b3a0, 0x6893, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctTextW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctText members | |
STDMETHOD (Lock) (THIS) PURE; | |
STDMETHOD (UnLock) (THIS) PURE; | |
STDMETHOD (TextGet) (THIS_ DWORD, DWORD, PSDATA) PURE; | |
STDMETHOD (TextSet) (THIS_ DWORD, DWORD, PCWSTR, DWORD) PURE; | |
STDMETHOD (TextMove) (THIS_ DWORD, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TextRemove) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TextSelSet) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (TextSelGet) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (TextLengthGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (GetChanges) (THIS_ DWORD *, DWORD *, DWORD *, DWORD *) PURE; | |
STDMETHOD (BookmarkAdd) (THIS_ PVDCTBOOKMARK) PURE; | |
STDMETHOD (BookmarkRemove) (THIS_ DWORD) PURE; | |
STDMETHOD (BookmarkMove) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (BookmarkQuery) (THIS_ DWORD, PVDCTBOOKMARK) PURE; | |
STDMETHOD (BookmarkEnum) (THIS_ DWORD, DWORD, PVDCTBOOKMARK *, | |
DWORD *) PURE; | |
STDMETHOD (Hint) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Words) (THIS_ PCWSTR) PURE; | |
STDMETHOD (ResultsGet) (THIS_ DWORD, DWORD, DWORD *, DWORD *, | |
LPUNKNOWN *) PURE; | |
STDMETHOD (FX) (THIS_ DWORD) PURE; | |
}; | |
typedef IVDctTextW FAR * PIVDCTTEXTW; | |
#undef INTERFACE | |
#define INTERFACE IVDctTextA | |
// {6D62B3A1-6893-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctTextA, | |
0x6d62b3a1, 0x6893, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctTextA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctText members | |
STDMETHOD (Lock) (THIS) PURE; | |
STDMETHOD (UnLock) (THIS) PURE; | |
STDMETHOD (TextGet) (THIS_ DWORD, DWORD, PSDATA) PURE; | |
STDMETHOD (TextSet) (THIS_ DWORD, DWORD, PCSTR, DWORD) PURE; | |
STDMETHOD (TextMove) (THIS_ DWORD, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TextRemove) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TextSelSet) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (TextSelGet) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (TextLengthGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (GetChanges) (THIS_ DWORD *, DWORD *, DWORD *, DWORD *) PURE; | |
STDMETHOD (BookmarkAdd) (THIS_ PVDCTBOOKMARK) PURE; | |
STDMETHOD (BookmarkRemove) (THIS_ DWORD) PURE; | |
STDMETHOD (BookmarkMove) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (BookmarkQuery) (THIS_ DWORD, PVDCTBOOKMARK) PURE; | |
STDMETHOD (BookmarkEnum) (THIS_ DWORD, DWORD, PVDCTBOOKMARK *, | |
DWORD *) PURE; | |
STDMETHOD (Hint) (THIS_ PCSTR) PURE; | |
STDMETHOD (Words) (THIS_ PCSTR) PURE; | |
STDMETHOD (ResultsGet) (THIS_ DWORD, DWORD, DWORD *, DWORD *, | |
LPUNKNOWN *) PURE; | |
STDMETHOD (FX) (THIS_ DWORD) PURE; | |
}; | |
typedef IVDctTextA FAR * PIVDCTTEXTA; | |
#ifdef _S_UNICODE | |
#define IVDctText IVDctTextW | |
#define IID_IVDctText IID_IVDctTextW | |
#define PIVDCTTEXT PIVDCTTEXTW | |
#else | |
#define IVDctText IVDctTextA | |
#define IID_IVDctText IID_IVDctTextA | |
#define PIVDCTTEXT PIVDCTTEXTA | |
#endif //_S_UNICODE | |
/* | |
* IVDctText2 | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctText2W | |
// {238004E1-F0C4-11d1-BED9-006008317CE8} | |
DEFINE_GUID(IID_IVDctText2W, | |
0x238004e1, 0xf0c4, 0x11d1, 0xbe, 0xd9, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (IVDctText2W, IVDctTextW) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctText members | |
STDMETHOD (Lock) (THIS) PURE; | |
STDMETHOD (UnLock) (THIS) PURE; | |
STDMETHOD (TextGet) (THIS_ DWORD, DWORD, PSDATA) PURE; | |
STDMETHOD (TextSet) (THIS_ DWORD, DWORD, PCWSTR, DWORD) PURE; | |
STDMETHOD (TextMove) (THIS_ DWORD, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TextRemove) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TextSelSet) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (TextSelGet) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (TextLengthGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (GetChanges) (THIS_ DWORD *, DWORD *, DWORD *, DWORD *) PURE; | |
STDMETHOD (BookmarkAdd) (THIS_ PVDCTBOOKMARK) PURE; | |
STDMETHOD (BookmarkRemove) (THIS_ DWORD) PURE; | |
STDMETHOD (BookmarkMove) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (BookmarkQuery) (THIS_ DWORD, PVDCTBOOKMARK) PURE; | |
STDMETHOD (BookmarkEnum) (THIS_ DWORD, DWORD, PVDCTBOOKMARK *, | |
DWORD *) PURE; | |
STDMETHOD (Hint) (THIS_ PCWSTR) PURE; | |
STDMETHOD (Words) (THIS_ PCWSTR) PURE; | |
STDMETHOD (ResultsGet) (THIS_ DWORD, DWORD, DWORD *, DWORD *, | |
LPUNKNOWN *) PURE; | |
STDMETHOD (FX) (THIS_ DWORD) PURE; | |
// IVDctText2 | |
STDMETHOD (ITNApply) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (ITNExpand) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (ResultsGet2) (THIS_ DWORD, DWORD, DWORD *, DWORD *, | |
LPUNKNOWN *, DWORD*, DWORD*) PURE; | |
STDMETHOD (ResultsSet) (THIS_ DWORD, DWORD, | |
LPUNKNOWN, DWORD, DWORD) PURE; | |
}; | |
typedef IVDctText2W FAR * PIVDCTTEXT2W; | |
#undef INTERFACE | |
#define INTERFACE IVDctText2A | |
// {238004E2-F0C4-11d1-BED9-006008317CE8} | |
DEFINE_GUID(IID_IVDctText2A, | |
0x238004e2, 0xf0c4, 0x11d1, 0xbe, 0xd9, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (IVDctText2A, IVDctTextA) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctText members | |
STDMETHOD (Lock) (THIS) PURE; | |
STDMETHOD (UnLock) (THIS) PURE; | |
STDMETHOD (TextGet) (THIS_ DWORD, DWORD, PSDATA) PURE; | |
STDMETHOD (TextSet) (THIS_ DWORD, DWORD, PCSTR, DWORD) PURE; | |
STDMETHOD (TextMove) (THIS_ DWORD, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TextRemove) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (TextSelSet) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (TextSelGet) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (TextLengthGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (GetChanges) (THIS_ DWORD *, DWORD *, DWORD *, DWORD *) PURE; | |
STDMETHOD (BookmarkAdd) (THIS_ PVDCTBOOKMARK) PURE; | |
STDMETHOD (BookmarkRemove) (THIS_ DWORD) PURE; | |
STDMETHOD (BookmarkMove) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (BookmarkQuery) (THIS_ DWORD, PVDCTBOOKMARK) PURE; | |
STDMETHOD (BookmarkEnum) (THIS_ DWORD, DWORD, PVDCTBOOKMARK *, | |
DWORD *) PURE; | |
STDMETHOD (Hint) (THIS_ PCSTR) PURE; | |
STDMETHOD (Words) (THIS_ PCSTR) PURE; | |
STDMETHOD (ResultsGet) (THIS_ DWORD, DWORD, DWORD *, DWORD *, | |
LPUNKNOWN *) PURE; | |
STDMETHOD (FX) (THIS_ DWORD) PURE; | |
// IVDctText2 | |
STDMETHOD (ITNApply) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (ITNExpand) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (ResultsGet2) (THIS_ DWORD, DWORD, DWORD *, DWORD *, | |
LPUNKNOWN *, DWORD*, DWORD*) PURE; | |
STDMETHOD (ResultsSet) (THIS_ DWORD, DWORD, | |
LPUNKNOWN, DWORD, DWORD) PURE; | |
}; | |
typedef IVDctText2A FAR * PIVDCTTEXT2A; | |
#ifdef _S_UNICODE | |
#define IVDctText2 IVDctText2W | |
#define IID_IVDctText2 IID_IVDctText2W | |
#define PIVDCTTEXT2 PIVDCTTEXT2W | |
#else | |
#define IVDctText2 IVDctText2A | |
#define IID_IVDctText2 IID_IVDctText2A | |
#define PIVDCTTEXT2 PIVDCTTEXT2A | |
#endif //_S_UNICODE | |
/* | |
* IVDctTextCache | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctTextCache | |
// {238004E3-F0C4-11d1-BED9-006008317CE8} | |
DEFINE_GUID(IID_IVDctTextCache, | |
0x238004e3, 0xf0c4, 0x11d1, 0xbe, 0xd9, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
DECLARE_INTERFACE_ (IVDctTextCache, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctTextCache members | |
STDMETHOD (CopyToBin) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (CopyToMemory) (THIS_ DWORD, DWORD, PVOID*, DWORD*, LPUNKNOWN**, DWORD*) PURE; | |
STDMETHOD (PasteFromBin) (THIS_ DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (PasteFromMemory) (THIS_ DWORD, DWORD, PVOID, DWORD, LPUNKNOWN*, DWORD) PURE; | |
}; | |
typedef IVDctTextCache FAR * PIVDCTTEXTCACHE; | |
/* | |
* IVDctInvTextNorm | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctInvTextNormW | |
// {90A84EA0-6E51-11d0-9BC2-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctInvTextNormW, | |
0x90a84ea0, 0x6e51, 0x11d0, 0x9b, 0xc2, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctInvTextNormW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctInvTextNorm members | |
STDMETHOD (OptionsEnum) (THIS_ PWSTR *, DWORD *) PURE; | |
STDMETHOD (OptionsGet) (THIS_ PCWSTR, BOOL *) PURE; | |
STDMETHOD (OptionsSet) (THIS_ PCWSTR, BOOL) PURE; | |
}; | |
typedef IVDctInvTextNormW FAR * PIVDCTINVTEXTNORMW; | |
#undef INTERFACE | |
#define INTERFACE IVDctInvTextNormA | |
// {90A84EA1-6E51-11d0-9BC2-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctInvTextNormA, | |
0x90a84ea1, 0x6e51, 0x11d0, 0x9b, 0xc2, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctInvTextNormA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctInvTextNorm members | |
STDMETHOD (OptionsEnum) (THIS_ PSTR *, DWORD *) PURE; | |
STDMETHOD (OptionsGet) (THIS_ PCSTR, BOOL *) PURE; | |
STDMETHOD (OptionsSet) (THIS_ PCSTR, BOOL) PURE; | |
}; | |
typedef IVDctInvTextNormA FAR * PIVDCTINVTEXTNORMA; | |
#ifdef _S_UNICODE | |
#define IVDctInvTextNorm IVDctInvTextNormW | |
#define IID_IVDctInvTextNorm IID_IVDctInvTextNormW | |
#define PIVDCTINVTEXTNORM PIVDCTINVTEXTNORMW | |
#else | |
#define IVDctInvTextNorm IVDctInvTextNormA | |
#define IID_IVDctInvTextNorm IID_IVDctInvTextNormA | |
#define PIVDCTINVTEXTNORM PIVDCTINVTEXTNORMA | |
#endif // _S_UNICODE | |
/* | |
* IVDctAttributes | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctAttributesW | |
// {88AD7DC5-67D5-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctAttributesW, | |
0x88ad7dc5, 0x67d5, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctAttributesW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctAttributes members | |
STDMETHOD (AutoGainEnableGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AutoGainEnableSet) (THIS_ DWORD) PURE; | |
STDMETHOD (AwakeStateGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AwakeStateSet) (THIS_ DWORD) PURE; | |
STDMETHOD (ThresholdGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ThresholdSet) (THIS_ DWORD) PURE; | |
STDMETHOD (EchoGet) (THIS_ BOOL *) PURE; | |
STDMETHOD (EchoSet) (THIS_ BOOL) PURE; | |
STDMETHOD (EnergyFloorGet) (THIS_ WORD *) PURE; | |
STDMETHOD (EnergyFloorSet) (THIS_ WORD) PURE; | |
STDMETHOD (RealTimeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (RealTimeSet) (THIS_ DWORD) PURE; | |
STDMETHOD (TimeOutGet) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (TimeOutSet) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (ModeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ModeSet) (THIS_ DWORD) PURE; | |
STDMETHOD (MemoryGet) (THIS_ VDCTMEMORY *) PURE; | |
STDMETHOD (MemorySet) (THIS_ VDCTMEMORY *) PURE; | |
STDMETHOD (IsAnyoneDictating) (THIS_ HWND, PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (MicrophoneGet) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (MicrophoneSet) (THIS_ PCWSTR) PURE; | |
STDMETHOD (SpeakerGet) (THIS_ PWSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (SpeakerSet) (THIS_ PCWSTR) PURE; | |
}; | |
typedef IVDctAttributesW FAR * PIVDCTATTRIBUTESW; | |
#undef INTERFACE | |
#define INTERFACE IVDctAttributesA | |
// {88AD7DC6-67D5-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctAttributesA, | |
0x88ad7dc6, 0x67d5, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctAttributesA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctAttributes members | |
STDMETHOD (AutoGainEnableGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AutoGainEnableSet) (THIS_ DWORD) PURE; | |
STDMETHOD (AwakeStateGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (AwakeStateSet) (THIS_ DWORD) PURE; | |
STDMETHOD (ThresholdGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ThresholdSet) (THIS_ DWORD) PURE; | |
STDMETHOD (EchoGet) (THIS_ BOOL *) PURE; | |
STDMETHOD (EchoSet) (THIS_ BOOL) PURE; | |
STDMETHOD (EnergyFloorGet) (THIS_ WORD *) PURE; | |
STDMETHOD (EnergyFloorSet) (THIS_ WORD) PURE; | |
STDMETHOD (RealTimeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (RealTimeSet) (THIS_ DWORD) PURE; | |
STDMETHOD (TimeOutGet) (THIS_ DWORD *, DWORD *) PURE; | |
STDMETHOD (TimeOutSet) (THIS_ DWORD, DWORD) PURE; | |
STDMETHOD (ModeGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (ModeSet) (THIS_ DWORD) PURE; | |
STDMETHOD (MemoryGet) (THIS_ VDCTMEMORY *) PURE; | |
STDMETHOD (MemorySet) (THIS_ VDCTMEMORY *) PURE; | |
STDMETHOD (IsAnyoneDictating) (THIS_ HWND, PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (MicrophoneGet) (THIS_ PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (MicrophoneSet) (THIS_ PCSTR) PURE; | |
STDMETHOD (SpeakerGet) (THIS_ PSTR, DWORD, DWORD *) PURE; | |
STDMETHOD (SpeakerSet) (THIS_ PCSTR) PURE; | |
}; | |
typedef IVDctAttributesA FAR * PIVDCTATTRIBUTESA; | |
#ifdef _S_UNICODE | |
#define IVDctAttributes IVDctAttributesW | |
#define IID_IVDctAttributes IID_IVDctAttributesW | |
#define PIVDCTATTRIBUTES PIVDCTATTRIBUTESW | |
#else | |
#define IVDctAttributes IVDctAttributesA | |
#define IID_IVDctAttributes IID_IVDctAttributesA | |
#define PIVDCTATTRIBUTES PIVDCTATTRIBUTESA | |
#endif // _S_UNICODE | |
/* | |
* IVDctCommandsBuiltInW Interface | |
*/ | |
// {D4E3F8E0-6521-11d1-8C35-006097DF5D01} | |
DEFINE_GUID(IID_IVDctCommandsBuiltInW, | |
0xd4e3f8e0, 0x6521, 0x11d1, 0x8c, 0x35, 0x0, 0x60, 0x97, 0xdf, 0x5d, 0x1); | |
// {8763AFD1-7ADE-11d1-BEA7-006008317CE8} | |
DEFINE_GUID(IID_IVDctCommandsBuiltInA, | |
0x8763afd1, 0x7ade, 0x11d1, 0xbe, 0xa7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
#undef INTERFACE | |
#define INTERFACE IVDctCommandsBuiltInW | |
DECLARE_INTERFACE_ (IVDctCommandsBuiltInW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctCommandsBuiltInW members | |
STDMETHOD (Activate) (THIS_ HWND, DWORD) PURE; | |
STDMETHOD (Deactivate) (THIS) PURE; | |
STDMETHOD (FromMemory) (THIS_ PVOID, DWORD) PURE; | |
STDMETHOD (FromFile) (THIS_ PCWSTR) PURE; | |
STDMETHOD (FromStream) (THIS_ IStream *) PURE; | |
STDMETHOD (ListSet) (THIS_ PCWSTR, PVOID, DWORD) PURE; | |
STDMETHOD (TextGet) (THIS_ LPWSTR*, DWORD*) PURE; | |
STDMETHOD (ToMemory) (THIS_ PVOID*, DWORD*) PURE; | |
STDMETHOD (ToFile) (THIS_ PCWSTR) PURE; | |
STDMETHOD (ToStream) (THIS_ IStream *) PURE; | |
}; | |
typedef IVDctCommandsBuiltInW * PIVDCTCOMMANDSBUILTINW; | |
#undef INTERFACE | |
#define INTERFACE IVDctCommandsBuiltInA | |
DECLARE_INTERFACE_ (IVDctCommandsBuiltInA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctCommandsBuiltInA members | |
STDMETHOD (Activate) (THIS_ HWND, DWORD) PURE; | |
STDMETHOD (Deactivate) (THIS) PURE; | |
STDMETHOD (FromMemory) (THIS_ PVOID, DWORD) PURE; | |
STDMETHOD (FromFile) (THIS_ PCSTR) PURE; | |
STDMETHOD (FromStream) (THIS_ IStream *) PURE; | |
STDMETHOD (ListSet) (THIS_ PCSTR, PVOID, DWORD) PURE; | |
STDMETHOD (TextGet) (THIS_ LPSTR*, DWORD*) PURE; | |
STDMETHOD (ToMemory) (THIS_ PVOID*, DWORD*) PURE; | |
STDMETHOD (ToFile) (THIS_ PCSTR) PURE; | |
STDMETHOD (ToStream) (THIS_ IStream *) PURE; | |
}; | |
typedef IVDctCommandsBuiltInA * PIVDCTCOMMANDSBUILTINA; | |
#ifdef _S_UNICODE | |
#define IVDctCommandsBuiltIn IVDctCommandsBuiltInW | |
#define IID_IVDctCommandsBuiltIn IID_IVDctCommandsBuiltInW | |
#define PIVDCTCOMMANDSBUILTIN PIVDCTCOMMANDSBUILTINW | |
#else | |
#define IVDctCommandsBuiltIn IVDctCommandsBuiltInA | |
#define IID_IVDctCommandsBuiltIn IID_IVDctCommandsBuiltInA | |
#define PIVDCTCOMMANDSBUILTIN PIVDCTCOMMANDSBUILTINA | |
#endif // _S_UNICODE | |
/* | |
* IVDctCommandsApp Interface | |
*/ | |
// {D4E3F8E1-6521-11d1-8C35-006097DF5D01} | |
DEFINE_GUID(IID_IVDctCommandsAppW, | |
0xd4e3f8e1, 0x6521, 0x11d1, 0x8c, 0x35, 0x0, 0x60, 0x97, 0xdf, 0x5d, 0x1); | |
// {8763AFD2-7ADE-11d1-BEA7-006008317CE8} | |
DEFINE_GUID(IID_IVDctCommandsAppA, | |
0x8763afd2, 0x7ade, 0x11d1, 0xbe, 0xa7, 0x0, 0x60, 0x8, 0x31, 0x7c, 0xe8); | |
typedef IVDctCommandsBuiltInA IVDctCommandsAppA; | |
typedef IVDctCommandsAppA * PIVDCTCOMMANDSAPPA; | |
typedef IVDctCommandsBuiltInW IVDctCommandsAppW; | |
typedef IVDctCommandsAppW * PIVDCTCOMMANDSAPPW; | |
#ifdef _S_UNICODE | |
#define IVDctCommandsApp IVDctCommandsAppW | |
#define IID_IVDctCommandsApp IID_IVDctCommandsAppW | |
#define PIVDCTCOMMANDSAPP PIVDCTCOMMANDSAPPW | |
#else | |
#define IVDctCommandsApp IVDctCommandsAppA | |
#define IID_IVDctCommandsApp IID_IVDctCommandsAppA | |
#define PIVDCTCOMMANDSAPP PIVDCTCOMMANDSAPPA | |
#endif // _S_UNICODE | |
/* | |
* IVDctCommands | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctCommandsW | |
// {A02C2CA0-AE50-11cf-833A-00AA00A21A29} | |
DEFINE_GUID(IID_IVDctCommandsW, | |
0xA02C2CA0, 0xAE50, 0x11cf, 0x83, 0x3A, 0x00, 0xAA, 0x00, 0xA2, 0x1A, 0x29); | |
DECLARE_INTERFACE_ (IVDctCommandsW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctCommands members | |
STDMETHOD (Add) (THIS_ BOOL, DWORD, SDATA, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ BOOL, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (Get) (THIS_ BOOL, DWORD, DWORD, DWORD, SDATA*, DWORD *) PURE; | |
STDMETHOD (Set) (THIS_ BOOL, DWORD, DWORD, DWORD, SDATA) PURE; | |
STDMETHOD (EnableItem) (THIS_ BOOL, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (Num) (THIS_ BOOL, DWORD *) PURE; | |
}; | |
typedef IVDctCommandsW FAR * PIVDCTCOMMANDSW; | |
#undef INTERFACE | |
#define INTERFACE IVDctCommandsA | |
// {A02C2CA1-AE50-11cf-833A-00AA00A21A29} | |
DEFINE_GUID(IID_IVDctCommandsA, | |
0xA02C2CA1, 0xAE50, 0x11cf, 0x83, 0x3A, 0x00, 0xAA, 0x00, 0xA2, 0x1A, 0x29); | |
DECLARE_INTERFACE_ (IVDctCommandsA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctCommands members | |
STDMETHOD (Add) (THIS_ BOOL, DWORD, SDATA, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ BOOL, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (Get) (THIS_ BOOL, DWORD, DWORD, DWORD, SDATA*, DWORD *) PURE; | |
STDMETHOD (Set) (THIS_ BOOL, DWORD, DWORD, DWORD, SDATA) PURE; | |
STDMETHOD (EnableItem) (THIS_ BOOL, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (Num) (THIS_ BOOL, DWORD *) PURE; | |
}; | |
typedef IVDctCommandsA FAR * PIVDCTCOMMANDSA; | |
#ifdef _S_UNICODE | |
#define IVDctCommands IVDctCommandsW | |
#define IID_IVDctCommands IID_IVDctCommandsW | |
#define PIVDCTCOMMANDS PIVDCTCOMMANDSW | |
#else | |
#define IVDctCommands IVDctCommandsA | |
#define IID_IVDctCommands IID_IVDctCommandsA | |
#define PIVDCTCOMMANDS PIVDCTCOMMANDSA | |
#endif // _S_UNICODE | |
/* | |
* IVDctGlossary | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctGlossaryW | |
// {A02C2CA2-AE50-11cf-833A-00AA00A21A29} | |
DEFINE_GUID(IID_IVDctGlossaryW, | |
0xA02C2CA2, 0xAE50, 0x11cf, 0x83, 0x3A, 0x00, 0xAA, 0x00, 0xA2, 0x1A, 0x29); | |
DECLARE_INTERFACE_ (IVDctGlossaryW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctGlossary members | |
STDMETHOD (Add) (THIS_ BOOL, DWORD, SDATA, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ BOOL, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (Get) (THIS_ BOOL, DWORD, DWORD, DWORD, SDATA*, DWORD *) PURE; | |
STDMETHOD (Set) (THIS_ BOOL, DWORD, DWORD, DWORD, SDATA) PURE; | |
STDMETHOD (EnableItem) (THIS_ BOOL, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (Num) (THIS_ BOOL, DWORD *) PURE; | |
}; | |
typedef IVDctGlossaryW FAR * PIVDCTGLOSSARYW; | |
#undef INTERFACE | |
#define INTERFACE IVDctGlossaryA | |
// {A02C2CA3-AE50-11cf-833A-00AA00A21A29} | |
DEFINE_GUID(IID_IVDctGlossaryA, | |
0xA02C2CA3, 0xAE50, 0x11cf, 0x83, 0x3A, 0x00, 0xAA, 0x00, 0xA2, 0x1A, 0x29); | |
DECLARE_INTERFACE_ (IVDctGlossaryA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctGlossary members | |
STDMETHOD (Add) (THIS_ BOOL, DWORD, SDATA, DWORD *) PURE; | |
STDMETHOD (Remove) (THIS_ BOOL, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (Get) (THIS_ BOOL, DWORD, DWORD, DWORD, SDATA*, DWORD *) PURE; | |
STDMETHOD (Set) (THIS_ BOOL, DWORD, DWORD, DWORD, SDATA) PURE; | |
STDMETHOD (EnableItem) (THIS_ BOOL, DWORD, DWORD, DWORD) PURE; | |
STDMETHOD (Num) (THIS_ BOOL, DWORD *) PURE; | |
}; | |
typedef IVDctGlossaryA FAR * PIVDCTGLOSSARYA; | |
#ifdef _S_UNICODE | |
#define IVDctGlossary IVDctGlossaryW | |
#define IID_IVDctGlossary IID_IVDctGlossaryW | |
#define PIVDCTGLOSSARY PIVDCTGLOSSARYW | |
#else | |
#define IVDctGlossary IVDctGlossaryA | |
#define IID_IVDctGlossary IID_IVDctGlossaryA | |
#define PIVDCTGLOSSARY PIVDCTGLOSSARYA | |
#endif // _S_UNICODE | |
/* | |
* IVDctDialog | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVDctDialogsW | |
// {88AD7DC7-67D5-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctDialogsW, | |
0x88ad7dc7, 0x67d5, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctDialogsW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctDialogs members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainGeneralDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TrainMicDlg) (THIS_ HWND, PCWSTR) PURE; | |
}; | |
typedef IVDctDialogsW FAR * PIVDCTDIALOGSW; | |
#undef INTERFACE | |
#define INTERFACE IVDctDialogsA | |
// {88AD7DC8-67D5-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(IID_IVDctDialogsA, | |
0x88ad7dc8, 0x67d5, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
DECLARE_INTERFACE_ (IVDctDialogsA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctDialogs members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainGeneralDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TrainMicDlg) (THIS_ HWND, PCSTR) PURE; | |
}; | |
typedef IVDctDialogsA FAR * PIVDCTDIALOGSA; | |
#ifdef _S_UNICODE | |
#define IVDctDialogs IVDctDialogsW | |
#define IID_IVDctDialogs IID_IVDctDialogsW | |
#define PIVDCTDIALOGS PIVDCTDIALOGSW | |
#else | |
#define IVDctDialogs IVDctDialogsA | |
#define IID_IVDctDialogs IID_IVDctDialogsA | |
#define PIVDCTDIALOGS PIVDCTDIALOGSA | |
#endif // _S_UNICODE | |
#undef INTERFACE | |
#define INTERFACE IVDctGUI | |
// {8953F1A0-7E80-11cf-8D15-00A0C9034A7E} | |
DEFINE_GUID(IID_IVDctGUI, | |
0x8953f1a0, 0x7e80, 0x11cf, 0x8d, 0x15, 0x0, 0xa0, 0xc9, 0x3, 0x4a, 0x7e); | |
DECLARE_INTERFACE_ (IVDctGUI, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVDctDialogs members | |
STDMETHOD (SetSelRect) (THIS_ RECT *) PURE; | |
STDMETHOD (FlagsSet) (THIS_ DWORD) PURE; | |
STDMETHOD (FlagsGet) (THIS_ DWORD *) PURE; | |
}; | |
typedef IVDctGUI FAR * PIVDCTGUI; | |
/************************************************************************ | |
class guids */ | |
// {25522CA0-67CE-11cf-9B8B-08005AFC3A41} | |
DEFINE_GUID(CLSID_VDct, | |
0x35522ca0, 0x67ce, 0x11cf, 0x9b, 0x8b, 0x8, 0x0, 0x5a, 0xfc, 0x3a, 0x41); | |
/************************************************************************ | |
High-Level text-to-speech API | |
*/ | |
/************************************************************************ | |
defines */ | |
#define ONE (1) | |
// dwFlags parameter of IVoiceText::Register | |
#define VTXTF_ALLMESSAGES (ONE<<0) | |
/* | |
* dwFlags parameter of IVoiceText::Speak | |
*/ | |
// type of speech | |
#define VTXTST_STATEMENT 0x00000001 | |
#define VTXTST_QUESTION 0x00000002 | |
#define VTXTST_COMMAND 0x00000004 | |
#define VTXTST_WARNING 0x00000008 | |
#define VTXTST_READING 0x00000010 | |
#define VTXTST_NUMBERS 0x00000020 | |
#define VTXTST_SPREADSHEET 0x00000040 | |
// priorities | |
#define VTXTSP_VERYHIGH 0x00000080 | |
#define VTXTSP_HIGH 0x00000100 | |
#define VTXTSP_NORMAL 0x00000200 | |
/************************************************************************ | |
typedefs */ | |
// possible parameter to IVoiceText::Register | |
typedef struct { | |
DWORD dwDevice; | |
DWORD dwEnable; | |
DWORD dwSpeed; | |
GUID gModeID; | |
} VTSITEINFO, *PVTSITEINFO; | |
/************************************************************************ | |
interfaces */ | |
/* | |
* IVCmdNotifySink | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVTxtNotifySinkW | |
// {FD3A2430-E090-11cd-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVTxtNotifySinkW, 0xfd3a2430, 0xe090, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IVTxtNotifySinkW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVTxtNotifySinkW members | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Visual) (THIS_ WCHAR, WCHAR, DWORD, PTTSMOUTH) PURE; | |
STDMETHOD (Speak) (THIS_ PWSTR, PWSTR, DWORD) PURE; | |
STDMETHOD (SpeakingStarted) (THIS) PURE; | |
STDMETHOD (SpeakingDone) (THIS) PURE; | |
}; | |
typedef IVTxtNotifySinkW FAR * PIVTXTNOTIFYSINKW; | |
#undef INTERFACE | |
#define INTERFACE IVTxtNotifySinkA | |
// {D2C840E0-E092-11cd-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVTxtNotifySinkA, 0xd2c840e0, 0xe092, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IVTxtNotifySinkA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVTxtNotifySinkA members | |
STDMETHOD (AttribChanged) (THIS_ DWORD) PURE; | |
STDMETHOD (Visual) (THIS_ WCHAR, CHAR, DWORD, PTTSMOUTH) PURE; | |
STDMETHOD (Speak) (THIS_ PSTR, PSTR, DWORD) PURE; | |
STDMETHOD (SpeakingStarted) (THIS) PURE; | |
STDMETHOD (SpeakingDone) (THIS) PURE; | |
}; | |
typedef IVTxtNotifySinkA FAR * PIVTXTNOTIFYSINKA; | |
#ifdef _S_UNICODE | |
#define IVTxtNotifySink IVTxtNotifySinkW | |
#define IID_IVTxtNotifySink IID_IVTxtNotifySinkW | |
#define PIVTXTNOTIFYSINK PIVTXTNOTIFYSINKW | |
#else | |
#define IVTxtNotifySink IVTxtNotifySinkA | |
#define IID_IVTxtNotifySink IID_IVTxtNotifySinkA | |
#define PIVTXTNOTIFYSINK PIVTXTNOTIFYSINKA | |
#endif // _S_UNICODE | |
/* | |
* IVoiceText | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVoiceTextW | |
// {C4FE8740-E093-11cd-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVoiceTextW, 0xc4fe8740, 0xe093, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IVoiceTextW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVoiceText members | |
STDMETHOD (Register) (THIS_ PCWSTR, PCWSTR, | |
PIVTXTNOTIFYSINK, GUID, | |
DWORD, PVTSITEINFO) PURE; | |
STDMETHOD (Speak) (THIS_ PCWSTR, DWORD, PCWSTR) PURE; | |
STDMETHOD (StopSpeaking) (THIS) PURE; | |
STDMETHOD (AudioFastForward) (THIS) PURE; | |
STDMETHOD (AudioPause) (THIS) PURE; | |
STDMETHOD (AudioResume) (THIS) PURE; | |
STDMETHOD (AudioRewind) (THIS) PURE; | |
}; | |
typedef IVoiceTextW FAR * PIVOICETEXTW; | |
#undef INTERFACE | |
#define INTERFACE IVoiceTextA | |
// {E1B7A180-E093-11cd-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVoiceTextA, 0xe1b7a180, 0xe093, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IVoiceTextA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVoiceText members | |
STDMETHOD (Register) (THIS_ PCSTR, PCSTR, | |
PIVTXTNOTIFYSINK, GUID, | |
DWORD, PVTSITEINFO) PURE; | |
STDMETHOD (Speak) (THIS_ PCSTR, DWORD, PCSTR) PURE; | |
STDMETHOD (StopSpeaking) (THIS) PURE; | |
STDMETHOD (AudioFastForward) (THIS) PURE; | |
STDMETHOD (AudioPause) (THIS) PURE; | |
STDMETHOD (AudioResume) (THIS) PURE; | |
STDMETHOD (AudioRewind) (THIS) PURE; | |
}; | |
typedef IVoiceTextA FAR * PIVOICETEXTA; | |
#ifdef _S_UNICODE | |
#define IVoiceText IVoiceTextW | |
#define IID_IVoiceText IID_IVoiceTextW | |
#define PIVOICETEXT PIVOICETEXTW | |
#else | |
#define IVoiceText IVoiceTextA | |
#define IID_IVoiceText IID_IVoiceTextA | |
#define PIVOICETEXT PIVOICETEXTA | |
#endif //_S_UNICODE | |
/* | |
* IVTxtAttributes | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVTxtAttributesW | |
// {6A8D6140-E095-11cd-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVTxtAttributesW, 0x6a8d6140, 0xe095, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IVTxtAttributesW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVTxtAttributes members | |
STDMETHOD (DeviceGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (DeviceSet) (THIS_ DWORD) PURE; | |
STDMETHOD (EnabledGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (EnabledSet) (THIS_ DWORD) PURE; | |
STDMETHOD (IsSpeaking) (THIS_ BOOL *) PURE; | |
STDMETHOD (SpeedGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (SpeedSet) (THIS_ DWORD) PURE; | |
STDMETHOD (TTSModeGet) (THIS_ GUID *) PURE; | |
STDMETHOD (TTSModeSet) (THIS_ GUID) PURE; | |
}; | |
typedef IVTxtAttributesW FAR * PIVTXTATTRIBUTESW; | |
#undef INTERFACE | |
#define INTERFACE IVTxtAttributesA | |
// {8BE9CC30-E095-11cd-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVTxtAttributesA, 0x8be9cc30, 0xe095, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IVTxtAttributesA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVTxtAttributes members | |
STDMETHOD (DeviceGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (DeviceSet) (THIS_ DWORD) PURE; | |
STDMETHOD (EnabledGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (EnabledSet) (THIS_ DWORD) PURE; | |
STDMETHOD (IsSpeaking) (THIS_ BOOL *) PURE; | |
STDMETHOD (SpeedGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (SpeedSet) (THIS_ DWORD) PURE; | |
STDMETHOD (TTSModeGet) (THIS_ GUID *) PURE; | |
STDMETHOD (TTSModeSet) (THIS_ GUID) PURE; | |
}; | |
typedef IVTxtAttributesA FAR * PIVTXTATTRIBUTESA; | |
#ifdef _S_UNICODE | |
#define IVTxtAttributes IVTxtAttributesW | |
#define IID_IVTxtAttributes IID_IVTxtAttributesW | |
#define PIVTXTATTRIBUTES PIVTXTATTRIBUTESW | |
#else | |
#define IVTxtAttributes IVTxtAttributesA | |
#define IID_IVTxtAttributes IID_IVTxtAttributesA | |
#define PIVTXTATTRIBUTES PIVTXTATTRIBUTESA | |
#endif // _S_UNICODE | |
/* | |
* IVTxtDialog | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IVTxtDialogsW | |
// {D6469210-E095-11cd-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVTxtDialogsW, 0xd6469210, 0xe095, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IVTxtDialogsW, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVTxtDialogs members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCWSTR) PURE; | |
STDMETHOD (TranslateDlg) (THIS_ HWND, PCWSTR) PURE; | |
}; | |
typedef IVTxtDialogsW FAR * PIVTXTDIALOGSW; | |
#undef INTERFACE | |
#define INTERFACE IVTxtDialogsA | |
// {E8F6FA20-E095-11cd-A166-00AA004CD65C} | |
DEFINE_GUID(IID_IVTxtDialogsA, 0xe8f6fa20, 0xe095, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
DECLARE_INTERFACE_ (IVTxtDialogsA, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IVTxtDialogs members | |
STDMETHOD (AboutDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (LexiconDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (GeneralDlg) (THIS_ HWND, PCSTR) PURE; | |
STDMETHOD (TranslateDlg) (THIS_ HWND, PCSTR) PURE; | |
}; | |
typedef IVTxtDialogsA FAR * PIVTXTDIALOGSA; | |
#ifdef _S_UNICODE | |
#define IVTxtDialogs IVTxtDialogsW | |
#define IID_IVTxtDialogs IID_IVTxtDialogsW | |
#define PIVTXTDIALOGS PIVTXTDIALOGSW | |
#else | |
#define IVTxtDialogs IVTxtDialogsA | |
#define IID_IVTxtDialogs IID_IVTxtDialogsA | |
#define PIVTXTDIALOGS PIVTXTDIALOGSA | |
#endif // _S_UNICODE | |
/************************************************************************ | |
class guids */ | |
// {080EB9D0-E096-11cd-A166-00AA004CD65C} | |
// DEFINE_GUID(CLSID_VTxt, 0x80eb9d0, 0xe096, 0x11cd, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
// {F1DC95A0-0BA7-11ce-A166-00AA004CD65C} | |
DEFINE_GUID(CLSID_VTxt, | |
0xf1dc95a0, 0xba7, 0x11ce, 0xa1, 0x66, 0x0, 0xaa, 0x0, 0x4c, 0xd6, 0x5c); | |
// {70618F72-D1ED-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(CLSID_STGramComp, | |
0x70618f72, 0xd1ed, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
// {EFD0E6BA-DB5F-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(CLSID_STTTSQueue, | |
0xefd0e6ba, 0xdb5f, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
// {B3613D9F-E26E-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(CLSID_STLog, | |
0xb3613d9f, 0xe26e, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
// {B3613DA0-E26E-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(CLSID_AudioSourceLog, | |
0xb3613da0, 0xe26e, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
// {2EC5A8A5-E65B-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(CLSID_AudioSourceTel, | |
0x2ec5a8a5, 0xe65b, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
// {2EC5A8A6-E65B-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(CLSID_AudioDestTel, | |
0x2ec5a8a6, 0xe65b, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
// {61935832-FC85-11d0-8FAE-08002BE4E62A} | |
DEFINE_GUID(CLSID_STRecord, | |
0x61935832, 0xfc85, 0x11d0, 0x8f, 0xae, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
/* interfaces */ | |
// ISTRecord Interface | |
#undef INTERFACE | |
#define INTERFACE ISTRecord | |
// {61935833-FC85-11d0-8FAE-08002BE4E62A} | |
DEFINE_GUID(IID_ISTRecord, | |
0x61935833, 0xfc85, 0x11d0, 0x8f, 0xae, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
typedef struct { | |
DWORD dwBetweenUtt; // acceptable time between utterance, milliseconds | |
DWORD dwInitialBuf; // milliseconds of audio in the initial buffer | |
DWORD dwReallocBuf; // amount to increase a buffer every time new audio | |
DWORD dwMaxBuf; // maximum number of milliseconds that buffer can be | |
DWORD dwNoAnswer; // milliseconds of silence before get no-answer | |
} STRECORDPARAM, *PSTRECORDPARAM; | |
DECLARE_INTERFACE_ (ISTRecord, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTGramComp members | |
STDMETHOD (Init) (THIS_ LPUNKNOWN, DWORD, LPUNKNOWN) PURE; | |
STDMETHOD (ParamsSet) (THIS_ PSTRECORDPARAM) PURE; | |
STDMETHOD (Start) (THIS) PURE; | |
STDMETHOD (Stop) (THIS_ DWORD) PURE; | |
STDMETHOD (GetWAV) (THIS_ PVOID*, DWORD*) PURE; | |
STDMETHOD (ClearWAV) (THIS) PURE; | |
}; | |
typedef ISTRecord FAR * PISTRECORD; | |
// ISTRecordNotifySink Interface | |
#undef INTERFACE | |
#define INTERFACE ISTRecordNotifySink | |
// {61935834-FC85-11d0-8FAE-08002BE4E62A} | |
DEFINE_GUID(IID_ISTRecordNotifySink, | |
0x61935834, 0xfc85, 0x11d0, 0x8f, 0xae, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
DECLARE_INTERFACE_ (ISTRecordNotifySink, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTGramComp members | |
STDMETHOD (AutoStop) (THIS) PURE; | |
STDMETHOD (VU) (THIS_ WORD) PURE; | |
}; | |
typedef ISTRecordNotifySink FAR * PISTRECORDNOTIFYSINK; | |
// ISTGramComp Interface | |
#undef INTERFACE | |
#define INTERFACE ISTGramComp | |
// {70618F73-D1ED-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(IID_ISTGramComp, | |
0x70618f73, 0xd1ed, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
DECLARE_INTERFACE_ (ISTGramComp, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTGramComp members | |
STDMETHOD (FromMemory) (THIS_ PVOID, DWORD) PURE; | |
STDMETHOD (FromResource) (THIS_ HINSTANCE, DWORD) PURE; | |
STDMETHOD (FromFile) (THIS_ PCWSTR) PURE; | |
STDMETHOD (FromStream) (THIS_ IStream *) PURE; | |
STDMETHOD (Compile) (THIS_ LPWSTR*, DWORD*) PURE; | |
STDMETHOD (IsCompiled) (THIS_ BOOL*) PURE; | |
STDMETHOD (ToMemory) (THIS_ PVOID*, DWORD*) PURE; | |
STDMETHOD (ToFile) (THIS_ PCWSTR) PURE; | |
STDMETHOD (ToStream) (THIS_ IStream *) PURE; | |
STDMETHOD (TextGet) (THIS_ LPWSTR*, DWORD*) PURE; | |
STDMETHOD (LanguageGet) (THIS_ LANGUAGEW*) PURE; | |
STDMETHOD (GrammarFormatGet) (THIS_ SRGRMFMT*) PURE; | |
STDMETHOD (GrammarDataGet) (THIS_ BOOL, PVOID*, DWORD*) PURE; | |
STDMETHOD (GrammarDataSet) (THIS_ PVOID, DWORD) PURE; | |
STDMETHOD (AutoList) (THIS_ PISRGRAMCFGW) PURE; | |
STDMETHOD (PhraseParse) (THIS_ PSRPHRASEW, DWORD *, LPWSTR *, DWORD *) PURE; | |
STDMETHOD (GrammarLoad) (THIS_ LPUNKNOWN, PVOID, IID, LPUNKNOWN *) PURE; | |
STDMETHOD (PhraseParseAlt) (THIS_ DWORD, DWORD *, LPWSTR *, DWORD *) PURE; | |
STDMETHOD (PhraseParseRule) (THIS_ PCWSTR, PSRPHRASEW, DWORD *, LPWSTR *, DWORD *) PURE; | |
}; | |
typedef ISTGramComp FAR * PISTGRAMCOMP; | |
// ISTTTSQueue Interface | |
#undef INTERFACE | |
#define INTERFACE ISTTTSQueue | |
// {EFD0E6BB-DB5F-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(IID_ISTTTSQueue, | |
0xefd0e6bb, 0xdb5f, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
DECLARE_INTERFACE_ (ISTTTSQueue, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTTTSQueue members | |
STDMETHOD (WaveAddFromFile) (THIS_ PCWSTR, PCWSTR) PURE; | |
STDMETHOD (WaveAddFromStream) (THIS_ PCWSTR, IStream *) PURE; | |
STDMETHOD (WaveAddFromMemory) (THIS_ PCWSTR, PVOID, DWORD) PURE; | |
STDMETHOD (WaveAddFromResource) (THIS_ PCWSTR, HMODULE, DWORD) PURE; | |
STDMETHOD (WaveAddFromList) (THIS_ PCWSTR, HMODULE) PURE; | |
STDMETHOD (WaveRemove) (THIS_ PCWSTR) PURE; | |
STDMETHOD (WaveAudioDestSet) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (WaveLevelSet) (THIS_ DWORD) PURE; | |
STDMETHOD (WaveLevelGet) (THIS_ DWORD *) PURE; | |
STDMETHOD (TTSAdd) (THIS_ PCWSTR, LPUNKNOWN) PURE; | |
STDMETHOD (TTSRemove) (THIS_ PCWSTR) PURE; | |
STDMETHOD (TTSGet) (THIS_ PCWSTR, LPUNKNOWN *) PURE; | |
STDMETHOD (Speak) (THIS_ PCWSTR, PCWSTR, DWORD) PURE; | |
STDMETHOD (TextData) (THIS_ VOICECHARSET, DWORD, SDATA, PCWSTR, DWORD) PURE; | |
STDMETHOD (AudioPause) (THIS) PURE; | |
STDMETHOD (AudioResume) (THIS) PURE; | |
STDMETHOD (AudioReset) (THIS) PURE; | |
STDMETHOD (Register) (THIS_ PVOID, REFIID) PURE; | |
STDMETHOD (UseLogging) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (IsSpeaking) (THIS_ DWORD*) PURE; | |
}; | |
typedef ISTTTSQueue FAR * PISTTTSQUEUE; | |
// ISTTTSQueueNotifySink Interface | |
#undef INTERFACE | |
#define INTERFACE ISTTTSQueueNotifySink | |
// {8412FA0C-DB6A-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(IID_ISTTTSQueueNotifySink, | |
0x8412fa0c, 0xdb6a, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
DECLARE_INTERFACE_ (ISTTTSQueueNotifySink, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTTTSQueueNotifySink members | |
STDMETHOD (Start) (THIS) PURE; | |
STDMETHOD (Stop) (THIS) PURE; | |
STDMETHOD (SpeakID) (THIS_ DWORD) PURE; | |
STDMETHOD (Error) (THIS_ HRESULT) PURE; | |
STDMETHOD (Bookmark) (THIS_ DWORD) PURE; | |
}; | |
typedef ISTTTSQueueNotifySink FAR * PISTTTSQUEUENOTIFYSINK; | |
// ISTLog Interface | |
#undef INTERFACE | |
#define INTERFACE ISTLog | |
// {B3613DA1-E26E-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(IID_ISTLog, | |
0xb3613da1, 0xe26e, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
DECLARE_INTERFACE_ (ISTLog, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// ISTLog members | |
STDMETHOD (ToFile) (THIS_ PCWSTR) PURE; | |
STDMETHOD (ToStream) (THIS_ IStream *) PURE; | |
STDMETHOD (Text) (THIS_ PCWSTR, PCWSTR, WORD) PURE; | |
STDMETHOD (Data) (THIS_ PCWSTR, PCWSTR, WORD, PVOID, DWORD) PURE; | |
STDMETHOD (MaxDetailSet) (THIS_ WORD) PURE; | |
STDMETHOD (MaxDetailGet) (THIS_ WORD*) PURE; | |
STDMETHOD (ShowOutput) (THIS_ BOOL) PURE; | |
}; | |
typedef ISTLog FAR * PISTLOG; | |
// IAudioSourceLog Interface | |
#undef INTERFACE | |
#define INTERFACE IAudioSourceLog | |
// {B3613DA2-E26E-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(IID_IAudioSourceLog, | |
0xb3613da2, 0xe26e, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
DECLARE_INTERFACE_ (IAudioSourceLog, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioSourceLog members | |
STDMETHOD (AudioSource) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (UseLogging) (THIS_ LPUNKNOWN) PURE; | |
}; | |
typedef IAudioSourceLog FAR * PIAUDIOSOURCELOG; | |
// IAudioTel Interface | |
#undef INTERFACE | |
#define INTERFACE IAudioTel | |
// {2EC5A8A7-E65B-11d0-8FAC-08002BE4E62A} | |
DEFINE_GUID(IID_IAudioTel, | |
0x2ec5a8a7, 0xe65b, 0x11d0, 0x8f, 0xac, 0x8, 0x0, 0x2b, 0xe4, 0xe6, 0x2a); | |
DECLARE_INTERFACE_ (IAudioTel, IUnknown) { | |
// IUnknown members | |
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
// IAudioTel members | |
STDMETHOD (AudioObject) (THIS_ LPUNKNOWN) PURE; | |
STDMETHOD (WaveFormatSet) (THIS_ SDATA) PURE; | |
}; | |
typedef IAudioTel FAR * PIAUDIOTEL; | |
/************************************************************************ | |
External speech synthesizer - This is for using external, hardware | |
based speech synthesizers with SAPI */ | |
/************************************************************************ | |
defines */ | |
// Synthesizer Attributes | |
#define TTS_LANGUAGE SETBIT(0) | |
#define TTS_VOICE SETBIT(1) | |
#define TTS_GENDER SETBIT(2) | |
#define TTS_VOLUME SETBIT(3) | |
#define TTS_PITCH SETBIT(4) | |
#define TTS_SPEED SETBIT(5) | |
#define TTS_ABBREVIATION SETBIT(6) | |
#define TTS_PUNCTUATION SETBIT(7) | |
#define TTS_PAUSEWORD SETBIT(8) | |
#define TTS_PAUSEPHRASE SETBIT(9) | |
#define TTS_PAUSESENTENCE SETBIT(10) | |
#define TTS_SPELLING SETBIT(11) | |
#define TTS_QUALITY SETBIT(12) | |
#define TTS_FRICATION SETBIT(13) | |
#define TTS_ASPIRATION SETBIT(14) | |
#define TTS_INTONATION SETBIT(15) | |
// Attribute minimums and maximums | |
#define TTSATTR_MINPAUSEWORD 0x00000000 | |
#define TTSATTR_MAXPAUSEWORD 0xffffffff | |
#define TTSATTR_MINPAUSEPHRASE 0x00000000 | |
#define TTSATTR_MAXPAUSEPHRASE 0xffffffff | |
#define TTSATTR_MINPAUSESENTENCE 0x00000000 | |
#define TTSATTR_MAXPAUSESENTENCE 0xffffffff | |
#define TTSATTR_MINASPIRATION 0x00000000 | |
#define TTSATTR_MAXASPIRATION 0xffffffff | |
#define TTSATTR_MINFRICATION 0x00000000 | |
#define TTSATTR_MAXFRICATION 0xffffffff | |
#define TTSATTR_MININTONATION 0x00000000 | |
#define TTSATTR_MAXINTONATION 0xffffffff | |
// ITTSNotifySink | |
#define TTSNSAC_LANGUAGE 100 | |
#define TTSNSAC_VOICE 101 | |
#define TTSNSAC_GENDER 102 | |
#define TTSNSAC_ABBREVIATION 103 | |
#define TTSNSAC_PUNCTUATION 104 | |
#define TTSNSAC_PAUSEWORD 105 | |
#define TTSNSAC_PAUSEPHRASE 106 | |
#define TTSNSAC_PAUSESENTENCE 107 | |
#define TTSNSAC_SPELLING 108 | |
#define TTSNSAC_QUALITY 109 | |
#define TTSNSAC_FRICATION 110 | |
#define TTSNSAC_ASPIRATION 111 | |
#define TTSNSAC_INTONATION 112 | |
// Interfaces | |
#define TTSI_ITTSEXTERNALSYNTHESIZER SETBIT(4) | |
// TTSERR Result codes | |
#define TTSERR_SYNTHESIZERBUSY TTSERROR(100) | |
#define TTSERR_ALREADYDISPLAYED TTSERROR(101) | |
#define TTSERR_INVALIDATTRIB TTSERROR(102) | |
#define TTSERR_SYNTHESIZERACCESSERROR TTSERROR(103) | |
#define TTSERR_DRIVERERROR TTSERROR(104) | |
#define TTSERR_UNRECOVERABLEERROR TTSERROR(105) | |
#define TTSERR_DRIVERACCESSERROR TTSERROR(106) | |
#define TTSERR_BUFFERTOOSMALL TTSERROR(107) | |
#define TTSERR_DRIVERNOTFOUND TTSERROR(108) | |
#define TTSERR_CANNOTREGISTER TTSERROR(109) | |
#define TTSERR_LANGUAGENOTSUPPORTED TTSERROR(110) | |
/************************************************************************ | |
Class IDs */ | |
// {479DFDCB-01A8-11d1-A7A5-00C04FBBE8AB} | |
DEFINE_GUID(CLSID_SynthAudioDest, | |
0x479dfdcb, 0x1a8, 0x11d1, 0xa7, 0xa5, 0x0, 0xc0, 0x4f, 0xbb, 0xe8, 0xab); | |
// {26C328C1-F26F-11d0-9DFF-006097622195} | |
DEFINE_GUID(CLSID_SynthEngine, | |
0x26c328c1, 0xf26f, 0x11d0, 0x9d, 0xff, 0x0, 0x60, 0x97, 0x62, 0x21, 0x95); | |
// {AC8FCCA1-FFD7-11d0-9E22-006097622195} | |
DEFINE_GUID(CLSID_SynthEngineEnumerator, | |
0xac8fcca1, 0xffd7, 0x11d0, 0x9e, 0x22, 0x0, 0x60, 0x97, 0x62, 0x21, 0x95); | |
/************************************************************************ | |
typedefs */ | |
// Definition of Preset | |
typedef struct | |
{ | |
LANGID Language; | |
DWORD Voice; | |
DWORD Gender; | |
DWORD Volume; | |
DWORD Pitch; | |
DWORD Speed; | |
DWORD Abbreviation; | |
DWORD Punctuation; | |
DWORD PauseWord; | |
DWORD PausePhrase; | |
DWORD PauseSentence; | |
DWORD Spelling; | |
DWORD Quality; | |
DWORD Frication; | |
DWORD Aspiration; | |
DWORD Intonation; | |
} | |
TTSPRESET, *PTTSPRESET; | |
/************************************************************************ | |
interfaces */ | |
/* | |
* ITTSExternalSynthesizer | |
*/ | |
#undef INTERFACE | |
#define INTERFACE ITTSExternalSynthesizerW | |
// {A3F8B9C0-2010-11d1-A306-006097622195} | |
DEFINE_GUID(IID_ITTSExternalSynthesizerW, | |
0xa3f8b9c0, 0x2010, 0x11d1, 0xa3, 0x6, 0x0, 0x60, 0x97, 0x62, 0x21, 0x95); | |
DECLARE_INTERFACE_(ITTSExternalSynthesizerW, IUnknown) | |
{ | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
STDMETHOD (AttributeGet) (THIS_ DWORD dwAttribute, DWORD *pdwValue) PURE; | |
STDMETHOD (AttributeSet) (THIS_ DWORD dwAttribute, DWORD dwValue) PURE; | |
STDMETHOD (PresetGet) (THIS_ PTTSPRESET pPreset, DWORD *pdwResult) PURE; | |
STDMETHOD (PresetSet) (THIS_ TTSPRESET Preset, DWORD *pdwResult) PURE; | |
STDMETHOD (GetAttributeElements) (THIS_ DWORD dwAttr, DWORD *pdwNumElems) PURE; | |
STDMETHOD (GetAttributeRange) (THIS_ DWORD dwAttr, DWORD *pdwMin, DWORD *pdwMax) PURE; | |
STDMETHOD (GetAttributeValue) (THIS_ DWORD dwAttr, DWORD dwIndex, DWORD *pdwValue, PWSTR szText, DWORD dwMaxChars) PURE; | |
STDMETHOD (GetAttributeIndex) (THIS_ DWORD dwAttr, DWORD dwValue, DWORD *pdwIndex, PWSTR szText, DWORD dwMaxChars) PURE; | |
STDMETHOD (AudioFlush) (THIS) PURE; | |
STDMETHOD (TextDataInterrupt)(THIS_ VOICECHARSET eCharacterSet, DWORD dwFlags, SDATA dText, PVOID pNotifyInterface, IID IIDNotifyInterface) PURE; | |
STDMETHOD (TextDataCritical) (THIS_ SDATA) PURE; | |
STDMETHOD (MiscellaneousDlg) (THIS_ HWND hWndParent, PCWSTR pszTitle) PURE; | |
}; | |
typedef ITTSExternalSynthesizerW *PITTSEXTERNALSYNTHESIZERW; | |
#undef INTERFACE | |
#define INTERFACE ITTSExternalSynthesizerA | |
// {3D11C963-F210-11d0-A788-00C04FBBE8AB} | |
DEFINE_GUID(IID_ITTSExternalSynthesizerA, | |
0x3d11c963, 0xf210, 0x11d0, 0xa7, 0x88, 0x0, 0xc0, 0x4f, 0xbb, 0xe8, 0xab); | |
DECLARE_INTERFACE_(ITTSExternalSynthesizerA, IUnknown) | |
{ | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
STDMETHOD (AttributeGet) (THIS_ DWORD dwAttribute, DWORD *pdwValue) PURE; | |
STDMETHOD (AttributeSet) (THIS_ DWORD dwAttribute, DWORD dwValue) PURE; | |
STDMETHOD (PresetGet) (THIS_ PTTSPRESET pPreset, DWORD *pdwResult) PURE; | |
STDMETHOD (PresetSet) (THIS_ TTSPRESET Preset, DWORD *pdwResult) PURE; | |
STDMETHOD (GetAttributeElements) (THIS_ DWORD dwAttr, DWORD *pdwNumElems) PURE; | |
STDMETHOD (GetAttributeRange) (THIS_ DWORD dwAttr, DWORD *pdwMin, DWORD *pdwMax) PURE; | |
STDMETHOD (GetAttributeValue) (THIS_ DWORD dwAttr, DWORD dwIndex, DWORD *pdwValue, PSTR szText, DWORD dwMaxChars) PURE; | |
STDMETHOD (GetAttributeIndex) (THIS_ DWORD dwAttr, DWORD dwValue, DWORD *pdwIndex, PSTR szText, DWORD dwMaxChars) PURE; | |
STDMETHOD (AudioFlush) (THIS) PURE; | |
STDMETHOD (TextDataInterrupt)(THIS_ VOICECHARSET eCharacterSet, DWORD dwFlags, SDATA dText, PVOID pNotifyInterface, IID IIDNotifyInterface) PURE; | |
STDMETHOD (TextDataCritical) (THIS_ SDATA) PURE; | |
STDMETHOD (MiscellaneousDlg) (THIS_ HWND hWndParent, PCSTR pszTitle) PURE; | |
}; | |
typedef ITTSExternalSynthesizerA *PITTSEXTERNALSYNTHESIZERA; | |
#ifdef _S_UNICODE | |
#define ITTSExternalSynthesizer ITTSExternalSynthesizerW | |
#define IID_ITTSExternalSynthesizer IID_ITTSExternalSynthesizerW | |
#define PITTSEXTERNALSYNTHESIZER PITTSEXTERNALSYNTHESIZERW | |
#else | |
#define ITTSExternalSynthesizer ITTSExternalSynthesizerA | |
#define IID_ITTSExternalSynthesizer IID_ITTSExternalSynthesizerA | |
#define PITTSEXTERNALSYNTHESIZER PITTSEXTERNALSYNTHESIZERA | |
#endif // _S_UNICODE | |
/* | |
* IAudioExternalSynthesizer | |
*/ | |
#undef INTERFACE | |
#define INTERFACE IAudioExternalSynthesizer | |
// {33E0E76B-70CE-11d1-A826-00C04FBBE8AB} | |
DEFINE_GUID(IID_IAudioExternalSynthesizer, | |
0x33e0e76b, 0x70ce, 0x11d1, 0xa8, 0x26, 0x0, 0xc0, 0x4f, 0xbb, 0xe8, 0xab); | |
DECLARE_INTERFACE_(IAudioExternalSynthesizer, IUnknown) | |
{ | |
STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE; | |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
STDMETHOD_(ULONG,Release) (THIS) PURE; | |
}; | |
typedef IAudioExternalSynthesizer *PIAUDIOEXTERNALSYNTHESIZER; | |
#endif // _SPEECH_ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment