]>
Commit | Line | Data |
---|---|---|
ff7c6d11 XL |
1 | // Copyright © 2017 winapi-rs developers |
2 | // Licensed under the Apache License, Version 2.0 | |
3 | // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | |
4 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. | |
5 | // All files in the project carrying such notice may not be copied, modified, or distributed | |
6 | // except according to those terms. | |
7 | //! SAPI 5.3 definitions | |
8 | use ctypes::{c_float, c_int, c_long}; | |
9 | use shared::guiddef::{CLSID, GUID}; | |
10 | use shared::minwindef::{BOOL, BYTE, DWORD, LPARAM, UINT, ULONG, WORD, WPARAM}; | |
11 | use shared::wtypes::{BSTR, VARIANT_BOOL}; | |
12 | use um::oaidl::{IDispatch, IDispatchVtbl, VARIANT}; | |
13 | use um::unknwnbase::{IUnknown, IUnknownVtbl}; | |
14 | use um::urlmon::IInternetSecurityManager; | |
15 | use um::winnt::{HRESULT, LPCWSTR, LPWSTR, ULONGLONG, WCHAR}; | |
16 | pub use um::sapi51::{ | |
17 | SPDATAKEYLOCATION, | |
18 | SPDKL_DefaultLocation, | |
19 | SPDKL_CurrentUser, | |
20 | SPDKL_LocalMachine, | |
21 | SPDKL_CurrentConfig, | |
22 | SPDUI_EngineProperties, | |
23 | SPDUI_AddRemoveWord, | |
24 | SPDUI_UserTraining, | |
25 | SPDUI_MicTraining, | |
26 | SPDUI_RecoProfileProperties, | |
27 | SPDUI_AudioProperties, | |
28 | SPDUI_AudioVolume, | |
29 | SPDUI_UserEnrollment, | |
30 | SPDUI_ShareData, | |
31 | SPDUI_Tutorial, | |
32 | SPSTREAMFORMAT, | |
33 | SPSF_Default, | |
34 | SPSF_NoAssignedFormat, | |
35 | SPSF_Text, | |
36 | SPSF_NonStandardFormat, | |
37 | SPSF_ExtendedAudioFormat, | |
38 | SPSF_8kHz8BitMono, | |
39 | SPSF_8kHz8BitStereo, | |
40 | SPSF_8kHz16BitMono, | |
41 | SPSF_8kHz16BitStereo, | |
42 | SPSF_11kHz8BitMono, | |
43 | SPSF_11kHz8BitStereo, | |
44 | SPSF_11kHz16BitMono, | |
45 | SPSF_11kHz16BitStereo, | |
46 | SPSF_12kHz8BitMono, | |
47 | SPSF_12kHz8BitStereo, | |
48 | SPSF_12kHz16BitMono, | |
49 | SPSF_12kHz16BitStereo, | |
50 | SPSF_16kHz8BitMono, | |
51 | SPSF_16kHz8BitStereo, | |
52 | SPSF_16kHz16BitMono, | |
53 | SPSF_16kHz16BitStereo, | |
54 | SPSF_22kHz8BitMono, | |
55 | SPSF_22kHz8BitStereo, | |
56 | SPSF_22kHz16BitMono, | |
57 | SPSF_22kHz16BitStereo, | |
58 | SPSF_24kHz8BitMono, | |
59 | SPSF_24kHz8BitStereo, | |
60 | SPSF_24kHz16BitMono, | |
61 | SPSF_24kHz16BitStereo, | |
62 | SPSF_32kHz8BitMono, | |
63 | SPSF_32kHz8BitStereo, | |
64 | SPSF_32kHz16BitMono, | |
65 | SPSF_32kHz16BitStereo, | |
66 | SPSF_44kHz8BitMono, | |
67 | SPSF_44kHz8BitStereo, | |
68 | SPSF_44kHz16BitMono, | |
69 | SPSF_44kHz16BitStereo, | |
70 | SPSF_48kHz8BitMono, | |
71 | SPSF_48kHz8BitStereo, | |
72 | SPSF_48kHz16BitMono, | |
73 | SPSF_48kHz16BitStereo, | |
74 | SPSF_TrueSpeech_8kHz1BitMono, | |
75 | SPSF_CCITT_ALaw_8kHzMono, | |
76 | SPSF_CCITT_ALaw_8kHzStereo, | |
77 | SPSF_CCITT_ALaw_11kHzMono, | |
78 | SPSF_CCITT_ALaw_11kHzStereo, | |
79 | SPSF_CCITT_ALaw_22kHzMono, | |
80 | SPSF_CCITT_ALaw_22kHzStereo, | |
81 | SPSF_CCITT_ALaw_44kHzMono, | |
82 | SPSF_CCITT_ALaw_44kHzStereo, | |
83 | SPSF_CCITT_uLaw_8kHzMono, | |
84 | SPSF_CCITT_uLaw_8kHzStereo, | |
85 | SPSF_CCITT_uLaw_11kHzMono, | |
86 | SPSF_CCITT_uLaw_11kHzStereo, | |
87 | SPSF_CCITT_uLaw_22kHzMono, | |
88 | SPSF_CCITT_uLaw_22kHzStereo, | |
89 | SPSF_CCITT_uLaw_44kHzMono, | |
90 | SPSF_CCITT_uLaw_44kHzStereo, | |
91 | SPSF_ADPCM_8kHzMono, | |
92 | SPSF_ADPCM_8kHzStereo, | |
93 | SPSF_ADPCM_11kHzMono, | |
94 | SPSF_ADPCM_11kHzStereo, | |
95 | SPSF_ADPCM_22kHzMono, | |
96 | SPSF_ADPCM_22kHzStereo, | |
97 | SPSF_ADPCM_44kHzMono, | |
98 | SPSF_ADPCM_44kHzStereo, | |
99 | SPSF_GSM610_8kHzMono, | |
100 | SPSF_GSM610_11kHzMono, | |
101 | SPSF_GSM610_22kHzMono, | |
102 | SPSF_GSM610_44kHzMono, | |
103 | SPSF_NUM_FORMATS, | |
104 | SPDFID_Text, | |
105 | SPDFID_WaveFormatEx, | |
106 | SPREG_USER_ROOT, | |
107 | SPREG_LOCAL_MACHINE_ROOT, | |
108 | SPCAT_AUDIOOUT, | |
109 | SPCAT_AUDIOIN, | |
110 | SPCAT_VOICES, | |
111 | SPCAT_RECOGNIZERS, | |
112 | SPCAT_APPLEXICONS, | |
113 | SPCAT_PHONECONVERTERS, | |
114 | SPCAT_TEXTNORMALIZERS, | |
115 | SPCAT_RECOPROFILES, | |
116 | SPMMSYS_AUDIO_IN_TOKEN_ID, | |
117 | SPMMSYS_AUDIO_OUT_TOKEN_ID, | |
118 | SPCURRENT_USER_LEXICON_TOKEN_ID, | |
119 | SPTOKENVALUE_CLSID, | |
120 | SPTOKENKEY_FILES, | |
121 | SPTOKENKEY_UI, | |
122 | SPTOKENKEY_ATTRIBUTES | |
123 | }; | |
124 | pub const SPTOKENKEY_RETAINEDAUDIO: &'static str = "SecondsPerRetainedAudioEvent"; | |
125 | pub const SPTOKENKEY_AUDIO_LATENCY_WARNING: &'static str = "LatencyWarningThreshold"; | |
126 | pub const SPTOKENKEY_AUDIO_LATENCY_TRUNCATE: &'static str = "LatencyTruncateThreshold"; | |
127 | pub const SPTOKENKEY_AUDIO_LATENCY_UPDATE_INTERVAL: &'static str = "LatencyUpdateInterval"; | |
128 | pub use um::sapi51::{ | |
129 | SPVOICECATEGORY_TTSRATE, | |
130 | SPPROP_RESOURCE_USAGE, | |
131 | SPPROP_HIGH_CONFIDENCE_THRESHOLD, | |
132 | SPPROP_NORMAL_CONFIDENCE_THRESHOLD, | |
133 | SPPROP_LOW_CONFIDENCE_THRESHOLD, | |
134 | SPPROP_RESPONSE_SPEED, | |
135 | SPPROP_COMPLEX_RESPONSE_SPEED, | |
136 | SPPROP_ADAPTATION_ON, | |
137 | SPPROP_PERSISTED_BACKGROUND_ADAPTATION, | |
138 | SPPROP_PERSISTED_LANGUAGE_MODEL_ADAPTATION, | |
139 | SPPROP_UX_IS_LISTENING, | |
140 | SPTOPIC_SPELLING, | |
141 | SPWILDCARD, | |
142 | SPDICTATION | |
143 | }; | |
144 | pub const SPREG_SAFE_USER_TOKENS: &'static str | |
145 | = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\UserTokens"; | |
146 | pub use um::sapi51::{ | |
147 | SPINFDICTATION, | |
148 | SP_LOW_CONFIDENCE, | |
149 | SP_NORMAL_CONFIDENCE, | |
150 | SP_HIGH_CONFIDENCE, | |
151 | DEFAULT_WEIGHT, | |
152 | SP_MAX_WORD_LENGTH, | |
153 | SP_MAX_PRON_LENGTH | |
154 | }; | |
155 | pub const SP_EMULATE_RESULT: ULONG = 0x40000000; | |
156 | pub use um::sapi51::{ | |
157 | ISpNotifyCallback, | |
158 | SPNOTIFYCALLBACK, | |
159 | ISpNotifySource, ISpNotifySourceVtbl, | |
160 | ISpNotifySink, ISpNotifySinkVtbl, | |
161 | ISpNotifyTranslator, ISpNotifyTranslatorVtbl, | |
162 | ISpDataKey, ISpDataKeyVtbl, | |
163 | ISpRegDataKey, ISpRegDataKeyVtbl, | |
164 | ISpObjectTokenCategory, ISpObjectTokenCategoryVtbl, | |
165 | ISpObjectToken, ISpObjectTokenVtbl, | |
166 | ISpObjectTokenInit, ISpObjectTokenInitVtbl, | |
167 | IEnumSpObjectTokens, IEnumSpObjectTokensVtbl, | |
168 | ISpObjectWithToken, ISpObjectWithTokenVtbl, | |
169 | ISpResourceManager, ISpResourceManagerVtbl, | |
170 | SPEVENTLPARAMTYPE, | |
171 | SPET_LPARAM_IS_UNDEFINED, | |
172 | SPET_LPARAM_IS_TOKEN, | |
173 | SPET_LPARAM_IS_OBJECT, | |
174 | SPET_LPARAM_IS_POINTER, | |
175 | SPET_LPARAM_IS_STRING, | |
176 | SPEVENTENUM, | |
177 | SPEI_UNDEFINED, | |
178 | SPEI_START_INPUT_STREAM, | |
179 | SPEI_END_INPUT_STREAM, | |
180 | SPEI_VOICE_CHANGE, | |
181 | SPEI_TTS_BOOKMARK, | |
182 | SPEI_WORD_BOUNDARY, | |
183 | SPEI_PHONEME, | |
184 | SPEI_SENTENCE_BOUNDARY, | |
185 | SPEI_VISEME, | |
186 | SPEI_TTS_AUDIO_LEVEL, | |
187 | SPEI_TTS_PRIVATE, | |
188 | SPEI_MIN_TTS, | |
189 | SPEI_MAX_TTS, | |
190 | SPEI_END_SR_STREAM, | |
191 | SPEI_SOUND_START, | |
192 | SPEI_SOUND_END, | |
193 | SPEI_PHRASE_START, | |
194 | SPEI_RECOGNITION, | |
195 | SPEI_HYPOTHESIS, | |
196 | SPEI_SR_BOOKMARK, | |
197 | SPEI_PROPERTY_NUM_CHANGE, | |
198 | SPEI_PROPERTY_STRING_CHANGE, | |
199 | SPEI_FALSE_RECOGNITION, | |
200 | SPEI_INTERFERENCE, | |
201 | SPEI_REQUEST_UI, | |
202 | SPEI_RECO_STATE_CHANGE, | |
203 | SPEI_ADAPTATION, | |
204 | SPEI_START_SR_STREAM, | |
205 | SPEI_RECO_OTHER_CONTEXT, | |
206 | SPEI_SR_AUDIO_LEVEL | |
207 | }; | |
208 | pub const SPEI_SR_RETAINEDAUDIO: SPEVENTENUM = 51; | |
209 | pub use um::sapi51::SPEI_SR_PRIVATE; | |
210 | pub const SPEI_RESERVED4: SPEVENTENUM = 53; | |
211 | pub const SPEI_RESERVED5: SPEVENTENUM = 54; | |
212 | pub const SPEI_RESERVED6: SPEVENTENUM = 55; | |
213 | pub use um::sapi51::SPEI_MIN_SR; | |
214 | pub const SPEI_MAX_SR: SPEVENTENUM = 55; | |
215 | pub use um::sapi51::{ | |
216 | SPEI_RESERVED1, | |
217 | SPEI_RESERVED2, | |
218 | SPEI_RESERVED3, | |
219 | SPFEI_FLAGCHECK, | |
220 | SPFEI_ALL_TTS_EVENTS, | |
221 | SPFEI_ALL_SR_EVENTS, | |
222 | SPFEI_ALL_EVENTS, | |
223 | SPFEI, | |
224 | SPEVENT, | |
225 | SPSERIALIZEDEVENT, | |
226 | SPSERIALIZEDEVENT64 | |
227 | }; | |
228 | STRUCT!{struct SPEVENTEX { | |
229 | eEventId: WORD, | |
230 | elParamType: WORD, | |
231 | ulStreamNum: ULONG, | |
232 | ullAudioStreamOffset: ULONGLONG, | |
233 | wParam: WPARAM, | |
234 | lParam: LPARAM, | |
235 | ullAudioTimeOffset: ULONGLONG, | |
236 | }} | |
237 | pub use um::sapi51::{ | |
238 | SPINTERFERENCE, | |
239 | SPINTERFERENCE_NONE, | |
240 | SPINTERFERENCE_NOISE, | |
241 | SPINTERFERENCE_NOSIGNAL, | |
242 | SPINTERFERENCE_TOOLOUD, | |
243 | SPINTERFERENCE_TOOQUIET, | |
244 | SPINTERFERENCE_TOOFAST, | |
245 | SPINTERFERENCE_TOOSLOW, | |
246 | SPINTERFERENCE_LATENCY_WARNING, | |
247 | SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN, | |
248 | SPINTERFERENCE_LATENCY_TRUNCATE_END, | |
249 | SPENDSRSTREAMFLAGS, | |
250 | SPESF_NONE, | |
251 | SPESF_STREAM_RELEASED | |
252 | }; | |
253 | pub const SPESF_EMULATED: SPENDSRSTREAMFLAGS = 1 << 1; | |
254 | pub use um::sapi51::{ | |
255 | SPVFEATURE, | |
256 | SPVFEATURE_STRESSED, | |
257 | SPVFEATURE_EMPHASIS, | |
258 | SPVISEMES, | |
259 | SP_VISEME_0, | |
260 | SP_VISEME_1, | |
261 | SP_VISEME_2, | |
262 | SP_VISEME_3, | |
263 | SP_VISEME_4, | |
264 | SP_VISEME_5, | |
265 | SP_VISEME_6, | |
266 | SP_VISEME_7, | |
267 | SP_VISEME_8, | |
268 | SP_VISEME_9, | |
269 | SP_VISEME_10, | |
270 | SP_VISEME_11, | |
271 | SP_VISEME_12, | |
272 | SP_VISEME_13, | |
273 | SP_VISEME_14, | |
274 | SP_VISEME_15, | |
275 | SP_VISEME_16, | |
276 | SP_VISEME_17, | |
277 | SP_VISEME_18, | |
278 | SP_VISEME_19, | |
279 | SP_VISEME_20, | |
280 | SP_VISEME_21, | |
281 | SPEVENTSOURCEINFO, | |
282 | ISpEventSource, ISpEventSourceVtbl, | |
283 | }; | |
0bf4aa26 | 284 | RIDL!{#[uuid(0x2373a435, 0x6a4b, 0x429e, 0xa6, 0xac, 0xd4, 0x23, 0x1a, 0x61, 0x97, 0x5b)] |
ff7c6d11 XL |
285 | interface ISpEventSource2(ISpEventSource2Vtbl): ISpEventSource(ISpEventSourceVtbl) { |
286 | fn GetEventsEx( | |
287 | ulCount: ULONG, | |
288 | pEventArray: *mut SPEVENTEX, | |
289 | pulFetched: *mut ULONG, | |
290 | ) -> HRESULT, | |
0bf4aa26 | 291 | }} |
ff7c6d11 XL |
292 | pub use um::sapi51::{ |
293 | ISpEventSink, ISpEventSinkVtbl, | |
294 | ISpStreamFormat, ISpStreamFormatVtbl, | |
295 | SPFILEMODE, | |
296 | SPFM_OPEN_READONLY, | |
297 | SPFM_OPEN_READWRITE, | |
298 | SPFM_CREATE, | |
299 | SPFM_CREATE_ALWAYS, | |
300 | SPFM_NUM_MODES, | |
301 | ISpStream, ISpStreamVtbl, | |
302 | ISpStreamFormatConverter, ISpStreamFormatConverterVtbl, | |
303 | SPAUDIOSTATE, | |
304 | SPAS_CLOSED, | |
305 | SPAS_STOP, | |
306 | SPAS_PAUSE, | |
307 | SPAS_RUN, | |
308 | SPAUDIOSTATUS, | |
309 | SPAUDIOBUFFERINFO, | |
310 | ISpAudio, ISpAudioVtbl, | |
311 | ISpMMSysAudio, ISpMMSysAudioVtbl, | |
312 | ISpTranscript, ISpTranscriptVtbl, | |
313 | SPDISPLAYATTRIBUTES, | |
314 | SPAF_ONE_TRAILING_SPACE, | |
315 | SPAF_TWO_TRAILING_SPACES, | |
316 | SPAF_CONSUME_LEADING_SPACES | |
317 | }; | |
318 | pub const SPAF_BUFFER_POSITION: SPDISPLAYATTRIBUTES = 0x10; | |
319 | pub const SPAF_ALL: SPDISPLAYATTRIBUTES = 0x1f; | |
320 | pub const SPAF_USER_SPECIFIED: SPDISPLAYATTRIBUTES = 0x80; | |
321 | pub use um::sapi51::{ | |
322 | SPPHONEID, | |
323 | PSPPHONEID, | |
324 | PCSPPHONEID, | |
325 | SPPHRASEELEMENT, | |
326 | SPPHRASERULE, | |
327 | SPPHRASEPROPERTYUNIONTYPE, | |
328 | SPPPUT_UNUSED, | |
329 | SPPPUT_ARRAY_INDEX, | |
330 | SPPHRASEPROPERTY, | |
331 | SPPHRASEREPLACEMENT | |
332 | }; | |
333 | STRUCT!{struct SPSEMANTICERRORINFO { | |
334 | ulLineNumber: ULONG, | |
335 | pszScriptLine: LPWSTR, | |
336 | pszSource: LPWSTR, | |
337 | pszDescription: LPWSTR, | |
338 | hrResultCode: HRESULT, | |
339 | }} | |
340 | ENUM!{enum SPSEMANTICFORMAT { | |
341 | SPSMF_SAPI_PROPERTIES = 0, | |
342 | SPSMF_SRGS_SEMANTICINTERPRETATION_MS = 1, | |
343 | SPSMF_SRGS_SAPIPROPERTIES = 2, | |
344 | SPSMF_UPS = 4, | |
345 | SPSMF_SRGS_SEMANTICINTERPRETATION_W3C = 8, | |
346 | }} | |
347 | pub use um::sapi51::SPPHRASE as SPPHRASE_50; | |
348 | // TODO: pub const SP_SPPHRASESIZE_500: usize = mem::size_of::<SPPHRASE_50>(); | |
349 | STRUCT!{struct SPPHRASE { | |
350 | cbSize: ULONG, | |
351 | LangID: WORD, | |
352 | wHomophoneGroupId: WORD, | |
353 | ullGrammarID: ULONGLONG, | |
354 | ftStartTime: ULONGLONG, | |
355 | ullAudioStreamPosition: ULONGLONG, | |
356 | ulAudioSizeBytes: ULONG, | |
357 | ulRetainedSizeBytes: ULONG, | |
358 | ulAudioSizeTime: ULONG, | |
359 | Rule: SPPHRASERULE, | |
360 | pProperties: *const SPPHRASEPROPERTY, | |
361 | pElements: *const SPPHRASEELEMENT, | |
362 | cReplacements: ULONG, | |
363 | pReplacements: *const SPPHRASEREPLACEMENT, | |
364 | SREngineID: GUID, | |
365 | ulSREnginePrivateDataSize: ULONG, | |
366 | pSREnginePrivateData: *const BYTE, | |
367 | pSML: LPWSTR, | |
368 | pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, | |
369 | }} | |
370 | pub use um::sapi51::SPSERIALIZEDPHRASE; | |
371 | STRUCT!{struct SPRULE { | |
372 | pszRuleName: LPCWSTR, | |
373 | ulRuleId: ULONG, | |
374 | dwAttributes: DWORD, | |
375 | }} | |
376 | pub use um::sapi51::{ | |
377 | SPVALUETYPE, | |
378 | SPDF_PROPERTY, | |
379 | SPDF_REPLACEMENT, | |
380 | SPDF_RULE, | |
381 | SPDF_DISPLAYTEXT, | |
382 | SPDF_LEXICALFORM , | |
383 | SPDF_PRONUNCIATION, | |
384 | SPDF_AUDIO, | |
385 | SPDF_ALTERNATES, | |
386 | SPDF_ALL, | |
387 | SPBINARYGRAMMAR, | |
388 | SPPHRASERNG, | |
389 | SPPR_ALL_ELEMENTS, | |
390 | SP_GETWHOLEPHRASE, | |
391 | SPRR_ALL_ELEMENTS, | |
392 | SPSTATEHANDLE, | |
393 | SPRECOEVENTFLAGS, | |
394 | SPREF_AutoPause, | |
395 | SPREF_Emulated | |
396 | }; | |
397 | pub const SPREF_SMLTimeout: SPRECOEVENTFLAGS = 1 << 2; | |
398 | pub const SPREF_ExtendableParse: SPRECOEVENTFLAGS = 1 << 3; | |
399 | pub const SPREF_ReSent: SPRECOEVENTFLAGS = 1 << 4; | |
400 | pub const SPREF_Hypothesis: SPRECOEVENTFLAGS = 1 << 5; | |
401 | pub const SPREF_FalseRecognition: SPRECOEVENTFLAGS = 1 << 6; | |
402 | pub use um::sapi51::{ | |
403 | SPPARTOFSPEECH, | |
404 | SPPS_NotOverriden, | |
405 | SPPS_Unknown, | |
406 | SPPS_Noun, | |
407 | SPPS_Verb, | |
408 | SPPS_Modifier, | |
409 | SPPS_Function, | |
410 | SPPS_Interjection | |
411 | }; | |
412 | pub const SPPS_Noncontent: SPPARTOFSPEECH = 0x6000; | |
413 | pub const SPPS_LMA: SPPARTOFSPEECH = 0x7000; | |
414 | pub const SPPS_SuppressWord: SPPARTOFSPEECH = 0xf000; | |
415 | pub use um::sapi51::{ | |
416 | SPLEXICONTYPE, | |
417 | eLEXTYPE_USER, | |
418 | eLEXTYPE_APP, | |
419 | eLEXTYPE_VENDORLEXICON, | |
420 | eLEXTYPE_LETTERTOSOUND, | |
421 | eLEXTYPE_MORPHOLOGY, | |
422 | eLEXTYPE_RESERVED4, | |
423 | eLEXTYPE_USER_SHORTCUT, | |
424 | eLEXTYPE_RESERVED6, | |
425 | eLEXTYPE_RESERVED7, | |
426 | eLEXTYPE_RESERVED8, | |
427 | eLEXTYPE_RESERVED9, | |
428 | eLEXTYPE_RESERVED10, | |
429 | eLEXTYPE_PRIVATE1, | |
430 | eLEXTYPE_PRIVATE2, | |
431 | eLEXTYPE_PRIVATE3, | |
432 | eLEXTYPE_PRIVATE4, | |
433 | eLEXTYPE_PRIVATE5, | |
434 | eLEXTYPE_PRIVATE6, | |
435 | eLEXTYPE_PRIVATE7, | |
436 | eLEXTYPE_PRIVATE8, | |
437 | eLEXTYPE_PRIVATE9, | |
438 | eLEXTYPE_PRIVATE10, | |
439 | eLEXTYPE_PRIVATE11, | |
440 | eLEXTYPE_PRIVATE12, | |
441 | eLEXTYPE_PRIVATE13, | |
442 | eLEXTYPE_PRIVATE14, | |
443 | eLEXTYPE_PRIVATE15, | |
444 | eLEXTYPE_PRIVATE16, | |
445 | eLEXTYPE_PRIVATE17, | |
446 | eLEXTYPE_PRIVATE18, | |
447 | eLEXTYPE_PRIVATE19, | |
448 | eLEXTYPE_PRIVATE20, | |
449 | SPWORDTYPE, | |
450 | eWORDTYPE_ADDED, | |
451 | eWORDTYPE_DELETED | |
452 | }; | |
453 | ENUM!{enum SPPRONUNCIATIONFLAGS { | |
454 | ePRONFLAG_USED = 1 << 0, | |
455 | }} | |
456 | pub use um::sapi51::{ | |
457 | SPWORDPRONUNCIATION, | |
458 | SPWORDPRONUNCIATIONLIST, | |
459 | SPWORD, | |
460 | SPWORDLIST, | |
461 | ISpLexicon, ISpLexiconVtbl, | |
462 | ISpContainerLexicon, ISpContainerLexiconVtbl, | |
463 | }; | |
464 | ENUM!{enum SPSHORTCUTTYPE { | |
465 | SPSHT_NotOverriden = -1i32 as u32, | |
466 | SPSHT_Unknown = 0, | |
467 | SPSHT_EMAIL = 0x1000, | |
468 | SPSHT_OTHER = 0x2000, | |
469 | SPPS_RESERVED1 = 0x3000, | |
470 | SPPS_RESERVED2 = 0x4000, | |
471 | SPPS_RESERVED3 = 0x5000, | |
472 | SPPS_RESERVED4 = 0xf000, | |
473 | }} | |
474 | STRUCT!{struct SPSHORTCUTPAIR { | |
475 | pNextSHORTCUTPAIR: *mut SPSHORTCUTPAIR, | |
476 | LangID: WORD, | |
477 | shType: SPSHORTCUTTYPE, | |
478 | pszDisplay: LPWSTR, | |
479 | pszSpoken: LPWSTR, | |
480 | }} | |
481 | STRUCT!{struct SPSHORTCUTPAIRLIST { | |
482 | ulSize: ULONG, | |
483 | pvBuffer: *mut BYTE, | |
484 | pFirstShortcutPair: *mut SPSHORTCUTPAIR, | |
485 | }} | |
0bf4aa26 | 486 | RIDL!{#[uuid(0x3df681e2, 0xea56, 0x11d9, 0x8b, 0xde, 0xf6, 0x6b, 0xad, 0x1e, 0x3f, 0x3a)] |
ff7c6d11 XL |
487 | interface ISpShortcut(ISpShortcutVtbl): IUnknown(IUnknownVtbl) { |
488 | fn AddShortcut( | |
489 | pszDisplay: LPCWSTR, | |
490 | LangID: WORD, | |
491 | pszSpoken: LPCWSTR, | |
492 | shType: SPSHORTCUTTYPE, | |
493 | ) -> HRESULT, | |
494 | fn RemoveShortcut( | |
495 | pszDisplay: LPCWSTR, | |
496 | LangID: WORD, | |
497 | pszSpoken: LPCWSTR, | |
498 | shType: SPSHORTCUTTYPE, | |
499 | ) -> HRESULT, | |
500 | fn GetShortcuts( | |
501 | LangId: WORD, | |
502 | pShortcutpairList: *mut SPSHORTCUTPAIRLIST, | |
503 | ) -> HRESULT, | |
504 | fn GetGeneration( | |
505 | pdwGeneration: *mut DWORD, | |
506 | ) -> HRESULT, | |
507 | fn GetWordsFromGenerationChange( | |
508 | pdwGeneration: *mut DWORD, | |
509 | pWordList: *mut SPWORDLIST, | |
510 | ) -> HRESULT, | |
511 | fn GetWords( | |
512 | pdwGeneration: *mut DWORD, | |
513 | pdwCookie: *mut DWORD, | |
514 | pWordList: *mut SPWORDLIST, | |
515 | ) -> HRESULT, | |
516 | fn GetShortcutsForGeneration( | |
517 | pdwGeneration: *mut DWORD, | |
518 | pdwCookie: *mut DWORD, | |
519 | pShortcutpairList: *mut SPSHORTCUTPAIRLIST, | |
520 | ) -> HRESULT, | |
521 | fn GetGenerationChange( | |
522 | pdwGeneration: *mut DWORD, | |
523 | pShortcutpairList: *mut SPSHORTCUTPAIRLIST, | |
524 | ) -> HRESULT, | |
0bf4aa26 | 525 | }} |
ff7c6d11 | 526 | pub use um::sapi51::{ISpPhoneConverter, ISpPhoneConverterVtbl}; |
0bf4aa26 | 527 | RIDL!{#[uuid(0x133adcd4, 0x19b4, 0x4020, 0x9f, 0xdc, 0x84, 0x2e, 0x78, 0x25, 0x3b, 0x17)] |
ff7c6d11 XL |
528 | interface ISpPhoneticAlphabetConverter(ISpPhoneticAlphabetConverterVtbl): IUnknown(IUnknownVtbl) { |
529 | fn GetLangId( | |
530 | pLangID: *mut WORD, | |
531 | ) -> HRESULT, | |
532 | fn SetLangId( | |
533 | LangID: WORD, | |
534 | ) -> HRESULT, | |
535 | fn SAPI2UPS( | |
536 | pszSAPIId: *const SPPHONEID, | |
537 | pszUPSId: *mut SPPHONEID, | |
538 | cMaxLength: DWORD, | |
539 | ) -> HRESULT, | |
540 | fn UPS2SAPI( | |
541 | pszUPSId: *const SPPHONEID, | |
542 | pszSAPIId: *mut SPPHONEID, | |
543 | cMaxLength: DWORD, | |
544 | ) -> HRESULT, | |
545 | fn GetMaxConvertLength( | |
546 | cSrcLength: DWORD, | |
547 | bSAPI2UPS: BOOL, | |
548 | pcMaxDestLength: *mut DWORD, | |
549 | ) -> HRESULT, | |
0bf4aa26 XL |
550 | }} |
551 | RIDL!{#[uuid(0xb2745efd, 0x42ce, 0x48ca, 0x81, 0xf1, 0xa9, 0x6e, 0x02, 0x53, 0x8a, 0x90)] | |
ff7c6d11 XL |
552 | interface ISpPhoneticAlphabetSelection(ISpPhoneticAlphabetSelectionVtbl): IUnknown(IUnknownVtbl) { |
553 | fn IsAlphabetUPS( | |
554 | pfIsUPS: *mut BOOL, | |
555 | ) -> HRESULT, | |
556 | fn SetAlphabetToUPS( | |
557 | fForceUPS: BOOL, | |
558 | ) -> HRESULT, | |
0bf4aa26 | 559 | }} |
ff7c6d11 XL |
560 | pub use um::sapi51::{ |
561 | SPVPITCH, | |
562 | SPVACTIONS, | |
563 | SPVA_Speak, | |
564 | SPVA_Silence, | |
565 | SPVA_Pronounce, | |
566 | SPVA_Bookmark, | |
567 | SPVA_SpellOut, | |
568 | SPVA_Section, | |
569 | SPVA_ParseUnknownTag, | |
570 | SPVCONTEXT, | |
571 | SPVSTATE, | |
572 | SPRUNSTATE, | |
573 | SPRS_DONE, | |
574 | SPRS_IS_SPEAKING, | |
575 | SPVLIMITS, | |
576 | SPMIN_VOLUME, | |
577 | SPMAX_VOLUME, | |
578 | SPMIN_RATE, | |
579 | SPMAX_RATE, | |
580 | SPVPRIORITY, | |
581 | SPVPRI_NORMAL, | |
582 | SPVPRI_ALERT, | |
583 | SPVPRI_OVER, | |
584 | SPVOICESTATUS, | |
585 | SPEAKFLAGS, | |
586 | SPF_DEFAULT, | |
587 | SPF_ASYNC, | |
588 | SPF_PURGEBEFORESPEAK, | |
589 | SPF_IS_FILENAME, | |
590 | SPF_IS_XML, | |
591 | SPF_IS_NOT_XML, | |
592 | SPF_PERSIST_XML, | |
593 | SPF_NLP_SPEAK_PUNC, | |
594 | }; | |
595 | pub const SPF_PARSE_SAPI: SPEAKFLAGS = 1 << 7; | |
596 | pub const SPF_PARSE_SSML: SPEAKFLAGS = 1 << 8; | |
597 | pub const SPF_PARSE_AUTODETECT: SPEAKFLAGS = 0; | |
598 | pub use um::sapi51::SPF_NLP_MASK; | |
599 | pub const SPF_PARSE_MASK: SPEAKFLAGS = SPF_PARSE_SAPI | SPF_PARSE_SSML; | |
600 | pub const SPF_VOICE_MASK: SPEAKFLAGS = ::um::sapi51::SPF_VOICE_MASK | SPF_PARSE_MASK; | |
601 | pub const SPF_UNUSED_FLAGS: SPEAKFLAGS = !SPF_VOICE_MASK; | |
602 | pub use um::sapi51::{ | |
603 | ISpVoice, ISpVoiceVtbl, | |
604 | ISpPhrase, ISpPhraseVtbl, | |
605 | ISpPhraseAlt, ISpPhraseAltVtbl, | |
606 | }; | |
607 | ENUM!{enum SPXMLRESULTOPTIONS { | |
608 | SPXRO_SML = 0, | |
609 | SPXRO_Alternates_SML = 1, | |
610 | }} | |
0bf4aa26 | 611 | RIDL!{#[uuid(0xf264da52, 0xe457, 0x4696, 0xb8, 0x56, 0xa7, 0x37, 0xb7, 0x17, 0xaf, 0x79)] |
ff7c6d11 XL |
612 | interface ISpPhrase2(ISpPhrase2Vtbl): ISpPhrase(ISpPhraseVtbl) { |
613 | fn GetXMLResult( | |
614 | ppszCoMemXMLResult: *mut LPWSTR, | |
615 | Options: SPXMLRESULTOPTIONS, | |
616 | ) -> HRESULT, | |
617 | fn GetXMLErrorInfo( | |
618 | pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, | |
619 | ) -> HRESULT, | |
620 | fn GetAudio( | |
621 | ulStartElement: ULONG, | |
622 | cElements: ULONG, | |
623 | ppStream: *mut *mut ISpStreamFormat, | |
624 | ) -> HRESULT, | |
0bf4aa26 | 625 | }} |
ff7c6d11 XL |
626 | pub use um::sapi51::{ |
627 | SPRECORESULTTIMES, | |
628 | SPSERIALIZEDRESULT, | |
629 | ISpRecoResult, ISpRecoResultVtbl, | |
630 | }; | |
631 | ENUM!{enum SPCOMMITFLAGS { | |
632 | SPCF_NONE = 0, | |
633 | SPCF_ADD_TO_USER_LEXICON = 1 << 0, | |
634 | SPCF_DEFINITE_CORRECTION = 1 << 1, | |
635 | }} | |
0bf4aa26 | 636 | RIDL!{#[uuid(0x27cac6c4, 0x88f2, 0x41f2, 0x88, 0x17, 0x0c, 0x95, 0xe5, 0x9f, 0x1e, 0x6e)] |
ff7c6d11 XL |
637 | interface ISpRecoResult2(ISpRecoResult2Vtbl): ISpRecoResult(ISpRecoResultVtbl) { |
638 | fn CommitAlternate( | |
639 | pPhraseAlt: *mut ISpPhraseAlt, | |
640 | ppNewResult: *mut *mut ISpRecoResult, | |
641 | ) -> HRESULT, | |
642 | fn CommitText( | |
643 | ulStartElement: ULONG, | |
644 | cElements: ULONG, | |
645 | pszCorrectedData: LPCWSTR, | |
646 | eCommitFlags: DWORD, | |
647 | ) -> HRESULT, | |
648 | fn SetTextFeedback( | |
649 | pszFeedback: LPCWSTR, | |
650 | fSuccessful: BOOL, | |
651 | ) -> HRESULT, | |
0bf4aa26 XL |
652 | }} |
653 | RIDL!{#[uuid(0xae39362b, 0x45a8, 0x4074, 0x9b, 0x9e, 0xcc, 0xf4, 0x9a, 0xa2, 0xd0, 0xb6)] | |
ff7c6d11 XL |
654 | interface ISpXMLRecoResult(ISpXMLRecoResultVtbl): ISpRecoResult(ISpRecoResultVtbl) { |
655 | fn GetXMLResult( | |
656 | ppszCoMemXMLResult: *mut LPWSTR, | |
657 | Options: SPXMLRESULTOPTIONS, | |
658 | ) -> HRESULT, | |
659 | fn GetXMLErrorInfo( | |
660 | pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, | |
661 | ) -> HRESULT, | |
0bf4aa26 | 662 | }} |
ff7c6d11 XL |
663 | pub use um::sapi51::{ |
664 | SPTEXTSELECTIONINFO, | |
665 | SPWORDPRONOUNCEABLE, | |
666 | SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE, | |
667 | SPWP_UNKNOWN_WORD_PRONOUNCEABLE, | |
668 | SPWP_KNOWN_WORD_PRONOUNCEABLE, | |
669 | SPGRAMMARSTATE, | |
670 | SPGS_DISABLED, | |
671 | SPGS_ENABLED, | |
672 | SPGS_EXCLUSIVE, | |
673 | SPCONTEXTSTATE, | |
674 | SPCS_DISABLED, | |
675 | SPCS_ENABLED, | |
676 | SPRULESTATE, | |
677 | SPRS_INACTIVE, | |
678 | SPRS_ACTIVE, | |
679 | SPRS_ACTIVE_WITH_AUTO_PAUSE, | |
680 | }; | |
681 | pub const SPRS_ACTIVE_USER_DELIMITED: SPRULESTATE = 4; | |
682 | pub use um::sapi51::{ | |
683 | SP_STREAMPOS_ASAP, | |
684 | SP_STREAMPOS_REALTIME, | |
685 | SPRULETRANS_TEXTBUFFER, | |
686 | SPRULETRANS_WILDCARD, | |
687 | SPRULETRANS_DICTATION, | |
688 | SPGRAMMARWORDTYPE, | |
689 | SPWT_DISPLAY, | |
690 | SPWT_LEXICAL, | |
691 | SPWT_PRONUNCIATION, | |
692 | }; | |
693 | pub const SPWT_LEXICAL_NO_SPECIAL_CHARS: SPGRAMMARWORDTYPE = SPWT_PRONUNCIATION + 1; | |
694 | pub use um::sapi51::{ | |
695 | SPPROPERTYINFO, | |
696 | SPCFGRULEATTRIBUTES, | |
697 | SPRAF_TopLevel, | |
698 | SPRAF_Active, | |
699 | SPRAF_Export, | |
700 | SPRAF_Import, | |
701 | SPRAF_Interpreter, | |
702 | SPRAF_Dynamic, | |
703 | }; | |
704 | pub const SPRAF_Root: SPCFGRULEATTRIBUTES = 1 << 6; | |
705 | pub use um::sapi51::SPRAF_AutoPause; | |
706 | pub const SPRAF_UserDelimited: SPCFGRULEATTRIBUTES = 1 << 17; | |
707 | pub use um::sapi51::{ | |
708 | ISpGrammarBuilder, ISpGrammarBuilderVtbl, | |
709 | SPLOADOPTIONS, | |
710 | SPLO_STATIC, | |
711 | SPLO_DYNAMIC, | |
712 | ISpRecoGrammar, ISpRecoGrammarVtbl, | |
713 | }; | |
714 | ENUM!{enum SPMATCHINGMODE { | |
715 | AllWords = 0, | |
716 | Subsequence = 1, | |
717 | OrderedSubset = 3, | |
718 | SubsequenceContentRequired = 5, | |
719 | OrderedSubsetContentRequired = 7, | |
720 | }} | |
721 | ENUM!{enum PHONETICALPHABET { | |
722 | PA_Ipa = 0, | |
723 | PA_Ups = 1, | |
724 | PA_Sapi = 2, | |
725 | }} | |
0bf4aa26 | 726 | RIDL!{#[uuid(0x8ab10026, 0x20cc, 0x4b20, 0x8c, 0x22, 0xa4, 0x9c, 0x9b, 0xa7, 0x8f, 0x60)] |
ff7c6d11 XL |
727 | interface ISpGrammarBuilder2(ISpGrammarBuilder2Vtbl): IUnknown(IUnknownVtbl) { |
728 | fn AddTextSubset( | |
729 | hFromState: SPSTATEHANDLE, | |
730 | hToState: SPSTATEHANDLE, | |
731 | psz: LPCWSTR, | |
732 | eMatchMode: SPMATCHINGMODE, | |
733 | ) -> HRESULT, | |
734 | fn SetPhoneticAlphabet( | |
735 | phoneticALphabet: PHONETICALPHABET, | |
736 | ) -> HRESULT, | |
0bf4aa26 | 737 | }} |
ff7c6d11 | 738 | pub const SPRP_NORMAL: i32 = 0; // TODO: Unknown purpose and type |
0bf4aa26 | 739 | RIDL!{#[uuid(0x4b37bc9e, 0x9ed6, 0x44a3, 0x93, 0xd3, 0x18, 0xf0, 0x22, 0xb7, 0x9e, 0xc3)] |
ff7c6d11 XL |
740 | interface ISpRecoGrammar2(ISpRecoGrammar2Vtbl): IUnknown(IUnknownVtbl) { |
741 | fn GetRules( | |
742 | ppCoMemRules: *mut *mut SPRULE, | |
743 | puNumRules: *mut UINT, | |
744 | ) -> HRESULT, | |
745 | fn LoadCmdFromFile2( | |
746 | pszFileName: LPCWSTR, | |
747 | Options: SPLOADOPTIONS, | |
748 | pszSharingUri: LPCWSTR, | |
749 | pszBaseUri: LPCWSTR, | |
750 | ) -> HRESULT, | |
751 | fn LoadCmdFromMemory2( | |
752 | pGrammar: *const SPBINARYGRAMMAR, | |
753 | Options: SPLOADOPTIONS, | |
754 | pszSharingUri: LPCWSTR, | |
755 | pszBaseUri: LPCWSTR, | |
756 | ) -> HRESULT, | |
757 | fn SetRulePriority( | |
758 | pszRuleName: LPCWSTR, | |
759 | ulRuleId: ULONG, | |
760 | nRulePriority: c_int, | |
761 | ) -> HRESULT, | |
762 | fn SetRuleWeight( | |
763 | pszRuleName: LPCWSTR, | |
764 | ulRuleId: ULONG, | |
765 | flWeight: c_float, | |
766 | ) -> HRESULT, | |
767 | fn SetDictationWeight( | |
768 | flWeight: c_float, | |
769 | ) -> HRESULT, | |
770 | fn SetGrammarLoader( | |
771 | pLoader: *mut ISpeechResourceLoader, | |
772 | ) -> HRESULT, | |
773 | fn SetSMLSecurityManager( | |
774 | pSMLSecurityManager: *mut IInternetSecurityManager, | |
775 | ) -> HRESULT, | |
0bf4aa26 XL |
776 | }} |
777 | RIDL!{#[uuid(0xb9ac5783, 0xfcd0, 0x4b21, 0xb1, 0x19, 0xb4, 0xf8, 0xda, 0x8f, 0xd2, 0xc3)] | |
ff7c6d11 XL |
778 | interface ISpeechResourceLoader(ISpeechResourceLoaderVtbl): IDispatch(IDispatchVtbl) { |
779 | fn LoadResource( | |
780 | bstrResourceUri: BSTR, | |
781 | fAlwaysReload: VARIANT_BOOL, | |
782 | pStream: *mut *mut IUnknown, | |
783 | pbstrMIMEType: *mut BSTR, | |
784 | pfModified: *mut VARIANT_BOOL, | |
785 | pbstrRedirectUrl: *mut BSTR, | |
786 | ) -> HRESULT, | |
787 | fn GetLocalCopy( | |
788 | bstrResourceUri: BSTR, | |
789 | pbstrLocalPath: *mut BSTR, | |
790 | pbstrMIMEType: *mut BSTR, | |
791 | pbstrRedirectUrl: *mut BSTR, | |
792 | ) -> HRESULT, | |
793 | fn ReleaseLocalCopy( | |
794 | pbstrLocalPath: BSTR, | |
795 | ) -> HRESULT, | |
0bf4aa26 | 796 | }} |
ff7c6d11 XL |
797 | pub use um::sapi51::{ |
798 | SPRECOCONTEXTSTATUS, | |
799 | SPBOOKMARKOPTIONS, | |
800 | SPBO_NONE, | |
801 | SPBO_PAUSE, | |
802 | }; | |
803 | pub const SPBO_AHEAD: SPBOOKMARKOPTIONS = 1 << 1; | |
804 | pub const SPBO_TIME_UNITS: SPBOOKMARKOPTIONS = 1 << 2; | |
805 | pub use um::sapi51::{ | |
806 | SPAUDIOOPTIONS, | |
807 | SPAO_NONE, | |
808 | SPAO_RETAIN_AUDIO, | |
809 | ISpRecoContext, ISpRecoContextVtbl, | |
810 | }; | |
811 | ENUM!{enum SPGRAMMAROPTIONS { | |
812 | SPGO_SAPI = 0x1, | |
813 | SPGO_SRGS = 0x2, | |
814 | SPGO_UPS = 0x4, | |
815 | SPGO_SRGS_MS_SCRIPT = 0x8, | |
816 | SPGO_SRGS_W3C_SCRIPT = 0x100, | |
817 | SPGO_SRGS_STG_SCRIPT = 0x200, | |
818 | SPGO_SRGS_SCRIPT = SPGO_SRGS | SPGO_SRGS_MS_SCRIPT | |
819 | | SPGO_SRGS_W3C_SCRIPT | SPGO_SRGS_STG_SCRIPT, | |
820 | SPGO_FILE = 0x10, | |
821 | SPGO_HTTP = 0x20, | |
822 | SPGO_RES = 0x40, | |
823 | SPGO_OBJECT = 0x80, | |
824 | SPGO_DEFAULT = 0x3fb, | |
825 | SPGO_ALL = 0x3ff, | |
826 | }} | |
827 | ENUM!{enum SPADAPTATIONSETTINGS { | |
828 | SPADS_Default = 0, | |
829 | SPADS_CurrentRecognizer = 0x1, | |
830 | SPADS_RecoProfile = 0x2, | |
831 | SPADS_Immediate = 0x4, | |
832 | SPADS_Reset = 0x8, | |
833 | SPADS_HighVolumeDataSource = 0x10, | |
834 | }} | |
835 | ENUM!{enum SPADAPTATIONRELEVANCE { | |
836 | SPAR_Unknown = 0, | |
837 | SPAR_Low = 1, | |
838 | SPAR_Medium = 2, | |
839 | SPAR_High = 3, | |
840 | }} | |
0bf4aa26 | 841 | RIDL!{#[uuid(0xbead311c, 0x52ff, 0x437f, 0x94, 0x64, 0x6b, 0x21, 0x05, 0x4c, 0xa7, 0x3d)] |
ff7c6d11 XL |
842 | interface ISpRecoContext2(ISpRecoContext2Vtbl): IUnknown(IUnknownVtbl) { |
843 | fn SetGrammarOptions( | |
844 | eGrammarOptions: DWORD, | |
845 | ) -> HRESULT, | |
846 | fn GetGrammarOptions( | |
847 | peGrammarOptions: *mut DWORD, | |
848 | ) -> HRESULT, | |
849 | fn SetAdaptationData2( | |
850 | pAdaptationData: LPCWSTR, | |
851 | cch: ULONG, | |
852 | pTopicName: LPCWSTR, | |
853 | eAdaptationSettings: DWORD, | |
854 | eRelevance: SPADAPTATIONRELEVANCE, | |
855 | ) -> HRESULT, | |
0bf4aa26 | 856 | }} |
ff7c6d11 XL |
857 | pub use um::sapi51::{ |
858 | ISpProperties, ISpPropertiesVtbl, | |
859 | SP_MAX_LANGIDS, | |
860 | SPRECOGNIZERSTATUS, | |
861 | SPWAVEFORMATTYPE, | |
862 | SPWF_INPUT, | |
863 | SPWF_SRENGINE, | |
864 | SPSTREAMFORMATTYPE, | |
865 | SPRECOSTATE, | |
866 | SPRST_INACTIVE, | |
867 | SPRST_ACTIVE, | |
868 | SPRST_ACTIVE_ALWAYS, | |
869 | SPRST_INACTIVE_WITH_PURGE, | |
870 | SPRST_NUM_STATES, | |
871 | ISpRecognizer, ISpRecognizerVtbl, | |
872 | }; | |
0bf4aa26 | 873 | RIDL!{#[uuid(0x21b501a0, 0x0ec7, 0x46c9, 0x92, 0xc3, 0xa2, 0xbc, 0x78, 0x4c, 0x54, 0xb9)] |
ff7c6d11 XL |
874 | interface ISpSerializeState(ISpSerializeStateVtbl): IUnknown(IUnknownVtbl) { |
875 | fn GetSerializedState( | |
876 | ppbData: *mut *mut BYTE, | |
877 | pulSize: *mut ULONG, | |
878 | dwReserved: DWORD, | |
879 | ) -> HRESULT, | |
880 | fn SetSerializedState( | |
881 | pbData: *mut BYTE, | |
882 | ulSize: ULONG, | |
883 | dwReserved: DWORD, | |
884 | ) -> HRESULT, | |
0bf4aa26 XL |
885 | }} |
886 | RIDL!{#[uuid(0x8fc6d974, 0xc81e, 0x4098, 0x93, 0xc5, 0x01, 0x47, 0xf6, 0x1e, 0xd4, 0xd3)] | |
ff7c6d11 XL |
887 | interface ISpRecognizer2(ISpRecognizer2Vtbl): IUnknown(IUnknownVtbl) { |
888 | fn EmulateRecognitionEx( | |
889 | pPhrase: *mut ISpPhrase, | |
890 | dwCompareFlags: DWORD, | |
891 | ) -> HRESULT, | |
892 | fn SetTrainingState( | |
893 | fDoingTraining: BOOL, | |
894 | fAdaptFromTrainingData: BOOL, | |
895 | ) -> HRESULT, | |
896 | fn ResetAcousticModelAdaptation() -> HRESULT, | |
0bf4aa26 | 897 | }} |
ff7c6d11 XL |
898 | STRUCT!{struct SPNORMALIZATIONLIST { |
899 | ulSize: ULONG, | |
900 | ppszzNormalizedList: *mut *mut WCHAR, | |
901 | }} | |
0bf4aa26 | 902 | RIDL!{#[uuid(0xc360ce4b, 0x76d1, 0x4214, 0xad, 0x68, 0x52, 0x65, 0x7d, 0x50, 0x83, 0xda)] |
ff7c6d11 XL |
903 | interface ISpEnginePronunciation(ISpEnginePronunciationVtbl): IUnknown(IUnknownVtbl) { |
904 | fn Normalize( | |
905 | pszWord: LPCWSTR, | |
906 | pszLeftContext: LPCWSTR, | |
907 | pszRightContext: LPCWSTR, | |
908 | LangID: WORD, | |
909 | pNormalizationList: *mut SPNORMALIZATIONLIST, | |
910 | ) -> HRESULT, | |
911 | fn GetPronunciations( | |
912 | pszWord: LPCWSTR, | |
913 | pszLeftContext: LPCWSTR, | |
914 | pszRightContext: LPCWSTR, | |
915 | LangID: WORD, | |
916 | pEnginePronunciationList: *mut SPWORDPRONUNCIATIONLIST, | |
917 | ) -> HRESULT, | |
0bf4aa26 | 918 | }} |
ff7c6d11 XL |
919 | STRUCT!{struct SPDISPLAYTOKEN { |
920 | pszLexical: *const WCHAR, | |
921 | pszDisplay: *const WCHAR, | |
922 | bDisplayAttributes: BYTE, | |
923 | }} | |
924 | STRUCT!{struct SPDISPLAYPHRASE { | |
925 | ulNumTokens: ULONG, | |
926 | pTokens: *mut SPDISPLAYTOKEN, | |
927 | }} | |
0bf4aa26 | 928 | RIDL!{#[uuid(0xc8d7c7e2, 0x0dde, 0x44b7, 0xaf, 0xe3, 0xb0, 0xc9, 0x91, 0xfb, 0xeb, 0x5e)] |
ff7c6d11 XL |
929 | interface ISpDisplayAlternates(ISpDisplayAlternatesVtbl): IUnknown(IUnknownVtbl) { |
930 | fn GetDisplayAlternates( | |
931 | pPhrase: *const SPDISPLAYPHRASE, | |
932 | cRequestCount: ULONG, | |
933 | ppCoMemPhrases: *mut *mut SPDISPLAYPHRASE, | |
934 | pcPhrasesReturned: *mut ULONG, | |
935 | ) -> HRESULT, | |
936 | fn SetFullStopTrailSpace( | |
937 | ulTrailSpace: ULONG, | |
938 | ) -> HRESULT, | |
0bf4aa26 | 939 | }} |
ff7c6d11 XL |
940 | pub use um::sapi51::{ |
941 | SpeechLanguageId, | |
942 | DISPID_SpeechDataKey, | |
943 | DISPID_SDKSetBinaryValue, | |
944 | DISPID_SDKGetBinaryValue, | |
945 | DISPID_SDKSetStringValue, | |
946 | DISPID_SDKGetStringValue, | |
947 | DISPID_SDKSetLongValue, | |
948 | DISPID_SDKGetlongValue, | |
949 | DISPID_SDKOpenKey, | |
950 | DISPID_SDKCreateKey, | |
951 | DISPID_SDKDeleteKey, | |
952 | DISPID_SDKDeleteValue, | |
953 | DISPID_SDKEnumKeys, | |
954 | DISPID_SDKEnumValues, | |
955 | DISPID_SpeechObjectToken, | |
956 | DISPID_SOTId, | |
957 | DISPID_SOTDataKey, | |
958 | DISPID_SOTCategory, | |
959 | DISPID_SOTGetDescription, | |
960 | DISPID_SOTSetId, | |
961 | DISPID_SOTGetAttribute, | |
962 | DISPID_SOTCreateInstance, | |
963 | DISPID_SOTRemove, | |
964 | DISPID_SOTGetStorageFileName, | |
965 | DISPID_SOTRemoveStorageFileName, | |
966 | DISPID_SOTIsUISupported, | |
967 | DISPID_SOTDisplayUI, | |
968 | DISPID_SOTMatchesAttributes, | |
969 | SpeechDataKeyLocation, | |
970 | SDKLDefaultLocation, | |
971 | SDKLCurrentUser, | |
972 | SDKLLocalMachine, | |
973 | SDKLCurrentConfig, | |
974 | SpeechTokenContext, | |
975 | STCInprocServer, | |
976 | STCInprocHandler , | |
977 | STCLocalServer, | |
978 | STCRemoteServer, | |
979 | STCAll, | |
980 | SpeechTokenShellFolder, | |
981 | STSF_AppData, | |
982 | STSF_LocalAppData, | |
983 | STSF_CommonAppData, | |
984 | STSF_FlagCreate, | |
985 | DISPID_SpeechObjectTokens, | |
986 | DISPID_SOTsCount, | |
987 | DISPID_SOTsItem, | |
988 | DISPID_SOTs_NewEnum, | |
989 | DISPID_SpeechObjectTokenCategory, | |
990 | DISPID_SOTCId, | |
991 | DISPID_SOTCDefault, | |
992 | DISPID_SOTCSetId, | |
993 | DISPID_SOTCGetDataKey, | |
994 | DISPID_SOTCEnumerateTokens, | |
995 | SpeechAudioFormatType, | |
996 | SAFTDefault, | |
997 | SAFTNoAssignedFormat, | |
998 | SAFTText, | |
999 | SAFTNonStandardFormat, | |
1000 | SAFTExtendedAudioFormat, | |
1001 | SAFT8kHz8BitMono, | |
1002 | SAFT8kHz8BitStereo, | |
1003 | SAFT8kHz16BitMono, | |
1004 | SAFT8kHz16BitStereo, | |
1005 | SAFT11kHz8BitMono, | |
1006 | SAFT11kHz8BitStereo, | |
1007 | SAFT11kHz16BitMono, | |
1008 | SAFT11kHz16BitStereo, | |
1009 | SAFT12kHz8BitMono, | |
1010 | SAFT12kHz8BitStereo, | |
1011 | SAFT12kHz16BitMono, | |
1012 | SAFT12kHz16BitStereo, | |
1013 | SAFT16kHz8BitMono, | |
1014 | SAFT16kHz8BitStereo, | |
1015 | SAFT16kHz16BitMono, | |
1016 | SAFT16kHz16BitStereo, | |
1017 | SAFT22kHz8BitMono, | |
1018 | SAFT22kHz8BitStereo, | |
1019 | SAFT22kHz16BitMono, | |
1020 | SAFT22kHz16BitStereo, | |
1021 | SAFT24kHz8BitMono, | |
1022 | SAFT24kHz8BitStereo, | |
1023 | SAFT24kHz16BitMono, | |
1024 | SAFT24kHz16BitStereo, | |
1025 | SAFT32kHz8BitMono, | |
1026 | SAFT32kHz8BitStereo, | |
1027 | SAFT32kHz16BitMono, | |
1028 | SAFT32kHz16BitStereo, | |
1029 | SAFT44kHz8BitMono, | |
1030 | SAFT44kHz8BitStereo, | |
1031 | SAFT44kHz16BitMono, | |
1032 | SAFT44kHz16BitStereo, | |
1033 | SAFT48kHz8BitMono, | |
1034 | SAFT48kHz8BitStereo, | |
1035 | SAFT48kHz16BitMono, | |
1036 | SAFT48kHz16BitStereo, | |
1037 | SAFTTrueSpeech_8kHz1BitMono, | |
1038 | SAFTCCITT_ALaw_8kHzMono, | |
1039 | SAFTCCITT_ALaw_8kHzStereo, | |
1040 | SAFTCCITT_ALaw_11kHzMono, | |
1041 | SAFTCCITT_ALaw_11kHzStereo, | |
1042 | SAFTCCITT_ALaw_22kHzMono, | |
1043 | SAFTCCITT_ALaw_22kHzStereo, | |
1044 | SAFTCCITT_ALaw_44kHzMono, | |
1045 | SAFTCCITT_ALaw_44kHzStereo, | |
1046 | SAFTCCITT_uLaw_8kHzMono, | |
1047 | SAFTCCITT_uLaw_8kHzStereo, | |
1048 | SAFTCCITT_uLaw_11kHzMono, | |
1049 | SAFTCCITT_uLaw_11kHzStereo, | |
1050 | SAFTCCITT_uLaw_22kHzMono, | |
1051 | SAFTCCITT_uLaw_22kHzStereo, | |
1052 | SAFTCCITT_uLaw_44kHzMono, | |
1053 | SAFTCCITT_uLaw_44kHzStereo, | |
1054 | SAFTADPCM_8kHzMono, | |
1055 | SAFTADPCM_8kHzStereo, | |
1056 | SAFTADPCM_11kHzMono, | |
1057 | SAFTADPCM_11kHzStereo, | |
1058 | SAFTADPCM_22kHzMono, | |
1059 | SAFTADPCM_22kHzStereo, | |
1060 | SAFTADPCM_44kHzMono, | |
1061 | SAFTADPCM_44kHzStereo, | |
1062 | SAFTGSM610_8kHzMono, | |
1063 | SAFTGSM610_11kHzMono, | |
1064 | SAFTGSM610_22kHzMono, | |
1065 | SAFTGSM610_44kHzMono, | |
1066 | DISPID_SpeechAudioFormat, | |
1067 | DISPID_SAFType, | |
1068 | DISPID_SAFGuid, | |
1069 | DISPID_SAFGetWaveFormatEx, | |
1070 | DISPID_SAFSetWaveFormatEx, | |
1071 | DISPID_SpeechBaseStream, | |
1072 | DISPID_SBSFormat, | |
1073 | DISPID_SBSRead, | |
1074 | DISPID_SBSWrite, | |
1075 | DISPID_SBSSeek, | |
1076 | SpeechStreamSeekPositionType, | |
1077 | SSSPTRelativeToStart, | |
1078 | SSSPTRelativeToCurrentPosition, | |
1079 | SSSPTRelativeToEnd, | |
1080 | DISPID_SpeechAudio, | |
1081 | DISPID_SAStatus, | |
1082 | DISPID_SABufferInfo, | |
1083 | DISPID_SADefaultFormat, | |
1084 | DISPID_SAVolume, | |
1085 | DISPID_SABufferNotifySize, | |
1086 | DISPID_SAEventHandle, | |
1087 | DISPID_SASetState, | |
1088 | SpeechAudioState, | |
1089 | SASClosed, | |
1090 | SASStop, | |
1091 | SASPause, | |
1092 | SASRun, | |
1093 | DISPID_SpeechMMSysAudio, | |
1094 | DISPID_SMSADeviceId, | |
1095 | DISPID_SMSALineId, | |
1096 | DISPID_SMSAMMHandle, | |
1097 | DISPID_SpeechFileStream, | |
1098 | DISPID_SFSOpen, | |
1099 | DISPID_SFSClose, | |
1100 | SpeechStreamFileMode, | |
1101 | SSFMOpenForRead, | |
1102 | SSFMOpenReadWrite, | |
1103 | SSFMCreate, | |
1104 | SSFMCreateForWrite, | |
1105 | DISPID_SpeechCustomStream, | |
1106 | DISPID_SCSBaseStream, | |
1107 | DISPID_SpeechMemoryStream, | |
1108 | DISPID_SMSSetData, | |
1109 | DISPID_SMSGetData, | |
1110 | DISPID_SpeechAudioStatus, | |
1111 | DISPID_SASFreeBufferSpace, | |
1112 | DISPID_SASNonBlockingIO, | |
1113 | DISPID_SASState, | |
1114 | DISPID_SASCurrentSeekPosition, | |
1115 | DISPID_SASCurrentDevicePosition, | |
1116 | DISPID_SpeechAudioBufferInfo, | |
1117 | DISPID_SABIMinNotification, | |
1118 | DISPID_SABIBufferSize, | |
1119 | DISPID_SABIEventBias, | |
1120 | DISPID_SpeechWaveFormatEx, | |
1121 | DISPID_SWFEFormatTag, | |
1122 | DISPID_SWFEChannels, | |
1123 | DISPID_SWFESamplesPerSec, | |
1124 | DISPID_SWFEAvgBytesPerSec, | |
1125 | DISPID_SWFEBlockAlign, | |
1126 | DISPID_SWFEBitsPerSample, | |
1127 | DISPID_SWFEExtraData, | |
1128 | DISPID_SpeechVoice, | |
1129 | DISPID_SVStatus, | |
1130 | DISPID_SVVoice, | |
1131 | DISPID_SVAudioOutput, | |
1132 | DISPID_SVAudioOutputStream, | |
1133 | DISPID_SVRate, | |
1134 | DISPID_SVVolume, | |
1135 | DISPID_SVAllowAudioOuputFormatChangesOnNextSet, | |
1136 | DISPID_SVEventInterests, | |
1137 | DISPID_SVPriority, | |
1138 | DISPID_SVAlertBoundary, | |
1139 | DISPID_SVSyncronousSpeakTimeout, | |
1140 | DISPID_SVSpeak, | |
1141 | DISPID_SVSpeakStream, | |
1142 | DISPID_SVPause, | |
1143 | DISPID_SVResume, | |
1144 | DISPID_SVSkip, | |
1145 | DISPID_SVGetVoices, | |
1146 | DISPID_SVGetAudioOutputs, | |
1147 | DISPID_SVWaitUntilDone, | |
1148 | DISPID_SVSpeakCompleteEvent, | |
1149 | DISPID_SVIsUISupported, | |
1150 | DISPID_SVDisplayUI, | |
1151 | SpeechVoicePriority, | |
1152 | SVPNormal, | |
1153 | SVPAlert, | |
1154 | SVPOver, | |
1155 | SpeechVoiceSpeakFlags, | |
1156 | SVSFDefault, | |
1157 | SVSFlagsAsync, | |
1158 | SVSFPurgeBeforeSpeak, | |
1159 | SVSFIsFilename, | |
1160 | SVSFIsXML, | |
1161 | SVSFIsNotXML, | |
1162 | SVSFPersistXML, | |
1163 | SVSFNLPSpeakPunc, | |
1164 | }; | |
1165 | pub const SVSFParseSapi: SpeechVoiceSpeakFlags = SPF_PARSE_SAPI; | |
1166 | pub const SVSFParseSsml: SpeechVoiceSpeakFlags = SPF_PARSE_SSML; | |
1167 | pub const SVSFParseAutodetect: SpeechVoiceSpeakFlags = SPF_PARSE_AUTODETECT; | |
1168 | pub use um::sapi51::SVSFNLPMask; | |
1169 | pub const SVSFParseMask: SpeechVoiceSpeakFlags = SPF_PARSE_MASK as u32; | |
1170 | pub use um::sapi51::{ | |
1171 | SVSFVoiceMask, | |
1172 | SVSFUnusedFlags, | |
1173 | SpeechVoiceEvents, | |
1174 | SVEStartInputStream, | |
1175 | SVEEndInputStream, | |
1176 | SVEVoiceChange, | |
1177 | SVEBookmark, | |
1178 | SVEWordBoundary, | |
1179 | SVEPhoneme, | |
1180 | SVESentenceBoundary, | |
1181 | SVEViseme, | |
1182 | SVEAudioLevel, | |
1183 | SVEPrivate, | |
1184 | SVEAllEvents, | |
1185 | DISPID_SpeechVoiceStatus, | |
1186 | DISPID_SVSCurrentStreamNumber, | |
1187 | DISPID_SVSLastStreamNumberQueued, | |
1188 | DISPID_SVSLastResult, | |
1189 | DISPID_SVSRunningState, | |
1190 | DISPID_SVSInputWordPosition, | |
1191 | DISPID_SVSInputWordLength, | |
1192 | DISPID_SVSInputSentencePosition, | |
1193 | DISPID_SVSInputSentenceLength, | |
1194 | DISPID_SVSLastBookmark, | |
1195 | DISPID_SVSLastBookmarkId, | |
1196 | DISPID_SVSPhonemeId, | |
1197 | DISPID_SVSVisemeId, | |
1198 | SpeechRunState, | |
1199 | SRSEDone, | |
1200 | SRSEIsSpeaking, | |
1201 | SpeechVisemeType, | |
1202 | SVP_0, | |
1203 | SVP_1, | |
1204 | SVP_2, | |
1205 | SVP_3, | |
1206 | SVP_4, | |
1207 | SVP_5, | |
1208 | SVP_6, | |
1209 | SVP_7, | |
1210 | SVP_8, | |
1211 | SVP_9, | |
1212 | SVP_10, | |
1213 | SVP_11, | |
1214 | SVP_12, | |
1215 | SVP_13, | |
1216 | SVP_14, | |
1217 | SVP_15, | |
1218 | SVP_16, | |
1219 | SVP_17, | |
1220 | SVP_18, | |
1221 | SVP_19, | |
1222 | SVP_20, | |
1223 | SVP_21, | |
1224 | SpeechVisemeFeature, | |
1225 | SVF_None, | |
1226 | SVF_Stressed, | |
1227 | SVF_Emphasis, | |
1228 | DISPID_SpeechVoiceEvent, | |
1229 | DISPID_SVEStreamStart, | |
1230 | DISPID_SVEStreamEnd, | |
1231 | DISPID_SVEVoiceChange, | |
1232 | DISPID_SVEBookmark, | |
1233 | DISPID_SVEWord, | |
1234 | DISPID_SVEPhoneme, | |
1235 | DISPID_SVESentenceBoundary, | |
1236 | DISPID_SVEViseme, | |
1237 | DISPID_SVEAudioLevel, | |
1238 | DISPID_SVEEnginePrivate, | |
1239 | DISPID_SpeechRecognizer, | |
1240 | DISPID_SRRecognizer, | |
1241 | DISPID_SRAllowAudioInputFormatChangesOnNextSet, | |
1242 | DISPID_SRAudioInput, | |
1243 | DISPID_SRAudioInputStream, | |
1244 | DISPID_SRIsShared, | |
1245 | DISPID_SRState, | |
1246 | DISPID_SRStatus, | |
1247 | DISPID_SRProfile, | |
1248 | DISPID_SREmulateRecognition, | |
1249 | DISPID_SRCreateRecoContext, | |
1250 | DISPID_SRGetFormat, | |
1251 | DISPID_SRSetPropertyNumber, | |
1252 | DISPID_SRGetPropertyNumber, | |
1253 | DISPID_SRSetPropertyString, | |
1254 | DISPID_SRGetPropertyString, | |
1255 | DISPID_SRIsUISupported, | |
1256 | DISPID_SRDisplayUI, | |
1257 | DISPID_SRGetRecognizers, | |
1258 | DISPID_SVGetAudioInputs, | |
1259 | DISPID_SVGetProfiles, | |
1260 | SpeechRecognizerState, | |
1261 | SRSInactive, | |
1262 | SRSActive, | |
1263 | SRSActiveAlways, | |
1264 | SRSInactiveWithPurge, | |
1265 | SpeechDisplayAttributes, | |
1266 | SDA_No_Trailing_Space, | |
1267 | SDA_One_Trailing_Space, | |
1268 | SDA_Two_Trailing_Spaces, | |
1269 | SDA_Consume_Leading_Spaces, | |
1270 | SpeechFormatType, | |
1271 | SFTInput, | |
1272 | SFTSREngine, | |
1273 | }; | |
1274 | ENUM!{enum SpeechEmulationCompareFlags { | |
1275 | SECFIgnoreCase = 0x1, | |
1276 | SECFIgnoreKanaType = 0x10000, | |
1277 | SECFIgnoreWidth = 0x20000, | |
1278 | SECFNoSpecialChars = 0x20000000, | |
1279 | SECFEmulateResult = 0x40000000, | |
1280 | SECFDefault = SECFIgnoreCase | SECFIgnoreKanaType | SECFIgnoreWidth, | |
1281 | }} | |
1282 | pub use um::sapi51::{ | |
1283 | DISPID_SpeechRecognizerStatus, | |
1284 | DISPID_SRSAudioStatus, | |
1285 | DISPID_SRSCurrentStreamPosition, | |
1286 | DISPID_SRSCurrentStreamNumber, | |
1287 | DISPID_SRSNumberOfActiveRules, | |
1288 | DISPID_SRSClsidEngine, | |
1289 | DISPID_SRSSupportedLanguages, | |
1290 | DISPID_SpeechRecoContext, | |
1291 | DISPID_SRCRecognizer, | |
1292 | DISPID_SRCAudioInInterferenceStatus, | |
1293 | DISPID_SRCRequestedUIType, | |
1294 | DISPID_SRCVoice, | |
1295 | DISPID_SRAllowVoiceFormatMatchingOnNextSet, | |
1296 | DISPID_SRCVoicePurgeEvent, | |
1297 | DISPID_SRCEventInterests, | |
1298 | DISPID_SRCCmdMaxAlternates, | |
1299 | DISPID_SRCState, | |
1300 | DISPID_SRCRetainedAudio, | |
1301 | DISPID_SRCRetainedAudioFormat, | |
1302 | DISPID_SRCPause, | |
1303 | DISPID_SRCResume, | |
1304 | DISPID_SRCCreateGrammar, | |
1305 | DISPID_SRCCreateResultFromMemory, | |
1306 | DISPID_SRCBookmark, | |
1307 | DISPID_SRCSetAdaptationData, | |
1308 | SpeechRetainedAudioOptions, | |
1309 | SRAONone, | |
1310 | SRAORetainAudio, | |
1311 | SpeechBookmarkOptions, | |
1312 | SBONone, | |
1313 | SBOPause, | |
1314 | SpeechInterference, | |
1315 | SINone, | |
1316 | SINoise, | |
1317 | SINoSignal, | |
1318 | SITooLoud, | |
1319 | SITooQuiet, | |
1320 | SITooFast, | |
1321 | SITooSlow, | |
1322 | SpeechRecoEvents, | |
1323 | SREStreamEnd, | |
1324 | SRESoundStart, | |
1325 | SRESoundEnd, | |
1326 | SREPhraseStart, | |
1327 | SRERecognition, | |
1328 | SREHypothesis, | |
1329 | SREBookmark, | |
1330 | SREPropertyNumChange, | |
1331 | SREPropertyStringChange, | |
1332 | SREFalseRecognition, | |
1333 | SREInterference, | |
1334 | SRERequestUI, | |
1335 | SREStateChange, | |
1336 | SREAdaptation, | |
1337 | SREStreamStart, | |
1338 | SRERecoOtherContext, | |
1339 | SREAudioLevel, | |
1340 | SREPrivate, | |
1341 | SREAllEvents, | |
1342 | SpeechRecoContextState, | |
1343 | SRCS_Disabled, | |
1344 | SRCS_Enabled, | |
1345 | DISPIDSPRG, | |
1346 | DISPID_SRGId, | |
1347 | DISPID_SRGRecoContext, | |
1348 | DISPID_SRGState, | |
1349 | DISPID_SRGRules, | |
1350 | DISPID_SRGReset, | |
1351 | DISPID_SRGCommit, | |
1352 | DISPID_SRGCmdLoadFromFile, | |
1353 | DISPID_SRGCmdLoadFromObject, | |
1354 | DISPID_SRGCmdLoadFromResource, | |
1355 | DISPID_SRGCmdLoadFromMemory, | |
1356 | DISPID_SRGCmdLoadFromProprietaryGrammar, | |
1357 | DISPID_SRGCmdSetRuleState, | |
1358 | DISPID_SRGCmdSetRuleIdState, | |
1359 | DISPID_SRGDictationLoad, | |
1360 | DISPID_SRGDictationUnload, | |
1361 | DISPID_SRGDictationSetState, | |
1362 | DISPID_SRGSetWordSequenceData, | |
1363 | DISPID_SRGSetTextSelection, | |
1364 | DISPID_SRGIsPronounceable, | |
1365 | SpeechLoadOption, | |
1366 | SLOStatic, | |
1367 | SLODynamic, | |
1368 | SpeechWordPronounceable, | |
1369 | SWPUnknownWordUnpronounceable, | |
1370 | SWPUnknownWordPronounceable, | |
1371 | SWPKnownWordPronounceable, | |
1372 | SpeechGrammarState, | |
1373 | SGSEnabled, | |
1374 | SGSDisabled, | |
1375 | SGSExclusive, | |
1376 | SpeechRuleState, | |
1377 | SGDSInactive, | |
1378 | SGDSActive, | |
1379 | SGDSActiveWithAutoPause, | |
1380 | }; | |
1381 | pub const SGDSActiveUserDelimited: SpeechRuleState = SPRS_ACTIVE_USER_DELIMITED; | |
1382 | pub use um::sapi51::{ | |
1383 | SpeechRuleAttributes, | |
1384 | SRATopLevel, | |
1385 | SRADefaultToActive, | |
1386 | SRAExport, | |
1387 | SRAImport, | |
1388 | SRAInterpreter, | |
1389 | SRADynamic, | |
1390 | }; | |
1391 | pub const SRARoot: SpeechRuleAttributes = SPRAF_Root; | |
1392 | pub use um::sapi51::{ | |
1393 | SpeechGrammarWordType, | |
1394 | SGDisplay, | |
1395 | SGLexical, | |
1396 | SGPronounciation, | |
1397 | }; | |
1398 | pub const SGLexicalNoSpecialChars: SpeechGrammarWordType = SPWT_LEXICAL_NO_SPECIAL_CHARS; | |
1399 | pub use um::sapi51::{ | |
1400 | DISPID_SpeechRecoContextEvents, | |
1401 | DISPID_SRCEStartStream, | |
1402 | DISPID_SRCEEndStream, | |
1403 | DISPID_SRCEBookmark, | |
1404 | DISPID_SRCESoundStart, | |
1405 | DISPID_SRCESoundEnd, | |
1406 | DISPID_SRCEPhraseStart, | |
1407 | DISPID_SRCERecognition, | |
1408 | DISPID_SRCEHypothesis, | |
1409 | DISPID_SRCEPropertyNumberChange, | |
1410 | DISPID_SRCEPropertyStringChange, | |
1411 | DISPID_SRCEFalseRecognition, | |
1412 | DISPID_SRCEInterference, | |
1413 | DISPID_SRCERequestUI, | |
1414 | DISPID_SRCERecognizerStateChange, | |
1415 | DISPID_SRCEAdaptation, | |
1416 | DISPID_SRCERecognitionForOtherContext, | |
1417 | DISPID_SRCEAudioLevel, | |
1418 | DISPID_SRCEEnginePrivate, | |
1419 | SpeechRecognitionType, | |
1420 | SRTStandard, | |
1421 | SRTAutopause, | |
1422 | SRTEmulated, | |
1423 | }; | |
1424 | pub const SRTSMLTimeout: SpeechRecognitionType = SPREF_SMLTimeout; | |
1425 | pub const SRTExtendableParse: SpeechRecognitionType = SPREF_ExtendableParse; | |
1426 | pub const SRTReSent: SpeechRecognitionType = SPREF_ReSent; | |
1427 | pub use um::sapi51::{ | |
1428 | DISPID_SpeechGrammarRule, | |
1429 | DISPID_SGRAttributes, | |
1430 | DISPID_SGRInitialState, | |
1431 | DISPID_SGRName, | |
1432 | DISPID_SGRId, | |
1433 | DISPID_SGRClear, | |
1434 | DISPID_SGRAddResource, | |
1435 | DISPID_SGRAddState, | |
1436 | DISPID_SpeechGrammarRules, | |
1437 | DISPID_SGRsCount, | |
1438 | DISPID_SGRsDynamic, | |
1439 | DISPID_SGRsAdd, | |
1440 | DISPID_SGRsCommit, | |
1441 | DISPID_SGRsCommitAndSave, | |
1442 | DISPID_SGRsFindRule, | |
1443 | DISPID_SGRsItem, | |
1444 | DISPID_SGRs_NewEnum, | |
1445 | DISPID_SpeechGrammarRuleState, | |
1446 | DISPID_SGRSRule, | |
1447 | DISPID_SGRSTransitions, | |
1448 | DISPID_SGRSAddWordTransition, | |
1449 | DISPID_SGRSAddRuleTransition, | |
1450 | DISPID_SGRSAddSpecialTransition, | |
1451 | SpeechSpecialTransitionType, | |
1452 | SSTTWildcard, | |
1453 | SSTTDictation, | |
1454 | SSTTTextBuffer, | |
1455 | DISPID_SpeechGrammarRuleStateTransitions, | |
1456 | DISPID_SGRSTsCount, | |
1457 | DISPID_SGRSTsItem, | |
1458 | DISPID_SGRSTs_NewEnum, | |
1459 | DISPID_SpeechGrammarRuleStateTransition, | |
1460 | DISPID_SGRSTType, | |
1461 | DISPID_SGRSTText, | |
1462 | DISPID_SGRSTRule, | |
1463 | DISPID_SGRSTWeight, | |
1464 | DISPID_SGRSTPropertyName, | |
1465 | DISPID_SGRSTPropertyId, | |
1466 | DISPID_SGRSTPropertyValue, | |
1467 | DISPID_SGRSTNextState, | |
1468 | SpeechGrammarRuleStateTransitionType, | |
1469 | SGRSTTEpsilon, | |
1470 | SGRSTTWord, | |
1471 | SGRSTTRule, | |
1472 | SGRSTTDictation, | |
1473 | SGRSTTWildcard, | |
1474 | SGRSTTTextBuffer, | |
1475 | DISPIDSPTSI, | |
1476 | DISPIDSPTSI_ActiveOffset, | |
1477 | DISPIDSPTSI_ActiveLength, | |
1478 | DISPIDSPTSI_SelectionOffset, | |
1479 | DISPIDSPTSI_SelectionLength, | |
1480 | DISPID_SpeechRecoResult, | |
1481 | DISPID_SRRRecoContext, | |
1482 | DISPID_SRRTimes, | |
1483 | DISPID_SRRAudioFormat, | |
1484 | DISPID_SRRPhraseInfo, | |
1485 | DISPID_SRRAlternates, | |
1486 | DISPID_SRRAudio, | |
1487 | DISPID_SRRSpeakAudio, | |
1488 | DISPID_SRRSaveToMemory, | |
1489 | DISPID_SRRDiscardResultInfo, | |
1490 | SpeechDiscardType, | |
1491 | SDTProperty, | |
1492 | SDTReplacement, | |
1493 | SDTRule, | |
1494 | SDTDisplayText, | |
1495 | SDTLexicalForm, | |
1496 | SDTPronunciation, | |
1497 | SDTAudio, | |
1498 | SDTAlternates, | |
1499 | SDTAll, | |
1500 | }; | |
1501 | ENUM!{enum DISPID_SpeechXMLRecoResult { | |
1502 | DISPID_SRRGetXMLResult, | |
1503 | DISPID_SRRGetXMLErrorInfo, | |
1504 | }} | |
1505 | ENUM!{enum DISPID_SpeechRecoResult2 { | |
1506 | DISPID_SRRSetTextFeedback, | |
1507 | }} | |
1508 | pub use um::sapi51::{ | |
1509 | DISPID_SpeechPhraseBuilder, | |
1510 | DISPID_SPPBRestorePhraseFromMemory, | |
1511 | DISPID_SpeechRecoResultTimes, | |
1512 | DISPID_SRRTStreamTime, | |
1513 | DISPID_SRRTLength, | |
1514 | DISPID_SRRTTickCount, | |
1515 | DISPID_SRRTOffsetFromStart, | |
1516 | DISPID_SpeechPhraseAlternate, | |
1517 | DISPID_SPARecoResult, | |
1518 | DISPID_SPAStartElementInResult, | |
1519 | DISPID_SPANumberOfElementsInResult, | |
1520 | DISPID_SPAPhraseInfo, | |
1521 | DISPID_SPACommit, | |
1522 | DISPID_SpeechPhraseAlternates, | |
1523 | DISPID_SPAsCount, | |
1524 | DISPID_SPAsItem, | |
1525 | DISPID_SPAs_NewEnum, | |
1526 | DISPID_SpeechPhraseInfo, | |
1527 | DISPID_SPILanguageId, | |
1528 | DISPID_SPIGrammarId, | |
1529 | DISPID_SPIStartTime, | |
1530 | DISPID_SPIAudioStreamPosition, | |
1531 | DISPID_SPIAudioSizeBytes, | |
1532 | DISPID_SPIRetainedSizeBytes, | |
1533 | DISPID_SPIAudioSizeTime, | |
1534 | DISPID_SPIRule, | |
1535 | DISPID_SPIProperties, | |
1536 | DISPID_SPIElements, | |
1537 | DISPID_SPIReplacements, | |
1538 | DISPID_SPIEngineId, | |
1539 | DISPID_SPIEnginePrivateData, | |
1540 | DISPID_SPISaveToMemory, | |
1541 | DISPID_SPIGetText, | |
1542 | DISPID_SPIGetDisplayAttributes, | |
1543 | DISPID_SpeechPhraseElement, | |
1544 | DISPID_SPEAudioTimeOffset, | |
1545 | DISPID_SPEAudioSizeTime, | |
1546 | DISPID_SPEAudioStreamOffset, | |
1547 | DISPID_SPEAudioSizeBytes, | |
1548 | DISPID_SPERetainedStreamOffset, | |
1549 | DISPID_SPERetainedSizeBytes, | |
1550 | DISPID_SPEDisplayText, | |
1551 | DISPID_SPELexicalForm, | |
1552 | DISPID_SPEPronunciation, | |
1553 | DISPID_SPEDisplayAttributes, | |
1554 | DISPID_SPERequiredConfidence, | |
1555 | DISPID_SPEActualConfidence, | |
1556 | DISPID_SPEEngineConfidence, | |
1557 | SpeechEngineConfidence, | |
1558 | SECLowConfidence, | |
1559 | SECNormalConfidence, | |
1560 | SECHighConfidence, | |
1561 | DISPID_SpeechPhraseElements, | |
1562 | DISPID_SPEsCount, | |
1563 | DISPID_SPEsItem, | |
1564 | DISPID_SPEs_NewEnum, | |
1565 | DISPID_SpeechPhraseReplacement, | |
1566 | DISPID_SPRDisplayAttributes, | |
1567 | DISPID_SPRText, | |
1568 | DISPID_SPRFirstElement, | |
1569 | DISPID_SPRNumberOfElements, | |
1570 | DISPID_SpeechPhraseReplacements, | |
1571 | DISPID_SPRsCount, | |
1572 | DISPID_SPRsItem, | |
1573 | DISPID_SPRs_NewEnum, | |
1574 | DISPID_SpeechPhraseProperty, | |
1575 | DISPID_SPPName, | |
1576 | DISPID_SPPId, | |
1577 | DISPID_SPPValue, | |
1578 | DISPID_SPPFirstElement, | |
1579 | DISPID_SPPNumberOfElements, | |
1580 | DISPID_SPPEngineConfidence, | |
1581 | DISPID_SPPConfidence, | |
1582 | DISPID_SPPParent, | |
1583 | DISPID_SPPChildren, | |
1584 | DISPID_SpeechPhraseProperties, | |
1585 | DISPID_SPPsCount, | |
1586 | DISPID_SPPsItem, | |
1587 | DISPID_SPPs_NewEnum, | |
1588 | DISPID_SpeechPhraseRule, | |
1589 | DISPID_SPRuleName, | |
1590 | DISPID_SPRuleId, | |
1591 | DISPID_SPRuleFirstElement, | |
1592 | DISPID_SPRuleNumberOfElements, | |
1593 | DISPID_SPRuleParent, | |
1594 | DISPID_SPRuleChildren, | |
1595 | DISPID_SPRuleConfidence, | |
1596 | DISPID_SPRuleEngineConfidence, | |
1597 | DISPID_SpeechPhraseRules, | |
1598 | DISPID_SPRulesCount, | |
1599 | DISPID_SPRulesItem, | |
1600 | DISPID_SPRules_NewEnum, | |
1601 | DISPID_SpeechLexicon, | |
1602 | DISPID_SLGenerationId, | |
1603 | DISPID_SLGetWords, | |
1604 | DISPID_SLAddPronunciation, | |
1605 | DISPID_SLAddPronunciationByPhoneIds, | |
1606 | DISPID_SLRemovePronunciation, | |
1607 | DISPID_SLRemovePronunciationByPhoneIds, | |
1608 | DISPID_SLGetPronunciations, | |
1609 | DISPID_SLGetGenerationChange, | |
1610 | SpeechLexiconType, | |
1611 | SLTUser, | |
1612 | SLTApp, | |
1613 | SpeechPartOfSpeech, | |
1614 | SPSNotOverriden, | |
1615 | SPSUnknown, | |
1616 | SPSNoun, | |
1617 | SPSVerb, | |
1618 | SPSModifier, | |
1619 | SPSFunction, | |
1620 | SPSInterjection, | |
1621 | }; | |
1622 | pub const SPSLMA: SpeechPartOfSpeech = SPPS_LMA; | |
1623 | pub const SPSSuppressWord: SpeechPartOfSpeech = SPPS_SuppressWord; | |
1624 | pub use um::sapi51::{ | |
1625 | DISPID_SpeechLexiconWords, | |
1626 | DISPID_SLWsCount, | |
1627 | DISPID_SLWsItem, | |
1628 | DISPID_SLWs_NewEnum, | |
1629 | SpeechWordType, | |
1630 | SWTAdded, | |
1631 | SWTDeleted, | |
1632 | DISPID_SpeechLexiconWord, | |
1633 | DISPID_SLWLangId, | |
1634 | DISPID_SLWType, | |
1635 | DISPID_SLWWord, | |
1636 | DISPID_SLWPronunciations, | |
1637 | DISPID_SpeechLexiconProns, | |
1638 | DISPID_SLPsCount, | |
1639 | DISPID_SLPsItem, | |
1640 | DISPID_SLPs_NewEnum, | |
1641 | DISPID_SpeechLexiconPronunciation, | |
1642 | DISPID_SLPType, | |
1643 | DISPID_SLPLangId, | |
1644 | DISPID_SLPPartOfSpeech, | |
1645 | DISPID_SLPPhoneIds, | |
1646 | DISPID_SLPSymbolic, | |
1647 | DISPID_SpeechPhoneConverter, | |
1648 | DISPID_SPCLangId, | |
1649 | DISPID_SPCPhoneToId, | |
1650 | DISPID_SPCIdToPhone, | |
1651 | LIBID_SpeechLib, | |
1652 | ISpeechDataKey, ISpeechDataKeyVtbl, | |
1653 | ISpeechObjectToken, ISpeechObjectTokenVtbl, | |
1654 | ISpeechObjectTokens, ISpeechObjectTokensVtbl, | |
1655 | ISpeechObjectTokenCategory, ISpeechObjectTokenCategoryVtbl, | |
1656 | ISpeechAudioBufferInfo, ISpeechAudioBufferInfoVtbl, | |
1657 | ISpeechAudioStatus, ISpeechAudioStatusVtbl, | |
1658 | ISpeechAudioFormat, ISpeechAudioFormatVtbl, | |
1659 | ISpeechWaveFormatEx, ISpeechWaveFormatExVtbl, | |
1660 | ISpeechBaseStream, ISpeechBaseStreamVtbl, | |
1661 | ISpeechFileStream, ISpeechFileStreamVtbl, | |
1662 | ISpeechMemoryStream, ISpeechMemoryStreamVtbl, | |
1663 | ISpeechCustomStream, ISpeechCustomStreamVtbl, | |
1664 | ISpeechAudio, ISpeechAudioVtbl, | |
1665 | ISpeechMMSysAudio, ISpeechMMSysAudioVtbl, | |
1666 | ISpeechVoice, ISpeechVoiceVtbl, | |
1667 | ISpeechVoiceStatus, ISpeechVoiceStatusVtbl, | |
1668 | _ISpeechVoiceEvents, _ISpeechVoiceEventsVtbl, | |
1669 | ISpeechRecognizer, ISpeechRecognizerVtbl, | |
1670 | ISpeechRecognizerStatus, ISpeechRecognizerStatusVtbl, | |
1671 | ISpeechRecoContext, ISpeechRecoContextVtbl, | |
1672 | ISpeechRecoGrammar, ISpeechRecoGrammarVtbl, | |
1673 | _ISpeechRecoContextEvents, _ISpeechRecoContextEventsVtbl, | |
1674 | ISpeechGrammarRule, ISpeechGrammarRuleVtbl, | |
1675 | ISpeechGrammarRules, ISpeechGrammarRulesVtbl, | |
1676 | ISpeechGrammarRuleState, ISpeechGrammarRuleStateVtbl, | |
1677 | ISpeechGrammarRuleStateTransition, ISpeechGrammarRuleStateTransitionVtbl, | |
1678 | ISpeechGrammarRuleStateTransitions, ISpeechGrammarRuleStateTransitionsVtbl, | |
1679 | ISpeechTextSelectionInformation, ISpeechTextSelectionInformationVtbl, | |
1680 | ISpeechRecoResult, ISpeechRecoResultVtbl, | |
1681 | }; | |
0bf4aa26 | 1682 | RIDL!{#[uuid(0x8e0a246d, 0xd3c8, 0x45de, 0x86, 0x57, 0x04, 0x29, 0x0c, 0x45, 0x8c, 0x3c)] |
ff7c6d11 XL |
1683 | interface ISpeechRecoResult2(ISpeechRecoResult2Vtbl): ISpeechRecoResult(ISpeechRecoResultVtbl) { |
1684 | fn SetTextFeedback( | |
1685 | Feedback: BSTR, | |
1686 | WasSuccessful: VARIANT_BOOL, | |
1687 | ) -> HRESULT, | |
0bf4aa26 | 1688 | }} |
ff7c6d11 XL |
1689 | pub use um::sapi51::{ |
1690 | ISpeechRecoResultTimes, ISpeechRecoResultTimesVtbl, | |
1691 | ISpeechPhraseAlternate, ISpeechPhraseAlternateVtbl, | |
1692 | ISpeechPhraseAlternates, ISpeechPhraseAlternatesVtbl, | |
1693 | ISpeechPhraseInfo, ISpeechPhraseInfoVtbl, | |
1694 | ISpeechPhraseElement, ISpeechPhraseElementVtbl, | |
1695 | ISpeechPhraseElements, ISpeechPhraseElementsVtbl, | |
1696 | ISpeechPhraseReplacement, ISpeechPhraseReplacementVtbl, | |
1697 | ISpeechPhraseReplacements, ISpeechPhraseReplacementsVtbl, | |
1698 | ISpeechPhraseProperty, ISpeechPhrasePropertyVtbl, | |
1699 | ISpeechPhraseProperties, ISpeechPhrasePropertiesVtbl, | |
1700 | ISpeechPhraseRule, ISpeechPhraseRuleVtbl, | |
1701 | ISpeechPhraseRules, ISpeechPhraseRulesVtbl, | |
1702 | ISpeechLexicon, ISpeechLexiconVtbl, | |
1703 | ISpeechLexiconWords, ISpeechLexiconWordsVtbl, | |
1704 | ISpeechLexiconWord, ISpeechLexiconWordVtbl, | |
1705 | ISpeechLexiconPronunciations, ISpeechLexiconPronunciationsVtbl, | |
1706 | ISpeechLexiconPronunciation, ISpeechLexiconPronunciationVtbl, | |
1707 | Speech_Default_Weight, | |
1708 | Speech_Max_Word_Length, | |
1709 | Speech_Max_Pron_Length, | |
1710 | Speech_StreamPos_Asap, | |
1711 | Speech_StreamPos_RealTime, | |
1712 | SpeechAllElements, | |
1713 | }; | |
0bf4aa26 | 1714 | RIDL!{#[uuid(0xaaec54af, 0x8f85, 0x4924, 0x94, 0x4d, 0xb7, 0x9d, 0x39, 0xd7, 0x2e, 0x19)] |
ff7c6d11 XL |
1715 | interface ISpeechXMLRecoResult(ISpeechXMLRecoResultVtbl): |
1716 | ISpeechRecoResult(ISpeechRecoResultVtbl) { | |
1717 | fn GetXMLResult( | |
1718 | Options: SPXMLRESULTOPTIONS, | |
1719 | pResult: *mut BSTR, | |
1720 | ) -> HRESULT, | |
1721 | fn GetXMLErrorInfo( | |
1722 | LineNumber: *mut c_long, | |
1723 | ScriptLine: *mut BSTR, | |
1724 | Source: *mut BSTR, | |
1725 | Description: *mut BSTR, | |
1726 | ResultCode: *mut c_long, | |
1727 | IsError: *mut VARIANT_BOOL, | |
1728 | ) -> HRESULT, | |
0bf4aa26 XL |
1729 | }} |
1730 | RIDL!{#[uuid(0x6d60eb64, 0xaced, 0x40a6, 0xbb, 0xf3, 0x4e, 0x55, 0x7f, 0x71, 0xde, 0xe2)] | |
ff7c6d11 XL |
1731 | interface ISpeechRecoResultDispatch(ISpeechRecoResultDispatchVtbl): IDispatch(IDispatchVtbl) { |
1732 | fn get_RecoContext( | |
1733 | RecoContext: *mut ISpeechRecoContext, | |
1734 | ) -> HRESULT, | |
1735 | fn get_Times( | |
1736 | Times: *mut ISpeechRecoResultTimes, | |
1737 | ) -> HRESULT, | |
1738 | fn putref_AudioFormat( | |
1739 | Format: *mut ISpeechAudioFormat, | |
1740 | ) -> HRESULT, | |
1741 | fn get_AudioFormat( | |
1742 | Format: *mut *mut ISpeechAudioFormat, | |
1743 | ) -> HRESULT, | |
1744 | fn get_PhraseInfo( | |
1745 | PhraseInfo: *mut *mut ISpeechPhraseInfo, | |
1746 | ) -> HRESULT, | |
1747 | fn Alternates( | |
1748 | RequestCount: c_long, | |
1749 | StartElement: c_long, | |
1750 | Elements: c_long, | |
1751 | Alternates: *mut *mut ISpeechPhraseAlternates, | |
1752 | ) -> HRESULT, | |
1753 | fn Audio( | |
1754 | StartElement: c_long, | |
1755 | Elements: c_long, | |
1756 | Stream: *mut *mut ISpeechMemoryStream, | |
1757 | ) -> HRESULT, | |
1758 | fn SpeakAudio( | |
1759 | StartElement: c_long, | |
1760 | Elements: c_long, | |
1761 | Flags: SpeechVoiceSpeakFlags, | |
1762 | StreamNumber: *mut c_long, | |
1763 | ) -> HRESULT, | |
1764 | fn SaveToMemory( | |
1765 | ResultBlock: *mut VARIANT, | |
1766 | ) -> HRESULT, | |
1767 | fn DiscardResultInfo( | |
1768 | ValueTypes: SpeechDiscardType, | |
1769 | ) -> HRESULT, | |
1770 | fn GetXMLResult( | |
1771 | Options: SPXMLRESULTOPTIONS, | |
1772 | pResult: *mut BSTR, | |
1773 | ) -> HRESULT, | |
1774 | fn GetXMLErrorInfo( | |
1775 | LineNumber: *mut c_long, | |
1776 | ScriptLine: *mut BSTR, | |
1777 | Source: *mut BSTR, | |
1778 | Description: *mut BSTR, | |
1779 | ResultCode: *mut HRESULT, | |
1780 | IsError: *mut VARIANT_BOOL, | |
1781 | ) -> HRESULT, | |
1782 | fn SetTextFeedback( | |
1783 | Feedback: BSTR, | |
1784 | WasSuccessful: VARIANT_BOOL, | |
1785 | ) -> HRESULT, | |
0bf4aa26 | 1786 | }} |
ff7c6d11 XL |
1787 | pub use um::sapi51::{ |
1788 | ISpeechPhraseInfoBuilder, ISpeechPhraseInfoBuilderVtbl, | |
1789 | ISpeechPhoneConverter, ISpeechPhoneConverterVtbl, | |
1790 | CLSID_SpNotifyTranslator, | |
1791 | CLSID_SpObjectTokenCategory, | |
1792 | CLSID_SpObjectToken, | |
1793 | CLSID_SpResourceManager, | |
1794 | CLSID_SpStreamFormatConverter, | |
1795 | CLSID_SpMMAudioEnum, | |
1796 | CLSID_SpMMAudioIn, | |
1797 | CLSID_SpMMAudioOut, | |
1798 | CLSID_SpStream, | |
1799 | CLSID_SpVoice, | |
1800 | CLSID_SpSharedRecoContext, | |
1801 | CLSID_SpInprocRecognizer, | |
1802 | CLSID_SpSharedRecognizer, | |
1803 | CLSID_SpLexicon, | |
1804 | CLSID_SpUnCompressedLexicon, | |
1805 | CLSID_SpCompressedLexicon, | |
1806 | }; | |
1807 | extern { | |
1808 | pub static CLSID_SpShortcut: CLSID; | |
1809 | } | |
1810 | pub use um::sapi51::CLSID_SpPhoneConverter; | |
1811 | extern { | |
1812 | pub static CLSID_SpPhoneticAlphabetConverter: CLSID; | |
1813 | } | |
1814 | pub use um::sapi51::{ | |
1815 | CLSID_SpNullPhoneConverter, | |
1816 | CLSID_SpTextSelectionInformation, | |
1817 | CLSID_SpPhraseInfoBuilder, | |
1818 | CLSID_SpAudioFormat, | |
1819 | CLSID_SpWaveFormatEx, | |
1820 | CLSID_SpInProcRecoContext, | |
1821 | CLSID_SpCustomStream, | |
1822 | CLSID_SpFileStream, | |
1823 | CLSID_SpMemoryStream, | |
1824 | }; |