/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 7.00.0555 */ /* Compiler settings for mlang.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ /* @@MIDL_FILE_HEADING( ) */ #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 500 #endif /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCSAL_H_VERSION__ #define __REQUIRED_RPCSAL_H_VERSION__ 100 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef __mlang_h__ #define __mlang_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IMLangStringBufW_FWD_DEFINED__ #define __IMLangStringBufW_FWD_DEFINED__ typedef interface IMLangStringBufW IMLangStringBufW; #endif /* __IMLangStringBufW_FWD_DEFINED__ */ #ifndef __IMLangStringBufA_FWD_DEFINED__ #define __IMLangStringBufA_FWD_DEFINED__ typedef interface IMLangStringBufA IMLangStringBufA; #endif /* __IMLangStringBufA_FWD_DEFINED__ */ #ifndef __IMLangString_FWD_DEFINED__ #define __IMLangString_FWD_DEFINED__ typedef interface IMLangString IMLangString; #endif /* __IMLangString_FWD_DEFINED__ */ #ifndef __IMLangStringWStr_FWD_DEFINED__ #define __IMLangStringWStr_FWD_DEFINED__ typedef interface IMLangStringWStr IMLangStringWStr; #endif /* __IMLangStringWStr_FWD_DEFINED__ */ #ifndef __IMLangStringAStr_FWD_DEFINED__ #define __IMLangStringAStr_FWD_DEFINED__ typedef interface IMLangStringAStr IMLangStringAStr; #endif /* __IMLangStringAStr_FWD_DEFINED__ */ #ifndef __CMLangString_FWD_DEFINED__ #define __CMLangString_FWD_DEFINED__ #ifdef __cplusplus typedef class CMLangString CMLangString; #else typedef struct CMLangString CMLangString; #endif /* __cplusplus */ #endif /* __CMLangString_FWD_DEFINED__ */ #ifndef __IMLangLineBreakConsole_FWD_DEFINED__ #define __IMLangLineBreakConsole_FWD_DEFINED__ typedef interface IMLangLineBreakConsole IMLangLineBreakConsole; #endif /* __IMLangLineBreakConsole_FWD_DEFINED__ */ #ifndef __IEnumCodePage_FWD_DEFINED__ #define __IEnumCodePage_FWD_DEFINED__ typedef interface IEnumCodePage IEnumCodePage; #endif /* __IEnumCodePage_FWD_DEFINED__ */ #ifndef __IEnumRfc1766_FWD_DEFINED__ #define __IEnumRfc1766_FWD_DEFINED__ typedef interface IEnumRfc1766 IEnumRfc1766; #endif /* __IEnumRfc1766_FWD_DEFINED__ */ #ifndef __IEnumScript_FWD_DEFINED__ #define __IEnumScript_FWD_DEFINED__ typedef interface IEnumScript IEnumScript; #endif /* __IEnumScript_FWD_DEFINED__ */ #ifndef __IMLangConvertCharset_FWD_DEFINED__ #define __IMLangConvertCharset_FWD_DEFINED__ typedef interface IMLangConvertCharset IMLangConvertCharset; #endif /* __IMLangConvertCharset_FWD_DEFINED__ */ #ifndef __CMLangConvertCharset_FWD_DEFINED__ #define __CMLangConvertCharset_FWD_DEFINED__ #ifdef __cplusplus typedef class CMLangConvertCharset CMLangConvertCharset; #else typedef struct CMLangConvertCharset CMLangConvertCharset; #endif /* __cplusplus */ #endif /* __CMLangConvertCharset_FWD_DEFINED__ */ #ifndef __IMultiLanguage_FWD_DEFINED__ #define __IMultiLanguage_FWD_DEFINED__ typedef interface IMultiLanguage IMultiLanguage; #endif /* __IMultiLanguage_FWD_DEFINED__ */ #ifndef __IMultiLanguage2_FWD_DEFINED__ #define __IMultiLanguage2_FWD_DEFINED__ typedef interface IMultiLanguage2 IMultiLanguage2; #endif /* __IMultiLanguage2_FWD_DEFINED__ */ #ifndef __IMLangCodePages_FWD_DEFINED__ #define __IMLangCodePages_FWD_DEFINED__ typedef interface IMLangCodePages IMLangCodePages; #endif /* __IMLangCodePages_FWD_DEFINED__ */ #ifndef __IMLangFontLink_FWD_DEFINED__ #define __IMLangFontLink_FWD_DEFINED__ typedef interface IMLangFontLink IMLangFontLink; #endif /* __IMLangFontLink_FWD_DEFINED__ */ #ifndef __IMLangFontLink2_FWD_DEFINED__ #define __IMLangFontLink2_FWD_DEFINED__ typedef interface IMLangFontLink2 IMLangFontLink2; #endif /* __IMLangFontLink2_FWD_DEFINED__ */ #ifndef __IMultiLanguage3_FWD_DEFINED__ #define __IMultiLanguage3_FWD_DEFINED__ typedef interface IMultiLanguage3 IMultiLanguage3; #endif /* __IMultiLanguage3_FWD_DEFINED__ */ #ifndef __CMultiLanguage_FWD_DEFINED__ #define __CMultiLanguage_FWD_DEFINED__ #ifdef __cplusplus typedef class CMultiLanguage CMultiLanguage; #else typedef struct CMultiLanguage CMultiLanguage; #endif /* __cplusplus */ #endif /* __CMultiLanguage_FWD_DEFINED__ */ /* header files for imported files */ #include "unknwn.h" #ifdef __cplusplus extern "C"{ #endif /* interface __MIDL_itf_mlang_0000_0000 */ /* [local] */ //=--------------------------------------------------------------------------= // MLang.h //=--------------------------------------------------------------------------= // Copyright (c) Microsoft Corporation. All rights reserved. // // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A // PARTICULAR PURPOSE. //=--------------------------------------------------------------------------= #pragma comment(lib,"uuid.lib") //---------------------------------------------------------------------------- // IMultiLanguage Interfaces. extern RPC_IF_HANDLE __MIDL_itf_mlang_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mlang_0000_0000_v0_0_s_ifspec; #ifndef __MultiLanguage_LIBRARY_DEFINED__ #define __MultiLanguage_LIBRARY_DEFINED__ /* library MultiLanguage */ /* [version][lcid][helpstring][uuid] */ typedef WORD LANGID; typedef enum tagMLSTR_FLAGS { MLSTR_READ = 1, MLSTR_WRITE = 2 } MLSTR_FLAGS; // dwfIODControl definitions for ValidateCodePageEx() #define CPIOD_PEEK 0x40000000L #define CPIOD_FORCE_PROMPT 0x80000000L EXTERN_C const IID LIBID_MultiLanguage; #ifndef __IMLangStringBufW_INTERFACE_DEFINED__ #define __IMLangStringBufW_INTERFACE_DEFINED__ /* interface IMLangStringBufW */ /* [object][unique][helpstring][uuid][local] */ EXTERN_C const IID IID_IMLangStringBufW; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("D24ACD21-BA72-11D0-B188-00AA0038C969") IMLangStringBufW : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetStatus( /* [annotation][out] */ __out_opt long *plFlags, /* [annotation][out] */ __out_opt long *pcchBuf) = 0; virtual HRESULT STDMETHODCALLTYPE LockBuf( /* [in] */ long cchOffset, /* [in] */ long cchMaxLock, /* [annotation][size_is][size_is][out] */ __deref_out_ecount(*pcchBuf) WCHAR **ppszBuf, /* [annotation][out] */ __out_opt long *pcchBuf) = 0; virtual HRESULT STDMETHODCALLTYPE UnlockBuf( /* [annotation][size_is][in] */ __in_ecount(cchWrite-cchOffset) const WCHAR *pszBuf, /* [in] */ long cchOffset, /* [in] */ long cchWrite) = 0; virtual HRESULT STDMETHODCALLTYPE Insert( /* [in] */ long cchOffset, /* [in] */ long cchMaxInsert, /* [annotation][out] */ __out_opt long *pcchActual) = 0; virtual HRESULT STDMETHODCALLTYPE Delete( /* [in] */ long cchOffset, /* [in] */ long cchDelete) = 0; }; #else /* C style interface */ typedef struct IMLangStringBufWVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangStringBufW * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangStringBufW * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangStringBufW * This); HRESULT ( STDMETHODCALLTYPE *GetStatus )( IMLangStringBufW * This, /* [annotation][out] */ __out_opt long *plFlags, /* [annotation][out] */ __out_opt long *pcchBuf); HRESULT ( STDMETHODCALLTYPE *LockBuf )( IMLangStringBufW * This, /* [in] */ long cchOffset, /* [in] */ long cchMaxLock, /* [annotation][size_is][size_is][out] */ __deref_out_ecount(*pcchBuf) WCHAR **ppszBuf, /* [annotation][out] */ __out_opt long *pcchBuf); HRESULT ( STDMETHODCALLTYPE *UnlockBuf )( IMLangStringBufW * This, /* [annotation][size_is][in] */ __in_ecount(cchWrite-cchOffset) const WCHAR *pszBuf, /* [in] */ long cchOffset, /* [in] */ long cchWrite); HRESULT ( STDMETHODCALLTYPE *Insert )( IMLangStringBufW * This, /* [in] */ long cchOffset, /* [in] */ long cchMaxInsert, /* [annotation][out] */ __out_opt long *pcchActual); HRESULT ( STDMETHODCALLTYPE *Delete )( IMLangStringBufW * This, /* [in] */ long cchOffset, /* [in] */ long cchDelete); END_INTERFACE } IMLangStringBufWVtbl; interface IMLangStringBufW { CONST_VTBL struct IMLangStringBufWVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMLangStringBufW_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMLangStringBufW_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMLangStringBufW_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMLangStringBufW_GetStatus(This,plFlags,pcchBuf) \ ( (This)->lpVtbl -> GetStatus(This,plFlags,pcchBuf) ) #define IMLangStringBufW_LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf) \ ( (This)->lpVtbl -> LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf) ) #define IMLangStringBufW_UnlockBuf(This,pszBuf,cchOffset,cchWrite) \ ( (This)->lpVtbl -> UnlockBuf(This,pszBuf,cchOffset,cchWrite) ) #define IMLangStringBufW_Insert(This,cchOffset,cchMaxInsert,pcchActual) \ ( (This)->lpVtbl -> Insert(This,cchOffset,cchMaxInsert,pcchActual) ) #define IMLangStringBufW_Delete(This,cchOffset,cchDelete) \ ( (This)->lpVtbl -> Delete(This,cchOffset,cchDelete) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangStringBufW_INTERFACE_DEFINED__ */ #ifndef __IMLangStringBufA_INTERFACE_DEFINED__ #define __IMLangStringBufA_INTERFACE_DEFINED__ /* interface IMLangStringBufA */ /* [object][unique][helpstring][uuid][local] */ EXTERN_C const IID IID_IMLangStringBufA; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("D24ACD23-BA72-11D0-B188-00AA0038C969") IMLangStringBufA : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetStatus( /* [annotation][out] */ __out_opt long *plFlags, /* [annotation][out] */ __out_opt long *pcchBuf) = 0; virtual HRESULT STDMETHODCALLTYPE LockBuf( /* [in] */ long cchOffset, /* [in] */ long cchMaxLock, /* [annotation][size_is][size_is][out] */ __deref_out_ecount(*pcchBuf) CHAR **ppszBuf, /* [annotation][out] */ __out_opt long *pcchBuf) = 0; virtual HRESULT STDMETHODCALLTYPE UnlockBuf( /* [annotation][size_is][in] */ __in_ecount(cchWrite-cchOffset) const CHAR *pszBuf, /* [in] */ long cchOffset, /* [in] */ long cchWrite) = 0; virtual HRESULT STDMETHODCALLTYPE Insert( /* [in] */ long cchOffset, /* [in] */ long cchMaxInsert, /* [annotation][out] */ __out_opt long *pcchActual) = 0; virtual HRESULT STDMETHODCALLTYPE Delete( /* [in] */ long cchOffset, /* [in] */ long cchDelete) = 0; }; #else /* C style interface */ typedef struct IMLangStringBufAVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangStringBufA * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangStringBufA * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangStringBufA * This); HRESULT ( STDMETHODCALLTYPE *GetStatus )( IMLangStringBufA * This, /* [annotation][out] */ __out_opt long *plFlags, /* [annotation][out] */ __out_opt long *pcchBuf); HRESULT ( STDMETHODCALLTYPE *LockBuf )( IMLangStringBufA * This, /* [in] */ long cchOffset, /* [in] */ long cchMaxLock, /* [annotation][size_is][size_is][out] */ __deref_out_ecount(*pcchBuf) CHAR **ppszBuf, /* [annotation][out] */ __out_opt long *pcchBuf); HRESULT ( STDMETHODCALLTYPE *UnlockBuf )( IMLangStringBufA * This, /* [annotation][size_is][in] */ __in_ecount(cchWrite-cchOffset) const CHAR *pszBuf, /* [in] */ long cchOffset, /* [in] */ long cchWrite); HRESULT ( STDMETHODCALLTYPE *Insert )( IMLangStringBufA * This, /* [in] */ long cchOffset, /* [in] */ long cchMaxInsert, /* [annotation][out] */ __out_opt long *pcchActual); HRESULT ( STDMETHODCALLTYPE *Delete )( IMLangStringBufA * This, /* [in] */ long cchOffset, /* [in] */ long cchDelete); END_INTERFACE } IMLangStringBufAVtbl; interface IMLangStringBufA { CONST_VTBL struct IMLangStringBufAVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMLangStringBufA_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMLangStringBufA_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMLangStringBufA_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMLangStringBufA_GetStatus(This,plFlags,pcchBuf) \ ( (This)->lpVtbl -> GetStatus(This,plFlags,pcchBuf) ) #define IMLangStringBufA_LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf) \ ( (This)->lpVtbl -> LockBuf(This,cchOffset,cchMaxLock,ppszBuf,pcchBuf) ) #define IMLangStringBufA_UnlockBuf(This,pszBuf,cchOffset,cchWrite) \ ( (This)->lpVtbl -> UnlockBuf(This,pszBuf,cchOffset,cchWrite) ) #define IMLangStringBufA_Insert(This,cchOffset,cchMaxInsert,pcchActual) \ ( (This)->lpVtbl -> Insert(This,cchOffset,cchMaxInsert,pcchActual) ) #define IMLangStringBufA_Delete(This,cchOffset,cchDelete) \ ( (This)->lpVtbl -> Delete(This,cchOffset,cchDelete) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangStringBufA_INTERFACE_DEFINED__ */ #ifndef __IMLangString_INTERFACE_DEFINED__ #define __IMLangString_INTERFACE_DEFINED__ /* interface IMLangString */ /* [object][unique][helpstring][uuid][local] */ EXTERN_C const IID IID_IMLangString; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C04D65CE-B70D-11D0-B188-00AA0038C969") IMLangString : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Sync( /* [in] */ BOOL fNoAccess) = 0; virtual HRESULT STDMETHODCALLTYPE GetLength( /* [annotation][retval][out] */ __out_opt long *plLen) = 0; virtual HRESULT STDMETHODCALLTYPE SetMLStr( /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [annotation][in] */ __in IUnknown *pSrcMLStr, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen) = 0; virtual HRESULT STDMETHODCALLTYPE GetMLStr( /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [annotation][in] */ __in IUnknown *pUnkOuter, /* [in] */ DWORD dwClsContext, /* [annotation][in] */ __in const IID *piid, /* [annotation][out] */ __deref_out IUnknown **ppDestMLStr, /* [annotation][out] */ __out_opt long *plDestPos, /* [annotation][out] */ __out_opt long *plDestLen) = 0; }; #else /* C style interface */ typedef struct IMLangStringVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangString * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangString * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangString * This); HRESULT ( STDMETHODCALLTYPE *Sync )( IMLangString * This, /* [in] */ BOOL fNoAccess); HRESULT ( STDMETHODCALLTYPE *GetLength )( IMLangString * This, /* [annotation][retval][out] */ __out_opt long *plLen); HRESULT ( STDMETHODCALLTYPE *SetMLStr )( IMLangString * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [annotation][in] */ __in IUnknown *pSrcMLStr, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen); HRESULT ( STDMETHODCALLTYPE *GetMLStr )( IMLangString * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [annotation][in] */ __in IUnknown *pUnkOuter, /* [in] */ DWORD dwClsContext, /* [annotation][in] */ __in const IID *piid, /* [annotation][out] */ __deref_out IUnknown **ppDestMLStr, /* [annotation][out] */ __out_opt long *plDestPos, /* [annotation][out] */ __out_opt long *plDestLen); END_INTERFACE } IMLangStringVtbl; interface IMLangString { CONST_VTBL struct IMLangStringVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangString_INTERFACE_DEFINED__ */ #ifndef __IMLangStringWStr_INTERFACE_DEFINED__ #define __IMLangStringWStr_INTERFACE_DEFINED__ /* interface IMLangStringWStr */ /* [object][unique][helpstring][uuid][local] */ EXTERN_C const IID IID_IMLangStringWStr; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C04D65D0-B70D-11D0-B188-00AA0038C969") IMLangStringWStr : public IMLangString { public: virtual HRESULT STDMETHODCALLTYPE SetWStr( /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [annotation][size_is][string][in] */ __in_ecount(cchSrc) LPCWSTR pszSrc, /* [in] */ long cchSrc, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen) = 0; virtual HRESULT STDMETHODCALLTYPE SetStrBufW( /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [annotation][unique][in] */ __in_opt IMLangStringBufW *pSrcBuf, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen) = 0; virtual HRESULT STDMETHODCALLTYPE GetWStr( /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [annotation][size_is][out] */ __out_ecount_opt(cchDest) LPWSTR pszDest, /* [in] */ long cchDest, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen) = 0; virtual HRESULT STDMETHODCALLTYPE GetStrBufW( /* [in] */ long lSrcPos, /* [in] */ long lSrcMaxLen, /* [annotation][out] */ __deref_out IMLangStringBufW **ppDestBuf, /* [annotation][out] */ __out_opt long *plDestLen) = 0; virtual HRESULT STDMETHODCALLTYPE LockWStr( /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [in] */ long lFlags, /* [in] */ long cchRequest, /* [annotation][size_is][size_is][out] */ __deref_opt_out_ecount(*pcchDest) LPWSTR *ppszDest, /* [annotation][out] */ __out_opt long *pcchDest, /* [annotation][out] */ __out_opt long *plDestLen) = 0; virtual HRESULT STDMETHODCALLTYPE UnlockWStr( /* [annotation][size_is][string][in] */ __in_ecount(cchSrc) LPCWSTR pszSrc, /* [in] */ long cchSrc, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen) = 0; virtual HRESULT STDMETHODCALLTYPE SetLocale( /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [in] */ LCID locale) = 0; virtual HRESULT STDMETHODCALLTYPE GetLocale( /* [in] */ long lSrcPos, /* [in] */ long lSrcMaxLen, /* [annotation][out] */ __out_opt LCID *plocale, /* [annotation][out] */ __out_opt long *plLocalePos, /* [annotation][out] */ __out_opt long *plLocaleLen) = 0; }; #else /* C style interface */ typedef struct IMLangStringWStrVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangStringWStr * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangStringWStr * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangStringWStr * This); HRESULT ( STDMETHODCALLTYPE *Sync )( IMLangStringWStr * This, /* [in] */ BOOL fNoAccess); HRESULT ( STDMETHODCALLTYPE *GetLength )( IMLangStringWStr * This, /* [annotation][retval][out] */ __out_opt long *plLen); HRESULT ( STDMETHODCALLTYPE *SetMLStr )( IMLangStringWStr * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [annotation][in] */ __in IUnknown *pSrcMLStr, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen); HRESULT ( STDMETHODCALLTYPE *GetMLStr )( IMLangStringWStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [annotation][in] */ __in IUnknown *pUnkOuter, /* [in] */ DWORD dwClsContext, /* [annotation][in] */ __in const IID *piid, /* [annotation][out] */ __deref_out IUnknown **ppDestMLStr, /* [annotation][out] */ __out_opt long *plDestPos, /* [annotation][out] */ __out_opt long *plDestLen); HRESULT ( STDMETHODCALLTYPE *SetWStr )( IMLangStringWStr * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [annotation][size_is][string][in] */ __in_ecount(cchSrc) LPCWSTR pszSrc, /* [in] */ long cchSrc, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen); HRESULT ( STDMETHODCALLTYPE *SetStrBufW )( IMLangStringWStr * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [annotation][unique][in] */ __in_opt IMLangStringBufW *pSrcBuf, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen); HRESULT ( STDMETHODCALLTYPE *GetWStr )( IMLangStringWStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [annotation][size_is][out] */ __out_ecount_opt(cchDest) LPWSTR pszDest, /* [in] */ long cchDest, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen); HRESULT ( STDMETHODCALLTYPE *GetStrBufW )( IMLangStringWStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcMaxLen, /* [annotation][out] */ __deref_out IMLangStringBufW **ppDestBuf, /* [annotation][out] */ __out_opt long *plDestLen); HRESULT ( STDMETHODCALLTYPE *LockWStr )( IMLangStringWStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [in] */ long lFlags, /* [in] */ long cchRequest, /* [annotation][size_is][size_is][out] */ __deref_opt_out_ecount(*pcchDest) LPWSTR *ppszDest, /* [annotation][out] */ __out_opt long *pcchDest, /* [annotation][out] */ __out_opt long *plDestLen); HRESULT ( STDMETHODCALLTYPE *UnlockWStr )( IMLangStringWStr * This, /* [annotation][size_is][string][in] */ __in_ecount(cchSrc) LPCWSTR pszSrc, /* [in] */ long cchSrc, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen); HRESULT ( STDMETHODCALLTYPE *SetLocale )( IMLangStringWStr * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [in] */ LCID locale); HRESULT ( STDMETHODCALLTYPE *GetLocale )( IMLangStringWStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcMaxLen, /* [annotation][out] */ __out_opt LCID *plocale, /* [annotation][out] */ __out_opt long *plLocalePos, /* [annotation][out] */ __out_opt long *plLocaleLen); END_INTERFACE } IMLangStringWStrVtbl; interface IMLangStringWStr { CONST_VTBL struct IMLangStringWStrVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMLangStringWStr_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMLangStringWStr_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMLangStringWStr_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMLangStringWStr_Sync(This,fNoAccess) \ ( (This)->lpVtbl -> Sync(This,fNoAccess) ) #define IMLangStringWStr_GetLength(This,plLen) \ ( (This)->lpVtbl -> GetLength(This,plLen) ) #define IMLangStringWStr_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) \ ( (This)->lpVtbl -> SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) ) #define IMLangStringWStr_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) \ ( (This)->lpVtbl -> GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) ) #define IMLangStringWStr_SetWStr(This,lDestPos,lDestLen,pszSrc,cchSrc,pcchActual,plActualLen) \ ( (This)->lpVtbl -> SetWStr(This,lDestPos,lDestLen,pszSrc,cchSrc,pcchActual,plActualLen) ) #define IMLangStringWStr_SetStrBufW(This,lDestPos,lDestLen,pSrcBuf,pcchActual,plActualLen) \ ( (This)->lpVtbl -> SetStrBufW(This,lDestPos,lDestLen,pSrcBuf,pcchActual,plActualLen) ) #define IMLangStringWStr_GetWStr(This,lSrcPos,lSrcLen,pszDest,cchDest,pcchActual,plActualLen) \ ( (This)->lpVtbl -> GetWStr(This,lSrcPos,lSrcLen,pszDest,cchDest,pcchActual,plActualLen) ) #define IMLangStringWStr_GetStrBufW(This,lSrcPos,lSrcMaxLen,ppDestBuf,plDestLen) \ ( (This)->lpVtbl -> GetStrBufW(This,lSrcPos,lSrcMaxLen,ppDestBuf,plDestLen) ) #define IMLangStringWStr_LockWStr(This,lSrcPos,lSrcLen,lFlags,cchRequest,ppszDest,pcchDest,plDestLen) \ ( (This)->lpVtbl -> LockWStr(This,lSrcPos,lSrcLen,lFlags,cchRequest,ppszDest,pcchDest,plDestLen) ) #define IMLangStringWStr_UnlockWStr(This,pszSrc,cchSrc,pcchActual,plActualLen) \ ( (This)->lpVtbl -> UnlockWStr(This,pszSrc,cchSrc,pcchActual,plActualLen) ) #define IMLangStringWStr_SetLocale(This,lDestPos,lDestLen,locale) \ ( (This)->lpVtbl -> SetLocale(This,lDestPos,lDestLen,locale) ) #define IMLangStringWStr_GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen) \ ( (This)->lpVtbl -> GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangStringWStr_INTERFACE_DEFINED__ */ #ifndef __IMLangStringAStr_INTERFACE_DEFINED__ #define __IMLangStringAStr_INTERFACE_DEFINED__ /* interface IMLangStringAStr */ /* [object][unique][helpstring][uuid][local] */ EXTERN_C const IID IID_IMLangStringAStr; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C04D65D2-B70D-11D0-B188-00AA0038C969") IMLangStringAStr : public IMLangString { public: virtual HRESULT STDMETHODCALLTYPE SetAStr( /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [in] */ UINT uCodePage, /* [annotation][size_is][in] */ __in_ecount(cchSrc) LPCSTR pszSrc, /* [in] */ long cchSrc, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen) = 0; virtual HRESULT STDMETHODCALLTYPE SetStrBufA( /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [in] */ UINT uCodePage, /* [annotation][in] */ __in_opt IMLangStringBufA *pSrcBuf, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen) = 0; virtual HRESULT STDMETHODCALLTYPE GetAStr( /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [in] */ UINT uCodePageIn, /* [annotation][out] */ __reserved UINT *puCodePageOut, /* [annotation][size_is][out] */ __out_ecount_opt(cchDest) LPSTR pszDest, /* [in] */ long cchDest, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen) = 0; virtual HRESULT STDMETHODCALLTYPE GetStrBufA( /* [in] */ long lSrcPos, /* [in] */ long lSrcMaxLen, /* [annotation][out] */ __out_opt UINT *puDestCodePage, /* [annotation][out] */ __deref_out IMLangStringBufA **ppDestBuf, /* [annotation][out] */ __out_opt long *plDestLen) = 0; virtual HRESULT STDMETHODCALLTYPE LockAStr( /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [in] */ long lFlags, /* [in] */ UINT uCodePageIn, /* [in] */ long cchRequest, /* [annotation][out] */ __out_opt UINT *puCodePageOut, /* [annotation][size_is][size_is][out] */ __deref_opt_out_ecount(*pcchDest) LPSTR *ppszDest, /* [annotation][out] */ __out_opt long *pcchDest, /* [annotation][out] */ __out_opt long *plDestLen) = 0; virtual HRESULT STDMETHODCALLTYPE UnlockAStr( /* [annotation][size_is][in] */ __in_ecount(cchSrc) LPCSTR pszSrc, /* [in] */ long cchSrc, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen) = 0; virtual HRESULT STDMETHODCALLTYPE SetLocale( /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [in] */ LCID locale) = 0; virtual HRESULT STDMETHODCALLTYPE GetLocale( /* [in] */ long lSrcPos, /* [in] */ long lSrcMaxLen, /* [annotation][out] */ __out_opt LCID *plocale, /* [annotation][out] */ __out_opt long *plLocalePos, /* [annotation][out] */ __out_opt long *plLocaleLen) = 0; }; #else /* C style interface */ typedef struct IMLangStringAStrVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangStringAStr * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangStringAStr * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangStringAStr * This); HRESULT ( STDMETHODCALLTYPE *Sync )( IMLangStringAStr * This, /* [in] */ BOOL fNoAccess); HRESULT ( STDMETHODCALLTYPE *GetLength )( IMLangStringAStr * This, /* [annotation][retval][out] */ __out_opt long *plLen); HRESULT ( STDMETHODCALLTYPE *SetMLStr )( IMLangStringAStr * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [annotation][in] */ __in IUnknown *pSrcMLStr, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen); HRESULT ( STDMETHODCALLTYPE *GetMLStr )( IMLangStringAStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [annotation][in] */ __in IUnknown *pUnkOuter, /* [in] */ DWORD dwClsContext, /* [annotation][in] */ __in const IID *piid, /* [annotation][out] */ __deref_out IUnknown **ppDestMLStr, /* [annotation][out] */ __out_opt long *plDestPos, /* [annotation][out] */ __out_opt long *plDestLen); HRESULT ( STDMETHODCALLTYPE *SetAStr )( IMLangStringAStr * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [in] */ UINT uCodePage, /* [annotation][size_is][in] */ __in_ecount(cchSrc) LPCSTR pszSrc, /* [in] */ long cchSrc, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen); HRESULT ( STDMETHODCALLTYPE *SetStrBufA )( IMLangStringAStr * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [in] */ UINT uCodePage, /* [annotation][in] */ __in_opt IMLangStringBufA *pSrcBuf, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen); HRESULT ( STDMETHODCALLTYPE *GetAStr )( IMLangStringAStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [in] */ UINT uCodePageIn, /* [annotation][out] */ __reserved UINT *puCodePageOut, /* [annotation][size_is][out] */ __out_ecount_opt(cchDest) LPSTR pszDest, /* [in] */ long cchDest, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen); HRESULT ( STDMETHODCALLTYPE *GetStrBufA )( IMLangStringAStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcMaxLen, /* [annotation][out] */ __out_opt UINT *puDestCodePage, /* [annotation][out] */ __deref_out IMLangStringBufA **ppDestBuf, /* [annotation][out] */ __out_opt long *plDestLen); HRESULT ( STDMETHODCALLTYPE *LockAStr )( IMLangStringAStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [in] */ long lFlags, /* [in] */ UINT uCodePageIn, /* [in] */ long cchRequest, /* [annotation][out] */ __out_opt UINT *puCodePageOut, /* [annotation][size_is][size_is][out] */ __deref_opt_out_ecount(*pcchDest) LPSTR *ppszDest, /* [annotation][out] */ __out_opt long *pcchDest, /* [annotation][out] */ __out_opt long *plDestLen); HRESULT ( STDMETHODCALLTYPE *UnlockAStr )( IMLangStringAStr * This, /* [annotation][size_is][in] */ __in_ecount(cchSrc) LPCSTR pszSrc, /* [in] */ long cchSrc, /* [annotation][out] */ __out_opt long *pcchActual, /* [annotation][out] */ __out_opt long *plActualLen); HRESULT ( STDMETHODCALLTYPE *SetLocale )( IMLangStringAStr * This, /* [in] */ long lDestPos, /* [in] */ long lDestLen, /* [in] */ LCID locale); HRESULT ( STDMETHODCALLTYPE *GetLocale )( IMLangStringAStr * This, /* [in] */ long lSrcPos, /* [in] */ long lSrcMaxLen, /* [annotation][out] */ __out_opt LCID *plocale, /* [annotation][out] */ __out_opt long *plLocalePos, /* [annotation][out] */ __out_opt long *plLocaleLen); END_INTERFACE } IMLangStringAStrVtbl; interface IMLangStringAStr { CONST_VTBL struct IMLangStringAStrVtbl *lpVtbl; }; #ifdef COBJMACROS #define IMLangStringAStr_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IMLangStringAStr_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IMLangStringAStr_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IMLangStringAStr_Sync(This,fNoAccess) \ ( (This)->lpVtbl -> Sync(This,fNoAccess) ) #define IMLangStringAStr_GetLength(This,plLen) \ ( (This)->lpVtbl -> GetLength(This,plLen) ) #define IMLangStringAStr_SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) \ ( (This)->lpVtbl -> SetMLStr(This,lDestPos,lDestLen,pSrcMLStr,lSrcPos,lSrcLen) ) #define IMLangStringAStr_GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) \ ( (This)->lpVtbl -> GetMLStr(This,lSrcPos,lSrcLen,pUnkOuter,dwClsContext,piid,ppDestMLStr,plDestPos,plDestLen) ) #define IMLangStringAStr_SetAStr(This,lDestPos,lDestLen,uCodePage,pszSrc,cchSrc,pcchActual,plActualLen) \ ( (This)->lpVtbl -> SetAStr(This,lDestPos,lDestLen,uCodePage,pszSrc,cchSrc,pcchActual,plActualLen) ) #define IMLangStringAStr_SetStrBufA(This,lDestPos,lDestLen,uCodePage,pSrcBuf,pcchActual,plActualLen) \ ( (This)->lpVtbl -> SetStrBufA(This,lDestPos,lDestLen,uCodePage,pSrcBuf,pcchActual,plActualLen) ) #define IMLangStringAStr_GetAStr(This,lSrcPos,lSrcLen,uCodePageIn,puCodePageOut,pszDest,cchDest,pcchActual,plActualLen) \ ( (This)->lpVtbl -> GetAStr(This,lSrcPos,lSrcLen,uCodePageIn,puCodePageOut,pszDest,cchDest,pcchActual,plActualLen) ) #define IMLangStringAStr_GetStrBufA(This,lSrcPos,lSrcMaxLen,puDestCodePage,ppDestBuf,plDestLen) \ ( (This)->lpVtbl -> GetStrBufA(This,lSrcPos,lSrcMaxLen,puDestCodePage,ppDestBuf,plDestLen) ) #define IMLangStringAStr_LockAStr(This,lSrcPos,lSrcLen,lFlags,uCodePageIn,cchRequest,puCodePageOut,ppszDest,pcchDest,plDestLen) \ ( (This)->lpVtbl -> LockAStr(This,lSrcPos,lSrcLen,lFlags,uCodePageIn,cchRequest,puCodePageOut,ppszDest,pcchDest,plDestLen) ) #define IMLangStringAStr_UnlockAStr(This,pszSrc,cchSrc,pcchActual,plActualLen) \ ( (This)->lpVtbl -> UnlockAStr(This,pszSrc,cchSrc,pcchActual,plActualLen) ) #define IMLangStringAStr_SetLocale(This,lDestPos,lDestLen,locale) \ ( (This)->lpVtbl -> SetLocale(This,lDestPos,lDestLen,locale) ) #define IMLangStringAStr_GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen) \ ( (This)->lpVtbl -> GetLocale(This,lSrcPos,lSrcMaxLen,plocale,plLocalePos,plLocaleLen) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangStringAStr_INTERFACE_DEFINED__ */ EXTERN_C const CLSID CLSID_CMLangString; #ifdef __cplusplus class DECLSPEC_UUID("C04D65CF-B70D-11D0-B188-00AA0038C969") CMLangString; #endif #ifndef __IMLangLineBreakConsole_INTERFACE_DEFINED__ #define __IMLangLineBreakConsole_INTERFACE_DEFINED__ /* interface IMLangLineBreakConsole */ /* [object][local][unique][helpstring][uuid] */ EXTERN_C const IID IID_IMLangLineBreakConsole; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("F5BE2EE1-BFD7-11D0-B188-00AA0038C969") IMLangLineBreakConsole : public IUnknown { public: virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BreakLineML( /* [annotation][in] */ __in IMLangString *pSrcMLStr, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [in] */ long cMinColumns, /* [in] */ long cMaxColumns, /* [annotation][out] */ __out_opt long *plLineLen, /* [annotation][out] */ __out_opt long *plSkipLen) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BreakLineW( /* [in] */ LCID locale, /* [annotation][size_is][in] */ __in_ecount(cchSrc) const WCHAR *pszSrc, /* [in] */ long cchSrc, /* [in] */ long cMaxColumns, /* [annotation][out] */ __out_opt long *pcchLine, /* [annotation][out] */ __out_opt long *pcchSkip) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BreakLineA( /* [in] */ LCID locale, /* [in] */ UINT uCodePage, /* [annotation][size_is][in] */ __in_ecount(cchSrc) const CHAR *pszSrc, /* [in] */ long cchSrc, /* [in] */ long cMaxColumns, /* [annotation][out] */ __out_opt long *pcchLine, /* [annotation][out] */ __out_opt long *pcchSkip) = 0; }; #else /* C style interface */ typedef struct IMLangLineBreakConsoleVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangLineBreakConsole * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangLineBreakConsole * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangLineBreakConsole * This); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BreakLineML )( IMLangLineBreakConsole * This, /* [annotation][in] */ __in IMLangString *pSrcMLStr, /* [in] */ long lSrcPos, /* [in] */ long lSrcLen, /* [in] */ long cMinColumns, /* [in] */ long cMaxColumns, /* [annotation][out] */ __out_opt long *plLineLen, /* [annotation][out] */ __out_opt long *plSkipLen); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BreakLineW )( IMLangLineBreakConsole * This, /* [in] */ LCID locale, /* [annotation][size_is][in] */ __in_ecount(cchSrc) const WCHAR *pszSrc, /* [in] */ long cchSrc, /* [in] */ long cMaxColumns, /* [annotation][out] */ __out_opt long *pcchLine, /* [annotation][out] */ __out_opt long *pcchSkip); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BreakLineA )( IMLangLineBreakConsole * This, /* [in] */ LCID locale, /* [in] */ UINT uCodePage, /* [annotation][size_is][in] */ __in_ecount(cchSrc) const CHAR *pszSrc, /* [in] */ long cchSrc, /* [in] */ long cMaxColumns, /* [annotation][out] */ __out_opt long *pcchLine, /* [annotation][out] */ __out_opt long *pcchSkip); END_INTERFACE } IMLangLineBreakConsoleVtbl; interface IMLangLineBreakConsole { CONST_VTBL struct IMLangLineBreakConsoleVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangLineBreakConsole_INTERFACE_DEFINED__ */ #ifndef __IEnumCodePage_INTERFACE_DEFINED__ #define __IEnumCodePage_INTERFACE_DEFINED__ /* interface IEnumCodePage */ /* [local][unique][uuid][object] */ #define MAX_MIMECP_NAME ( 64 ) #define MAX_MIMECSET_NAME ( 50 ) #define MAX_MIMEFACE_NAME ( 32 ) typedef enum tagMIMECONTF { MIMECONTF_MAILNEWS = 0x1, MIMECONTF_BROWSER = 0x2, MIMECONTF_MINIMAL = 0x4, MIMECONTF_IMPORT = 0x8, MIMECONTF_SAVABLE_MAILNEWS = 0x100, MIMECONTF_SAVABLE_BROWSER = 0x200, MIMECONTF_EXPORT = 0x400, MIMECONTF_PRIVCONVERTER = 0x10000, MIMECONTF_VALID = 0x20000, MIMECONTF_VALID_NLS = 0x40000, MIMECONTF_MIME_IE4 = 0x10000000, MIMECONTF_MIME_LATEST = 0x20000000, MIMECONTF_MIME_REGISTRY = 0x40000000 } MIMECONTF; typedef 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; typedef /* [unique] */ IEnumCodePage *LPENUMCODEPAGE; EXTERN_C const IID IID_IEnumCodePage; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("275c23e3-3747-11d0-9fea-00aa003f8646") IEnumCodePage : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Clone( /* [annotation][out] */ __reserved IEnumCodePage **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [annotation][out] */ __out PMIMECPINFO rgelt, /* [annotation][out] */ __out_opt ULONG *pceltFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; }; #else /* C style interface */ typedef struct IEnumCodePageVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IEnumCodePage * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IEnumCodePage * This); ULONG ( STDMETHODCALLTYPE *Release )( IEnumCodePage * This); HRESULT ( STDMETHODCALLTYPE *Clone )( IEnumCodePage * This, /* [annotation][out] */ __reserved IEnumCodePage **ppEnum); HRESULT ( STDMETHODCALLTYPE *Next )( IEnumCodePage * This, /* [in] */ ULONG celt, /* [annotation][out] */ __out PMIMECPINFO rgelt, /* [annotation][out] */ __out_opt ULONG *pceltFetched); HRESULT ( STDMETHODCALLTYPE *Reset )( IEnumCodePage * This); HRESULT ( STDMETHODCALLTYPE *Skip )( IEnumCodePage * This, /* [in] */ ULONG celt); END_INTERFACE } IEnumCodePageVtbl; interface IEnumCodePage { CONST_VTBL struct IEnumCodePageVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IEnumCodePage_INTERFACE_DEFINED__ */ #ifndef __IEnumRfc1766_INTERFACE_DEFINED__ #define __IEnumRfc1766_INTERFACE_DEFINED__ /* interface IEnumRfc1766 */ /* [local][unique][uuid][object] */ #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; typedef /* [unique] */ IEnumRfc1766 *LPENUMRFC1766; EXTERN_C const IID IID_IEnumRfc1766; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3dc39d1d-c030-11d0-b81b-00c04fc9b31f") IEnumRfc1766 : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Clone( /* [annotation][out] */ __reserved IEnumRfc1766 **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [annotation][out] */ __out PRFC1766INFO rgelt, /* [annotation][out] */ __out_opt ULONG *pceltFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; }; #else /* C style interface */ typedef struct IEnumRfc1766Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IEnumRfc1766 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IEnumRfc1766 * This); ULONG ( STDMETHODCALLTYPE *Release )( IEnumRfc1766 * This); HRESULT ( STDMETHODCALLTYPE *Clone )( IEnumRfc1766 * This, /* [annotation][out] */ __reserved IEnumRfc1766 **ppEnum); HRESULT ( STDMETHODCALLTYPE *Next )( IEnumRfc1766 * This, /* [in] */ ULONG celt, /* [annotation][out] */ __out PRFC1766INFO rgelt, /* [annotation][out] */ __out_opt ULONG *pceltFetched); HRESULT ( STDMETHODCALLTYPE *Reset )( IEnumRfc1766 * This); HRESULT ( STDMETHODCALLTYPE *Skip )( IEnumRfc1766 * This, /* [in] */ ULONG celt); END_INTERFACE } IEnumRfc1766Vtbl; interface IEnumRfc1766 { CONST_VTBL struct IEnumRfc1766Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IEnumRfc1766_INTERFACE_DEFINED__ */ #ifndef __IEnumScript_INTERFACE_DEFINED__ #define __IEnumScript_INTERFACE_DEFINED__ /* interface IEnumScript */ /* [local][unique][uuid][object] */ #define MAX_SCRIPT_NAME ( 48 ) 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 struct tagSCRIPTINFO { SCRIPT_ID ScriptId; UINT uiCodePage; WCHAR wszDescription[ 48 ]; WCHAR wszFixedWidthFont[ 32 ]; WCHAR wszProportionalFont[ 32 ]; } SCRIPTINFO; typedef struct tagSCRIPTINFO *PSCRIPTINFO; typedef /* [unique] */ IEnumScript *LPENUMScript; EXTERN_C const IID IID_IEnumScript; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("AE5F1430-388B-11d2-8380-00C04F8F5DA1") IEnumScript : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Clone( /* [annotation][out] */ __reserved IEnumScript **ppEnum) = 0; virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ ULONG celt, /* [annotation][out] */ __out PSCRIPTINFO rgelt, /* [annotation][out] */ __out_opt ULONG *pceltFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ ULONG celt) = 0; }; #else /* C style interface */ typedef struct IEnumScriptVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IEnumScript * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IEnumScript * This); ULONG ( STDMETHODCALLTYPE *Release )( IEnumScript * This); HRESULT ( STDMETHODCALLTYPE *Clone )( IEnumScript * This, /* [annotation][out] */ __reserved IEnumScript **ppEnum); HRESULT ( STDMETHODCALLTYPE *Next )( IEnumScript * This, /* [in] */ ULONG celt, /* [annotation][out] */ __out PSCRIPTINFO rgelt, /* [annotation][out] */ __out_opt ULONG *pceltFetched); HRESULT ( STDMETHODCALLTYPE *Reset )( IEnumScript * This); HRESULT ( STDMETHODCALLTYPE *Skip )( IEnumScript * This, /* [in] */ ULONG celt); END_INTERFACE } IEnumScriptVtbl; interface IEnumScript { CONST_VTBL struct IEnumScriptVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IEnumScript_INTERFACE_DEFINED__ */ #ifndef __IMLangConvertCharset_INTERFACE_DEFINED__ #define __IMLangConvertCharset_INTERFACE_DEFINED__ /* interface IMLangConvertCharset */ /* [local][unique][uuid][object] */ 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; typedef /* [unique] */ IMLangConvertCharset *LPMLANGCONVERTCHARSET; EXTERN_C const IID IID_IMLangConvertCharset; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d66d6f98-cdaa-11d0-b822-00c04fc9b31f") IMLangConvertCharset : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ UINT uiSrcCodePage, /* [in] */ UINT uiDstCodePage, /* [in] */ DWORD dwProperty) = 0; virtual HRESULT STDMETHODCALLTYPE GetSourceCodePage( /* [annotation][out] */ __out UINT *puiSrcCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE GetDestinationCodePage( /* [annotation][out] */ __out UINT *puiDstCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE GetProperty( /* [annotation][out] */ __out DWORD *pdwProperty) = 0; virtual HRESULT STDMETHODCALLTYPE DoConversion( /* [annotation][in] */ __in_bcount(*pcSrcSize) BYTE *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount(*pcDstSize) BYTE *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE DoConversionToUnicode( /* [annotation][in] */ __in_bcount(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE DoConversionFromUnicode( /* [annotation][in] */ __in_ecount(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; }; #else /* C style interface */ typedef struct IMLangConvertCharsetVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangConvertCharset * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangConvertCharset * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangConvertCharset * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( IMLangConvertCharset * This, /* [in] */ UINT uiSrcCodePage, /* [in] */ UINT uiDstCodePage, /* [in] */ DWORD dwProperty); HRESULT ( STDMETHODCALLTYPE *GetSourceCodePage )( IMLangConvertCharset * This, /* [annotation][out] */ __out UINT *puiSrcCodePage); HRESULT ( STDMETHODCALLTYPE *GetDestinationCodePage )( IMLangConvertCharset * This, /* [annotation][out] */ __out UINT *puiDstCodePage); HRESULT ( STDMETHODCALLTYPE *GetProperty )( IMLangConvertCharset * This, /* [annotation][out] */ __out DWORD *pdwProperty); HRESULT ( STDMETHODCALLTYPE *DoConversion )( IMLangConvertCharset * This, /* [annotation][in] */ __in_bcount(*pcSrcSize) BYTE *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount(*pcDstSize) BYTE *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *DoConversionToUnicode )( IMLangConvertCharset * This, /* [annotation][in] */ __in_bcount(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *DoConversionFromUnicode )( IMLangConvertCharset * This, /* [annotation][in] */ __in_ecount(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); END_INTERFACE } IMLangConvertCharsetVtbl; interface IMLangConvertCharset { CONST_VTBL struct IMLangConvertCharsetVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangConvertCharset_INTERFACE_DEFINED__ */ EXTERN_C const CLSID CLSID_CMLangConvertCharset; #ifdef __cplusplus class DECLSPEC_UUID("d66d6f99-cdaa-11d0-b822-00c04fc9b31f") CMLangConvertCharset; #endif #ifndef __IMultiLanguage_INTERFACE_DEFINED__ #define __IMultiLanguage_INTERFACE_DEFINED__ /* interface IMultiLanguage */ /* [local][unique][uuid][object] */ typedef /* [unique] */ IMultiLanguage *LPMULTILANGUAGE; EXTERN_C const IID IID_IMultiLanguage; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("275c23e1-3747-11d0-9fea-00aa003f8646") IMultiLanguage : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo( /* [annotation][out] */ __out UINT *pcCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo( /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out PMIMECPINFO pCodePageInfo) = 0; virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage( /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out UINT *puiFamilyCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE EnumCodePages( /* [in] */ DWORD grfFlags, /* [annotation][out] */ __deref_out IEnumCodePage **ppEnumCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo( /* [in] */ BSTR Charset, /* [annotation][out] */ __out PMIMECSETINFO pCharsetInfo) = 0; virtual HRESULT STDMETHODCALLTYPE IsConvertible( /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertString( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) BYTE *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) BYTE *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount_opt(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_ecount_opt(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringReset( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid( /* [in] */ LCID Locale, /* [annotation][out] */ __deref_out BSTR *pbstrRfc1766) = 0; virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766( /* [annotation][out] */ __out LCID *pLocale, /* [annotation][in] */ __in BSTR bstrRfc1766) = 0; virtual HRESULT STDMETHODCALLTYPE EnumRfc1766( /* [annotation][out] */ __deref_out IEnumRfc1766 **ppEnumRfc1766) = 0; virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info( /* [in] */ LCID Locale, /* [annotation][out] */ __out PRFC1766INFO pRfc1766Info) = 0; virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset( /* [in] */ UINT uiSrcCodePage, /* [in] */ UINT uiDstCodePage, /* [in] */ DWORD dwProperty, /* [annotation][out] */ __deref_out IMLangConvertCharset **ppMLangConvertCharset) = 0; }; #else /* C style interface */ typedef struct IMultiLanguageVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMultiLanguage * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMultiLanguage * This); ULONG ( STDMETHODCALLTYPE *Release )( IMultiLanguage * This); HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )( IMultiLanguage * This, /* [annotation][out] */ __out UINT *pcCodePage); HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )( IMultiLanguage * This, /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out PMIMECPINFO pCodePageInfo); HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )( IMultiLanguage * This, /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out UINT *puiFamilyCodePage); HRESULT ( STDMETHODCALLTYPE *EnumCodePages )( IMultiLanguage * This, /* [in] */ DWORD grfFlags, /* [annotation][out] */ __deref_out IEnumCodePage **ppEnumCodePage); HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )( IMultiLanguage * This, /* [in] */ BSTR Charset, /* [annotation][out] */ __out PMIMECSETINFO pCharsetInfo); HRESULT ( STDMETHODCALLTYPE *IsConvertible )( IMultiLanguage * This, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding); HRESULT ( STDMETHODCALLTYPE *ConvertString )( IMultiLanguage * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) BYTE *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) BYTE *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )( IMultiLanguage * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount_opt(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )( IMultiLanguage * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_ecount_opt(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )( IMultiLanguage * This); HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )( IMultiLanguage * This, /* [in] */ LCID Locale, /* [annotation][out] */ __deref_out BSTR *pbstrRfc1766); HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )( IMultiLanguage * This, /* [annotation][out] */ __out LCID *pLocale, /* [annotation][in] */ __in BSTR bstrRfc1766); HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )( IMultiLanguage * This, /* [annotation][out] */ __deref_out IEnumRfc1766 **ppEnumRfc1766); HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )( IMultiLanguage * This, /* [in] */ LCID Locale, /* [annotation][out] */ __out PRFC1766INFO pRfc1766Info); HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )( IMultiLanguage * This, /* [in] */ UINT uiSrcCodePage, /* [in] */ UINT uiDstCodePage, /* [in] */ DWORD dwProperty, /* [annotation][out] */ __deref_out IMLangConvertCharset **ppMLangConvertCharset); END_INTERFACE } IMultiLanguageVtbl; interface IMultiLanguage { CONST_VTBL struct IMultiLanguageVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMultiLanguage_INTERFACE_DEFINED__ */ #ifndef __IMultiLanguage2_INTERFACE_DEFINED__ #define __IMultiLanguage2_INTERFACE_DEFINED__ /* interface IMultiLanguage2 */ /* [local][unique][uuid][object] */ typedef /* [unique] */ IMultiLanguage2 *LPMULTILANGUAGE2; typedef enum tagMLDETECTCP { MLDETECTCP_NONE = 0, MLDETECTCP_7BIT = 1, MLDETECTCP_8BIT = 2, MLDETECTCP_DBCS = 4, MLDETECTCP_HTML = 8, MLDETECTCP_NUMBER = 16 } MLDETECTCP; typedef struct tagDetectEncodingInfo { UINT nLangID; UINT nCodePage; INT nDocPercent; INT nConfidence; } DetectEncodingInfo; typedef struct tagDetectEncodingInfo *pDetectEncodingInfo; 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; EXTERN_C const IID IID_IMultiLanguage2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("DCCFC164-2B38-11d2-B7EC-00C04F8F5D9A") IMultiLanguage2 : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetNumberOfCodePageInfo( /* [annotation][out] */ __out UINT *pcCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodePageInfo( /* [in] */ UINT uiCodePage, /* [in] */ LANGID LangId, /* [annotation][out] */ __out PMIMECPINFO pCodePageInfo) = 0; virtual HRESULT STDMETHODCALLTYPE GetFamilyCodePage( /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out UINT *puiFamilyCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE EnumCodePages( /* [in] */ DWORD grfFlags, /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumCodePage **ppEnumCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE GetCharsetInfo( /* [in] */ BSTR Charset, /* [annotation][out] */ __out PMIMECSETINFO pCharsetInfo) = 0; virtual HRESULT STDMETHODCALLTYPE IsConvertible( /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertString( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) BYTE *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) BYTE *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicode( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount_opt(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicode( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_ecount_opt(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringReset( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetRfc1766FromLcid( /* [in] */ LCID Locale, /* [annotation][out] */ __deref_out BSTR *pbstrRfc1766) = 0; virtual HRESULT STDMETHODCALLTYPE GetLcidFromRfc1766( /* [annotation][out] */ __out LCID *pLocale, /* [annotation][in] */ __in BSTR bstrRfc1766) = 0; virtual HRESULT STDMETHODCALLTYPE EnumRfc1766( /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumRfc1766 **ppEnumRfc1766) = 0; virtual HRESULT STDMETHODCALLTYPE GetRfc1766Info( /* [in] */ LCID Locale, /* [in] */ LANGID LangId, /* [annotation][out] */ __out PRFC1766INFO pRfc1766Info) = 0; virtual HRESULT STDMETHODCALLTYPE CreateConvertCharset( /* [in] */ UINT uiSrcCodePage, /* [in] */ UINT uiDstCodePage, /* [in] */ DWORD dwProperty, /* [annotation][out] */ __deref_out IMLangConvertCharset **ppMLangConvertCharset) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringInIStream( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding, /* [annotation][in] */ __in IStream *pstmIn, /* [annotation][in] */ __in IStream *pstmOut) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringToUnicodeEx( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_bcount(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack) = 0; virtual HRESULT STDMETHODCALLTYPE ConvertStringFromUnicodeEx( /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_ecount(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack) = 0; virtual HRESULT STDMETHODCALLTYPE DetectCodepageInIStream( /* [in] */ DWORD dwFlag, /* [in] */ DWORD dwPrefWinCodePage, /* [annotation][in] */ __in IStream *pstmIn, /* [annotation][out] */ __out DetectEncodingInfo *lpEncoding, /* [annotation][out][in] */ __inout INT *pnScores) = 0; virtual HRESULT STDMETHODCALLTYPE DetectInputCodepage( /* [in] */ DWORD dwFlag, /* [in] */ DWORD dwPrefWinCodePage, /* [annotation][in] */ __in_bcount(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout INT *pcSrcSize, /* [annotation][out] */ __out DetectEncodingInfo *lpEncoding, /* [annotation][out][in] */ __inout INT *pnScores) = 0; virtual HRESULT STDMETHODCALLTYPE ValidateCodePage( /* [in] */ UINT uiCodePage, /* [in] */ HWND hwnd) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodePageDescription( /* [in] */ UINT uiCodePage, /* [in] */ LCID lcid, /* [annotation][size_is][out] */ __out_ecount(cchWideChar) LPWSTR lpWideCharStr, /* [in] */ int cchWideChar) = 0; virtual HRESULT STDMETHODCALLTYPE IsCodePageInstallable( /* [in] */ UINT uiCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE SetMimeDBSource( /* [in] */ MIMECONTF dwSource) = 0; virtual HRESULT STDMETHODCALLTYPE GetNumberOfScripts( /* [annotation][out] */ __out UINT *pnScripts) = 0; virtual HRESULT STDMETHODCALLTYPE EnumScripts( /* [in] */ DWORD dwFlags, /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumScript **ppEnumScript) = 0; virtual HRESULT STDMETHODCALLTYPE ValidateCodePageEx( /* [in] */ UINT uiCodePage, /* [in] */ HWND hwnd, /* [in] */ DWORD dwfIODControl) = 0; }; #else /* C style interface */ typedef struct IMultiLanguage2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMultiLanguage2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMultiLanguage2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IMultiLanguage2 * This); HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )( IMultiLanguage2 * This, /* [annotation][out] */ __out UINT *pcCodePage); HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )( IMultiLanguage2 * This, /* [in] */ UINT uiCodePage, /* [in] */ LANGID LangId, /* [annotation][out] */ __out PMIMECPINFO pCodePageInfo); HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )( IMultiLanguage2 * This, /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out UINT *puiFamilyCodePage); HRESULT ( STDMETHODCALLTYPE *EnumCodePages )( IMultiLanguage2 * This, /* [in] */ DWORD grfFlags, /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumCodePage **ppEnumCodePage); HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )( IMultiLanguage2 * This, /* [in] */ BSTR Charset, /* [annotation][out] */ __out PMIMECSETINFO pCharsetInfo); HRESULT ( STDMETHODCALLTYPE *IsConvertible )( IMultiLanguage2 * This, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding); HRESULT ( STDMETHODCALLTYPE *ConvertString )( IMultiLanguage2 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) BYTE *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) BYTE *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )( IMultiLanguage2 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount_opt(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )( IMultiLanguage2 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_ecount_opt(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )( IMultiLanguage2 * This); HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )( IMultiLanguage2 * This, /* [in] */ LCID Locale, /* [annotation][out] */ __deref_out BSTR *pbstrRfc1766); HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )( IMultiLanguage2 * This, /* [annotation][out] */ __out LCID *pLocale, /* [annotation][in] */ __in BSTR bstrRfc1766); HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )( IMultiLanguage2 * This, /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumRfc1766 **ppEnumRfc1766); HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )( IMultiLanguage2 * This, /* [in] */ LCID Locale, /* [in] */ LANGID LangId, /* [annotation][out] */ __out PRFC1766INFO pRfc1766Info); HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )( IMultiLanguage2 * This, /* [in] */ UINT uiSrcCodePage, /* [in] */ UINT uiDstCodePage, /* [in] */ DWORD dwProperty, /* [annotation][out] */ __deref_out IMLangConvertCharset **ppMLangConvertCharset); HRESULT ( STDMETHODCALLTYPE *ConvertStringInIStream )( IMultiLanguage2 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding, /* [annotation][in] */ __in IStream *pstmIn, /* [annotation][in] */ __in IStream *pstmOut); HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicodeEx )( IMultiLanguage2 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_bcount(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack); HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicodeEx )( IMultiLanguage2 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_ecount(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack); HRESULT ( STDMETHODCALLTYPE *DetectCodepageInIStream )( IMultiLanguage2 * This, /* [in] */ DWORD dwFlag, /* [in] */ DWORD dwPrefWinCodePage, /* [annotation][in] */ __in IStream *pstmIn, /* [annotation][out] */ __out DetectEncodingInfo *lpEncoding, /* [annotation][out][in] */ __inout INT *pnScores); HRESULT ( STDMETHODCALLTYPE *DetectInputCodepage )( IMultiLanguage2 * This, /* [in] */ DWORD dwFlag, /* [in] */ DWORD dwPrefWinCodePage, /* [annotation][in] */ __in_bcount(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout INT *pcSrcSize, /* [annotation][out] */ __out DetectEncodingInfo *lpEncoding, /* [annotation][out][in] */ __inout INT *pnScores); HRESULT ( STDMETHODCALLTYPE *ValidateCodePage )( IMultiLanguage2 * This, /* [in] */ UINT uiCodePage, /* [in] */ HWND hwnd); HRESULT ( STDMETHODCALLTYPE *GetCodePageDescription )( IMultiLanguage2 * This, /* [in] */ UINT uiCodePage, /* [in] */ LCID lcid, /* [annotation][size_is][out] */ __out_ecount(cchWideChar) LPWSTR lpWideCharStr, /* [in] */ int cchWideChar); HRESULT ( STDMETHODCALLTYPE *IsCodePageInstallable )( IMultiLanguage2 * This, /* [in] */ UINT uiCodePage); HRESULT ( STDMETHODCALLTYPE *SetMimeDBSource )( IMultiLanguage2 * This, /* [in] */ MIMECONTF dwSource); HRESULT ( STDMETHODCALLTYPE *GetNumberOfScripts )( IMultiLanguage2 * This, /* [annotation][out] */ __out UINT *pnScripts); HRESULT ( STDMETHODCALLTYPE *EnumScripts )( IMultiLanguage2 * This, /* [in] */ DWORD dwFlags, /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumScript **ppEnumScript); HRESULT ( STDMETHODCALLTYPE *ValidateCodePageEx )( IMultiLanguage2 * This, /* [in] */ UINT uiCodePage, /* [in] */ HWND hwnd, /* [in] */ DWORD dwfIODControl); END_INTERFACE } IMultiLanguage2Vtbl; interface IMultiLanguage2 { CONST_VTBL struct IMultiLanguage2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMultiLanguage2_INTERFACE_DEFINED__ */ #ifndef __IMLangCodePages_INTERFACE_DEFINED__ #define __IMLangCodePages_INTERFACE_DEFINED__ /* interface IMLangCodePages */ /* [object][local][unique][helpstring][uuid] */ typedef /* [unique] */ IMLangCodePages *PMLANGCODEPAGES; EXTERN_C const IID IID_IMLangCodePages; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("359F3443-BD4A-11D0-B188-00AA0038C969") IMLangCodePages : public IUnknown { public: virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCharCodePages( /* [in] */ WCHAR chSrc, /* [annotation][out] */ __out DWORD *pdwCodePages) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStrCodePages( /* [annotation][size_is][in] */ __in_ecount(cchSrc) const WCHAR *pszSrc, /* [in] */ long cchSrc, /* [in] */ DWORD dwPriorityCodePages, /* [annotation][out] */ __out_opt DWORD *pdwCodePages, /* [annotation][out] */ __out_opt long *pcchCodePages) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePageToCodePages( /* [in] */ UINT uCodePage, /* [annotation][out] */ __out DWORD *pdwCodePages) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePagesToCodePage( /* [in] */ DWORD dwCodePages, /* [in] */ UINT uDefaultCodePage, /* [annotation][out] */ __out UINT *puCodePage) = 0; }; #else /* C style interface */ typedef struct IMLangCodePagesVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangCodePages * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangCodePages * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangCodePages * This); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )( IMLangCodePages * This, /* [in] */ WCHAR chSrc, /* [annotation][out] */ __out DWORD *pdwCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )( IMLangCodePages * This, /* [annotation][size_is][in] */ __in_ecount(cchSrc) const WCHAR *pszSrc, /* [in] */ long cchSrc, /* [in] */ DWORD dwPriorityCodePages, /* [annotation][out] */ __out_opt DWORD *pdwCodePages, /* [annotation][out] */ __out_opt long *pcchCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )( IMLangCodePages * This, /* [in] */ UINT uCodePage, /* [annotation][out] */ __out DWORD *pdwCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )( IMLangCodePages * This, /* [in] */ DWORD dwCodePages, /* [in] */ UINT uDefaultCodePage, /* [annotation][out] */ __out UINT *puCodePage); END_INTERFACE } IMLangCodePagesVtbl; interface IMLangCodePages { CONST_VTBL struct IMLangCodePagesVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangCodePages_INTERFACE_DEFINED__ */ #ifndef __IMLangFontLink_INTERFACE_DEFINED__ #define __IMLangFontLink_INTERFACE_DEFINED__ /* interface IMLangFontLink */ /* [object][local][unique][helpstring][uuid] */ typedef /* [unique] */ IMLangFontLink *PMLANGFONTLINK; EXTERN_C const IID IID_IMLangFontLink; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("359F3441-BD4A-11D0-B188-00AA0038C969") IMLangFontLink : public IMLangCodePages { public: virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontCodePages( /* [in] */ HDC hDC, /* [in] */ HFONT hFont, /* [annotation][out] */ __out_opt DWORD *pdwCodePages) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapFont( /* [in] */ HDC hDC, /* [in] */ DWORD dwCodePages, /* [in] */ HFONT hSrcFont, /* [annotation][out] */ __out_opt HFONT *phDestFont) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReleaseFont( /* [in] */ HFONT hFont) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetFontMapping( void) = 0; }; #else /* C style interface */ typedef struct IMLangFontLinkVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangFontLink * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangFontLink * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangFontLink * This); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )( IMLangFontLink * This, /* [in] */ WCHAR chSrc, /* [annotation][out] */ __out DWORD *pdwCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )( IMLangFontLink * This, /* [annotation][size_is][in] */ __in_ecount(cchSrc) const WCHAR *pszSrc, /* [in] */ long cchSrc, /* [in] */ DWORD dwPriorityCodePages, /* [annotation][out] */ __out_opt DWORD *pdwCodePages, /* [annotation][out] */ __out_opt long *pcchCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )( IMLangFontLink * This, /* [in] */ UINT uCodePage, /* [annotation][out] */ __out DWORD *pdwCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )( IMLangFontLink * This, /* [in] */ DWORD dwCodePages, /* [in] */ UINT uDefaultCodePage, /* [annotation][out] */ __out UINT *puCodePage); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontCodePages )( IMLangFontLink * This, /* [in] */ HDC hDC, /* [in] */ HFONT hFont, /* [annotation][out] */ __out_opt DWORD *pdwCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapFont )( IMLangFontLink * This, /* [in] */ HDC hDC, /* [in] */ DWORD dwCodePages, /* [in] */ HFONT hSrcFont, /* [annotation][out] */ __out_opt HFONT *phDestFont); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReleaseFont )( IMLangFontLink * This, /* [in] */ HFONT hFont); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetFontMapping )( IMLangFontLink * This); END_INTERFACE } IMLangFontLinkVtbl; interface IMLangFontLink { CONST_VTBL struct IMLangFontLinkVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangFontLink_INTERFACE_DEFINED__ */ #ifndef __IMLangFontLink2_INTERFACE_DEFINED__ #define __IMLangFontLink2_INTERFACE_DEFINED__ /* interface IMLangFontLink2 */ /* [object][local][unique][helpstring][uuid] */ typedef struct tagUNICODERANGE { WCHAR wcFrom; WCHAR wcTo; } UNICODERANGE; typedef /* [unique] */ IMLangFontLink2 *PMLANGFONTLINK2; EXTERN_C const IID IID_IMLangFontLink2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("DCCFC162-2B38-11d2-B7EC-00C04F8F5D9A") IMLangFontLink2 : public IMLangCodePages { public: virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontCodePages( /* [in] */ HDC hDC, /* [in] */ HFONT hFont, /* [annotation][out] */ __out_opt DWORD *pdwCodePages) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReleaseFont( /* [in] */ HFONT hFont) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetFontMapping( void) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapFont( /* [in] */ HDC hDC, /* [in] */ DWORD dwCodePages, /* [in] */ WCHAR chSrc, /* [annotation][out] */ __out_opt HFONT *pFont) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetFontUnicodeRanges( /* [in] */ HDC hDC, /* [annotation][out][in] */ __in UINT *puiRanges, /* [annotation][out] */ __out_opt UNICODERANGE *pUranges) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScriptFontInfo( /* [in] */ SCRIPT_ID sid, /* [in] */ DWORD dwFlags, /* [annotation][out][in] */ __inout UINT *puiFonts, /* [annotation][out] */ __out_opt SCRIPTFONTINFO *pScriptFont) = 0; virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CodePageToScriptID( /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out SCRIPT_ID *pSid) = 0; }; #else /* C style interface */ typedef struct IMLangFontLink2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMLangFontLink2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMLangFontLink2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IMLangFontLink2 * This); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCharCodePages )( IMLangFontLink2 * This, /* [in] */ WCHAR chSrc, /* [annotation][out] */ __out DWORD *pdwCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStrCodePages )( IMLangFontLink2 * This, /* [annotation][size_is][in] */ __in_ecount(cchSrc) const WCHAR *pszSrc, /* [in] */ long cchSrc, /* [in] */ DWORD dwPriorityCodePages, /* [annotation][out] */ __out_opt DWORD *pdwCodePages, /* [annotation][out] */ __out_opt long *pcchCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToCodePages )( IMLangFontLink2 * This, /* [in] */ UINT uCodePage, /* [annotation][out] */ __out DWORD *pdwCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePagesToCodePage )( IMLangFontLink2 * This, /* [in] */ DWORD dwCodePages, /* [in] */ UINT uDefaultCodePage, /* [annotation][out] */ __out UINT *puCodePage); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontCodePages )( IMLangFontLink2 * This, /* [in] */ HDC hDC, /* [in] */ HFONT hFont, /* [annotation][out] */ __out_opt DWORD *pdwCodePages); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReleaseFont )( IMLangFontLink2 * This, /* [in] */ HFONT hFont); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetFontMapping )( IMLangFontLink2 * This); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapFont )( IMLangFontLink2 * This, /* [in] */ HDC hDC, /* [in] */ DWORD dwCodePages, /* [in] */ WCHAR chSrc, /* [annotation][out] */ __out_opt HFONT *pFont); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetFontUnicodeRanges )( IMLangFontLink2 * This, /* [in] */ HDC hDC, /* [annotation][out][in] */ __in UINT *puiRanges, /* [annotation][out] */ __out_opt UNICODERANGE *pUranges); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScriptFontInfo )( IMLangFontLink2 * This, /* [in] */ SCRIPT_ID sid, /* [in] */ DWORD dwFlags, /* [annotation][out][in] */ __inout UINT *puiFonts, /* [annotation][out] */ __out_opt SCRIPTFONTINFO *pScriptFont); /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CodePageToScriptID )( IMLangFontLink2 * This, /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out SCRIPT_ID *pSid); END_INTERFACE } IMLangFontLink2Vtbl; interface IMLangFontLink2 { CONST_VTBL struct IMLangFontLink2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMLangFontLink2_INTERFACE_DEFINED__ */ #ifndef __IMultiLanguage3_INTERFACE_DEFINED__ #define __IMultiLanguage3_INTERFACE_DEFINED__ /* interface IMultiLanguage3 */ /* [local][unique][uuid][object] */ typedef /* [unique] */ IMultiLanguage3 *LPMULTILANGUAGE3; EXTERN_C const IID IID_IMultiLanguage3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("4e5868ab-b157-4623-9acc-6a1d9caebe04") IMultiLanguage3 : public IMultiLanguage2 { public: virtual HRESULT STDMETHODCALLTYPE DetectOutboundCodePage( /* [in] */ DWORD dwFlags, /* [annotation][size_is][in] */ __in_ecount(cchWideChar) LPCWSTR lpWideCharStr, /* [in] */ UINT cchWideChar, /* [annotation][size_is][in] */ __in_ecount_opt(nPreferredCodePages) const UINT *puiPreferredCodePages, /* [in] */ UINT nPreferredCodePages, /* [annotation][size_is][out] */ __out_ecount_part(*pnDetectedCodePages, *pnDetectedCodePages) UINT *puiDetectedCodePages, /* [annotation][out][in] */ __inout UINT *pnDetectedCodePages, /* [annotation][string][unique][in] */ __in_opt LPCWSTR lpSpecialChar) = 0; virtual HRESULT STDMETHODCALLTYPE DetectOutboundCodePageInIStream( /* [in] */ DWORD dwFlags, /* [annotation][in] */ __in IStream *pStrIn, /* [annotation][size_is][in] */ __in_ecount_opt(nPreferredCodePages) const UINT *puiPreferredCodePages, /* [in] */ UINT nPreferredCodePages, /* [annotation][size_is][out] */ __out_ecount_part(*pnDetectedCodePages, *pnDetectedCodePages) UINT *puiDetectedCodePages, /* [annotation][out][in] */ __inout UINT *pnDetectedCodePages, /* [annotation][string][unique][in] */ __in_opt LPCWSTR lpSpecialChar) = 0; }; #else /* C style interface */ typedef struct IMultiLanguage3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IMultiLanguage3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IMultiLanguage3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IMultiLanguage3 * This); HRESULT ( STDMETHODCALLTYPE *GetNumberOfCodePageInfo )( IMultiLanguage3 * This, /* [annotation][out] */ __out UINT *pcCodePage); HRESULT ( STDMETHODCALLTYPE *GetCodePageInfo )( IMultiLanguage3 * This, /* [in] */ UINT uiCodePage, /* [in] */ LANGID LangId, /* [annotation][out] */ __out PMIMECPINFO pCodePageInfo); HRESULT ( STDMETHODCALLTYPE *GetFamilyCodePage )( IMultiLanguage3 * This, /* [in] */ UINT uiCodePage, /* [annotation][out] */ __out UINT *puiFamilyCodePage); HRESULT ( STDMETHODCALLTYPE *EnumCodePages )( IMultiLanguage3 * This, /* [in] */ DWORD grfFlags, /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumCodePage **ppEnumCodePage); HRESULT ( STDMETHODCALLTYPE *GetCharsetInfo )( IMultiLanguage3 * This, /* [in] */ BSTR Charset, /* [annotation][out] */ __out PMIMECSETINFO pCharsetInfo); HRESULT ( STDMETHODCALLTYPE *IsConvertible )( IMultiLanguage3 * This, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding); HRESULT ( STDMETHODCALLTYPE *ConvertString )( IMultiLanguage3 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) BYTE *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) BYTE *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicode )( IMultiLanguage3 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_bcount_opt(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount_opt(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicode )( IMultiLanguage3 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_ecount_opt(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount_opt(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize); HRESULT ( STDMETHODCALLTYPE *ConvertStringReset )( IMultiLanguage3 * This); HRESULT ( STDMETHODCALLTYPE *GetRfc1766FromLcid )( IMultiLanguage3 * This, /* [in] */ LCID Locale, /* [annotation][out] */ __deref_out BSTR *pbstrRfc1766); HRESULT ( STDMETHODCALLTYPE *GetLcidFromRfc1766 )( IMultiLanguage3 * This, /* [annotation][out] */ __out LCID *pLocale, /* [annotation][in] */ __in BSTR bstrRfc1766); HRESULT ( STDMETHODCALLTYPE *EnumRfc1766 )( IMultiLanguage3 * This, /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumRfc1766 **ppEnumRfc1766); HRESULT ( STDMETHODCALLTYPE *GetRfc1766Info )( IMultiLanguage3 * This, /* [in] */ LCID Locale, /* [in] */ LANGID LangId, /* [annotation][out] */ __out PRFC1766INFO pRfc1766Info); HRESULT ( STDMETHODCALLTYPE *CreateConvertCharset )( IMultiLanguage3 * This, /* [in] */ UINT uiSrcCodePage, /* [in] */ UINT uiDstCodePage, /* [in] */ DWORD dwProperty, /* [annotation][out] */ __deref_out IMLangConvertCharset **ppMLangConvertCharset); HRESULT ( STDMETHODCALLTYPE *ConvertStringInIStream )( IMultiLanguage3 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack, /* [in] */ DWORD dwSrcEncoding, /* [in] */ DWORD dwDstEncoding, /* [annotation][in] */ __in IStream *pstmIn, /* [annotation][in] */ __in IStream *pstmOut); HRESULT ( STDMETHODCALLTYPE *ConvertStringToUnicodeEx )( IMultiLanguage3 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_bcount(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_ecount(*pcDstSize) WCHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack); HRESULT ( STDMETHODCALLTYPE *ConvertStringFromUnicodeEx )( IMultiLanguage3 * This, /* [annotation][out][in] */ __inout_opt DWORD *pdwMode, /* [in] */ DWORD dwEncoding, /* [annotation][in] */ __in_ecount(*pcSrcSize) WCHAR *pSrcStr, /* [annotation][out][in] */ __inout_opt UINT *pcSrcSize, /* [annotation][out] */ __out_bcount(*pcDstSize) CHAR *pDstStr, /* [annotation][out][in] */ __inout_opt UINT *pcDstSize, /* [in] */ DWORD dwFlag, /* [annotation][in] */ __in_opt WCHAR *lpFallBack); HRESULT ( STDMETHODCALLTYPE *DetectCodepageInIStream )( IMultiLanguage3 * This, /* [in] */ DWORD dwFlag, /* [in] */ DWORD dwPrefWinCodePage, /* [annotation][in] */ __in IStream *pstmIn, /* [annotation][out] */ __out DetectEncodingInfo *lpEncoding, /* [annotation][out][in] */ __inout INT *pnScores); HRESULT ( STDMETHODCALLTYPE *DetectInputCodepage )( IMultiLanguage3 * This, /* [in] */ DWORD dwFlag, /* [in] */ DWORD dwPrefWinCodePage, /* [annotation][in] */ __in_bcount(*pcSrcSize) CHAR *pSrcStr, /* [annotation][out][in] */ __inout INT *pcSrcSize, /* [annotation][out] */ __out DetectEncodingInfo *lpEncoding, /* [annotation][out][in] */ __inout INT *pnScores); HRESULT ( STDMETHODCALLTYPE *ValidateCodePage )( IMultiLanguage3 * This, /* [in] */ UINT uiCodePage, /* [in] */ HWND hwnd); HRESULT ( STDMETHODCALLTYPE *GetCodePageDescription )( IMultiLanguage3 * This, /* [in] */ UINT uiCodePage, /* [in] */ LCID lcid, /* [annotation][size_is][out] */ __out_ecount(cchWideChar) LPWSTR lpWideCharStr, /* [in] */ int cchWideChar); HRESULT ( STDMETHODCALLTYPE *IsCodePageInstallable )( IMultiLanguage3 * This, /* [in] */ UINT uiCodePage); HRESULT ( STDMETHODCALLTYPE *SetMimeDBSource )( IMultiLanguage3 * This, /* [in] */ MIMECONTF dwSource); HRESULT ( STDMETHODCALLTYPE *GetNumberOfScripts )( IMultiLanguage3 * This, /* [annotation][out] */ __out UINT *pnScripts); HRESULT ( STDMETHODCALLTYPE *EnumScripts )( IMultiLanguage3 * This, /* [in] */ DWORD dwFlags, /* [in] */ LANGID LangId, /* [annotation][out] */ __deref_out IEnumScript **ppEnumScript); HRESULT ( STDMETHODCALLTYPE *ValidateCodePageEx )( IMultiLanguage3 * This, /* [in] */ UINT uiCodePage, /* [in] */ HWND hwnd, /* [in] */ DWORD dwfIODControl); HRESULT ( STDMETHODCALLTYPE *DetectOutboundCodePage )( IMultiLanguage3 * This, /* [in] */ DWORD dwFlags, /* [annotation][size_is][in] */ __in_ecount(cchWideChar) LPCWSTR lpWideCharStr, /* [in] */ UINT cchWideChar, /* [annotation][size_is][in] */ __in_ecount_opt(nPreferredCodePages) const UINT *puiPreferredCodePages, /* [in] */ UINT nPreferredCodePages, /* [annotation][size_is][out] */ __out_ecount_part(*pnDetectedCodePages, *pnDetectedCodePages) UINT *puiDetectedCodePages, /* [annotation][out][in] */ __inout UINT *pnDetectedCodePages, /* [annotation][string][unique][in] */ __in_opt LPCWSTR lpSpecialChar); HRESULT ( STDMETHODCALLTYPE *DetectOutboundCodePageInIStream )( IMultiLanguage3 * This, /* [in] */ DWORD dwFlags, /* [annotation][in] */ __in IStream *pStrIn, /* [annotation][size_is][in] */ __in_ecount_opt(nPreferredCodePages) const UINT *puiPreferredCodePages, /* [in] */ UINT nPreferredCodePages, /* [annotation][size_is][out] */ __out_ecount_part(*pnDetectedCodePages, *pnDetectedCodePages) UINT *puiDetectedCodePages, /* [annotation][out][in] */ __inout UINT *pnDetectedCodePages, /* [annotation][string][unique][in] */ __in_opt LPCWSTR lpSpecialChar); END_INTERFACE } IMultiLanguage3Vtbl; interface IMultiLanguage3 { CONST_VTBL struct IMultiLanguage3Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IMultiLanguage3_INTERFACE_DEFINED__ */ EXTERN_C const CLSID CLSID_CMultiLanguage; #ifdef __cplusplus class DECLSPEC_UUID("275c23e2-3747-11d0-9fea-00aa003f8646") CMultiLanguage; #endif #endif /* __MultiLanguage_LIBRARY_DEFINED__ */ /* interface __MIDL_itf_mlang_0001_0019 */ /* [local] */ #ifndef _MLANG_H_API_DEF_ #define _MLANG_H_API_DEF_ // APIs prototypes STDAPI LcidToRfc1766A(__in LCID Locale, __out_bcount(iMaxLength) LPSTR pszRfc1766, __in int iMaxLength); STDAPI LcidToRfc1766W(__in LCID Locale, __out_ecount(nChar) LPWSTR pwszRfc1766, __in int nChar); #ifdef UNICODE #define LcidToRfc1766 LcidToRfc1766W #else #define LcidToRfc1766 LcidToRfc1766A #endif STDAPI Rfc1766ToLcidA(__out LCID *pLocale, __in LPCSTR pszRfc1766); STDAPI Rfc1766ToLcidW(__out LCID *pLocale, __in LPCWSTR pszRfc1766); #ifdef UNICODE #define Rfc1766ToLcid Rfc1766ToLcidW #else #define Rfc1766ToLcid Rfc1766ToLcidA #endif STDAPI IsConvertINetStringAvailable(DWORD dwSrcEncoding, DWORD dwDstEncoding); STDAPI ConvertINetString(__inout_opt LPDWORD lpdwMode, __in DWORD dwSrcEncoding, __in DWORD dwDstEncoding, __in_bcount_opt(*lpnSrcSize) LPCSTR lpSrcStr, __inout_opt LPINT lpnSrcSize, __out_bcount_opt(*lpnDstSize) LPSTR lpDstStr, __inout_opt LPINT lpnDstSize); STDAPI ConvertINetMultiByteToUnicode(__inout_opt LPDWORD lpdwMode, __in DWORD dwEncoding, __in_opt LPCSTR lpSrcStr, __inout_opt LPINT lpnMultiCharCount, __out_ecount_opt(*lpnWideCharCount) LPWSTR lpDstStr, __inout_opt LPINT lpnWideCharCount); STDAPI ConvertINetUnicodeToMultiByte(__inout_opt LPDWORD lpdwMode, __in DWORD dwEncoding, __in_opt LPCWSTR lpSrcStr, __inout_opt LPINT lpnWideCharCount, __out_bcount_opt(*lpnMultiCharCount) LPSTR lpDstStr, __inout_opt LPINT lpnMultiCharCount); #endif // _MLANG_H_API_DEF_ extern RPC_IF_HANDLE __MIDL_itf_mlang_0001_0019_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mlang_0001_0019_v0_0_s_ifspec; /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif