Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10126 lines
308 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0338 */
  4. /* Compiler settings for sapi.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __sapi_h__
  27. #define __sapi_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ISpNotifySource_FWD_DEFINED__
  33. #define __ISpNotifySource_FWD_DEFINED__
  34. typedef interface ISpNotifySource ISpNotifySource;
  35. #endif /* __ISpNotifySource_FWD_DEFINED__ */
  36. #ifndef __ISpNotifySink_FWD_DEFINED__
  37. #define __ISpNotifySink_FWD_DEFINED__
  38. typedef interface ISpNotifySink ISpNotifySink;
  39. #endif /* __ISpNotifySink_FWD_DEFINED__ */
  40. #ifndef __ISpNotifyTranslator_FWD_DEFINED__
  41. #define __ISpNotifyTranslator_FWD_DEFINED__
  42. typedef interface ISpNotifyTranslator ISpNotifyTranslator;
  43. #endif /* __ISpNotifyTranslator_FWD_DEFINED__ */
  44. #ifndef __ISpDataKey_FWD_DEFINED__
  45. #define __ISpDataKey_FWD_DEFINED__
  46. typedef interface ISpDataKey ISpDataKey;
  47. #endif /* __ISpDataKey_FWD_DEFINED__ */
  48. #ifndef __ISpRegDataKey_FWD_DEFINED__
  49. #define __ISpRegDataKey_FWD_DEFINED__
  50. typedef interface ISpRegDataKey ISpRegDataKey;
  51. #endif /* __ISpRegDataKey_FWD_DEFINED__ */
  52. #ifndef __ISpObjectTokenCategory_FWD_DEFINED__
  53. #define __ISpObjectTokenCategory_FWD_DEFINED__
  54. typedef interface ISpObjectTokenCategory ISpObjectTokenCategory;
  55. #endif /* __ISpObjectTokenCategory_FWD_DEFINED__ */
  56. #ifndef __ISpObjectToken_FWD_DEFINED__
  57. #define __ISpObjectToken_FWD_DEFINED__
  58. typedef interface ISpObjectToken ISpObjectToken;
  59. #endif /* __ISpObjectToken_FWD_DEFINED__ */
  60. #ifndef __ISpObjectTokenInit_FWD_DEFINED__
  61. #define __ISpObjectTokenInit_FWD_DEFINED__
  62. typedef interface ISpObjectTokenInit ISpObjectTokenInit;
  63. #endif /* __ISpObjectTokenInit_FWD_DEFINED__ */
  64. #ifndef __IEnumSpObjectTokens_FWD_DEFINED__
  65. #define __IEnumSpObjectTokens_FWD_DEFINED__
  66. typedef interface IEnumSpObjectTokens IEnumSpObjectTokens;
  67. #endif /* __IEnumSpObjectTokens_FWD_DEFINED__ */
  68. #ifndef __ISpObjectWithToken_FWD_DEFINED__
  69. #define __ISpObjectWithToken_FWD_DEFINED__
  70. typedef interface ISpObjectWithToken ISpObjectWithToken;
  71. #endif /* __ISpObjectWithToken_FWD_DEFINED__ */
  72. #ifndef __ISpResourceManager_FWD_DEFINED__
  73. #define __ISpResourceManager_FWD_DEFINED__
  74. typedef interface ISpResourceManager ISpResourceManager;
  75. #endif /* __ISpResourceManager_FWD_DEFINED__ */
  76. #ifndef __ISpEventSource_FWD_DEFINED__
  77. #define __ISpEventSource_FWD_DEFINED__
  78. typedef interface ISpEventSource ISpEventSource;
  79. #endif /* __ISpEventSource_FWD_DEFINED__ */
  80. #ifndef __ISpEventSink_FWD_DEFINED__
  81. #define __ISpEventSink_FWD_DEFINED__
  82. typedef interface ISpEventSink ISpEventSink;
  83. #endif /* __ISpEventSink_FWD_DEFINED__ */
  84. #ifndef __ISpStreamFormat_FWD_DEFINED__
  85. #define __ISpStreamFormat_FWD_DEFINED__
  86. typedef interface ISpStreamFormat ISpStreamFormat;
  87. #endif /* __ISpStreamFormat_FWD_DEFINED__ */
  88. #ifndef __ISpStream_FWD_DEFINED__
  89. #define __ISpStream_FWD_DEFINED__
  90. typedef interface ISpStream ISpStream;
  91. #endif /* __ISpStream_FWD_DEFINED__ */
  92. #ifndef __ISpStreamFormatConverter_FWD_DEFINED__
  93. #define __ISpStreamFormatConverter_FWD_DEFINED__
  94. typedef interface ISpStreamFormatConverter ISpStreamFormatConverter;
  95. #endif /* __ISpStreamFormatConverter_FWD_DEFINED__ */
  96. #ifndef __ISpAudio_FWD_DEFINED__
  97. #define __ISpAudio_FWD_DEFINED__
  98. typedef interface ISpAudio ISpAudio;
  99. #endif /* __ISpAudio_FWD_DEFINED__ */
  100. #ifndef __ISpMMSysAudio_FWD_DEFINED__
  101. #define __ISpMMSysAudio_FWD_DEFINED__
  102. typedef interface ISpMMSysAudio ISpMMSysAudio;
  103. #endif /* __ISpMMSysAudio_FWD_DEFINED__ */
  104. #ifndef __ISpTranscript_FWD_DEFINED__
  105. #define __ISpTranscript_FWD_DEFINED__
  106. typedef interface ISpTranscript ISpTranscript;
  107. #endif /* __ISpTranscript_FWD_DEFINED__ */
  108. #ifndef __ISpLexicon_FWD_DEFINED__
  109. #define __ISpLexicon_FWD_DEFINED__
  110. typedef interface ISpLexicon ISpLexicon;
  111. #endif /* __ISpLexicon_FWD_DEFINED__ */
  112. #ifndef __ISpContainerLexicon_FWD_DEFINED__
  113. #define __ISpContainerLexicon_FWD_DEFINED__
  114. typedef interface ISpContainerLexicon ISpContainerLexicon;
  115. #endif /* __ISpContainerLexicon_FWD_DEFINED__ */
  116. #ifndef __ISpPhoneConverter_FWD_DEFINED__
  117. #define __ISpPhoneConverter_FWD_DEFINED__
  118. typedef interface ISpPhoneConverter ISpPhoneConverter;
  119. #endif /* __ISpPhoneConverter_FWD_DEFINED__ */
  120. #ifndef __ISpVoice_FWD_DEFINED__
  121. #define __ISpVoice_FWD_DEFINED__
  122. typedef interface ISpVoice ISpVoice;
  123. #endif /* __ISpVoice_FWD_DEFINED__ */
  124. #ifndef __ISpPhrase_FWD_DEFINED__
  125. #define __ISpPhrase_FWD_DEFINED__
  126. typedef interface ISpPhrase ISpPhrase;
  127. #endif /* __ISpPhrase_FWD_DEFINED__ */
  128. #ifndef __ISpPhraseAlt_FWD_DEFINED__
  129. #define __ISpPhraseAlt_FWD_DEFINED__
  130. typedef interface ISpPhraseAlt ISpPhraseAlt;
  131. #endif /* __ISpPhraseAlt_FWD_DEFINED__ */
  132. #ifndef __ISpRecoResult_FWD_DEFINED__
  133. #define __ISpRecoResult_FWD_DEFINED__
  134. typedef interface ISpRecoResult ISpRecoResult;
  135. #endif /* __ISpRecoResult_FWD_DEFINED__ */
  136. #ifndef __ISpGrammarBuilder_FWD_DEFINED__
  137. #define __ISpGrammarBuilder_FWD_DEFINED__
  138. typedef interface ISpGrammarBuilder ISpGrammarBuilder;
  139. #endif /* __ISpGrammarBuilder_FWD_DEFINED__ */
  140. #ifndef __ISpRecoGrammar_FWD_DEFINED__
  141. #define __ISpRecoGrammar_FWD_DEFINED__
  142. typedef interface ISpRecoGrammar ISpRecoGrammar;
  143. #endif /* __ISpRecoGrammar_FWD_DEFINED__ */
  144. #ifndef __ISpRecoContext_FWD_DEFINED__
  145. #define __ISpRecoContext_FWD_DEFINED__
  146. typedef interface ISpRecoContext ISpRecoContext;
  147. #endif /* __ISpRecoContext_FWD_DEFINED__ */
  148. #ifndef __ISpProperties_FWD_DEFINED__
  149. #define __ISpProperties_FWD_DEFINED__
  150. typedef interface ISpProperties ISpProperties;
  151. #endif /* __ISpProperties_FWD_DEFINED__ */
  152. #ifndef __ISpRecognizer_FWD_DEFINED__
  153. #define __ISpRecognizer_FWD_DEFINED__
  154. typedef interface ISpRecognizer ISpRecognizer;
  155. #endif /* __ISpRecognizer_FWD_DEFINED__ */
  156. #ifndef __SpNotifyTranslator_FWD_DEFINED__
  157. #define __SpNotifyTranslator_FWD_DEFINED__
  158. #ifdef __cplusplus
  159. typedef class SpNotifyTranslator SpNotifyTranslator;
  160. #else
  161. typedef struct SpNotifyTranslator SpNotifyTranslator;
  162. #endif /* __cplusplus */
  163. #endif /* __SpNotifyTranslator_FWD_DEFINED__ */
  164. #ifndef __SpObjectTokenCategory_FWD_DEFINED__
  165. #define __SpObjectTokenCategory_FWD_DEFINED__
  166. #ifdef __cplusplus
  167. typedef class SpObjectTokenCategory SpObjectTokenCategory;
  168. #else
  169. typedef struct SpObjectTokenCategory SpObjectTokenCategory;
  170. #endif /* __cplusplus */
  171. #endif /* __SpObjectTokenCategory_FWD_DEFINED__ */
  172. #ifndef __SpObjectToken_FWD_DEFINED__
  173. #define __SpObjectToken_FWD_DEFINED__
  174. #ifdef __cplusplus
  175. typedef class SpObjectToken SpObjectToken;
  176. #else
  177. typedef struct SpObjectToken SpObjectToken;
  178. #endif /* __cplusplus */
  179. #endif /* __SpObjectToken_FWD_DEFINED__ */
  180. #ifndef __SpResourceManager_FWD_DEFINED__
  181. #define __SpResourceManager_FWD_DEFINED__
  182. #ifdef __cplusplus
  183. typedef class SpResourceManager SpResourceManager;
  184. #else
  185. typedef struct SpResourceManager SpResourceManager;
  186. #endif /* __cplusplus */
  187. #endif /* __SpResourceManager_FWD_DEFINED__ */
  188. #ifndef __SpStreamFormatConverter_FWD_DEFINED__
  189. #define __SpStreamFormatConverter_FWD_DEFINED__
  190. #ifdef __cplusplus
  191. typedef class SpStreamFormatConverter SpStreamFormatConverter;
  192. #else
  193. typedef struct SpStreamFormatConverter SpStreamFormatConverter;
  194. #endif /* __cplusplus */
  195. #endif /* __SpStreamFormatConverter_FWD_DEFINED__ */
  196. #ifndef __SpMMAudioEnum_FWD_DEFINED__
  197. #define __SpMMAudioEnum_FWD_DEFINED__
  198. #ifdef __cplusplus
  199. typedef class SpMMAudioEnum SpMMAudioEnum;
  200. #else
  201. typedef struct SpMMAudioEnum SpMMAudioEnum;
  202. #endif /* __cplusplus */
  203. #endif /* __SpMMAudioEnum_FWD_DEFINED__ */
  204. #ifndef __SpMMAudioIn_FWD_DEFINED__
  205. #define __SpMMAudioIn_FWD_DEFINED__
  206. #ifdef __cplusplus
  207. typedef class SpMMAudioIn SpMMAudioIn;
  208. #else
  209. typedef struct SpMMAudioIn SpMMAudioIn;
  210. #endif /* __cplusplus */
  211. #endif /* __SpMMAudioIn_FWD_DEFINED__ */
  212. #ifndef __SpMMAudioOut_FWD_DEFINED__
  213. #define __SpMMAudioOut_FWD_DEFINED__
  214. #ifdef __cplusplus
  215. typedef class SpMMAudioOut SpMMAudioOut;
  216. #else
  217. typedef struct SpMMAudioOut SpMMAudioOut;
  218. #endif /* __cplusplus */
  219. #endif /* __SpMMAudioOut_FWD_DEFINED__ */
  220. #ifndef __SpRecPlayAudio_FWD_DEFINED__
  221. #define __SpRecPlayAudio_FWD_DEFINED__
  222. #ifdef __cplusplus
  223. typedef class SpRecPlayAudio SpRecPlayAudio;
  224. #else
  225. typedef struct SpRecPlayAudio SpRecPlayAudio;
  226. #endif /* __cplusplus */
  227. #endif /* __SpRecPlayAudio_FWD_DEFINED__ */
  228. #ifndef __SpStream_FWD_DEFINED__
  229. #define __SpStream_FWD_DEFINED__
  230. #ifdef __cplusplus
  231. typedef class SpStream SpStream;
  232. #else
  233. typedef struct SpStream SpStream;
  234. #endif /* __cplusplus */
  235. #endif /* __SpStream_FWD_DEFINED__ */
  236. #ifndef __SpVoice_FWD_DEFINED__
  237. #define __SpVoice_FWD_DEFINED__
  238. #ifdef __cplusplus
  239. typedef class SpVoice SpVoice;
  240. #else
  241. typedef struct SpVoice SpVoice;
  242. #endif /* __cplusplus */
  243. #endif /* __SpVoice_FWD_DEFINED__ */
  244. #ifndef __SpSharedRecoContext_FWD_DEFINED__
  245. #define __SpSharedRecoContext_FWD_DEFINED__
  246. #ifdef __cplusplus
  247. typedef class SpSharedRecoContext SpSharedRecoContext;
  248. #else
  249. typedef struct SpSharedRecoContext SpSharedRecoContext;
  250. #endif /* __cplusplus */
  251. #endif /* __SpSharedRecoContext_FWD_DEFINED__ */
  252. #ifndef __SpInprocRecognizer_FWD_DEFINED__
  253. #define __SpInprocRecognizer_FWD_DEFINED__
  254. #ifdef __cplusplus
  255. typedef class SpInprocRecognizer SpInprocRecognizer;
  256. #else
  257. typedef struct SpInprocRecognizer SpInprocRecognizer;
  258. #endif /* __cplusplus */
  259. #endif /* __SpInprocRecognizer_FWD_DEFINED__ */
  260. #ifndef __SpSharedRecognizer_FWD_DEFINED__
  261. #define __SpSharedRecognizer_FWD_DEFINED__
  262. #ifdef __cplusplus
  263. typedef class SpSharedRecognizer SpSharedRecognizer;
  264. #else
  265. typedef struct SpSharedRecognizer SpSharedRecognizer;
  266. #endif /* __cplusplus */
  267. #endif /* __SpSharedRecognizer_FWD_DEFINED__ */
  268. #ifndef __SpLexicon_FWD_DEFINED__
  269. #define __SpLexicon_FWD_DEFINED__
  270. #ifdef __cplusplus
  271. typedef class SpLexicon SpLexicon;
  272. #else
  273. typedef struct SpLexicon SpLexicon;
  274. #endif /* __cplusplus */
  275. #endif /* __SpLexicon_FWD_DEFINED__ */
  276. #ifndef __SpUnCompressedLexicon_FWD_DEFINED__
  277. #define __SpUnCompressedLexicon_FWD_DEFINED__
  278. #ifdef __cplusplus
  279. typedef class SpUnCompressedLexicon SpUnCompressedLexicon;
  280. #else
  281. typedef struct SpUnCompressedLexicon SpUnCompressedLexicon;
  282. #endif /* __cplusplus */
  283. #endif /* __SpUnCompressedLexicon_FWD_DEFINED__ */
  284. #ifndef __SpCompressedLexicon_FWD_DEFINED__
  285. #define __SpCompressedLexicon_FWD_DEFINED__
  286. #ifdef __cplusplus
  287. typedef class SpCompressedLexicon SpCompressedLexicon;
  288. #else
  289. typedef struct SpCompressedLexicon SpCompressedLexicon;
  290. #endif /* __cplusplus */
  291. #endif /* __SpCompressedLexicon_FWD_DEFINED__ */
  292. #ifndef __SpPhoneConverter_FWD_DEFINED__
  293. #define __SpPhoneConverter_FWD_DEFINED__
  294. #ifdef __cplusplus
  295. typedef class SpPhoneConverter SpPhoneConverter;
  296. #else
  297. typedef struct SpPhoneConverter SpPhoneConverter;
  298. #endif /* __cplusplus */
  299. #endif /* __SpPhoneConverter_FWD_DEFINED__ */
  300. #ifndef __SpNullPhoneConverter_FWD_DEFINED__
  301. #define __SpNullPhoneConverter_FWD_DEFINED__
  302. #ifdef __cplusplus
  303. typedef class SpNullPhoneConverter SpNullPhoneConverter;
  304. #else
  305. typedef struct SpNullPhoneConverter SpNullPhoneConverter;
  306. #endif /* __cplusplus */
  307. #endif /* __SpNullPhoneConverter_FWD_DEFINED__ */
  308. /* header files for imported files */
  309. #include "oaidl.h"
  310. #include "ocidl.h"
  311. #ifdef __cplusplus
  312. extern "C"{
  313. #endif
  314. void * __RPC_USER MIDL_user_allocate(size_t);
  315. void __RPC_USER MIDL_user_free( void * );
  316. /* interface __MIDL_itf_sapi_0000 */
  317. /* [local] */
  318. #ifndef MAXULONG_PTR
  319. #error SAPI 5 requires a newer version of the Platform SDK than you have installed.
  320. #endif // MAXULONG_PTR
  321. #pragma warning(disable:4201) // Allow nameless structs/unions
  322. #pragma comment(lib, "sapi.lib")
  323. #if 0
  324. typedef /* [restricted] */ struct WAVEFORMATEX
  325. {
  326. WORD wFormatTag;
  327. WORD nChannels;
  328. DWORD nSamplesPerSec;
  329. DWORD nAvgBytesPerSec;
  330. WORD nBlockAlign;
  331. WORD wBitsPerSample;
  332. WORD cbSize;
  333. } WAVEFORMATEX;
  334. #else
  335. #include <mmsystem.h>
  336. #endif
  337. typedef
  338. enum SPDATAKEYLOCATION
  339. { SPDKL_DefaultLocation = 0,
  340. SPDKL_CurrentUser = 1,
  341. SPDKL_LocalMachine = 2,
  342. SPDKL_CurrentConfig = 5
  343. } SPDATAKEYLOCATION;
  344. #define SPDUI_EngineProperties L"EngineProperties"
  345. #define SPDUI_AddRemoveWord L"AddRemoveWord"
  346. #define SPDUI_UserTraining L"UserTraining"
  347. #define SPDUI_MicTraining L"MicTraining"
  348. #define SPDUI_RecoProfileProperties L"RecoProfileProperties"
  349. #define SPDUI_AudioProperties L"AudioProperties"
  350. #define SPDUI_AudioVolume L"AudioVolume"
  351. EXTERN_C const GUID SID_SpTaskManager;
  352. typedef
  353. enum SPSTREAMFORMAT
  354. { SPSF_Default = -1,
  355. SPSF_NoAssignedFormat = 0,
  356. SPSF_Text = SPSF_NoAssignedFormat + 1,
  357. SPSF_NonStandardFormat = SPSF_Text + 1,
  358. SPSF_ExtendedAudioFormat = SPSF_NonStandardFormat + 1,
  359. SPSF_8kHz8BitMono = SPSF_ExtendedAudioFormat + 1,
  360. SPSF_8kHz8BitStereo = SPSF_8kHz8BitMono + 1,
  361. SPSF_8kHz16BitMono = SPSF_8kHz8BitStereo + 1,
  362. SPSF_8kHz16BitStereo = SPSF_8kHz16BitMono + 1,
  363. SPSF_11kHz8BitMono = SPSF_8kHz16BitStereo + 1,
  364. SPSF_11kHz8BitStereo = SPSF_11kHz8BitMono + 1,
  365. SPSF_11kHz16BitMono = SPSF_11kHz8BitStereo + 1,
  366. SPSF_11kHz16BitStereo = SPSF_11kHz16BitMono + 1,
  367. SPSF_12kHz8BitMono = SPSF_11kHz16BitStereo + 1,
  368. SPSF_12kHz8BitStereo = SPSF_12kHz8BitMono + 1,
  369. SPSF_12kHz16BitMono = SPSF_12kHz8BitStereo + 1,
  370. SPSF_12kHz16BitStereo = SPSF_12kHz16BitMono + 1,
  371. SPSF_16kHz8BitMono = SPSF_12kHz16BitStereo + 1,
  372. SPSF_16kHz8BitStereo = SPSF_16kHz8BitMono + 1,
  373. SPSF_16kHz16BitMono = SPSF_16kHz8BitStereo + 1,
  374. SPSF_16kHz16BitStereo = SPSF_16kHz16BitMono + 1,
  375. SPSF_22kHz8BitMono = SPSF_16kHz16BitStereo + 1,
  376. SPSF_22kHz8BitStereo = SPSF_22kHz8BitMono + 1,
  377. SPSF_22kHz16BitMono = SPSF_22kHz8BitStereo + 1,
  378. SPSF_22kHz16BitStereo = SPSF_22kHz16BitMono + 1,
  379. SPSF_24kHz8BitMono = SPSF_22kHz16BitStereo + 1,
  380. SPSF_24kHz8BitStereo = SPSF_24kHz8BitMono + 1,
  381. SPSF_24kHz16BitMono = SPSF_24kHz8BitStereo + 1,
  382. SPSF_24kHz16BitStereo = SPSF_24kHz16BitMono + 1,
  383. SPSF_32kHz8BitMono = SPSF_24kHz16BitStereo + 1,
  384. SPSF_32kHz8BitStereo = SPSF_32kHz8BitMono + 1,
  385. SPSF_32kHz16BitMono = SPSF_32kHz8BitStereo + 1,
  386. SPSF_32kHz16BitStereo = SPSF_32kHz16BitMono + 1,
  387. SPSF_44kHz8BitMono = SPSF_32kHz16BitStereo + 1,
  388. SPSF_44kHz8BitStereo = SPSF_44kHz8BitMono + 1,
  389. SPSF_44kHz16BitMono = SPSF_44kHz8BitStereo + 1,
  390. SPSF_44kHz16BitStereo = SPSF_44kHz16BitMono + 1,
  391. SPSF_48kHz8BitMono = SPSF_44kHz16BitStereo + 1,
  392. SPSF_48kHz8BitStereo = SPSF_48kHz8BitMono + 1,
  393. SPSF_48kHz16BitMono = SPSF_48kHz8BitStereo + 1,
  394. SPSF_48kHz16BitStereo = SPSF_48kHz16BitMono + 1,
  395. SPSF_TrueSpeech_8kHz1BitMono = SPSF_48kHz16BitStereo + 1,
  396. SPSF_CCITT_ALaw_8kHzMono = SPSF_TrueSpeech_8kHz1BitMono + 1,
  397. SPSF_CCITT_ALaw_8kHzStereo = SPSF_CCITT_ALaw_8kHzMono + 1,
  398. SPSF_CCITT_ALaw_11kHzMono = SPSF_CCITT_ALaw_8kHzStereo + 1,
  399. SPSF_CCITT_ALaw_11kHzStereo = SPSF_CCITT_ALaw_11kHzMono + 1,
  400. SPSF_CCITT_ALaw_22kHzMono = SPSF_CCITT_ALaw_11kHzStereo + 1,
  401. SPSF_CCITT_ALaw_22kHzStereo = SPSF_CCITT_ALaw_22kHzMono + 1,
  402. SPSF_CCITT_ALaw_44kHzMono = SPSF_CCITT_ALaw_22kHzStereo + 1,
  403. SPSF_CCITT_ALaw_44kHzStereo = SPSF_CCITT_ALaw_44kHzMono + 1,
  404. SPSF_CCITT_uLaw_8kHzMono = SPSF_CCITT_ALaw_44kHzStereo + 1,
  405. SPSF_CCITT_uLaw_8kHzStereo = SPSF_CCITT_uLaw_8kHzMono + 1,
  406. SPSF_CCITT_uLaw_11kHzMono = SPSF_CCITT_uLaw_8kHzStereo + 1,
  407. SPSF_CCITT_uLaw_11kHzStereo = SPSF_CCITT_uLaw_11kHzMono + 1,
  408. SPSF_CCITT_uLaw_22kHzMono = SPSF_CCITT_uLaw_11kHzStereo + 1,
  409. SPSF_CCITT_uLaw_22kHzStereo = SPSF_CCITT_uLaw_22kHzMono + 1,
  410. SPSF_CCITT_uLaw_44kHzMono = SPSF_CCITT_uLaw_22kHzStereo + 1,
  411. SPSF_CCITT_uLaw_44kHzStereo = SPSF_CCITT_uLaw_44kHzMono + 1,
  412. SPSF_ADPCM_8kHzMono = SPSF_CCITT_uLaw_44kHzStereo + 1,
  413. SPSF_ADPCM_8kHzStereo = SPSF_ADPCM_8kHzMono + 1,
  414. SPSF_ADPCM_11kHzMono = SPSF_ADPCM_8kHzStereo + 1,
  415. SPSF_ADPCM_11kHzStereo = SPSF_ADPCM_11kHzMono + 1,
  416. SPSF_ADPCM_22kHzMono = SPSF_ADPCM_11kHzStereo + 1,
  417. SPSF_ADPCM_22kHzStereo = SPSF_ADPCM_22kHzMono + 1,
  418. SPSF_ADPCM_44kHzMono = SPSF_ADPCM_22kHzStereo + 1,
  419. SPSF_ADPCM_44kHzStereo = SPSF_ADPCM_44kHzMono + 1,
  420. SPSF_GSM610_8kHzMono = SPSF_ADPCM_44kHzStereo + 1,
  421. SPSF_GSM610_11kHzMono = SPSF_GSM610_8kHzMono + 1,
  422. SPSF_GSM610_22kHzMono = SPSF_GSM610_11kHzMono + 1,
  423. SPSF_GSM610_44kHzMono = SPSF_GSM610_22kHzMono + 1,
  424. SPSF_NUM_FORMATS = SPSF_GSM610_44kHzMono + 1
  425. } SPSTREAMFORMAT;
  426. EXTERN_C const GUID SPDFID_Text;
  427. EXTERN_C const GUID SPDFID_WaveFormatEx;
  428. #define SPREG_USER_ROOT L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech"
  429. #define SPREG_LOCAL_MACHINE_ROOT L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech"
  430. #define SPCAT_AUDIOOUT L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput"
  431. #define SPCAT_AUDIOIN L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput"
  432. #define SPCAT_VOICES L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices"
  433. #define SPCAT_RECOGNIZERS L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Recognizers"
  434. #define SPCAT_APPLEXICONS L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AppLexicons"
  435. #define SPCAT_PHONECONVERTERS L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\PhoneConverters"
  436. #define SPCAT_NLPS L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\NatLangProcs"
  437. #define SPCAT_RECOPROFILES L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\RecoProfiles"
  438. #define SPMMSYS_AUDIO_IN_TOKEN_ID L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput\\TokenEnums\\MMAudioIn\\"
  439. #define SPMMSYS_AUDIO_OUT_TOKEN_ID L"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput\\TokenEnums\\MMAudioOut\\"
  440. #define SPCURRENT_USER_LEXICON_TOKEN_ID L"HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserLexicon"
  441. #define SPTOKENVALUE_CLSID L"CLSID"
  442. #define SPVOICECATEGORY_TTSRATE L"DefaultTTSRate"
  443. #define SPPROP_RESOURCE_USAGE L"ResourceUsage"
  444. #define SPPROP_HIGH_CONFIDENCE_THRESHOLD L"HighConfidenceThreshold"
  445. #define SPPROP_NORMAL_CONFIDENCE_THRESHOLD L"NormalConfidenceThreshold"
  446. #define SPPROP_LOW_CONFIDENCE_THRESHOLD L"LowConfidenceThreshold"
  447. #define SPPROP_RESPONSE_SPEED L"ResponseSpeed"
  448. #define SPPROP_COMPLEX_RESPONSE_SPEED L"ComplexResponseSpeed"
  449. #define SPPROP_ADAPTATION_ON L"AdaptationOn"
  450. #define SPTOPIC_SPELLING L"Spelling"
  451. #define SPWILDCARD L"..."
  452. #define SPDICTATION L"*"
  453. #define SPINFDICTATION L"*+"
  454. #define SP_LOW_CONFIDENCE ( -1 )
  455. #define SP_NORMAL_CONFIDENCE ( 0 )
  456. #define SP_HIGH_CONFIDENCE ( +1 )
  457. #define DEFAULT_WEIGHT ( 1 )
  458. #define SP_MAX_WORD_LENGTH ( 128 )
  459. #define SP_MAX_PRON_LENGTH ( 384 )
  460. #if defined(__cplusplus)
  461. interface ISpNotifyCallback
  462. {
  463. virtual HRESULT STDMETHODCALLTYPE NotifyCallback(
  464. WPARAM wParam,
  465. LPARAM lParam) = 0;
  466. };
  467. #else
  468. typedef void *ISpNotifyCallback;
  469. #endif
  470. typedef void __stdcall __stdcall SPNOTIFYCALLBACK(
  471. WPARAM wParam,
  472. LPARAM lParam);
  473. extern RPC_IF_HANDLE __MIDL_itf_sapi_0000_v0_0_c_ifspec;
  474. extern RPC_IF_HANDLE __MIDL_itf_sapi_0000_v0_0_s_ifspec;
  475. #ifndef __ISpNotifySource_INTERFACE_DEFINED__
  476. #define __ISpNotifySource_INTERFACE_DEFINED__
  477. /* interface ISpNotifySource */
  478. /* [restricted][unique][helpstring][uuid][object] */
  479. EXTERN_C const IID IID_ISpNotifySource;
  480. #if defined(__cplusplus) && !defined(CINTERFACE)
  481. MIDL_INTERFACE("5EFF4AEF-8487-11D2-961C-00C04F8EE628")
  482. ISpNotifySource : public IUnknown
  483. {
  484. public:
  485. virtual HRESULT STDMETHODCALLTYPE SetNotifySink(
  486. /* [in] */ ISpNotifySink *pNotifySink) = 0;
  487. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetNotifyWindowMessage(
  488. /* [in] */ HWND hWnd,
  489. /* [in] */ UINT Msg,
  490. /* [in] */ WPARAM wParam,
  491. /* [in] */ LPARAM lParam) = 0;
  492. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetNotifyCallbackFunction(
  493. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  494. /* [in] */ WPARAM wParam,
  495. /* [in] */ LPARAM lParam) = 0;
  496. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetNotifyCallbackInterface(
  497. /* [in] */ ISpNotifyCallback *pSpCallback,
  498. /* [in] */ WPARAM wParam,
  499. /* [in] */ LPARAM lParam) = 0;
  500. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetNotifyWin32Event( void) = 0;
  501. virtual /* [local] */ HRESULT STDMETHODCALLTYPE WaitForNotifyEvent(
  502. /* [in] */ DWORD dwMilliseconds) = 0;
  503. virtual /* [local] */ HANDLE STDMETHODCALLTYPE GetNotifyEventHandle( void) = 0;
  504. };
  505. #else /* C style interface */
  506. typedef struct ISpNotifySourceVtbl
  507. {
  508. BEGIN_INTERFACE
  509. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  510. ISpNotifySource * This,
  511. /* [in] */ REFIID riid,
  512. /* [iid_is][out] */ void **ppvObject);
  513. ULONG ( STDMETHODCALLTYPE *AddRef )(
  514. ISpNotifySource * This);
  515. ULONG ( STDMETHODCALLTYPE *Release )(
  516. ISpNotifySource * This);
  517. HRESULT ( STDMETHODCALLTYPE *SetNotifySink )(
  518. ISpNotifySource * This,
  519. /* [in] */ ISpNotifySink *pNotifySink);
  520. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWindowMessage )(
  521. ISpNotifySource * This,
  522. /* [in] */ HWND hWnd,
  523. /* [in] */ UINT Msg,
  524. /* [in] */ WPARAM wParam,
  525. /* [in] */ LPARAM lParam);
  526. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackFunction )(
  527. ISpNotifySource * This,
  528. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  529. /* [in] */ WPARAM wParam,
  530. /* [in] */ LPARAM lParam);
  531. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackInterface )(
  532. ISpNotifySource * This,
  533. /* [in] */ ISpNotifyCallback *pSpCallback,
  534. /* [in] */ WPARAM wParam,
  535. /* [in] */ LPARAM lParam);
  536. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWin32Event )(
  537. ISpNotifySource * This);
  538. /* [local] */ HRESULT ( STDMETHODCALLTYPE *WaitForNotifyEvent )(
  539. ISpNotifySource * This,
  540. /* [in] */ DWORD dwMilliseconds);
  541. /* [local] */ HANDLE ( STDMETHODCALLTYPE *GetNotifyEventHandle )(
  542. ISpNotifySource * This);
  543. END_INTERFACE
  544. } ISpNotifySourceVtbl;
  545. interface ISpNotifySource
  546. {
  547. CONST_VTBL struct ISpNotifySourceVtbl *lpVtbl;
  548. };
  549. #ifdef COBJMACROS
  550. #define ISpNotifySource_QueryInterface(This,riid,ppvObject) \
  551. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  552. #define ISpNotifySource_AddRef(This) \
  553. (This)->lpVtbl -> AddRef(This)
  554. #define ISpNotifySource_Release(This) \
  555. (This)->lpVtbl -> Release(This)
  556. #define ISpNotifySource_SetNotifySink(This,pNotifySink) \
  557. (This)->lpVtbl -> SetNotifySink(This,pNotifySink)
  558. #define ISpNotifySource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) \
  559. (This)->lpVtbl -> SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
  560. #define ISpNotifySource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) \
  561. (This)->lpVtbl -> SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
  562. #define ISpNotifySource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) \
  563. (This)->lpVtbl -> SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
  564. #define ISpNotifySource_SetNotifyWin32Event(This) \
  565. (This)->lpVtbl -> SetNotifyWin32Event(This)
  566. #define ISpNotifySource_WaitForNotifyEvent(This,dwMilliseconds) \
  567. (This)->lpVtbl -> WaitForNotifyEvent(This,dwMilliseconds)
  568. #define ISpNotifySource_GetNotifyEventHandle(This) \
  569. (This)->lpVtbl -> GetNotifyEventHandle(This)
  570. #endif /* COBJMACROS */
  571. #endif /* C style interface */
  572. HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifySink_Proxy(
  573. ISpNotifySource * This,
  574. /* [in] */ ISpNotifySink *pNotifySink);
  575. void __RPC_STUB ISpNotifySource_SetNotifySink_Stub(
  576. IRpcStubBuffer *This,
  577. IRpcChannelBuffer *_pRpcChannelBuffer,
  578. PRPC_MESSAGE _pRpcMessage,
  579. DWORD *_pdwStubPhase);
  580. /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifyWindowMessage_Proxy(
  581. ISpNotifySource * This,
  582. /* [in] */ HWND hWnd,
  583. /* [in] */ UINT Msg,
  584. /* [in] */ WPARAM wParam,
  585. /* [in] */ LPARAM lParam);
  586. void __RPC_STUB ISpNotifySource_SetNotifyWindowMessage_Stub(
  587. IRpcStubBuffer *This,
  588. IRpcChannelBuffer *_pRpcChannelBuffer,
  589. PRPC_MESSAGE _pRpcMessage,
  590. DWORD *_pdwStubPhase);
  591. /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifyCallbackFunction_Proxy(
  592. ISpNotifySource * This,
  593. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  594. /* [in] */ WPARAM wParam,
  595. /* [in] */ LPARAM lParam);
  596. void __RPC_STUB ISpNotifySource_SetNotifyCallbackFunction_Stub(
  597. IRpcStubBuffer *This,
  598. IRpcChannelBuffer *_pRpcChannelBuffer,
  599. PRPC_MESSAGE _pRpcMessage,
  600. DWORD *_pdwStubPhase);
  601. /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifyCallbackInterface_Proxy(
  602. ISpNotifySource * This,
  603. /* [in] */ ISpNotifyCallback *pSpCallback,
  604. /* [in] */ WPARAM wParam,
  605. /* [in] */ LPARAM lParam);
  606. void __RPC_STUB ISpNotifySource_SetNotifyCallbackInterface_Stub(
  607. IRpcStubBuffer *This,
  608. IRpcChannelBuffer *_pRpcChannelBuffer,
  609. PRPC_MESSAGE _pRpcMessage,
  610. DWORD *_pdwStubPhase);
  611. /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_SetNotifyWin32Event_Proxy(
  612. ISpNotifySource * This);
  613. void __RPC_STUB ISpNotifySource_SetNotifyWin32Event_Stub(
  614. IRpcStubBuffer *This,
  615. IRpcChannelBuffer *_pRpcChannelBuffer,
  616. PRPC_MESSAGE _pRpcMessage,
  617. DWORD *_pdwStubPhase);
  618. /* [local] */ HRESULT STDMETHODCALLTYPE ISpNotifySource_WaitForNotifyEvent_Proxy(
  619. ISpNotifySource * This,
  620. /* [in] */ DWORD dwMilliseconds);
  621. void __RPC_STUB ISpNotifySource_WaitForNotifyEvent_Stub(
  622. IRpcStubBuffer *This,
  623. IRpcChannelBuffer *_pRpcChannelBuffer,
  624. PRPC_MESSAGE _pRpcMessage,
  625. DWORD *_pdwStubPhase);
  626. /* [local] */ HANDLE STDMETHODCALLTYPE ISpNotifySource_GetNotifyEventHandle_Proxy(
  627. ISpNotifySource * This);
  628. void __RPC_STUB ISpNotifySource_GetNotifyEventHandle_Stub(
  629. IRpcStubBuffer *This,
  630. IRpcChannelBuffer *_pRpcChannelBuffer,
  631. PRPC_MESSAGE _pRpcMessage,
  632. DWORD *_pdwStubPhase);
  633. #endif /* __ISpNotifySource_INTERFACE_DEFINED__ */
  634. #ifndef __ISpNotifySink_INTERFACE_DEFINED__
  635. #define __ISpNotifySink_INTERFACE_DEFINED__
  636. /* interface ISpNotifySink */
  637. /* [restricted][unique][helpstring][uuid][object] */
  638. EXTERN_C const IID IID_ISpNotifySink;
  639. #if defined(__cplusplus) && !defined(CINTERFACE)
  640. MIDL_INTERFACE("259684DC-37C3-11D2-9603-00C04F8EE628")
  641. ISpNotifySink : public IUnknown
  642. {
  643. public:
  644. virtual HRESULT STDMETHODCALLTYPE Notify( void) = 0;
  645. };
  646. #else /* C style interface */
  647. typedef struct ISpNotifySinkVtbl
  648. {
  649. BEGIN_INTERFACE
  650. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  651. ISpNotifySink * This,
  652. /* [in] */ REFIID riid,
  653. /* [iid_is][out] */ void **ppvObject);
  654. ULONG ( STDMETHODCALLTYPE *AddRef )(
  655. ISpNotifySink * This);
  656. ULONG ( STDMETHODCALLTYPE *Release )(
  657. ISpNotifySink * This);
  658. HRESULT ( STDMETHODCALLTYPE *Notify )(
  659. ISpNotifySink * This);
  660. END_INTERFACE
  661. } ISpNotifySinkVtbl;
  662. interface ISpNotifySink
  663. {
  664. CONST_VTBL struct ISpNotifySinkVtbl *lpVtbl;
  665. };
  666. #ifdef COBJMACROS
  667. #define ISpNotifySink_QueryInterface(This,riid,ppvObject) \
  668. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  669. #define ISpNotifySink_AddRef(This) \
  670. (This)->lpVtbl -> AddRef(This)
  671. #define ISpNotifySink_Release(This) \
  672. (This)->lpVtbl -> Release(This)
  673. #define ISpNotifySink_Notify(This) \
  674. (This)->lpVtbl -> Notify(This)
  675. #endif /* COBJMACROS */
  676. #endif /* C style interface */
  677. HRESULT STDMETHODCALLTYPE ISpNotifySink_Notify_Proxy(
  678. ISpNotifySink * This);
  679. void __RPC_STUB ISpNotifySink_Notify_Stub(
  680. IRpcStubBuffer *This,
  681. IRpcChannelBuffer *_pRpcChannelBuffer,
  682. PRPC_MESSAGE _pRpcMessage,
  683. DWORD *_pdwStubPhase);
  684. #endif /* __ISpNotifySink_INTERFACE_DEFINED__ */
  685. #ifndef __ISpNotifyTranslator_INTERFACE_DEFINED__
  686. #define __ISpNotifyTranslator_INTERFACE_DEFINED__
  687. /* interface ISpNotifyTranslator */
  688. /* [restricted][local][unique][helpstring][uuid][object] */
  689. EXTERN_C const IID IID_ISpNotifyTranslator;
  690. #if defined(__cplusplus) && !defined(CINTERFACE)
  691. MIDL_INTERFACE("ACA16614-5D3D-11D2-960E-00C04F8EE628")
  692. ISpNotifyTranslator : public ISpNotifySink
  693. {
  694. public:
  695. virtual HRESULT STDMETHODCALLTYPE InitWindowMessage(
  696. /* [in] */ HWND hWnd,
  697. /* [in] */ UINT Msg,
  698. /* [in] */ WPARAM wParam,
  699. /* [in] */ LPARAM lParam) = 0;
  700. virtual HRESULT STDMETHODCALLTYPE InitCallback(
  701. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  702. /* [in] */ WPARAM wParam,
  703. /* [in] */ LPARAM lParam) = 0;
  704. virtual HRESULT STDMETHODCALLTYPE InitSpNotifyCallback(
  705. /* [in] */ ISpNotifyCallback *pSpCallback,
  706. /* [in] */ WPARAM wParam,
  707. /* [in] */ LPARAM lParam) = 0;
  708. virtual HRESULT STDMETHODCALLTYPE InitWin32Event(
  709. HANDLE hEvent,
  710. BOOL fCloseHandleOnRelease) = 0;
  711. virtual HRESULT STDMETHODCALLTYPE Wait(
  712. /* [in] */ DWORD dwMilliseconds) = 0;
  713. virtual HANDLE STDMETHODCALLTYPE GetEventHandle( void) = 0;
  714. };
  715. #else /* C style interface */
  716. typedef struct ISpNotifyTranslatorVtbl
  717. {
  718. BEGIN_INTERFACE
  719. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  720. ISpNotifyTranslator * This,
  721. /* [in] */ REFIID riid,
  722. /* [iid_is][out] */ void **ppvObject);
  723. ULONG ( STDMETHODCALLTYPE *AddRef )(
  724. ISpNotifyTranslator * This);
  725. ULONG ( STDMETHODCALLTYPE *Release )(
  726. ISpNotifyTranslator * This);
  727. HRESULT ( STDMETHODCALLTYPE *Notify )(
  728. ISpNotifyTranslator * This);
  729. HRESULT ( STDMETHODCALLTYPE *InitWindowMessage )(
  730. ISpNotifyTranslator * This,
  731. /* [in] */ HWND hWnd,
  732. /* [in] */ UINT Msg,
  733. /* [in] */ WPARAM wParam,
  734. /* [in] */ LPARAM lParam);
  735. HRESULT ( STDMETHODCALLTYPE *InitCallback )(
  736. ISpNotifyTranslator * This,
  737. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  738. /* [in] */ WPARAM wParam,
  739. /* [in] */ LPARAM lParam);
  740. HRESULT ( STDMETHODCALLTYPE *InitSpNotifyCallback )(
  741. ISpNotifyTranslator * This,
  742. /* [in] */ ISpNotifyCallback *pSpCallback,
  743. /* [in] */ WPARAM wParam,
  744. /* [in] */ LPARAM lParam);
  745. HRESULT ( STDMETHODCALLTYPE *InitWin32Event )(
  746. ISpNotifyTranslator * This,
  747. HANDLE hEvent,
  748. BOOL fCloseHandleOnRelease);
  749. HRESULT ( STDMETHODCALLTYPE *Wait )(
  750. ISpNotifyTranslator * This,
  751. /* [in] */ DWORD dwMilliseconds);
  752. HANDLE ( STDMETHODCALLTYPE *GetEventHandle )(
  753. ISpNotifyTranslator * This);
  754. END_INTERFACE
  755. } ISpNotifyTranslatorVtbl;
  756. interface ISpNotifyTranslator
  757. {
  758. CONST_VTBL struct ISpNotifyTranslatorVtbl *lpVtbl;
  759. };
  760. #ifdef COBJMACROS
  761. #define ISpNotifyTranslator_QueryInterface(This,riid,ppvObject) \
  762. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  763. #define ISpNotifyTranslator_AddRef(This) \
  764. (This)->lpVtbl -> AddRef(This)
  765. #define ISpNotifyTranslator_Release(This) \
  766. (This)->lpVtbl -> Release(This)
  767. #define ISpNotifyTranslator_Notify(This) \
  768. (This)->lpVtbl -> Notify(This)
  769. #define ISpNotifyTranslator_InitWindowMessage(This,hWnd,Msg,wParam,lParam) \
  770. (This)->lpVtbl -> InitWindowMessage(This,hWnd,Msg,wParam,lParam)
  771. #define ISpNotifyTranslator_InitCallback(This,pfnCallback,wParam,lParam) \
  772. (This)->lpVtbl -> InitCallback(This,pfnCallback,wParam,lParam)
  773. #define ISpNotifyTranslator_InitSpNotifyCallback(This,pSpCallback,wParam,lParam) \
  774. (This)->lpVtbl -> InitSpNotifyCallback(This,pSpCallback,wParam,lParam)
  775. #define ISpNotifyTranslator_InitWin32Event(This,hEvent,fCloseHandleOnRelease) \
  776. (This)->lpVtbl -> InitWin32Event(This,hEvent,fCloseHandleOnRelease)
  777. #define ISpNotifyTranslator_Wait(This,dwMilliseconds) \
  778. (This)->lpVtbl -> Wait(This,dwMilliseconds)
  779. #define ISpNotifyTranslator_GetEventHandle(This) \
  780. (This)->lpVtbl -> GetEventHandle(This)
  781. #endif /* COBJMACROS */
  782. #endif /* C style interface */
  783. HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitWindowMessage_Proxy(
  784. ISpNotifyTranslator * This,
  785. /* [in] */ HWND hWnd,
  786. /* [in] */ UINT Msg,
  787. /* [in] */ WPARAM wParam,
  788. /* [in] */ LPARAM lParam);
  789. void __RPC_STUB ISpNotifyTranslator_InitWindowMessage_Stub(
  790. IRpcStubBuffer *This,
  791. IRpcChannelBuffer *_pRpcChannelBuffer,
  792. PRPC_MESSAGE _pRpcMessage,
  793. DWORD *_pdwStubPhase);
  794. HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitCallback_Proxy(
  795. ISpNotifyTranslator * This,
  796. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  797. /* [in] */ WPARAM wParam,
  798. /* [in] */ LPARAM lParam);
  799. void __RPC_STUB ISpNotifyTranslator_InitCallback_Stub(
  800. IRpcStubBuffer *This,
  801. IRpcChannelBuffer *_pRpcChannelBuffer,
  802. PRPC_MESSAGE _pRpcMessage,
  803. DWORD *_pdwStubPhase);
  804. HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitSpNotifyCallback_Proxy(
  805. ISpNotifyTranslator * This,
  806. /* [in] */ ISpNotifyCallback *pSpCallback,
  807. /* [in] */ WPARAM wParam,
  808. /* [in] */ LPARAM lParam);
  809. void __RPC_STUB ISpNotifyTranslator_InitSpNotifyCallback_Stub(
  810. IRpcStubBuffer *This,
  811. IRpcChannelBuffer *_pRpcChannelBuffer,
  812. PRPC_MESSAGE _pRpcMessage,
  813. DWORD *_pdwStubPhase);
  814. HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_InitWin32Event_Proxy(
  815. ISpNotifyTranslator * This,
  816. HANDLE hEvent,
  817. BOOL fCloseHandleOnRelease);
  818. void __RPC_STUB ISpNotifyTranslator_InitWin32Event_Stub(
  819. IRpcStubBuffer *This,
  820. IRpcChannelBuffer *_pRpcChannelBuffer,
  821. PRPC_MESSAGE _pRpcMessage,
  822. DWORD *_pdwStubPhase);
  823. HRESULT STDMETHODCALLTYPE ISpNotifyTranslator_Wait_Proxy(
  824. ISpNotifyTranslator * This,
  825. /* [in] */ DWORD dwMilliseconds);
  826. void __RPC_STUB ISpNotifyTranslator_Wait_Stub(
  827. IRpcStubBuffer *This,
  828. IRpcChannelBuffer *_pRpcChannelBuffer,
  829. PRPC_MESSAGE _pRpcMessage,
  830. DWORD *_pdwStubPhase);
  831. HANDLE STDMETHODCALLTYPE ISpNotifyTranslator_GetEventHandle_Proxy(
  832. ISpNotifyTranslator * This);
  833. void __RPC_STUB ISpNotifyTranslator_GetEventHandle_Stub(
  834. IRpcStubBuffer *This,
  835. IRpcChannelBuffer *_pRpcChannelBuffer,
  836. PRPC_MESSAGE _pRpcMessage,
  837. DWORD *_pdwStubPhase);
  838. #endif /* __ISpNotifyTranslator_INTERFACE_DEFINED__ */
  839. #ifndef __ISpDataKey_INTERFACE_DEFINED__
  840. #define __ISpDataKey_INTERFACE_DEFINED__
  841. /* interface ISpDataKey */
  842. /* [restricted][unique][helpstring][uuid][object] */
  843. EXTERN_C const IID IID_ISpDataKey;
  844. #if defined(__cplusplus) && !defined(CINTERFACE)
  845. MIDL_INTERFACE("14056581-E16C-11D2-BB90-00C04F8EE6C0")
  846. ISpDataKey : public IUnknown
  847. {
  848. public:
  849. virtual HRESULT STDMETHODCALLTYPE SetData(
  850. const WCHAR *pszValueName,
  851. ULONG cbData,
  852. const BYTE *pData) = 0;
  853. virtual HRESULT STDMETHODCALLTYPE GetData(
  854. const WCHAR *pszValueName,
  855. ULONG *pcbData,
  856. BYTE *pData) = 0;
  857. virtual HRESULT STDMETHODCALLTYPE SetStringValue(
  858. const WCHAR *pszValueName,
  859. const WCHAR *pszValue) = 0;
  860. virtual HRESULT STDMETHODCALLTYPE GetStringValue(
  861. const WCHAR *pszValueName,
  862. WCHAR **ppszValue) = 0;
  863. virtual HRESULT STDMETHODCALLTYPE SetDWORD(
  864. const WCHAR *pszKeyName,
  865. DWORD dwValue) = 0;
  866. virtual HRESULT STDMETHODCALLTYPE GetDWORD(
  867. const WCHAR *pszKeyName,
  868. DWORD *pdwValue) = 0;
  869. virtual HRESULT STDMETHODCALLTYPE OpenKey(
  870. const WCHAR *pszSubKeyName,
  871. ISpDataKey **ppSubKey) = 0;
  872. virtual HRESULT STDMETHODCALLTYPE CreateKey(
  873. const WCHAR *pszSubKey,
  874. ISpDataKey **ppSubKey) = 0;
  875. virtual HRESULT STDMETHODCALLTYPE DeleteKey(
  876. const WCHAR *pszSubKey) = 0;
  877. virtual HRESULT STDMETHODCALLTYPE DeleteValue(
  878. const WCHAR *pszValueName) = 0;
  879. virtual HRESULT STDMETHODCALLTYPE EnumKeys(
  880. ULONG Index,
  881. WCHAR **ppszSubKeyName) = 0;
  882. virtual HRESULT STDMETHODCALLTYPE EnumValues(
  883. ULONG Index,
  884. WCHAR **ppszValueName) = 0;
  885. };
  886. #else /* C style interface */
  887. typedef struct ISpDataKeyVtbl
  888. {
  889. BEGIN_INTERFACE
  890. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  891. ISpDataKey * This,
  892. /* [in] */ REFIID riid,
  893. /* [iid_is][out] */ void **ppvObject);
  894. ULONG ( STDMETHODCALLTYPE *AddRef )(
  895. ISpDataKey * This);
  896. ULONG ( STDMETHODCALLTYPE *Release )(
  897. ISpDataKey * This);
  898. HRESULT ( STDMETHODCALLTYPE *SetData )(
  899. ISpDataKey * This,
  900. const WCHAR *pszValueName,
  901. ULONG cbData,
  902. const BYTE *pData);
  903. HRESULT ( STDMETHODCALLTYPE *GetData )(
  904. ISpDataKey * This,
  905. const WCHAR *pszValueName,
  906. ULONG *pcbData,
  907. BYTE *pData);
  908. HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
  909. ISpDataKey * This,
  910. const WCHAR *pszValueName,
  911. const WCHAR *pszValue);
  912. HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
  913. ISpDataKey * This,
  914. const WCHAR *pszValueName,
  915. WCHAR **ppszValue);
  916. HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
  917. ISpDataKey * This,
  918. const WCHAR *pszKeyName,
  919. DWORD dwValue);
  920. HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
  921. ISpDataKey * This,
  922. const WCHAR *pszKeyName,
  923. DWORD *pdwValue);
  924. HRESULT ( STDMETHODCALLTYPE *OpenKey )(
  925. ISpDataKey * This,
  926. const WCHAR *pszSubKeyName,
  927. ISpDataKey **ppSubKey);
  928. HRESULT ( STDMETHODCALLTYPE *CreateKey )(
  929. ISpDataKey * This,
  930. const WCHAR *pszSubKey,
  931. ISpDataKey **ppSubKey);
  932. HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
  933. ISpDataKey * This,
  934. const WCHAR *pszSubKey);
  935. HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
  936. ISpDataKey * This,
  937. const WCHAR *pszValueName);
  938. HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
  939. ISpDataKey * This,
  940. ULONG Index,
  941. WCHAR **ppszSubKeyName);
  942. HRESULT ( STDMETHODCALLTYPE *EnumValues )(
  943. ISpDataKey * This,
  944. ULONG Index,
  945. WCHAR **ppszValueName);
  946. END_INTERFACE
  947. } ISpDataKeyVtbl;
  948. interface ISpDataKey
  949. {
  950. CONST_VTBL struct ISpDataKeyVtbl *lpVtbl;
  951. };
  952. #ifdef COBJMACROS
  953. #define ISpDataKey_QueryInterface(This,riid,ppvObject) \
  954. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  955. #define ISpDataKey_AddRef(This) \
  956. (This)->lpVtbl -> AddRef(This)
  957. #define ISpDataKey_Release(This) \
  958. (This)->lpVtbl -> Release(This)
  959. #define ISpDataKey_SetData(This,pszValueName,cbData,pData) \
  960. (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
  961. #define ISpDataKey_GetData(This,pszValueName,pcbData,pData) \
  962. (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
  963. #define ISpDataKey_SetStringValue(This,pszValueName,pszValue) \
  964. (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
  965. #define ISpDataKey_GetStringValue(This,pszValueName,ppszValue) \
  966. (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
  967. #define ISpDataKey_SetDWORD(This,pszKeyName,dwValue) \
  968. (This)->lpVtbl -> SetDWORD(This,pszKeyName,dwValue)
  969. #define ISpDataKey_GetDWORD(This,pszKeyName,pdwValue) \
  970. (This)->lpVtbl -> GetDWORD(This,pszKeyName,pdwValue)
  971. #define ISpDataKey_OpenKey(This,pszSubKeyName,ppSubKey) \
  972. (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
  973. #define ISpDataKey_CreateKey(This,pszSubKey,ppSubKey) \
  974. (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
  975. #define ISpDataKey_DeleteKey(This,pszSubKey) \
  976. (This)->lpVtbl -> DeleteKey(This,pszSubKey)
  977. #define ISpDataKey_DeleteValue(This,pszValueName) \
  978. (This)->lpVtbl -> DeleteValue(This,pszValueName)
  979. #define ISpDataKey_EnumKeys(This,Index,ppszSubKeyName) \
  980. (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
  981. #define ISpDataKey_EnumValues(This,Index,ppszValueName) \
  982. (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
  983. #endif /* COBJMACROS */
  984. #endif /* C style interface */
  985. HRESULT STDMETHODCALLTYPE ISpDataKey_SetData_Proxy(
  986. ISpDataKey * This,
  987. const WCHAR *pszValueName,
  988. ULONG cbData,
  989. const BYTE *pData);
  990. void __RPC_STUB ISpDataKey_SetData_Stub(
  991. IRpcStubBuffer *This,
  992. IRpcChannelBuffer *_pRpcChannelBuffer,
  993. PRPC_MESSAGE _pRpcMessage,
  994. DWORD *_pdwStubPhase);
  995. HRESULT STDMETHODCALLTYPE ISpDataKey_GetData_Proxy(
  996. ISpDataKey * This,
  997. const WCHAR *pszValueName,
  998. ULONG *pcbData,
  999. BYTE *pData);
  1000. void __RPC_STUB ISpDataKey_GetData_Stub(
  1001. IRpcStubBuffer *This,
  1002. IRpcChannelBuffer *_pRpcChannelBuffer,
  1003. PRPC_MESSAGE _pRpcMessage,
  1004. DWORD *_pdwStubPhase);
  1005. HRESULT STDMETHODCALLTYPE ISpDataKey_SetStringValue_Proxy(
  1006. ISpDataKey * This,
  1007. const WCHAR *pszValueName,
  1008. const WCHAR *pszValue);
  1009. void __RPC_STUB ISpDataKey_SetStringValue_Stub(
  1010. IRpcStubBuffer *This,
  1011. IRpcChannelBuffer *_pRpcChannelBuffer,
  1012. PRPC_MESSAGE _pRpcMessage,
  1013. DWORD *_pdwStubPhase);
  1014. HRESULT STDMETHODCALLTYPE ISpDataKey_GetStringValue_Proxy(
  1015. ISpDataKey * This,
  1016. const WCHAR *pszValueName,
  1017. WCHAR **ppszValue);
  1018. void __RPC_STUB ISpDataKey_GetStringValue_Stub(
  1019. IRpcStubBuffer *This,
  1020. IRpcChannelBuffer *_pRpcChannelBuffer,
  1021. PRPC_MESSAGE _pRpcMessage,
  1022. DWORD *_pdwStubPhase);
  1023. HRESULT STDMETHODCALLTYPE ISpDataKey_SetDWORD_Proxy(
  1024. ISpDataKey * This,
  1025. const WCHAR *pszKeyName,
  1026. DWORD dwValue);
  1027. void __RPC_STUB ISpDataKey_SetDWORD_Stub(
  1028. IRpcStubBuffer *This,
  1029. IRpcChannelBuffer *_pRpcChannelBuffer,
  1030. PRPC_MESSAGE _pRpcMessage,
  1031. DWORD *_pdwStubPhase);
  1032. HRESULT STDMETHODCALLTYPE ISpDataKey_GetDWORD_Proxy(
  1033. ISpDataKey * This,
  1034. const WCHAR *pszKeyName,
  1035. DWORD *pdwValue);
  1036. void __RPC_STUB ISpDataKey_GetDWORD_Stub(
  1037. IRpcStubBuffer *This,
  1038. IRpcChannelBuffer *_pRpcChannelBuffer,
  1039. PRPC_MESSAGE _pRpcMessage,
  1040. DWORD *_pdwStubPhase);
  1041. HRESULT STDMETHODCALLTYPE ISpDataKey_OpenKey_Proxy(
  1042. ISpDataKey * This,
  1043. const WCHAR *pszSubKeyName,
  1044. ISpDataKey **ppSubKey);
  1045. void __RPC_STUB ISpDataKey_OpenKey_Stub(
  1046. IRpcStubBuffer *This,
  1047. IRpcChannelBuffer *_pRpcChannelBuffer,
  1048. PRPC_MESSAGE _pRpcMessage,
  1049. DWORD *_pdwStubPhase);
  1050. HRESULT STDMETHODCALLTYPE ISpDataKey_CreateKey_Proxy(
  1051. ISpDataKey * This,
  1052. const WCHAR *pszSubKey,
  1053. ISpDataKey **ppSubKey);
  1054. void __RPC_STUB ISpDataKey_CreateKey_Stub(
  1055. IRpcStubBuffer *This,
  1056. IRpcChannelBuffer *_pRpcChannelBuffer,
  1057. PRPC_MESSAGE _pRpcMessage,
  1058. DWORD *_pdwStubPhase);
  1059. HRESULT STDMETHODCALLTYPE ISpDataKey_DeleteKey_Proxy(
  1060. ISpDataKey * This,
  1061. const WCHAR *pszSubKey);
  1062. void __RPC_STUB ISpDataKey_DeleteKey_Stub(
  1063. IRpcStubBuffer *This,
  1064. IRpcChannelBuffer *_pRpcChannelBuffer,
  1065. PRPC_MESSAGE _pRpcMessage,
  1066. DWORD *_pdwStubPhase);
  1067. HRESULT STDMETHODCALLTYPE ISpDataKey_DeleteValue_Proxy(
  1068. ISpDataKey * This,
  1069. const WCHAR *pszValueName);
  1070. void __RPC_STUB ISpDataKey_DeleteValue_Stub(
  1071. IRpcStubBuffer *This,
  1072. IRpcChannelBuffer *_pRpcChannelBuffer,
  1073. PRPC_MESSAGE _pRpcMessage,
  1074. DWORD *_pdwStubPhase);
  1075. HRESULT STDMETHODCALLTYPE ISpDataKey_EnumKeys_Proxy(
  1076. ISpDataKey * This,
  1077. ULONG Index,
  1078. WCHAR **ppszSubKeyName);
  1079. void __RPC_STUB ISpDataKey_EnumKeys_Stub(
  1080. IRpcStubBuffer *This,
  1081. IRpcChannelBuffer *_pRpcChannelBuffer,
  1082. PRPC_MESSAGE _pRpcMessage,
  1083. DWORD *_pdwStubPhase);
  1084. HRESULT STDMETHODCALLTYPE ISpDataKey_EnumValues_Proxy(
  1085. ISpDataKey * This,
  1086. ULONG Index,
  1087. WCHAR **ppszValueName);
  1088. void __RPC_STUB ISpDataKey_EnumValues_Stub(
  1089. IRpcStubBuffer *This,
  1090. IRpcChannelBuffer *_pRpcChannelBuffer,
  1091. PRPC_MESSAGE _pRpcMessage,
  1092. DWORD *_pdwStubPhase);
  1093. #endif /* __ISpDataKey_INTERFACE_DEFINED__ */
  1094. #ifndef __ISpRegDataKey_INTERFACE_DEFINED__
  1095. #define __ISpRegDataKey_INTERFACE_DEFINED__
  1096. /* interface ISpRegDataKey */
  1097. /* [restricted][unique][helpstring][uuid][object] */
  1098. EXTERN_C const IID IID_ISpRegDataKey;
  1099. #if defined(__cplusplus) && !defined(CINTERFACE)
  1100. MIDL_INTERFACE("92A66E2B-C830-4149-83DF-6FC2BA1E7A5B")
  1101. ISpRegDataKey : public ISpDataKey
  1102. {
  1103. public:
  1104. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetKey(
  1105. /* [in] */ HKEY hkey,
  1106. /* [in] */ BOOL fReadOnly) = 0;
  1107. };
  1108. #else /* C style interface */
  1109. typedef struct ISpRegDataKeyVtbl
  1110. {
  1111. BEGIN_INTERFACE
  1112. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1113. ISpRegDataKey * This,
  1114. /* [in] */ REFIID riid,
  1115. /* [iid_is][out] */ void **ppvObject);
  1116. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1117. ISpRegDataKey * This);
  1118. ULONG ( STDMETHODCALLTYPE *Release )(
  1119. ISpRegDataKey * This);
  1120. HRESULT ( STDMETHODCALLTYPE *SetData )(
  1121. ISpRegDataKey * This,
  1122. const WCHAR *pszValueName,
  1123. ULONG cbData,
  1124. const BYTE *pData);
  1125. HRESULT ( STDMETHODCALLTYPE *GetData )(
  1126. ISpRegDataKey * This,
  1127. const WCHAR *pszValueName,
  1128. ULONG *pcbData,
  1129. BYTE *pData);
  1130. HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
  1131. ISpRegDataKey * This,
  1132. const WCHAR *pszValueName,
  1133. const WCHAR *pszValue);
  1134. HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
  1135. ISpRegDataKey * This,
  1136. const WCHAR *pszValueName,
  1137. WCHAR **ppszValue);
  1138. HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
  1139. ISpRegDataKey * This,
  1140. const WCHAR *pszKeyName,
  1141. DWORD dwValue);
  1142. HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
  1143. ISpRegDataKey * This,
  1144. const WCHAR *pszKeyName,
  1145. DWORD *pdwValue);
  1146. HRESULT ( STDMETHODCALLTYPE *OpenKey )(
  1147. ISpRegDataKey * This,
  1148. const WCHAR *pszSubKeyName,
  1149. ISpDataKey **ppSubKey);
  1150. HRESULT ( STDMETHODCALLTYPE *CreateKey )(
  1151. ISpRegDataKey * This,
  1152. const WCHAR *pszSubKey,
  1153. ISpDataKey **ppSubKey);
  1154. HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
  1155. ISpRegDataKey * This,
  1156. const WCHAR *pszSubKey);
  1157. HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
  1158. ISpRegDataKey * This,
  1159. const WCHAR *pszValueName);
  1160. HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
  1161. ISpRegDataKey * This,
  1162. ULONG Index,
  1163. WCHAR **ppszSubKeyName);
  1164. HRESULT ( STDMETHODCALLTYPE *EnumValues )(
  1165. ISpRegDataKey * This,
  1166. ULONG Index,
  1167. WCHAR **ppszValueName);
  1168. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetKey )(
  1169. ISpRegDataKey * This,
  1170. /* [in] */ HKEY hkey,
  1171. /* [in] */ BOOL fReadOnly);
  1172. END_INTERFACE
  1173. } ISpRegDataKeyVtbl;
  1174. interface ISpRegDataKey
  1175. {
  1176. CONST_VTBL struct ISpRegDataKeyVtbl *lpVtbl;
  1177. };
  1178. #ifdef COBJMACROS
  1179. #define ISpRegDataKey_QueryInterface(This,riid,ppvObject) \
  1180. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1181. #define ISpRegDataKey_AddRef(This) \
  1182. (This)->lpVtbl -> AddRef(This)
  1183. #define ISpRegDataKey_Release(This) \
  1184. (This)->lpVtbl -> Release(This)
  1185. #define ISpRegDataKey_SetData(This,pszValueName,cbData,pData) \
  1186. (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
  1187. #define ISpRegDataKey_GetData(This,pszValueName,pcbData,pData) \
  1188. (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
  1189. #define ISpRegDataKey_SetStringValue(This,pszValueName,pszValue) \
  1190. (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
  1191. #define ISpRegDataKey_GetStringValue(This,pszValueName,ppszValue) \
  1192. (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
  1193. #define ISpRegDataKey_SetDWORD(This,pszKeyName,dwValue) \
  1194. (This)->lpVtbl -> SetDWORD(This,pszKeyName,dwValue)
  1195. #define ISpRegDataKey_GetDWORD(This,pszKeyName,pdwValue) \
  1196. (This)->lpVtbl -> GetDWORD(This,pszKeyName,pdwValue)
  1197. #define ISpRegDataKey_OpenKey(This,pszSubKeyName,ppSubKey) \
  1198. (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
  1199. #define ISpRegDataKey_CreateKey(This,pszSubKey,ppSubKey) \
  1200. (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
  1201. #define ISpRegDataKey_DeleteKey(This,pszSubKey) \
  1202. (This)->lpVtbl -> DeleteKey(This,pszSubKey)
  1203. #define ISpRegDataKey_DeleteValue(This,pszValueName) \
  1204. (This)->lpVtbl -> DeleteValue(This,pszValueName)
  1205. #define ISpRegDataKey_EnumKeys(This,Index,ppszSubKeyName) \
  1206. (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
  1207. #define ISpRegDataKey_EnumValues(This,Index,ppszValueName) \
  1208. (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
  1209. #define ISpRegDataKey_SetKey(This,hkey,fReadOnly) \
  1210. (This)->lpVtbl -> SetKey(This,hkey,fReadOnly)
  1211. #endif /* COBJMACROS */
  1212. #endif /* C style interface */
  1213. /* [local] */ HRESULT STDMETHODCALLTYPE ISpRegDataKey_SetKey_Proxy(
  1214. ISpRegDataKey * This,
  1215. /* [in] */ HKEY hkey,
  1216. /* [in] */ BOOL fReadOnly);
  1217. void __RPC_STUB ISpRegDataKey_SetKey_Stub(
  1218. IRpcStubBuffer *This,
  1219. IRpcChannelBuffer *_pRpcChannelBuffer,
  1220. PRPC_MESSAGE _pRpcMessage,
  1221. DWORD *_pdwStubPhase);
  1222. #endif /* __ISpRegDataKey_INTERFACE_DEFINED__ */
  1223. #ifndef __ISpObjectTokenCategory_INTERFACE_DEFINED__
  1224. #define __ISpObjectTokenCategory_INTERFACE_DEFINED__
  1225. /* interface ISpObjectTokenCategory */
  1226. /* [restricted][unique][helpstring][uuid][object] */
  1227. EXTERN_C const IID IID_ISpObjectTokenCategory;
  1228. #if defined(__cplusplus) && !defined(CINTERFACE)
  1229. MIDL_INTERFACE("2D3D3845-39AF-4850-BBF9-40B49780011D")
  1230. ISpObjectTokenCategory : public ISpDataKey
  1231. {
  1232. public:
  1233. virtual HRESULT STDMETHODCALLTYPE SetId(
  1234. /* [in] */ const WCHAR *pszCategoryId,
  1235. BOOL fCreateIfNotExist) = 0;
  1236. virtual HRESULT STDMETHODCALLTYPE GetId(
  1237. /* [out] */ WCHAR **ppszCoMemCategoryId) = 0;
  1238. virtual HRESULT STDMETHODCALLTYPE GetDataKey(
  1239. SPDATAKEYLOCATION spdkl,
  1240. ISpDataKey **ppDataKey) = 0;
  1241. virtual HRESULT STDMETHODCALLTYPE EnumTokens(
  1242. /* [string][in] */ const WCHAR *pzsReqAttribs,
  1243. /* [string][in] */ const WCHAR *pszOptAttribs,
  1244. /* [out] */ IEnumSpObjectTokens **ppEnum) = 0;
  1245. virtual HRESULT STDMETHODCALLTYPE SetDefaultTokenId(
  1246. /* [in] */ const WCHAR *pszTokenId) = 0;
  1247. virtual HRESULT STDMETHODCALLTYPE GetDefaultTokenId(
  1248. /* [out] */ WCHAR **ppszCoMemTokenId) = 0;
  1249. };
  1250. #else /* C style interface */
  1251. typedef struct ISpObjectTokenCategoryVtbl
  1252. {
  1253. BEGIN_INTERFACE
  1254. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1255. ISpObjectTokenCategory * This,
  1256. /* [in] */ REFIID riid,
  1257. /* [iid_is][out] */ void **ppvObject);
  1258. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1259. ISpObjectTokenCategory * This);
  1260. ULONG ( STDMETHODCALLTYPE *Release )(
  1261. ISpObjectTokenCategory * This);
  1262. HRESULT ( STDMETHODCALLTYPE *SetData )(
  1263. ISpObjectTokenCategory * This,
  1264. const WCHAR *pszValueName,
  1265. ULONG cbData,
  1266. const BYTE *pData);
  1267. HRESULT ( STDMETHODCALLTYPE *GetData )(
  1268. ISpObjectTokenCategory * This,
  1269. const WCHAR *pszValueName,
  1270. ULONG *pcbData,
  1271. BYTE *pData);
  1272. HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
  1273. ISpObjectTokenCategory * This,
  1274. const WCHAR *pszValueName,
  1275. const WCHAR *pszValue);
  1276. HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
  1277. ISpObjectTokenCategory * This,
  1278. const WCHAR *pszValueName,
  1279. WCHAR **ppszValue);
  1280. HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
  1281. ISpObjectTokenCategory * This,
  1282. const WCHAR *pszKeyName,
  1283. DWORD dwValue);
  1284. HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
  1285. ISpObjectTokenCategory * This,
  1286. const WCHAR *pszKeyName,
  1287. DWORD *pdwValue);
  1288. HRESULT ( STDMETHODCALLTYPE *OpenKey )(
  1289. ISpObjectTokenCategory * This,
  1290. const WCHAR *pszSubKeyName,
  1291. ISpDataKey **ppSubKey);
  1292. HRESULT ( STDMETHODCALLTYPE *CreateKey )(
  1293. ISpObjectTokenCategory * This,
  1294. const WCHAR *pszSubKey,
  1295. ISpDataKey **ppSubKey);
  1296. HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
  1297. ISpObjectTokenCategory * This,
  1298. const WCHAR *pszSubKey);
  1299. HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
  1300. ISpObjectTokenCategory * This,
  1301. const WCHAR *pszValueName);
  1302. HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
  1303. ISpObjectTokenCategory * This,
  1304. ULONG Index,
  1305. WCHAR **ppszSubKeyName);
  1306. HRESULT ( STDMETHODCALLTYPE *EnumValues )(
  1307. ISpObjectTokenCategory * This,
  1308. ULONG Index,
  1309. WCHAR **ppszValueName);
  1310. HRESULT ( STDMETHODCALLTYPE *SetId )(
  1311. ISpObjectTokenCategory * This,
  1312. /* [in] */ const WCHAR *pszCategoryId,
  1313. BOOL fCreateIfNotExist);
  1314. HRESULT ( STDMETHODCALLTYPE *GetId )(
  1315. ISpObjectTokenCategory * This,
  1316. /* [out] */ WCHAR **ppszCoMemCategoryId);
  1317. HRESULT ( STDMETHODCALLTYPE *GetDataKey )(
  1318. ISpObjectTokenCategory * This,
  1319. SPDATAKEYLOCATION spdkl,
  1320. ISpDataKey **ppDataKey);
  1321. HRESULT ( STDMETHODCALLTYPE *EnumTokens )(
  1322. ISpObjectTokenCategory * This,
  1323. /* [string][in] */ const WCHAR *pzsReqAttribs,
  1324. /* [string][in] */ const WCHAR *pszOptAttribs,
  1325. /* [out] */ IEnumSpObjectTokens **ppEnum);
  1326. HRESULT ( STDMETHODCALLTYPE *SetDefaultTokenId )(
  1327. ISpObjectTokenCategory * This,
  1328. /* [in] */ const WCHAR *pszTokenId);
  1329. HRESULT ( STDMETHODCALLTYPE *GetDefaultTokenId )(
  1330. ISpObjectTokenCategory * This,
  1331. /* [out] */ WCHAR **ppszCoMemTokenId);
  1332. END_INTERFACE
  1333. } ISpObjectTokenCategoryVtbl;
  1334. interface ISpObjectTokenCategory
  1335. {
  1336. CONST_VTBL struct ISpObjectTokenCategoryVtbl *lpVtbl;
  1337. };
  1338. #ifdef COBJMACROS
  1339. #define ISpObjectTokenCategory_QueryInterface(This,riid,ppvObject) \
  1340. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1341. #define ISpObjectTokenCategory_AddRef(This) \
  1342. (This)->lpVtbl -> AddRef(This)
  1343. #define ISpObjectTokenCategory_Release(This) \
  1344. (This)->lpVtbl -> Release(This)
  1345. #define ISpObjectTokenCategory_SetData(This,pszValueName,cbData,pData) \
  1346. (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
  1347. #define ISpObjectTokenCategory_GetData(This,pszValueName,pcbData,pData) \
  1348. (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
  1349. #define ISpObjectTokenCategory_SetStringValue(This,pszValueName,pszValue) \
  1350. (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
  1351. #define ISpObjectTokenCategory_GetStringValue(This,pszValueName,ppszValue) \
  1352. (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
  1353. #define ISpObjectTokenCategory_SetDWORD(This,pszKeyName,dwValue) \
  1354. (This)->lpVtbl -> SetDWORD(This,pszKeyName,dwValue)
  1355. #define ISpObjectTokenCategory_GetDWORD(This,pszKeyName,pdwValue) \
  1356. (This)->lpVtbl -> GetDWORD(This,pszKeyName,pdwValue)
  1357. #define ISpObjectTokenCategory_OpenKey(This,pszSubKeyName,ppSubKey) \
  1358. (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
  1359. #define ISpObjectTokenCategory_CreateKey(This,pszSubKey,ppSubKey) \
  1360. (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
  1361. #define ISpObjectTokenCategory_DeleteKey(This,pszSubKey) \
  1362. (This)->lpVtbl -> DeleteKey(This,pszSubKey)
  1363. #define ISpObjectTokenCategory_DeleteValue(This,pszValueName) \
  1364. (This)->lpVtbl -> DeleteValue(This,pszValueName)
  1365. #define ISpObjectTokenCategory_EnumKeys(This,Index,ppszSubKeyName) \
  1366. (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
  1367. #define ISpObjectTokenCategory_EnumValues(This,Index,ppszValueName) \
  1368. (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
  1369. #define ISpObjectTokenCategory_SetId(This,pszCategoryId,fCreateIfNotExist) \
  1370. (This)->lpVtbl -> SetId(This,pszCategoryId,fCreateIfNotExist)
  1371. #define ISpObjectTokenCategory_GetId(This,ppszCoMemCategoryId) \
  1372. (This)->lpVtbl -> GetId(This,ppszCoMemCategoryId)
  1373. #define ISpObjectTokenCategory_GetDataKey(This,spdkl,ppDataKey) \
  1374. (This)->lpVtbl -> GetDataKey(This,spdkl,ppDataKey)
  1375. #define ISpObjectTokenCategory_EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum) \
  1376. (This)->lpVtbl -> EnumTokens(This,pzsReqAttribs,pszOptAttribs,ppEnum)
  1377. #define ISpObjectTokenCategory_SetDefaultTokenId(This,pszTokenId) \
  1378. (This)->lpVtbl -> SetDefaultTokenId(This,pszTokenId)
  1379. #define ISpObjectTokenCategory_GetDefaultTokenId(This,ppszCoMemTokenId) \
  1380. (This)->lpVtbl -> GetDefaultTokenId(This,ppszCoMemTokenId)
  1381. #endif /* COBJMACROS */
  1382. #endif /* C style interface */
  1383. HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_SetId_Proxy(
  1384. ISpObjectTokenCategory * This,
  1385. /* [in] */ const WCHAR *pszCategoryId,
  1386. BOOL fCreateIfNotExist);
  1387. void __RPC_STUB ISpObjectTokenCategory_SetId_Stub(
  1388. IRpcStubBuffer *This,
  1389. IRpcChannelBuffer *_pRpcChannelBuffer,
  1390. PRPC_MESSAGE _pRpcMessage,
  1391. DWORD *_pdwStubPhase);
  1392. HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetId_Proxy(
  1393. ISpObjectTokenCategory * This,
  1394. /* [out] */ WCHAR **ppszCoMemCategoryId);
  1395. void __RPC_STUB ISpObjectTokenCategory_GetId_Stub(
  1396. IRpcStubBuffer *This,
  1397. IRpcChannelBuffer *_pRpcChannelBuffer,
  1398. PRPC_MESSAGE _pRpcMessage,
  1399. DWORD *_pdwStubPhase);
  1400. HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetDataKey_Proxy(
  1401. ISpObjectTokenCategory * This,
  1402. SPDATAKEYLOCATION spdkl,
  1403. ISpDataKey **ppDataKey);
  1404. void __RPC_STUB ISpObjectTokenCategory_GetDataKey_Stub(
  1405. IRpcStubBuffer *This,
  1406. IRpcChannelBuffer *_pRpcChannelBuffer,
  1407. PRPC_MESSAGE _pRpcMessage,
  1408. DWORD *_pdwStubPhase);
  1409. HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_EnumTokens_Proxy(
  1410. ISpObjectTokenCategory * This,
  1411. /* [string][in] */ const WCHAR *pzsReqAttribs,
  1412. /* [string][in] */ const WCHAR *pszOptAttribs,
  1413. /* [out] */ IEnumSpObjectTokens **ppEnum);
  1414. void __RPC_STUB ISpObjectTokenCategory_EnumTokens_Stub(
  1415. IRpcStubBuffer *This,
  1416. IRpcChannelBuffer *_pRpcChannelBuffer,
  1417. PRPC_MESSAGE _pRpcMessage,
  1418. DWORD *_pdwStubPhase);
  1419. HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_SetDefaultTokenId_Proxy(
  1420. ISpObjectTokenCategory * This,
  1421. /* [in] */ const WCHAR *pszTokenId);
  1422. void __RPC_STUB ISpObjectTokenCategory_SetDefaultTokenId_Stub(
  1423. IRpcStubBuffer *This,
  1424. IRpcChannelBuffer *_pRpcChannelBuffer,
  1425. PRPC_MESSAGE _pRpcMessage,
  1426. DWORD *_pdwStubPhase);
  1427. HRESULT STDMETHODCALLTYPE ISpObjectTokenCategory_GetDefaultTokenId_Proxy(
  1428. ISpObjectTokenCategory * This,
  1429. /* [out] */ WCHAR **ppszCoMemTokenId);
  1430. void __RPC_STUB ISpObjectTokenCategory_GetDefaultTokenId_Stub(
  1431. IRpcStubBuffer *This,
  1432. IRpcChannelBuffer *_pRpcChannelBuffer,
  1433. PRPC_MESSAGE _pRpcMessage,
  1434. DWORD *_pdwStubPhase);
  1435. #endif /* __ISpObjectTokenCategory_INTERFACE_DEFINED__ */
  1436. #ifndef __ISpObjectToken_INTERFACE_DEFINED__
  1437. #define __ISpObjectToken_INTERFACE_DEFINED__
  1438. /* interface ISpObjectToken */
  1439. /* [restricted][unique][helpstring][uuid][object] */
  1440. EXTERN_C const IID IID_ISpObjectToken;
  1441. #if defined(__cplusplus) && !defined(CINTERFACE)
  1442. MIDL_INTERFACE("14056589-E16C-11D2-BB90-00C04F8EE6C0")
  1443. ISpObjectToken : public ISpDataKey
  1444. {
  1445. public:
  1446. virtual HRESULT STDMETHODCALLTYPE SetId(
  1447. const WCHAR *pszCategoryId,
  1448. const WCHAR *pszTokenId,
  1449. BOOL fCreateIfNotExist) = 0;
  1450. virtual HRESULT STDMETHODCALLTYPE GetId(
  1451. WCHAR **ppszCoMemTokenId) = 0;
  1452. virtual HRESULT STDMETHODCALLTYPE GetCategory(
  1453. ISpObjectTokenCategory **ppTokenCategory) = 0;
  1454. virtual HRESULT STDMETHODCALLTYPE CreateInstance(
  1455. /* [in] */ IUnknown *pUnkOuter,
  1456. /* [in] */ DWORD dwClsContext,
  1457. /* [in] */ REFIID riid,
  1458. /* [iid_is][out] */ void **ppvObject) = 0;
  1459. virtual HRESULT STDMETHODCALLTYPE GetStorageFileName(
  1460. /* [in] */ REFCLSID clsidCaller,
  1461. /* [in] */ const WCHAR *pszValueName,
  1462. /* [in] */ const WCHAR *pszFileNameSpecifier,
  1463. /* [in] */ ULONG nFolder,
  1464. /* [out] */ WCHAR **ppszFilePath) = 0;
  1465. virtual HRESULT STDMETHODCALLTYPE RemoveStorageFileName(
  1466. /* [in] */ REFCLSID clsidCaller,
  1467. /* [in] */ const WCHAR *pszKeyName,
  1468. /* [in] */ BOOL fDeleteFile) = 0;
  1469. virtual HRESULT STDMETHODCALLTYPE Remove(
  1470. const CLSID *pclsidCaller) = 0;
  1471. virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsUISupported(
  1472. /* [in] */ const WCHAR *pszTypeOfUI,
  1473. /* [in] */ void *pvExtraData,
  1474. /* [in] */ ULONG cbExtraData,
  1475. /* [in] */ IUnknown *punkObject,
  1476. /* [out] */ BOOL *pfSupported) = 0;
  1477. virtual /* [local] */ HRESULT STDMETHODCALLTYPE DisplayUI(
  1478. /* [in] */ HWND hwndParent,
  1479. /* [in] */ const WCHAR *pszTitle,
  1480. /* [in] */ const WCHAR *pszTypeOfUI,
  1481. /* [in] */ void *pvExtraData,
  1482. /* [in] */ ULONG cbExtraData,
  1483. /* [in] */ IUnknown *punkObject) = 0;
  1484. virtual HRESULT STDMETHODCALLTYPE MatchesAttributes(
  1485. /* [in] */ const WCHAR *pszAttributes,
  1486. /* [out] */ BOOL *pfMatches) = 0;
  1487. };
  1488. #else /* C style interface */
  1489. typedef struct ISpObjectTokenVtbl
  1490. {
  1491. BEGIN_INTERFACE
  1492. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1493. ISpObjectToken * This,
  1494. /* [in] */ REFIID riid,
  1495. /* [iid_is][out] */ void **ppvObject);
  1496. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1497. ISpObjectToken * This);
  1498. ULONG ( STDMETHODCALLTYPE *Release )(
  1499. ISpObjectToken * This);
  1500. HRESULT ( STDMETHODCALLTYPE *SetData )(
  1501. ISpObjectToken * This,
  1502. const WCHAR *pszValueName,
  1503. ULONG cbData,
  1504. const BYTE *pData);
  1505. HRESULT ( STDMETHODCALLTYPE *GetData )(
  1506. ISpObjectToken * This,
  1507. const WCHAR *pszValueName,
  1508. ULONG *pcbData,
  1509. BYTE *pData);
  1510. HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
  1511. ISpObjectToken * This,
  1512. const WCHAR *pszValueName,
  1513. const WCHAR *pszValue);
  1514. HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
  1515. ISpObjectToken * This,
  1516. const WCHAR *pszValueName,
  1517. WCHAR **ppszValue);
  1518. HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
  1519. ISpObjectToken * This,
  1520. const WCHAR *pszKeyName,
  1521. DWORD dwValue);
  1522. HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
  1523. ISpObjectToken * This,
  1524. const WCHAR *pszKeyName,
  1525. DWORD *pdwValue);
  1526. HRESULT ( STDMETHODCALLTYPE *OpenKey )(
  1527. ISpObjectToken * This,
  1528. const WCHAR *pszSubKeyName,
  1529. ISpDataKey **ppSubKey);
  1530. HRESULT ( STDMETHODCALLTYPE *CreateKey )(
  1531. ISpObjectToken * This,
  1532. const WCHAR *pszSubKey,
  1533. ISpDataKey **ppSubKey);
  1534. HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
  1535. ISpObjectToken * This,
  1536. const WCHAR *pszSubKey);
  1537. HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
  1538. ISpObjectToken * This,
  1539. const WCHAR *pszValueName);
  1540. HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
  1541. ISpObjectToken * This,
  1542. ULONG Index,
  1543. WCHAR **ppszSubKeyName);
  1544. HRESULT ( STDMETHODCALLTYPE *EnumValues )(
  1545. ISpObjectToken * This,
  1546. ULONG Index,
  1547. WCHAR **ppszValueName);
  1548. HRESULT ( STDMETHODCALLTYPE *SetId )(
  1549. ISpObjectToken * This,
  1550. const WCHAR *pszCategoryId,
  1551. const WCHAR *pszTokenId,
  1552. BOOL fCreateIfNotExist);
  1553. HRESULT ( STDMETHODCALLTYPE *GetId )(
  1554. ISpObjectToken * This,
  1555. WCHAR **ppszCoMemTokenId);
  1556. HRESULT ( STDMETHODCALLTYPE *GetCategory )(
  1557. ISpObjectToken * This,
  1558. ISpObjectTokenCategory **ppTokenCategory);
  1559. HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
  1560. ISpObjectToken * This,
  1561. /* [in] */ IUnknown *pUnkOuter,
  1562. /* [in] */ DWORD dwClsContext,
  1563. /* [in] */ REFIID riid,
  1564. /* [iid_is][out] */ void **ppvObject);
  1565. HRESULT ( STDMETHODCALLTYPE *GetStorageFileName )(
  1566. ISpObjectToken * This,
  1567. /* [in] */ REFCLSID clsidCaller,
  1568. /* [in] */ const WCHAR *pszValueName,
  1569. /* [in] */ const WCHAR *pszFileNameSpecifier,
  1570. /* [in] */ ULONG nFolder,
  1571. /* [out] */ WCHAR **ppszFilePath);
  1572. HRESULT ( STDMETHODCALLTYPE *RemoveStorageFileName )(
  1573. ISpObjectToken * This,
  1574. /* [in] */ REFCLSID clsidCaller,
  1575. /* [in] */ const WCHAR *pszKeyName,
  1576. /* [in] */ BOOL fDeleteFile);
  1577. HRESULT ( STDMETHODCALLTYPE *Remove )(
  1578. ISpObjectToken * This,
  1579. const CLSID *pclsidCaller);
  1580. /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
  1581. ISpObjectToken * This,
  1582. /* [in] */ const WCHAR *pszTypeOfUI,
  1583. /* [in] */ void *pvExtraData,
  1584. /* [in] */ ULONG cbExtraData,
  1585. /* [in] */ IUnknown *punkObject,
  1586. /* [out] */ BOOL *pfSupported);
  1587. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
  1588. ISpObjectToken * This,
  1589. /* [in] */ HWND hwndParent,
  1590. /* [in] */ const WCHAR *pszTitle,
  1591. /* [in] */ const WCHAR *pszTypeOfUI,
  1592. /* [in] */ void *pvExtraData,
  1593. /* [in] */ ULONG cbExtraData,
  1594. /* [in] */ IUnknown *punkObject);
  1595. HRESULT ( STDMETHODCALLTYPE *MatchesAttributes )(
  1596. ISpObjectToken * This,
  1597. /* [in] */ const WCHAR *pszAttributes,
  1598. /* [out] */ BOOL *pfMatches);
  1599. END_INTERFACE
  1600. } ISpObjectTokenVtbl;
  1601. interface ISpObjectToken
  1602. {
  1603. CONST_VTBL struct ISpObjectTokenVtbl *lpVtbl;
  1604. };
  1605. #ifdef COBJMACROS
  1606. #define ISpObjectToken_QueryInterface(This,riid,ppvObject) \
  1607. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1608. #define ISpObjectToken_AddRef(This) \
  1609. (This)->lpVtbl -> AddRef(This)
  1610. #define ISpObjectToken_Release(This) \
  1611. (This)->lpVtbl -> Release(This)
  1612. #define ISpObjectToken_SetData(This,pszValueName,cbData,pData) \
  1613. (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
  1614. #define ISpObjectToken_GetData(This,pszValueName,pcbData,pData) \
  1615. (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
  1616. #define ISpObjectToken_SetStringValue(This,pszValueName,pszValue) \
  1617. (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
  1618. #define ISpObjectToken_GetStringValue(This,pszValueName,ppszValue) \
  1619. (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
  1620. #define ISpObjectToken_SetDWORD(This,pszKeyName,dwValue) \
  1621. (This)->lpVtbl -> SetDWORD(This,pszKeyName,dwValue)
  1622. #define ISpObjectToken_GetDWORD(This,pszKeyName,pdwValue) \
  1623. (This)->lpVtbl -> GetDWORD(This,pszKeyName,pdwValue)
  1624. #define ISpObjectToken_OpenKey(This,pszSubKeyName,ppSubKey) \
  1625. (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
  1626. #define ISpObjectToken_CreateKey(This,pszSubKey,ppSubKey) \
  1627. (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
  1628. #define ISpObjectToken_DeleteKey(This,pszSubKey) \
  1629. (This)->lpVtbl -> DeleteKey(This,pszSubKey)
  1630. #define ISpObjectToken_DeleteValue(This,pszValueName) \
  1631. (This)->lpVtbl -> DeleteValue(This,pszValueName)
  1632. #define ISpObjectToken_EnumKeys(This,Index,ppszSubKeyName) \
  1633. (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
  1634. #define ISpObjectToken_EnumValues(This,Index,ppszValueName) \
  1635. (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
  1636. #define ISpObjectToken_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) \
  1637. (This)->lpVtbl -> SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
  1638. #define ISpObjectToken_GetId(This,ppszCoMemTokenId) \
  1639. (This)->lpVtbl -> GetId(This,ppszCoMemTokenId)
  1640. #define ISpObjectToken_GetCategory(This,ppTokenCategory) \
  1641. (This)->lpVtbl -> GetCategory(This,ppTokenCategory)
  1642. #define ISpObjectToken_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) \
  1643. (This)->lpVtbl -> CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
  1644. #define ISpObjectToken_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) \
  1645. (This)->lpVtbl -> GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
  1646. #define ISpObjectToken_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) \
  1647. (This)->lpVtbl -> RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
  1648. #define ISpObjectToken_Remove(This,pclsidCaller) \
  1649. (This)->lpVtbl -> Remove(This,pclsidCaller)
  1650. #define ISpObjectToken_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) \
  1651. (This)->lpVtbl -> IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
  1652. #define ISpObjectToken_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) \
  1653. (This)->lpVtbl -> DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
  1654. #define ISpObjectToken_MatchesAttributes(This,pszAttributes,pfMatches) \
  1655. (This)->lpVtbl -> MatchesAttributes(This,pszAttributes,pfMatches)
  1656. #endif /* COBJMACROS */
  1657. #endif /* C style interface */
  1658. HRESULT STDMETHODCALLTYPE ISpObjectToken_SetId_Proxy(
  1659. ISpObjectToken * This,
  1660. const WCHAR *pszCategoryId,
  1661. const WCHAR *pszTokenId,
  1662. BOOL fCreateIfNotExist);
  1663. void __RPC_STUB ISpObjectToken_SetId_Stub(
  1664. IRpcStubBuffer *This,
  1665. IRpcChannelBuffer *_pRpcChannelBuffer,
  1666. PRPC_MESSAGE _pRpcMessage,
  1667. DWORD *_pdwStubPhase);
  1668. HRESULT STDMETHODCALLTYPE ISpObjectToken_GetId_Proxy(
  1669. ISpObjectToken * This,
  1670. WCHAR **ppszCoMemTokenId);
  1671. void __RPC_STUB ISpObjectToken_GetId_Stub(
  1672. IRpcStubBuffer *This,
  1673. IRpcChannelBuffer *_pRpcChannelBuffer,
  1674. PRPC_MESSAGE _pRpcMessage,
  1675. DWORD *_pdwStubPhase);
  1676. HRESULT STDMETHODCALLTYPE ISpObjectToken_GetCategory_Proxy(
  1677. ISpObjectToken * This,
  1678. ISpObjectTokenCategory **ppTokenCategory);
  1679. void __RPC_STUB ISpObjectToken_GetCategory_Stub(
  1680. IRpcStubBuffer *This,
  1681. IRpcChannelBuffer *_pRpcChannelBuffer,
  1682. PRPC_MESSAGE _pRpcMessage,
  1683. DWORD *_pdwStubPhase);
  1684. HRESULT STDMETHODCALLTYPE ISpObjectToken_CreateInstance_Proxy(
  1685. ISpObjectToken * This,
  1686. /* [in] */ IUnknown *pUnkOuter,
  1687. /* [in] */ DWORD dwClsContext,
  1688. /* [in] */ REFIID riid,
  1689. /* [iid_is][out] */ void **ppvObject);
  1690. void __RPC_STUB ISpObjectToken_CreateInstance_Stub(
  1691. IRpcStubBuffer *This,
  1692. IRpcChannelBuffer *_pRpcChannelBuffer,
  1693. PRPC_MESSAGE _pRpcMessage,
  1694. DWORD *_pdwStubPhase);
  1695. HRESULT STDMETHODCALLTYPE ISpObjectToken_GetStorageFileName_Proxy(
  1696. ISpObjectToken * This,
  1697. /* [in] */ REFCLSID clsidCaller,
  1698. /* [in] */ const WCHAR *pszValueName,
  1699. /* [in] */ const WCHAR *pszFileNameSpecifier,
  1700. /* [in] */ ULONG nFolder,
  1701. /* [out] */ WCHAR **ppszFilePath);
  1702. void __RPC_STUB ISpObjectToken_GetStorageFileName_Stub(
  1703. IRpcStubBuffer *This,
  1704. IRpcChannelBuffer *_pRpcChannelBuffer,
  1705. PRPC_MESSAGE _pRpcMessage,
  1706. DWORD *_pdwStubPhase);
  1707. HRESULT STDMETHODCALLTYPE ISpObjectToken_RemoveStorageFileName_Proxy(
  1708. ISpObjectToken * This,
  1709. /* [in] */ REFCLSID clsidCaller,
  1710. /* [in] */ const WCHAR *pszKeyName,
  1711. /* [in] */ BOOL fDeleteFile);
  1712. void __RPC_STUB ISpObjectToken_RemoveStorageFileName_Stub(
  1713. IRpcStubBuffer *This,
  1714. IRpcChannelBuffer *_pRpcChannelBuffer,
  1715. PRPC_MESSAGE _pRpcMessage,
  1716. DWORD *_pdwStubPhase);
  1717. HRESULT STDMETHODCALLTYPE ISpObjectToken_Remove_Proxy(
  1718. ISpObjectToken * This,
  1719. const CLSID *pclsidCaller);
  1720. void __RPC_STUB ISpObjectToken_Remove_Stub(
  1721. IRpcStubBuffer *This,
  1722. IRpcChannelBuffer *_pRpcChannelBuffer,
  1723. PRPC_MESSAGE _pRpcMessage,
  1724. DWORD *_pdwStubPhase);
  1725. /* [local] */ HRESULT STDMETHODCALLTYPE ISpObjectToken_IsUISupported_Proxy(
  1726. ISpObjectToken * This,
  1727. /* [in] */ const WCHAR *pszTypeOfUI,
  1728. /* [in] */ void *pvExtraData,
  1729. /* [in] */ ULONG cbExtraData,
  1730. /* [in] */ IUnknown *punkObject,
  1731. /* [out] */ BOOL *pfSupported);
  1732. void __RPC_STUB ISpObjectToken_IsUISupported_Stub(
  1733. IRpcStubBuffer *This,
  1734. IRpcChannelBuffer *_pRpcChannelBuffer,
  1735. PRPC_MESSAGE _pRpcMessage,
  1736. DWORD *_pdwStubPhase);
  1737. /* [local] */ HRESULT STDMETHODCALLTYPE ISpObjectToken_DisplayUI_Proxy(
  1738. ISpObjectToken * This,
  1739. /* [in] */ HWND hwndParent,
  1740. /* [in] */ const WCHAR *pszTitle,
  1741. /* [in] */ const WCHAR *pszTypeOfUI,
  1742. /* [in] */ void *pvExtraData,
  1743. /* [in] */ ULONG cbExtraData,
  1744. /* [in] */ IUnknown *punkObject);
  1745. void __RPC_STUB ISpObjectToken_DisplayUI_Stub(
  1746. IRpcStubBuffer *This,
  1747. IRpcChannelBuffer *_pRpcChannelBuffer,
  1748. PRPC_MESSAGE _pRpcMessage,
  1749. DWORD *_pdwStubPhase);
  1750. HRESULT STDMETHODCALLTYPE ISpObjectToken_MatchesAttributes_Proxy(
  1751. ISpObjectToken * This,
  1752. /* [in] */ const WCHAR *pszAttributes,
  1753. /* [out] */ BOOL *pfMatches);
  1754. void __RPC_STUB ISpObjectToken_MatchesAttributes_Stub(
  1755. IRpcStubBuffer *This,
  1756. IRpcChannelBuffer *_pRpcChannelBuffer,
  1757. PRPC_MESSAGE _pRpcMessage,
  1758. DWORD *_pdwStubPhase);
  1759. #endif /* __ISpObjectToken_INTERFACE_DEFINED__ */
  1760. #ifndef __ISpObjectTokenInit_INTERFACE_DEFINED__
  1761. #define __ISpObjectTokenInit_INTERFACE_DEFINED__
  1762. /* interface ISpObjectTokenInit */
  1763. /* [restricted][unique][helpstring][uuid][object] */
  1764. EXTERN_C const IID IID_ISpObjectTokenInit;
  1765. #if defined(__cplusplus) && !defined(CINTERFACE)
  1766. MIDL_INTERFACE("B8AAB0CF-346F-49D8-9499-C8B03F161D51")
  1767. ISpObjectTokenInit : public ISpObjectToken
  1768. {
  1769. public:
  1770. virtual HRESULT STDMETHODCALLTYPE InitFromDataKey(
  1771. /* [in] */ const WCHAR *pszCategoryId,
  1772. /* [in] */ const WCHAR *pszTokenId,
  1773. /* [in] */ ISpDataKey *pDataKey) = 0;
  1774. };
  1775. #else /* C style interface */
  1776. typedef struct ISpObjectTokenInitVtbl
  1777. {
  1778. BEGIN_INTERFACE
  1779. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1780. ISpObjectTokenInit * This,
  1781. /* [in] */ REFIID riid,
  1782. /* [iid_is][out] */ void **ppvObject);
  1783. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1784. ISpObjectTokenInit * This);
  1785. ULONG ( STDMETHODCALLTYPE *Release )(
  1786. ISpObjectTokenInit * This);
  1787. HRESULT ( STDMETHODCALLTYPE *SetData )(
  1788. ISpObjectTokenInit * This,
  1789. const WCHAR *pszValueName,
  1790. ULONG cbData,
  1791. const BYTE *pData);
  1792. HRESULT ( STDMETHODCALLTYPE *GetData )(
  1793. ISpObjectTokenInit * This,
  1794. const WCHAR *pszValueName,
  1795. ULONG *pcbData,
  1796. BYTE *pData);
  1797. HRESULT ( STDMETHODCALLTYPE *SetStringValue )(
  1798. ISpObjectTokenInit * This,
  1799. const WCHAR *pszValueName,
  1800. const WCHAR *pszValue);
  1801. HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
  1802. ISpObjectTokenInit * This,
  1803. const WCHAR *pszValueName,
  1804. WCHAR **ppszValue);
  1805. HRESULT ( STDMETHODCALLTYPE *SetDWORD )(
  1806. ISpObjectTokenInit * This,
  1807. const WCHAR *pszKeyName,
  1808. DWORD dwValue);
  1809. HRESULT ( STDMETHODCALLTYPE *GetDWORD )(
  1810. ISpObjectTokenInit * This,
  1811. const WCHAR *pszKeyName,
  1812. DWORD *pdwValue);
  1813. HRESULT ( STDMETHODCALLTYPE *OpenKey )(
  1814. ISpObjectTokenInit * This,
  1815. const WCHAR *pszSubKeyName,
  1816. ISpDataKey **ppSubKey);
  1817. HRESULT ( STDMETHODCALLTYPE *CreateKey )(
  1818. ISpObjectTokenInit * This,
  1819. const WCHAR *pszSubKey,
  1820. ISpDataKey **ppSubKey);
  1821. HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
  1822. ISpObjectTokenInit * This,
  1823. const WCHAR *pszSubKey);
  1824. HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
  1825. ISpObjectTokenInit * This,
  1826. const WCHAR *pszValueName);
  1827. HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
  1828. ISpObjectTokenInit * This,
  1829. ULONG Index,
  1830. WCHAR **ppszSubKeyName);
  1831. HRESULT ( STDMETHODCALLTYPE *EnumValues )(
  1832. ISpObjectTokenInit * This,
  1833. ULONG Index,
  1834. WCHAR **ppszValueName);
  1835. HRESULT ( STDMETHODCALLTYPE *SetId )(
  1836. ISpObjectTokenInit * This,
  1837. const WCHAR *pszCategoryId,
  1838. const WCHAR *pszTokenId,
  1839. BOOL fCreateIfNotExist);
  1840. HRESULT ( STDMETHODCALLTYPE *GetId )(
  1841. ISpObjectTokenInit * This,
  1842. WCHAR **ppszCoMemTokenId);
  1843. HRESULT ( STDMETHODCALLTYPE *GetCategory )(
  1844. ISpObjectTokenInit * This,
  1845. ISpObjectTokenCategory **ppTokenCategory);
  1846. HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
  1847. ISpObjectTokenInit * This,
  1848. /* [in] */ IUnknown *pUnkOuter,
  1849. /* [in] */ DWORD dwClsContext,
  1850. /* [in] */ REFIID riid,
  1851. /* [iid_is][out] */ void **ppvObject);
  1852. HRESULT ( STDMETHODCALLTYPE *GetStorageFileName )(
  1853. ISpObjectTokenInit * This,
  1854. /* [in] */ REFCLSID clsidCaller,
  1855. /* [in] */ const WCHAR *pszValueName,
  1856. /* [in] */ const WCHAR *pszFileNameSpecifier,
  1857. /* [in] */ ULONG nFolder,
  1858. /* [out] */ WCHAR **ppszFilePath);
  1859. HRESULT ( STDMETHODCALLTYPE *RemoveStorageFileName )(
  1860. ISpObjectTokenInit * This,
  1861. /* [in] */ REFCLSID clsidCaller,
  1862. /* [in] */ const WCHAR *pszKeyName,
  1863. /* [in] */ BOOL fDeleteFile);
  1864. HRESULT ( STDMETHODCALLTYPE *Remove )(
  1865. ISpObjectTokenInit * This,
  1866. const CLSID *pclsidCaller);
  1867. /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
  1868. ISpObjectTokenInit * This,
  1869. /* [in] */ const WCHAR *pszTypeOfUI,
  1870. /* [in] */ void *pvExtraData,
  1871. /* [in] */ ULONG cbExtraData,
  1872. /* [in] */ IUnknown *punkObject,
  1873. /* [out] */ BOOL *pfSupported);
  1874. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
  1875. ISpObjectTokenInit * This,
  1876. /* [in] */ HWND hwndParent,
  1877. /* [in] */ const WCHAR *pszTitle,
  1878. /* [in] */ const WCHAR *pszTypeOfUI,
  1879. /* [in] */ void *pvExtraData,
  1880. /* [in] */ ULONG cbExtraData,
  1881. /* [in] */ IUnknown *punkObject);
  1882. HRESULT ( STDMETHODCALLTYPE *MatchesAttributes )(
  1883. ISpObjectTokenInit * This,
  1884. /* [in] */ const WCHAR *pszAttributes,
  1885. /* [out] */ BOOL *pfMatches);
  1886. HRESULT ( STDMETHODCALLTYPE *InitFromDataKey )(
  1887. ISpObjectTokenInit * This,
  1888. /* [in] */ const WCHAR *pszCategoryId,
  1889. /* [in] */ const WCHAR *pszTokenId,
  1890. /* [in] */ ISpDataKey *pDataKey);
  1891. END_INTERFACE
  1892. } ISpObjectTokenInitVtbl;
  1893. interface ISpObjectTokenInit
  1894. {
  1895. CONST_VTBL struct ISpObjectTokenInitVtbl *lpVtbl;
  1896. };
  1897. #ifdef COBJMACROS
  1898. #define ISpObjectTokenInit_QueryInterface(This,riid,ppvObject) \
  1899. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1900. #define ISpObjectTokenInit_AddRef(This) \
  1901. (This)->lpVtbl -> AddRef(This)
  1902. #define ISpObjectTokenInit_Release(This) \
  1903. (This)->lpVtbl -> Release(This)
  1904. #define ISpObjectTokenInit_SetData(This,pszValueName,cbData,pData) \
  1905. (This)->lpVtbl -> SetData(This,pszValueName,cbData,pData)
  1906. #define ISpObjectTokenInit_GetData(This,pszValueName,pcbData,pData) \
  1907. (This)->lpVtbl -> GetData(This,pszValueName,pcbData,pData)
  1908. #define ISpObjectTokenInit_SetStringValue(This,pszValueName,pszValue) \
  1909. (This)->lpVtbl -> SetStringValue(This,pszValueName,pszValue)
  1910. #define ISpObjectTokenInit_GetStringValue(This,pszValueName,ppszValue) \
  1911. (This)->lpVtbl -> GetStringValue(This,pszValueName,ppszValue)
  1912. #define ISpObjectTokenInit_SetDWORD(This,pszKeyName,dwValue) \
  1913. (This)->lpVtbl -> SetDWORD(This,pszKeyName,dwValue)
  1914. #define ISpObjectTokenInit_GetDWORD(This,pszKeyName,pdwValue) \
  1915. (This)->lpVtbl -> GetDWORD(This,pszKeyName,pdwValue)
  1916. #define ISpObjectTokenInit_OpenKey(This,pszSubKeyName,ppSubKey) \
  1917. (This)->lpVtbl -> OpenKey(This,pszSubKeyName,ppSubKey)
  1918. #define ISpObjectTokenInit_CreateKey(This,pszSubKey,ppSubKey) \
  1919. (This)->lpVtbl -> CreateKey(This,pszSubKey,ppSubKey)
  1920. #define ISpObjectTokenInit_DeleteKey(This,pszSubKey) \
  1921. (This)->lpVtbl -> DeleteKey(This,pszSubKey)
  1922. #define ISpObjectTokenInit_DeleteValue(This,pszValueName) \
  1923. (This)->lpVtbl -> DeleteValue(This,pszValueName)
  1924. #define ISpObjectTokenInit_EnumKeys(This,Index,ppszSubKeyName) \
  1925. (This)->lpVtbl -> EnumKeys(This,Index,ppszSubKeyName)
  1926. #define ISpObjectTokenInit_EnumValues(This,Index,ppszValueName) \
  1927. (This)->lpVtbl -> EnumValues(This,Index,ppszValueName)
  1928. #define ISpObjectTokenInit_SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist) \
  1929. (This)->lpVtbl -> SetId(This,pszCategoryId,pszTokenId,fCreateIfNotExist)
  1930. #define ISpObjectTokenInit_GetId(This,ppszCoMemTokenId) \
  1931. (This)->lpVtbl -> GetId(This,ppszCoMemTokenId)
  1932. #define ISpObjectTokenInit_GetCategory(This,ppTokenCategory) \
  1933. (This)->lpVtbl -> GetCategory(This,ppTokenCategory)
  1934. #define ISpObjectTokenInit_CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject) \
  1935. (This)->lpVtbl -> CreateInstance(This,pUnkOuter,dwClsContext,riid,ppvObject)
  1936. #define ISpObjectTokenInit_GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath) \
  1937. (This)->lpVtbl -> GetStorageFileName(This,clsidCaller,pszValueName,pszFileNameSpecifier,nFolder,ppszFilePath)
  1938. #define ISpObjectTokenInit_RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile) \
  1939. (This)->lpVtbl -> RemoveStorageFileName(This,clsidCaller,pszKeyName,fDeleteFile)
  1940. #define ISpObjectTokenInit_Remove(This,pclsidCaller) \
  1941. (This)->lpVtbl -> Remove(This,pclsidCaller)
  1942. #define ISpObjectTokenInit_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported) \
  1943. (This)->lpVtbl -> IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,punkObject,pfSupported)
  1944. #define ISpObjectTokenInit_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject) \
  1945. (This)->lpVtbl -> DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData,punkObject)
  1946. #define ISpObjectTokenInit_MatchesAttributes(This,pszAttributes,pfMatches) \
  1947. (This)->lpVtbl -> MatchesAttributes(This,pszAttributes,pfMatches)
  1948. #define ISpObjectTokenInit_InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey) \
  1949. (This)->lpVtbl -> InitFromDataKey(This,pszCategoryId,pszTokenId,pDataKey)
  1950. #endif /* COBJMACROS */
  1951. #endif /* C style interface */
  1952. HRESULT STDMETHODCALLTYPE ISpObjectTokenInit_InitFromDataKey_Proxy(
  1953. ISpObjectTokenInit * This,
  1954. /* [in] */ const WCHAR *pszCategoryId,
  1955. /* [in] */ const WCHAR *pszTokenId,
  1956. /* [in] */ ISpDataKey *pDataKey);
  1957. void __RPC_STUB ISpObjectTokenInit_InitFromDataKey_Stub(
  1958. IRpcStubBuffer *This,
  1959. IRpcChannelBuffer *_pRpcChannelBuffer,
  1960. PRPC_MESSAGE _pRpcMessage,
  1961. DWORD *_pdwStubPhase);
  1962. #endif /* __ISpObjectTokenInit_INTERFACE_DEFINED__ */
  1963. #ifndef __IEnumSpObjectTokens_INTERFACE_DEFINED__
  1964. #define __IEnumSpObjectTokens_INTERFACE_DEFINED__
  1965. /* interface IEnumSpObjectTokens */
  1966. /* [restricted][unique][helpstring][uuid][object] */
  1967. EXTERN_C const IID IID_IEnumSpObjectTokens;
  1968. #if defined(__cplusplus) && !defined(CINTERFACE)
  1969. MIDL_INTERFACE("06B64F9E-7FDA-11D2-B4F2-00C04F797396")
  1970. IEnumSpObjectTokens : public IUnknown
  1971. {
  1972. public:
  1973. virtual HRESULT STDMETHODCALLTYPE Next(
  1974. /* [in] */ ULONG celt,
  1975. /* [length_is][size_is][out] */ ISpObjectToken **pelt,
  1976. /* [out] */ ULONG *pceltFetched) = 0;
  1977. virtual HRESULT STDMETHODCALLTYPE Skip(
  1978. /* [in] */ ULONG celt) = 0;
  1979. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1980. virtual HRESULT STDMETHODCALLTYPE Clone(
  1981. /* [out] */ IEnumSpObjectTokens **ppEnum) = 0;
  1982. virtual HRESULT STDMETHODCALLTYPE Item(
  1983. /* [in] */ ULONG Index,
  1984. /* [out] */ ISpObjectToken **ppToken) = 0;
  1985. virtual HRESULT STDMETHODCALLTYPE GetCount(
  1986. /* [out] */ ULONG *pCount) = 0;
  1987. };
  1988. #else /* C style interface */
  1989. typedef struct IEnumSpObjectTokensVtbl
  1990. {
  1991. BEGIN_INTERFACE
  1992. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1993. IEnumSpObjectTokens * This,
  1994. /* [in] */ REFIID riid,
  1995. /* [iid_is][out] */ void **ppvObject);
  1996. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1997. IEnumSpObjectTokens * This);
  1998. ULONG ( STDMETHODCALLTYPE *Release )(
  1999. IEnumSpObjectTokens * This);
  2000. HRESULT ( STDMETHODCALLTYPE *Next )(
  2001. IEnumSpObjectTokens * This,
  2002. /* [in] */ ULONG celt,
  2003. /* [length_is][size_is][out] */ ISpObjectToken **pelt,
  2004. /* [out] */ ULONG *pceltFetched);
  2005. HRESULT ( STDMETHODCALLTYPE *Skip )(
  2006. IEnumSpObjectTokens * This,
  2007. /* [in] */ ULONG celt);
  2008. HRESULT ( STDMETHODCALLTYPE *Reset )(
  2009. IEnumSpObjectTokens * This);
  2010. HRESULT ( STDMETHODCALLTYPE *Clone )(
  2011. IEnumSpObjectTokens * This,
  2012. /* [out] */ IEnumSpObjectTokens **ppEnum);
  2013. HRESULT ( STDMETHODCALLTYPE *Item )(
  2014. IEnumSpObjectTokens * This,
  2015. /* [in] */ ULONG Index,
  2016. /* [out] */ ISpObjectToken **ppToken);
  2017. HRESULT ( STDMETHODCALLTYPE *GetCount )(
  2018. IEnumSpObjectTokens * This,
  2019. /* [out] */ ULONG *pCount);
  2020. END_INTERFACE
  2021. } IEnumSpObjectTokensVtbl;
  2022. interface IEnumSpObjectTokens
  2023. {
  2024. CONST_VTBL struct IEnumSpObjectTokensVtbl *lpVtbl;
  2025. };
  2026. #ifdef COBJMACROS
  2027. #define IEnumSpObjectTokens_QueryInterface(This,riid,ppvObject) \
  2028. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2029. #define IEnumSpObjectTokens_AddRef(This) \
  2030. (This)->lpVtbl -> AddRef(This)
  2031. #define IEnumSpObjectTokens_Release(This) \
  2032. (This)->lpVtbl -> Release(This)
  2033. #define IEnumSpObjectTokens_Next(This,celt,pelt,pceltFetched) \
  2034. (This)->lpVtbl -> Next(This,celt,pelt,pceltFetched)
  2035. #define IEnumSpObjectTokens_Skip(This,celt) \
  2036. (This)->lpVtbl -> Skip(This,celt)
  2037. #define IEnumSpObjectTokens_Reset(This) \
  2038. (This)->lpVtbl -> Reset(This)
  2039. #define IEnumSpObjectTokens_Clone(This,ppEnum) \
  2040. (This)->lpVtbl -> Clone(This,ppEnum)
  2041. #define IEnumSpObjectTokens_Item(This,Index,ppToken) \
  2042. (This)->lpVtbl -> Item(This,Index,ppToken)
  2043. #define IEnumSpObjectTokens_GetCount(This,pCount) \
  2044. (This)->lpVtbl -> GetCount(This,pCount)
  2045. #endif /* COBJMACROS */
  2046. #endif /* C style interface */
  2047. HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Next_Proxy(
  2048. IEnumSpObjectTokens * This,
  2049. /* [in] */ ULONG celt,
  2050. /* [length_is][size_is][out] */ ISpObjectToken **pelt,
  2051. /* [out] */ ULONG *pceltFetched);
  2052. void __RPC_STUB IEnumSpObjectTokens_Next_Stub(
  2053. IRpcStubBuffer *This,
  2054. IRpcChannelBuffer *_pRpcChannelBuffer,
  2055. PRPC_MESSAGE _pRpcMessage,
  2056. DWORD *_pdwStubPhase);
  2057. HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Skip_Proxy(
  2058. IEnumSpObjectTokens * This,
  2059. /* [in] */ ULONG celt);
  2060. void __RPC_STUB IEnumSpObjectTokens_Skip_Stub(
  2061. IRpcStubBuffer *This,
  2062. IRpcChannelBuffer *_pRpcChannelBuffer,
  2063. PRPC_MESSAGE _pRpcMessage,
  2064. DWORD *_pdwStubPhase);
  2065. HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Reset_Proxy(
  2066. IEnumSpObjectTokens * This);
  2067. void __RPC_STUB IEnumSpObjectTokens_Reset_Stub(
  2068. IRpcStubBuffer *This,
  2069. IRpcChannelBuffer *_pRpcChannelBuffer,
  2070. PRPC_MESSAGE _pRpcMessage,
  2071. DWORD *_pdwStubPhase);
  2072. HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Clone_Proxy(
  2073. IEnumSpObjectTokens * This,
  2074. /* [out] */ IEnumSpObjectTokens **ppEnum);
  2075. void __RPC_STUB IEnumSpObjectTokens_Clone_Stub(
  2076. IRpcStubBuffer *This,
  2077. IRpcChannelBuffer *_pRpcChannelBuffer,
  2078. PRPC_MESSAGE _pRpcMessage,
  2079. DWORD *_pdwStubPhase);
  2080. HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_Item_Proxy(
  2081. IEnumSpObjectTokens * This,
  2082. /* [in] */ ULONG Index,
  2083. /* [out] */ ISpObjectToken **ppToken);
  2084. void __RPC_STUB IEnumSpObjectTokens_Item_Stub(
  2085. IRpcStubBuffer *This,
  2086. IRpcChannelBuffer *_pRpcChannelBuffer,
  2087. PRPC_MESSAGE _pRpcMessage,
  2088. DWORD *_pdwStubPhase);
  2089. HRESULT STDMETHODCALLTYPE IEnumSpObjectTokens_GetCount_Proxy(
  2090. IEnumSpObjectTokens * This,
  2091. /* [out] */ ULONG *pCount);
  2092. void __RPC_STUB IEnumSpObjectTokens_GetCount_Stub(
  2093. IRpcStubBuffer *This,
  2094. IRpcChannelBuffer *_pRpcChannelBuffer,
  2095. PRPC_MESSAGE _pRpcMessage,
  2096. DWORD *_pdwStubPhase);
  2097. #endif /* __IEnumSpObjectTokens_INTERFACE_DEFINED__ */
  2098. #ifndef __ISpObjectWithToken_INTERFACE_DEFINED__
  2099. #define __ISpObjectWithToken_INTERFACE_DEFINED__
  2100. /* interface ISpObjectWithToken */
  2101. /* [restricted][unique][helpstring][uuid][object] */
  2102. EXTERN_C const IID IID_ISpObjectWithToken;
  2103. #if defined(__cplusplus) && !defined(CINTERFACE)
  2104. MIDL_INTERFACE("5B559F40-E952-11D2-BB91-00C04F8EE6C0")
  2105. ISpObjectWithToken : public IUnknown
  2106. {
  2107. public:
  2108. virtual HRESULT STDMETHODCALLTYPE SetObjectToken(
  2109. ISpObjectToken *pToken) = 0;
  2110. virtual HRESULT STDMETHODCALLTYPE GetObjectToken(
  2111. ISpObjectToken **ppToken) = 0;
  2112. };
  2113. #else /* C style interface */
  2114. typedef struct ISpObjectWithTokenVtbl
  2115. {
  2116. BEGIN_INTERFACE
  2117. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2118. ISpObjectWithToken * This,
  2119. /* [in] */ REFIID riid,
  2120. /* [iid_is][out] */ void **ppvObject);
  2121. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2122. ISpObjectWithToken * This);
  2123. ULONG ( STDMETHODCALLTYPE *Release )(
  2124. ISpObjectWithToken * This);
  2125. HRESULT ( STDMETHODCALLTYPE *SetObjectToken )(
  2126. ISpObjectWithToken * This,
  2127. ISpObjectToken *pToken);
  2128. HRESULT ( STDMETHODCALLTYPE *GetObjectToken )(
  2129. ISpObjectWithToken * This,
  2130. ISpObjectToken **ppToken);
  2131. END_INTERFACE
  2132. } ISpObjectWithTokenVtbl;
  2133. interface ISpObjectWithToken
  2134. {
  2135. CONST_VTBL struct ISpObjectWithTokenVtbl *lpVtbl;
  2136. };
  2137. #ifdef COBJMACROS
  2138. #define ISpObjectWithToken_QueryInterface(This,riid,ppvObject) \
  2139. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2140. #define ISpObjectWithToken_AddRef(This) \
  2141. (This)->lpVtbl -> AddRef(This)
  2142. #define ISpObjectWithToken_Release(This) \
  2143. (This)->lpVtbl -> Release(This)
  2144. #define ISpObjectWithToken_SetObjectToken(This,pToken) \
  2145. (This)->lpVtbl -> SetObjectToken(This,pToken)
  2146. #define ISpObjectWithToken_GetObjectToken(This,ppToken) \
  2147. (This)->lpVtbl -> GetObjectToken(This,ppToken)
  2148. #endif /* COBJMACROS */
  2149. #endif /* C style interface */
  2150. HRESULT STDMETHODCALLTYPE ISpObjectWithToken_SetObjectToken_Proxy(
  2151. ISpObjectWithToken * This,
  2152. ISpObjectToken *pToken);
  2153. void __RPC_STUB ISpObjectWithToken_SetObjectToken_Stub(
  2154. IRpcStubBuffer *This,
  2155. IRpcChannelBuffer *_pRpcChannelBuffer,
  2156. PRPC_MESSAGE _pRpcMessage,
  2157. DWORD *_pdwStubPhase);
  2158. HRESULT STDMETHODCALLTYPE ISpObjectWithToken_GetObjectToken_Proxy(
  2159. ISpObjectWithToken * This,
  2160. ISpObjectToken **ppToken);
  2161. void __RPC_STUB ISpObjectWithToken_GetObjectToken_Stub(
  2162. IRpcStubBuffer *This,
  2163. IRpcChannelBuffer *_pRpcChannelBuffer,
  2164. PRPC_MESSAGE _pRpcMessage,
  2165. DWORD *_pdwStubPhase);
  2166. #endif /* __ISpObjectWithToken_INTERFACE_DEFINED__ */
  2167. #ifndef __ISpResourceManager_INTERFACE_DEFINED__
  2168. #define __ISpResourceManager_INTERFACE_DEFINED__
  2169. /* interface ISpResourceManager */
  2170. /* [restricted][unique][helpstring][uuid][object] */
  2171. EXTERN_C const IID IID_ISpResourceManager;
  2172. #if defined(__cplusplus) && !defined(CINTERFACE)
  2173. MIDL_INTERFACE("93384E18-5014-43D5-ADBB-A78E055926BD")
  2174. ISpResourceManager : public IServiceProvider
  2175. {
  2176. public:
  2177. virtual HRESULT STDMETHODCALLTYPE SetObject(
  2178. /* [in] */ REFGUID guidServiceId,
  2179. /* [in] */ IUnknown *pUnkObject) = 0;
  2180. virtual HRESULT STDMETHODCALLTYPE GetObject(
  2181. /* [in] */ REFGUID guidServiceId,
  2182. /* [in] */ REFCLSID ObjectCLSID,
  2183. /* [in] */ REFIID ObjectIID,
  2184. /* [in] */ BOOL fReleaseWhenLastExternalRefReleased,
  2185. /* [iid_is][out] */ void **ppObject) = 0;
  2186. };
  2187. #else /* C style interface */
  2188. typedef struct ISpResourceManagerVtbl
  2189. {
  2190. BEGIN_INTERFACE
  2191. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2192. ISpResourceManager * This,
  2193. /* [in] */ REFIID riid,
  2194. /* [iid_is][out] */ void **ppvObject);
  2195. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2196. ISpResourceManager * This);
  2197. ULONG ( STDMETHODCALLTYPE *Release )(
  2198. ISpResourceManager * This);
  2199. /* [local] */ HRESULT ( STDMETHODCALLTYPE *QueryService )(
  2200. ISpResourceManager * This,
  2201. /* [in] */ REFGUID guidService,
  2202. /* [in] */ REFIID riid,
  2203. /* [out] */ void **ppvObject);
  2204. HRESULT ( STDMETHODCALLTYPE *SetObject )(
  2205. ISpResourceManager * This,
  2206. /* [in] */ REFGUID guidServiceId,
  2207. /* [in] */ IUnknown *pUnkObject);
  2208. HRESULT ( STDMETHODCALLTYPE *GetObject )(
  2209. ISpResourceManager * This,
  2210. /* [in] */ REFGUID guidServiceId,
  2211. /* [in] */ REFCLSID ObjectCLSID,
  2212. /* [in] */ REFIID ObjectIID,
  2213. /* [in] */ BOOL fReleaseWhenLastExternalRefReleased,
  2214. /* [iid_is][out] */ void **ppObject);
  2215. END_INTERFACE
  2216. } ISpResourceManagerVtbl;
  2217. interface ISpResourceManager
  2218. {
  2219. CONST_VTBL struct ISpResourceManagerVtbl *lpVtbl;
  2220. };
  2221. #ifdef COBJMACROS
  2222. #define ISpResourceManager_QueryInterface(This,riid,ppvObject) \
  2223. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2224. #define ISpResourceManager_AddRef(This) \
  2225. (This)->lpVtbl -> AddRef(This)
  2226. #define ISpResourceManager_Release(This) \
  2227. (This)->lpVtbl -> Release(This)
  2228. #define ISpResourceManager_QueryService(This,guidService,riid,ppvObject) \
  2229. (This)->lpVtbl -> QueryService(This,guidService,riid,ppvObject)
  2230. #define ISpResourceManager_SetObject(This,guidServiceId,pUnkObject) \
  2231. (This)->lpVtbl -> SetObject(This,guidServiceId,pUnkObject)
  2232. #define ISpResourceManager_GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject) \
  2233. (This)->lpVtbl -> GetObject(This,guidServiceId,ObjectCLSID,ObjectIID,fReleaseWhenLastExternalRefReleased,ppObject)
  2234. #endif /* COBJMACROS */
  2235. #endif /* C style interface */
  2236. HRESULT STDMETHODCALLTYPE ISpResourceManager_SetObject_Proxy(
  2237. ISpResourceManager * This,
  2238. /* [in] */ REFGUID guidServiceId,
  2239. /* [in] */ IUnknown *pUnkObject);
  2240. void __RPC_STUB ISpResourceManager_SetObject_Stub(
  2241. IRpcStubBuffer *This,
  2242. IRpcChannelBuffer *_pRpcChannelBuffer,
  2243. PRPC_MESSAGE _pRpcMessage,
  2244. DWORD *_pdwStubPhase);
  2245. HRESULT STDMETHODCALLTYPE ISpResourceManager_GetObject_Proxy(
  2246. ISpResourceManager * This,
  2247. /* [in] */ REFGUID guidServiceId,
  2248. /* [in] */ REFCLSID ObjectCLSID,
  2249. /* [in] */ REFIID ObjectIID,
  2250. /* [in] */ BOOL fReleaseWhenLastExternalRefReleased,
  2251. /* [iid_is][out] */ void **ppObject);
  2252. void __RPC_STUB ISpResourceManager_GetObject_Stub(
  2253. IRpcStubBuffer *This,
  2254. IRpcChannelBuffer *_pRpcChannelBuffer,
  2255. PRPC_MESSAGE _pRpcMessage,
  2256. DWORD *_pdwStubPhase);
  2257. #endif /* __ISpResourceManager_INTERFACE_DEFINED__ */
  2258. /* interface __MIDL_itf_sapi_0256 */
  2259. /* [local] */
  2260. typedef
  2261. enum SPEVENTLPARAMTYPE
  2262. { SPET_LPARAM_IS_UNDEFINED = 0,
  2263. SPET_LPARAM_IS_TOKEN = SPET_LPARAM_IS_UNDEFINED + 1,
  2264. SPET_LPARAM_IS_OBJECT = SPET_LPARAM_IS_TOKEN + 1,
  2265. SPET_LPARAM_IS_POINTER = SPET_LPARAM_IS_OBJECT + 1,
  2266. SPET_LPARAM_IS_STRING = SPET_LPARAM_IS_POINTER + 1
  2267. } SPEVENTLPARAMTYPE;
  2268. typedef
  2269. enum SPEVENTENUM
  2270. { SPEI_UNDEFINED = 0,
  2271. SPEI_START_INPUT_STREAM = 1,
  2272. SPEI_END_INPUT_STREAM = 2,
  2273. SPEI_VOICE_CHANGE = 3,
  2274. SPEI_TTS_BOOKMARK = 4,
  2275. SPEI_WORD_BOUNDARY = 5,
  2276. SPEI_PHONEME = 6,
  2277. SPEI_SENTENCE_BOUNDARY = 7,
  2278. SPEI_VISEME = 8,
  2279. SPEI_TTS_AUDIO_LEVEL = 9,
  2280. SPEI_TTS_PRIVATE = 15,
  2281. SPEI_MIN_TTS = 1,
  2282. SPEI_MAX_TTS = 15,
  2283. SPEI_END_SR_STREAM = 34,
  2284. SPEI_SOUND_START = 35,
  2285. SPEI_SOUND_END = 36,
  2286. SPEI_PHRASE_START = 37,
  2287. SPEI_RECOGNITION = 38,
  2288. SPEI_HYPOTHESIS = 39,
  2289. SPEI_SR_BOOKMARK = 40,
  2290. SPEI_PROPERTY_NUM_CHANGE = 41,
  2291. SPEI_PROPERTY_STRING_CHANGE = 42,
  2292. SPEI_FALSE_RECOGNITION = 43,
  2293. SPEI_INTERFERENCE = 44,
  2294. SPEI_REQUEST_UI = 45,
  2295. SPEI_RECO_STATE_CHANGE = 46,
  2296. SPEI_ADAPTATION = 47,
  2297. SPEI_START_SR_STREAM = 48,
  2298. SPEI_RECO_OTHER_CONTEXT = 49,
  2299. SPEI_SR_AUDIO_LEVEL = 50,
  2300. SPEI_SR_PRIVATE = 52,
  2301. SPEI_MIN_SR = 34,
  2302. SPEI_MAX_SR = 52,
  2303. SPEI_RESERVED1 = 30,
  2304. SPEI_RESERVED2 = 33,
  2305. SPEI_RESERVED3 = 63
  2306. } SPEVENTENUM;
  2307. #define SPFEI_FLAGCHECK ( (1ui64 << SPEI_RESERVED1) | (1ui64 << SPEI_RESERVED2) )
  2308. #define SPFEI_ALL_TTS_EVENTS (0x000000000000FFFEui64 | SPFEI_FLAGCHECK)
  2309. #define SPFEI_ALL_SR_EVENTS (0x001FFFFC00000000ui64 | SPFEI_FLAGCHECK)
  2310. #define SPFEI_ALL_EVENTS 0xEFFFFFFFFFFFFFFFui64
  2311. #define SPFEI(SPEI_ord) ((1ui64 << SPEI_ord) | SPFEI_FLAGCHECK)
  2312. #if 0
  2313. typedef /* [restricted] */ struct SPEVENT
  2314. {
  2315. WORD eEventId;
  2316. WORD elParamType;
  2317. ULONG ulStreamNum;
  2318. ULONGLONG ullAudioStreamOffset;
  2319. WPARAM wParam;
  2320. LPARAM lParam;
  2321. } SPEVENT;
  2322. typedef /* [restricted] */ struct SPSERIALIZEDEVENT
  2323. {
  2324. WORD eEventId;
  2325. WORD elParamType;
  2326. ULONG ulStreamNum;
  2327. ULONGLONG ullAudioStreamOffset;
  2328. ULONG SerializedwParam;
  2329. LONG SerializedlParam;
  2330. } SPSERIALIZEDEVENT;
  2331. typedef /* [restricted] */ struct SPSERIALIZEDEVENT64
  2332. {
  2333. WORD eEventId;
  2334. WORD elParamType;
  2335. ULONG ulStreamNum;
  2336. ULONGLONG ullAudioStreamOffset;
  2337. ULONGLONG SerializedwParam;
  2338. LONGLONG SerializedlParam;
  2339. } SPSERIALIZEDEVENT64;
  2340. #else
  2341. typedef struct SPEVENT
  2342. {
  2343. SPEVENTENUM eEventId : 16;
  2344. SPEVENTLPARAMTYPE elParamType : 16;
  2345. ULONG ulStreamNum;
  2346. ULONGLONG ullAudioStreamOffset;
  2347. WPARAM wParam;
  2348. LPARAM lParam;
  2349. } SPEVENT;
  2350. typedef struct SPSERIALIZEDEVENT
  2351. {
  2352. SPEVENTENUM eEventId : 16;
  2353. SPEVENTLPARAMTYPE elParamType : 16;
  2354. ULONG ulStreamNum;
  2355. ULONGLONG ullAudioStreamOffset;
  2356. ULONG SerializedwParam;
  2357. LONG SerializedlParam;
  2358. } SPSERIALIZEDEVENT;
  2359. typedef struct SPSERIALIZEDEVENT64
  2360. {
  2361. SPEVENTENUM eEventId : 16;
  2362. SPEVENTLPARAMTYPE elParamType : 16;
  2363. ULONG ulStreamNum;
  2364. ULONGLONG ullAudioStreamOffset;
  2365. ULONGLONG SerializedwParam;
  2366. LONGLONG SerializedlParam;
  2367. } SPSERIALIZEDEVENT64;
  2368. #endif
  2369. typedef
  2370. enum SPINTERFERENCE
  2371. { SPINTERFERENCE_NONE = 0,
  2372. SPINTERFERENCE_NOISE = SPINTERFERENCE_NONE + 1,
  2373. SPINTERFERENCE_NOSIGNAL = SPINTERFERENCE_NOISE + 1,
  2374. SPINTERFERENCE_TOOLOUD = SPINTERFERENCE_NOSIGNAL + 1,
  2375. SPINTERFERENCE_TOOQUIET = SPINTERFERENCE_TOOLOUD + 1,
  2376. SPINTERFERENCE_TOOFAST = SPINTERFERENCE_TOOQUIET + 1,
  2377. SPINTERFERENCE_TOOSLOW = SPINTERFERENCE_TOOFAST + 1
  2378. } SPINTERFERENCE;
  2379. typedef
  2380. enum SPENDSRSTREAMFLAGS
  2381. { SPESF_NONE = 0,
  2382. SPESF_STREAM_RELEASED = 1 << 0
  2383. } SPENDSRSTREAMFLAGS;
  2384. typedef
  2385. enum SPVFEATURE
  2386. { SPVFEATURE_STRESSED = 1L << 0,
  2387. SPVFEATURE_EMPHASIS = 1L << 1
  2388. } SPVFEATURE;
  2389. typedef
  2390. enum SPVISEMES
  2391. { SP_VISEME_0 = 0,
  2392. SP_VISEME_1 = SP_VISEME_0 + 1,
  2393. SP_VISEME_2 = SP_VISEME_1 + 1,
  2394. SP_VISEME_3 = SP_VISEME_2 + 1,
  2395. SP_VISEME_4 = SP_VISEME_3 + 1,
  2396. SP_VISEME_5 = SP_VISEME_4 + 1,
  2397. SP_VISEME_6 = SP_VISEME_5 + 1,
  2398. SP_VISEME_7 = SP_VISEME_6 + 1,
  2399. SP_VISEME_8 = SP_VISEME_7 + 1,
  2400. SP_VISEME_9 = SP_VISEME_8 + 1,
  2401. SP_VISEME_10 = SP_VISEME_9 + 1,
  2402. SP_VISEME_11 = SP_VISEME_10 + 1,
  2403. SP_VISEME_12 = SP_VISEME_11 + 1,
  2404. SP_VISEME_13 = SP_VISEME_12 + 1,
  2405. SP_VISEME_14 = SP_VISEME_13 + 1,
  2406. SP_VISEME_15 = SP_VISEME_14 + 1,
  2407. SP_VISEME_16 = SP_VISEME_15 + 1,
  2408. SP_VISEME_17 = SP_VISEME_16 + 1,
  2409. SP_VISEME_18 = SP_VISEME_17 + 1,
  2410. SP_VISEME_19 = SP_VISEME_18 + 1,
  2411. SP_VISEME_20 = SP_VISEME_19 + 1,
  2412. SP_VISEME_21 = SP_VISEME_20 + 1
  2413. } SPVISEMES;
  2414. typedef /* [restricted] */ struct SPEVENTSOURCEINFO
  2415. {
  2416. ULONGLONG ullEventInterest;
  2417. ULONGLONG ullQueuedInterest;
  2418. ULONG ulCount;
  2419. } SPEVENTSOURCEINFO;
  2420. extern RPC_IF_HANDLE __MIDL_itf_sapi_0256_v0_0_c_ifspec;
  2421. extern RPC_IF_HANDLE __MIDL_itf_sapi_0256_v0_0_s_ifspec;
  2422. #ifndef __ISpEventSource_INTERFACE_DEFINED__
  2423. #define __ISpEventSource_INTERFACE_DEFINED__
  2424. /* interface ISpEventSource */
  2425. /* [restricted][local][unique][helpstring][uuid][object] */
  2426. EXTERN_C const IID IID_ISpEventSource;
  2427. #if defined(__cplusplus) && !defined(CINTERFACE)
  2428. MIDL_INTERFACE("BE7A9CCE-5F9E-11D2-960F-00C04F8EE628")
  2429. ISpEventSource : public ISpNotifySource
  2430. {
  2431. public:
  2432. virtual HRESULT STDMETHODCALLTYPE SetInterest(
  2433. /* [in] */ ULONGLONG ullEventInterest,
  2434. /* [in] */ ULONGLONG ullQueuedInterest) = 0;
  2435. virtual HRESULT STDMETHODCALLTYPE GetEvents(
  2436. /* [in] */ ULONG ulCount,
  2437. /* [size_is][out] */ SPEVENT *pEventArray,
  2438. /* [out] */ ULONG *pulFetched) = 0;
  2439. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  2440. /* [out] */ SPEVENTSOURCEINFO *pInfo) = 0;
  2441. };
  2442. #else /* C style interface */
  2443. typedef struct ISpEventSourceVtbl
  2444. {
  2445. BEGIN_INTERFACE
  2446. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2447. ISpEventSource * This,
  2448. /* [in] */ REFIID riid,
  2449. /* [iid_is][out] */ void **ppvObject);
  2450. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2451. ISpEventSource * This);
  2452. ULONG ( STDMETHODCALLTYPE *Release )(
  2453. ISpEventSource * This);
  2454. HRESULT ( STDMETHODCALLTYPE *SetNotifySink )(
  2455. ISpEventSource * This,
  2456. /* [in] */ ISpNotifySink *pNotifySink);
  2457. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWindowMessage )(
  2458. ISpEventSource * This,
  2459. /* [in] */ HWND hWnd,
  2460. /* [in] */ UINT Msg,
  2461. /* [in] */ WPARAM wParam,
  2462. /* [in] */ LPARAM lParam);
  2463. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackFunction )(
  2464. ISpEventSource * This,
  2465. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  2466. /* [in] */ WPARAM wParam,
  2467. /* [in] */ LPARAM lParam);
  2468. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackInterface )(
  2469. ISpEventSource * This,
  2470. /* [in] */ ISpNotifyCallback *pSpCallback,
  2471. /* [in] */ WPARAM wParam,
  2472. /* [in] */ LPARAM lParam);
  2473. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWin32Event )(
  2474. ISpEventSource * This);
  2475. /* [local] */ HRESULT ( STDMETHODCALLTYPE *WaitForNotifyEvent )(
  2476. ISpEventSource * This,
  2477. /* [in] */ DWORD dwMilliseconds);
  2478. /* [local] */ HANDLE ( STDMETHODCALLTYPE *GetNotifyEventHandle )(
  2479. ISpEventSource * This);
  2480. HRESULT ( STDMETHODCALLTYPE *SetInterest )(
  2481. ISpEventSource * This,
  2482. /* [in] */ ULONGLONG ullEventInterest,
  2483. /* [in] */ ULONGLONG ullQueuedInterest);
  2484. HRESULT ( STDMETHODCALLTYPE *GetEvents )(
  2485. ISpEventSource * This,
  2486. /* [in] */ ULONG ulCount,
  2487. /* [size_is][out] */ SPEVENT *pEventArray,
  2488. /* [out] */ ULONG *pulFetched);
  2489. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  2490. ISpEventSource * This,
  2491. /* [out] */ SPEVENTSOURCEINFO *pInfo);
  2492. END_INTERFACE
  2493. } ISpEventSourceVtbl;
  2494. interface ISpEventSource
  2495. {
  2496. CONST_VTBL struct ISpEventSourceVtbl *lpVtbl;
  2497. };
  2498. #ifdef COBJMACROS
  2499. #define ISpEventSource_QueryInterface(This,riid,ppvObject) \
  2500. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2501. #define ISpEventSource_AddRef(This) \
  2502. (This)->lpVtbl -> AddRef(This)
  2503. #define ISpEventSource_Release(This) \
  2504. (This)->lpVtbl -> Release(This)
  2505. #define ISpEventSource_SetNotifySink(This,pNotifySink) \
  2506. (This)->lpVtbl -> SetNotifySink(This,pNotifySink)
  2507. #define ISpEventSource_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) \
  2508. (This)->lpVtbl -> SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
  2509. #define ISpEventSource_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) \
  2510. (This)->lpVtbl -> SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
  2511. #define ISpEventSource_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) \
  2512. (This)->lpVtbl -> SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
  2513. #define ISpEventSource_SetNotifyWin32Event(This) \
  2514. (This)->lpVtbl -> SetNotifyWin32Event(This)
  2515. #define ISpEventSource_WaitForNotifyEvent(This,dwMilliseconds) \
  2516. (This)->lpVtbl -> WaitForNotifyEvent(This,dwMilliseconds)
  2517. #define ISpEventSource_GetNotifyEventHandle(This) \
  2518. (This)->lpVtbl -> GetNotifyEventHandle(This)
  2519. #define ISpEventSource_SetInterest(This,ullEventInterest,ullQueuedInterest) \
  2520. (This)->lpVtbl -> SetInterest(This,ullEventInterest,ullQueuedInterest)
  2521. #define ISpEventSource_GetEvents(This,ulCount,pEventArray,pulFetched) \
  2522. (This)->lpVtbl -> GetEvents(This,ulCount,pEventArray,pulFetched)
  2523. #define ISpEventSource_GetInfo(This,pInfo) \
  2524. (This)->lpVtbl -> GetInfo(This,pInfo)
  2525. #endif /* COBJMACROS */
  2526. #endif /* C style interface */
  2527. HRESULT STDMETHODCALLTYPE ISpEventSource_SetInterest_Proxy(
  2528. ISpEventSource * This,
  2529. /* [in] */ ULONGLONG ullEventInterest,
  2530. /* [in] */ ULONGLONG ullQueuedInterest);
  2531. void __RPC_STUB ISpEventSource_SetInterest_Stub(
  2532. IRpcStubBuffer *This,
  2533. IRpcChannelBuffer *_pRpcChannelBuffer,
  2534. PRPC_MESSAGE _pRpcMessage,
  2535. DWORD *_pdwStubPhase);
  2536. HRESULT STDMETHODCALLTYPE ISpEventSource_GetEvents_Proxy(
  2537. ISpEventSource * This,
  2538. /* [in] */ ULONG ulCount,
  2539. /* [size_is][out] */ SPEVENT *pEventArray,
  2540. /* [out] */ ULONG *pulFetched);
  2541. void __RPC_STUB ISpEventSource_GetEvents_Stub(
  2542. IRpcStubBuffer *This,
  2543. IRpcChannelBuffer *_pRpcChannelBuffer,
  2544. PRPC_MESSAGE _pRpcMessage,
  2545. DWORD *_pdwStubPhase);
  2546. HRESULT STDMETHODCALLTYPE ISpEventSource_GetInfo_Proxy(
  2547. ISpEventSource * This,
  2548. /* [out] */ SPEVENTSOURCEINFO *pInfo);
  2549. void __RPC_STUB ISpEventSource_GetInfo_Stub(
  2550. IRpcStubBuffer *This,
  2551. IRpcChannelBuffer *_pRpcChannelBuffer,
  2552. PRPC_MESSAGE _pRpcMessage,
  2553. DWORD *_pdwStubPhase);
  2554. #endif /* __ISpEventSource_INTERFACE_DEFINED__ */
  2555. #ifndef __ISpEventSink_INTERFACE_DEFINED__
  2556. #define __ISpEventSink_INTERFACE_DEFINED__
  2557. /* interface ISpEventSink */
  2558. /* [restricted][local][unique][helpstring][uuid][object] */
  2559. EXTERN_C const IID IID_ISpEventSink;
  2560. #if defined(__cplusplus) && !defined(CINTERFACE)
  2561. MIDL_INTERFACE("BE7A9CC9-5F9E-11D2-960F-00C04F8EE628")
  2562. ISpEventSink : public IUnknown
  2563. {
  2564. public:
  2565. virtual HRESULT STDMETHODCALLTYPE AddEvents(
  2566. /* [in] */ const SPEVENT *pEventArray,
  2567. /* [in] */ ULONG ulCount) = 0;
  2568. virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
  2569. /* [out] */ ULONGLONG *pullEventInterest) = 0;
  2570. };
  2571. #else /* C style interface */
  2572. typedef struct ISpEventSinkVtbl
  2573. {
  2574. BEGIN_INTERFACE
  2575. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2576. ISpEventSink * This,
  2577. /* [in] */ REFIID riid,
  2578. /* [iid_is][out] */ void **ppvObject);
  2579. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2580. ISpEventSink * This);
  2581. ULONG ( STDMETHODCALLTYPE *Release )(
  2582. ISpEventSink * This);
  2583. HRESULT ( STDMETHODCALLTYPE *AddEvents )(
  2584. ISpEventSink * This,
  2585. /* [in] */ const SPEVENT *pEventArray,
  2586. /* [in] */ ULONG ulCount);
  2587. HRESULT ( STDMETHODCALLTYPE *GetEventInterest )(
  2588. ISpEventSink * This,
  2589. /* [out] */ ULONGLONG *pullEventInterest);
  2590. END_INTERFACE
  2591. } ISpEventSinkVtbl;
  2592. interface ISpEventSink
  2593. {
  2594. CONST_VTBL struct ISpEventSinkVtbl *lpVtbl;
  2595. };
  2596. #ifdef COBJMACROS
  2597. #define ISpEventSink_QueryInterface(This,riid,ppvObject) \
  2598. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2599. #define ISpEventSink_AddRef(This) \
  2600. (This)->lpVtbl -> AddRef(This)
  2601. #define ISpEventSink_Release(This) \
  2602. (This)->lpVtbl -> Release(This)
  2603. #define ISpEventSink_AddEvents(This,pEventArray,ulCount) \
  2604. (This)->lpVtbl -> AddEvents(This,pEventArray,ulCount)
  2605. #define ISpEventSink_GetEventInterest(This,pullEventInterest) \
  2606. (This)->lpVtbl -> GetEventInterest(This,pullEventInterest)
  2607. #endif /* COBJMACROS */
  2608. #endif /* C style interface */
  2609. HRESULT STDMETHODCALLTYPE ISpEventSink_AddEvents_Proxy(
  2610. ISpEventSink * This,
  2611. /* [in] */ const SPEVENT *pEventArray,
  2612. /* [in] */ ULONG ulCount);
  2613. void __RPC_STUB ISpEventSink_AddEvents_Stub(
  2614. IRpcStubBuffer *This,
  2615. IRpcChannelBuffer *_pRpcChannelBuffer,
  2616. PRPC_MESSAGE _pRpcMessage,
  2617. DWORD *_pdwStubPhase);
  2618. HRESULT STDMETHODCALLTYPE ISpEventSink_GetEventInterest_Proxy(
  2619. ISpEventSink * This,
  2620. /* [out] */ ULONGLONG *pullEventInterest);
  2621. void __RPC_STUB ISpEventSink_GetEventInterest_Stub(
  2622. IRpcStubBuffer *This,
  2623. IRpcChannelBuffer *_pRpcChannelBuffer,
  2624. PRPC_MESSAGE _pRpcMessage,
  2625. DWORD *_pdwStubPhase);
  2626. #endif /* __ISpEventSink_INTERFACE_DEFINED__ */
  2627. #ifndef __ISpStreamFormat_INTERFACE_DEFINED__
  2628. #define __ISpStreamFormat_INTERFACE_DEFINED__
  2629. /* interface ISpStreamFormat */
  2630. /* [restricted][unique][helpstring][uuid][object] */
  2631. EXTERN_C const IID IID_ISpStreamFormat;
  2632. #if defined(__cplusplus) && !defined(CINTERFACE)
  2633. MIDL_INTERFACE("BED530BE-2606-4F4D-A1C0-54C5CDA5566F")
  2634. ISpStreamFormat : public IStream
  2635. {
  2636. public:
  2637. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  2638. GUID *pguidFormatId,
  2639. WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
  2640. };
  2641. #else /* C style interface */
  2642. typedef struct ISpStreamFormatVtbl
  2643. {
  2644. BEGIN_INTERFACE
  2645. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2646. ISpStreamFormat * This,
  2647. /* [in] */ REFIID riid,
  2648. /* [iid_is][out] */ void **ppvObject);
  2649. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2650. ISpStreamFormat * This);
  2651. ULONG ( STDMETHODCALLTYPE *Release )(
  2652. ISpStreamFormat * This);
  2653. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  2654. ISpStreamFormat * This,
  2655. /* [length_is][size_is][out] */ void *pv,
  2656. /* [in] */ ULONG cb,
  2657. /* [out] */ ULONG *pcbRead);
  2658. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
  2659. ISpStreamFormat * This,
  2660. /* [size_is][in] */ const void *pv,
  2661. /* [in] */ ULONG cb,
  2662. /* [out] */ ULONG *pcbWritten);
  2663. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
  2664. ISpStreamFormat * This,
  2665. /* [in] */ LARGE_INTEGER dlibMove,
  2666. /* [in] */ DWORD dwOrigin,
  2667. /* [out] */ ULARGE_INTEGER *plibNewPosition);
  2668. HRESULT ( STDMETHODCALLTYPE *SetSize )(
  2669. ISpStreamFormat * This,
  2670. /* [in] */ ULARGE_INTEGER libNewSize);
  2671. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
  2672. ISpStreamFormat * This,
  2673. /* [unique][in] */ IStream *pstm,
  2674. /* [in] */ ULARGE_INTEGER cb,
  2675. /* [out] */ ULARGE_INTEGER *pcbRead,
  2676. /* [out] */ ULARGE_INTEGER *pcbWritten);
  2677. HRESULT ( STDMETHODCALLTYPE *Commit )(
  2678. ISpStreamFormat * This,
  2679. /* [in] */ DWORD grfCommitFlags);
  2680. HRESULT ( STDMETHODCALLTYPE *Revert )(
  2681. ISpStreamFormat * This);
  2682. HRESULT ( STDMETHODCALLTYPE *LockRegion )(
  2683. ISpStreamFormat * This,
  2684. /* [in] */ ULARGE_INTEGER libOffset,
  2685. /* [in] */ ULARGE_INTEGER cb,
  2686. /* [in] */ DWORD dwLockType);
  2687. HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
  2688. ISpStreamFormat * This,
  2689. /* [in] */ ULARGE_INTEGER libOffset,
  2690. /* [in] */ ULARGE_INTEGER cb,
  2691. /* [in] */ DWORD dwLockType);
  2692. HRESULT ( STDMETHODCALLTYPE *Stat )(
  2693. ISpStreamFormat * This,
  2694. /* [out] */ STATSTG *pstatstg,
  2695. /* [in] */ DWORD grfStatFlag);
  2696. HRESULT ( STDMETHODCALLTYPE *Clone )(
  2697. ISpStreamFormat * This,
  2698. /* [out] */ IStream **ppstm);
  2699. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  2700. ISpStreamFormat * This,
  2701. GUID *pguidFormatId,
  2702. WAVEFORMATEX **ppCoMemWaveFormatEx);
  2703. END_INTERFACE
  2704. } ISpStreamFormatVtbl;
  2705. interface ISpStreamFormat
  2706. {
  2707. CONST_VTBL struct ISpStreamFormatVtbl *lpVtbl;
  2708. };
  2709. #ifdef COBJMACROS
  2710. #define ISpStreamFormat_QueryInterface(This,riid,ppvObject) \
  2711. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2712. #define ISpStreamFormat_AddRef(This) \
  2713. (This)->lpVtbl -> AddRef(This)
  2714. #define ISpStreamFormat_Release(This) \
  2715. (This)->lpVtbl -> Release(This)
  2716. #define ISpStreamFormat_Read(This,pv,cb,pcbRead) \
  2717. (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  2718. #define ISpStreamFormat_Write(This,pv,cb,pcbWritten) \
  2719. (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  2720. #define ISpStreamFormat_Seek(This,dlibMove,dwOrigin,plibNewPosition) \
  2721. (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  2722. #define ISpStreamFormat_SetSize(This,libNewSize) \
  2723. (This)->lpVtbl -> SetSize(This,libNewSize)
  2724. #define ISpStreamFormat_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \
  2725. (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  2726. #define ISpStreamFormat_Commit(This,grfCommitFlags) \
  2727. (This)->lpVtbl -> Commit(This,grfCommitFlags)
  2728. #define ISpStreamFormat_Revert(This) \
  2729. (This)->lpVtbl -> Revert(This)
  2730. #define ISpStreamFormat_LockRegion(This,libOffset,cb,dwLockType) \
  2731. (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  2732. #define ISpStreamFormat_UnlockRegion(This,libOffset,cb,dwLockType) \
  2733. (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  2734. #define ISpStreamFormat_Stat(This,pstatstg,grfStatFlag) \
  2735. (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  2736. #define ISpStreamFormat_Clone(This,ppstm) \
  2737. (This)->lpVtbl -> Clone(This,ppstm)
  2738. #define ISpStreamFormat_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) \
  2739. (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  2740. #endif /* COBJMACROS */
  2741. #endif /* C style interface */
  2742. HRESULT STDMETHODCALLTYPE ISpStreamFormat_GetFormat_Proxy(
  2743. ISpStreamFormat * This,
  2744. GUID *pguidFormatId,
  2745. WAVEFORMATEX **ppCoMemWaveFormatEx);
  2746. void __RPC_STUB ISpStreamFormat_GetFormat_Stub(
  2747. IRpcStubBuffer *This,
  2748. IRpcChannelBuffer *_pRpcChannelBuffer,
  2749. PRPC_MESSAGE _pRpcMessage,
  2750. DWORD *_pdwStubPhase);
  2751. #endif /* __ISpStreamFormat_INTERFACE_DEFINED__ */
  2752. /* interface __MIDL_itf_sapi_0259 */
  2753. /* [local] */
  2754. typedef
  2755. enum SPFILEMODE
  2756. { SPFM_OPEN_READONLY = 0,
  2757. SPFM_OPEN_READWRITE = SPFM_OPEN_READONLY + 1,
  2758. SPFM_CREATE = SPFM_OPEN_READWRITE + 1,
  2759. SPFM_CREATE_ALWAYS = SPFM_CREATE + 1,
  2760. SPFM_NUM_MODES = SPFM_CREATE_ALWAYS + 1
  2761. } SPFILEMODE;
  2762. extern RPC_IF_HANDLE __MIDL_itf_sapi_0259_v0_0_c_ifspec;
  2763. extern RPC_IF_HANDLE __MIDL_itf_sapi_0259_v0_0_s_ifspec;
  2764. #ifndef __ISpStream_INTERFACE_DEFINED__
  2765. #define __ISpStream_INTERFACE_DEFINED__
  2766. /* interface ISpStream */
  2767. /* [restricted][unique][helpstring][uuid][object] */
  2768. EXTERN_C const IID IID_ISpStream;
  2769. #if defined(__cplusplus) && !defined(CINTERFACE)
  2770. MIDL_INTERFACE("12E3CCA9-7518-44C5-A5E7-BA5A79CB929E")
  2771. ISpStream : public ISpStreamFormat
  2772. {
  2773. public:
  2774. virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
  2775. IStream *pStream,
  2776. REFGUID rguidFormat,
  2777. const WAVEFORMATEX *pWaveFormatEx) = 0;
  2778. virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
  2779. IStream **ppStream) = 0;
  2780. virtual HRESULT STDMETHODCALLTYPE BindToFile(
  2781. const WCHAR *pszFileName,
  2782. SPFILEMODE eMode,
  2783. const GUID *pFormatId,
  2784. const WAVEFORMATEX *pWaveFormatEx,
  2785. ULONGLONG ullEventInterest) = 0;
  2786. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  2787. };
  2788. #else /* C style interface */
  2789. typedef struct ISpStreamVtbl
  2790. {
  2791. BEGIN_INTERFACE
  2792. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2793. ISpStream * This,
  2794. /* [in] */ REFIID riid,
  2795. /* [iid_is][out] */ void **ppvObject);
  2796. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2797. ISpStream * This);
  2798. ULONG ( STDMETHODCALLTYPE *Release )(
  2799. ISpStream * This);
  2800. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  2801. ISpStream * This,
  2802. /* [length_is][size_is][out] */ void *pv,
  2803. /* [in] */ ULONG cb,
  2804. /* [out] */ ULONG *pcbRead);
  2805. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
  2806. ISpStream * This,
  2807. /* [size_is][in] */ const void *pv,
  2808. /* [in] */ ULONG cb,
  2809. /* [out] */ ULONG *pcbWritten);
  2810. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
  2811. ISpStream * This,
  2812. /* [in] */ LARGE_INTEGER dlibMove,
  2813. /* [in] */ DWORD dwOrigin,
  2814. /* [out] */ ULARGE_INTEGER *plibNewPosition);
  2815. HRESULT ( STDMETHODCALLTYPE *SetSize )(
  2816. ISpStream * This,
  2817. /* [in] */ ULARGE_INTEGER libNewSize);
  2818. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
  2819. ISpStream * This,
  2820. /* [unique][in] */ IStream *pstm,
  2821. /* [in] */ ULARGE_INTEGER cb,
  2822. /* [out] */ ULARGE_INTEGER *pcbRead,
  2823. /* [out] */ ULARGE_INTEGER *pcbWritten);
  2824. HRESULT ( STDMETHODCALLTYPE *Commit )(
  2825. ISpStream * This,
  2826. /* [in] */ DWORD grfCommitFlags);
  2827. HRESULT ( STDMETHODCALLTYPE *Revert )(
  2828. ISpStream * This);
  2829. HRESULT ( STDMETHODCALLTYPE *LockRegion )(
  2830. ISpStream * This,
  2831. /* [in] */ ULARGE_INTEGER libOffset,
  2832. /* [in] */ ULARGE_INTEGER cb,
  2833. /* [in] */ DWORD dwLockType);
  2834. HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
  2835. ISpStream * This,
  2836. /* [in] */ ULARGE_INTEGER libOffset,
  2837. /* [in] */ ULARGE_INTEGER cb,
  2838. /* [in] */ DWORD dwLockType);
  2839. HRESULT ( STDMETHODCALLTYPE *Stat )(
  2840. ISpStream * This,
  2841. /* [out] */ STATSTG *pstatstg,
  2842. /* [in] */ DWORD grfStatFlag);
  2843. HRESULT ( STDMETHODCALLTYPE *Clone )(
  2844. ISpStream * This,
  2845. /* [out] */ IStream **ppstm);
  2846. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  2847. ISpStream * This,
  2848. GUID *pguidFormatId,
  2849. WAVEFORMATEX **ppCoMemWaveFormatEx);
  2850. HRESULT ( STDMETHODCALLTYPE *SetBaseStream )(
  2851. ISpStream * This,
  2852. IStream *pStream,
  2853. REFGUID rguidFormat,
  2854. const WAVEFORMATEX *pWaveFormatEx);
  2855. HRESULT ( STDMETHODCALLTYPE *GetBaseStream )(
  2856. ISpStream * This,
  2857. IStream **ppStream);
  2858. HRESULT ( STDMETHODCALLTYPE *BindToFile )(
  2859. ISpStream * This,
  2860. const WCHAR *pszFileName,
  2861. SPFILEMODE eMode,
  2862. const GUID *pFormatId,
  2863. const WAVEFORMATEX *pWaveFormatEx,
  2864. ULONGLONG ullEventInterest);
  2865. HRESULT ( STDMETHODCALLTYPE *Close )(
  2866. ISpStream * This);
  2867. END_INTERFACE
  2868. } ISpStreamVtbl;
  2869. interface ISpStream
  2870. {
  2871. CONST_VTBL struct ISpStreamVtbl *lpVtbl;
  2872. };
  2873. #ifdef COBJMACROS
  2874. #define ISpStream_QueryInterface(This,riid,ppvObject) \
  2875. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2876. #define ISpStream_AddRef(This) \
  2877. (This)->lpVtbl -> AddRef(This)
  2878. #define ISpStream_Release(This) \
  2879. (This)->lpVtbl -> Release(This)
  2880. #define ISpStream_Read(This,pv,cb,pcbRead) \
  2881. (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  2882. #define ISpStream_Write(This,pv,cb,pcbWritten) \
  2883. (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  2884. #define ISpStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) \
  2885. (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  2886. #define ISpStream_SetSize(This,libNewSize) \
  2887. (This)->lpVtbl -> SetSize(This,libNewSize)
  2888. #define ISpStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \
  2889. (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  2890. #define ISpStream_Commit(This,grfCommitFlags) \
  2891. (This)->lpVtbl -> Commit(This,grfCommitFlags)
  2892. #define ISpStream_Revert(This) \
  2893. (This)->lpVtbl -> Revert(This)
  2894. #define ISpStream_LockRegion(This,libOffset,cb,dwLockType) \
  2895. (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  2896. #define ISpStream_UnlockRegion(This,libOffset,cb,dwLockType) \
  2897. (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  2898. #define ISpStream_Stat(This,pstatstg,grfStatFlag) \
  2899. (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  2900. #define ISpStream_Clone(This,ppstm) \
  2901. (This)->lpVtbl -> Clone(This,ppstm)
  2902. #define ISpStream_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) \
  2903. (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  2904. #define ISpStream_SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx) \
  2905. (This)->lpVtbl -> SetBaseStream(This,pStream,rguidFormat,pWaveFormatEx)
  2906. #define ISpStream_GetBaseStream(This,ppStream) \
  2907. (This)->lpVtbl -> GetBaseStream(This,ppStream)
  2908. #define ISpStream_BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest) \
  2909. (This)->lpVtbl -> BindToFile(This,pszFileName,eMode,pFormatId,pWaveFormatEx,ullEventInterest)
  2910. #define ISpStream_Close(This) \
  2911. (This)->lpVtbl -> Close(This)
  2912. #endif /* COBJMACROS */
  2913. #endif /* C style interface */
  2914. HRESULT STDMETHODCALLTYPE ISpStream_SetBaseStream_Proxy(
  2915. ISpStream * This,
  2916. IStream *pStream,
  2917. REFGUID rguidFormat,
  2918. const WAVEFORMATEX *pWaveFormatEx);
  2919. void __RPC_STUB ISpStream_SetBaseStream_Stub(
  2920. IRpcStubBuffer *This,
  2921. IRpcChannelBuffer *_pRpcChannelBuffer,
  2922. PRPC_MESSAGE _pRpcMessage,
  2923. DWORD *_pdwStubPhase);
  2924. HRESULT STDMETHODCALLTYPE ISpStream_GetBaseStream_Proxy(
  2925. ISpStream * This,
  2926. IStream **ppStream);
  2927. void __RPC_STUB ISpStream_GetBaseStream_Stub(
  2928. IRpcStubBuffer *This,
  2929. IRpcChannelBuffer *_pRpcChannelBuffer,
  2930. PRPC_MESSAGE _pRpcMessage,
  2931. DWORD *_pdwStubPhase);
  2932. HRESULT STDMETHODCALLTYPE ISpStream_BindToFile_Proxy(
  2933. ISpStream * This,
  2934. const WCHAR *pszFileName,
  2935. SPFILEMODE eMode,
  2936. const GUID *pFormatId,
  2937. const WAVEFORMATEX *pWaveFormatEx,
  2938. ULONGLONG ullEventInterest);
  2939. void __RPC_STUB ISpStream_BindToFile_Stub(
  2940. IRpcStubBuffer *This,
  2941. IRpcChannelBuffer *_pRpcChannelBuffer,
  2942. PRPC_MESSAGE _pRpcMessage,
  2943. DWORD *_pdwStubPhase);
  2944. HRESULT STDMETHODCALLTYPE ISpStream_Close_Proxy(
  2945. ISpStream * This);
  2946. void __RPC_STUB ISpStream_Close_Stub(
  2947. IRpcStubBuffer *This,
  2948. IRpcChannelBuffer *_pRpcChannelBuffer,
  2949. PRPC_MESSAGE _pRpcMessage,
  2950. DWORD *_pdwStubPhase);
  2951. #endif /* __ISpStream_INTERFACE_DEFINED__ */
  2952. #ifndef __ISpStreamFormatConverter_INTERFACE_DEFINED__
  2953. #define __ISpStreamFormatConverter_INTERFACE_DEFINED__
  2954. /* interface ISpStreamFormatConverter */
  2955. /* [restricted][unique][helpstring][uuid][object] */
  2956. EXTERN_C const IID IID_ISpStreamFormatConverter;
  2957. #if defined(__cplusplus) && !defined(CINTERFACE)
  2958. MIDL_INTERFACE("678A932C-EA71-4446-9B41-78FDA6280A29")
  2959. ISpStreamFormatConverter : public ISpStreamFormat
  2960. {
  2961. public:
  2962. virtual HRESULT STDMETHODCALLTYPE SetBaseStream(
  2963. /* [in] */ ISpStreamFormat *pStream,
  2964. /* [in] */ BOOL fSetFormatToBaseStreamFormat,
  2965. /* [in] */ BOOL fWriteToBaseStream) = 0;
  2966. virtual HRESULT STDMETHODCALLTYPE GetBaseStream(
  2967. /* [out] */ ISpStreamFormat **ppStream) = 0;
  2968. virtual HRESULT STDMETHODCALLTYPE SetFormat(
  2969. /* [in] */ REFGUID rguidFormatIdOfConvertedStream,
  2970. /* [in] */ const WAVEFORMATEX *pWaveFormatExOfConvertedStream) = 0;
  2971. virtual HRESULT STDMETHODCALLTYPE ResetSeekPosition( void) = 0;
  2972. virtual HRESULT STDMETHODCALLTYPE ScaleConvertedToBaseOffset(
  2973. /* [in] */ ULONGLONG ullOffsetConvertedStream,
  2974. /* [out] */ ULONGLONG *pullOffsetBaseStream) = 0;
  2975. virtual HRESULT STDMETHODCALLTYPE ScaleBaseToConvertedOffset(
  2976. /* [in] */ ULONGLONG ullOffsetBaseStream,
  2977. /* [out] */ ULONGLONG *pullOffsetConvertedStream) = 0;
  2978. };
  2979. #else /* C style interface */
  2980. typedef struct ISpStreamFormatConverterVtbl
  2981. {
  2982. BEGIN_INTERFACE
  2983. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2984. ISpStreamFormatConverter * This,
  2985. /* [in] */ REFIID riid,
  2986. /* [iid_is][out] */ void **ppvObject);
  2987. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2988. ISpStreamFormatConverter * This);
  2989. ULONG ( STDMETHODCALLTYPE *Release )(
  2990. ISpStreamFormatConverter * This);
  2991. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  2992. ISpStreamFormatConverter * This,
  2993. /* [length_is][size_is][out] */ void *pv,
  2994. /* [in] */ ULONG cb,
  2995. /* [out] */ ULONG *pcbRead);
  2996. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
  2997. ISpStreamFormatConverter * This,
  2998. /* [size_is][in] */ const void *pv,
  2999. /* [in] */ ULONG cb,
  3000. /* [out] */ ULONG *pcbWritten);
  3001. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
  3002. ISpStreamFormatConverter * This,
  3003. /* [in] */ LARGE_INTEGER dlibMove,
  3004. /* [in] */ DWORD dwOrigin,
  3005. /* [out] */ ULARGE_INTEGER *plibNewPosition);
  3006. HRESULT ( STDMETHODCALLTYPE *SetSize )(
  3007. ISpStreamFormatConverter * This,
  3008. /* [in] */ ULARGE_INTEGER libNewSize);
  3009. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
  3010. ISpStreamFormatConverter * This,
  3011. /* [unique][in] */ IStream *pstm,
  3012. /* [in] */ ULARGE_INTEGER cb,
  3013. /* [out] */ ULARGE_INTEGER *pcbRead,
  3014. /* [out] */ ULARGE_INTEGER *pcbWritten);
  3015. HRESULT ( STDMETHODCALLTYPE *Commit )(
  3016. ISpStreamFormatConverter * This,
  3017. /* [in] */ DWORD grfCommitFlags);
  3018. HRESULT ( STDMETHODCALLTYPE *Revert )(
  3019. ISpStreamFormatConverter * This);
  3020. HRESULT ( STDMETHODCALLTYPE *LockRegion )(
  3021. ISpStreamFormatConverter * This,
  3022. /* [in] */ ULARGE_INTEGER libOffset,
  3023. /* [in] */ ULARGE_INTEGER cb,
  3024. /* [in] */ DWORD dwLockType);
  3025. HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
  3026. ISpStreamFormatConverter * This,
  3027. /* [in] */ ULARGE_INTEGER libOffset,
  3028. /* [in] */ ULARGE_INTEGER cb,
  3029. /* [in] */ DWORD dwLockType);
  3030. HRESULT ( STDMETHODCALLTYPE *Stat )(
  3031. ISpStreamFormatConverter * This,
  3032. /* [out] */ STATSTG *pstatstg,
  3033. /* [in] */ DWORD grfStatFlag);
  3034. HRESULT ( STDMETHODCALLTYPE *Clone )(
  3035. ISpStreamFormatConverter * This,
  3036. /* [out] */ IStream **ppstm);
  3037. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  3038. ISpStreamFormatConverter * This,
  3039. GUID *pguidFormatId,
  3040. WAVEFORMATEX **ppCoMemWaveFormatEx);
  3041. HRESULT ( STDMETHODCALLTYPE *SetBaseStream )(
  3042. ISpStreamFormatConverter * This,
  3043. /* [in] */ ISpStreamFormat *pStream,
  3044. /* [in] */ BOOL fSetFormatToBaseStreamFormat,
  3045. /* [in] */ BOOL fWriteToBaseStream);
  3046. HRESULT ( STDMETHODCALLTYPE *GetBaseStream )(
  3047. ISpStreamFormatConverter * This,
  3048. /* [out] */ ISpStreamFormat **ppStream);
  3049. HRESULT ( STDMETHODCALLTYPE *SetFormat )(
  3050. ISpStreamFormatConverter * This,
  3051. /* [in] */ REFGUID rguidFormatIdOfConvertedStream,
  3052. /* [in] */ const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
  3053. HRESULT ( STDMETHODCALLTYPE *ResetSeekPosition )(
  3054. ISpStreamFormatConverter * This);
  3055. HRESULT ( STDMETHODCALLTYPE *ScaleConvertedToBaseOffset )(
  3056. ISpStreamFormatConverter * This,
  3057. /* [in] */ ULONGLONG ullOffsetConvertedStream,
  3058. /* [out] */ ULONGLONG *pullOffsetBaseStream);
  3059. HRESULT ( STDMETHODCALLTYPE *ScaleBaseToConvertedOffset )(
  3060. ISpStreamFormatConverter * This,
  3061. /* [in] */ ULONGLONG ullOffsetBaseStream,
  3062. /* [out] */ ULONGLONG *pullOffsetConvertedStream);
  3063. END_INTERFACE
  3064. } ISpStreamFormatConverterVtbl;
  3065. interface ISpStreamFormatConverter
  3066. {
  3067. CONST_VTBL struct ISpStreamFormatConverterVtbl *lpVtbl;
  3068. };
  3069. #ifdef COBJMACROS
  3070. #define ISpStreamFormatConverter_QueryInterface(This,riid,ppvObject) \
  3071. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3072. #define ISpStreamFormatConverter_AddRef(This) \
  3073. (This)->lpVtbl -> AddRef(This)
  3074. #define ISpStreamFormatConverter_Release(This) \
  3075. (This)->lpVtbl -> Release(This)
  3076. #define ISpStreamFormatConverter_Read(This,pv,cb,pcbRead) \
  3077. (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  3078. #define ISpStreamFormatConverter_Write(This,pv,cb,pcbWritten) \
  3079. (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  3080. #define ISpStreamFormatConverter_Seek(This,dlibMove,dwOrigin,plibNewPosition) \
  3081. (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  3082. #define ISpStreamFormatConverter_SetSize(This,libNewSize) \
  3083. (This)->lpVtbl -> SetSize(This,libNewSize)
  3084. #define ISpStreamFormatConverter_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \
  3085. (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  3086. #define ISpStreamFormatConverter_Commit(This,grfCommitFlags) \
  3087. (This)->lpVtbl -> Commit(This,grfCommitFlags)
  3088. #define ISpStreamFormatConverter_Revert(This) \
  3089. (This)->lpVtbl -> Revert(This)
  3090. #define ISpStreamFormatConverter_LockRegion(This,libOffset,cb,dwLockType) \
  3091. (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  3092. #define ISpStreamFormatConverter_UnlockRegion(This,libOffset,cb,dwLockType) \
  3093. (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  3094. #define ISpStreamFormatConverter_Stat(This,pstatstg,grfStatFlag) \
  3095. (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  3096. #define ISpStreamFormatConverter_Clone(This,ppstm) \
  3097. (This)->lpVtbl -> Clone(This,ppstm)
  3098. #define ISpStreamFormatConverter_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) \
  3099. (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  3100. #define ISpStreamFormatConverter_SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream) \
  3101. (This)->lpVtbl -> SetBaseStream(This,pStream,fSetFormatToBaseStreamFormat,fWriteToBaseStream)
  3102. #define ISpStreamFormatConverter_GetBaseStream(This,ppStream) \
  3103. (This)->lpVtbl -> GetBaseStream(This,ppStream)
  3104. #define ISpStreamFormatConverter_SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream) \
  3105. (This)->lpVtbl -> SetFormat(This,rguidFormatIdOfConvertedStream,pWaveFormatExOfConvertedStream)
  3106. #define ISpStreamFormatConverter_ResetSeekPosition(This) \
  3107. (This)->lpVtbl -> ResetSeekPosition(This)
  3108. #define ISpStreamFormatConverter_ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream) \
  3109. (This)->lpVtbl -> ScaleConvertedToBaseOffset(This,ullOffsetConvertedStream,pullOffsetBaseStream)
  3110. #define ISpStreamFormatConverter_ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream) \
  3111. (This)->lpVtbl -> ScaleBaseToConvertedOffset(This,ullOffsetBaseStream,pullOffsetConvertedStream)
  3112. #endif /* COBJMACROS */
  3113. #endif /* C style interface */
  3114. HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_SetBaseStream_Proxy(
  3115. ISpStreamFormatConverter * This,
  3116. /* [in] */ ISpStreamFormat *pStream,
  3117. /* [in] */ BOOL fSetFormatToBaseStreamFormat,
  3118. /* [in] */ BOOL fWriteToBaseStream);
  3119. void __RPC_STUB ISpStreamFormatConverter_SetBaseStream_Stub(
  3120. IRpcStubBuffer *This,
  3121. IRpcChannelBuffer *_pRpcChannelBuffer,
  3122. PRPC_MESSAGE _pRpcMessage,
  3123. DWORD *_pdwStubPhase);
  3124. HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_GetBaseStream_Proxy(
  3125. ISpStreamFormatConverter * This,
  3126. /* [out] */ ISpStreamFormat **ppStream);
  3127. void __RPC_STUB ISpStreamFormatConverter_GetBaseStream_Stub(
  3128. IRpcStubBuffer *This,
  3129. IRpcChannelBuffer *_pRpcChannelBuffer,
  3130. PRPC_MESSAGE _pRpcMessage,
  3131. DWORD *_pdwStubPhase);
  3132. HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_SetFormat_Proxy(
  3133. ISpStreamFormatConverter * This,
  3134. /* [in] */ REFGUID rguidFormatIdOfConvertedStream,
  3135. /* [in] */ const WAVEFORMATEX *pWaveFormatExOfConvertedStream);
  3136. void __RPC_STUB ISpStreamFormatConverter_SetFormat_Stub(
  3137. IRpcStubBuffer *This,
  3138. IRpcChannelBuffer *_pRpcChannelBuffer,
  3139. PRPC_MESSAGE _pRpcMessage,
  3140. DWORD *_pdwStubPhase);
  3141. HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ResetSeekPosition_Proxy(
  3142. ISpStreamFormatConverter * This);
  3143. void __RPC_STUB ISpStreamFormatConverter_ResetSeekPosition_Stub(
  3144. IRpcStubBuffer *This,
  3145. IRpcChannelBuffer *_pRpcChannelBuffer,
  3146. PRPC_MESSAGE _pRpcMessage,
  3147. DWORD *_pdwStubPhase);
  3148. HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ScaleConvertedToBaseOffset_Proxy(
  3149. ISpStreamFormatConverter * This,
  3150. /* [in] */ ULONGLONG ullOffsetConvertedStream,
  3151. /* [out] */ ULONGLONG *pullOffsetBaseStream);
  3152. void __RPC_STUB ISpStreamFormatConverter_ScaleConvertedToBaseOffset_Stub(
  3153. IRpcStubBuffer *This,
  3154. IRpcChannelBuffer *_pRpcChannelBuffer,
  3155. PRPC_MESSAGE _pRpcMessage,
  3156. DWORD *_pdwStubPhase);
  3157. HRESULT STDMETHODCALLTYPE ISpStreamFormatConverter_ScaleBaseToConvertedOffset_Proxy(
  3158. ISpStreamFormatConverter * This,
  3159. /* [in] */ ULONGLONG ullOffsetBaseStream,
  3160. /* [out] */ ULONGLONG *pullOffsetConvertedStream);
  3161. void __RPC_STUB ISpStreamFormatConverter_ScaleBaseToConvertedOffset_Stub(
  3162. IRpcStubBuffer *This,
  3163. IRpcChannelBuffer *_pRpcChannelBuffer,
  3164. PRPC_MESSAGE _pRpcMessage,
  3165. DWORD *_pdwStubPhase);
  3166. #endif /* __ISpStreamFormatConverter_INTERFACE_DEFINED__ */
  3167. /* interface __MIDL_itf_sapi_0261 */
  3168. /* [local] */
  3169. typedef
  3170. enum _SPAUDIOSTATE
  3171. { SPAS_CLOSED = 0,
  3172. SPAS_STOP = SPAS_CLOSED + 1,
  3173. SPAS_PAUSE = SPAS_STOP + 1,
  3174. SPAS_RUN = SPAS_PAUSE + 1
  3175. } SPAUDIOSTATE;
  3176. typedef /* [restricted] */ struct SPAUDIOSTATUS
  3177. {
  3178. long cbFreeBuffSpace;
  3179. ULONG cbNonBlockingIO;
  3180. SPAUDIOSTATE State;
  3181. ULONGLONG CurSeekPos;
  3182. ULONGLONG CurDevicePos;
  3183. DWORD dwReserved1;
  3184. DWORD dwReserved2;
  3185. } SPAUDIOSTATUS;
  3186. typedef /* [restricted] */ struct SPAUDIOBUFFERINFO
  3187. {
  3188. ULONG ulMsMinNotification;
  3189. ULONG ulMsBufferSize;
  3190. ULONG ulMsEventBias;
  3191. } SPAUDIOBUFFERINFO;
  3192. extern RPC_IF_HANDLE __MIDL_itf_sapi_0261_v0_0_c_ifspec;
  3193. extern RPC_IF_HANDLE __MIDL_itf_sapi_0261_v0_0_s_ifspec;
  3194. #ifndef __ISpAudio_INTERFACE_DEFINED__
  3195. #define __ISpAudio_INTERFACE_DEFINED__
  3196. /* interface ISpAudio */
  3197. /* [restricted][local][unique][helpstring][uuid][object] */
  3198. EXTERN_C const IID IID_ISpAudio;
  3199. #if defined(__cplusplus) && !defined(CINTERFACE)
  3200. MIDL_INTERFACE("C05C768F-FAE8-4EC2-8E07-338321C12452")
  3201. ISpAudio : public ISpStreamFormat
  3202. {
  3203. public:
  3204. virtual HRESULT STDMETHODCALLTYPE SetState(
  3205. /* [in] */ SPAUDIOSTATE NewState,
  3206. /* [in] */ ULONGLONG ullReserved) = 0;
  3207. virtual HRESULT STDMETHODCALLTYPE SetFormat(
  3208. /* [in] */ REFGUID rguidFmtId,
  3209. /* [in] */ const WAVEFORMATEX *pWaveFormatEx) = 0;
  3210. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  3211. /* [out] */ SPAUDIOSTATUS *pStatus) = 0;
  3212. virtual HRESULT STDMETHODCALLTYPE SetBufferInfo(
  3213. /* [in] */ const SPAUDIOBUFFERINFO *pBuffInfo) = 0;
  3214. virtual HRESULT STDMETHODCALLTYPE GetBufferInfo(
  3215. /* [out] */ SPAUDIOBUFFERINFO *pBuffInfo) = 0;
  3216. virtual HRESULT STDMETHODCALLTYPE GetDefaultFormat(
  3217. /* [out] */ GUID *pFormatId,
  3218. /* [out] */ WAVEFORMATEX **ppCoMemWaveFormatEx) = 0;
  3219. virtual HANDLE STDMETHODCALLTYPE EventHandle( void) = 0;
  3220. virtual HRESULT STDMETHODCALLTYPE GetVolumeLevel(
  3221. /* [out] */ ULONG *pLevel) = 0;
  3222. virtual HRESULT STDMETHODCALLTYPE SetVolumeLevel(
  3223. /* [in] */ ULONG Level) = 0;
  3224. virtual HRESULT STDMETHODCALLTYPE GetBufferNotifySize(
  3225. /* [out] */ ULONG *pcbSize) = 0;
  3226. virtual HRESULT STDMETHODCALLTYPE SetBufferNotifySize(
  3227. /* [in] */ ULONG cbSize) = 0;
  3228. };
  3229. #else /* C style interface */
  3230. typedef struct ISpAudioVtbl
  3231. {
  3232. BEGIN_INTERFACE
  3233. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3234. ISpAudio * This,
  3235. /* [in] */ REFIID riid,
  3236. /* [iid_is][out] */ void **ppvObject);
  3237. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3238. ISpAudio * This);
  3239. ULONG ( STDMETHODCALLTYPE *Release )(
  3240. ISpAudio * This);
  3241. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  3242. ISpAudio * This,
  3243. /* [length_is][size_is][out] */ void *pv,
  3244. /* [in] */ ULONG cb,
  3245. /* [out] */ ULONG *pcbRead);
  3246. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
  3247. ISpAudio * This,
  3248. /* [size_is][in] */ const void *pv,
  3249. /* [in] */ ULONG cb,
  3250. /* [out] */ ULONG *pcbWritten);
  3251. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
  3252. ISpAudio * This,
  3253. /* [in] */ LARGE_INTEGER dlibMove,
  3254. /* [in] */ DWORD dwOrigin,
  3255. /* [out] */ ULARGE_INTEGER *plibNewPosition);
  3256. HRESULT ( STDMETHODCALLTYPE *SetSize )(
  3257. ISpAudio * This,
  3258. /* [in] */ ULARGE_INTEGER libNewSize);
  3259. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
  3260. ISpAudio * This,
  3261. /* [unique][in] */ IStream *pstm,
  3262. /* [in] */ ULARGE_INTEGER cb,
  3263. /* [out] */ ULARGE_INTEGER *pcbRead,
  3264. /* [out] */ ULARGE_INTEGER *pcbWritten);
  3265. HRESULT ( STDMETHODCALLTYPE *Commit )(
  3266. ISpAudio * This,
  3267. /* [in] */ DWORD grfCommitFlags);
  3268. HRESULT ( STDMETHODCALLTYPE *Revert )(
  3269. ISpAudio * This);
  3270. HRESULT ( STDMETHODCALLTYPE *LockRegion )(
  3271. ISpAudio * This,
  3272. /* [in] */ ULARGE_INTEGER libOffset,
  3273. /* [in] */ ULARGE_INTEGER cb,
  3274. /* [in] */ DWORD dwLockType);
  3275. HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
  3276. ISpAudio * This,
  3277. /* [in] */ ULARGE_INTEGER libOffset,
  3278. /* [in] */ ULARGE_INTEGER cb,
  3279. /* [in] */ DWORD dwLockType);
  3280. HRESULT ( STDMETHODCALLTYPE *Stat )(
  3281. ISpAudio * This,
  3282. /* [out] */ STATSTG *pstatstg,
  3283. /* [in] */ DWORD grfStatFlag);
  3284. HRESULT ( STDMETHODCALLTYPE *Clone )(
  3285. ISpAudio * This,
  3286. /* [out] */ IStream **ppstm);
  3287. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  3288. ISpAudio * This,
  3289. GUID *pguidFormatId,
  3290. WAVEFORMATEX **ppCoMemWaveFormatEx);
  3291. HRESULT ( STDMETHODCALLTYPE *SetState )(
  3292. ISpAudio * This,
  3293. /* [in] */ SPAUDIOSTATE NewState,
  3294. /* [in] */ ULONGLONG ullReserved);
  3295. HRESULT ( STDMETHODCALLTYPE *SetFormat )(
  3296. ISpAudio * This,
  3297. /* [in] */ REFGUID rguidFmtId,
  3298. /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
  3299. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  3300. ISpAudio * This,
  3301. /* [out] */ SPAUDIOSTATUS *pStatus);
  3302. HRESULT ( STDMETHODCALLTYPE *SetBufferInfo )(
  3303. ISpAudio * This,
  3304. /* [in] */ const SPAUDIOBUFFERINFO *pBuffInfo);
  3305. HRESULT ( STDMETHODCALLTYPE *GetBufferInfo )(
  3306. ISpAudio * This,
  3307. /* [out] */ SPAUDIOBUFFERINFO *pBuffInfo);
  3308. HRESULT ( STDMETHODCALLTYPE *GetDefaultFormat )(
  3309. ISpAudio * This,
  3310. /* [out] */ GUID *pFormatId,
  3311. /* [out] */ WAVEFORMATEX **ppCoMemWaveFormatEx);
  3312. HANDLE ( STDMETHODCALLTYPE *EventHandle )(
  3313. ISpAudio * This);
  3314. HRESULT ( STDMETHODCALLTYPE *GetVolumeLevel )(
  3315. ISpAudio * This,
  3316. /* [out] */ ULONG *pLevel);
  3317. HRESULT ( STDMETHODCALLTYPE *SetVolumeLevel )(
  3318. ISpAudio * This,
  3319. /* [in] */ ULONG Level);
  3320. HRESULT ( STDMETHODCALLTYPE *GetBufferNotifySize )(
  3321. ISpAudio * This,
  3322. /* [out] */ ULONG *pcbSize);
  3323. HRESULT ( STDMETHODCALLTYPE *SetBufferNotifySize )(
  3324. ISpAudio * This,
  3325. /* [in] */ ULONG cbSize);
  3326. END_INTERFACE
  3327. } ISpAudioVtbl;
  3328. interface ISpAudio
  3329. {
  3330. CONST_VTBL struct ISpAudioVtbl *lpVtbl;
  3331. };
  3332. #ifdef COBJMACROS
  3333. #define ISpAudio_QueryInterface(This,riid,ppvObject) \
  3334. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3335. #define ISpAudio_AddRef(This) \
  3336. (This)->lpVtbl -> AddRef(This)
  3337. #define ISpAudio_Release(This) \
  3338. (This)->lpVtbl -> Release(This)
  3339. #define ISpAudio_Read(This,pv,cb,pcbRead) \
  3340. (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  3341. #define ISpAudio_Write(This,pv,cb,pcbWritten) \
  3342. (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  3343. #define ISpAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) \
  3344. (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  3345. #define ISpAudio_SetSize(This,libNewSize) \
  3346. (This)->lpVtbl -> SetSize(This,libNewSize)
  3347. #define ISpAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \
  3348. (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  3349. #define ISpAudio_Commit(This,grfCommitFlags) \
  3350. (This)->lpVtbl -> Commit(This,grfCommitFlags)
  3351. #define ISpAudio_Revert(This) \
  3352. (This)->lpVtbl -> Revert(This)
  3353. #define ISpAudio_LockRegion(This,libOffset,cb,dwLockType) \
  3354. (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  3355. #define ISpAudio_UnlockRegion(This,libOffset,cb,dwLockType) \
  3356. (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  3357. #define ISpAudio_Stat(This,pstatstg,grfStatFlag) \
  3358. (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  3359. #define ISpAudio_Clone(This,ppstm) \
  3360. (This)->lpVtbl -> Clone(This,ppstm)
  3361. #define ISpAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) \
  3362. (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  3363. #define ISpAudio_SetState(This,NewState,ullReserved) \
  3364. (This)->lpVtbl -> SetState(This,NewState,ullReserved)
  3365. #define ISpAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) \
  3366. (This)->lpVtbl -> SetFormat(This,rguidFmtId,pWaveFormatEx)
  3367. #define ISpAudio_GetStatus(This,pStatus) \
  3368. (This)->lpVtbl -> GetStatus(This,pStatus)
  3369. #define ISpAudio_SetBufferInfo(This,pBuffInfo) \
  3370. (This)->lpVtbl -> SetBufferInfo(This,pBuffInfo)
  3371. #define ISpAudio_GetBufferInfo(This,pBuffInfo) \
  3372. (This)->lpVtbl -> GetBufferInfo(This,pBuffInfo)
  3373. #define ISpAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) \
  3374. (This)->lpVtbl -> GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
  3375. #define ISpAudio_EventHandle(This) \
  3376. (This)->lpVtbl -> EventHandle(This)
  3377. #define ISpAudio_GetVolumeLevel(This,pLevel) \
  3378. (This)->lpVtbl -> GetVolumeLevel(This,pLevel)
  3379. #define ISpAudio_SetVolumeLevel(This,Level) \
  3380. (This)->lpVtbl -> SetVolumeLevel(This,Level)
  3381. #define ISpAudio_GetBufferNotifySize(This,pcbSize) \
  3382. (This)->lpVtbl -> GetBufferNotifySize(This,pcbSize)
  3383. #define ISpAudio_SetBufferNotifySize(This,cbSize) \
  3384. (This)->lpVtbl -> SetBufferNotifySize(This,cbSize)
  3385. #endif /* COBJMACROS */
  3386. #endif /* C style interface */
  3387. HRESULT STDMETHODCALLTYPE ISpAudio_SetState_Proxy(
  3388. ISpAudio * This,
  3389. /* [in] */ SPAUDIOSTATE NewState,
  3390. /* [in] */ ULONGLONG ullReserved);
  3391. void __RPC_STUB ISpAudio_SetState_Stub(
  3392. IRpcStubBuffer *This,
  3393. IRpcChannelBuffer *_pRpcChannelBuffer,
  3394. PRPC_MESSAGE _pRpcMessage,
  3395. DWORD *_pdwStubPhase);
  3396. HRESULT STDMETHODCALLTYPE ISpAudio_SetFormat_Proxy(
  3397. ISpAudio * This,
  3398. /* [in] */ REFGUID rguidFmtId,
  3399. /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
  3400. void __RPC_STUB ISpAudio_SetFormat_Stub(
  3401. IRpcStubBuffer *This,
  3402. IRpcChannelBuffer *_pRpcChannelBuffer,
  3403. PRPC_MESSAGE _pRpcMessage,
  3404. DWORD *_pdwStubPhase);
  3405. HRESULT STDMETHODCALLTYPE ISpAudio_GetStatus_Proxy(
  3406. ISpAudio * This,
  3407. /* [out] */ SPAUDIOSTATUS *pStatus);
  3408. void __RPC_STUB ISpAudio_GetStatus_Stub(
  3409. IRpcStubBuffer *This,
  3410. IRpcChannelBuffer *_pRpcChannelBuffer,
  3411. PRPC_MESSAGE _pRpcMessage,
  3412. DWORD *_pdwStubPhase);
  3413. HRESULT STDMETHODCALLTYPE ISpAudio_SetBufferInfo_Proxy(
  3414. ISpAudio * This,
  3415. /* [in] */ const SPAUDIOBUFFERINFO *pBuffInfo);
  3416. void __RPC_STUB ISpAudio_SetBufferInfo_Stub(
  3417. IRpcStubBuffer *This,
  3418. IRpcChannelBuffer *_pRpcChannelBuffer,
  3419. PRPC_MESSAGE _pRpcMessage,
  3420. DWORD *_pdwStubPhase);
  3421. HRESULT STDMETHODCALLTYPE ISpAudio_GetBufferInfo_Proxy(
  3422. ISpAudio * This,
  3423. /* [out] */ SPAUDIOBUFFERINFO *pBuffInfo);
  3424. void __RPC_STUB ISpAudio_GetBufferInfo_Stub(
  3425. IRpcStubBuffer *This,
  3426. IRpcChannelBuffer *_pRpcChannelBuffer,
  3427. PRPC_MESSAGE _pRpcMessage,
  3428. DWORD *_pdwStubPhase);
  3429. HRESULT STDMETHODCALLTYPE ISpAudio_GetDefaultFormat_Proxy(
  3430. ISpAudio * This,
  3431. /* [out] */ GUID *pFormatId,
  3432. /* [out] */ WAVEFORMATEX **ppCoMemWaveFormatEx);
  3433. void __RPC_STUB ISpAudio_GetDefaultFormat_Stub(
  3434. IRpcStubBuffer *This,
  3435. IRpcChannelBuffer *_pRpcChannelBuffer,
  3436. PRPC_MESSAGE _pRpcMessage,
  3437. DWORD *_pdwStubPhase);
  3438. HANDLE STDMETHODCALLTYPE ISpAudio_EventHandle_Proxy(
  3439. ISpAudio * This);
  3440. void __RPC_STUB ISpAudio_EventHandle_Stub(
  3441. IRpcStubBuffer *This,
  3442. IRpcChannelBuffer *_pRpcChannelBuffer,
  3443. PRPC_MESSAGE _pRpcMessage,
  3444. DWORD *_pdwStubPhase);
  3445. HRESULT STDMETHODCALLTYPE ISpAudio_GetVolumeLevel_Proxy(
  3446. ISpAudio * This,
  3447. /* [out] */ ULONG *pLevel);
  3448. void __RPC_STUB ISpAudio_GetVolumeLevel_Stub(
  3449. IRpcStubBuffer *This,
  3450. IRpcChannelBuffer *_pRpcChannelBuffer,
  3451. PRPC_MESSAGE _pRpcMessage,
  3452. DWORD *_pdwStubPhase);
  3453. HRESULT STDMETHODCALLTYPE ISpAudio_SetVolumeLevel_Proxy(
  3454. ISpAudio * This,
  3455. /* [in] */ ULONG Level);
  3456. void __RPC_STUB ISpAudio_SetVolumeLevel_Stub(
  3457. IRpcStubBuffer *This,
  3458. IRpcChannelBuffer *_pRpcChannelBuffer,
  3459. PRPC_MESSAGE _pRpcMessage,
  3460. DWORD *_pdwStubPhase);
  3461. HRESULT STDMETHODCALLTYPE ISpAudio_GetBufferNotifySize_Proxy(
  3462. ISpAudio * This,
  3463. /* [out] */ ULONG *pcbSize);
  3464. void __RPC_STUB ISpAudio_GetBufferNotifySize_Stub(
  3465. IRpcStubBuffer *This,
  3466. IRpcChannelBuffer *_pRpcChannelBuffer,
  3467. PRPC_MESSAGE _pRpcMessage,
  3468. DWORD *_pdwStubPhase);
  3469. HRESULT STDMETHODCALLTYPE ISpAudio_SetBufferNotifySize_Proxy(
  3470. ISpAudio * This,
  3471. /* [in] */ ULONG cbSize);
  3472. void __RPC_STUB ISpAudio_SetBufferNotifySize_Stub(
  3473. IRpcStubBuffer *This,
  3474. IRpcChannelBuffer *_pRpcChannelBuffer,
  3475. PRPC_MESSAGE _pRpcMessage,
  3476. DWORD *_pdwStubPhase);
  3477. #endif /* __ISpAudio_INTERFACE_DEFINED__ */
  3478. #ifndef __ISpMMSysAudio_INTERFACE_DEFINED__
  3479. #define __ISpMMSysAudio_INTERFACE_DEFINED__
  3480. /* interface ISpMMSysAudio */
  3481. /* [restricted][local][unique][helpstring][uuid][object] */
  3482. EXTERN_C const IID IID_ISpMMSysAudio;
  3483. #if defined(__cplusplus) && !defined(CINTERFACE)
  3484. MIDL_INTERFACE("15806F6E-1D70-4B48-98E6-3B1A007509AB")
  3485. ISpMMSysAudio : public ISpAudio
  3486. {
  3487. public:
  3488. virtual HRESULT STDMETHODCALLTYPE GetDeviceId(
  3489. /* [out] */ UINT *puDeviceId) = 0;
  3490. virtual HRESULT STDMETHODCALLTYPE SetDeviceId(
  3491. /* [in] */ UINT uDeviceId) = 0;
  3492. virtual HRESULT STDMETHODCALLTYPE GetMMHandle(
  3493. void **pHandle) = 0;
  3494. virtual HRESULT STDMETHODCALLTYPE GetLineId(
  3495. /* [out] */ UINT *puLineId) = 0;
  3496. virtual HRESULT STDMETHODCALLTYPE SetLineId(
  3497. /* [in] */ UINT uLineId) = 0;
  3498. };
  3499. #else /* C style interface */
  3500. typedef struct ISpMMSysAudioVtbl
  3501. {
  3502. BEGIN_INTERFACE
  3503. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3504. ISpMMSysAudio * This,
  3505. /* [in] */ REFIID riid,
  3506. /* [iid_is][out] */ void **ppvObject);
  3507. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3508. ISpMMSysAudio * This);
  3509. ULONG ( STDMETHODCALLTYPE *Release )(
  3510. ISpMMSysAudio * This);
  3511. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  3512. ISpMMSysAudio * This,
  3513. /* [length_is][size_is][out] */ void *pv,
  3514. /* [in] */ ULONG cb,
  3515. /* [out] */ ULONG *pcbRead);
  3516. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
  3517. ISpMMSysAudio * This,
  3518. /* [size_is][in] */ const void *pv,
  3519. /* [in] */ ULONG cb,
  3520. /* [out] */ ULONG *pcbWritten);
  3521. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
  3522. ISpMMSysAudio * This,
  3523. /* [in] */ LARGE_INTEGER dlibMove,
  3524. /* [in] */ DWORD dwOrigin,
  3525. /* [out] */ ULARGE_INTEGER *plibNewPosition);
  3526. HRESULT ( STDMETHODCALLTYPE *SetSize )(
  3527. ISpMMSysAudio * This,
  3528. /* [in] */ ULARGE_INTEGER libNewSize);
  3529. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
  3530. ISpMMSysAudio * This,
  3531. /* [unique][in] */ IStream *pstm,
  3532. /* [in] */ ULARGE_INTEGER cb,
  3533. /* [out] */ ULARGE_INTEGER *pcbRead,
  3534. /* [out] */ ULARGE_INTEGER *pcbWritten);
  3535. HRESULT ( STDMETHODCALLTYPE *Commit )(
  3536. ISpMMSysAudio * This,
  3537. /* [in] */ DWORD grfCommitFlags);
  3538. HRESULT ( STDMETHODCALLTYPE *Revert )(
  3539. ISpMMSysAudio * This);
  3540. HRESULT ( STDMETHODCALLTYPE *LockRegion )(
  3541. ISpMMSysAudio * This,
  3542. /* [in] */ ULARGE_INTEGER libOffset,
  3543. /* [in] */ ULARGE_INTEGER cb,
  3544. /* [in] */ DWORD dwLockType);
  3545. HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
  3546. ISpMMSysAudio * This,
  3547. /* [in] */ ULARGE_INTEGER libOffset,
  3548. /* [in] */ ULARGE_INTEGER cb,
  3549. /* [in] */ DWORD dwLockType);
  3550. HRESULT ( STDMETHODCALLTYPE *Stat )(
  3551. ISpMMSysAudio * This,
  3552. /* [out] */ STATSTG *pstatstg,
  3553. /* [in] */ DWORD grfStatFlag);
  3554. HRESULT ( STDMETHODCALLTYPE *Clone )(
  3555. ISpMMSysAudio * This,
  3556. /* [out] */ IStream **ppstm);
  3557. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  3558. ISpMMSysAudio * This,
  3559. GUID *pguidFormatId,
  3560. WAVEFORMATEX **ppCoMemWaveFormatEx);
  3561. HRESULT ( STDMETHODCALLTYPE *SetState )(
  3562. ISpMMSysAudio * This,
  3563. /* [in] */ SPAUDIOSTATE NewState,
  3564. /* [in] */ ULONGLONG ullReserved);
  3565. HRESULT ( STDMETHODCALLTYPE *SetFormat )(
  3566. ISpMMSysAudio * This,
  3567. /* [in] */ REFGUID rguidFmtId,
  3568. /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
  3569. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  3570. ISpMMSysAudio * This,
  3571. /* [out] */ SPAUDIOSTATUS *pStatus);
  3572. HRESULT ( STDMETHODCALLTYPE *SetBufferInfo )(
  3573. ISpMMSysAudio * This,
  3574. /* [in] */ const SPAUDIOBUFFERINFO *pBuffInfo);
  3575. HRESULT ( STDMETHODCALLTYPE *GetBufferInfo )(
  3576. ISpMMSysAudio * This,
  3577. /* [out] */ SPAUDIOBUFFERINFO *pBuffInfo);
  3578. HRESULT ( STDMETHODCALLTYPE *GetDefaultFormat )(
  3579. ISpMMSysAudio * This,
  3580. /* [out] */ GUID *pFormatId,
  3581. /* [out] */ WAVEFORMATEX **ppCoMemWaveFormatEx);
  3582. HANDLE ( STDMETHODCALLTYPE *EventHandle )(
  3583. ISpMMSysAudio * This);
  3584. HRESULT ( STDMETHODCALLTYPE *GetVolumeLevel )(
  3585. ISpMMSysAudio * This,
  3586. /* [out] */ ULONG *pLevel);
  3587. HRESULT ( STDMETHODCALLTYPE *SetVolumeLevel )(
  3588. ISpMMSysAudio * This,
  3589. /* [in] */ ULONG Level);
  3590. HRESULT ( STDMETHODCALLTYPE *GetBufferNotifySize )(
  3591. ISpMMSysAudio * This,
  3592. /* [out] */ ULONG *pcbSize);
  3593. HRESULT ( STDMETHODCALLTYPE *SetBufferNotifySize )(
  3594. ISpMMSysAudio * This,
  3595. /* [in] */ ULONG cbSize);
  3596. HRESULT ( STDMETHODCALLTYPE *GetDeviceId )(
  3597. ISpMMSysAudio * This,
  3598. /* [out] */ UINT *puDeviceId);
  3599. HRESULT ( STDMETHODCALLTYPE *SetDeviceId )(
  3600. ISpMMSysAudio * This,
  3601. /* [in] */ UINT uDeviceId);
  3602. HRESULT ( STDMETHODCALLTYPE *GetMMHandle )(
  3603. ISpMMSysAudio * This,
  3604. void **pHandle);
  3605. HRESULT ( STDMETHODCALLTYPE *GetLineId )(
  3606. ISpMMSysAudio * This,
  3607. /* [out] */ UINT *puLineId);
  3608. HRESULT ( STDMETHODCALLTYPE *SetLineId )(
  3609. ISpMMSysAudio * This,
  3610. /* [in] */ UINT uLineId);
  3611. END_INTERFACE
  3612. } ISpMMSysAudioVtbl;
  3613. interface ISpMMSysAudio
  3614. {
  3615. CONST_VTBL struct ISpMMSysAudioVtbl *lpVtbl;
  3616. };
  3617. #ifdef COBJMACROS
  3618. #define ISpMMSysAudio_QueryInterface(This,riid,ppvObject) \
  3619. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3620. #define ISpMMSysAudio_AddRef(This) \
  3621. (This)->lpVtbl -> AddRef(This)
  3622. #define ISpMMSysAudio_Release(This) \
  3623. (This)->lpVtbl -> Release(This)
  3624. #define ISpMMSysAudio_Read(This,pv,cb,pcbRead) \
  3625. (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  3626. #define ISpMMSysAudio_Write(This,pv,cb,pcbWritten) \
  3627. (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  3628. #define ISpMMSysAudio_Seek(This,dlibMove,dwOrigin,plibNewPosition) \
  3629. (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  3630. #define ISpMMSysAudio_SetSize(This,libNewSize) \
  3631. (This)->lpVtbl -> SetSize(This,libNewSize)
  3632. #define ISpMMSysAudio_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \
  3633. (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  3634. #define ISpMMSysAudio_Commit(This,grfCommitFlags) \
  3635. (This)->lpVtbl -> Commit(This,grfCommitFlags)
  3636. #define ISpMMSysAudio_Revert(This) \
  3637. (This)->lpVtbl -> Revert(This)
  3638. #define ISpMMSysAudio_LockRegion(This,libOffset,cb,dwLockType) \
  3639. (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  3640. #define ISpMMSysAudio_UnlockRegion(This,libOffset,cb,dwLockType) \
  3641. (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  3642. #define ISpMMSysAudio_Stat(This,pstatstg,grfStatFlag) \
  3643. (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  3644. #define ISpMMSysAudio_Clone(This,ppstm) \
  3645. (This)->lpVtbl -> Clone(This,ppstm)
  3646. #define ISpMMSysAudio_GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx) \
  3647. (This)->lpVtbl -> GetFormat(This,pguidFormatId,ppCoMemWaveFormatEx)
  3648. #define ISpMMSysAudio_SetState(This,NewState,ullReserved) \
  3649. (This)->lpVtbl -> SetState(This,NewState,ullReserved)
  3650. #define ISpMMSysAudio_SetFormat(This,rguidFmtId,pWaveFormatEx) \
  3651. (This)->lpVtbl -> SetFormat(This,rguidFmtId,pWaveFormatEx)
  3652. #define ISpMMSysAudio_GetStatus(This,pStatus) \
  3653. (This)->lpVtbl -> GetStatus(This,pStatus)
  3654. #define ISpMMSysAudio_SetBufferInfo(This,pBuffInfo) \
  3655. (This)->lpVtbl -> SetBufferInfo(This,pBuffInfo)
  3656. #define ISpMMSysAudio_GetBufferInfo(This,pBuffInfo) \
  3657. (This)->lpVtbl -> GetBufferInfo(This,pBuffInfo)
  3658. #define ISpMMSysAudio_GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx) \
  3659. (This)->lpVtbl -> GetDefaultFormat(This,pFormatId,ppCoMemWaveFormatEx)
  3660. #define ISpMMSysAudio_EventHandle(This) \
  3661. (This)->lpVtbl -> EventHandle(This)
  3662. #define ISpMMSysAudio_GetVolumeLevel(This,pLevel) \
  3663. (This)->lpVtbl -> GetVolumeLevel(This,pLevel)
  3664. #define ISpMMSysAudio_SetVolumeLevel(This,Level) \
  3665. (This)->lpVtbl -> SetVolumeLevel(This,Level)
  3666. #define ISpMMSysAudio_GetBufferNotifySize(This,pcbSize) \
  3667. (This)->lpVtbl -> GetBufferNotifySize(This,pcbSize)
  3668. #define ISpMMSysAudio_SetBufferNotifySize(This,cbSize) \
  3669. (This)->lpVtbl -> SetBufferNotifySize(This,cbSize)
  3670. #define ISpMMSysAudio_GetDeviceId(This,puDeviceId) \
  3671. (This)->lpVtbl -> GetDeviceId(This,puDeviceId)
  3672. #define ISpMMSysAudio_SetDeviceId(This,uDeviceId) \
  3673. (This)->lpVtbl -> SetDeviceId(This,uDeviceId)
  3674. #define ISpMMSysAudio_GetMMHandle(This,pHandle) \
  3675. (This)->lpVtbl -> GetMMHandle(This,pHandle)
  3676. #define ISpMMSysAudio_GetLineId(This,puLineId) \
  3677. (This)->lpVtbl -> GetLineId(This,puLineId)
  3678. #define ISpMMSysAudio_SetLineId(This,uLineId) \
  3679. (This)->lpVtbl -> SetLineId(This,uLineId)
  3680. #endif /* COBJMACROS */
  3681. #endif /* C style interface */
  3682. HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetDeviceId_Proxy(
  3683. ISpMMSysAudio * This,
  3684. /* [out] */ UINT *puDeviceId);
  3685. void __RPC_STUB ISpMMSysAudio_GetDeviceId_Stub(
  3686. IRpcStubBuffer *This,
  3687. IRpcChannelBuffer *_pRpcChannelBuffer,
  3688. PRPC_MESSAGE _pRpcMessage,
  3689. DWORD *_pdwStubPhase);
  3690. HRESULT STDMETHODCALLTYPE ISpMMSysAudio_SetDeviceId_Proxy(
  3691. ISpMMSysAudio * This,
  3692. /* [in] */ UINT uDeviceId);
  3693. void __RPC_STUB ISpMMSysAudio_SetDeviceId_Stub(
  3694. IRpcStubBuffer *This,
  3695. IRpcChannelBuffer *_pRpcChannelBuffer,
  3696. PRPC_MESSAGE _pRpcMessage,
  3697. DWORD *_pdwStubPhase);
  3698. HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetMMHandle_Proxy(
  3699. ISpMMSysAudio * This,
  3700. void **pHandle);
  3701. void __RPC_STUB ISpMMSysAudio_GetMMHandle_Stub(
  3702. IRpcStubBuffer *This,
  3703. IRpcChannelBuffer *_pRpcChannelBuffer,
  3704. PRPC_MESSAGE _pRpcMessage,
  3705. DWORD *_pdwStubPhase);
  3706. HRESULT STDMETHODCALLTYPE ISpMMSysAudio_GetLineId_Proxy(
  3707. ISpMMSysAudio * This,
  3708. /* [out] */ UINT *puLineId);
  3709. void __RPC_STUB ISpMMSysAudio_GetLineId_Stub(
  3710. IRpcStubBuffer *This,
  3711. IRpcChannelBuffer *_pRpcChannelBuffer,
  3712. PRPC_MESSAGE _pRpcMessage,
  3713. DWORD *_pdwStubPhase);
  3714. HRESULT STDMETHODCALLTYPE ISpMMSysAudio_SetLineId_Proxy(
  3715. ISpMMSysAudio * This,
  3716. /* [in] */ UINT uLineId);
  3717. void __RPC_STUB ISpMMSysAudio_SetLineId_Stub(
  3718. IRpcStubBuffer *This,
  3719. IRpcChannelBuffer *_pRpcChannelBuffer,
  3720. PRPC_MESSAGE _pRpcMessage,
  3721. DWORD *_pdwStubPhase);
  3722. #endif /* __ISpMMSysAudio_INTERFACE_DEFINED__ */
  3723. #ifndef __ISpTranscript_INTERFACE_DEFINED__
  3724. #define __ISpTranscript_INTERFACE_DEFINED__
  3725. /* interface ISpTranscript */
  3726. /* [restricted][unique][helpstring][uuid][object] */
  3727. EXTERN_C const IID IID_ISpTranscript;
  3728. #if defined(__cplusplus) && !defined(CINTERFACE)
  3729. MIDL_INTERFACE("10F63BCE-201A-11D3-AC70-00C04F8EE6C0")
  3730. ISpTranscript : public IUnknown
  3731. {
  3732. public:
  3733. virtual HRESULT STDMETHODCALLTYPE GetTranscript(
  3734. /* [string][out] */ WCHAR **ppszTranscript) = 0;
  3735. virtual HRESULT STDMETHODCALLTYPE AppendTranscript(
  3736. /* [string][in] */ const WCHAR *pszTranscript) = 0;
  3737. };
  3738. #else /* C style interface */
  3739. typedef struct ISpTranscriptVtbl
  3740. {
  3741. BEGIN_INTERFACE
  3742. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3743. ISpTranscript * This,
  3744. /* [in] */ REFIID riid,
  3745. /* [iid_is][out] */ void **ppvObject);
  3746. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3747. ISpTranscript * This);
  3748. ULONG ( STDMETHODCALLTYPE *Release )(
  3749. ISpTranscript * This);
  3750. HRESULT ( STDMETHODCALLTYPE *GetTranscript )(
  3751. ISpTranscript * This,
  3752. /* [string][out] */ WCHAR **ppszTranscript);
  3753. HRESULT ( STDMETHODCALLTYPE *AppendTranscript )(
  3754. ISpTranscript * This,
  3755. /* [string][in] */ const WCHAR *pszTranscript);
  3756. END_INTERFACE
  3757. } ISpTranscriptVtbl;
  3758. interface ISpTranscript
  3759. {
  3760. CONST_VTBL struct ISpTranscriptVtbl *lpVtbl;
  3761. };
  3762. #ifdef COBJMACROS
  3763. #define ISpTranscript_QueryInterface(This,riid,ppvObject) \
  3764. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3765. #define ISpTranscript_AddRef(This) \
  3766. (This)->lpVtbl -> AddRef(This)
  3767. #define ISpTranscript_Release(This) \
  3768. (This)->lpVtbl -> Release(This)
  3769. #define ISpTranscript_GetTranscript(This,ppszTranscript) \
  3770. (This)->lpVtbl -> GetTranscript(This,ppszTranscript)
  3771. #define ISpTranscript_AppendTranscript(This,pszTranscript) \
  3772. (This)->lpVtbl -> AppendTranscript(This,pszTranscript)
  3773. #endif /* COBJMACROS */
  3774. #endif /* C style interface */
  3775. HRESULT STDMETHODCALLTYPE ISpTranscript_GetTranscript_Proxy(
  3776. ISpTranscript * This,
  3777. /* [string][out] */ WCHAR **ppszTranscript);
  3778. void __RPC_STUB ISpTranscript_GetTranscript_Stub(
  3779. IRpcStubBuffer *This,
  3780. IRpcChannelBuffer *_pRpcChannelBuffer,
  3781. PRPC_MESSAGE _pRpcMessage,
  3782. DWORD *_pdwStubPhase);
  3783. HRESULT STDMETHODCALLTYPE ISpTranscript_AppendTranscript_Proxy(
  3784. ISpTranscript * This,
  3785. /* [string][in] */ const WCHAR *pszTranscript);
  3786. void __RPC_STUB ISpTranscript_AppendTranscript_Stub(
  3787. IRpcStubBuffer *This,
  3788. IRpcChannelBuffer *_pRpcChannelBuffer,
  3789. PRPC_MESSAGE _pRpcMessage,
  3790. DWORD *_pdwStubPhase);
  3791. #endif /* __ISpTranscript_INTERFACE_DEFINED__ */
  3792. /* interface __MIDL_itf_sapi_0264 */
  3793. /* [local] */
  3794. typedef
  3795. enum SPDISPLYATTRIBUTES
  3796. { SPAF_ONE_TRAILING_SPACE = 0x2,
  3797. SPAF_TWO_TRAILING_SPACES = 0x4,
  3798. SPAF_CONSUME_LEADING_SPACES = 0x8,
  3799. SPAF_ALL = 0xf
  3800. } SPDISPLAYATTRIBUTES;
  3801. typedef unsigned short SPPHONEID;
  3802. typedef /* [restricted] */ struct SPPHRASEELEMENT
  3803. {
  3804. ULONG ulAudioTimeOffset;
  3805. ULONG ulAudioSizeTime;
  3806. ULONG ulAudioStreamOffset;
  3807. ULONG ulAudioSizeBytes;
  3808. ULONG ulRetainedStreamOffset;
  3809. ULONG ulRetainedSizeBytes;
  3810. const WCHAR *pszDisplayText;
  3811. const WCHAR *pszLexicalForm;
  3812. const SPPHONEID *pszPronunciation;
  3813. BYTE bDisplayAttributes;
  3814. signed char RequiredConfidence;
  3815. signed char ActualConfidence;
  3816. BYTE Reserved;
  3817. float SREngineConfidence;
  3818. } SPPHRASEELEMENT;
  3819. typedef /* [restricted] */ struct SPPHRASERULE SPPHRASERULE;
  3820. struct SPPHRASERULE
  3821. {
  3822. const WCHAR *pszName;
  3823. ULONG ulId;
  3824. ULONG ulFirstElement;
  3825. ULONG ulCountOfElements;
  3826. const SPPHRASERULE *pNextSibling;
  3827. const SPPHRASERULE *pFirstChild;
  3828. float SREngineConfidence;
  3829. signed char Confidence;
  3830. } ;
  3831. typedef /* [restricted] */ struct SPPHRASEPROPERTY SPPHRASEPROPERTY;
  3832. struct SPPHRASEPROPERTY
  3833. {
  3834. const WCHAR *pszName;
  3835. ULONG ulId;
  3836. const WCHAR *pszValue;
  3837. VARIANT vValue;
  3838. ULONG ulFirstElement;
  3839. ULONG ulCountOfElements;
  3840. const SPPHRASEPROPERTY *pNextSibling;
  3841. const SPPHRASEPROPERTY *pFirstChild;
  3842. float SREngineConfidence;
  3843. signed char Confidence;
  3844. } ;
  3845. typedef /* [restricted] */ struct SPPHRASEREPLACEMENT
  3846. {
  3847. BYTE bDisplayAttributes;
  3848. const WCHAR *pszReplacementText;
  3849. ULONG ulFirstElement;
  3850. ULONG ulCountOfElements;
  3851. } SPPHRASEREPLACEMENT;
  3852. typedef /* [restricted] */ struct SPPHRASE
  3853. {
  3854. ULONG cbSize;
  3855. WORD LangID;
  3856. WORD wReserved;
  3857. ULONGLONG ullGrammarID;
  3858. ULONGLONG ftStartTime;
  3859. ULONGLONG ullAudioStreamPosition;
  3860. ULONG ulAudioSizeBytes;
  3861. ULONG ulRetainedSizeBytes;
  3862. ULONG ulAudioSizeTime;
  3863. SPPHRASERULE Rule;
  3864. const SPPHRASEPROPERTY *pProperties;
  3865. const SPPHRASEELEMENT *pElements;
  3866. ULONG cReplacements;
  3867. const SPPHRASEREPLACEMENT *pReplacements;
  3868. GUID SREngineID;
  3869. ULONG ulSREnginePrivateDataSize;
  3870. const BYTE *pSREnginePrivateData;
  3871. } SPPHRASE;
  3872. typedef /* [restricted] */ struct SPSERIALIZEDPHRASE
  3873. {
  3874. ULONG ulSerializedSize;
  3875. } SPSERIALIZEDPHRASE;
  3876. typedef
  3877. enum SPVALUETYPE
  3878. { SPDF_PROPERTY = 0x1,
  3879. SPDF_REPLACEMENT = 0x2,
  3880. SPDF_RULE = 0x4,
  3881. SPDF_DISPLAYTEXT = 0x8,
  3882. SPDF_LEXICALFORM = 0x10,
  3883. SPDF_PRONUNCIATION = 0x20,
  3884. SPDF_AUDIO = 0x40,
  3885. SPDF_ALTERNATES = 0x80,
  3886. SPDF_ALL = 0xff
  3887. } SPVALUETYPE;
  3888. typedef struct SPBINARYGRAMMAR
  3889. {
  3890. ULONG ulTotalSerializedSize;
  3891. } SPBINARYGRAMMAR;
  3892. typedef
  3893. enum SPPHRASERNG
  3894. { SPPR_ALL_ELEMENTS = -1
  3895. } SPPHRASERNG;
  3896. #define SP_GETWHOLEPHRASE SPPR_ALL_ELEMENTS
  3897. #define SPRR_ALL_ELEMENTS SPPR_ALL_ELEMENTS
  3898. #if 0
  3899. typedef void *SPSTATEHANDLE;
  3900. #else
  3901. DECLARE_HANDLE(SPSTATEHANDLE);
  3902. #endif
  3903. typedef
  3904. enum SPRECOEVENTFLAGS
  3905. { SPREF_AutoPause = 1 << 0,
  3906. SPREF_Emulated = 1 << 1
  3907. } SPRECOECOEVENTFLAGS;
  3908. typedef
  3909. enum SPPARTOFSPEECH
  3910. { SPPS_NotOverriden = -1,
  3911. SPPS_Unknown = 0,
  3912. SPPS_Noun = 0x1000,
  3913. SPPS_Verb = 0x2000,
  3914. SPPS_Modifier = 0x3000,
  3915. SPPS_Function = 0x4000,
  3916. SPPS_Interjection = 0x5000
  3917. } SPPARTOFSPEECH;
  3918. typedef
  3919. enum SPLEXICONTYPE
  3920. { eLEXTYPE_USER = 1L << 0,
  3921. eLEXTYPE_APP = 1L << 1,
  3922. eLEXTYPE_RESERVED1 = 1L << 2,
  3923. eLEXTYPE_RESERVED2 = 1L << 3,
  3924. eLEXTYPE_RESERVED3 = 1L << 4,
  3925. eLEXTYPE_RESERVED4 = 1L << 5,
  3926. eLEXTYPE_RESERVED5 = 1L << 6,
  3927. eLEXTYPE_RESERVED6 = 1L << 7,
  3928. eLEXTYPE_RESERVED7 = 1L << 8,
  3929. eLEXTYPE_RESERVED8 = 1L << 9,
  3930. eLEXTYPE_RESERVED9 = 1L << 10,
  3931. eLEXTYPE_RESERVED10 = 1L << 11,
  3932. eLEXTYPE_PRIVATE1 = 1L << 12,
  3933. eLEXTYPE_PRIVATE2 = 1L << 13,
  3934. eLEXTYPE_PRIVATE3 = 1L << 14,
  3935. eLEXTYPE_PRIVATE4 = 1L << 15,
  3936. eLEXTYPE_PRIVATE5 = 1L << 16,
  3937. eLEXTYPE_PRIVATE6 = 1L << 17,
  3938. eLEXTYPE_PRIVATE7 = 1L << 18,
  3939. eLEXTYPE_PRIVATE8 = 1L << 19,
  3940. eLEXTYPE_PRIVATE9 = 1L << 20,
  3941. eLEXTYPE_PRIVATE10 = 1L << 21,
  3942. eLEXTYPE_PRIVATE11 = 1L << 22,
  3943. eLEXTYPE_PRIVATE12 = 1L << 23,
  3944. eLEXTYPE_PRIVATE13 = 1L << 24,
  3945. eLEXTYPE_PRIVATE14 = 1L << 25,
  3946. eLEXTYPE_PRIVATE15 = 1L << 26,
  3947. eLEXTYPE_PRIVATE16 = 1L << 27,
  3948. eLEXTYPE_PRIVATE17 = 1L << 28,
  3949. eLEXTYPE_PRIVATE18 = 1L << 29,
  3950. eLEXTYPE_PRIVATE19 = 1L << 30,
  3951. eLEXTYPE_PRIVATE20 = 1L << 31
  3952. } SPLEXICONTYPE;
  3953. typedef
  3954. enum SPWORDTYPE
  3955. { eWORDTYPE_ADDED = 1L << 0,
  3956. eWORDTYPE_DELETED = 1L << 1
  3957. } SPWORDTYPE;
  3958. typedef /* [restricted] */ struct SPWORDPRONUNCIATION
  3959. {
  3960. struct SPWORDPRONUNCIATION *pNextWordPronunciation;
  3961. SPLEXICONTYPE eLexiconType;
  3962. WORD LangID;
  3963. WORD wReserved;
  3964. SPPARTOFSPEECH ePartOfSpeech;
  3965. SPPHONEID szPronunciation[ 1 ];
  3966. } SPWORDPRONUNCIATION;
  3967. typedef /* [restricted] */ struct SPWORDPRONUNCIATIONLIST
  3968. {
  3969. ULONG ulSize;
  3970. BYTE *pvBuffer;
  3971. SPWORDPRONUNCIATION *pFirstWordPronunciation;
  3972. } SPWORDPRONUNCIATIONLIST;
  3973. typedef /* [restricted] */ struct SPWORD
  3974. {
  3975. struct SPWORD *pNextWord;
  3976. WORD LangID;
  3977. WORD wReserved;
  3978. SPWORDTYPE eWordType;
  3979. WCHAR *pszWord;
  3980. SPWORDPRONUNCIATION *pFirstWordPronunciation;
  3981. } SPWORD;
  3982. typedef /* [restricted] */ struct SPWORDLIST
  3983. {
  3984. ULONG ulSize;
  3985. BYTE *pvBuffer;
  3986. SPWORD *pFirstWord;
  3987. } SPWORDLIST;
  3988. extern RPC_IF_HANDLE __MIDL_itf_sapi_0264_v0_0_c_ifspec;
  3989. extern RPC_IF_HANDLE __MIDL_itf_sapi_0264_v0_0_s_ifspec;
  3990. #ifndef __ISpLexicon_INTERFACE_DEFINED__
  3991. #define __ISpLexicon_INTERFACE_DEFINED__
  3992. /* interface ISpLexicon */
  3993. /* [restricted][unique][helpstring][uuid][object] */
  3994. EXTERN_C const IID IID_ISpLexicon;
  3995. #if defined(__cplusplus) && !defined(CINTERFACE)
  3996. MIDL_INTERFACE("DA41A7C2-5383-4DB2-916B-6C1719E3DB58")
  3997. ISpLexicon : public IUnknown
  3998. {
  3999. public:
  4000. virtual HRESULT STDMETHODCALLTYPE GetPronunciations(
  4001. /* [in] */ const WCHAR *pszWord,
  4002. /* [in] */ WORD LangID,
  4003. /* [in] */ DWORD dwFlags,
  4004. /* [out][in] */ SPWORDPRONUNCIATIONLIST *pWordPronunciationList) = 0;
  4005. virtual HRESULT STDMETHODCALLTYPE AddPronunciation(
  4006. /* [in] */ const WCHAR *pszWord,
  4007. /* [in] */ WORD LangID,
  4008. /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
  4009. /* [in] */ const SPPHONEID *pszPronunciation) = 0;
  4010. virtual HRESULT STDMETHODCALLTYPE RemovePronunciation(
  4011. /* [in] */ const WCHAR *pszWord,
  4012. /* [in] */ WORD LangID,
  4013. /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
  4014. /* [in] */ const SPPHONEID *pszPronunciation) = 0;
  4015. virtual HRESULT STDMETHODCALLTYPE GetGeneration(
  4016. DWORD *pdwGeneration) = 0;
  4017. virtual HRESULT STDMETHODCALLTYPE GetGenerationChange(
  4018. /* [in] */ DWORD dwFlags,
  4019. /* [out][in] */ DWORD *pdwGeneration,
  4020. /* [out][in] */ SPWORDLIST *pWordList) = 0;
  4021. virtual HRESULT STDMETHODCALLTYPE GetWords(
  4022. /* [in] */ DWORD dwFlags,
  4023. /* [out][in] */ DWORD *pdwGeneration,
  4024. /* [out][in] */ DWORD *pdwCookie,
  4025. /* [out][in] */ SPWORDLIST *pWordList) = 0;
  4026. };
  4027. #else /* C style interface */
  4028. typedef struct ISpLexiconVtbl
  4029. {
  4030. BEGIN_INTERFACE
  4031. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4032. ISpLexicon * This,
  4033. /* [in] */ REFIID riid,
  4034. /* [iid_is][out] */ void **ppvObject);
  4035. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4036. ISpLexicon * This);
  4037. ULONG ( STDMETHODCALLTYPE *Release )(
  4038. ISpLexicon * This);
  4039. HRESULT ( STDMETHODCALLTYPE *GetPronunciations )(
  4040. ISpLexicon * This,
  4041. /* [in] */ const WCHAR *pszWord,
  4042. /* [in] */ WORD LangID,
  4043. /* [in] */ DWORD dwFlags,
  4044. /* [out][in] */ SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
  4045. HRESULT ( STDMETHODCALLTYPE *AddPronunciation )(
  4046. ISpLexicon * This,
  4047. /* [in] */ const WCHAR *pszWord,
  4048. /* [in] */ WORD LangID,
  4049. /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
  4050. /* [in] */ const SPPHONEID *pszPronunciation);
  4051. HRESULT ( STDMETHODCALLTYPE *RemovePronunciation )(
  4052. ISpLexicon * This,
  4053. /* [in] */ const WCHAR *pszWord,
  4054. /* [in] */ WORD LangID,
  4055. /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
  4056. /* [in] */ const SPPHONEID *pszPronunciation);
  4057. HRESULT ( STDMETHODCALLTYPE *GetGeneration )(
  4058. ISpLexicon * This,
  4059. DWORD *pdwGeneration);
  4060. HRESULT ( STDMETHODCALLTYPE *GetGenerationChange )(
  4061. ISpLexicon * This,
  4062. /* [in] */ DWORD dwFlags,
  4063. /* [out][in] */ DWORD *pdwGeneration,
  4064. /* [out][in] */ SPWORDLIST *pWordList);
  4065. HRESULT ( STDMETHODCALLTYPE *GetWords )(
  4066. ISpLexicon * This,
  4067. /* [in] */ DWORD dwFlags,
  4068. /* [out][in] */ DWORD *pdwGeneration,
  4069. /* [out][in] */ DWORD *pdwCookie,
  4070. /* [out][in] */ SPWORDLIST *pWordList);
  4071. END_INTERFACE
  4072. } ISpLexiconVtbl;
  4073. interface ISpLexicon
  4074. {
  4075. CONST_VTBL struct ISpLexiconVtbl *lpVtbl;
  4076. };
  4077. #ifdef COBJMACROS
  4078. #define ISpLexicon_QueryInterface(This,riid,ppvObject) \
  4079. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4080. #define ISpLexicon_AddRef(This) \
  4081. (This)->lpVtbl -> AddRef(This)
  4082. #define ISpLexicon_Release(This) \
  4083. (This)->lpVtbl -> Release(This)
  4084. #define ISpLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) \
  4085. (This)->lpVtbl -> GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
  4086. #define ISpLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) \
  4087. (This)->lpVtbl -> AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
  4088. #define ISpLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) \
  4089. (This)->lpVtbl -> RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
  4090. #define ISpLexicon_GetGeneration(This,pdwGeneration) \
  4091. (This)->lpVtbl -> GetGeneration(This,pdwGeneration)
  4092. #define ISpLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) \
  4093. (This)->lpVtbl -> GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
  4094. #define ISpLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) \
  4095. (This)->lpVtbl -> GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
  4096. #endif /* COBJMACROS */
  4097. #endif /* C style interface */
  4098. HRESULT STDMETHODCALLTYPE ISpLexicon_GetPronunciations_Proxy(
  4099. ISpLexicon * This,
  4100. /* [in] */ const WCHAR *pszWord,
  4101. /* [in] */ WORD LangID,
  4102. /* [in] */ DWORD dwFlags,
  4103. /* [out][in] */ SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
  4104. void __RPC_STUB ISpLexicon_GetPronunciations_Stub(
  4105. IRpcStubBuffer *This,
  4106. IRpcChannelBuffer *_pRpcChannelBuffer,
  4107. PRPC_MESSAGE _pRpcMessage,
  4108. DWORD *_pdwStubPhase);
  4109. HRESULT STDMETHODCALLTYPE ISpLexicon_AddPronunciation_Proxy(
  4110. ISpLexicon * This,
  4111. /* [in] */ const WCHAR *pszWord,
  4112. /* [in] */ WORD LangID,
  4113. /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
  4114. /* [in] */ const SPPHONEID *pszPronunciation);
  4115. void __RPC_STUB ISpLexicon_AddPronunciation_Stub(
  4116. IRpcStubBuffer *This,
  4117. IRpcChannelBuffer *_pRpcChannelBuffer,
  4118. PRPC_MESSAGE _pRpcMessage,
  4119. DWORD *_pdwStubPhase);
  4120. HRESULT STDMETHODCALLTYPE ISpLexicon_RemovePronunciation_Proxy(
  4121. ISpLexicon * This,
  4122. /* [in] */ const WCHAR *pszWord,
  4123. /* [in] */ WORD LangID,
  4124. /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
  4125. /* [in] */ const SPPHONEID *pszPronunciation);
  4126. void __RPC_STUB ISpLexicon_RemovePronunciation_Stub(
  4127. IRpcStubBuffer *This,
  4128. IRpcChannelBuffer *_pRpcChannelBuffer,
  4129. PRPC_MESSAGE _pRpcMessage,
  4130. DWORD *_pdwStubPhase);
  4131. HRESULT STDMETHODCALLTYPE ISpLexicon_GetGeneration_Proxy(
  4132. ISpLexicon * This,
  4133. DWORD *pdwGeneration);
  4134. void __RPC_STUB ISpLexicon_GetGeneration_Stub(
  4135. IRpcStubBuffer *This,
  4136. IRpcChannelBuffer *_pRpcChannelBuffer,
  4137. PRPC_MESSAGE _pRpcMessage,
  4138. DWORD *_pdwStubPhase);
  4139. HRESULT STDMETHODCALLTYPE ISpLexicon_GetGenerationChange_Proxy(
  4140. ISpLexicon * This,
  4141. /* [in] */ DWORD dwFlags,
  4142. /* [out][in] */ DWORD *pdwGeneration,
  4143. /* [out][in] */ SPWORDLIST *pWordList);
  4144. void __RPC_STUB ISpLexicon_GetGenerationChange_Stub(
  4145. IRpcStubBuffer *This,
  4146. IRpcChannelBuffer *_pRpcChannelBuffer,
  4147. PRPC_MESSAGE _pRpcMessage,
  4148. DWORD *_pdwStubPhase);
  4149. HRESULT STDMETHODCALLTYPE ISpLexicon_GetWords_Proxy(
  4150. ISpLexicon * This,
  4151. /* [in] */ DWORD dwFlags,
  4152. /* [out][in] */ DWORD *pdwGeneration,
  4153. /* [out][in] */ DWORD *pdwCookie,
  4154. /* [out][in] */ SPWORDLIST *pWordList);
  4155. void __RPC_STUB ISpLexicon_GetWords_Stub(
  4156. IRpcStubBuffer *This,
  4157. IRpcChannelBuffer *_pRpcChannelBuffer,
  4158. PRPC_MESSAGE _pRpcMessage,
  4159. DWORD *_pdwStubPhase);
  4160. #endif /* __ISpLexicon_INTERFACE_DEFINED__ */
  4161. #ifndef __ISpContainerLexicon_INTERFACE_DEFINED__
  4162. #define __ISpContainerLexicon_INTERFACE_DEFINED__
  4163. /* interface ISpContainerLexicon */
  4164. /* [restricted][unique][helpstring][uuid][object] */
  4165. EXTERN_C const IID IID_ISpContainerLexicon;
  4166. #if defined(__cplusplus) && !defined(CINTERFACE)
  4167. MIDL_INTERFACE("8565572F-C094-41CC-B56E-10BD9C3FF044")
  4168. ISpContainerLexicon : public ISpLexicon
  4169. {
  4170. public:
  4171. virtual HRESULT STDMETHODCALLTYPE AddLexicon(
  4172. /* [in] */ ISpLexicon *pAddLexicon,
  4173. /* [in] */ DWORD dwFlags) = 0;
  4174. };
  4175. #else /* C style interface */
  4176. typedef struct ISpContainerLexiconVtbl
  4177. {
  4178. BEGIN_INTERFACE
  4179. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4180. ISpContainerLexicon * This,
  4181. /* [in] */ REFIID riid,
  4182. /* [iid_is][out] */ void **ppvObject);
  4183. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4184. ISpContainerLexicon * This);
  4185. ULONG ( STDMETHODCALLTYPE *Release )(
  4186. ISpContainerLexicon * This);
  4187. HRESULT ( STDMETHODCALLTYPE *GetPronunciations )(
  4188. ISpContainerLexicon * This,
  4189. /* [in] */ const WCHAR *pszWord,
  4190. /* [in] */ WORD LangID,
  4191. /* [in] */ DWORD dwFlags,
  4192. /* [out][in] */ SPWORDPRONUNCIATIONLIST *pWordPronunciationList);
  4193. HRESULT ( STDMETHODCALLTYPE *AddPronunciation )(
  4194. ISpContainerLexicon * This,
  4195. /* [in] */ const WCHAR *pszWord,
  4196. /* [in] */ WORD LangID,
  4197. /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
  4198. /* [in] */ const SPPHONEID *pszPronunciation);
  4199. HRESULT ( STDMETHODCALLTYPE *RemovePronunciation )(
  4200. ISpContainerLexicon * This,
  4201. /* [in] */ const WCHAR *pszWord,
  4202. /* [in] */ WORD LangID,
  4203. /* [in] */ SPPARTOFSPEECH ePartOfSpeech,
  4204. /* [in] */ const SPPHONEID *pszPronunciation);
  4205. HRESULT ( STDMETHODCALLTYPE *GetGeneration )(
  4206. ISpContainerLexicon * This,
  4207. DWORD *pdwGeneration);
  4208. HRESULT ( STDMETHODCALLTYPE *GetGenerationChange )(
  4209. ISpContainerLexicon * This,
  4210. /* [in] */ DWORD dwFlags,
  4211. /* [out][in] */ DWORD *pdwGeneration,
  4212. /* [out][in] */ SPWORDLIST *pWordList);
  4213. HRESULT ( STDMETHODCALLTYPE *GetWords )(
  4214. ISpContainerLexicon * This,
  4215. /* [in] */ DWORD dwFlags,
  4216. /* [out][in] */ DWORD *pdwGeneration,
  4217. /* [out][in] */ DWORD *pdwCookie,
  4218. /* [out][in] */ SPWORDLIST *pWordList);
  4219. HRESULT ( STDMETHODCALLTYPE *AddLexicon )(
  4220. ISpContainerLexicon * This,
  4221. /* [in] */ ISpLexicon *pAddLexicon,
  4222. /* [in] */ DWORD dwFlags);
  4223. END_INTERFACE
  4224. } ISpContainerLexiconVtbl;
  4225. interface ISpContainerLexicon
  4226. {
  4227. CONST_VTBL struct ISpContainerLexiconVtbl *lpVtbl;
  4228. };
  4229. #ifdef COBJMACROS
  4230. #define ISpContainerLexicon_QueryInterface(This,riid,ppvObject) \
  4231. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4232. #define ISpContainerLexicon_AddRef(This) \
  4233. (This)->lpVtbl -> AddRef(This)
  4234. #define ISpContainerLexicon_Release(This) \
  4235. (This)->lpVtbl -> Release(This)
  4236. #define ISpContainerLexicon_GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList) \
  4237. (This)->lpVtbl -> GetPronunciations(This,pszWord,LangID,dwFlags,pWordPronunciationList)
  4238. #define ISpContainerLexicon_AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) \
  4239. (This)->lpVtbl -> AddPronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
  4240. #define ISpContainerLexicon_RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation) \
  4241. (This)->lpVtbl -> RemovePronunciation(This,pszWord,LangID,ePartOfSpeech,pszPronunciation)
  4242. #define ISpContainerLexicon_GetGeneration(This,pdwGeneration) \
  4243. (This)->lpVtbl -> GetGeneration(This,pdwGeneration)
  4244. #define ISpContainerLexicon_GetGenerationChange(This,dwFlags,pdwGeneration,pWordList) \
  4245. (This)->lpVtbl -> GetGenerationChange(This,dwFlags,pdwGeneration,pWordList)
  4246. #define ISpContainerLexicon_GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList) \
  4247. (This)->lpVtbl -> GetWords(This,dwFlags,pdwGeneration,pdwCookie,pWordList)
  4248. #define ISpContainerLexicon_AddLexicon(This,pAddLexicon,dwFlags) \
  4249. (This)->lpVtbl -> AddLexicon(This,pAddLexicon,dwFlags)
  4250. #endif /* COBJMACROS */
  4251. #endif /* C style interface */
  4252. HRESULT STDMETHODCALLTYPE ISpContainerLexicon_AddLexicon_Proxy(
  4253. ISpContainerLexicon * This,
  4254. /* [in] */ ISpLexicon *pAddLexicon,
  4255. /* [in] */ DWORD dwFlags);
  4256. void __RPC_STUB ISpContainerLexicon_AddLexicon_Stub(
  4257. IRpcStubBuffer *This,
  4258. IRpcChannelBuffer *_pRpcChannelBuffer,
  4259. PRPC_MESSAGE _pRpcMessage,
  4260. DWORD *_pdwStubPhase);
  4261. #endif /* __ISpContainerLexicon_INTERFACE_DEFINED__ */
  4262. #ifndef __ISpPhoneConverter_INTERFACE_DEFINED__
  4263. #define __ISpPhoneConverter_INTERFACE_DEFINED__
  4264. /* interface ISpPhoneConverter */
  4265. /* [restricted][unique][helpstring][uuid][object] */
  4266. EXTERN_C const IID IID_ISpPhoneConverter;
  4267. #if defined(__cplusplus) && !defined(CINTERFACE)
  4268. MIDL_INTERFACE("8445C581-0CAC-4A38-ABFE-9B2CE2826455")
  4269. ISpPhoneConverter : public ISpObjectWithToken
  4270. {
  4271. public:
  4272. virtual HRESULT STDMETHODCALLTYPE PhoneToId(
  4273. /* [in] */ const WCHAR *pszPhone,
  4274. /* [out] */ SPPHONEID *pId) = 0;
  4275. virtual HRESULT STDMETHODCALLTYPE IdToPhone(
  4276. /* [in] */ const SPPHONEID *pId,
  4277. /* [out] */ WCHAR *pszPhone) = 0;
  4278. };
  4279. #else /* C style interface */
  4280. typedef struct ISpPhoneConverterVtbl
  4281. {
  4282. BEGIN_INTERFACE
  4283. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4284. ISpPhoneConverter * This,
  4285. /* [in] */ REFIID riid,
  4286. /* [iid_is][out] */ void **ppvObject);
  4287. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4288. ISpPhoneConverter * This);
  4289. ULONG ( STDMETHODCALLTYPE *Release )(
  4290. ISpPhoneConverter * This);
  4291. HRESULT ( STDMETHODCALLTYPE *SetObjectToken )(
  4292. ISpPhoneConverter * This,
  4293. ISpObjectToken *pToken);
  4294. HRESULT ( STDMETHODCALLTYPE *GetObjectToken )(
  4295. ISpPhoneConverter * This,
  4296. ISpObjectToken **ppToken);
  4297. HRESULT ( STDMETHODCALLTYPE *PhoneToId )(
  4298. ISpPhoneConverter * This,
  4299. /* [in] */ const WCHAR *pszPhone,
  4300. /* [out] */ SPPHONEID *pId);
  4301. HRESULT ( STDMETHODCALLTYPE *IdToPhone )(
  4302. ISpPhoneConverter * This,
  4303. /* [in] */ const SPPHONEID *pId,
  4304. /* [out] */ WCHAR *pszPhone);
  4305. END_INTERFACE
  4306. } ISpPhoneConverterVtbl;
  4307. interface ISpPhoneConverter
  4308. {
  4309. CONST_VTBL struct ISpPhoneConverterVtbl *lpVtbl;
  4310. };
  4311. #ifdef COBJMACROS
  4312. #define ISpPhoneConverter_QueryInterface(This,riid,ppvObject) \
  4313. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4314. #define ISpPhoneConverter_AddRef(This) \
  4315. (This)->lpVtbl -> AddRef(This)
  4316. #define ISpPhoneConverter_Release(This) \
  4317. (This)->lpVtbl -> Release(This)
  4318. #define ISpPhoneConverter_SetObjectToken(This,pToken) \
  4319. (This)->lpVtbl -> SetObjectToken(This,pToken)
  4320. #define ISpPhoneConverter_GetObjectToken(This,ppToken) \
  4321. (This)->lpVtbl -> GetObjectToken(This,ppToken)
  4322. #define ISpPhoneConverter_PhoneToId(This,pszPhone,pId) \
  4323. (This)->lpVtbl -> PhoneToId(This,pszPhone,pId)
  4324. #define ISpPhoneConverter_IdToPhone(This,pId,pszPhone) \
  4325. (This)->lpVtbl -> IdToPhone(This,pId,pszPhone)
  4326. #endif /* COBJMACROS */
  4327. #endif /* C style interface */
  4328. HRESULT STDMETHODCALLTYPE ISpPhoneConverter_PhoneToId_Proxy(
  4329. ISpPhoneConverter * This,
  4330. /* [in] */ const WCHAR *pszPhone,
  4331. /* [out] */ SPPHONEID *pId);
  4332. void __RPC_STUB ISpPhoneConverter_PhoneToId_Stub(
  4333. IRpcStubBuffer *This,
  4334. IRpcChannelBuffer *_pRpcChannelBuffer,
  4335. PRPC_MESSAGE _pRpcMessage,
  4336. DWORD *_pdwStubPhase);
  4337. HRESULT STDMETHODCALLTYPE ISpPhoneConverter_IdToPhone_Proxy(
  4338. ISpPhoneConverter * This,
  4339. /* [in] */ const SPPHONEID *pId,
  4340. /* [out] */ WCHAR *pszPhone);
  4341. void __RPC_STUB ISpPhoneConverter_IdToPhone_Stub(
  4342. IRpcStubBuffer *This,
  4343. IRpcChannelBuffer *_pRpcChannelBuffer,
  4344. PRPC_MESSAGE _pRpcMessage,
  4345. DWORD *_pdwStubPhase);
  4346. #endif /* __ISpPhoneConverter_INTERFACE_DEFINED__ */
  4347. /* interface __MIDL_itf_sapi_0267 */
  4348. /* [local] */
  4349. typedef /* [restricted] */ struct SPVPITCH
  4350. {
  4351. long MiddleAdj;
  4352. long RangeAdj;
  4353. } SPVPITCH;
  4354. typedef
  4355. enum SPVACTIONS
  4356. { SPVA_Speak = 0,
  4357. SPVA_Silence = SPVA_Speak + 1,
  4358. SPVA_Pronounce = SPVA_Silence + 1,
  4359. SPVA_Bookmark = SPVA_Pronounce + 1,
  4360. SPVA_SpellOut = SPVA_Bookmark + 1,
  4361. SPVA_Section = SPVA_SpellOut + 1,
  4362. SPVA_ParseUnknownTag = SPVA_Section + 1
  4363. } SPVACTIONS;
  4364. typedef /* [restricted] */ struct SPVCONTEXT
  4365. {
  4366. LPCWSTR pCategory;
  4367. LPCWSTR pBefore;
  4368. LPCWSTR pAfter;
  4369. } SPVCONTEXT;
  4370. typedef /* [restricted] */ struct SPVSTATE
  4371. {
  4372. SPVACTIONS eAction;
  4373. WORD LangID;
  4374. WORD wReserved;
  4375. long EmphAdj;
  4376. long RateAdj;
  4377. ULONG Volume;
  4378. SPVPITCH PitchAdj;
  4379. ULONG SilenceMSecs;
  4380. SPPHONEID *pPhoneIds;
  4381. SPPARTOFSPEECH ePartOfSpeech;
  4382. SPVCONTEXT Context;
  4383. } SPVSTATE;
  4384. typedef /* [restricted] */ struct SPVSENTITEM
  4385. {
  4386. const SPVSTATE *pXmlState;
  4387. LPCWSTR pItem;
  4388. ULONG ulItemLen;
  4389. ULONG ulItemSrcOffset;
  4390. ULONG ulItemSrcLen;
  4391. } SPVSENTITEM;
  4392. typedef
  4393. enum SPRUNSTATE
  4394. { SPRS_DONE = 1L << 0,
  4395. SPRS_IS_SPEAKING = 1L << 1
  4396. } SPRUNSTATE;
  4397. typedef
  4398. enum SPVLIMITS
  4399. { SPMIN_VOLUME = 0,
  4400. SPMAX_VOLUME = 100,
  4401. SPMIN_RATE = -10,
  4402. SPMAX_RATE = 10
  4403. } SPVLIMITS;
  4404. typedef
  4405. enum SPVPRIORITY
  4406. { SPVPRI_NORMAL = 0,
  4407. SPVPRI_ALERT = 1L << 0,
  4408. SPVPRI_OVER = 1L << 1
  4409. } SPVPRIORITY;
  4410. typedef /* [restricted] */ struct SPVOICESTATUS
  4411. {
  4412. ULONG ulCurrentStream;
  4413. ULONG ulLastStreamQueued;
  4414. HRESULT hrLastResult;
  4415. DWORD dwRunningState;
  4416. ULONG ulInputWordPos;
  4417. ULONG ulInputWordLen;
  4418. ULONG ulInputSentPos;
  4419. ULONG ulInputSentLen;
  4420. LONG lBookmarkId;
  4421. SPPHONEID PhonemeId;
  4422. SPVISEMES VisemeId;
  4423. DWORD dwReserved1;
  4424. DWORD dwReserved2;
  4425. } SPVOICESTATUS;
  4426. typedef
  4427. enum SPEAKFLAGS
  4428. { SPF_DEFAULT = 0,
  4429. SPF_ASYNC = 1L << 0,
  4430. SPF_PURGEBEFORESPEAK = 1L << 1,
  4431. SPF_IS_FILENAME = 1L << 2,
  4432. SPF_IS_XML = 1L << 3,
  4433. SPF_IS_NOT_XML = 1L << 4,
  4434. SPF_PERSIST_XML = 1L << 5,
  4435. SPF_NLP_SPEAK_PUNC = 1L << 6,
  4436. SPF_NLP_MASK = SPF_NLP_SPEAK_PUNC,
  4437. SPF_VOICE_MASK = SPF_ASYNC | SPF_PURGEBEFORESPEAK | SPF_IS_FILENAME | SPF_IS_XML | SPF_IS_NOT_XML | SPF_NLP_MASK | SPF_PERSIST_XML,
  4438. SPF_UNUSED_FLAGS = ~SPF_VOICE_MASK
  4439. } SPEAKFLAGS;
  4440. extern RPC_IF_HANDLE __MIDL_itf_sapi_0267_v0_0_c_ifspec;
  4441. extern RPC_IF_HANDLE __MIDL_itf_sapi_0267_v0_0_s_ifspec;
  4442. #ifndef __ISpVoice_INTERFACE_DEFINED__
  4443. #define __ISpVoice_INTERFACE_DEFINED__
  4444. /* interface ISpVoice */
  4445. /* [restricted][unique][helpstring][uuid][object] */
  4446. EXTERN_C const IID IID_ISpVoice;
  4447. #if defined(__cplusplus) && !defined(CINTERFACE)
  4448. MIDL_INTERFACE("6C44DF74-72B9-4992-A1EC-EF996E0422D4")
  4449. ISpVoice : public ISpEventSource
  4450. {
  4451. public:
  4452. virtual HRESULT STDMETHODCALLTYPE SetOutput(
  4453. /* [in] */ IUnknown *pUnkOutput,
  4454. /* [in] */ BOOL fAllowFormatChanges) = 0;
  4455. virtual HRESULT STDMETHODCALLTYPE GetOutputObjectToken(
  4456. /* [out] */ ISpObjectToken **ppObjectToken) = 0;
  4457. virtual HRESULT STDMETHODCALLTYPE GetOutputStream(
  4458. /* [out] */ ISpStreamFormat **ppStream) = 0;
  4459. virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  4460. virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  4461. virtual HRESULT STDMETHODCALLTYPE SetVoice(
  4462. /* [in] */ ISpObjectToken *pToken) = 0;
  4463. virtual HRESULT STDMETHODCALLTYPE GetVoice(
  4464. /* [out] */ ISpObjectToken **ppToken) = 0;
  4465. virtual HRESULT STDMETHODCALLTYPE Speak(
  4466. /* [string][in] */ const WCHAR *pwcs,
  4467. /* [in] */ DWORD dwFlags,
  4468. /* [out] */ ULONG *pulStreamNumber) = 0;
  4469. virtual HRESULT STDMETHODCALLTYPE SpeakStream(
  4470. /* [in] */ IStream *pStream,
  4471. /* [in] */ DWORD dwFlags,
  4472. /* [out] */ ULONG *pulStreamNumber) = 0;
  4473. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  4474. /* [out] */ SPVOICESTATUS *pStatus,
  4475. /* [string][out] */ WCHAR **ppszLastBookmark) = 0;
  4476. virtual HRESULT STDMETHODCALLTYPE Skip(
  4477. /* [string][in] */ WCHAR *pItemType,
  4478. /* [in] */ long lNumItems,
  4479. /* [out] */ ULONG *pulNumSkipped) = 0;
  4480. virtual HRESULT STDMETHODCALLTYPE SetPriority(
  4481. /* [in] */ SPVPRIORITY ePriority) = 0;
  4482. virtual HRESULT STDMETHODCALLTYPE GetPriority(
  4483. /* [out] */ SPVPRIORITY *pePriority) = 0;
  4484. virtual HRESULT STDMETHODCALLTYPE SetAlertBoundary(
  4485. /* [in] */ SPEVENTENUM eBoundary) = 0;
  4486. virtual HRESULT STDMETHODCALLTYPE GetAlertBoundary(
  4487. /* [out] */ SPEVENTENUM *peBoundary) = 0;
  4488. virtual HRESULT STDMETHODCALLTYPE SetRate(
  4489. /* [in] */ long RateAdjust) = 0;
  4490. virtual HRESULT STDMETHODCALLTYPE GetRate(
  4491. /* [out] */ long *pRateAdjust) = 0;
  4492. virtual HRESULT STDMETHODCALLTYPE SetVolume(
  4493. /* [in] */ USHORT usVolume) = 0;
  4494. virtual HRESULT STDMETHODCALLTYPE GetVolume(
  4495. /* [out] */ USHORT *pusVolume) = 0;
  4496. virtual HRESULT STDMETHODCALLTYPE WaitUntilDone(
  4497. /* [in] */ ULONG msTimeout) = 0;
  4498. virtual HRESULT STDMETHODCALLTYPE SetSyncSpeakTimeout(
  4499. /* [in] */ ULONG msTimeout) = 0;
  4500. virtual HRESULT STDMETHODCALLTYPE GetSyncSpeakTimeout(
  4501. /* [out] */ ULONG *pmsTimeout) = 0;
  4502. virtual /* [local] */ HANDLE STDMETHODCALLTYPE SpeakCompleteEvent( void) = 0;
  4503. virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsUISupported(
  4504. /* [in] */ const WCHAR *pszTypeOfUI,
  4505. /* [in] */ void *pvExtraData,
  4506. /* [in] */ ULONG cbExtraData,
  4507. /* [out] */ BOOL *pfSupported) = 0;
  4508. virtual /* [local] */ HRESULT STDMETHODCALLTYPE DisplayUI(
  4509. /* [in] */ HWND hwndParent,
  4510. /* [in] */ const WCHAR *pszTitle,
  4511. /* [in] */ const WCHAR *pszTypeOfUI,
  4512. /* [in] */ void *pvExtraData,
  4513. /* [in] */ ULONG cbExtraData) = 0;
  4514. };
  4515. #else /* C style interface */
  4516. typedef struct ISpVoiceVtbl
  4517. {
  4518. BEGIN_INTERFACE
  4519. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4520. ISpVoice * This,
  4521. /* [in] */ REFIID riid,
  4522. /* [iid_is][out] */ void **ppvObject);
  4523. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4524. ISpVoice * This);
  4525. ULONG ( STDMETHODCALLTYPE *Release )(
  4526. ISpVoice * This);
  4527. HRESULT ( STDMETHODCALLTYPE *SetNotifySink )(
  4528. ISpVoice * This,
  4529. /* [in] */ ISpNotifySink *pNotifySink);
  4530. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWindowMessage )(
  4531. ISpVoice * This,
  4532. /* [in] */ HWND hWnd,
  4533. /* [in] */ UINT Msg,
  4534. /* [in] */ WPARAM wParam,
  4535. /* [in] */ LPARAM lParam);
  4536. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackFunction )(
  4537. ISpVoice * This,
  4538. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  4539. /* [in] */ WPARAM wParam,
  4540. /* [in] */ LPARAM lParam);
  4541. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackInterface )(
  4542. ISpVoice * This,
  4543. /* [in] */ ISpNotifyCallback *pSpCallback,
  4544. /* [in] */ WPARAM wParam,
  4545. /* [in] */ LPARAM lParam);
  4546. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWin32Event )(
  4547. ISpVoice * This);
  4548. /* [local] */ HRESULT ( STDMETHODCALLTYPE *WaitForNotifyEvent )(
  4549. ISpVoice * This,
  4550. /* [in] */ DWORD dwMilliseconds);
  4551. /* [local] */ HANDLE ( STDMETHODCALLTYPE *GetNotifyEventHandle )(
  4552. ISpVoice * This);
  4553. HRESULT ( STDMETHODCALLTYPE *SetInterest )(
  4554. ISpVoice * This,
  4555. /* [in] */ ULONGLONG ullEventInterest,
  4556. /* [in] */ ULONGLONG ullQueuedInterest);
  4557. HRESULT ( STDMETHODCALLTYPE *GetEvents )(
  4558. ISpVoice * This,
  4559. /* [in] */ ULONG ulCount,
  4560. /* [size_is][out] */ SPEVENT *pEventArray,
  4561. /* [out] */ ULONG *pulFetched);
  4562. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  4563. ISpVoice * This,
  4564. /* [out] */ SPEVENTSOURCEINFO *pInfo);
  4565. HRESULT ( STDMETHODCALLTYPE *SetOutput )(
  4566. ISpVoice * This,
  4567. /* [in] */ IUnknown *pUnkOutput,
  4568. /* [in] */ BOOL fAllowFormatChanges);
  4569. HRESULT ( STDMETHODCALLTYPE *GetOutputObjectToken )(
  4570. ISpVoice * This,
  4571. /* [out] */ ISpObjectToken **ppObjectToken);
  4572. HRESULT ( STDMETHODCALLTYPE *GetOutputStream )(
  4573. ISpVoice * This,
  4574. /* [out] */ ISpStreamFormat **ppStream);
  4575. HRESULT ( STDMETHODCALLTYPE *Pause )(
  4576. ISpVoice * This);
  4577. HRESULT ( STDMETHODCALLTYPE *Resume )(
  4578. ISpVoice * This);
  4579. HRESULT ( STDMETHODCALLTYPE *SetVoice )(
  4580. ISpVoice * This,
  4581. /* [in] */ ISpObjectToken *pToken);
  4582. HRESULT ( STDMETHODCALLTYPE *GetVoice )(
  4583. ISpVoice * This,
  4584. /* [out] */ ISpObjectToken **ppToken);
  4585. HRESULT ( STDMETHODCALLTYPE *Speak )(
  4586. ISpVoice * This,
  4587. /* [string][in] */ const WCHAR *pwcs,
  4588. /* [in] */ DWORD dwFlags,
  4589. /* [out] */ ULONG *pulStreamNumber);
  4590. HRESULT ( STDMETHODCALLTYPE *SpeakStream )(
  4591. ISpVoice * This,
  4592. /* [in] */ IStream *pStream,
  4593. /* [in] */ DWORD dwFlags,
  4594. /* [out] */ ULONG *pulStreamNumber);
  4595. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  4596. ISpVoice * This,
  4597. /* [out] */ SPVOICESTATUS *pStatus,
  4598. /* [string][out] */ WCHAR **ppszLastBookmark);
  4599. HRESULT ( STDMETHODCALLTYPE *Skip )(
  4600. ISpVoice * This,
  4601. /* [string][in] */ WCHAR *pItemType,
  4602. /* [in] */ long lNumItems,
  4603. /* [out] */ ULONG *pulNumSkipped);
  4604. HRESULT ( STDMETHODCALLTYPE *SetPriority )(
  4605. ISpVoice * This,
  4606. /* [in] */ SPVPRIORITY ePriority);
  4607. HRESULT ( STDMETHODCALLTYPE *GetPriority )(
  4608. ISpVoice * This,
  4609. /* [out] */ SPVPRIORITY *pePriority);
  4610. HRESULT ( STDMETHODCALLTYPE *SetAlertBoundary )(
  4611. ISpVoice * This,
  4612. /* [in] */ SPEVENTENUM eBoundary);
  4613. HRESULT ( STDMETHODCALLTYPE *GetAlertBoundary )(
  4614. ISpVoice * This,
  4615. /* [out] */ SPEVENTENUM *peBoundary);
  4616. HRESULT ( STDMETHODCALLTYPE *SetRate )(
  4617. ISpVoice * This,
  4618. /* [in] */ long RateAdjust);
  4619. HRESULT ( STDMETHODCALLTYPE *GetRate )(
  4620. ISpVoice * This,
  4621. /* [out] */ long *pRateAdjust);
  4622. HRESULT ( STDMETHODCALLTYPE *SetVolume )(
  4623. ISpVoice * This,
  4624. /* [in] */ USHORT usVolume);
  4625. HRESULT ( STDMETHODCALLTYPE *GetVolume )(
  4626. ISpVoice * This,
  4627. /* [out] */ USHORT *pusVolume);
  4628. HRESULT ( STDMETHODCALLTYPE *WaitUntilDone )(
  4629. ISpVoice * This,
  4630. /* [in] */ ULONG msTimeout);
  4631. HRESULT ( STDMETHODCALLTYPE *SetSyncSpeakTimeout )(
  4632. ISpVoice * This,
  4633. /* [in] */ ULONG msTimeout);
  4634. HRESULT ( STDMETHODCALLTYPE *GetSyncSpeakTimeout )(
  4635. ISpVoice * This,
  4636. /* [out] */ ULONG *pmsTimeout);
  4637. /* [local] */ HANDLE ( STDMETHODCALLTYPE *SpeakCompleteEvent )(
  4638. ISpVoice * This);
  4639. /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
  4640. ISpVoice * This,
  4641. /* [in] */ const WCHAR *pszTypeOfUI,
  4642. /* [in] */ void *pvExtraData,
  4643. /* [in] */ ULONG cbExtraData,
  4644. /* [out] */ BOOL *pfSupported);
  4645. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
  4646. ISpVoice * This,
  4647. /* [in] */ HWND hwndParent,
  4648. /* [in] */ const WCHAR *pszTitle,
  4649. /* [in] */ const WCHAR *pszTypeOfUI,
  4650. /* [in] */ void *pvExtraData,
  4651. /* [in] */ ULONG cbExtraData);
  4652. END_INTERFACE
  4653. } ISpVoiceVtbl;
  4654. interface ISpVoice
  4655. {
  4656. CONST_VTBL struct ISpVoiceVtbl *lpVtbl;
  4657. };
  4658. #ifdef COBJMACROS
  4659. #define ISpVoice_QueryInterface(This,riid,ppvObject) \
  4660. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4661. #define ISpVoice_AddRef(This) \
  4662. (This)->lpVtbl -> AddRef(This)
  4663. #define ISpVoice_Release(This) \
  4664. (This)->lpVtbl -> Release(This)
  4665. #define ISpVoice_SetNotifySink(This,pNotifySink) \
  4666. (This)->lpVtbl -> SetNotifySink(This,pNotifySink)
  4667. #define ISpVoice_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) \
  4668. (This)->lpVtbl -> SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
  4669. #define ISpVoice_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) \
  4670. (This)->lpVtbl -> SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
  4671. #define ISpVoice_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) \
  4672. (This)->lpVtbl -> SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
  4673. #define ISpVoice_SetNotifyWin32Event(This) \
  4674. (This)->lpVtbl -> SetNotifyWin32Event(This)
  4675. #define ISpVoice_WaitForNotifyEvent(This,dwMilliseconds) \
  4676. (This)->lpVtbl -> WaitForNotifyEvent(This,dwMilliseconds)
  4677. #define ISpVoice_GetNotifyEventHandle(This) \
  4678. (This)->lpVtbl -> GetNotifyEventHandle(This)
  4679. #define ISpVoice_SetInterest(This,ullEventInterest,ullQueuedInterest) \
  4680. (This)->lpVtbl -> SetInterest(This,ullEventInterest,ullQueuedInterest)
  4681. #define ISpVoice_GetEvents(This,ulCount,pEventArray,pulFetched) \
  4682. (This)->lpVtbl -> GetEvents(This,ulCount,pEventArray,pulFetched)
  4683. #define ISpVoice_GetInfo(This,pInfo) \
  4684. (This)->lpVtbl -> GetInfo(This,pInfo)
  4685. #define ISpVoice_SetOutput(This,pUnkOutput,fAllowFormatChanges) \
  4686. (This)->lpVtbl -> SetOutput(This,pUnkOutput,fAllowFormatChanges)
  4687. #define ISpVoice_GetOutputObjectToken(This,ppObjectToken) \
  4688. (This)->lpVtbl -> GetOutputObjectToken(This,ppObjectToken)
  4689. #define ISpVoice_GetOutputStream(This,ppStream) \
  4690. (This)->lpVtbl -> GetOutputStream(This,ppStream)
  4691. #define ISpVoice_Pause(This) \
  4692. (This)->lpVtbl -> Pause(This)
  4693. #define ISpVoice_Resume(This) \
  4694. (This)->lpVtbl -> Resume(This)
  4695. #define ISpVoice_SetVoice(This,pToken) \
  4696. (This)->lpVtbl -> SetVoice(This,pToken)
  4697. #define ISpVoice_GetVoice(This,ppToken) \
  4698. (This)->lpVtbl -> GetVoice(This,ppToken)
  4699. #define ISpVoice_Speak(This,pwcs,dwFlags,pulStreamNumber) \
  4700. (This)->lpVtbl -> Speak(This,pwcs,dwFlags,pulStreamNumber)
  4701. #define ISpVoice_SpeakStream(This,pStream,dwFlags,pulStreamNumber) \
  4702. (This)->lpVtbl -> SpeakStream(This,pStream,dwFlags,pulStreamNumber)
  4703. #define ISpVoice_GetStatus(This,pStatus,ppszLastBookmark) \
  4704. (This)->lpVtbl -> GetStatus(This,pStatus,ppszLastBookmark)
  4705. #define ISpVoice_Skip(This,pItemType,lNumItems,pulNumSkipped) \
  4706. (This)->lpVtbl -> Skip(This,pItemType,lNumItems,pulNumSkipped)
  4707. #define ISpVoice_SetPriority(This,ePriority) \
  4708. (This)->lpVtbl -> SetPriority(This,ePriority)
  4709. #define ISpVoice_GetPriority(This,pePriority) \
  4710. (This)->lpVtbl -> GetPriority(This,pePriority)
  4711. #define ISpVoice_SetAlertBoundary(This,eBoundary) \
  4712. (This)->lpVtbl -> SetAlertBoundary(This,eBoundary)
  4713. #define ISpVoice_GetAlertBoundary(This,peBoundary) \
  4714. (This)->lpVtbl -> GetAlertBoundary(This,peBoundary)
  4715. #define ISpVoice_SetRate(This,RateAdjust) \
  4716. (This)->lpVtbl -> SetRate(This,RateAdjust)
  4717. #define ISpVoice_GetRate(This,pRateAdjust) \
  4718. (This)->lpVtbl -> GetRate(This,pRateAdjust)
  4719. #define ISpVoice_SetVolume(This,usVolume) \
  4720. (This)->lpVtbl -> SetVolume(This,usVolume)
  4721. #define ISpVoice_GetVolume(This,pusVolume) \
  4722. (This)->lpVtbl -> GetVolume(This,pusVolume)
  4723. #define ISpVoice_WaitUntilDone(This,msTimeout) \
  4724. (This)->lpVtbl -> WaitUntilDone(This,msTimeout)
  4725. #define ISpVoice_SetSyncSpeakTimeout(This,msTimeout) \
  4726. (This)->lpVtbl -> SetSyncSpeakTimeout(This,msTimeout)
  4727. #define ISpVoice_GetSyncSpeakTimeout(This,pmsTimeout) \
  4728. (This)->lpVtbl -> GetSyncSpeakTimeout(This,pmsTimeout)
  4729. #define ISpVoice_SpeakCompleteEvent(This) \
  4730. (This)->lpVtbl -> SpeakCompleteEvent(This)
  4731. #define ISpVoice_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) \
  4732. (This)->lpVtbl -> IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
  4733. #define ISpVoice_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) \
  4734. (This)->lpVtbl -> DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
  4735. #endif /* COBJMACROS */
  4736. #endif /* C style interface */
  4737. HRESULT STDMETHODCALLTYPE ISpVoice_SetOutput_Proxy(
  4738. ISpVoice * This,
  4739. /* [in] */ IUnknown *pUnkOutput,
  4740. /* [in] */ BOOL fAllowFormatChanges);
  4741. void __RPC_STUB ISpVoice_SetOutput_Stub(
  4742. IRpcStubBuffer *This,
  4743. IRpcChannelBuffer *_pRpcChannelBuffer,
  4744. PRPC_MESSAGE _pRpcMessage,
  4745. DWORD *_pdwStubPhase);
  4746. HRESULT STDMETHODCALLTYPE ISpVoice_GetOutputObjectToken_Proxy(
  4747. ISpVoice * This,
  4748. /* [out] */ ISpObjectToken **ppObjectToken);
  4749. void __RPC_STUB ISpVoice_GetOutputObjectToken_Stub(
  4750. IRpcStubBuffer *This,
  4751. IRpcChannelBuffer *_pRpcChannelBuffer,
  4752. PRPC_MESSAGE _pRpcMessage,
  4753. DWORD *_pdwStubPhase);
  4754. HRESULT STDMETHODCALLTYPE ISpVoice_GetOutputStream_Proxy(
  4755. ISpVoice * This,
  4756. /* [out] */ ISpStreamFormat **ppStream);
  4757. void __RPC_STUB ISpVoice_GetOutputStream_Stub(
  4758. IRpcStubBuffer *This,
  4759. IRpcChannelBuffer *_pRpcChannelBuffer,
  4760. PRPC_MESSAGE _pRpcMessage,
  4761. DWORD *_pdwStubPhase);
  4762. HRESULT STDMETHODCALLTYPE ISpVoice_Pause_Proxy(
  4763. ISpVoice * This);
  4764. void __RPC_STUB ISpVoice_Pause_Stub(
  4765. IRpcStubBuffer *This,
  4766. IRpcChannelBuffer *_pRpcChannelBuffer,
  4767. PRPC_MESSAGE _pRpcMessage,
  4768. DWORD *_pdwStubPhase);
  4769. HRESULT STDMETHODCALLTYPE ISpVoice_Resume_Proxy(
  4770. ISpVoice * This);
  4771. void __RPC_STUB ISpVoice_Resume_Stub(
  4772. IRpcStubBuffer *This,
  4773. IRpcChannelBuffer *_pRpcChannelBuffer,
  4774. PRPC_MESSAGE _pRpcMessage,
  4775. DWORD *_pdwStubPhase);
  4776. HRESULT STDMETHODCALLTYPE ISpVoice_SetVoice_Proxy(
  4777. ISpVoice * This,
  4778. /* [in] */ ISpObjectToken *pToken);
  4779. void __RPC_STUB ISpVoice_SetVoice_Stub(
  4780. IRpcStubBuffer *This,
  4781. IRpcChannelBuffer *_pRpcChannelBuffer,
  4782. PRPC_MESSAGE _pRpcMessage,
  4783. DWORD *_pdwStubPhase);
  4784. HRESULT STDMETHODCALLTYPE ISpVoice_GetVoice_Proxy(
  4785. ISpVoice * This,
  4786. /* [out] */ ISpObjectToken **ppToken);
  4787. void __RPC_STUB ISpVoice_GetVoice_Stub(
  4788. IRpcStubBuffer *This,
  4789. IRpcChannelBuffer *_pRpcChannelBuffer,
  4790. PRPC_MESSAGE _pRpcMessage,
  4791. DWORD *_pdwStubPhase);
  4792. HRESULT STDMETHODCALLTYPE ISpVoice_Speak_Proxy(
  4793. ISpVoice * This,
  4794. /* [string][in] */ const WCHAR *pwcs,
  4795. /* [in] */ DWORD dwFlags,
  4796. /* [out] */ ULONG *pulStreamNumber);
  4797. void __RPC_STUB ISpVoice_Speak_Stub(
  4798. IRpcStubBuffer *This,
  4799. IRpcChannelBuffer *_pRpcChannelBuffer,
  4800. PRPC_MESSAGE _pRpcMessage,
  4801. DWORD *_pdwStubPhase);
  4802. HRESULT STDMETHODCALLTYPE ISpVoice_SpeakStream_Proxy(
  4803. ISpVoice * This,
  4804. /* [in] */ IStream *pStream,
  4805. /* [in] */ DWORD dwFlags,
  4806. /* [out] */ ULONG *pulStreamNumber);
  4807. void __RPC_STUB ISpVoice_SpeakStream_Stub(
  4808. IRpcStubBuffer *This,
  4809. IRpcChannelBuffer *_pRpcChannelBuffer,
  4810. PRPC_MESSAGE _pRpcMessage,
  4811. DWORD *_pdwStubPhase);
  4812. HRESULT STDMETHODCALLTYPE ISpVoice_GetStatus_Proxy(
  4813. ISpVoice * This,
  4814. /* [out] */ SPVOICESTATUS *pStatus,
  4815. /* [string][out] */ WCHAR **ppszLastBookmark);
  4816. void __RPC_STUB ISpVoice_GetStatus_Stub(
  4817. IRpcStubBuffer *This,
  4818. IRpcChannelBuffer *_pRpcChannelBuffer,
  4819. PRPC_MESSAGE _pRpcMessage,
  4820. DWORD *_pdwStubPhase);
  4821. HRESULT STDMETHODCALLTYPE ISpVoice_Skip_Proxy(
  4822. ISpVoice * This,
  4823. /* [string][in] */ WCHAR *pItemType,
  4824. /* [in] */ long lNumItems,
  4825. /* [out] */ ULONG *pulNumSkipped);
  4826. void __RPC_STUB ISpVoice_Skip_Stub(
  4827. IRpcStubBuffer *This,
  4828. IRpcChannelBuffer *_pRpcChannelBuffer,
  4829. PRPC_MESSAGE _pRpcMessage,
  4830. DWORD *_pdwStubPhase);
  4831. HRESULT STDMETHODCALLTYPE ISpVoice_SetPriority_Proxy(
  4832. ISpVoice * This,
  4833. /* [in] */ SPVPRIORITY ePriority);
  4834. void __RPC_STUB ISpVoice_SetPriority_Stub(
  4835. IRpcStubBuffer *This,
  4836. IRpcChannelBuffer *_pRpcChannelBuffer,
  4837. PRPC_MESSAGE _pRpcMessage,
  4838. DWORD *_pdwStubPhase);
  4839. HRESULT STDMETHODCALLTYPE ISpVoice_GetPriority_Proxy(
  4840. ISpVoice * This,
  4841. /* [out] */ SPVPRIORITY *pePriority);
  4842. void __RPC_STUB ISpVoice_GetPriority_Stub(
  4843. IRpcStubBuffer *This,
  4844. IRpcChannelBuffer *_pRpcChannelBuffer,
  4845. PRPC_MESSAGE _pRpcMessage,
  4846. DWORD *_pdwStubPhase);
  4847. HRESULT STDMETHODCALLTYPE ISpVoice_SetAlertBoundary_Proxy(
  4848. ISpVoice * This,
  4849. /* [in] */ SPEVENTENUM eBoundary);
  4850. void __RPC_STUB ISpVoice_SetAlertBoundary_Stub(
  4851. IRpcStubBuffer *This,
  4852. IRpcChannelBuffer *_pRpcChannelBuffer,
  4853. PRPC_MESSAGE _pRpcMessage,
  4854. DWORD *_pdwStubPhase);
  4855. HRESULT STDMETHODCALLTYPE ISpVoice_GetAlertBoundary_Proxy(
  4856. ISpVoice * This,
  4857. /* [out] */ SPEVENTENUM *peBoundary);
  4858. void __RPC_STUB ISpVoice_GetAlertBoundary_Stub(
  4859. IRpcStubBuffer *This,
  4860. IRpcChannelBuffer *_pRpcChannelBuffer,
  4861. PRPC_MESSAGE _pRpcMessage,
  4862. DWORD *_pdwStubPhase);
  4863. HRESULT STDMETHODCALLTYPE ISpVoice_SetRate_Proxy(
  4864. ISpVoice * This,
  4865. /* [in] */ long RateAdjust);
  4866. void __RPC_STUB ISpVoice_SetRate_Stub(
  4867. IRpcStubBuffer *This,
  4868. IRpcChannelBuffer *_pRpcChannelBuffer,
  4869. PRPC_MESSAGE _pRpcMessage,
  4870. DWORD *_pdwStubPhase);
  4871. HRESULT STDMETHODCALLTYPE ISpVoice_GetRate_Proxy(
  4872. ISpVoice * This,
  4873. /* [out] */ long *pRateAdjust);
  4874. void __RPC_STUB ISpVoice_GetRate_Stub(
  4875. IRpcStubBuffer *This,
  4876. IRpcChannelBuffer *_pRpcChannelBuffer,
  4877. PRPC_MESSAGE _pRpcMessage,
  4878. DWORD *_pdwStubPhase);
  4879. HRESULT STDMETHODCALLTYPE ISpVoice_SetVolume_Proxy(
  4880. ISpVoice * This,
  4881. /* [in] */ USHORT usVolume);
  4882. void __RPC_STUB ISpVoice_SetVolume_Stub(
  4883. IRpcStubBuffer *This,
  4884. IRpcChannelBuffer *_pRpcChannelBuffer,
  4885. PRPC_MESSAGE _pRpcMessage,
  4886. DWORD *_pdwStubPhase);
  4887. HRESULT STDMETHODCALLTYPE ISpVoice_GetVolume_Proxy(
  4888. ISpVoice * This,
  4889. /* [out] */ USHORT *pusVolume);
  4890. void __RPC_STUB ISpVoice_GetVolume_Stub(
  4891. IRpcStubBuffer *This,
  4892. IRpcChannelBuffer *_pRpcChannelBuffer,
  4893. PRPC_MESSAGE _pRpcMessage,
  4894. DWORD *_pdwStubPhase);
  4895. HRESULT STDMETHODCALLTYPE ISpVoice_WaitUntilDone_Proxy(
  4896. ISpVoice * This,
  4897. /* [in] */ ULONG msTimeout);
  4898. void __RPC_STUB ISpVoice_WaitUntilDone_Stub(
  4899. IRpcStubBuffer *This,
  4900. IRpcChannelBuffer *_pRpcChannelBuffer,
  4901. PRPC_MESSAGE _pRpcMessage,
  4902. DWORD *_pdwStubPhase);
  4903. HRESULT STDMETHODCALLTYPE ISpVoice_SetSyncSpeakTimeout_Proxy(
  4904. ISpVoice * This,
  4905. /* [in] */ ULONG msTimeout);
  4906. void __RPC_STUB ISpVoice_SetSyncSpeakTimeout_Stub(
  4907. IRpcStubBuffer *This,
  4908. IRpcChannelBuffer *_pRpcChannelBuffer,
  4909. PRPC_MESSAGE _pRpcMessage,
  4910. DWORD *_pdwStubPhase);
  4911. HRESULT STDMETHODCALLTYPE ISpVoice_GetSyncSpeakTimeout_Proxy(
  4912. ISpVoice * This,
  4913. /* [out] */ ULONG *pmsTimeout);
  4914. void __RPC_STUB ISpVoice_GetSyncSpeakTimeout_Stub(
  4915. IRpcStubBuffer *This,
  4916. IRpcChannelBuffer *_pRpcChannelBuffer,
  4917. PRPC_MESSAGE _pRpcMessage,
  4918. DWORD *_pdwStubPhase);
  4919. /* [local] */ HANDLE STDMETHODCALLTYPE ISpVoice_SpeakCompleteEvent_Proxy(
  4920. ISpVoice * This);
  4921. void __RPC_STUB ISpVoice_SpeakCompleteEvent_Stub(
  4922. IRpcStubBuffer *This,
  4923. IRpcChannelBuffer *_pRpcChannelBuffer,
  4924. PRPC_MESSAGE _pRpcMessage,
  4925. DWORD *_pdwStubPhase);
  4926. /* [local] */ HRESULT STDMETHODCALLTYPE ISpVoice_IsUISupported_Proxy(
  4927. ISpVoice * This,
  4928. /* [in] */ const WCHAR *pszTypeOfUI,
  4929. /* [in] */ void *pvExtraData,
  4930. /* [in] */ ULONG cbExtraData,
  4931. /* [out] */ BOOL *pfSupported);
  4932. void __RPC_STUB ISpVoice_IsUISupported_Stub(
  4933. IRpcStubBuffer *This,
  4934. IRpcChannelBuffer *_pRpcChannelBuffer,
  4935. PRPC_MESSAGE _pRpcMessage,
  4936. DWORD *_pdwStubPhase);
  4937. /* [local] */ HRESULT STDMETHODCALLTYPE ISpVoice_DisplayUI_Proxy(
  4938. ISpVoice * This,
  4939. /* [in] */ HWND hwndParent,
  4940. /* [in] */ const WCHAR *pszTitle,
  4941. /* [in] */ const WCHAR *pszTypeOfUI,
  4942. /* [in] */ void *pvExtraData,
  4943. /* [in] */ ULONG cbExtraData);
  4944. void __RPC_STUB ISpVoice_DisplayUI_Stub(
  4945. IRpcStubBuffer *This,
  4946. IRpcChannelBuffer *_pRpcChannelBuffer,
  4947. PRPC_MESSAGE _pRpcMessage,
  4948. DWORD *_pdwStubPhase);
  4949. #endif /* __ISpVoice_INTERFACE_DEFINED__ */
  4950. #ifndef __ISpPhrase_INTERFACE_DEFINED__
  4951. #define __ISpPhrase_INTERFACE_DEFINED__
  4952. /* interface ISpPhrase */
  4953. /* [restricted][unique][helpstring][local][uuid][object] */
  4954. EXTERN_C const IID IID_ISpPhrase;
  4955. #if defined(__cplusplus) && !defined(CINTERFACE)
  4956. MIDL_INTERFACE("1A5C0354-B621-4b5a-8791-D306ED379E53")
  4957. ISpPhrase : public IUnknown
  4958. {
  4959. public:
  4960. virtual HRESULT STDMETHODCALLTYPE GetPhrase(
  4961. /* [out] */ SPPHRASE **ppCoMemPhrase) = 0;
  4962. virtual HRESULT STDMETHODCALLTYPE GetSerializedPhrase(
  4963. /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase) = 0;
  4964. virtual HRESULT STDMETHODCALLTYPE GetText(
  4965. /* [in] */ ULONG ulStart,
  4966. /* [in] */ ULONG ulCount,
  4967. /* [in] */ BOOL fUseTextReplacements,
  4968. /* [out] */ WCHAR **ppszCoMemText,
  4969. /* [out] */ BYTE *pbDisplayAttributes) = 0;
  4970. virtual HRESULT STDMETHODCALLTYPE Discard(
  4971. /* [in] */ DWORD dwValueTypes) = 0;
  4972. };
  4973. #else /* C style interface */
  4974. typedef struct ISpPhraseVtbl
  4975. {
  4976. BEGIN_INTERFACE
  4977. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4978. ISpPhrase * This,
  4979. /* [in] */ REFIID riid,
  4980. /* [iid_is][out] */ void **ppvObject);
  4981. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4982. ISpPhrase * This);
  4983. ULONG ( STDMETHODCALLTYPE *Release )(
  4984. ISpPhrase * This);
  4985. HRESULT ( STDMETHODCALLTYPE *GetPhrase )(
  4986. ISpPhrase * This,
  4987. /* [out] */ SPPHRASE **ppCoMemPhrase);
  4988. HRESULT ( STDMETHODCALLTYPE *GetSerializedPhrase )(
  4989. ISpPhrase * This,
  4990. /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase);
  4991. HRESULT ( STDMETHODCALLTYPE *GetText )(
  4992. ISpPhrase * This,
  4993. /* [in] */ ULONG ulStart,
  4994. /* [in] */ ULONG ulCount,
  4995. /* [in] */ BOOL fUseTextReplacements,
  4996. /* [out] */ WCHAR **ppszCoMemText,
  4997. /* [out] */ BYTE *pbDisplayAttributes);
  4998. HRESULT ( STDMETHODCALLTYPE *Discard )(
  4999. ISpPhrase * This,
  5000. /* [in] */ DWORD dwValueTypes);
  5001. END_INTERFACE
  5002. } ISpPhraseVtbl;
  5003. interface ISpPhrase
  5004. {
  5005. CONST_VTBL struct ISpPhraseVtbl *lpVtbl;
  5006. };
  5007. #ifdef COBJMACROS
  5008. #define ISpPhrase_QueryInterface(This,riid,ppvObject) \
  5009. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5010. #define ISpPhrase_AddRef(This) \
  5011. (This)->lpVtbl -> AddRef(This)
  5012. #define ISpPhrase_Release(This) \
  5013. (This)->lpVtbl -> Release(This)
  5014. #define ISpPhrase_GetPhrase(This,ppCoMemPhrase) \
  5015. (This)->lpVtbl -> GetPhrase(This,ppCoMemPhrase)
  5016. #define ISpPhrase_GetSerializedPhrase(This,ppCoMemPhrase) \
  5017. (This)->lpVtbl -> GetSerializedPhrase(This,ppCoMemPhrase)
  5018. #define ISpPhrase_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) \
  5019. (This)->lpVtbl -> GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
  5020. #define ISpPhrase_Discard(This,dwValueTypes) \
  5021. (This)->lpVtbl -> Discard(This,dwValueTypes)
  5022. #endif /* COBJMACROS */
  5023. #endif /* C style interface */
  5024. HRESULT STDMETHODCALLTYPE ISpPhrase_GetPhrase_Proxy(
  5025. ISpPhrase * This,
  5026. /* [out] */ SPPHRASE **ppCoMemPhrase);
  5027. void __RPC_STUB ISpPhrase_GetPhrase_Stub(
  5028. IRpcStubBuffer *This,
  5029. IRpcChannelBuffer *_pRpcChannelBuffer,
  5030. PRPC_MESSAGE _pRpcMessage,
  5031. DWORD *_pdwStubPhase);
  5032. HRESULT STDMETHODCALLTYPE ISpPhrase_GetSerializedPhrase_Proxy(
  5033. ISpPhrase * This,
  5034. /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase);
  5035. void __RPC_STUB ISpPhrase_GetSerializedPhrase_Stub(
  5036. IRpcStubBuffer *This,
  5037. IRpcChannelBuffer *_pRpcChannelBuffer,
  5038. PRPC_MESSAGE _pRpcMessage,
  5039. DWORD *_pdwStubPhase);
  5040. HRESULT STDMETHODCALLTYPE ISpPhrase_GetText_Proxy(
  5041. ISpPhrase * This,
  5042. /* [in] */ ULONG ulStart,
  5043. /* [in] */ ULONG ulCount,
  5044. /* [in] */ BOOL fUseTextReplacements,
  5045. /* [out] */ WCHAR **ppszCoMemText,
  5046. /* [out] */ BYTE *pbDisplayAttributes);
  5047. void __RPC_STUB ISpPhrase_GetText_Stub(
  5048. IRpcStubBuffer *This,
  5049. IRpcChannelBuffer *_pRpcChannelBuffer,
  5050. PRPC_MESSAGE _pRpcMessage,
  5051. DWORD *_pdwStubPhase);
  5052. HRESULT STDMETHODCALLTYPE ISpPhrase_Discard_Proxy(
  5053. ISpPhrase * This,
  5054. /* [in] */ DWORD dwValueTypes);
  5055. void __RPC_STUB ISpPhrase_Discard_Stub(
  5056. IRpcStubBuffer *This,
  5057. IRpcChannelBuffer *_pRpcChannelBuffer,
  5058. PRPC_MESSAGE _pRpcMessage,
  5059. DWORD *_pdwStubPhase);
  5060. #endif /* __ISpPhrase_INTERFACE_DEFINED__ */
  5061. #ifndef __ISpPhraseAlt_INTERFACE_DEFINED__
  5062. #define __ISpPhraseAlt_INTERFACE_DEFINED__
  5063. /* interface ISpPhraseAlt */
  5064. /* [restricted][unique][helpstring][local][uuid][object] */
  5065. EXTERN_C const IID IID_ISpPhraseAlt;
  5066. #if defined(__cplusplus) && !defined(CINTERFACE)
  5067. MIDL_INTERFACE("8FCEBC98-4E49-4067-9C6C-D86A0E092E3D")
  5068. ISpPhraseAlt : public ISpPhrase
  5069. {
  5070. public:
  5071. virtual HRESULT STDMETHODCALLTYPE GetAltInfo(
  5072. ISpPhrase **ppParent,
  5073. ULONG *pulStartElementInParent,
  5074. ULONG *pcElementsInParent,
  5075. ULONG *pcElementsInAlt) = 0;
  5076. virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  5077. };
  5078. #else /* C style interface */
  5079. typedef struct ISpPhraseAltVtbl
  5080. {
  5081. BEGIN_INTERFACE
  5082. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5083. ISpPhraseAlt * This,
  5084. /* [in] */ REFIID riid,
  5085. /* [iid_is][out] */ void **ppvObject);
  5086. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5087. ISpPhraseAlt * This);
  5088. ULONG ( STDMETHODCALLTYPE *Release )(
  5089. ISpPhraseAlt * This);
  5090. HRESULT ( STDMETHODCALLTYPE *GetPhrase )(
  5091. ISpPhraseAlt * This,
  5092. /* [out] */ SPPHRASE **ppCoMemPhrase);
  5093. HRESULT ( STDMETHODCALLTYPE *GetSerializedPhrase )(
  5094. ISpPhraseAlt * This,
  5095. /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase);
  5096. HRESULT ( STDMETHODCALLTYPE *GetText )(
  5097. ISpPhraseAlt * This,
  5098. /* [in] */ ULONG ulStart,
  5099. /* [in] */ ULONG ulCount,
  5100. /* [in] */ BOOL fUseTextReplacements,
  5101. /* [out] */ WCHAR **ppszCoMemText,
  5102. /* [out] */ BYTE *pbDisplayAttributes);
  5103. HRESULT ( STDMETHODCALLTYPE *Discard )(
  5104. ISpPhraseAlt * This,
  5105. /* [in] */ DWORD dwValueTypes);
  5106. HRESULT ( STDMETHODCALLTYPE *GetAltInfo )(
  5107. ISpPhraseAlt * This,
  5108. ISpPhrase **ppParent,
  5109. ULONG *pulStartElementInParent,
  5110. ULONG *pcElementsInParent,
  5111. ULONG *pcElementsInAlt);
  5112. HRESULT ( STDMETHODCALLTYPE *Commit )(
  5113. ISpPhraseAlt * This);
  5114. END_INTERFACE
  5115. } ISpPhraseAltVtbl;
  5116. interface ISpPhraseAlt
  5117. {
  5118. CONST_VTBL struct ISpPhraseAltVtbl *lpVtbl;
  5119. };
  5120. #ifdef COBJMACROS
  5121. #define ISpPhraseAlt_QueryInterface(This,riid,ppvObject) \
  5122. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5123. #define ISpPhraseAlt_AddRef(This) \
  5124. (This)->lpVtbl -> AddRef(This)
  5125. #define ISpPhraseAlt_Release(This) \
  5126. (This)->lpVtbl -> Release(This)
  5127. #define ISpPhraseAlt_GetPhrase(This,ppCoMemPhrase) \
  5128. (This)->lpVtbl -> GetPhrase(This,ppCoMemPhrase)
  5129. #define ISpPhraseAlt_GetSerializedPhrase(This,ppCoMemPhrase) \
  5130. (This)->lpVtbl -> GetSerializedPhrase(This,ppCoMemPhrase)
  5131. #define ISpPhraseAlt_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) \
  5132. (This)->lpVtbl -> GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
  5133. #define ISpPhraseAlt_Discard(This,dwValueTypes) \
  5134. (This)->lpVtbl -> Discard(This,dwValueTypes)
  5135. #define ISpPhraseAlt_GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt) \
  5136. (This)->lpVtbl -> GetAltInfo(This,ppParent,pulStartElementInParent,pcElementsInParent,pcElementsInAlt)
  5137. #define ISpPhraseAlt_Commit(This) \
  5138. (This)->lpVtbl -> Commit(This)
  5139. #endif /* COBJMACROS */
  5140. #endif /* C style interface */
  5141. HRESULT STDMETHODCALLTYPE ISpPhraseAlt_GetAltInfo_Proxy(
  5142. ISpPhraseAlt * This,
  5143. ISpPhrase **ppParent,
  5144. ULONG *pulStartElementInParent,
  5145. ULONG *pcElementsInParent,
  5146. ULONG *pcElementsInAlt);
  5147. void __RPC_STUB ISpPhraseAlt_GetAltInfo_Stub(
  5148. IRpcStubBuffer *This,
  5149. IRpcChannelBuffer *_pRpcChannelBuffer,
  5150. PRPC_MESSAGE _pRpcMessage,
  5151. DWORD *_pdwStubPhase);
  5152. HRESULT STDMETHODCALLTYPE ISpPhraseAlt_Commit_Proxy(
  5153. ISpPhraseAlt * This);
  5154. void __RPC_STUB ISpPhraseAlt_Commit_Stub(
  5155. IRpcStubBuffer *This,
  5156. IRpcChannelBuffer *_pRpcChannelBuffer,
  5157. PRPC_MESSAGE _pRpcMessage,
  5158. DWORD *_pdwStubPhase);
  5159. #endif /* __ISpPhraseAlt_INTERFACE_DEFINED__ */
  5160. /* interface __MIDL_itf_sapi_0270 */
  5161. /* [local] */
  5162. typedef /* [restricted] */ struct SPRECORESULTTIMES
  5163. {
  5164. FILETIME ftStreamTime;
  5165. ULONGLONG ullLength;
  5166. DWORD dwTickCount;
  5167. ULONGLONG ullStart;
  5168. } SPRECORESULTTIMES;
  5169. typedef struct SPSERIALIZEDRESULT
  5170. {
  5171. ULONG ulSerializedSize;
  5172. } SPSERIALIZEDRESULT;
  5173. extern RPC_IF_HANDLE __MIDL_itf_sapi_0270_v0_0_c_ifspec;
  5174. extern RPC_IF_HANDLE __MIDL_itf_sapi_0270_v0_0_s_ifspec;
  5175. #ifndef __ISpRecoResult_INTERFACE_DEFINED__
  5176. #define __ISpRecoResult_INTERFACE_DEFINED__
  5177. /* interface ISpRecoResult */
  5178. /* [restricted][local][unique][helpstring][uuid][object] */
  5179. EXTERN_C const IID IID_ISpRecoResult;
  5180. #if defined(__cplusplus) && !defined(CINTERFACE)
  5181. MIDL_INTERFACE("20B053BE-E235-43cd-9A2A-8D17A48B7842")
  5182. ISpRecoResult : public ISpPhrase
  5183. {
  5184. public:
  5185. virtual HRESULT STDMETHODCALLTYPE GetResultTimes(
  5186. /* [out] */ SPRECORESULTTIMES *pTimes) = 0;
  5187. virtual HRESULT STDMETHODCALLTYPE GetAlternates(
  5188. /* [in] */ ULONG ulStartElement,
  5189. /* [in] */ ULONG cElements,
  5190. /* [in] */ ULONG ulRequestCount,
  5191. /* [out] */ ISpPhraseAlt **ppPhrases,
  5192. /* [out] */ ULONG *pcPhrasesReturned) = 0;
  5193. virtual HRESULT STDMETHODCALLTYPE GetAudio(
  5194. /* [in] */ ULONG ulStartElement,
  5195. /* [in] */ ULONG cElements,
  5196. /* [out] */ ISpStreamFormat **ppStream) = 0;
  5197. virtual HRESULT STDMETHODCALLTYPE SpeakAudio(
  5198. /* [in] */ ULONG ulStartElement,
  5199. /* [in] */ ULONG cElements,
  5200. /* [in] */ DWORD dwFlags,
  5201. /* [out] */ ULONG *pulStreamNumber) = 0;
  5202. virtual HRESULT STDMETHODCALLTYPE Serialize(
  5203. /* [out] */ SPSERIALIZEDRESULT **ppCoMemSerializedResult) = 0;
  5204. virtual HRESULT STDMETHODCALLTYPE ScaleAudio(
  5205. /* [in] */ const GUID *pAudioFormatId,
  5206. /* [in] */ const WAVEFORMATEX *pWaveFormatEx) = 0;
  5207. virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
  5208. /* [out] */ ISpRecoContext **ppRecoContext) = 0;
  5209. };
  5210. #else /* C style interface */
  5211. typedef struct ISpRecoResultVtbl
  5212. {
  5213. BEGIN_INTERFACE
  5214. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5215. ISpRecoResult * This,
  5216. /* [in] */ REFIID riid,
  5217. /* [iid_is][out] */ void **ppvObject);
  5218. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5219. ISpRecoResult * This);
  5220. ULONG ( STDMETHODCALLTYPE *Release )(
  5221. ISpRecoResult * This);
  5222. HRESULT ( STDMETHODCALLTYPE *GetPhrase )(
  5223. ISpRecoResult * This,
  5224. /* [out] */ SPPHRASE **ppCoMemPhrase);
  5225. HRESULT ( STDMETHODCALLTYPE *GetSerializedPhrase )(
  5226. ISpRecoResult * This,
  5227. /* [out] */ SPSERIALIZEDPHRASE **ppCoMemPhrase);
  5228. HRESULT ( STDMETHODCALLTYPE *GetText )(
  5229. ISpRecoResult * This,
  5230. /* [in] */ ULONG ulStart,
  5231. /* [in] */ ULONG ulCount,
  5232. /* [in] */ BOOL fUseTextReplacements,
  5233. /* [out] */ WCHAR **ppszCoMemText,
  5234. /* [out] */ BYTE *pbDisplayAttributes);
  5235. HRESULT ( STDMETHODCALLTYPE *Discard )(
  5236. ISpRecoResult * This,
  5237. /* [in] */ DWORD dwValueTypes);
  5238. HRESULT ( STDMETHODCALLTYPE *GetResultTimes )(
  5239. ISpRecoResult * This,
  5240. /* [out] */ SPRECORESULTTIMES *pTimes);
  5241. HRESULT ( STDMETHODCALLTYPE *GetAlternates )(
  5242. ISpRecoResult * This,
  5243. /* [in] */ ULONG ulStartElement,
  5244. /* [in] */ ULONG cElements,
  5245. /* [in] */ ULONG ulRequestCount,
  5246. /* [out] */ ISpPhraseAlt **ppPhrases,
  5247. /* [out] */ ULONG *pcPhrasesReturned);
  5248. HRESULT ( STDMETHODCALLTYPE *GetAudio )(
  5249. ISpRecoResult * This,
  5250. /* [in] */ ULONG ulStartElement,
  5251. /* [in] */ ULONG cElements,
  5252. /* [out] */ ISpStreamFormat **ppStream);
  5253. HRESULT ( STDMETHODCALLTYPE *SpeakAudio )(
  5254. ISpRecoResult * This,
  5255. /* [in] */ ULONG ulStartElement,
  5256. /* [in] */ ULONG cElements,
  5257. /* [in] */ DWORD dwFlags,
  5258. /* [out] */ ULONG *pulStreamNumber);
  5259. HRESULT ( STDMETHODCALLTYPE *Serialize )(
  5260. ISpRecoResult * This,
  5261. /* [out] */ SPSERIALIZEDRESULT **ppCoMemSerializedResult);
  5262. HRESULT ( STDMETHODCALLTYPE *ScaleAudio )(
  5263. ISpRecoResult * This,
  5264. /* [in] */ const GUID *pAudioFormatId,
  5265. /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
  5266. HRESULT ( STDMETHODCALLTYPE *GetRecoContext )(
  5267. ISpRecoResult * This,
  5268. /* [out] */ ISpRecoContext **ppRecoContext);
  5269. END_INTERFACE
  5270. } ISpRecoResultVtbl;
  5271. interface ISpRecoResult
  5272. {
  5273. CONST_VTBL struct ISpRecoResultVtbl *lpVtbl;
  5274. };
  5275. #ifdef COBJMACROS
  5276. #define ISpRecoResult_QueryInterface(This,riid,ppvObject) \
  5277. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5278. #define ISpRecoResult_AddRef(This) \
  5279. (This)->lpVtbl -> AddRef(This)
  5280. #define ISpRecoResult_Release(This) \
  5281. (This)->lpVtbl -> Release(This)
  5282. #define ISpRecoResult_GetPhrase(This,ppCoMemPhrase) \
  5283. (This)->lpVtbl -> GetPhrase(This,ppCoMemPhrase)
  5284. #define ISpRecoResult_GetSerializedPhrase(This,ppCoMemPhrase) \
  5285. (This)->lpVtbl -> GetSerializedPhrase(This,ppCoMemPhrase)
  5286. #define ISpRecoResult_GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes) \
  5287. (This)->lpVtbl -> GetText(This,ulStart,ulCount,fUseTextReplacements,ppszCoMemText,pbDisplayAttributes)
  5288. #define ISpRecoResult_Discard(This,dwValueTypes) \
  5289. (This)->lpVtbl -> Discard(This,dwValueTypes)
  5290. #define ISpRecoResult_GetResultTimes(This,pTimes) \
  5291. (This)->lpVtbl -> GetResultTimes(This,pTimes)
  5292. #define ISpRecoResult_GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned) \
  5293. (This)->lpVtbl -> GetAlternates(This,ulStartElement,cElements,ulRequestCount,ppPhrases,pcPhrasesReturned)
  5294. #define ISpRecoResult_GetAudio(This,ulStartElement,cElements,ppStream) \
  5295. (This)->lpVtbl -> GetAudio(This,ulStartElement,cElements,ppStream)
  5296. #define ISpRecoResult_SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber) \
  5297. (This)->lpVtbl -> SpeakAudio(This,ulStartElement,cElements,dwFlags,pulStreamNumber)
  5298. #define ISpRecoResult_Serialize(This,ppCoMemSerializedResult) \
  5299. (This)->lpVtbl -> Serialize(This,ppCoMemSerializedResult)
  5300. #define ISpRecoResult_ScaleAudio(This,pAudioFormatId,pWaveFormatEx) \
  5301. (This)->lpVtbl -> ScaleAudio(This,pAudioFormatId,pWaveFormatEx)
  5302. #define ISpRecoResult_GetRecoContext(This,ppRecoContext) \
  5303. (This)->lpVtbl -> GetRecoContext(This,ppRecoContext)
  5304. #endif /* COBJMACROS */
  5305. #endif /* C style interface */
  5306. HRESULT STDMETHODCALLTYPE ISpRecoResult_GetResultTimes_Proxy(
  5307. ISpRecoResult * This,
  5308. /* [out] */ SPRECORESULTTIMES *pTimes);
  5309. void __RPC_STUB ISpRecoResult_GetResultTimes_Stub(
  5310. IRpcStubBuffer *This,
  5311. IRpcChannelBuffer *_pRpcChannelBuffer,
  5312. PRPC_MESSAGE _pRpcMessage,
  5313. DWORD *_pdwStubPhase);
  5314. HRESULT STDMETHODCALLTYPE ISpRecoResult_GetAlternates_Proxy(
  5315. ISpRecoResult * This,
  5316. /* [in] */ ULONG ulStartElement,
  5317. /* [in] */ ULONG cElements,
  5318. /* [in] */ ULONG ulRequestCount,
  5319. /* [out] */ ISpPhraseAlt **ppPhrases,
  5320. /* [out] */ ULONG *pcPhrasesReturned);
  5321. void __RPC_STUB ISpRecoResult_GetAlternates_Stub(
  5322. IRpcStubBuffer *This,
  5323. IRpcChannelBuffer *_pRpcChannelBuffer,
  5324. PRPC_MESSAGE _pRpcMessage,
  5325. DWORD *_pdwStubPhase);
  5326. HRESULT STDMETHODCALLTYPE ISpRecoResult_GetAudio_Proxy(
  5327. ISpRecoResult * This,
  5328. /* [in] */ ULONG ulStartElement,
  5329. /* [in] */ ULONG cElements,
  5330. /* [out] */ ISpStreamFormat **ppStream);
  5331. void __RPC_STUB ISpRecoResult_GetAudio_Stub(
  5332. IRpcStubBuffer *This,
  5333. IRpcChannelBuffer *_pRpcChannelBuffer,
  5334. PRPC_MESSAGE _pRpcMessage,
  5335. DWORD *_pdwStubPhase);
  5336. HRESULT STDMETHODCALLTYPE ISpRecoResult_SpeakAudio_Proxy(
  5337. ISpRecoResult * This,
  5338. /* [in] */ ULONG ulStartElement,
  5339. /* [in] */ ULONG cElements,
  5340. /* [in] */ DWORD dwFlags,
  5341. /* [out] */ ULONG *pulStreamNumber);
  5342. void __RPC_STUB ISpRecoResult_SpeakAudio_Stub(
  5343. IRpcStubBuffer *This,
  5344. IRpcChannelBuffer *_pRpcChannelBuffer,
  5345. PRPC_MESSAGE _pRpcMessage,
  5346. DWORD *_pdwStubPhase);
  5347. HRESULT STDMETHODCALLTYPE ISpRecoResult_Serialize_Proxy(
  5348. ISpRecoResult * This,
  5349. /* [out] */ SPSERIALIZEDRESULT **ppCoMemSerializedResult);
  5350. void __RPC_STUB ISpRecoResult_Serialize_Stub(
  5351. IRpcStubBuffer *This,
  5352. IRpcChannelBuffer *_pRpcChannelBuffer,
  5353. PRPC_MESSAGE _pRpcMessage,
  5354. DWORD *_pdwStubPhase);
  5355. HRESULT STDMETHODCALLTYPE ISpRecoResult_ScaleAudio_Proxy(
  5356. ISpRecoResult * This,
  5357. /* [in] */ const GUID *pAudioFormatId,
  5358. /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
  5359. void __RPC_STUB ISpRecoResult_ScaleAudio_Stub(
  5360. IRpcStubBuffer *This,
  5361. IRpcChannelBuffer *_pRpcChannelBuffer,
  5362. PRPC_MESSAGE _pRpcMessage,
  5363. DWORD *_pdwStubPhase);
  5364. HRESULT STDMETHODCALLTYPE ISpRecoResult_GetRecoContext_Proxy(
  5365. ISpRecoResult * This,
  5366. /* [out] */ ISpRecoContext **ppRecoContext);
  5367. void __RPC_STUB ISpRecoResult_GetRecoContext_Stub(
  5368. IRpcStubBuffer *This,
  5369. IRpcChannelBuffer *_pRpcChannelBuffer,
  5370. PRPC_MESSAGE _pRpcMessage,
  5371. DWORD *_pdwStubPhase);
  5372. #endif /* __ISpRecoResult_INTERFACE_DEFINED__ */
  5373. /* interface __MIDL_itf_sapi_0271 */
  5374. /* [local] */
  5375. typedef struct tagSPTEXTSELECTIONINFO
  5376. {
  5377. ULONG ulStartActiveOffset;
  5378. ULONG cchActiveChars;
  5379. ULONG ulStartSelection;
  5380. ULONG cchSelection;
  5381. } SPTEXTSELECTIONINFO;
  5382. typedef
  5383. enum SPGRAMMARSTATE
  5384. { SPGS_DISABLED = 0,
  5385. SPGS_ENABLED = 1,
  5386. SPGS_EXCLUSIVE = 3
  5387. } SPGRAMMARSTATE;
  5388. typedef
  5389. enum SPCONTEXTSTATE
  5390. { SPCS_DISABLED = 0,
  5391. SPCS_ENABLED = 1
  5392. } SPCONTEXTSTATE;
  5393. typedef
  5394. enum SPRULESTATE
  5395. { SPRS_INACTIVE = 0,
  5396. SPRS_ACTIVE = 1,
  5397. SPRS_ACTIVE_WITH_AUTO_PAUSE = 3
  5398. } SPRULESTATE;
  5399. #define SP_STREAMPOS_ASAP ( 0 )
  5400. #define SP_STREAMPOS_REALTIME ( -1 )
  5401. #define SPRULETRANS_TEXTBUFFER (SPSTATEHANDLE)(-1)
  5402. #define SPRULETRANS_WILDCARD (SPSTATEHANDLE)(-2)
  5403. #define SPRULETRANS_DICTATION (SPSTATEHANDLE)(-3)
  5404. typedef
  5405. enum SPGRAMMARWORDTYPE
  5406. { SPWT_DISPLAY = 0,
  5407. SPWT_LEXICAL = SPWT_DISPLAY + 1,
  5408. SPWT_PRONUNCIATION = SPWT_LEXICAL + 1
  5409. } SPGRAMMARWORDTYPE;
  5410. typedef struct tagSPPROPERTYINFO
  5411. {
  5412. const WCHAR *pszName;
  5413. ULONG ulId;
  5414. const WCHAR *pszValue;
  5415. VARIANT vValue;
  5416. } SPPROPERTYINFO;
  5417. typedef
  5418. enum SPCFGRULEATTRIBUTES
  5419. { SPRAF_TopLevel = 1 << 0,
  5420. SPRAF_Active = 1 << 1,
  5421. SPRAF_Export = 1 << 2,
  5422. SPRAF_Import = 1 << 3,
  5423. SPRAF_Interpreter = 1 << 4,
  5424. SPRAF_Dynamic = 1 << 5,
  5425. SPRAF_AutoPause = 1 << 16
  5426. } SPCFGRULEATTRIBUTES;
  5427. extern RPC_IF_HANDLE __MIDL_itf_sapi_0271_v0_0_c_ifspec;
  5428. extern RPC_IF_HANDLE __MIDL_itf_sapi_0271_v0_0_s_ifspec;
  5429. #ifndef __ISpGrammarBuilder_INTERFACE_DEFINED__
  5430. #define __ISpGrammarBuilder_INTERFACE_DEFINED__
  5431. /* interface ISpGrammarBuilder */
  5432. /* [local][restricted][unique][helpstring][uuid][object] */
  5433. EXTERN_C const IID IID_ISpGrammarBuilder;
  5434. #if defined(__cplusplus) && !defined(CINTERFACE)
  5435. MIDL_INTERFACE("8137828F-591A-4A42-BE58-49EA7EBAAC68")
  5436. ISpGrammarBuilder : public IUnknown
  5437. {
  5438. public:
  5439. virtual HRESULT STDMETHODCALLTYPE ResetGrammar(
  5440. /* [in] */ WORD NewLanguage) = 0;
  5441. virtual HRESULT STDMETHODCALLTYPE GetRule(
  5442. /* [in] */ const WCHAR *pszRuleName,
  5443. /* [in] */ DWORD dwRuleId,
  5444. /* [in] */ DWORD dwAttributes,
  5445. /* [in] */ BOOL fCreateIfNotExist,
  5446. /* [out] */ SPSTATEHANDLE *phInitialState) = 0;
  5447. virtual HRESULT STDMETHODCALLTYPE ClearRule(
  5448. SPSTATEHANDLE hState) = 0;
  5449. virtual HRESULT STDMETHODCALLTYPE CreateNewState(
  5450. SPSTATEHANDLE hState,
  5451. SPSTATEHANDLE *phState) = 0;
  5452. virtual HRESULT STDMETHODCALLTYPE AddWordTransition(
  5453. SPSTATEHANDLE hFromState,
  5454. SPSTATEHANDLE hToState,
  5455. const WCHAR *psz,
  5456. const WCHAR *pszSeperators,
  5457. SPGRAMMARWORDTYPE eWordType,
  5458. float Weight,
  5459. const SPPROPERTYINFO *pPropInfo) = 0;
  5460. virtual HRESULT STDMETHODCALLTYPE AddRuleTransition(
  5461. SPSTATEHANDLE hFromState,
  5462. SPSTATEHANDLE hToState,
  5463. SPSTATEHANDLE hRule,
  5464. float Weight,
  5465. const SPPROPERTYINFO *pPropInfo) = 0;
  5466. virtual HRESULT STDMETHODCALLTYPE AddResource(
  5467. /* [in] */ SPSTATEHANDLE hRuleState,
  5468. /* [in] */ const WCHAR *pszResourceName,
  5469. /* [in] */ const WCHAR *pszResourceValue) = 0;
  5470. virtual HRESULT STDMETHODCALLTYPE Commit(
  5471. DWORD dwReserved) = 0;
  5472. };
  5473. #else /* C style interface */
  5474. typedef struct ISpGrammarBuilderVtbl
  5475. {
  5476. BEGIN_INTERFACE
  5477. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5478. ISpGrammarBuilder * This,
  5479. /* [in] */ REFIID riid,
  5480. /* [iid_is][out] */ void **ppvObject);
  5481. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5482. ISpGrammarBuilder * This);
  5483. ULONG ( STDMETHODCALLTYPE *Release )(
  5484. ISpGrammarBuilder * This);
  5485. HRESULT ( STDMETHODCALLTYPE *ResetGrammar )(
  5486. ISpGrammarBuilder * This,
  5487. /* [in] */ WORD NewLanguage);
  5488. HRESULT ( STDMETHODCALLTYPE *GetRule )(
  5489. ISpGrammarBuilder * This,
  5490. /* [in] */ const WCHAR *pszRuleName,
  5491. /* [in] */ DWORD dwRuleId,
  5492. /* [in] */ DWORD dwAttributes,
  5493. /* [in] */ BOOL fCreateIfNotExist,
  5494. /* [out] */ SPSTATEHANDLE *phInitialState);
  5495. HRESULT ( STDMETHODCALLTYPE *ClearRule )(
  5496. ISpGrammarBuilder * This,
  5497. SPSTATEHANDLE hState);
  5498. HRESULT ( STDMETHODCALLTYPE *CreateNewState )(
  5499. ISpGrammarBuilder * This,
  5500. SPSTATEHANDLE hState,
  5501. SPSTATEHANDLE *phState);
  5502. HRESULT ( STDMETHODCALLTYPE *AddWordTransition )(
  5503. ISpGrammarBuilder * This,
  5504. SPSTATEHANDLE hFromState,
  5505. SPSTATEHANDLE hToState,
  5506. const WCHAR *psz,
  5507. const WCHAR *pszSeperators,
  5508. SPGRAMMARWORDTYPE eWordType,
  5509. float Weight,
  5510. const SPPROPERTYINFO *pPropInfo);
  5511. HRESULT ( STDMETHODCALLTYPE *AddRuleTransition )(
  5512. ISpGrammarBuilder * This,
  5513. SPSTATEHANDLE hFromState,
  5514. SPSTATEHANDLE hToState,
  5515. SPSTATEHANDLE hRule,
  5516. float Weight,
  5517. const SPPROPERTYINFO *pPropInfo);
  5518. HRESULT ( STDMETHODCALLTYPE *AddResource )(
  5519. ISpGrammarBuilder * This,
  5520. /* [in] */ SPSTATEHANDLE hRuleState,
  5521. /* [in] */ const WCHAR *pszResourceName,
  5522. /* [in] */ const WCHAR *pszResourceValue);
  5523. HRESULT ( STDMETHODCALLTYPE *Commit )(
  5524. ISpGrammarBuilder * This,
  5525. DWORD dwReserved);
  5526. END_INTERFACE
  5527. } ISpGrammarBuilderVtbl;
  5528. interface ISpGrammarBuilder
  5529. {
  5530. CONST_VTBL struct ISpGrammarBuilderVtbl *lpVtbl;
  5531. };
  5532. #ifdef COBJMACROS
  5533. #define ISpGrammarBuilder_QueryInterface(This,riid,ppvObject) \
  5534. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5535. #define ISpGrammarBuilder_AddRef(This) \
  5536. (This)->lpVtbl -> AddRef(This)
  5537. #define ISpGrammarBuilder_Release(This) \
  5538. (This)->lpVtbl -> Release(This)
  5539. #define ISpGrammarBuilder_ResetGrammar(This,NewLanguage) \
  5540. (This)->lpVtbl -> ResetGrammar(This,NewLanguage)
  5541. #define ISpGrammarBuilder_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) \
  5542. (This)->lpVtbl -> GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
  5543. #define ISpGrammarBuilder_ClearRule(This,hState) \
  5544. (This)->lpVtbl -> ClearRule(This,hState)
  5545. #define ISpGrammarBuilder_CreateNewState(This,hState,phState) \
  5546. (This)->lpVtbl -> CreateNewState(This,hState,phState)
  5547. #define ISpGrammarBuilder_AddWordTransition(This,hFromState,hToState,psz,pszSeperators,eWordType,Weight,pPropInfo) \
  5548. (This)->lpVtbl -> AddWordTransition(This,hFromState,hToState,psz,pszSeperators,eWordType,Weight,pPropInfo)
  5549. #define ISpGrammarBuilder_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) \
  5550. (This)->lpVtbl -> AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
  5551. #define ISpGrammarBuilder_AddResource(This,hRuleState,pszResourceName,pszResourceValue) \
  5552. (This)->lpVtbl -> AddResource(This,hRuleState,pszResourceName,pszResourceValue)
  5553. #define ISpGrammarBuilder_Commit(This,dwReserved) \
  5554. (This)->lpVtbl -> Commit(This,dwReserved)
  5555. #endif /* COBJMACROS */
  5556. #endif /* C style interface */
  5557. HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_ResetGrammar_Proxy(
  5558. ISpGrammarBuilder * This,
  5559. /* [in] */ WORD NewLanguage);
  5560. void __RPC_STUB ISpGrammarBuilder_ResetGrammar_Stub(
  5561. IRpcStubBuffer *This,
  5562. IRpcChannelBuffer *_pRpcChannelBuffer,
  5563. PRPC_MESSAGE _pRpcMessage,
  5564. DWORD *_pdwStubPhase);
  5565. HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_GetRule_Proxy(
  5566. ISpGrammarBuilder * This,
  5567. /* [in] */ const WCHAR *pszRuleName,
  5568. /* [in] */ DWORD dwRuleId,
  5569. /* [in] */ DWORD dwAttributes,
  5570. /* [in] */ BOOL fCreateIfNotExist,
  5571. /* [out] */ SPSTATEHANDLE *phInitialState);
  5572. void __RPC_STUB ISpGrammarBuilder_GetRule_Stub(
  5573. IRpcStubBuffer *This,
  5574. IRpcChannelBuffer *_pRpcChannelBuffer,
  5575. PRPC_MESSAGE _pRpcMessage,
  5576. DWORD *_pdwStubPhase);
  5577. HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_ClearRule_Proxy(
  5578. ISpGrammarBuilder * This,
  5579. SPSTATEHANDLE hState);
  5580. void __RPC_STUB ISpGrammarBuilder_ClearRule_Stub(
  5581. IRpcStubBuffer *This,
  5582. IRpcChannelBuffer *_pRpcChannelBuffer,
  5583. PRPC_MESSAGE _pRpcMessage,
  5584. DWORD *_pdwStubPhase);
  5585. HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_CreateNewState_Proxy(
  5586. ISpGrammarBuilder * This,
  5587. SPSTATEHANDLE hState,
  5588. SPSTATEHANDLE *phState);
  5589. void __RPC_STUB ISpGrammarBuilder_CreateNewState_Stub(
  5590. IRpcStubBuffer *This,
  5591. IRpcChannelBuffer *_pRpcChannelBuffer,
  5592. PRPC_MESSAGE _pRpcMessage,
  5593. DWORD *_pdwStubPhase);
  5594. HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddWordTransition_Proxy(
  5595. ISpGrammarBuilder * This,
  5596. SPSTATEHANDLE hFromState,
  5597. SPSTATEHANDLE hToState,
  5598. const WCHAR *psz,
  5599. const WCHAR *pszSeperators,
  5600. SPGRAMMARWORDTYPE eWordType,
  5601. float Weight,
  5602. const SPPROPERTYINFO *pPropInfo);
  5603. void __RPC_STUB ISpGrammarBuilder_AddWordTransition_Stub(
  5604. IRpcStubBuffer *This,
  5605. IRpcChannelBuffer *_pRpcChannelBuffer,
  5606. PRPC_MESSAGE _pRpcMessage,
  5607. DWORD *_pdwStubPhase);
  5608. HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddRuleTransition_Proxy(
  5609. ISpGrammarBuilder * This,
  5610. SPSTATEHANDLE hFromState,
  5611. SPSTATEHANDLE hToState,
  5612. SPSTATEHANDLE hRule,
  5613. float Weight,
  5614. const SPPROPERTYINFO *pPropInfo);
  5615. void __RPC_STUB ISpGrammarBuilder_AddRuleTransition_Stub(
  5616. IRpcStubBuffer *This,
  5617. IRpcChannelBuffer *_pRpcChannelBuffer,
  5618. PRPC_MESSAGE _pRpcMessage,
  5619. DWORD *_pdwStubPhase);
  5620. HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_AddResource_Proxy(
  5621. ISpGrammarBuilder * This,
  5622. /* [in] */ SPSTATEHANDLE hRuleState,
  5623. /* [in] */ const WCHAR *pszResourceName,
  5624. /* [in] */ const WCHAR *pszResourceValue);
  5625. void __RPC_STUB ISpGrammarBuilder_AddResource_Stub(
  5626. IRpcStubBuffer *This,
  5627. IRpcChannelBuffer *_pRpcChannelBuffer,
  5628. PRPC_MESSAGE _pRpcMessage,
  5629. DWORD *_pdwStubPhase);
  5630. HRESULT STDMETHODCALLTYPE ISpGrammarBuilder_Commit_Proxy(
  5631. ISpGrammarBuilder * This,
  5632. DWORD dwReserved);
  5633. void __RPC_STUB ISpGrammarBuilder_Commit_Stub(
  5634. IRpcStubBuffer *This,
  5635. IRpcChannelBuffer *_pRpcChannelBuffer,
  5636. PRPC_MESSAGE _pRpcMessage,
  5637. DWORD *_pdwStubPhase);
  5638. #endif /* __ISpGrammarBuilder_INTERFACE_DEFINED__ */
  5639. /* interface __MIDL_itf_sapi_0272 */
  5640. /* [local] */
  5641. typedef
  5642. enum SPLOADOPTIONS
  5643. { SPLO_STATIC = 0,
  5644. SPLO_DYNAMIC = 1
  5645. } SPLOADOPTIONS;
  5646. extern RPC_IF_HANDLE __MIDL_itf_sapi_0272_v0_0_c_ifspec;
  5647. extern RPC_IF_HANDLE __MIDL_itf_sapi_0272_v0_0_s_ifspec;
  5648. #ifndef __ISpRecoGrammar_INTERFACE_DEFINED__
  5649. #define __ISpRecoGrammar_INTERFACE_DEFINED__
  5650. /* interface ISpRecoGrammar */
  5651. /* [local][restricted][unique][helpstring][uuid][object] */
  5652. EXTERN_C const IID IID_ISpRecoGrammar;
  5653. #if defined(__cplusplus) && !defined(CINTERFACE)
  5654. MIDL_INTERFACE("2177DB29-7F45-47D0-8554-067E91C80502")
  5655. ISpRecoGrammar : public ISpGrammarBuilder
  5656. {
  5657. public:
  5658. virtual HRESULT STDMETHODCALLTYPE GetGrammarId(
  5659. /* [out] */ ULONGLONG *pullGrammarId) = 0;
  5660. virtual HRESULT STDMETHODCALLTYPE GetRecoContext(
  5661. /* [out] */ ISpRecoContext **ppRecoCtxt) = 0;
  5662. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromFile(
  5663. /* [string][in] */ const WCHAR *pszFileName,
  5664. /* [in] */ SPLOADOPTIONS Options) = 0;
  5665. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromObject(
  5666. /* [in] */ REFCLSID rcid,
  5667. /* [string][in] */ const WCHAR *pszGrammarName,
  5668. /* [in] */ SPLOADOPTIONS Options) = 0;
  5669. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromResource(
  5670. /* [in] */ HMODULE hModule,
  5671. /* [string][in] */ const WCHAR *pszResourceName,
  5672. /* [string][in] */ const WCHAR *pszResourceType,
  5673. /* [in] */ WORD wLanguage,
  5674. /* [in] */ SPLOADOPTIONS Options) = 0;
  5675. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromMemory(
  5676. /* [in] */ const SPBINARYGRAMMAR *pGrammar,
  5677. /* [in] */ SPLOADOPTIONS Options) = 0;
  5678. virtual HRESULT STDMETHODCALLTYPE LoadCmdFromProprietaryGrammar(
  5679. /* [in] */ REFGUID rguidParam,
  5680. /* [string][in] */ const WCHAR *pszStringParam,
  5681. /* [in] */ const void *pvDataPrarm,
  5682. /* [in] */ ULONG cbDataSize,
  5683. /* [in] */ SPLOADOPTIONS Options) = 0;
  5684. virtual HRESULT STDMETHODCALLTYPE SetRuleState(
  5685. /* [string][in] */ const WCHAR *pszName,
  5686. void *pReserved,
  5687. /* [in] */ SPRULESTATE NewState) = 0;
  5688. virtual HRESULT STDMETHODCALLTYPE SetRuleIdState(
  5689. /* [in] */ ULONG ulRuleId,
  5690. /* [in] */ SPRULESTATE NewState) = 0;
  5691. virtual HRESULT STDMETHODCALLTYPE LoadDictation(
  5692. /* [string][in] */ const WCHAR *pszTopicName,
  5693. /* [in] */ SPLOADOPTIONS Options) = 0;
  5694. virtual HRESULT STDMETHODCALLTYPE UnloadDictation( void) = 0;
  5695. virtual HRESULT STDMETHODCALLTYPE SetDictationState(
  5696. /* [in] */ SPRULESTATE NewState) = 0;
  5697. virtual HRESULT STDMETHODCALLTYPE SetWordSequenceData(
  5698. /* [in] */ const WCHAR *pText,
  5699. /* [in] */ ULONG cchText,
  5700. /* [in] */ const SPTEXTSELECTIONINFO *pInfo) = 0;
  5701. virtual HRESULT STDMETHODCALLTYPE SetTextSelection(
  5702. /* [in] */ const SPTEXTSELECTIONINFO *pInfo) = 0;
  5703. virtual HRESULT STDMETHODCALLTYPE IsPronounceable(
  5704. /* [string][in] */ const WCHAR *pszWord,
  5705. /* [out] */ BOOL *pfPronounciable) = 0;
  5706. virtual HRESULT STDMETHODCALLTYPE SetGrammarState(
  5707. /* [in] */ SPGRAMMARSTATE eGrammarState) = 0;
  5708. virtual HRESULT STDMETHODCALLTYPE SaveCmd(
  5709. /* [in] */ IStream *pStream,
  5710. /* [optional][out] */ WCHAR **ppszCoMemErrorText) = 0;
  5711. virtual HRESULT STDMETHODCALLTYPE GetGrammarState(
  5712. /* [out] */ SPGRAMMARSTATE *peGrammarState) = 0;
  5713. };
  5714. #else /* C style interface */
  5715. typedef struct ISpRecoGrammarVtbl
  5716. {
  5717. BEGIN_INTERFACE
  5718. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5719. ISpRecoGrammar * This,
  5720. /* [in] */ REFIID riid,
  5721. /* [iid_is][out] */ void **ppvObject);
  5722. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5723. ISpRecoGrammar * This);
  5724. ULONG ( STDMETHODCALLTYPE *Release )(
  5725. ISpRecoGrammar * This);
  5726. HRESULT ( STDMETHODCALLTYPE *ResetGrammar )(
  5727. ISpRecoGrammar * This,
  5728. /* [in] */ WORD NewLanguage);
  5729. HRESULT ( STDMETHODCALLTYPE *GetRule )(
  5730. ISpRecoGrammar * This,
  5731. /* [in] */ const WCHAR *pszRuleName,
  5732. /* [in] */ DWORD dwRuleId,
  5733. /* [in] */ DWORD dwAttributes,
  5734. /* [in] */ BOOL fCreateIfNotExist,
  5735. /* [out] */ SPSTATEHANDLE *phInitialState);
  5736. HRESULT ( STDMETHODCALLTYPE *ClearRule )(
  5737. ISpRecoGrammar * This,
  5738. SPSTATEHANDLE hState);
  5739. HRESULT ( STDMETHODCALLTYPE *CreateNewState )(
  5740. ISpRecoGrammar * This,
  5741. SPSTATEHANDLE hState,
  5742. SPSTATEHANDLE *phState);
  5743. HRESULT ( STDMETHODCALLTYPE *AddWordTransition )(
  5744. ISpRecoGrammar * This,
  5745. SPSTATEHANDLE hFromState,
  5746. SPSTATEHANDLE hToState,
  5747. const WCHAR *psz,
  5748. const WCHAR *pszSeperators,
  5749. SPGRAMMARWORDTYPE eWordType,
  5750. float Weight,
  5751. const SPPROPERTYINFO *pPropInfo);
  5752. HRESULT ( STDMETHODCALLTYPE *AddRuleTransition )(
  5753. ISpRecoGrammar * This,
  5754. SPSTATEHANDLE hFromState,
  5755. SPSTATEHANDLE hToState,
  5756. SPSTATEHANDLE hRule,
  5757. float Weight,
  5758. const SPPROPERTYINFO *pPropInfo);
  5759. HRESULT ( STDMETHODCALLTYPE *AddResource )(
  5760. ISpRecoGrammar * This,
  5761. /* [in] */ SPSTATEHANDLE hRuleState,
  5762. /* [in] */ const WCHAR *pszResourceName,
  5763. /* [in] */ const WCHAR *pszResourceValue);
  5764. HRESULT ( STDMETHODCALLTYPE *Commit )(
  5765. ISpRecoGrammar * This,
  5766. DWORD dwReserved);
  5767. HRESULT ( STDMETHODCALLTYPE *GetGrammarId )(
  5768. ISpRecoGrammar * This,
  5769. /* [out] */ ULONGLONG *pullGrammarId);
  5770. HRESULT ( STDMETHODCALLTYPE *GetRecoContext )(
  5771. ISpRecoGrammar * This,
  5772. /* [out] */ ISpRecoContext **ppRecoCtxt);
  5773. HRESULT ( STDMETHODCALLTYPE *LoadCmdFromFile )(
  5774. ISpRecoGrammar * This,
  5775. /* [string][in] */ const WCHAR *pszFileName,
  5776. /* [in] */ SPLOADOPTIONS Options);
  5777. HRESULT ( STDMETHODCALLTYPE *LoadCmdFromObject )(
  5778. ISpRecoGrammar * This,
  5779. /* [in] */ REFCLSID rcid,
  5780. /* [string][in] */ const WCHAR *pszGrammarName,
  5781. /* [in] */ SPLOADOPTIONS Options);
  5782. HRESULT ( STDMETHODCALLTYPE *LoadCmdFromResource )(
  5783. ISpRecoGrammar * This,
  5784. /* [in] */ HMODULE hModule,
  5785. /* [string][in] */ const WCHAR *pszResourceName,
  5786. /* [string][in] */ const WCHAR *pszResourceType,
  5787. /* [in] */ WORD wLanguage,
  5788. /* [in] */ SPLOADOPTIONS Options);
  5789. HRESULT ( STDMETHODCALLTYPE *LoadCmdFromMemory )(
  5790. ISpRecoGrammar * This,
  5791. /* [in] */ const SPBINARYGRAMMAR *pGrammar,
  5792. /* [in] */ SPLOADOPTIONS Options);
  5793. HRESULT ( STDMETHODCALLTYPE *LoadCmdFromProprietaryGrammar )(
  5794. ISpRecoGrammar * This,
  5795. /* [in] */ REFGUID rguidParam,
  5796. /* [string][in] */ const WCHAR *pszStringParam,
  5797. /* [in] */ const void *pvDataPrarm,
  5798. /* [in] */ ULONG cbDataSize,
  5799. /* [in] */ SPLOADOPTIONS Options);
  5800. HRESULT ( STDMETHODCALLTYPE *SetRuleState )(
  5801. ISpRecoGrammar * This,
  5802. /* [string][in] */ const WCHAR *pszName,
  5803. void *pReserved,
  5804. /* [in] */ SPRULESTATE NewState);
  5805. HRESULT ( STDMETHODCALLTYPE *SetRuleIdState )(
  5806. ISpRecoGrammar * This,
  5807. /* [in] */ ULONG ulRuleId,
  5808. /* [in] */ SPRULESTATE NewState);
  5809. HRESULT ( STDMETHODCALLTYPE *LoadDictation )(
  5810. ISpRecoGrammar * This,
  5811. /* [string][in] */ const WCHAR *pszTopicName,
  5812. /* [in] */ SPLOADOPTIONS Options);
  5813. HRESULT ( STDMETHODCALLTYPE *UnloadDictation )(
  5814. ISpRecoGrammar * This);
  5815. HRESULT ( STDMETHODCALLTYPE *SetDictationState )(
  5816. ISpRecoGrammar * This,
  5817. /* [in] */ SPRULESTATE NewState);
  5818. HRESULT ( STDMETHODCALLTYPE *SetWordSequenceData )(
  5819. ISpRecoGrammar * This,
  5820. /* [in] */ const WCHAR *pText,
  5821. /* [in] */ ULONG cchText,
  5822. /* [in] */ const SPTEXTSELECTIONINFO *pInfo);
  5823. HRESULT ( STDMETHODCALLTYPE *SetTextSelection )(
  5824. ISpRecoGrammar * This,
  5825. /* [in] */ const SPTEXTSELECTIONINFO *pInfo);
  5826. HRESULT ( STDMETHODCALLTYPE *IsPronounceable )(
  5827. ISpRecoGrammar * This,
  5828. /* [string][in] */ const WCHAR *pszWord,
  5829. /* [out] */ BOOL *pfPronounciable);
  5830. HRESULT ( STDMETHODCALLTYPE *SetGrammarState )(
  5831. ISpRecoGrammar * This,
  5832. /* [in] */ SPGRAMMARSTATE eGrammarState);
  5833. HRESULT ( STDMETHODCALLTYPE *SaveCmd )(
  5834. ISpRecoGrammar * This,
  5835. /* [in] */ IStream *pStream,
  5836. /* [optional][out] */ WCHAR **ppszCoMemErrorText);
  5837. HRESULT ( STDMETHODCALLTYPE *GetGrammarState )(
  5838. ISpRecoGrammar * This,
  5839. /* [out] */ SPGRAMMARSTATE *peGrammarState);
  5840. END_INTERFACE
  5841. } ISpRecoGrammarVtbl;
  5842. interface ISpRecoGrammar
  5843. {
  5844. CONST_VTBL struct ISpRecoGrammarVtbl *lpVtbl;
  5845. };
  5846. #ifdef COBJMACROS
  5847. #define ISpRecoGrammar_QueryInterface(This,riid,ppvObject) \
  5848. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5849. #define ISpRecoGrammar_AddRef(This) \
  5850. (This)->lpVtbl -> AddRef(This)
  5851. #define ISpRecoGrammar_Release(This) \
  5852. (This)->lpVtbl -> Release(This)
  5853. #define ISpRecoGrammar_ResetGrammar(This,NewLanguage) \
  5854. (This)->lpVtbl -> ResetGrammar(This,NewLanguage)
  5855. #define ISpRecoGrammar_GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState) \
  5856. (This)->lpVtbl -> GetRule(This,pszRuleName,dwRuleId,dwAttributes,fCreateIfNotExist,phInitialState)
  5857. #define ISpRecoGrammar_ClearRule(This,hState) \
  5858. (This)->lpVtbl -> ClearRule(This,hState)
  5859. #define ISpRecoGrammar_CreateNewState(This,hState,phState) \
  5860. (This)->lpVtbl -> CreateNewState(This,hState,phState)
  5861. #define ISpRecoGrammar_AddWordTransition(This,hFromState,hToState,psz,pszSeperators,eWordType,Weight,pPropInfo) \
  5862. (This)->lpVtbl -> AddWordTransition(This,hFromState,hToState,psz,pszSeperators,eWordType,Weight,pPropInfo)
  5863. #define ISpRecoGrammar_AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo) \
  5864. (This)->lpVtbl -> AddRuleTransition(This,hFromState,hToState,hRule,Weight,pPropInfo)
  5865. #define ISpRecoGrammar_AddResource(This,hRuleState,pszResourceName,pszResourceValue) \
  5866. (This)->lpVtbl -> AddResource(This,hRuleState,pszResourceName,pszResourceValue)
  5867. #define ISpRecoGrammar_Commit(This,dwReserved) \
  5868. (This)->lpVtbl -> Commit(This,dwReserved)
  5869. #define ISpRecoGrammar_GetGrammarId(This,pullGrammarId) \
  5870. (This)->lpVtbl -> GetGrammarId(This,pullGrammarId)
  5871. #define ISpRecoGrammar_GetRecoContext(This,ppRecoCtxt) \
  5872. (This)->lpVtbl -> GetRecoContext(This,ppRecoCtxt)
  5873. #define ISpRecoGrammar_LoadCmdFromFile(This,pszFileName,Options) \
  5874. (This)->lpVtbl -> LoadCmdFromFile(This,pszFileName,Options)
  5875. #define ISpRecoGrammar_LoadCmdFromObject(This,rcid,pszGrammarName,Options) \
  5876. (This)->lpVtbl -> LoadCmdFromObject(This,rcid,pszGrammarName,Options)
  5877. #define ISpRecoGrammar_LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options) \
  5878. (This)->lpVtbl -> LoadCmdFromResource(This,hModule,pszResourceName,pszResourceType,wLanguage,Options)
  5879. #define ISpRecoGrammar_LoadCmdFromMemory(This,pGrammar,Options) \
  5880. (This)->lpVtbl -> LoadCmdFromMemory(This,pGrammar,Options)
  5881. #define ISpRecoGrammar_LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options) \
  5882. (This)->lpVtbl -> LoadCmdFromProprietaryGrammar(This,rguidParam,pszStringParam,pvDataPrarm,cbDataSize,Options)
  5883. #define ISpRecoGrammar_SetRuleState(This,pszName,pReserved,NewState) \
  5884. (This)->lpVtbl -> SetRuleState(This,pszName,pReserved,NewState)
  5885. #define ISpRecoGrammar_SetRuleIdState(This,ulRuleId,NewState) \
  5886. (This)->lpVtbl -> SetRuleIdState(This,ulRuleId,NewState)
  5887. #define ISpRecoGrammar_LoadDictation(This,pszTopicName,Options) \
  5888. (This)->lpVtbl -> LoadDictation(This,pszTopicName,Options)
  5889. #define ISpRecoGrammar_UnloadDictation(This) \
  5890. (This)->lpVtbl -> UnloadDictation(This)
  5891. #define ISpRecoGrammar_SetDictationState(This,NewState) \
  5892. (This)->lpVtbl -> SetDictationState(This,NewState)
  5893. #define ISpRecoGrammar_SetWordSequenceData(This,pText,cchText,pInfo) \
  5894. (This)->lpVtbl -> SetWordSequenceData(This,pText,cchText,pInfo)
  5895. #define ISpRecoGrammar_SetTextSelection(This,pInfo) \
  5896. (This)->lpVtbl -> SetTextSelection(This,pInfo)
  5897. #define ISpRecoGrammar_IsPronounceable(This,pszWord,pfPronounciable) \
  5898. (This)->lpVtbl -> IsPronounceable(This,pszWord,pfPronounciable)
  5899. #define ISpRecoGrammar_SetGrammarState(This,eGrammarState) \
  5900. (This)->lpVtbl -> SetGrammarState(This,eGrammarState)
  5901. #define ISpRecoGrammar_SaveCmd(This,pStream,ppszCoMemErrorText) \
  5902. (This)->lpVtbl -> SaveCmd(This,pStream,ppszCoMemErrorText)
  5903. #define ISpRecoGrammar_GetGrammarState(This,peGrammarState) \
  5904. (This)->lpVtbl -> GetGrammarState(This,peGrammarState)
  5905. #endif /* COBJMACROS */
  5906. #endif /* C style interface */
  5907. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetGrammarId_Proxy(
  5908. ISpRecoGrammar * This,
  5909. /* [out] */ ULONGLONG *pullGrammarId);
  5910. void __RPC_STUB ISpRecoGrammar_GetGrammarId_Stub(
  5911. IRpcStubBuffer *This,
  5912. IRpcChannelBuffer *_pRpcChannelBuffer,
  5913. PRPC_MESSAGE _pRpcMessage,
  5914. DWORD *_pdwStubPhase);
  5915. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetRecoContext_Proxy(
  5916. ISpRecoGrammar * This,
  5917. /* [out] */ ISpRecoContext **ppRecoCtxt);
  5918. void __RPC_STUB ISpRecoGrammar_GetRecoContext_Stub(
  5919. IRpcStubBuffer *This,
  5920. IRpcChannelBuffer *_pRpcChannelBuffer,
  5921. PRPC_MESSAGE _pRpcMessage,
  5922. DWORD *_pdwStubPhase);
  5923. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromFile_Proxy(
  5924. ISpRecoGrammar * This,
  5925. /* [string][in] */ const WCHAR *pszFileName,
  5926. /* [in] */ SPLOADOPTIONS Options);
  5927. void __RPC_STUB ISpRecoGrammar_LoadCmdFromFile_Stub(
  5928. IRpcStubBuffer *This,
  5929. IRpcChannelBuffer *_pRpcChannelBuffer,
  5930. PRPC_MESSAGE _pRpcMessage,
  5931. DWORD *_pdwStubPhase);
  5932. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromObject_Proxy(
  5933. ISpRecoGrammar * This,
  5934. /* [in] */ REFCLSID rcid,
  5935. /* [string][in] */ const WCHAR *pszGrammarName,
  5936. /* [in] */ SPLOADOPTIONS Options);
  5937. void __RPC_STUB ISpRecoGrammar_LoadCmdFromObject_Stub(
  5938. IRpcStubBuffer *This,
  5939. IRpcChannelBuffer *_pRpcChannelBuffer,
  5940. PRPC_MESSAGE _pRpcMessage,
  5941. DWORD *_pdwStubPhase);
  5942. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromResource_Proxy(
  5943. ISpRecoGrammar * This,
  5944. /* [in] */ HMODULE hModule,
  5945. /* [string][in] */ const WCHAR *pszResourceName,
  5946. /* [string][in] */ const WCHAR *pszResourceType,
  5947. /* [in] */ WORD wLanguage,
  5948. /* [in] */ SPLOADOPTIONS Options);
  5949. void __RPC_STUB ISpRecoGrammar_LoadCmdFromResource_Stub(
  5950. IRpcStubBuffer *This,
  5951. IRpcChannelBuffer *_pRpcChannelBuffer,
  5952. PRPC_MESSAGE _pRpcMessage,
  5953. DWORD *_pdwStubPhase);
  5954. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromMemory_Proxy(
  5955. ISpRecoGrammar * This,
  5956. /* [in] */ const SPBINARYGRAMMAR *pGrammar,
  5957. /* [in] */ SPLOADOPTIONS Options);
  5958. void __RPC_STUB ISpRecoGrammar_LoadCmdFromMemory_Stub(
  5959. IRpcStubBuffer *This,
  5960. IRpcChannelBuffer *_pRpcChannelBuffer,
  5961. PRPC_MESSAGE _pRpcMessage,
  5962. DWORD *_pdwStubPhase);
  5963. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadCmdFromProprietaryGrammar_Proxy(
  5964. ISpRecoGrammar * This,
  5965. /* [in] */ REFGUID rguidParam,
  5966. /* [string][in] */ const WCHAR *pszStringParam,
  5967. /* [in] */ const void *pvDataPrarm,
  5968. /* [in] */ ULONG cbDataSize,
  5969. /* [in] */ SPLOADOPTIONS Options);
  5970. void __RPC_STUB ISpRecoGrammar_LoadCmdFromProprietaryGrammar_Stub(
  5971. IRpcStubBuffer *This,
  5972. IRpcChannelBuffer *_pRpcChannelBuffer,
  5973. PRPC_MESSAGE _pRpcMessage,
  5974. DWORD *_pdwStubPhase);
  5975. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetRuleState_Proxy(
  5976. ISpRecoGrammar * This,
  5977. /* [string][in] */ const WCHAR *pszName,
  5978. void *pReserved,
  5979. /* [in] */ SPRULESTATE NewState);
  5980. void __RPC_STUB ISpRecoGrammar_SetRuleState_Stub(
  5981. IRpcStubBuffer *This,
  5982. IRpcChannelBuffer *_pRpcChannelBuffer,
  5983. PRPC_MESSAGE _pRpcMessage,
  5984. DWORD *_pdwStubPhase);
  5985. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetRuleIdState_Proxy(
  5986. ISpRecoGrammar * This,
  5987. /* [in] */ ULONG ulRuleId,
  5988. /* [in] */ SPRULESTATE NewState);
  5989. void __RPC_STUB ISpRecoGrammar_SetRuleIdState_Stub(
  5990. IRpcStubBuffer *This,
  5991. IRpcChannelBuffer *_pRpcChannelBuffer,
  5992. PRPC_MESSAGE _pRpcMessage,
  5993. DWORD *_pdwStubPhase);
  5994. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_LoadDictation_Proxy(
  5995. ISpRecoGrammar * This,
  5996. /* [string][in] */ const WCHAR *pszTopicName,
  5997. /* [in] */ SPLOADOPTIONS Options);
  5998. void __RPC_STUB ISpRecoGrammar_LoadDictation_Stub(
  5999. IRpcStubBuffer *This,
  6000. IRpcChannelBuffer *_pRpcChannelBuffer,
  6001. PRPC_MESSAGE _pRpcMessage,
  6002. DWORD *_pdwStubPhase);
  6003. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_UnloadDictation_Proxy(
  6004. ISpRecoGrammar * This);
  6005. void __RPC_STUB ISpRecoGrammar_UnloadDictation_Stub(
  6006. IRpcStubBuffer *This,
  6007. IRpcChannelBuffer *_pRpcChannelBuffer,
  6008. PRPC_MESSAGE _pRpcMessage,
  6009. DWORD *_pdwStubPhase);
  6010. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetDictationState_Proxy(
  6011. ISpRecoGrammar * This,
  6012. /* [in] */ SPRULESTATE NewState);
  6013. void __RPC_STUB ISpRecoGrammar_SetDictationState_Stub(
  6014. IRpcStubBuffer *This,
  6015. IRpcChannelBuffer *_pRpcChannelBuffer,
  6016. PRPC_MESSAGE _pRpcMessage,
  6017. DWORD *_pdwStubPhase);
  6018. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetWordSequenceData_Proxy(
  6019. ISpRecoGrammar * This,
  6020. /* [in] */ const WCHAR *pText,
  6021. /* [in] */ ULONG cchText,
  6022. /* [in] */ const SPTEXTSELECTIONINFO *pInfo);
  6023. void __RPC_STUB ISpRecoGrammar_SetWordSequenceData_Stub(
  6024. IRpcStubBuffer *This,
  6025. IRpcChannelBuffer *_pRpcChannelBuffer,
  6026. PRPC_MESSAGE _pRpcMessage,
  6027. DWORD *_pdwStubPhase);
  6028. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetTextSelection_Proxy(
  6029. ISpRecoGrammar * This,
  6030. /* [in] */ const SPTEXTSELECTIONINFO *pInfo);
  6031. void __RPC_STUB ISpRecoGrammar_SetTextSelection_Stub(
  6032. IRpcStubBuffer *This,
  6033. IRpcChannelBuffer *_pRpcChannelBuffer,
  6034. PRPC_MESSAGE _pRpcMessage,
  6035. DWORD *_pdwStubPhase);
  6036. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_IsPronounceable_Proxy(
  6037. ISpRecoGrammar * This,
  6038. /* [string][in] */ const WCHAR *pszWord,
  6039. /* [out] */ BOOL *pfPronounciable);
  6040. void __RPC_STUB ISpRecoGrammar_IsPronounceable_Stub(
  6041. IRpcStubBuffer *This,
  6042. IRpcChannelBuffer *_pRpcChannelBuffer,
  6043. PRPC_MESSAGE _pRpcMessage,
  6044. DWORD *_pdwStubPhase);
  6045. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SetGrammarState_Proxy(
  6046. ISpRecoGrammar * This,
  6047. /* [in] */ SPGRAMMARSTATE eGrammarState);
  6048. void __RPC_STUB ISpRecoGrammar_SetGrammarState_Stub(
  6049. IRpcStubBuffer *This,
  6050. IRpcChannelBuffer *_pRpcChannelBuffer,
  6051. PRPC_MESSAGE _pRpcMessage,
  6052. DWORD *_pdwStubPhase);
  6053. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_SaveCmd_Proxy(
  6054. ISpRecoGrammar * This,
  6055. /* [in] */ IStream *pStream,
  6056. /* [optional][out] */ WCHAR **ppszCoMemErrorText);
  6057. void __RPC_STUB ISpRecoGrammar_SaveCmd_Stub(
  6058. IRpcStubBuffer *This,
  6059. IRpcChannelBuffer *_pRpcChannelBuffer,
  6060. PRPC_MESSAGE _pRpcMessage,
  6061. DWORD *_pdwStubPhase);
  6062. HRESULT STDMETHODCALLTYPE ISpRecoGrammar_GetGrammarState_Proxy(
  6063. ISpRecoGrammar * This,
  6064. /* [out] */ SPGRAMMARSTATE *peGrammarState);
  6065. void __RPC_STUB ISpRecoGrammar_GetGrammarState_Stub(
  6066. IRpcStubBuffer *This,
  6067. IRpcChannelBuffer *_pRpcChannelBuffer,
  6068. PRPC_MESSAGE _pRpcMessage,
  6069. DWORD *_pdwStubPhase);
  6070. #endif /* __ISpRecoGrammar_INTERFACE_DEFINED__ */
  6071. /* interface __MIDL_itf_sapi_0273 */
  6072. /* [local] */
  6073. typedef /* [restricted] */ struct SPRECOCONTEXTSTATUS
  6074. {
  6075. SPINTERFERENCE eInterference;
  6076. WCHAR szRequestTypeOfUI[ 255 ];
  6077. DWORD dwReserved1;
  6078. DWORD dwReserved2;
  6079. } SPRECOCONTEXTSTATUS;
  6080. typedef
  6081. enum SPBOOKMARKOPTIONS
  6082. { SPBO_NONE = 0,
  6083. SPBO_PAUSE = 1
  6084. } SPBOOKMARKOPTIONS;
  6085. typedef
  6086. enum SPAUDIOOPTIONS
  6087. { SPAO_NONE = 0,
  6088. SPAO_RETAIN_AUDIO = 1 << 0
  6089. } SPAUDIOOPTIONS;
  6090. extern RPC_IF_HANDLE __MIDL_itf_sapi_0273_v0_0_c_ifspec;
  6091. extern RPC_IF_HANDLE __MIDL_itf_sapi_0273_v0_0_s_ifspec;
  6092. #ifndef __ISpRecoContext_INTERFACE_DEFINED__
  6093. #define __ISpRecoContext_INTERFACE_DEFINED__
  6094. /* interface ISpRecoContext */
  6095. /* [restricted][local][unique][helpstring][uuid][object] */
  6096. EXTERN_C const IID IID_ISpRecoContext;
  6097. #if defined(__cplusplus) && !defined(CINTERFACE)
  6098. MIDL_INTERFACE("F740A62F-7C15-489E-8234-940A33D9272D")
  6099. ISpRecoContext : public ISpEventSource
  6100. {
  6101. public:
  6102. virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
  6103. /* [out] */ ISpRecognizer **ppRecognizer) = 0;
  6104. virtual HRESULT STDMETHODCALLTYPE CreateGrammar(
  6105. /* [in] */ ULONGLONG ullGrammarId,
  6106. /* [out] */ ISpRecoGrammar **ppGrammar) = 0;
  6107. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  6108. /* [out] */ SPRECOCONTEXTSTATUS *pStatus) = 0;
  6109. virtual HRESULT STDMETHODCALLTYPE GetMaxAlternates(
  6110. /* [in] */ ULONG *pcAlternates) = 0;
  6111. virtual HRESULT STDMETHODCALLTYPE SetMaxAlternates(
  6112. /* [in] */ ULONG cAlternates) = 0;
  6113. virtual HRESULT STDMETHODCALLTYPE SetAudioOptions(
  6114. /* [in] */ SPAUDIOOPTIONS Options,
  6115. /* [in] */ const GUID *pAudioFormatId,
  6116. /* [in] */ const WAVEFORMATEX *pWaveFormatEx) = 0;
  6117. virtual HRESULT STDMETHODCALLTYPE GetAudioOptions(
  6118. /* [in] */ SPAUDIOOPTIONS *pOptions,
  6119. /* [out] */ GUID *pAudioFormatId,
  6120. /* [out] */ WAVEFORMATEX **ppCoMemWFEX) = 0;
  6121. virtual HRESULT STDMETHODCALLTYPE DeserializeResult(
  6122. /* [in] */ const SPSERIALIZEDRESULT *pSerializedResult,
  6123. /* [out] */ ISpRecoResult **ppResult) = 0;
  6124. virtual HRESULT STDMETHODCALLTYPE Bookmark(
  6125. /* [in] */ SPBOOKMARKOPTIONS Options,
  6126. /* [in] */ ULONGLONG ullStreamPosition,
  6127. /* [in] */ LPARAM lparamEvent) = 0;
  6128. virtual HRESULT STDMETHODCALLTYPE SetAdaptationData(
  6129. /* [string][in] */ const WCHAR *pAdaptationData,
  6130. /* [in] */ const ULONG cch) = 0;
  6131. virtual HRESULT STDMETHODCALLTYPE Pause(
  6132. DWORD dwReserved) = 0;
  6133. virtual HRESULT STDMETHODCALLTYPE Resume(
  6134. DWORD dwReserved) = 0;
  6135. virtual HRESULT STDMETHODCALLTYPE SetVoice(
  6136. /* [in] */ ISpVoice *pVoice,
  6137. /* [in] */ BOOL fAllowFormatChanges) = 0;
  6138. virtual HRESULT STDMETHODCALLTYPE GetVoice(
  6139. /* [out] */ ISpVoice **ppVoice) = 0;
  6140. virtual HRESULT STDMETHODCALLTYPE SetVoicePurgeEvent(
  6141. /* [in] */ ULONGLONG ullEventInterest) = 0;
  6142. virtual HRESULT STDMETHODCALLTYPE GetVoicePurgeEvent(
  6143. /* [out] */ ULONGLONG *pullEventInterest) = 0;
  6144. virtual HRESULT STDMETHODCALLTYPE SetContextState(
  6145. /* [in] */ SPCONTEXTSTATE eContextState) = 0;
  6146. virtual HRESULT STDMETHODCALLTYPE GetContextState(
  6147. /* [in] */ SPCONTEXTSTATE *peContextState) = 0;
  6148. };
  6149. #else /* C style interface */
  6150. typedef struct ISpRecoContextVtbl
  6151. {
  6152. BEGIN_INTERFACE
  6153. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6154. ISpRecoContext * This,
  6155. /* [in] */ REFIID riid,
  6156. /* [iid_is][out] */ void **ppvObject);
  6157. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6158. ISpRecoContext * This);
  6159. ULONG ( STDMETHODCALLTYPE *Release )(
  6160. ISpRecoContext * This);
  6161. HRESULT ( STDMETHODCALLTYPE *SetNotifySink )(
  6162. ISpRecoContext * This,
  6163. /* [in] */ ISpNotifySink *pNotifySink);
  6164. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWindowMessage )(
  6165. ISpRecoContext * This,
  6166. /* [in] */ HWND hWnd,
  6167. /* [in] */ UINT Msg,
  6168. /* [in] */ WPARAM wParam,
  6169. /* [in] */ LPARAM lParam);
  6170. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackFunction )(
  6171. ISpRecoContext * This,
  6172. /* [in] */ SPNOTIFYCALLBACK *pfnCallback,
  6173. /* [in] */ WPARAM wParam,
  6174. /* [in] */ LPARAM lParam);
  6175. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyCallbackInterface )(
  6176. ISpRecoContext * This,
  6177. /* [in] */ ISpNotifyCallback *pSpCallback,
  6178. /* [in] */ WPARAM wParam,
  6179. /* [in] */ LPARAM lParam);
  6180. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWin32Event )(
  6181. ISpRecoContext * This);
  6182. /* [local] */ HRESULT ( STDMETHODCALLTYPE *WaitForNotifyEvent )(
  6183. ISpRecoContext * This,
  6184. /* [in] */ DWORD dwMilliseconds);
  6185. /* [local] */ HANDLE ( STDMETHODCALLTYPE *GetNotifyEventHandle )(
  6186. ISpRecoContext * This);
  6187. HRESULT ( STDMETHODCALLTYPE *SetInterest )(
  6188. ISpRecoContext * This,
  6189. /* [in] */ ULONGLONG ullEventInterest,
  6190. /* [in] */ ULONGLONG ullQueuedInterest);
  6191. HRESULT ( STDMETHODCALLTYPE *GetEvents )(
  6192. ISpRecoContext * This,
  6193. /* [in] */ ULONG ulCount,
  6194. /* [size_is][out] */ SPEVENT *pEventArray,
  6195. /* [out] */ ULONG *pulFetched);
  6196. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  6197. ISpRecoContext * This,
  6198. /* [out] */ SPEVENTSOURCEINFO *pInfo);
  6199. HRESULT ( STDMETHODCALLTYPE *GetRecognizer )(
  6200. ISpRecoContext * This,
  6201. /* [out] */ ISpRecognizer **ppRecognizer);
  6202. HRESULT ( STDMETHODCALLTYPE *CreateGrammar )(
  6203. ISpRecoContext * This,
  6204. /* [in] */ ULONGLONG ullGrammarId,
  6205. /* [out] */ ISpRecoGrammar **ppGrammar);
  6206. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  6207. ISpRecoContext * This,
  6208. /* [out] */ SPRECOCONTEXTSTATUS *pStatus);
  6209. HRESULT ( STDMETHODCALLTYPE *GetMaxAlternates )(
  6210. ISpRecoContext * This,
  6211. /* [in] */ ULONG *pcAlternates);
  6212. HRESULT ( STDMETHODCALLTYPE *SetMaxAlternates )(
  6213. ISpRecoContext * This,
  6214. /* [in] */ ULONG cAlternates);
  6215. HRESULT ( STDMETHODCALLTYPE *SetAudioOptions )(
  6216. ISpRecoContext * This,
  6217. /* [in] */ SPAUDIOOPTIONS Options,
  6218. /* [in] */ const GUID *pAudioFormatId,
  6219. /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
  6220. HRESULT ( STDMETHODCALLTYPE *GetAudioOptions )(
  6221. ISpRecoContext * This,
  6222. /* [in] */ SPAUDIOOPTIONS *pOptions,
  6223. /* [out] */ GUID *pAudioFormatId,
  6224. /* [out] */ WAVEFORMATEX **ppCoMemWFEX);
  6225. HRESULT ( STDMETHODCALLTYPE *DeserializeResult )(
  6226. ISpRecoContext * This,
  6227. /* [in] */ const SPSERIALIZEDRESULT *pSerializedResult,
  6228. /* [out] */ ISpRecoResult **ppResult);
  6229. HRESULT ( STDMETHODCALLTYPE *Bookmark )(
  6230. ISpRecoContext * This,
  6231. /* [in] */ SPBOOKMARKOPTIONS Options,
  6232. /* [in] */ ULONGLONG ullStreamPosition,
  6233. /* [in] */ LPARAM lparamEvent);
  6234. HRESULT ( STDMETHODCALLTYPE *SetAdaptationData )(
  6235. ISpRecoContext * This,
  6236. /* [string][in] */ const WCHAR *pAdaptationData,
  6237. /* [in] */ const ULONG cch);
  6238. HRESULT ( STDMETHODCALLTYPE *Pause )(
  6239. ISpRecoContext * This,
  6240. DWORD dwReserved);
  6241. HRESULT ( STDMETHODCALLTYPE *Resume )(
  6242. ISpRecoContext * This,
  6243. DWORD dwReserved);
  6244. HRESULT ( STDMETHODCALLTYPE *SetVoice )(
  6245. ISpRecoContext * This,
  6246. /* [in] */ ISpVoice *pVoice,
  6247. /* [in] */ BOOL fAllowFormatChanges);
  6248. HRESULT ( STDMETHODCALLTYPE *GetVoice )(
  6249. ISpRecoContext * This,
  6250. /* [out] */ ISpVoice **ppVoice);
  6251. HRESULT ( STDMETHODCALLTYPE *SetVoicePurgeEvent )(
  6252. ISpRecoContext * This,
  6253. /* [in] */ ULONGLONG ullEventInterest);
  6254. HRESULT ( STDMETHODCALLTYPE *GetVoicePurgeEvent )(
  6255. ISpRecoContext * This,
  6256. /* [out] */ ULONGLONG *pullEventInterest);
  6257. HRESULT ( STDMETHODCALLTYPE *SetContextState )(
  6258. ISpRecoContext * This,
  6259. /* [in] */ SPCONTEXTSTATE eContextState);
  6260. HRESULT ( STDMETHODCALLTYPE *GetContextState )(
  6261. ISpRecoContext * This,
  6262. /* [in] */ SPCONTEXTSTATE *peContextState);
  6263. END_INTERFACE
  6264. } ISpRecoContextVtbl;
  6265. interface ISpRecoContext
  6266. {
  6267. CONST_VTBL struct ISpRecoContextVtbl *lpVtbl;
  6268. };
  6269. #ifdef COBJMACROS
  6270. #define ISpRecoContext_QueryInterface(This,riid,ppvObject) \
  6271. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6272. #define ISpRecoContext_AddRef(This) \
  6273. (This)->lpVtbl -> AddRef(This)
  6274. #define ISpRecoContext_Release(This) \
  6275. (This)->lpVtbl -> Release(This)
  6276. #define ISpRecoContext_SetNotifySink(This,pNotifySink) \
  6277. (This)->lpVtbl -> SetNotifySink(This,pNotifySink)
  6278. #define ISpRecoContext_SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam) \
  6279. (This)->lpVtbl -> SetNotifyWindowMessage(This,hWnd,Msg,wParam,lParam)
  6280. #define ISpRecoContext_SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam) \
  6281. (This)->lpVtbl -> SetNotifyCallbackFunction(This,pfnCallback,wParam,lParam)
  6282. #define ISpRecoContext_SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam) \
  6283. (This)->lpVtbl -> SetNotifyCallbackInterface(This,pSpCallback,wParam,lParam)
  6284. #define ISpRecoContext_SetNotifyWin32Event(This) \
  6285. (This)->lpVtbl -> SetNotifyWin32Event(This)
  6286. #define ISpRecoContext_WaitForNotifyEvent(This,dwMilliseconds) \
  6287. (This)->lpVtbl -> WaitForNotifyEvent(This,dwMilliseconds)
  6288. #define ISpRecoContext_GetNotifyEventHandle(This) \
  6289. (This)->lpVtbl -> GetNotifyEventHandle(This)
  6290. #define ISpRecoContext_SetInterest(This,ullEventInterest,ullQueuedInterest) \
  6291. (This)->lpVtbl -> SetInterest(This,ullEventInterest,ullQueuedInterest)
  6292. #define ISpRecoContext_GetEvents(This,ulCount,pEventArray,pulFetched) \
  6293. (This)->lpVtbl -> GetEvents(This,ulCount,pEventArray,pulFetched)
  6294. #define ISpRecoContext_GetInfo(This,pInfo) \
  6295. (This)->lpVtbl -> GetInfo(This,pInfo)
  6296. #define ISpRecoContext_GetRecognizer(This,ppRecognizer) \
  6297. (This)->lpVtbl -> GetRecognizer(This,ppRecognizer)
  6298. #define ISpRecoContext_CreateGrammar(This,ullGrammarId,ppGrammar) \
  6299. (This)->lpVtbl -> CreateGrammar(This,ullGrammarId,ppGrammar)
  6300. #define ISpRecoContext_GetStatus(This,pStatus) \
  6301. (This)->lpVtbl -> GetStatus(This,pStatus)
  6302. #define ISpRecoContext_GetMaxAlternates(This,pcAlternates) \
  6303. (This)->lpVtbl -> GetMaxAlternates(This,pcAlternates)
  6304. #define ISpRecoContext_SetMaxAlternates(This,cAlternates) \
  6305. (This)->lpVtbl -> SetMaxAlternates(This,cAlternates)
  6306. #define ISpRecoContext_SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx) \
  6307. (This)->lpVtbl -> SetAudioOptions(This,Options,pAudioFormatId,pWaveFormatEx)
  6308. #define ISpRecoContext_GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX) \
  6309. (This)->lpVtbl -> GetAudioOptions(This,pOptions,pAudioFormatId,ppCoMemWFEX)
  6310. #define ISpRecoContext_DeserializeResult(This,pSerializedResult,ppResult) \
  6311. (This)->lpVtbl -> DeserializeResult(This,pSerializedResult,ppResult)
  6312. #define ISpRecoContext_Bookmark(This,Options,ullStreamPosition,lparamEvent) \
  6313. (This)->lpVtbl -> Bookmark(This,Options,ullStreamPosition,lparamEvent)
  6314. #define ISpRecoContext_SetAdaptationData(This,pAdaptationData,cch) \
  6315. (This)->lpVtbl -> SetAdaptationData(This,pAdaptationData,cch)
  6316. #define ISpRecoContext_Pause(This,dwReserved) \
  6317. (This)->lpVtbl -> Pause(This,dwReserved)
  6318. #define ISpRecoContext_Resume(This,dwReserved) \
  6319. (This)->lpVtbl -> Resume(This,dwReserved)
  6320. #define ISpRecoContext_SetVoice(This,pVoice,fAllowFormatChanges) \
  6321. (This)->lpVtbl -> SetVoice(This,pVoice,fAllowFormatChanges)
  6322. #define ISpRecoContext_GetVoice(This,ppVoice) \
  6323. (This)->lpVtbl -> GetVoice(This,ppVoice)
  6324. #define ISpRecoContext_SetVoicePurgeEvent(This,ullEventInterest) \
  6325. (This)->lpVtbl -> SetVoicePurgeEvent(This,ullEventInterest)
  6326. #define ISpRecoContext_GetVoicePurgeEvent(This,pullEventInterest) \
  6327. (This)->lpVtbl -> GetVoicePurgeEvent(This,pullEventInterest)
  6328. #define ISpRecoContext_SetContextState(This,eContextState) \
  6329. (This)->lpVtbl -> SetContextState(This,eContextState)
  6330. #define ISpRecoContext_GetContextState(This,peContextState) \
  6331. (This)->lpVtbl -> GetContextState(This,peContextState)
  6332. #endif /* COBJMACROS */
  6333. #endif /* C style interface */
  6334. HRESULT STDMETHODCALLTYPE ISpRecoContext_GetRecognizer_Proxy(
  6335. ISpRecoContext * This,
  6336. /* [out] */ ISpRecognizer **ppRecognizer);
  6337. void __RPC_STUB ISpRecoContext_GetRecognizer_Stub(
  6338. IRpcStubBuffer *This,
  6339. IRpcChannelBuffer *_pRpcChannelBuffer,
  6340. PRPC_MESSAGE _pRpcMessage,
  6341. DWORD *_pdwStubPhase);
  6342. HRESULT STDMETHODCALLTYPE ISpRecoContext_CreateGrammar_Proxy(
  6343. ISpRecoContext * This,
  6344. /* [in] */ ULONGLONG ullGrammarId,
  6345. /* [out] */ ISpRecoGrammar **ppGrammar);
  6346. void __RPC_STUB ISpRecoContext_CreateGrammar_Stub(
  6347. IRpcStubBuffer *This,
  6348. IRpcChannelBuffer *_pRpcChannelBuffer,
  6349. PRPC_MESSAGE _pRpcMessage,
  6350. DWORD *_pdwStubPhase);
  6351. HRESULT STDMETHODCALLTYPE ISpRecoContext_GetStatus_Proxy(
  6352. ISpRecoContext * This,
  6353. /* [out] */ SPRECOCONTEXTSTATUS *pStatus);
  6354. void __RPC_STUB ISpRecoContext_GetStatus_Stub(
  6355. IRpcStubBuffer *This,
  6356. IRpcChannelBuffer *_pRpcChannelBuffer,
  6357. PRPC_MESSAGE _pRpcMessage,
  6358. DWORD *_pdwStubPhase);
  6359. HRESULT STDMETHODCALLTYPE ISpRecoContext_GetMaxAlternates_Proxy(
  6360. ISpRecoContext * This,
  6361. /* [in] */ ULONG *pcAlternates);
  6362. void __RPC_STUB ISpRecoContext_GetMaxAlternates_Stub(
  6363. IRpcStubBuffer *This,
  6364. IRpcChannelBuffer *_pRpcChannelBuffer,
  6365. PRPC_MESSAGE _pRpcMessage,
  6366. DWORD *_pdwStubPhase);
  6367. HRESULT STDMETHODCALLTYPE ISpRecoContext_SetMaxAlternates_Proxy(
  6368. ISpRecoContext * This,
  6369. /* [in] */ ULONG cAlternates);
  6370. void __RPC_STUB ISpRecoContext_SetMaxAlternates_Stub(
  6371. IRpcStubBuffer *This,
  6372. IRpcChannelBuffer *_pRpcChannelBuffer,
  6373. PRPC_MESSAGE _pRpcMessage,
  6374. DWORD *_pdwStubPhase);
  6375. HRESULT STDMETHODCALLTYPE ISpRecoContext_SetAudioOptions_Proxy(
  6376. ISpRecoContext * This,
  6377. /* [in] */ SPAUDIOOPTIONS Options,
  6378. /* [in] */ const GUID *pAudioFormatId,
  6379. /* [in] */ const WAVEFORMATEX *pWaveFormatEx);
  6380. void __RPC_STUB ISpRecoContext_SetAudioOptions_Stub(
  6381. IRpcStubBuffer *This,
  6382. IRpcChannelBuffer *_pRpcChannelBuffer,
  6383. PRPC_MESSAGE _pRpcMessage,
  6384. DWORD *_pdwStubPhase);
  6385. HRESULT STDMETHODCALLTYPE ISpRecoContext_GetAudioOptions_Proxy(
  6386. ISpRecoContext * This,
  6387. /* [in] */ SPAUDIOOPTIONS *pOptions,
  6388. /* [out] */ GUID *pAudioFormatId,
  6389. /* [out] */ WAVEFORMATEX **ppCoMemWFEX);
  6390. void __RPC_STUB ISpRecoContext_GetAudioOptions_Stub(
  6391. IRpcStubBuffer *This,
  6392. IRpcChannelBuffer *_pRpcChannelBuffer,
  6393. PRPC_MESSAGE _pRpcMessage,
  6394. DWORD *_pdwStubPhase);
  6395. HRESULT STDMETHODCALLTYPE ISpRecoContext_DeserializeResult_Proxy(
  6396. ISpRecoContext * This,
  6397. /* [in] */ const SPSERIALIZEDRESULT *pSerializedResult,
  6398. /* [out] */ ISpRecoResult **ppResult);
  6399. void __RPC_STUB ISpRecoContext_DeserializeResult_Stub(
  6400. IRpcStubBuffer *This,
  6401. IRpcChannelBuffer *_pRpcChannelBuffer,
  6402. PRPC_MESSAGE _pRpcMessage,
  6403. DWORD *_pdwStubPhase);
  6404. HRESULT STDMETHODCALLTYPE ISpRecoContext_Bookmark_Proxy(
  6405. ISpRecoContext * This,
  6406. /* [in] */ SPBOOKMARKOPTIONS Options,
  6407. /* [in] */ ULONGLONG ullStreamPosition,
  6408. /* [in] */ LPARAM lparamEvent);
  6409. void __RPC_STUB ISpRecoContext_Bookmark_Stub(
  6410. IRpcStubBuffer *This,
  6411. IRpcChannelBuffer *_pRpcChannelBuffer,
  6412. PRPC_MESSAGE _pRpcMessage,
  6413. DWORD *_pdwStubPhase);
  6414. HRESULT STDMETHODCALLTYPE ISpRecoContext_SetAdaptationData_Proxy(
  6415. ISpRecoContext * This,
  6416. /* [string][in] */ const WCHAR *pAdaptationData,
  6417. /* [in] */ const ULONG cch);
  6418. void __RPC_STUB ISpRecoContext_SetAdaptationData_Stub(
  6419. IRpcStubBuffer *This,
  6420. IRpcChannelBuffer *_pRpcChannelBuffer,
  6421. PRPC_MESSAGE _pRpcMessage,
  6422. DWORD *_pdwStubPhase);
  6423. HRESULT STDMETHODCALLTYPE ISpRecoContext_Pause_Proxy(
  6424. ISpRecoContext * This,
  6425. DWORD dwReserved);
  6426. void __RPC_STUB ISpRecoContext_Pause_Stub(
  6427. IRpcStubBuffer *This,
  6428. IRpcChannelBuffer *_pRpcChannelBuffer,
  6429. PRPC_MESSAGE _pRpcMessage,
  6430. DWORD *_pdwStubPhase);
  6431. HRESULT STDMETHODCALLTYPE ISpRecoContext_Resume_Proxy(
  6432. ISpRecoContext * This,
  6433. DWORD dwReserved);
  6434. void __RPC_STUB ISpRecoContext_Resume_Stub(
  6435. IRpcStubBuffer *This,
  6436. IRpcChannelBuffer *_pRpcChannelBuffer,
  6437. PRPC_MESSAGE _pRpcMessage,
  6438. DWORD *_pdwStubPhase);
  6439. HRESULT STDMETHODCALLTYPE ISpRecoContext_SetVoice_Proxy(
  6440. ISpRecoContext * This,
  6441. /* [in] */ ISpVoice *pVoice,
  6442. /* [in] */ BOOL fAllowFormatChanges);
  6443. void __RPC_STUB ISpRecoContext_SetVoice_Stub(
  6444. IRpcStubBuffer *This,
  6445. IRpcChannelBuffer *_pRpcChannelBuffer,
  6446. PRPC_MESSAGE _pRpcMessage,
  6447. DWORD *_pdwStubPhase);
  6448. HRESULT STDMETHODCALLTYPE ISpRecoContext_GetVoice_Proxy(
  6449. ISpRecoContext * This,
  6450. /* [out] */ ISpVoice **ppVoice);
  6451. void __RPC_STUB ISpRecoContext_GetVoice_Stub(
  6452. IRpcStubBuffer *This,
  6453. IRpcChannelBuffer *_pRpcChannelBuffer,
  6454. PRPC_MESSAGE _pRpcMessage,
  6455. DWORD *_pdwStubPhase);
  6456. HRESULT STDMETHODCALLTYPE ISpRecoContext_SetVoicePurgeEvent_Proxy(
  6457. ISpRecoContext * This,
  6458. /* [in] */ ULONGLONG ullEventInterest);
  6459. void __RPC_STUB ISpRecoContext_SetVoicePurgeEvent_Stub(
  6460. IRpcStubBuffer *This,
  6461. IRpcChannelBuffer *_pRpcChannelBuffer,
  6462. PRPC_MESSAGE _pRpcMessage,
  6463. DWORD *_pdwStubPhase);
  6464. HRESULT STDMETHODCALLTYPE ISpRecoContext_GetVoicePurgeEvent_Proxy(
  6465. ISpRecoContext * This,
  6466. /* [out] */ ULONGLONG *pullEventInterest);
  6467. void __RPC_STUB ISpRecoContext_GetVoicePurgeEvent_Stub(
  6468. IRpcStubBuffer *This,
  6469. IRpcChannelBuffer *_pRpcChannelBuffer,
  6470. PRPC_MESSAGE _pRpcMessage,
  6471. DWORD *_pdwStubPhase);
  6472. HRESULT STDMETHODCALLTYPE ISpRecoContext_SetContextState_Proxy(
  6473. ISpRecoContext * This,
  6474. /* [in] */ SPCONTEXTSTATE eContextState);
  6475. void __RPC_STUB ISpRecoContext_SetContextState_Stub(
  6476. IRpcStubBuffer *This,
  6477. IRpcChannelBuffer *_pRpcChannelBuffer,
  6478. PRPC_MESSAGE _pRpcMessage,
  6479. DWORD *_pdwStubPhase);
  6480. HRESULT STDMETHODCALLTYPE ISpRecoContext_GetContextState_Proxy(
  6481. ISpRecoContext * This,
  6482. /* [in] */ SPCONTEXTSTATE *peContextState);
  6483. void __RPC_STUB ISpRecoContext_GetContextState_Stub(
  6484. IRpcStubBuffer *This,
  6485. IRpcChannelBuffer *_pRpcChannelBuffer,
  6486. PRPC_MESSAGE _pRpcMessage,
  6487. DWORD *_pdwStubPhase);
  6488. #endif /* __ISpRecoContext_INTERFACE_DEFINED__ */
  6489. #ifndef __ISpProperties_INTERFACE_DEFINED__
  6490. #define __ISpProperties_INTERFACE_DEFINED__
  6491. /* interface ISpProperties */
  6492. /* [restricted][local][unique][helpstring][uuid][object] */
  6493. EXTERN_C const IID IID_ISpProperties;
  6494. #if defined(__cplusplus) && !defined(CINTERFACE)
  6495. MIDL_INTERFACE("5B4FB971-B115-4DE1-AD97-E482E3BF6EE4")
  6496. ISpProperties : public IUnknown
  6497. {
  6498. public:
  6499. virtual HRESULT STDMETHODCALLTYPE SetPropertyNum(
  6500. /* [in] */ const WCHAR *pName,
  6501. /* [in] */ LONG lValue) = 0;
  6502. virtual HRESULT STDMETHODCALLTYPE GetPropertyNum(
  6503. /* [in] */ const WCHAR *pName,
  6504. /* [out] */ LONG *plValue) = 0;
  6505. virtual HRESULT STDMETHODCALLTYPE SetPropertyString(
  6506. /* [in] */ const WCHAR *pName,
  6507. /* [in] */ const WCHAR *pValue) = 0;
  6508. virtual HRESULT STDMETHODCALLTYPE GetPropertyString(
  6509. /* [in] */ const WCHAR *pName,
  6510. /* [out] */ WCHAR **ppCoMemValue) = 0;
  6511. };
  6512. #else /* C style interface */
  6513. typedef struct ISpPropertiesVtbl
  6514. {
  6515. BEGIN_INTERFACE
  6516. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6517. ISpProperties * This,
  6518. /* [in] */ REFIID riid,
  6519. /* [iid_is][out] */ void **ppvObject);
  6520. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6521. ISpProperties * This);
  6522. ULONG ( STDMETHODCALLTYPE *Release )(
  6523. ISpProperties * This);
  6524. HRESULT ( STDMETHODCALLTYPE *SetPropertyNum )(
  6525. ISpProperties * This,
  6526. /* [in] */ const WCHAR *pName,
  6527. /* [in] */ LONG lValue);
  6528. HRESULT ( STDMETHODCALLTYPE *GetPropertyNum )(
  6529. ISpProperties * This,
  6530. /* [in] */ const WCHAR *pName,
  6531. /* [out] */ LONG *plValue);
  6532. HRESULT ( STDMETHODCALLTYPE *SetPropertyString )(
  6533. ISpProperties * This,
  6534. /* [in] */ const WCHAR *pName,
  6535. /* [in] */ const WCHAR *pValue);
  6536. HRESULT ( STDMETHODCALLTYPE *GetPropertyString )(
  6537. ISpProperties * This,
  6538. /* [in] */ const WCHAR *pName,
  6539. /* [out] */ WCHAR **ppCoMemValue);
  6540. END_INTERFACE
  6541. } ISpPropertiesVtbl;
  6542. interface ISpProperties
  6543. {
  6544. CONST_VTBL struct ISpPropertiesVtbl *lpVtbl;
  6545. };
  6546. #ifdef COBJMACROS
  6547. #define ISpProperties_QueryInterface(This,riid,ppvObject) \
  6548. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6549. #define ISpProperties_AddRef(This) \
  6550. (This)->lpVtbl -> AddRef(This)
  6551. #define ISpProperties_Release(This) \
  6552. (This)->lpVtbl -> Release(This)
  6553. #define ISpProperties_SetPropertyNum(This,pName,lValue) \
  6554. (This)->lpVtbl -> SetPropertyNum(This,pName,lValue)
  6555. #define ISpProperties_GetPropertyNum(This,pName,plValue) \
  6556. (This)->lpVtbl -> GetPropertyNum(This,pName,plValue)
  6557. #define ISpProperties_SetPropertyString(This,pName,pValue) \
  6558. (This)->lpVtbl -> SetPropertyString(This,pName,pValue)
  6559. #define ISpProperties_GetPropertyString(This,pName,ppCoMemValue) \
  6560. (This)->lpVtbl -> GetPropertyString(This,pName,ppCoMemValue)
  6561. #endif /* COBJMACROS */
  6562. #endif /* C style interface */
  6563. HRESULT STDMETHODCALLTYPE ISpProperties_SetPropertyNum_Proxy(
  6564. ISpProperties * This,
  6565. /* [in] */ const WCHAR *pName,
  6566. /* [in] */ LONG lValue);
  6567. void __RPC_STUB ISpProperties_SetPropertyNum_Stub(
  6568. IRpcStubBuffer *This,
  6569. IRpcChannelBuffer *_pRpcChannelBuffer,
  6570. PRPC_MESSAGE _pRpcMessage,
  6571. DWORD *_pdwStubPhase);
  6572. HRESULT STDMETHODCALLTYPE ISpProperties_GetPropertyNum_Proxy(
  6573. ISpProperties * This,
  6574. /* [in] */ const WCHAR *pName,
  6575. /* [out] */ LONG *plValue);
  6576. void __RPC_STUB ISpProperties_GetPropertyNum_Stub(
  6577. IRpcStubBuffer *This,
  6578. IRpcChannelBuffer *_pRpcChannelBuffer,
  6579. PRPC_MESSAGE _pRpcMessage,
  6580. DWORD *_pdwStubPhase);
  6581. HRESULT STDMETHODCALLTYPE ISpProperties_SetPropertyString_Proxy(
  6582. ISpProperties * This,
  6583. /* [in] */ const WCHAR *pName,
  6584. /* [in] */ const WCHAR *pValue);
  6585. void __RPC_STUB ISpProperties_SetPropertyString_Stub(
  6586. IRpcStubBuffer *This,
  6587. IRpcChannelBuffer *_pRpcChannelBuffer,
  6588. PRPC_MESSAGE _pRpcMessage,
  6589. DWORD *_pdwStubPhase);
  6590. HRESULT STDMETHODCALLTYPE ISpProperties_GetPropertyString_Proxy(
  6591. ISpProperties * This,
  6592. /* [in] */ const WCHAR *pName,
  6593. /* [out] */ WCHAR **ppCoMemValue);
  6594. void __RPC_STUB ISpProperties_GetPropertyString_Stub(
  6595. IRpcStubBuffer *This,
  6596. IRpcChannelBuffer *_pRpcChannelBuffer,
  6597. PRPC_MESSAGE _pRpcMessage,
  6598. DWORD *_pdwStubPhase);
  6599. #endif /* __ISpProperties_INTERFACE_DEFINED__ */
  6600. /* interface __MIDL_itf_sapi_0275 */
  6601. /* [local] */
  6602. #define SP_MAX_LANGIDS ( 20 )
  6603. typedef /* [restricted] */ struct SPRECOGNIZERSTATUS
  6604. {
  6605. SPAUDIOSTATUS AudioStatus;
  6606. ULONGLONG ullRecognitionStreamPos;
  6607. ULONG ulStreamNumber;
  6608. ULONG ulNumActive;
  6609. CLSID clsidEngine;
  6610. ULONG cLangIDs;
  6611. WORD aLangID[ 20 ];
  6612. DWORD dwReserved1;
  6613. DWORD dwReserved2;
  6614. } SPRECOGNIZERSTATUS;
  6615. typedef
  6616. enum SPWAVEFORMATTYPE
  6617. { SPWF_INPUT = 0,
  6618. SPWF_SRENGINE = SPWF_INPUT + 1
  6619. } SPSTREAMFORMATTYPE;
  6620. typedef
  6621. enum SPRECOSTATE
  6622. { SPRST_INACTIVE = 0,
  6623. SPRST_ACTIVE = SPRST_INACTIVE + 1,
  6624. SPRST_ACTIVE_ALWAYS = SPRST_ACTIVE + 1,
  6625. SPRST_INACTIVE_WITH_PURGE = SPRST_ACTIVE_ALWAYS + 1,
  6626. SPRST_NUM_STATES = SPRST_INACTIVE_WITH_PURGE + 1
  6627. } SPRECOSTATE;
  6628. extern RPC_IF_HANDLE __MIDL_itf_sapi_0275_v0_0_c_ifspec;
  6629. extern RPC_IF_HANDLE __MIDL_itf_sapi_0275_v0_0_s_ifspec;
  6630. #ifndef __ISpRecognizer_INTERFACE_DEFINED__
  6631. #define __ISpRecognizer_INTERFACE_DEFINED__
  6632. /* interface ISpRecognizer */
  6633. /* [restricted][unique][helpstring][uuid][object] */
  6634. EXTERN_C const IID IID_ISpRecognizer;
  6635. #if defined(__cplusplus) && !defined(CINTERFACE)
  6636. MIDL_INTERFACE("C2B5F241-DAA0-4507-9E16-5A1EAA2B7A5C")
  6637. ISpRecognizer : public ISpProperties
  6638. {
  6639. public:
  6640. virtual HRESULT STDMETHODCALLTYPE SetRecognizer(
  6641. /* [in] */ ISpObjectToken *pRecognizer) = 0;
  6642. virtual HRESULT STDMETHODCALLTYPE GetRecognizer(
  6643. /* [out] */ ISpObjectToken **ppRecognizer) = 0;
  6644. virtual HRESULT STDMETHODCALLTYPE SetInput(
  6645. /* [in] */ IUnknown *pUnkInput,
  6646. /* [in] */ BOOL fAllowFormatChanges) = 0;
  6647. virtual HRESULT STDMETHODCALLTYPE GetInputObjectToken(
  6648. /* [out] */ ISpObjectToken **ppToken) = 0;
  6649. virtual HRESULT STDMETHODCALLTYPE GetInputStream(
  6650. /* [out] */ ISpStreamFormat **ppStream) = 0;
  6651. virtual HRESULT STDMETHODCALLTYPE CreateRecoContext(
  6652. /* [out] */ ISpRecoContext **ppNewCtxt) = 0;
  6653. virtual HRESULT STDMETHODCALLTYPE GetRecoProfile(
  6654. /* [out] */ ISpObjectToken **ppToken) = 0;
  6655. virtual HRESULT STDMETHODCALLTYPE SetRecoProfile(
  6656. /* [in] */ ISpObjectToken *pToken) = 0;
  6657. virtual HRESULT STDMETHODCALLTYPE IsSharedInstance( void) = 0;
  6658. virtual HRESULT STDMETHODCALLTYPE GetRecoState(
  6659. /* [out] */ SPRECOSTATE *pState) = 0;
  6660. virtual HRESULT STDMETHODCALLTYPE SetRecoState(
  6661. /* [in] */ SPRECOSTATE NewState) = 0;
  6662. virtual HRESULT STDMETHODCALLTYPE GetStatus(
  6663. /* [out] */ SPRECOGNIZERSTATUS *pStatus) = 0;
  6664. virtual HRESULT STDMETHODCALLTYPE GetFormat(
  6665. /* [in] */ SPSTREAMFORMATTYPE WaveFormatType,
  6666. /* [out] */ GUID *pFormatId,
  6667. /* [out] */ WAVEFORMATEX **ppCoMemWFEX) = 0;
  6668. virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsUISupported(
  6669. /* [in] */ const WCHAR *pszTypeOfUI,
  6670. /* [in] */ void *pvExtraData,
  6671. /* [in] */ ULONG cbExtraData,
  6672. /* [out] */ BOOL *pfSupported) = 0;
  6673. virtual /* [local] */ HRESULT STDMETHODCALLTYPE DisplayUI(
  6674. /* [in] */ HWND hwndParent,
  6675. /* [in] */ const WCHAR *pszTitle,
  6676. /* [in] */ const WCHAR *pszTypeOfUI,
  6677. /* [in] */ void *pvExtraData,
  6678. /* [in] */ ULONG cbExtraData) = 0;
  6679. virtual HRESULT STDMETHODCALLTYPE EmulateRecognition(
  6680. /* [in] */ ISpPhrase *pPhrase) = 0;
  6681. };
  6682. #else /* C style interface */
  6683. typedef struct ISpRecognizerVtbl
  6684. {
  6685. BEGIN_INTERFACE
  6686. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6687. ISpRecognizer * This,
  6688. /* [in] */ REFIID riid,
  6689. /* [iid_is][out] */ void **ppvObject);
  6690. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6691. ISpRecognizer * This);
  6692. ULONG ( STDMETHODCALLTYPE *Release )(
  6693. ISpRecognizer * This);
  6694. HRESULT ( STDMETHODCALLTYPE *SetPropertyNum )(
  6695. ISpRecognizer * This,
  6696. /* [in] */ const WCHAR *pName,
  6697. /* [in] */ LONG lValue);
  6698. HRESULT ( STDMETHODCALLTYPE *GetPropertyNum )(
  6699. ISpRecognizer * This,
  6700. /* [in] */ const WCHAR *pName,
  6701. /* [out] */ LONG *plValue);
  6702. HRESULT ( STDMETHODCALLTYPE *SetPropertyString )(
  6703. ISpRecognizer * This,
  6704. /* [in] */ const WCHAR *pName,
  6705. /* [in] */ const WCHAR *pValue);
  6706. HRESULT ( STDMETHODCALLTYPE *GetPropertyString )(
  6707. ISpRecognizer * This,
  6708. /* [in] */ const WCHAR *pName,
  6709. /* [out] */ WCHAR **ppCoMemValue);
  6710. HRESULT ( STDMETHODCALLTYPE *SetRecognizer )(
  6711. ISpRecognizer * This,
  6712. /* [in] */ ISpObjectToken *pRecognizer);
  6713. HRESULT ( STDMETHODCALLTYPE *GetRecognizer )(
  6714. ISpRecognizer * This,
  6715. /* [out] */ ISpObjectToken **ppRecognizer);
  6716. HRESULT ( STDMETHODCALLTYPE *SetInput )(
  6717. ISpRecognizer * This,
  6718. /* [in] */ IUnknown *pUnkInput,
  6719. /* [in] */ BOOL fAllowFormatChanges);
  6720. HRESULT ( STDMETHODCALLTYPE *GetInputObjectToken )(
  6721. ISpRecognizer * This,
  6722. /* [out] */ ISpObjectToken **ppToken);
  6723. HRESULT ( STDMETHODCALLTYPE *GetInputStream )(
  6724. ISpRecognizer * This,
  6725. /* [out] */ ISpStreamFormat **ppStream);
  6726. HRESULT ( STDMETHODCALLTYPE *CreateRecoContext )(
  6727. ISpRecognizer * This,
  6728. /* [out] */ ISpRecoContext **ppNewCtxt);
  6729. HRESULT ( STDMETHODCALLTYPE *GetRecoProfile )(
  6730. ISpRecognizer * This,
  6731. /* [out] */ ISpObjectToken **ppToken);
  6732. HRESULT ( STDMETHODCALLTYPE *SetRecoProfile )(
  6733. ISpRecognizer * This,
  6734. /* [in] */ ISpObjectToken *pToken);
  6735. HRESULT ( STDMETHODCALLTYPE *IsSharedInstance )(
  6736. ISpRecognizer * This);
  6737. HRESULT ( STDMETHODCALLTYPE *GetRecoState )(
  6738. ISpRecognizer * This,
  6739. /* [out] */ SPRECOSTATE *pState);
  6740. HRESULT ( STDMETHODCALLTYPE *SetRecoState )(
  6741. ISpRecognizer * This,
  6742. /* [in] */ SPRECOSTATE NewState);
  6743. HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  6744. ISpRecognizer * This,
  6745. /* [out] */ SPRECOGNIZERSTATUS *pStatus);
  6746. HRESULT ( STDMETHODCALLTYPE *GetFormat )(
  6747. ISpRecognizer * This,
  6748. /* [in] */ SPSTREAMFORMATTYPE WaveFormatType,
  6749. /* [out] */ GUID *pFormatId,
  6750. /* [out] */ WAVEFORMATEX **ppCoMemWFEX);
  6751. /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsUISupported )(
  6752. ISpRecognizer * This,
  6753. /* [in] */ const WCHAR *pszTypeOfUI,
  6754. /* [in] */ void *pvExtraData,
  6755. /* [in] */ ULONG cbExtraData,
  6756. /* [out] */ BOOL *pfSupported);
  6757. /* [local] */ HRESULT ( STDMETHODCALLTYPE *DisplayUI )(
  6758. ISpRecognizer * This,
  6759. /* [in] */ HWND hwndParent,
  6760. /* [in] */ const WCHAR *pszTitle,
  6761. /* [in] */ const WCHAR *pszTypeOfUI,
  6762. /* [in] */ void *pvExtraData,
  6763. /* [in] */ ULONG cbExtraData);
  6764. HRESULT ( STDMETHODCALLTYPE *EmulateRecognition )(
  6765. ISpRecognizer * This,
  6766. /* [in] */ ISpPhrase *pPhrase);
  6767. END_INTERFACE
  6768. } ISpRecognizerVtbl;
  6769. interface ISpRecognizer
  6770. {
  6771. CONST_VTBL struct ISpRecognizerVtbl *lpVtbl;
  6772. };
  6773. #ifdef COBJMACROS
  6774. #define ISpRecognizer_QueryInterface(This,riid,ppvObject) \
  6775. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6776. #define ISpRecognizer_AddRef(This) \
  6777. (This)->lpVtbl -> AddRef(This)
  6778. #define ISpRecognizer_Release(This) \
  6779. (This)->lpVtbl -> Release(This)
  6780. #define ISpRecognizer_SetPropertyNum(This,pName,lValue) \
  6781. (This)->lpVtbl -> SetPropertyNum(This,pName,lValue)
  6782. #define ISpRecognizer_GetPropertyNum(This,pName,plValue) \
  6783. (This)->lpVtbl -> GetPropertyNum(This,pName,plValue)
  6784. #define ISpRecognizer_SetPropertyString(This,pName,pValue) \
  6785. (This)->lpVtbl -> SetPropertyString(This,pName,pValue)
  6786. #define ISpRecognizer_GetPropertyString(This,pName,ppCoMemValue) \
  6787. (This)->lpVtbl -> GetPropertyString(This,pName,ppCoMemValue)
  6788. #define ISpRecognizer_SetRecognizer(This,pRecognizer) \
  6789. (This)->lpVtbl -> SetRecognizer(This,pRecognizer)
  6790. #define ISpRecognizer_GetRecognizer(This,ppRecognizer) \
  6791. (This)->lpVtbl -> GetRecognizer(This,ppRecognizer)
  6792. #define ISpRecognizer_SetInput(This,pUnkInput,fAllowFormatChanges) \
  6793. (This)->lpVtbl -> SetInput(This,pUnkInput,fAllowFormatChanges)
  6794. #define ISpRecognizer_GetInputObjectToken(This,ppToken) \
  6795. (This)->lpVtbl -> GetInputObjectToken(This,ppToken)
  6796. #define ISpRecognizer_GetInputStream(This,ppStream) \
  6797. (This)->lpVtbl -> GetInputStream(This,ppStream)
  6798. #define ISpRecognizer_CreateRecoContext(This,ppNewCtxt) \
  6799. (This)->lpVtbl -> CreateRecoContext(This,ppNewCtxt)
  6800. #define ISpRecognizer_GetRecoProfile(This,ppToken) \
  6801. (This)->lpVtbl -> GetRecoProfile(This,ppToken)
  6802. #define ISpRecognizer_SetRecoProfile(This,pToken) \
  6803. (This)->lpVtbl -> SetRecoProfile(This,pToken)
  6804. #define ISpRecognizer_IsSharedInstance(This) \
  6805. (This)->lpVtbl -> IsSharedInstance(This)
  6806. #define ISpRecognizer_GetRecoState(This,pState) \
  6807. (This)->lpVtbl -> GetRecoState(This,pState)
  6808. #define ISpRecognizer_SetRecoState(This,NewState) \
  6809. (This)->lpVtbl -> SetRecoState(This,NewState)
  6810. #define ISpRecognizer_GetStatus(This,pStatus) \
  6811. (This)->lpVtbl -> GetStatus(This,pStatus)
  6812. #define ISpRecognizer_GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX) \
  6813. (This)->lpVtbl -> GetFormat(This,WaveFormatType,pFormatId,ppCoMemWFEX)
  6814. #define ISpRecognizer_IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported) \
  6815. (This)->lpVtbl -> IsUISupported(This,pszTypeOfUI,pvExtraData,cbExtraData,pfSupported)
  6816. #define ISpRecognizer_DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData) \
  6817. (This)->lpVtbl -> DisplayUI(This,hwndParent,pszTitle,pszTypeOfUI,pvExtraData,cbExtraData)
  6818. #define ISpRecognizer_EmulateRecognition(This,pPhrase) \
  6819. (This)->lpVtbl -> EmulateRecognition(This,pPhrase)
  6820. #endif /* COBJMACROS */
  6821. #endif /* C style interface */
  6822. HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecognizer_Proxy(
  6823. ISpRecognizer * This,
  6824. /* [in] */ ISpObjectToken *pRecognizer);
  6825. void __RPC_STUB ISpRecognizer_SetRecognizer_Stub(
  6826. IRpcStubBuffer *This,
  6827. IRpcChannelBuffer *_pRpcChannelBuffer,
  6828. PRPC_MESSAGE _pRpcMessage,
  6829. DWORD *_pdwStubPhase);
  6830. HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecognizer_Proxy(
  6831. ISpRecognizer * This,
  6832. /* [out] */ ISpObjectToken **ppRecognizer);
  6833. void __RPC_STUB ISpRecognizer_GetRecognizer_Stub(
  6834. IRpcStubBuffer *This,
  6835. IRpcChannelBuffer *_pRpcChannelBuffer,
  6836. PRPC_MESSAGE _pRpcMessage,
  6837. DWORD *_pdwStubPhase);
  6838. HRESULT STDMETHODCALLTYPE ISpRecognizer_SetInput_Proxy(
  6839. ISpRecognizer * This,
  6840. /* [in] */ IUnknown *pUnkInput,
  6841. /* [in] */ BOOL fAllowFormatChanges);
  6842. void __RPC_STUB ISpRecognizer_SetInput_Stub(
  6843. IRpcStubBuffer *This,
  6844. IRpcChannelBuffer *_pRpcChannelBuffer,
  6845. PRPC_MESSAGE _pRpcMessage,
  6846. DWORD *_pdwStubPhase);
  6847. HRESULT STDMETHODCALLTYPE ISpRecognizer_GetInputObjectToken_Proxy(
  6848. ISpRecognizer * This,
  6849. /* [out] */ ISpObjectToken **ppToken);
  6850. void __RPC_STUB ISpRecognizer_GetInputObjectToken_Stub(
  6851. IRpcStubBuffer *This,
  6852. IRpcChannelBuffer *_pRpcChannelBuffer,
  6853. PRPC_MESSAGE _pRpcMessage,
  6854. DWORD *_pdwStubPhase);
  6855. HRESULT STDMETHODCALLTYPE ISpRecognizer_GetInputStream_Proxy(
  6856. ISpRecognizer * This,
  6857. /* [out] */ ISpStreamFormat **ppStream);
  6858. void __RPC_STUB ISpRecognizer_GetInputStream_Stub(
  6859. IRpcStubBuffer *This,
  6860. IRpcChannelBuffer *_pRpcChannelBuffer,
  6861. PRPC_MESSAGE _pRpcMessage,
  6862. DWORD *_pdwStubPhase);
  6863. HRESULT STDMETHODCALLTYPE ISpRecognizer_CreateRecoContext_Proxy(
  6864. ISpRecognizer * This,
  6865. /* [out] */ ISpRecoContext **ppNewCtxt);
  6866. void __RPC_STUB ISpRecognizer_CreateRecoContext_Stub(
  6867. IRpcStubBuffer *This,
  6868. IRpcChannelBuffer *_pRpcChannelBuffer,
  6869. PRPC_MESSAGE _pRpcMessage,
  6870. DWORD *_pdwStubPhase);
  6871. HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecoProfile_Proxy(
  6872. ISpRecognizer * This,
  6873. /* [out] */ ISpObjectToken **ppToken);
  6874. void __RPC_STUB ISpRecognizer_GetRecoProfile_Stub(
  6875. IRpcStubBuffer *This,
  6876. IRpcChannelBuffer *_pRpcChannelBuffer,
  6877. PRPC_MESSAGE _pRpcMessage,
  6878. DWORD *_pdwStubPhase);
  6879. HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecoProfile_Proxy(
  6880. ISpRecognizer * This,
  6881. /* [in] */ ISpObjectToken *pToken);
  6882. void __RPC_STUB ISpRecognizer_SetRecoProfile_Stub(
  6883. IRpcStubBuffer *This,
  6884. IRpcChannelBuffer *_pRpcChannelBuffer,
  6885. PRPC_MESSAGE _pRpcMessage,
  6886. DWORD *_pdwStubPhase);
  6887. HRESULT STDMETHODCALLTYPE ISpRecognizer_IsSharedInstance_Proxy(
  6888. ISpRecognizer * This);
  6889. void __RPC_STUB ISpRecognizer_IsSharedInstance_Stub(
  6890. IRpcStubBuffer *This,
  6891. IRpcChannelBuffer *_pRpcChannelBuffer,
  6892. PRPC_MESSAGE _pRpcMessage,
  6893. DWORD *_pdwStubPhase);
  6894. HRESULT STDMETHODCALLTYPE ISpRecognizer_GetRecoState_Proxy(
  6895. ISpRecognizer * This,
  6896. /* [out] */ SPRECOSTATE *pState);
  6897. void __RPC_STUB ISpRecognizer_GetRecoState_Stub(
  6898. IRpcStubBuffer *This,
  6899. IRpcChannelBuffer *_pRpcChannelBuffer,
  6900. PRPC_MESSAGE _pRpcMessage,
  6901. DWORD *_pdwStubPhase);
  6902. HRESULT STDMETHODCALLTYPE ISpRecognizer_SetRecoState_Proxy(
  6903. ISpRecognizer * This,
  6904. /* [in] */ SPRECOSTATE NewState);
  6905. void __RPC_STUB ISpRecognizer_SetRecoState_Stub(
  6906. IRpcStubBuffer *This,
  6907. IRpcChannelBuffer *_pRpcChannelBuffer,
  6908. PRPC_MESSAGE _pRpcMessage,
  6909. DWORD *_pdwStubPhase);
  6910. HRESULT STDMETHODCALLTYPE ISpRecognizer_GetStatus_Proxy(
  6911. ISpRecognizer * This,
  6912. /* [out] */ SPRECOGNIZERSTATUS *pStatus);
  6913. void __RPC_STUB ISpRecognizer_GetStatus_Stub(
  6914. IRpcStubBuffer *This,
  6915. IRpcChannelBuffer *_pRpcChannelBuffer,
  6916. PRPC_MESSAGE _pRpcMessage,
  6917. DWORD *_pdwStubPhase);
  6918. HRESULT STDMETHODCALLTYPE ISpRecognizer_GetFormat_Proxy(
  6919. ISpRecognizer * This,
  6920. /* [in] */ SPSTREAMFORMATTYPE WaveFormatType,
  6921. /* [out] */ GUID *pFormatId,
  6922. /* [out] */ WAVEFORMATEX **ppCoMemWFEX);
  6923. void __RPC_STUB ISpRecognizer_GetFormat_Stub(
  6924. IRpcStubBuffer *This,
  6925. IRpcChannelBuffer *_pRpcChannelBuffer,
  6926. PRPC_MESSAGE _pRpcMessage,
  6927. DWORD *_pdwStubPhase);
  6928. /* [local] */ HRESULT STDMETHODCALLTYPE ISpRecognizer_IsUISupported_Proxy(
  6929. ISpRecognizer * This,
  6930. /* [in] */ const WCHAR *pszTypeOfUI,
  6931. /* [in] */ void *pvExtraData,
  6932. /* [in] */ ULONG cbExtraData,
  6933. /* [out] */ BOOL *pfSupported);
  6934. void __RPC_STUB ISpRecognizer_IsUISupported_Stub(
  6935. IRpcStubBuffer *This,
  6936. IRpcChannelBuffer *_pRpcChannelBuffer,
  6937. PRPC_MESSAGE _pRpcMessage,
  6938. DWORD *_pdwStubPhase);
  6939. /* [local] */ HRESULT STDMETHODCALLTYPE ISpRecognizer_DisplayUI_Proxy(
  6940. ISpRecognizer * This,
  6941. /* [in] */ HWND hwndParent,
  6942. /* [in] */ const WCHAR *pszTitle,
  6943. /* [in] */ const WCHAR *pszTypeOfUI,
  6944. /* [in] */ void *pvExtraData,
  6945. /* [in] */ ULONG cbExtraData);
  6946. void __RPC_STUB ISpRecognizer_DisplayUI_Stub(
  6947. IRpcStubBuffer *This,
  6948. IRpcChannelBuffer *_pRpcChannelBuffer,
  6949. PRPC_MESSAGE _pRpcMessage,
  6950. DWORD *_pdwStubPhase);
  6951. HRESULT STDMETHODCALLTYPE ISpRecognizer_EmulateRecognition_Proxy(
  6952. ISpRecognizer * This,
  6953. /* [in] */ ISpPhrase *pPhrase);
  6954. void __RPC_STUB ISpRecognizer_EmulateRecognition_Stub(
  6955. IRpcStubBuffer *This,
  6956. IRpcChannelBuffer *_pRpcChannelBuffer,
  6957. PRPC_MESSAGE _pRpcMessage,
  6958. DWORD *_pdwStubPhase);
  6959. #endif /* __ISpRecognizer_INTERFACE_DEFINED__ */
  6960. #ifndef __SpeechLib_LIBRARY_DEFINED__
  6961. #define __SpeechLib_LIBRARY_DEFINED__
  6962. /* library SpeechLib */
  6963. /* [version][uuid][helpstring] */
  6964. EXTERN_C const IID LIBID_SpeechLib;
  6965. EXTERN_C const CLSID CLSID_SpNotifyTranslator;
  6966. #ifdef __cplusplus
  6967. class DECLSPEC_UUID("E2AE5372-5D40-11D2-960E-00C04F8EE628")
  6968. SpNotifyTranslator;
  6969. #endif
  6970. EXTERN_C const CLSID CLSID_SpObjectTokenCategory;
  6971. #ifdef __cplusplus
  6972. class DECLSPEC_UUID("A910187F-0C7A-45AC-92CC-59EDAFB77B53")
  6973. SpObjectTokenCategory;
  6974. #endif
  6975. EXTERN_C const CLSID CLSID_SpObjectToken;
  6976. #ifdef __cplusplus
  6977. class DECLSPEC_UUID("EF411752-3736-4CB4-9C8C-8EF4CCB58EFE")
  6978. SpObjectToken;
  6979. #endif
  6980. EXTERN_C const CLSID CLSID_SpResourceManager;
  6981. #ifdef __cplusplus
  6982. class DECLSPEC_UUID("96749373-3391-11D2-9EE3-00C04F797396")
  6983. SpResourceManager;
  6984. #endif
  6985. EXTERN_C const CLSID CLSID_SpStreamFormatConverter;
  6986. #ifdef __cplusplus
  6987. class DECLSPEC_UUID("7013943A-E2EC-11D2-A086-00C04F8EF9B5")
  6988. SpStreamFormatConverter;
  6989. #endif
  6990. EXTERN_C const CLSID CLSID_SpMMAudioEnum;
  6991. #ifdef __cplusplus
  6992. class DECLSPEC_UUID("AB1890A0-E91F-11D2-BB91-00C04F8EE6C0")
  6993. SpMMAudioEnum;
  6994. #endif
  6995. EXTERN_C const CLSID CLSID_SpMMAudioIn;
  6996. #ifdef __cplusplus
  6997. class DECLSPEC_UUID("CF3D2E50-53F2-11D2-960C-00C04F8EE628")
  6998. SpMMAudioIn;
  6999. #endif
  7000. EXTERN_C const CLSID CLSID_SpMMAudioOut;
  7001. #ifdef __cplusplus
  7002. class DECLSPEC_UUID("A8C680EB-3D32-11D2-9EE7-00C04F797396")
  7003. SpMMAudioOut;
  7004. #endif
  7005. EXTERN_C const CLSID CLSID_SpRecPlayAudio;
  7006. #ifdef __cplusplus
  7007. class DECLSPEC_UUID("FEE225FC-7AFD-45E9-95D0-5A318079D911")
  7008. SpRecPlayAudio;
  7009. #endif
  7010. EXTERN_C const CLSID CLSID_SpStream;
  7011. #ifdef __cplusplus
  7012. class DECLSPEC_UUID("715D9C59-4442-11D2-9605-00C04F8EE628")
  7013. SpStream;
  7014. #endif
  7015. EXTERN_C const CLSID CLSID_SpVoice;
  7016. #ifdef __cplusplus
  7017. class DECLSPEC_UUID("96749377-3391-11D2-9EE3-00C04F797396")
  7018. SpVoice;
  7019. #endif
  7020. EXTERN_C const CLSID CLSID_SpSharedRecoContext;
  7021. #ifdef __cplusplus
  7022. class DECLSPEC_UUID("47206204-5ECA-11D2-960F-00C04F8EE628")
  7023. SpSharedRecoContext;
  7024. #endif
  7025. EXTERN_C const CLSID CLSID_SpInprocRecognizer;
  7026. #ifdef __cplusplus
  7027. class DECLSPEC_UUID("41B89B6B-9399-11D2-9623-00C04F8EE628")
  7028. SpInprocRecognizer;
  7029. #endif
  7030. EXTERN_C const CLSID CLSID_SpSharedRecognizer;
  7031. #ifdef __cplusplus
  7032. class DECLSPEC_UUID("3BEE4890-4FE9-4A37-8C1E-5E7E12791C1F")
  7033. SpSharedRecognizer;
  7034. #endif
  7035. EXTERN_C const CLSID CLSID_SpLexicon;
  7036. #ifdef __cplusplus
  7037. class DECLSPEC_UUID("0655E396-25D0-11D3-9C26-00C04F8EF87C")
  7038. SpLexicon;
  7039. #endif
  7040. EXTERN_C const CLSID CLSID_SpUnCompressedLexicon;
  7041. #ifdef __cplusplus
  7042. class DECLSPEC_UUID("C9E37C15-DF92-4727-85D6-72E5EEB6995A")
  7043. SpUnCompressedLexicon;
  7044. #endif
  7045. EXTERN_C const CLSID CLSID_SpCompressedLexicon;
  7046. #ifdef __cplusplus
  7047. class DECLSPEC_UUID("90903716-2F42-11D3-9C26-00C04F8EF87C")
  7048. SpCompressedLexicon;
  7049. #endif
  7050. EXTERN_C const CLSID CLSID_SpPhoneConverter;
  7051. #ifdef __cplusplus
  7052. class DECLSPEC_UUID("9185F743-1143-4C28-86B5-BFF14F20E5C8")
  7053. SpPhoneConverter;
  7054. #endif
  7055. EXTERN_C const CLSID CLSID_SpNullPhoneConverter;
  7056. #ifdef __cplusplus
  7057. class DECLSPEC_UUID("455F24E9-7396-4A16-9715-7C0FDBE3EFE3")
  7058. SpNullPhoneConverter;
  7059. #endif
  7060. #endif /* __SpeechLib_LIBRARY_DEFINED__ */
  7061. /* Additional Prototypes for ALL interfaces */
  7062. /* end of Additional Prototypes */
  7063. #ifdef __cplusplus
  7064. }
  7065. #endif
  7066. #endif