home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / mlang.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  164.7 KB  |  4,792 lines

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