Source code of Windows XP (NT5)
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.

5220 lines
166 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.0347 */
  4. /* Compiler settings for mlang.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 __mlang_h__
  20. #define __mlang_h__
  21. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  22. #pragma once
  23. #endif
  24. /* Forward Declarations */
  25. #ifndef __IMLangStringBufW_FWD_DEFINED__
  26. #define __IMLangStringBufW_FWD_DEFINED__
  27. typedef interface IMLangStringBufW IMLangStringBufW;
  28. #endif /* __IMLangStringBufW_FWD_DEFINED__ */
  29. #ifndef __IMLangStringBufA_FWD_DEFINED__
  30. #define __IMLangStringBufA_FWD_DEFINED__
  31. typedef interface IMLangStringBufA IMLangStringBufA;
  32. #endif /* __IMLangStringBufA_FWD_DEFINED__ */
  33. #ifndef __IMLangString_FWD_DEFINED__
  34. #define __IMLangString_FWD_DEFINED__
  35. typedef interface IMLangString IMLangString;
  36. #endif /* __IMLangString_FWD_DEFINED__ */
  37. #ifndef __IMLangStringWStr_FWD_DEFINED__
  38. #define __IMLangStringWStr_FWD_DEFINED__
  39. typedef interface IMLangStringWStr IMLangStringWStr;
  40. #endif /* __IMLangStringWStr_FWD_DEFINED__ */
  41. #ifndef __IMLangStringAStr_FWD_DEFINED__
  42. #define __IMLangStringAStr_FWD_DEFINED__
  43. typedef interface IMLangStringAStr IMLangStringAStr;
  44. #endif /* __IMLangStringAStr_FWD_DEFINED__ */
  45. #ifndef __CMLangString_FWD_DEFINED__
  46. #define __CMLangString_FWD_DEFINED__
  47. #ifdef __cplusplus
  48. typedef class CMLangString CMLangString;
  49. #else
  50. typedef struct CMLangString CMLangString;
  51. #endif /* __cplusplus */
  52. #endif /* __CMLangString_FWD_DEFINED__ */
  53. #ifndef __IMLangLineBreakConsole_FWD_DEFINED__
  54. #define __IMLangLineBreakConsole_FWD_DEFINED__
  55. typedef interface IMLangLineBreakConsole IMLangLineBreakConsole;
  56. #endif /* __IMLangLineBreakConsole_FWD_DEFINED__ */
  57. #ifndef __IEnumCodePage_FWD_DEFINED__
  58. #define __IEnumCodePage_FWD_DEFINED__
  59. typedef interface IEnumCodePage IEnumCodePage;
  60. #endif /* __IEnumCodePage_FWD_DEFINED__ */
  61. #ifndef __IEnumRfc1766_FWD_DEFINED__
  62. #define __IEnumRfc1766_FWD_DEFINED__
  63. typedef interface IEnumRfc1766 IEnumRfc1766;
  64. #endif /* __IEnumRfc1766_FWD_DEFINED__ */
  65. #ifndef __IEnumScript_FWD_DEFINED__
  66. #define __IEnumScript_FWD_DEFINED__
  67. typedef interface IEnumScript IEnumScript;
  68. #endif /* __IEnumScript_FWD_DEFINED__ */
  69. #ifndef __IMLangConvertCharset_FWD_DEFINED__
  70. #define __IMLangConvertCharset_FWD_DEFINED__
  71. typedef interface IMLangConvertCharset IMLangConvertCharset;
  72. #endif /* __IMLangConvertCharset_FWD_DEFINED__ */
  73. #ifndef __CMLangConvertCharset_FWD_DEFINED__
  74. #define __CMLangConvertCharset_FWD_DEFINED__
  75. #ifdef __cplusplus
  76. typedef class CMLangConvertCharset CMLangConvertCharset;
  77. #else
  78. typedef struct CMLangConvertCharset CMLangConvertCharset;
  79. #endif /* __cplusplus */
  80. #endif /* __CMLangConvertCharset_FWD_DEFINED__ */
  81. #ifndef __IMultiLanguage_FWD_DEFINED__
  82. #define __IMultiLanguage_FWD_DEFINED__
  83. typedef interface IMultiLanguage IMultiLanguage;
  84. #endif /* __IMultiLanguage_FWD_DEFINED__ */
  85. #ifndef __IMultiLanguage2_FWD_DEFINED__
  86. #define __IMultiLanguage2_FWD_DEFINED__
  87. typedef interface IMultiLanguage2 IMultiLanguage2;
  88. #endif /* __IMultiLanguage2_FWD_DEFINED__ */
  89. #ifndef __IMLangCodePages_FWD_DEFINED__
  90. #define __IMLangCodePages_FWD_DEFINED__
  91. typedef interface IMLangCodePages IMLangCodePages;
  92. #endif /* __IMLangCodePages_FWD_DEFINED__ */
  93. #ifndef __IMLangFontLink_FWD_DEFINED__
  94. #define __IMLangFontLink_FWD_DEFINED__
  95. typedef interface IMLangFontLink IMLangFontLink;
  96. #endif /* __IMLangFontLink_FWD_DEFINED__ */
  97. #ifndef __IMLangFontLink2_FWD_DEFINED__
  98. #define __IMLangFontLink2_FWD_DEFINED__
  99. typedef interface IMLangFontLink2 IMLangFontLink2;
  100. #endif /* __IMLangFontLink2_FWD_DEFINED__ */
  101. #ifndef __IMultiLanguage3_FWD_DEFINED__
  102. #define __IMultiLanguage3_FWD_DEFINED__
  103. typedef interface IMultiLanguage3 IMultiLanguage3;
  104. #endif /* __IMultiLanguage3_FWD_DEFINED__ */
  105. #ifndef __CMultiLanguage_FWD_DEFINED__
  106. #define __CMultiLanguage_FWD_DEFINED__
  107. #ifdef __cplusplus
  108. typedef class CMultiLanguage CMultiLanguage;
  109. #else
  110. typedef struct CMultiLanguage CMultiLanguage;
  111. #endif /* __cplusplus */
  112. #endif /* __CMultiLanguage_FWD_DEFINED__ */
  113. /* header files for imported files */
  114. #include "unknwn.h"
  115. #ifdef __cplusplus
  116. extern "C"{
  117. #endif
  118. void * __RPC_USER MIDL_user_allocate(size_t);
  119. void __RPC_USER MIDL_user_free( void * );
  120. /* interface __MIDL_itf_mlang_0000 */
  121. /* [local] */
  122. //=--------------------------------------------------------------------------=
  123. // MLang.h
  124. //=--------------------------------------------------------------------------=
  125. // Copyright (c) Microsoft Corporation. All rights reserved.
  126. //
  127. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  128. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  129. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  130. // PARTICULAR PURPOSE.
  131. //=--------------------------------------------------------------------------=
  132. #pragma comment(lib,"uuid.lib")
  133. //----------------------------------------------------------------------------
  134. // IMultiLanguage Interfaces.
  135. extern RPC_IF_HANDLE __MIDL_itf_mlang_0000_v0_0_c_ifspec;
  136. extern RPC_IF_HANDLE __MIDL_itf_mlang_0000_v0_0_s_ifspec;
  137. #ifndef __MultiLanguage_LIBRARY_DEFINED__
  138. #define __MultiLanguage_LIBRARY_DEFINED__
  139. /* library MultiLanguage */
  140. /* [version][lcid][helpstring][uuid] */
  141. typedef WORD LANGID;
  142. typedef
  143. enum tagMLSTR_FLAGS
  144. { MLSTR_READ = 1,
  145. MLSTR_WRITE = 2
  146. } MLSTR_FLAGS;
  147. // dwfIODControl definitions for ValidateCodePageEx()
  148. #define CPIOD_PEEK 0x40000000L
  149. #define CPIOD_FORCE_PROMPT 0x80000000L
  150. EXTERN_C const IID LIBID_MultiLanguage;
  151. #ifndef __IMLangStringBufW_INTERFACE_DEFINED__
  152. #define __IMLangStringBufW_INTERFACE_DEFINED__
  153. /* interface IMLangStringBufW */
  154. /* [object][unique][helpstring][uuid] */
  155. EXTERN_C const IID IID_IMLangStringBufW;
  156. #if defined(__cplusplus) && !defined(CINTERFACE)
  157. MIDL_INTERFACE("D24ACD21-BA72-11D0-B188-00AA0038C969")
  158. IMLangStringBufW : public IUnknown
  159. {
  160. public:
  161. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStatus(
  162. /* [out] */ long *plFlags,
  163. /* [out] */ long *pcchBuf) = 0;
  164. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockBuf(
  165. /* [in] */ long cchOffset,
  166. /* [in] */ long cchMaxLock,
  167. /* [size_is][size_is][out] */ WCHAR **ppszBuf,
  168. /* [out] */ long *pcchBuf) = 0;
  169. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockBuf(
  170. /* [size_is][in] */ const WCHAR *pszBuf,
  171. /* [in] */ long cchOffset,
  172. /* [in] */ long cchWrite) = 0;
  173. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert(
  174. /* [in] */ long cchOffset,
  175. /* [in] */ long cchMaxInsert,
  176. /* [out] */ long *pcchActual) = 0;
  177. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete(
  178. /* [in] */ long cchOffset,
  179. /* [in] */ long cchDelete) = 0;
  180. };
  181. #else /* C style interface */
  182. typedef struct IMLangStringBufWVtbl
  183. {
  184. BEGIN_INTERFACE
  185. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  186. IMLangStringBufW * This,
  187. /* [in] */ REFIID riid,
  188. /* [iid_is][out] */ void **ppvObject);
  189. ULONG ( STDMETHODCALLTYPE *AddRef )(
  190. IMLangStringBufW * This);
  191. ULONG ( STDMETHODCALLTYPE *Release )(
  192. IMLangStringBufW * This);
  193. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  194. IMLangStringBufW * This,
  195. /* [out] */ long *plFlags,
  196. /* [out] */ long *pcchBuf);
  197. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockBuf )(
  198. IMLangStringBufW * This,
  199. /* [in] */ long cchOffset,
  200. /* [in] */ long cchMaxLock,
  201. /* [size_is][size_is][out] */ WCHAR **ppszBuf,
  202. /* [out] */ long *pcchBuf);
  203. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockBuf )(
  204. IMLangStringBufW * This,
  205. /* [size_is][in] */ const WCHAR *pszBuf,
  206. /* [in] */ long cchOffset,
  207. /* [in] */ long cchWrite);
  208. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )(
  209. IMLangStringBufW * This,
  210. /* [in] */ long cchOffset,
  211. /* [in] */ long cchMaxInsert,
  212. /* [out] */ long *pcchActual);
  213. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )(
  214. IMLangStringBufW * This,
  215. /* [in] */ long cchOffset,
  216. /* [in] */ long cchDelete);
  217. END_INTERFACE
  218. } IMLangStringBufWVtbl;
  219. interface IMLangStringBufW
  220. {
  221. CONST_VTBL struct IMLangStringBufWVtbl *lpVtbl;
  222. };
  223. #ifdef COBJMACROS
  224. #define IMLangStringBufW_QueryInterface(This,riid,ppvObject) \
  225. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  226. #define IMLangStringBufW_AddRef(This) \
  227. (This)->lpVtbl -> AddRef(This)
  228. #define IMLangStringBufW_Release(This) \
  229. (This)->lpVtbl -> Release(This)
  230. #define IMLangStringBufW_GetStatus(This,plFlags,pcchBuf) \
  231. (This)->lpVtbl -> GetStatus(This,plFlags,pcchBuf)
  232. #define IMLangStringBufW_LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf) \
  233. (This)->lpVtbl -> LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf)
  234. #define IMLangStringBufW_UnlockBuf(This,pszBuf,cchOffset,cchWrite) \
  235. (This)->lpVtbl -> UnlockBuf(This,pszBuf,cchOffset,cchWrite)
  236. #define IMLangStringBufW_Insert(This,cchOffset,cchMaxInsert,pcchActual) \
  237. (This)->lpVtbl -> Insert(This,cchOffset,cchMaxInsert,pcchActual)
  238. #define IMLangStringBufW_Delete(This,cchOffset,cchDelete) \
  239. (This)->lpVtbl -> Delete(This,cchOffset,cchDelete)
  240. #endif /* COBJMACROS */
  241. #endif /* C style interface */
  242. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufW_GetStatus_Proxy(
  243. IMLangStringBufW * This,
  244. /* [out] */ long *plFlags,
  245. /* [out] */ long *pcchBuf);
  246. void __RPC_STUB IMLangStringBufW_GetStatus_Stub(
  247. IRpcStubBuffer *This,
  248. IRpcChannelBuffer *_pRpcChannelBuffer,
  249. PRPC_MESSAGE _pRpcMessage,
  250. DWORD *_pdwStubPhase);
  251. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufW_LockBuf_Proxy(
  252. IMLangStringBufW * This,
  253. /* [in] */ long cchOffset,
  254. /* [in] */ long cchMaxLock,
  255. /* [size_is][size_is][out] */ WCHAR **ppszBuf,
  256. /* [out] */ long *pcchBuf);
  257. void __RPC_STUB IMLangStringBufW_LockBuf_Stub(
  258. IRpcStubBuffer *This,
  259. IRpcChannelBuffer *_pRpcChannelBuffer,
  260. PRPC_MESSAGE _pRpcMessage,
  261. DWORD *_pdwStubPhase);
  262. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufW_UnlockBuf_Proxy(
  263. IMLangStringBufW * This,
  264. /* [size_is][in] */ const WCHAR *pszBuf,
  265. /* [in] */ long cchOffset,
  266. /* [in] */ long cchWrite);
  267. void __RPC_STUB IMLangStringBufW_UnlockBuf_Stub(
  268. IRpcStubBuffer *This,
  269. IRpcChannelBuffer *_pRpcChannelBuffer,
  270. PRPC_MESSAGE _pRpcMessage,
  271. DWORD *_pdwStubPhase);
  272. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufW_Insert_Proxy(
  273. IMLangStringBufW * This,
  274. /* [in] */ long cchOffset,
  275. /* [in] */ long cchMaxInsert,
  276. /* [out] */ long *pcchActual);
  277. void __RPC_STUB IMLangStringBufW_Insert_Stub(
  278. IRpcStubBuffer *This,
  279. IRpcChannelBuffer *_pRpcChannelBuffer,
  280. PRPC_MESSAGE _pRpcMessage,
  281. DWORD *_pdwStubPhase);
  282. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufW_Delete_Proxy(
  283. IMLangStringBufW * This,
  284. /* [in] */ long cchOffset,
  285. /* [in] */ long cchDelete);
  286. void __RPC_STUB IMLangStringBufW_Delete_Stub(
  287. IRpcStubBuffer *This,
  288. IRpcChannelBuffer *_pRpcChannelBuffer,
  289. PRPC_MESSAGE _pRpcMessage,
  290. DWORD *_pdwStubPhase);
  291. #endif /* __IMLangStringBufW_INTERFACE_DEFINED__ */
  292. #ifndef __IMLangStringBufA_INTERFACE_DEFINED__
  293. #define __IMLangStringBufA_INTERFACE_DEFINED__
  294. /* interface IMLangStringBufA */
  295. /* [object][unique][helpstring][uuid] */
  296. EXTERN_C const IID IID_IMLangStringBufA;
  297. #if defined(__cplusplus) && !defined(CINTERFACE)
  298. MIDL_INTERFACE("D24ACD23-BA72-11D0-B188-00AA0038C969")
  299. IMLangStringBufA : public IUnknown
  300. {
  301. public:
  302. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStatus(
  303. /* [out] */ long *plFlags,
  304. /* [out] */ long *pcchBuf) = 0;
  305. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockBuf(
  306. /* [in] */ long cchOffset,
  307. /* [in] */ long cchMaxLock,
  308. /* [size_is][size_is][out] */ CHAR **ppszBuf,
  309. /* [out] */ long *pcchBuf) = 0;
  310. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockBuf(
  311. /* [size_is][in] */ const CHAR *pszBuf,
  312. /* [in] */ long cchOffset,
  313. /* [in] */ long cchWrite) = 0;
  314. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Insert(
  315. /* [in] */ long cchOffset,
  316. /* [in] */ long cchMaxInsert,
  317. /* [out] */ long *pcchActual) = 0;
  318. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete(
  319. /* [in] */ long cchOffset,
  320. /* [in] */ long cchDelete) = 0;
  321. };
  322. #else /* C style interface */
  323. typedef struct IMLangStringBufAVtbl
  324. {
  325. BEGIN_INTERFACE
  326. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  327. IMLangStringBufA * This,
  328. /* [in] */ REFIID riid,
  329. /* [iid_is][out] */ void **ppvObject);
  330. ULONG ( STDMETHODCALLTYPE *AddRef )(
  331. IMLangStringBufA * This);
  332. ULONG ( STDMETHODCALLTYPE *Release )(
  333. IMLangStringBufA * This);
  334. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStatus )(
  335. IMLangStringBufA * This,
  336. /* [out] */ long *plFlags,
  337. /* [out] */ long *pcchBuf);
  338. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockBuf )(
  339. IMLangStringBufA * This,
  340. /* [in] */ long cchOffset,
  341. /* [in] */ long cchMaxLock,
  342. /* [size_is][size_is][out] */ CHAR **ppszBuf,
  343. /* [out] */ long *pcchBuf);
  344. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockBuf )(
  345. IMLangStringBufA * This,
  346. /* [size_is][in] */ const CHAR *pszBuf,
  347. /* [in] */ long cchOffset,
  348. /* [in] */ long cchWrite);
  349. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Insert )(
  350. IMLangStringBufA * This,
  351. /* [in] */ long cchOffset,
  352. /* [in] */ long cchMaxInsert,
  353. /* [out] */ long *pcchActual);
  354. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Delete )(
  355. IMLangStringBufA * This,
  356. /* [in] */ long cchOffset,
  357. /* [in] */ long cchDelete);
  358. END_INTERFACE
  359. } IMLangStringBufAVtbl;
  360. interface IMLangStringBufA
  361. {
  362. CONST_VTBL struct IMLangStringBufAVtbl *lpVtbl;
  363. };
  364. #ifdef COBJMACROS
  365. #define IMLangStringBufA_QueryInterface(This,riid,ppvObject) \
  366. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  367. #define IMLangStringBufA_AddRef(This) \
  368. (This)->lpVtbl -> AddRef(This)
  369. #define IMLangStringBufA_Release(This) \
  370. (This)->lpVtbl -> Release(This)
  371. #define IMLangStringBufA_GetStatus(This,plFlags,pcchBuf) \
  372. (This)->lpVtbl -> GetStatus(This,plFlags,pcchBuf)
  373. #define IMLangStringBufA_LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf) \
  374. (This)->lpVtbl -> LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf)
  375. #define IMLangStringBufA_UnlockBuf(This,pszBuf,cchOffset,cchWrite) \
  376. (This)->lpVtbl -> UnlockBuf(This,pszBuf,cchOffset,cchWrite)
  377. #define IMLangStringBufA_Insert(This,cchOffset,cchMaxInsert,pcchActual) \
  378. (This)->lpVtbl -> Insert(This,cchOffset,cchMaxInsert,pcchActual)
  379. #define IMLangStringBufA_Delete(This,cchOffset,cchDelete) \
  380. (This)->lpVtbl -> Delete(This,cchOffset,cchDelete)
  381. #endif /* COBJMACROS */
  382. #endif /* C style interface */
  383. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufA_GetStatus_Proxy(
  384. IMLangStringBufA * This,
  385. /* [out] */ long *plFlags,
  386. /* [out] */ long *pcchBuf);
  387. void __RPC_STUB IMLangStringBufA_GetStatus_Stub(
  388. IRpcStubBuffer *This,
  389. IRpcChannelBuffer *_pRpcChannelBuffer,
  390. PRPC_MESSAGE _pRpcMessage,
  391. DWORD *_pdwStubPhase);
  392. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufA_LockBuf_Proxy(
  393. IMLangStringBufA * This,
  394. /* [in] */ long cchOffset,
  395. /* [in] */ long cchMaxLock,
  396. /* [size_is][size_is][out] */ CHAR **ppszBuf,
  397. /* [out] */ long *pcchBuf);
  398. void __RPC_STUB IMLangStringBufA_LockBuf_Stub(
  399. IRpcStubBuffer *This,
  400. IRpcChannelBuffer *_pRpcChannelBuffer,
  401. PRPC_MESSAGE _pRpcMessage,
  402. DWORD *_pdwStubPhase);
  403. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufA_UnlockBuf_Proxy(
  404. IMLangStringBufA * This,
  405. /* [size_is][in] */ const CHAR *pszBuf,
  406. /* [in] */ long cchOffset,
  407. /* [in] */ long cchWrite);
  408. void __RPC_STUB IMLangStringBufA_UnlockBuf_Stub(
  409. IRpcStubBuffer *This,
  410. IRpcChannelBuffer *_pRpcChannelBuffer,
  411. PRPC_MESSAGE _pRpcMessage,
  412. DWORD *_pdwStubPhase);
  413. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufA_Insert_Proxy(
  414. IMLangStringBufA * This,
  415. /* [in] */ long cchOffset,
  416. /* [in] */ long cchMaxInsert,
  417. /* [out] */ long *pcchActual);
  418. void __RPC_STUB IMLangStringBufA_Insert_Stub(
  419. IRpcStubBuffer *This,
  420. IRpcChannelBuffer *_pRpcChannelBuffer,
  421. PRPC_MESSAGE _pRpcMessage,
  422. DWORD *_pdwStubPhase);
  423. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringBufA_Delete_Proxy(
  424. IMLangStringBufA * This,
  425. /* [in] */ long cchOffset,
  426. /* [in] */ long cchDelete);
  427. void __RPC_STUB IMLangStringBufA_Delete_Stub(
  428. IRpcStubBuffer *This,
  429. IRpcChannelBuffer *_pRpcChannelBuffer,
  430. PRPC_MESSAGE _pRpcMessage,
  431. DWORD *_pdwStubPhase);
  432. #endif /* __IMLangStringBufA_INTERFACE_DEFINED__ */
  433. #ifndef __IMLangString_INTERFACE_DEFINED__
  434. #define __IMLangString_INTERFACE_DEFINED__
  435. /* interface IMLangString */
  436. /* [object][unique][helpstring][uuid] */
  437. EXTERN_C const IID IID_IMLangString;
  438. #if defined(__cplusplus) && !defined(CINTERFACE)
  439. MIDL_INTERFACE("C04D65CE-B70D-11D0-B188-00AA0038C969")
  440. IMLangString : public IUnknown
  441. {
  442. public:
  443. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Sync(
  444. /* [in] */ BOOL fNoAccess) = 0;
  445. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLength(
  446. /* [retval][out] */ long *plLen) = 0;
  447. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetMLStr(
  448. /* [in] */ long lDestPos,
  449. /* [in] */ long lDestLen,
  450. /* [in] */ IUnknown *pSrcMLStr,
  451. /* [in] */ long lSrcPos,
  452. /* [in] */ long lSrcLen) = 0;
  453. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMLStr(
  454. /* [in] */ long lSrcPos,
  455. /* [in] */ long lSrcLen,
  456. /* [in] */ IUnknown *pUnkOuter,
  457. /* [in] */ DWORD dwClsContext,
  458. /* [in] */ const IID *piid,
  459. /* [out] */ IUnknown **ppDestMLStr,
  460. /* [out] */ long *plDestPos,
  461. /* [out] */ long *plDestLen) = 0;
  462. };
  463. #else /* C style interface */
  464. typedef struct IMLangStringVtbl
  465. {
  466. BEGIN_INTERFACE
  467. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  468. IMLangString * This,
  469. /* [in] */ REFIID riid,
  470. /* [iid_is][out] */ void **ppvObject);
  471. ULONG ( STDMETHODCALLTYPE *AddRef )(
  472. IMLangString * This);
  473. ULONG ( STDMETHODCALLTYPE *Release )(
  474. IMLangString * This);
  475. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Sync )(
  476. IMLangString * This,
  477. /* [in] */ BOOL fNoAccess);
  478. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLength )(
  479. IMLangString * This,
  480. /* [retval][out] */ long *plLen);
  481. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMLStr )(
  482. IMLangString * This,
  483. /* [in] */ long lDestPos,
  484. /* [in] */ long lDestLen,
  485. /* [in] */ IUnknown *pSrcMLStr,
  486. /* [in] */ long lSrcPos,
  487. /* [in] */ long lSrcLen);
  488. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMLStr )(
  489. IMLangString * This,
  490. /* [in] */ long lSrcPos,
  491. /* [in] */ long lSrcLen,
  492. /* [in] */ IUnknown *pUnkOuter,
  493. /* [in] */ DWORD dwClsContext,
  494. /* [in] */ const IID *piid,
  495. /* [out] */ IUnknown **ppDestMLStr,
  496. /* [out] */ long *plDestPos,
  497. /* [out] */ long *plDestLen);
  498. END_INTERFACE
  499. } IMLangStringVtbl;
  500. interface IMLangString
  501. {
  502. CONST_VTBL struct IMLangStringVtbl *lpVtbl;
  503. };
  504. #ifdef COBJMACROS
  505. #define IMLangString_QueryInterface(This,riid,ppvObject) \
  506. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  507. #define IMLangString_AddRef(This) \
  508. (This)->lpVtbl -> AddRef(This)
  509. #define IMLangString_Release(This) \
  510. (This)->lpVtbl -> Release(This)
  511. #define IMLangString_Sync(This,fNoAccess) \
  512. (This)->lpVtbl -> Sync(This,fNoAccess)
  513. #define IMLangString_GetLength(This,plLen) \
  514. (This)->lpVtbl -> GetLength(This,plLen)
  515. #define IMLangString_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) \
  516. (This)->lpVtbl -> SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen)
  517. #define IMLangString_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) \
  518. (This)->lpVtbl -> GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen)
  519. #endif /* COBJMACROS */
  520. #endif /* C style interface */
  521. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangString_Sync_Proxy(
  522. IMLangString * This,
  523. /* [in] */ BOOL fNoAccess);
  524. void __RPC_STUB IMLangString_Sync_Stub(
  525. IRpcStubBuffer *This,
  526. IRpcChannelBuffer *_pRpcChannelBuffer,
  527. PRPC_MESSAGE _pRpcMessage,
  528. DWORD *_pdwStubPhase);
  529. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangString_GetLength_Proxy(
  530. IMLangString * This,
  531. /* [retval][out] */ long *plLen);
  532. void __RPC_STUB IMLangString_GetLength_Stub(
  533. IRpcStubBuffer *This,
  534. IRpcChannelBuffer *_pRpcChannelBuffer,
  535. PRPC_MESSAGE _pRpcMessage,
  536. DWORD *_pdwStubPhase);
  537. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangString_SetMLStr_Proxy(
  538. IMLangString * This,
  539. /* [in] */ long lDestPos,
  540. /* [in] */ long lDestLen,
  541. /* [in] */ IUnknown *pSrcMLStr,
  542. /* [in] */ long lSrcPos,
  543. /* [in] */ long lSrcLen);
  544. void __RPC_STUB IMLangString_SetMLStr_Stub(
  545. IRpcStubBuffer *This,
  546. IRpcChannelBuffer *_pRpcChannelBuffer,
  547. PRPC_MESSAGE _pRpcMessage,
  548. DWORD *_pdwStubPhase);
  549. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangString_GetMLStr_Proxy(
  550. IMLangString * This,
  551. /* [in] */ long lSrcPos,
  552. /* [in] */ long lSrcLen,
  553. /* [in] */ IUnknown *pUnkOuter,
  554. /* [in] */ DWORD dwClsContext,
  555. /* [in] */ const IID *piid,
  556. /* [out] */ IUnknown **ppDestMLStr,
  557. /* [out] */ long *plDestPos,
  558. /* [out] */ long *plDestLen);
  559. void __RPC_STUB IMLangString_GetMLStr_Stub(
  560. IRpcStubBuffer *This,
  561. IRpcChannelBuffer *_pRpcChannelBuffer,
  562. PRPC_MESSAGE _pRpcMessage,
  563. DWORD *_pdwStubPhase);
  564. #endif /* __IMLangString_INTERFACE_DEFINED__ */
  565. #ifndef __IMLangStringWStr_INTERFACE_DEFINED__
  566. #define __IMLangStringWStr_INTERFACE_DEFINED__
  567. /* interface IMLangStringWStr */
  568. /* [object][unique][helpstring][uuid] */
  569. EXTERN_C const IID IID_IMLangStringWStr;
  570. #if defined(__cplusplus) && !defined(CINTERFACE)
  571. MIDL_INTERFACE("C04D65D0-B70D-11D0-B188-00AA0038C969")
  572. IMLangStringWStr : public IMLangString
  573. {
  574. public:
  575. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWStr(
  576. /* [in] */ long lDestPos,
  577. /* [in] */ long lDestLen,
  578. /* [size_is][in] */ const WCHAR *pszSrc,
  579. /* [in] */ long cchSrc,
  580. /* [out] */ long *pcchActual,
  581. /* [out] */ long *plActualLen) = 0;
  582. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStrBufW(
  583. /* [in] */ long lDestPos,
  584. /* [in] */ long lDestLen,
  585. /* [in] */ IMLangStringBufW *pSrcBuf,
  586. /* [out] */ long *pcchActual,
  587. /* [out] */ long *plActualLen) = 0;
  588. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWStr(
  589. /* [in] */ long lSrcPos,
  590. /* [in] */ long lSrcLen,
  591. /* [size_is][out] */ WCHAR *pszDest,
  592. /* [in] */ long cchDest,
  593. /* [out] */ long *pcchActual,
  594. /* [out] */ long *plActualLen) = 0;
  595. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStrBufW(
  596. /* [in] */ long lSrcPos,
  597. /* [in] */ long lSrcMaxLen,
  598. /* [out] */ IMLangStringBufW **ppDestBuf,
  599. /* [out] */ long *plDestLen) = 0;
  600. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockWStr(
  601. /* [in] */ long lSrcPos,
  602. /* [in] */ long lSrcLen,
  603. /* [in] */ long lFlags,
  604. /* [in] */ long cchRequest,
  605. /* [size_is][size_is][out] */ WCHAR **ppszDest,
  606. /* [out] */ long *pcchDest,
  607. /* [out] */ long *plDestLen) = 0;
  608. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockWStr(
  609. /* [size_is][in] */ const WCHAR *pszSrc,
  610. /* [in] */ long cchSrc,
  611. /* [out] */ long *pcchActual,
  612. /* [out] */ long *plActualLen) = 0;
  613. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLocale(
  614. /* [in] */ long lDestPos,
  615. /* [in] */ long lDestLen,
  616. /* [in] */ LCID locale) = 0;
  617. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLocale(
  618. /* [in] */ long lSrcPos,
  619. /* [in] */ long lSrcMaxLen,
  620. /* [out] */ LCID *plocale,
  621. /* [out] */ long *plLocalePos,
  622. /* [out] */ long *plLocaleLen) = 0;
  623. };
  624. #else /* C style interface */
  625. typedef struct IMLangStringWStrVtbl
  626. {
  627. BEGIN_INTERFACE
  628. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  629. IMLangStringWStr * This,
  630. /* [in] */ REFIID riid,
  631. /* [iid_is][out] */ void **ppvObject);
  632. ULONG ( STDMETHODCALLTYPE *AddRef )(
  633. IMLangStringWStr * This);
  634. ULONG ( STDMETHODCALLTYPE *Release )(
  635. IMLangStringWStr * This);
  636. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Sync )(
  637. IMLangStringWStr * This,
  638. /* [in] */ BOOL fNoAccess);
  639. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLength )(
  640. IMLangStringWStr * This,
  641. /* [retval][out] */ long *plLen);
  642. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMLStr )(
  643. IMLangStringWStr * This,
  644. /* [in] */ long lDestPos,
  645. /* [in] */ long lDestLen,
  646. /* [in] */ IUnknown *pSrcMLStr,
  647. /* [in] */ long lSrcPos,
  648. /* [in] */ long lSrcLen);
  649. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMLStr )(
  650. IMLangStringWStr * This,
  651. /* [in] */ long lSrcPos,
  652. /* [in] */ long lSrcLen,
  653. /* [in] */ IUnknown *pUnkOuter,
  654. /* [in] */ DWORD dwClsContext,
  655. /* [in] */ const IID *piid,
  656. /* [out] */ IUnknown **ppDestMLStr,
  657. /* [out] */ long *plDestPos,
  658. /* [out] */ long *plDestLen);
  659. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetWStr )(
  660. IMLangStringWStr * This,
  661. /* [in] */ long lDestPos,
  662. /* [in] */ long lDestLen,
  663. /* [size_is][in] */ const WCHAR *pszSrc,
  664. /* [in] */ long cchSrc,
  665. /* [out] */ long *pcchActual,
  666. /* [out] */ long *plActualLen);
  667. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrBufW )(
  668. IMLangStringWStr * This,
  669. /* [in] */ long lDestPos,
  670. /* [in] */ long lDestLen,
  671. /* [in] */ IMLangStringBufW *pSrcBuf,
  672. /* [out] */ long *pcchActual,
  673. /* [out] */ long *plActualLen);
  674. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetWStr )(
  675. IMLangStringWStr * This,
  676. /* [in] */ long lSrcPos,
  677. /* [in] */ long lSrcLen,
  678. /* [size_is][out] */ WCHAR *pszDest,
  679. /* [in] */ long cchDest,
  680. /* [out] */ long *pcchActual,
  681. /* [out] */ long *plActualLen);
  682. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrBufW )(
  683. IMLangStringWStr * This,
  684. /* [in] */ long lSrcPos,
  685. /* [in] */ long lSrcMaxLen,
  686. /* [out] */ IMLangStringBufW **ppDestBuf,
  687. /* [out] */ long *plDestLen);
  688. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockWStr )(
  689. IMLangStringWStr * This,
  690. /* [in] */ long lSrcPos,
  691. /* [in] */ long lSrcLen,
  692. /* [in] */ long lFlags,
  693. /* [in] */ long cchRequest,
  694. /* [size_is][size_is][out] */ WCHAR **ppszDest,
  695. /* [out] */ long *pcchDest,
  696. /* [out] */ long *plDestLen);
  697. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockWStr )(
  698. IMLangStringWStr * This,
  699. /* [size_is][in] */ const WCHAR *pszSrc,
  700. /* [in] */ long cchSrc,
  701. /* [out] */ long *pcchActual,
  702. /* [out] */ long *plActualLen);
  703. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLocale )(
  704. IMLangStringWStr * This,
  705. /* [in] */ long lDestPos,
  706. /* [in] */ long lDestLen,
  707. /* [in] */ LCID locale);
  708. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLocale )(
  709. IMLangStringWStr * This,
  710. /* [in] */ long lSrcPos,
  711. /* [in] */ long lSrcMaxLen,
  712. /* [out] */ LCID *plocale,
  713. /* [out] */ long *plLocalePos,
  714. /* [out] */ long *plLocaleLen);
  715. END_INTERFACE
  716. } IMLangStringWStrVtbl;
  717. interface IMLangStringWStr
  718. {
  719. CONST_VTBL struct IMLangStringWStrVtbl *lpVtbl;
  720. };
  721. #ifdef COBJMACROS
  722. #define IMLangStringWStr_QueryInterface(This,riid,ppvObject) \
  723. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  724. #define IMLangStringWStr_AddRef(This) \
  725. (This)->lpVtbl -> AddRef(This)
  726. #define IMLangStringWStr_Release(This) \
  727. (This)->lpVtbl -> Release(This)
  728. #define IMLangStringWStr_Sync(This,fNoAccess) \
  729. (This)->lpVtbl -> Sync(This,fNoAccess)
  730. #define IMLangStringWStr_GetLength(This,plLen) \
  731. (This)->lpVtbl -> GetLength(This,plLen)
  732. #define IMLangStringWStr_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) \
  733. (This)->lpVtbl -> SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen)
  734. #define IMLangStringWStr_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) \
  735. (This)->lpVtbl -> GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen)
  736. #define IMLangStringWStr_SetWStr(This,lDestPos,lDestLen,pszSrc,cchSrc,pcchActual,plActualLen) \
  737. (This)->lpVtbl -> SetWStr(This,lDestPos,lDestLen,pszSrc,cchSrc,pcchActual,plActualLen)
  738. #define IMLangStringWStr_SetStrBufW(This,lDestPos,lDestLen,pSrcBuf,pcchActual,plActualLen) \
  739. (This)->lpVtbl -> SetStrBufW(This,lDestPos,lDestLen,pSrcBuf,pcchActual,plActualLen)
  740. #define IMLangStringWStr_GetWStr(This,lSrcPos,lSrcLen,pszDest,cchDest,pcchActual,plActualLen) \
  741. (This)->lpVtbl -> GetWStr(This,lSrcPos,lSrcLen,pszDest,cchDest,pcchActual,plActualLen)
  742. #define IMLangStringWStr_GetStrBufW(This,lSrcPos,lSrcMaxLen,ppDestBuf,plDestLen) \
  743. (This)->lpVtbl -> GetStrBufW(This,lSrcPos,lSrcMaxLen,ppDestBuf,plDestLen)
  744. #define IMLangStringWStr_LockWStr(This,lSrcPos,lSrcLen,lFlags,cchRequest,ppszDest,pcchDest,plDestLen) \
  745. (This)->lpVtbl -> LockWStr(This,lSrcPos,lSrcLen,lFlags,cchRequest,ppszDest,pcchDest,plDestLen)
  746. #define IMLangStringWStr_UnlockWStr(This,pszSrc,cchSrc,pcchActual,plActualLen) \
  747. (This)->lpVtbl -> UnlockWStr(This,pszSrc,cchSrc,pcchActual,plActualLen)
  748. #define IMLangStringWStr_SetLocale(This,lDestPos,lDestLen,locale) \
  749. (This)->lpVtbl -> SetLocale(This,lDestPos,lDestLen,locale)
  750. #define IMLangStringWStr_GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen) \
  751. (This)->lpVtbl -> GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen)
  752. #endif /* COBJMACROS */
  753. #endif /* C style interface */
  754. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringWStr_SetWStr_Proxy(
  755. IMLangStringWStr * This,
  756. /* [in] */ long lDestPos,
  757. /* [in] */ long lDestLen,
  758. /* [size_is][in] */ const WCHAR *pszSrc,
  759. /* [in] */ long cchSrc,
  760. /* [out] */ long *pcchActual,
  761. /* [out] */ long *plActualLen);
  762. void __RPC_STUB IMLangStringWStr_SetWStr_Stub(
  763. IRpcStubBuffer *This,
  764. IRpcChannelBuffer *_pRpcChannelBuffer,
  765. PRPC_MESSAGE _pRpcMessage,
  766. DWORD *_pdwStubPhase);
  767. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringWStr_SetStrBufW_Proxy(
  768. IMLangStringWStr * This,
  769. /* [in] */ long lDestPos,
  770. /* [in] */ long lDestLen,
  771. /* [in] */ IMLangStringBufW *pSrcBuf,
  772. /* [out] */ long *pcchActual,
  773. /* [out] */ long *plActualLen);
  774. void __RPC_STUB IMLangStringWStr_SetStrBufW_Stub(
  775. IRpcStubBuffer *This,
  776. IRpcChannelBuffer *_pRpcChannelBuffer,
  777. PRPC_MESSAGE _pRpcMessage,
  778. DWORD *_pdwStubPhase);
  779. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringWStr_GetWStr_Proxy(
  780. IMLangStringWStr * This,
  781. /* [in] */ long lSrcPos,
  782. /* [in] */ long lSrcLen,
  783. /* [size_is][out] */ WCHAR *pszDest,
  784. /* [in] */ long cchDest,
  785. /* [out] */ long *pcchActual,
  786. /* [out] */ long *plActualLen);
  787. void __RPC_STUB IMLangStringWStr_GetWStr_Stub(
  788. IRpcStubBuffer *This,
  789. IRpcChannelBuffer *_pRpcChannelBuffer,
  790. PRPC_MESSAGE _pRpcMessage,
  791. DWORD *_pdwStubPhase);
  792. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringWStr_GetStrBufW_Proxy(
  793. IMLangStringWStr * This,
  794. /* [in] */ long lSrcPos,
  795. /* [in] */ long lSrcMaxLen,
  796. /* [out] */ IMLangStringBufW **ppDestBuf,
  797. /* [out] */ long *plDestLen);
  798. void __RPC_STUB IMLangStringWStr_GetStrBufW_Stub(
  799. IRpcStubBuffer *This,
  800. IRpcChannelBuffer *_pRpcChannelBuffer,
  801. PRPC_MESSAGE _pRpcMessage,
  802. DWORD *_pdwStubPhase);
  803. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringWStr_LockWStr_Proxy(
  804. IMLangStringWStr * This,
  805. /* [in] */ long lSrcPos,
  806. /* [in] */ long lSrcLen,
  807. /* [in] */ long lFlags,
  808. /* [in] */ long cchRequest,
  809. /* [size_is][size_is][out] */ WCHAR **ppszDest,
  810. /* [out] */ long *pcchDest,
  811. /* [out] */ long *plDestLen);
  812. void __RPC_STUB IMLangStringWStr_LockWStr_Stub(
  813. IRpcStubBuffer *This,
  814. IRpcChannelBuffer *_pRpcChannelBuffer,
  815. PRPC_MESSAGE _pRpcMessage,
  816. DWORD *_pdwStubPhase);
  817. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringWStr_UnlockWStr_Proxy(
  818. IMLangStringWStr * This,
  819. /* [size_is][in] */ const WCHAR *pszSrc,
  820. /* [in] */ long cchSrc,
  821. /* [out] */ long *pcchActual,
  822. /* [out] */ long *plActualLen);
  823. void __RPC_STUB IMLangStringWStr_UnlockWStr_Stub(
  824. IRpcStubBuffer *This,
  825. IRpcChannelBuffer *_pRpcChannelBuffer,
  826. PRPC_MESSAGE _pRpcMessage,
  827. DWORD *_pdwStubPhase);
  828. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringWStr_SetLocale_Proxy(
  829. IMLangStringWStr * This,
  830. /* [in] */ long lDestPos,
  831. /* [in] */ long lDestLen,
  832. /* [in] */ LCID locale);
  833. void __RPC_STUB IMLangStringWStr_SetLocale_Stub(
  834. IRpcStubBuffer *This,
  835. IRpcChannelBuffer *_pRpcChannelBuffer,
  836. PRPC_MESSAGE _pRpcMessage,
  837. DWORD *_pdwStubPhase);
  838. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringWStr_GetLocale_Proxy(
  839. IMLangStringWStr * This,
  840. /* [in] */ long lSrcPos,
  841. /* [in] */ long lSrcMaxLen,
  842. /* [out] */ LCID *plocale,
  843. /* [out] */ long *plLocalePos,
  844. /* [out] */ long *plLocaleLen);
  845. void __RPC_STUB IMLangStringWStr_GetLocale_Stub(
  846. IRpcStubBuffer *This,
  847. IRpcChannelBuffer *_pRpcChannelBuffer,
  848. PRPC_MESSAGE _pRpcMessage,
  849. DWORD *_pdwStubPhase);
  850. #endif /* __IMLangStringWStr_INTERFACE_DEFINED__ */
  851. #ifndef __IMLangStringAStr_INTERFACE_DEFINED__
  852. #define __IMLangStringAStr_INTERFACE_DEFINED__
  853. /* interface IMLangStringAStr */
  854. /* [object][unique][helpstring][uuid] */
  855. EXTERN_C const IID IID_IMLangStringAStr;
  856. #if defined(__cplusplus) && !defined(CINTERFACE)
  857. MIDL_INTERFACE("C04D65D2-B70D-11D0-B188-00AA0038C969")
  858. IMLangStringAStr : public IMLangString
  859. {
  860. public:
  861. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAStr(
  862. /* [in] */ long lDestPos,
  863. /* [in] */ long lDestLen,
  864. /* [in] */ UINT uCodePage,
  865. /* [size_is][in] */ const CHAR *pszSrc,
  866. /* [in] */ long cchSrc,
  867. /* [out] */ long *pcchActual,
  868. /* [out] */ long *plActualLen) = 0;
  869. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStrBufA(
  870. /* [in] */ long lDestPos,
  871. /* [in] */ long lDestLen,
  872. /* [in] */ UINT uCodePage,
  873. /* [in] */ IMLangStringBufA *pSrcBuf,
  874. /* [out] */ long *pcchActual,
  875. /* [out] */ long *plActualLen) = 0;
  876. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAStr(
  877. /* [in] */ long lSrcPos,
  878. /* [in] */ long lSrcLen,
  879. /* [in] */ UINT uCodePageIn,
  880. /* [out] */ UINT *puCodePageOut,
  881. /* [size_is][out] */ CHAR *pszDest,
  882. /* [in] */ long cchDest,
  883. /* [out] */ long *pcchActual,
  884. /* [out] */ long *plActualLen) = 0;
  885. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStrBufA(
  886. /* [in] */ long lSrcPos,
  887. /* [in] */ long lSrcMaxLen,
  888. /* [out] */ UINT *puDestCodePage,
  889. /* [out] */ IMLangStringBufA **ppDestBuf,
  890. /* [out] */ long *plDestLen) = 0;
  891. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockAStr(
  892. /* [in] */ long lSrcPos,
  893. /* [in] */ long lSrcLen,
  894. /* [in] */ long lFlags,
  895. /* [in] */ UINT uCodePageIn,
  896. /* [in] */ long cchRequest,
  897. /* [out] */ UINT *puCodePageOut,
  898. /* [size_is][size_is][out] */ CHAR **ppszDest,
  899. /* [out] */ long *pcchDest,
  900. /* [out] */ long *plDestLen) = 0;
  901. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnlockAStr(
  902. /* [size_is][in] */ const CHAR *pszSrc,
  903. /* [in] */ long cchSrc,
  904. /* [out] */ long *pcchActual,
  905. /* [out] */ long *plActualLen) = 0;
  906. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLocale(
  907. /* [in] */ long lDestPos,
  908. /* [in] */ long lDestLen,
  909. /* [in] */ LCID locale) = 0;
  910. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLocale(
  911. /* [in] */ long lSrcPos,
  912. /* [in] */ long lSrcMaxLen,
  913. /* [out] */ LCID *plocale,
  914. /* [out] */ long *plLocalePos,
  915. /* [out] */ long *plLocaleLen) = 0;
  916. };
  917. #else /* C style interface */
  918. typedef struct IMLangStringAStrVtbl
  919. {
  920. BEGIN_INTERFACE
  921. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  922. IMLangStringAStr * This,
  923. /* [in] */ REFIID riid,
  924. /* [iid_is][out] */ void **ppvObject);
  925. ULONG ( STDMETHODCALLTYPE *AddRef )(
  926. IMLangStringAStr * This);
  927. ULONG ( STDMETHODCALLTYPE *Release )(
  928. IMLangStringAStr * This);
  929. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Sync )(
  930. IMLangStringAStr * This,
  931. /* [in] */ BOOL fNoAccess);
  932. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLength )(
  933. IMLangStringAStr * This,
  934. /* [retval][out] */ long *plLen);
  935. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetMLStr )(
  936. IMLangStringAStr * This,
  937. /* [in] */ long lDestPos,
  938. /* [in] */ long lDestLen,
  939. /* [in] */ IUnknown *pSrcMLStr,
  940. /* [in] */ long lSrcPos,
  941. /* [in] */ long lSrcLen);
  942. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMLStr )(
  943. IMLangStringAStr * This,
  944. /* [in] */ long lSrcPos,
  945. /* [in] */ long lSrcLen,
  946. /* [in] */ IUnknown *pUnkOuter,
  947. /* [in] */ DWORD dwClsContext,
  948. /* [in] */ const IID *piid,
  949. /* [out] */ IUnknown **ppDestMLStr,
  950. /* [out] */ long *plDestPos,
  951. /* [out] */ long *plDestLen);
  952. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAStr )(
  953. IMLangStringAStr * This,
  954. /* [in] */ long lDestPos,
  955. /* [in] */ long lDestLen,
  956. /* [in] */ UINT uCodePage,
  957. /* [size_is][in] */ const CHAR *pszSrc,
  958. /* [in] */ long cchSrc,
  959. /* [out] */ long *pcchActual,
  960. /* [out] */ long *plActualLen);
  961. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStrBufA )(
  962. IMLangStringAStr * This,
  963. /* [in] */ long lDestPos,
  964. /* [in] */ long lDestLen,
  965. /* [in] */ UINT uCodePage,
  966. /* [in] */ IMLangStringBufA *pSrcBuf,
  967. /* [out] */ long *pcchActual,
  968. /* [out] */ long *plActualLen);
  969. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAStr )(
  970. IMLangStringAStr * This,
  971. /* [in] */ long lSrcPos,
  972. /* [in] */ long lSrcLen,
  973. /* [in] */ UINT uCodePageIn,
  974. /* [out] */ UINT *puCodePageOut,
  975. /* [size_is][out] */ CHAR *pszDest,
  976. /* [in] */ long cchDest,
  977. /* [out] */ long *pcchActual,
  978. /* [out] */ long *plActualLen);
  979. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrBufA )(
  980. IMLangStringAStr * This,
  981. /* [in] */ long lSrcPos,
  982. /* [in] */ long lSrcMaxLen,
  983. /* [out] */ UINT *puDestCodePage,
  984. /* [out] */ IMLangStringBufA **ppDestBuf,
  985. /* [out] */ long *plDestLen);
  986. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockAStr )(
  987. IMLangStringAStr * This,
  988. /* [in] */ long lSrcPos,
  989. /* [in] */ long lSrcLen,
  990. /* [in] */ long lFlags,
  991. /* [in] */ UINT uCodePageIn,
  992. /* [in] */ long cchRequest,
  993. /* [out] */ UINT *puCodePageOut,
  994. /* [size_is][size_is][out] */ CHAR **ppszDest,
  995. /* [out] */ long *pcchDest,
  996. /* [out] */ long *plDestLen);
  997. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnlockAStr )(
  998. IMLangStringAStr * This,
  999. /* [size_is][in] */ const CHAR *pszSrc,
  1000. /* [in] */ long cchSrc,
  1001. /* [out] */ long *pcchActual,
  1002. /* [out] */ long *plActualLen);
  1003. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLocale )(
  1004. IMLangStringAStr * This,
  1005. /* [in] */ long lDestPos,
  1006. /* [in] */ long lDestLen,
  1007. /* [in] */ LCID locale);
  1008. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLocale )(
  1009. IMLangStringAStr * This,
  1010. /* [in] */ long lSrcPos,
  1011. /* [in] */ long lSrcMaxLen,
  1012. /* [out] */ LCID *plocale,
  1013. /* [out] */ long *plLocalePos,
  1014. /* [out] */ long *plLocaleLen);
  1015. END_INTERFACE
  1016. } IMLangStringAStrVtbl;
  1017. interface IMLangStringAStr
  1018. {
  1019. CONST_VTBL struct IMLangStringAStrVtbl *lpVtbl;
  1020. };
  1021. #ifdef COBJMACROS
  1022. #define IMLangStringAStr_QueryInterface(This,riid,ppvObject) \
  1023. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1024. #define IMLangStringAStr_AddRef(This) \
  1025. (This)->lpVtbl -> AddRef(This)
  1026. #define IMLangStringAStr_Release(This) \
  1027. (This)->lpVtbl -> Release(This)
  1028. #define IMLangStringAStr_Sync(This,fNoAccess) \
  1029. (This)->lpVtbl -> Sync(This,fNoAccess)
  1030. #define IMLangStringAStr_GetLength(This,plLen) \
  1031. (This)->lpVtbl -> GetLength(This,plLen)
  1032. #define IMLangStringAStr_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) \
  1033. (This)->lpVtbl -> SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen)
  1034. #define IMLangStringAStr_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) \
  1035. (This)->lpVtbl -> GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen)
  1036. #define IMLangStringAStr_SetAStr(This,lDestPos,lDestLen,uCodePage,pszSrc,cchSrc,pcchActual,plActualLen) \
  1037. (This)->lpVtbl -> SetAStr(This,lDestPos,lDestLen,uCodePage,pszSrc,cchSrc,pcchActual,plActualLen)
  1038. #define IMLangStringAStr_SetStrBufA(This,lDestPos,lDestLen,uCodePage,pSrcBuf,pcchActual,plActualLen) \
  1039. (This)->lpVtbl -> SetStrBufA(This,lDestPos,lDestLen,uCodePage,pSrcBuf,pcchActual,plActualLen)
  1040. #define IMLangStringAStr_GetAStr(This,lSrcPos,lSrcLen,uCodePageIn,puCodePageOut,pszDest,cchDest,pcchActual,plActualLen) \
  1041. (This)->lpVtbl -> GetAStr(This,lSrcPos,lSrcLen,uCodePageIn,puCodePageOut,pszDest,cchDest,pcchActual,plActualLen)
  1042. #define IMLangStringAStr_GetStrBufA(This,lSrcPos,lSrcMaxLen,puDestCodePage,ppDestBuf,plDestLen) \
  1043. (This)->lpVtbl -> GetStrBufA(This,lSrcPos,lSrcMaxLen,puDestCodePage,ppDestBuf,plDestLen)
  1044. #define IMLangStringAStr_LockAStr(This,lSrcPos,lSrcLen,lFlags,uCodePageIn,cchRequest,puCodePageOut,ppszDest,pcchDest,plDestLen) \
  1045. (This)->lpVtbl -> LockAStr(This,lSrcPos,lSrcLen,lFlags,uCodePageIn,cchRequest,puCodePageOut,ppszDest,pcchDest,plDestLen)
  1046. #define IMLangStringAStr_UnlockAStr(This,pszSrc,cchSrc,pcchActual,plActualLen) \
  1047. (This)->lpVtbl -> UnlockAStr(This,pszSrc,cchSrc,pcchActual,plActualLen)
  1048. #define IMLangStringAStr_SetLocale(This,lDestPos,lDestLen,locale) \
  1049. (This)->lpVtbl -> SetLocale(This,lDestPos,lDestLen,locale)
  1050. #define IMLangStringAStr_GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen) \
  1051. (This)->lpVtbl -> GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen)
  1052. #endif /* COBJMACROS */
  1053. #endif /* C style interface */
  1054. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringAStr_SetAStr_Proxy(
  1055. IMLangStringAStr * This,
  1056. /* [in] */ long lDestPos,
  1057. /* [in] */ long lDestLen,
  1058. /* [in] */ UINT uCodePage,
  1059. /* [size_is][in] */ const CHAR *pszSrc,
  1060. /* [in] */ long cchSrc,
  1061. /* [out] */ long *pcchActual,
  1062. /* [out] */ long *plActualLen);
  1063. void __RPC_STUB IMLangStringAStr_SetAStr_Stub(
  1064. IRpcStubBuffer *This,
  1065. IRpcChannelBuffer *_pRpcChannelBuffer,
  1066. PRPC_MESSAGE _pRpcMessage,
  1067. DWORD *_pdwStubPhase);
  1068. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringAStr_SetStrBufA_Proxy(
  1069. IMLangStringAStr * This,
  1070. /* [in] */ long lDestPos,
  1071. /* [in] */ long lDestLen,
  1072. /* [in] */ UINT uCodePage,
  1073. /* [in] */ IMLangStringBufA *pSrcBuf,
  1074. /* [out] */ long *pcchActual,
  1075. /* [out] */ long *plActualLen);
  1076. void __RPC_STUB IMLangStringAStr_SetStrBufA_Stub(
  1077. IRpcStubBuffer *This,
  1078. IRpcChannelBuffer *_pRpcChannelBuffer,
  1079. PRPC_MESSAGE _pRpcMessage,
  1080. DWORD *_pdwStubPhase);
  1081. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringAStr_GetAStr_Proxy(
  1082. IMLangStringAStr * This,
  1083. /* [in] */ long lSrcPos,
  1084. /* [in] */ long lSrcLen,
  1085. /* [in] */ UINT uCodePageIn,
  1086. /* [out] */ UINT *puCodePageOut,
  1087. /* [size_is][out] */ CHAR *pszDest,
  1088. /* [in] */ long cchDest,
  1089. /* [out] */ long *pcchActual,
  1090. /* [out] */ long *plActualLen);
  1091. void __RPC_STUB IMLangStringAStr_GetAStr_Stub(
  1092. IRpcStubBuffer *This,
  1093. IRpcChannelBuffer *_pRpcChannelBuffer,
  1094. PRPC_MESSAGE _pRpcMessage,
  1095. DWORD *_pdwStubPhase);
  1096. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringAStr_GetStrBufA_Proxy(
  1097. IMLangStringAStr * This,
  1098. /* [in] */ long lSrcPos,
  1099. /* [in] */ long lSrcMaxLen,
  1100. /* [out] */ UINT *puDestCodePage,
  1101. /* [out] */ IMLangStringBufA **ppDestBuf,
  1102. /* [out] */ long *plDestLen);
  1103. void __RPC_STUB IMLangStringAStr_GetStrBufA_Stub(
  1104. IRpcStubBuffer *This,
  1105. IRpcChannelBuffer *_pRpcChannelBuffer,
  1106. PRPC_MESSAGE _pRpcMessage,
  1107. DWORD *_pdwStubPhase);
  1108. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringAStr_LockAStr_Proxy(
  1109. IMLangStringAStr * This,
  1110. /* [in] */ long lSrcPos,
  1111. /* [in] */ long lSrcLen,
  1112. /* [in] */ long lFlags,
  1113. /* [in] */ UINT uCodePageIn,
  1114. /* [in] */ long cchRequest,
  1115. /* [out] */ UINT *puCodePageOut,
  1116. /* [size_is][size_is][out] */ CHAR **ppszDest,
  1117. /* [out] */ long *pcchDest,
  1118. /* [out] */ long *plDestLen);
  1119. void __RPC_STUB IMLangStringAStr_LockAStr_Stub(
  1120. IRpcStubBuffer *This,
  1121. IRpcChannelBuffer *_pRpcChannelBuffer,
  1122. PRPC_MESSAGE _pRpcMessage,
  1123. DWORD *_pdwStubPhase);
  1124. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringAStr_UnlockAStr_Proxy(
  1125. IMLangStringAStr * This,
  1126. /* [size_is][in] */ const CHAR *pszSrc,
  1127. /* [in] */ long cchSrc,
  1128. /* [out] */ long *pcchActual,
  1129. /* [out] */ long *plActualLen);
  1130. void __RPC_STUB IMLangStringAStr_UnlockAStr_Stub(
  1131. IRpcStubBuffer *This,
  1132. IRpcChannelBuffer *_pRpcChannelBuffer,
  1133. PRPC_MESSAGE _pRpcMessage,
  1134. DWORD *_pdwStubPhase);
  1135. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringAStr_SetLocale_Proxy(
  1136. IMLangStringAStr * This,
  1137. /* [in] */ long lDestPos,
  1138. /* [in] */ long lDestLen,
  1139. /* [in] */ LCID locale);
  1140. void __RPC_STUB IMLangStringAStr_SetLocale_Stub(
  1141. IRpcStubBuffer *This,
  1142. IRpcChannelBuffer *_pRpcChannelBuffer,
  1143. PRPC_MESSAGE _pRpcMessage,
  1144. DWORD *_pdwStubPhase);
  1145. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangStringAStr_GetLocale_Proxy(
  1146. IMLangStringAStr * This,
  1147. /* [in] */ long lSrcPos,
  1148. /* [in] */ long lSrcMaxLen,
  1149. /* [out] */ LCID *plocale,
  1150. /* [out] */ long *plLocalePos,
  1151. /* [out] */ long *plLocaleLen);
  1152. void __RPC_STUB IMLangStringAStr_GetLocale_Stub(
  1153. IRpcStubBuffer *This,
  1154. IRpcChannelBuffer *_pRpcChannelBuffer,
  1155. PRPC_MESSAGE _pRpcMessage,
  1156. DWORD *_pdwStubPhase);
  1157. #endif /* __IMLangStringAStr_INTERFACE_DEFINED__ */
  1158. EXTERN_C const CLSID CLSID_CMLangString;
  1159. #ifdef __cplusplus
  1160. class DECLSPEC_UUID("C04D65CF-B70D-11D0-B188-00AA0038C969")
  1161. CMLangString;
  1162. #endif
  1163. #ifndef __IMLangLineBreakConsole_INTERFACE_DEFINED__
  1164. #define __IMLangLineBreakConsole_INTERFACE_DEFINED__
  1165. /* interface IMLangLineBreakConsole */
  1166. /* [object][unique][helpstring][uuid] */
  1167. EXTERN_C const IID IID_IMLangLineBreakConsole;
  1168. #if defined(__cplusplus) && !defined(CINTERFACE)
  1169. MIDL_INTERFACE("F5BE2EE1-BFD7-11D0-B188-00AA0038C969")
  1170. IMLangLineBreakConsole : public IUnknown
  1171. {
  1172. public:
  1173. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BreakLineML(
  1174. /* [in] */ IMLangString *pSrcMLStr,
  1175. /* [in] */ long lSrcPos,
  1176. /* [in] */ long lSrcLen,
  1177. /* [in] */ long cMinColumns,
  1178. /* [in] */ long cMaxColumns,
  1179. /* [out] */ long *plLineLen,
  1180. /* [out] */ long *plSkipLen) = 0;
  1181. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BreakLineW(
  1182. /* [in] */ LCID locale,
  1183. /* [size_is][in] */ const WCHAR *pszSrc,
  1184. /* [in] */ long cchSrc,
  1185. /* [in] */ long cMaxColumns,
  1186. /* [out] */ long *pcchLine,
  1187. /* [out] */ long *pcchSkip) = 0;
  1188. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BreakLineA(
  1189. /* [in] */ LCID locale,
  1190. /* [in] */ UINT uCodePage,
  1191. /* [size_is][in] */ const CHAR *pszSrc,
  1192. /* [in] */ long cchSrc,
  1193. /* [in] */ long cMaxColumns,
  1194. /* [out] */ long *pcchLine,
  1195. /* [out] */ long *pcchSkip) = 0;
  1196. };
  1197. #else /* C style interface */
  1198. typedef struct IMLangLineBreakConsoleVtbl
  1199. {
  1200. BEGIN_INTERFACE
  1201. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1202. IMLangLineBreakConsole * This,
  1203. /* [in] */ REFIID riid,
  1204. /* [iid_is][out] */ void **ppvObject);
  1205. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1206. IMLangLineBreakConsole * This);
  1207. ULONG ( STDMETHODCALLTYPE *Release )(
  1208. IMLangLineBreakConsole * This);
  1209. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BreakLineML )(
  1210. IMLangLineBreakConsole * This,
  1211. /* [in] */ IMLangString *pSrcMLStr,
  1212. /* [in] */ long lSrcPos,
  1213. /* [in] */ long lSrcLen,
  1214. /* [in] */ long cMinColumns,
  1215. /* [in] */ long cMaxColumns,
  1216. /* [out] */ long *plLineLen,
  1217. /* [out] */ long *plSkipLen);
  1218. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BreakLineW )(
  1219. IMLangLineBreakConsole * This,
  1220. /* [in] */ LCID locale,
  1221. /* [size_is][in] */ const WCHAR *pszSrc,
  1222. /* [in] */ long cchSrc,
  1223. /* [in] */ long cMaxColumns,
  1224. /* [out] */ long *pcchLine,
  1225. /* [out] */ long *pcchSkip);
  1226. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BreakLineA )(
  1227. IMLangLineBreakConsole * This,
  1228. /* [in] */ LCID locale,
  1229. /* [in] */ UINT uCodePage,
  1230. /* [size_is][in] */ const CHAR *pszSrc,
  1231. /* [in] */ long cchSrc,
  1232. /* [in] */ long cMaxColumns,
  1233. /* [out] */ long *pcchLine,
  1234. /* [out] */ long *pcchSkip);
  1235. END_INTERFACE
  1236. } IMLangLineBreakConsoleVtbl;
  1237. interface IMLangLineBreakConsole
  1238. {
  1239. CONST_VTBL struct IMLangLineBreakConsoleVtbl *lpVtbl;
  1240. };
  1241. #ifdef COBJMACROS
  1242. #define IMLangLineBreakConsole_QueryInterface(This,riid,ppvObject) \
  1243. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1244. #define IMLangLineBreakConsole_AddRef(This) \
  1245. (This)->lpVtbl -> AddRef(This)
  1246. #define IMLangLineBreakConsole_Release(This) \
  1247. (This)->lpVtbl -> Release(This)
  1248. #define IMLangLineBreakConsole_BreakLineML(This,pSrcMLStr,lSrcPos,lSrcLen,cMinColumns,cMaxColumns,plLineLen,plSkipLen) \
  1249. (This)->lpVtbl -> BreakLineML(This,pSrcMLStr,lSrcPos,lSrcLen,cMinColumns,cMaxColumns,plLineLen,plSkipLen)
  1250. #define IMLangLineBreakConsole_BreakLineW(This,locale,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip) \
  1251. (This)->lpVtbl -> BreakLineW(This,locale,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip)
  1252. #define IMLangLineBreakConsole_BreakLineA(This,locale,uCodePage,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip) \
  1253. (This)->lpVtbl -> BreakLineA(This,locale,uCodePage,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip)
  1254. #endif /* COBJMACROS */
  1255. #endif /* C style interface */
  1256. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangLineBreakConsole_BreakLineML_Proxy(
  1257. IMLangLineBreakConsole * This,
  1258. /* [in] */ IMLangString *pSrcMLStr,
  1259. /* [in] */ long lSrcPos,
  1260. /* [in] */ long lSrcLen,
  1261. /* [in] */ long cMinColumns,
  1262. /* [in] */ long cMaxColumns,
  1263. /* [out] */ long *plLineLen,
  1264. /* [out] */ long *plSkipLen);
  1265. void __RPC_STUB IMLangLineBreakConsole_BreakLineML_Stub(
  1266. IRpcStubBuffer *This,
  1267. IRpcChannelBuffer *_pRpcChannelBuffer,
  1268. PRPC_MESSAGE _pRpcMessage,
  1269. DWORD *_pdwStubPhase);
  1270. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangLineBreakConsole_BreakLineW_Proxy(
  1271. IMLangLineBreakConsole * This,
  1272. /* [in] */ LCID locale,
  1273. /* [size_is][in] */ const WCHAR *pszSrc,
  1274. /* [in] */ long cchSrc,
  1275. /* [in] */ long cMaxColumns,
  1276. /* [out] */ long *pcchLine,
  1277. /* [out] */ long *pcchSkip);
  1278. void __RPC_STUB IMLangLineBreakConsole_BreakLineW_Stub(
  1279. IRpcStubBuffer *This,
  1280. IRpcChannelBuffer *_pRpcChannelBuffer,
  1281. PRPC_MESSAGE _pRpcMessage,
  1282. DWORD *_pdwStubPhase);
  1283. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangLineBreakConsole_BreakLineA_Proxy(
  1284. IMLangLineBreakConsole * This,
  1285. /* [in] */ LCID locale,
  1286. /* [in] */ UINT uCodePage,
  1287. /* [size_is][in] */ const CHAR *pszSrc,
  1288. /* [in] */ long cchSrc,
  1289. /* [in] */ long cMaxColumns,
  1290. /* [out] */ long *pcchLine,
  1291. /* [out] */ long *pcchSkip);
  1292. void __RPC_STUB IMLangLineBreakConsole_BreakLineA_Stub(
  1293. IRpcStubBuffer *This,
  1294. IRpcChannelBuffer *_pRpcChannelBuffer,
  1295. PRPC_MESSAGE _pRpcMessage,
  1296. DWORD *_pdwStubPhase);
  1297. #endif /* __IMLangLineBreakConsole_INTERFACE_DEFINED__ */
  1298. #ifndef __IEnumCodePage_INTERFACE_DEFINED__
  1299. #define __IEnumCodePage_INTERFACE_DEFINED__
  1300. /* interface IEnumCodePage */
  1301. /* [unique][uuid][object] */
  1302. #define MAX_MIMECP_NAME ( 64 )
  1303. #define MAX_MIMECSET_NAME ( 50 )
  1304. #define MAX_MIMEFACE_NAME ( 32 )
  1305. typedef
  1306. enum tagMIMECONTF
  1307. { MIMECONTF_MAILNEWS = 0x1,
  1308. MIMECONTF_BROWSER = 0x2,
  1309. MIMECONTF_MINIMAL = 0x4,
  1310. MIMECONTF_IMPORT = 0x8,
  1311. MIMECONTF_SAVABLE_MAILNEWS = 0x100,
  1312. MIMECONTF_SAVABLE_BROWSER = 0x200,
  1313. MIMECONTF_EXPORT = 0x400,
  1314. MIMECONTF_PRIVCONVERTER = 0x10000,
  1315. MIMECONTF_VALID = 0x20000,
  1316. MIMECONTF_VALID_NLS = 0x40000,
  1317. MIMECONTF_MIME_IE4 = 0x10000000,
  1318. MIMECONTF_MIME_LATEST = 0x20000000,
  1319. MIMECONTF_MIME_REGISTRY = 0x40000000
  1320. } MIMECONTF;
  1321. typedef struct tagMIMECPINFO
  1322. {
  1323. DWORD dwFlags;
  1324. UINT uiCodePage;
  1325. UINT uiFamilyCodePage;
  1326. WCHAR wszDescription[ 64 ];
  1327. WCHAR wszWebCharset[ 50 ];
  1328. WCHAR wszHeaderCharset[ 50 ];
  1329. WCHAR wszBodyCharset[ 50 ];
  1330. WCHAR wszFixedWidthFont[ 32 ];
  1331. WCHAR wszProportionalFont[ 32 ];
  1332. BYTE bGDICharset;
  1333. } MIMECPINFO;
  1334. typedef struct tagMIMECPINFO *PMIMECPINFO;
  1335. typedef struct tagMIMECSETINFO
  1336. {
  1337. UINT uiCodePage;
  1338. UINT uiInternetEncoding;
  1339. WCHAR wszCharset[ 50 ];
  1340. } MIMECSETINFO;
  1341. typedef struct tagMIMECSETINFO *PMIMECSETINFO;
  1342. typedef /* [unique] */ IEnumCodePage *LPENUMCODEPAGE;
  1343. EXTERN_C const IID IID_IEnumCodePage;
  1344. #if defined(__cplusplus) && !defined(CINTERFACE)
  1345. MIDL_INTERFACE("275c23e3-3747-11d0-9fea-00aa003f8646")
  1346. IEnumCodePage : public IUnknown
  1347. {
  1348. public:
  1349. virtual HRESULT STDMETHODCALLTYPE Clone(
  1350. /* [out] */ IEnumCodePage **ppEnum) = 0;
  1351. virtual HRESULT STDMETHODCALLTYPE Next(
  1352. /* [in] */ ULONG celt,
  1353. /* [out] */ PMIMECPINFO rgelt,
  1354. /* [out] */ ULONG *pceltFetched) = 0;
  1355. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1356. virtual HRESULT STDMETHODCALLTYPE Skip(
  1357. /* [in] */ ULONG celt) = 0;
  1358. };
  1359. #else /* C style interface */
  1360. typedef struct IEnumCodePageVtbl
  1361. {
  1362. BEGIN_INTERFACE
  1363. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1364. IEnumCodePage * This,
  1365. /* [in] */ REFIID riid,
  1366. /* [iid_is][out] */ void **ppvObject);
  1367. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1368. IEnumCodePage * This);
  1369. ULONG ( STDMETHODCALLTYPE *Release )(
  1370. IEnumCodePage * This);
  1371. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1372. IEnumCodePage * This,
  1373. /* [out] */ IEnumCodePage **ppEnum);
  1374. HRESULT ( STDMETHODCALLTYPE *Next )(
  1375. IEnumCodePage * This,
  1376. /* [in] */ ULONG celt,
  1377. /* [out] */ PMIMECPINFO rgelt,
  1378. /* [out] */ ULONG *pceltFetched);
  1379. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1380. IEnumCodePage * This);
  1381. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1382. IEnumCodePage * This,
  1383. /* [in] */ ULONG celt);
  1384. END_INTERFACE
  1385. } IEnumCodePageVtbl;
  1386. interface IEnumCodePage
  1387. {
  1388. CONST_VTBL struct IEnumCodePageVtbl *lpVtbl;
  1389. };
  1390. #ifdef COBJMACROS
  1391. #define IEnumCodePage_QueryInterface(This,riid,ppvObject) \
  1392. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1393. #define IEnumCodePage_AddRef(This) \
  1394. (This)->lpVtbl -> AddRef(This)
  1395. #define IEnumCodePage_Release(This) \
  1396. (This)->lpVtbl -> Release(This)
  1397. #define IEnumCodePage_Clone(This,ppEnum) \
  1398. (This)->lpVtbl -> Clone(This,ppEnum)
  1399. #define IEnumCodePage_Next(This,celt,rgelt,pceltFetched) \
  1400. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1401. #define IEnumCodePage_Reset(This) \
  1402. (This)->lpVtbl -> Reset(This)
  1403. #define IEnumCodePage_Skip(This,celt) \
  1404. (This)->lpVtbl -> Skip(This,celt)
  1405. #endif /* COBJMACROS */
  1406. #endif /* C style interface */
  1407. HRESULT STDMETHODCALLTYPE IEnumCodePage_Clone_Proxy(
  1408. IEnumCodePage * This,
  1409. /* [out] */ IEnumCodePage **ppEnum);
  1410. void __RPC_STUB IEnumCodePage_Clone_Stub(
  1411. IRpcStubBuffer *This,
  1412. IRpcChannelBuffer *_pRpcChannelBuffer,
  1413. PRPC_MESSAGE _pRpcMessage,
  1414. DWORD *_pdwStubPhase);
  1415. HRESULT STDMETHODCALLTYPE IEnumCodePage_Next_Proxy(
  1416. IEnumCodePage * This,
  1417. /* [in] */ ULONG celt,
  1418. /* [out] */ PMIMECPINFO rgelt,
  1419. /* [out] */ ULONG *pceltFetched);
  1420. void __RPC_STUB IEnumCodePage_Next_Stub(
  1421. IRpcStubBuffer *This,
  1422. IRpcChannelBuffer *_pRpcChannelBuffer,
  1423. PRPC_MESSAGE _pRpcMessage,
  1424. DWORD *_pdwStubPhase);
  1425. HRESULT STDMETHODCALLTYPE IEnumCodePage_Reset_Proxy(
  1426. IEnumCodePage * This);
  1427. void __RPC_STUB IEnumCodePage_Reset_Stub(
  1428. IRpcStubBuffer *This,
  1429. IRpcChannelBuffer *_pRpcChannelBuffer,
  1430. PRPC_MESSAGE _pRpcMessage,
  1431. DWORD *_pdwStubPhase);
  1432. HRESULT STDMETHODCALLTYPE IEnumCodePage_Skip_Proxy(
  1433. IEnumCodePage * This,
  1434. /* [in] */ ULONG celt);
  1435. void __RPC_STUB IEnumCodePage_Skip_Stub(
  1436. IRpcStubBuffer *This,
  1437. IRpcChannelBuffer *_pRpcChannelBuffer,
  1438. PRPC_MESSAGE _pRpcMessage,
  1439. DWORD *_pdwStubPhase);
  1440. #endif /* __IEnumCodePage_INTERFACE_DEFINED__ */
  1441. #ifndef __IEnumRfc1766_INTERFACE_DEFINED__
  1442. #define __IEnumRfc1766_INTERFACE_DEFINED__
  1443. /* interface IEnumRfc1766 */
  1444. /* [unique][uuid][object] */
  1445. #define MAX_RFC1766_NAME ( 6 )
  1446. #define MAX_LOCALE_NAME ( 32 )
  1447. typedef struct tagRFC1766INFO
  1448. {
  1449. LCID lcid;
  1450. WCHAR wszRfc1766[ 6 ];
  1451. WCHAR wszLocaleName[ 32 ];
  1452. } RFC1766INFO;
  1453. typedef struct tagRFC1766INFO *PRFC1766INFO;
  1454. typedef /* [unique] */ IEnumRfc1766 *LPENUMRFC1766;
  1455. EXTERN_C const IID IID_IEnumRfc1766;
  1456. #if defined(__cplusplus) && !defined(CINTERFACE)
  1457. MIDL_INTERFACE("3dc39d1d-c030-11d0-b81b-00c04fc9b31f")
  1458. IEnumRfc1766 : public IUnknown
  1459. {
  1460. public:
  1461. virtual HRESULT STDMETHODCALLTYPE Clone(
  1462. /* [out] */ IEnumRfc1766 **ppEnum) = 0;
  1463. virtual HRESULT STDMETHODCALLTYPE Next(
  1464. /* [in] */ ULONG celt,
  1465. /* [out] */ PRFC1766INFO rgelt,
  1466. /* [out] */ ULONG *pceltFetched) = 0;
  1467. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1468. virtual HRESULT STDMETHODCALLTYPE Skip(
  1469. /* [in] */ ULONG celt) = 0;
  1470. };
  1471. #else /* C style interface */
  1472. typedef struct IEnumRfc1766Vtbl
  1473. {
  1474. BEGIN_INTERFACE
  1475. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1476. IEnumRfc1766 * This,
  1477. /* [in] */ REFIID riid,
  1478. /* [iid_is][out] */ void **ppvObject);
  1479. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1480. IEnumRfc1766 * This);
  1481. ULONG ( STDMETHODCALLTYPE *Release )(
  1482. IEnumRfc1766 * This);
  1483. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1484. IEnumRfc1766 * This,
  1485. /* [out] */ IEnumRfc1766 **ppEnum);
  1486. HRESULT ( STDMETHODCALLTYPE *Next )(
  1487. IEnumRfc1766 * This,
  1488. /* [in] */ ULONG celt,
  1489. /* [out] */ PRFC1766INFO rgelt,
  1490. /* [out] */ ULONG *pceltFetched);
  1491. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1492. IEnumRfc1766 * This);
  1493. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1494. IEnumRfc1766 * This,
  1495. /* [in] */ ULONG celt);
  1496. END_INTERFACE
  1497. } IEnumRfc1766Vtbl;
  1498. interface IEnumRfc1766
  1499. {
  1500. CONST_VTBL struct IEnumRfc1766Vtbl *lpVtbl;
  1501. };
  1502. #ifdef COBJMACROS
  1503. #define IEnumRfc1766_QueryInterface(This,riid,ppvObject) \
  1504. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1505. #define IEnumRfc1766_AddRef(This) \
  1506. (This)->lpVtbl -> AddRef(This)
  1507. #define IEnumRfc1766_Release(This) \
  1508. (This)->lpVtbl -> Release(This)
  1509. #define IEnumRfc1766_Clone(This,ppEnum) \
  1510. (This)->lpVtbl -> Clone(This,ppEnum)
  1511. #define IEnumRfc1766_Next(This,celt,rgelt,pceltFetched) \
  1512. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1513. #define IEnumRfc1766_Reset(This) \
  1514. (This)->lpVtbl -> Reset(This)
  1515. #define IEnumRfc1766_Skip(This,celt) \
  1516. (This)->lpVtbl -> Skip(This,celt)
  1517. #endif /* COBJMACROS */
  1518. #endif /* C style interface */
  1519. HRESULT STDMETHODCALLTYPE IEnumRfc1766_Clone_Proxy(
  1520. IEnumRfc1766 * This,
  1521. /* [out] */ IEnumRfc1766 **ppEnum);
  1522. void __RPC_STUB IEnumRfc1766_Clone_Stub(
  1523. IRpcStubBuffer *This,
  1524. IRpcChannelBuffer *_pRpcChannelBuffer,
  1525. PRPC_MESSAGE _pRpcMessage,
  1526. DWORD *_pdwStubPhase);
  1527. HRESULT STDMETHODCALLTYPE IEnumRfc1766_Next_Proxy(
  1528. IEnumRfc1766 * This,
  1529. /* [in] */ ULONG celt,
  1530. /* [out] */ PRFC1766INFO rgelt,
  1531. /* [out] */ ULONG *pceltFetched);
  1532. void __RPC_STUB IEnumRfc1766_Next_Stub(
  1533. IRpcStubBuffer *This,
  1534. IRpcChannelBuffer *_pRpcChannelBuffer,
  1535. PRPC_MESSAGE _pRpcMessage,
  1536. DWORD *_pdwStubPhase);
  1537. HRESULT STDMETHODCALLTYPE IEnumRfc1766_Reset_Proxy(
  1538. IEnumRfc1766 * This);
  1539. void __RPC_STUB IEnumRfc1766_Reset_Stub(
  1540. IRpcStubBuffer *This,
  1541. IRpcChannelBuffer *_pRpcChannelBuffer,
  1542. PRPC_MESSAGE _pRpcMessage,
  1543. DWORD *_pdwStubPhase);
  1544. HRESULT STDMETHODCALLTYPE IEnumRfc1766_Skip_Proxy(
  1545. IEnumRfc1766 * This,
  1546. /* [in] */ ULONG celt);
  1547. void __RPC_STUB IEnumRfc1766_Skip_Stub(
  1548. IRpcStubBuffer *This,
  1549. IRpcChannelBuffer *_pRpcChannelBuffer,
  1550. PRPC_MESSAGE _pRpcMessage,
  1551. DWORD *_pdwStubPhase);
  1552. #endif /* __IEnumRfc1766_INTERFACE_DEFINED__ */
  1553. #ifndef __IEnumScript_INTERFACE_DEFINED__
  1554. #define __IEnumScript_INTERFACE_DEFINED__
  1555. /* interface IEnumScript */
  1556. /* [unique][uuid][object] */
  1557. #define MAX_SCRIPT_NAME ( 48 )
  1558. typedef BYTE SCRIPT_ID;
  1559. typedef __int64 SCRIPT_IDS;
  1560. typedef
  1561. enum tagSCRIPTCONTF
  1562. { sidDefault = 0,
  1563. sidMerge = sidDefault + 1,
  1564. sidAsciiSym = sidMerge + 1,
  1565. sidAsciiLatin = sidAsciiSym + 1,
  1566. sidLatin = sidAsciiLatin + 1,
  1567. sidGreek = sidLatin + 1,
  1568. sidCyrillic = sidGreek + 1,
  1569. sidArmenian = sidCyrillic + 1,
  1570. sidHebrew = sidArmenian + 1,
  1571. sidArabic = sidHebrew + 1,
  1572. sidDevanagari = sidArabic + 1,
  1573. sidBengali = sidDevanagari + 1,
  1574. sidGurmukhi = sidBengali + 1,
  1575. sidGujarati = sidGurmukhi + 1,
  1576. sidOriya = sidGujarati + 1,
  1577. sidTamil = sidOriya + 1,
  1578. sidTelugu = sidTamil + 1,
  1579. sidKannada = sidTelugu + 1,
  1580. sidMalayalam = sidKannada + 1,
  1581. sidThai = sidMalayalam + 1,
  1582. sidLao = sidThai + 1,
  1583. sidTibetan = sidLao + 1,
  1584. sidGeorgian = sidTibetan + 1,
  1585. sidHangul = sidGeorgian + 1,
  1586. sidKana = sidHangul + 1,
  1587. sidBopomofo = sidKana + 1,
  1588. sidHan = sidBopomofo + 1,
  1589. sidEthiopic = sidHan + 1,
  1590. sidCanSyllabic = sidEthiopic + 1,
  1591. sidCherokee = sidCanSyllabic + 1,
  1592. sidYi = sidCherokee + 1,
  1593. sidBraille = sidYi + 1,
  1594. sidRunic = sidBraille + 1,
  1595. sidOgham = sidRunic + 1,
  1596. sidSinhala = sidOgham + 1,
  1597. sidSyriac = sidSinhala + 1,
  1598. sidBurmese = sidSyriac + 1,
  1599. sidKhmer = sidBurmese + 1,
  1600. sidThaana = sidKhmer + 1,
  1601. sidMongolian = sidThaana + 1,
  1602. sidUserDefined = sidMongolian + 1,
  1603. sidLim = sidUserDefined + 1,
  1604. sidFEFirst = sidHangul,
  1605. sidFELast = sidHan
  1606. } SCRIPTCONTF;
  1607. typedef struct tagSCRIPTINFO
  1608. {
  1609. SCRIPT_ID ScriptId;
  1610. UINT uiCodePage;
  1611. WCHAR wszDescription[ 48 ];
  1612. WCHAR wszFixedWidthFont[ 32 ];
  1613. WCHAR wszProportionalFont[ 32 ];
  1614. } SCRIPTINFO;
  1615. typedef struct tagSCRIPTINFO *PSCRIPTINFO;
  1616. typedef /* [unique] */ IEnumScript *LPENUMScript;
  1617. EXTERN_C const IID IID_IEnumScript;
  1618. #if defined(__cplusplus) && !defined(CINTERFACE)
  1619. MIDL_INTERFACE("AE5F1430-388B-11d2-8380-00C04F8F5DA1")
  1620. IEnumScript : public IUnknown
  1621. {
  1622. public:
  1623. virtual HRESULT STDMETHODCALLTYPE Clone(
  1624. /* [out] */ IEnumScript **ppEnum) = 0;
  1625. virtual HRESULT STDMETHODCALLTYPE Next(
  1626. /* [in] */ ULONG celt,
  1627. /* [out] */ PSCRIPTINFO rgelt,
  1628. /* [out] */ ULONG *pceltFetched) = 0;
  1629. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1630. virtual HRESULT STDMETHODCALLTYPE Skip(
  1631. /* [in] */ ULONG celt) = 0;
  1632. };
  1633. #else /* C style interface */
  1634. typedef struct IEnumScriptVtbl
  1635. {
  1636. BEGIN_INTERFACE
  1637. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1638. IEnumScript * This,
  1639. /* [in] */ REFIID riid,
  1640. /* [iid_is][out] */ void **ppvObject);
  1641. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1642. IEnumScript * This);
  1643. ULONG ( STDMETHODCALLTYPE *Release )(
  1644. IEnumScript * This);
  1645. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1646. IEnumScript * This,
  1647. /* [out] */ IEnumScript **ppEnum);
  1648. HRESULT ( STDMETHODCALLTYPE *Next )(
  1649. IEnumScript * This,
  1650. /* [in] */ ULONG celt,
  1651. /* [out] */ PSCRIPTINFO rgelt,
  1652. /* [out] */ ULONG *pceltFetched);
  1653. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1654. IEnumScript * This);
  1655. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1656. IEnumScript * This,
  1657. /* [in] */ ULONG celt);
  1658. END_INTERFACE
  1659. } IEnumScriptVtbl;
  1660. interface IEnumScript
  1661. {
  1662. CONST_VTBL struct IEnumScriptVtbl *lpVtbl;
  1663. };
  1664. #ifdef COBJMACROS
  1665. #define IEnumScript_QueryInterface(This,riid,ppvObject) \
  1666. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1667. #define IEnumScript_AddRef(This) \
  1668. (This)->lpVtbl -> AddRef(This)
  1669. #define IEnumScript_Release(This) \
  1670. (This)->lpVtbl -> Release(This)
  1671. #define IEnumScript_Clone(This,ppEnum) \
  1672. (This)->lpVtbl -> Clone(This,ppEnum)
  1673. #define IEnumScript_Next(This,celt,rgelt,pceltFetched) \
  1674. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1675. #define IEnumScript_Reset(This) \
  1676. (This)->lpVtbl -> Reset(This)
  1677. #define IEnumScript_Skip(This,celt) \
  1678. (This)->lpVtbl -> Skip(This,celt)
  1679. #endif /* COBJMACROS */
  1680. #endif /* C style interface */
  1681. HRESULT STDMETHODCALLTYPE IEnumScript_Clone_Proxy(
  1682. IEnumScript * This,
  1683. /* [out] */ IEnumScript **ppEnum);
  1684. void __RPC_STUB IEnumScript_Clone_Stub(
  1685. IRpcStubBuffer *This,
  1686. IRpcChannelBuffer *_pRpcChannelBuffer,
  1687. PRPC_MESSAGE _pRpcMessage,
  1688. DWORD *_pdwStubPhase);
  1689. HRESULT STDMETHODCALLTYPE IEnumScript_Next_Proxy(
  1690. IEnumScript * This,
  1691. /* [in] */ ULONG celt,
  1692. /* [out] */ PSCRIPTINFO rgelt,
  1693. /* [out] */ ULONG *pceltFetched);
  1694. void __RPC_STUB IEnumScript_Next_Stub(
  1695. IRpcStubBuffer *This,
  1696. IRpcChannelBuffer *_pRpcChannelBuffer,
  1697. PRPC_MESSAGE _pRpcMessage,
  1698. DWORD *_pdwStubPhase);
  1699. HRESULT STDMETHODCALLTYPE IEnumScript_Reset_Proxy(
  1700. IEnumScript * This);
  1701. void __RPC_STUB IEnumScript_Reset_Stub(
  1702. IRpcStubBuffer *This,
  1703. IRpcChannelBuffer *_pRpcChannelBuffer,
  1704. PRPC_MESSAGE _pRpcMessage,
  1705. DWORD *_pdwStubPhase);
  1706. HRESULT STDMETHODCALLTYPE IEnumScript_Skip_Proxy(
  1707. IEnumScript * This,
  1708. /* [in] */ ULONG celt);
  1709. void __RPC_STUB IEnumScript_Skip_Stub(
  1710. IRpcStubBuffer *This,
  1711. IRpcChannelBuffer *_pRpcChannelBuffer,
  1712. PRPC_MESSAGE _pRpcMessage,
  1713. DWORD *_pdwStubPhase);
  1714. #endif /* __IEnumScript_INTERFACE_DEFINED__ */
  1715. #ifndef __IMLangConvertCharset_INTERFACE_DEFINED__
  1716. #define __IMLangConvertCharset_INTERFACE_DEFINED__
  1717. /* interface IMLangConvertCharset */
  1718. /* [unique][uuid][object] */
  1719. typedef
  1720. enum tagMLCONVCHARF
  1721. { MLCONVCHARF_AUTODETECT = 1,
  1722. MLCONVCHARF_ENTITIZE = 2,
  1723. MLCONVCHARF_NCR_ENTITIZE = 2,
  1724. MLCONVCHARF_NAME_ENTITIZE = 4,
  1725. MLCONVCHARF_USEDEFCHAR = 8,
  1726. MLCONVCHARF_NOBESTFITCHARS = 16,
  1727. MLCONVCHARF_DETECTJPN = 32
  1728. } MLCONVCHAR;
  1729. typedef
  1730. enum tagMLCPF
  1731. { MLDETECTF_MAILNEWS = 0x1,
  1732. MLDETECTF_BROWSER = 0x2,
  1733. MLDETECTF_VALID = 0x4,
  1734. MLDETECTF_VALID_NLS = 0x8,
  1735. MLDETECTF_PRESERVE_ORDER = 0x10,
  1736. MLDETECTF_PREFERRED_ONLY = 0x20,
  1737. MLDETECTF_FILTER_SPECIALCHAR = 0x40
  1738. } MLCP;
  1739. typedef /* [unique] */ IMLangConvertCharset *LPMLANGCONVERTCHARSET;
  1740. EXTERN_C const IID IID_IMLangConvertCharset;
  1741. #if defined(__cplusplus) && !defined(CINTERFACE)
  1742. MIDL_INTERFACE("d66d6f98-cdaa-11d0-b822-00c04fc9b31f")
  1743. IMLangConvertCharset : public IUnknown
  1744. {
  1745. public:
  1746. virtual HRESULT STDMETHODCALLTYPE Initialize(
  1747. /* [in] */ UINT uiSrcCodePage,
  1748. /* [in] */ UINT uiDstCodePage,
  1749. /* [in] */ DWORD dwProperty) = 0;
  1750. virtual HRESULT STDMETHODCALLTYPE GetSourceCodePage(
  1751. /* [out] */ UINT *puiSrcCodePage) = 0;
  1752. virtual HRESULT STDMETHODCALLTYPE GetDestinationCodePage(
  1753. /* [out] */ UINT *puiDstCodePage) = 0;
  1754. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  1755. /* [out] */ DWORD *pdwProperty) = 0;
  1756. virtual HRESULT STDMETHODCALLTYPE DoConversion(
  1757. /* [in] */ BYTE *pSrcStr,
  1758. /* [out][in] */ UINT *pcSrcSize,
  1759. /* [in] */ BYTE *pDstStr,
  1760. /* [out][in] */ UINT *pcDstSize) = 0;
  1761. virtual HRESULT STDMETHODCALLTYPE DoConversionToUnicode(
  1762. /* [in] */ CHAR *pSrcStr,
  1763. /* [out][in] */ UINT *pcSrcSize,
  1764. /* [in] */ WCHAR *pDstStr,
  1765. /* [out][in] */ UINT *pcDstSize) = 0;
  1766. virtual HRESULT STDMETHODCALLTYPE DoConversionFromUnicode(
  1767. /* [in] */ WCHAR *pSrcStr,
  1768. /* [out][in] */ UINT *pcSrcSize,
  1769. /* [in] */ CHAR *pDstStr,
  1770. /* [out][in] */ UINT *pcDstSize) = 0;
  1771. };
  1772. #else /* C style interface */
  1773. typedef struct IMLangConvertCharsetVtbl
  1774. {
  1775. BEGIN_INTERFACE
  1776. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1777. IMLangConvertCharset * This,
  1778. /* [in] */ REFIID riid,
  1779. /* [iid_is][out] */ void **ppvObject);
  1780. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1781. IMLangConvertCharset * This);
  1782. ULONG ( STDMETHODCALLTYPE *Release )(
  1783. IMLangConvertCharset * This);
  1784. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  1785. IMLangConvertCharset * This,
  1786. /* [in] */ UINT uiSrcCodePage,
  1787. /* [in] */ UINT uiDstCodePage,
  1788. /* [in] */ DWORD dwProperty);
  1789. HRESULT ( STDMETHODCALLTYPE *GetSourceCodePage )(
  1790. IMLangConvertCharset * This,
  1791. /* [out] */ UINT *puiSrcCodePage);
  1792. HRESULT ( STDMETHODCALLTYPE *GetDestinationCodePage )(
  1793. IMLangConvertCharset * This,
  1794. /* [out] */ UINT *puiDstCodePage);
  1795. HRESULT ( STDMETHODCALLTYPE *GetProperty )(
  1796. IMLangConvertCharset * This,
  1797. /* [out] */ DWORD *pdwProperty);
  1798. HRESULT ( STDMETHODCALLTYPE *DoConversion )(
  1799. IMLangConvertCharset * This,
  1800. /* [in] */ BYTE *pSrcStr,
  1801. /* [out][in] */ UINT *pcSrcSize,
  1802. /* [in] */ BYTE *pDstStr,
  1803. /* [out][in] */ UINT *pcDstSize);
  1804. HRESULT ( STDMETHODCALLTYPE *DoConversionToUnicode )(
  1805. IMLangConvertCharset * This,
  1806. /* [in] */ CHAR *pSrcStr,
  1807. /* [out][in] */ UINT *pcSrcSize,
  1808. /* [in] */ WCHAR *pDstStr,
  1809. /* [out][in] */ UINT *pcDstSize);
  1810. HRESULT ( STDMETHODCALLTYPE *DoConversionFromUnicode )(
  1811. IMLangConvertCharset * This,
  1812. /* [in] */ WCHAR *pSrcStr,
  1813. /* [out][in] */ UINT *pcSrcSize,
  1814. /* [in] */ CHAR *pDstStr,
  1815. /* [out][in] */ UINT *pcDstSize);
  1816. END_INTERFACE
  1817. } IMLangConvertCharsetVtbl;
  1818. interface IMLangConvertCharset
  1819. {
  1820. CONST_VTBL struct IMLangConvertCharsetVtbl *lpVtbl;
  1821. };
  1822. #ifdef COBJMACROS
  1823. #define IMLangConvertCharset_QueryInterface(This,riid,ppvObject) \
  1824. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1825. #define IMLangConvertCharset_AddRef(This) \
  1826. (This)->lpVtbl -> AddRef(This)
  1827. #define IMLangConvertCharset_Release(This) \
  1828. (This)->lpVtbl -> Release(This)
  1829. #define IMLangConvertCharset_Initialize(This,uiSrcCodePage,uiDstCodePage,dwProperty) \
  1830. (This)->lpVtbl -> Initialize(This,uiSrcCodePage,uiDstCodePage,dwProperty)
  1831. #define IMLangConvertCharset_GetSourceCodePage(This,puiSrcCodePage) \
  1832. (This)->lpVtbl -> GetSourceCodePage(This,puiSrcCodePage)
  1833. #define IMLangConvertCharset_GetDestinationCodePage(This,puiDstCodePage) \
  1834. (This)->lpVtbl -> GetDestinationCodePage(This,puiDstCodePage)
  1835. #define IMLangConvertCharset_GetProperty(This,pdwProperty) \
  1836. (This)->lpVtbl -> GetProperty(This,pdwProperty)
  1837. #define IMLangConvertCharset_DoConversion(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  1838. (This)->lpVtbl -> DoConversion(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1839. #define IMLangConvertCharset_DoConversionToUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  1840. (This)->lpVtbl -> DoConversionToUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1841. #define IMLangConvertCharset_DoConversionFromUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  1842. (This)->lpVtbl -> DoConversionFromUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1843. #endif /* COBJMACROS */
  1844. #endif /* C style interface */
  1845. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_Initialize_Proxy(
  1846. IMLangConvertCharset * This,
  1847. /* [in] */ UINT uiSrcCodePage,
  1848. /* [in] */ UINT uiDstCodePage,
  1849. /* [in] */ DWORD dwProperty);
  1850. void __RPC_STUB IMLangConvertCharset_Initialize_Stub(
  1851. IRpcStubBuffer *This,
  1852. IRpcChannelBuffer *_pRpcChannelBuffer,
  1853. PRPC_MESSAGE _pRpcMessage,
  1854. DWORD *_pdwStubPhase);
  1855. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_GetSourceCodePage_Proxy(
  1856. IMLangConvertCharset * This,
  1857. /* [out] */ UINT *puiSrcCodePage);
  1858. void __RPC_STUB IMLangConvertCharset_GetSourceCodePage_Stub(
  1859. IRpcStubBuffer *This,
  1860. IRpcChannelBuffer *_pRpcChannelBuffer,
  1861. PRPC_MESSAGE _pRpcMessage,
  1862. DWORD *_pdwStubPhase);
  1863. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_GetDestinationCodePage_Proxy(
  1864. IMLangConvertCharset * This,
  1865. /* [out] */ UINT *puiDstCodePage);
  1866. void __RPC_STUB IMLangConvertCharset_GetDestinationCodePage_Stub(
  1867. IRpcStubBuffer *This,
  1868. IRpcChannelBuffer *_pRpcChannelBuffer,
  1869. PRPC_MESSAGE _pRpcMessage,
  1870. DWORD *_pdwStubPhase);
  1871. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_GetProperty_Proxy(
  1872. IMLangConvertCharset * This,
  1873. /* [out] */ DWORD *pdwProperty);
  1874. void __RPC_STUB IMLangConvertCharset_GetProperty_Stub(
  1875. IRpcStubBuffer *This,
  1876. IRpcChannelBuffer *_pRpcChannelBuffer,
  1877. PRPC_MESSAGE _pRpcMessage,
  1878. DWORD *_pdwStubPhase);
  1879. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_DoConversion_Proxy(
  1880. IMLangConvertCharset * This,
  1881. /* [in] */ BYTE *pSrcStr,
  1882. /* [out][in] */ UINT *pcSrcSize,
  1883. /* [in] */ BYTE *pDstStr,
  1884. /* [out][in] */ UINT *pcDstSize);
  1885. void __RPC_STUB IMLangConvertCharset_DoConversion_Stub(
  1886. IRpcStubBuffer *This,
  1887. IRpcChannelBuffer *_pRpcChannelBuffer,
  1888. PRPC_MESSAGE _pRpcMessage,
  1889. DWORD *_pdwStubPhase);
  1890. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_DoConversionToUnicode_Proxy(
  1891. IMLangConvertCharset * This,
  1892. /* [in] */ CHAR *pSrcStr,
  1893. /* [out][in] */ UINT *pcSrcSize,
  1894. /* [in] */ WCHAR *pDstStr,
  1895. /* [out][in] */ UINT *pcDstSize);
  1896. void __RPC_STUB IMLangConvertCharset_DoConversionToUnicode_Stub(
  1897. IRpcStubBuffer *This,
  1898. IRpcChannelBuffer *_pRpcChannelBuffer,
  1899. PRPC_MESSAGE _pRpcMessage,
  1900. DWORD *_pdwStubPhase);
  1901. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_DoConversionFromUnicode_Proxy(
  1902. IMLangConvertCharset * This,
  1903. /* [in] */ WCHAR *pSrcStr,
  1904. /* [out][in] */ UINT *pcSrcSize,
  1905. /* [in] */ CHAR *pDstStr,
  1906. /* [out][in] */ UINT *pcDstSize);
  1907. void __RPC_STUB IMLangConvertCharset_DoConversionFromUnicode_Stub(
  1908. IRpcStubBuffer *This,
  1909. IRpcChannelBuffer *_pRpcChannelBuffer,
  1910. PRPC_MESSAGE _pRpcMessage,
  1911. DWORD *_pdwStubPhase);
  1912. #endif /* __IMLangConvertCharset_INTERFACE_DEFINED__ */
  1913. EXTERN_C const CLSID CLSID_CMLangConvertCharset;
  1914. #ifdef __cplusplus
  1915. class DECLSPEC_UUID("d66d6f99-cdaa-11d0-b822-00c04fc9b31f")
  1916. CMLangConvertCharset;
  1917. #endif
  1918. #ifndef __IMultiLanguage_INTERFACE_DEFINED__
  1919. #define __IMultiLanguage_INTERFACE_DEFINED__
  1920. /* interface IMultiLanguage */
  1921. /* [unique][uuid][object] */
  1922. typedef /* [unique] */ IMultiLanguage *LPMULTILANGUAGE;
  1923. EXTERN_C const IID IID_IMultiLanguage;
  1924. #if defined(__cplusplus) && !defined(CINTERFACE)
  1925. MIDL_INTERFACE("275c23e1-3747-11d0-9fea-00aa003f8646")
  1926. IMultiLanguage : public IUnknown
  1927. {
  1928. public:
  1929. virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo(
  1930. /* [out] */ UINT *pcCodePage) = 0;
  1931. virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
  1932. /* [in] */ UINT uiCodePage,
  1933. /* [out] */ PMIMECPINFO pCodePageInfo) = 0;
  1934. virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage(
  1935. /* [in] */ UINT uiCodePage,
  1936. /* [out] */ UINT *puiFamilyCodePage) = 0;
  1937. virtual HRESULT STDMETHODCALLTYPE EnumCodePages(
  1938. /* [in] */ DWORD grfFlags,
  1939. /* [out] */ IEnumCodePage **ppEnumCodePage) = 0;
  1940. virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
  1941. /* [in] */ BSTR Charset,
  1942. /* [out] */ PMIMECSETINFO pCharsetInfo) = 0;
  1943. virtual HRESULT STDMETHODCALLTYPE IsConvertible(
  1944. /* [in] */ DWORD dwSrcEncoding,
  1945. /* [in] */ DWORD dwDstEncoding) = 0;
  1946. virtual HRESULT STDMETHODCALLTYPE ConvertString(
  1947. /* [out][in] */ DWORD *pdwMode,
  1948. /* [in] */ DWORD dwSrcEncoding,
  1949. /* [in] */ DWORD dwDstEncoding,
  1950. /* [in] */ BYTE *pSrcStr,
  1951. /* [out][in] */ UINT *pcSrcSize,
  1952. /* [in] */ BYTE *pDstStr,
  1953. /* [out][in] */ UINT *pcDstSize) = 0;
  1954. virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode(
  1955. /* [out][in] */ DWORD *pdwMode,
  1956. /* [in] */ DWORD dwEncoding,
  1957. /* [in] */ CHAR *pSrcStr,
  1958. /* [out][in] */ UINT *pcSrcSize,
  1959. /* [in] */ WCHAR *pDstStr,
  1960. /* [out][in] */ UINT *pcDstSize) = 0;
  1961. virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode(
  1962. /* [out][in] */ DWORD *pdwMode,
  1963. /* [in] */ DWORD dwEncoding,
  1964. /* [in] */ WCHAR *pSrcStr,
  1965. /* [out][in] */ UINT *pcSrcSize,
  1966. /* [in] */ CHAR *pDstStr,
  1967. /* [out][in] */ UINT *pcDstSize) = 0;
  1968. virtual HRESULT STDMETHODCALLTYPE ConvertStringReset( void) = 0;
  1969. virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid(
  1970. /* [in] */ LCID Locale,
  1971. /* [out] */ BSTR *pbstrRfc1766) = 0;
  1972. virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766(
  1973. /* [out] */ LCID *pLocale,
  1974. /* [in] */ BSTR bstrRfc1766) = 0;
  1975. virtual HRESULT STDMETHODCALLTYPE EnumRfc1766(
  1976. /* [out] */ IEnumRfc1766 **ppEnumRfc1766) = 0;
  1977. virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info(
  1978. /* [in] */ LCID Locale,
  1979. /* [out] */ PRFC1766INFO pRfc1766Info) = 0;
  1980. virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset(
  1981. /* [in] */ UINT uiSrcCodePage,
  1982. /* [in] */ UINT uiDstCodePage,
  1983. /* [in] */ DWORD dwProperty,
  1984. /* [out] */ IMLangConvertCharset **ppMLangConvertCharset) = 0;
  1985. };
  1986. #else /* C style interface */
  1987. typedef struct IMultiLanguageVtbl
  1988. {
  1989. BEGIN_INTERFACE
  1990. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1991. IMultiLanguage * This,
  1992. /* [in] */ REFIID riid,
  1993. /* [iid_is][out] */ void **ppvObject);
  1994. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1995. IMultiLanguage * This);
  1996. ULONG ( STDMETHODCALLTYPE *Release )(
  1997. IMultiLanguage * This);
  1998. HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )(
  1999. IMultiLanguage * This,
  2000. /* [out] */ UINT *pcCodePage);
  2001. HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )(
  2002. IMultiLanguage * This,
  2003. /* [in] */ UINT uiCodePage,
  2004. /* [out] */ PMIMECPINFO pCodePageInfo);
  2005. HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )(
  2006. IMultiLanguage * This,
  2007. /* [in] */ UINT uiCodePage,
  2008. /* [out] */ UINT *puiFamilyCodePage);
  2009. HRESULT ( STDMETHODCALLTYPE *EnumCodePages )(
  2010. IMultiLanguage * This,
  2011. /* [in] */ DWORD grfFlags,
  2012. /* [out] */ IEnumCodePage **ppEnumCodePage);
  2013. HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )(
  2014. IMultiLanguage * This,
  2015. /* [in] */ BSTR Charset,
  2016. /* [out] */ PMIMECSETINFO pCharsetInfo);
  2017. HRESULT ( STDMETHODCALLTYPE *IsConvertible )(
  2018. IMultiLanguage * This,
  2019. /* [in] */ DWORD dwSrcEncoding,
  2020. /* [in] */ DWORD dwDstEncoding);
  2021. HRESULT ( STDMETHODCALLTYPE *ConvertString )(
  2022. IMultiLanguage * This,
  2023. /* [out][in] */ DWORD *pdwMode,
  2024. /* [in] */ DWORD dwSrcEncoding,
  2025. /* [in] */ DWORD dwDstEncoding,
  2026. /* [in] */ BYTE *pSrcStr,
  2027. /* [out][in] */ UINT *pcSrcSize,
  2028. /* [in] */ BYTE *pDstStr,
  2029. /* [out][in] */ UINT *pcDstSize);
  2030. HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )(
  2031. IMultiLanguage * This,
  2032. /* [out][in] */ DWORD *pdwMode,
  2033. /* [in] */ DWORD dwEncoding,
  2034. /* [in] */ CHAR *pSrcStr,
  2035. /* [out][in] */ UINT *pcSrcSize,
  2036. /* [in] */ WCHAR *pDstStr,
  2037. /* [out][in] */ UINT *pcDstSize);
  2038. HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )(
  2039. IMultiLanguage * This,
  2040. /* [out][in] */ DWORD *pdwMode,
  2041. /* [in] */ DWORD dwEncoding,
  2042. /* [in] */ WCHAR *pSrcStr,
  2043. /* [out][in] */ UINT *pcSrcSize,
  2044. /* [in] */ CHAR *pDstStr,
  2045. /* [out][in] */ UINT *pcDstSize);
  2046. HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )(
  2047. IMultiLanguage * This);
  2048. HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )(
  2049. IMultiLanguage * This,
  2050. /* [in] */ LCID Locale,
  2051. /* [out] */ BSTR *pbstrRfc1766);
  2052. HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )(
  2053. IMultiLanguage * This,
  2054. /* [out] */ LCID *pLocale,
  2055. /* [in] */ BSTR bstrRfc1766);
  2056. HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )(
  2057. IMultiLanguage * This,
  2058. /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  2059. HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )(
  2060. IMultiLanguage * This,
  2061. /* [in] */ LCID Locale,
  2062. /* [out] */ PRFC1766INFO pRfc1766Info);
  2063. HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )(
  2064. IMultiLanguage * This,
  2065. /* [in] */ UINT uiSrcCodePage,
  2066. /* [in] */ UINT uiDstCodePage,
  2067. /* [in] */ DWORD dwProperty,
  2068. /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  2069. END_INTERFACE
  2070. } IMultiLanguageVtbl;
  2071. interface IMultiLanguage
  2072. {
  2073. CONST_VTBL struct IMultiLanguageVtbl *lpVtbl;
  2074. };
  2075. #ifdef COBJMACROS
  2076. #define IMultiLanguage_QueryInterface(This,riid,ppvObject) \
  2077. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2078. #define IMultiLanguage_AddRef(This) \
  2079. (This)->lpVtbl -> AddRef(This)
  2080. #define IMultiLanguage_Release(This) \
  2081. (This)->lpVtbl -> Release(This)
  2082. #define IMultiLanguage_GetNumberOfCodePageInfo(This,pcCodePage) \
  2083. (This)->lpVtbl -> GetNumberOfCodePageInfo(This,pcCodePage)
  2084. #define IMultiLanguage_GetCodePageInfo(This,uiCodePage,pCodePageInfo) \
  2085. (This)->lpVtbl -> GetCodePageInfo(This,uiCodePage,pCodePageInfo)
  2086. #define IMultiLanguage_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) \
  2087. (This)->lpVtbl -> GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  2088. #define IMultiLanguage_EnumCodePages(This,grfFlags,ppEnumCodePage) \
  2089. (This)->lpVtbl -> EnumCodePages(This,grfFlags,ppEnumCodePage)
  2090. #define IMultiLanguage_GetCharsetInfo(This,Charset,pCharsetInfo) \
  2091. (This)->lpVtbl -> GetCharsetInfo(This,Charset,pCharsetInfo)
  2092. #define IMultiLanguage_IsConvertible(This,dwSrcEncoding,dwDstEncoding) \
  2093. (This)->lpVtbl -> IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  2094. #define IMultiLanguage_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  2095. (This)->lpVtbl -> ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  2096. #define IMultiLanguage_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  2097. (This)->lpVtbl -> ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  2098. #define IMultiLanguage_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  2099. (This)->lpVtbl -> ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  2100. #define IMultiLanguage_ConvertStringReset(This) \
  2101. (This)->lpVtbl -> ConvertStringReset(This)
  2102. #define IMultiLanguage_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) \
  2103. (This)->lpVtbl -> GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  2104. #define IMultiLanguage_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) \
  2105. (This)->lpVtbl -> GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  2106. #define IMultiLanguage_EnumRfc1766(This,ppEnumRfc1766) \
  2107. (This)->lpVtbl -> EnumRfc1766(This,ppEnumRfc1766)
  2108. #define IMultiLanguage_GetRfc1766Info(This,Locale,pRfc1766Info) \
  2109. (This)->lpVtbl -> GetRfc1766Info(This,Locale,pRfc1766Info)
  2110. #define IMultiLanguage_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) \
  2111. (This)->lpVtbl -> CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  2112. #endif /* COBJMACROS */
  2113. #endif /* C style interface */
  2114. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetNumberOfCodePageInfo_Proxy(
  2115. IMultiLanguage * This,
  2116. /* [out] */ UINT *pcCodePage);
  2117. void __RPC_STUB IMultiLanguage_GetNumberOfCodePageInfo_Stub(
  2118. IRpcStubBuffer *This,
  2119. IRpcChannelBuffer *_pRpcChannelBuffer,
  2120. PRPC_MESSAGE _pRpcMessage,
  2121. DWORD *_pdwStubPhase);
  2122. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetCodePageInfo_Proxy(
  2123. IMultiLanguage * This,
  2124. /* [in] */ UINT uiCodePage,
  2125. /* [out] */ PMIMECPINFO pCodePageInfo);
  2126. void __RPC_STUB IMultiLanguage_GetCodePageInfo_Stub(
  2127. IRpcStubBuffer *This,
  2128. IRpcChannelBuffer *_pRpcChannelBuffer,
  2129. PRPC_MESSAGE _pRpcMessage,
  2130. DWORD *_pdwStubPhase);
  2131. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetFamilyCodePage_Proxy(
  2132. IMultiLanguage * This,
  2133. /* [in] */ UINT uiCodePage,
  2134. /* [out] */ UINT *puiFamilyCodePage);
  2135. void __RPC_STUB IMultiLanguage_GetFamilyCodePage_Stub(
  2136. IRpcStubBuffer *This,
  2137. IRpcChannelBuffer *_pRpcChannelBuffer,
  2138. PRPC_MESSAGE _pRpcMessage,
  2139. DWORD *_pdwStubPhase);
  2140. HRESULT STDMETHODCALLTYPE IMultiLanguage_EnumCodePages_Proxy(
  2141. IMultiLanguage * This,
  2142. /* [in] */ DWORD grfFlags,
  2143. /* [out] */ IEnumCodePage **ppEnumCodePage);
  2144. void __RPC_STUB IMultiLanguage_EnumCodePages_Stub(
  2145. IRpcStubBuffer *This,
  2146. IRpcChannelBuffer *_pRpcChannelBuffer,
  2147. PRPC_MESSAGE _pRpcMessage,
  2148. DWORD *_pdwStubPhase);
  2149. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetCharsetInfo_Proxy(
  2150. IMultiLanguage * This,
  2151. /* [in] */ BSTR Charset,
  2152. /* [out] */ PMIMECSETINFO pCharsetInfo);
  2153. void __RPC_STUB IMultiLanguage_GetCharsetInfo_Stub(
  2154. IRpcStubBuffer *This,
  2155. IRpcChannelBuffer *_pRpcChannelBuffer,
  2156. PRPC_MESSAGE _pRpcMessage,
  2157. DWORD *_pdwStubPhase);
  2158. HRESULT STDMETHODCALLTYPE IMultiLanguage_IsConvertible_Proxy(
  2159. IMultiLanguage * This,
  2160. /* [in] */ DWORD dwSrcEncoding,
  2161. /* [in] */ DWORD dwDstEncoding);
  2162. void __RPC_STUB IMultiLanguage_IsConvertible_Stub(
  2163. IRpcStubBuffer *This,
  2164. IRpcChannelBuffer *_pRpcChannelBuffer,
  2165. PRPC_MESSAGE _pRpcMessage,
  2166. DWORD *_pdwStubPhase);
  2167. HRESULT STDMETHODCALLTYPE IMultiLanguage_ConvertString_Proxy(
  2168. IMultiLanguage * This,
  2169. /* [out][in] */ DWORD *pdwMode,
  2170. /* [in] */ DWORD dwSrcEncoding,
  2171. /* [in] */ DWORD dwDstEncoding,
  2172. /* [in] */ BYTE *pSrcStr,
  2173. /* [out][in] */ UINT *pcSrcSize,
  2174. /* [in] */ BYTE *pDstStr,
  2175. /* [out][in] */ UINT *pcDstSize);
  2176. void __RPC_STUB IMultiLanguage_ConvertString_Stub(
  2177. IRpcStubBuffer *This,
  2178. IRpcChannelBuffer *_pRpcChannelBuffer,
  2179. PRPC_MESSAGE _pRpcMessage,
  2180. DWORD *_pdwStubPhase);
  2181. HRESULT STDMETHODCALLTYPE IMultiLanguage_ConvertStringToUnicode_Proxy(
  2182. IMultiLanguage * This,
  2183. /* [out][in] */ DWORD *pdwMode,
  2184. /* [in] */ DWORD dwEncoding,
  2185. /* [in] */ CHAR *pSrcStr,
  2186. /* [out][in] */ UINT *pcSrcSize,
  2187. /* [in] */ WCHAR *pDstStr,
  2188. /* [out][in] */ UINT *pcDstSize);
  2189. void __RPC_STUB IMultiLanguage_ConvertStringToUnicode_Stub(
  2190. IRpcStubBuffer *This,
  2191. IRpcChannelBuffer *_pRpcChannelBuffer,
  2192. PRPC_MESSAGE _pRpcMessage,
  2193. DWORD *_pdwStubPhase);
  2194. HRESULT STDMETHODCALLTYPE IMultiLanguage_ConvertStringFromUnicode_Proxy(
  2195. IMultiLanguage * This,
  2196. /* [out][in] */ DWORD *pdwMode,
  2197. /* [in] */ DWORD dwEncoding,
  2198. /* [in] */ WCHAR *pSrcStr,
  2199. /* [out][in] */ UINT *pcSrcSize,
  2200. /* [in] */ CHAR *pDstStr,
  2201. /* [out][in] */ UINT *pcDstSize);
  2202. void __RPC_STUB IMultiLanguage_ConvertStringFromUnicode_Stub(
  2203. IRpcStubBuffer *This,
  2204. IRpcChannelBuffer *_pRpcChannelBuffer,
  2205. PRPC_MESSAGE _pRpcMessage,
  2206. DWORD *_pdwStubPhase);
  2207. HRESULT STDMETHODCALLTYPE IMultiLanguage_ConvertStringReset_Proxy(
  2208. IMultiLanguage * This);
  2209. void __RPC_STUB IMultiLanguage_ConvertStringReset_Stub(
  2210. IRpcStubBuffer *This,
  2211. IRpcChannelBuffer *_pRpcChannelBuffer,
  2212. PRPC_MESSAGE _pRpcMessage,
  2213. DWORD *_pdwStubPhase);
  2214. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetRfc1766FromLcid_Proxy(
  2215. IMultiLanguage * This,
  2216. /* [in] */ LCID Locale,
  2217. /* [out] */ BSTR *pbstrRfc1766);
  2218. void __RPC_STUB IMultiLanguage_GetRfc1766FromLcid_Stub(
  2219. IRpcStubBuffer *This,
  2220. IRpcChannelBuffer *_pRpcChannelBuffer,
  2221. PRPC_MESSAGE _pRpcMessage,
  2222. DWORD *_pdwStubPhase);
  2223. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetLcidFromRfc1766_Proxy(
  2224. IMultiLanguage * This,
  2225. /* [out] */ LCID *pLocale,
  2226. /* [in] */ BSTR bstrRfc1766);
  2227. void __RPC_STUB IMultiLanguage_GetLcidFromRfc1766_Stub(
  2228. IRpcStubBuffer *This,
  2229. IRpcChannelBuffer *_pRpcChannelBuffer,
  2230. PRPC_MESSAGE _pRpcMessage,
  2231. DWORD *_pdwStubPhase);
  2232. HRESULT STDMETHODCALLTYPE IMultiLanguage_EnumRfc1766_Proxy(
  2233. IMultiLanguage * This,
  2234. /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  2235. void __RPC_STUB IMultiLanguage_EnumRfc1766_Stub(
  2236. IRpcStubBuffer *This,
  2237. IRpcChannelBuffer *_pRpcChannelBuffer,
  2238. PRPC_MESSAGE _pRpcMessage,
  2239. DWORD *_pdwStubPhase);
  2240. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetRfc1766Info_Proxy(
  2241. IMultiLanguage * This,
  2242. /* [in] */ LCID Locale,
  2243. /* [out] */ PRFC1766INFO pRfc1766Info);
  2244. void __RPC_STUB IMultiLanguage_GetRfc1766Info_Stub(
  2245. IRpcStubBuffer *This,
  2246. IRpcChannelBuffer *_pRpcChannelBuffer,
  2247. PRPC_MESSAGE _pRpcMessage,
  2248. DWORD *_pdwStubPhase);
  2249. HRESULT STDMETHODCALLTYPE IMultiLanguage_CreateConvertCharset_Proxy(
  2250. IMultiLanguage * This,
  2251. /* [in] */ UINT uiSrcCodePage,
  2252. /* [in] */ UINT uiDstCodePage,
  2253. /* [in] */ DWORD dwProperty,
  2254. /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  2255. void __RPC_STUB IMultiLanguage_CreateConvertCharset_Stub(
  2256. IRpcStubBuffer *This,
  2257. IRpcChannelBuffer *_pRpcChannelBuffer,
  2258. PRPC_MESSAGE _pRpcMessage,
  2259. DWORD *_pdwStubPhase);
  2260. #endif /* __IMultiLanguage_INTERFACE_DEFINED__ */
  2261. #ifndef __IMultiLanguage2_INTERFACE_DEFINED__
  2262. #define __IMultiLanguage2_INTERFACE_DEFINED__
  2263. /* interface IMultiLanguage2 */
  2264. /* [unique][uuid][object] */
  2265. typedef /* [unique] */ IMultiLanguage2 *LPMULTILANGUAGE2;
  2266. typedef
  2267. enum tagMLDETECTCP
  2268. { MLDETECTCP_NONE = 0,
  2269. MLDETECTCP_7BIT = 1,
  2270. MLDETECTCP_8BIT = 2,
  2271. MLDETECTCP_DBCS = 4,
  2272. MLDETECTCP_HTML = 8,
  2273. MLDETECTCP_NUMBER = 16
  2274. } MLDETECTCP;
  2275. typedef struct tagDetectEncodingInfo
  2276. {
  2277. UINT nLangID;
  2278. UINT nCodePage;
  2279. INT nDocPercent;
  2280. INT nConfidence;
  2281. } DetectEncodingInfo;
  2282. typedef struct tagDetectEncodingInfo *pDetectEncodingInfo;
  2283. typedef
  2284. enum tagSCRIPTFONTCONTF
  2285. { SCRIPTCONTF_FIXED_FONT = 0x1,
  2286. SCRIPTCONTF_PROPORTIONAL_FONT = 0x2,
  2287. SCRIPTCONTF_SCRIPT_USER = 0x10000,
  2288. SCRIPTCONTF_SCRIPT_HIDE = 0x20000,
  2289. SCRIPTCONTF_SCRIPT_SYSTEM = 0x40000
  2290. } SCRIPTFONTCONTF;
  2291. typedef struct tagSCRIPFONTINFO
  2292. {
  2293. SCRIPT_IDS scripts;
  2294. WCHAR wszFont[ 32 ];
  2295. } SCRIPTFONTINFO;
  2296. typedef struct tagSCRIPFONTINFO *PSCRIPTFONTINFO;
  2297. EXTERN_C const IID IID_IMultiLanguage2;
  2298. #if defined(__cplusplus) && !defined(CINTERFACE)
  2299. MIDL_INTERFACE("DCCFC164-2B38-11d2-B7EC-00C04F8F5D9A")
  2300. IMultiLanguage2 : public IUnknown
  2301. {
  2302. public:
  2303. virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo(
  2304. /* [out] */ UINT *pcCodePage) = 0;
  2305. virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
  2306. /* [in] */ UINT uiCodePage,
  2307. /* [in] */ LANGID LangId,
  2308. /* [out] */ PMIMECPINFO pCodePageInfo) = 0;
  2309. virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage(
  2310. /* [in] */ UINT uiCodePage,
  2311. /* [out] */ UINT *puiFamilyCodePage) = 0;
  2312. virtual HRESULT STDMETHODCALLTYPE EnumCodePages(
  2313. /* [in] */ DWORD grfFlags,
  2314. /* [in] */ LANGID LangId,
  2315. /* [out] */ IEnumCodePage **ppEnumCodePage) = 0;
  2316. virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
  2317. /* [in] */ BSTR Charset,
  2318. /* [out] */ PMIMECSETINFO pCharsetInfo) = 0;
  2319. virtual HRESULT STDMETHODCALLTYPE IsConvertible(
  2320. /* [in] */ DWORD dwSrcEncoding,
  2321. /* [in] */ DWORD dwDstEncoding) = 0;
  2322. virtual HRESULT STDMETHODCALLTYPE ConvertString(
  2323. /* [out][in] */ DWORD *pdwMode,
  2324. /* [in] */ DWORD dwSrcEncoding,
  2325. /* [in] */ DWORD dwDstEncoding,
  2326. /* [in] */ BYTE *pSrcStr,
  2327. /* [out][in] */ UINT *pcSrcSize,
  2328. /* [in] */ BYTE *pDstStr,
  2329. /* [out][in] */ UINT *pcDstSize) = 0;
  2330. virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode(
  2331. /* [out][in] */ DWORD *pdwMode,
  2332. /* [in] */ DWORD dwEncoding,
  2333. /* [in] */ CHAR *pSrcStr,
  2334. /* [out][in] */ UINT *pcSrcSize,
  2335. /* [in] */ WCHAR *pDstStr,
  2336. /* [out][in] */ UINT *pcDstSize) = 0;
  2337. virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode(
  2338. /* [out][in] */ DWORD *pdwMode,
  2339. /* [in] */ DWORD dwEncoding,
  2340. /* [in] */ WCHAR *pSrcStr,
  2341. /* [out][in] */ UINT *pcSrcSize,
  2342. /* [in] */ CHAR *pDstStr,
  2343. /* [out][in] */ UINT *pcDstSize) = 0;
  2344. virtual HRESULT STDMETHODCALLTYPE ConvertStringReset( void) = 0;
  2345. virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid(
  2346. /* [in] */ LCID Locale,
  2347. /* [out] */ BSTR *pbstrRfc1766) = 0;
  2348. virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766(
  2349. /* [out] */ LCID *pLocale,
  2350. /* [in] */ BSTR bstrRfc1766) = 0;
  2351. virtual HRESULT STDMETHODCALLTYPE EnumRfc1766(
  2352. /* [in] */ LANGID LangId,
  2353. /* [out] */ IEnumRfc1766 **ppEnumRfc1766) = 0;
  2354. virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info(
  2355. /* [in] */ LCID Locale,
  2356. /* [in] */ LANGID LangId,
  2357. /* [out] */ PRFC1766INFO pRfc1766Info) = 0;
  2358. virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset(
  2359. /* [in] */ UINT uiSrcCodePage,
  2360. /* [in] */ UINT uiDstCodePage,
  2361. /* [in] */ DWORD dwProperty,
  2362. /* [out] */ IMLangConvertCharset **ppMLangConvertCharset) = 0;
  2363. virtual HRESULT STDMETHODCALLTYPE ConvertStringInIStream(
  2364. /* [out][in] */ DWORD *pdwMode,
  2365. /* [in] */ DWORD dwFlag,
  2366. /* [in] */ WCHAR *lpFallBack,
  2367. /* [in] */ DWORD dwSrcEncoding,
  2368. /* [in] */ DWORD dwDstEncoding,
  2369. /* [in] */ IStream *pstmIn,
  2370. /* [in] */ IStream *pstmOut) = 0;
  2371. virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicodeEx(
  2372. /* [out][in] */ DWORD *pdwMode,
  2373. /* [in] */ DWORD dwEncoding,
  2374. /* [in] */ CHAR *pSrcStr,
  2375. /* [out][in] */ UINT *pcSrcSize,
  2376. /* [in] */ WCHAR *pDstStr,
  2377. /* [out][in] */ UINT *pcDstSize,
  2378. /* [in] */ DWORD dwFlag,
  2379. /* [in] */ WCHAR *lpFallBack) = 0;
  2380. virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicodeEx(
  2381. /* [out][in] */ DWORD *pdwMode,
  2382. /* [in] */ DWORD dwEncoding,
  2383. /* [in] */ WCHAR *pSrcStr,
  2384. /* [out][in] */ UINT *pcSrcSize,
  2385. /* [in] */ CHAR *pDstStr,
  2386. /* [out][in] */ UINT *pcDstSize,
  2387. /* [in] */ DWORD dwFlag,
  2388. /* [in] */ WCHAR *lpFallBack) = 0;
  2389. virtual HRESULT STDMETHODCALLTYPE DetectCodepageInIStream(
  2390. /* [in] */ DWORD dwFlag,
  2391. /* [in] */ DWORD dwPrefWinCodePage,
  2392. /* [in] */ IStream *pstmIn,
  2393. /* [out][in] */ DetectEncodingInfo *lpEncoding,
  2394. /* [out][in] */ INT *pnScores) = 0;
  2395. virtual HRESULT STDMETHODCALLTYPE DetectInputCodepage(
  2396. /* [in] */ DWORD dwFlag,
  2397. /* [in] */ DWORD dwPrefWinCodePage,
  2398. /* [in] */ CHAR *pSrcStr,
  2399. /* [out][in] */ INT *pcSrcSize,
  2400. /* [out][in] */ DetectEncodingInfo *lpEncoding,
  2401. /* [out][in] */ INT *pnScores) = 0;
  2402. virtual HRESULT STDMETHODCALLTYPE ValidateCodePage(
  2403. /* [in] */ UINT uiCodePage,
  2404. /* [in] */ HWND hwnd) = 0;
  2405. virtual HRESULT STDMETHODCALLTYPE GetCodePageDescription(
  2406. /* [in] */ UINT uiCodePage,
  2407. /* [in] */ LCID lcid,
  2408. /* [out][in] */ LPWSTR lpWideCharStr,
  2409. /* [in] */ int cchWideChar) = 0;
  2410. virtual HRESULT STDMETHODCALLTYPE IsCodePageInstallable(
  2411. /* [in] */ UINT uiCodePage) = 0;
  2412. virtual HRESULT STDMETHODCALLTYPE SetMimeDBSource(
  2413. /* [in] */ MIMECONTF dwSource) = 0;
  2414. virtual HRESULT STDMETHODCALLTYPE GetNumberOfScripts(
  2415. /* [out] */ UINT *pnScripts) = 0;
  2416. virtual HRESULT STDMETHODCALLTYPE EnumScripts(
  2417. /* [in] */ DWORD dwFlags,
  2418. /* [in] */ LANGID LangId,
  2419. /* [out] */ IEnumScript **ppEnumScript) = 0;
  2420. virtual HRESULT STDMETHODCALLTYPE ValidateCodePageEx(
  2421. /* [in] */ UINT uiCodePage,
  2422. /* [in] */ HWND hwnd,
  2423. /* [in] */ DWORD dwfIODControl) = 0;
  2424. };
  2425. #else /* C style interface */
  2426. typedef struct IMultiLanguage2Vtbl
  2427. {
  2428. BEGIN_INTERFACE
  2429. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2430. IMultiLanguage2 * This,
  2431. /* [in] */ REFIID riid,
  2432. /* [iid_is][out] */ void **ppvObject);
  2433. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2434. IMultiLanguage2 * This);
  2435. ULONG ( STDMETHODCALLTYPE *Release )(
  2436. IMultiLanguage2 * This);
  2437. HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )(
  2438. IMultiLanguage2 * This,
  2439. /* [out] */ UINT *pcCodePage);
  2440. HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )(
  2441. IMultiLanguage2 * This,
  2442. /* [in] */ UINT uiCodePage,
  2443. /* [in] */ LANGID LangId,
  2444. /* [out] */ PMIMECPINFO pCodePageInfo);
  2445. HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )(
  2446. IMultiLanguage2 * This,
  2447. /* [in] */ UINT uiCodePage,
  2448. /* [out] */ UINT *puiFamilyCodePage);
  2449. HRESULT ( STDMETHODCALLTYPE *EnumCodePages )(
  2450. IMultiLanguage2 * This,
  2451. /* [in] */ DWORD grfFlags,
  2452. /* [in] */ LANGID LangId,
  2453. /* [out] */ IEnumCodePage **ppEnumCodePage);
  2454. HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )(
  2455. IMultiLanguage2 * This,
  2456. /* [in] */ BSTR Charset,
  2457. /* [out] */ PMIMECSETINFO pCharsetInfo);
  2458. HRESULT ( STDMETHODCALLTYPE *IsConvertible )(
  2459. IMultiLanguage2 * This,
  2460. /* [in] */ DWORD dwSrcEncoding,
  2461. /* [in] */ DWORD dwDstEncoding);
  2462. HRESULT ( STDMETHODCALLTYPE *ConvertString )(
  2463. IMultiLanguage2 * This,
  2464. /* [out][in] */ DWORD *pdwMode,
  2465. /* [in] */ DWORD dwSrcEncoding,
  2466. /* [in] */ DWORD dwDstEncoding,
  2467. /* [in] */ BYTE *pSrcStr,
  2468. /* [out][in] */ UINT *pcSrcSize,
  2469. /* [in] */ BYTE *pDstStr,
  2470. /* [out][in] */ UINT *pcDstSize);
  2471. HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )(
  2472. IMultiLanguage2 * This,
  2473. /* [out][in] */ DWORD *pdwMode,
  2474. /* [in] */ DWORD dwEncoding,
  2475. /* [in] */ CHAR *pSrcStr,
  2476. /* [out][in] */ UINT *pcSrcSize,
  2477. /* [in] */ WCHAR *pDstStr,
  2478. /* [out][in] */ UINT *pcDstSize);
  2479. HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )(
  2480. IMultiLanguage2 * This,
  2481. /* [out][in] */ DWORD *pdwMode,
  2482. /* [in] */ DWORD dwEncoding,
  2483. /* [in] */ WCHAR *pSrcStr,
  2484. /* [out][in] */ UINT *pcSrcSize,
  2485. /* [in] */ CHAR *pDstStr,
  2486. /* [out][in] */ UINT *pcDstSize);
  2487. HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )(
  2488. IMultiLanguage2 * This);
  2489. HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )(
  2490. IMultiLanguage2 * This,
  2491. /* [in] */ LCID Locale,
  2492. /* [out] */ BSTR *pbstrRfc1766);
  2493. HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )(
  2494. IMultiLanguage2 * This,
  2495. /* [out] */ LCID *pLocale,
  2496. /* [in] */ BSTR bstrRfc1766);
  2497. HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )(
  2498. IMultiLanguage2 * This,
  2499. /* [in] */ LANGID LangId,
  2500. /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  2501. HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )(
  2502. IMultiLanguage2 * This,
  2503. /* [in] */ LCID Locale,
  2504. /* [in] */ LANGID LangId,
  2505. /* [out] */ PRFC1766INFO pRfc1766Info);
  2506. HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )(
  2507. IMultiLanguage2 * This,
  2508. /* [in] */ UINT uiSrcCodePage,
  2509. /* [in] */ UINT uiDstCodePage,
  2510. /* [in] */ DWORD dwProperty,
  2511. /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  2512. HRESULT ( STDMETHODCALLTYPE *ConvertStringInIStream )(
  2513. IMultiLanguage2 * This,
  2514. /* [out][in] */ DWORD *pdwMode,
  2515. /* [in] */ DWORD dwFlag,
  2516. /* [in] */ WCHAR *lpFallBack,
  2517. /* [in] */ DWORD dwSrcEncoding,
  2518. /* [in] */ DWORD dwDstEncoding,
  2519. /* [in] */ IStream *pstmIn,
  2520. /* [in] */ IStream *pstmOut);
  2521. HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicodeEx )(
  2522. IMultiLanguage2 * This,
  2523. /* [out][in] */ DWORD *pdwMode,
  2524. /* [in] */ DWORD dwEncoding,
  2525. /* [in] */ CHAR *pSrcStr,
  2526. /* [out][in] */ UINT *pcSrcSize,
  2527. /* [in] */ WCHAR *pDstStr,
  2528. /* [out][in] */ UINT *pcDstSize,
  2529. /* [in] */ DWORD dwFlag,
  2530. /* [in] */ WCHAR *lpFallBack);
  2531. HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicodeEx )(
  2532. IMultiLanguage2 * This,
  2533. /* [out][in] */ DWORD *pdwMode,
  2534. /* [in] */ DWORD dwEncoding,
  2535. /* [in] */ WCHAR *pSrcStr,
  2536. /* [out][in] */ UINT *pcSrcSize,
  2537. /* [in] */ CHAR *pDstStr,
  2538. /* [out][in] */ UINT *pcDstSize,
  2539. /* [in] */ DWORD dwFlag,
  2540. /* [in] */ WCHAR *lpFallBack);
  2541. HRESULT ( STDMETHODCALLTYPE *DetectCodepageInIStream )(
  2542. IMultiLanguage2 * This,
  2543. /* [in] */ DWORD dwFlag,
  2544. /* [in] */ DWORD dwPrefWinCodePage,
  2545. /* [in] */ IStream *pstmIn,
  2546. /* [out][in] */ DetectEncodingInfo *lpEncoding,
  2547. /* [out][in] */ INT *pnScores);
  2548. HRESULT ( STDMETHODCALLTYPE *DetectInputCodepage )(
  2549. IMultiLanguage2 * This,
  2550. /* [in] */ DWORD dwFlag,
  2551. /* [in] */ DWORD dwPrefWinCodePage,
  2552. /* [in] */ CHAR *pSrcStr,
  2553. /* [out][in] */ INT *pcSrcSize,
  2554. /* [out][in] */ DetectEncodingInfo *lpEncoding,
  2555. /* [out][in] */ INT *pnScores);
  2556. HRESULT ( STDMETHODCALLTYPE *ValidateCodePage )(
  2557. IMultiLanguage2 * This,
  2558. /* [in] */ UINT uiCodePage,
  2559. /* [in] */ HWND hwnd);
  2560. HRESULT ( STDMETHODCALLTYPE *GetCodePageDescription )(
  2561. IMultiLanguage2 * This,
  2562. /* [in] */ UINT uiCodePage,
  2563. /* [in] */ LCID lcid,
  2564. /* [out][in] */ LPWSTR lpWideCharStr,
  2565. /* [in] */ int cchWideChar);
  2566. HRESULT ( STDMETHODCALLTYPE *IsCodePageInstallable )(
  2567. IMultiLanguage2 * This,
  2568. /* [in] */ UINT uiCodePage);
  2569. HRESULT ( STDMETHODCALLTYPE *SetMimeDBSource )(
  2570. IMultiLanguage2 * This,
  2571. /* [in] */ MIMECONTF dwSource);
  2572. HRESULT ( STDMETHODCALLTYPE *GetNumberOfScripts )(
  2573. IMultiLanguage2 * This,
  2574. /* [out] */ UINT *pnScripts);
  2575. HRESULT ( STDMETHODCALLTYPE *EnumScripts )(
  2576. IMultiLanguage2 * This,
  2577. /* [in] */ DWORD dwFlags,
  2578. /* [in] */ LANGID LangId,
  2579. /* [out] */ IEnumScript **ppEnumScript);
  2580. HRESULT ( STDMETHODCALLTYPE *ValidateCodePageEx )(
  2581. IMultiLanguage2 * This,
  2582. /* [in] */ UINT uiCodePage,
  2583. /* [in] */ HWND hwnd,
  2584. /* [in] */ DWORD dwfIODControl);
  2585. END_INTERFACE
  2586. } IMultiLanguage2Vtbl;
  2587. interface IMultiLanguage2
  2588. {
  2589. CONST_VTBL struct IMultiLanguage2Vtbl *lpVtbl;
  2590. };
  2591. #ifdef COBJMACROS
  2592. #define IMultiLanguage2_QueryInterface(This,riid,ppvObject) \
  2593. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2594. #define IMultiLanguage2_AddRef(This) \
  2595. (This)->lpVtbl -> AddRef(This)
  2596. #define IMultiLanguage2_Release(This) \
  2597. (This)->lpVtbl -> Release(This)
  2598. #define IMultiLanguage2_GetNumberOfCodePageInfo(This,pcCodePage) \
  2599. (This)->lpVtbl -> GetNumberOfCodePageInfo(This,pcCodePage)
  2600. #define IMultiLanguage2_GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo) \
  2601. (This)->lpVtbl -> GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo)
  2602. #define IMultiLanguage2_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) \
  2603. (This)->lpVtbl -> GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  2604. #define IMultiLanguage2_EnumCodePages(This,grfFlags,LangId,ppEnumCodePage) \
  2605. (This)->lpVtbl -> EnumCodePages(This,grfFlags,LangId,ppEnumCodePage)
  2606. #define IMultiLanguage2_GetCharsetInfo(This,Charset,pCharsetInfo) \
  2607. (This)->lpVtbl -> GetCharsetInfo(This,Charset,pCharsetInfo)
  2608. #define IMultiLanguage2_IsConvertible(This,dwSrcEncoding,dwDstEncoding) \
  2609. (This)->lpVtbl -> IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  2610. #define IMultiLanguage2_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  2611. (This)->lpVtbl -> ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  2612. #define IMultiLanguage2_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  2613. (This)->lpVtbl -> ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  2614. #define IMultiLanguage2_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  2615. (This)->lpVtbl -> ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  2616. #define IMultiLanguage2_ConvertStringReset(This) \
  2617. (This)->lpVtbl -> ConvertStringReset(This)
  2618. #define IMultiLanguage2_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) \
  2619. (This)->lpVtbl -> GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  2620. #define IMultiLanguage2_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) \
  2621. (This)->lpVtbl -> GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  2622. #define IMultiLanguage2_EnumRfc1766(This,LangId,ppEnumRfc1766) \
  2623. (This)->lpVtbl -> EnumRfc1766(This,LangId,ppEnumRfc1766)
  2624. #define IMultiLanguage2_GetRfc1766Info(This,Locale,LangId,pRfc1766Info) \
  2625. (This)->lpVtbl -> GetRfc1766Info(This,Locale,LangId,pRfc1766Info)
  2626. #define IMultiLanguage2_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) \
  2627. (This)->lpVtbl -> CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  2628. #define IMultiLanguage2_ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut) \
  2629. (This)->lpVtbl -> ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut)
  2630. #define IMultiLanguage2_ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) \
  2631. (This)->lpVtbl -> ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  2632. #define IMultiLanguage2_ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) \
  2633. (This)->lpVtbl -> ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  2634. #define IMultiLanguage2_DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores) \
  2635. (This)->lpVtbl -> DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores)
  2636. #define IMultiLanguage2_DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores) \
  2637. (This)->lpVtbl -> DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores)
  2638. #define IMultiLanguage2_ValidateCodePage(This,uiCodePage,hwnd) \
  2639. (This)->lpVtbl -> ValidateCodePage(This,uiCodePage,hwnd)
  2640. #define IMultiLanguage2_GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar) \
  2641. (This)->lpVtbl -> GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar)
  2642. #define IMultiLanguage2_IsCodePageInstallable(This,uiCodePage) \
  2643. (This)->lpVtbl -> IsCodePageInstallable(This,uiCodePage)
  2644. #define IMultiLanguage2_SetMimeDBSource(This,dwSource) \
  2645. (This)->lpVtbl -> SetMimeDBSource(This,dwSource)
  2646. #define IMultiLanguage2_GetNumberOfScripts(This,pnScripts) \
  2647. (This)->lpVtbl -> GetNumberOfScripts(This,pnScripts)
  2648. #define IMultiLanguage2_EnumScripts(This,dwFlags,LangId,ppEnumScript) \
  2649. (This)->lpVtbl -> EnumScripts(This,dwFlags,LangId,ppEnumScript)
  2650. #define IMultiLanguage2_ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl) \
  2651. (This)->lpVtbl -> ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl)
  2652. #endif /* COBJMACROS */
  2653. #endif /* C style interface */
  2654. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetNumberOfCodePageInfo_Proxy(
  2655. IMultiLanguage2 * This,
  2656. /* [out] */ UINT *pcCodePage);
  2657. void __RPC_STUB IMultiLanguage2_GetNumberOfCodePageInfo_Stub(
  2658. IRpcStubBuffer *This,
  2659. IRpcChannelBuffer *_pRpcChannelBuffer,
  2660. PRPC_MESSAGE _pRpcMessage,
  2661. DWORD *_pdwStubPhase);
  2662. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetCodePageInfo_Proxy(
  2663. IMultiLanguage2 * This,
  2664. /* [in] */ UINT uiCodePage,
  2665. /* [in] */ LANGID LangId,
  2666. /* [out] */ PMIMECPINFO pCodePageInfo);
  2667. void __RPC_STUB IMultiLanguage2_GetCodePageInfo_Stub(
  2668. IRpcStubBuffer *This,
  2669. IRpcChannelBuffer *_pRpcChannelBuffer,
  2670. PRPC_MESSAGE _pRpcMessage,
  2671. DWORD *_pdwStubPhase);
  2672. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetFamilyCodePage_Proxy(
  2673. IMultiLanguage2 * This,
  2674. /* [in] */ UINT uiCodePage,
  2675. /* [out] */ UINT *puiFamilyCodePage);
  2676. void __RPC_STUB IMultiLanguage2_GetFamilyCodePage_Stub(
  2677. IRpcStubBuffer *This,
  2678. IRpcChannelBuffer *_pRpcChannelBuffer,
  2679. PRPC_MESSAGE _pRpcMessage,
  2680. DWORD *_pdwStubPhase);
  2681. HRESULT STDMETHODCALLTYPE IMultiLanguage2_EnumCodePages_Proxy(
  2682. IMultiLanguage2 * This,
  2683. /* [in] */ DWORD grfFlags,
  2684. /* [in] */ LANGID LangId,
  2685. /* [out] */ IEnumCodePage **ppEnumCodePage);
  2686. void __RPC_STUB IMultiLanguage2_EnumCodePages_Stub(
  2687. IRpcStubBuffer *This,
  2688. IRpcChannelBuffer *_pRpcChannelBuffer,
  2689. PRPC_MESSAGE _pRpcMessage,
  2690. DWORD *_pdwStubPhase);
  2691. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetCharsetInfo_Proxy(
  2692. IMultiLanguage2 * This,
  2693. /* [in] */ BSTR Charset,
  2694. /* [out] */ PMIMECSETINFO pCharsetInfo);
  2695. void __RPC_STUB IMultiLanguage2_GetCharsetInfo_Stub(
  2696. IRpcStubBuffer *This,
  2697. IRpcChannelBuffer *_pRpcChannelBuffer,
  2698. PRPC_MESSAGE _pRpcMessage,
  2699. DWORD *_pdwStubPhase);
  2700. HRESULT STDMETHODCALLTYPE IMultiLanguage2_IsConvertible_Proxy(
  2701. IMultiLanguage2 * This,
  2702. /* [in] */ DWORD dwSrcEncoding,
  2703. /* [in] */ DWORD dwDstEncoding);
  2704. void __RPC_STUB IMultiLanguage2_IsConvertible_Stub(
  2705. IRpcStubBuffer *This,
  2706. IRpcChannelBuffer *_pRpcChannelBuffer,
  2707. PRPC_MESSAGE _pRpcMessage,
  2708. DWORD *_pdwStubPhase);
  2709. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertString_Proxy(
  2710. IMultiLanguage2 * This,
  2711. /* [out][in] */ DWORD *pdwMode,
  2712. /* [in] */ DWORD dwSrcEncoding,
  2713. /* [in] */ DWORD dwDstEncoding,
  2714. /* [in] */ BYTE *pSrcStr,
  2715. /* [out][in] */ UINT *pcSrcSize,
  2716. /* [in] */ BYTE *pDstStr,
  2717. /* [out][in] */ UINT *pcDstSize);
  2718. void __RPC_STUB IMultiLanguage2_ConvertString_Stub(
  2719. IRpcStubBuffer *This,
  2720. IRpcChannelBuffer *_pRpcChannelBuffer,
  2721. PRPC_MESSAGE _pRpcMessage,
  2722. DWORD *_pdwStubPhase);
  2723. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringToUnicode_Proxy(
  2724. IMultiLanguage2 * This,
  2725. /* [out][in] */ DWORD *pdwMode,
  2726. /* [in] */ DWORD dwEncoding,
  2727. /* [in] */ CHAR *pSrcStr,
  2728. /* [out][in] */ UINT *pcSrcSize,
  2729. /* [in] */ WCHAR *pDstStr,
  2730. /* [out][in] */ UINT *pcDstSize);
  2731. void __RPC_STUB IMultiLanguage2_ConvertStringToUnicode_Stub(
  2732. IRpcStubBuffer *This,
  2733. IRpcChannelBuffer *_pRpcChannelBuffer,
  2734. PRPC_MESSAGE _pRpcMessage,
  2735. DWORD *_pdwStubPhase);
  2736. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringFromUnicode_Proxy(
  2737. IMultiLanguage2 * This,
  2738. /* [out][in] */ DWORD *pdwMode,
  2739. /* [in] */ DWORD dwEncoding,
  2740. /* [in] */ WCHAR *pSrcStr,
  2741. /* [out][in] */ UINT *pcSrcSize,
  2742. /* [in] */ CHAR *pDstStr,
  2743. /* [out][in] */ UINT *pcDstSize);
  2744. void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicode_Stub(
  2745. IRpcStubBuffer *This,
  2746. IRpcChannelBuffer *_pRpcChannelBuffer,
  2747. PRPC_MESSAGE _pRpcMessage,
  2748. DWORD *_pdwStubPhase);
  2749. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringReset_Proxy(
  2750. IMultiLanguage2 * This);
  2751. void __RPC_STUB IMultiLanguage2_ConvertStringReset_Stub(
  2752. IRpcStubBuffer *This,
  2753. IRpcChannelBuffer *_pRpcChannelBuffer,
  2754. PRPC_MESSAGE _pRpcMessage,
  2755. DWORD *_pdwStubPhase);
  2756. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetRfc1766FromLcid_Proxy(
  2757. IMultiLanguage2 * This,
  2758. /* [in] */ LCID Locale,
  2759. /* [out] */ BSTR *pbstrRfc1766);
  2760. void __RPC_STUB IMultiLanguage2_GetRfc1766FromLcid_Stub(
  2761. IRpcStubBuffer *This,
  2762. IRpcChannelBuffer *_pRpcChannelBuffer,
  2763. PRPC_MESSAGE _pRpcMessage,
  2764. DWORD *_pdwStubPhase);
  2765. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetLcidFromRfc1766_Proxy(
  2766. IMultiLanguage2 * This,
  2767. /* [out] */ LCID *pLocale,
  2768. /* [in] */ BSTR bstrRfc1766);
  2769. void __RPC_STUB IMultiLanguage2_GetLcidFromRfc1766_Stub(
  2770. IRpcStubBuffer *This,
  2771. IRpcChannelBuffer *_pRpcChannelBuffer,
  2772. PRPC_MESSAGE _pRpcMessage,
  2773. DWORD *_pdwStubPhase);
  2774. HRESULT STDMETHODCALLTYPE IMultiLanguage2_EnumRfc1766_Proxy(
  2775. IMultiLanguage2 * This,
  2776. /* [in] */ LANGID LangId,
  2777. /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  2778. void __RPC_STUB IMultiLanguage2_EnumRfc1766_Stub(
  2779. IRpcStubBuffer *This,
  2780. IRpcChannelBuffer *_pRpcChannelBuffer,
  2781. PRPC_MESSAGE _pRpcMessage,
  2782. DWORD *_pdwStubPhase);
  2783. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetRfc1766Info_Proxy(
  2784. IMultiLanguage2 * This,
  2785. /* [in] */ LCID Locale,
  2786. /* [in] */ LANGID LangId,
  2787. /* [out] */ PRFC1766INFO pRfc1766Info);
  2788. void __RPC_STUB IMultiLanguage2_GetRfc1766Info_Stub(
  2789. IRpcStubBuffer *This,
  2790. IRpcChannelBuffer *_pRpcChannelBuffer,
  2791. PRPC_MESSAGE _pRpcMessage,
  2792. DWORD *_pdwStubPhase);
  2793. HRESULT STDMETHODCALLTYPE IMultiLanguage2_CreateConvertCharset_Proxy(
  2794. IMultiLanguage2 * This,
  2795. /* [in] */ UINT uiSrcCodePage,
  2796. /* [in] */ UINT uiDstCodePage,
  2797. /* [in] */ DWORD dwProperty,
  2798. /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  2799. void __RPC_STUB IMultiLanguage2_CreateConvertCharset_Stub(
  2800. IRpcStubBuffer *This,
  2801. IRpcChannelBuffer *_pRpcChannelBuffer,
  2802. PRPC_MESSAGE _pRpcMessage,
  2803. DWORD *_pdwStubPhase);
  2804. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringInIStream_Proxy(
  2805. IMultiLanguage2 * This,
  2806. /* [out][in] */ DWORD *pdwMode,
  2807. /* [in] */ DWORD dwFlag,
  2808. /* [in] */ WCHAR *lpFallBack,
  2809. /* [in] */ DWORD dwSrcEncoding,
  2810. /* [in] */ DWORD dwDstEncoding,
  2811. /* [in] */ IStream *pstmIn,
  2812. /* [in] */ IStream *pstmOut);
  2813. void __RPC_STUB IMultiLanguage2_ConvertStringInIStream_Stub(
  2814. IRpcStubBuffer *This,
  2815. IRpcChannelBuffer *_pRpcChannelBuffer,
  2816. PRPC_MESSAGE _pRpcMessage,
  2817. DWORD *_pdwStubPhase);
  2818. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringToUnicodeEx_Proxy(
  2819. IMultiLanguage2 * This,
  2820. /* [out][in] */ DWORD *pdwMode,
  2821. /* [in] */ DWORD dwEncoding,
  2822. /* [in] */ CHAR *pSrcStr,
  2823. /* [out][in] */ UINT *pcSrcSize,
  2824. /* [in] */ WCHAR *pDstStr,
  2825. /* [out][in] */ UINT *pcDstSize,
  2826. /* [in] */ DWORD dwFlag,
  2827. /* [in] */ WCHAR *lpFallBack);
  2828. void __RPC_STUB IMultiLanguage2_ConvertStringToUnicodeEx_Stub(
  2829. IRpcStubBuffer *This,
  2830. IRpcChannelBuffer *_pRpcChannelBuffer,
  2831. PRPC_MESSAGE _pRpcMessage,
  2832. DWORD *_pdwStubPhase);
  2833. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringFromUnicodeEx_Proxy(
  2834. IMultiLanguage2 * This,
  2835. /* [out][in] */ DWORD *pdwMode,
  2836. /* [in] */ DWORD dwEncoding,
  2837. /* [in] */ WCHAR *pSrcStr,
  2838. /* [out][in] */ UINT *pcSrcSize,
  2839. /* [in] */ CHAR *pDstStr,
  2840. /* [out][in] */ UINT *pcDstSize,
  2841. /* [in] */ DWORD dwFlag,
  2842. /* [in] */ WCHAR *lpFallBack);
  2843. void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicodeEx_Stub(
  2844. IRpcStubBuffer *This,
  2845. IRpcChannelBuffer *_pRpcChannelBuffer,
  2846. PRPC_MESSAGE _pRpcMessage,
  2847. DWORD *_pdwStubPhase);
  2848. HRESULT STDMETHODCALLTYPE IMultiLanguage2_DetectCodepageInIStream_Proxy(
  2849. IMultiLanguage2 * This,
  2850. /* [in] */ DWORD dwFlag,
  2851. /* [in] */ DWORD dwPrefWinCodePage,
  2852. /* [in] */ IStream *pstmIn,
  2853. /* [out][in] */ DetectEncodingInfo *lpEncoding,
  2854. /* [out][in] */ INT *pnScores);
  2855. void __RPC_STUB IMultiLanguage2_DetectCodepageInIStream_Stub(
  2856. IRpcStubBuffer *This,
  2857. IRpcChannelBuffer *_pRpcChannelBuffer,
  2858. PRPC_MESSAGE _pRpcMessage,
  2859. DWORD *_pdwStubPhase);
  2860. HRESULT STDMETHODCALLTYPE IMultiLanguage2_DetectInputCodepage_Proxy(
  2861. IMultiLanguage2 * This,
  2862. /* [in] */ DWORD dwFlag,
  2863. /* [in] */ DWORD dwPrefWinCodePage,
  2864. /* [in] */ CHAR *pSrcStr,
  2865. /* [out][in] */ INT *pcSrcSize,
  2866. /* [out][in] */ DetectEncodingInfo *lpEncoding,
  2867. /* [out][in] */ INT *pnScores);
  2868. void __RPC_STUB IMultiLanguage2_DetectInputCodepage_Stub(
  2869. IRpcStubBuffer *This,
  2870. IRpcChannelBuffer *_pRpcChannelBuffer,
  2871. PRPC_MESSAGE _pRpcMessage,
  2872. DWORD *_pdwStubPhase);
  2873. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ValidateCodePage_Proxy(
  2874. IMultiLanguage2 * This,
  2875. /* [in] */ UINT uiCodePage,
  2876. /* [in] */ HWND hwnd);
  2877. void __RPC_STUB IMultiLanguage2_ValidateCodePage_Stub(
  2878. IRpcStubBuffer *This,
  2879. IRpcChannelBuffer *_pRpcChannelBuffer,
  2880. PRPC_MESSAGE _pRpcMessage,
  2881. DWORD *_pdwStubPhase);
  2882. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetCodePageDescription_Proxy(
  2883. IMultiLanguage2 * This,
  2884. /* [in] */ UINT uiCodePage,
  2885. /* [in] */ LCID lcid,
  2886. /* [out][in] */ LPWSTR lpWideCharStr,
  2887. /* [in] */ int cchWideChar);
  2888. void __RPC_STUB IMultiLanguage2_GetCodePageDescription_Stub(
  2889. IRpcStubBuffer *This,
  2890. IRpcChannelBuffer *_pRpcChannelBuffer,
  2891. PRPC_MESSAGE _pRpcMessage,
  2892. DWORD *_pdwStubPhase);
  2893. HRESULT STDMETHODCALLTYPE IMultiLanguage2_IsCodePageInstallable_Proxy(
  2894. IMultiLanguage2 * This,
  2895. /* [in] */ UINT uiCodePage);
  2896. void __RPC_STUB IMultiLanguage2_IsCodePageInstallable_Stub(
  2897. IRpcStubBuffer *This,
  2898. IRpcChannelBuffer *_pRpcChannelBuffer,
  2899. PRPC_MESSAGE _pRpcMessage,
  2900. DWORD *_pdwStubPhase);
  2901. HRESULT STDMETHODCALLTYPE IMultiLanguage2_SetMimeDBSource_Proxy(
  2902. IMultiLanguage2 * This,
  2903. /* [in] */ MIMECONTF dwSource);
  2904. void __RPC_STUB IMultiLanguage2_SetMimeDBSource_Stub(
  2905. IRpcStubBuffer *This,
  2906. IRpcChannelBuffer *_pRpcChannelBuffer,
  2907. PRPC_MESSAGE _pRpcMessage,
  2908. DWORD *_pdwStubPhase);
  2909. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetNumberOfScripts_Proxy(
  2910. IMultiLanguage2 * This,
  2911. /* [out] */ UINT *pnScripts);
  2912. void __RPC_STUB IMultiLanguage2_GetNumberOfScripts_Stub(
  2913. IRpcStubBuffer *This,
  2914. IRpcChannelBuffer *_pRpcChannelBuffer,
  2915. PRPC_MESSAGE _pRpcMessage,
  2916. DWORD *_pdwStubPhase);
  2917. HRESULT STDMETHODCALLTYPE IMultiLanguage2_EnumScripts_Proxy(
  2918. IMultiLanguage2 * This,
  2919. /* [in] */ DWORD dwFlags,
  2920. /* [in] */ LANGID LangId,
  2921. /* [out] */ IEnumScript **ppEnumScript);
  2922. void __RPC_STUB IMultiLanguage2_EnumScripts_Stub(
  2923. IRpcStubBuffer *This,
  2924. IRpcChannelBuffer *_pRpcChannelBuffer,
  2925. PRPC_MESSAGE _pRpcMessage,
  2926. DWORD *_pdwStubPhase);
  2927. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ValidateCodePageEx_Proxy(
  2928. IMultiLanguage2 * This,
  2929. /* [in] */ UINT uiCodePage,
  2930. /* [in] */ HWND hwnd,
  2931. /* [in] */ DWORD dwfIODControl);
  2932. void __RPC_STUB IMultiLanguage2_ValidateCodePageEx_Stub(
  2933. IRpcStubBuffer *This,
  2934. IRpcChannelBuffer *_pRpcChannelBuffer,
  2935. PRPC_MESSAGE _pRpcMessage,
  2936. DWORD *_pdwStubPhase);
  2937. #endif /* __IMultiLanguage2_INTERFACE_DEFINED__ */
  2938. #ifndef __IMLangCodePages_INTERFACE_DEFINED__
  2939. #define __IMLangCodePages_INTERFACE_DEFINED__
  2940. /* interface IMLangCodePages */
  2941. /* [object][unique][helpstring][uuid] */
  2942. typedef /* [unique] */ IMLangCodePages *PMLANGCODEPAGES;
  2943. EXTERN_C const IID IID_IMLangCodePages;
  2944. #if defined(__cplusplus) && !defined(CINTERFACE)
  2945. MIDL_INTERFACE("359F3443-BD4A-11D0-B188-00AA0038C969")
  2946. IMLangCodePages : public IUnknown
  2947. {
  2948. public:
  2949. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCharCodePages(
  2950. /* [in] */ WCHAR chSrc,
  2951. /* [out] */ DWORD *pdwCodePages) = 0;
  2952. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStrCodePages(
  2953. /* [size_is][in] */ const WCHAR *pszSrc,
  2954. /* [in] */ long cchSrc,
  2955. /* [in] */ DWORD dwPriorityCodePages,
  2956. /* [out] */ DWORD *pdwCodePages,
  2957. /* [out] */ long *pcchCodePages) = 0;
  2958. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePageToCodePages(
  2959. /* [in] */ UINT uCodePage,
  2960. /* [out] */ DWORD *pdwCodePages) = 0;
  2961. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePagesToCodePage(
  2962. /* [in] */ DWORD dwCodePages,
  2963. /* [in] */ UINT uDefaultCodePage,
  2964. /* [out] */ UINT *puCodePage) = 0;
  2965. };
  2966. #else /* C style interface */
  2967. typedef struct IMLangCodePagesVtbl
  2968. {
  2969. BEGIN_INTERFACE
  2970. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2971. IMLangCodePages * This,
  2972. /* [in] */ REFIID riid,
  2973. /* [iid_is][out] */ void **ppvObject);
  2974. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2975. IMLangCodePages * This);
  2976. ULONG ( STDMETHODCALLTYPE *Release )(
  2977. IMLangCodePages * This);
  2978. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )(
  2979. IMLangCodePages * This,
  2980. /* [in] */ WCHAR chSrc,
  2981. /* [out] */ DWORD *pdwCodePages);
  2982. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )(
  2983. IMLangCodePages * This,
  2984. /* [size_is][in] */ const WCHAR *pszSrc,
  2985. /* [in] */ long cchSrc,
  2986. /* [in] */ DWORD dwPriorityCodePages,
  2987. /* [out] */ DWORD *pdwCodePages,
  2988. /* [out] */ long *pcchCodePages);
  2989. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )(
  2990. IMLangCodePages * This,
  2991. /* [in] */ UINT uCodePage,
  2992. /* [out] */ DWORD *pdwCodePages);
  2993. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )(
  2994. IMLangCodePages * This,
  2995. /* [in] */ DWORD dwCodePages,
  2996. /* [in] */ UINT uDefaultCodePage,
  2997. /* [out] */ UINT *puCodePage);
  2998. END_INTERFACE
  2999. } IMLangCodePagesVtbl;
  3000. interface IMLangCodePages
  3001. {
  3002. CONST_VTBL struct IMLangCodePagesVtbl *lpVtbl;
  3003. };
  3004. #ifdef COBJMACROS
  3005. #define IMLangCodePages_QueryInterface(This,riid,ppvObject) \
  3006. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3007. #define IMLangCodePages_AddRef(This) \
  3008. (This)->lpVtbl -> AddRef(This)
  3009. #define IMLangCodePages_Release(This) \
  3010. (This)->lpVtbl -> Release(This)
  3011. #define IMLangCodePages_GetCharCodePages(This,chSrc,pdwCodePages) \
  3012. (This)->lpVtbl -> GetCharCodePages(This,chSrc,pdwCodePages)
  3013. #define IMLangCodePages_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) \
  3014. (This)->lpVtbl -> GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  3015. #define IMLangCodePages_CodePageToCodePages(This,uCodePage,pdwCodePages) \
  3016. (This)->lpVtbl -> CodePageToCodePages(This,uCodePage,pdwCodePages)
  3017. #define IMLangCodePages_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) \
  3018. (This)->lpVtbl -> CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  3019. #endif /* COBJMACROS */
  3020. #endif /* C style interface */
  3021. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangCodePages_GetCharCodePages_Proxy(
  3022. IMLangCodePages * This,
  3023. /* [in] */ WCHAR chSrc,
  3024. /* [out] */ DWORD *pdwCodePages);
  3025. void __RPC_STUB IMLangCodePages_GetCharCodePages_Stub(
  3026. IRpcStubBuffer *This,
  3027. IRpcChannelBuffer *_pRpcChannelBuffer,
  3028. PRPC_MESSAGE _pRpcMessage,
  3029. DWORD *_pdwStubPhase);
  3030. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangCodePages_GetStrCodePages_Proxy(
  3031. IMLangCodePages * This,
  3032. /* [size_is][in] */ const WCHAR *pszSrc,
  3033. /* [in] */ long cchSrc,
  3034. /* [in] */ DWORD dwPriorityCodePages,
  3035. /* [out] */ DWORD *pdwCodePages,
  3036. /* [out] */ long *pcchCodePages);
  3037. void __RPC_STUB IMLangCodePages_GetStrCodePages_Stub(
  3038. IRpcStubBuffer *This,
  3039. IRpcChannelBuffer *_pRpcChannelBuffer,
  3040. PRPC_MESSAGE _pRpcMessage,
  3041. DWORD *_pdwStubPhase);
  3042. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangCodePages_CodePageToCodePages_Proxy(
  3043. IMLangCodePages * This,
  3044. /* [in] */ UINT uCodePage,
  3045. /* [out] */ DWORD *pdwCodePages);
  3046. void __RPC_STUB IMLangCodePages_CodePageToCodePages_Stub(
  3047. IRpcStubBuffer *This,
  3048. IRpcChannelBuffer *_pRpcChannelBuffer,
  3049. PRPC_MESSAGE _pRpcMessage,
  3050. DWORD *_pdwStubPhase);
  3051. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangCodePages_CodePagesToCodePage_Proxy(
  3052. IMLangCodePages * This,
  3053. /* [in] */ DWORD dwCodePages,
  3054. /* [in] */ UINT uDefaultCodePage,
  3055. /* [out] */ UINT *puCodePage);
  3056. void __RPC_STUB IMLangCodePages_CodePagesToCodePage_Stub(
  3057. IRpcStubBuffer *This,
  3058. IRpcChannelBuffer *_pRpcChannelBuffer,
  3059. PRPC_MESSAGE _pRpcMessage,
  3060. DWORD *_pdwStubPhase);
  3061. #endif /* __IMLangCodePages_INTERFACE_DEFINED__ */
  3062. #ifndef __IMLangFontLink_INTERFACE_DEFINED__
  3063. #define __IMLangFontLink_INTERFACE_DEFINED__
  3064. /* interface IMLangFontLink */
  3065. /* [object][unique][helpstring][uuid] */
  3066. typedef /* [unique] */ IMLangFontLink *PMLANGFONTLINK;
  3067. EXTERN_C const IID IID_IMLangFontLink;
  3068. #if defined(__cplusplus) && !defined(CINTERFACE)
  3069. MIDL_INTERFACE("359F3441-BD4A-11D0-B188-00AA0038C969")
  3070. IMLangFontLink : public IMLangCodePages
  3071. {
  3072. public:
  3073. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontCodePages(
  3074. /* [in] */ HDC hDC,
  3075. /* [in] */ HFONT hFont,
  3076. /* [out] */ DWORD *pdwCodePages) = 0;
  3077. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapFont(
  3078. /* [in] */ HDC hDC,
  3079. /* [in] */ DWORD dwCodePages,
  3080. /* [in] */ HFONT hSrcFont,
  3081. /* [out] */ HFONT *phDestFont) = 0;
  3082. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReleaseFont(
  3083. /* [in] */ HFONT hFont) = 0;
  3084. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetFontMapping( void) = 0;
  3085. };
  3086. #else /* C style interface */
  3087. typedef struct IMLangFontLinkVtbl
  3088. {
  3089. BEGIN_INTERFACE
  3090. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3091. IMLangFontLink * This,
  3092. /* [in] */ REFIID riid,
  3093. /* [iid_is][out] */ void **ppvObject);
  3094. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3095. IMLangFontLink * This);
  3096. ULONG ( STDMETHODCALLTYPE *Release )(
  3097. IMLangFontLink * This);
  3098. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )(
  3099. IMLangFontLink * This,
  3100. /* [in] */ WCHAR chSrc,
  3101. /* [out] */ DWORD *pdwCodePages);
  3102. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )(
  3103. IMLangFontLink * This,
  3104. /* [size_is][in] */ const WCHAR *pszSrc,
  3105. /* [in] */ long cchSrc,
  3106. /* [in] */ DWORD dwPriorityCodePages,
  3107. /* [out] */ DWORD *pdwCodePages,
  3108. /* [out] */ long *pcchCodePages);
  3109. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )(
  3110. IMLangFontLink * This,
  3111. /* [in] */ UINT uCodePage,
  3112. /* [out] */ DWORD *pdwCodePages);
  3113. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )(
  3114. IMLangFontLink * This,
  3115. /* [in] */ DWORD dwCodePages,
  3116. /* [in] */ UINT uDefaultCodePage,
  3117. /* [out] */ UINT *puCodePage);
  3118. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontCodePages )(
  3119. IMLangFontLink * This,
  3120. /* [in] */ HDC hDC,
  3121. /* [in] */ HFONT hFont,
  3122. /* [out] */ DWORD *pdwCodePages);
  3123. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapFont )(
  3124. IMLangFontLink * This,
  3125. /* [in] */ HDC hDC,
  3126. /* [in] */ DWORD dwCodePages,
  3127. /* [in] */ HFONT hSrcFont,
  3128. /* [out] */ HFONT *phDestFont);
  3129. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReleaseFont )(
  3130. IMLangFontLink * This,
  3131. /* [in] */ HFONT hFont);
  3132. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetFontMapping )(
  3133. IMLangFontLink * This);
  3134. END_INTERFACE
  3135. } IMLangFontLinkVtbl;
  3136. interface IMLangFontLink
  3137. {
  3138. CONST_VTBL struct IMLangFontLinkVtbl *lpVtbl;
  3139. };
  3140. #ifdef COBJMACROS
  3141. #define IMLangFontLink_QueryInterface(This,riid,ppvObject) \
  3142. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3143. #define IMLangFontLink_AddRef(This) \
  3144. (This)->lpVtbl -> AddRef(This)
  3145. #define IMLangFontLink_Release(This) \
  3146. (This)->lpVtbl -> Release(This)
  3147. #define IMLangFontLink_GetCharCodePages(This,chSrc,pdwCodePages) \
  3148. (This)->lpVtbl -> GetCharCodePages(This,chSrc,pdwCodePages)
  3149. #define IMLangFontLink_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) \
  3150. (This)->lpVtbl -> GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  3151. #define IMLangFontLink_CodePageToCodePages(This,uCodePage,pdwCodePages) \
  3152. (This)->lpVtbl -> CodePageToCodePages(This,uCodePage,pdwCodePages)
  3153. #define IMLangFontLink_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) \
  3154. (This)->lpVtbl -> CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  3155. #define IMLangFontLink_GetFontCodePages(This,hDC,hFont,pdwCodePages) \
  3156. (This)->lpVtbl -> GetFontCodePages(This,hDC,hFont,pdwCodePages)
  3157. #define IMLangFontLink_MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont) \
  3158. (This)->lpVtbl -> MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont)
  3159. #define IMLangFontLink_ReleaseFont(This,hFont) \
  3160. (This)->lpVtbl -> ReleaseFont(This,hFont)
  3161. #define IMLangFontLink_ResetFontMapping(This) \
  3162. (This)->lpVtbl -> ResetFontMapping(This)
  3163. #endif /* COBJMACROS */
  3164. #endif /* C style interface */
  3165. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink_GetFontCodePages_Proxy(
  3166. IMLangFontLink * This,
  3167. /* [in] */ HDC hDC,
  3168. /* [in] */ HFONT hFont,
  3169. /* [out] */ DWORD *pdwCodePages);
  3170. void __RPC_STUB IMLangFontLink_GetFontCodePages_Stub(
  3171. IRpcStubBuffer *This,
  3172. IRpcChannelBuffer *_pRpcChannelBuffer,
  3173. PRPC_MESSAGE _pRpcMessage,
  3174. DWORD *_pdwStubPhase);
  3175. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink_MapFont_Proxy(
  3176. IMLangFontLink * This,
  3177. /* [in] */ HDC hDC,
  3178. /* [in] */ DWORD dwCodePages,
  3179. /* [in] */ HFONT hSrcFont,
  3180. /* [out] */ HFONT *phDestFont);
  3181. void __RPC_STUB IMLangFontLink_MapFont_Stub(
  3182. IRpcStubBuffer *This,
  3183. IRpcChannelBuffer *_pRpcChannelBuffer,
  3184. PRPC_MESSAGE _pRpcMessage,
  3185. DWORD *_pdwStubPhase);
  3186. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink_ReleaseFont_Proxy(
  3187. IMLangFontLink * This,
  3188. /* [in] */ HFONT hFont);
  3189. void __RPC_STUB IMLangFontLink_ReleaseFont_Stub(
  3190. IRpcStubBuffer *This,
  3191. IRpcChannelBuffer *_pRpcChannelBuffer,
  3192. PRPC_MESSAGE _pRpcMessage,
  3193. DWORD *_pdwStubPhase);
  3194. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink_ResetFontMapping_Proxy(
  3195. IMLangFontLink * This);
  3196. void __RPC_STUB IMLangFontLink_ResetFontMapping_Stub(
  3197. IRpcStubBuffer *This,
  3198. IRpcChannelBuffer *_pRpcChannelBuffer,
  3199. PRPC_MESSAGE _pRpcMessage,
  3200. DWORD *_pdwStubPhase);
  3201. #endif /* __IMLangFontLink_INTERFACE_DEFINED__ */
  3202. #ifndef __IMLangFontLink2_INTERFACE_DEFINED__
  3203. #define __IMLangFontLink2_INTERFACE_DEFINED__
  3204. /* interface IMLangFontLink2 */
  3205. /* [object][unique][helpstring][uuid] */
  3206. typedef struct tagUNICODERANGE
  3207. {
  3208. WCHAR wcFrom;
  3209. WCHAR wcTo;
  3210. } UNICODERANGE;
  3211. typedef /* [unique] */ IMLangFontLink2 *PMLANGFONTLINK2;
  3212. EXTERN_C const IID IID_IMLangFontLink2;
  3213. #if defined(__cplusplus) && !defined(CINTERFACE)
  3214. MIDL_INTERFACE("DCCFC162-2B38-11d2-B7EC-00C04F8F5D9A")
  3215. IMLangFontLink2 : public IMLangCodePages
  3216. {
  3217. public:
  3218. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontCodePages(
  3219. /* [in] */ HDC hDC,
  3220. /* [in] */ HFONT hFont,
  3221. /* [out] */ DWORD *pdwCodePages) = 0;
  3222. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReleaseFont(
  3223. /* [in] */ HFONT hFont) = 0;
  3224. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetFontMapping( void) = 0;
  3225. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapFont(
  3226. /* [in] */ HDC hDC,
  3227. /* [in] */ DWORD dwCodePages,
  3228. /* [in] */ WCHAR chSrc,
  3229. /* [out] */ HFONT *pFont) = 0;
  3230. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontUnicodeRanges(
  3231. /* [in] */ HDC hDC,
  3232. /* [out][in] */ UINT *puiRanges,
  3233. /* [out] */ UNICODERANGE *pUranges) = 0;
  3234. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptFontInfo(
  3235. /* [in] */ SCRIPT_ID sid,
  3236. /* [in] */ DWORD dwFlags,
  3237. /* [out][in] */ UINT *puiFonts,
  3238. /* [out] */ SCRIPTFONTINFO *pScriptFont) = 0;
  3239. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePageToScriptID(
  3240. /* [in] */ UINT uiCodePage,
  3241. /* [out] */ SCRIPT_ID *pSid) = 0;
  3242. };
  3243. #else /* C style interface */
  3244. typedef struct IMLangFontLink2Vtbl
  3245. {
  3246. BEGIN_INTERFACE
  3247. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3248. IMLangFontLink2 * This,
  3249. /* [in] */ REFIID riid,
  3250. /* [iid_is][out] */ void **ppvObject);
  3251. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3252. IMLangFontLink2 * This);
  3253. ULONG ( STDMETHODCALLTYPE *Release )(
  3254. IMLangFontLink2 * This);
  3255. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )(
  3256. IMLangFontLink2 * This,
  3257. /* [in] */ WCHAR chSrc,
  3258. /* [out] */ DWORD *pdwCodePages);
  3259. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )(
  3260. IMLangFontLink2 * This,
  3261. /* [size_is][in] */ const WCHAR *pszSrc,
  3262. /* [in] */ long cchSrc,
  3263. /* [in] */ DWORD dwPriorityCodePages,
  3264. /* [out] */ DWORD *pdwCodePages,
  3265. /* [out] */ long *pcchCodePages);
  3266. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )(
  3267. IMLangFontLink2 * This,
  3268. /* [in] */ UINT uCodePage,
  3269. /* [out] */ DWORD *pdwCodePages);
  3270. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )(
  3271. IMLangFontLink2 * This,
  3272. /* [in] */ DWORD dwCodePages,
  3273. /* [in] */ UINT uDefaultCodePage,
  3274. /* [out] */ UINT *puCodePage);
  3275. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontCodePages )(
  3276. IMLangFontLink2 * This,
  3277. /* [in] */ HDC hDC,
  3278. /* [in] */ HFONT hFont,
  3279. /* [out] */ DWORD *pdwCodePages);
  3280. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReleaseFont )(
  3281. IMLangFontLink2 * This,
  3282. /* [in] */ HFONT hFont);
  3283. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetFontMapping )(
  3284. IMLangFontLink2 * This);
  3285. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapFont )(
  3286. IMLangFontLink2 * This,
  3287. /* [in] */ HDC hDC,
  3288. /* [in] */ DWORD dwCodePages,
  3289. /* [in] */ WCHAR chSrc,
  3290. /* [out] */ HFONT *pFont);
  3291. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontUnicodeRanges )(
  3292. IMLangFontLink2 * This,
  3293. /* [in] */ HDC hDC,
  3294. /* [out][in] */ UINT *puiRanges,
  3295. /* [out] */ UNICODERANGE *pUranges);
  3296. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptFontInfo )(
  3297. IMLangFontLink2 * This,
  3298. /* [in] */ SCRIPT_ID sid,
  3299. /* [in] */ DWORD dwFlags,
  3300. /* [out][in] */ UINT *puiFonts,
  3301. /* [out] */ SCRIPTFONTINFO *pScriptFont);
  3302. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToScriptID )(
  3303. IMLangFontLink2 * This,
  3304. /* [in] */ UINT uiCodePage,
  3305. /* [out] */ SCRIPT_ID *pSid);
  3306. END_INTERFACE
  3307. } IMLangFontLink2Vtbl;
  3308. interface IMLangFontLink2
  3309. {
  3310. CONST_VTBL struct IMLangFontLink2Vtbl *lpVtbl;
  3311. };
  3312. #ifdef COBJMACROS
  3313. #define IMLangFontLink2_QueryInterface(This,riid,ppvObject) \
  3314. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3315. #define IMLangFontLink2_AddRef(This) \
  3316. (This)->lpVtbl -> AddRef(This)
  3317. #define IMLangFontLink2_Release(This) \
  3318. (This)->lpVtbl -> Release(This)
  3319. #define IMLangFontLink2_GetCharCodePages(This,chSrc,pdwCodePages) \
  3320. (This)->lpVtbl -> GetCharCodePages(This,chSrc,pdwCodePages)
  3321. #define IMLangFontLink2_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) \
  3322. (This)->lpVtbl -> GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  3323. #define IMLangFontLink2_CodePageToCodePages(This,uCodePage,pdwCodePages) \
  3324. (This)->lpVtbl -> CodePageToCodePages(This,uCodePage,pdwCodePages)
  3325. #define IMLangFontLink2_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) \
  3326. (This)->lpVtbl -> CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  3327. #define IMLangFontLink2_GetFontCodePages(This,hDC,hFont,pdwCodePages) \
  3328. (This)->lpVtbl -> GetFontCodePages(This,hDC,hFont,pdwCodePages)
  3329. #define IMLangFontLink2_ReleaseFont(This,hFont) \
  3330. (This)->lpVtbl -> ReleaseFont(This,hFont)
  3331. #define IMLangFontLink2_ResetFontMapping(This) \
  3332. (This)->lpVtbl -> ResetFontMapping(This)
  3333. #define IMLangFontLink2_MapFont(This,hDC,dwCodePages,chSrc,pFont) \
  3334. (This)->lpVtbl -> MapFont(This,hDC,dwCodePages,chSrc,pFont)
  3335. #define IMLangFontLink2_GetFontUnicodeRanges(This,hDC,puiRanges,pUranges) \
  3336. (This)->lpVtbl -> GetFontUnicodeRanges(This,hDC,puiRanges,pUranges)
  3337. #define IMLangFontLink2_GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont) \
  3338. (This)->lpVtbl -> GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont)
  3339. #define IMLangFontLink2_CodePageToScriptID(This,uiCodePage,pSid) \
  3340. (This)->lpVtbl -> CodePageToScriptID(This,uiCodePage,pSid)
  3341. #endif /* COBJMACROS */
  3342. #endif /* C style interface */
  3343. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_GetFontCodePages_Proxy(
  3344. IMLangFontLink2 * This,
  3345. /* [in] */ HDC hDC,
  3346. /* [in] */ HFONT hFont,
  3347. /* [out] */ DWORD *pdwCodePages);
  3348. void __RPC_STUB IMLangFontLink2_GetFontCodePages_Stub(
  3349. IRpcStubBuffer *This,
  3350. IRpcChannelBuffer *_pRpcChannelBuffer,
  3351. PRPC_MESSAGE _pRpcMessage,
  3352. DWORD *_pdwStubPhase);
  3353. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_ReleaseFont_Proxy(
  3354. IMLangFontLink2 * This,
  3355. /* [in] */ HFONT hFont);
  3356. void __RPC_STUB IMLangFontLink2_ReleaseFont_Stub(
  3357. IRpcStubBuffer *This,
  3358. IRpcChannelBuffer *_pRpcChannelBuffer,
  3359. PRPC_MESSAGE _pRpcMessage,
  3360. DWORD *_pdwStubPhase);
  3361. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_ResetFontMapping_Proxy(
  3362. IMLangFontLink2 * This);
  3363. void __RPC_STUB IMLangFontLink2_ResetFontMapping_Stub(
  3364. IRpcStubBuffer *This,
  3365. IRpcChannelBuffer *_pRpcChannelBuffer,
  3366. PRPC_MESSAGE _pRpcMessage,
  3367. DWORD *_pdwStubPhase);
  3368. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_MapFont_Proxy(
  3369. IMLangFontLink2 * This,
  3370. /* [in] */ HDC hDC,
  3371. /* [in] */ DWORD dwCodePages,
  3372. /* [in] */ WCHAR chSrc,
  3373. /* [out] */ HFONT *pFont);
  3374. void __RPC_STUB IMLangFontLink2_MapFont_Stub(
  3375. IRpcStubBuffer *This,
  3376. IRpcChannelBuffer *_pRpcChannelBuffer,
  3377. PRPC_MESSAGE _pRpcMessage,
  3378. DWORD *_pdwStubPhase);
  3379. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_GetFontUnicodeRanges_Proxy(
  3380. IMLangFontLink2 * This,
  3381. /* [in] */ HDC hDC,
  3382. /* [out][in] */ UINT *puiRanges,
  3383. /* [out] */ UNICODERANGE *pUranges);
  3384. void __RPC_STUB IMLangFontLink2_GetFontUnicodeRanges_Stub(
  3385. IRpcStubBuffer *This,
  3386. IRpcChannelBuffer *_pRpcChannelBuffer,
  3387. PRPC_MESSAGE _pRpcMessage,
  3388. DWORD *_pdwStubPhase);
  3389. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_GetScriptFontInfo_Proxy(
  3390. IMLangFontLink2 * This,
  3391. /* [in] */ SCRIPT_ID sid,
  3392. /* [in] */ DWORD dwFlags,
  3393. /* [out][in] */ UINT *puiFonts,
  3394. /* [out] */ SCRIPTFONTINFO *pScriptFont);
  3395. void __RPC_STUB IMLangFontLink2_GetScriptFontInfo_Stub(
  3396. IRpcStubBuffer *This,
  3397. IRpcChannelBuffer *_pRpcChannelBuffer,
  3398. PRPC_MESSAGE _pRpcMessage,
  3399. DWORD *_pdwStubPhase);
  3400. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_CodePageToScriptID_Proxy(
  3401. IMLangFontLink2 * This,
  3402. /* [in] */ UINT uiCodePage,
  3403. /* [out] */ SCRIPT_ID *pSid);
  3404. void __RPC_STUB IMLangFontLink2_CodePageToScriptID_Stub(
  3405. IRpcStubBuffer *This,
  3406. IRpcChannelBuffer *_pRpcChannelBuffer,
  3407. PRPC_MESSAGE _pRpcMessage,
  3408. DWORD *_pdwStubPhase);
  3409. #endif /* __IMLangFontLink2_INTERFACE_DEFINED__ */
  3410. #ifndef __IMultiLanguage3_INTERFACE_DEFINED__
  3411. #define __IMultiLanguage3_INTERFACE_DEFINED__
  3412. /* interface IMultiLanguage3 */
  3413. /* [unique][uuid][object] */
  3414. typedef /* [unique] */ IMultiLanguage3 *LPMULTILANGUAGE3;
  3415. EXTERN_C const IID IID_IMultiLanguage3;
  3416. #if defined(__cplusplus) && !defined(CINTERFACE)
  3417. MIDL_INTERFACE("4e5868ab-b157-4623-9acc-6a1d9caebe04")
  3418. IMultiLanguage3 : public IMultiLanguage2
  3419. {
  3420. public:
  3421. virtual HRESULT STDMETHODCALLTYPE DetectOutboundCodePage(
  3422. /* [in] */ DWORD dwFlags,
  3423. /* [in] */ LPCWSTR lpWideCharStr,
  3424. /* [in] */ UINT cchWideChar,
  3425. /* [in] */ UINT *puiPreferredCodePages,
  3426. /* [in] */ UINT nPreferredCodePages,
  3427. /* [in] */ UINT *puiDetectedCodePages,
  3428. /* [out][in] */ UINT *pnDetectedCodePages,
  3429. /* [in] */ WCHAR *lpSpecialChar) = 0;
  3430. virtual HRESULT STDMETHODCALLTYPE DetectOutboundCodePageInIStream(
  3431. /* [in] */ DWORD dwFlags,
  3432. /* [in] */ IStream *pStrIn,
  3433. /* [in] */ UINT *puiPreferredCodePages,
  3434. /* [in] */ UINT nPreferredCodePages,
  3435. /* [in] */ UINT *puiDetectedCodePages,
  3436. /* [out][in] */ UINT *pnDetectedCodePages,
  3437. /* [in] */ WCHAR *lpSpecialChar) = 0;
  3438. };
  3439. #else /* C style interface */
  3440. typedef struct IMultiLanguage3Vtbl
  3441. {
  3442. BEGIN_INTERFACE
  3443. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3444. IMultiLanguage3 * This,
  3445. /* [in] */ REFIID riid,
  3446. /* [iid_is][out] */ void **ppvObject);
  3447. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3448. IMultiLanguage3 * This);
  3449. ULONG ( STDMETHODCALLTYPE *Release )(
  3450. IMultiLanguage3 * This);
  3451. HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )(
  3452. IMultiLanguage3 * This,
  3453. /* [out] */ UINT *pcCodePage);
  3454. HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )(
  3455. IMultiLanguage3 * This,
  3456. /* [in] */ UINT uiCodePage,
  3457. /* [in] */ LANGID LangId,
  3458. /* [out] */ PMIMECPINFO pCodePageInfo);
  3459. HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )(
  3460. IMultiLanguage3 * This,
  3461. /* [in] */ UINT uiCodePage,
  3462. /* [out] */ UINT *puiFamilyCodePage);
  3463. HRESULT ( STDMETHODCALLTYPE *EnumCodePages )(
  3464. IMultiLanguage3 * This,
  3465. /* [in] */ DWORD grfFlags,
  3466. /* [in] */ LANGID LangId,
  3467. /* [out] */ IEnumCodePage **ppEnumCodePage);
  3468. HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )(
  3469. IMultiLanguage3 * This,
  3470. /* [in] */ BSTR Charset,
  3471. /* [out] */ PMIMECSETINFO pCharsetInfo);
  3472. HRESULT ( STDMETHODCALLTYPE *IsConvertible )(
  3473. IMultiLanguage3 * This,
  3474. /* [in] */ DWORD dwSrcEncoding,
  3475. /* [in] */ DWORD dwDstEncoding);
  3476. HRESULT ( STDMETHODCALLTYPE *ConvertString )(
  3477. IMultiLanguage3 * This,
  3478. /* [out][in] */ DWORD *pdwMode,
  3479. /* [in] */ DWORD dwSrcEncoding,
  3480. /* [in] */ DWORD dwDstEncoding,
  3481. /* [in] */ BYTE *pSrcStr,
  3482. /* [out][in] */ UINT *pcSrcSize,
  3483. /* [in] */ BYTE *pDstStr,
  3484. /* [out][in] */ UINT *pcDstSize);
  3485. HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )(
  3486. IMultiLanguage3 * This,
  3487. /* [out][in] */ DWORD *pdwMode,
  3488. /* [in] */ DWORD dwEncoding,
  3489. /* [in] */ CHAR *pSrcStr,
  3490. /* [out][in] */ UINT *pcSrcSize,
  3491. /* [in] */ WCHAR *pDstStr,
  3492. /* [out][in] */ UINT *pcDstSize);
  3493. HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )(
  3494. IMultiLanguage3 * This,
  3495. /* [out][in] */ DWORD *pdwMode,
  3496. /* [in] */ DWORD dwEncoding,
  3497. /* [in] */ WCHAR *pSrcStr,
  3498. /* [out][in] */ UINT *pcSrcSize,
  3499. /* [in] */ CHAR *pDstStr,
  3500. /* [out][in] */ UINT *pcDstSize);
  3501. HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )(
  3502. IMultiLanguage3 * This);
  3503. HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )(
  3504. IMultiLanguage3 * This,
  3505. /* [in] */ LCID Locale,
  3506. /* [out] */ BSTR *pbstrRfc1766);
  3507. HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )(
  3508. IMultiLanguage3 * This,
  3509. /* [out] */ LCID *pLocale,
  3510. /* [in] */ BSTR bstrRfc1766);
  3511. HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )(
  3512. IMultiLanguage3 * This,
  3513. /* [in] */ LANGID LangId,
  3514. /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  3515. HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )(
  3516. IMultiLanguage3 * This,
  3517. /* [in] */ LCID Locale,
  3518. /* [in] */ LANGID LangId,
  3519. /* [out] */ PRFC1766INFO pRfc1766Info);
  3520. HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )(
  3521. IMultiLanguage3 * This,
  3522. /* [in] */ UINT uiSrcCodePage,
  3523. /* [in] */ UINT uiDstCodePage,
  3524. /* [in] */ DWORD dwProperty,
  3525. /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  3526. HRESULT ( STDMETHODCALLTYPE *ConvertStringInIStream )(
  3527. IMultiLanguage3 * This,
  3528. /* [out][in] */ DWORD *pdwMode,
  3529. /* [in] */ DWORD dwFlag,
  3530. /* [in] */ WCHAR *lpFallBack,
  3531. /* [in] */ DWORD dwSrcEncoding,
  3532. /* [in] */ DWORD dwDstEncoding,
  3533. /* [in] */ IStream *pstmIn,
  3534. /* [in] */ IStream *pstmOut);
  3535. HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicodeEx )(
  3536. IMultiLanguage3 * This,
  3537. /* [out][in] */ DWORD *pdwMode,
  3538. /* [in] */ DWORD dwEncoding,
  3539. /* [in] */ CHAR *pSrcStr,
  3540. /* [out][in] */ UINT *pcSrcSize,
  3541. /* [in] */ WCHAR *pDstStr,
  3542. /* [out][in] */ UINT *pcDstSize,
  3543. /* [in] */ DWORD dwFlag,
  3544. /* [in] */ WCHAR *lpFallBack);
  3545. HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicodeEx )(
  3546. IMultiLanguage3 * This,
  3547. /* [out][in] */ DWORD *pdwMode,
  3548. /* [in] */ DWORD dwEncoding,
  3549. /* [in] */ WCHAR *pSrcStr,
  3550. /* [out][in] */ UINT *pcSrcSize,
  3551. /* [in] */ CHAR *pDstStr,
  3552. /* [out][in] */ UINT *pcDstSize,
  3553. /* [in] */ DWORD dwFlag,
  3554. /* [in] */ WCHAR *lpFallBack);
  3555. HRESULT ( STDMETHODCALLTYPE *DetectCodepageInIStream )(
  3556. IMultiLanguage3 * This,
  3557. /* [in] */ DWORD dwFlag,
  3558. /* [in] */ DWORD dwPrefWinCodePage,
  3559. /* [in] */ IStream *pstmIn,
  3560. /* [out][in] */ DetectEncodingInfo *lpEncoding,
  3561. /* [out][in] */ INT *pnScores);
  3562. HRESULT ( STDMETHODCALLTYPE *DetectInputCodepage )(
  3563. IMultiLanguage3 * This,
  3564. /* [in] */ DWORD dwFlag,
  3565. /* [in] */ DWORD dwPrefWinCodePage,
  3566. /* [in] */ CHAR *pSrcStr,
  3567. /* [out][in] */ INT *pcSrcSize,
  3568. /* [out][in] */ DetectEncodingInfo *lpEncoding,
  3569. /* [out][in] */ INT *pnScores);
  3570. HRESULT ( STDMETHODCALLTYPE *ValidateCodePage )(
  3571. IMultiLanguage3 * This,
  3572. /* [in] */ UINT uiCodePage,
  3573. /* [in] */ HWND hwnd);
  3574. HRESULT ( STDMETHODCALLTYPE *GetCodePageDescription )(
  3575. IMultiLanguage3 * This,
  3576. /* [in] */ UINT uiCodePage,
  3577. /* [in] */ LCID lcid,
  3578. /* [out][in] */ LPWSTR lpWideCharStr,
  3579. /* [in] */ int cchWideChar);
  3580. HRESULT ( STDMETHODCALLTYPE *IsCodePageInstallable )(
  3581. IMultiLanguage3 * This,
  3582. /* [in] */ UINT uiCodePage);
  3583. HRESULT ( STDMETHODCALLTYPE *SetMimeDBSource )(
  3584. IMultiLanguage3 * This,
  3585. /* [in] */ MIMECONTF dwSource);
  3586. HRESULT ( STDMETHODCALLTYPE *GetNumberOfScripts )(
  3587. IMultiLanguage3 * This,
  3588. /* [out] */ UINT *pnScripts);
  3589. HRESULT ( STDMETHODCALLTYPE *EnumScripts )(
  3590. IMultiLanguage3 * This,
  3591. /* [in] */ DWORD dwFlags,
  3592. /* [in] */ LANGID LangId,
  3593. /* [out] */ IEnumScript **ppEnumScript);
  3594. HRESULT ( STDMETHODCALLTYPE *ValidateCodePageEx )(
  3595. IMultiLanguage3 * This,
  3596. /* [in] */ UINT uiCodePage,
  3597. /* [in] */ HWND hwnd,
  3598. /* [in] */ DWORD dwfIODControl);
  3599. HRESULT ( STDMETHODCALLTYPE *DetectOutboundCodePage )(
  3600. IMultiLanguage3 * This,
  3601. /* [in] */ DWORD dwFlags,
  3602. /* [in] */ LPCWSTR lpWideCharStr,
  3603. /* [in] */ UINT cchWideChar,
  3604. /* [in] */ UINT *puiPreferredCodePages,
  3605. /* [in] */ UINT nPreferredCodePages,
  3606. /* [in] */ UINT *puiDetectedCodePages,
  3607. /* [out][in] */ UINT *pnDetectedCodePages,
  3608. /* [in] */ WCHAR *lpSpecialChar);
  3609. HRESULT ( STDMETHODCALLTYPE *DetectOutboundCodePageInIStream )(
  3610. IMultiLanguage3 * This,
  3611. /* [in] */ DWORD dwFlags,
  3612. /* [in] */ IStream *pStrIn,
  3613. /* [in] */ UINT *puiPreferredCodePages,
  3614. /* [in] */ UINT nPreferredCodePages,
  3615. /* [in] */ UINT *puiDetectedCodePages,
  3616. /* [out][in] */ UINT *pnDetectedCodePages,
  3617. /* [in] */ WCHAR *lpSpecialChar);
  3618. END_INTERFACE
  3619. } IMultiLanguage3Vtbl;
  3620. interface IMultiLanguage3
  3621. {
  3622. CONST_VTBL struct IMultiLanguage3Vtbl *lpVtbl;
  3623. };
  3624. #ifdef COBJMACROS
  3625. #define IMultiLanguage3_QueryInterface(This,riid,ppvObject) \
  3626. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3627. #define IMultiLanguage3_AddRef(This) \
  3628. (This)->lpVtbl -> AddRef(This)
  3629. #define IMultiLanguage3_Release(This) \
  3630. (This)->lpVtbl -> Release(This)
  3631. #define IMultiLanguage3_GetNumberOfCodePageInfo(This,pcCodePage) \
  3632. (This)->lpVtbl -> GetNumberOfCodePageInfo(This,pcCodePage)
  3633. #define IMultiLanguage3_GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo) \
  3634. (This)->lpVtbl -> GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo)
  3635. #define IMultiLanguage3_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) \
  3636. (This)->lpVtbl -> GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  3637. #define IMultiLanguage3_EnumCodePages(This,grfFlags,LangId,ppEnumCodePage) \
  3638. (This)->lpVtbl -> EnumCodePages(This,grfFlags,LangId,ppEnumCodePage)
  3639. #define IMultiLanguage3_GetCharsetInfo(This,Charset,pCharsetInfo) \
  3640. (This)->lpVtbl -> GetCharsetInfo(This,Charset,pCharsetInfo)
  3641. #define IMultiLanguage3_IsConvertible(This,dwSrcEncoding,dwDstEncoding) \
  3642. (This)->lpVtbl -> IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  3643. #define IMultiLanguage3_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  3644. (This)->lpVtbl -> ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  3645. #define IMultiLanguage3_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  3646. (This)->lpVtbl -> ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  3647. #define IMultiLanguage3_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) \
  3648. (This)->lpVtbl -> ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  3649. #define IMultiLanguage3_ConvertStringReset(This) \
  3650. (This)->lpVtbl -> ConvertStringReset(This)
  3651. #define IMultiLanguage3_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) \
  3652. (This)->lpVtbl -> GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  3653. #define IMultiLanguage3_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) \
  3654. (This)->lpVtbl -> GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  3655. #define IMultiLanguage3_EnumRfc1766(This,LangId,ppEnumRfc1766) \
  3656. (This)->lpVtbl -> EnumRfc1766(This,LangId,ppEnumRfc1766)
  3657. #define IMultiLanguage3_GetRfc1766Info(This,Locale,LangId,pRfc1766Info) \
  3658. (This)->lpVtbl -> GetRfc1766Info(This,Locale,LangId,pRfc1766Info)
  3659. #define IMultiLanguage3_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) \
  3660. (This)->lpVtbl -> CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  3661. #define IMultiLanguage3_ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut) \
  3662. (This)->lpVtbl -> ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut)
  3663. #define IMultiLanguage3_ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) \
  3664. (This)->lpVtbl -> ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  3665. #define IMultiLanguage3_ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) \
  3666. (This)->lpVtbl -> ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  3667. #define IMultiLanguage3_DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores) \
  3668. (This)->lpVtbl -> DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores)
  3669. #define IMultiLanguage3_DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores) \
  3670. (This)->lpVtbl -> DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores)
  3671. #define IMultiLanguage3_ValidateCodePage(This,uiCodePage,hwnd) \
  3672. (This)->lpVtbl -> ValidateCodePage(This,uiCodePage,hwnd)
  3673. #define IMultiLanguage3_GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar) \
  3674. (This)->lpVtbl -> GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar)
  3675. #define IMultiLanguage3_IsCodePageInstallable(This,uiCodePage) \
  3676. (This)->lpVtbl -> IsCodePageInstallable(This,uiCodePage)
  3677. #define IMultiLanguage3_SetMimeDBSource(This,dwSource) \
  3678. (This)->lpVtbl -> SetMimeDBSource(This,dwSource)
  3679. #define IMultiLanguage3_GetNumberOfScripts(This,pnScripts) \
  3680. (This)->lpVtbl -> GetNumberOfScripts(This,pnScripts)
  3681. #define IMultiLanguage3_EnumScripts(This,dwFlags,LangId,ppEnumScript) \
  3682. (This)->lpVtbl -> EnumScripts(This,dwFlags,LangId,ppEnumScript)
  3683. #define IMultiLanguage3_ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl) \
  3684. (This)->lpVtbl -> ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl)
  3685. #define IMultiLanguage3_DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar) \
  3686. (This)->lpVtbl -> DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar)
  3687. #define IMultiLanguage3_DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar) \
  3688. (This)->lpVtbl -> DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar)
  3689. #endif /* COBJMACROS */
  3690. #endif /* C style interface */
  3691. HRESULT STDMETHODCALLTYPE IMultiLanguage3_DetectOutboundCodePage_Proxy(
  3692. IMultiLanguage3 * This,
  3693. /* [in] */ DWORD dwFlags,
  3694. /* [in] */ LPCWSTR lpWideCharStr,
  3695. /* [in] */ UINT cchWideChar,
  3696. /* [in] */ UINT *puiPreferredCodePages,
  3697. /* [in] */ UINT nPreferredCodePages,
  3698. /* [in] */ UINT *puiDetectedCodePages,
  3699. /* [out][in] */ UINT *pnDetectedCodePages,
  3700. /* [in] */ WCHAR *lpSpecialChar);
  3701. void __RPC_STUB IMultiLanguage3_DetectOutboundCodePage_Stub(
  3702. IRpcStubBuffer *This,
  3703. IRpcChannelBuffer *_pRpcChannelBuffer,
  3704. PRPC_MESSAGE _pRpcMessage,
  3705. DWORD *_pdwStubPhase);
  3706. HRESULT STDMETHODCALLTYPE IMultiLanguage3_DetectOutboundCodePageInIStream_Proxy(
  3707. IMultiLanguage3 * This,
  3708. /* [in] */ DWORD dwFlags,
  3709. /* [in] */ IStream *pStrIn,
  3710. /* [in] */ UINT *puiPreferredCodePages,
  3711. /* [in] */ UINT nPreferredCodePages,
  3712. /* [in] */ UINT *puiDetectedCodePages,
  3713. /* [out][in] */ UINT *pnDetectedCodePages,
  3714. /* [in] */ WCHAR *lpSpecialChar);
  3715. void __RPC_STUB IMultiLanguage3_DetectOutboundCodePageInIStream_Stub(
  3716. IRpcStubBuffer *This,
  3717. IRpcChannelBuffer *_pRpcChannelBuffer,
  3718. PRPC_MESSAGE _pRpcMessage,
  3719. DWORD *_pdwStubPhase);
  3720. #endif /* __IMultiLanguage3_INTERFACE_DEFINED__ */
  3721. EXTERN_C const CLSID CLSID_CMultiLanguage;
  3722. #ifdef __cplusplus
  3723. class DECLSPEC_UUID("275c23e2-3747-11d0-9fea-00aa003f8646")
  3724. CMultiLanguage;
  3725. #endif
  3726. #endif /* __MultiLanguage_LIBRARY_DEFINED__ */
  3727. /* interface __MIDL_itf_mlang_0127 */
  3728. /* [local] */
  3729. #ifndef _MLANG_H_API_DEF_
  3730. #define _MLANG_H_API_DEF_
  3731. // APIs prototypes
  3732. STDAPI LcidToRfc1766A(LCID Locale, LPSTR pszRfc1766, int iMaxLength);
  3733. STDAPI LcidToRfc1766W(LCID Locale, LPWSTR pszRfc1766, int nChar);
  3734. #ifdef UNICODE
  3735. #define LcidToRfc1766 LcidToRfc1766W
  3736. #else
  3737. #define LcidToRfc1766 LcidToRfc1766A
  3738. #endif
  3739. STDAPI Rfc1766ToLcidA(LCID *pLocale, LPCSTR pszRfc1766);
  3740. STDAPI Rfc1766ToLcidW(LCID *pLocale, LPCWSTR pszRfc1766);
  3741. #ifdef UNICODE
  3742. #define Rfc1766ToLcid Rfc1766ToLcidW
  3743. #else
  3744. #define Rfc1766ToLcid Rfc1766ToLcidA
  3745. #endif
  3746. STDAPI IsConvertINetStringAvailable(DWORD dwSrcEncoding, DWORD dwDstEncoding);
  3747. STDAPI ConvertINetString(LPDWORD lpdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, LPCSTR lpSrcStr, LPINT lpnSrcSize, LPSTR lpDstStr, LPINT lpnDstSize);
  3748. STDAPI ConvertINetMultiByteToUnicode(LPDWORD lpdwMode, DWORD dwEncoding, LPCSTR lpSrcStr, LPINT lpnMultiCharCount, LPWSTR lpDstStr, LPINT lpnWideCharCount);
  3749. STDAPI ConvertINetUnicodeToMultiByte(LPDWORD lpdwMode, DWORD dwEncoding, LPCWSTR lpSrcStr, LPINT lpnWideCharCount, LPSTR lpDstStr, LPINT lpnMultiCharCount);
  3750. #endif // _MLANG_H_API_DEF_
  3751. extern RPC_IF_HANDLE __MIDL_itf_mlang_0127_v0_0_c_ifspec;
  3752. extern RPC_IF_HANDLE __MIDL_itf_mlang_0127_v0_0_s_ifspec;
  3753. /* Additional Prototypes for ALL interfaces */
  3754. /* end of Additional Prototypes */
  3755. #ifdef __cplusplus
  3756. }
  3757. #endif
  3758. #endif