Add Multi Language support IDL and headers
Mike McCormack
mike at codeweavers.com
Sat Jul 3 19:31:59 CDT 2004
ChangeLog:
* Add Multi Language support IDL and headers
-------------- next part --------------
Index: include/Makefile.in
===================================================================
RCS file: /home/wine/wine/include/Makefile.in,v
retrieving revision 1.131
diff -u -r1.131 Makefile.in
--- include/Makefile.in 14 Jun 2004 16:54:18 -0000 1.131
+++ include/Makefile.in 4 Jul 2004 00:29:22 -0000
@@ -12,6 +12,7 @@
ddstream.idl \
docobj.idl \
exdisp.idl \
+ mlang.idl \
mmstream.idl \
oaidl.idl \
objidl.idl \
--- /dev/null 1994-07-17 18:46:18.000000000 -0500
+++ include/mlang.idl 2004-07-03 19:28:56.000000000 -0500
@@ -0,0 +1,462 @@
+/*
+ * Copyright (C) 2004 Mike McCormack
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+import "oaidl.idl";
+
+const USHORT MAX_SCRIPT_NAME = 48;
+const USHORT MAX_MIMECP_NAME = 64;
+const USHORT MAX_MIMECSET_NAME = 50;
+const USHORT MAX_MIMEFACE_NAME = 32;
+
+typedef enum tagMIMECONTF
+{
+ MIMECONTF_MAILNEWS = 0x00000001,
+ MIMECONTF_BROWSER = 0x00000002,
+ MIMECONTF_MINIMAL = 0x00000004,
+ MIMECONTF_IMPORT = 0x00000008,
+ MIMECONTF_SAVABLE_MAILNEWS = 0x00000100,
+ MIMECONTF_SAVABLE_BROWSER = 0x00000200,
+ MIMECONTF_EXPORT = 0x00000400,
+ MIMECONTF_PRIVCONVERTER = 0x00010000,
+ MIMECONTF_VALID = 0x00020000,
+ MIMECONTF_VALID_NLS = 0x00040000,
+ MIMECONTF_MIME_IE4 = 0x10000000,
+ MIMECONTF_MIME_LATEST = 0x20000000,
+ MIMECONTF_MIME_REGISTRY = 0x40000000
+} MIMECONTF;
+
+typedef BYTE SCRIPT_ID;
+
+/* FIXME: LANDID is defined in winnt.h and mlang.h in the platform SDK */
+cpp_quote("#ifndef __WINE_WINNT_H")
+typedef WORD LANGID;
+cpp_quote("#endif")
+
+typedef struct tagSCRIPINFO {
+ SCRIPT_ID ScriptId;
+ UINT uiCodePage;
+ WCHAR wszDescription[MAX_SCRIPT_NAME];
+ WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];
+ WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];
+} SCRIPTINFO, *PSCRIPTINFO;
+
+typedef struct tagMIMECPINFO {
+ DWORD dwFlags;
+ UINT uiCodePage;
+ UINT uiFamilyCodePage;
+ WCHAR wszDescription[MAX_MIMECP_NAME];
+ WCHAR wszWebCharset[MAX_MIMECSET_NAME];
+ WCHAR wszHeaderCharset[MAX_MIMECSET_NAME];
+ WCHAR wszBodyCharset[MAX_MIMECSET_NAME];
+ WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];
+ WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];
+ BYTE bGDICharset;
+} MIMECPINFO, *PMIMECPINFO;
+
+typedef struct tagMIMECSETINFO
+{
+ UINT uiCodePage;
+ UINT uiInternetEncoding;
+ WCHAR wszCharset[MAX_MIMECSET_NAME];
+} MIMECSETINFO, *PMIMECSETINFO;
+
+typedef struct tagRFC1766INFO
+{
+ LCID lcid;
+ WCHAR wszRfc1766[MAX_RFC1766_NAME];
+ WCHAR wszLocaleName[MAX_LOCALE_NAME];
+} RFC1766INFO, *PRFC1766INFO;
+
+typedef struct tagDetectEncodingInfo
+{
+ UINT nLangID;
+ UINT nCodePage;
+ INT nDocPercent;
+ INT nConfidence;
+} DetectEncodingInfo, *pDetectEncodingInfo;
+
+[
+ object,
+ pointer_default(unique)
+]
+interface IMLangCodePages : IUnknown
+{
+ HRESULT GetCharCodePages(
+ [in] WCHAR chSrc,
+ DWORD *pdwCodePages);
+ HRESULT GetStrCodePages(
+ [in, size_is(cchSrc)] const WCHAR *pszSrc,
+ [in] long cchSrc,
+ [in] DWORD dwPriorityCodePages,
+ [out] DWORD *pdwCodePages,
+ [out] long *pcchCodePages);
+ HRESULT CodePageToCodePages(
+ [in] UINT uCodePage,
+ [out] DWORD *pdwCodePages);
+ HRESULT CodePagesToCodePage(
+ [in] DWORD dwCodePages,
+ [in] UINT uDefaultCodePage,
+ [out] UINT *puCodePage);
+};
+
+[
+ object,
+ pointer_default(unique)
+]
+interface IMLangFontLink : IMLangCodePages
+{
+ HRESULT GetFontCodePages(
+ [in] HDC hDC,
+ [in] HFONT hFont,
+ [out] DWORD *pdwCodePages );
+
+ HRESULT MapFont(
+ [in] HDC hDC,
+ [in] DWORD dwCodePages,
+ [in] HFONT hSrcFont,
+ [out] HFONT *phDestFont);
+
+ HRESULT ReleaseFont(
+ [in] HFONT hFont);
+
+ HRESULT ResetFontMapping();
+};
+
+[
+ object,
+ pointer_default(unique)
+]
+interface IEnumScript : IUnknown
+{
+ HRESULT Clone(
+ [out] IEnumScript **ppEnum);
+
+ HRESULT Next(
+ [in] ULONG celt,
+ [out] PSCRIPTINFO rgelt,
+ [out] ULONG *pceltFetched);
+
+ HRESULT Reset();
+
+ HRESULT Skip(
+ [in] ULONG celt);
+};
+
+[
+ object,
+ pointer_default(unique)
+]
+interface IEnumCodePage : IUnknown
+{
+ HRESULT Clone(
+ [out] IEnumCodePage **ppEnum);
+
+ HRESULT Next(
+ [in] ULONG celt,
+ [out] PMIMECPINFO rgelt,
+ [out] ULONG *pceltFetched);
+
+ HRESULT Reset();
+
+ HRESULT Skip(
+ [in] ULONG celt);
+};
+
+[
+ object,
+ pointer_default(unique)
+]
+interface IMLangConvertCharset : IUnknown
+{
+ HRESULT Initialize(
+ [in] UINT uiSrcCodePage,
+ [in] UINT uiDstCodePage,
+ [in] DWORD dwProperty);
+
+ HRESULT GetSourceCodePage(
+ [out] UINT *puiSrcCodePage);
+
+ HRESULT GetDestinationCodePage(
+ [out] UINT *puiDstCodePage);
+
+ HRESULT GetProperty(
+ [out] DWORD *pdwProperty);
+
+ HRESULT DoConversion(
+ [in] BYTE *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] BYTE *pDstStr,
+ [in,out] UINT *pcDstSize);
+
+ HRESULT DoConversionToUnicode(
+ [in] CHAR *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] WCHAR *pDstStr,
+ [in,out] UINT *pcDstSize);
+
+ HRESULT DoConversionFromUnicode(
+ [in] WCHAR *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] CHAR *pDstStr,
+ [in,out] UINT *pcDstSize);
+};
+
+[
+ object,
+ pointer_default(unique)
+]
+interface IEnumRfc1766 : IUnknown
+{
+ HRESULT Clone(
+ [out] IEnumRfc1766 **ppEnum);
+
+ HRESULT Next(
+ [in] ULONG celt,
+ [out] PRFC1766INFO rgelt,
+ [out] ULONG *pceltFetched);
+
+ HRESULT Reset();
+
+ HRESULT Skip(
+ [in] ULONG celt);
+};
+
+[
+ object,
+ pointer_default(unique)
+]
+interface IMultiLanguage : IUnknown
+{
+ HRESULT GetNumberOfCodePageInfo(
+ [out] UINT *pcCodePage);
+
+ HRESULT GetCodePageInfo(
+ [in] UINT uiCodePage,
+ [out] PMIMECPINFO pCodePageInfo);
+
+ HRESULT GetFamilyCodePage(
+ [in] UINT uiCodePage,
+ [out] UINT *puiFamilyCodePage);
+
+ HRESULT EnumCodePages(
+ [in] DWORD grfFlags,
+ [out] IEnumCodePage **ppEnumCodePage);
+
+ HRESULT GetCharsetInfo(
+ [in] BSTR Charset,
+ [in] PMIMECSETINFO pCharsetInfo);
+
+ HRESULT IsConvertible(
+ [in] DWORD dwSrcEncoding,
+ [in] DWORD dwDstEncoding);
+
+ HRESULT ConvertString(
+ [in,out] DWORD *pdwMode,
+ [in] DWORD dwSrcEncoding,
+ [in] DWORD dwDstEncoding,
+ [in] BYTE *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] BYTE *pDstStr,
+ [in,out] UINT *pcDstSize);
+
+ HRESULT ConvertStringToUnicode(
+ [in,out] DWORD *pdwMode,
+ [in] DWORD dwEncoding,
+ [in] CHAR *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] WCHAR *pDstStr,
+ [in,out] UINT *pcDstSize);
+
+ HRESULT ConvertStringFromUnicode(
+ [in,out] DWORD *pdwMode,
+ [in] DWORD dwEncoding,
+ [in] WCHAR *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] CHAR *pDstStr,
+ [in,out] UINT *pcDstSize);
+
+ HRESULT ConvertStringReset();
+
+ HRESULT GetRfc1766FromLcid(
+ [in] LCID Locale,
+ [out] BSTR *pbstrRfc1766);
+
+ HRESULT GetLcidFromRfc1766(
+ [out] LCID *pLocale,
+ [in] BSTR bstrRfc1766);
+
+ HRESULT EnumRfc1766(
+ [out] IEnumRfc1766 **ppEnumRfc1766);
+
+ HRESULT GetRfc1766Info(
+ [in] LCID Locale,
+ [out] PRFC1766INFO pRfc1766Info);
+
+ HRESULT CreateConvertCharset(
+ [in] UINT uiSrcCodePage,
+ [in] UINT uiDstCodePage,
+ [in] DWORD dwProperty,
+ [out] IMLangConvertCharset **ppMLangConvertCharset);
+
+};
+
+[
+ object,
+ pointer_default(unique)
+]
+interface IMultiLanguage2 : IUnknown
+{
+ HRESULT GetNumberOfCodePageInfo(
+ [out] UINT *pcCodePage);
+
+ HRESULT GetCodePageInfo(
+ [in] UINT uiCodePage,
+ [in] LANGID LangId,
+ [out] PMIMECPINFO pCodePageInfo);
+
+ HRESULT GetFamilyCodePage(
+ [in] UINT uiCodePage,
+ [out] UINT *puiFamilyCodePage);
+
+ HRESULT EnumCodePages(
+ [in] DWORD grfFlags,
+ [in] LANGID LangId,
+ [out] IEnumCodePage **ppEnumCodePage);
+
+ HRESULT GetCharsetInfo(
+ [in] BSTR Charset,
+ [in] PMIMECSETINFO pCharsetInfo);
+
+ HRESULT IsConvertible(
+ [in] DWORD dwSrcEncoding,
+ [in] DWORD dwDstEncoding);
+
+ HRESULT ConvertString(
+ [in,out] DWORD *pdwMode,
+ [in] DWORD dwSrcEncoding,
+ [in] DWORD dwDstEncoding,
+ [in] BYTE *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] BYTE *pDstStr,
+ [in,out] UINT *pcDstSize);
+
+ HRESULT ConvertStringToUnicode(
+ [in,out] DWORD *pdwMode,
+ [in] DWORD dwEncoding,
+ [in] CHAR *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] WCHAR *pDstStr,
+ [in,out] UINT *pcDstSize);
+
+ HRESULT ConvertStringFromUnicode(
+ [in,out] DWORD *pdwMode,
+ [in] DWORD dwEncoding,
+ [in] WCHAR *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] CHAR *pDstStr,
+ [in,out] UINT *pcDstSize);
+
+ HRESULT ConvertStringReset();
+
+ HRESULT GetRfc1766FromLcid(
+ [in] LCID Locale,
+ [out] BSTR *pbstrRfc1766);
+
+ HRESULT GetLcidFromRfc1766(
+ [out] LCID *pLocale,
+ [in] BSTR bstrRfc1766);
+
+ HRESULT EnumRfc1766(
+ [in] LANGID LangId,
+ [out] IEnumRfc1766 **ppEnumRfc1766);
+
+ HRESULT GetRfc1766Info(
+ [in] LCID Locale,
+ [in] LANGID LangId,
+ [out] PRFC1766INFO pRfc1766Info);
+
+ HRESULT CreateConvertCharset(
+ [in] UINT uiSrcCodePage,
+ [in] UINT uiDstCodePage,
+ [in] DWORD dwProperty,
+ [out] IMLangConvertCharset **ppMLangConvertCharset);
+
+ HRESULT ConvertStringInIStream(
+ [in,out] DWORD *pdwMode,
+ [in] DWORD dwFlag,
+ [in] WCHAR *lpFallBack,
+ [in] DWORD dwSrcEncoding,
+ [in] DWORD dwDstEncoding,
+ [in] IStream *pstmIn,
+ [in] IStream *pstmOut);
+
+ HRESULT ConvertStringToUnicodeEx(
+ [in,out] DWORD *pdwMode,
+ [in] DWORD dwEncoding,
+ [in] CHAR *pSrcStr,
+ [in,out] UINT *pcSrcSize,
+ [in] WCHAR *pDstStr,
+ [in,out] UINT *pcDstSize,
+ [in] DWORD dwFlag,
+ [in] WCHAR *lpFallBack);
+
+ HRESULT DetectCodepageInIStream(
+ [in] DWORD dwFlag,
+ [in] DWORD dwPrefWinCodePage,
+ [in] IStream *pstmIn,
+ [in,out] DetectEncodingInfo *lpEncoding,
+ [in,out] INT *pnScores);
+
+ HRESULT DetectInputCodepage(
+ [in] DWORD dwFlag,
+ [in] DWORD dwPrefWinCodePage,
+ [in] CHAR *pSrcStr,
+ [in,out] INT *pcSrcSize,
+ [in,out] DetectEncodingInfo *lpEncoding,
+ [in,out] INT *pnScores);
+
+ HRESULT ValidateCodePage(
+ [in] UINT uiCodePage,
+ [in] HWND hwnd);
+
+ HRESULT GetCodePageDescription(
+ [in] UINT uiCodePage,
+ [in] LCID lcid,
+ [in,out] LPWSTR lpWideCharStr,
+ [in] int cchWideChar);
+
+ HRESULT IsCodePageInstallable(
+ [in] UINT uiCodePage);
+
+ HRESULT SetMimeDBSource(
+ [in] MIMECONTF dwSource);
+
+ HRESULT GetNumberOfScripts(
+ [out] UINT *pnScripts);
+
+ HRESULT EnumScripts(
+ [in] DWORD dwFlags,
+ [in] LANGID LangId,
+ [out] IEnumScript **ppEnumScript);
+
+ HRESULT ValidateCodePageEx( /* undocumented on MSDN */
+ [in] UINT uiCodePage,
+ [in] HWND hwnd,
+ [in] DWORD dwfIODControl);
+};
+
--- /dev/null 1994-07-17 18:46:18.000000000 -0500
+++ include/mlang.h 2004-07-03 19:28:56.000000000 -0500
@@ -0,0 +1,2073 @@
+/*** Autogenerated by WIDL 0.1 from mlang.idl - Do not edit ***/
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifndef __WIDL_MLANG_H
+#define __WIDL_MLANG_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <oaidl.h>
+#define MAX_SCRIPT_NAME (48)
+
+#define MAX_MIMECP_NAME (64)
+
+#define MAX_MIMECSET_NAME (50)
+
+#define MAX_MIMEFACE_NAME (32)
+
+typedef enum tagMIMECONTF {
+ MIMECONTF_MAILNEWS = 0x1,
+ MIMECONTF_BROWSER = 0x2,
+ MIMECONTF_MINIMAL = 0x4,
+ MIMECONTF_IMPORT = 0x8,
+ MIMECONTF_SAVABLE_MAILNEWS = 0x100,
+ MIMECONTF_SAVABLE_BROWSER = 0x200,
+ MIMECONTF_EXPORT = 0x400,
+ MIMECONTF_PRIVCONVERTER = 0x10000,
+ MIMECONTF_VALID = 0x20000,
+ MIMECONTF_VALID_NLS = 0x40000,
+ MIMECONTF_MIME_IE4 = 0x10000000,
+ MIMECONTF_MIME_LATEST = 0x20000000,
+ MIMECONTF_MIME_REGISTRY = 0x40000000
+} MIMECONTF;
+
+typedef BYTE SCRIPT_ID;
+
+#ifndef __WINE_WINNT_H
+typedef WORD LANGID;
+
+#endif
+typedef struct tagSCRIPINFO {
+ SCRIPT_ID ScriptId;
+ UINT uiCodePage;
+ WCHAR wszDescription[48];
+ WCHAR wszFixedWidthFont[32];
+ WCHAR wszProportionalFont[32];
+} SCRIPTINFO, *PSCRIPTINFO;
+
+typedef struct tagMIMECPINFO {
+ DWORD dwFlags;
+ UINT uiCodePage;
+ UINT uiFamilyCodePage;
+ WCHAR wszDescription[64];
+ WCHAR wszWebCharset[50];
+ WCHAR wszHeaderCharset[50];
+ WCHAR wszBodyCharset[50];
+ WCHAR wszFixedWidthFont[32];
+ WCHAR wszProportionalFont[32];
+ BYTE bGDICharset;
+} MIMECPINFO, *PMIMECPINFO;
+
+typedef struct tagMIMECSETINFO {
+ UINT uiCodePage;
+ UINT uiInternetEncoding;
+ WCHAR wszCharset[50];
+} MIMECSETINFO, *PMIMECSETINFO;
+
+typedef struct tagRFC1766INFO {
+ LCID lcid;
+ WCHAR wszRfc1766[1];
+ WCHAR wszLocaleName[1];
+} RFC1766INFO, *PRFC1766INFO;
+
+typedef struct tagDetectEncodingInfo {
+ UINT nLangID;
+ UINT nCodePage;
+ INT nDocPercent;
+ INT nConfidence;
+} DetectEncodingInfo, *pDetectEncodingInfo;
+
+#ifndef __IMLangCodePages_FWD_DEFINED__
+#define __IMLangCodePages_FWD_DEFINED__
+typedef struct IMLangCodePages IMLangCodePages;
+#endif
+
+/*****************************************************************************
+ * IMLangCodePages interface
+ */
+#ifndef __IMLangCodePages_INTERFACE_DEFINED__
+#define __IMLangCodePages_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+struct IMLangCodePages : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE GetCharCodePages(
+ WCHAR chSrc,
+ DWORD* pdwCodePages) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetStrCodePages(
+ const WCHAR* pszSrc,
+ long cchSrc,
+ DWORD dwPriorityCodePages,
+ DWORD* pdwCodePages,
+ long* pcchCodePages) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CodePageToCodePages(
+ UINT uCodePage,
+ DWORD* pdwCodePages) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CodePagesToCodePage(
+ DWORD dwCodePages,
+ UINT uDefaultCodePage,
+ UINT* puCodePage) = 0;
+
+};
+#else
+typedef struct IMLangCodePagesVtbl IMLangCodePagesVtbl;
+struct IMLangCodePages {
+ const IMLangCodePagesVtbl* lpVtbl;
+};
+struct IMLangCodePagesVtbl {
+ ICOM_MSVTABLE_COMPAT_FIELDS
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IMLangCodePages* This,
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IMLangCodePages* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IMLangCodePages* This);
+
+ /*** IMLangCodePages methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetCharCodePages)(
+ IMLangCodePages* This,
+ WCHAR chSrc,
+ DWORD* pdwCodePages);
+
+ HRESULT (STDMETHODCALLTYPE *GetStrCodePages)(
+ IMLangCodePages* This,
+ const WCHAR* pszSrc,
+ long cchSrc,
+ DWORD dwPriorityCodePages,
+ DWORD* pdwCodePages,
+ long* pcchCodePages);
+
+ HRESULT (STDMETHODCALLTYPE *CodePageToCodePages)(
+ IMLangCodePages* This,
+ UINT uCodePage,
+ DWORD* pdwCodePages);
+
+ HRESULT (STDMETHODCALLTYPE *CodePagesToCodePage)(
+ IMLangCodePages* This,
+ DWORD dwCodePages,
+ UINT uDefaultCodePage,
+ UINT* puCodePage);
+
+};
+
+/*** IUnknown methods ***/
+#define IMLangCodePages_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IMLangCodePages_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IMLangCodePages_Release(p) (p)->lpVtbl->Release(p)
+/*** IMLangCodePages methods ***/
+#define IMLangCodePages_GetCharCodePages(p,a,b) (p)->lpVtbl->GetCharCodePages(p,a,b)
+#define IMLangCodePages_GetStrCodePages(p,a,b,c,d,e) (p)->lpVtbl->GetStrCodePages(p,a,b,c,d,e)
+#define IMLangCodePages_CodePageToCodePages(p,a,b) (p)->lpVtbl->CodePageToCodePages(p,a,b)
+#define IMLangCodePages_CodePagesToCodePage(p,a,b,c) (p)->lpVtbl->CodePagesToCodePage(p,a,b,c)
+
+#endif
+
+#define IMLangCodePages_METHODS \
+ ICOM_MSVTABLE_COMPAT_FIELDS \
+ /*** IUnknown methods ***/ \
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
+ STDMETHOD_(ULONG,Release)(THIS) PURE; \
+ /*** IMLangCodePages methods ***/ \
+ STDMETHOD_(HRESULT,GetCharCodePages)(THIS_ WCHAR chSrc, DWORD* pdwCodePages) PURE; \
+ STDMETHOD_(HRESULT,GetStrCodePages)(THIS_ const WCHAR* pszSrc, long cchSrc, DWORD dwPriorityCodePages, DWORD* pdwCodePages, long* pcchCodePages) PURE; \
+ STDMETHOD_(HRESULT,CodePageToCodePages)(THIS_ UINT uCodePage, DWORD* pdwCodePages) PURE; \
+ STDMETHOD_(HRESULT,CodePagesToCodePage)(THIS_ DWORD dwCodePages, UINT uDefaultCodePage, UINT* puCodePage) PURE;
+
+HRESULT CALLBACK IMLangCodePages_GetCharCodePages_Proxy(
+ IMLangCodePages* This,
+ WCHAR chSrc,
+ DWORD* pdwCodePages);
+void __RPC_STUB IMLangCodePages_GetCharCodePages_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangCodePages_GetStrCodePages_Proxy(
+ IMLangCodePages* This,
+ const WCHAR* pszSrc,
+ long cchSrc,
+ DWORD dwPriorityCodePages,
+ DWORD* pdwCodePages,
+ long* pcchCodePages);
+void __RPC_STUB IMLangCodePages_GetStrCodePages_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangCodePages_CodePageToCodePages_Proxy(
+ IMLangCodePages* This,
+ UINT uCodePage,
+ DWORD* pdwCodePages);
+void __RPC_STUB IMLangCodePages_CodePageToCodePages_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangCodePages_CodePagesToCodePage_Proxy(
+ IMLangCodePages* This,
+ DWORD dwCodePages,
+ UINT uDefaultCodePage,
+ UINT* puCodePage);
+void __RPC_STUB IMLangCodePages_CodePagesToCodePage_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IMLangCodePages_INTERFACE_DEFINED__ */
+
+#ifndef __IMLangFontLink_FWD_DEFINED__
+#define __IMLangFontLink_FWD_DEFINED__
+typedef struct IMLangFontLink IMLangFontLink;
+#endif
+
+/*****************************************************************************
+ * IMLangFontLink interface
+ */
+#ifndef __IMLangFontLink_INTERFACE_DEFINED__
+#define __IMLangFontLink_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+struct IMLangFontLink : public IMLangCodePages
+{
+ virtual HRESULT STDMETHODCALLTYPE GetFontCodePages(
+ HDC hDC,
+ HFONT hFont,
+ DWORD* pdwCodePages) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE MapFont(
+ HDC hDC,
+ DWORD dwCodePages,
+ HFONT hSrcFont,
+ HFONT* phDestFont) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReleaseFont(
+ HFONT hFont) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ResetFontMapping(
+ ) = 0;
+
+};
+#else
+typedef struct IMLangFontLinkVtbl IMLangFontLinkVtbl;
+struct IMLangFontLink {
+ const IMLangFontLinkVtbl* lpVtbl;
+};
+struct IMLangFontLinkVtbl {
+ ICOM_MSVTABLE_COMPAT_FIELDS
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IMLangFontLink* This,
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IMLangFontLink* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IMLangFontLink* This);
+
+ /*** IMLangCodePages methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetCharCodePages)(
+ IMLangFontLink* This,
+ WCHAR chSrc,
+ DWORD* pdwCodePages);
+
+ HRESULT (STDMETHODCALLTYPE *GetStrCodePages)(
+ IMLangFontLink* This,
+ const WCHAR* pszSrc,
+ long cchSrc,
+ DWORD dwPriorityCodePages,
+ DWORD* pdwCodePages,
+ long* pcchCodePages);
+
+ HRESULT (STDMETHODCALLTYPE *CodePageToCodePages)(
+ IMLangFontLink* This,
+ UINT uCodePage,
+ DWORD* pdwCodePages);
+
+ HRESULT (STDMETHODCALLTYPE *CodePagesToCodePage)(
+ IMLangFontLink* This,
+ DWORD dwCodePages,
+ UINT uDefaultCodePage,
+ UINT* puCodePage);
+
+ /*** IMLangFontLink methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetFontCodePages)(
+ IMLangFontLink* This,
+ HDC hDC,
+ HFONT hFont,
+ DWORD* pdwCodePages);
+
+ HRESULT (STDMETHODCALLTYPE *MapFont)(
+ IMLangFontLink* This,
+ HDC hDC,
+ DWORD dwCodePages,
+ HFONT hSrcFont,
+ HFONT* phDestFont);
+
+ HRESULT (STDMETHODCALLTYPE *ReleaseFont)(
+ IMLangFontLink* This,
+ HFONT hFont);
+
+ HRESULT (STDMETHODCALLTYPE *ResetFontMapping)(
+ IMLangFontLink* This);
+
+};
+
+/*** IUnknown methods ***/
+#define IMLangFontLink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IMLangFontLink_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IMLangFontLink_Release(p) (p)->lpVtbl->Release(p)
+/*** IMLangCodePages methods ***/
+#define IMLangFontLink_GetCharCodePages(p,a,b) (p)->lpVtbl->GetCharCodePages(p,a,b)
+#define IMLangFontLink_GetStrCodePages(p,a,b,c,d,e) (p)->lpVtbl->GetStrCodePages(p,a,b,c,d,e)
+#define IMLangFontLink_CodePageToCodePages(p,a,b) (p)->lpVtbl->CodePageToCodePages(p,a,b)
+#define IMLangFontLink_CodePagesToCodePage(p,a,b,c) (p)->lpVtbl->CodePagesToCodePage(p,a,b,c)
+/*** IMLangFontLink methods ***/
+#define IMLangFontLink_GetFontCodePages(p,a,b,c) (p)->lpVtbl->GetFontCodePages(p,a,b,c)
+#define IMLangFontLink_MapFont(p,a,b,c,d) (p)->lpVtbl->MapFont(p,a,b,c,d)
+#define IMLangFontLink_ReleaseFont(p,a) (p)->lpVtbl->ReleaseFont(p,a)
+#define IMLangFontLink_ResetFontMapping(p) (p)->lpVtbl->ResetFontMapping(p)
+
+#endif
+
+#define IMLangFontLink_METHODS \
+ ICOM_MSVTABLE_COMPAT_FIELDS \
+ /*** IUnknown methods ***/ \
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
+ STDMETHOD_(ULONG,Release)(THIS) PURE; \
+ /*** IMLangCodePages methods ***/ \
+ STDMETHOD_(HRESULT,GetCharCodePages)(THIS_ WCHAR chSrc, DWORD* pdwCodePages) PURE; \
+ STDMETHOD_(HRESULT,GetStrCodePages)(THIS_ const WCHAR* pszSrc, long cchSrc, DWORD dwPriorityCodePages, DWORD* pdwCodePages, long* pcchCodePages) PURE; \
+ STDMETHOD_(HRESULT,CodePageToCodePages)(THIS_ UINT uCodePage, DWORD* pdwCodePages) PURE; \
+ STDMETHOD_(HRESULT,CodePagesToCodePage)(THIS_ DWORD dwCodePages, UINT uDefaultCodePage, UINT* puCodePage) PURE; \
+ /*** IMLangFontLink methods ***/ \
+ STDMETHOD_(HRESULT,GetFontCodePages)(THIS_ HDC hDC, HFONT hFont, DWORD* pdwCodePages) PURE; \
+ STDMETHOD_(HRESULT,MapFont)(THIS_ HDC hDC, DWORD dwCodePages, HFONT hSrcFont, HFONT* phDestFont) PURE; \
+ STDMETHOD_(HRESULT,ReleaseFont)(THIS_ HFONT hFont) PURE; \
+ STDMETHOD_(HRESULT,ResetFontMapping)(THIS) PURE;
+
+HRESULT CALLBACK IMLangFontLink_GetFontCodePages_Proxy(
+ IMLangFontLink* This,
+ HDC hDC,
+ HFONT hFont,
+ DWORD* pdwCodePages);
+void __RPC_STUB IMLangFontLink_GetFontCodePages_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangFontLink_MapFont_Proxy(
+ IMLangFontLink* This,
+ HDC hDC,
+ DWORD dwCodePages,
+ HFONT hSrcFont,
+ HFONT* phDestFont);
+void __RPC_STUB IMLangFontLink_MapFont_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangFontLink_ReleaseFont_Proxy(
+ IMLangFontLink* This,
+ HFONT hFont);
+void __RPC_STUB IMLangFontLink_ReleaseFont_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangFontLink_ResetFontMapping_Proxy(
+ IMLangFontLink* This);
+void __RPC_STUB IMLangFontLink_ResetFontMapping_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IMLangFontLink_INTERFACE_DEFINED__ */
+
+#ifndef __IEnumScript_FWD_DEFINED__
+#define __IEnumScript_FWD_DEFINED__
+typedef struct IEnumScript IEnumScript;
+#endif
+
+/*****************************************************************************
+ * IEnumScript interface
+ */
+#ifndef __IEnumScript_INTERFACE_DEFINED__
+#define __IEnumScript_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+struct IEnumScript : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ IEnumScript** ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ ULONG celt,
+ PSCRIPTINFO rgelt,
+ ULONG* pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ ULONG celt) = 0;
+
+};
+#else
+typedef struct IEnumScriptVtbl IEnumScriptVtbl;
+struct IEnumScript {
+ const IEnumScriptVtbl* lpVtbl;
+};
+struct IEnumScriptVtbl {
+ ICOM_MSVTABLE_COMPAT_FIELDS
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IEnumScript* This,
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IEnumScript* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IEnumScript* This);
+
+ /*** IEnumScript methods ***/
+ HRESULT (STDMETHODCALLTYPE *Clone)(
+ IEnumScript* This,
+ IEnumScript** ppEnum);
+
+ HRESULT (STDMETHODCALLTYPE *Next)(
+ IEnumScript* This,
+ ULONG celt,
+ PSCRIPTINFO rgelt,
+ ULONG* pceltFetched);
+
+ HRESULT (STDMETHODCALLTYPE *Reset)(
+ IEnumScript* This);
+
+ HRESULT (STDMETHODCALLTYPE *Skip)(
+ IEnumScript* This,
+ ULONG celt);
+
+};
+
+/*** IUnknown methods ***/
+#define IEnumScript_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IEnumScript_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IEnumScript_Release(p) (p)->lpVtbl->Release(p)
+/*** IEnumScript methods ***/
+#define IEnumScript_Clone(p,a) (p)->lpVtbl->Clone(p,a)
+#define IEnumScript_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
+#define IEnumScript_Reset(p) (p)->lpVtbl->Reset(p)
+#define IEnumScript_Skip(p,a) (p)->lpVtbl->Skip(p,a)
+
+#endif
+
+#define IEnumScript_METHODS \
+ ICOM_MSVTABLE_COMPAT_FIELDS \
+ /*** IUnknown methods ***/ \
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
+ STDMETHOD_(ULONG,Release)(THIS) PURE; \
+ /*** IEnumScript methods ***/ \
+ STDMETHOD_(HRESULT,Clone)(THIS_ IEnumScript** ppEnum) PURE; \
+ STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PSCRIPTINFO rgelt, ULONG* pceltFetched) PURE; \
+ STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
+ STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
+
+HRESULT CALLBACK IEnumScript_Clone_Proxy(
+ IEnumScript* This,
+ IEnumScript** ppEnum);
+void __RPC_STUB IEnumScript_Clone_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumScript_Next_Proxy(
+ IEnumScript* This,
+ ULONG celt,
+ PSCRIPTINFO rgelt,
+ ULONG* pceltFetched);
+void __RPC_STUB IEnumScript_Next_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumScript_Reset_Proxy(
+ IEnumScript* This);
+void __RPC_STUB IEnumScript_Reset_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumScript_Skip_Proxy(
+ IEnumScript* This,
+ ULONG celt);
+void __RPC_STUB IEnumScript_Skip_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IEnumScript_INTERFACE_DEFINED__ */
+
+#ifndef __IEnumCodePage_FWD_DEFINED__
+#define __IEnumCodePage_FWD_DEFINED__
+typedef struct IEnumCodePage IEnumCodePage;
+#endif
+
+/*****************************************************************************
+ * IEnumCodePage interface
+ */
+#ifndef __IEnumCodePage_INTERFACE_DEFINED__
+#define __IEnumCodePage_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+struct IEnumCodePage : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ IEnumCodePage** ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ ULONG celt,
+ PMIMECPINFO rgelt,
+ ULONG* pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ ULONG celt) = 0;
+
+};
+#else
+typedef struct IEnumCodePageVtbl IEnumCodePageVtbl;
+struct IEnumCodePage {
+ const IEnumCodePageVtbl* lpVtbl;
+};
+struct IEnumCodePageVtbl {
+ ICOM_MSVTABLE_COMPAT_FIELDS
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IEnumCodePage* This,
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IEnumCodePage* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IEnumCodePage* This);
+
+ /*** IEnumCodePage methods ***/
+ HRESULT (STDMETHODCALLTYPE *Clone)(
+ IEnumCodePage* This,
+ IEnumCodePage** ppEnum);
+
+ HRESULT (STDMETHODCALLTYPE *Next)(
+ IEnumCodePage* This,
+ ULONG celt,
+ PMIMECPINFO rgelt,
+ ULONG* pceltFetched);
+
+ HRESULT (STDMETHODCALLTYPE *Reset)(
+ IEnumCodePage* This);
+
+ HRESULT (STDMETHODCALLTYPE *Skip)(
+ IEnumCodePage* This,
+ ULONG celt);
+
+};
+
+/*** IUnknown methods ***/
+#define IEnumCodePage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IEnumCodePage_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IEnumCodePage_Release(p) (p)->lpVtbl->Release(p)
+/*** IEnumCodePage methods ***/
+#define IEnumCodePage_Clone(p,a) (p)->lpVtbl->Clone(p,a)
+#define IEnumCodePage_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
+#define IEnumCodePage_Reset(p) (p)->lpVtbl->Reset(p)
+#define IEnumCodePage_Skip(p,a) (p)->lpVtbl->Skip(p,a)
+
+#endif
+
+#define IEnumCodePage_METHODS \
+ ICOM_MSVTABLE_COMPAT_FIELDS \
+ /*** IUnknown methods ***/ \
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
+ STDMETHOD_(ULONG,Release)(THIS) PURE; \
+ /*** IEnumCodePage methods ***/ \
+ STDMETHOD_(HRESULT,Clone)(THIS_ IEnumCodePage** ppEnum) PURE; \
+ STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PMIMECPINFO rgelt, ULONG* pceltFetched) PURE; \
+ STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
+ STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
+
+HRESULT CALLBACK IEnumCodePage_Clone_Proxy(
+ IEnumCodePage* This,
+ IEnumCodePage** ppEnum);
+void __RPC_STUB IEnumCodePage_Clone_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumCodePage_Next_Proxy(
+ IEnumCodePage* This,
+ ULONG celt,
+ PMIMECPINFO rgelt,
+ ULONG* pceltFetched);
+void __RPC_STUB IEnumCodePage_Next_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumCodePage_Reset_Proxy(
+ IEnumCodePage* This);
+void __RPC_STUB IEnumCodePage_Reset_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumCodePage_Skip_Proxy(
+ IEnumCodePage* This,
+ ULONG celt);
+void __RPC_STUB IEnumCodePage_Skip_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IEnumCodePage_INTERFACE_DEFINED__ */
+
+#ifndef __IMLangConvertCharset_FWD_DEFINED__
+#define __IMLangConvertCharset_FWD_DEFINED__
+typedef struct IMLangConvertCharset IMLangConvertCharset;
+#endif
+
+/*****************************************************************************
+ * IMLangConvertCharset interface
+ */
+#ifndef __IMLangConvertCharset_INTERFACE_DEFINED__
+#define __IMLangConvertCharset_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+struct IMLangConvertCharset : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE Initialize(
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetSourceCodePage(
+ UINT* puiSrcCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDestinationCodePage(
+ UINT* puiDstCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetProperty(
+ DWORD* pdwProperty) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DoConversion(
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DoConversionToUnicode(
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DoConversionFromUnicode(
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize) = 0;
+
+};
+#else
+typedef struct IMLangConvertCharsetVtbl IMLangConvertCharsetVtbl;
+struct IMLangConvertCharset {
+ const IMLangConvertCharsetVtbl* lpVtbl;
+};
+struct IMLangConvertCharsetVtbl {
+ ICOM_MSVTABLE_COMPAT_FIELDS
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IMLangConvertCharset* This,
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IMLangConvertCharset* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IMLangConvertCharset* This);
+
+ /*** IMLangConvertCharset methods ***/
+ HRESULT (STDMETHODCALLTYPE *Initialize)(
+ IMLangConvertCharset* This,
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty);
+
+ HRESULT (STDMETHODCALLTYPE *GetSourceCodePage)(
+ IMLangConvertCharset* This,
+ UINT* puiSrcCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *GetDestinationCodePage)(
+ IMLangConvertCharset* This,
+ UINT* puiDstCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *GetProperty)(
+ IMLangConvertCharset* This,
+ DWORD* pdwProperty);
+
+ HRESULT (STDMETHODCALLTYPE *DoConversion)(
+ IMLangConvertCharset* This,
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize);
+
+ HRESULT (STDMETHODCALLTYPE *DoConversionToUnicode)(
+ IMLangConvertCharset* This,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize);
+
+ HRESULT (STDMETHODCALLTYPE *DoConversionFromUnicode)(
+ IMLangConvertCharset* This,
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize);
+
+};
+
+/*** IUnknown methods ***/
+#define IMLangConvertCharset_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IMLangConvertCharset_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IMLangConvertCharset_Release(p) (p)->lpVtbl->Release(p)
+/*** IMLangConvertCharset methods ***/
+#define IMLangConvertCharset_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
+#define IMLangConvertCharset_GetSourceCodePage(p,a) (p)->lpVtbl->GetSourceCodePage(p,a)
+#define IMLangConvertCharset_GetDestinationCodePage(p,a) (p)->lpVtbl->GetDestinationCodePage(p,a)
+#define IMLangConvertCharset_GetProperty(p,a) (p)->lpVtbl->GetProperty(p,a)
+#define IMLangConvertCharset_DoConversion(p,a,b,c,d) (p)->lpVtbl->DoConversion(p,a,b,c,d)
+#define IMLangConvertCharset_DoConversionToUnicode(p,a,b,c,d) (p)->lpVtbl->DoConversionToUnicode(p,a,b,c,d)
+#define IMLangConvertCharset_DoConversionFromUnicode(p,a,b,c,d) (p)->lpVtbl->DoConversionFromUnicode(p,a,b,c,d)
+
+#endif
+
+#define IMLangConvertCharset_METHODS \
+ ICOM_MSVTABLE_COMPAT_FIELDS \
+ /*** IUnknown methods ***/ \
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
+ STDMETHOD_(ULONG,Release)(THIS) PURE; \
+ /*** IMLangConvertCharset methods ***/ \
+ STDMETHOD_(HRESULT,Initialize)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty) PURE; \
+ STDMETHOD_(HRESULT,GetSourceCodePage)(THIS_ UINT* puiSrcCodePage) PURE; \
+ STDMETHOD_(HRESULT,GetDestinationCodePage)(THIS_ UINT* puiDstCodePage) PURE; \
+ STDMETHOD_(HRESULT,GetProperty)(THIS_ DWORD* pdwProperty) PURE; \
+ STDMETHOD_(HRESULT,DoConversion)(THIS_ BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
+ STDMETHOD_(HRESULT,DoConversionToUnicode)(THIS_ CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
+ STDMETHOD_(HRESULT,DoConversionFromUnicode)(THIS_ WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE;
+
+HRESULT CALLBACK IMLangConvertCharset_Initialize_Proxy(
+ IMLangConvertCharset* This,
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty);
+void __RPC_STUB IMLangConvertCharset_Initialize_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangConvertCharset_GetSourceCodePage_Proxy(
+ IMLangConvertCharset* This,
+ UINT* puiSrcCodePage);
+void __RPC_STUB IMLangConvertCharset_GetSourceCodePage_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangConvertCharset_GetDestinationCodePage_Proxy(
+ IMLangConvertCharset* This,
+ UINT* puiDstCodePage);
+void __RPC_STUB IMLangConvertCharset_GetDestinationCodePage_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangConvertCharset_GetProperty_Proxy(
+ IMLangConvertCharset* This,
+ DWORD* pdwProperty);
+void __RPC_STUB IMLangConvertCharset_GetProperty_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangConvertCharset_DoConversion_Proxy(
+ IMLangConvertCharset* This,
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMLangConvertCharset_DoConversion_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangConvertCharset_DoConversionToUnicode_Proxy(
+ IMLangConvertCharset* This,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMLangConvertCharset_DoConversionToUnicode_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMLangConvertCharset_DoConversionFromUnicode_Proxy(
+ IMLangConvertCharset* This,
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMLangConvertCharset_DoConversionFromUnicode_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IMLangConvertCharset_INTERFACE_DEFINED__ */
+
+#ifndef __IEnumRfc1766_FWD_DEFINED__
+#define __IEnumRfc1766_FWD_DEFINED__
+typedef struct IEnumRfc1766 IEnumRfc1766;
+#endif
+
+/*****************************************************************************
+ * IEnumRfc1766 interface
+ */
+#ifndef __IEnumRfc1766_INTERFACE_DEFINED__
+#define __IEnumRfc1766_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+struct IEnumRfc1766 : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ IEnumRfc1766** ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ ULONG celt,
+ PRFC1766INFO rgelt,
+ ULONG* pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ ULONG celt) = 0;
+
+};
+#else
+typedef struct IEnumRfc1766Vtbl IEnumRfc1766Vtbl;
+struct IEnumRfc1766 {
+ const IEnumRfc1766Vtbl* lpVtbl;
+};
+struct IEnumRfc1766Vtbl {
+ ICOM_MSVTABLE_COMPAT_FIELDS
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IEnumRfc1766* This,
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IEnumRfc1766* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IEnumRfc1766* This);
+
+ /*** IEnumRfc1766 methods ***/
+ HRESULT (STDMETHODCALLTYPE *Clone)(
+ IEnumRfc1766* This,
+ IEnumRfc1766** ppEnum);
+
+ HRESULT (STDMETHODCALLTYPE *Next)(
+ IEnumRfc1766* This,
+ ULONG celt,
+ PRFC1766INFO rgelt,
+ ULONG* pceltFetched);
+
+ HRESULT (STDMETHODCALLTYPE *Reset)(
+ IEnumRfc1766* This);
+
+ HRESULT (STDMETHODCALLTYPE *Skip)(
+ IEnumRfc1766* This,
+ ULONG celt);
+
+};
+
+/*** IUnknown methods ***/
+#define IEnumRfc1766_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IEnumRfc1766_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IEnumRfc1766_Release(p) (p)->lpVtbl->Release(p)
+/*** IEnumRfc1766 methods ***/
+#define IEnumRfc1766_Clone(p,a) (p)->lpVtbl->Clone(p,a)
+#define IEnumRfc1766_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
+#define IEnumRfc1766_Reset(p) (p)->lpVtbl->Reset(p)
+#define IEnumRfc1766_Skip(p,a) (p)->lpVtbl->Skip(p,a)
+
+#endif
+
+#define IEnumRfc1766_METHODS \
+ ICOM_MSVTABLE_COMPAT_FIELDS \
+ /*** IUnknown methods ***/ \
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
+ STDMETHOD_(ULONG,Release)(THIS) PURE; \
+ /*** IEnumRfc1766 methods ***/ \
+ STDMETHOD_(HRESULT,Clone)(THIS_ IEnumRfc1766** ppEnum) PURE; \
+ STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, PRFC1766INFO rgelt, ULONG* pceltFetched) PURE; \
+ STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
+ STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE;
+
+HRESULT CALLBACK IEnumRfc1766_Clone_Proxy(
+ IEnumRfc1766* This,
+ IEnumRfc1766** ppEnum);
+void __RPC_STUB IEnumRfc1766_Clone_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumRfc1766_Next_Proxy(
+ IEnumRfc1766* This,
+ ULONG celt,
+ PRFC1766INFO rgelt,
+ ULONG* pceltFetched);
+void __RPC_STUB IEnumRfc1766_Next_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumRfc1766_Reset_Proxy(
+ IEnumRfc1766* This);
+void __RPC_STUB IEnumRfc1766_Reset_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IEnumRfc1766_Skip_Proxy(
+ IEnumRfc1766* This,
+ ULONG celt);
+void __RPC_STUB IEnumRfc1766_Skip_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IEnumRfc1766_INTERFACE_DEFINED__ */
+
+#ifndef __IMultiLanguage_FWD_DEFINED__
+#define __IMultiLanguage_FWD_DEFINED__
+typedef struct IMultiLanguage IMultiLanguage;
+#endif
+
+/*****************************************************************************
+ * IMultiLanguage interface
+ */
+#ifndef __IMultiLanguage_INTERFACE_DEFINED__
+#define __IMultiLanguage_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+struct IMultiLanguage : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo(
+ UINT* pcCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
+ UINT uiCodePage,
+ PMIMECPINFO pCodePageInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage(
+ UINT uiCodePage,
+ UINT* puiFamilyCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumCodePages(
+ DWORD grfFlags,
+ IEnumCodePage** ppEnumCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
+ BSTR Charset,
+ PMIMECSETINFO pCharsetInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsConvertible(
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertString(
+ DWORD* pdwMode,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode(
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode(
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertStringReset(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid(
+ LCID Locale,
+ BSTR* pbstrRfc1766) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766(
+ LCID* pLocale,
+ BSTR bstrRfc1766) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumRfc1766(
+ IEnumRfc1766** ppEnumRfc1766) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info(
+ LCID Locale,
+ PRFC1766INFO pRfc1766Info) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset(
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty,
+ IMLangConvertCharset** ppMLangConvertCharset) = 0;
+
+};
+#else
+typedef struct IMultiLanguageVtbl IMultiLanguageVtbl;
+struct IMultiLanguage {
+ const IMultiLanguageVtbl* lpVtbl;
+};
+struct IMultiLanguageVtbl {
+ ICOM_MSVTABLE_COMPAT_FIELDS
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IMultiLanguage* This,
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IMultiLanguage* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IMultiLanguage* This);
+
+ /*** IMultiLanguage methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetNumberOfCodePageInfo)(
+ IMultiLanguage* This,
+ UINT* pcCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *GetCodePageInfo)(
+ IMultiLanguage* This,
+ UINT uiCodePage,
+ PMIMECPINFO pCodePageInfo);
+
+ HRESULT (STDMETHODCALLTYPE *GetFamilyCodePage)(
+ IMultiLanguage* This,
+ UINT uiCodePage,
+ UINT* puiFamilyCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *EnumCodePages)(
+ IMultiLanguage* This,
+ DWORD grfFlags,
+ IEnumCodePage** ppEnumCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *GetCharsetInfo)(
+ IMultiLanguage* This,
+ BSTR Charset,
+ PMIMECSETINFO pCharsetInfo);
+
+ HRESULT (STDMETHODCALLTYPE *IsConvertible)(
+ IMultiLanguage* This,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertString)(
+ IMultiLanguage* This,
+ DWORD* pdwMode,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicode)(
+ IMultiLanguage* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicode)(
+ IMultiLanguage* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertStringReset)(
+ IMultiLanguage* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetRfc1766FromLcid)(
+ IMultiLanguage* This,
+ LCID Locale,
+ BSTR* pbstrRfc1766);
+
+ HRESULT (STDMETHODCALLTYPE *GetLcidFromRfc1766)(
+ IMultiLanguage* This,
+ LCID* pLocale,
+ BSTR bstrRfc1766);
+
+ HRESULT (STDMETHODCALLTYPE *EnumRfc1766)(
+ IMultiLanguage* This,
+ IEnumRfc1766** ppEnumRfc1766);
+
+ HRESULT (STDMETHODCALLTYPE *GetRfc1766Info)(
+ IMultiLanguage* This,
+ LCID Locale,
+ PRFC1766INFO pRfc1766Info);
+
+ HRESULT (STDMETHODCALLTYPE *CreateConvertCharset)(
+ IMultiLanguage* This,
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty,
+ IMLangConvertCharset** ppMLangConvertCharset);
+
+};
+
+/*** IUnknown methods ***/
+#define IMultiLanguage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IMultiLanguage_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IMultiLanguage_Release(p) (p)->lpVtbl->Release(p)
+/*** IMultiLanguage methods ***/
+#define IMultiLanguage_GetNumberOfCodePageInfo(p,a) (p)->lpVtbl->GetNumberOfCodePageInfo(p,a)
+#define IMultiLanguage_GetCodePageInfo(p,a,b) (p)->lpVtbl->GetCodePageInfo(p,a,b)
+#define IMultiLanguage_GetFamilyCodePage(p,a,b) (p)->lpVtbl->GetFamilyCodePage(p,a,b)
+#define IMultiLanguage_EnumCodePages(p,a,b) (p)->lpVtbl->EnumCodePages(p,a,b)
+#define IMultiLanguage_GetCharsetInfo(p,a,b) (p)->lpVtbl->GetCharsetInfo(p,a,b)
+#define IMultiLanguage_IsConvertible(p,a,b) (p)->lpVtbl->IsConvertible(p,a,b)
+#define IMultiLanguage_ConvertString(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertString(p,a,b,c,d,e,f,g)
+#define IMultiLanguage_ConvertStringToUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringToUnicode(p,a,b,c,d,e,f)
+#define IMultiLanguage_ConvertStringFromUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringFromUnicode(p,a,b,c,d,e,f)
+#define IMultiLanguage_ConvertStringReset(p) (p)->lpVtbl->ConvertStringReset(p)
+#define IMultiLanguage_GetRfc1766FromLcid(p,a,b) (p)->lpVtbl->GetRfc1766FromLcid(p,a,b)
+#define IMultiLanguage_GetLcidFromRfc1766(p,a,b) (p)->lpVtbl->GetLcidFromRfc1766(p,a,b)
+#define IMultiLanguage_EnumRfc1766(p,a) (p)->lpVtbl->EnumRfc1766(p,a)
+#define IMultiLanguage_GetRfc1766Info(p,a,b) (p)->lpVtbl->GetRfc1766Info(p,a,b)
+#define IMultiLanguage_CreateConvertCharset(p,a,b,c,d) (p)->lpVtbl->CreateConvertCharset(p,a,b,c,d)
+
+#endif
+
+#define IMultiLanguage_METHODS \
+ ICOM_MSVTABLE_COMPAT_FIELDS \
+ /*** IUnknown methods ***/ \
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
+ STDMETHOD_(ULONG,Release)(THIS) PURE; \
+ /*** IMultiLanguage methods ***/ \
+ STDMETHOD_(HRESULT,GetNumberOfCodePageInfo)(THIS_ UINT* pcCodePage) PURE; \
+ STDMETHOD_(HRESULT,GetCodePageInfo)(THIS_ UINT uiCodePage, PMIMECPINFO pCodePageInfo) PURE; \
+ STDMETHOD_(HRESULT,GetFamilyCodePage)(THIS_ UINT uiCodePage, UINT* puiFamilyCodePage) PURE; \
+ STDMETHOD_(HRESULT,EnumCodePages)(THIS_ DWORD grfFlags, IEnumCodePage** ppEnumCodePage) PURE; \
+ STDMETHOD_(HRESULT,GetCharsetInfo)(THIS_ BSTR Charset, PMIMECSETINFO pCharsetInfo) PURE; \
+ STDMETHOD_(HRESULT,IsConvertible)(THIS_ DWORD dwSrcEncoding, DWORD dwDstEncoding) PURE; \
+ STDMETHOD_(HRESULT,ConvertString)(THIS_ DWORD* pdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
+ STDMETHOD_(HRESULT,ConvertStringToUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
+ STDMETHOD_(HRESULT,ConvertStringFromUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE; \
+ STDMETHOD_(HRESULT,ConvertStringReset)(THIS) PURE; \
+ STDMETHOD_(HRESULT,GetRfc1766FromLcid)(THIS_ LCID Locale, BSTR* pbstrRfc1766) PURE; \
+ STDMETHOD_(HRESULT,GetLcidFromRfc1766)(THIS_ LCID* pLocale, BSTR bstrRfc1766) PURE; \
+ STDMETHOD_(HRESULT,EnumRfc1766)(THIS_ IEnumRfc1766** ppEnumRfc1766) PURE; \
+ STDMETHOD_(HRESULT,GetRfc1766Info)(THIS_ LCID Locale, PRFC1766INFO pRfc1766Info) PURE; \
+ STDMETHOD_(HRESULT,CreateConvertCharset)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty, IMLangConvertCharset** ppMLangConvertCharset) PURE;
+
+HRESULT CALLBACK IMultiLanguage_GetNumberOfCodePageInfo_Proxy(
+ IMultiLanguage* This,
+ UINT* pcCodePage);
+void __RPC_STUB IMultiLanguage_GetNumberOfCodePageInfo_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_GetCodePageInfo_Proxy(
+ IMultiLanguage* This,
+ UINT uiCodePage,
+ PMIMECPINFO pCodePageInfo);
+void __RPC_STUB IMultiLanguage_GetCodePageInfo_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_GetFamilyCodePage_Proxy(
+ IMultiLanguage* This,
+ UINT uiCodePage,
+ UINT* puiFamilyCodePage);
+void __RPC_STUB IMultiLanguage_GetFamilyCodePage_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_EnumCodePages_Proxy(
+ IMultiLanguage* This,
+ DWORD grfFlags,
+ IEnumCodePage** ppEnumCodePage);
+void __RPC_STUB IMultiLanguage_EnumCodePages_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_GetCharsetInfo_Proxy(
+ IMultiLanguage* This,
+ BSTR Charset,
+ PMIMECSETINFO pCharsetInfo);
+void __RPC_STUB IMultiLanguage_GetCharsetInfo_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_IsConvertible_Proxy(
+ IMultiLanguage* This,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding);
+void __RPC_STUB IMultiLanguage_IsConvertible_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_ConvertString_Proxy(
+ IMultiLanguage* This,
+ DWORD* pdwMode,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMultiLanguage_ConvertString_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_ConvertStringToUnicode_Proxy(
+ IMultiLanguage* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMultiLanguage_ConvertStringToUnicode_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_ConvertStringFromUnicode_Proxy(
+ IMultiLanguage* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMultiLanguage_ConvertStringFromUnicode_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_ConvertStringReset_Proxy(
+ IMultiLanguage* This);
+void __RPC_STUB IMultiLanguage_ConvertStringReset_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_GetRfc1766FromLcid_Proxy(
+ IMultiLanguage* This,
+ LCID Locale,
+ BSTR* pbstrRfc1766);
+void __RPC_STUB IMultiLanguage_GetRfc1766FromLcid_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_GetLcidFromRfc1766_Proxy(
+ IMultiLanguage* This,
+ LCID* pLocale,
+ BSTR bstrRfc1766);
+void __RPC_STUB IMultiLanguage_GetLcidFromRfc1766_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_EnumRfc1766_Proxy(
+ IMultiLanguage* This,
+ IEnumRfc1766** ppEnumRfc1766);
+void __RPC_STUB IMultiLanguage_EnumRfc1766_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_GetRfc1766Info_Proxy(
+ IMultiLanguage* This,
+ LCID Locale,
+ PRFC1766INFO pRfc1766Info);
+void __RPC_STUB IMultiLanguage_GetRfc1766Info_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage_CreateConvertCharset_Proxy(
+ IMultiLanguage* This,
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty,
+ IMLangConvertCharset** ppMLangConvertCharset);
+void __RPC_STUB IMultiLanguage_CreateConvertCharset_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IMultiLanguage_INTERFACE_DEFINED__ */
+
+#ifndef __IMultiLanguage2_FWD_DEFINED__
+#define __IMultiLanguage2_FWD_DEFINED__
+typedef struct IMultiLanguage2 IMultiLanguage2;
+#endif
+
+/*****************************************************************************
+ * IMultiLanguage2 interface
+ */
+#ifndef __IMultiLanguage2_INTERFACE_DEFINED__
+#define __IMultiLanguage2_INTERFACE_DEFINED__
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+struct IMultiLanguage2 : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo(
+ UINT* pcCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo(
+ UINT uiCodePage,
+ LANGID LangId,
+ PMIMECPINFO pCodePageInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage(
+ UINT uiCodePage,
+ UINT* puiFamilyCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumCodePages(
+ DWORD grfFlags,
+ LANGID LangId,
+ IEnumCodePage** ppEnumCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo(
+ BSTR Charset,
+ PMIMECSETINFO pCharsetInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsConvertible(
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertString(
+ DWORD* pdwMode,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode(
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode(
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertStringReset(
+ ) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid(
+ LCID Locale,
+ BSTR* pbstrRfc1766) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766(
+ LCID* pLocale,
+ BSTR bstrRfc1766) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumRfc1766(
+ LANGID LangId,
+ IEnumRfc1766** ppEnumRfc1766) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info(
+ LCID Locale,
+ LANGID LangId,
+ PRFC1766INFO pRfc1766Info) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset(
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty,
+ IMLangConvertCharset** ppMLangConvertCharset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertStringInIStream(
+ DWORD* pdwMode,
+ DWORD dwFlag,
+ WCHAR* lpFallBack,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ IStream* pstmIn,
+ IStream* pstmOut) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicodeEx(
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize,
+ DWORD dwFlag,
+ WCHAR* lpFallBack) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DetectCodepageInIStream(
+ DWORD dwFlag,
+ DWORD dwPrefWinCodePage,
+ IStream* pstmIn,
+ DetectEncodingInfo* lpEncoding,
+ INT* pnScores) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DetectInputCodepage(
+ DWORD dwFlag,
+ DWORD dwPrefWinCodePage,
+ CHAR* pSrcStr,
+ INT* pcSrcSize,
+ DetectEncodingInfo* lpEncoding,
+ INT* pnScores) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ValidateCodePage(
+ UINT uiCodePage,
+ HWND hwnd) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCodePageDescription(
+ UINT uiCodePage,
+ LCID lcid,
+ LPWSTR lpWideCharStr,
+ int cchWideChar) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsCodePageInstallable(
+ UINT uiCodePage) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetMimeDBSource(
+ MIMECONTF dwSource) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetNumberOfScripts(
+ UINT* pnScripts) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE EnumScripts(
+ DWORD dwFlags,
+ LANGID LangId,
+ IEnumScript** ppEnumScript) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ValidateCodePageEx(
+ UINT uiCodePage,
+ HWND hwnd,
+ DWORD dwfIODControl) = 0;
+
+};
+#else
+typedef struct IMultiLanguage2Vtbl IMultiLanguage2Vtbl;
+struct IMultiLanguage2 {
+ const IMultiLanguage2Vtbl* lpVtbl;
+};
+struct IMultiLanguage2Vtbl {
+ ICOM_MSVTABLE_COMPAT_FIELDS
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IMultiLanguage2* This,
+ REFIID riid,
+ void** ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IMultiLanguage2* This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IMultiLanguage2* This);
+
+ /*** IMultiLanguage2 methods ***/
+ HRESULT (STDMETHODCALLTYPE *GetNumberOfCodePageInfo)(
+ IMultiLanguage2* This,
+ UINT* pcCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *GetCodePageInfo)(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ LANGID LangId,
+ PMIMECPINFO pCodePageInfo);
+
+ HRESULT (STDMETHODCALLTYPE *GetFamilyCodePage)(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ UINT* puiFamilyCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *EnumCodePages)(
+ IMultiLanguage2* This,
+ DWORD grfFlags,
+ LANGID LangId,
+ IEnumCodePage** ppEnumCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *GetCharsetInfo)(
+ IMultiLanguage2* This,
+ BSTR Charset,
+ PMIMECSETINFO pCharsetInfo);
+
+ HRESULT (STDMETHODCALLTYPE *IsConvertible)(
+ IMultiLanguage2* This,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertString)(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicode)(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicode)(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertStringReset)(
+ IMultiLanguage2* This);
+
+ HRESULT (STDMETHODCALLTYPE *GetRfc1766FromLcid)(
+ IMultiLanguage2* This,
+ LCID Locale,
+ BSTR* pbstrRfc1766);
+
+ HRESULT (STDMETHODCALLTYPE *GetLcidFromRfc1766)(
+ IMultiLanguage2* This,
+ LCID* pLocale,
+ BSTR bstrRfc1766);
+
+ HRESULT (STDMETHODCALLTYPE *EnumRfc1766)(
+ IMultiLanguage2* This,
+ LANGID LangId,
+ IEnumRfc1766** ppEnumRfc1766);
+
+ HRESULT (STDMETHODCALLTYPE *GetRfc1766Info)(
+ IMultiLanguage2* This,
+ LCID Locale,
+ LANGID LangId,
+ PRFC1766INFO pRfc1766Info);
+
+ HRESULT (STDMETHODCALLTYPE *CreateConvertCharset)(
+ IMultiLanguage2* This,
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty,
+ IMLangConvertCharset** ppMLangConvertCharset);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertStringInIStream)(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwFlag,
+ WCHAR* lpFallBack,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ IStream* pstmIn,
+ IStream* pstmOut);
+
+ HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicodeEx)(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize,
+ DWORD dwFlag,
+ WCHAR* lpFallBack);
+
+ HRESULT (STDMETHODCALLTYPE *DetectCodepageInIStream)(
+ IMultiLanguage2* This,
+ DWORD dwFlag,
+ DWORD dwPrefWinCodePage,
+ IStream* pstmIn,
+ DetectEncodingInfo* lpEncoding,
+ INT* pnScores);
+
+ HRESULT (STDMETHODCALLTYPE *DetectInputCodepage)(
+ IMultiLanguage2* This,
+ DWORD dwFlag,
+ DWORD dwPrefWinCodePage,
+ CHAR* pSrcStr,
+ INT* pcSrcSize,
+ DetectEncodingInfo* lpEncoding,
+ INT* pnScores);
+
+ HRESULT (STDMETHODCALLTYPE *ValidateCodePage)(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ HWND hwnd);
+
+ HRESULT (STDMETHODCALLTYPE *GetCodePageDescription)(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ LCID lcid,
+ LPWSTR lpWideCharStr,
+ int cchWideChar);
+
+ HRESULT (STDMETHODCALLTYPE *IsCodePageInstallable)(
+ IMultiLanguage2* This,
+ UINT uiCodePage);
+
+ HRESULT (STDMETHODCALLTYPE *SetMimeDBSource)(
+ IMultiLanguage2* This,
+ MIMECONTF dwSource);
+
+ HRESULT (STDMETHODCALLTYPE *GetNumberOfScripts)(
+ IMultiLanguage2* This,
+ UINT* pnScripts);
+
+ HRESULT (STDMETHODCALLTYPE *EnumScripts)(
+ IMultiLanguage2* This,
+ DWORD dwFlags,
+ LANGID LangId,
+ IEnumScript** ppEnumScript);
+
+ HRESULT (STDMETHODCALLTYPE *ValidateCodePageEx)(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ HWND hwnd,
+ DWORD dwfIODControl);
+
+};
+
+/*** IUnknown methods ***/
+#define IMultiLanguage2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IMultiLanguage2_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IMultiLanguage2_Release(p) (p)->lpVtbl->Release(p)
+/*** IMultiLanguage2 methods ***/
+#define IMultiLanguage2_GetNumberOfCodePageInfo(p,a) (p)->lpVtbl->GetNumberOfCodePageInfo(p,a)
+#define IMultiLanguage2_GetCodePageInfo(p,a,b,c) (p)->lpVtbl->GetCodePageInfo(p,a,b,c)
+#define IMultiLanguage2_GetFamilyCodePage(p,a,b) (p)->lpVtbl->GetFamilyCodePage(p,a,b)
+#define IMultiLanguage2_EnumCodePages(p,a,b,c) (p)->lpVtbl->EnumCodePages(p,a,b,c)
+#define IMultiLanguage2_GetCharsetInfo(p,a,b) (p)->lpVtbl->GetCharsetInfo(p,a,b)
+#define IMultiLanguage2_IsConvertible(p,a,b) (p)->lpVtbl->IsConvertible(p,a,b)
+#define IMultiLanguage2_ConvertString(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertString(p,a,b,c,d,e,f,g)
+#define IMultiLanguage2_ConvertStringToUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringToUnicode(p,a,b,c,d,e,f)
+#define IMultiLanguage2_ConvertStringFromUnicode(p,a,b,c,d,e,f) (p)->lpVtbl->ConvertStringFromUnicode(p,a,b,c,d,e,f)
+#define IMultiLanguage2_ConvertStringReset(p) (p)->lpVtbl->ConvertStringReset(p)
+#define IMultiLanguage2_GetRfc1766FromLcid(p,a,b) (p)->lpVtbl->GetRfc1766FromLcid(p,a,b)
+#define IMultiLanguage2_GetLcidFromRfc1766(p,a,b) (p)->lpVtbl->GetLcidFromRfc1766(p,a,b)
+#define IMultiLanguage2_EnumRfc1766(p,a,b) (p)->lpVtbl->EnumRfc1766(p,a,b)
+#define IMultiLanguage2_GetRfc1766Info(p,a,b,c) (p)->lpVtbl->GetRfc1766Info(p,a,b,c)
+#define IMultiLanguage2_CreateConvertCharset(p,a,b,c,d) (p)->lpVtbl->CreateConvertCharset(p,a,b,c,d)
+#define IMultiLanguage2_ConvertStringInIStream(p,a,b,c,d,e,f,g) (p)->lpVtbl->ConvertStringInIStream(p,a,b,c,d,e,f,g)
+#define IMultiLanguage2_ConvertStringToUnicodeEx(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ConvertStringToUnicodeEx(p,a,b,c,d,e,f,g,h)
+#define IMultiLanguage2_DetectCodepageInIStream(p,a,b,c,d,e) (p)->lpVtbl->DetectCodepageInIStream(p,a,b,c,d,e)
+#define IMultiLanguage2_DetectInputCodepage(p,a,b,c,d,e,f) (p)->lpVtbl->DetectInputCodepage(p,a,b,c,d,e,f)
+#define IMultiLanguage2_ValidateCodePage(p,a,b) (p)->lpVtbl->ValidateCodePage(p,a,b)
+#define IMultiLanguage2_GetCodePageDescription(p,a,b,c,d) (p)->lpVtbl->GetCodePageDescription(p,a,b,c,d)
+#define IMultiLanguage2_IsCodePageInstallable(p,a) (p)->lpVtbl->IsCodePageInstallable(p,a)
+#define IMultiLanguage2_SetMimeDBSource(p,a) (p)->lpVtbl->SetMimeDBSource(p,a)
+#define IMultiLanguage2_GetNumberOfScripts(p,a) (p)->lpVtbl->GetNumberOfScripts(p,a)
+#define IMultiLanguage2_EnumScripts(p,a,b,c) (p)->lpVtbl->EnumScripts(p,a,b,c)
+#define IMultiLanguage2_ValidateCodePageEx(p,a,b,c) (p)->lpVtbl->ValidateCodePageEx(p,a,b,c)
+
+#endif
+
+#define IMultiLanguage2_METHODS \
+ ICOM_MSVTABLE_COMPAT_FIELDS \
+ /*** IUnknown methods ***/ \
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
+ STDMETHOD_(ULONG,Release)(THIS) PURE; \
+ /*** IMultiLanguage2 methods ***/ \
+ STDMETHOD_(HRESULT,GetNumberOfCodePageInfo)(THIS_ UINT* pcCodePage) PURE; \
+ STDMETHOD_(HRESULT,GetCodePageInfo)(THIS_ UINT uiCodePage, LANGID LangId, PMIMECPINFO pCodePageInfo) PURE; \
+ STDMETHOD_(HRESULT,GetFamilyCodePage)(THIS_ UINT uiCodePage, UINT* puiFamilyCodePage) PURE; \
+ STDMETHOD_(HRESULT,EnumCodePages)(THIS_ DWORD grfFlags, LANGID LangId, IEnumCodePage** ppEnumCodePage) PURE; \
+ STDMETHOD_(HRESULT,GetCharsetInfo)(THIS_ BSTR Charset, PMIMECSETINFO pCharsetInfo) PURE; \
+ STDMETHOD_(HRESULT,IsConvertible)(THIS_ DWORD dwSrcEncoding, DWORD dwDstEncoding) PURE; \
+ STDMETHOD_(HRESULT,ConvertString)(THIS_ DWORD* pdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, BYTE* pSrcStr, UINT* pcSrcSize, BYTE* pDstStr, UINT* pcDstSize) PURE; \
+ STDMETHOD_(HRESULT,ConvertStringToUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize) PURE; \
+ STDMETHOD_(HRESULT,ConvertStringFromUnicode)(THIS_ DWORD* pdwMode, DWORD dwEncoding, WCHAR* pSrcStr, UINT* pcSrcSize, CHAR* pDstStr, UINT* pcDstSize) PURE; \
+ STDMETHOD_(HRESULT,ConvertStringReset)(THIS) PURE; \
+ STDMETHOD_(HRESULT,GetRfc1766FromLcid)(THIS_ LCID Locale, BSTR* pbstrRfc1766) PURE; \
+ STDMETHOD_(HRESULT,GetLcidFromRfc1766)(THIS_ LCID* pLocale, BSTR bstrRfc1766) PURE; \
+ STDMETHOD_(HRESULT,EnumRfc1766)(THIS_ LANGID LangId, IEnumRfc1766** ppEnumRfc1766) PURE; \
+ STDMETHOD_(HRESULT,GetRfc1766Info)(THIS_ LCID Locale, LANGID LangId, PRFC1766INFO pRfc1766Info) PURE; \
+ STDMETHOD_(HRESULT,CreateConvertCharset)(THIS_ UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty, IMLangConvertCharset** ppMLangConvertCharset) PURE; \
+ STDMETHOD_(HRESULT,ConvertStringInIStream)(THIS_ DWORD* pdwMode, DWORD dwFlag, WCHAR* lpFallBack, DWORD dwSrcEncoding, DWORD dwDstEncoding, IStream* pstmIn, IStream* pstmOut) PURE; \
+ STDMETHOD_(HRESULT,ConvertStringToUnicodeEx)(THIS_ DWORD* pdwMode, DWORD dwEncoding, CHAR* pSrcStr, UINT* pcSrcSize, WCHAR* pDstStr, UINT* pcDstSize, DWORD dwFlag, WCHAR* lpFallBack) PURE; \
+ STDMETHOD_(HRESULT,DetectCodepageInIStream)(THIS_ DWORD dwFlag, DWORD dwPrefWinCodePage, IStream* pstmIn, DetectEncodingInfo* lpEncoding, INT* pnScores) PURE; \
+ STDMETHOD_(HRESULT,DetectInputCodepage)(THIS_ DWORD dwFlag, DWORD dwPrefWinCodePage, CHAR* pSrcStr, INT* pcSrcSize, DetectEncodingInfo* lpEncoding, INT* pnScores) PURE; \
+ STDMETHOD_(HRESULT,ValidateCodePage)(THIS_ UINT uiCodePage, HWND hwnd) PURE; \
+ STDMETHOD_(HRESULT,GetCodePageDescription)(THIS_ UINT uiCodePage, LCID lcid, LPWSTR lpWideCharStr, int cchWideChar) PURE; \
+ STDMETHOD_(HRESULT,IsCodePageInstallable)(THIS_ UINT uiCodePage) PURE; \
+ STDMETHOD_(HRESULT,SetMimeDBSource)(THIS_ MIMECONTF dwSource) PURE; \
+ STDMETHOD_(HRESULT,GetNumberOfScripts)(THIS_ UINT* pnScripts) PURE; \
+ STDMETHOD_(HRESULT,EnumScripts)(THIS_ DWORD dwFlags, LANGID LangId, IEnumScript** ppEnumScript) PURE; \
+ STDMETHOD_(HRESULT,ValidateCodePageEx)(THIS_ UINT uiCodePage, HWND hwnd, DWORD dwfIODControl) PURE;
+
+HRESULT CALLBACK IMultiLanguage2_GetNumberOfCodePageInfo_Proxy(
+ IMultiLanguage2* This,
+ UINT* pcCodePage);
+void __RPC_STUB IMultiLanguage2_GetNumberOfCodePageInfo_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_GetCodePageInfo_Proxy(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ LANGID LangId,
+ PMIMECPINFO pCodePageInfo);
+void __RPC_STUB IMultiLanguage2_GetCodePageInfo_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_GetFamilyCodePage_Proxy(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ UINT* puiFamilyCodePage);
+void __RPC_STUB IMultiLanguage2_GetFamilyCodePage_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_EnumCodePages_Proxy(
+ IMultiLanguage2* This,
+ DWORD grfFlags,
+ LANGID LangId,
+ IEnumCodePage** ppEnumCodePage);
+void __RPC_STUB IMultiLanguage2_EnumCodePages_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_GetCharsetInfo_Proxy(
+ IMultiLanguage2* This,
+ BSTR Charset,
+ PMIMECSETINFO pCharsetInfo);
+void __RPC_STUB IMultiLanguage2_GetCharsetInfo_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_IsConvertible_Proxy(
+ IMultiLanguage2* This,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding);
+void __RPC_STUB IMultiLanguage2_IsConvertible_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_ConvertString_Proxy(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ BYTE* pSrcStr,
+ UINT* pcSrcSize,
+ BYTE* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMultiLanguage2_ConvertString_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_ConvertStringToUnicode_Proxy(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMultiLanguage2_ConvertStringToUnicode_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_ConvertStringFromUnicode_Proxy(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ WCHAR* pSrcStr,
+ UINT* pcSrcSize,
+ CHAR* pDstStr,
+ UINT* pcDstSize);
+void __RPC_STUB IMultiLanguage2_ConvertStringFromUnicode_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_ConvertStringReset_Proxy(
+ IMultiLanguage2* This);
+void __RPC_STUB IMultiLanguage2_ConvertStringReset_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_GetRfc1766FromLcid_Proxy(
+ IMultiLanguage2* This,
+ LCID Locale,
+ BSTR* pbstrRfc1766);
+void __RPC_STUB IMultiLanguage2_GetRfc1766FromLcid_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_GetLcidFromRfc1766_Proxy(
+ IMultiLanguage2* This,
+ LCID* pLocale,
+ BSTR bstrRfc1766);
+void __RPC_STUB IMultiLanguage2_GetLcidFromRfc1766_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_EnumRfc1766_Proxy(
+ IMultiLanguage2* This,
+ LANGID LangId,
+ IEnumRfc1766** ppEnumRfc1766);
+void __RPC_STUB IMultiLanguage2_EnumRfc1766_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_GetRfc1766Info_Proxy(
+ IMultiLanguage2* This,
+ LCID Locale,
+ LANGID LangId,
+ PRFC1766INFO pRfc1766Info);
+void __RPC_STUB IMultiLanguage2_GetRfc1766Info_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_CreateConvertCharset_Proxy(
+ IMultiLanguage2* This,
+ UINT uiSrcCodePage,
+ UINT uiDstCodePage,
+ DWORD dwProperty,
+ IMLangConvertCharset** ppMLangConvertCharset);
+void __RPC_STUB IMultiLanguage2_CreateConvertCharset_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_ConvertStringInIStream_Proxy(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwFlag,
+ WCHAR* lpFallBack,
+ DWORD dwSrcEncoding,
+ DWORD dwDstEncoding,
+ IStream* pstmIn,
+ IStream* pstmOut);
+void __RPC_STUB IMultiLanguage2_ConvertStringInIStream_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_ConvertStringToUnicodeEx_Proxy(
+ IMultiLanguage2* This,
+ DWORD* pdwMode,
+ DWORD dwEncoding,
+ CHAR* pSrcStr,
+ UINT* pcSrcSize,
+ WCHAR* pDstStr,
+ UINT* pcDstSize,
+ DWORD dwFlag,
+ WCHAR* lpFallBack);
+void __RPC_STUB IMultiLanguage2_ConvertStringToUnicodeEx_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_DetectCodepageInIStream_Proxy(
+ IMultiLanguage2* This,
+ DWORD dwFlag,
+ DWORD dwPrefWinCodePage,
+ IStream* pstmIn,
+ DetectEncodingInfo* lpEncoding,
+ INT* pnScores);
+void __RPC_STUB IMultiLanguage2_DetectCodepageInIStream_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_DetectInputCodepage_Proxy(
+ IMultiLanguage2* This,
+ DWORD dwFlag,
+ DWORD dwPrefWinCodePage,
+ CHAR* pSrcStr,
+ INT* pcSrcSize,
+ DetectEncodingInfo* lpEncoding,
+ INT* pnScores);
+void __RPC_STUB IMultiLanguage2_DetectInputCodepage_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_ValidateCodePage_Proxy(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ HWND hwnd);
+void __RPC_STUB IMultiLanguage2_ValidateCodePage_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_GetCodePageDescription_Proxy(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ LCID lcid,
+ LPWSTR lpWideCharStr,
+ int cchWideChar);
+void __RPC_STUB IMultiLanguage2_GetCodePageDescription_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_IsCodePageInstallable_Proxy(
+ IMultiLanguage2* This,
+ UINT uiCodePage);
+void __RPC_STUB IMultiLanguage2_IsCodePageInstallable_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_SetMimeDBSource_Proxy(
+ IMultiLanguage2* This,
+ MIMECONTF dwSource);
+void __RPC_STUB IMultiLanguage2_SetMimeDBSource_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_GetNumberOfScripts_Proxy(
+ IMultiLanguage2* This,
+ UINT* pnScripts);
+void __RPC_STUB IMultiLanguage2_GetNumberOfScripts_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_EnumScripts_Proxy(
+ IMultiLanguage2* This,
+ DWORD dwFlags,
+ LANGID LangId,
+ IEnumScript** ppEnumScript);
+void __RPC_STUB IMultiLanguage2_EnumScripts_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IMultiLanguage2_ValidateCodePageEx_Proxy(
+ IMultiLanguage2* This,
+ UINT uiCodePage,
+ HWND hwnd,
+ DWORD dwfIODControl);
+void __RPC_STUB IMultiLanguage2_ValidateCodePageEx_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#endif /* __IMultiLanguage2_INTERFACE_DEFINED__ */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* __WIDL_MLANG_H */
More information about the wine-patches
mailing list