sapi54.idl 139 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390
  1. /**
  2. * This file is part of the mingw-w64 runtime package.
  3. * No warranty is given; refer to the file DISCLAIMER within this package.
  4. */
  5. #ifndef _SAPI_BLD_
  6. #define _SAPI_BLD_ 0x54
  7. #endif
  8. import "oaidl.idl";
  9. import "ocidl.idl";
  10. cpp_quote("#ifndef _SAPI_VER")
  11. cpp_quote("#error \"you have to include <sapi.h> header before this.\"")
  12. cpp_quote("#endif")
  13. #ifndef LANGID
  14. #define LANGID WORD
  15. #endif
  16. cpp_quote("#if 0")
  17. typedef [restricted, hidden] struct WAVEFORMATEX {
  18. WORD wFormatTag;
  19. WORD nChannels;
  20. DWORD nSamplesPerSec;
  21. DWORD nAvgBytesPerSec;
  22. WORD nBlockAlign;
  23. WORD wBitsPerSample;
  24. WORD cbSize;
  25. } WAVEFORMATEX;
  26. cpp_quote("#endif")
  27. interface ISpNotifySource;
  28. interface ISpNotifySink;
  29. interface ISpNotifyTranslator;
  30. interface ISpDataKey;
  31. interface ISpObjectTokenCategory;
  32. interface ISpObjectToken;
  33. interface IEnumSpObjectTokens;
  34. interface ISpObjectWithToken;
  35. interface ISpResourceManager;
  36. interface ISpEventSource;
  37. interface ISpEventSink;
  38. interface ISpStreamFormat;
  39. interface ISpStream;
  40. interface ISpStreamFormatConverter;
  41. interface ISpAudio;
  42. interface ISpMMSysAudio;
  43. interface ISpTranscript;
  44. interface ISpVoice;
  45. interface ISpRecoResult;
  46. interface ISpRecoContext;
  47. interface ISpRecognizer;
  48. interface ISpProperties;
  49. interface ISpLexicon;
  50. interface ISpPhoneConverter;
  51. interface ISpPhrase;
  52. #if _SAPI_BLD_ >= 0x53
  53. interface ISpRecoContext2;
  54. interface ISpRecognizer2;
  55. interface ISpShortcut;
  56. interface ISpPhoneticAlphabetConverter;
  57. interface ISpPhoneticAlphabetSelection;
  58. interface ISpRecoGrammar2;
  59. interface ISpeechResourceLoader;
  60. #endif
  61. #if _SAPI_BLD_ >= 0x54
  62. interface ISpRecognizer3;
  63. #endif
  64. typedef [hidden] enum SPDATAKEYLOCATION {
  65. SPDKL_DefaultLocation = 0,
  66. SPDKL_CurrentUser = 1,
  67. SPDKL_LocalMachine = 2,
  68. SPDKL_CurrentConfig = 5
  69. } SPDATAKEYLOCATION;
  70. typedef [hidden] enum SPSTREAMFORMAT {
  71. SPSF_Default = -1,
  72. SPSF_NoAssignedFormat = 0,
  73. SPSF_Text,
  74. SPSF_NonStandardFormat,
  75. SPSF_ExtendedAudioFormat,
  76. SPSF_8kHz8BitMono,
  77. SPSF_8kHz8BitStereo,
  78. SPSF_8kHz16BitMono,
  79. SPSF_8kHz16BitStereo,
  80. SPSF_11kHz8BitMono,
  81. SPSF_11kHz8BitStereo,
  82. SPSF_11kHz16BitMono,
  83. SPSF_11kHz16BitStereo,
  84. SPSF_12kHz8BitMono,
  85. SPSF_12kHz8BitStereo,
  86. SPSF_12kHz16BitMono,
  87. SPSF_12kHz16BitStereo,
  88. SPSF_16kHz8BitMono,
  89. SPSF_16kHz8BitStereo,
  90. SPSF_16kHz16BitMono,
  91. SPSF_16kHz16BitStereo,
  92. SPSF_22kHz8BitMono,
  93. SPSF_22kHz8BitStereo,
  94. SPSF_22kHz16BitMono,
  95. SPSF_22kHz16BitStereo,
  96. SPSF_24kHz8BitMono,
  97. SPSF_24kHz8BitStereo,
  98. SPSF_24kHz16BitMono,
  99. SPSF_24kHz16BitStereo,
  100. SPSF_32kHz8BitMono,
  101. SPSF_32kHz8BitStereo,
  102. SPSF_32kHz16BitMono,
  103. SPSF_32kHz16BitStereo,
  104. SPSF_44kHz8BitMono,
  105. SPSF_44kHz8BitStereo,
  106. SPSF_44kHz16BitMono,
  107. SPSF_44kHz16BitStereo,
  108. SPSF_48kHz8BitMono,
  109. SPSF_48kHz8BitStereo,
  110. SPSF_48kHz16BitMono,
  111. SPSF_48kHz16BitStereo,
  112. SPSF_TrueSpeech_8kHz1BitMono,
  113. SPSF_CCITT_ALaw_8kHzMono,
  114. SPSF_CCITT_ALaw_8kHzStereo,
  115. SPSF_CCITT_ALaw_11kHzMono,
  116. SPSF_CCITT_ALaw_11kHzStereo,
  117. SPSF_CCITT_ALaw_22kHzMono,
  118. SPSF_CCITT_ALaw_22kHzStereo,
  119. SPSF_CCITT_ALaw_44kHzMono,
  120. SPSF_CCITT_ALaw_44kHzStereo,
  121. SPSF_CCITT_uLaw_8kHzMono,
  122. SPSF_CCITT_uLaw_8kHzStereo,
  123. SPSF_CCITT_uLaw_11kHzMono,
  124. SPSF_CCITT_uLaw_11kHzStereo,
  125. SPSF_CCITT_uLaw_22kHzMono,
  126. SPSF_CCITT_uLaw_22kHzStereo,
  127. SPSF_CCITT_uLaw_44kHzMono,
  128. SPSF_CCITT_uLaw_44kHzStereo,
  129. SPSF_ADPCM_8kHzMono,
  130. SPSF_ADPCM_8kHzStereo,
  131. SPSF_ADPCM_11kHzMono,
  132. SPSF_ADPCM_11kHzStereo,
  133. SPSF_ADPCM_22kHzMono,
  134. SPSF_ADPCM_22kHzStereo,
  135. SPSF_ADPCM_44kHzMono,
  136. SPSF_ADPCM_44kHzStereo,
  137. SPSF_GSM610_8kHzMono,
  138. SPSF_GSM610_11kHzMono,
  139. SPSF_GSM610_22kHzMono,
  140. SPSF_GSM610_44kHzMono,
  141. SPSF_NUM_FORMATS
  142. } SPSTREAMFORMAT;
  143. typedef [hidden] enum SPEVENTLPARAMTYPE {
  144. SPET_LPARAM_IS_UNDEFINED = 0,
  145. SPET_LPARAM_IS_TOKEN,
  146. SPET_LPARAM_IS_OBJECT,
  147. SPET_LPARAM_IS_POINTER,
  148. SPET_LPARAM_IS_STRING
  149. } SPEVENTLPARAMTYPE;
  150. typedef [hidden] enum SPEVENTENUM {
  151. SPEI_UNDEFINED = 0,
  152. SPEI_START_INPUT_STREAM = 1,
  153. SPEI_END_INPUT_STREAM = 2,
  154. SPEI_VOICE_CHANGE = 3,
  155. SPEI_TTS_BOOKMARK = 4,
  156. SPEI_WORD_BOUNDARY = 5,
  157. SPEI_PHONEME = 6,
  158. SPEI_SENTENCE_BOUNDARY = 7,
  159. SPEI_VISEME = 8,
  160. SPEI_TTS_AUDIO_LEVEL = 9,
  161. SPEI_TTS_PRIVATE = 15,
  162. SPEI_MIN_TTS = 1,
  163. SPEI_MAX_TTS = 15,
  164. SPEI_END_SR_STREAM = 34,
  165. SPEI_SOUND_START = 35,
  166. SPEI_SOUND_END = 36,
  167. SPEI_PHRASE_START = 37,
  168. SPEI_RECOGNITION = 38,
  169. SPEI_HYPOTHESIS = 39,
  170. SPEI_SR_BOOKMARK = 40,
  171. SPEI_PROPERTY_NUM_CHANGE = 41,
  172. SPEI_PROPERTY_STRING_CHANGE= 42,
  173. SPEI_FALSE_RECOGNITION = 43,
  174. SPEI_INTERFERENCE = 44,
  175. SPEI_REQUEST_UI = 45,
  176. SPEI_RECO_STATE_CHANGE = 46,
  177. SPEI_ADAPTATION = 47,
  178. SPEI_START_SR_STREAM = 48,
  179. SPEI_RECO_OTHER_CONTEXT = 49,
  180. SPEI_SR_AUDIO_LEVEL = 50,
  181. #if _SAPI_BLD_ >= 0x53
  182. SPEI_SR_RETAINEDAUDIO = 51,
  183. #endif
  184. SPEI_SR_PRIVATE = 52,
  185. #if _SAPI_BLD_ >= 0x53
  186. #if _SAPI_BLD_ >= 0x54
  187. SPEI_ACTIVE_CATEGORY_CHANGED = 53,
  188. #else
  189. SPEI_RESERVED4 = 53,
  190. #endif
  191. SPEI_RESERVED5 = 54,
  192. SPEI_RESERVED6 = 55,
  193. #endif
  194. SPEI_MIN_SR = 34,
  195. #if _SAPI_BLD_ >= 0x53
  196. SPEI_MAX_SR = 55,
  197. #else
  198. SPEI_MAX_SR = 52,
  199. #endif
  200. SPEI_RESERVED1 = 30,
  201. SPEI_RESERVED2 = 33,
  202. SPEI_RESERVED3 = 63
  203. } SPEVENTENUM;
  204. typedef [hidden] enum SPINTERFERENCE {
  205. SPINTERFERENCE_NONE = 0,
  206. SPINTERFERENCE_NOISE,
  207. SPINTERFERENCE_NOSIGNAL,
  208. SPINTERFERENCE_TOOLOUD,
  209. SPINTERFERENCE_TOOQUIET,
  210. SPINTERFERENCE_TOOFAST,
  211. SPINTERFERENCE_TOOSLOW,
  212. SPINTERFERENCE_LATENCY_WARNING,
  213. SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN,
  214. SPINTERFERENCE_LATENCY_TRUNCATE_END
  215. } SPINTERFERENCE;
  216. typedef [hidden] enum SPENDSRSTREAMFLAGS {
  217. SPESF_NONE = 0,
  218. SPESF_STREAM_RELEASED = 1
  219. #if _SAPI_BLD_ >= 0x53
  220. , SPESF_EMULATED = 2
  221. #endif
  222. } SPENDSRSTREAMFLAGS;
  223. typedef [hidden] enum SPVFEATURE {
  224. SPVFEATURE_STRESSED = 1,
  225. SPVFEATURE_EMPHASIS = 2
  226. } SPVFEATURE;
  227. typedef [hidden] enum SPVISEMES {
  228. SP_VISEME_0 = 0,
  229. SP_VISEME_1,
  230. SP_VISEME_2,
  231. SP_VISEME_3,
  232. SP_VISEME_4,
  233. SP_VISEME_5,
  234. SP_VISEME_6,
  235. SP_VISEME_7,
  236. SP_VISEME_8,
  237. SP_VISEME_9,
  238. SP_VISEME_10,
  239. SP_VISEME_11,
  240. SP_VISEME_12,
  241. SP_VISEME_13,
  242. SP_VISEME_14,
  243. SP_VISEME_15,
  244. SP_VISEME_16,
  245. SP_VISEME_17,
  246. SP_VISEME_18,
  247. SP_VISEME_19,
  248. SP_VISEME_20,
  249. SP_VISEME_21,
  250. } SPVISEMES;
  251. typedef [hidden] enum SPFILEMODE {
  252. SPFM_OPEN_READONLY,
  253. SPFM_OPEN_READWRITE,
  254. SPFM_CREATE,
  255. SPFM_CREATE_ALWAYS,
  256. SPFM_NUM_MODES
  257. } SPFILEMODE;
  258. typedef [hidden] enum _SPAUDIOSTATE {
  259. SPAS_CLOSED,
  260. SPAS_STOP,
  261. SPAS_PAUSE,
  262. SPAS_RUN
  263. } SPAUDIOSTATE;
  264. typedef [hidden] enum SPDISPLYATTRIBUTES {
  265. SPAF_ONE_TRAILING_SPACE = 0x2,
  266. SPAF_TWO_TRAILING_SPACES = 0x4,
  267. SPAF_CONSUME_LEADING_SPACES = 0x8,
  268. #if _SAPI_BLD_ >= 0x53
  269. SPAF_BUFFER_POSITION = 0x10,
  270. SPAF_ALL = 0x1f,
  271. SPAF_USER_SPECIFIED = 0x80
  272. #else
  273. SPAF_ALL = 0x0f
  274. #endif
  275. } SPDISPLAYATTRIBUTES;
  276. typedef [hidden] enum SPPHRASEPROPERTYUNIONTYPE {
  277. SPPPUT_UNUSED = 0,
  278. SPPPUT_ARRAY_INDEX
  279. } SPPHRASEPROPERTYUNIONTYPE;
  280. #if _SAPI_BLD_ >= 0x53
  281. typedef enum SPSEMANTICFORMAT {
  282. SPSMF_SAPI_PROPERTIES = 0,
  283. SPSMF_SRGS_SEMANTICINTERPRETATION_MS = 1,
  284. SPSMF_SRGS_SAPIPROPERTIES = 2,
  285. SPSMF_UPS = 4,
  286. SPSMF_SRGS_SEMANTICINTERPRETATION_W3C = 8
  287. } SPSEMANTICFORMAT;
  288. #endif
  289. typedef [hidden] enum SPRECOEVENTFLAGS {
  290. SPREF_AutoPause = 0x1,
  291. SPREF_Emulated = 0x2
  292. #if _SAPI_BLD_ >= 0x53
  293. , SPREF_SMLTimeout = 0x4,
  294. SPREF_ExtendableParse = 0x8,
  295. SPREF_ReSent = 0x10,
  296. SPREF_Hypothesis = 0x20,
  297. SPREF_FalseRecognition = 0x40
  298. #endif
  299. } SPRECOEVENTFLAGS;
  300. typedef [hidden] enum SPPARTOFSPEECH {
  301. SPPS_NotOverriden = -1,
  302. SPPS_Unknown = 0,
  303. SPPS_Noun = 0x1000,
  304. SPPS_Verb = 0x2000,
  305. SPPS_Modifier = 0x3000,
  306. SPPS_Function = 0x4000,
  307. SPPS_Interjection = 0x5000
  308. #if _SAPI_BLD_ >= 0x53
  309. , SPPS_Noncontent = 0x6000,
  310. SPPS_LMA = 0x7000,
  311. SPPS_SuppressWord = 0xf000
  312. #endif
  313. } SPPARTOFSPEECH;
  314. typedef [hidden] enum SPLEXICONTYPE {
  315. eLEXTYPE_USER = 0x1,
  316. eLEXTYPE_APP = 0x2,
  317. eLEXTYPE_VENDORLEXICON = 0x4,
  318. eLEXTYPE_LETTERTOSOUND = 0x8,
  319. eLEXTYPE_MORPHOLOGY = 0x10,
  320. eLEXTYPE_RESERVED4 = 0x20,
  321. eLEXTYPE_USER_SHORTCUT = 0x40,
  322. eLEXTYPE_RESERVED6 = 0x80,
  323. eLEXTYPE_RESERVED7 = 0x100,
  324. eLEXTYPE_RESERVED8 = 0x200,
  325. eLEXTYPE_RESERVED9 = 0x400,
  326. eLEXTYPE_RESERVED10 = 0x800,
  327. eLEXTYPE_PRIVATE1 = 0x1000,
  328. eLEXTYPE_PRIVATE2 = 0x2000,
  329. eLEXTYPE_PRIVATE3 = 0x4000,
  330. eLEXTYPE_PRIVATE4 = 0x8000,
  331. eLEXTYPE_PRIVATE5 = 0x10000,
  332. eLEXTYPE_PRIVATE6 = 0x20000,
  333. eLEXTYPE_PRIVATE7 = 0x40000,
  334. eLEXTYPE_PRIVATE8 = 0x80000,
  335. eLEXTYPE_PRIVATE9 = 0x100000,
  336. eLEXTYPE_PRIVATE10 = 0x200000,
  337. eLEXTYPE_PRIVATE11 = 0x400000,
  338. eLEXTYPE_PRIVATE12 = 0x800000,
  339. eLEXTYPE_PRIVATE13 = 0x1000000,
  340. eLEXTYPE_PRIVATE14 = 0x2000000,
  341. eLEXTYPE_PRIVATE15 = 0x4000000,
  342. eLEXTYPE_PRIVATE16 = 0x8000000,
  343. eLEXTYPE_PRIVATE17 = 0x10000000,
  344. eLEXTYPE_PRIVATE18 = 0x20000000,
  345. eLEXTYPE_PRIVATE19 = 0x40000000,
  346. eLEXTYPE_PRIVATE20 = 0x80000000u
  347. } SPLEXICONTYPE;
  348. typedef [hidden] enum SPWORDTYPE {
  349. eWORDTYPE_ADDED = 1,
  350. eWORDTYPE_DELETED = 2
  351. } SPWORDTYPE;
  352. #if _SAPI_BLD_ >= 0x53
  353. typedef [hidden] enum SPPRONUNCIATIONFLAGS {
  354. ePRONFLAG_USED = 1
  355. } SPPRONUNCIATIONFLAGS;
  356. typedef [hidden] enum SPSHORTCUTTYPE {
  357. SPSHT_NotOverriden = -1,
  358. SPSHT_Unknown = 0,
  359. SPSHT_EMAIL = 0x1000,
  360. SPSHT_OTHER = 0x2000,
  361. SPPS_RESERVED1 = 0x3000,
  362. SPPS_RESERVED2 = 0x4000,
  363. SPPS_RESERVED3 = 0x5000,
  364. SPPS_RESERVED4 = 0xf000
  365. } SPSHORTCUTTYPE;
  366. #endif
  367. typedef [hidden] enum SPVALUETYPE {
  368. SPDF_PROPERTY = 0x1,
  369. SPDF_REPLACEMENT = 0x2,
  370. SPDF_RULE = 0x4,
  371. SPDF_DISPLAYTEXT = 0x8,
  372. SPDF_LEXICALFORM = 0x10,
  373. SPDF_PRONUNCIATION = 0x20,
  374. SPDF_AUDIO = 0x40,
  375. SPDF_ALTERNATES = 0x80,
  376. SPDF_ALL = 0xff
  377. } SPVALUETYPE;
  378. typedef [hidden] enum SPPHRASERNG {
  379. SPPR_ALL_ELEMENTS = -1
  380. } SPPHRASERNG;
  381. typedef [hidden] enum SPVACTIONS {
  382. SPVA_Speak = 0,
  383. SPVA_Silence,
  384. SPVA_Pronounce,
  385. SPVA_Bookmark,
  386. SPVA_SpellOut,
  387. SPVA_Section,
  388. SPVA_ParseUnknownTag
  389. } SPVACTIONS;
  390. typedef [hidden] enum SPRUNSTATE {
  391. SPRS_DONE = 1,
  392. SPRS_IS_SPEAKING = 2
  393. } SPRUNSTATE;
  394. typedef [hidden] enum SPVLIMITS {
  395. SPMIN_VOLUME = 0,
  396. SPMAX_VOLUME = 100,
  397. SPMIN_RATE = -10,
  398. SPMAX_RATE = 10
  399. } SPVLIMITS;
  400. typedef [hidden] enum SPVPRIORITY {
  401. SPVPRI_NORMAL = 0,
  402. SPVPRI_ALERT = 1,
  403. SPVPRI_OVER = 2
  404. } SPVPRIORITY;
  405. cpp_quote("EXTERN_C const GUID SPDFID_Text;")
  406. cpp_quote("EXTERN_C const GUID SPDFID_WaveFormatEx;")
  407. cpp_quote("")
  408. const signed char SP_LOW_CONFIDENCE = -1;
  409. const signed char SP_NORMAL_CONFIDENCE = 0;
  410. const signed char SP_HIGH_CONFIDENCE = +1;
  411. const float DEFAULT_WEIGHT = 1;
  412. const ULONG SP_MAX_WORD_LENGTH = 128;
  413. const ULONG SP_MAX_PRON_LENGTH = 384;
  414. #if _SAPI_BLD_ >= 0x53
  415. const ULONG SP_EMULATE_RESULT = 0x40000000;
  416. #endif
  417. cpp_quote("")
  418. cpp_quote("#ifdef __cplusplus")
  419. cpp_quote("interface ISpNotifyCallback {")
  420. cpp_quote(" virtual HRESULT STDMETHODCALLTYPE NotifyCallback(WPARAM wParam, LPARAM lParam) = 0;")
  421. cpp_quote("};")
  422. cpp_quote("#else")
  423. typedef void *ISpNotifyCallback;
  424. cpp_quote("#endif")
  425. cpp_quote("#if 0")
  426. typedef void *SPNOTIFYCALLBACK;
  427. cpp_quote("#else")
  428. cpp_quote("typedef void __stdcall SPNOTIFYCALLBACK(WPARAM wParam, LPARAM lParam);")
  429. cpp_quote("#endif")
  430. [object, uuid (5eff4aef-8487-11d2-961c-00c04f8ee628), pointer_default (unique), restricted]
  431. interface ISpNotifySource : IUnknown {
  432. HRESULT SetNotifySink ([in] ISpNotifySink *pNotifySink);
  433. [local] HRESULT SetNotifyWindowMessage ([in] HWND hWnd,[in] UINT Msg,[in] WPARAM wParam,[in] LPARAM lParam);
  434. [local] HRESULT SetNotifyCallbackFunction ([in] SPNOTIFYCALLBACK *pfnCallback,[in] WPARAM wParam,[in] LPARAM lParam);
  435. [local] HRESULT SetNotifyCallbackInterface ([in] ISpNotifyCallback *pSpCallback,[in] WPARAM wParam,[in] LPARAM lParam);
  436. [local] HRESULT SetNotifyWin32Event (void);
  437. [local] HRESULT WaitForNotifyEvent ([in] DWORD dwMilliseconds);
  438. [local] HANDLE GetNotifyEventHandle ();
  439. }
  440. [object, uuid (259684dc-37c3-11d2-9603-00c04f8ee628), pointer_default (unique), restricted]
  441. interface ISpNotifySink : IUnknown {
  442. HRESULT Notify (void);
  443. }
  444. [object, local, uuid (ACA16614-5d3d-11d2-960e-00c04f8ee628), pointer_default (unique), restricted]
  445. interface ISpNotifyTranslator : ISpNotifySink {
  446. HRESULT InitWindowMessage ([in] HWND hWnd,[in] UINT Msg,[in] WPARAM wParam,[in] LPARAM lParam);
  447. HRESULT InitCallback ([in] SPNOTIFYCALLBACK *pfnCallback,[in] WPARAM wParam,[in] LPARAM lParam);
  448. HRESULT InitSpNotifyCallback ([in] ISpNotifyCallback *pSpCallback,[in] WPARAM wParam,[in] LPARAM lParam);
  449. HRESULT InitWin32Event ([in] HANDLE hEvent,[in] WINBOOL fCloseHandleOnRelease);
  450. HRESULT Wait ([in] DWORD dwMilliseconds);
  451. HANDLE GetEventHandle ();
  452. }
  453. [object, local, uuid (14056581-E16C-11d2-BB90-00c04f8ee6c0), pointer_default (unique), restricted]
  454. interface ISpDataKey : IUnknown {
  455. HRESULT SetData ([in] LPCWSTR pszValueName,[in] ULONG cbData,[in] const BYTE *pData);
  456. HRESULT GetData ([in] LPCWSTR pszValueName,[in] ULONG *pcbData,[out] BYTE *pData);
  457. HRESULT SetStringValue ([in] LPCWSTR pszValueName,[in] LPCWSTR pszValue);
  458. HRESULT GetStringValue ([in] LPCWSTR pszValueName,[out] LPWSTR *ppszValue);
  459. HRESULT SetDWORD ([in] LPCWSTR pszValueName,[in] DWORD dwValue);
  460. HRESULT GetDWORD ([in] LPCWSTR pszValueName,[out] DWORD *pdwValue);
  461. HRESULT OpenKey ([in] LPCWSTR pszSubKeyName,[out] ISpDataKey **ppSubKey);
  462. HRESULT CreateKey ([in] LPCWSTR pszSubKey,[out] ISpDataKey **ppSubKey);
  463. HRESULT DeleteKey ([in] LPCWSTR pszSubKey);
  464. HRESULT DeleteValue ([in] LPCWSTR pszValueName);
  465. HRESULT EnumKeys ([in] ULONG Index,[out] LPWSTR *ppszSubKeyName);
  466. HRESULT EnumValues ([in] ULONG Index,[out] LPWSTR *ppszValueName);
  467. };
  468. [object, uuid (5b559f40-E952-11d2-BB91-00c04f8ee6c0), pointer_default (unique), restricted]
  469. interface ISpObjectWithToken : IUnknown {
  470. HRESULT SetObjectToken ([in] ISpObjectToken *pToken);
  471. HRESULT GetObjectToken ([out] ISpObjectToken **ppToken);
  472. };
  473. [object, local, uuid (06b64f9e-7fda-11d2-B4F2-00c04f797396), pointer_default (unique), restricted]
  474. interface IEnumSpObjectTokens : IUnknown {
  475. HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] ISpObjectToken **pelt,[out] ULONG *pceltFetched);
  476. HRESULT Skip ([in] ULONG celt);
  477. HRESULT Reset (void);
  478. HRESULT Clone ([out] IEnumSpObjectTokens **ppEnum);
  479. HRESULT Item ([in] ULONG Index,[out] ISpObjectToken **ppToken);
  480. HRESULT GetCount ([out] ULONG *pCount);
  481. };
  482. [object, uuid (92a66e2b-C830-4149-83df-6fc2ba1e7a5b), pointer_default (unique), restricted]
  483. interface ISpRegDataKey : ISpDataKey {
  484. [local] HRESULT SetKey ([in] HKEY hkey,[in] WINBOOL fReadOnly);
  485. }
  486. [object, local, uuid (2d3d3845-39af-4850-BBF9-40b49780011d), pointer_default (unique), restricted]
  487. interface ISpObjectTokenCategory : ISpDataKey {
  488. HRESULT SetId ([in] LPCWSTR pszCategoryId,[in] WINBOOL fCreateIfNotExist);
  489. HRESULT GetId ([out] LPWSTR *ppszCoMemCategoryId);
  490. HRESULT GetDataKey ([in] SPDATAKEYLOCATION spdkl,[out] ISpDataKey **ppDataKey);
  491. HRESULT EnumTokens ([in, string] LPCWSTR pzsReqAttribs,[in, string] LPCWSTR pszOptAttribs,[out] IEnumSpObjectTokens **ppEnum);
  492. HRESULT SetDefaultTokenId ([in] LPCWSTR pszTokenId);
  493. HRESULT GetDefaultTokenId ([out] LPWSTR *ppszCoMemTokenId);
  494. };
  495. [object, local, uuid (14056589-E16C-11d2-BB90-00c04f8ee6c0), pointer_default (unique), restricted]
  496. interface ISpObjectToken : ISpDataKey {
  497. HRESULT SetId (LPCWSTR pszCategoryId,[in] LPCWSTR pszTokenId,[in] WINBOOL fCreateIfNotExist);
  498. HRESULT GetId ([out] LPWSTR *ppszCoMemTokenId);
  499. HRESULT GetCategory ([out] ISpObjectTokenCategory **ppTokenCategory);
  500. HRESULT CreateInstance ([in] IUnknown *pUnkOuter,[in] DWORD dwClsContext,[in] REFIID riid,[out, iid_is (riid)] void **ppvObject);
  501. HRESULT GetStorageFileName ([in] REFCLSID clsidCaller,[in] LPCWSTR pszValueName,[in, string] LPCWSTR pszFileNameSpecifier,[in] ULONG nFolder,[out] LPWSTR *ppszFilePath);
  502. HRESULT RemoveStorageFileName ([in] REFCLSID clsidCaller,[in] LPCWSTR pszKeyName,[in] WINBOOL fDeleteFile);
  503. HRESULT Remove (const CLSID *pclsidCaller);
  504. [local] HRESULT IsUISupported ([in] LPCWSTR pszTypeOfUI,[in] void *pvExtraData,[in] ULONG cbExtraData,[in] IUnknown *punkObject,[out] WINBOOL *pfSupported);
  505. [local] HRESULT DisplayUI ([in] HWND hwndParent,[in] LPCWSTR pszTitle,[in] LPCWSTR pszTypeOfUI,[in] void *pvExtraData,[in] ULONG cbExtraData,[in] IUnknown *punkObject);
  506. HRESULT MatchesAttributes ([in] LPCWSTR pszAttributes,[out] WINBOOL *pfMatches);
  507. };
  508. [object, uuid (B8AAB0CF-346f-49d8-9499-C8B03F161D51), pointer_default (unique), restricted]
  509. interface ISpObjectTokenInit : ISpObjectToken {
  510. HRESULT InitFromDataKey ([in] LPCWSTR pszCategoryId,[in] LPCWSTR pszTokenId,[in] ISpDataKey *pDataKey);
  511. };
  512. [object, uuid (93384e18-5014-43d5-ADBB-A78E055926BD), pointer_default (unique), restricted]
  513. interface ISpResourceManager : IServiceProvider
  514. {
  515. HRESULT SetObject ([in] REFGUID guidServiceId,[in] IUnknown *pUnkObject);
  516. HRESULT GetObject ([in] REFGUID guidServiceId,[in] REFCLSID ObjectCLSID,[in] REFIID ObjectIID,[in] WINBOOL fReleaseWhenLastExternalRefReleased,[out, iid_is (ObjectIID)] void **ppObject);
  517. };
  518. cpp_quote("#if 0")
  519. typedef [restricted, hidden] struct SPEVENT {
  520. WORD eEventId;
  521. WORD elParamType;
  522. ULONG ulStreamNum;
  523. ULONGLONG ullAudioStreamOffset;
  524. WPARAM wParam;
  525. LPARAM lParam;
  526. } SPEVENT;
  527. typedef [restricted, hidden] struct SPSERIALIZEDEVENT {
  528. WORD eEventId;
  529. WORD elParamType;
  530. ULONG ulStreamNum;
  531. ULONGLONG ullAudioStreamOffset;
  532. ULONG SerializedwParam;
  533. LONG SerializedlParam;
  534. } SPSERIALIZEDEVENT;
  535. typedef [restricted, hidden] struct SPSERIALIZEDEVENT64 {
  536. WORD eEventId;
  537. WORD elParamType;
  538. ULONG ulStreamNum;
  539. ULONGLONG ullAudioStreamOffset;
  540. ULONGLONG SerializedwParam;
  541. LONGLONG SerializedlParam;
  542. } SPSERIALIZEDEVENT64;
  543. cpp_quote("#else")
  544. cpp_quote("typedef struct SPEVENT {")
  545. cpp_quote(" SPEVENTENUM eEventId : 16;")
  546. cpp_quote(" SPEVENTLPARAMTYPE elParamType : 16;")
  547. cpp_quote(" ULONG ulStreamNum;")
  548. cpp_quote(" ULONGLONG ullAudioStreamOffset;")
  549. cpp_quote(" WPARAM wParam;")
  550. cpp_quote(" LPARAM lParam;")
  551. cpp_quote("} SPEVENT;")
  552. cpp_quote("")
  553. cpp_quote("typedef struct SPSERIALIZEDEVENT {")
  554. cpp_quote(" SPEVENTENUM eEventId : 16;")
  555. cpp_quote(" SPEVENTLPARAMTYPE elParamType : 16;")
  556. cpp_quote(" ULONG ulStreamNum;")
  557. cpp_quote(" ULONGLONG ullAudioStreamOffset;")
  558. cpp_quote(" ULONG SerializedwParam;")
  559. cpp_quote(" LONG SerializedlParam;")
  560. cpp_quote("} SPSERIALIZEDEVENT;")
  561. cpp_quote("")
  562. cpp_quote("typedef struct SPSERIALIZEDEVENT64 {")
  563. cpp_quote(" SPEVENTENUM eEventId : 16;")
  564. cpp_quote(" SPEVENTLPARAMTYPE elParamType : 16;")
  565. cpp_quote(" ULONG ulStreamNum;")
  566. cpp_quote(" ULONGLONG ullAudioStreamOffset;")
  567. cpp_quote(" ULONGLONG SerializedwParam;")
  568. cpp_quote(" LONGLONG SerializedlParam;")
  569. cpp_quote("} SPSERIALIZEDEVENT64;")
  570. cpp_quote("#endif")
  571. #if _SAPI_BLD_ >= 0x53
  572. cpp_quote("#if 0")
  573. typedef [restricted, hidden] struct SPEVENTEX {
  574. WORD eEventId;
  575. WORD elParamType;
  576. ULONG ulStreamNum;
  577. ULONGLONG ullAudioStreamOffset;
  578. WPARAM wParam;
  579. LPARAM lParam;
  580. ULONGLONG ullAudioTimeOffset;
  581. } SPEVENTEX;
  582. cpp_quote("#else")
  583. cpp_quote("typedef struct SPEVENTEX {")
  584. cpp_quote(" SPEVENTENUM eEventId : 16;")
  585. cpp_quote(" SPEVENTLPARAMTYPE elParamType : 16;")
  586. cpp_quote(" ULONG ulStreamNum;")
  587. cpp_quote(" ULONGLONG ullAudioStreamOffset;")
  588. cpp_quote(" WPARAM wParam;")
  589. cpp_quote(" LPARAM lParam;")
  590. cpp_quote(" ULONGLONG ullAudioTimeOffset;")
  591. cpp_quote("} SPEVENTEX;")
  592. cpp_quote("#endif")
  593. #endif
  594. typedef [restricted, hidden] struct SPEVENTSOURCEINFO {
  595. ULONGLONG ullEventInterest;
  596. ULONGLONG ullQueuedInterest;
  597. ULONG ulCount;
  598. } SPEVENTSOURCEINFO;
  599. [object, local, uuid (BE7A9CCE-5f9e-11d2-960f-00c04f8ee628), pointer_default (unique), restricted]
  600. interface ISpEventSource : ISpNotifySource {
  601. HRESULT SetInterest ([in] ULONGLONG ullEventInterest,[in] ULONGLONG ullQueuedInterest);
  602. HRESULT GetEvents ([in] ULONG ulCount,[out, size_is (ulCount)] SPEVENT *pEventArray,[out] ULONG *pulFetched);
  603. HRESULT GetInfo ([out] SPEVENTSOURCEINFO *pInfo);
  604. };
  605. #if _SAPI_BLD_ >= 0x53
  606. [object, local, uuid (2373a435-6a4b-429e-A6AC-D4231A61975B), pointer_default (unique), restricted]
  607. interface ISpEventSource2 : ISpEventSource {
  608. HRESULT GetEventsEx ([in] ULONG ulCount,[out, size_is (ulCount)] SPEVENTEX *pEventArray,[out] ULONG *pulFetched);
  609. };
  610. #endif
  611. [object, local, uuid (BE7A9CC9-5f9e-11d2-960f-00c04f8ee628), pointer_default (unique), restricted]
  612. interface ISpEventSink : IUnknown {
  613. HRESULT AddEvents ([in] const SPEVENT *pEventArray,[in] ULONG ulCount);
  614. HRESULT GetEventInterest ([out] ULONGLONG *pullEventInterest);
  615. };
  616. [object, uuid (BED530BE-2606-4f4d-A1C0-54c5cda5566f), pointer_default (unique), restricted]
  617. interface ISpStreamFormat : IStream {
  618. HRESULT GetFormat ([in] GUID *pguidFormatId,[out] WAVEFORMATEX **ppCoMemWaveFormatEx);
  619. }
  620. [object, local, uuid (12e3cca9-7518-44c5-A5E7-BA5A79CB929E), pointer_default (unique), restricted]
  621. interface ISpStream : ISpStreamFormat {
  622. HRESULT SetBaseStream ([in] IStream *pStream,[in] REFGUID rguidFormat,[in] const WAVEFORMATEX *pWaveFormatEx);
  623. HRESULT GetBaseStream ([out] IStream **ppStream);
  624. HRESULT BindToFile ([in] LPCWSTR pszFileName,[in] SPFILEMODE eMode,[in] const GUID *pFormatId, const WAVEFORMATEX *pWaveFormatEx,[in] ULONGLONG ullEventInterest);
  625. HRESULT Close ();
  626. }
  627. [object, uuid (678a932c-EA71-4446-9b41-78fda6280a29), pointer_default (unique), restricted]
  628. interface ISpStreamFormatConverter : ISpStreamFormat {
  629. HRESULT SetBaseStream ([in] ISpStreamFormat *pStream,[in] WINBOOL fSetFormatToBaseStreamFormat,[in] WINBOOL fWriteToBaseStream);
  630. HRESULT GetBaseStream ([out] ISpStreamFormat **ppStream);
  631. HRESULT SetFormat ([in] REFGUID rguidFormatIdOfConvertedStream,[in] const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
  632. HRESULT ResetSeekPosition ();
  633. HRESULT ScaleConvertedToBaseOffset ([in] ULONGLONG ullOffsetConvertedStream,[out] ULONGLONG *pullOffsetBaseStream);
  634. HRESULT ScaleBaseToConvertedOffset ([in] ULONGLONG ullOffsetBaseStream,[out] ULONGLONG *pullOffsetConvertedStream);
  635. };
  636. typedef [restricted, hidden] struct SPAUDIOSTATUS {
  637. long cbFreeBuffSpace;
  638. ULONG cbNonBlockingIO;
  639. SPAUDIOSTATE State;
  640. ULONGLONG CurSeekPos;
  641. ULONGLONG CurDevicePos;
  642. DWORD dwAudioLevel;
  643. DWORD dwReserved2;
  644. } SPAUDIOSTATUS;
  645. typedef [restricted, hidden] struct SPAUDIOBUFFERINFO {
  646. ULONG ulMsMinNotification;
  647. ULONG ulMsBufferSize;
  648. ULONG ulMsEventBias;
  649. } SPAUDIOBUFFERINFO;
  650. [object, local, uuid (C05C768F-FAE8-4ec2-8e07-338321c12452), pointer_default (unique), restricted]
  651. interface ISpAudio : ISpStreamFormat {
  652. HRESULT SetState ([in] SPAUDIOSTATE NewState,[in] ULONGLONG ullReserved);
  653. HRESULT SetFormat ([in] REFGUID rguidFmtId,[in] const WAVEFORMATEX *pWaveFormatEx);
  654. HRESULT GetStatus ([out] SPAUDIOSTATUS *pStatus);
  655. HRESULT SetBufferInfo ([in] const SPAUDIOBUFFERINFO *pBuffInfo);
  656. HRESULT GetBufferInfo ([out] SPAUDIOBUFFERINFO *pBuffInfo);
  657. HRESULT GetDefaultFormat ([out] GUID *pFormatId,[out] WAVEFORMATEX **ppCoMemWaveFormatEx);
  658. HANDLE EventHandle ();
  659. HRESULT GetVolumeLevel ([out] ULONG *pLevel);
  660. HRESULT SetVolumeLevel ([in] ULONG Level);
  661. HRESULT GetBufferNotifySize ([out] ULONG *pcbSize);
  662. HRESULT SetBufferNotifySize ([in] ULONG cbSize);
  663. };
  664. [object, local, uuid (15806f6e-1d70-4b48-98e6-3b1a007509ab), pointer_default (unique), restricted]
  665. interface ISpMMSysAudio : ISpAudio {
  666. HRESULT GetDeviceId ([out] UINT *puDeviceId);
  667. HRESULT SetDeviceId ([in] UINT uDeviceId);
  668. HRESULT GetMMHandle ([out] void **pHandle);
  669. HRESULT GetLineId ([out] UINT *puLineId);
  670. HRESULT SetLineId ([in] UINT uLineId);
  671. };
  672. [object, uuid (10f63bce-201a-11d3-AC70-00c04f8ee6c0), pointer_default (unique), restricted]
  673. interface ISpTranscript : IUnknown {
  674. HRESULT GetTranscript ([out, string] LPWSTR *ppszTranscript);
  675. HRESULT AppendTranscript ([in, string] LPCWSTR pszTranscript);
  676. };
  677. typedef WCHAR SPPHONEID;
  678. typedef LPWSTR PSPPHONEID;
  679. typedef LPCWSTR PCSPPHONEID;
  680. typedef [restricted, hidden] struct SPPHRASEELEMENT {
  681. ULONG ulAudioTimeOffset;
  682. ULONG ulAudioSizeTime;
  683. ULONG ulAudioStreamOffset;
  684. ULONG ulAudioSizeBytes;
  685. ULONG ulRetainedStreamOffset;
  686. ULONG ulRetainedSizeBytes;
  687. LPCWSTR pszDisplayText;
  688. LPCWSTR pszLexicalForm;
  689. const SPPHONEID *pszPronunciation;
  690. BYTE bDisplayAttributes;
  691. signed char RequiredConfidence;
  692. signed char ActualConfidence;
  693. BYTE Reserved;
  694. float SREngineConfidence;
  695. } SPPHRASEELEMENT;
  696. typedef [restricted, hidden] struct SPPHRASERULE SPPHRASERULE;
  697. typedef [restricted, hidden] struct SPPHRASEPROPERTY SPPHRASEPROPERTY;
  698. struct SPPHRASERULE {
  699. LPCWSTR pszName;
  700. ULONG ulId;
  701. ULONG ulFirstElement;
  702. ULONG ulCountOfElements;
  703. const SPPHRASERULE *pNextSibling;
  704. const SPPHRASERULE *pFirstChild;
  705. float SREngineConfidence;
  706. signed char Confidence;
  707. };
  708. struct SPPHRASEPROPERTY {
  709. LPCWSTR pszName;
  710. union {
  711. ULONG ulId;
  712. struct {
  713. byte bType;
  714. byte bReserved;
  715. unsigned short usArrayIndex;
  716. };
  717. };
  718. LPCWSTR pszValue;
  719. VARIANT vValue;
  720. ULONG ulFirstElement;
  721. ULONG ulCountOfElements;
  722. const SPPHRASEPROPERTY *pNextSibling;
  723. const SPPHRASEPROPERTY *pFirstChild;
  724. float SREngineConfidence;
  725. signed char Confidence;
  726. };
  727. typedef [restricted, hidden] struct SPPHRASEREPLACEMENT {
  728. BYTE bDisplayAttributes;
  729. LPCWSTR pszReplacementText;
  730. ULONG ulFirstElement;
  731. ULONG ulCountOfElements;
  732. } SPPHRASEREPLACEMENT;
  733. #if _SAPI_BLD_ >= 0x53
  734. typedef [restricted, hidden] struct SPSEMANTICERRORINFO {
  735. ULONG ulLineNumber;
  736. LPWSTR pszScriptLine;
  737. LPWSTR pszSource;
  738. LPWSTR pszDescription;
  739. HRESULT hrResultCode;
  740. } SPSEMANTICERRORINFO;
  741. #endif
  742. #if _SAPI_BLD_ >= 0x53
  743. typedef [restricted, hidden] struct SPPHRASE_50
  744. #else
  745. typedef [restricted, hidden] struct SPPHRASE
  746. #endif
  747. {
  748. ULONG cbSize;
  749. LANGID LangID;
  750. WORD wHomophoneGroupId;
  751. ULONGLONG ullGrammarID;
  752. ULONGLONG ftStartTime;
  753. ULONGLONG ullAudioStreamPosition;
  754. ULONG ulAudioSizeBytes;
  755. ULONG ulRetainedSizeBytes;
  756. ULONG ulAudioSizeTime;
  757. SPPHRASERULE Rule;
  758. const SPPHRASEPROPERTY *pProperties;
  759. const SPPHRASEELEMENT *pElements;
  760. ULONG cReplacements;
  761. const SPPHRASEREPLACEMENT *pReplacements;
  762. GUID SREngineID;
  763. ULONG ulSREnginePrivateDataSize;
  764. const BYTE *pSREnginePrivateData;
  765. }
  766. #if _SAPI_BLD_ >= 0x53
  767. SPPHRASE_50;
  768. #else
  769. SPPHRASE;
  770. #endif
  771. #if _SAPI_BLD_ >= 0x53
  772. cpp_quote("#define SP_SPPHRASESIZE_500 sizeof (SPPHRASE_50)")
  773. cpp_quote("#ifdef __cplusplus")
  774. #if _SAPI_BLD_ > 0x53
  775. cpp_quote("typedef struct SPPHRASE_53 : public SPPHRASE_50 {")
  776. #else
  777. cpp_quote("typedef struct SPPHRASE : public SPPHRASE_50 {")
  778. #endif
  779. cpp_quote(" LPWSTR pSML;")
  780. cpp_quote(" SPSEMANTICERRORINFO* pSemanticErrorInfo;")
  781. #if _SAPI_BLD_ > 0x53
  782. cpp_quote("} SPPHRASE_53;")
  783. #else
  784. cpp_quote("} SPPHRASE;")
  785. #endif
  786. cpp_quote("#else")
  787. #if _SAPI_BLD_ > 0x53
  788. typedef [restricted, hidden] struct SPPHRASE_53
  789. #else
  790. typedef [restricted, hidden] struct SPPHRASE
  791. #endif
  792. {
  793. ULONG cbSize;
  794. LANGID LangID;
  795. WORD wHomophoneGroupId;
  796. ULONGLONG ullGrammarID;
  797. ULONGLONG ftStartTime;
  798. ULONGLONG ullAudioStreamPosition;
  799. ULONG ulAudioSizeBytes;
  800. ULONG ulRetainedSizeBytes;
  801. ULONG ulAudioSizeTime;
  802. SPPHRASERULE Rule;
  803. const SPPHRASEPROPERTY *pProperties;
  804. const SPPHRASEELEMENT *pElements;
  805. ULONG cReplacements;
  806. const SPPHRASEREPLACEMENT *pReplacements;
  807. GUID SREngineID;
  808. ULONG ulSREnginePrivateDataSize;
  809. const BYTE *pSREnginePrivateData;
  810. LPWSTR pSML;
  811. SPSEMANTICERRORINFO *pSemanticErrorInfo;
  812. }
  813. #if _SAPI_BLD_ > 0x53
  814. SPPHRASE_53;
  815. #else
  816. SPPHRASE;
  817. #endif
  818. cpp_quote("#endif")
  819. #endif
  820. #if _SAPI_BLD_ >= 0x54
  821. cpp_quote("#define SP_SPPHRASESIZE_530 sizeof (SPPHRASE_53)")
  822. cpp_quote("#ifdef __cplusplus")
  823. cpp_quote("typedef struct SPPHRASE : public SPPHRASE_53 {")
  824. cpp_quote(" SPSEMANTICFORMAT SemanticTagFormat;")
  825. cpp_quote("} SPPHRASE;")
  826. cpp_quote("#else")
  827. typedef [restricted, hidden] struct SPPHRASE {
  828. ULONG cbSize;
  829. LANGID LangID;
  830. WORD wHomophoneGroupId;
  831. ULONGLONG ullGrammarID;
  832. ULONGLONG ftStartTime;
  833. ULONGLONG ullAudioStreamPosition;
  834. ULONG ulAudioSizeBytes;
  835. ULONG ulRetainedSizeBytes;
  836. ULONG ulAudioSizeTime;
  837. SPPHRASERULE Rule;
  838. const SPPHRASEPROPERTY *pProperties;
  839. const SPPHRASEELEMENT *pElements;
  840. ULONG cReplacements;
  841. const SPPHRASEREPLACEMENT *pReplacements;
  842. GUID SREngineID;
  843. ULONG ulSREnginePrivateDataSize;
  844. const BYTE *pSREnginePrivateData;
  845. LPWSTR pSML;
  846. SPSEMANTICERRORINFO *pSemanticErrorInfo;
  847. SPSEMANTICFORMAT SemanticTagFormat;
  848. } SPPHRASE;
  849. cpp_quote("#endif")
  850. #endif
  851. typedef [restricted, hidden] struct SPSERIALIZEDPHRASE {
  852. ULONG ulSerializedSize;
  853. } SPSERIALIZEDPHRASE;
  854. #if _SAPI_BLD_ >= 0x53
  855. typedef [restricted, hidden] struct SPRULE {
  856. LPCWSTR pszRuleName;
  857. ULONG ulRuleId;
  858. DWORD dwAttributes;
  859. } SPRULE;
  860. #endif
  861. typedef [hidden] struct SPBINARYGRAMMAR {
  862. ULONG ulTotalSerializedSize;
  863. } SPBINARYGRAMMAR;
  864. cpp_quote("#if 0")
  865. typedef void *SPSTATEHANDLE;
  866. cpp_quote("#else")
  867. cpp_quote("DECLARE_HANDLE(SPSTATEHANDLE);")
  868. cpp_quote("#endif")
  869. typedef [restricted, hidden] struct SPWORDPRONUNCIATION {
  870. struct SPWORDPRONUNCIATION *pNextWordPronunciation;
  871. SPLEXICONTYPE eLexiconType;
  872. LANGID LangID;
  873. WORD wPronunciationFlags;
  874. SPPARTOFSPEECH ePartOfSpeech;
  875. SPPHONEID szPronunciation[1];
  876. } SPWORDPRONUNCIATION;
  877. typedef [restricted, hidden] struct SPWORDPRONUNCIATIONLIST {
  878. ULONG ulSize;
  879. BYTE *pvBuffer;
  880. SPWORDPRONUNCIATION *pFirstWordPronunciation;
  881. } SPWORDPRONUNCIATIONLIST;
  882. typedef [restricted, hidden] struct SPWORD {
  883. struct SPWORD *pNextWord;
  884. LANGID LangID;
  885. WORD wReserved;
  886. SPWORDTYPE eWordType;
  887. LPWSTR pszWord;
  888. SPWORDPRONUNCIATION *pFirstWordPronunciation;
  889. } SPWORD;
  890. typedef [restricted, hidden] struct SPWORDLIST {
  891. ULONG ulSize;
  892. BYTE *pvBuffer;
  893. SPWORD *pFirstWord;
  894. } SPWORDLIST;
  895. [object, local, uuid (DA41A7C2-5383-4db2-916b-6c1719e3db58), pointer_default (unique), restricted]
  896. interface ISpLexicon : IUnknown {
  897. HRESULT GetPronunciations ([in] LPCWSTR pszWord,[in] LANGID LangID,[in] DWORD dwFlags,[in, out] SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
  898. HRESULT AddPronunciation ([in] LPCWSTR pszWord,[in] LANGID LangID,[in] SPPARTOFSPEECH ePartOfSpeech,[in] PCSPPHONEID pszPronunciation);
  899. HRESULT RemovePronunciation ([in] LPCWSTR pszWord,[in] LANGID LangID,[in] SPPARTOFSPEECH ePartOfSpeech,[in] PCSPPHONEID pszPronunciation);
  900. HRESULT GetGeneration ([out] DWORD *pdwGeneration);
  901. HRESULT GetGenerationChange ([in] DWORD dwFlags,[in, out] DWORD *pdwGeneration,[in, out] SPWORDLIST *pWordList);
  902. HRESULT GetWords ([in] DWORD dwFlags,[in, out] DWORD *pdwGeneration,[in, out] DWORD *pdwCookie,[in, out] SPWORDLIST *pWordList);
  903. };
  904. [object, uuid (8565572f-C094-41cc-B56E-10bd9c3ff044), pointer_default (unique), restricted]
  905. interface ISpContainerLexicon : ISpLexicon {
  906. HRESULT AddLexicon ([in] ISpLexicon *pAddLexicon,[in] DWORD dwFlags);
  907. };
  908. #if _SAPI_BLD_ >= 0x53
  909. typedef [restricted, hidden] struct SPSHORTCUTPAIR {
  910. struct SPSHORTCUTPAIR *pNextSHORTCUTPAIR;
  911. LANGID LangID;
  912. SPSHORTCUTTYPE shType;
  913. LPWSTR pszDisplay;
  914. LPWSTR pszSpoken;
  915. } SPSHORTCUTPAIR;
  916. typedef [restricted, hidden] struct SPSHORTCUTPAIRLIST {
  917. ULONG ulSize;
  918. BYTE *pvBuffer;
  919. SPSHORTCUTPAIR *pFirstShortcutPair;
  920. } SPSHORTCUTPAIRLIST;
  921. #endif
  922. #if _SAPI_BLD_ >= 0x53
  923. [object, uuid (3df681e2-EA56-11d9-8bde-F66BAD1E3F3A), pointer_default (unique), restricted]
  924. interface ISpShortcut : IUnknown {
  925. HRESULT AddShortcut ([in] LPCWSTR pszDisplay,[in] LANGID LangID,[in] LPCWSTR pszSpoken,[in] SPSHORTCUTTYPE shType);
  926. HRESULT RemoveShortcut ([in] LPCWSTR pszDisplay,[in] LANGID LangID,[in] LPCWSTR pszSpoken,[in] SPSHORTCUTTYPE shType);
  927. HRESULT GetShortcuts ([in] LANGID LangID,[in, out] SPSHORTCUTPAIRLIST *pShortcutpairList);
  928. HRESULT GetGeneration ([out] DWORD *pdwGeneration);
  929. HRESULT GetWordsFromGenerationChange ([in, out] DWORD *pdwGeneration,[in, out] SPWORDLIST *pWordList);
  930. HRESULT GetWords ([in, out] DWORD *pdwGeneration,[in, out] DWORD *pdwCookie,[in, out] SPWORDLIST *pWordList);
  931. HRESULT GetShortcutsForGeneration ([in, out] DWORD *pdwGeneration,[in, out] DWORD *pdwCookie,[in, out] SPSHORTCUTPAIRLIST *pShortcutpairList);
  932. HRESULT GetGenerationChange ([in, out] DWORD *pdwGeneration,[in, out] SPSHORTCUTPAIRLIST *pShortcutpairList);
  933. };
  934. #endif
  935. [object, uuid (8445c581-0cac-4a38-ABFE-9b2ce2826455), pointer_default (unique), restricted]
  936. interface ISpPhoneConverter : ISpObjectWithToken {
  937. HRESULT PhoneToId ([in] LPCWSTR pszPhone,[out] SPPHONEID *pId);
  938. HRESULT IdToPhone ([in] PCSPPHONEID pId,[out] WCHAR *pszPhone);
  939. };
  940. #if _SAPI_BLD_ >= 0x53
  941. [object, local, uuid (133adcd4-19b4-4020-9fdc-842e78253b17), pointer_default (unique), restricted]
  942. interface ISpPhoneticAlphabetConverter : IUnknown {
  943. HRESULT GetLangId ([out] LANGID *pLangID);
  944. HRESULT SetLangId ([in] LANGID LangID);
  945. HRESULT SAPI2UPS ([in] const SPPHONEID *pszSAPIId,[out] SPPHONEID *pszUPSId,[in] DWORD cMaxLength);
  946. HRESULT UPS2SAPI ([in] const SPPHONEID *pszUPSId,[out] SPPHONEID *pszSAPIId,[in] DWORD cMaxLength);
  947. HRESULT GetMaxConvertLength ([in] DWORD cSrcLength,[in] WINBOOL bSAPI2UPS,[out] DWORD *pcMaxDestLength);
  948. };
  949. [object, uuid (B2745EFD-42ce-48ca-81f1-A96E02538A90), pointer_default (unique), restricted]
  950. interface ISpPhoneticAlphabetSelection : IUnknown {
  951. HRESULT IsAlphabetUPS ([out] WINBOOL *pfIsUPS);
  952. HRESULT SetAlphabetToUPS ([in] WINBOOL fForceUPS);
  953. };
  954. #endif
  955. typedef [restricted, hidden] struct SPVPITCH {
  956. long MiddleAdj;
  957. long RangeAdj;
  958. } SPVPITCH;
  959. typedef [restricted, hidden] struct SPVCONTEXT {
  960. LPCWSTR pCategory;
  961. LPCWSTR pBefore;
  962. LPCWSTR pAfter;
  963. } SPVCONTEXT;
  964. typedef [restricted, hidden] struct SPVSTATE {
  965. SPVACTIONS eAction;
  966. LANGID LangID;
  967. WORD wReserved;
  968. long EmphAdj;
  969. long RateAdj;
  970. ULONG Volume;
  971. SPVPITCH PitchAdj;
  972. ULONG SilenceMSecs;
  973. SPPHONEID *pPhoneIds;
  974. SPPARTOFSPEECH ePartOfSpeech;
  975. SPVCONTEXT Context;
  976. } SPVSTATE;
  977. typedef [restricted, hidden] struct SPVOICESTATUS {
  978. ULONG ulCurrentStream;
  979. ULONG ulLastStreamQueued;
  980. HRESULT hrLastResult;
  981. DWORD dwRunningState;
  982. ULONG ulInputWordPos;
  983. ULONG ulInputWordLen;
  984. ULONG ulInputSentPos;
  985. ULONG ulInputSentLen;
  986. LONG lBookmarkId;
  987. SPPHONEID PhonemeId;
  988. SPVISEMES VisemeId;
  989. DWORD dwReserved1;
  990. DWORD dwReserved2;
  991. } SPVOICESTATUS;
  992. typedef [hidden] enum SPEAKFLAGS {
  993. SPF_DEFAULT = 0,
  994. SPF_ASYNC = 1,
  995. SPF_PURGEBEFORESPEAK = 2,
  996. SPF_IS_FILENAME = 4,
  997. SPF_IS_XML = 8,
  998. SPF_IS_NOT_XML = 0x10,
  999. SPF_PERSIST_XML = 0x20,
  1000. SPF_NLP_SPEAK_PUNC = 0x40,
  1001. #if _SAPI_BLD_ >= 0x53
  1002. SPF_PARSE_SAPI = 0x80,
  1003. SPF_PARSE_SSML = 0x100,
  1004. SPF_PARSE_AUTODETECT = 0,
  1005. #endif
  1006. SPF_NLP_MASK = (SPF_NLP_SPEAK_PUNC),
  1007. #if _SAPI_BLD_ >= 0x53
  1008. SPF_PARSE_MASK = (SPF_PARSE_SAPI | SPF_PARSE_SSML),
  1009. SPF_VOICE_MASK = (SPF_ASYNC | SPF_PURGEBEFORESPEAK | SPF_IS_FILENAME | SPF_IS_XML | SPF_IS_NOT_XML | SPF_NLP_MASK | SPF_PERSIST_XML | SPF_PARSE_MASK),
  1010. #else
  1011. SPF_VOICE_MASK = (SPF_ASYNC | SPF_PURGEBEFORESPEAK | SPF_IS_FILENAME | SPF_IS_XML | SPF_IS_NOT_XML | SPF_NLP_MASK | SPF_PERSIST_XML),
  1012. #endif
  1013. SPF_UNUSED_FLAGS = ~ (SPF_VOICE_MASK)
  1014. } SPEAKFLAGS;
  1015. [object, local, uuid (6c44df74-72b9-4992-A1EC-EF996E0422D4), pointer_default (unique), restricted]
  1016. interface ISpVoice : ISpEventSource {
  1017. HRESULT SetOutput ([in] IUnknown *pUnkOutput,[in] WINBOOL fAllowFormatChanges);
  1018. HRESULT GetOutputObjectToken ([out] ISpObjectToken **ppObjectToken);
  1019. HRESULT GetOutputStream ([out] ISpStreamFormat **ppStream);
  1020. HRESULT Pause (void);
  1021. HRESULT Resume (void);
  1022. HRESULT SetVoice ([in] ISpObjectToken *pToken);
  1023. HRESULT GetVoice ([out] ISpObjectToken **ppToken);
  1024. HRESULT Speak ([in, string] LPCWSTR pwcs,[in] DWORD dwFlags,[out] ULONG *pulStreamNumber);
  1025. HRESULT SpeakStream ([in] IStream *pStream,[in] DWORD dwFlags,[out] ULONG *pulStreamNumber);
  1026. HRESULT GetStatus ([out] SPVOICESTATUS *pStatus,[out] LPWSTR *ppszLastBookmark);
  1027. HRESULT Skip ([in, string] LPCWSTR pItemType,[in] long lNumItems,[out] ULONG *pulNumSkipped);
  1028. HRESULT SetPriority ([in] SPVPRIORITY ePriority);
  1029. HRESULT GetPriority ([out] SPVPRIORITY *pePriority);
  1030. HRESULT SetAlertBoundary ([in] SPEVENTENUM eBoundary);
  1031. HRESULT GetAlertBoundary ([out] SPEVENTENUM *peBoundary);
  1032. HRESULT SetRate ([in] long RateAdjust);
  1033. HRESULT GetRate ([out] long *pRateAdjust);
  1034. HRESULT SetVolume ([in] USHORT usVolume);
  1035. HRESULT GetVolume ([out] USHORT *pusVolume);
  1036. HRESULT WaitUntilDone ([in] ULONG msTimeout);
  1037. HRESULT SetSyncSpeakTimeout ([in] ULONG msTimeout);
  1038. HRESULT GetSyncSpeakTimeout ([out] ULONG *pmsTimeout);
  1039. [local] HANDLE SpeakCompleteEvent ();
  1040. [local] HRESULT IsUISupported ([in] LPCWSTR pszTypeOfUI,[in] void *pvExtraData,[in] ULONG cbExtraData,[out] WINBOOL *pfSupported);
  1041. [local] HRESULT DisplayUI ([in] HWND hwndParent,[in] LPCWSTR pszTitle,[in] LPCWSTR pszTypeOfUI,[in] void *pvExtraData,[in] ULONG cbExtraData);
  1042. };
  1043. [object, local, uuid (1a5c0354-B621-4b5a-8791-D306ED379E53), pointer_default (unique), restricted]
  1044. interface ISpPhrase : IUnknown {
  1045. HRESULT GetPhrase ([out] SPPHRASE **ppCoMemPhrase);
  1046. HRESULT GetSerializedPhrase ([out] SPSERIALIZEDPHRASE **ppCoMemPhrase);
  1047. HRESULT GetText ([in] ULONG ulStart,[in] ULONG ulCount,[in] WINBOOL fUseTextReplacements,[out] LPWSTR *ppszCoMemText,[out, optional] BYTE *pbDisplayAttributes);
  1048. HRESULT Discard ([in] DWORD dwValueTypes);
  1049. };
  1050. [object, local, uuid (8fcebc98-4e49-4067-9c6c-D86A0E092E3D), pointer_default (unique), restricted]
  1051. interface ISpPhraseAlt : ISpPhrase {
  1052. HRESULT GetAltInfo ([out] ISpPhrase **ppParent,[out] ULONG *pulStartElementInParent,[out] ULONG *pcElementsInParent,[out] ULONG *pcElementsInAlt);
  1053. HRESULT Commit ();
  1054. };
  1055. #if _SAPI_BLD_ >= 0x53
  1056. typedef enum SPXMLRESULTOPTIONS {
  1057. SPXRO_SML = 0,
  1058. SPXRO_Alternates_SML = 1
  1059. } SPXMLRESULTOPTIONS;
  1060. #endif
  1061. #if _SAPI_BLD_ >= 0x53
  1062. [object, local, uuid (F264DA52-E457-4696-B856-A737B717AF79), pointer_default (unique), restricted]
  1063. interface ISpPhrase2 : ISpPhrase {
  1064. HRESULT GetXMLResult ([out] LPWSTR *ppszCoMemXMLResult,[in] SPXMLRESULTOPTIONS Options);
  1065. HRESULT GetXMLErrorInfo ([out] SPSEMANTICERRORINFO *pSemanticErrorInfo);
  1066. HRESULT GetAudio ([in] ULONG ulStartElement,[in] ULONG cElements,[out] ISpStreamFormat **ppStream);
  1067. };
  1068. #endif
  1069. typedef [restricted, hidden] struct SPRECORESULTTIMES {
  1070. FILETIME ftStreamTime;
  1071. ULONGLONG ullLength;
  1072. DWORD dwTickCount;
  1073. ULONGLONG ullStart;
  1074. } SPRECORESULTTIMES;
  1075. typedef [hidden] struct SPSERIALIZEDRESULT {
  1076. ULONG ulSerializedSize;
  1077. } SPSERIALIZEDRESULT;
  1078. [object, local, uuid (20b053be-E235-43cd-9a2a-8d17a48b7842), pointer_default (unique), restricted]
  1079. interface ISpRecoResult : ISpPhrase {
  1080. HRESULT GetResultTimes ([out] SPRECORESULTTIMES *pTimes);
  1081. HRESULT GetAlternates ([in] ULONG ulStartElement,[in] ULONG cElements,[in] ULONG ulRequestCount,[out] ISpPhraseAlt **ppPhrases,[out] ULONG *pcPhrasesReturned);
  1082. HRESULT GetAudio ([in] ULONG ulStartElement,[in] ULONG cElements,[out] ISpStreamFormat **ppStream);
  1083. HRESULT SpeakAudio ([in] ULONG ulStartElement,[in] ULONG cElements,[in] DWORD dwFlags,[out] ULONG *pulStreamNumber);
  1084. HRESULT Serialize ([out] SPSERIALIZEDRESULT **ppCoMemSerializedResult);
  1085. HRESULT ScaleAudio ([in] const GUID *pAudioFormatId,[in] const WAVEFORMATEX *pWaveFormatEx);
  1086. HRESULT GetRecoContext ([out] ISpRecoContext **ppRecoContext);
  1087. };
  1088. #if _SAPI_BLD_ >= 0x53
  1089. typedef [hidden] enum SPCOMMITFLAGS {
  1090. SPCF_NONE = 0,
  1091. SPCF_ADD_TO_USER_LEXICON = (1 << 0),
  1092. SPCF_DEFINITE_CORRECTION = (1 << 1)
  1093. } SPCOMMITFLAGS;
  1094. #endif
  1095. #if _SAPI_BLD_ >= 0x53
  1096. [object, local, uuid (27cac6c4-88f2-41f2-8817-0c95e59f1e6e), pointer_default (unique), restricted]
  1097. interface ISpRecoResult2 : ISpRecoResult {
  1098. HRESULT CommitAlternate ([in] ISpPhraseAlt *pPhraseAlt,[out] ISpRecoResult **ppNewResult);
  1099. HRESULT CommitText ([in] ULONG ulStartElement,[in] ULONG cElements,[in] LPCWSTR pszCorrectedData,[in] DWORD eCommitFlags);
  1100. HRESULT SetTextFeedback ([in, string] LPCWSTR pszFeedback,[in] WINBOOL fSuccessful);
  1101. }
  1102. [object, local, uuid (AE39362B-45a8-4074-9b9e-CCF49AA2D0B6), pointer_default (unique), restricted]
  1103. interface ISpXMLRecoResult : ISpRecoResult {
  1104. HRESULT GetXMLResult ([out] LPWSTR *ppszCoMemXMLResult,[in] SPXMLRESULTOPTIONS Options);
  1105. HRESULT GetXMLErrorInfo ([out] SPSEMANTICERRORINFO *pSemanticErrorInfo);
  1106. };
  1107. #endif
  1108. typedef [hidden] struct tagSPTEXTSELECTIONINFO {
  1109. ULONG ulStartActiveOffset;
  1110. ULONG cchActiveChars;
  1111. ULONG ulStartSelection;
  1112. ULONG cchSelection;
  1113. } SPTEXTSELECTIONINFO;
  1114. typedef [hidden] enum SPWORDPRONOUNCEABLE {
  1115. SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE = 0,
  1116. SPWP_UNKNOWN_WORD_PRONOUNCEABLE = 1,
  1117. SPWP_KNOWN_WORD_PRONOUNCEABLE = 2
  1118. } SPWORDPRONOUNCEABLE;
  1119. typedef [hidden] enum SPGRAMMARSTATE {
  1120. SPGS_DISABLED = 0,
  1121. SPGS_ENABLED = 1,
  1122. SPGS_EXCLUSIVE = 3
  1123. } SPGRAMMARSTATE;
  1124. typedef [hidden] enum SPCONTEXTSTATE {
  1125. SPCS_DISABLED = 0,
  1126. SPCS_ENABLED = 1,
  1127. } SPCONTEXTSTATE;
  1128. typedef [hidden] enum SPRULESTATE {
  1129. SPRS_INACTIVE = 0,
  1130. SPRS_ACTIVE = 1,
  1131. SPRS_ACTIVE_WITH_AUTO_PAUSE = 3
  1132. #if _SAPI_BLD_ >= 0x53
  1133. , SPRS_ACTIVE_USER_DELIMITED = 4
  1134. #endif
  1135. } SPRULESTATE;
  1136. const ULONGLONG SP_STREAMPOS_ASAP = 0;
  1137. const ULONGLONG SP_STREAMPOS_REALTIME = -1;
  1138. cpp_quote("#define SPRULETRANS_TEXTBUFFER (SPSTATEHANDLE) (-1)")
  1139. cpp_quote("#define SPRULETRANS_WILDCARD (SPSTATEHANDLE) (-2)")
  1140. cpp_quote("#define SPRULETRANS_DICTATION (SPSTATEHANDLE) (-3)")
  1141. typedef [hidden] enum SPGRAMMARWORDTYPE {
  1142. SPWT_DISPLAY,
  1143. SPWT_LEXICAL,
  1144. SPWT_PRONUNCIATION
  1145. #if _SAPI_BLD_ >= 0x53
  1146. , SPWT_LEXICAL_NO_SPECIAL_CHARS
  1147. #endif
  1148. } SPGRAMMARWORDTYPE;
  1149. typedef [hidden] struct tagSPPROPERTYINFO {
  1150. LPCWSTR pszName;
  1151. ULONG ulId;
  1152. LPCWSTR pszValue;
  1153. VARIANT vValue;
  1154. } SPPROPERTYINFO;
  1155. typedef [hidden] enum SPCFGRULEATTRIBUTES {
  1156. SPRAF_TopLevel = 0x1,
  1157. SPRAF_Active = 0x2,
  1158. SPRAF_Export = 0x4,
  1159. SPRAF_Import = 0x8,
  1160. SPRAF_Interpreter = 0x10,
  1161. SPRAF_Dynamic = 0x20,
  1162. #if _SAPI_BLD_ >= 0x53
  1163. SPRAF_Root = 0x40,
  1164. #endif
  1165. SPRAF_AutoPause = 0x10000
  1166. #if _SAPI_BLD_ >= 0x53
  1167. , SPRAF_UserDelimited = 0x20000
  1168. #endif
  1169. } SPCFGRULEATTRIBUTES;
  1170. [object, local, uuid (8137828f-591a-4a42-BE58-49ea7ebaac68), pointer_default (unique), restricted]
  1171. interface ISpGrammarBuilder : IUnknown {
  1172. HRESULT ResetGrammar ([in] LANGID NewLanguage);
  1173. HRESULT GetRule ([in] LPCWSTR pszRuleName,[in] DWORD dwRuleId,[in] DWORD dwAttributes,[in] WINBOOL fCreateIfNotExist,[out] SPSTATEHANDLE *phInitialState);
  1174. HRESULT ClearRule ([in] SPSTATEHANDLE hState);
  1175. HRESULT CreateNewState ([in] SPSTATEHANDLE hState,[out] SPSTATEHANDLE *phState);
  1176. HRESULT AddWordTransition ([in] SPSTATEHANDLE hFromState,[in] SPSTATEHANDLE hToState,[in] LPCWSTR psz,[in] LPCWSTR pszSeparators,[in] SPGRAMMARWORDTYPE eWordType,[in] float Weight,[in] const SPPROPERTYINFO *pPropInfo);
  1177. HRESULT AddRuleTransition ([in] SPSTATEHANDLE hFromState,[in] SPSTATEHANDLE hToState,[in] SPSTATEHANDLE hRule,[in] float Weight,[in] const SPPROPERTYINFO *pPropInfo);
  1178. HRESULT AddResource ([in] SPSTATEHANDLE hRuleState,[in] LPCWSTR pszResourceName,[in] LPCWSTR pszResourceValue);
  1179. HRESULT Commit ([in] DWORD dwReserved);
  1180. };
  1181. typedef [hidden] enum SPLOADOPTIONS {
  1182. SPLO_STATIC = 0,
  1183. SPLO_DYNAMIC = 1
  1184. } SPLOADOPTIONS;
  1185. [object, local, uuid (2177db29-7f45-47d0-8554-067e91c80502), pointer_default (unique), restricted]
  1186. interface ISpRecoGrammar : ISpGrammarBuilder {
  1187. HRESULT GetGrammarId ([out] ULONGLONG *pullGrammarId);
  1188. HRESULT GetRecoContext ([out] ISpRecoContext **ppRecoCtxt);
  1189. HRESULT LoadCmdFromFile ([in, string] LPCWSTR pszFileName,[in] SPLOADOPTIONS Options);
  1190. HRESULT LoadCmdFromObject ([in] REFCLSID rcid,[in, string] LPCWSTR pszGrammarName,[in] SPLOADOPTIONS Options);
  1191. HRESULT LoadCmdFromResource ([in] HMODULE hModule,[in, string] LPCWSTR pszResourceName,[in, string] LPCWSTR pszResourceType,[in] WORD wLanguage,[in] SPLOADOPTIONS Options);
  1192. HRESULT LoadCmdFromMemory ([in] const SPBINARYGRAMMAR *pGrammar,[in] SPLOADOPTIONS Options);
  1193. HRESULT LoadCmdFromProprietaryGrammar ([in] REFGUID rguidParam,[in, string] LPCWSTR pszStringParam,[in] const void *pvDataPrarm,[in] ULONG cbDataSize,[in] SPLOADOPTIONS Options);
  1194. HRESULT SetRuleState ([in, string] LPCWSTR pszName,[in] void *pReserved,[in] SPRULESTATE NewState);
  1195. HRESULT SetRuleIdState ([in] ULONG ulRuleId,[in] SPRULESTATE NewState);
  1196. HRESULT LoadDictation ([in, string] LPCWSTR pszTopicName,[in] SPLOADOPTIONS Options);
  1197. HRESULT UnloadDictation ();
  1198. HRESULT SetDictationState ([in] SPRULESTATE NewState);
  1199. HRESULT SetWordSequenceData ([in] const WCHAR *pText,[in] ULONG cchText,[in] const SPTEXTSELECTIONINFO *pInfo);
  1200. HRESULT SetTextSelection ([in] const SPTEXTSELECTIONINFO *pInfo);
  1201. HRESULT IsPronounceable ([in, string] LPCWSTR pszWord,[out] SPWORDPRONOUNCEABLE *pWordPronounceable);
  1202. HRESULT SetGrammarState ([in] SPGRAMMARSTATE eGrammarState);
  1203. HRESULT SaveCmd ([in] IStream *pStream,[out, optional] LPWSTR *ppszCoMemErrorText);
  1204. HRESULT GetGrammarState ([out] SPGRAMMARSTATE *peGrammarState);
  1205. };
  1206. #if _SAPI_BLD_ >= 0x53
  1207. typedef enum SPMATCHINGMODE {
  1208. AllWords = 0,
  1209. Subsequence = 1,
  1210. OrderedSubset = 3,
  1211. SubsequenceContentRequired = 5,
  1212. OrderedSubsetContentRequired = 7
  1213. } SPMATCHINGMODE;
  1214. typedef enum PHONETICALPHABET {
  1215. PA_Ipa = 0,
  1216. PA_Ups = 1,
  1217. PA_Sapi = 2,
  1218. } PHONETICALPHABET;
  1219. #endif
  1220. #if _SAPI_BLD_ >= 0x53
  1221. [object, local, uuid (8ab10026-20cc-4b20-8c22-A49C9BA78F60), pointer_default (unique), restricted]
  1222. interface ISpGrammarBuilder2 : IUnknown {
  1223. HRESULT AddTextSubset ([in] SPSTATEHANDLE hFromState,[in] SPSTATEHANDLE hToState,[in] LPCWSTR psz,[in] SPMATCHINGMODE eMatchMode);
  1224. HRESULT SetPhoneticAlphabet ([in] PHONETICALPHABET phoneticALphabet);
  1225. }
  1226. cpp_quote("#define SPRP_NORMAL 0")
  1227. [object, local, uuid (4b37bc9e-9ed6-44a3-93d3-18f022b79ec3), pointer_default (unique), restricted]
  1228. interface ISpRecoGrammar2 : IUnknown {
  1229. HRESULT GetRules ([out] SPRULE **ppCoMemRules,[out] UINT *puNumRules);
  1230. HRESULT LoadCmdFromFile2 ([in, string] LPCWSTR pszFileName,[in] SPLOADOPTIONS Options,[in, string] LPCWSTR pszSharingUri,[in, string] LPCWSTR pszBaseUri);
  1231. HRESULT LoadCmdFromMemory2 ([in] const SPBINARYGRAMMAR *pGrammar,[in] SPLOADOPTIONS Options,[in, string] LPCWSTR pszSharingUri,[in, string] LPCWSTR pszBaseUri);
  1232. HRESULT SetRulePriority ([in, string] LPCWSTR pszRuleName,[in] ULONG ulRuleId,[in] int nRulePriority);
  1233. HRESULT SetRuleWeight ([in, string] LPCWSTR pszRuleName,[in] ULONG ulRuleId,[in] float flWeight);
  1234. HRESULT SetDictationWeight ([in] float flWeight);
  1235. HRESULT SetGrammarLoader ([in] ISpeechResourceLoader *pLoader);
  1236. HRESULT SetSMLSecurityManager ([in] IInternetSecurityManager *pSMLSecurityManager);
  1237. }
  1238. [object, local, uuid (B9AC5783-FCD0-4b21-B119-B4F8DA8FD2C3), pointer_default (unique), dual]
  1239. interface ISpeechResourceLoader : IDispatch {
  1240. [id (1)] HRESULT LoadResource ([in] BSTR bstrResourceUri,[in] VARIANT_BOOL fAlwaysReload,[out] IUnknown **pStream,[out] BSTR *pbstrMIMEType,[out] VARIANT_BOOL *pfModified,[out] BSTR *pbstrRedirectUrl);
  1241. [id (2)] HRESULT GetLocalCopy ([in] BSTR bstrResourceUri,[out] BSTR *pbstrLocalPath,[out] BSTR *pbstrMIMEType,[out] BSTR *pbstrRedirectUrl);
  1242. [id (3)] HRESULT ReleaseLocalCopy ([in] BSTR pbstrLocalPath);
  1243. }
  1244. #endif
  1245. typedef [restricted, hidden] struct SPRECOCONTEXTSTATUS {
  1246. SPINTERFERENCE eInterference;
  1247. WCHAR szRequestTypeOfUI[255];
  1248. DWORD dwReserved1;
  1249. DWORD dwReserved2;
  1250. } SPRECOCONTEXTSTATUS;
  1251. typedef [hidden] enum SPBOOKMARKOPTIONS {
  1252. SPBO_NONE = 0,
  1253. SPBO_PAUSE = 0x1
  1254. #if _SAPI_BLD_ >= 0x53
  1255. , SPBO_AHEAD = 0x2,
  1256. SPBO_TIME_UNITS = 0x4
  1257. #endif
  1258. } SPBOOKMARKOPTIONS;
  1259. typedef [hidden] enum SPAUDIOOPTIONS {
  1260. SPAO_NONE = 0,
  1261. SPAO_RETAIN_AUDIO = 0x1
  1262. } SPAUDIOOPTIONS;
  1263. [object, local, uuid (F740A62F-7c15-489e-8234-940a33d9272d), pointer_default (unique), restricted]
  1264. interface ISpRecoContext : ISpEventSource {
  1265. HRESULT GetRecognizer ([out] ISpRecognizer **ppRecognizer);
  1266. HRESULT CreateGrammar ([in] ULONGLONG ullGrammarId,[out] ISpRecoGrammar **ppGrammar);
  1267. HRESULT GetStatus ([out] SPRECOCONTEXTSTATUS *pStatus);
  1268. HRESULT GetMaxAlternates ([in] ULONG *pcAlternates);
  1269. HRESULT SetMaxAlternates ([in] ULONG cAlternates);
  1270. HRESULT SetAudioOptions ([in] SPAUDIOOPTIONS Options,[in] const GUID *pAudioFormatId,[in] const WAVEFORMATEX *pWaveFormatEx);
  1271. HRESULT GetAudioOptions ([in] SPAUDIOOPTIONS *pOptions,[out] GUID *pAudioFormatId,[out] WAVEFORMATEX **ppCoMemWFEX);
  1272. HRESULT DeserializeResult ([in] const SPSERIALIZEDRESULT *pSerializedResult,[out] ISpRecoResult **ppResult);
  1273. HRESULT Bookmark ([in] SPBOOKMARKOPTIONS Options,[in] ULONGLONG ullStreamPosition,[in] LPARAM lparamEvent);
  1274. HRESULT SetAdaptationData ([in, string] LPCWSTR pAdaptationData,[in] const ULONG cch);
  1275. HRESULT Pause ([in] DWORD dwReserved);
  1276. HRESULT Resume ([in] DWORD dwReserved);
  1277. HRESULT SetVoice ([in] ISpVoice *pVoice,[in] WINBOOL fAllowFormatChanges);
  1278. HRESULT GetVoice ([out] ISpVoice **ppVoice);
  1279. HRESULT SetVoicePurgeEvent ([in] ULONGLONG ullEventInterest);
  1280. HRESULT GetVoicePurgeEvent ([out] ULONGLONG *pullEventInterest);
  1281. HRESULT SetContextState ([in] SPCONTEXTSTATE eContextState);
  1282. HRESULT GetContextState ([out] SPCONTEXTSTATE *peContextState);
  1283. };
  1284. #if _SAPI_BLD_ >= 0x53
  1285. typedef [hidden] enum SPGRAMMAROPTIONS {
  1286. SPGO_SAPI = 0x1,
  1287. SPGO_SRGS = 0x2,
  1288. SPGO_UPS = 0x4,
  1289. SPGO_SRGS_MS_SCRIPT = 0x8,
  1290. SPGO_FILE = 0x10,
  1291. SPGO_HTTP = 0x20,
  1292. SPGO_RES = 0x40,
  1293. SPGO_OBJECT = 0x80,
  1294. SPGO_SRGS_W3C_SCRIPT = 0x100,
  1295. SPGO_SRGS_STG_SCRIPT = 0x200,
  1296. SPGO_SRGS_SCRIPT = SPGO_SRGS | SPGO_SRGS_MS_SCRIPT | SPGO_SRGS_W3C_SCRIPT | SPGO_SRGS_STG_SCRIPT,
  1297. SPGO_DEFAULT = 0x03fb,
  1298. SPGO_ALL = 0x03ff
  1299. } SPGRAMMAROPTIONS;
  1300. typedef [hidden] enum SPADAPTATIONSETTINGS {
  1301. SPADS_Default = 0x0,
  1302. SPADS_CurrentRecognizer = 0x1,
  1303. SPADS_RecoProfile = 0x2,
  1304. SPADS_Immediate = 0x4,
  1305. SPADS_Reset = 0x8,
  1306. SPADS_HighVolumeDataSource = 0x10
  1307. } SPADAPTATIONSETTINGS;
  1308. typedef [hidden] enum SPADAPTATIONRELEVANCE {
  1309. SPAR_Unknown = 0,
  1310. SPAR_Low = 1,
  1311. SPAR_Medium = 2,
  1312. SPAR_High = 3
  1313. } SPADAPTATIONRELEVANCE;
  1314. #endif
  1315. #if _SAPI_BLD_ >= 0x53
  1316. [object, local, uuid (BEAD311C-52ff-437f-9464-6b21054ca73d), pointer_default (unique), restricted]
  1317. interface ISpRecoContext2 : IUnknown {
  1318. HRESULT SetGrammarOptions ([in] DWORD eGrammarOptions);
  1319. HRESULT GetGrammarOptions ([out] DWORD *peGrammarOptions);
  1320. HRESULT SetAdaptationData2 ([in] LPCWSTR pAdaptationData,[in] const ULONG cch,[in] LPCWSTR pTopicName,[in] DWORD eAdaptationSettings,[in] SPADAPTATIONRELEVANCE eRelevance);
  1321. }
  1322. #endif
  1323. [object, local, uuid (5b4fb971-B115-4de1-AD97-E482E3BF6EE4), pointer_default (unique), restricted]
  1324. interface ISpProperties : IUnknown {
  1325. HRESULT SetPropertyNum ([in] LPCWSTR pName,[in] LONG lValue);
  1326. HRESULT GetPropertyNum ([in] LPCWSTR pName,[out] LONG *plValue);
  1327. HRESULT SetPropertyString ([in] LPCWSTR pName,[in] LPCWSTR pValue);
  1328. HRESULT GetPropertyString ([in] LPCWSTR pName,[out, string] LPWSTR *ppCoMemValue);
  1329. };
  1330. const ULONG SP_MAX_LANGIDS = 20;
  1331. typedef [restricted, hidden] struct SPRECOGNIZERSTATUS {
  1332. SPAUDIOSTATUS AudioStatus;
  1333. ULONGLONG ullRecognitionStreamPos;
  1334. ULONG ulStreamNumber;
  1335. ULONG ulNumActive;
  1336. CLSID clsidEngine;
  1337. ULONG cLangIDs;
  1338. LANGID aLangID[SP_MAX_LANGIDS];
  1339. ULONGLONG ullRecognitionStreamTime;
  1340. } SPRECOGNIZERSTATUS;
  1341. typedef [hidden] enum SPWAVEFORMATTYPE {
  1342. SPWF_INPUT,
  1343. SPWF_SRENGINE
  1344. } SPSTREAMFORMATTYPE;
  1345. typedef [hidden] enum SPRECOSTATE {
  1346. SPRST_INACTIVE,
  1347. SPRST_ACTIVE,
  1348. SPRST_ACTIVE_ALWAYS,
  1349. SPRST_INACTIVE_WITH_PURGE,
  1350. SPRST_NUM_STATES
  1351. } SPRECOSTATE;
  1352. #if _SAPI_BLD_ >= 0x54
  1353. typedef enum SPCATEGORYTYPE {
  1354. SPCT_COMMAND,
  1355. SPCT_DICTATION,
  1356. SPCT_SLEEP,
  1357. SPCT_SUB_COMMAND,
  1358. SPCT_SUB_DICTATION
  1359. } SPCATEGORYTYPE;
  1360. #endif
  1361. [object, local, uuid (C2B5F241-DAA0-4507-9e16-5a1eaa2b7a5c), pointer_default (unique), restricted]
  1362. interface ISpRecognizer : ISpProperties {
  1363. HRESULT SetRecognizer ([in] ISpObjectToken *pRecognizer);
  1364. HRESULT GetRecognizer ([out] ISpObjectToken **ppRecognizer);
  1365. HRESULT SetInput ([in] IUnknown *pUnkInput,[in] WINBOOL fAllowFormatChanges);
  1366. HRESULT GetInputObjectToken ([out] ISpObjectToken **ppToken);
  1367. HRESULT GetInputStream ([out] ISpStreamFormat **ppStream);
  1368. HRESULT CreateRecoContext ([out] ISpRecoContext **ppNewCtxt);
  1369. HRESULT GetRecoProfile ([out] ISpObjectToken **ppToken);
  1370. HRESULT SetRecoProfile ([in] ISpObjectToken *pToken);
  1371. HRESULT IsSharedInstance (void);
  1372. HRESULT GetRecoState ([out] SPRECOSTATE *pState);
  1373. HRESULT SetRecoState ([in] SPRECOSTATE NewState);
  1374. HRESULT GetStatus ([out] SPRECOGNIZERSTATUS *pStatus);
  1375. HRESULT GetFormat ([in] SPSTREAMFORMATTYPE WaveFormatType,[out] GUID *pFormatId,[out] WAVEFORMATEX **ppCoMemWFEX);
  1376. [local] HRESULT IsUISupported ([in] LPCWSTR pszTypeOfUI,[in] void *pvExtraData,[in] ULONG cbExtraData,[out] WINBOOL *pfSupported);
  1377. [local] HRESULT DisplayUI ([in] HWND hwndParent,[in] LPCWSTR pszTitle,[in] LPCWSTR pszTypeOfUI,[in] void *pvExtraData,[in] ULONG cbExtraData);
  1378. HRESULT EmulateRecognition ([in] ISpPhrase *pPhrase);
  1379. };
  1380. #if _SAPI_BLD_ >= 0x53
  1381. [object, uuid (21b501a0-0ec7-46c9-92c3-A2BC784C54B9), pointer_default (unique), restricted]
  1382. interface ISpSerializeState : IUnknown {
  1383. HRESULT GetSerializedState ([out] BYTE **ppbData,[out] ULONG *pulSize,[in] DWORD dwReserved);
  1384. HRESULT SetSerializedState ([in] BYTE *pbData,[in] ULONG ulSize,[in] DWORD dwReserved);
  1385. };
  1386. [object, local, uuid (8fc6d974-C81E-4098-93c5-0147f61ed4d3), pointer_default (unique), restricted]
  1387. interface ISpRecognizer2 : IUnknown {
  1388. HRESULT EmulateRecognitionEx ([in] ISpPhrase *pPhrase,[in] DWORD dwCompareFlags);
  1389. HRESULT SetTrainingState ([in] WINBOOL fDoingTraining,[in] WINBOOL fAdaptFromTrainingData);
  1390. HRESULT ResetAcousticModelAdaptation ();
  1391. }
  1392. #if _SAPI_BLD_ >= 0x54
  1393. [object, local, uuid (DA0CD0F9-14a2-4f09-8c2a-85cc48979345), pointer_default (unique), restricted]
  1394. interface ISpRecoCategory : IUnknown {
  1395. HRESULT GetType ([out] SPCATEGORYTYPE *peCategoryType);
  1396. }
  1397. [object, local, uuid (DF1B943C-5838-4aa2-8706-D7CD5B333499), pointer_default (unique), restricted]
  1398. interface ISpRecognizer3 : IUnknown {
  1399. HRESULT GetCategory ([in] SPCATEGORYTYPE categoryType,[out] ISpRecoCategory **ppCategory);
  1400. HRESULT SetActiveCategory ([in] ISpRecoCategory *pCategory);
  1401. HRESULT GetActiveCategory ([out] ISpRecoCategory **ppCategory);
  1402. }
  1403. #endif
  1404. typedef [restricted, hidden] struct SPNORMALIZATIONLIST {
  1405. ULONG ulSize;
  1406. WCHAR **ppszzNormalizedList;
  1407. } SPNORMALIZATIONLIST;
  1408. [object, local, uuid (C360CE4B-76d1-4214-AD68-52657d5083da), pointer_default (unique), restricted]
  1409. interface ISpEnginePronunciation : IUnknown {
  1410. HRESULT Normalize ([in, string] LPCWSTR pszWord,[in, string] LPCWSTR pszLeftContext,[in, string] LPCWSTR pszRightContext,[in] LANGID LangID,[out] SPNORMALIZATIONLIST *pNormalizationList);
  1411. HRESULT GetPronunciations ([in, string] LPCWSTR pszWord,[in, string] LPCWSTR pszLeftContext,[in, string] LPCWSTR pszRightContext,[in] LANGID LangID,[in, out] SPWORDPRONUNCIATIONLIST *pEnginePronunciationList);
  1412. }
  1413. typedef [restricted, hidden] struct SPDISPLAYTOKEN {
  1414. const WCHAR *pszLexical;
  1415. const WCHAR *pszDisplay;
  1416. BYTE bDisplayAttributes;
  1417. } SPDISPLAYTOKEN;
  1418. typedef [restricted, hidden] struct SPDISPLAYPHRASE {
  1419. ULONG ulNumTokens;
  1420. SPDISPLAYTOKEN *pTokens;
  1421. } SPDISPLAYPHRASE;
  1422. [object, local, uuid (C8D7C7E2-0dde-44b7-AFE3-B0C991FBEB5E), pointer_default (unique)]
  1423. interface ISpDisplayAlternates : IUnknown {
  1424. HRESULT GetDisplayAlternates ([in] const SPDISPLAYPHRASE *pPhrase,[in] ULONG cRequestCount,[out] SPDISPLAYPHRASE **ppCoMemPhrases,[out] ULONG *pcPhrasesReturned);
  1425. HRESULT SetFullStopTrailSpace ([in] ULONG ulTrailSpace);
  1426. }
  1427. #endif
  1428. [uuid (C866CA3A-32f7-11d2-9602-00c04f8ee628), version (5.4)]
  1429. library SpeechLib {
  1430. importlib ("stdole32.tlb");
  1431. importlib ("stdole2.tlb");
  1432. interface ISpeechDataKey;
  1433. interface ISpeechObjectToken;
  1434. interface ISpeechObjectTokens;
  1435. interface ISpeechObjectTokenCategory;
  1436. interface ISpeechAudioBufferInfo;
  1437. interface ISpeechAudioStatus;
  1438. interface ISpeechAudioFormat;
  1439. interface ISpeechWaveFormatEx;
  1440. interface ISpeechBaseStream;
  1441. interface ISpeechFileStream;
  1442. interface ISpeechMemoryStream;
  1443. interface ISpeechCustomStream;
  1444. interface ISpeechAudio;
  1445. interface ISpeechMMSysAudio;
  1446. interface ISpeechVoice;
  1447. interface ISpeechVoiceStatus;
  1448. dispinterface _ISpeechVoiceEvents;
  1449. interface ISpeechRecognizer;
  1450. interface ISpeechRecognizerStatus;
  1451. interface ISpeechRecoContext;
  1452. interface ISpeechRecoGrammar;
  1453. dispinterface _ISpeechRecoContextEvents;
  1454. interface ISpeechGrammarRule;
  1455. interface ISpeechGrammarRules;
  1456. interface ISpeechGrammarRuleState;
  1457. interface ISpeechGrammarRuleStateTransition;
  1458. interface ISpeechGrammarRuleStateTransitions;
  1459. interface ISpeechTextSelectionInformation;
  1460. interface ISpeechRecoResult;
  1461. #if _SAPI_BLD_ >= 0x53
  1462. interface ISpeechRecoResult2;
  1463. #endif
  1464. interface ISpeechRecoResultTimes;
  1465. interface ISpeechPhraseAlternate;
  1466. interface ISpeechPhraseAlternates;
  1467. interface ISpeechPhraseInfo;
  1468. interface ISpeechPhraseElement;
  1469. interface ISpeechPhraseElements;
  1470. interface ISpeechPhraseReplacement;
  1471. interface ISpeechPhraseReplacements;
  1472. interface ISpeechPhraseProperty;
  1473. interface ISpeechPhraseProperties;
  1474. interface ISpeechPhraseRule;
  1475. interface ISpeechPhraseRules;
  1476. interface ISpeechLexicon;
  1477. interface ISpeechLexiconWords;
  1478. interface ISpeechLexiconWord;
  1479. interface ISpeechLexiconPronunciations;
  1480. interface ISpeechLexiconPronunciation;
  1481. typedef long SpeechLanguageId;
  1482. cpp_quote("#define __SpeechStringConstants_MODULE_DEFINED__")
  1483. [uuid (E58442E4-0c80-402c-9559-867337a39765)] module SpeechStringConstants {
  1484. const BSTR SpeechRegistryUserRoot = L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech";
  1485. const BSTR SpeechRegistryLocalMachineRoot = L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech";
  1486. const BSTR SpeechCategoryAudioOut = L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput";
  1487. const BSTR SpeechCategoryAudioIn = L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput";
  1488. const BSTR SpeechCategoryVoices = L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices";
  1489. const BSTR SpeechCategoryRecognizers = L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Recognizers";
  1490. const BSTR SpeechCategoryAppLexicons = L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AppLexicons";
  1491. const BSTR SpeechCategoryPhoneConverters = L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\PhoneConverters";
  1492. const BSTR SpeechCategoryRecoProfiles = L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\RecoProfiles";
  1493. const BSTR SpeechTokenIdUserLexicon = L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserLexicon";
  1494. const BSTR SpeechTokenValueCLSID = L"CLSID";
  1495. const BSTR SpeechTokenKeyFiles = L"Files";
  1496. const BSTR SpeechTokenKeyUI = L"UI";
  1497. const BSTR SpeechTokenKeyAttributes = L"Attributes";
  1498. const BSTR SpeechVoiceCategoryTTSRate = L"DefaultTTSRate";
  1499. const BSTR SpeechPropertyResourceUsage = L"ResourceUsage";
  1500. const BSTR SpeechPropertyHighConfidenceThreshold = L"HighConfidenceThreshold";
  1501. const BSTR SpeechPropertyNormalConfidenceThreshold = L"NormalConfidenceThreshold";
  1502. const BSTR SpeechPropertyLowConfidenceThreshold = L"LowConfidenceThreshold";
  1503. const BSTR SpeechPropertyResponseSpeed = L"ResponseSpeed";
  1504. const BSTR SpeechPropertyComplexResponseSpeed = L"ComplexResponseSpeed";
  1505. const BSTR SpeechPropertyAdaptationOn = L"AdaptationOn";
  1506. const BSTR SpeechDictationTopicSpelling = L"Spelling";
  1507. const BSTR SpeechGrammarTagWildcard = L"...";
  1508. const BSTR SpeechGrammarTagDictation = L"*";
  1509. const BSTR SpeechGrammarTagUnlimitedDictation = L"*+";
  1510. const BSTR SpeechEngineProperties = L"EngineProperties";
  1511. const BSTR SpeechAddRemoveWord = L"AddRemoveWord";
  1512. const BSTR SpeechUserTraining = L"UserTraining";
  1513. const BSTR SpeechMicTraining = L"MicTraining";
  1514. const BSTR SpeechRecoProfileProperties = L"RecoProfileProperties";
  1515. const BSTR SpeechAudioProperties = L"AudioProperties";
  1516. const BSTR SpeechAudioVolume = L"AudioVolume";
  1517. const BSTR SpeechVoiceSkipTypeSentence = L"Sentence";
  1518. const BSTR SpeechAudioFormatGUIDWave = L"{C31ADBAE-527F-4ff5-A230-F62BB61FF70C}";
  1519. const BSTR SpeechAudioFormatGUIDText = L"{7CEEF9F9-3D13-11d2-9EE7-00C04F797396}";
  1520. };
  1521. [uuid (F3E092B2-6bdc-410f-BCB2-4c5ed4424180)] module SpeechConstants {
  1522. const float Speech_Default_Weight = DEFAULT_WEIGHT;
  1523. const LONG Speech_Max_Word_Length = SP_MAX_WORD_LENGTH;
  1524. const LONG Speech_Max_Pron_Length = SP_MAX_PRON_LENGTH;
  1525. const LONG Speech_StreamPos_Asap = SP_STREAMPOS_ASAP;
  1526. const LONG Speech_StreamPos_RealTime = SP_STREAMPOS_REALTIME;
  1527. const LONG SpeechAllElements = SPPR_ALL_ELEMENTS;
  1528. };
  1529. typedef [hidden] enum DISPID_SpeechDataKey {
  1530. DISPID_SDKSetBinaryValue = 1,
  1531. DISPID_SDKGetBinaryValue,
  1532. DISPID_SDKSetStringValue,
  1533. DISPID_SDKGetStringValue,
  1534. DISPID_SDKSetLongValue,
  1535. DISPID_SDKGetlongValue,
  1536. DISPID_SDKOpenKey,
  1537. DISPID_SDKCreateKey,
  1538. DISPID_SDKDeleteKey,
  1539. DISPID_SDKDeleteValue,
  1540. DISPID_SDKEnumKeys,
  1541. DISPID_SDKEnumValues
  1542. } DISPID_SpeechDataKey;
  1543. typedef [hidden] enum DISPID_SpeechObjectToken {
  1544. DISPID_SOTId = 1,
  1545. DISPID_SOTDataKey,
  1546. DISPID_SOTCategory,
  1547. DISPID_SOTGetDescription,
  1548. DISPID_SOTSetId,
  1549. DISPID_SOTGetAttribute,
  1550. DISPID_SOTCreateInstance,
  1551. DISPID_SOTRemove,
  1552. DISPID_SOTGetStorageFileName,
  1553. DISPID_SOTRemoveStorageFileName,
  1554. DISPID_SOTIsUISupported,
  1555. DISPID_SOTDisplayUI,
  1556. DISPID_SOTMatchesAttributes
  1557. } DISPID_SpeechObjectToken;
  1558. typedef enum SpeechDataKeyLocation {
  1559. SDKLDefaultLocation = SPDKL_DefaultLocation,
  1560. SDKLCurrentUser = SPDKL_CurrentUser,
  1561. SDKLLocalMachine = SPDKL_LocalMachine,
  1562. SDKLCurrentConfig = SPDKL_CurrentConfig
  1563. } SpeechDataKeyLocation;
  1564. #define CLSCTXALL (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)
  1565. typedef enum SpeechTokenContext {
  1566. STCInprocServer = CLSCTX_INPROC_SERVER,
  1567. STCInprocHandler = CLSCTX_INPROC_HANDLER,
  1568. STCLocalServer = CLSCTX_LOCAL_SERVER,
  1569. STCRemoteServer = CLSCTX_REMOTE_SERVER,
  1570. STCAll = CLSCTXALL
  1571. } SpeechTokenContext;
  1572. typedef enum SpeechTokenShellFolder {
  1573. STSF_AppData = 0x001a,
  1574. STSF_LocalAppData = 0x001c,
  1575. STSF_CommonAppData = 0x0023,
  1576. STSF_FlagCreate = 0x8000
  1577. } SpeechTokenShellFolder;
  1578. typedef [hidden] enum DISPID_SpeechObjectTokens {
  1579. DISPID_SOTsCount = 1,
  1580. DISPID_SOTsItem = DISPID_VALUE,
  1581. DISPID_SOTs_NewEnum = DISPID_NEWENUM
  1582. } DISPID_SpeechObjectTokens;
  1583. typedef [hidden] enum DISPID_SpeechObjectTokenCategory {
  1584. DISPID_SOTCId = 1,
  1585. DISPID_SOTCDefault,
  1586. DISPID_SOTCSetId,
  1587. DISPID_SOTCGetDataKey,
  1588. DISPID_SOTCEnumerateTokens,
  1589. } DISPID_SpeechObjectTokenCategory;
  1590. [object, uuid (CE17C09B-4efa-44d5-A4C9-59d9585ab0cd), dual, pointer_default (unique)]
  1591. interface ISpeechDataKey : IDispatch {
  1592. [id (DISPID_SDKSetBinaryValue)] HRESULT SetBinaryValue ([in]const BSTR ValueName,[in]VARIANT Value);
  1593. [id (DISPID_SDKGetBinaryValue)] HRESULT GetBinaryValue ([in]const BSTR ValueName,[out, retval]VARIANT *Value);
  1594. [id (DISPID_SDKSetStringValue)] HRESULT SetStringValue ([in]const BSTR ValueName,[in]const BSTR Value);
  1595. [id (DISPID_SDKGetStringValue)] HRESULT GetStringValue ([in]const BSTR ValueName,[out, retval]BSTR *Value);
  1596. [id (DISPID_SDKSetLongValue)] HRESULT SetLongValue ([in]const BSTR ValueName,[in]long Value);
  1597. [id (DISPID_SDKGetlongValue)] HRESULT GetLongValue ([in]const BSTR ValueName,[out, retval]long *Value);
  1598. [id (DISPID_SDKOpenKey)] HRESULT OpenKey ([in]const BSTR SubKeyName,[out, retval]ISpeechDataKey **SubKey);
  1599. [id (DISPID_SDKCreateKey)] HRESULT CreateKey ([in]const BSTR SubKeyName,[out, retval]ISpeechDataKey **SubKey);
  1600. [id (DISPID_SDKDeleteKey)] HRESULT DeleteKey ([in]const BSTR SubKeyName);
  1601. [id (DISPID_SDKDeleteValue)] HRESULT DeleteValue ([in]const BSTR ValueName);
  1602. [id (DISPID_SDKEnumKeys)] HRESULT EnumKeys ([in]long Index,[out, retval]BSTR *SubKeyName);
  1603. [id (DISPID_SDKEnumValues)] HRESULT EnumValues ([in]long Index,[out, retval]BSTR *ValueName);
  1604. };
  1605. [object, uuid (C74A3ADC-B727-4500-A84A-B526721C8B8C), dual, pointer_default (unique)]
  1606. interface ISpeechObjectToken : IDispatch {
  1607. [propget, id (DISPID_SOTId)] HRESULT Id ([out, retval]BSTR *ObjectId);
  1608. [propget, id (DISPID_SOTDataKey), hidden] HRESULT DataKey ([out, retval]ISpeechDataKey **DataKey);
  1609. [propget, id (DISPID_SOTCategory)] HRESULT Category ([out, retval]ISpeechObjectTokenCategory **Category);
  1610. [id (DISPID_SOTGetDescription)] HRESULT GetDescription ([in, defaultvalue (0)]long Locale,[out, retval]BSTR *Description);
  1611. [hidden, id (DISPID_SOTSetId)] HRESULT SetId ([in] BSTR Id,[in, defaultvalue (L"")] BSTR CategoryID,[in, defaultvalue (0)]VARIANT_BOOL CreateIfNotExist);
  1612. [id (DISPID_SOTGetAttribute)] HRESULT GetAttribute ([in] BSTR AttributeName,[out, retval]BSTR *AttributeValue);
  1613. [id (DISPID_SOTCreateInstance)] HRESULT CreateInstance ([in, defaultvalue (NULL)] IUnknown *pUnkOuter,[in, defaultvalue (STCAll)] SpeechTokenContext ClsContext,[out, retval]IUnknown **Object);
  1614. [hidden, id (DISPID_SOTRemove)] HRESULT Remove ([in]BSTR ObjectStorageCLSID);
  1615. [hidden, id (DISPID_SOTGetStorageFileName)] HRESULT GetStorageFileName ([in]BSTR ObjectStorageCLSID,[in]BSTR KeyName,[in]BSTR FileName,[in]SpeechTokenShellFolder Folder,[out, retval]BSTR *FilePath);
  1616. [hidden, id (DISPID_SOTRemoveStorageFileName)] HRESULT RemoveStorageFileName ([in]BSTR ObjectStorageCLSID,[in]BSTR KeyName,[in]VARIANT_BOOL DeleteFile);
  1617. [hidden, id (DISPID_SOTIsUISupported)] HRESULT IsUISupported ([in]const BSTR TypeOfUI,[in, defaultvalue (NULL)]const VARIANT *ExtraData,[in, defaultvalue (NULL)]IUnknown *Object,[out, retval] VARIANT_BOOL *Supported);
  1618. [hidden, id (DISPID_SOTDisplayUI)] HRESULT DisplayUI ([in]long hWnd,[in]BSTR Title,[in]const BSTR TypeOfUI,[in, defaultvalue (NULL)]const VARIANT *ExtraData,[in, defaultvalue (NULL)]IUnknown *Object);
  1619. [id (DISPID_SOTMatchesAttributes)] HRESULT MatchesAttributes ([in]BSTR Attributes,[out, retval] VARIANT_BOOL *Matches);
  1620. };
  1621. [object, uuid (9285b776-2e7b-4bc0-B53E-580eb6fa967f), dual, pointer_default (unique)]
  1622. interface ISpeechObjectTokens : IDispatch {
  1623. [propget, id (DISPID_SOTsCount)] HRESULT Count ([out, retval] long *Count);
  1624. [id (DISPID_VALUE)] HRESULT Item ([in] long Index,[out, retval]ISpeechObjectToken **Token);
  1625. [propget, restricted, id (DISPID_NEWENUM)] HRESULT _NewEnum ([out, retval] IUnknown **ppEnumVARIANT);
  1626. };
  1627. [object, uuid (CA7EAC50-2d01-4145-86d4-5ae7d70f4469), dual, pointer_default (unique)]
  1628. interface ISpeechObjectTokenCategory : IDispatch {
  1629. [propget, id (DISPID_SOTCId)] HRESULT Id ([out, retval] BSTR *Id);
  1630. [propput, id (DISPID_SOTCDefault)] HRESULT Default ([in] const BSTR TokenId);
  1631. [propget, id (DISPID_SOTCDefault)] HRESULT Default ([out, retval] BSTR *TokenId);
  1632. [id (DISPID_SOTCSetId)] HRESULT SetId ([in] const BSTR Id,[in, defaultvalue (0)]VARIANT_BOOL CreateIfNotExist);
  1633. [hidden, id (DISPID_SOTCGetDataKey)] HRESULT GetDataKey ([in, defaultvalue (SDKLDefaultLocation)]SpeechDataKeyLocation Location,[out, retval]ISpeechDataKey **DataKey);
  1634. [id (DISPID_SOTCEnumerateTokens)] HRESULT EnumerateTokens ([in, defaultvalue (L"")]BSTR RequiredAttributes,[in, defaultvalue (L"")]BSTR OptionalAttributes,[out, retval]ISpeechObjectTokens **Tokens);
  1635. };
  1636. typedef enum SpeechAudioFormatType {
  1637. SAFTDefault = -1,
  1638. SAFTNoAssignedFormat = 0,
  1639. SAFTText,
  1640. SAFTNonStandardFormat,
  1641. SAFTExtendedAudioFormat,
  1642. SAFT8kHz8BitMono,
  1643. SAFT8kHz8BitStereo,
  1644. SAFT8kHz16BitMono,
  1645. SAFT8kHz16BitStereo,
  1646. SAFT11kHz8BitMono,
  1647. SAFT11kHz8BitStereo,
  1648. SAFT11kHz16BitMono,
  1649. SAFT11kHz16BitStereo,
  1650. SAFT12kHz8BitMono,
  1651. SAFT12kHz8BitStereo,
  1652. SAFT12kHz16BitMono,
  1653. SAFT12kHz16BitStereo,
  1654. SAFT16kHz8BitMono,
  1655. SAFT16kHz8BitStereo,
  1656. SAFT16kHz16BitMono,
  1657. SAFT16kHz16BitStereo,
  1658. SAFT22kHz8BitMono,
  1659. SAFT22kHz8BitStereo,
  1660. SAFT22kHz16BitMono,
  1661. SAFT22kHz16BitStereo,
  1662. SAFT24kHz8BitMono,
  1663. SAFT24kHz8BitStereo,
  1664. SAFT24kHz16BitMono,
  1665. SAFT24kHz16BitStereo,
  1666. SAFT32kHz8BitMono,
  1667. SAFT32kHz8BitStereo,
  1668. SAFT32kHz16BitMono,
  1669. SAFT32kHz16BitStereo,
  1670. SAFT44kHz8BitMono,
  1671. SAFT44kHz8BitStereo,
  1672. SAFT44kHz16BitMono,
  1673. SAFT44kHz16BitStereo,
  1674. SAFT48kHz8BitMono,
  1675. SAFT48kHz8BitStereo,
  1676. SAFT48kHz16BitMono,
  1677. SAFT48kHz16BitStereo,
  1678. SAFTTrueSpeech_8kHz1BitMono,
  1679. SAFTCCITT_ALaw_8kHzMono,
  1680. SAFTCCITT_ALaw_8kHzStereo,
  1681. SAFTCCITT_ALaw_11kHzMono,
  1682. SAFTCCITT_ALaw_11kHzStereo,
  1683. SAFTCCITT_ALaw_22kHzMono,
  1684. SAFTCCITT_ALaw_22kHzStereo,
  1685. SAFTCCITT_ALaw_44kHzMono,
  1686. SAFTCCITT_ALaw_44kHzStereo,
  1687. SAFTCCITT_uLaw_8kHzMono,
  1688. SAFTCCITT_uLaw_8kHzStereo,
  1689. SAFTCCITT_uLaw_11kHzMono,
  1690. SAFTCCITT_uLaw_11kHzStereo,
  1691. SAFTCCITT_uLaw_22kHzMono,
  1692. SAFTCCITT_uLaw_22kHzStereo,
  1693. SAFTCCITT_uLaw_44kHzMono,
  1694. SAFTCCITT_uLaw_44kHzStereo,
  1695. SAFTADPCM_8kHzMono,
  1696. SAFTADPCM_8kHzStereo,
  1697. SAFTADPCM_11kHzMono,
  1698. SAFTADPCM_11kHzStereo,
  1699. SAFTADPCM_22kHzMono,
  1700. SAFTADPCM_22kHzStereo,
  1701. SAFTADPCM_44kHzMono,
  1702. SAFTADPCM_44kHzStereo,
  1703. SAFTGSM610_8kHzMono,
  1704. SAFTGSM610_11kHzMono,
  1705. SAFTGSM610_22kHzMono,
  1706. SAFTGSM610_44kHzMono,
  1707. } SpeechAudioFormatType;
  1708. typedef [hidden] enum DISPID_SpeechAudioFormat {
  1709. DISPID_SAFType = 1,
  1710. DISPID_SAFGuid,
  1711. DISPID_SAFGetWaveFormatEx,
  1712. DISPID_SAFSetWaveFormatEx
  1713. } DISPID_SpeechAudioFormat;
  1714. typedef [hidden] enum DISPID_SpeechBaseStream {
  1715. DISPID_SBSFormat = 1,
  1716. DISPID_SBSRead,
  1717. DISPID_SBSWrite,
  1718. DISPID_SBSSeek
  1719. } DISPID_SpeechBaseStream;
  1720. typedef enum SpeechStreamSeekPositionType {
  1721. SSSPTRelativeToStart = STREAM_SEEK_SET,
  1722. SSSPTRelativeToCurrentPosition = STREAM_SEEK_CUR,
  1723. SSSPTRelativeToEnd = STREAM_SEEK_END
  1724. } SpeechStreamSeekPositionType;
  1725. typedef [hidden] enum DISPID_SpeechAudio {
  1726. DISPID_SAStatus = 200,
  1727. DISPID_SABufferInfo,
  1728. DISPID_SADefaultFormat,
  1729. DISPID_SAVolume,
  1730. DISPID_SABufferNotifySize,
  1731. DISPID_SAEventHandle,
  1732. DISPID_SASetState
  1733. } DISPID_SpeechAudio;
  1734. typedef enum SpeechAudioState {
  1735. SASClosed = SPAS_CLOSED,
  1736. SASStop = SPAS_STOP,
  1737. SASPause = SPAS_PAUSE,
  1738. SASRun = SPAS_RUN
  1739. } SpeechAudioState;
  1740. typedef [hidden] enum DISPID_SpeechMMSysAudio {
  1741. DISPID_SMSADeviceId = 300,
  1742. DISPID_SMSALineId,
  1743. DISPID_SMSAMMHandle
  1744. } DISPID_SpeechMMSysAudio;
  1745. typedef [hidden] enum DISPID_SpeechFileStream {
  1746. DISPID_SFSOpen = 100,
  1747. DISPID_SFSClose
  1748. } DISPID_SpeechFileStream;
  1749. typedef enum SpeechStreamFileMode {
  1750. SSFMOpenForRead = SPFM_OPEN_READONLY,
  1751. SSFMOpenReadWrite = SPFM_OPEN_READWRITE,
  1752. SSFMCreate = SPFM_CREATE,
  1753. SSFMCreateForWrite = SPFM_CREATE_ALWAYS,
  1754. } SpeechStreamFileMode;
  1755. typedef [hidden] enum DISPID_SpeechCustomStream {
  1756. DISPID_SCSBaseStream = 100
  1757. } DISPID_SpeechCustomStream;
  1758. typedef [hidden] enum DISPID_SpeechMemoryStream {
  1759. DISPID_SMSSetData = 100,
  1760. DISPID_SMSGetData
  1761. } DISPID_SpeechMemoryStream;
  1762. typedef [hidden] enum DISPID_SpeechAudioStatus {
  1763. DISPID_SASFreeBufferSpace = 1,
  1764. DISPID_SASNonBlockingIO,
  1765. DISPID_SASState,
  1766. DISPID_SASCurrentSeekPosition,
  1767. DISPID_SASCurrentDevicePosition
  1768. } DISPID_SpeechAudioStatus;
  1769. typedef [hidden] enum DISPID_SpeechAudioBufferInfo {
  1770. DISPID_SABIMinNotification = 1,
  1771. DISPID_SABIBufferSize,
  1772. DISPID_SABIEventBias
  1773. } DISPID_SpeechAudioBufferInfo;
  1774. typedef [hidden] enum DISPID_SpeechWaveFormatEx {
  1775. DISPID_SWFEFormatTag = 1,
  1776. DISPID_SWFEChannels,
  1777. DISPID_SWFESamplesPerSec,
  1778. DISPID_SWFEAvgBytesPerSec,
  1779. DISPID_SWFEBlockAlign,
  1780. DISPID_SWFEBitsPerSample,
  1781. DISPID_SWFEExtraData
  1782. } DISPID_SpeechWaveFormatEx;
  1783. typedef [hidden] enum DISPID_SpeechVoice {
  1784. DISPID_SVStatus = 1,
  1785. DISPID_SVVoice,
  1786. DISPID_SVAudioOutput,
  1787. DISPID_SVAudioOutputStream,
  1788. DISPID_SVRate,
  1789. DISPID_SVVolume,
  1790. DISPID_SVAllowAudioOuputFormatChangesOnNextSet,
  1791. DISPID_SVEventInterests,
  1792. DISPID_SVPriority,
  1793. DISPID_SVAlertBoundary,
  1794. DISPID_SVSyncronousSpeakTimeout,
  1795. DISPID_SVSpeak,
  1796. DISPID_SVSpeakStream,
  1797. DISPID_SVPause,
  1798. DISPID_SVResume,
  1799. DISPID_SVSkip,
  1800. DISPID_SVGetVoices,
  1801. DISPID_SVGetAudioOutputs,
  1802. DISPID_SVWaitUntilDone,
  1803. DISPID_SVSpeakCompleteEvent,
  1804. DISPID_SVIsUISupported,
  1805. DISPID_SVDisplayUI
  1806. } DISPID_SpeechVoice;
  1807. typedef enum SpeechVoicePriority {
  1808. SVPNormal = SPVPRI_NORMAL,
  1809. SVPAlert = SPVPRI_ALERT,
  1810. SVPOver = SPVPRI_OVER
  1811. } SpeechVoicePriority;
  1812. typedef enum SpeechVoiceSpeakFlags {
  1813. SVSFDefault = SPF_DEFAULT,
  1814. SVSFlagsAsync = SPF_ASYNC,
  1815. SVSFPurgeBeforeSpeak = SPF_PURGEBEFORESPEAK,
  1816. SVSFIsFilename = SPF_IS_FILENAME,
  1817. SVSFIsXML = SPF_IS_XML,
  1818. SVSFIsNotXML = SPF_IS_NOT_XML,
  1819. SVSFPersistXML = SPF_PERSIST_XML,
  1820. SVSFNLPSpeakPunc = SPF_NLP_SPEAK_PUNC,
  1821. #if _SAPI_BLD_ >= 0x53
  1822. SVSFParseSapi = SPF_PARSE_SAPI,
  1823. SVSFParseSsml = SPF_PARSE_SSML,
  1824. SVSFParseAutodetect = SPF_PARSE_AUTODETECT,
  1825. #endif
  1826. SVSFNLPMask = SPF_NLP_MASK,
  1827. #if _SAPI_BLD_ >= 0x53
  1828. SVSFParseMask = SPF_PARSE_MASK,
  1829. #endif
  1830. SVSFVoiceMask = SPF_VOICE_MASK,
  1831. SVSFUnusedFlags = SPF_UNUSED_FLAGS,
  1832. } SpeechVoiceSpeakFlags;
  1833. typedef enum SpeechVoiceEvents {
  1834. SVEStartInputStream = 0x2,
  1835. SVEEndInputStream = 0x4,
  1836. SVEVoiceChange = 0x8,
  1837. SVEBookmark = 0x10,
  1838. SVEWordBoundary = 0x20,
  1839. SVEPhoneme = 0x40,
  1840. SVESentenceBoundary = 0x80,
  1841. SVEViseme = 0x100,
  1842. SVEAudioLevel = 0x200,
  1843. SVEPrivate = 0x8000,
  1844. SVEAllEvents = 0x83fe
  1845. } SpeechVoiceEvents;
  1846. typedef [hidden] enum DISPID_SpeechVoiceStatus {
  1847. DISPID_SVSCurrentStreamNumber = 1,
  1848. DISPID_SVSLastStreamNumberQueued,
  1849. DISPID_SVSLastResult,
  1850. DISPID_SVSRunningState,
  1851. DISPID_SVSInputWordPosition,
  1852. DISPID_SVSInputWordLength,
  1853. DISPID_SVSInputSentencePosition,
  1854. DISPID_SVSInputSentenceLength,
  1855. DISPID_SVSLastBookmark,
  1856. DISPID_SVSLastBookmarkId,
  1857. DISPID_SVSPhonemeId,
  1858. DISPID_SVSVisemeId
  1859. } DISPID_SpeechVoiceStatus;
  1860. typedef enum SpeechRunState {
  1861. SRSEDone = SPRS_DONE,
  1862. SRSEIsSpeaking = SPRS_IS_SPEAKING
  1863. } SpeechRunState;
  1864. [object, uuid (E6E9C590-3e18-40e3-8299-061f98bde7c7), dual, pointer_default (unique)]
  1865. interface ISpeechAudioFormat : IDispatch {
  1866. [propget, id (DISPID_SAFType)] HRESULT Type ([out, retval]SpeechAudioFormatType *AudioFormat);
  1867. [propput, id (DISPID_SAFType)] HRESULT Type ([in]SpeechAudioFormatType AudioFormat);
  1868. [propget, hidden, id (DISPID_SAFGuid)] HRESULT Guid ([out, retval]BSTR *Guid);
  1869. [propput, hidden, id (DISPID_SAFGuid)] HRESULT Guid ([in]BSTR Guid);
  1870. [hidden, id (DISPID_SAFGetWaveFormatEx)] HRESULT GetWaveFormatEx ([out, retval]ISpeechWaveFormatEx **SpeechWaveFormatEx);
  1871. [hidden, id (DISPID_SAFSetWaveFormatEx)] HRESULT SetWaveFormatEx ([in]ISpeechWaveFormatEx *SpeechWaveFormatEx);
  1872. }
  1873. [object, uuid (6450336f-7d49-4ced-8097-49d6dee37294), dual, pointer_default (unique)]
  1874. interface ISpeechBaseStream : IDispatch {
  1875. [propget, id (DISPID_SBSFormat)] HRESULT Format ([out, retval]ISpeechAudioFormat **AudioFormat);
  1876. [propputref, id (DISPID_SBSFormat)] HRESULT Format ([in]ISpeechAudioFormat *AudioFormat);
  1877. [id (DISPID_SBSRead)] HRESULT Read ([out]VARIANT *Buffer,[in]long NumberOfBytes,[out, retval]long *BytesRead);
  1878. [id (DISPID_SBSWrite)] HRESULT Write ([in]VARIANT Buffer,[out, retval]long *BytesWritten);
  1879. [id (DISPID_SBSSeek)] HRESULT Seek ([in]VARIANT Position,[in, defaultvalue (SSSPTRelativeToStart)]SpeechStreamSeekPositionType Origin,[out, retval]VARIANT *NewPosition);
  1880. };
  1881. [object, uuid (CFF8E175-019e-11d3-A08E-00c04f8ef9b5), dual, pointer_default (unique)]
  1882. interface ISpeechAudio : ISpeechBaseStream {
  1883. [propget, id (DISPID_SAStatus)] HRESULT Status ([out, retval]ISpeechAudioStatus **Status);
  1884. [propget, id (DISPID_SABufferInfo)] HRESULT BufferInfo ([out, retval]ISpeechAudioBufferInfo **BufferInfo);
  1885. [propget, id (DISPID_SADefaultFormat)] HRESULT DefaultFormat ([out, retval]ISpeechAudioFormat **StreamFormat);
  1886. [propget, id (DISPID_SAVolume)] HRESULT Volume ([out, retval]long *Volume);
  1887. [propput, id (DISPID_SAVolume)] HRESULT Volume ([in]long Volume);
  1888. [propget, id (DISPID_SABufferNotifySize)] HRESULT BufferNotifySize ([out, retval]long *BufferNotifySize);
  1889. [propput, id (DISPID_SABufferNotifySize)] HRESULT BufferNotifySize ([in]long BufferNotifySize);
  1890. [propget, hidden, id (DISPID_SAEventHandle)] HRESULT EventHandle ([out, retval]long *EventHandle);
  1891. [id (DISPID_SASetState), hidden] HRESULT SetState ([in] SpeechAudioState State);
  1892. };
  1893. [object, uuid (3c76af6d-1fd7-4831-81d1-3b71d5a13c44), dual, pointer_default (unique)]
  1894. interface ISpeechMMSysAudio : ISpeechAudio {
  1895. [propget, id (DISPID_SMSADeviceId)] HRESULT DeviceId ([out, retval] long *DeviceId);
  1896. [propput, id (DISPID_SMSADeviceId)] HRESULT DeviceId ([in] long DeviceId);
  1897. [propget, id (DISPID_SMSALineId)] HRESULT LineId ([out, retval] long *LineId);
  1898. [propput, id (DISPID_SMSALineId)] HRESULT LineId ([in] long LineId);
  1899. [propget, hidden, id (DISPID_SMSAMMHandle)] HRESULT MMHandle ([out, retval] long *Handle);
  1900. };
  1901. [object, uuid (AF67F125-AB39-4e93-B4A2-CC2E66E182A7), dual, pointer_default (unique)]
  1902. interface ISpeechFileStream : ISpeechBaseStream {
  1903. [id (DISPID_SFSOpen)] HRESULT Open ([in] BSTR FileName,[in, defaultvalue (SSFMOpenForRead)] SpeechStreamFileMode FileMode,[in, defaultvalue (0)]VARIANT_BOOL DoEvents);
  1904. [id (DISPID_SFSClose)] HRESULT Close (void);
  1905. };
  1906. [object, uuid (1a9e9f4f-104f-4db8-A115-EFD7FD0C97AE), dual, pointer_default (unique)]
  1907. interface ISpeechCustomStream : ISpeechBaseStream {
  1908. [propget, id (DISPID_SCSBaseStream)] HRESULT BaseStream ([out, retval] IUnknown **ppUnkStream);
  1909. [propputref, id (DISPID_SCSBaseStream)] HRESULT BaseStream ([in] IUnknown *pUnkStream);
  1910. };
  1911. [object, uuid (EEB14B68-808b-4abe-A5EA-B51DA7588008), dual, pointer_default (unique)]
  1912. interface ISpeechMemoryStream : ISpeechBaseStream {
  1913. [id (DISPID_SMSSetData)] HRESULT SetData ([in] VARIANT Data);
  1914. [id (DISPID_SMSGetData)] HRESULT GetData ([out, retval] VARIANT *pData);
  1915. };
  1916. [object, uuid (C62D9C91-7458-47f6-862d-1ef86fb0b278), dual, pointer_default (unique)]
  1917. interface ISpeechAudioStatus : IDispatch {
  1918. [propget, id (DISPID_SASFreeBufferSpace)] HRESULT FreeBufferSpace ([out, retval]long *FreeBufferSpace);
  1919. [propget, id (DISPID_SASNonBlockingIO)] HRESULT NonBlockingIO ([out, retval]long *NonBlockingIO);
  1920. [propget, id (DISPID_SASState)] HRESULT State ([out, retval] SpeechAudioState *State);
  1921. [propget, id (DISPID_SASCurrentSeekPosition)] HRESULT CurrentSeekPosition ([out, retval]VARIANT *CurrentSeekPosition);
  1922. [propget, id (DISPID_SASCurrentDevicePosition)] HRESULT CurrentDevicePosition ([out, retval]VARIANT *CurrentDevicePosition);
  1923. };
  1924. [object, uuid (11b103d8-1142-4edf-A093-82fb3915f8cc), dual, pointer_default (unique)]
  1925. interface ISpeechAudioBufferInfo : IDispatch {
  1926. [propget, id (DISPID_SABIMinNotification)] HRESULT MinNotification ([out, retval]long *MinNotification);
  1927. [propput, id (DISPID_SABIMinNotification)] HRESULT MinNotification ([in]long MinNotification);
  1928. [propget, id (DISPID_SABIBufferSize)] HRESULT BufferSize ([out, retval]long *BufferSize);
  1929. [propput, id (DISPID_SABIBufferSize)] HRESULT BufferSize ([in]long BufferSize);
  1930. [propget, id (DISPID_SABIEventBias)] HRESULT EventBias ([out, retval]long *EventBias);
  1931. [propput, id (DISPID_SABIEventBias)] HRESULT EventBias ([in]long EventBias);
  1932. }
  1933. [object, uuid (7a1ef0d5-1581-4741-88e4-209a49f11a10), dual, pointer_default (unique)]
  1934. interface ISpeechWaveFormatEx : IDispatch {
  1935. [propget, id (DISPID_SWFEFormatTag)] HRESULT FormatTag ([out, retval]short *FormatTag);
  1936. [propput, id (DISPID_SWFEFormatTag)] HRESULT FormatTag ([in]short FormatTag);
  1937. [propget, id (DISPID_SWFEChannels)] HRESULT Channels ([out, retval]short *Channels);
  1938. [propput, id (DISPID_SWFEChannels)] HRESULT Channels ([in]short Channels);
  1939. [propget, id (DISPID_SWFESamplesPerSec)] HRESULT SamplesPerSec ([out, retval]long *SamplesPerSec);
  1940. [propput, id (DISPID_SWFESamplesPerSec)] HRESULT SamplesPerSec ([in]long SamplesPerSec);
  1941. [propget, id (DISPID_SWFEAvgBytesPerSec)] HRESULT AvgBytesPerSec ([out, retval]long *AvgBytesPerSec);
  1942. [propput, id (DISPID_SWFEAvgBytesPerSec)] HRESULT AvgBytesPerSec ([in]long AvgBytesPerSec);
  1943. [propget, id (DISPID_SWFEBlockAlign)] HRESULT BlockAlign ([out, retval]short *BlockAlign);
  1944. [propput, id (DISPID_SWFEBlockAlign)] HRESULT BlockAlign ([in]short BlockAlign);
  1945. [propget, id (DISPID_SWFEBitsPerSample)] HRESULT BitsPerSample ([out, retval]short *BitsPerSample);
  1946. [propput, id (DISPID_SWFEBitsPerSample)] HRESULT BitsPerSample ([in]short BitsPerSample);
  1947. [propget, id (DISPID_SWFEExtraData)] HRESULT ExtraData ([out, retval]VARIANT *ExtraData);
  1948. [propput, id (DISPID_SWFEExtraData)] HRESULT ExtraData ([in]VARIANT ExtraData);
  1949. }
  1950. [object, uuid (269316d8-57bd-11d2-9eee-00c04f797396), dual, pointer_default (unique)]
  1951. interface ISpeechVoice : IDispatch {
  1952. [propget, id (DISPID_SVStatus)] HRESULT Status ([out, retval] ISpeechVoiceStatus **Status);
  1953. [propget, id (DISPID_SVVoice)] HRESULT Voice ([out, retval] ISpeechObjectToken **Voice);
  1954. [propputref, id (DISPID_SVVoice)] HRESULT Voice ([in]ISpeechObjectToken *Voice);
  1955. [propget, id (DISPID_SVAudioOutput)] HRESULT AudioOutput ([out, retval]ISpeechObjectToken **AudioOutput);
  1956. [propputref, id (DISPID_SVAudioOutput)] HRESULT AudioOutput ([in]ISpeechObjectToken *AudioOutput);
  1957. [propget, id (DISPID_SVAudioOutputStream)] HRESULT AudioOutputStream ([out, retval]ISpeechBaseStream **AudioOutputStream);
  1958. [propputref, id (DISPID_SVAudioOutputStream)] HRESULT AudioOutputStream ([in]ISpeechBaseStream *AudioOutputStream);
  1959. [propget, id (DISPID_SVRate)] HRESULT Rate ([out, retval] long *Rate);
  1960. [propput, id (DISPID_SVRate)] HRESULT Rate ([in] long Rate);
  1961. [propget, id (DISPID_SVVolume)] HRESULT Volume ([out, retval] long *Volume);
  1962. [propput, id (DISPID_SVVolume)] HRESULT Volume ([in] long Volume);
  1963. [propput, hidden, id (DISPID_SVAllowAudioOuputFormatChangesOnNextSet)] HRESULT AllowAudioOutputFormatChangesOnNextSet ([in] VARIANT_BOOL Allow);
  1964. [propget, hidden, id (DISPID_SVAllowAudioOuputFormatChangesOnNextSet)] HRESULT AllowAudioOutputFormatChangesOnNextSet ([out, retval] VARIANT_BOOL *Allow);
  1965. [propget, id (DISPID_SVEventInterests)] HRESULT EventInterests ([out, retval] SpeechVoiceEvents *EventInterestFlags);
  1966. [propput, id (DISPID_SVEventInterests)] HRESULT EventInterests ([in] SpeechVoiceEvents EventInterestFlags);
  1967. [propput, id (DISPID_SVPriority)] HRESULT Priority ([in] SpeechVoicePriority Priority);
  1968. [propget, id (DISPID_SVPriority)] HRESULT Priority ([out, retval] SpeechVoicePriority *Priority);
  1969. [propput, id (DISPID_SVAlertBoundary)] HRESULT AlertBoundary ([in] SpeechVoiceEvents Boundary);
  1970. [propget, id (DISPID_SVAlertBoundary)] HRESULT AlertBoundary ([out, retval] SpeechVoiceEvents *Boundary);
  1971. [propput, id (DISPID_SVSyncronousSpeakTimeout)] HRESULT SynchronousSpeakTimeout ([in] long msTimeout);
  1972. [propget, id (DISPID_SVSyncronousSpeakTimeout)] HRESULT SynchronousSpeakTimeout ([out, retval] long *msTimeout);
  1973. [id (DISPID_SVSpeak)] HRESULT Speak ([in] BSTR Text,[in, defaultvalue (SPF_DEFAULT)] SpeechVoiceSpeakFlags Flags,[out, retval]long *StreamNumber);
  1974. [id (DISPID_SVSpeakStream)] HRESULT SpeakStream ([in] ISpeechBaseStream *Stream,[in, defaultvalue (SPF_DEFAULT)] SpeechVoiceSpeakFlags Flags,[out, retval]long *StreamNumber);
  1975. [id (DISPID_SVPause)] HRESULT Pause (void);
  1976. [id (DISPID_SVResume)] HRESULT Resume (void);
  1977. [id (DISPID_SVSkip)] HRESULT Skip ([in]const BSTR Type,[in]long NumItems,[out, retval]long *NumSkipped);
  1978. [id (DISPID_SVGetVoices)] HRESULT GetVoices ([in, defaultvalue (L"")]BSTR RequiredAttributes,[in, defaultvalue (L"")]BSTR OptionalAttributes,[out, retval]ISpeechObjectTokens **ObjectTokens);
  1979. [id (DISPID_SVGetAudioOutputs)] HRESULT GetAudioOutputs ([in, defaultvalue (L"")]BSTR RequiredAttributes,[in, defaultvalue (L"")]BSTR OptionalAttributes,[out, retval]ISpeechObjectTokens **ObjectTokens);
  1980. [id (DISPID_SVWaitUntilDone)] HRESULT WaitUntilDone ([in]long msTimeout,[out, retval]VARIANT_BOOL *Done);
  1981. [hidden, id (DISPID_SVSpeakCompleteEvent)] HRESULT SpeakCompleteEvent ([out, retval]long *Handle);
  1982. [id (DISPID_SVIsUISupported)] HRESULT IsUISupported ([in]const BSTR TypeOfUI,[in, defaultvalue (NULL)]const VARIANT *ExtraData,[out, retval] VARIANT_BOOL *Supported);
  1983. [id (DISPID_SVDisplayUI)] HRESULT DisplayUI ([in]long hWndParent,[in]BSTR Title,[in]const BSTR TypeOfUI,[in, defaultvalue (NULL)]const VARIANT *ExtraData);
  1984. };
  1985. [object, uuid (8be47b07-57f6-11d2-9eee-00c04f797396), dual, pointer_default (unique)]
  1986. interface ISpeechVoiceStatus : IDispatch {
  1987. [propget, id (DISPID_SVSCurrentStreamNumber)] HRESULT CurrentStreamNumber ([out, retval] long *StreamNumber);
  1988. [propget, id (DISPID_SVSLastStreamNumberQueued)] HRESULT LastStreamNumberQueued ([out, retval] long *StreamNumber);
  1989. [propget, id (DISPID_SVSLastResult)] HRESULT LastHResult ([out, retval]long *HResult);
  1990. [propget, id (DISPID_SVSRunningState)] HRESULT RunningState ([out, retval] SpeechRunState *State);
  1991. [propget, id (DISPID_SVSInputWordPosition)] HRESULT InputWordPosition ([out, retval] long *Position);
  1992. [propget, id (DISPID_SVSInputWordLength)] HRESULT InputWordLength ([out, retval] long *Length);
  1993. [propget, id (DISPID_SVSInputSentencePosition)] HRESULT InputSentencePosition ([out, retval] long *Position);
  1994. [propget, id (DISPID_SVSInputSentenceLength)] HRESULT InputSentenceLength ([out, retval] long *Length);
  1995. [propget, id (DISPID_SVSLastBookmark)] HRESULT LastBookmark ([out, retval] BSTR *Bookmark);
  1996. [propget, id (DISPID_SVSLastBookmarkId), hidden] HRESULT LastBookmarkId ([out, retval] long *BookmarkId);
  1997. [propget, id (DISPID_SVSPhonemeId)] HRESULT PhonemeId ([out, retval] short *PhoneId);
  1998. [propget, id (DISPID_SVSVisemeId)] HRESULT VisemeId ([out, retval] short *VisemeId);
  1999. };
  2000. typedef enum SpeechVisemeType {
  2001. SVP_0 = 0,
  2002. SVP_1,
  2003. SVP_2,
  2004. SVP_3,
  2005. SVP_4,
  2006. SVP_5,
  2007. SVP_6,
  2008. SVP_7,
  2009. SVP_8,
  2010. SVP_9,
  2011. SVP_10,
  2012. SVP_11,
  2013. SVP_12,
  2014. SVP_13,
  2015. SVP_14,
  2016. SVP_15,
  2017. SVP_16,
  2018. SVP_17,
  2019. SVP_18,
  2020. SVP_19,
  2021. SVP_20,
  2022. SVP_21,
  2023. } SpeechVisemeType;
  2024. typedef enum SpeechVisemeFeature {
  2025. SVF_None = 0,
  2026. SVF_Stressed = SPVFEATURE_STRESSED,
  2027. SVF_Emphasis = SPVFEATURE_EMPHASIS
  2028. } SpeechVisemeFeature;
  2029. typedef [hidden] enum DISPID_SpeechVoiceEvent {
  2030. DISPID_SVEStreamStart = 1,
  2031. DISPID_SVEStreamEnd,
  2032. DISPID_SVEVoiceChange,
  2033. DISPID_SVEBookmark,
  2034. DISPID_SVEWord,
  2035. DISPID_SVEPhoneme,
  2036. DISPID_SVESentenceBoundary,
  2037. DISPID_SVEViseme,
  2038. DISPID_SVEAudioLevel,
  2039. DISPID_SVEEnginePrivate
  2040. } DISPID_SpeechVoiceEvent;
  2041. typedef [hidden] enum DISPID_SpeechRecognizer {
  2042. DISPID_SRRecognizer = 1,
  2043. DISPID_SRAllowAudioInputFormatChangesOnNextSet,
  2044. DISPID_SRAudioInput,
  2045. DISPID_SRAudioInputStream,
  2046. DISPID_SRIsShared,
  2047. DISPID_SRState,
  2048. DISPID_SRStatus,
  2049. DISPID_SRProfile,
  2050. DISPID_SREmulateRecognition,
  2051. DISPID_SRCreateRecoContext,
  2052. DISPID_SRGetFormat,
  2053. DISPID_SRSetPropertyNumber,
  2054. DISPID_SRGetPropertyNumber,
  2055. DISPID_SRSetPropertyString,
  2056. DISPID_SRGetPropertyString,
  2057. DISPID_SRIsUISupported,
  2058. DISPID_SRDisplayUI,
  2059. DISPID_SRGetRecognizers,
  2060. DISPID_SVGetAudioInputs,
  2061. DISPID_SVGetProfiles
  2062. } DISPID_SpeechRecognizer;
  2063. typedef enum SpeechRecognizerState {
  2064. SRSInactive = SPRST_INACTIVE,
  2065. SRSActive = SPRST_ACTIVE,
  2066. SRSActiveAlways = SPRST_ACTIVE_ALWAYS,
  2067. SRSInactiveWithPurge = SPRST_INACTIVE_WITH_PURGE,
  2068. } SpeechRecognizerState;
  2069. typedef enum SpeechDisplayAttributes {
  2070. SDA_No_Trailing_Space = 0,
  2071. SDA_One_Trailing_Space = SPAF_ONE_TRAILING_SPACE,
  2072. SDA_Two_Trailing_Spaces = SPAF_TWO_TRAILING_SPACES,
  2073. SDA_Consume_Leading_Spaces = SPAF_CONSUME_LEADING_SPACES
  2074. } SpeechDisplayAttributes;
  2075. typedef enum SpeechFormatType {
  2076. SFTInput = SPWF_INPUT,
  2077. SFTSREngine = SPWF_SRENGINE
  2078. } SpeechFormatType;
  2079. typedef [hidden] enum DISPID_SpeechRecognizerStatus {
  2080. DISPID_SRSAudioStatus = 1,
  2081. DISPID_SRSCurrentStreamPosition,
  2082. DISPID_SRSCurrentStreamNumber,
  2083. DISPID_SRSNumberOfActiveRules,
  2084. DISPID_SRSClsidEngine,
  2085. DISPID_SRSSupportedLanguages
  2086. } DISPID_SpeechRecognizerStatus;
  2087. typedef [hidden] enum DISPID_SpeechRecoContext {
  2088. DISPID_SRCRecognizer = 1,
  2089. DISPID_SRCAudioInInterferenceStatus,
  2090. DISPID_SRCRequestedUIType,
  2091. DISPID_SRCVoice,
  2092. DISPID_SRAllowVoiceFormatMatchingOnNextSet,
  2093. DISPID_SRCVoicePurgeEvent,
  2094. DISPID_SRCEventInterests,
  2095. DISPID_SRCCmdMaxAlternates,
  2096. DISPID_SRCState,
  2097. DISPID_SRCRetainedAudio,
  2098. DISPID_SRCRetainedAudioFormat,
  2099. DISPID_SRCPause,
  2100. DISPID_SRCResume,
  2101. DISPID_SRCCreateGrammar,
  2102. DISPID_SRCCreateResultFromMemory,
  2103. DISPID_SRCBookmark,
  2104. DISPID_SRCSetAdaptationData
  2105. } DISPID_SpeechRecoContext;
  2106. typedef enum SpeechRetainedAudioOptions {
  2107. SRAONone = SPAO_NONE,
  2108. SRAORetainAudio = SPAO_RETAIN_AUDIO
  2109. } SpeechRetainedAudioOptions;
  2110. typedef enum SpeechBookmarkOptions {
  2111. SBONone = SPBO_NONE,
  2112. SBOPause = SPBO_PAUSE
  2113. } SpeechBookmarkOptions;
  2114. typedef enum SpeechInterference {
  2115. SINone = SPINTERFERENCE_NONE,
  2116. SINoise = SPINTERFERENCE_NOISE,
  2117. SINoSignal = SPINTERFERENCE_NOSIGNAL,
  2118. SITooLoud = SPINTERFERENCE_TOOLOUD,
  2119. SITooQuiet = SPINTERFERENCE_TOOQUIET,
  2120. SITooFast = SPINTERFERENCE_TOOFAST,
  2121. SITooSlow = SPINTERFERENCE_TOOSLOW
  2122. } SpeechInterference;
  2123. typedef enum SpeechRecoEvents {
  2124. SREStreamEnd = 0x1,
  2125. SRESoundStart = 0x2,
  2126. SRESoundEnd = 0x4,
  2127. SREPhraseStart = 0x8,
  2128. SRERecognition = 0x10,
  2129. SREHypothesis = 0x20,
  2130. SREBookmark = 0x40,
  2131. SREPropertyNumChange = 0x80,
  2132. SREPropertyStringChange = 0x100,
  2133. SREFalseRecognition = 0x200,
  2134. SREInterference = 0x400,
  2135. SRERequestUI = 0x800,
  2136. SREStateChange = 0x1000,
  2137. SREAdaptation = 0x2000,
  2138. SREStreamStart = 0x4000,
  2139. SRERecoOtherContext = 0x8000,
  2140. SREAudioLevel = 0x10000,
  2141. SREPrivate = 0x40000,
  2142. SREAllEvents = 0x5ffff
  2143. } SpeechRecoEvents;
  2144. typedef enum SpeechRecoContextState {
  2145. SRCS_Disabled = SPCS_DISABLED,
  2146. SRCS_Enabled = SPCS_ENABLED
  2147. } SpeechRecoContextState;
  2148. typedef [hidden] enum DISPIDSPRG {
  2149. DISPID_SRGId = 1,
  2150. DISPID_SRGRecoContext,
  2151. DISPID_SRGState,
  2152. DISPID_SRGRules,
  2153. DISPID_SRGReset,
  2154. DISPID_SRGCommit,
  2155. DISPID_SRGCmdLoadFromFile,
  2156. DISPID_SRGCmdLoadFromObject,
  2157. DISPID_SRGCmdLoadFromResource,
  2158. DISPID_SRGCmdLoadFromMemory,
  2159. DISPID_SRGCmdLoadFromProprietaryGrammar,
  2160. DISPID_SRGCmdSetRuleState,
  2161. DISPID_SRGCmdSetRuleIdState,
  2162. DISPID_SRGDictationLoad,
  2163. DISPID_SRGDictationUnload,
  2164. DISPID_SRGDictationSetState,
  2165. DISPID_SRGSetWordSequenceData,
  2166. DISPID_SRGSetTextSelection,
  2167. DISPID_SRGIsPronounceable
  2168. } DISPIDSPRG;
  2169. typedef enum SpeechLoadOption {
  2170. SLOStatic = SPLO_STATIC,
  2171. SLODynamic = SPLO_DYNAMIC
  2172. } SpeechLoadOption;
  2173. typedef enum SpeechWordPronounceable {
  2174. SWPUnknownWordUnpronounceable = SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE,
  2175. SWPUnknownWordPronounceable = SPWP_UNKNOWN_WORD_PRONOUNCEABLE,
  2176. SWPKnownWordPronounceable = SPWP_KNOWN_WORD_PRONOUNCEABLE
  2177. } SpeechWordPronounceable;
  2178. typedef enum SpeechGrammarState {
  2179. SGSEnabled = SPGS_ENABLED,
  2180. SGSDisabled = SPGS_DISABLED,
  2181. SGSExclusive = SPGS_EXCLUSIVE,
  2182. } SpeechGrammarState;
  2183. typedef enum SpeechRuleState {
  2184. SGDSInactive = SPRS_INACTIVE,
  2185. SGDSActive = SPRS_ACTIVE,
  2186. SGDSActiveWithAutoPause = SPRS_ACTIVE_WITH_AUTO_PAUSE,
  2187. #if _SAPI_BLD_ >= 0x053
  2188. SGDSActiveUserDelimited = SPRS_ACTIVE_USER_DELIMITED
  2189. #endif
  2190. } SpeechRuleState;
  2191. typedef enum SpeechRuleAttributes {
  2192. SRATopLevel = SPRAF_TopLevel,
  2193. SRADefaultToActive = SPRAF_Active,
  2194. SRAExport = SPRAF_Export,
  2195. SRAImport = SPRAF_Import,
  2196. SRAInterpreter = SPRAF_Interpreter,
  2197. SRADynamic = SPRAF_Dynamic,
  2198. #if _SAPI_BLD_ >= 0x053
  2199. SRARoot = SPRAF_Root
  2200. #endif
  2201. } SpeechRuleAttributes;
  2202. typedef enum SpeechGrammarWordType {
  2203. SGDisplay = SPWT_DISPLAY,
  2204. SGLexical = SPWT_LEXICAL,
  2205. SGPronounciation = SPWT_PRONUNCIATION,
  2206. #if _SAPI_BLD_ >= 0x053
  2207. SGLexicalNoSpecialChars = SPWT_LEXICAL_NO_SPECIAL_CHARS
  2208. #endif
  2209. } SpeechGrammarWordType;
  2210. typedef [hidden] enum DISPID_SpeechRecoContextEvents {
  2211. DISPID_SRCEStartStream = 1,
  2212. DISPID_SRCEEndStream,
  2213. DISPID_SRCEBookmark,
  2214. DISPID_SRCESoundStart,
  2215. DISPID_SRCESoundEnd,
  2216. DISPID_SRCEPhraseStart,
  2217. DISPID_SRCERecognition,
  2218. DISPID_SRCEHypothesis,
  2219. DISPID_SRCEPropertyNumberChange,
  2220. DISPID_SRCEPropertyStringChange,
  2221. DISPID_SRCEFalseRecognition,
  2222. DISPID_SRCEInterference,
  2223. DISPID_SRCERequestUI,
  2224. DISPID_SRCERecognizerStateChange,
  2225. DISPID_SRCEAdaptation,
  2226. DISPID_SRCERecognitionForOtherContext,
  2227. DISPID_SRCEAudioLevel,
  2228. DISPID_SRCEEnginePrivate
  2229. } DISPID_SpeechRecoContextEvents;
  2230. typedef enum SpeechRecognitionType {
  2231. SRTStandard = 0,
  2232. SRTAutopause = SPREF_AutoPause,
  2233. SRTEmulated = SPREF_Emulated
  2234. #if _SAPI_BLD_ >= 0x053
  2235. ,
  2236. SRTSMLTimeout = SPREF_SMLTimeout,
  2237. SRTExtendableParse = SPREF_ExtendableParse,
  2238. SRTReSent = SPREF_ReSent
  2239. #endif
  2240. } SpeechRecognitionType;
  2241. typedef [hidden] enum DISPID_SpeechGrammarRule {
  2242. DISPID_SGRAttributes = 1,
  2243. DISPID_SGRInitialState,
  2244. DISPID_SGRName,
  2245. DISPID_SGRId,
  2246. DISPID_SGRClear,
  2247. DISPID_SGRAddResource,
  2248. DISPID_SGRAddState
  2249. } DISPID_SpeechGrammarRule;
  2250. typedef [hidden] enum DISPID_SpeechGrammarRules {
  2251. DISPID_SGRsCount = 1,
  2252. DISPID_SGRsDynamic,
  2253. DISPID_SGRsAdd,
  2254. DISPID_SGRsCommit,
  2255. DISPID_SGRsCommitAndSave,
  2256. DISPID_SGRsFindRule,
  2257. DISPID_SGRsItem = DISPID_VALUE,
  2258. DISPID_SGRs_NewEnum = DISPID_NEWENUM
  2259. } DISPID_SpeechGrammarRules;
  2260. typedef [hidden] enum DISPID_SpeechGrammarRuleState {
  2261. DISPID_SGRSRule = 1,
  2262. DISPID_SGRSTransitions,
  2263. DISPID_SGRSAddWordTransition,
  2264. DISPID_SGRSAddRuleTransition,
  2265. DISPID_SGRSAddSpecialTransition
  2266. } DISPID_SpeechGrammarRuleState;
  2267. typedef enum SpeechSpecialTransitionType {
  2268. SSTTWildcard = 1,
  2269. SSTTDictation,
  2270. SSTTTextBuffer
  2271. } SpeechSpecialTransitionType;
  2272. typedef [hidden] enum DISPID_SpeechGrammarRuleStateTransitions {
  2273. DISPID_SGRSTsCount = 1,
  2274. DISPID_SGRSTsItem = DISPID_VALUE,
  2275. DISPID_SGRSTs_NewEnum = DISPID_NEWENUM
  2276. } DISPID_SpeechGrammarRuleStateTransitions;
  2277. typedef [hidden] enum DISPID_SpeechGrammarRuleStateTransition {
  2278. DISPID_SGRSTType = 1,
  2279. DISPID_SGRSTText,
  2280. DISPID_SGRSTRule,
  2281. DISPID_SGRSTWeight,
  2282. DISPID_SGRSTPropertyName,
  2283. DISPID_SGRSTPropertyId,
  2284. DISPID_SGRSTPropertyValue,
  2285. DISPID_SGRSTNextState
  2286. } DISPID_SpeechGrammarRuleStateTransition;
  2287. typedef enum SpeechGrammarRuleStateTransitionType {
  2288. SGRSTTEpsilon = 0,
  2289. SGRSTTWord,
  2290. SGRSTTRule,
  2291. SGRSTTDictation,
  2292. SGRSTTWildcard,
  2293. SGRSTTTextBuffer
  2294. } SpeechGrammarRuleStateTransitionType;
  2295. typedef [hidden] enum DISPIDSPTSI {
  2296. DISPIDSPTSI_ActiveOffset = 1,
  2297. DISPIDSPTSI_ActiveLength,
  2298. DISPIDSPTSI_SelectionOffset,
  2299. DISPIDSPTSI_SelectionLength
  2300. } DISPIDSPTSI;
  2301. typedef [hidden] enum DISPID_SpeechRecoResult {
  2302. DISPID_SRRRecoContext = 1,
  2303. DISPID_SRRTimes,
  2304. DISPID_SRRAudioFormat,
  2305. DISPID_SRRPhraseInfo,
  2306. DISPID_SRRAlternates,
  2307. DISPID_SRRAudio,
  2308. DISPID_SRRSpeakAudio,
  2309. DISPID_SRRSaveToMemory,
  2310. DISPID_SRRDiscardResultInfo
  2311. } DISPID_SpeechRecoResult;
  2312. typedef enum SpeechDiscardType {
  2313. SDTProperty = SPDF_PROPERTY,
  2314. SDTReplacement = SPDF_REPLACEMENT,
  2315. SDTRule = SPDF_RULE,
  2316. SDTDisplayText = SPDF_DISPLAYTEXT,
  2317. SDTLexicalForm = SPDF_LEXICALFORM,
  2318. SDTPronunciation = SPDF_PRONUNCIATION,
  2319. SDTAudio = SPDF_AUDIO,
  2320. SDTAlternates = SPDF_ALTERNATES,
  2321. SDTAll = SPDF_ALL
  2322. } SpeechDiscardType;
  2323. #if _SAPI_BLD_ >= 0x53
  2324. typedef enum SpeechEmulationCompareFlags {
  2325. SECFIgnoreCase = 0x1,
  2326. SECFIgnoreKanaType = 0x10000,
  2327. SECFIgnoreWidth = 0x20000,
  2328. SECFNoSpecialChars = 0x20000000,
  2329. SECFEmulateResult = 0x40000000,
  2330. SECFDefault = SECFIgnoreCase | SECFIgnoreKanaType | SECFIgnoreWidth
  2331. } SpeechEmulationCompareFlags;
  2332. typedef [hidden] enum DISPID_SpeechXMLRecoResult {
  2333. DISPID_SRRGetXMLResult = DISPID_SRRDiscardResultInfo + 1,
  2334. DISPID_SRRGetXMLErrorInfo = DISPID_SRRGetXMLResult + 1
  2335. } DISPID_SpeechXMLRecoResult;
  2336. typedef [hidden] enum DISPID_SpeechRecoResult2 {
  2337. DISPID_SRRSetTextFeedback = DISPID_SRRGetXMLErrorInfo + 1
  2338. } DISPID_SpeechRecoResult2;
  2339. #endif
  2340. typedef [hidden] enum DISPID_SpeechPhraseBuilder {
  2341. DISPID_SPPBRestorePhraseFromMemory = 1
  2342. } DISPID_SpeechPhraseBuilder;
  2343. typedef [hidden] enum DISPID_SpeechRecoResultTimes {
  2344. DISPID_SRRTStreamTime = 1,
  2345. DISPID_SRRTLength,
  2346. DISPID_SRRTTickCount,
  2347. DISPID_SRRTOffsetFromStart
  2348. } DISPID_SpeechRecoResultTimes;
  2349. typedef [hidden] enum DISPID_SpeechPhraseAlternate {
  2350. DISPID_SPARecoResult = 1,
  2351. DISPID_SPAStartElementInResult,
  2352. DISPID_SPANumberOfElementsInResult,
  2353. DISPID_SPAPhraseInfo,
  2354. DISPID_SPACommit
  2355. } DISPID_SpeechPhraseAlternate;
  2356. typedef [hidden] enum DISPID_SpeechPhraseAlternates {
  2357. DISPID_SPAsCount = 1,
  2358. DISPID_SPAsItem = DISPID_VALUE,
  2359. DISPID_SPAs_NewEnum = DISPID_NEWENUM
  2360. } DISPID_SpeechPhraseAlternates;
  2361. typedef [hidden] enum DISPID_SpeechPhraseInfo {
  2362. DISPID_SPILanguageId = 1,
  2363. DISPID_SPIGrammarId,
  2364. DISPID_SPIStartTime,
  2365. DISPID_SPIAudioStreamPosition,
  2366. DISPID_SPIAudioSizeBytes,
  2367. DISPID_SPIRetainedSizeBytes,
  2368. DISPID_SPIAudioSizeTime,
  2369. DISPID_SPIRule,
  2370. DISPID_SPIProperties,
  2371. DISPID_SPIElements,
  2372. DISPID_SPIReplacements,
  2373. DISPID_SPIEngineId,
  2374. DISPID_SPIEnginePrivateData,
  2375. DISPID_SPISaveToMemory,
  2376. DISPID_SPIGetText,
  2377. DISPID_SPIGetDisplayAttributes
  2378. } DISPID_SpeechPhraseInfo;
  2379. typedef [hidden] enum DISPID_SpeechPhraseElement {
  2380. DISPID_SPEAudioTimeOffset = 1,
  2381. DISPID_SPEAudioSizeTime,
  2382. DISPID_SPEAudioStreamOffset,
  2383. DISPID_SPEAudioSizeBytes,
  2384. DISPID_SPERetainedStreamOffset,
  2385. DISPID_SPERetainedSizeBytes,
  2386. DISPID_SPEDisplayText,
  2387. DISPID_SPELexicalForm,
  2388. DISPID_SPEPronunciation,
  2389. DISPID_SPEDisplayAttributes,
  2390. DISPID_SPERequiredConfidence,
  2391. DISPID_SPEActualConfidence,
  2392. DISPID_SPEEngineConfidence
  2393. } DISPID_SpeechPhraseElement;
  2394. typedef enum SpeechEngineConfidence {
  2395. SECLowConfidence = -1,
  2396. SECNormalConfidence = 0,
  2397. SECHighConfidence = 1
  2398. } SpeechEngineConfidence;
  2399. typedef [hidden] enum DISPID_SpeechPhraseElements {
  2400. DISPID_SPEsCount = 1,
  2401. DISPID_SPEsItem = DISPID_VALUE,
  2402. DISPID_SPEs_NewEnum = DISPID_NEWENUM
  2403. } DISPID_SpeechPhraseElements;
  2404. typedef [hidden] enum DISPID_SpeechPhraseReplacement {
  2405. DISPID_SPRDisplayAttributes = 1,
  2406. DISPID_SPRText,
  2407. DISPID_SPRFirstElement,
  2408. DISPID_SPRNumberOfElements
  2409. } DISPID_SpeechPhraseReplacement;
  2410. typedef [hidden] enum DISPID_SpeechPhraseReplacements {
  2411. DISPID_SPRsCount = 1,
  2412. DISPID_SPRsItem = DISPID_VALUE,
  2413. DISPID_SPRs_NewEnum = DISPID_NEWENUM
  2414. } DISPID_SpeechPhraseReplacements;
  2415. typedef [hidden] enum DISPID_SpeechPhraseProperty {
  2416. DISPID_SPPName = 1,
  2417. DISPID_SPPId,
  2418. DISPID_SPPValue,
  2419. DISPID_SPPFirstElement,
  2420. DISPID_SPPNumberOfElements,
  2421. DISPID_SPPEngineConfidence,
  2422. DISPID_SPPConfidence,
  2423. DISPID_SPPParent,
  2424. DISPID_SPPChildren
  2425. } DISPID_SpeechPhraseProperty;
  2426. typedef [hidden] enum DISPID_SpeechPhraseProperties {
  2427. DISPID_SPPsCount = 1,
  2428. DISPID_SPPsItem = DISPID_VALUE,
  2429. DISPID_SPPs_NewEnum = DISPID_NEWENUM
  2430. } DISPID_SpeechPhraseProperties;
  2431. typedef [hidden] enum DISPID_SpeechPhraseRule {
  2432. DISPID_SPRuleName = 1,
  2433. DISPID_SPRuleId,
  2434. DISPID_SPRuleFirstElement,
  2435. DISPID_SPRuleNumberOfElements,
  2436. DISPID_SPRuleParent,
  2437. DISPID_SPRuleChildren,
  2438. DISPID_SPRuleConfidence,
  2439. DISPID_SPRuleEngineConfidence
  2440. } DISPID_SpeechPhraseRule;
  2441. typedef [hidden] enum DISPID_SpeechPhraseRules {
  2442. DISPID_SPRulesCount = 1,
  2443. DISPID_SPRulesItem = DISPID_VALUE,
  2444. DISPID_SPRules_NewEnum = DISPID_NEWENUM
  2445. } DISPID_SpeechPhraseRules;
  2446. typedef [hidden] enum DISPID_SpeechLexicon {
  2447. DISPID_SLGenerationId = 1,
  2448. DISPID_SLGetWords,
  2449. DISPID_SLAddPronunciation,
  2450. DISPID_SLAddPronunciationByPhoneIds,
  2451. DISPID_SLRemovePronunciation,
  2452. DISPID_SLRemovePronunciationByPhoneIds,
  2453. DISPID_SLGetPronunciations,
  2454. DISPID_SLGetGenerationChange
  2455. } DISPID_SpeechLexicon;
  2456. typedef enum SpeechLexiconType {
  2457. SLTUser = eLEXTYPE_USER,
  2458. SLTApp = eLEXTYPE_APP
  2459. } SpeechLexiconType;
  2460. typedef enum SpeechPartOfSpeech {
  2461. SPSNotOverriden = SPPS_NotOverriden,
  2462. SPSUnknown = SPPS_Unknown,
  2463. SPSNoun = SPPS_Noun,
  2464. SPSVerb = SPPS_Verb,
  2465. SPSModifier = SPPS_Modifier,
  2466. SPSFunction = SPPS_Function,
  2467. SPSInterjection = SPPS_Interjection,
  2468. #if _SAPI_BLD_ >= 0x53
  2469. SPSLMA = SPPS_LMA,
  2470. SPSSuppressWord = SPPS_SuppressWord
  2471. #endif
  2472. } SpeechPartOfSpeech;
  2473. typedef [hidden] enum DISPID_SpeechLexiconWords {
  2474. DISPID_SLWsCount = 1,
  2475. DISPID_SLWsItem = DISPID_VALUE,
  2476. DISPID_SLWs_NewEnum = DISPID_NEWENUM
  2477. } DISPID_SpeechLexiconWords;
  2478. typedef enum SpeechWordType {
  2479. SWTAdded = eWORDTYPE_ADDED,
  2480. SWTDeleted = eWORDTYPE_DELETED
  2481. } SpeechWordType;
  2482. typedef [hidden] enum DISPID_SpeechLexiconWord {
  2483. DISPID_SLWLangId = 1,
  2484. DISPID_SLWType,
  2485. DISPID_SLWWord,
  2486. DISPID_SLWPronunciations
  2487. } DISPID_SpeechLexiconWord;
  2488. typedef [hidden] enum DISPID_SpeechLexiconProns {
  2489. DISPID_SLPsCount = 1,
  2490. DISPID_SLPsItem = DISPID_VALUE,
  2491. DISPID_SLPs_NewEnum = DISPID_NEWENUM
  2492. } DISPID_SpeechLexiconProns;
  2493. typedef [hidden] enum DISPID_SpeechLexiconPronunciation {
  2494. DISPID_SLPType = 1,
  2495. DISPID_SLPLangId,
  2496. DISPID_SLPPartOfSpeech,
  2497. DISPID_SLPPhoneIds,
  2498. DISPID_SLPSymbolic,
  2499. } DISPID_SpeechLexiconPronunciation;
  2500. typedef [hidden] enum DISPID_SpeechPhoneConverter {
  2501. DISPID_SPCLangId = 1,
  2502. DISPID_SPCPhoneToId,
  2503. DISPID_SPCIdToPhone
  2504. } DISPID_SpeechPhoneConverter;
  2505. [uuid (A372ACD1-3bef-4bbd-8ffb-CB3E2B416AF8)]
  2506. dispinterface _ISpeechVoiceEvents {
  2507. properties:
  2508. methods:
  2509. [id (DISPID_SVEStreamStart)] void StartStream ([in]long StreamNumber,[in]VARIANT StreamPosition);
  2510. [id (DISPID_SVEStreamEnd)] void EndStream ([in]long StreamNumber,[in]VARIANT StreamPosition);
  2511. [id (DISPID_SVEVoiceChange)] void VoiceChange ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]ISpeechObjectToken *VoiceObjectToken);
  2512. [id (DISPID_SVEBookmark)] void Bookmark ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]BSTR Bookmark,[in]long BookmarkId);
  2513. [id (DISPID_SVEWord)] void Word ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]long CharacterPosition,[in]long Length);
  2514. [id (DISPID_SVESentenceBoundary)] void Sentence ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]long CharacterPosition,[in]long Length);
  2515. [id (DISPID_SVEPhoneme)] void Phoneme ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]long Duration,[in]short NextPhoneId,[in]SpeechVisemeFeature Feature,[in]short CurrentPhoneId);
  2516. [id (DISPID_SVEViseme)] void Viseme ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]long Duration,[in]SpeechVisemeType NextVisemeId,[in]SpeechVisemeFeature Feature,[in]SpeechVisemeType CurrentVisemeId);
  2517. [id (DISPID_SVEAudioLevel)] void AudioLevel ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]long AudioLevel);
  2518. [id (DISPID_SVEEnginePrivate)] void EnginePrivate ([in]long StreamNumber,[in]long StreamPosition,[in]VARIANT EngineData);
  2519. };
  2520. [object, uuid (2d5f1c0c-BD75-4b08-9478-3b11fea2586c), dual, pointer_default (unique)]
  2521. interface ISpeechRecognizer : IDispatch {
  2522. [propputref, id (DISPID_SRRecognizer)] HRESULT Recognizer ([in]ISpeechObjectToken *Recognizer);
  2523. [propget, id (DISPID_SRRecognizer)] HRESULT Recognizer ([out, retval]ISpeechObjectToken **Recognizer);
  2524. [propput, hidden, id (DISPID_SRAllowAudioInputFormatChangesOnNextSet)] HRESULT AllowAudioInputFormatChangesOnNextSet ([in] VARIANT_BOOL Allow);
  2525. [propget, hidden, id (DISPID_SRAllowAudioInputFormatChangesOnNextSet)] HRESULT AllowAudioInputFormatChangesOnNextSet ([out, retval] VARIANT_BOOL *Allow);
  2526. [propputref, id (DISPID_SRAudioInput)] HRESULT AudioInput ([in, defaultvalue (0)]ISpeechObjectToken *AudioInput);
  2527. [propget, id (DISPID_SRAudioInput)] HRESULT AudioInput ([out, retval]ISpeechObjectToken **AudioInput);
  2528. [propputref, id (DISPID_SRAudioInputStream)] HRESULT AudioInputStream ([in, defaultvalue (0)]ISpeechBaseStream *AudioInputStream);
  2529. [propget, id (DISPID_SRAudioInputStream)] HRESULT AudioInputStream ([out, retval]ISpeechBaseStream **AudioInputStream);
  2530. [propget, id (DISPID_SRIsShared)] HRESULT IsShared ([out, retval]VARIANT_BOOL *Shared);
  2531. [propput, id (DISPID_SRState)] HRESULT State ([in] SpeechRecognizerState State);
  2532. [propget, id (DISPID_SRState)] HRESULT State ([out, retval] SpeechRecognizerState *State);
  2533. [propget, id (DISPID_SRStatus)] HRESULT Status ([out, retval]ISpeechRecognizerStatus **Status);
  2534. [propputref, id (DISPID_SRProfile)] HRESULT Profile ([in, defaultvalue (0)]ISpeechObjectToken *Profile);
  2535. [propget, id (DISPID_SRProfile)] HRESULT Profile ([out, retval]ISpeechObjectToken **Profile);
  2536. [id (DISPID_SREmulateRecognition)] HRESULT EmulateRecognition ([in]VARIANT TextElements,[in, defaultvalue (NULL)]VARIANT *ElementDisplayAttributes,[in, defaultvalue (0)]long LanguageId);
  2537. [id (DISPID_SRCreateRecoContext)] HRESULT CreateRecoContext ([out, retval]ISpeechRecoContext **NewContext);
  2538. [id (DISPID_SRGetFormat)] HRESULT GetFormat ([in] SpeechFormatType Type,[out, retval]ISpeechAudioFormat **Format);
  2539. [id (DISPID_SRSetPropertyNumber), hidden] HRESULT SetPropertyNumber ([in]const BSTR Name,[in]long Value,[out, retval]VARIANT_BOOL *Supported);
  2540. [id (DISPID_SRGetPropertyNumber), hidden] HRESULT GetPropertyNumber ([in]const BSTR Name,[in, out]long *Value,[out, retval]VARIANT_BOOL *Supported);
  2541. [id (DISPID_SRSetPropertyString), hidden] HRESULT SetPropertyString ([in]const BSTR Name,[in]const BSTR Value,[out, retval]VARIANT_BOOL *Supported);
  2542. [id (DISPID_SRGetPropertyString), hidden] HRESULT GetPropertyString ([in]const BSTR Name,[in, out]BSTR *Value,[out, retval]VARIANT_BOOL *Supported);
  2543. [id (DISPID_SRIsUISupported)] HRESULT IsUISupported ([in]const BSTR TypeOfUI,[in, defaultvalue (NULL)]const VARIANT *ExtraData,[out, retval] VARIANT_BOOL *Supported);
  2544. [id (DISPID_SRDisplayUI)] HRESULT DisplayUI ([in]long hWndParent,[in]BSTR Title,[in]const BSTR TypeOfUI,[in, defaultvalue (NULL)]const VARIANT *ExtraData);
  2545. [id (DISPID_SRGetRecognizers)] HRESULT GetRecognizers ([in, defaultvalue (L"")]BSTR RequiredAttributes,[in, defaultvalue (L"")]BSTR OptionalAttributes,[out, retval]ISpeechObjectTokens **ObjectTokens);
  2546. [id (DISPID_SVGetAudioInputs)] HRESULT GetAudioInputs ([in, defaultvalue (L"")]BSTR RequiredAttributes,[in, defaultvalue (L"")]BSTR OptionalAttributes,[out, retval]ISpeechObjectTokens **ObjectTokens);
  2547. [id (DISPID_SVGetProfiles)] HRESULT GetProfiles ([in, defaultvalue (L"")]BSTR RequiredAttributes,[in, defaultvalue (L"")]BSTR OptionalAttributes,[out, retval]ISpeechObjectTokens **ObjectTokens);
  2548. };
  2549. [object, uuid (BFF9E781-53ec-484e-BB8A-0e1b5551e35c), dual, pointer_default (unique)]
  2550. interface ISpeechRecognizerStatus : IDispatch {
  2551. [propget, id (DISPID_SRSAudioStatus)] HRESULT AudioStatus ([out, retval]ISpeechAudioStatus **AudioStatus);
  2552. [propget, id (DISPID_SRSCurrentStreamPosition)] HRESULT CurrentStreamPosition ([out, retval]VARIANT *pCurrentStreamPos);
  2553. [propget, id (DISPID_SRSCurrentStreamNumber)] HRESULT CurrentStreamNumber ([out, retval]long *StreamNumber);
  2554. [propget, id (DISPID_SRSNumberOfActiveRules)] HRESULT NumberOfActiveRules ([out, retval]long *NumberOfActiveRules);
  2555. [propget, id (DISPID_SRSClsidEngine)] HRESULT ClsidEngine ([out, retval]BSTR *ClsidEngine);
  2556. [propget, id (DISPID_SRSSupportedLanguages)] HRESULT SupportedLanguages ([out, retval]VARIANT *SupportedLanguages);
  2557. };
  2558. [object, uuid (580aa49d-7e1e-4809-B8E2-57da806104b8), dual, pointer_default (unique)]
  2559. interface ISpeechRecoContext : IDispatch {
  2560. [propget, id (DISPID_SRCRecognizer)] HRESULT Recognizer ([out, retval]ISpeechRecognizer **Recognizer);
  2561. [propget, id (DISPID_SRCAudioInInterferenceStatus)] HRESULT AudioInputInterferenceStatus ([out, retval]SpeechInterference *Interference);
  2562. [propget, id (DISPID_SRCRequestedUIType)] HRESULT RequestedUIType ([out, retval]BSTR *UIType);
  2563. [propputref, id (DISPID_SRCVoice)] HRESULT Voice ([in]ISpeechVoice *Voice);
  2564. [propget, id (DISPID_SRCVoice)] HRESULT Voice ([out, retval]ISpeechVoice **Voice);
  2565. [propput, hidden, id (DISPID_SRAllowVoiceFormatMatchingOnNextSet)] HRESULT AllowVoiceFormatMatchingOnNextSet ([in] VARIANT_BOOL Allow);
  2566. [propget, hidden, id (DISPID_SRAllowVoiceFormatMatchingOnNextSet)] HRESULT AllowVoiceFormatMatchingOnNextSet ([out, retval] VARIANT_BOOL *pAllow);
  2567. [propput, id (DISPID_SRCVoicePurgeEvent)] HRESULT VoicePurgeEvent ([in]SpeechRecoEvents EventInterest);
  2568. [propget, id (DISPID_SRCVoicePurgeEvent)] HRESULT VoicePurgeEvent ([out, retval]SpeechRecoEvents *EventInterest);
  2569. [propput, id (DISPID_SRCEventInterests)] HRESULT EventInterests ([in]SpeechRecoEvents EventInterest);
  2570. [propget, id (DISPID_SRCEventInterests)] HRESULT EventInterests ([out, retval]SpeechRecoEvents *EventInterest);
  2571. [propput, id (DISPID_SRCCmdMaxAlternates)] HRESULT CmdMaxAlternates ([in] long MaxAlternates);
  2572. [propget, id (DISPID_SRCCmdMaxAlternates)] HRESULT CmdMaxAlternates ([out, retval] long *MaxAlternates);
  2573. [propput, id (DISPID_SRCState)] HRESULT State ([in] SpeechRecoContextState State);
  2574. [propget, id (DISPID_SRCState)] HRESULT State ([out, retval] SpeechRecoContextState *State);
  2575. [propput, id (DISPID_SRCRetainedAudio)] HRESULT RetainedAudio ([in]SpeechRetainedAudioOptions Option);
  2576. [propget, id (DISPID_SRCRetainedAudio)] HRESULT RetainedAudio ([out, retval]SpeechRetainedAudioOptions *Option);
  2577. [propputref, id (DISPID_SRCRetainedAudioFormat)] HRESULT RetainedAudioFormat ([in] ISpeechAudioFormat *Format);
  2578. [propget, id (DISPID_SRCRetainedAudioFormat)] HRESULT RetainedAudioFormat ([out, retval] ISpeechAudioFormat **Format);
  2579. [id (DISPID_SRCPause)] HRESULT Pause (void);
  2580. [id (DISPID_SRCResume)] HRESULT Resume (void);
  2581. [id (DISPID_SRCCreateGrammar)] HRESULT CreateGrammar ([in, defaultvalue (0)]VARIANT GrammarId,[out, retval]ISpeechRecoGrammar **Grammar);
  2582. [id (DISPID_SRCCreateResultFromMemory)] HRESULT CreateResultFromMemory ([in]VARIANT *ResultBlock,[out, retval]ISpeechRecoResult **Result);
  2583. [id (DISPID_SRCBookmark)] HRESULT Bookmark ([in]SpeechBookmarkOptions Options,[in]VARIANT StreamPos,[in]VARIANT BookmarkId);
  2584. [id (DISPID_SRCSetAdaptationData)] HRESULT SetAdaptationData ([in]BSTR AdaptationString);
  2585. };
  2586. [object, uuid (B6D6F79F-2158-4e50-B5BC-9a9ccd852a09), dual, pointer_default (unique)]
  2587. interface ISpeechRecoGrammar : IDispatch {
  2588. [propget, id (DISPID_SRGId)] HRESULT Id ([out, retval]VARIANT *Id);
  2589. [propget, id (DISPID_SRGRecoContext)] HRESULT RecoContext ([out, retval] ISpeechRecoContext **RecoContext);
  2590. [propput, id (DISPID_SRGState)] HRESULT State ([in]SpeechGrammarState State);
  2591. [propget, id (DISPID_SRGState)] HRESULT State ([out, retval]SpeechGrammarState *State);
  2592. [propget, id (DISPID_SRGRules)] HRESULT Rules ([out, retval]ISpeechGrammarRules **Rules);
  2593. [id (DISPID_SRGReset)] HRESULT Reset ([in, defaultvalue (0)]SpeechLanguageId NewLanguage);
  2594. [id (DISPID_SRGCmdLoadFromFile)] HRESULT CmdLoadFromFile ([in]const BSTR FileName,[in, defaultvalue (SLOStatic)]SpeechLoadOption LoadOption);
  2595. [id (DISPID_SRGCmdLoadFromObject)] HRESULT CmdLoadFromObject ([in]const BSTR ClassId,[in]const BSTR GrammarName,[in, defaultvalue (SLOStatic)]SpeechLoadOption LoadOption);
  2596. [id (DISPID_SRGCmdLoadFromResource)] HRESULT CmdLoadFromResource ([in]long hModule,[in]VARIANT ResourceName,[in]VARIANT ResourceType,[in]SpeechLanguageId LanguageId,[in, defaultvalue (SLOStatic)]SpeechLoadOption LoadOption);
  2597. [id (DISPID_SRGCmdLoadFromMemory)] HRESULT CmdLoadFromMemory ([in] VARIANT GrammarData,[in, defaultvalue (SLOStatic)]SpeechLoadOption LoadOption);
  2598. [id (DISPID_SRGCmdLoadFromProprietaryGrammar)] HRESULT CmdLoadFromProprietaryGrammar ([in]const BSTR ProprietaryGuid,[in]const BSTR ProprietaryString,[in]VARIANT ProprietaryData,[in, defaultvalue (SLOStatic)]SpeechLoadOption LoadOption);
  2599. [id (DISPID_SRGCmdSetRuleState)] HRESULT CmdSetRuleState ([in]const BSTR Name,[in]SpeechRuleState State);
  2600. [id (DISPID_SRGCmdSetRuleIdState)] HRESULT CmdSetRuleIdState ([in]long RuleId,[in]SpeechRuleState State);
  2601. [id (DISPID_SRGDictationLoad)] HRESULT DictationLoad ([in, defaultvalue (L"")] const BSTR TopicName,[in, defaultvalue (SLOStatic)]SpeechLoadOption LoadOption);
  2602. [id (DISPID_SRGDictationUnload)] HRESULT DictationUnload (void);
  2603. [id (DISPID_SRGDictationSetState)] HRESULT DictationSetState ([in]SpeechRuleState State);
  2604. [id (DISPID_SRGSetWordSequenceData)] HRESULT SetWordSequenceData ([in]const BSTR Text,[in]long TextLength,[in]ISpeechTextSelectionInformation *Info);
  2605. [id (DISPID_SRGSetTextSelection)] HRESULT SetTextSelection ([in]ISpeechTextSelectionInformation *Info);
  2606. [id (DISPID_SRGIsPronounceable)] HRESULT IsPronounceable ([in]const BSTR Word,[out, retval]SpeechWordPronounceable *WordPronounceable);
  2607. };
  2608. [uuid (7b8fcb42-0e9d-4f00-A048-7b04d6179d3d)]
  2609. dispinterface _ISpeechRecoContextEvents {
  2610. properties:
  2611. methods:
  2612. [id (DISPID_SRCEStartStream)] void StartStream ([in]long StreamNumber,[in]VARIANT StreamPosition);
  2613. [id (DISPID_SRCEEndStream)] void EndStream ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]VARIANT_BOOL StreamReleased);
  2614. [id (DISPID_SRCEBookmark)] void Bookmark ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]VARIANT BookmarkId,[in]SpeechBookmarkOptions Options);
  2615. [id (DISPID_SRCESoundStart)] void SoundStart ([in]long StreamNumber,[in]VARIANT StreamPosition);
  2616. [id (DISPID_SRCESoundEnd)] void SoundEnd ([in]long StreamNumber,[in]VARIANT StreamPosition);
  2617. [id (DISPID_SRCEPhraseStart)] void PhraseStart ([in]long StreamNumber,[in]VARIANT StreamPosition);
  2618. [id (DISPID_SRCERecognition)] void Recognition ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]SpeechRecognitionType RecognitionType,[in]ISpeechRecoResult *Result);
  2619. [id (DISPID_SRCEHypothesis)] void Hypothesis ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]ISpeechRecoResult *Result);
  2620. [id (DISPID_SRCEPropertyNumberChange)] void PropertyNumberChange ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]BSTR PropertyName,[in]long NewNumberValue);
  2621. [id (DISPID_SRCEPropertyStringChange)] void PropertyStringChange ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]BSTR PropertyName,[in]BSTR NewStringValue);
  2622. [id (DISPID_SRCEFalseRecognition)] void FalseRecognition ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]ISpeechRecoResult *Result);
  2623. [id (DISPID_SRCEInterference)] void Interference ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]SpeechInterference Interference);
  2624. [id (DISPID_SRCERequestUI)] void RequestUI ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]BSTR UIType);
  2625. [id (DISPID_SRCERecognizerStateChange)] void RecognizerStateChange ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]SpeechRecognizerState NewState);
  2626. [id (DISPID_SRCEAdaptation)] void Adaptation ([in]long StreamNumber,[in]VARIANT StreamPosition);
  2627. [id (DISPID_SRCERecognitionForOtherContext)] void RecognitionForOtherContext ([in]long StreamNumber,[in]VARIANT StreamPosition);
  2628. [id (DISPID_SRCEAudioLevel)] void AudioLevel ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]long AudioLevel);
  2629. [id (DISPID_SRCEEnginePrivate)] void EnginePrivate ([in]long StreamNumber,[in]VARIANT StreamPosition,[in]VARIANT EngineData);
  2630. };
  2631. [object, uuid (AFE719CF-5dd1-44f2-999c-7a399f1cfccc), dual, pointer_default (unique)]
  2632. interface ISpeechGrammarRule : IDispatch {
  2633. [propget, id (DISPID_SGRAttributes)] HRESULT Attributes ([out, retval] SpeechRuleAttributes *Attributes);
  2634. [propget, id (DISPID_SGRInitialState)] HRESULT InitialState ([out, retval] ISpeechGrammarRuleState **State);
  2635. [propget, id (DISPID_SGRName)] HRESULT Name ([out, retval] BSTR *Name);
  2636. [propget, id (DISPID_SGRId)] HRESULT Id ([out, retval] long *Id);
  2637. [id (DISPID_SGRClear)] HRESULT Clear ();
  2638. [id (DISPID_SGRAddResource)] HRESULT AddResource ([in]const BSTR ResourceName,[in]const BSTR ResourceValue);
  2639. [id (DISPID_SGRAddState)] HRESULT AddState ([out, retval] ISpeechGrammarRuleState **State);
  2640. };
  2641. [object, uuid (6ffa3b44-FC2D-40d1-8afc-32911c7f1ad1), dual, pointer_default (unique)]
  2642. interface ISpeechGrammarRules : IDispatch {
  2643. [propget, id (DISPID_SGRsCount)] HRESULT Count ([out, retval] long *Count);
  2644. [id (DISPID_SGRsFindRule)] HRESULT FindRule ([in]VARIANT RuleNameOrId,[out, retval]ISpeechGrammarRule **Rule);
  2645. [id (DISPID_SGRsItem)] HRESULT Item ([in] long Index,[out, retval]ISpeechGrammarRule **Rule);
  2646. [propget, id (DISPID_SGRs_NewEnum), restricted] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2647. [propget, id (DISPID_SGRsDynamic)] HRESULT Dynamic ([out, retval] VARIANT_BOOL *Dynamic);
  2648. [id (DISPID_SGRsAdd)] HRESULT Add ([in] BSTR RuleName,[in] SpeechRuleAttributes Attributes,[in, defaultvalue (0)] long RuleId,[out, retval] ISpeechGrammarRule **Rule);
  2649. [id (DISPID_SGRsCommit)] HRESULT Commit (void);
  2650. [id (DISPID_SGRsCommitAndSave)] HRESULT CommitAndSave ([out] BSTR *ErrorText,[out, retval] VARIANT *SaveStream);
  2651. };
  2652. [object, uuid (D4286F2C-EE67-45ae-B928-28d695362eda), dual, pointer_default (unique)]
  2653. interface ISpeechGrammarRuleState : IDispatch {
  2654. [propget, id (DISPID_SGRSRule)] HRESULT Rule ([out, retval] ISpeechGrammarRule **Rule);
  2655. [propget, id (DISPID_SGRSTransitions)] HRESULT Transitions ([out, retval] ISpeechGrammarRuleStateTransitions **Transitions);
  2656. [id (DISPID_SGRSAddWordTransition)] HRESULT AddWordTransition ([in]ISpeechGrammarRuleState *DestState,[in]const BSTR Words, [in, defaultvalue (L" ")]const BSTR Separators, [in, defaultvalue (SGLexical)]SpeechGrammarWordType Type, [in, defaultvalue (L"")]const BSTR PropertyName, [in, defaultvalue (0)]long PropertyId, [in, defaultvalue (0)]VARIANT *PropertyValue, [in, defaultvalue (1)]float Weight);
  2657. [id (DISPID_SGRSAddRuleTransition)] HRESULT AddRuleTransition ([in]ISpeechGrammarRuleState *DestinationState,[in]ISpeechGrammarRule *Rule,[in, defaultvalue (L"")]const BSTR PropertyName,[in, defaultvalue (0)]long PropertyId,[in, defaultvalue (0)]VARIANT *PropertyValue,[in, defaultvalue (1)]float Weight);
  2658. [id (DISPID_SGRSAddSpecialTransition)] HRESULT AddSpecialTransition ([in]ISpeechGrammarRuleState *DestinationState,[in]SpeechSpecialTransitionType Type,[in, defaultvalue (L"")]const BSTR PropertyName,[in, defaultvalue (0)]long PropertyId,[in, defaultvalue (0)]VARIANT *PropertyValue,[in, defaultvalue (1)]float Weight);
  2659. };
  2660. [object, uuid (EABCE657-75bc-44a2-AA7F-C56476742963), dual, pointer_default (unique)]
  2661. interface ISpeechGrammarRuleStateTransitions : IDispatch {
  2662. [propget, id (DISPID_SGRSTsCount)] HRESULT Count ([out, retval] long *Count);
  2663. [id (DISPID_SGRSTsItem)] HRESULT Item ([in] long Index,[out, retval]ISpeechGrammarRuleStateTransition **Transition);
  2664. [propget, restricted, id (DISPID_SGRSTs_NewEnum)] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2665. };
  2666. [object, uuid (CAFD1DB1-41d1-4a06-9863-E2E81DA17A9A), dual, pointer_default (unique)]
  2667. interface ISpeechGrammarRuleStateTransition : IDispatch {
  2668. [propget, id (DISPID_SGRSTType)] HRESULT Type ([out, retval] SpeechGrammarRuleStateTransitionType *Type);
  2669. [propget, id (DISPID_SGRSTText)] HRESULT Text ([out, retval] BSTR *Text);
  2670. [propget, id (DISPID_SGRSTRule)] HRESULT Rule ([out, retval] ISpeechGrammarRule **Rule);
  2671. [propget, id (DISPID_SGRSTWeight)] HRESULT Weight ([out, retval] VARIANT *Weight);
  2672. [propget, id (DISPID_SGRSTPropertyName)] HRESULT PropertyName ([out, retval] BSTR *PropertyName);
  2673. [propget, id (DISPID_SGRSTPropertyId)] HRESULT PropertyId ([out, retval] long *PropertyId);
  2674. [propget, id (DISPID_SGRSTPropertyValue)] HRESULT PropertyValue ([out, retval] VARIANT *PropertyValue);
  2675. [propget, id (DISPID_SGRSTNextState)] HRESULT NextState ([out, retval] ISpeechGrammarRuleState **NextState);
  2676. };
  2677. [object, uuid (3b9c7e7a-6eee-4ded-9092-11657279adbe), dual, pointer_default (unique)]
  2678. interface ISpeechTextSelectionInformation : IDispatch {
  2679. [propput, id (DISPIDSPTSI_ActiveOffset)] HRESULT ActiveOffset ([in]long ActiveOffset);
  2680. [propget, id (DISPIDSPTSI_ActiveOffset)] HRESULT ActiveOffset ([out, retval]long *ActiveOffset);
  2681. [propput, id (DISPIDSPTSI_ActiveLength)] HRESULT ActiveLength ([in]long ActiveLength);
  2682. [propget, id (DISPIDSPTSI_ActiveLength)] HRESULT ActiveLength ([out, retval]long *ActiveLength);
  2683. [propput, id (DISPIDSPTSI_SelectionOffset)] HRESULT SelectionOffset ([in]long SelectionOffset);
  2684. [propget, id (DISPIDSPTSI_SelectionOffset)] HRESULT SelectionOffset ([out, retval]long *SelectionOffset);
  2685. [propput, id (DISPIDSPTSI_SelectionLength)] HRESULT SelectionLength ([in]long SelectionLength);
  2686. [propget, id (DISPIDSPTSI_SelectionLength)] HRESULT SelectionLength ([out, retval]long *SelectionLength);
  2687. };
  2688. [object, uuid (ED2879CF-CED9-4ee6-A534-DE0191D5468D), dual, pointer_default (unique)]
  2689. interface ISpeechRecoResult : IDispatch {
  2690. [propget, id (DISPID_SRRRecoContext)] HRESULT RecoContext ([out, retval]ISpeechRecoContext **RecoContext);
  2691. [propget, id (DISPID_SRRTimes)] HRESULT Times ([out, retval]ISpeechRecoResultTimes **Times);
  2692. [propputref, id (DISPID_SRRAudioFormat)] HRESULT AudioFormat ([in]ISpeechAudioFormat *Format);
  2693. [propget, id (DISPID_SRRAudioFormat)] HRESULT AudioFormat ([out, retval]ISpeechAudioFormat **Format);
  2694. [propget, id (DISPID_SRRPhraseInfo)] HRESULT PhraseInfo ([out, retval]ISpeechPhraseInfo **PhraseInfo);
  2695. [id (DISPID_SRRAlternates)] HRESULT Alternates ([in] long RequestCount,[in, defaultvalue (0)] long StartElement,[in, defaultvalue (SPPR_ALL_ELEMENTS)] long Elements,[out, retval] ISpeechPhraseAlternates **Alternates);
  2696. [id (DISPID_SRRAudio)] HRESULT Audio ([in, defaultvalue (0)] long StartElement,[in, defaultvalue (SPPR_ALL_ELEMENTS)] long Elements,[out, retval] ISpeechMemoryStream **Stream);
  2697. [id (DISPID_SRRSpeakAudio)] HRESULT SpeakAudio ([in, defaultvalue (0)] long StartElement,[in, defaultvalue (SPPR_ALL_ELEMENTS)] long Elements,[in, defaultvalue (SPF_DEFAULT)] SpeechVoiceSpeakFlags Flags,[out, retval]long *StreamNumber);
  2698. [id (DISPID_SRRSaveToMemory)] HRESULT SaveToMemory ([out, retval] VARIANT *ResultBlock);
  2699. [id (DISPID_SRRDiscardResultInfo)] HRESULT DiscardResultInfo ([in]SpeechDiscardType ValueTypes);
  2700. };
  2701. #if _SAPI_BLD_ >= 0x53
  2702. [object, uuid (AAEC54AF-8f85-4924-944d-B79D39D72E19), dual, pointer_default (unique)]
  2703. interface ISpeechXMLRecoResult : ISpeechRecoResult {
  2704. [id (DISPID_SRRGetXMLResult)] HRESULT GetXMLResult ([in] SPXMLRESULTOPTIONS Options,[out, retval] BSTR *pResult);
  2705. [id (DISPID_SRRGetXMLErrorInfo)] HRESULT GetXMLErrorInfo ([out] long *LineNumber,[out]BSTR *ScriptLine,[out]BSTR *Source,[out]BSTR *Description,[out]long *ResultCode,[out, retval]VARIANT_BOOL *IsError);
  2706. };
  2707. [object, uuid (8e0a246d-D3C8-45de-8657-04290c458c3c), dual, pointer_default (unique)]
  2708. interface ISpeechRecoResult2: ISpeechRecoResult {
  2709. [id (DISPID_SRRSetTextFeedback)] HRESULT SetTextFeedback ([in]BSTR Feedback,[in]VARIANT_BOOL WasSuccessful);
  2710. }
  2711. [object, uuid (6d60eb64-ACED-40a6-BBF3-4e557f71dee2), dual, hidden, pointer_default (unique)]
  2712. interface ISpeechRecoResultDispatch : IDispatch {
  2713. [propget, id (DISPID_SRRRecoContext)] HRESULT RecoContext ([out, retval]ISpeechRecoContext **RecoContext);
  2714. [propget, id (DISPID_SRRTimes)] HRESULT Times ([out, retval]ISpeechRecoResultTimes **Times);
  2715. [propputref, id (DISPID_SRRAudioFormat)] HRESULT AudioFormat ([in]ISpeechAudioFormat *Format);
  2716. [propget, id (DISPID_SRRAudioFormat)] HRESULT AudioFormat ([out, retval]ISpeechAudioFormat **Format);
  2717. [propget, id (DISPID_SRRPhraseInfo)] HRESULT PhraseInfo ([out, retval]ISpeechPhraseInfo **PhraseInfo);
  2718. [id (DISPID_SRRAlternates)] HRESULT Alternates ([in] long RequestCount,[in, defaultvalue (0)] long StartElement,[in, defaultvalue (SPPR_ALL_ELEMENTS)] long Elements,[out, retval] ISpeechPhraseAlternates **Alternates);
  2719. [id (DISPID_SRRAudio)] HRESULT Audio ([in, defaultvalue (0)] long StartElement,[in, defaultvalue (SPPR_ALL_ELEMENTS)] long Elements,[out, retval] ISpeechMemoryStream **Stream);
  2720. [id (DISPID_SRRSpeakAudio)] HRESULT SpeakAudio ([in, defaultvalue (0)] long StartElement,[in, defaultvalue (SPPR_ALL_ELEMENTS)] long Elements,[in, defaultvalue (SPF_DEFAULT)] SpeechVoiceSpeakFlags Flags,[out, retval]long *StreamNumber);
  2721. [id (DISPID_SRRSaveToMemory)] HRESULT SaveToMemory ([out, retval] VARIANT *ResultBlock);
  2722. [id (DISPID_SRRDiscardResultInfo)] HRESULT DiscardResultInfo ([in]SpeechDiscardType ValueTypes);
  2723. [id (DISPID_SRRGetXMLResult)] HRESULT GetXMLResult ([in] SPXMLRESULTOPTIONS Options,[out, retval] BSTR *pResult);
  2724. [id (DISPID_SRRGetXMLErrorInfo)] HRESULT GetXMLErrorInfo ([out] long *LineNumber,[out]BSTR *ScriptLine,[out]BSTR *Source,[out]BSTR *Description,[out]HRESULT *ResultCode,[out, retval]VARIANT_BOOL *IsError);
  2725. [id (DISPID_SRRSetTextFeedback)] HRESULT SetTextFeedback ([in] BSTR Feedback,[in] VARIANT_BOOL WasSuccessful);
  2726. };
  2727. #endif
  2728. [object, uuid (3b151836-DF3A-4e0a-846c-D2ADC9334333), dual, pointer_default (unique)]
  2729. interface ISpeechPhraseInfoBuilder : IDispatch {
  2730. [id (DISPID_SPPBRestorePhraseFromMemory)] HRESULT RestorePhraseFromMemory ([in] VARIANT *PhraseInMemory,[out, retval] ISpeechPhraseInfo **PhraseInfo);
  2731. };
  2732. [object, uuid (62b3b8fb-F6E7-41be-BDCB-056b1c29efc0), dual, pointer_default (unique)]
  2733. interface ISpeechRecoResultTimes : IDispatch {
  2734. [propget, id (DISPID_SRRTStreamTime)] HRESULT StreamTime ([out, retval]VARIANT *Time);
  2735. [propget, id (DISPID_SRRTLength)] HRESULT Length ([out, retval]VARIANT *Length);
  2736. [propget, id (DISPID_SRRTTickCount)] HRESULT TickCount ([out, retval]long *TickCount);
  2737. [propget, id (DISPID_SRRTOffsetFromStart)] HRESULT OffsetFromStart ([out, retval]VARIANT *OffsetFromStart);
  2738. };
  2739. [object, uuid (27864a2a-2b9f-4cb8-92d3-0d2722fd1e73), dual, pointer_default (unique)]
  2740. interface ISpeechPhraseAlternate : IDispatch {
  2741. [propget, id (DISPID_SPARecoResult)] HRESULT RecoResult ([out, retval]ISpeechRecoResult **RecoResult);
  2742. [propget, id (DISPID_SPAStartElementInResult)] HRESULT StartElementInResult ([out, retval]long *StartElement);
  2743. [propget, id (DISPID_SPANumberOfElementsInResult)] HRESULT NumberOfElementsInResult ([out, retval]long *NumberOfElements);
  2744. [propget, id (DISPID_SPAPhraseInfo)] HRESULT PhraseInfo ([out, retval]ISpeechPhraseInfo **PhraseInfo);
  2745. [id (DISPID_SPACommit)] HRESULT Commit (void);
  2746. };
  2747. [object, uuid (B238B6D5-F276-4c3d-A6C1-2974801c3cc2), dual, pointer_default (unique)]
  2748. interface ISpeechPhraseAlternates : IDispatch {
  2749. [propget, id (DISPID_SPAsCount)] HRESULT Count ([out, retval] long *Count);
  2750. [id (DISPID_SPAsItem)] HRESULT Item ([in] long Index,[out, retval]ISpeechPhraseAlternate **PhraseAlternate);
  2751. [propget, restricted, id (DISPID_SPAs_NewEnum)] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2752. };
  2753. [object, uuid (961559cf-4e67-4662-8bf0-D93F1FCD61B3), dual, pointer_default (unique)]
  2754. interface ISpeechPhraseInfo : IDispatch {
  2755. [propget, id (DISPID_SPILanguageId)] HRESULT LanguageId ([out, retval]long *LanguageId);
  2756. [propget, id (DISPID_SPIGrammarId)] HRESULT GrammarId ([out, retval]VARIANT *GrammarId);
  2757. [propget, id (DISPID_SPIStartTime)] HRESULT StartTime ([out, retval]VARIANT *StartTime);
  2758. [propget, id (DISPID_SPIAudioStreamPosition)] HRESULT AudioStreamPosition ([out, retval]VARIANT *AudioStreamPosition);
  2759. [propget, id (DISPID_SPIAudioSizeBytes)] HRESULT AudioSizeBytes ([out, retval]long *pAudioSizeBytes);
  2760. [propget, id (DISPID_SPIRetainedSizeBytes)] HRESULT RetainedSizeBytes ([out, retval]long *RetainedSizeBytes);
  2761. [propget, id (DISPID_SPIAudioSizeTime)] HRESULT AudioSizeTime ([out, retval]long *AudioSizeTime);
  2762. [propget, id (DISPID_SPIRule)] HRESULT Rule ([out, retval]ISpeechPhraseRule **Rule);
  2763. [propget, id (DISPID_SPIProperties)] HRESULT Properties ([out, retval]ISpeechPhraseProperties **Properties);
  2764. [propget, id (DISPID_SPIElements)] HRESULT Elements ([out, retval]ISpeechPhraseElements **Elements);
  2765. [propget, id (DISPID_SPIReplacements)] HRESULT Replacements ([out, retval]ISpeechPhraseReplacements **Replacements);
  2766. [propget, id (DISPID_SPIEngineId)] HRESULT EngineId ([out, retval]BSTR *EngineIdGuid);
  2767. [propget, id (DISPID_SPIEnginePrivateData)] HRESULT EnginePrivateData ([out, retval]VARIANT *PrivateData);
  2768. [id (DISPID_SPISaveToMemory)] HRESULT SaveToMemory ([out, retval]VARIANT *PhraseBlock);
  2769. [id (DISPID_SPIGetText)] HRESULT GetText ([in, defaultvalue (0)] long StartElement,[in, defaultvalue (SPPR_ALL_ELEMENTS)] long Elements,[in, defaultvalue (-1)] VARIANT_BOOL UseReplacements,[out, retval]BSTR *Text);
  2770. [id (DISPID_SPIGetDisplayAttributes)] HRESULT GetDisplayAttributes ([in, defaultvalue (0)] long StartElement,[in, defaultvalue (SPPR_ALL_ELEMENTS)] long Elements,[in, defaultvalue (-1)] VARIANT_BOOL UseReplacements,[out, retval]SpeechDisplayAttributes *DisplayAttributes);
  2771. };
  2772. [object, uuid (E6176F96-E373-4801-B223-3b62c068c0b4), dual, pointer_default (unique)]
  2773. interface ISpeechPhraseElement : IDispatch {
  2774. [propget, id (DISPID_SPEAudioTimeOffset)] HRESULT AudioTimeOffset ([out, retval]long *AudioTimeOffset);
  2775. [propget, id (DISPID_SPEAudioSizeTime)] HRESULT AudioSizeTime ([out, retval]long *AudioSizeTime);
  2776. [propget, id (DISPID_SPEAudioStreamOffset)] HRESULT AudioStreamOffset ([out, retval]long *AudioStreamOffset);
  2777. [propget, id (DISPID_SPEAudioSizeBytes)] HRESULT AudioSizeBytes ([out, retval]long *AudioSizeBytes);
  2778. [propget, id (DISPID_SPERetainedStreamOffset)] HRESULT RetainedStreamOffset ([out, retval]long *RetainedStreamOffset);
  2779. [propget, id (DISPID_SPERetainedSizeBytes)] HRESULT RetainedSizeBytes ([out, retval]long *RetainedSizeBytes);
  2780. [propget, id (DISPID_SPEDisplayText)] HRESULT DisplayText ([out, retval]BSTR *DisplayText);
  2781. [propget, id (DISPID_SPELexicalForm)] HRESULT LexicalForm ([out, retval]BSTR *LexicalForm);
  2782. [propget, id (DISPID_SPEPronunciation)] HRESULT Pronunciation ([out, retval]VARIANT *Pronunciation);
  2783. [propget, id (DISPID_SPEDisplayAttributes)] HRESULT DisplayAttributes ([out, retval]SpeechDisplayAttributes *DisplayAttributes);
  2784. [propget, id (DISPID_SPERequiredConfidence)] HRESULT RequiredConfidence ([out, retval]SpeechEngineConfidence *RequiredConfidence);
  2785. [propget, id (DISPID_SPEActualConfidence)] HRESULT ActualConfidence ([out, retval]SpeechEngineConfidence *ActualConfidence);
  2786. [propget, id (DISPID_SPEEngineConfidence)] HRESULT EngineConfidence ([out, retval]float *EngineConfidence);
  2787. };
  2788. [object, uuid (0626b328-3478-467d-A0B3-D0853B93DDA3), dual, pointer_default (unique)]
  2789. interface ISpeechPhraseElements : IDispatch {
  2790. [propget, id (DISPID_SPEsCount)] HRESULT Count ([out, retval] long *Count);
  2791. [id (DISPID_SPEsItem)] HRESULT Item ([in] long Index,[out, retval]ISpeechPhraseElement **Element);
  2792. [propget, restricted, id (DISPID_SPEs_NewEnum)] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2793. };
  2794. [object, uuid (2890a410-53a7-4fb5-94ec-06d4998e3d02), dual, pointer_default (unique)]
  2795. interface ISpeechPhraseReplacement : IDispatch {
  2796. [propget, id (DISPID_SPRDisplayAttributes)] HRESULT DisplayAttributes ([out, retval]SpeechDisplayAttributes *DisplayAttributes);
  2797. [propget, id (DISPID_SPRText)] HRESULT Text ([out, retval]BSTR *Text);
  2798. [propget, id (DISPID_SPRFirstElement)] HRESULT FirstElement ([out, retval]long *FirstElement);
  2799. [propget, id (DISPID_SPRNumberOfElements)] HRESULT NumberOfElements ([out, retval]long *NumberOfElements);
  2800. };
  2801. [object, uuid (38bc662f-2257-4525-959e-2069d2596c05), dual, pointer_default (unique)]
  2802. interface ISpeechPhraseReplacements : IDispatch {
  2803. [propget, id (DISPID_SPRsCount)] HRESULT Count ([out, retval] long *Count);
  2804. [id (DISPID_SPRsItem)] HRESULT Item ([in] long Index,[out, retval]ISpeechPhraseReplacement **Reps);
  2805. [propget, restricted, id (DISPID_SPRs_NewEnum)] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2806. };
  2807. [object, uuid (CE563D48-961e-4732-A2E1-378a42b430be), dual, pointer_default (unique)]
  2808. interface ISpeechPhraseProperty : IDispatch {
  2809. [propget, id (DISPID_SPPName)] HRESULT Name ([out, retval]BSTR *Name);
  2810. [propget, id (DISPID_SPPId)] HRESULT Id ([out, retval]long *Id);
  2811. [propget, id (DISPID_SPPValue)] HRESULT Value ([out, retval]VARIANT *Value);
  2812. [propget, id (DISPID_SPPFirstElement)] HRESULT FirstElement ([out, retval]long *FirstElement);
  2813. [propget, id (DISPID_SPPNumberOfElements)] HRESULT NumberOfElements ([out, retval]long *NumberOfElements);
  2814. [propget, id (DISPID_SPPEngineConfidence)] HRESULT EngineConfidence ([out, retval]float *Confidence);
  2815. [propget, id (DISPID_SPPConfidence)] HRESULT Confidence ([out, retval]SpeechEngineConfidence *Confidence);
  2816. [propget, id (DISPID_SPPParent)] HRESULT Parent ([out, retval]ISpeechPhraseProperty **ParentProperty);
  2817. [propget, id (DISPID_SPPChildren)] HRESULT Children ([out, retval]ISpeechPhraseProperties **Children);
  2818. };
  2819. [object, uuid (08166b47-102e-4b23-A599-BDB98DBFD1F4), dual, pointer_default (unique)]
  2820. interface ISpeechPhraseProperties : IDispatch {
  2821. [propget, id (DISPID_SPPsCount)] HRESULT Count ([out, retval] long *Count);
  2822. [id (DISPID_SPPsItem)] HRESULT Item ([in] long Index,[out, retval]ISpeechPhraseProperty **Property);
  2823. [propget, id (DISPID_SPPs_NewEnum), restricted] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2824. };
  2825. [object, uuid (A7BFE112-A4A0-48d9-B602-C313843F6964), dual, pointer_default (unique)]
  2826. interface ISpeechPhraseRule : IDispatch {
  2827. [propget, id (DISPID_SPRuleName)] HRESULT Name ([out, retval]BSTR *Name);
  2828. [propget, id (DISPID_SPRuleId)] HRESULT Id ([out, retval]long *Id);
  2829. [propget, id (DISPID_SPRuleFirstElement)] HRESULT FirstElement ([out, retval]long *FirstElement);
  2830. [propget, id (DISPID_SPRuleNumberOfElements)] HRESULT NumberOfElements ([out, retval]long *NumberOfElements);
  2831. [propget, id (DISPID_SPRuleParent)] HRESULT Parent ([out, retval]ISpeechPhraseRule **Parent);
  2832. [propget, id (DISPID_SPRuleChildren)] HRESULT Children ([out, retval]ISpeechPhraseRules **Children);
  2833. [propget, id (DISPID_SPRuleConfidence)] HRESULT Confidence ([out, retval]SpeechEngineConfidence *ActualConfidence);
  2834. [propget, id (DISPID_SPRuleEngineConfidence)] HRESULT EngineConfidence ([out, retval]float *EngineConfidence);
  2835. };
  2836. [object, uuid (9047d593-01dd-4b72-81a3-E4A0CA69F407), dual, pointer_default (unique)]
  2837. interface ISpeechPhraseRules : IDispatch {
  2838. [propget, id (DISPID_SPRulesCount)] HRESULT Count ([out, retval] long *Count);
  2839. [id (DISPID_SPRulesItem)] HRESULT Item ([in] long Index,[out, retval]ISpeechPhraseRule **Rule);
  2840. [propget, restricted, id (DISPID_SPRules_NewEnum)] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2841. };
  2842. [object, uuid (8d199862-415e-47d5-AC4F-FAA608B424E6), dual, pointer_default (unique)]
  2843. interface ISpeechLexiconWords : IDispatch {
  2844. [id (DISPID_SLWsCount), propget] HRESULT Count ([out, retval] long *Count);
  2845. [id (DISPID_VALUE)] HRESULT Item ([in] long Index,[out, retval]ISpeechLexiconWord **Word);
  2846. [id (DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2847. };
  2848. [object, uuid (3da7627a-C7AE-4b23-8708-638c50362c25), dual, pointer_default (unique)]
  2849. interface ISpeechLexicon : IDispatch {
  2850. [id (DISPID_SLGenerationId), propget, hidden] HRESULT GenerationId ([out, retval]long *GenerationId);
  2851. [id (DISPID_SLGetWords)] HRESULT GetWords ([in, defaultvalue (eLEXTYPE_USER | eLEXTYPE_APP)]SpeechLexiconType Flags,[out, defaultvalue (NULL)]long *GenerationID,[out, retval]ISpeechLexiconWords **Words);
  2852. [id (DISPID_SLAddPronunciation)] HRESULT AddPronunciation ([in]BSTR bstrWord,[in]SpeechLanguageId LangId,[in, defaultvalue (SPSUnknown)]SpeechPartOfSpeech PartOfSpeech,[in, defaultvalue (L"")]BSTR bstrPronunciation);
  2853. [hidden, id (DISPID_SLAddPronunciationByPhoneIds)] HRESULT AddPronunciationByPhoneIds ([in]BSTR bstrWord,[in]SpeechLanguageId LangId,[in, defaultvalue (SPSUnknown)]SpeechPartOfSpeech PartOfSpeech,[in, defaultvalue (NULL)]VARIANT *PhoneIds);
  2854. [id (DISPID_SLRemovePronunciation)] HRESULT RemovePronunciation ([in]BSTR bstrWord,[in]SpeechLanguageId LangId,[in, defaultvalue (SPSUnknown)]SpeechPartOfSpeech PartOfSpeech,[in, defaultvalue (L"")]BSTR bstrPronunciation);
  2855. [id (DISPID_SLRemovePronunciationByPhoneIds), hidden] HRESULT RemovePronunciationByPhoneIds ([in]BSTR bstrWord,[in]SpeechLanguageId LangId,[in, defaultvalue (SPSUnknown)]SpeechPartOfSpeech PartOfSpeech,[in, defaultvalue (NULL)]VARIANT *PhoneIds);
  2856. [id (DISPID_SLGetPronunciations)] HRESULT GetPronunciations ([in]BSTR bstrWord,[in, defaultvalue (0)]SpeechLanguageId LangId,[in, defaultvalue (eLEXTYPE_USER | eLEXTYPE_APP)]SpeechLexiconType TypeFlags,[out, retval]ISpeechLexiconPronunciations **ppPronunciations);
  2857. [id (DISPID_SLGetGenerationChange), hidden] HRESULT GetGenerationChange ([in, out]long *GenerationID,[out, retval]ISpeechLexiconWords **ppWords);
  2858. };
  2859. [object, uuid (4e5b933c-C9BE-48ed-8842-1ee51bb1d4ff), dual, pointer_default (unique)]
  2860. interface ISpeechLexiconWord : IDispatch {
  2861. [id (DISPID_SLWLangId), propget] HRESULT LangId ([out, retval]SpeechLanguageId *LangId);
  2862. [id (DISPID_SLWType), propget] HRESULT Type ([out, retval]SpeechWordType *WordType);
  2863. [id (DISPID_SLWWord), propget] HRESULT Word ([out, retval]BSTR *Word);
  2864. [id (DISPID_SLWPronunciations), propget] HRESULT Pronunciations ([out, retval]ISpeechLexiconPronunciations **Pronunciations);
  2865. };
  2866. [object, uuid (72829128-5682-4704-A0D4-3e2bb6f2ead3), dual, pointer_default (unique)]
  2867. interface ISpeechLexiconPronunciations : IDispatch {
  2868. [id (DISPID_SLPsCount), propget] HRESULT Count ([out, retval] long *Count);
  2869. [id (DISPID_VALUE)] HRESULT Item ([in] long Index,[out, retval]ISpeechLexiconPronunciation **Pronunciation);
  2870. [id (DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **EnumVARIANT);
  2871. };
  2872. [object, uuid (95252c5d-9e43-4f4a-9899-48ee73352f9f), dual, pointer_default (unique)]
  2873. interface ISpeechLexiconPronunciation : IDispatch {
  2874. [id (DISPID_SLPType), propget] HRESULT Type ([out, retval]SpeechLexiconType *LexiconType);
  2875. [id (DISPID_SLPLangId), propget] HRESULT LangId ([out, retval]SpeechLanguageId *LangId);
  2876. [id (DISPID_SLPPartOfSpeech), propget] HRESULT PartOfSpeech ([out, retval]SpeechPartOfSpeech *PartOfSpeech);
  2877. [id (DISPID_SLPPhoneIds), propget] HRESULT PhoneIds ([out, retval]VARIANT *PhoneIds);
  2878. [id (DISPID_SLPSymbolic), propget] HRESULT Symbolic ([out, retval]BSTR *Symbolic);
  2879. };
  2880. [object, uuid (C3E4F353-433f-43d6-89a1-6a62a7054c3d), dual, pointer_default (unique)]
  2881. interface ISpeechPhoneConverter : IDispatch {
  2882. [propget, id (DISPID_SPCLangId)] HRESULT LanguageId ([out, retval]SpeechLanguageId *LanguageId);
  2883. [propput, id (DISPID_SPCLangId)] HRESULT LanguageId ([in]SpeechLanguageId LanguageId);
  2884. [id (DISPID_SPCPhoneToId)] HRESULT PhoneToId ([in]const BSTR Phonemes,[out, retval]VARIANT *IdArray);
  2885. [id (DISPID_SPCIdToPhone)] HRESULT IdToPhone ([in]const VARIANT IdArray,[out, retval]BSTR *Phonemes);
  2886. }
  2887. [uuid (E2AE5372-5d40-11d2-960e-00c04f8ee628), hidden]
  2888. coclass SpNotifyTranslator {
  2889. interface ISpNotifyTranslator;
  2890. }
  2891. [uuid (A910187F-0c7a-45ac-92cc-59edafb77b53)]
  2892. coclass SpObjectTokenCategory {
  2893. [default] interface ISpeechObjectTokenCategory;
  2894. interface ISpObjectTokenCategory;
  2895. }
  2896. [uuid (EF411752-3736-4cb4-9c8c-8ef4ccb58efe)]
  2897. coclass SpObjectToken {
  2898. [default] interface ISpeechObjectToken;
  2899. interface ISpObjectToken;
  2900. }
  2901. [uuid (96749373-3391-11d2-9ee3-00c04f797396), hidden]
  2902. coclass SpResourceManager {
  2903. [default] interface ISpResourceManager;
  2904. };
  2905. [uuid (7013943a-E2EC-11d2-A086-00c04f8ef9b5), hidden]
  2906. coclass SpStreamFormatConverter {
  2907. [default] interface ISpStreamFormatConverter;
  2908. };
  2909. [uuid (AB1890A0-E91F-11d2-BB91-00c04f8ee6c0), hidden]
  2910. coclass SpMMAudioEnum {
  2911. interface IEnumSpObjectTokens;
  2912. };
  2913. [uuid (CF3D2E50-53f2-11d2-960c-00c04f8ee628)]
  2914. coclass SpMMAudioIn {
  2915. [default] interface ISpeechMMSysAudio;
  2916. interface ISpEventSource;
  2917. interface ISpEventSink;
  2918. interface ISpObjectWithToken;
  2919. interface ISpMMSysAudio;
  2920. };
  2921. [uuid (A8C680EB-3d32-11d2-9ee7-00c04f797396)]
  2922. coclass SpMMAudioOut {
  2923. [default] interface ISpeechMMSysAudio;
  2924. interface ISpEventSource;
  2925. interface ISpEventSink;
  2926. interface ISpObjectWithToken;
  2927. interface ISpMMSysAudio;
  2928. };
  2929. [uuid (715d9c59-4442-11d2-9605-00c04f8ee628), hidden]
  2930. coclass SpStream {
  2931. interface ISpStream;
  2932. };
  2933. [uuid (96749377-3391-11d2-9ee3-00c04f797396)]
  2934. coclass SpVoice {
  2935. [default] interface ISpeechVoice;
  2936. interface ISpVoice;
  2937. #if _SAPI_BLD_ >= 0x53
  2938. interface ISpPhoneticAlphabetSelection;
  2939. #endif
  2940. [default, source] dispinterface _ISpeechVoiceEvents;
  2941. };
  2942. [uuid (47206204-5eca-11d2-960f-00c04f8ee628)]
  2943. coclass SpSharedRecoContext {
  2944. [default] interface ISpeechRecoContext;
  2945. interface ISpRecoContext;
  2946. #if _SAPI_BLD_ >= 0x53
  2947. interface ISpRecoContext2;
  2948. interface ISpPhoneticAlphabetSelection;
  2949. #endif
  2950. [default, source] dispinterface _ISpeechRecoContextEvents;
  2951. };
  2952. [uuid (41b89b6b-9399-11d2-9623-00c04f8ee628)]
  2953. coclass SpInprocRecognizer {
  2954. [default] interface ISpeechRecognizer;
  2955. interface ISpRecognizer;
  2956. #if _SAPI_BLD_ >= 0x053
  2957. interface ISpRecognizer2;
  2958. #if _SAPI_BLD_ >= 0x54
  2959. interface ISpRecognizer3;
  2960. #endif
  2961. interface ISpSerializeState;
  2962. #endif
  2963. };
  2964. [uuid (3bee4890-4fe9-4a37-8c1e-5e7e12791c1f)]
  2965. coclass SpSharedRecognizer {
  2966. [default] interface ISpeechRecognizer;
  2967. interface ISpRecognizer;
  2968. #if _SAPI_BLD_ >= 0x53
  2969. interface ISpRecognizer2;
  2970. #if _SAPI_BLD_ >= 0x054
  2971. interface ISpRecognizer3;
  2972. #endif
  2973. interface ISpSerializeState;
  2974. #endif
  2975. };
  2976. [uuid (0655e396-25d0-11d3-9c26-00c04f8ef87c)]
  2977. coclass SpLexicon {
  2978. [default] interface ISpeechLexicon;
  2979. interface ISpLexicon;
  2980. #if _SAPI_BLD_ >= 0x53
  2981. interface ISpPhoneticAlphabetSelection;
  2982. #endif
  2983. };
  2984. [uuid (C9E37C15-DF92-4727-85d6-72e5eeb6995a)]
  2985. coclass SpUnCompressedLexicon {
  2986. [default] interface ISpeechLexicon;
  2987. interface ISpLexicon;
  2988. interface ISpObjectWithToken;
  2989. #if _SAPI_BLD_ >= 0x53
  2990. interface ISpPhoneticAlphabetSelection;
  2991. #endif
  2992. };
  2993. [uuid (90903716-2f42-11d3-9c26-00c04f8ef87c), hidden]
  2994. coclass SpCompressedLexicon {
  2995. [default] interface ISpLexicon;
  2996. interface ISpObjectWithToken;
  2997. };
  2998. #if _SAPI_BLD_ >= 0x053
  2999. [uuid (0d722f1a-9fcf-4e62-96d8-6df8f01a26aa)]
  3000. coclass SpShortcut {
  3001. interface ISpShortcut;
  3002. interface ISpObjectWithToken;
  3003. };
  3004. #endif
  3005. [uuid (9185f743-1143-4c28-86b5-BFF14F20E5C8)]
  3006. coclass SpPhoneConverter {
  3007. [default] interface ISpeechPhoneConverter;
  3008. interface ISpPhoneConverter;
  3009. #if _SAPI_BLD_ >= 0x53
  3010. interface ISpPhoneticAlphabetSelection;
  3011. #endif
  3012. };
  3013. #if _SAPI_BLD_ >= 0x53
  3014. [uuid (4f414126-DFE3-4629-99ee-797978317ead)]
  3015. coclass SpPhoneticAlphabetConverter {
  3016. interface ISpPhoneticAlphabetConverter;
  3017. };
  3018. #endif
  3019. [uuid (455f24e9-7396-4a16-9715-7c0fdbe3efe3), hidden]
  3020. coclass SpNullPhoneConverter {
  3021. [default] interface ISpPhoneConverter;
  3022. };
  3023. [uuid (0f92030a-CBFD-4ab8-A164-FF5985547FF6)]
  3024. coclass SpTextSelectionInformation {
  3025. [default] interface ISpeechTextSelectionInformation;
  3026. };
  3027. [uuid (C23FC28D-C55F-4720-8b32-91f73c2bd5d1)]
  3028. coclass SpPhraseInfoBuilder {
  3029. [default] interface ISpeechPhraseInfoBuilder;
  3030. };
  3031. [uuid (9ef96870-E160-4792-820d-48cf0649e4ec)]
  3032. coclass SpAudioFormat {
  3033. [default] interface ISpeechAudioFormat;
  3034. };
  3035. [uuid (C79A574C-63be-44b9-801f-283f87f898be)]
  3036. coclass SpWaveFormatEx {
  3037. [default] interface ISpeechWaveFormatEx;
  3038. };
  3039. [uuid (73ad6842-ACE0-45e8-A4DD-8795881a2c2a)]
  3040. coclass SpInProcRecoContext {
  3041. [default] interface ISpeechRecoContext;
  3042. interface ISpRecoContext;
  3043. #if _SAPI_BLD_ >= 0x53
  3044. interface ISpRecoContext2;
  3045. interface ISpPhoneticAlphabetSelection;
  3046. #endif
  3047. [default, source] dispinterface _ISpeechRecoContextEvents;
  3048. };
  3049. [uuid (8dbef13f-1948-4aa8-8cf0-048eebed95d8)]
  3050. coclass SpCustomStream {
  3051. [default] interface ISpeechCustomStream;
  3052. interface ISpStream;
  3053. };
  3054. [uuid (947812b3-2ae1-4644-BA86-9e90ded7ec91)]
  3055. coclass SpFileStream {
  3056. [default] interface ISpeechFileStream;
  3057. interface ISpStream;
  3058. };
  3059. [uuid (5fb7ef7d-DFF4-468a-B6B7-2fcbd188f994)]
  3060. coclass SpMemoryStream {
  3061. [default] interface ISpeechMemoryStream;
  3062. interface ISpStream;
  3063. };
  3064. #if _SAPI_BLD_ >= 0x53
  3065. interface ISpXMLRecoResult;
  3066. interface ISpRecoGrammar2;
  3067. interface ISpeechResourceLoader;
  3068. #endif
  3069. }