MLang.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:171k
源码类别:

模拟服务器

开发平台:

C/C++

  1.     IMLangConvertCharset * This,
  2.     /* [out] */ UINT *puiDstCodePage);
  3. void __RPC_STUB IMLangConvertCharset_GetDestinationCodePage_Stub(
  4.     IRpcStubBuffer *This,
  5.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6.     PRPC_MESSAGE _pRpcMessage,
  7.     DWORD *_pdwStubPhase);
  8. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_GetProperty_Proxy( 
  9.     IMLangConvertCharset * This,
  10.     /* [out] */ DWORD *pdwProperty);
  11. void __RPC_STUB IMLangConvertCharset_GetProperty_Stub(
  12.     IRpcStubBuffer *This,
  13.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14.     PRPC_MESSAGE _pRpcMessage,
  15.     DWORD *_pdwStubPhase);
  16. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_DoConversion_Proxy( 
  17.     IMLangConvertCharset * This,
  18.     /* [in] */ BYTE *pSrcStr,
  19.     /* [out][in] */ UINT *pcSrcSize,
  20.     /* [in] */ BYTE *pDstStr,
  21.     /* [out][in] */ UINT *pcDstSize);
  22. void __RPC_STUB IMLangConvertCharset_DoConversion_Stub(
  23.     IRpcStubBuffer *This,
  24.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25.     PRPC_MESSAGE _pRpcMessage,
  26.     DWORD *_pdwStubPhase);
  27. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_DoConversionToUnicode_Proxy( 
  28.     IMLangConvertCharset * This,
  29.     /* [in] */ CHAR *pSrcStr,
  30.     /* [out][in] */ UINT *pcSrcSize,
  31.     /* [in] */ WCHAR *pDstStr,
  32.     /* [out][in] */ UINT *pcDstSize);
  33. void __RPC_STUB IMLangConvertCharset_DoConversionToUnicode_Stub(
  34.     IRpcStubBuffer *This,
  35.     IRpcChannelBuffer *_pRpcChannelBuffer,
  36.     PRPC_MESSAGE _pRpcMessage,
  37.     DWORD *_pdwStubPhase);
  38. HRESULT STDMETHODCALLTYPE IMLangConvertCharset_DoConversionFromUnicode_Proxy( 
  39.     IMLangConvertCharset * This,
  40.     /* [in] */ WCHAR *pSrcStr,
  41.     /* [out][in] */ UINT *pcSrcSize,
  42.     /* [in] */ CHAR *pDstStr,
  43.     /* [out][in] */ UINT *pcDstSize);
  44. void __RPC_STUB IMLangConvertCharset_DoConversionFromUnicode_Stub(
  45.     IRpcStubBuffer *This,
  46.     IRpcChannelBuffer *_pRpcChannelBuffer,
  47.     PRPC_MESSAGE _pRpcMessage,
  48.     DWORD *_pdwStubPhase);
  49. #endif  /* __IMLangConvertCharset_INTERFACE_DEFINED__ */
  50. EXTERN_C const CLSID CLSID_CMLangConvertCharset;
  51. #ifdef __cplusplus
  52. class DECLSPEC_UUID("d66d6f99-cdaa-11d0-b822-00c04fc9b31f")
  53. CMLangConvertCharset;
  54. #endif
  55. #ifndef __IMultiLanguage_INTERFACE_DEFINED__
  56. #define __IMultiLanguage_INTERFACE_DEFINED__
  57. /* interface IMultiLanguage */
  58. /* [unique][uuid][object] */ 
  59. typedef /* [unique] */ IMultiLanguage *LPMULTILANGUAGE;
  60. EXTERN_C const IID IID_IMultiLanguage;
  61. #if defined(__cplusplus) && !defined(CINTERFACE)
  62.     
  63.     MIDL_INTERFACE("275c23e1-3747-11d0-9fea-00aa003f8646")
  64.     IMultiLanguage : public IUnknown
  65.     {
  66.     public:
  67.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo( 
  68.             /* [out] */ UINT *pcCodePage) = 0;
  69.         
  70.         virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo( 
  71.             /* [in] */ UINT uiCodePage,
  72.             /* [out] */ PMIMECPINFO pCodePageInfo) = 0;
  73.         
  74.         virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage( 
  75.             /* [in] */ UINT uiCodePage,
  76.             /* [out] */ UINT *puiFamilyCodePage) = 0;
  77.         
  78.         virtual HRESULT STDMETHODCALLTYPE EnumCodePages( 
  79.             /* [in] */ DWORD grfFlags,
  80.             /* [out] */ IEnumCodePage **ppEnumCodePage) = 0;
  81.         
  82.         virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo( 
  83.             /* [in] */ BSTR Charset,
  84.             /* [out] */ PMIMECSETINFO pCharsetInfo) = 0;
  85.         
  86.         virtual HRESULT STDMETHODCALLTYPE IsConvertible( 
  87.             /* [in] */ DWORD dwSrcEncoding,
  88.             /* [in] */ DWORD dwDstEncoding) = 0;
  89.         
  90.         virtual HRESULT STDMETHODCALLTYPE ConvertString( 
  91.             /* [out][in] */ DWORD *pdwMode,
  92.             /* [in] */ DWORD dwSrcEncoding,
  93.             /* [in] */ DWORD dwDstEncoding,
  94.             /* [in] */ BYTE *pSrcStr,
  95.             /* [out][in] */ UINT *pcSrcSize,
  96.             /* [in] */ BYTE *pDstStr,
  97.             /* [out][in] */ UINT *pcDstSize) = 0;
  98.         
  99.         virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode( 
  100.             /* [out][in] */ DWORD *pdwMode,
  101.             /* [in] */ DWORD dwEncoding,
  102.             /* [in] */ CHAR *pSrcStr,
  103.             /* [out][in] */ UINT *pcSrcSize,
  104.             /* [in] */ WCHAR *pDstStr,
  105.             /* [out][in] */ UINT *pcDstSize) = 0;
  106.         
  107.         virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode( 
  108.             /* [out][in] */ DWORD *pdwMode,
  109.             /* [in] */ DWORD dwEncoding,
  110.             /* [in] */ WCHAR *pSrcStr,
  111.             /* [out][in] */ UINT *pcSrcSize,
  112.             /* [in] */ CHAR *pDstStr,
  113.             /* [out][in] */ UINT *pcDstSize) = 0;
  114.         
  115.         virtual HRESULT STDMETHODCALLTYPE ConvertStringReset( void) = 0;
  116.         
  117.         virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid( 
  118.             /* [in] */ LCID Locale,
  119.             /* [out] */ BSTR *pbstrRfc1766) = 0;
  120.         
  121.         virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766( 
  122.             /* [out] */ LCID *pLocale,
  123.             /* [in] */ BSTR bstrRfc1766) = 0;
  124.         
  125.         virtual HRESULT STDMETHODCALLTYPE EnumRfc1766( 
  126.             /* [out] */ IEnumRfc1766 **ppEnumRfc1766) = 0;
  127.         
  128.         virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info( 
  129.             /* [in] */ LCID Locale,
  130.             /* [out] */ PRFC1766INFO pRfc1766Info) = 0;
  131.         
  132.         virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset( 
  133.             /* [in] */ UINT uiSrcCodePage,
  134.             /* [in] */ UINT uiDstCodePage,
  135.             /* [in] */ DWORD dwProperty,
  136.             /* [out] */ IMLangConvertCharset **ppMLangConvertCharset) = 0;
  137.         
  138.     };
  139.     
  140. #else  /* C style interface */
  141.     typedef struct IMultiLanguageVtbl
  142.     {
  143.         BEGIN_INTERFACE
  144.         
  145.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  146.             IMultiLanguage * This,
  147.             /* [in] */ REFIID riid,
  148.             /* [iid_is][out] */ void **ppvObject);
  149.         
  150.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  151.             IMultiLanguage * This);
  152.         
  153.         ULONG ( STDMETHODCALLTYPE *Release )( 
  154.             IMultiLanguage * This);
  155.         
  156.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )( 
  157.             IMultiLanguage * This,
  158.             /* [out] */ UINT *pcCodePage);
  159.         
  160.         HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )( 
  161.             IMultiLanguage * This,
  162.             /* [in] */ UINT uiCodePage,
  163.             /* [out] */ PMIMECPINFO pCodePageInfo);
  164.         
  165.         HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )( 
  166.             IMultiLanguage * This,
  167.             /* [in] */ UINT uiCodePage,
  168.             /* [out] */ UINT *puiFamilyCodePage);
  169.         
  170.         HRESULT ( STDMETHODCALLTYPE *EnumCodePages )( 
  171.             IMultiLanguage * This,
  172.             /* [in] */ DWORD grfFlags,
  173.             /* [out] */ IEnumCodePage **ppEnumCodePage);
  174.         
  175.         HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )( 
  176.             IMultiLanguage * This,
  177.             /* [in] */ BSTR Charset,
  178.             /* [out] */ PMIMECSETINFO pCharsetInfo);
  179.         
  180.         HRESULT ( STDMETHODCALLTYPE *IsConvertible )( 
  181.             IMultiLanguage * This,
  182.             /* [in] */ DWORD dwSrcEncoding,
  183.             /* [in] */ DWORD dwDstEncoding);
  184.         
  185.         HRESULT ( STDMETHODCALLTYPE *ConvertString )( 
  186.             IMultiLanguage * This,
  187.             /* [out][in] */ DWORD *pdwMode,
  188.             /* [in] */ DWORD dwSrcEncoding,
  189.             /* [in] */ DWORD dwDstEncoding,
  190.             /* [in] */ BYTE *pSrcStr,
  191.             /* [out][in] */ UINT *pcSrcSize,
  192.             /* [in] */ BYTE *pDstStr,
  193.             /* [out][in] */ UINT *pcDstSize);
  194.         
  195.         HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )( 
  196.             IMultiLanguage * This,
  197.             /* [out][in] */ DWORD *pdwMode,
  198.             /* [in] */ DWORD dwEncoding,
  199.             /* [in] */ CHAR *pSrcStr,
  200.             /* [out][in] */ UINT *pcSrcSize,
  201.             /* [in] */ WCHAR *pDstStr,
  202.             /* [out][in] */ UINT *pcDstSize);
  203.         
  204.         HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )( 
  205.             IMultiLanguage * This,
  206.             /* [out][in] */ DWORD *pdwMode,
  207.             /* [in] */ DWORD dwEncoding,
  208.             /* [in] */ WCHAR *pSrcStr,
  209.             /* [out][in] */ UINT *pcSrcSize,
  210.             /* [in] */ CHAR *pDstStr,
  211.             /* [out][in] */ UINT *pcDstSize);
  212.         
  213.         HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )( 
  214.             IMultiLanguage * This);
  215.         
  216.         HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )( 
  217.             IMultiLanguage * This,
  218.             /* [in] */ LCID Locale,
  219.             /* [out] */ BSTR *pbstrRfc1766);
  220.         
  221.         HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )( 
  222.             IMultiLanguage * This,
  223.             /* [out] */ LCID *pLocale,
  224.             /* [in] */ BSTR bstrRfc1766);
  225.         
  226.         HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )( 
  227.             IMultiLanguage * This,
  228.             /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  229.         
  230.         HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )( 
  231.             IMultiLanguage * This,
  232.             /* [in] */ LCID Locale,
  233.             /* [out] */ PRFC1766INFO pRfc1766Info);
  234.         
  235.         HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )( 
  236.             IMultiLanguage * This,
  237.             /* [in] */ UINT uiSrcCodePage,
  238.             /* [in] */ UINT uiDstCodePage,
  239.             /* [in] */ DWORD dwProperty,
  240.             /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  241.         
  242.         END_INTERFACE
  243.     } IMultiLanguageVtbl;
  244.     interface IMultiLanguage
  245.     {
  246.         CONST_VTBL struct IMultiLanguageVtbl *lpVtbl;
  247.     };
  248.     
  249. #ifdef COBJMACROS
  250. #define IMultiLanguage_QueryInterface(This,riid,ppvObject)
  251.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  252. #define IMultiLanguage_AddRef(This)
  253.     (This)->lpVtbl -> AddRef(This)
  254. #define IMultiLanguage_Release(This)
  255.     (This)->lpVtbl -> Release(This)
  256. #define IMultiLanguage_GetNumberOfCodePageInfo(This,pcCodePage)
  257.     (This)->lpVtbl -> GetNumberOfCodePageInfo(This,pcCodePage)
  258. #define IMultiLanguage_GetCodePageInfo(This,uiCodePage,pCodePageInfo)
  259.     (This)->lpVtbl -> GetCodePageInfo(This,uiCodePage,pCodePageInfo)
  260. #define IMultiLanguage_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  261.     (This)->lpVtbl -> GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  262. #define IMultiLanguage_EnumCodePages(This,grfFlags,ppEnumCodePage)
  263.     (This)->lpVtbl -> EnumCodePages(This,grfFlags,ppEnumCodePage)
  264. #define IMultiLanguage_GetCharsetInfo(This,Charset,pCharsetInfo)
  265.     (This)->lpVtbl -> GetCharsetInfo(This,Charset,pCharsetInfo)
  266. #define IMultiLanguage_IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  267.     (This)->lpVtbl -> IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  268. #define IMultiLanguage_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  269.     (This)->lpVtbl -> ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  270. #define IMultiLanguage_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  271.     (This)->lpVtbl -> ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  272. #define IMultiLanguage_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  273.     (This)->lpVtbl -> ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  274. #define IMultiLanguage_ConvertStringReset(This)
  275.     (This)->lpVtbl -> ConvertStringReset(This)
  276. #define IMultiLanguage_GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  277.     (This)->lpVtbl -> GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  278. #define IMultiLanguage_GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  279.     (This)->lpVtbl -> GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  280. #define IMultiLanguage_EnumRfc1766(This,ppEnumRfc1766)
  281.     (This)->lpVtbl -> EnumRfc1766(This,ppEnumRfc1766)
  282. #define IMultiLanguage_GetRfc1766Info(This,Locale,pRfc1766Info)
  283.     (This)->lpVtbl -> GetRfc1766Info(This,Locale,pRfc1766Info)
  284. #define IMultiLanguage_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  285.     (This)->lpVtbl -> CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  286. #endif /* COBJMACROS */
  287. #endif  /* C style interface */
  288. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetNumberOfCodePageInfo_Proxy( 
  289.     IMultiLanguage * This,
  290.     /* [out] */ UINT *pcCodePage);
  291. void __RPC_STUB IMultiLanguage_GetNumberOfCodePageInfo_Stub(
  292.     IRpcStubBuffer *This,
  293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  294.     PRPC_MESSAGE _pRpcMessage,
  295.     DWORD *_pdwStubPhase);
  296. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetCodePageInfo_Proxy( 
  297.     IMultiLanguage * This,
  298.     /* [in] */ UINT uiCodePage,
  299.     /* [out] */ PMIMECPINFO pCodePageInfo);
  300. void __RPC_STUB IMultiLanguage_GetCodePageInfo_Stub(
  301.     IRpcStubBuffer *This,
  302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  303.     PRPC_MESSAGE _pRpcMessage,
  304.     DWORD *_pdwStubPhase);
  305. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetFamilyCodePage_Proxy( 
  306.     IMultiLanguage * This,
  307.     /* [in] */ UINT uiCodePage,
  308.     /* [out] */ UINT *puiFamilyCodePage);
  309. void __RPC_STUB IMultiLanguage_GetFamilyCodePage_Stub(
  310.     IRpcStubBuffer *This,
  311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  312.     PRPC_MESSAGE _pRpcMessage,
  313.     DWORD *_pdwStubPhase);
  314. HRESULT STDMETHODCALLTYPE IMultiLanguage_EnumCodePages_Proxy( 
  315.     IMultiLanguage * This,
  316.     /* [in] */ DWORD grfFlags,
  317.     /* [out] */ IEnumCodePage **ppEnumCodePage);
  318. void __RPC_STUB IMultiLanguage_EnumCodePages_Stub(
  319.     IRpcStubBuffer *This,
  320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  321.     PRPC_MESSAGE _pRpcMessage,
  322.     DWORD *_pdwStubPhase);
  323. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetCharsetInfo_Proxy( 
  324.     IMultiLanguage * This,
  325.     /* [in] */ BSTR Charset,
  326.     /* [out] */ PMIMECSETINFO pCharsetInfo);
  327. void __RPC_STUB IMultiLanguage_GetCharsetInfo_Stub(
  328.     IRpcStubBuffer *This,
  329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  330.     PRPC_MESSAGE _pRpcMessage,
  331.     DWORD *_pdwStubPhase);
  332. HRESULT STDMETHODCALLTYPE IMultiLanguage_IsConvertible_Proxy( 
  333.     IMultiLanguage * This,
  334.     /* [in] */ DWORD dwSrcEncoding,
  335.     /* [in] */ DWORD dwDstEncoding);
  336. void __RPC_STUB IMultiLanguage_IsConvertible_Stub(
  337.     IRpcStubBuffer *This,
  338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  339.     PRPC_MESSAGE _pRpcMessage,
  340.     DWORD *_pdwStubPhase);
  341. HRESULT STDMETHODCALLTYPE IMultiLanguage_ConvertString_Proxy( 
  342.     IMultiLanguage * This,
  343.     /* [out][in] */ DWORD *pdwMode,
  344.     /* [in] */ DWORD dwSrcEncoding,
  345.     /* [in] */ DWORD dwDstEncoding,
  346.     /* [in] */ BYTE *pSrcStr,
  347.     /* [out][in] */ UINT *pcSrcSize,
  348.     /* [in] */ BYTE *pDstStr,
  349.     /* [out][in] */ UINT *pcDstSize);
  350. void __RPC_STUB IMultiLanguage_ConvertString_Stub(
  351.     IRpcStubBuffer *This,
  352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  353.     PRPC_MESSAGE _pRpcMessage,
  354.     DWORD *_pdwStubPhase);
  355. HRESULT STDMETHODCALLTYPE IMultiLanguage_ConvertStringToUnicode_Proxy( 
  356.     IMultiLanguage * This,
  357.     /* [out][in] */ DWORD *pdwMode,
  358.     /* [in] */ DWORD dwEncoding,
  359.     /* [in] */ CHAR *pSrcStr,
  360.     /* [out][in] */ UINT *pcSrcSize,
  361.     /* [in] */ WCHAR *pDstStr,
  362.     /* [out][in] */ UINT *pcDstSize);
  363. void __RPC_STUB IMultiLanguage_ConvertStringToUnicode_Stub(
  364.     IRpcStubBuffer *This,
  365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  366.     PRPC_MESSAGE _pRpcMessage,
  367.     DWORD *_pdwStubPhase);
  368. HRESULT STDMETHODCALLTYPE IMultiLanguage_ConvertStringFromUnicode_Proxy( 
  369.     IMultiLanguage * This,
  370.     /* [out][in] */ DWORD *pdwMode,
  371.     /* [in] */ DWORD dwEncoding,
  372.     /* [in] */ WCHAR *pSrcStr,
  373.     /* [out][in] */ UINT *pcSrcSize,
  374.     /* [in] */ CHAR *pDstStr,
  375.     /* [out][in] */ UINT *pcDstSize);
  376. void __RPC_STUB IMultiLanguage_ConvertStringFromUnicode_Stub(
  377.     IRpcStubBuffer *This,
  378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  379.     PRPC_MESSAGE _pRpcMessage,
  380.     DWORD *_pdwStubPhase);
  381. HRESULT STDMETHODCALLTYPE IMultiLanguage_ConvertStringReset_Proxy( 
  382.     IMultiLanguage * This);
  383. void __RPC_STUB IMultiLanguage_ConvertStringReset_Stub(
  384.     IRpcStubBuffer *This,
  385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  386.     PRPC_MESSAGE _pRpcMessage,
  387.     DWORD *_pdwStubPhase);
  388. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetRfc1766FromLcid_Proxy( 
  389.     IMultiLanguage * This,
  390.     /* [in] */ LCID Locale,
  391.     /* [out] */ BSTR *pbstrRfc1766);
  392. void __RPC_STUB IMultiLanguage_GetRfc1766FromLcid_Stub(
  393.     IRpcStubBuffer *This,
  394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  395.     PRPC_MESSAGE _pRpcMessage,
  396.     DWORD *_pdwStubPhase);
  397. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetLcidFromRfc1766_Proxy( 
  398.     IMultiLanguage * This,
  399.     /* [out] */ LCID *pLocale,
  400.     /* [in] */ BSTR bstrRfc1766);
  401. void __RPC_STUB IMultiLanguage_GetLcidFromRfc1766_Stub(
  402.     IRpcStubBuffer *This,
  403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  404.     PRPC_MESSAGE _pRpcMessage,
  405.     DWORD *_pdwStubPhase);
  406. HRESULT STDMETHODCALLTYPE IMultiLanguage_EnumRfc1766_Proxy( 
  407.     IMultiLanguage * This,
  408.     /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  409. void __RPC_STUB IMultiLanguage_EnumRfc1766_Stub(
  410.     IRpcStubBuffer *This,
  411.     IRpcChannelBuffer *_pRpcChannelBuffer,
  412.     PRPC_MESSAGE _pRpcMessage,
  413.     DWORD *_pdwStubPhase);
  414. HRESULT STDMETHODCALLTYPE IMultiLanguage_GetRfc1766Info_Proxy( 
  415.     IMultiLanguage * This,
  416.     /* [in] */ LCID Locale,
  417.     /* [out] */ PRFC1766INFO pRfc1766Info);
  418. void __RPC_STUB IMultiLanguage_GetRfc1766Info_Stub(
  419.     IRpcStubBuffer *This,
  420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  421.     PRPC_MESSAGE _pRpcMessage,
  422.     DWORD *_pdwStubPhase);
  423. HRESULT STDMETHODCALLTYPE IMultiLanguage_CreateConvertCharset_Proxy( 
  424.     IMultiLanguage * This,
  425.     /* [in] */ UINT uiSrcCodePage,
  426.     /* [in] */ UINT uiDstCodePage,
  427.     /* [in] */ DWORD dwProperty,
  428.     /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  429. void __RPC_STUB IMultiLanguage_CreateConvertCharset_Stub(
  430.     IRpcStubBuffer *This,
  431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  432.     PRPC_MESSAGE _pRpcMessage,
  433.     DWORD *_pdwStubPhase);
  434. #endif  /* __IMultiLanguage_INTERFACE_DEFINED__ */
  435. #ifndef __IMultiLanguage2_INTERFACE_DEFINED__
  436. #define __IMultiLanguage2_INTERFACE_DEFINED__
  437. /* interface IMultiLanguage2 */
  438. /* [unique][uuid][object] */ 
  439. typedef /* [unique] */ IMultiLanguage2 *LPMULTILANGUAGE2;
  440. typedef 
  441. enum tagMLDETECTCP
  442.     { MLDETECTCP_NONE = 0,
  443. MLDETECTCP_7BIT = 1,
  444. MLDETECTCP_8BIT = 2,
  445. MLDETECTCP_DBCS = 4,
  446. MLDETECTCP_HTML = 8,
  447. MLDETECTCP_NUMBER = 16
  448.     }  MLDETECTCP;
  449. typedef struct tagDetectEncodingInfo
  450.     {
  451.     UINT nLangID;
  452.     UINT nCodePage;
  453.     INT nDocPercent;
  454.     INT nConfidence;
  455.     }  DetectEncodingInfo;
  456. typedef struct tagDetectEncodingInfo *pDetectEncodingInfo;
  457. typedef 
  458. enum tagSCRIPTFONTCONTF
  459.     { SCRIPTCONTF_FIXED_FONT = 0x1,
  460. SCRIPTCONTF_PROPORTIONAL_FONT = 0x2,
  461. SCRIPTCONTF_SCRIPT_USER = 0x10000,
  462. SCRIPTCONTF_SCRIPT_HIDE = 0x20000,
  463. SCRIPTCONTF_SCRIPT_SYSTEM = 0x40000
  464.     }  SCRIPTFONTCONTF;
  465. typedef struct tagSCRIPFONTINFO
  466.     {
  467.     SCRIPT_IDS scripts;
  468.     WCHAR wszFont[ 32 ];
  469.     }  SCRIPTFONTINFO;
  470. typedef struct tagSCRIPFONTINFO *PSCRIPTFONTINFO;
  471. EXTERN_C const IID IID_IMultiLanguage2;
  472. #if defined(__cplusplus) && !defined(CINTERFACE)
  473.     
  474.     MIDL_INTERFACE("DCCFC164-2B38-11d2-B7EC-00C04F8F5D9A")
  475.     IMultiLanguage2 : public IUnknown
  476.     {
  477.     public:
  478.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo( 
  479.             /* [out] */ UINT *pcCodePage) = 0;
  480.         
  481.         virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo( 
  482.             /* [in] */ UINT uiCodePage,
  483.             /* [in] */ LANGID LangId,
  484.             /* [out] */ PMIMECPINFO pCodePageInfo) = 0;
  485.         
  486.         virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage( 
  487.             /* [in] */ UINT uiCodePage,
  488.             /* [out] */ UINT *puiFamilyCodePage) = 0;
  489.         
  490.         virtual HRESULT STDMETHODCALLTYPE EnumCodePages( 
  491.             /* [in] */ DWORD grfFlags,
  492.             /* [in] */ LANGID LangId,
  493.             /* [out] */ IEnumCodePage **ppEnumCodePage) = 0;
  494.         
  495.         virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo( 
  496.             /* [in] */ BSTR Charset,
  497.             /* [out] */ PMIMECSETINFO pCharsetInfo) = 0;
  498.         
  499.         virtual HRESULT STDMETHODCALLTYPE IsConvertible( 
  500.             /* [in] */ DWORD dwSrcEncoding,
  501.             /* [in] */ DWORD dwDstEncoding) = 0;
  502.         
  503.         virtual HRESULT STDMETHODCALLTYPE ConvertString( 
  504.             /* [out][in] */ DWORD *pdwMode,
  505.             /* [in] */ DWORD dwSrcEncoding,
  506.             /* [in] */ DWORD dwDstEncoding,
  507.             /* [in] */ BYTE *pSrcStr,
  508.             /* [out][in] */ UINT *pcSrcSize,
  509.             /* [in] */ BYTE *pDstStr,
  510.             /* [out][in] */ UINT *pcDstSize) = 0;
  511.         
  512.         virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode( 
  513.             /* [out][in] */ DWORD *pdwMode,
  514.             /* [in] */ DWORD dwEncoding,
  515.             /* [in] */ CHAR *pSrcStr,
  516.             /* [out][in] */ UINT *pcSrcSize,
  517.             /* [in] */ WCHAR *pDstStr,
  518.             /* [out][in] */ UINT *pcDstSize) = 0;
  519.         
  520.         virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode( 
  521.             /* [out][in] */ DWORD *pdwMode,
  522.             /* [in] */ DWORD dwEncoding,
  523.             /* [in] */ WCHAR *pSrcStr,
  524.             /* [out][in] */ UINT *pcSrcSize,
  525.             /* [in] */ CHAR *pDstStr,
  526.             /* [out][in] */ UINT *pcDstSize) = 0;
  527.         
  528.         virtual HRESULT STDMETHODCALLTYPE ConvertStringReset( void) = 0;
  529.         
  530.         virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid( 
  531.             /* [in] */ LCID Locale,
  532.             /* [out] */ BSTR *pbstrRfc1766) = 0;
  533.         
  534.         virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766( 
  535.             /* [out] */ LCID *pLocale,
  536.             /* [in] */ BSTR bstrRfc1766) = 0;
  537.         
  538.         virtual HRESULT STDMETHODCALLTYPE EnumRfc1766( 
  539.             /* [in] */ LANGID LangId,
  540.             /* [out] */ IEnumRfc1766 **ppEnumRfc1766) = 0;
  541.         
  542.         virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info( 
  543.             /* [in] */ LCID Locale,
  544.             /* [in] */ LANGID LangId,
  545.             /* [out] */ PRFC1766INFO pRfc1766Info) = 0;
  546.         
  547.         virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset( 
  548.             /* [in] */ UINT uiSrcCodePage,
  549.             /* [in] */ UINT uiDstCodePage,
  550.             /* [in] */ DWORD dwProperty,
  551.             /* [out] */ IMLangConvertCharset **ppMLangConvertCharset) = 0;
  552.         
  553.         virtual HRESULT STDMETHODCALLTYPE ConvertStringInIStream( 
  554.             /* [out][in] */ DWORD *pdwMode,
  555.             /* [in] */ DWORD dwFlag,
  556.             /* [in] */ WCHAR *lpFallBack,
  557.             /* [in] */ DWORD dwSrcEncoding,
  558.             /* [in] */ DWORD dwDstEncoding,
  559.             /* [in] */ IStream *pstmIn,
  560.             /* [in] */ IStream *pstmOut) = 0;
  561.         
  562.         virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicodeEx( 
  563.             /* [out][in] */ DWORD *pdwMode,
  564.             /* [in] */ DWORD dwEncoding,
  565.             /* [in] */ CHAR *pSrcStr,
  566.             /* [out][in] */ UINT *pcSrcSize,
  567.             /* [in] */ WCHAR *pDstStr,
  568.             /* [out][in] */ UINT *pcDstSize,
  569.             /* [in] */ DWORD dwFlag,
  570.             /* [in] */ WCHAR *lpFallBack) = 0;
  571.         
  572.         virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicodeEx( 
  573.             /* [out][in] */ DWORD *pdwMode,
  574.             /* [in] */ DWORD dwEncoding,
  575.             /* [in] */ WCHAR *pSrcStr,
  576.             /* [out][in] */ UINT *pcSrcSize,
  577.             /* [in] */ CHAR *pDstStr,
  578.             /* [out][in] */ UINT *pcDstSize,
  579.             /* [in] */ DWORD dwFlag,
  580.             /* [in] */ WCHAR *lpFallBack) = 0;
  581.         
  582.         virtual HRESULT STDMETHODCALLTYPE DetectCodepageInIStream( 
  583.             /* [in] */ DWORD dwFlag,
  584.             /* [in] */ DWORD dwPrefWinCodePage,
  585.             /* [in] */ IStream *pstmIn,
  586.             /* [out][in] */ DetectEncodingInfo *lpEncoding,
  587.             /* [out][in] */ INT *pnScores) = 0;
  588.         
  589.         virtual HRESULT STDMETHODCALLTYPE DetectInputCodepage( 
  590.             /* [in] */ DWORD dwFlag,
  591.             /* [in] */ DWORD dwPrefWinCodePage,
  592.             /* [in] */ CHAR *pSrcStr,
  593.             /* [out][in] */ INT *pcSrcSize,
  594.             /* [out][in] */ DetectEncodingInfo *lpEncoding,
  595.             /* [out][in] */ INT *pnScores) = 0;
  596.         
  597.         virtual HRESULT STDMETHODCALLTYPE ValidateCodePage( 
  598.             /* [in] */ UINT uiCodePage,
  599.             /* [in] */ HWND hwnd) = 0;
  600.         
  601.         virtual HRESULT STDMETHODCALLTYPE GetCodePageDescription( 
  602.             /* [in] */ UINT uiCodePage,
  603.             /* [in] */ LCID lcid,
  604.             /* [out][in] */ LPWSTR lpWideCharStr,
  605.             /* [in] */ int cchWideChar) = 0;
  606.         
  607.         virtual HRESULT STDMETHODCALLTYPE IsCodePageInstallable( 
  608.             /* [in] */ UINT uiCodePage) = 0;
  609.         
  610.         virtual HRESULT STDMETHODCALLTYPE SetMimeDBSource( 
  611.             /* [in] */ MIMECONTF dwSource) = 0;
  612.         
  613.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfScripts( 
  614.             /* [out] */ UINT *pnScripts) = 0;
  615.         
  616.         virtual HRESULT STDMETHODCALLTYPE EnumScripts( 
  617.             /* [in] */ DWORD dwFlags,
  618.             /* [in] */ LANGID LangId,
  619.             /* [out] */ IEnumScript **ppEnumScript) = 0;
  620.         
  621.         virtual HRESULT STDMETHODCALLTYPE ValidateCodePageEx( 
  622.             /* [in] */ UINT uiCodePage,
  623.             /* [in] */ HWND hwnd,
  624.             /* [in] */ DWORD dwfIODControl) = 0;
  625.         
  626.     };
  627.     
  628. #else  /* C style interface */
  629.     typedef struct IMultiLanguage2Vtbl
  630.     {
  631.         BEGIN_INTERFACE
  632.         
  633.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  634.             IMultiLanguage2 * This,
  635.             /* [in] */ REFIID riid,
  636.             /* [iid_is][out] */ void **ppvObject);
  637.         
  638.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  639.             IMultiLanguage2 * This);
  640.         
  641.         ULONG ( STDMETHODCALLTYPE *Release )( 
  642.             IMultiLanguage2 * This);
  643.         
  644.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )( 
  645.             IMultiLanguage2 * This,
  646.             /* [out] */ UINT *pcCodePage);
  647.         
  648.         HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )( 
  649.             IMultiLanguage2 * This,
  650.             /* [in] */ UINT uiCodePage,
  651.             /* [in] */ LANGID LangId,
  652.             /* [out] */ PMIMECPINFO pCodePageInfo);
  653.         
  654.         HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )( 
  655.             IMultiLanguage2 * This,
  656.             /* [in] */ UINT uiCodePage,
  657.             /* [out] */ UINT *puiFamilyCodePage);
  658.         
  659.         HRESULT ( STDMETHODCALLTYPE *EnumCodePages )( 
  660.             IMultiLanguage2 * This,
  661.             /* [in] */ DWORD grfFlags,
  662.             /* [in] */ LANGID LangId,
  663.             /* [out] */ IEnumCodePage **ppEnumCodePage);
  664.         
  665.         HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )( 
  666.             IMultiLanguage2 * This,
  667.             /* [in] */ BSTR Charset,
  668.             /* [out] */ PMIMECSETINFO pCharsetInfo);
  669.         
  670.         HRESULT ( STDMETHODCALLTYPE *IsConvertible )( 
  671.             IMultiLanguage2 * This,
  672.             /* [in] */ DWORD dwSrcEncoding,
  673.             /* [in] */ DWORD dwDstEncoding);
  674.         
  675.         HRESULT ( STDMETHODCALLTYPE *ConvertString )( 
  676.             IMultiLanguage2 * This,
  677.             /* [out][in] */ DWORD *pdwMode,
  678.             /* [in] */ DWORD dwSrcEncoding,
  679.             /* [in] */ DWORD dwDstEncoding,
  680.             /* [in] */ BYTE *pSrcStr,
  681.             /* [out][in] */ UINT *pcSrcSize,
  682.             /* [in] */ BYTE *pDstStr,
  683.             /* [out][in] */ UINT *pcDstSize);
  684.         
  685.         HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )( 
  686.             IMultiLanguage2 * This,
  687.             /* [out][in] */ DWORD *pdwMode,
  688.             /* [in] */ DWORD dwEncoding,
  689.             /* [in] */ CHAR *pSrcStr,
  690.             /* [out][in] */ UINT *pcSrcSize,
  691.             /* [in] */ WCHAR *pDstStr,
  692.             /* [out][in] */ UINT *pcDstSize);
  693.         
  694.         HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )( 
  695.             IMultiLanguage2 * This,
  696.             /* [out][in] */ DWORD *pdwMode,
  697.             /* [in] */ DWORD dwEncoding,
  698.             /* [in] */ WCHAR *pSrcStr,
  699.             /* [out][in] */ UINT *pcSrcSize,
  700.             /* [in] */ CHAR *pDstStr,
  701.             /* [out][in] */ UINT *pcDstSize);
  702.         
  703.         HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )( 
  704.             IMultiLanguage2 * This);
  705.         
  706.         HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )( 
  707.             IMultiLanguage2 * This,
  708.             /* [in] */ LCID Locale,
  709.             /* [out] */ BSTR *pbstrRfc1766);
  710.         
  711.         HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )( 
  712.             IMultiLanguage2 * This,
  713.             /* [out] */ LCID *pLocale,
  714.             /* [in] */ BSTR bstrRfc1766);
  715.         
  716.         HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )( 
  717.             IMultiLanguage2 * This,
  718.             /* [in] */ LANGID LangId,
  719.             /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  720.         
  721.         HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )( 
  722.             IMultiLanguage2 * This,
  723.             /* [in] */ LCID Locale,
  724.             /* [in] */ LANGID LangId,
  725.             /* [out] */ PRFC1766INFO pRfc1766Info);
  726.         
  727.         HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )( 
  728.             IMultiLanguage2 * This,
  729.             /* [in] */ UINT uiSrcCodePage,
  730.             /* [in] */ UINT uiDstCodePage,
  731.             /* [in] */ DWORD dwProperty,
  732.             /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  733.         
  734.         HRESULT ( STDMETHODCALLTYPE *ConvertStringInIStream )( 
  735.             IMultiLanguage2 * This,
  736.             /* [out][in] */ DWORD *pdwMode,
  737.             /* [in] */ DWORD dwFlag,
  738.             /* [in] */ WCHAR *lpFallBack,
  739.             /* [in] */ DWORD dwSrcEncoding,
  740.             /* [in] */ DWORD dwDstEncoding,
  741.             /* [in] */ IStream *pstmIn,
  742.             /* [in] */ IStream *pstmOut);
  743.         
  744.         HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicodeEx )( 
  745.             IMultiLanguage2 * This,
  746.             /* [out][in] */ DWORD *pdwMode,
  747.             /* [in] */ DWORD dwEncoding,
  748.             /* [in] */ CHAR *pSrcStr,
  749.             /* [out][in] */ UINT *pcSrcSize,
  750.             /* [in] */ WCHAR *pDstStr,
  751.             /* [out][in] */ UINT *pcDstSize,
  752.             /* [in] */ DWORD dwFlag,
  753.             /* [in] */ WCHAR *lpFallBack);
  754.         
  755.         HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicodeEx )( 
  756.             IMultiLanguage2 * This,
  757.             /* [out][in] */ DWORD *pdwMode,
  758.             /* [in] */ DWORD dwEncoding,
  759.             /* [in] */ WCHAR *pSrcStr,
  760.             /* [out][in] */ UINT *pcSrcSize,
  761.             /* [in] */ CHAR *pDstStr,
  762.             /* [out][in] */ UINT *pcDstSize,
  763.             /* [in] */ DWORD dwFlag,
  764.             /* [in] */ WCHAR *lpFallBack);
  765.         
  766.         HRESULT ( STDMETHODCALLTYPE *DetectCodepageInIStream )( 
  767.             IMultiLanguage2 * This,
  768.             /* [in] */ DWORD dwFlag,
  769.             /* [in] */ DWORD dwPrefWinCodePage,
  770.             /* [in] */ IStream *pstmIn,
  771.             /* [out][in] */ DetectEncodingInfo *lpEncoding,
  772.             /* [out][in] */ INT *pnScores);
  773.         
  774.         HRESULT ( STDMETHODCALLTYPE *DetectInputCodepage )( 
  775.             IMultiLanguage2 * This,
  776.             /* [in] */ DWORD dwFlag,
  777.             /* [in] */ DWORD dwPrefWinCodePage,
  778.             /* [in] */ CHAR *pSrcStr,
  779.             /* [out][in] */ INT *pcSrcSize,
  780.             /* [out][in] */ DetectEncodingInfo *lpEncoding,
  781.             /* [out][in] */ INT *pnScores);
  782.         
  783.         HRESULT ( STDMETHODCALLTYPE *ValidateCodePage )( 
  784.             IMultiLanguage2 * This,
  785.             /* [in] */ UINT uiCodePage,
  786.             /* [in] */ HWND hwnd);
  787.         
  788.         HRESULT ( STDMETHODCALLTYPE *GetCodePageDescription )( 
  789.             IMultiLanguage2 * This,
  790.             /* [in] */ UINT uiCodePage,
  791.             /* [in] */ LCID lcid,
  792.             /* [out][in] */ LPWSTR lpWideCharStr,
  793.             /* [in] */ int cchWideChar);
  794.         
  795.         HRESULT ( STDMETHODCALLTYPE *IsCodePageInstallable )( 
  796.             IMultiLanguage2 * This,
  797.             /* [in] */ UINT uiCodePage);
  798.         
  799.         HRESULT ( STDMETHODCALLTYPE *SetMimeDBSource )( 
  800.             IMultiLanguage2 * This,
  801.             /* [in] */ MIMECONTF dwSource);
  802.         
  803.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfScripts )( 
  804.             IMultiLanguage2 * This,
  805.             /* [out] */ UINT *pnScripts);
  806.         
  807.         HRESULT ( STDMETHODCALLTYPE *EnumScripts )( 
  808.             IMultiLanguage2 * This,
  809.             /* [in] */ DWORD dwFlags,
  810.             /* [in] */ LANGID LangId,
  811.             /* [out] */ IEnumScript **ppEnumScript);
  812.         
  813.         HRESULT ( STDMETHODCALLTYPE *ValidateCodePageEx )( 
  814.             IMultiLanguage2 * This,
  815.             /* [in] */ UINT uiCodePage,
  816.             /* [in] */ HWND hwnd,
  817.             /* [in] */ DWORD dwfIODControl);
  818.         
  819.         END_INTERFACE
  820.     } IMultiLanguage2Vtbl;
  821.     interface IMultiLanguage2
  822.     {
  823.         CONST_VTBL struct IMultiLanguage2Vtbl *lpVtbl;
  824.     };
  825.     
  826. #ifdef COBJMACROS
  827. #define IMultiLanguage2_QueryInterface(This,riid,ppvObject)
  828.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  829. #define IMultiLanguage2_AddRef(This)
  830.     (This)->lpVtbl -> AddRef(This)
  831. #define IMultiLanguage2_Release(This)
  832.     (This)->lpVtbl -> Release(This)
  833. #define IMultiLanguage2_GetNumberOfCodePageInfo(This,pcCodePage)
  834.     (This)->lpVtbl -> GetNumberOfCodePageInfo(This,pcCodePage)
  835. #define IMultiLanguage2_GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo)
  836.     (This)->lpVtbl -> GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo)
  837. #define IMultiLanguage2_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  838.     (This)->lpVtbl -> GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  839. #define IMultiLanguage2_EnumCodePages(This,grfFlags,LangId,ppEnumCodePage)
  840.     (This)->lpVtbl -> EnumCodePages(This,grfFlags,LangId,ppEnumCodePage)
  841. #define IMultiLanguage2_GetCharsetInfo(This,Charset,pCharsetInfo)
  842.     (This)->lpVtbl -> GetCharsetInfo(This,Charset,pCharsetInfo)
  843. #define IMultiLanguage2_IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  844.     (This)->lpVtbl -> IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  845. #define IMultiLanguage2_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  846.     (This)->lpVtbl -> ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  847. #define IMultiLanguage2_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  848.     (This)->lpVtbl -> ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  849. #define IMultiLanguage2_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  850.     (This)->lpVtbl -> ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  851. #define IMultiLanguage2_ConvertStringReset(This)
  852.     (This)->lpVtbl -> ConvertStringReset(This)
  853. #define IMultiLanguage2_GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  854.     (This)->lpVtbl -> GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  855. #define IMultiLanguage2_GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  856.     (This)->lpVtbl -> GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  857. #define IMultiLanguage2_EnumRfc1766(This,LangId,ppEnumRfc1766)
  858.     (This)->lpVtbl -> EnumRfc1766(This,LangId,ppEnumRfc1766)
  859. #define IMultiLanguage2_GetRfc1766Info(This,Locale,LangId,pRfc1766Info)
  860.     (This)->lpVtbl -> GetRfc1766Info(This,Locale,LangId,pRfc1766Info)
  861. #define IMultiLanguage2_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  862.     (This)->lpVtbl -> CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  863. #define IMultiLanguage2_ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut)
  864.     (This)->lpVtbl -> ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut)
  865. #define IMultiLanguage2_ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  866.     (This)->lpVtbl -> ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  867. #define IMultiLanguage2_ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  868.     (This)->lpVtbl -> ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  869. #define IMultiLanguage2_DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores)
  870.     (This)->lpVtbl -> DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores)
  871. #define IMultiLanguage2_DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores)
  872.     (This)->lpVtbl -> DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores)
  873. #define IMultiLanguage2_ValidateCodePage(This,uiCodePage,hwnd)
  874.     (This)->lpVtbl -> ValidateCodePage(This,uiCodePage,hwnd)
  875. #define IMultiLanguage2_GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar)
  876.     (This)->lpVtbl -> GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar)
  877. #define IMultiLanguage2_IsCodePageInstallable(This,uiCodePage)
  878.     (This)->lpVtbl -> IsCodePageInstallable(This,uiCodePage)
  879. #define IMultiLanguage2_SetMimeDBSource(This,dwSource)
  880.     (This)->lpVtbl -> SetMimeDBSource(This,dwSource)
  881. #define IMultiLanguage2_GetNumberOfScripts(This,pnScripts)
  882.     (This)->lpVtbl -> GetNumberOfScripts(This,pnScripts)
  883. #define IMultiLanguage2_EnumScripts(This,dwFlags,LangId,ppEnumScript)
  884.     (This)->lpVtbl -> EnumScripts(This,dwFlags,LangId,ppEnumScript)
  885. #define IMultiLanguage2_ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl)
  886.     (This)->lpVtbl -> ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl)
  887. #endif /* COBJMACROS */
  888. #endif  /* C style interface */
  889. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetNumberOfCodePageInfo_Proxy( 
  890.     IMultiLanguage2 * This,
  891.     /* [out] */ UINT *pcCodePage);
  892. void __RPC_STUB IMultiLanguage2_GetNumberOfCodePageInfo_Stub(
  893.     IRpcStubBuffer *This,
  894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  895.     PRPC_MESSAGE _pRpcMessage,
  896.     DWORD *_pdwStubPhase);
  897. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetCodePageInfo_Proxy( 
  898.     IMultiLanguage2 * This,
  899.     /* [in] */ UINT uiCodePage,
  900.     /* [in] */ LANGID LangId,
  901.     /* [out] */ PMIMECPINFO pCodePageInfo);
  902. void __RPC_STUB IMultiLanguage2_GetCodePageInfo_Stub(
  903.     IRpcStubBuffer *This,
  904.     IRpcChannelBuffer *_pRpcChannelBuffer,
  905.     PRPC_MESSAGE _pRpcMessage,
  906.     DWORD *_pdwStubPhase);
  907. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetFamilyCodePage_Proxy( 
  908.     IMultiLanguage2 * This,
  909.     /* [in] */ UINT uiCodePage,
  910.     /* [out] */ UINT *puiFamilyCodePage);
  911. void __RPC_STUB IMultiLanguage2_GetFamilyCodePage_Stub(
  912.     IRpcStubBuffer *This,
  913.     IRpcChannelBuffer *_pRpcChannelBuffer,
  914.     PRPC_MESSAGE _pRpcMessage,
  915.     DWORD *_pdwStubPhase);
  916. HRESULT STDMETHODCALLTYPE IMultiLanguage2_EnumCodePages_Proxy( 
  917.     IMultiLanguage2 * This,
  918.     /* [in] */ DWORD grfFlags,
  919.     /* [in] */ LANGID LangId,
  920.     /* [out] */ IEnumCodePage **ppEnumCodePage);
  921. void __RPC_STUB IMultiLanguage2_EnumCodePages_Stub(
  922.     IRpcStubBuffer *This,
  923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  924.     PRPC_MESSAGE _pRpcMessage,
  925.     DWORD *_pdwStubPhase);
  926. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetCharsetInfo_Proxy( 
  927.     IMultiLanguage2 * This,
  928.     /* [in] */ BSTR Charset,
  929.     /* [out] */ PMIMECSETINFO pCharsetInfo);
  930. void __RPC_STUB IMultiLanguage2_GetCharsetInfo_Stub(
  931.     IRpcStubBuffer *This,
  932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  933.     PRPC_MESSAGE _pRpcMessage,
  934.     DWORD *_pdwStubPhase);
  935. HRESULT STDMETHODCALLTYPE IMultiLanguage2_IsConvertible_Proxy( 
  936.     IMultiLanguage2 * This,
  937.     /* [in] */ DWORD dwSrcEncoding,
  938.     /* [in] */ DWORD dwDstEncoding);
  939. void __RPC_STUB IMultiLanguage2_IsConvertible_Stub(
  940.     IRpcStubBuffer *This,
  941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  942.     PRPC_MESSAGE _pRpcMessage,
  943.     DWORD *_pdwStubPhase);
  944. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertString_Proxy( 
  945.     IMultiLanguage2 * This,
  946.     /* [out][in] */ DWORD *pdwMode,
  947.     /* [in] */ DWORD dwSrcEncoding,
  948.     /* [in] */ DWORD dwDstEncoding,
  949.     /* [in] */ BYTE *pSrcStr,
  950.     /* [out][in] */ UINT *pcSrcSize,
  951.     /* [in] */ BYTE *pDstStr,
  952.     /* [out][in] */ UINT *pcDstSize);
  953. void __RPC_STUB IMultiLanguage2_ConvertString_Stub(
  954.     IRpcStubBuffer *This,
  955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  956.     PRPC_MESSAGE _pRpcMessage,
  957.     DWORD *_pdwStubPhase);
  958. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringToUnicode_Proxy( 
  959.     IMultiLanguage2 * This,
  960.     /* [out][in] */ DWORD *pdwMode,
  961.     /* [in] */ DWORD dwEncoding,
  962.     /* [in] */ CHAR *pSrcStr,
  963.     /* [out][in] */ UINT *pcSrcSize,
  964.     /* [in] */ WCHAR *pDstStr,
  965.     /* [out][in] */ UINT *pcDstSize);
  966. void __RPC_STUB IMultiLanguage2_ConvertStringToUnicode_Stub(
  967.     IRpcStubBuffer *This,
  968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  969.     PRPC_MESSAGE _pRpcMessage,
  970.     DWORD *_pdwStubPhase);
  971. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringFromUnicode_Proxy( 
  972.     IMultiLanguage2 * This,
  973.     /* [out][in] */ DWORD *pdwMode,
  974.     /* [in] */ DWORD dwEncoding,
  975.     /* [in] */ WCHAR *pSrcStr,
  976.     /* [out][in] */ UINT *pcSrcSize,
  977.     /* [in] */ CHAR *pDstStr,
  978.     /* [out][in] */ UINT *pcDstSize);
  979. void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicode_Stub(
  980.     IRpcStubBuffer *This,
  981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  982.     PRPC_MESSAGE _pRpcMessage,
  983.     DWORD *_pdwStubPhase);
  984. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringReset_Proxy( 
  985.     IMultiLanguage2 * This);
  986. void __RPC_STUB IMultiLanguage2_ConvertStringReset_Stub(
  987.     IRpcStubBuffer *This,
  988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  989.     PRPC_MESSAGE _pRpcMessage,
  990.     DWORD *_pdwStubPhase);
  991. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetRfc1766FromLcid_Proxy( 
  992.     IMultiLanguage2 * This,
  993.     /* [in] */ LCID Locale,
  994.     /* [out] */ BSTR *pbstrRfc1766);
  995. void __RPC_STUB IMultiLanguage2_GetRfc1766FromLcid_Stub(
  996.     IRpcStubBuffer *This,
  997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  998.     PRPC_MESSAGE _pRpcMessage,
  999.     DWORD *_pdwStubPhase);
  1000. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetLcidFromRfc1766_Proxy( 
  1001.     IMultiLanguage2 * This,
  1002.     /* [out] */ LCID *pLocale,
  1003.     /* [in] */ BSTR bstrRfc1766);
  1004. void __RPC_STUB IMultiLanguage2_GetLcidFromRfc1766_Stub(
  1005.     IRpcStubBuffer *This,
  1006.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1007.     PRPC_MESSAGE _pRpcMessage,
  1008.     DWORD *_pdwStubPhase);
  1009. HRESULT STDMETHODCALLTYPE IMultiLanguage2_EnumRfc1766_Proxy( 
  1010.     IMultiLanguage2 * This,
  1011.     /* [in] */ LANGID LangId,
  1012.     /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  1013. void __RPC_STUB IMultiLanguage2_EnumRfc1766_Stub(
  1014.     IRpcStubBuffer *This,
  1015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1016.     PRPC_MESSAGE _pRpcMessage,
  1017.     DWORD *_pdwStubPhase);
  1018. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetRfc1766Info_Proxy( 
  1019.     IMultiLanguage2 * This,
  1020.     /* [in] */ LCID Locale,
  1021.     /* [in] */ LANGID LangId,
  1022.     /* [out] */ PRFC1766INFO pRfc1766Info);
  1023. void __RPC_STUB IMultiLanguage2_GetRfc1766Info_Stub(
  1024.     IRpcStubBuffer *This,
  1025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1026.     PRPC_MESSAGE _pRpcMessage,
  1027.     DWORD *_pdwStubPhase);
  1028. HRESULT STDMETHODCALLTYPE IMultiLanguage2_CreateConvertCharset_Proxy( 
  1029.     IMultiLanguage2 * This,
  1030.     /* [in] */ UINT uiSrcCodePage,
  1031.     /* [in] */ UINT uiDstCodePage,
  1032.     /* [in] */ DWORD dwProperty,
  1033.     /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  1034. void __RPC_STUB IMultiLanguage2_CreateConvertCharset_Stub(
  1035.     IRpcStubBuffer *This,
  1036.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1037.     PRPC_MESSAGE _pRpcMessage,
  1038.     DWORD *_pdwStubPhase);
  1039. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringInIStream_Proxy( 
  1040.     IMultiLanguage2 * This,
  1041.     /* [out][in] */ DWORD *pdwMode,
  1042.     /* [in] */ DWORD dwFlag,
  1043.     /* [in] */ WCHAR *lpFallBack,
  1044.     /* [in] */ DWORD dwSrcEncoding,
  1045.     /* [in] */ DWORD dwDstEncoding,
  1046.     /* [in] */ IStream *pstmIn,
  1047.     /* [in] */ IStream *pstmOut);
  1048. void __RPC_STUB IMultiLanguage2_ConvertStringInIStream_Stub(
  1049.     IRpcStubBuffer *This,
  1050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1051.     PRPC_MESSAGE _pRpcMessage,
  1052.     DWORD *_pdwStubPhase);
  1053. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringToUnicodeEx_Proxy( 
  1054.     IMultiLanguage2 * This,
  1055.     /* [out][in] */ DWORD *pdwMode,
  1056.     /* [in] */ DWORD dwEncoding,
  1057.     /* [in] */ CHAR *pSrcStr,
  1058.     /* [out][in] */ UINT *pcSrcSize,
  1059.     /* [in] */ WCHAR *pDstStr,
  1060.     /* [out][in] */ UINT *pcDstSize,
  1061.     /* [in] */ DWORD dwFlag,
  1062.     /* [in] */ WCHAR *lpFallBack);
  1063. void __RPC_STUB IMultiLanguage2_ConvertStringToUnicodeEx_Stub(
  1064.     IRpcStubBuffer *This,
  1065.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1066.     PRPC_MESSAGE _pRpcMessage,
  1067.     DWORD *_pdwStubPhase);
  1068. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ConvertStringFromUnicodeEx_Proxy( 
  1069.     IMultiLanguage2 * This,
  1070.     /* [out][in] */ DWORD *pdwMode,
  1071.     /* [in] */ DWORD dwEncoding,
  1072.     /* [in] */ WCHAR *pSrcStr,
  1073.     /* [out][in] */ UINT *pcSrcSize,
  1074.     /* [in] */ CHAR *pDstStr,
  1075.     /* [out][in] */ UINT *pcDstSize,
  1076.     /* [in] */ DWORD dwFlag,
  1077.     /* [in] */ WCHAR *lpFallBack);
  1078. void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicodeEx_Stub(
  1079.     IRpcStubBuffer *This,
  1080.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1081.     PRPC_MESSAGE _pRpcMessage,
  1082.     DWORD *_pdwStubPhase);
  1083. HRESULT STDMETHODCALLTYPE IMultiLanguage2_DetectCodepageInIStream_Proxy( 
  1084.     IMultiLanguage2 * This,
  1085.     /* [in] */ DWORD dwFlag,
  1086.     /* [in] */ DWORD dwPrefWinCodePage,
  1087.     /* [in] */ IStream *pstmIn,
  1088.     /* [out][in] */ DetectEncodingInfo *lpEncoding,
  1089.     /* [out][in] */ INT *pnScores);
  1090. void __RPC_STUB IMultiLanguage2_DetectCodepageInIStream_Stub(
  1091.     IRpcStubBuffer *This,
  1092.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1093.     PRPC_MESSAGE _pRpcMessage,
  1094.     DWORD *_pdwStubPhase);
  1095. HRESULT STDMETHODCALLTYPE IMultiLanguage2_DetectInputCodepage_Proxy( 
  1096.     IMultiLanguage2 * This,
  1097.     /* [in] */ DWORD dwFlag,
  1098.     /* [in] */ DWORD dwPrefWinCodePage,
  1099.     /* [in] */ CHAR *pSrcStr,
  1100.     /* [out][in] */ INT *pcSrcSize,
  1101.     /* [out][in] */ DetectEncodingInfo *lpEncoding,
  1102.     /* [out][in] */ INT *pnScores);
  1103. void __RPC_STUB IMultiLanguage2_DetectInputCodepage_Stub(
  1104.     IRpcStubBuffer *This,
  1105.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1106.     PRPC_MESSAGE _pRpcMessage,
  1107.     DWORD *_pdwStubPhase);
  1108. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ValidateCodePage_Proxy( 
  1109.     IMultiLanguage2 * This,
  1110.     /* [in] */ UINT uiCodePage,
  1111.     /* [in] */ HWND hwnd);
  1112. void __RPC_STUB IMultiLanguage2_ValidateCodePage_Stub(
  1113.     IRpcStubBuffer *This,
  1114.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1115.     PRPC_MESSAGE _pRpcMessage,
  1116.     DWORD *_pdwStubPhase);
  1117. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetCodePageDescription_Proxy( 
  1118.     IMultiLanguage2 * This,
  1119.     /* [in] */ UINT uiCodePage,
  1120.     /* [in] */ LCID lcid,
  1121.     /* [out][in] */ LPWSTR lpWideCharStr,
  1122.     /* [in] */ int cchWideChar);
  1123. void __RPC_STUB IMultiLanguage2_GetCodePageDescription_Stub(
  1124.     IRpcStubBuffer *This,
  1125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1126.     PRPC_MESSAGE _pRpcMessage,
  1127.     DWORD *_pdwStubPhase);
  1128. HRESULT STDMETHODCALLTYPE IMultiLanguage2_IsCodePageInstallable_Proxy( 
  1129.     IMultiLanguage2 * This,
  1130.     /* [in] */ UINT uiCodePage);
  1131. void __RPC_STUB IMultiLanguage2_IsCodePageInstallable_Stub(
  1132.     IRpcStubBuffer *This,
  1133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1134.     PRPC_MESSAGE _pRpcMessage,
  1135.     DWORD *_pdwStubPhase);
  1136. HRESULT STDMETHODCALLTYPE IMultiLanguage2_SetMimeDBSource_Proxy( 
  1137.     IMultiLanguage2 * This,
  1138.     /* [in] */ MIMECONTF dwSource);
  1139. void __RPC_STUB IMultiLanguage2_SetMimeDBSource_Stub(
  1140.     IRpcStubBuffer *This,
  1141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1142.     PRPC_MESSAGE _pRpcMessage,
  1143.     DWORD *_pdwStubPhase);
  1144. HRESULT STDMETHODCALLTYPE IMultiLanguage2_GetNumberOfScripts_Proxy( 
  1145.     IMultiLanguage2 * This,
  1146.     /* [out] */ UINT *pnScripts);
  1147. void __RPC_STUB IMultiLanguage2_GetNumberOfScripts_Stub(
  1148.     IRpcStubBuffer *This,
  1149.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1150.     PRPC_MESSAGE _pRpcMessage,
  1151.     DWORD *_pdwStubPhase);
  1152. HRESULT STDMETHODCALLTYPE IMultiLanguage2_EnumScripts_Proxy( 
  1153.     IMultiLanguage2 * This,
  1154.     /* [in] */ DWORD dwFlags,
  1155.     /* [in] */ LANGID LangId,
  1156.     /* [out] */ IEnumScript **ppEnumScript);
  1157. void __RPC_STUB IMultiLanguage2_EnumScripts_Stub(
  1158.     IRpcStubBuffer *This,
  1159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1160.     PRPC_MESSAGE _pRpcMessage,
  1161.     DWORD *_pdwStubPhase);
  1162. HRESULT STDMETHODCALLTYPE IMultiLanguage2_ValidateCodePageEx_Proxy( 
  1163.     IMultiLanguage2 * This,
  1164.     /* [in] */ UINT uiCodePage,
  1165.     /* [in] */ HWND hwnd,
  1166.     /* [in] */ DWORD dwfIODControl);
  1167. void __RPC_STUB IMultiLanguage2_ValidateCodePageEx_Stub(
  1168.     IRpcStubBuffer *This,
  1169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1170.     PRPC_MESSAGE _pRpcMessage,
  1171.     DWORD *_pdwStubPhase);
  1172. #endif  /* __IMultiLanguage2_INTERFACE_DEFINED__ */
  1173. #ifndef __IMLangCodePages_INTERFACE_DEFINED__
  1174. #define __IMLangCodePages_INTERFACE_DEFINED__
  1175. /* interface IMLangCodePages */
  1176. /* [object][unique][helpstring][uuid] */ 
  1177. typedef /* [unique] */ IMLangCodePages *PMLANGCODEPAGES;
  1178. EXTERN_C const IID IID_IMLangCodePages;
  1179. #if defined(__cplusplus) && !defined(CINTERFACE)
  1180.     
  1181.     MIDL_INTERFACE("359F3443-BD4A-11D0-B188-00AA0038C969")
  1182.     IMLangCodePages : public IUnknown
  1183.     {
  1184.     public:
  1185.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCharCodePages( 
  1186.             /* [in] */ WCHAR chSrc,
  1187.             /* [out] */ DWORD *pdwCodePages) = 0;
  1188.         
  1189.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStrCodePages( 
  1190.             /* [size_is][in] */ const WCHAR *pszSrc,
  1191.             /* [in] */ long cchSrc,
  1192.             /* [in] */ DWORD dwPriorityCodePages,
  1193.             /* [out] */ DWORD *pdwCodePages,
  1194.             /* [out] */ long *pcchCodePages) = 0;
  1195.         
  1196.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePageToCodePages( 
  1197.             /* [in] */ UINT uCodePage,
  1198.             /* [out] */ DWORD *pdwCodePages) = 0;
  1199.         
  1200.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePagesToCodePage( 
  1201.             /* [in] */ DWORD dwCodePages,
  1202.             /* [in] */ UINT uDefaultCodePage,
  1203.             /* [out] */ UINT *puCodePage) = 0;
  1204.         
  1205.     };
  1206.     
  1207. #else  /* C style interface */
  1208.     typedef struct IMLangCodePagesVtbl
  1209.     {
  1210.         BEGIN_INTERFACE
  1211.         
  1212.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1213.             IMLangCodePages * This,
  1214.             /* [in] */ REFIID riid,
  1215.             /* [iid_is][out] */ void **ppvObject);
  1216.         
  1217.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1218.             IMLangCodePages * This);
  1219.         
  1220.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1221.             IMLangCodePages * This);
  1222.         
  1223.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )( 
  1224.             IMLangCodePages * This,
  1225.             /* [in] */ WCHAR chSrc,
  1226.             /* [out] */ DWORD *pdwCodePages);
  1227.         
  1228.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )( 
  1229.             IMLangCodePages * This,
  1230.             /* [size_is][in] */ const WCHAR *pszSrc,
  1231.             /* [in] */ long cchSrc,
  1232.             /* [in] */ DWORD dwPriorityCodePages,
  1233.             /* [out] */ DWORD *pdwCodePages,
  1234.             /* [out] */ long *pcchCodePages);
  1235.         
  1236.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )( 
  1237.             IMLangCodePages * This,
  1238.             /* [in] */ UINT uCodePage,
  1239.             /* [out] */ DWORD *pdwCodePages);
  1240.         
  1241.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )( 
  1242.             IMLangCodePages * This,
  1243.             /* [in] */ DWORD dwCodePages,
  1244.             /* [in] */ UINT uDefaultCodePage,
  1245.             /* [out] */ UINT *puCodePage);
  1246.         
  1247.         END_INTERFACE
  1248.     } IMLangCodePagesVtbl;
  1249.     interface IMLangCodePages
  1250.     {
  1251.         CONST_VTBL struct IMLangCodePagesVtbl *lpVtbl;
  1252.     };
  1253.     
  1254. #ifdef COBJMACROS
  1255. #define IMLangCodePages_QueryInterface(This,riid,ppvObject)
  1256.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1257. #define IMLangCodePages_AddRef(This)
  1258.     (This)->lpVtbl -> AddRef(This)
  1259. #define IMLangCodePages_Release(This)
  1260.     (This)->lpVtbl -> Release(This)
  1261. #define IMLangCodePages_GetCharCodePages(This,chSrc,pdwCodePages)
  1262.     (This)->lpVtbl -> GetCharCodePages(This,chSrc,pdwCodePages)
  1263. #define IMLangCodePages_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  1264.     (This)->lpVtbl -> GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  1265. #define IMLangCodePages_CodePageToCodePages(This,uCodePage,pdwCodePages)
  1266.     (This)->lpVtbl -> CodePageToCodePages(This,uCodePage,pdwCodePages)
  1267. #define IMLangCodePages_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  1268.     (This)->lpVtbl -> CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  1269. #endif /* COBJMACROS */
  1270. #endif  /* C style interface */
  1271. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangCodePages_GetCharCodePages_Proxy( 
  1272.     IMLangCodePages * This,
  1273.     /* [in] */ WCHAR chSrc,
  1274.     /* [out] */ DWORD *pdwCodePages);
  1275. void __RPC_STUB IMLangCodePages_GetCharCodePages_Stub(
  1276.     IRpcStubBuffer *This,
  1277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1278.     PRPC_MESSAGE _pRpcMessage,
  1279.     DWORD *_pdwStubPhase);
  1280. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangCodePages_GetStrCodePages_Proxy( 
  1281.     IMLangCodePages * This,
  1282.     /* [size_is][in] */ const WCHAR *pszSrc,
  1283.     /* [in] */ long cchSrc,
  1284.     /* [in] */ DWORD dwPriorityCodePages,
  1285.     /* [out] */ DWORD *pdwCodePages,
  1286.     /* [out] */ long *pcchCodePages);
  1287. void __RPC_STUB IMLangCodePages_GetStrCodePages_Stub(
  1288.     IRpcStubBuffer *This,
  1289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1290.     PRPC_MESSAGE _pRpcMessage,
  1291.     DWORD *_pdwStubPhase);
  1292. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangCodePages_CodePageToCodePages_Proxy( 
  1293.     IMLangCodePages * This,
  1294.     /* [in] */ UINT uCodePage,
  1295.     /* [out] */ DWORD *pdwCodePages);
  1296. void __RPC_STUB IMLangCodePages_CodePageToCodePages_Stub(
  1297.     IRpcStubBuffer *This,
  1298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1299.     PRPC_MESSAGE _pRpcMessage,
  1300.     DWORD *_pdwStubPhase);
  1301. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangCodePages_CodePagesToCodePage_Proxy( 
  1302.     IMLangCodePages * This,
  1303.     /* [in] */ DWORD dwCodePages,
  1304.     /* [in] */ UINT uDefaultCodePage,
  1305.     /* [out] */ UINT *puCodePage);
  1306. void __RPC_STUB IMLangCodePages_CodePagesToCodePage_Stub(
  1307.     IRpcStubBuffer *This,
  1308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1309.     PRPC_MESSAGE _pRpcMessage,
  1310.     DWORD *_pdwStubPhase);
  1311. #endif  /* __IMLangCodePages_INTERFACE_DEFINED__ */
  1312. #ifndef __IMLangFontLink_INTERFACE_DEFINED__
  1313. #define __IMLangFontLink_INTERFACE_DEFINED__
  1314. /* interface IMLangFontLink */
  1315. /* [object][unique][helpstring][uuid] */ 
  1316. typedef /* [unique] */ IMLangFontLink *PMLANGFONTLINK;
  1317. EXTERN_C const IID IID_IMLangFontLink;
  1318. #if defined(__cplusplus) && !defined(CINTERFACE)
  1319.     
  1320.     MIDL_INTERFACE("359F3441-BD4A-11D0-B188-00AA0038C969")
  1321.     IMLangFontLink : public IMLangCodePages
  1322.     {
  1323.     public:
  1324.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontCodePages( 
  1325.             /* [in] */ HDC hDC,
  1326.             /* [in] */ HFONT hFont,
  1327.             /* [out] */ DWORD *pdwCodePages) = 0;
  1328.         
  1329.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapFont( 
  1330.             /* [in] */ HDC hDC,
  1331.             /* [in] */ DWORD dwCodePages,
  1332.             /* [in] */ HFONT hSrcFont,
  1333.             /* [out] */ HFONT *phDestFont) = 0;
  1334.         
  1335.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReleaseFont( 
  1336.             /* [in] */ HFONT hFont) = 0;
  1337.         
  1338.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetFontMapping( void) = 0;
  1339.         
  1340.     };
  1341.     
  1342. #else  /* C style interface */
  1343.     typedef struct IMLangFontLinkVtbl
  1344.     {
  1345.         BEGIN_INTERFACE
  1346.         
  1347.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1348.             IMLangFontLink * This,
  1349.             /* [in] */ REFIID riid,
  1350.             /* [iid_is][out] */ void **ppvObject);
  1351.         
  1352.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1353.             IMLangFontLink * This);
  1354.         
  1355.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1356.             IMLangFontLink * This);
  1357.         
  1358.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )( 
  1359.             IMLangFontLink * This,
  1360.             /* [in] */ WCHAR chSrc,
  1361.             /* [out] */ DWORD *pdwCodePages);
  1362.         
  1363.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )( 
  1364.             IMLangFontLink * This,
  1365.             /* [size_is][in] */ const WCHAR *pszSrc,
  1366.             /* [in] */ long cchSrc,
  1367.             /* [in] */ DWORD dwPriorityCodePages,
  1368.             /* [out] */ DWORD *pdwCodePages,
  1369.             /* [out] */ long *pcchCodePages);
  1370.         
  1371.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )( 
  1372.             IMLangFontLink * This,
  1373.             /* [in] */ UINT uCodePage,
  1374.             /* [out] */ DWORD *pdwCodePages);
  1375.         
  1376.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )( 
  1377.             IMLangFontLink * This,
  1378.             /* [in] */ DWORD dwCodePages,
  1379.             /* [in] */ UINT uDefaultCodePage,
  1380.             /* [out] */ UINT *puCodePage);
  1381.         
  1382.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontCodePages )( 
  1383.             IMLangFontLink * This,
  1384.             /* [in] */ HDC hDC,
  1385.             /* [in] */ HFONT hFont,
  1386.             /* [out] */ DWORD *pdwCodePages);
  1387.         
  1388.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapFont )( 
  1389.             IMLangFontLink * This,
  1390.             /* [in] */ HDC hDC,
  1391.             /* [in] */ DWORD dwCodePages,
  1392.             /* [in] */ HFONT hSrcFont,
  1393.             /* [out] */ HFONT *phDestFont);
  1394.         
  1395.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReleaseFont )( 
  1396.             IMLangFontLink * This,
  1397.             /* [in] */ HFONT hFont);
  1398.         
  1399.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetFontMapping )( 
  1400.             IMLangFontLink * This);
  1401.         
  1402.         END_INTERFACE
  1403.     } IMLangFontLinkVtbl;
  1404.     interface IMLangFontLink
  1405.     {
  1406.         CONST_VTBL struct IMLangFontLinkVtbl *lpVtbl;
  1407.     };
  1408.     
  1409. #ifdef COBJMACROS
  1410. #define IMLangFontLink_QueryInterface(This,riid,ppvObject)
  1411.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1412. #define IMLangFontLink_AddRef(This)
  1413.     (This)->lpVtbl -> AddRef(This)
  1414. #define IMLangFontLink_Release(This)
  1415.     (This)->lpVtbl -> Release(This)
  1416. #define IMLangFontLink_GetCharCodePages(This,chSrc,pdwCodePages)
  1417.     (This)->lpVtbl -> GetCharCodePages(This,chSrc,pdwCodePages)
  1418. #define IMLangFontLink_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  1419.     (This)->lpVtbl -> GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  1420. #define IMLangFontLink_CodePageToCodePages(This,uCodePage,pdwCodePages)
  1421.     (This)->lpVtbl -> CodePageToCodePages(This,uCodePage,pdwCodePages)
  1422. #define IMLangFontLink_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  1423.     (This)->lpVtbl -> CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  1424. #define IMLangFontLink_GetFontCodePages(This,hDC,hFont,pdwCodePages)
  1425.     (This)->lpVtbl -> GetFontCodePages(This,hDC,hFont,pdwCodePages)
  1426. #define IMLangFontLink_MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont)
  1427.     (This)->lpVtbl -> MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont)
  1428. #define IMLangFontLink_ReleaseFont(This,hFont)
  1429.     (This)->lpVtbl -> ReleaseFont(This,hFont)
  1430. #define IMLangFontLink_ResetFontMapping(This)
  1431.     (This)->lpVtbl -> ResetFontMapping(This)
  1432. #endif /* COBJMACROS */
  1433. #endif  /* C style interface */
  1434. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink_GetFontCodePages_Proxy( 
  1435.     IMLangFontLink * This,
  1436.     /* [in] */ HDC hDC,
  1437.     /* [in] */ HFONT hFont,
  1438.     /* [out] */ DWORD *pdwCodePages);
  1439. void __RPC_STUB IMLangFontLink_GetFontCodePages_Stub(
  1440.     IRpcStubBuffer *This,
  1441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1442.     PRPC_MESSAGE _pRpcMessage,
  1443.     DWORD *_pdwStubPhase);
  1444. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink_MapFont_Proxy( 
  1445.     IMLangFontLink * This,
  1446.     /* [in] */ HDC hDC,
  1447.     /* [in] */ DWORD dwCodePages,
  1448.     /* [in] */ HFONT hSrcFont,
  1449.     /* [out] */ HFONT *phDestFont);
  1450. void __RPC_STUB IMLangFontLink_MapFont_Stub(
  1451.     IRpcStubBuffer *This,
  1452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1453.     PRPC_MESSAGE _pRpcMessage,
  1454.     DWORD *_pdwStubPhase);
  1455. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink_ReleaseFont_Proxy( 
  1456.     IMLangFontLink * This,
  1457.     /* [in] */ HFONT hFont);
  1458. void __RPC_STUB IMLangFontLink_ReleaseFont_Stub(
  1459.     IRpcStubBuffer *This,
  1460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1461.     PRPC_MESSAGE _pRpcMessage,
  1462.     DWORD *_pdwStubPhase);
  1463. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink_ResetFontMapping_Proxy( 
  1464.     IMLangFontLink * This);
  1465. void __RPC_STUB IMLangFontLink_ResetFontMapping_Stub(
  1466.     IRpcStubBuffer *This,
  1467.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1468.     PRPC_MESSAGE _pRpcMessage,
  1469.     DWORD *_pdwStubPhase);
  1470. #endif  /* __IMLangFontLink_INTERFACE_DEFINED__ */
  1471. #ifndef __IMLangFontLink2_INTERFACE_DEFINED__
  1472. #define __IMLangFontLink2_INTERFACE_DEFINED__
  1473. /* interface IMLangFontLink2 */
  1474. /* [object][unique][helpstring][uuid] */ 
  1475. typedef struct tagUNICODERANGE
  1476.     {
  1477.     WCHAR wcFrom;
  1478.     WCHAR wcTo;
  1479.     }  UNICODERANGE;
  1480. typedef /* [unique] */ IMLangFontLink2 *PMLANGFONTLINK2;
  1481. EXTERN_C const IID IID_IMLangFontLink2;
  1482. #if defined(__cplusplus) && !defined(CINTERFACE)
  1483.     
  1484.     MIDL_INTERFACE("DCCFC162-2B38-11d2-B7EC-00C04F8F5D9A")
  1485.     IMLangFontLink2 : public IMLangCodePages
  1486.     {
  1487.     public:
  1488.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontCodePages( 
  1489.             /* [in] */ HDC hDC,
  1490.             /* [in] */ HFONT hFont,
  1491.             /* [out] */ DWORD *pdwCodePages) = 0;
  1492.         
  1493.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReleaseFont( 
  1494.             /* [in] */ HFONT hFont) = 0;
  1495.         
  1496.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetFontMapping( void) = 0;
  1497.         
  1498.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapFont( 
  1499.             /* [in] */ HDC hDC,
  1500.             /* [in] */ DWORD dwCodePages,
  1501.             /* [in] */ WCHAR chSrc,
  1502.             /* [out] */ HFONT *pFont) = 0;
  1503.         
  1504.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontUnicodeRanges( 
  1505.             /* [in] */ HDC hDC,
  1506.             /* [out][in] */ UINT *puiRanges,
  1507.             /* [out] */ UNICODERANGE *pUranges) = 0;
  1508.         
  1509.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptFontInfo( 
  1510.             /* [in] */ SCRIPT_ID sid,
  1511.             /* [in] */ DWORD dwFlags,
  1512.             /* [out][in] */ UINT *puiFonts,
  1513.             /* [out] */ SCRIPTFONTINFO *pScriptFont) = 0;
  1514.         
  1515.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePageToScriptID( 
  1516.             /* [in] */ UINT uiCodePage,
  1517.             /* [out] */ SCRIPT_ID *pSid) = 0;
  1518.         
  1519.     };
  1520.     
  1521. #else  /* C style interface */
  1522.     typedef struct IMLangFontLink2Vtbl
  1523.     {
  1524.         BEGIN_INTERFACE
  1525.         
  1526.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1527.             IMLangFontLink2 * This,
  1528.             /* [in] */ REFIID riid,
  1529.             /* [iid_is][out] */ void **ppvObject);
  1530.         
  1531.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1532.             IMLangFontLink2 * This);
  1533.         
  1534.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1535.             IMLangFontLink2 * This);
  1536.         
  1537.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )( 
  1538.             IMLangFontLink2 * This,
  1539.             /* [in] */ WCHAR chSrc,
  1540.             /* [out] */ DWORD *pdwCodePages);
  1541.         
  1542.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )( 
  1543.             IMLangFontLink2 * This,
  1544.             /* [size_is][in] */ const WCHAR *pszSrc,
  1545.             /* [in] */ long cchSrc,
  1546.             /* [in] */ DWORD dwPriorityCodePages,
  1547.             /* [out] */ DWORD *pdwCodePages,
  1548.             /* [out] */ long *pcchCodePages);
  1549.         
  1550.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )( 
  1551.             IMLangFontLink2 * This,
  1552.             /* [in] */ UINT uCodePage,
  1553.             /* [out] */ DWORD *pdwCodePages);
  1554.         
  1555.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )( 
  1556.             IMLangFontLink2 * This,
  1557.             /* [in] */ DWORD dwCodePages,
  1558.             /* [in] */ UINT uDefaultCodePage,
  1559.             /* [out] */ UINT *puCodePage);
  1560.         
  1561.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontCodePages )( 
  1562.             IMLangFontLink2 * This,
  1563.             /* [in] */ HDC hDC,
  1564.             /* [in] */ HFONT hFont,
  1565.             /* [out] */ DWORD *pdwCodePages);
  1566.         
  1567.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReleaseFont )( 
  1568.             IMLangFontLink2 * This,
  1569.             /* [in] */ HFONT hFont);
  1570.         
  1571.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetFontMapping )( 
  1572.             IMLangFontLink2 * This);
  1573.         
  1574.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapFont )( 
  1575.             IMLangFontLink2 * This,
  1576.             /* [in] */ HDC hDC,
  1577.             /* [in] */ DWORD dwCodePages,
  1578.             /* [in] */ WCHAR chSrc,
  1579.             /* [out] */ HFONT *pFont);
  1580.         
  1581.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontUnicodeRanges )( 
  1582.             IMLangFontLink2 * This,
  1583.             /* [in] */ HDC hDC,
  1584.             /* [out][in] */ UINT *puiRanges,
  1585.             /* [out] */ UNICODERANGE *pUranges);
  1586.         
  1587.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptFontInfo )( 
  1588.             IMLangFontLink2 * This,
  1589.             /* [in] */ SCRIPT_ID sid,
  1590.             /* [in] */ DWORD dwFlags,
  1591.             /* [out][in] */ UINT *puiFonts,
  1592.             /* [out] */ SCRIPTFONTINFO *pScriptFont);
  1593.         
  1594.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToScriptID )( 
  1595.             IMLangFontLink2 * This,
  1596.             /* [in] */ UINT uiCodePage,
  1597.             /* [out] */ SCRIPT_ID *pSid);
  1598.         
  1599.         END_INTERFACE
  1600.     } IMLangFontLink2Vtbl;
  1601.     interface IMLangFontLink2
  1602.     {
  1603.         CONST_VTBL struct IMLangFontLink2Vtbl *lpVtbl;
  1604.     };
  1605.     
  1606. #ifdef COBJMACROS
  1607. #define IMLangFontLink2_QueryInterface(This,riid,ppvObject)
  1608.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1609. #define IMLangFontLink2_AddRef(This)
  1610.     (This)->lpVtbl -> AddRef(This)
  1611. #define IMLangFontLink2_Release(This)
  1612.     (This)->lpVtbl -> Release(This)
  1613. #define IMLangFontLink2_GetCharCodePages(This,chSrc,pdwCodePages)
  1614.     (This)->lpVtbl -> GetCharCodePages(This,chSrc,pdwCodePages)
  1615. #define IMLangFontLink2_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  1616.     (This)->lpVtbl -> GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages)
  1617. #define IMLangFontLink2_CodePageToCodePages(This,uCodePage,pdwCodePages)
  1618.     (This)->lpVtbl -> CodePageToCodePages(This,uCodePage,pdwCodePages)
  1619. #define IMLangFontLink2_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  1620.     (This)->lpVtbl -> CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage)
  1621. #define IMLangFontLink2_GetFontCodePages(This,hDC,hFont,pdwCodePages)
  1622.     (This)->lpVtbl -> GetFontCodePages(This,hDC,hFont,pdwCodePages)
  1623. #define IMLangFontLink2_ReleaseFont(This,hFont)
  1624.     (This)->lpVtbl -> ReleaseFont(This,hFont)
  1625. #define IMLangFontLink2_ResetFontMapping(This)
  1626.     (This)->lpVtbl -> ResetFontMapping(This)
  1627. #define IMLangFontLink2_MapFont(This,hDC,dwCodePages,chSrc,pFont)
  1628.     (This)->lpVtbl -> MapFont(This,hDC,dwCodePages,chSrc,pFont)
  1629. #define IMLangFontLink2_GetFontUnicodeRanges(This,hDC,puiRanges,pUranges)
  1630.     (This)->lpVtbl -> GetFontUnicodeRanges(This,hDC,puiRanges,pUranges)
  1631. #define IMLangFontLink2_GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont)
  1632.     (This)->lpVtbl -> GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont)
  1633. #define IMLangFontLink2_CodePageToScriptID(This,uiCodePage,pSid)
  1634.     (This)->lpVtbl -> CodePageToScriptID(This,uiCodePage,pSid)
  1635. #endif /* COBJMACROS */
  1636. #endif  /* C style interface */
  1637. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_GetFontCodePages_Proxy( 
  1638.     IMLangFontLink2 * This,
  1639.     /* [in] */ HDC hDC,
  1640.     /* [in] */ HFONT hFont,
  1641.     /* [out] */ DWORD *pdwCodePages);
  1642. void __RPC_STUB IMLangFontLink2_GetFontCodePages_Stub(
  1643.     IRpcStubBuffer *This,
  1644.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1645.     PRPC_MESSAGE _pRpcMessage,
  1646.     DWORD *_pdwStubPhase);
  1647. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_ReleaseFont_Proxy( 
  1648.     IMLangFontLink2 * This,
  1649.     /* [in] */ HFONT hFont);
  1650. void __RPC_STUB IMLangFontLink2_ReleaseFont_Stub(
  1651.     IRpcStubBuffer *This,
  1652.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1653.     PRPC_MESSAGE _pRpcMessage,
  1654.     DWORD *_pdwStubPhase);
  1655. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_ResetFontMapping_Proxy( 
  1656.     IMLangFontLink2 * This);
  1657. void __RPC_STUB IMLangFontLink2_ResetFontMapping_Stub(
  1658.     IRpcStubBuffer *This,
  1659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1660.     PRPC_MESSAGE _pRpcMessage,
  1661.     DWORD *_pdwStubPhase);
  1662. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_MapFont_Proxy( 
  1663.     IMLangFontLink2 * This,
  1664.     /* [in] */ HDC hDC,
  1665.     /* [in] */ DWORD dwCodePages,
  1666.     /* [in] */ WCHAR chSrc,
  1667.     /* [out] */ HFONT *pFont);
  1668. void __RPC_STUB IMLangFontLink2_MapFont_Stub(
  1669.     IRpcStubBuffer *This,
  1670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1671.     PRPC_MESSAGE _pRpcMessage,
  1672.     DWORD *_pdwStubPhase);
  1673. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_GetFontUnicodeRanges_Proxy( 
  1674.     IMLangFontLink2 * This,
  1675.     /* [in] */ HDC hDC,
  1676.     /* [out][in] */ UINT *puiRanges,
  1677.     /* [out] */ UNICODERANGE *pUranges);
  1678. void __RPC_STUB IMLangFontLink2_GetFontUnicodeRanges_Stub(
  1679.     IRpcStubBuffer *This,
  1680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1681.     PRPC_MESSAGE _pRpcMessage,
  1682.     DWORD *_pdwStubPhase);
  1683. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_GetScriptFontInfo_Proxy( 
  1684.     IMLangFontLink2 * This,
  1685.     /* [in] */ SCRIPT_ID sid,
  1686.     /* [in] */ DWORD dwFlags,
  1687.     /* [out][in] */ UINT *puiFonts,
  1688.     /* [out] */ SCRIPTFONTINFO *pScriptFont);
  1689. void __RPC_STUB IMLangFontLink2_GetScriptFontInfo_Stub(
  1690.     IRpcStubBuffer *This,
  1691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1692.     PRPC_MESSAGE _pRpcMessage,
  1693.     DWORD *_pdwStubPhase);
  1694. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMLangFontLink2_CodePageToScriptID_Proxy( 
  1695.     IMLangFontLink2 * This,
  1696.     /* [in] */ UINT uiCodePage,
  1697.     /* [out] */ SCRIPT_ID *pSid);
  1698. void __RPC_STUB IMLangFontLink2_CodePageToScriptID_Stub(
  1699.     IRpcStubBuffer *This,
  1700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1701.     PRPC_MESSAGE _pRpcMessage,
  1702.     DWORD *_pdwStubPhase);
  1703. #endif  /* __IMLangFontLink2_INTERFACE_DEFINED__ */
  1704. #ifndef __IMultiLanguage3_INTERFACE_DEFINED__
  1705. #define __IMultiLanguage3_INTERFACE_DEFINED__
  1706. /* interface IMultiLanguage3 */
  1707. /* [unique][uuid][object] */ 
  1708. typedef /* [unique] */ IMultiLanguage3 *LPMULTILANGUAGE3;
  1709. EXTERN_C const IID IID_IMultiLanguage3;
  1710. #if defined(__cplusplus) && !defined(CINTERFACE)
  1711.     
  1712.     MIDL_INTERFACE("4e5868ab-b157-4623-9acc-6a1d9caebe04")
  1713.     IMultiLanguage3 : public IMultiLanguage2
  1714.     {
  1715.     public:
  1716.         virtual HRESULT STDMETHODCALLTYPE DetectOutboundCodePage( 
  1717.             /* [in] */ DWORD dwFlags,
  1718.             /* [in] */ LPCWSTR lpWideCharStr,
  1719.             /* [in] */ UINT cchWideChar,
  1720.             /* [in] */ UINT *puiPreferredCodePages,
  1721.             /* [in] */ UINT nPreferredCodePages,
  1722.             /* [in] */ UINT *puiDetectedCodePages,
  1723.             /* [out][in] */ UINT *pnDetectedCodePages,
  1724.             /* [in] */ WCHAR *lpSpecialChar) = 0;
  1725.         
  1726.         virtual HRESULT STDMETHODCALLTYPE DetectOutboundCodePageInIStream( 
  1727.             /* [in] */ DWORD dwFlags,
  1728.             /* [in] */ IStream *pStrIn,
  1729.             /* [in] */ UINT *puiPreferredCodePages,
  1730.             /* [in] */ UINT nPreferredCodePages,
  1731.             /* [in] */ UINT *puiDetectedCodePages,
  1732.             /* [out][in] */ UINT *pnDetectedCodePages,
  1733.             /* [in] */ WCHAR *lpSpecialChar) = 0;
  1734.         
  1735.     };
  1736.     
  1737. #else  /* C style interface */
  1738.     typedef struct IMultiLanguage3Vtbl
  1739.     {
  1740.         BEGIN_INTERFACE
  1741.         
  1742.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1743.             IMultiLanguage3 * This,
  1744.             /* [in] */ REFIID riid,
  1745.             /* [iid_is][out] */ void **ppvObject);
  1746.         
  1747.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1748.             IMultiLanguage3 * This);
  1749.         
  1750.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1751.             IMultiLanguage3 * This);
  1752.         
  1753.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )( 
  1754.             IMultiLanguage3 * This,
  1755.             /* [out] */ UINT *pcCodePage);
  1756.         
  1757.         HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )( 
  1758.             IMultiLanguage3 * This,
  1759.             /* [in] */ UINT uiCodePage,
  1760.             /* [in] */ LANGID LangId,
  1761.             /* [out] */ PMIMECPINFO pCodePageInfo);
  1762.         
  1763.         HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )( 
  1764.             IMultiLanguage3 * This,
  1765.             /* [in] */ UINT uiCodePage,
  1766.             /* [out] */ UINT *puiFamilyCodePage);
  1767.         
  1768.         HRESULT ( STDMETHODCALLTYPE *EnumCodePages )( 
  1769.             IMultiLanguage3 * This,
  1770.             /* [in] */ DWORD grfFlags,
  1771.             /* [in] */ LANGID LangId,
  1772.             /* [out] */ IEnumCodePage **ppEnumCodePage);
  1773.         
  1774.         HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )( 
  1775.             IMultiLanguage3 * This,
  1776.             /* [in] */ BSTR Charset,
  1777.             /* [out] */ PMIMECSETINFO pCharsetInfo);
  1778.         
  1779.         HRESULT ( STDMETHODCALLTYPE *IsConvertible )( 
  1780.             IMultiLanguage3 * This,
  1781.             /* [in] */ DWORD dwSrcEncoding,
  1782.             /* [in] */ DWORD dwDstEncoding);
  1783.         
  1784.         HRESULT ( STDMETHODCALLTYPE *ConvertString )( 
  1785.             IMultiLanguage3 * This,
  1786.             /* [out][in] */ DWORD *pdwMode,
  1787.             /* [in] */ DWORD dwSrcEncoding,
  1788.             /* [in] */ DWORD dwDstEncoding,
  1789.             /* [in] */ BYTE *pSrcStr,
  1790.             /* [out][in] */ UINT *pcSrcSize,
  1791.             /* [in] */ BYTE *pDstStr,
  1792.             /* [out][in] */ UINT *pcDstSize);
  1793.         
  1794.         HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )( 
  1795.             IMultiLanguage3 * This,
  1796.             /* [out][in] */ DWORD *pdwMode,
  1797.             /* [in] */ DWORD dwEncoding,
  1798.             /* [in] */ CHAR *pSrcStr,
  1799.             /* [out][in] */ UINT *pcSrcSize,
  1800.             /* [in] */ WCHAR *pDstStr,
  1801.             /* [out][in] */ UINT *pcDstSize);
  1802.         
  1803.         HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )( 
  1804.             IMultiLanguage3 * This,
  1805.             /* [out][in] */ DWORD *pdwMode,
  1806.             /* [in] */ DWORD dwEncoding,
  1807.             /* [in] */ WCHAR *pSrcStr,
  1808.             /* [out][in] */ UINT *pcSrcSize,
  1809.             /* [in] */ CHAR *pDstStr,
  1810.             /* [out][in] */ UINT *pcDstSize);
  1811.         
  1812.         HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )( 
  1813.             IMultiLanguage3 * This);
  1814.         
  1815.         HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )( 
  1816.             IMultiLanguage3 * This,
  1817.             /* [in] */ LCID Locale,
  1818.             /* [out] */ BSTR *pbstrRfc1766);
  1819.         
  1820.         HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )( 
  1821.             IMultiLanguage3 * This,
  1822.             /* [out] */ LCID *pLocale,
  1823.             /* [in] */ BSTR bstrRfc1766);
  1824.         
  1825.         HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )( 
  1826.             IMultiLanguage3 * This,
  1827.             /* [in] */ LANGID LangId,
  1828.             /* [out] */ IEnumRfc1766 **ppEnumRfc1766);
  1829.         
  1830.         HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )( 
  1831.             IMultiLanguage3 * This,
  1832.             /* [in] */ LCID Locale,
  1833.             /* [in] */ LANGID LangId,
  1834.             /* [out] */ PRFC1766INFO pRfc1766Info);
  1835.         
  1836.         HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )( 
  1837.             IMultiLanguage3 * This,
  1838.             /* [in] */ UINT uiSrcCodePage,
  1839.             /* [in] */ UINT uiDstCodePage,
  1840.             /* [in] */ DWORD dwProperty,
  1841.             /* [out] */ IMLangConvertCharset **ppMLangConvertCharset);
  1842.         
  1843.         HRESULT ( STDMETHODCALLTYPE *ConvertStringInIStream )( 
  1844.             IMultiLanguage3 * This,
  1845.             /* [out][in] */ DWORD *pdwMode,
  1846.             /* [in] */ DWORD dwFlag,
  1847.             /* [in] */ WCHAR *lpFallBack,
  1848.             /* [in] */ DWORD dwSrcEncoding,
  1849.             /* [in] */ DWORD dwDstEncoding,
  1850.             /* [in] */ IStream *pstmIn,
  1851.             /* [in] */ IStream *pstmOut);
  1852.         
  1853.         HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicodeEx )( 
  1854.             IMultiLanguage3 * This,
  1855.             /* [out][in] */ DWORD *pdwMode,
  1856.             /* [in] */ DWORD dwEncoding,
  1857.             /* [in] */ CHAR *pSrcStr,
  1858.             /* [out][in] */ UINT *pcSrcSize,
  1859.             /* [in] */ WCHAR *pDstStr,
  1860.             /* [out][in] */ UINT *pcDstSize,
  1861.             /* [in] */ DWORD dwFlag,
  1862.             /* [in] */ WCHAR *lpFallBack);
  1863.         
  1864.         HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicodeEx )( 
  1865.             IMultiLanguage3 * This,
  1866.             /* [out][in] */ DWORD *pdwMode,
  1867.             /* [in] */ DWORD dwEncoding,
  1868.             /* [in] */ WCHAR *pSrcStr,
  1869.             /* [out][in] */ UINT *pcSrcSize,
  1870.             /* [in] */ CHAR *pDstStr,
  1871.             /* [out][in] */ UINT *pcDstSize,
  1872.             /* [in] */ DWORD dwFlag,
  1873.             /* [in] */ WCHAR *lpFallBack);
  1874.         
  1875.         HRESULT ( STDMETHODCALLTYPE *DetectCodepageInIStream )( 
  1876.             IMultiLanguage3 * This,
  1877.             /* [in] */ DWORD dwFlag,
  1878.             /* [in] */ DWORD dwPrefWinCodePage,
  1879.             /* [in] */ IStream *pstmIn,
  1880.             /* [out][in] */ DetectEncodingInfo *lpEncoding,
  1881.             /* [out][in] */ INT *pnScores);
  1882.         
  1883.         HRESULT ( STDMETHODCALLTYPE *DetectInputCodepage )( 
  1884.             IMultiLanguage3 * This,
  1885.             /* [in] */ DWORD dwFlag,
  1886.             /* [in] */ DWORD dwPrefWinCodePage,
  1887.             /* [in] */ CHAR *pSrcStr,
  1888.             /* [out][in] */ INT *pcSrcSize,
  1889.             /* [out][in] */ DetectEncodingInfo *lpEncoding,
  1890.             /* [out][in] */ INT *pnScores);
  1891.         
  1892.         HRESULT ( STDMETHODCALLTYPE *ValidateCodePage )( 
  1893.             IMultiLanguage3 * This,
  1894.             /* [in] */ UINT uiCodePage,
  1895.             /* [in] */ HWND hwnd);
  1896.         
  1897.         HRESULT ( STDMETHODCALLTYPE *GetCodePageDescription )( 
  1898.             IMultiLanguage3 * This,
  1899.             /* [in] */ UINT uiCodePage,
  1900.             /* [in] */ LCID lcid,
  1901.             /* [out][in] */ LPWSTR lpWideCharStr,
  1902.             /* [in] */ int cchWideChar);
  1903.         
  1904.         HRESULT ( STDMETHODCALLTYPE *IsCodePageInstallable )( 
  1905.             IMultiLanguage3 * This,
  1906.             /* [in] */ UINT uiCodePage);
  1907.         
  1908.         HRESULT ( STDMETHODCALLTYPE *SetMimeDBSource )( 
  1909.             IMultiLanguage3 * This,
  1910.             /* [in] */ MIMECONTF dwSource);
  1911.         
  1912.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfScripts )( 
  1913.             IMultiLanguage3 * This,
  1914.             /* [out] */ UINT *pnScripts);
  1915.         
  1916.         HRESULT ( STDMETHODCALLTYPE *EnumScripts )( 
  1917.             IMultiLanguage3 * This,
  1918.             /* [in] */ DWORD dwFlags,
  1919.             /* [in] */ LANGID LangId,
  1920.             /* [out] */ IEnumScript **ppEnumScript);
  1921.         
  1922.         HRESULT ( STDMETHODCALLTYPE *ValidateCodePageEx )( 
  1923.             IMultiLanguage3 * This,
  1924.             /* [in] */ UINT uiCodePage,
  1925.             /* [in] */ HWND hwnd,
  1926.             /* [in] */ DWORD dwfIODControl);
  1927.         
  1928.         HRESULT ( STDMETHODCALLTYPE *DetectOutboundCodePage )( 
  1929.             IMultiLanguage3 * This,
  1930.             /* [in] */ DWORD dwFlags,
  1931.             /* [in] */ LPCWSTR lpWideCharStr,
  1932.             /* [in] */ UINT cchWideChar,
  1933.             /* [in] */ UINT *puiPreferredCodePages,
  1934.             /* [in] */ UINT nPreferredCodePages,
  1935.             /* [in] */ UINT *puiDetectedCodePages,
  1936.             /* [out][in] */ UINT *pnDetectedCodePages,
  1937.             /* [in] */ WCHAR *lpSpecialChar);
  1938.         
  1939.         HRESULT ( STDMETHODCALLTYPE *DetectOutboundCodePageInIStream )( 
  1940.             IMultiLanguage3 * This,
  1941.             /* [in] */ DWORD dwFlags,
  1942.             /* [in] */ IStream *pStrIn,
  1943.             /* [in] */ UINT *puiPreferredCodePages,
  1944.             /* [in] */ UINT nPreferredCodePages,
  1945.             /* [in] */ UINT *puiDetectedCodePages,
  1946.             /* [out][in] */ UINT *pnDetectedCodePages,
  1947.             /* [in] */ WCHAR *lpSpecialChar);
  1948.         
  1949.         END_INTERFACE
  1950.     } IMultiLanguage3Vtbl;
  1951.     interface IMultiLanguage3
  1952.     {
  1953.         CONST_VTBL struct IMultiLanguage3Vtbl *lpVtbl;
  1954.     };
  1955.     
  1956. #ifdef COBJMACROS
  1957. #define IMultiLanguage3_QueryInterface(This,riid,ppvObject)
  1958.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1959. #define IMultiLanguage3_AddRef(This)
  1960.     (This)->lpVtbl -> AddRef(This)
  1961. #define IMultiLanguage3_Release(This)
  1962.     (This)->lpVtbl -> Release(This)
  1963. #define IMultiLanguage3_GetNumberOfCodePageInfo(This,pcCodePage)
  1964.     (This)->lpVtbl -> GetNumberOfCodePageInfo(This,pcCodePage)
  1965. #define IMultiLanguage3_GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo)
  1966.     (This)->lpVtbl -> GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo)
  1967. #define IMultiLanguage3_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  1968.     (This)->lpVtbl -> GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage)
  1969. #define IMultiLanguage3_EnumCodePages(This,grfFlags,LangId,ppEnumCodePage)
  1970.     (This)->lpVtbl -> EnumCodePages(This,grfFlags,LangId,ppEnumCodePage)
  1971. #define IMultiLanguage3_GetCharsetInfo(This,Charset,pCharsetInfo)
  1972.     (This)->lpVtbl -> GetCharsetInfo(This,Charset,pCharsetInfo)
  1973. #define IMultiLanguage3_IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  1974.     (This)->lpVtbl -> IsConvertible(This,dwSrcEncoding,dwDstEncoding)
  1975. #define IMultiLanguage3_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1976.     (This)->lpVtbl -> ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1977. #define IMultiLanguage3_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1978.     (This)->lpVtbl -> ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1979. #define IMultiLanguage3_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1980.     (This)->lpVtbl -> ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize)
  1981. #define IMultiLanguage3_ConvertStringReset(This)
  1982.     (This)->lpVtbl -> ConvertStringReset(This)
  1983. #define IMultiLanguage3_GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  1984.     (This)->lpVtbl -> GetRfc1766FromLcid(This,Locale,pbstrRfc1766)
  1985. #define IMultiLanguage3_GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  1986.     (This)->lpVtbl -> GetLcidFromRfc1766(This,pLocale,bstrRfc1766)
  1987. #define IMultiLanguage3_EnumRfc1766(This,LangId,ppEnumRfc1766)
  1988.     (This)->lpVtbl -> EnumRfc1766(This,LangId,ppEnumRfc1766)
  1989. #define IMultiLanguage3_GetRfc1766Info(This,Locale,LangId,pRfc1766Info)
  1990.     (This)->lpVtbl -> GetRfc1766Info(This,Locale,LangId,pRfc1766Info)
  1991. #define IMultiLanguage3_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  1992.     (This)->lpVtbl -> CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset)
  1993. #define IMultiLanguage3_ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut)
  1994.     (This)->lpVtbl -> ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut)
  1995. #define IMultiLanguage3_ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  1996.     (This)->lpVtbl -> ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  1997. #define IMultiLanguage3_ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  1998.     (This)->lpVtbl -> ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack)
  1999. #define IMultiLanguage3_DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores)
  2000.     (This)->lpVtbl -> DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores)
  2001. #define IMultiLanguage3_DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores)
  2002.     (This)->lpVtbl -> DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores)
  2003. #define IMultiLanguage3_ValidateCodePage(This,uiCodePage,hwnd)
  2004.     (This)->lpVtbl -> ValidateCodePage(This,uiCodePage,hwnd)
  2005. #define IMultiLanguage3_GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar)
  2006.     (This)->lpVtbl -> GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar)
  2007. #define IMultiLanguage3_IsCodePageInstallable(This,uiCodePage)
  2008.     (This)->lpVtbl -> IsCodePageInstallable(This,uiCodePage)
  2009. #define IMultiLanguage3_SetMimeDBSource(This,dwSource)
  2010.     (This)->lpVtbl -> SetMimeDBSource(This,dwSource)
  2011. #define IMultiLanguage3_GetNumberOfScripts(This,pnScripts)
  2012.     (This)->lpVtbl -> GetNumberOfScripts(This,pnScripts)
  2013. #define IMultiLanguage3_EnumScripts(This,dwFlags,LangId,ppEnumScript)
  2014.     (This)->lpVtbl -> EnumScripts(This,dwFlags,LangId,ppEnumScript)
  2015. #define IMultiLanguage3_ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl)
  2016.     (This)->lpVtbl -> ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl)
  2017. #define IMultiLanguage3_DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar)
  2018.     (This)->lpVtbl -> DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar)
  2019. #define IMultiLanguage3_DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar)
  2020.     (This)->lpVtbl -> DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar)
  2021. #endif /* COBJMACROS */
  2022. #endif  /* C style interface */
  2023. HRESULT STDMETHODCALLTYPE IMultiLanguage3_DetectOutboundCodePage_Proxy( 
  2024.     IMultiLanguage3 * This,
  2025.     /* [in] */ DWORD dwFlags,
  2026.     /* [in] */ LPCWSTR lpWideCharStr,
  2027.     /* [in] */ UINT cchWideChar,
  2028.     /* [in] */ UINT *puiPreferredCodePages,
  2029.     /* [in] */ UINT nPreferredCodePages,
  2030.     /* [in] */ UINT *puiDetectedCodePages,
  2031.     /* [out][in] */ UINT *pnDetectedCodePages,
  2032.     /* [in] */ WCHAR *lpSpecialChar);
  2033. void __RPC_STUB IMultiLanguage3_DetectOutboundCodePage_Stub(
  2034.     IRpcStubBuffer *This,
  2035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2036.     PRPC_MESSAGE _pRpcMessage,
  2037.     DWORD *_pdwStubPhase);
  2038. HRESULT STDMETHODCALLTYPE IMultiLanguage3_DetectOutboundCodePageInIStream_Proxy( 
  2039.     IMultiLanguage3 * This,
  2040.     /* [in] */ DWORD dwFlags,
  2041.     /* [in] */ IStream *pStrIn,
  2042.     /* [in] */ UINT *puiPreferredCodePages,
  2043.     /* [in] */ UINT nPreferredCodePages,
  2044.     /* [in] */ UINT *puiDetectedCodePages,
  2045.     /* [out][in] */ UINT *pnDetectedCodePages,
  2046.     /* [in] */ WCHAR *lpSpecialChar);
  2047. void __RPC_STUB IMultiLanguage3_DetectOutboundCodePageInIStream_Stub(
  2048.     IRpcStubBuffer *This,
  2049.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2050.     PRPC_MESSAGE _pRpcMessage,
  2051.     DWORD *_pdwStubPhase);
  2052. #endif  /* __IMultiLanguage3_INTERFACE_DEFINED__ */
  2053. EXTERN_C const CLSID CLSID_CMultiLanguage;
  2054. #ifdef __cplusplus
  2055. class DECLSPEC_UUID("275c23e2-3747-11d0-9fea-00aa003f8646")
  2056. CMultiLanguage;
  2057. #endif
  2058. #endif /* __MultiLanguage_LIBRARY_DEFINED__ */
  2059. /* interface __MIDL_itf_mlang_0126 */
  2060. /* [local] */ 
  2061. #ifndef _MLANG_H_API_DEF_                                                     
  2062. #define _MLANG_H_API_DEF_                                                     
  2063.                                                                               
  2064. // APIs prototypes                                                            
  2065. STDAPI LcidToRfc1766A(LCID Locale, LPSTR pszRfc1766, int iMaxLength);         
  2066. STDAPI LcidToRfc1766W(LCID Locale, LPWSTR pszRfc1766, int nChar);             
  2067. #ifdef UNICODE                                                                
  2068. #define LcidToRfc1766        LcidToRfc1766W                                   
  2069. #else                                                                         
  2070. #define LcidToRfc1766        LcidToRfc1766A                                   
  2071. #endif                                                                        
  2072. STDAPI Rfc1766ToLcidA(LCID *pLocale, LPCSTR pszRfc1766);                      
  2073. STDAPI Rfc1766ToLcidW(LCID *pLocale, LPCWSTR pszRfc1766);                     
  2074. #ifdef UNICODE                                                                
  2075. #define Rfc1766ToLcid        Rfc1766ToLcidW                                   
  2076. #else                                                                         
  2077. #define Rfc1766ToLcid        Rfc1766ToLcidA                                   
  2078. #endif                                                                        
  2079.                                                                               
  2080. STDAPI IsConvertINetStringAvailable(DWORD dwSrcEncoding, DWORD dwDstEncoding);
  2081. STDAPI ConvertINetString(LPDWORD lpdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, LPCSTR lpSrcStr, LPINT lpnSrcSize, LPSTR lpDstStr, LPINT lpnDstSize);   
  2082. STDAPI ConvertINetMultiByteToUnicode(LPDWORD lpdwMode, DWORD dwEncoding, LPCSTR lpSrcStr, LPINT lpnMultiCharCount, LPWSTR lpDstStr, LPINT lpnWideCharCount); 
  2083. STDAPI ConvertINetUnicodeToMultiByte(LPDWORD lpdwMode, DWORD dwEncoding, LPCWSTR lpSrcStr, LPINT lpnWideCharCount, LPSTR lpDstStr, LPINT lpnMultiCharCount); 
  2084.                                                                               
  2085. #endif // _MLANG_H_API_DEF_                                                   
  2086. extern RPC_IF_HANDLE __MIDL_itf_mlang_0126_v0_0_c_ifspec;
  2087. extern RPC_IF_HANDLE __MIDL_itf_mlang_0126_v0_0_s_ifspec;
  2088. /* Additional Prototypes for ALL interfaces */
  2089. /* end of Additional Prototypes */
  2090. #ifdef __cplusplus
  2091. }
  2092. #endif
  2093. #endif