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

5226 lines
171 KiB

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