/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/include/mlang.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __mlang_h__ #define __mlang_h__ /* Forward declarations */ #ifndef __IMLangCodePages_FWD_DEFINED__ #define __IMLangCodePages_FWD_DEFINED__ typedef interface IMLangCodePages IMLangCodePages; #ifdef __cplusplus interface IMLangCodePages; #endif /* __cplusplus */ #endif #ifndef __IMLangFontLink_FWD_DEFINED__ #define __IMLangFontLink_FWD_DEFINED__ typedef interface IMLangFontLink IMLangFontLink; #ifdef __cplusplus interface IMLangFontLink; #endif /* __cplusplus */ #endif #ifndef __IEnumScript_FWD_DEFINED__ #define __IEnumScript_FWD_DEFINED__ typedef interface IEnumScript IEnumScript; #ifdef __cplusplus interface IEnumScript; #endif /* __cplusplus */ #endif #ifndef __IMLangFontLink2_FWD_DEFINED__ #define __IMLangFontLink2_FWD_DEFINED__ typedef interface IMLangFontLink2 IMLangFontLink2; #ifdef __cplusplus interface IMLangFontLink2; #endif /* __cplusplus */ #endif #ifndef __IMLangString_FWD_DEFINED__ #define __IMLangString_FWD_DEFINED__ typedef interface IMLangString IMLangString; #ifdef __cplusplus interface IMLangString; #endif /* __cplusplus */ #endif #ifndef __IMLangLineBreakConsole_FWD_DEFINED__ #define __IMLangLineBreakConsole_FWD_DEFINED__ typedef interface IMLangLineBreakConsole IMLangLineBreakConsole; #ifdef __cplusplus interface IMLangLineBreakConsole; #endif /* __cplusplus */ #endif #ifndef __IEnumCodePage_FWD_DEFINED__ #define __IEnumCodePage_FWD_DEFINED__ typedef interface IEnumCodePage IEnumCodePage; #ifdef __cplusplus interface IEnumCodePage; #endif /* __cplusplus */ #endif #ifndef __IMLangConvertCharset_FWD_DEFINED__ #define __IMLangConvertCharset_FWD_DEFINED__ typedef interface IMLangConvertCharset IMLangConvertCharset; #ifdef __cplusplus interface IMLangConvertCharset; #endif /* __cplusplus */ #endif #ifndef __CMLangConvertCharset_FWD_DEFINED__ #define __CMLangConvertCharset_FWD_DEFINED__ #ifdef __cplusplus typedef class CMLangConvertCharset CMLangConvertCharset; #else typedef struct CMLangConvertCharset CMLangConvertCharset; #endif /* defined __cplusplus */ #endif /* defined __CMLangConvertCharset_FWD_DEFINED__ */ #ifndef __IEnumRfc1766_FWD_DEFINED__ #define __IEnumRfc1766_FWD_DEFINED__ typedef interface IEnumRfc1766 IEnumRfc1766; #ifdef __cplusplus interface IEnumRfc1766; #endif /* __cplusplus */ #endif #ifndef __IMultiLanguage_FWD_DEFINED__ #define __IMultiLanguage_FWD_DEFINED__ typedef interface IMultiLanguage IMultiLanguage; #ifdef __cplusplus interface IMultiLanguage; #endif /* __cplusplus */ #endif #ifndef __IMultiLanguage2_FWD_DEFINED__ #define __IMultiLanguage2_FWD_DEFINED__ typedef interface IMultiLanguage2 IMultiLanguage2; #ifdef __cplusplus interface IMultiLanguage2; #endif /* __cplusplus */ #endif #ifndef __IMultiLanguage3_FWD_DEFINED__ #define __IMultiLanguage3_FWD_DEFINED__ typedef interface IMultiLanguage3 IMultiLanguage3; #ifdef __cplusplus interface IMultiLanguage3; #endif /* __cplusplus */ #endif #ifndef __CMultiLanguage_FWD_DEFINED__ #define __CMultiLanguage_FWD_DEFINED__ #ifdef __cplusplus typedef class CMultiLanguage CMultiLanguage; #else typedef struct CMultiLanguage CMultiLanguage; #endif /* defined __cplusplus */ #endif /* defined __CMultiLanguage_FWD_DEFINED__ */ /* Headers for imported files */ #include #ifdef __cplusplus extern "C" { #endif #ifndef __IStream_FWD_DEFINED__ #define __IStream_FWD_DEFINED__ typedef interface IStream IStream; #ifdef __cplusplus interface IStream; #endif /* __cplusplus */ #endif #define CPIOD_PEEK 0x40000000 #define CPIOD_FORCE_PROMPT 0x80000000 /***************************************************************************** * IMLangCodePages interface */ #ifndef __IMLangCodePages_INTERFACE_DEFINED__ #define __IMLangCodePages_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMLangCodePages, 0x359f3443, 0xbd4a, 0x11d0, 0xb1,0x88, 0x00,0xaa,0x00,0x38,0xc9,0x69); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("359f3443-bd4a-11d0-b188-00aa0038c969") 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; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMLangCodePages, 0x359f3443, 0xbd4a, 0x11d0, 0xb1,0x88, 0x00,0xaa,0x00,0x38,0xc9,0x69) #endif #else typedef struct IMLangCodePagesVtbl { BEGIN_INTERFACE /*** 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); END_INTERFACE } IMLangCodePagesVtbl; interface IMLangCodePages { CONST_VTBL IMLangCodePagesVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMLangCodePages_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMLangCodePages_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMLangCodePages_Release(This) (This)->lpVtbl->Release(This) /*** IMLangCodePages methods ***/ #define IMLangCodePages_GetCharCodePages(This,chSrc,pdwCodePages) (This)->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages) #define IMLangCodePages_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) (This)->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) #define IMLangCodePages_CodePageToCodePages(This,uCodePage,pdwCodePages) (This)->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages) #define IMLangCodePages_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) (This)->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) #else /*** IUnknown methods ***/ static inline HRESULT IMLangCodePages_QueryInterface(IMLangCodePages* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMLangCodePages_AddRef(IMLangCodePages* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMLangCodePages_Release(IMLangCodePages* This) { return This->lpVtbl->Release(This); } /*** IMLangCodePages methods ***/ static inline HRESULT IMLangCodePages_GetCharCodePages(IMLangCodePages* This,WCHAR chSrc,DWORD *pdwCodePages) { return This->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages); } static inline HRESULT IMLangCodePages_GetStrCodePages(IMLangCodePages* This,const WCHAR *pszSrc,LONG cchSrc,DWORD dwPriorityCodePages,DWORD *pdwCodePages,LONG *pcchCodePages) { return This->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages); } static inline HRESULT IMLangCodePages_CodePageToCodePages(IMLangCodePages* This,UINT uCodePage,DWORD *pdwCodePages) { return This->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages); } static inline HRESULT IMLangCodePages_CodePagesToCodePage(IMLangCodePages* This,DWORD dwCodePages,UINT uDefaultCodePage,UINT *puCodePage) { return This->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage); } #endif #endif #endif #endif /* __IMLangCodePages_INTERFACE_DEFINED__ */ /***************************************************************************** * IMLangFontLink interface */ #ifndef __IMLangFontLink_INTERFACE_DEFINED__ #define __IMLangFontLink_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMLangFontLink, 0x359f3441, 0xbd4a, 0x11d0, 0xb1,0x88, 0x00,0xaa,0x00,0x38,0xc9,0x69); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("359f3441-bd4a-11d0-b188-00aa0038c969") 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; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMLangFontLink, 0x359f3441, 0xbd4a, 0x11d0, 0xb1,0x88, 0x00,0xaa,0x00,0x38,0xc9,0x69) #endif #else typedef struct IMLangFontLinkVtbl { BEGIN_INTERFACE /*** 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); END_INTERFACE } IMLangFontLinkVtbl; interface IMLangFontLink { CONST_VTBL IMLangFontLinkVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMLangFontLink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMLangFontLink_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMLangFontLink_Release(This) (This)->lpVtbl->Release(This) /*** IMLangCodePages methods ***/ #define IMLangFontLink_GetCharCodePages(This,chSrc,pdwCodePages) (This)->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages) #define IMLangFontLink_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) (This)->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) #define IMLangFontLink_CodePageToCodePages(This,uCodePage,pdwCodePages) (This)->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages) #define IMLangFontLink_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) (This)->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) /*** IMLangFontLink methods ***/ #define IMLangFontLink_GetFontCodePages(This,hDC,hFont,pdwCodePages) (This)->lpVtbl->GetFontCodePages(This,hDC,hFont,pdwCodePages) #define IMLangFontLink_MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont) (This)->lpVtbl->MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont) #define IMLangFontLink_ReleaseFont(This,hFont) (This)->lpVtbl->ReleaseFont(This,hFont) #define IMLangFontLink_ResetFontMapping(This) (This)->lpVtbl->ResetFontMapping(This) #else /*** IUnknown methods ***/ static inline HRESULT IMLangFontLink_QueryInterface(IMLangFontLink* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMLangFontLink_AddRef(IMLangFontLink* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMLangFontLink_Release(IMLangFontLink* This) { return This->lpVtbl->Release(This); } /*** IMLangCodePages methods ***/ static inline HRESULT IMLangFontLink_GetCharCodePages(IMLangFontLink* This,WCHAR chSrc,DWORD *pdwCodePages) { return This->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages); } static inline HRESULT IMLangFontLink_GetStrCodePages(IMLangFontLink* This,const WCHAR *pszSrc,LONG cchSrc,DWORD dwPriorityCodePages,DWORD *pdwCodePages,LONG *pcchCodePages) { return This->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages); } static inline HRESULT IMLangFontLink_CodePageToCodePages(IMLangFontLink* This,UINT uCodePage,DWORD *pdwCodePages) { return This->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages); } static inline HRESULT IMLangFontLink_CodePagesToCodePage(IMLangFontLink* This,DWORD dwCodePages,UINT uDefaultCodePage,UINT *puCodePage) { return This->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage); } /*** IMLangFontLink methods ***/ static inline HRESULT IMLangFontLink_GetFontCodePages(IMLangFontLink* This,HDC hDC,HFONT hFont,DWORD *pdwCodePages) { return This->lpVtbl->GetFontCodePages(This,hDC,hFont,pdwCodePages); } static inline HRESULT IMLangFontLink_MapFont(IMLangFontLink* This,HDC hDC,DWORD dwCodePages,HFONT hSrcFont,HFONT *phDestFont) { return This->lpVtbl->MapFont(This,hDC,dwCodePages,hSrcFont,phDestFont); } static inline HRESULT IMLangFontLink_ReleaseFont(IMLangFontLink* This,HFONT hFont) { return This->lpVtbl->ReleaseFont(This,hFont); } static inline HRESULT IMLangFontLink_ResetFontMapping(IMLangFontLink* This) { return This->lpVtbl->ResetFontMapping(This); } #endif #endif #endif #endif /* __IMLangFontLink_INTERFACE_DEFINED__ */ /***************************************************************************** * IEnumScript interface */ #ifndef __IEnumScript_INTERFACE_DEFINED__ #define __IEnumScript_INTERFACE_DEFINED__ #define MAX_SCRIPT_NAME (48) #define MAX_MIMEFACE_NAME (32) typedef BYTE SCRIPT_ID; typedef INT64 SCRIPT_IDS; typedef enum tagSCRIPTCONTF { sidDefault = 0, sidMerge = sidDefault + 1, sidAsciiSym = sidMerge + 1, sidAsciiLatin = sidAsciiSym + 1, sidLatin = sidAsciiLatin + 1, sidGreek = sidLatin + 1, sidCyrillic = sidGreek + 1, sidArmenian = sidCyrillic + 1, sidHebrew = sidArmenian + 1, sidArabic = sidHebrew + 1, sidDevanagari = sidArabic + 1, sidBengali = sidDevanagari + 1, sidGurmukhi = sidBengali + 1, sidGujarati = sidGurmukhi + 1, sidOriya = sidGujarati + 1, sidTamil = sidOriya + 1, sidTelugu = sidTamil + 1, sidKannada = sidTelugu + 1, sidMalayalam = sidKannada + 1, sidThai = sidMalayalam + 1, sidLao = sidThai + 1, sidTibetan = sidLao + 1, sidGeorgian = sidTibetan + 1, sidHangul = sidGeorgian + 1, sidKana = sidHangul + 1, sidBopomofo = sidKana + 1, sidHan = sidBopomofo + 1, sidEthiopic = sidHan + 1, sidCanSyllabic = sidEthiopic + 1, sidCherokee = sidCanSyllabic + 1, sidYi = sidCherokee + 1, sidBraille = sidYi + 1, sidRunic = sidBraille + 1, sidOgham = sidRunic + 1, sidSinhala = sidOgham + 1, sidSyriac = sidSinhala + 1, sidBurmese = sidSyriac + 1, sidKhmer = sidBurmese + 1, sidThaana = sidKhmer + 1, sidMongolian = sidThaana + 1, sidUserDefined = sidMongolian + 1, sidLim = sidUserDefined + 1, sidFEFirst = sidHangul, sidFELast = sidHan } SCRIPTCONTF; typedef enum tagSCRIPTFONTCONTF { SCRIPTCONTF_FIXED_FONT = 0x1, SCRIPTCONTF_PROPORTIONAL_FONT = 0x2, SCRIPTCONTF_SCRIPT_USER = 0x10000, SCRIPTCONTF_SCRIPT_HIDE = 0x20000, SCRIPTCONTF_SCRIPT_SYSTEM = 0x40000 } SCRIPTFONTCONTF; typedef struct tagSCRIPFONTINFO { SCRIPT_IDS scripts; WCHAR wszFont[32]; } SCRIPTFONTINFO; typedef struct tagSCRIPFONTINFO *PSCRIPTFONTINFO; typedef struct tagSCRIPTINFO { SCRIPT_ID ScriptId; UINT uiCodePage; WCHAR wszDescription[48]; WCHAR wszFixedWidthFont[32]; WCHAR wszProportionalFont[32]; } SCRIPTINFO; typedef struct tagSCRIPTINFO *PSCRIPTINFO; DEFINE_GUID(IID_IEnumScript, 0xae5f1430, 0x388b, 0x11d2, 0x83,0x80, 0x00,0xc0,0x4f,0x8f,0x5d,0xa1); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ae5f1430-388b-11d2-8380-00c04f8f5da1") 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; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IEnumScript, 0xae5f1430, 0x388b, 0x11d2, 0x83,0x80, 0x00,0xc0,0x4f,0x8f,0x5d,0xa1) #endif #else typedef struct IEnumScriptVtbl { BEGIN_INTERFACE /*** 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); END_INTERFACE } IEnumScriptVtbl; interface IEnumScript { CONST_VTBL IEnumScriptVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IEnumScript_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IEnumScript_AddRef(This) (This)->lpVtbl->AddRef(This) #define IEnumScript_Release(This) (This)->lpVtbl->Release(This) /*** IEnumScript methods ***/ #define IEnumScript_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) #define IEnumScript_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) #define IEnumScript_Reset(This) (This)->lpVtbl->Reset(This) #define IEnumScript_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) #else /*** IUnknown methods ***/ static inline HRESULT IEnumScript_QueryInterface(IEnumScript* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IEnumScript_AddRef(IEnumScript* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IEnumScript_Release(IEnumScript* This) { return This->lpVtbl->Release(This); } /*** IEnumScript methods ***/ static inline HRESULT IEnumScript_Clone(IEnumScript* This,IEnumScript **ppEnum) { return This->lpVtbl->Clone(This,ppEnum); } static inline HRESULT IEnumScript_Next(IEnumScript* This,ULONG celt,PSCRIPTINFO rgelt,ULONG *pceltFetched) { return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); } static inline HRESULT IEnumScript_Reset(IEnumScript* This) { return This->lpVtbl->Reset(This); } static inline HRESULT IEnumScript_Skip(IEnumScript* This,ULONG celt) { return This->lpVtbl->Skip(This,celt); } #endif #endif #endif #endif /* __IEnumScript_INTERFACE_DEFINED__ */ /***************************************************************************** * IMLangFontLink2 interface */ #ifndef __IMLangFontLink2_INTERFACE_DEFINED__ #define __IMLangFontLink2_INTERFACE_DEFINED__ typedef struct tagUNICODERANGE { WCHAR wcFrom; WCHAR wcTo; } UNICODERANGE; typedef IMLangFontLink2 *PMLANGFONTLINK2; DEFINE_GUID(IID_IMLangFontLink2, 0xdccfc162, 0x2b38, 0x11d2, 0xb7,0xec, 0x00,0xc0,0x4f,0x8f,0x5d,0x9a); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dccfc162-2b38-11d2-b7ec-00c04f8f5d9a") IMLangFontLink2 : public IMLangCodePages { virtual HRESULT STDMETHODCALLTYPE GetFontCodePages( HDC hDC, HFONT hFont, DWORD *pdwCodePages) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseFont( HFONT hFont) = 0; virtual HRESULT STDMETHODCALLTYPE ResetFontMapping( ) = 0; virtual HRESULT STDMETHODCALLTYPE MapFont( HDC hDC, DWORD dwCodePages, WCHAR chSrc, HFONT *pFont) = 0; virtual HRESULT STDMETHODCALLTYPE GetFontUnicodeRanges( HDC hDC, UINT *puiRanges, UNICODERANGE *pUranges) = 0; virtual HRESULT STDMETHODCALLTYPE GetScriptFontInfo( SCRIPT_ID sid, DWORD dwFlags, UINT *puiFonts, SCRIPTFONTINFO *pScriptFont) = 0; virtual HRESULT STDMETHODCALLTYPE CodePageToScriptID( UINT uiCodePage, SCRIPT_ID *pSid) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMLangFontLink2, 0xdccfc162, 0x2b38, 0x11d2, 0xb7,0xec, 0x00,0xc0,0x4f,0x8f,0x5d,0x9a) #endif #else typedef struct IMLangFontLink2Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMLangFontLink2 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMLangFontLink2 *This); ULONG (STDMETHODCALLTYPE *Release)( IMLangFontLink2 *This); /*** IMLangCodePages methods ***/ HRESULT (STDMETHODCALLTYPE *GetCharCodePages)( IMLangFontLink2 *This, WCHAR chSrc, DWORD *pdwCodePages); HRESULT (STDMETHODCALLTYPE *GetStrCodePages)( IMLangFontLink2 *This, const WCHAR *pszSrc, LONG cchSrc, DWORD dwPriorityCodePages, DWORD *pdwCodePages, LONG *pcchCodePages); HRESULT (STDMETHODCALLTYPE *CodePageToCodePages)( IMLangFontLink2 *This, UINT uCodePage, DWORD *pdwCodePages); HRESULT (STDMETHODCALLTYPE *CodePagesToCodePage)( IMLangFontLink2 *This, DWORD dwCodePages, UINT uDefaultCodePage, UINT *puCodePage); /*** IMLangFontLink2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetFontCodePages)( IMLangFontLink2 *This, HDC hDC, HFONT hFont, DWORD *pdwCodePages); HRESULT (STDMETHODCALLTYPE *ReleaseFont)( IMLangFontLink2 *This, HFONT hFont); HRESULT (STDMETHODCALLTYPE *ResetFontMapping)( IMLangFontLink2 *This); HRESULT (STDMETHODCALLTYPE *MapFont)( IMLangFontLink2 *This, HDC hDC, DWORD dwCodePages, WCHAR chSrc, HFONT *pFont); HRESULT (STDMETHODCALLTYPE *GetFontUnicodeRanges)( IMLangFontLink2 *This, HDC hDC, UINT *puiRanges, UNICODERANGE *pUranges); HRESULT (STDMETHODCALLTYPE *GetScriptFontInfo)( IMLangFontLink2 *This, SCRIPT_ID sid, DWORD dwFlags, UINT *puiFonts, SCRIPTFONTINFO *pScriptFont); HRESULT (STDMETHODCALLTYPE *CodePageToScriptID)( IMLangFontLink2 *This, UINT uiCodePage, SCRIPT_ID *pSid); END_INTERFACE } IMLangFontLink2Vtbl; interface IMLangFontLink2 { CONST_VTBL IMLangFontLink2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMLangFontLink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMLangFontLink2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMLangFontLink2_Release(This) (This)->lpVtbl->Release(This) /*** IMLangCodePages methods ***/ #define IMLangFontLink2_GetCharCodePages(This,chSrc,pdwCodePages) (This)->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages) #define IMLangFontLink2_GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) (This)->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages) #define IMLangFontLink2_CodePageToCodePages(This,uCodePage,pdwCodePages) (This)->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages) #define IMLangFontLink2_CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) (This)->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage) /*** IMLangFontLink2 methods ***/ #define IMLangFontLink2_GetFontCodePages(This,hDC,hFont,pdwCodePages) (This)->lpVtbl->GetFontCodePages(This,hDC,hFont,pdwCodePages) #define IMLangFontLink2_ReleaseFont(This,hFont) (This)->lpVtbl->ReleaseFont(This,hFont) #define IMLangFontLink2_ResetFontMapping(This) (This)->lpVtbl->ResetFontMapping(This) #define IMLangFontLink2_MapFont(This,hDC,dwCodePages,chSrc,pFont) (This)->lpVtbl->MapFont(This,hDC,dwCodePages,chSrc,pFont) #define IMLangFontLink2_GetFontUnicodeRanges(This,hDC,puiRanges,pUranges) (This)->lpVtbl->GetFontUnicodeRanges(This,hDC,puiRanges,pUranges) #define IMLangFontLink2_GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont) (This)->lpVtbl->GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont) #define IMLangFontLink2_CodePageToScriptID(This,uiCodePage,pSid) (This)->lpVtbl->CodePageToScriptID(This,uiCodePage,pSid) #else /*** IUnknown methods ***/ static inline HRESULT IMLangFontLink2_QueryInterface(IMLangFontLink2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMLangFontLink2_AddRef(IMLangFontLink2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMLangFontLink2_Release(IMLangFontLink2* This) { return This->lpVtbl->Release(This); } /*** IMLangCodePages methods ***/ static inline HRESULT IMLangFontLink2_GetCharCodePages(IMLangFontLink2* This,WCHAR chSrc,DWORD *pdwCodePages) { return This->lpVtbl->GetCharCodePages(This,chSrc,pdwCodePages); } static inline HRESULT IMLangFontLink2_GetStrCodePages(IMLangFontLink2* This,const WCHAR *pszSrc,LONG cchSrc,DWORD dwPriorityCodePages,DWORD *pdwCodePages,LONG *pcchCodePages) { return This->lpVtbl->GetStrCodePages(This,pszSrc,cchSrc,dwPriorityCodePages,pdwCodePages,pcchCodePages); } static inline HRESULT IMLangFontLink2_CodePageToCodePages(IMLangFontLink2* This,UINT uCodePage,DWORD *pdwCodePages) { return This->lpVtbl->CodePageToCodePages(This,uCodePage,pdwCodePages); } static inline HRESULT IMLangFontLink2_CodePagesToCodePage(IMLangFontLink2* This,DWORD dwCodePages,UINT uDefaultCodePage,UINT *puCodePage) { return This->lpVtbl->CodePagesToCodePage(This,dwCodePages,uDefaultCodePage,puCodePage); } /*** IMLangFontLink2 methods ***/ static inline HRESULT IMLangFontLink2_GetFontCodePages(IMLangFontLink2* This,HDC hDC,HFONT hFont,DWORD *pdwCodePages) { return This->lpVtbl->GetFontCodePages(This,hDC,hFont,pdwCodePages); } static inline HRESULT IMLangFontLink2_ReleaseFont(IMLangFontLink2* This,HFONT hFont) { return This->lpVtbl->ReleaseFont(This,hFont); } static inline HRESULT IMLangFontLink2_ResetFontMapping(IMLangFontLink2* This) { return This->lpVtbl->ResetFontMapping(This); } static inline HRESULT IMLangFontLink2_MapFont(IMLangFontLink2* This,HDC hDC,DWORD dwCodePages,WCHAR chSrc,HFONT *pFont) { return This->lpVtbl->MapFont(This,hDC,dwCodePages,chSrc,pFont); } static inline HRESULT IMLangFontLink2_GetFontUnicodeRanges(IMLangFontLink2* This,HDC hDC,UINT *puiRanges,UNICODERANGE *pUranges) { return This->lpVtbl->GetFontUnicodeRanges(This,hDC,puiRanges,pUranges); } static inline HRESULT IMLangFontLink2_GetScriptFontInfo(IMLangFontLink2* This,SCRIPT_ID sid,DWORD dwFlags,UINT *puiFonts,SCRIPTFONTINFO *pScriptFont) { return This->lpVtbl->GetScriptFontInfo(This,sid,dwFlags,puiFonts,pScriptFont); } static inline HRESULT IMLangFontLink2_CodePageToScriptID(IMLangFontLink2* This,UINT uiCodePage,SCRIPT_ID *pSid) { return This->lpVtbl->CodePageToScriptID(This,uiCodePage,pSid); } #endif #endif #endif #endif /* __IMLangFontLink2_INTERFACE_DEFINED__ */ /***************************************************************************** * IMLangString interface */ #ifndef __IMLangString_INTERFACE_DEFINED__ #define __IMLangString_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMLangString, 0xc04d65ce, 0xb70d, 0x11d0, 0xb1,0x88, 0x00,0xaa,0x00,0x38,0xc9,0x69); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("c04d65ce-b70d-11d0-b188-00aa0038c969") IMLangString : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Sync( BOOL fNoAccess) = 0; virtual HRESULT STDMETHODCALLTYPE GetLength( LONG *plLen) = 0; virtual HRESULT STDMETHODCALLTYPE SetMLStr( LONG lDestPos, LONG lDestLen, IUnknown *pSrcMLStr, LONG lSrcPos, LONG lSrcLen) = 0; virtual HRESULT STDMETHODCALLTYPE GetMLStr( LONG lSrcPos, LONG lSrcLen, IUnknown *pUnkOuter, DWORD dwClsContext, const IID *piid, IUnknown **ppDestMLStr, LONG *plDestPos, LONG *plDestLen) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMLangString, 0xc04d65ce, 0xb70d, 0x11d0, 0xb1,0x88, 0x00,0xaa,0x00,0x38,0xc9,0x69) #endif #else typedef struct IMLangStringVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMLangString *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMLangString *This); ULONG (STDMETHODCALLTYPE *Release)( IMLangString *This); /*** IMLangString methods ***/ HRESULT (STDMETHODCALLTYPE *Sync)( IMLangString *This, BOOL fNoAccess); HRESULT (STDMETHODCALLTYPE *GetLength)( IMLangString *This, LONG *plLen); HRESULT (STDMETHODCALLTYPE *SetMLStr)( IMLangString *This, LONG lDestPos, LONG lDestLen, IUnknown *pSrcMLStr, LONG lSrcPos, LONG lSrcLen); HRESULT (STDMETHODCALLTYPE *GetMLStr)( IMLangString *This, LONG lSrcPos, LONG lSrcLen, IUnknown *pUnkOuter, DWORD dwClsContext, const IID *piid, IUnknown **ppDestMLStr, LONG *plDestPos, LONG *plDestLen); END_INTERFACE } IMLangStringVtbl; interface IMLangString { CONST_VTBL IMLangStringVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMLangString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMLangString_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMLangString_Release(This) (This)->lpVtbl->Release(This) /*** IMLangString methods ***/ #define IMLangString_Sync(This,fNoAccess) (This)->lpVtbl->Sync(This,fNoAccess) #define IMLangString_GetLength(This,plLen) (This)->lpVtbl->GetLength(This,plLen) #define IMLangString_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) (This)->lpVtbl->SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) #define IMLangString_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) (This)->lpVtbl->GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) #else /*** IUnknown methods ***/ static inline HRESULT IMLangString_QueryInterface(IMLangString* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMLangString_AddRef(IMLangString* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMLangString_Release(IMLangString* This) { return This->lpVtbl->Release(This); } /*** IMLangString methods ***/ static inline HRESULT IMLangString_Sync(IMLangString* This,BOOL fNoAccess) { return This->lpVtbl->Sync(This,fNoAccess); } static inline HRESULT IMLangString_GetLength(IMLangString* This,LONG *plLen) { return This->lpVtbl->GetLength(This,plLen); } static inline HRESULT IMLangString_SetMLStr(IMLangString* This,LONG lDestPos,LONG lDestLen,IUnknown *pSrcMLStr,LONG lSrcPos,LONG lSrcLen) { return This->lpVtbl->SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen); } static inline HRESULT IMLangString_GetMLStr(IMLangString* This,LONG lSrcPos,LONG lSrcLen,IUnknown *pUnkOuter,DWORD dwClsContext,const IID *piid,IUnknown **ppDestMLStr,LONG *plDestPos,LONG *plDestLen) { return This->lpVtbl->GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen); } #endif #endif #endif #endif /* __IMLangString_INTERFACE_DEFINED__ */ /***************************************************************************** * IMLangLineBreakConsole interface */ #ifndef __IMLangLineBreakConsole_INTERFACE_DEFINED__ #define __IMLangLineBreakConsole_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMLangLineBreakConsole, 0xf5be2ee1, 0xbfd7, 0x11d0, 0xb1,0x88, 0x00,0xaa,0x00,0x38,0xc9,0x69); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f5be2ee1-bfd7-11d0-b188-00aa0038c969") IMLangLineBreakConsole : public IUnknown { virtual HRESULT STDMETHODCALLTYPE BreakLineML( IMLangString *pSrcMLStr, LONG lSrcPos, LONG lSrcLen, LONG cMinColumns, LONG cMaxColumns, LONG *plLineLen, LONG *plSkipLen) = 0; virtual HRESULT STDMETHODCALLTYPE BreakLineW( LCID locale, const WCHAR *pszSrc, LONG cchSrc, LONG cMaxColumns, LONG *pcchLine, LONG *pcchSkip) = 0; virtual HRESULT STDMETHODCALLTYPE BreakLineA( LCID locale, UINT uCodePage, const CHAR *pszSrc, LONG cchSrc, LONG cMaxColumns, LONG *pcchLine, LONG *pcchSkip) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMLangLineBreakConsole, 0xf5be2ee1, 0xbfd7, 0x11d0, 0xb1,0x88, 0x00,0xaa,0x00,0x38,0xc9,0x69) #endif #else typedef struct IMLangLineBreakConsoleVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMLangLineBreakConsole *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMLangLineBreakConsole *This); ULONG (STDMETHODCALLTYPE *Release)( IMLangLineBreakConsole *This); /*** IMLangLineBreakConsole methods ***/ HRESULT (STDMETHODCALLTYPE *BreakLineML)( IMLangLineBreakConsole *This, IMLangString *pSrcMLStr, LONG lSrcPos, LONG lSrcLen, LONG cMinColumns, LONG cMaxColumns, LONG *plLineLen, LONG *plSkipLen); HRESULT (STDMETHODCALLTYPE *BreakLineW)( IMLangLineBreakConsole *This, LCID locale, const WCHAR *pszSrc, LONG cchSrc, LONG cMaxColumns, LONG *pcchLine, LONG *pcchSkip); HRESULT (STDMETHODCALLTYPE *BreakLineA)( IMLangLineBreakConsole *This, LCID locale, UINT uCodePage, const CHAR *pszSrc, LONG cchSrc, LONG cMaxColumns, LONG *pcchLine, LONG *pcchSkip); END_INTERFACE } IMLangLineBreakConsoleVtbl; interface IMLangLineBreakConsole { CONST_VTBL IMLangLineBreakConsoleVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMLangLineBreakConsole_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMLangLineBreakConsole_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMLangLineBreakConsole_Release(This) (This)->lpVtbl->Release(This) /*** IMLangLineBreakConsole methods ***/ #define IMLangLineBreakConsole_BreakLineML(This,pSrcMLStr,lSrcPos,lSrcLen,cMinColumns,cMaxColumns,plLineLen,plSkipLen) (This)->lpVtbl->BreakLineML(This,pSrcMLStr,lSrcPos,lSrcLen,cMinColumns,cMaxColumns,plLineLen,plSkipLen) #define IMLangLineBreakConsole_BreakLineW(This,locale,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip) (This)->lpVtbl->BreakLineW(This,locale,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip) #define IMLangLineBreakConsole_BreakLineA(This,locale,uCodePage,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip) (This)->lpVtbl->BreakLineA(This,locale,uCodePage,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip) #else /*** IUnknown methods ***/ static inline HRESULT IMLangLineBreakConsole_QueryInterface(IMLangLineBreakConsole* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMLangLineBreakConsole_AddRef(IMLangLineBreakConsole* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMLangLineBreakConsole_Release(IMLangLineBreakConsole* This) { return This->lpVtbl->Release(This); } /*** IMLangLineBreakConsole methods ***/ static inline HRESULT IMLangLineBreakConsole_BreakLineML(IMLangLineBreakConsole* This,IMLangString *pSrcMLStr,LONG lSrcPos,LONG lSrcLen,LONG cMinColumns,LONG cMaxColumns,LONG *plLineLen,LONG *plSkipLen) { return This->lpVtbl->BreakLineML(This,pSrcMLStr,lSrcPos,lSrcLen,cMinColumns,cMaxColumns,plLineLen,plSkipLen); } static inline HRESULT IMLangLineBreakConsole_BreakLineW(IMLangLineBreakConsole* This,LCID locale,const WCHAR *pszSrc,LONG cchSrc,LONG cMaxColumns,LONG *pcchLine,LONG *pcchSkip) { return This->lpVtbl->BreakLineW(This,locale,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip); } static inline HRESULT IMLangLineBreakConsole_BreakLineA(IMLangLineBreakConsole* This,LCID locale,UINT uCodePage,const CHAR *pszSrc,LONG cchSrc,LONG cMaxColumns,LONG *pcchLine,LONG *pcchSkip) { return This->lpVtbl->BreakLineA(This,locale,uCodePage,pszSrc,cchSrc,cMaxColumns,pcchLine,pcchSkip); } #endif #endif #endif #endif /* __IMLangLineBreakConsole_INTERFACE_DEFINED__ */ /***************************************************************************** * IEnumCodePage interface */ #ifndef __IEnumCodePage_INTERFACE_DEFINED__ #define __IEnumCodePage_INTERFACE_DEFINED__ #define MAX_MIMECP_NAME (64) #define MAX_MIMECSET_NAME (50) 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 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; typedef struct tagMIMECPINFO *PMIMECPINFO; typedef struct tagMIMECSETINFO { UINT uiCodePage; UINT uiInternetEncoding; WCHAR wszCharset[50]; } MIMECSETINFO; typedef struct tagMIMECSETINFO *PMIMECSETINFO; DEFINE_GUID(IID_IEnumCodePage, 0x275c23e3, 0x3747, 0x11d0, 0x9f,0xea, 0x00,0xaa,0x00,0x3f,0x86,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("275c23e3-3747-11d0-9fea-00aa003f8646") 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; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IEnumCodePage, 0x275c23e3, 0x3747, 0x11d0, 0x9f,0xea, 0x00,0xaa,0x00,0x3f,0x86,0x46) #endif #else typedef struct IEnumCodePageVtbl { BEGIN_INTERFACE /*** 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); END_INTERFACE } IEnumCodePageVtbl; interface IEnumCodePage { CONST_VTBL IEnumCodePageVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IEnumCodePage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IEnumCodePage_AddRef(This) (This)->lpVtbl->AddRef(This) #define IEnumCodePage_Release(This) (This)->lpVtbl->Release(This) /*** IEnumCodePage methods ***/ #define IEnumCodePage_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) #define IEnumCodePage_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) #define IEnumCodePage_Reset(This) (This)->lpVtbl->Reset(This) #define IEnumCodePage_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) #else /*** IUnknown methods ***/ static inline HRESULT IEnumCodePage_QueryInterface(IEnumCodePage* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IEnumCodePage_AddRef(IEnumCodePage* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IEnumCodePage_Release(IEnumCodePage* This) { return This->lpVtbl->Release(This); } /*** IEnumCodePage methods ***/ static inline HRESULT IEnumCodePage_Clone(IEnumCodePage* This,IEnumCodePage **ppEnum) { return This->lpVtbl->Clone(This,ppEnum); } static inline HRESULT IEnumCodePage_Next(IEnumCodePage* This,ULONG celt,PMIMECPINFO rgelt,ULONG *pceltFetched) { return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); } static inline HRESULT IEnumCodePage_Reset(IEnumCodePage* This) { return This->lpVtbl->Reset(This); } static inline HRESULT IEnumCodePage_Skip(IEnumCodePage* This,ULONG celt) { return This->lpVtbl->Skip(This,celt); } #endif #endif #endif #endif /* __IEnumCodePage_INTERFACE_DEFINED__ */ /***************************************************************************** * IMLangConvertCharset interface */ #ifndef __IMLangConvertCharset_INTERFACE_DEFINED__ #define __IMLangConvertCharset_INTERFACE_DEFINED__ typedef enum tagMLCONVCHARF { MLCONVCHARF_AUTODETECT = 1, MLCONVCHARF_ENTITIZE = 2, MLCONVCHARF_NCR_ENTITIZE = 2, MLCONVCHARF_NAME_ENTITIZE = 4, MLCONVCHARF_USEDEFCHAR = 8, MLCONVCHARF_NOBESTFITCHARS = 16, MLCONVCHARF_DETECTJPN = 32 } MLCONVCHAR; typedef enum tagMLCPF { MLDETECTF_MAILNEWS = 0x1, MLDETECTF_BROWSER = 0x2, MLDETECTF_VALID = 0x4, MLDETECTF_VALID_NLS = 0x8, MLDETECTF_PRESERVE_ORDER = 0x10, MLDETECTF_PREFERRED_ONLY = 0x20, MLDETECTF_FILTER_SPECIALCHAR = 0x40, MLDETECTF_EURO_UTF8 = 0x80 } MLCP; DEFINE_GUID(IID_IMLangConvertCharset, 0xd66d6f98, 0xcdaa, 0x11d0, 0xb8,0x22, 0x00,0xc0,0x4f,0xc9,0xb3,0x1f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d66d6f98-cdaa-11d0-b822-00c04fc9b31f") 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; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMLangConvertCharset, 0xd66d6f98, 0xcdaa, 0x11d0, 0xb8,0x22, 0x00,0xc0,0x4f,0xc9,0xb3,0x1f) #endif #else typedef struct IMLangConvertCharsetVtbl { BEGIN_INTERFACE /*** 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); END_INTERFACE } IMLangConvertCharsetVtbl; interface IMLangConvertCharset { CONST_VTBL IMLangConvertCharsetVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMLangConvertCharset_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMLangConvertCharset_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMLangConvertCharset_Release(This) (This)->lpVtbl->Release(This) /*** IMLangConvertCharset methods ***/ #define IMLangConvertCharset_Initialize(This,uiSrcCodePage,uiDstCodePage,dwProperty) (This)->lpVtbl->Initialize(This,uiSrcCodePage,uiDstCodePage,dwProperty) #define IMLangConvertCharset_GetSourceCodePage(This,puiSrcCodePage) (This)->lpVtbl->GetSourceCodePage(This,puiSrcCodePage) #define IMLangConvertCharset_GetDestinationCodePage(This,puiDstCodePage) (This)->lpVtbl->GetDestinationCodePage(This,puiDstCodePage) #define IMLangConvertCharset_GetProperty(This,pdwProperty) (This)->lpVtbl->GetProperty(This,pdwProperty) #define IMLangConvertCharset_DoConversion(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->DoConversion(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMLangConvertCharset_DoConversionToUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->DoConversionToUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMLangConvertCharset_DoConversionFromUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->DoConversionFromUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #else /*** IUnknown methods ***/ static inline HRESULT IMLangConvertCharset_QueryInterface(IMLangConvertCharset* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMLangConvertCharset_AddRef(IMLangConvertCharset* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMLangConvertCharset_Release(IMLangConvertCharset* This) { return This->lpVtbl->Release(This); } /*** IMLangConvertCharset methods ***/ static inline HRESULT IMLangConvertCharset_Initialize(IMLangConvertCharset* This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty) { return This->lpVtbl->Initialize(This,uiSrcCodePage,uiDstCodePage,dwProperty); } static inline HRESULT IMLangConvertCharset_GetSourceCodePage(IMLangConvertCharset* This,UINT *puiSrcCodePage) { return This->lpVtbl->GetSourceCodePage(This,puiSrcCodePage); } static inline HRESULT IMLangConvertCharset_GetDestinationCodePage(IMLangConvertCharset* This,UINT *puiDstCodePage) { return This->lpVtbl->GetDestinationCodePage(This,puiDstCodePage); } static inline HRESULT IMLangConvertCharset_GetProperty(IMLangConvertCharset* This,DWORD *pdwProperty) { return This->lpVtbl->GetProperty(This,pdwProperty); } static inline HRESULT IMLangConvertCharset_DoConversion(IMLangConvertCharset* This,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize) { return This->lpVtbl->DoConversion(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMLangConvertCharset_DoConversionToUnicode(IMLangConvertCharset* This,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize) { return This->lpVtbl->DoConversionToUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMLangConvertCharset_DoConversionFromUnicode(IMLangConvertCharset* This,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize) { return This->lpVtbl->DoConversionFromUnicode(This,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } #endif #endif #endif #endif /* __IMLangConvertCharset_INTERFACE_DEFINED__ */ /***************************************************************************** * CMLangConvertCharset coclass */ DEFINE_GUID(CLSID_CMLangConvertCharset, 0xd66d6f99, 0xcdaa, 0x11d0, 0xb8,0x22, 0x00,0xc0,0x4f,0xc9,0xb3,0x1f); #ifdef __cplusplus class DECLSPEC_UUID("d66d6f99-cdaa-11d0-b822-00c04fc9b31f") CMLangConvertCharset; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(CMLangConvertCharset, 0xd66d6f99, 0xcdaa, 0x11d0, 0xb8,0x22, 0x00,0xc0,0x4f,0xc9,0xb3,0x1f) #endif #endif /***************************************************************************** * IEnumRfc1766 interface */ #ifndef __IEnumRfc1766_INTERFACE_DEFINED__ #define __IEnumRfc1766_INTERFACE_DEFINED__ #define MAX_RFC1766_NAME (6) #define MAX_LOCALE_NAME (32) typedef struct tagRFC1766INFO { LCID lcid; WCHAR wszRfc1766[6]; WCHAR wszLocaleName[32]; } RFC1766INFO; typedef struct tagRFC1766INFO *PRFC1766INFO; DEFINE_GUID(IID_IEnumRfc1766, 0x3dc39d1d, 0xc030, 0x11d0, 0xb8,0x1b, 0x00,0xc0,0x4f,0xc9,0xb3,0x1f); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3dc39d1d-c030-11d0-b81b-00c04fc9b31f") 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; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IEnumRfc1766, 0x3dc39d1d, 0xc030, 0x11d0, 0xb8,0x1b, 0x00,0xc0,0x4f,0xc9,0xb3,0x1f) #endif #else typedef struct IEnumRfc1766Vtbl { BEGIN_INTERFACE /*** 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); END_INTERFACE } IEnumRfc1766Vtbl; interface IEnumRfc1766 { CONST_VTBL IEnumRfc1766Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IEnumRfc1766_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IEnumRfc1766_AddRef(This) (This)->lpVtbl->AddRef(This) #define IEnumRfc1766_Release(This) (This)->lpVtbl->Release(This) /*** IEnumRfc1766 methods ***/ #define IEnumRfc1766_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) #define IEnumRfc1766_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) #define IEnumRfc1766_Reset(This) (This)->lpVtbl->Reset(This) #define IEnumRfc1766_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) #else /*** IUnknown methods ***/ static inline HRESULT IEnumRfc1766_QueryInterface(IEnumRfc1766* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IEnumRfc1766_AddRef(IEnumRfc1766* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IEnumRfc1766_Release(IEnumRfc1766* This) { return This->lpVtbl->Release(This); } /*** IEnumRfc1766 methods ***/ static inline HRESULT IEnumRfc1766_Clone(IEnumRfc1766* This,IEnumRfc1766 **ppEnum) { return This->lpVtbl->Clone(This,ppEnum); } static inline HRESULT IEnumRfc1766_Next(IEnumRfc1766* This,ULONG celt,PRFC1766INFO rgelt,ULONG *pceltFetched) { return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); } static inline HRESULT IEnumRfc1766_Reset(IEnumRfc1766* This) { return This->lpVtbl->Reset(This); } static inline HRESULT IEnumRfc1766_Skip(IEnumRfc1766* This,ULONG celt) { return This->lpVtbl->Skip(This,celt); } #endif #endif #endif #endif /* __IEnumRfc1766_INTERFACE_DEFINED__ */ /***************************************************************************** * IMultiLanguage interface */ #ifndef __IMultiLanguage_INTERFACE_DEFINED__ #define __IMultiLanguage_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMultiLanguage, 0x275c23e1, 0x3747, 0x11d0, 0x9f,0xea, 0x00,0xaa,0x00,0x3f,0x86,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("275c23e1-3747-11d0-9fea-00aa003f8646") 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; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMultiLanguage, 0x275c23e1, 0x3747, 0x11d0, 0x9f,0xea, 0x00,0xaa,0x00,0x3f,0x86,0x46) #endif #else typedef struct IMultiLanguageVtbl { BEGIN_INTERFACE /*** 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); END_INTERFACE } IMultiLanguageVtbl; interface IMultiLanguage { CONST_VTBL IMultiLanguageVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMultiLanguage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMultiLanguage_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMultiLanguage_Release(This) (This)->lpVtbl->Release(This) /*** IMultiLanguage methods ***/ #define IMultiLanguage_GetNumberOfCodePageInfo(This,pcCodePage) (This)->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage) #define IMultiLanguage_GetCodePageInfo(This,uiCodePage,pCodePageInfo) (This)->lpVtbl->GetCodePageInfo(This,uiCodePage,pCodePageInfo) #define IMultiLanguage_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) (This)->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) #define IMultiLanguage_EnumCodePages(This,grfFlags,ppEnumCodePage) (This)->lpVtbl->EnumCodePages(This,grfFlags,ppEnumCodePage) #define IMultiLanguage_GetCharsetInfo(This,Charset,pCharsetInfo) (This)->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo) #define IMultiLanguage_IsConvertible(This,dwSrcEncoding,dwDstEncoding) (This)->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding) #define IMultiLanguage_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage_ConvertStringReset(This) (This)->lpVtbl->ConvertStringReset(This) #define IMultiLanguage_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) (This)->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766) #define IMultiLanguage_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) (This)->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766) #define IMultiLanguage_EnumRfc1766(This,ppEnumRfc1766) (This)->lpVtbl->EnumRfc1766(This,ppEnumRfc1766) #define IMultiLanguage_GetRfc1766Info(This,Locale,pRfc1766Info) (This)->lpVtbl->GetRfc1766Info(This,Locale,pRfc1766Info) #define IMultiLanguage_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) (This)->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) #else /*** IUnknown methods ***/ static inline HRESULT IMultiLanguage_QueryInterface(IMultiLanguage* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMultiLanguage_AddRef(IMultiLanguage* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMultiLanguage_Release(IMultiLanguage* This) { return This->lpVtbl->Release(This); } /*** IMultiLanguage methods ***/ static inline HRESULT IMultiLanguage_GetNumberOfCodePageInfo(IMultiLanguage* This,UINT *pcCodePage) { return This->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage); } static inline HRESULT IMultiLanguage_GetCodePageInfo(IMultiLanguage* This,UINT uiCodePage,PMIMECPINFO pCodePageInfo) { return This->lpVtbl->GetCodePageInfo(This,uiCodePage,pCodePageInfo); } static inline HRESULT IMultiLanguage_GetFamilyCodePage(IMultiLanguage* This,UINT uiCodePage,UINT *puiFamilyCodePage) { return This->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage); } static inline HRESULT IMultiLanguage_EnumCodePages(IMultiLanguage* This,DWORD grfFlags,IEnumCodePage **ppEnumCodePage) { return This->lpVtbl->EnumCodePages(This,grfFlags,ppEnumCodePage); } static inline HRESULT IMultiLanguage_GetCharsetInfo(IMultiLanguage* This,BSTR Charset,PMIMECSETINFO pCharsetInfo) { return This->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo); } static inline HRESULT IMultiLanguage_IsConvertible(IMultiLanguage* This,DWORD dwSrcEncoding,DWORD dwDstEncoding) { return This->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding); } static inline HRESULT IMultiLanguage_ConvertString(IMultiLanguage* This,DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage_ConvertStringToUnicode(IMultiLanguage* This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage_ConvertStringFromUnicode(IMultiLanguage* This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage_ConvertStringReset(IMultiLanguage* This) { return This->lpVtbl->ConvertStringReset(This); } static inline HRESULT IMultiLanguage_GetRfc1766FromLcid(IMultiLanguage* This,LCID Locale,BSTR *pbstrRfc1766) { return This->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766); } static inline HRESULT IMultiLanguage_GetLcidFromRfc1766(IMultiLanguage* This,LCID *pLocale,BSTR bstrRfc1766) { return This->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766); } static inline HRESULT IMultiLanguage_EnumRfc1766(IMultiLanguage* This,IEnumRfc1766 **ppEnumRfc1766) { return This->lpVtbl->EnumRfc1766(This,ppEnumRfc1766); } static inline HRESULT IMultiLanguage_GetRfc1766Info(IMultiLanguage* This,LCID Locale,PRFC1766INFO pRfc1766Info) { return This->lpVtbl->GetRfc1766Info(This,Locale,pRfc1766Info); } static inline HRESULT IMultiLanguage_CreateConvertCharset(IMultiLanguage* This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset) { return This->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset); } #endif #endif #endif #endif /* __IMultiLanguage_INTERFACE_DEFINED__ */ /***************************************************************************** * IMultiLanguage2 interface */ #ifndef __IMultiLanguage2_INTERFACE_DEFINED__ #define __IMultiLanguage2_INTERFACE_DEFINED__ typedef struct tagDetectEncodingInfo { UINT nLangID; UINT nCodePage; INT nDocPercent; INT nConfidence; } DetectEncodingInfo; typedef struct tagDetectEncodingInfo *pDetectEncodingInfo; DEFINE_GUID(IID_IMultiLanguage2, 0xdccfc164, 0x2b38, 0x11d2, 0xb7,0xec, 0x00,0xc0,0x4f,0x8f,0x5d,0x9a); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dccfc164-2b38-11d2-b7ec-00c04f8f5d9a") 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 ConvertStringFromUnicodeEx( DWORD *pdwMode, DWORD dwEncoding, WCHAR *pSrcStr, UINT *pcSrcSize, CHAR *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; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMultiLanguage2, 0xdccfc164, 0x2b38, 0x11d2, 0xb7,0xec, 0x00,0xc0,0x4f,0x8f,0x5d,0x9a) #endif #else typedef struct IMultiLanguage2Vtbl { BEGIN_INTERFACE /*** 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 *ConvertStringFromUnicodeEx)( IMultiLanguage2 *This, DWORD *pdwMode, DWORD dwEncoding, WCHAR *pSrcStr, UINT *pcSrcSize, CHAR *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); END_INTERFACE } IMultiLanguage2Vtbl; interface IMultiLanguage2 { CONST_VTBL IMultiLanguage2Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMultiLanguage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMultiLanguage2_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMultiLanguage2_Release(This) (This)->lpVtbl->Release(This) /*** IMultiLanguage2 methods ***/ #define IMultiLanguage2_GetNumberOfCodePageInfo(This,pcCodePage) (This)->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage) #define IMultiLanguage2_GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo) (This)->lpVtbl->GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo) #define IMultiLanguage2_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) (This)->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) #define IMultiLanguage2_EnumCodePages(This,grfFlags,LangId,ppEnumCodePage) (This)->lpVtbl->EnumCodePages(This,grfFlags,LangId,ppEnumCodePage) #define IMultiLanguage2_GetCharsetInfo(This,Charset,pCharsetInfo) (This)->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo) #define IMultiLanguage2_IsConvertible(This,dwSrcEncoding,dwDstEncoding) (This)->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding) #define IMultiLanguage2_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage2_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage2_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage2_ConvertStringReset(This) (This)->lpVtbl->ConvertStringReset(This) #define IMultiLanguage2_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) (This)->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766) #define IMultiLanguage2_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) (This)->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766) #define IMultiLanguage2_EnumRfc1766(This,LangId,ppEnumRfc1766) (This)->lpVtbl->EnumRfc1766(This,LangId,ppEnumRfc1766) #define IMultiLanguage2_GetRfc1766Info(This,Locale,LangId,pRfc1766Info) (This)->lpVtbl->GetRfc1766Info(This,Locale,LangId,pRfc1766Info) #define IMultiLanguage2_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) (This)->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) #define IMultiLanguage2_ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut) (This)->lpVtbl->ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut) #define IMultiLanguage2_ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) (This)->lpVtbl->ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) #define IMultiLanguage2_ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) (This)->lpVtbl->ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) #define IMultiLanguage2_DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores) (This)->lpVtbl->DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores) #define IMultiLanguage2_DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores) (This)->lpVtbl->DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores) #define IMultiLanguage2_ValidateCodePage(This,uiCodePage,hwnd) (This)->lpVtbl->ValidateCodePage(This,uiCodePage,hwnd) #define IMultiLanguage2_GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar) (This)->lpVtbl->GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar) #define IMultiLanguage2_IsCodePageInstallable(This,uiCodePage) (This)->lpVtbl->IsCodePageInstallable(This,uiCodePage) #define IMultiLanguage2_SetMimeDBSource(This,dwSource) (This)->lpVtbl->SetMimeDBSource(This,dwSource) #define IMultiLanguage2_GetNumberOfScripts(This,pnScripts) (This)->lpVtbl->GetNumberOfScripts(This,pnScripts) #define IMultiLanguage2_EnumScripts(This,dwFlags,LangId,ppEnumScript) (This)->lpVtbl->EnumScripts(This,dwFlags,LangId,ppEnumScript) #define IMultiLanguage2_ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl) (This)->lpVtbl->ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl) #else /*** IUnknown methods ***/ static inline HRESULT IMultiLanguage2_QueryInterface(IMultiLanguage2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMultiLanguage2_AddRef(IMultiLanguage2* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMultiLanguage2_Release(IMultiLanguage2* This) { return This->lpVtbl->Release(This); } /*** IMultiLanguage2 methods ***/ static inline HRESULT IMultiLanguage2_GetNumberOfCodePageInfo(IMultiLanguage2* This,UINT *pcCodePage) { return This->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage); } static inline HRESULT IMultiLanguage2_GetCodePageInfo(IMultiLanguage2* This,UINT uiCodePage,LANGID LangId,PMIMECPINFO pCodePageInfo) { return This->lpVtbl->GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo); } static inline HRESULT IMultiLanguage2_GetFamilyCodePage(IMultiLanguage2* This,UINT uiCodePage,UINT *puiFamilyCodePage) { return This->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage); } static inline HRESULT IMultiLanguage2_EnumCodePages(IMultiLanguage2* This,DWORD grfFlags,LANGID LangId,IEnumCodePage **ppEnumCodePage) { return This->lpVtbl->EnumCodePages(This,grfFlags,LangId,ppEnumCodePage); } static inline HRESULT IMultiLanguage2_GetCharsetInfo(IMultiLanguage2* This,BSTR Charset,PMIMECSETINFO pCharsetInfo) { return This->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo); } static inline HRESULT IMultiLanguage2_IsConvertible(IMultiLanguage2* This,DWORD dwSrcEncoding,DWORD dwDstEncoding) { return This->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding); } static inline HRESULT IMultiLanguage2_ConvertString(IMultiLanguage2* This,DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage2_ConvertStringToUnicode(IMultiLanguage2* This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage2_ConvertStringFromUnicode(IMultiLanguage2* This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage2_ConvertStringReset(IMultiLanguage2* This) { return This->lpVtbl->ConvertStringReset(This); } static inline HRESULT IMultiLanguage2_GetRfc1766FromLcid(IMultiLanguage2* This,LCID Locale,BSTR *pbstrRfc1766) { return This->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766); } static inline HRESULT IMultiLanguage2_GetLcidFromRfc1766(IMultiLanguage2* This,LCID *pLocale,BSTR bstrRfc1766) { return This->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766); } static inline HRESULT IMultiLanguage2_EnumRfc1766(IMultiLanguage2* This,LANGID LangId,IEnumRfc1766 **ppEnumRfc1766) { return This->lpVtbl->EnumRfc1766(This,LangId,ppEnumRfc1766); } static inline HRESULT IMultiLanguage2_GetRfc1766Info(IMultiLanguage2* This,LCID Locale,LANGID LangId,PRFC1766INFO pRfc1766Info) { return This->lpVtbl->GetRfc1766Info(This,Locale,LangId,pRfc1766Info); } static inline HRESULT IMultiLanguage2_CreateConvertCharset(IMultiLanguage2* This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset) { return This->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset); } static inline HRESULT IMultiLanguage2_ConvertStringInIStream(IMultiLanguage2* This,DWORD *pdwMode,DWORD dwFlag,WCHAR *lpFallBack,DWORD dwSrcEncoding,DWORD dwDstEncoding,IStream *pstmIn,IStream *pstmOut) { return This->lpVtbl->ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut); } static inline HRESULT IMultiLanguage2_ConvertStringToUnicodeEx(IMultiLanguage2* This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack) { return This->lpVtbl->ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack); } static inline HRESULT IMultiLanguage2_ConvertStringFromUnicodeEx(IMultiLanguage2* This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack) { return This->lpVtbl->ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack); } static inline HRESULT IMultiLanguage2_DetectCodepageInIStream(IMultiLanguage2* This,DWORD dwFlag,DWORD dwPrefWinCodePage,IStream *pstmIn,DetectEncodingInfo *lpEncoding,INT *pnScores) { return This->lpVtbl->DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores); } static inline HRESULT IMultiLanguage2_DetectInputCodepage(IMultiLanguage2* This,DWORD dwFlag,DWORD dwPrefWinCodePage,CHAR *pSrcStr,INT *pcSrcSize,DetectEncodingInfo *lpEncoding,INT *pnScores) { return This->lpVtbl->DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores); } static inline HRESULT IMultiLanguage2_ValidateCodePage(IMultiLanguage2* This,UINT uiCodePage,HWND hwnd) { return This->lpVtbl->ValidateCodePage(This,uiCodePage,hwnd); } static inline HRESULT IMultiLanguage2_GetCodePageDescription(IMultiLanguage2* This,UINT uiCodePage,LCID lcid,LPWSTR lpWideCharStr,int cchWideChar) { return This->lpVtbl->GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar); } static inline HRESULT IMultiLanguage2_IsCodePageInstallable(IMultiLanguage2* This,UINT uiCodePage) { return This->lpVtbl->IsCodePageInstallable(This,uiCodePage); } static inline HRESULT IMultiLanguage2_SetMimeDBSource(IMultiLanguage2* This,MIMECONTF dwSource) { return This->lpVtbl->SetMimeDBSource(This,dwSource); } static inline HRESULT IMultiLanguage2_GetNumberOfScripts(IMultiLanguage2* This,UINT *pnScripts) { return This->lpVtbl->GetNumberOfScripts(This,pnScripts); } static inline HRESULT IMultiLanguage2_EnumScripts(IMultiLanguage2* This,DWORD dwFlags,LANGID LangId,IEnumScript **ppEnumScript) { return This->lpVtbl->EnumScripts(This,dwFlags,LangId,ppEnumScript); } static inline HRESULT IMultiLanguage2_ValidateCodePageEx(IMultiLanguage2* This,UINT uiCodePage,HWND hwnd,DWORD dwfIODControl) { return This->lpVtbl->ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl); } #endif #endif #endif #endif /* __IMultiLanguage2_INTERFACE_DEFINED__ */ /***************************************************************************** * IMultiLanguage3 interface */ #ifndef __IMultiLanguage3_INTERFACE_DEFINED__ #define __IMultiLanguage3_INTERFACE_DEFINED__ typedef IMultiLanguage3 *LPMULTILANGUAGE3; DEFINE_GUID(IID_IMultiLanguage3, 0x4e5868ab, 0xb157, 0x4623, 0x9a,0xcc, 0x6a,0x1d,0x9c,0xae,0xbe,0x04); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("4e5868ab-b157-4623-9acc-6a1d9caebe04") IMultiLanguage3 : public IMultiLanguage2 { virtual HRESULT STDMETHODCALLTYPE DetectOutboundCodePage( DWORD dwFlags, LPCWSTR lpWideCharStr, UINT cchWideChar, UINT *puiPreferredCodePages, UINT nPreferredCodePages, UINT *puiDetectedCodePages, UINT *pnDetectedCodePages, WCHAR *lpSpecialChar) = 0; virtual HRESULT STDMETHODCALLTYPE DetectOutboundCodePageInIStream( DWORD dwFlags, IStream *pStrIn, UINT *puiPreferredCodePages, UINT nPreferredCodePages, UINT *puiDetectedCodePages, UINT *pnDetectedCodePages, WCHAR *lpSpecialChar) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IMultiLanguage3, 0x4e5868ab, 0xb157, 0x4623, 0x9a,0xcc, 0x6a,0x1d,0x9c,0xae,0xbe,0x04) #endif #else typedef struct IMultiLanguage3Vtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IMultiLanguage3 *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IMultiLanguage3 *This); ULONG (STDMETHODCALLTYPE *Release)( IMultiLanguage3 *This); /*** IMultiLanguage2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetNumberOfCodePageInfo)( IMultiLanguage3 *This, UINT *pcCodePage); HRESULT (STDMETHODCALLTYPE *GetCodePageInfo)( IMultiLanguage3 *This, UINT uiCodePage, LANGID LangId, PMIMECPINFO pCodePageInfo); HRESULT (STDMETHODCALLTYPE *GetFamilyCodePage)( IMultiLanguage3 *This, UINT uiCodePage, UINT *puiFamilyCodePage); HRESULT (STDMETHODCALLTYPE *EnumCodePages)( IMultiLanguage3 *This, DWORD grfFlags, LANGID LangId, IEnumCodePage **ppEnumCodePage); HRESULT (STDMETHODCALLTYPE *GetCharsetInfo)( IMultiLanguage3 *This, BSTR Charset, PMIMECSETINFO pCharsetInfo); HRESULT (STDMETHODCALLTYPE *IsConvertible)( IMultiLanguage3 *This, DWORD dwSrcEncoding, DWORD dwDstEncoding); HRESULT (STDMETHODCALLTYPE *ConvertString)( IMultiLanguage3 *This, DWORD *pdwMode, DWORD dwSrcEncoding, DWORD dwDstEncoding, BYTE *pSrcStr, UINT *pcSrcSize, BYTE *pDstStr, UINT *pcDstSize); HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicode)( IMultiLanguage3 *This, DWORD *pdwMode, DWORD dwEncoding, CHAR *pSrcStr, UINT *pcSrcSize, WCHAR *pDstStr, UINT *pcDstSize); HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicode)( IMultiLanguage3 *This, DWORD *pdwMode, DWORD dwEncoding, WCHAR *pSrcStr, UINT *pcSrcSize, CHAR *pDstStr, UINT *pcDstSize); HRESULT (STDMETHODCALLTYPE *ConvertStringReset)( IMultiLanguage3 *This); HRESULT (STDMETHODCALLTYPE *GetRfc1766FromLcid)( IMultiLanguage3 *This, LCID Locale, BSTR *pbstrRfc1766); HRESULT (STDMETHODCALLTYPE *GetLcidFromRfc1766)( IMultiLanguage3 *This, LCID *pLocale, BSTR bstrRfc1766); HRESULT (STDMETHODCALLTYPE *EnumRfc1766)( IMultiLanguage3 *This, LANGID LangId, IEnumRfc1766 **ppEnumRfc1766); HRESULT (STDMETHODCALLTYPE *GetRfc1766Info)( IMultiLanguage3 *This, LCID Locale, LANGID LangId, PRFC1766INFO pRfc1766Info); HRESULT (STDMETHODCALLTYPE *CreateConvertCharset)( IMultiLanguage3 *This, UINT uiSrcCodePage, UINT uiDstCodePage, DWORD dwProperty, IMLangConvertCharset **ppMLangConvertCharset); HRESULT (STDMETHODCALLTYPE *ConvertStringInIStream)( IMultiLanguage3 *This, DWORD *pdwMode, DWORD dwFlag, WCHAR *lpFallBack, DWORD dwSrcEncoding, DWORD dwDstEncoding, IStream *pstmIn, IStream *pstmOut); HRESULT (STDMETHODCALLTYPE *ConvertStringToUnicodeEx)( IMultiLanguage3 *This, DWORD *pdwMode, DWORD dwEncoding, CHAR *pSrcStr, UINT *pcSrcSize, WCHAR *pDstStr, UINT *pcDstSize, DWORD dwFlag, WCHAR *lpFallBack); HRESULT (STDMETHODCALLTYPE *ConvertStringFromUnicodeEx)( IMultiLanguage3 *This, DWORD *pdwMode, DWORD dwEncoding, WCHAR *pSrcStr, UINT *pcSrcSize, CHAR *pDstStr, UINT *pcDstSize, DWORD dwFlag, WCHAR *lpFallBack); HRESULT (STDMETHODCALLTYPE *DetectCodepageInIStream)( IMultiLanguage3 *This, DWORD dwFlag, DWORD dwPrefWinCodePage, IStream *pstmIn, DetectEncodingInfo *lpEncoding, INT *pnScores); HRESULT (STDMETHODCALLTYPE *DetectInputCodepage)( IMultiLanguage3 *This, DWORD dwFlag, DWORD dwPrefWinCodePage, CHAR *pSrcStr, INT *pcSrcSize, DetectEncodingInfo *lpEncoding, INT *pnScores); HRESULT (STDMETHODCALLTYPE *ValidateCodePage)( IMultiLanguage3 *This, UINT uiCodePage, HWND hwnd); HRESULT (STDMETHODCALLTYPE *GetCodePageDescription)( IMultiLanguage3 *This, UINT uiCodePage, LCID lcid, LPWSTR lpWideCharStr, int cchWideChar); HRESULT (STDMETHODCALLTYPE *IsCodePageInstallable)( IMultiLanguage3 *This, UINT uiCodePage); HRESULT (STDMETHODCALLTYPE *SetMimeDBSource)( IMultiLanguage3 *This, MIMECONTF dwSource); HRESULT (STDMETHODCALLTYPE *GetNumberOfScripts)( IMultiLanguage3 *This, UINT *pnScripts); HRESULT (STDMETHODCALLTYPE *EnumScripts)( IMultiLanguage3 *This, DWORD dwFlags, LANGID LangId, IEnumScript **ppEnumScript); HRESULT (STDMETHODCALLTYPE *ValidateCodePageEx)( IMultiLanguage3 *This, UINT uiCodePage, HWND hwnd, DWORD dwfIODControl); /*** IMultiLanguage3 methods ***/ HRESULT (STDMETHODCALLTYPE *DetectOutboundCodePage)( IMultiLanguage3 *This, DWORD dwFlags, LPCWSTR lpWideCharStr, UINT cchWideChar, UINT *puiPreferredCodePages, UINT nPreferredCodePages, UINT *puiDetectedCodePages, UINT *pnDetectedCodePages, WCHAR *lpSpecialChar); HRESULT (STDMETHODCALLTYPE *DetectOutboundCodePageInIStream)( IMultiLanguage3 *This, DWORD dwFlags, IStream *pStrIn, UINT *puiPreferredCodePages, UINT nPreferredCodePages, UINT *puiDetectedCodePages, UINT *pnDetectedCodePages, WCHAR *lpSpecialChar); END_INTERFACE } IMultiLanguage3Vtbl; interface IMultiLanguage3 { CONST_VTBL IMultiLanguage3Vtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IMultiLanguage3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IMultiLanguage3_AddRef(This) (This)->lpVtbl->AddRef(This) #define IMultiLanguage3_Release(This) (This)->lpVtbl->Release(This) /*** IMultiLanguage2 methods ***/ #define IMultiLanguage3_GetNumberOfCodePageInfo(This,pcCodePage) (This)->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage) #define IMultiLanguage3_GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo) (This)->lpVtbl->GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo) #define IMultiLanguage3_GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) (This)->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage) #define IMultiLanguage3_EnumCodePages(This,grfFlags,LangId,ppEnumCodePage) (This)->lpVtbl->EnumCodePages(This,grfFlags,LangId,ppEnumCodePage) #define IMultiLanguage3_GetCharsetInfo(This,Charset,pCharsetInfo) (This)->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo) #define IMultiLanguage3_IsConvertible(This,dwSrcEncoding,dwDstEncoding) (This)->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding) #define IMultiLanguage3_ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage3_ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage3_ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) (This)->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize) #define IMultiLanguage3_ConvertStringReset(This) (This)->lpVtbl->ConvertStringReset(This) #define IMultiLanguage3_GetRfc1766FromLcid(This,Locale,pbstrRfc1766) (This)->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766) #define IMultiLanguage3_GetLcidFromRfc1766(This,pLocale,bstrRfc1766) (This)->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766) #define IMultiLanguage3_EnumRfc1766(This,LangId,ppEnumRfc1766) (This)->lpVtbl->EnumRfc1766(This,LangId,ppEnumRfc1766) #define IMultiLanguage3_GetRfc1766Info(This,Locale,LangId,pRfc1766Info) (This)->lpVtbl->GetRfc1766Info(This,Locale,LangId,pRfc1766Info) #define IMultiLanguage3_CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) (This)->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset) #define IMultiLanguage3_ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut) (This)->lpVtbl->ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut) #define IMultiLanguage3_ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) (This)->lpVtbl->ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) #define IMultiLanguage3_ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) (This)->lpVtbl->ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack) #define IMultiLanguage3_DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores) (This)->lpVtbl->DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores) #define IMultiLanguage3_DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores) (This)->lpVtbl->DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores) #define IMultiLanguage3_ValidateCodePage(This,uiCodePage,hwnd) (This)->lpVtbl->ValidateCodePage(This,uiCodePage,hwnd) #define IMultiLanguage3_GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar) (This)->lpVtbl->GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar) #define IMultiLanguage3_IsCodePageInstallable(This,uiCodePage) (This)->lpVtbl->IsCodePageInstallable(This,uiCodePage) #define IMultiLanguage3_SetMimeDBSource(This,dwSource) (This)->lpVtbl->SetMimeDBSource(This,dwSource) #define IMultiLanguage3_GetNumberOfScripts(This,pnScripts) (This)->lpVtbl->GetNumberOfScripts(This,pnScripts) #define IMultiLanguage3_EnumScripts(This,dwFlags,LangId,ppEnumScript) (This)->lpVtbl->EnumScripts(This,dwFlags,LangId,ppEnumScript) #define IMultiLanguage3_ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl) (This)->lpVtbl->ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl) /*** IMultiLanguage3 methods ***/ #define IMultiLanguage3_DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar) (This)->lpVtbl->DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar) #define IMultiLanguage3_DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar) (This)->lpVtbl->DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar) #else /*** IUnknown methods ***/ static inline HRESULT IMultiLanguage3_QueryInterface(IMultiLanguage3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IMultiLanguage3_AddRef(IMultiLanguage3* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IMultiLanguage3_Release(IMultiLanguage3* This) { return This->lpVtbl->Release(This); } /*** IMultiLanguage2 methods ***/ static inline HRESULT IMultiLanguage3_GetNumberOfCodePageInfo(IMultiLanguage3* This,UINT *pcCodePage) { return This->lpVtbl->GetNumberOfCodePageInfo(This,pcCodePage); } static inline HRESULT IMultiLanguage3_GetCodePageInfo(IMultiLanguage3* This,UINT uiCodePage,LANGID LangId,PMIMECPINFO pCodePageInfo) { return This->lpVtbl->GetCodePageInfo(This,uiCodePage,LangId,pCodePageInfo); } static inline HRESULT IMultiLanguage3_GetFamilyCodePage(IMultiLanguage3* This,UINT uiCodePage,UINT *puiFamilyCodePage) { return This->lpVtbl->GetFamilyCodePage(This,uiCodePage,puiFamilyCodePage); } static inline HRESULT IMultiLanguage3_EnumCodePages(IMultiLanguage3* This,DWORD grfFlags,LANGID LangId,IEnumCodePage **ppEnumCodePage) { return This->lpVtbl->EnumCodePages(This,grfFlags,LangId,ppEnumCodePage); } static inline HRESULT IMultiLanguage3_GetCharsetInfo(IMultiLanguage3* This,BSTR Charset,PMIMECSETINFO pCharsetInfo) { return This->lpVtbl->GetCharsetInfo(This,Charset,pCharsetInfo); } static inline HRESULT IMultiLanguage3_IsConvertible(IMultiLanguage3* This,DWORD dwSrcEncoding,DWORD dwDstEncoding) { return This->lpVtbl->IsConvertible(This,dwSrcEncoding,dwDstEncoding); } static inline HRESULT IMultiLanguage3_ConvertString(IMultiLanguage3* This,DWORD *pdwMode,DWORD dwSrcEncoding,DWORD dwDstEncoding,BYTE *pSrcStr,UINT *pcSrcSize,BYTE *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertString(This,pdwMode,dwSrcEncoding,dwDstEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage3_ConvertStringToUnicode(IMultiLanguage3* This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertStringToUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage3_ConvertStringFromUnicode(IMultiLanguage3* This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize) { return This->lpVtbl->ConvertStringFromUnicode(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize); } static inline HRESULT IMultiLanguage3_ConvertStringReset(IMultiLanguage3* This) { return This->lpVtbl->ConvertStringReset(This); } static inline HRESULT IMultiLanguage3_GetRfc1766FromLcid(IMultiLanguage3* This,LCID Locale,BSTR *pbstrRfc1766) { return This->lpVtbl->GetRfc1766FromLcid(This,Locale,pbstrRfc1766); } static inline HRESULT IMultiLanguage3_GetLcidFromRfc1766(IMultiLanguage3* This,LCID *pLocale,BSTR bstrRfc1766) { return This->lpVtbl->GetLcidFromRfc1766(This,pLocale,bstrRfc1766); } static inline HRESULT IMultiLanguage3_EnumRfc1766(IMultiLanguage3* This,LANGID LangId,IEnumRfc1766 **ppEnumRfc1766) { return This->lpVtbl->EnumRfc1766(This,LangId,ppEnumRfc1766); } static inline HRESULT IMultiLanguage3_GetRfc1766Info(IMultiLanguage3* This,LCID Locale,LANGID LangId,PRFC1766INFO pRfc1766Info) { return This->lpVtbl->GetRfc1766Info(This,Locale,LangId,pRfc1766Info); } static inline HRESULT IMultiLanguage3_CreateConvertCharset(IMultiLanguage3* This,UINT uiSrcCodePage,UINT uiDstCodePage,DWORD dwProperty,IMLangConvertCharset **ppMLangConvertCharset) { return This->lpVtbl->CreateConvertCharset(This,uiSrcCodePage,uiDstCodePage,dwProperty,ppMLangConvertCharset); } static inline HRESULT IMultiLanguage3_ConvertStringInIStream(IMultiLanguage3* This,DWORD *pdwMode,DWORD dwFlag,WCHAR *lpFallBack,DWORD dwSrcEncoding,DWORD dwDstEncoding,IStream *pstmIn,IStream *pstmOut) { return This->lpVtbl->ConvertStringInIStream(This,pdwMode,dwFlag,lpFallBack,dwSrcEncoding,dwDstEncoding,pstmIn,pstmOut); } static inline HRESULT IMultiLanguage3_ConvertStringToUnicodeEx(IMultiLanguage3* This,DWORD *pdwMode,DWORD dwEncoding,CHAR *pSrcStr,UINT *pcSrcSize,WCHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack) { return This->lpVtbl->ConvertStringToUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack); } static inline HRESULT IMultiLanguage3_ConvertStringFromUnicodeEx(IMultiLanguage3* This,DWORD *pdwMode,DWORD dwEncoding,WCHAR *pSrcStr,UINT *pcSrcSize,CHAR *pDstStr,UINT *pcDstSize,DWORD dwFlag,WCHAR *lpFallBack) { return This->lpVtbl->ConvertStringFromUnicodeEx(This,pdwMode,dwEncoding,pSrcStr,pcSrcSize,pDstStr,pcDstSize,dwFlag,lpFallBack); } static inline HRESULT IMultiLanguage3_DetectCodepageInIStream(IMultiLanguage3* This,DWORD dwFlag,DWORD dwPrefWinCodePage,IStream *pstmIn,DetectEncodingInfo *lpEncoding,INT *pnScores) { return This->lpVtbl->DetectCodepageInIStream(This,dwFlag,dwPrefWinCodePage,pstmIn,lpEncoding,pnScores); } static inline HRESULT IMultiLanguage3_DetectInputCodepage(IMultiLanguage3* This,DWORD dwFlag,DWORD dwPrefWinCodePage,CHAR *pSrcStr,INT *pcSrcSize,DetectEncodingInfo *lpEncoding,INT *pnScores) { return This->lpVtbl->DetectInputCodepage(This,dwFlag,dwPrefWinCodePage,pSrcStr,pcSrcSize,lpEncoding,pnScores); } static inline HRESULT IMultiLanguage3_ValidateCodePage(IMultiLanguage3* This,UINT uiCodePage,HWND hwnd) { return This->lpVtbl->ValidateCodePage(This,uiCodePage,hwnd); } static inline HRESULT IMultiLanguage3_GetCodePageDescription(IMultiLanguage3* This,UINT uiCodePage,LCID lcid,LPWSTR lpWideCharStr,int cchWideChar) { return This->lpVtbl->GetCodePageDescription(This,uiCodePage,lcid,lpWideCharStr,cchWideChar); } static inline HRESULT IMultiLanguage3_IsCodePageInstallable(IMultiLanguage3* This,UINT uiCodePage) { return This->lpVtbl->IsCodePageInstallable(This,uiCodePage); } static inline HRESULT IMultiLanguage3_SetMimeDBSource(IMultiLanguage3* This,MIMECONTF dwSource) { return This->lpVtbl->SetMimeDBSource(This,dwSource); } static inline HRESULT IMultiLanguage3_GetNumberOfScripts(IMultiLanguage3* This,UINT *pnScripts) { return This->lpVtbl->GetNumberOfScripts(This,pnScripts); } static inline HRESULT IMultiLanguage3_EnumScripts(IMultiLanguage3* This,DWORD dwFlags,LANGID LangId,IEnumScript **ppEnumScript) { return This->lpVtbl->EnumScripts(This,dwFlags,LangId,ppEnumScript); } static inline HRESULT IMultiLanguage3_ValidateCodePageEx(IMultiLanguage3* This,UINT uiCodePage,HWND hwnd,DWORD dwfIODControl) { return This->lpVtbl->ValidateCodePageEx(This,uiCodePage,hwnd,dwfIODControl); } /*** IMultiLanguage3 methods ***/ static inline HRESULT IMultiLanguage3_DetectOutboundCodePage(IMultiLanguage3* This,DWORD dwFlags,LPCWSTR lpWideCharStr,UINT cchWideChar,UINT *puiPreferredCodePages,UINT nPreferredCodePages,UINT *puiDetectedCodePages,UINT *pnDetectedCodePages,WCHAR *lpSpecialChar) { return This->lpVtbl->DetectOutboundCodePage(This,dwFlags,lpWideCharStr,cchWideChar,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar); } static inline HRESULT IMultiLanguage3_DetectOutboundCodePageInIStream(IMultiLanguage3* This,DWORD dwFlags,IStream *pStrIn,UINT *puiPreferredCodePages,UINT nPreferredCodePages,UINT *puiDetectedCodePages,UINT *pnDetectedCodePages,WCHAR *lpSpecialChar) { return This->lpVtbl->DetectOutboundCodePageInIStream(This,dwFlags,pStrIn,puiPreferredCodePages,nPreferredCodePages,puiDetectedCodePages,pnDetectedCodePages,lpSpecialChar); } #endif #endif #endif #endif /* __IMultiLanguage3_INTERFACE_DEFINED__ */ /***************************************************************************** * CMultiLanguage coclass */ DEFINE_GUID(CLSID_CMultiLanguage, 0x275c23e2, 0x3747, 0x11d0, 0x9f,0xea, 0x00,0xaa,0x00,0x3f,0x86,0x46); #ifdef __cplusplus class DECLSPEC_UUID("275c23e2-3747-11d0-9fea-00aa003f8646") CMultiLanguage; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(CMultiLanguage, 0x275c23e2, 0x3747, 0x11d0, 0x9f,0xea, 0x00,0xaa,0x00,0x3f,0x86,0x46) #endif #endif STDAPI LcidToRfc1766A(LCID, LPSTR, INT); STDAPI LcidToRfc1766W(LCID, LPWSTR, INT); #define LcidToRfc1766 WINELIB_NAME_AW(LcidToRfc1766) STDAPI Rfc1766ToLcidA(LCID *, LPCSTR); STDAPI Rfc1766ToLcidW(LCID *, LPCWSTR); #define Rfc1766ToLcid WINELIB_NAME_AW(Rfc1766ToLcid) STDAPI GetGlobalFontLinkObject(IMLangFontLink **unknown); STDAPI IsConvertINetStringAvailable(DWORD, DWORD); STDAPI ConvertINetString(LPDWORD, DWORD, DWORD, LPCSTR, LPINT, LPSTR, LPINT); STDAPI ConvertINetMultiByteToUnicode(LPDWORD, DWORD, LPCSTR, LPINT, LPWSTR, LPINT); STDAPI ConvertINetUnicodeToMultiByte(LPDWORD, DWORD, LPCWSTR, LPINT, LPSTR, LPINT); /* Begin additional prototypes for all interfaces */ ULONG __RPC_USER HDC_UserSize (ULONG *, ULONG, HDC *); unsigned char * __RPC_USER HDC_UserMarshal (ULONG *, unsigned char *, HDC *); unsigned char * __RPC_USER HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *); void __RPC_USER HDC_UserFree (ULONG *, HDC *); ULONG __RPC_USER HFONT_UserSize (ULONG *, ULONG, HFONT *); unsigned char * __RPC_USER HFONT_UserMarshal (ULONG *, unsigned char *, HFONT *); unsigned char * __RPC_USER HFONT_UserUnmarshal(ULONG *, unsigned char *, HFONT *); void __RPC_USER HFONT_UserFree (ULONG *, HFONT *); ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *); unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *); unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *); void __RPC_USER BSTR_UserFree (ULONG *, BSTR *); ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); void __RPC_USER HWND_UserFree (ULONG *, HWND *); /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __mlang_h__ */