⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mlang.h

📁 MinGW+MSYS开发必用的api参考
💻 H
字号:
#ifndef _MLANG_H#define _MLANG_H#if __GNUC__ >= 3#pragma GCC system_header#endif#include <windows.h>#ifdef __cplusplusextern "C" {#endif#pragma pack(push,1)#define MAX_MIMECP_NAME   64#define MAX_MIMECSET_NAME 50#define MAX_SCRIPT_NAME   48#define MAX_MIMEFACE_NAME 32#define MAX_RFC1766_NAME   6#define MAX_LOCALE_NAME   32typedef enum tagMIMECONTF {    MIMECONTF_MAILNEWS = 0x00000001,    MIMECONTF_BROWSER = 0x00000002,    MIMECONTF_MINIMAL = 0x00000004,    MIMECONTF_IMPORT = 0x00000008,    MIMECONTF_SAVABLE_MAILNEWS = 0x00000100,    MIMECONTF_SAVABLE_BROWSER = 0x00000200,    MIMECONTF_EXPORT = 0x00000400,    MIMECONTF_PRIVCONVERTER = 0x00010000,    MIMECONTF_VALID = 0x00020000,    MIMECONTF_VALID_NLS = 0x00040000,    MIMECONTF_MIME_IE4 = 0x10000000,    MIMECONTF_MIME_LATEST = 0x20000000,    MIMECONTF_MIME_REGISTRY = 0x40000000} MIMECONTF;typedef enum tagMLCONVCHARF {    MLCONVCHARF_NONE = 0,    MLCONVCHARF_AUTODETECT = 1,    MLCONVCHARF_NCR_ENTITIZE = 2,    MLCONVCHARF_NAME_ENTITIZE = 4,    MLCONVCHARF_USEDEFCHAR = 8,    MLCONVCHARF_NOBESTFITCHARS = 16} MLCONVCHAR;typedef enum tagMLCPF {    MLDETECTF_MAILNEWS = 0x0001,    MLDETECTF_BROWSER = 0x0002,    MLDETECTF_VALID = 0x0004,    MLDETECTF_VALID_NLS = 0x0008,    MLDETECTF_PRESERVE_ORDER = 0x0010,    MLDETECTF_PREFERRED_ONLY = 0x0020,    MLDETECTF_FILTER_SPECIALCHAR = 0x0040} MLCP;typedef enum tagMLDETECTCP {    MLDETECTCP_NONE = 0,    MLDETECTCP_7BIT = 1,    MLDETECTCP_8BIT = 2,    MLDETECTCP_DBCS = 4,    MLDETECTCP_HTML = 8} MLDETECTCP;typedef enum tagSCRIPTFONTCONTF {    SCRIPTCONTF_FIXED_FONT = 0x00000001,    SCRIPTCONTF_PROPORTIONAL_FONT = 0x00000002,    SCRIPTCONTF_SCRIPT_USER = 0x00010000,    SCRIPTCONTF_SCRIPT_HIDE = 0x00020000,    SCRIPTCONTF_SCRIPT_SYSTEM = 0x00040000} SCRIPTFONTCONTF;typedef enum tagSCRIPTCONTF {    sidDefault,    sidMerge,    sidAsciiSym,    sidAsciiLatin,    sidLatin,    sidGreek,    sidCyrillic,    sidArmenian,    sidHebrew,    sidArabic,    sidDevanagari,    sidBengali,    sidGurmukhi,    sidGujarati,    sidOriya,    sidTamil,    sidTelugu,    sidKannada,    sidMalayalam,    sidThai,    sidLao,    sidTibetan,    sidGeorgian,    sidHangul,    sidKana,    sidBopomofo,    sidHan,    sidEthiopic,    sidCanSyllabic,    sidCherokee,    sidYi,    sidBraille,    sidRunic,    sidOgham,    sidSinhala,    sidSyriac,    sidBurmese,    sidKhmer,    sidThaana,    sidMongolian,    sidLim,    sidFEFirst = sidHangul,    sidFELast = sidHan} SCRIPTCONTF;  typedef struct tagDetectEncodingInfo {    UINT nLangID;    UINT nCodePage;    INT nDocPercent;    INT nConfidence;} DetectEncodingInfo, *pDetectEncodingInfo;typedef struct tagMIMECPINFO {    DWORD dwFlags;    UINT uiCodePage;    UINT uiFamilyCodePage;    WCHAR wszDescription[MAX_MIMECP_NAME];    WCHAR wszWebCharset[MAX_MIMECSET_NAME];    WCHAR wszHeaderCharset[MAX_MIMECSET_NAME];    WCHAR wszBodyCharset[MAX_MIMECSET_NAME];    WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];    WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];    BYTE bGDICharset;} MIMECPINFO, *PMIMECPINFO;typedef struct tagMIMECSETINFO {    UINT uiCodePage;    UINT uiInternetEncoding;    WCHAR wszCharset[MAX_MIMECSET_NAME];} MIMECSETINFO, *PMIMECSETINFO;typedef struct tagRFC1766INFO {    LCID lcid;    WCHAR wszRfc1766[MAX_RFC1766_NAME];    WCHAR wszLocaleName[MAX_LOCALE_NAME];} RFC1766INFO, *PRFC1766INFO;typedef BYTE SCRIPT_ID;  typedef struct tagSCRIPTINFO {    SCRIPT_ID ScriptId;    UINT uiCodePage;    WCHAR wszDescription[MAX_SCRIPT_NAME];    WCHAR wszFixedWidthFont[MAX_MIMEFACE_NAME];    WCHAR wszProportionalFont[MAX_MIMEFACE_NAME];} SCRIPTINFO, *PSCRIPTINFO;typedef struct tagUNICODERANGE {  WCHAR wcFrom;  WCHAR wcTo;} UNICODERANGE;typedef struct tagSCRIPTFONTINFO SCRIPTFONTINFO;  EXTERN_C const IID IID_IEnumCodePage;#define INTERFACE IEnumCodePageDECLARE_INTERFACE_(IEnumCodePage,IUnknown){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(Clone)(THIS_ IEnumCodePage**) PURE;        STDMETHOD(Next)(THIS_ ULONG,PMIMECPINFO,ULONG*) PURE;        STDMETHOD(Reset)(THIS) PURE;        STDMETHOD(Skip)(THIS_ ULONG) PURE;};#undef INTERFACEEXTERN_C const IID IID_IEnumRfc1766;#define INTERFACE IEnumRfc1766DECLARE_INTERFACE_(IEnumRfc1766,IUnknown){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(Clone)(THIS_ IEnumRfc1766**) PURE;        STDMETHOD(Next)(THIS_ ULONG,PRFC1766INFO,ULONG*) PURE;        STDMETHOD(Reset)(THIS) PURE;        STDMETHOD(Skip)(THIS_ ULONG) PURE;};#undef INTERFACEEXTERN_C const IID IID_IEnumScript;#define INTERFACE IEnumScriptDECLARE_INTERFACE_(IEnumScript,IUnknown){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(Clone)(THIS_ IEnumScript**) PURE;        STDMETHOD(Next)(THIS_ ULONG,PSCRIPTINFO,ULONG*) PURE;        STDMETHOD(Reset)(THIS) PURE;        STDMETHOD(Skip)(THIS_ ULONG) PURE;};#undef INTERFACEEXTERN_C const IID IID_IMLangCodePages;#define INTERFACE IMLangCodePagesDECLARE_INTERFACE_(IMLangCodePages,IUnknown){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;};#undef INTERFACEEXTERN_C const IID IID_IMLangConvertCharset;#define INTERFACE IMLangConvertCharsetDECLARE_INTERFACE_(IMLangConvertCharset,IUnknown){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(Initialize)(THIS_ UINT,UINT,DWORD) PURE;        STDMETHOD(GetSourceCodePage)(THIS_ UINT*) PURE;        STDMETHOD(GetDestinationCodePage)(THIS_ UINT*) PURE;        STDMETHOD(GetProperty)(THIS_ DWORD*) PURE;        STDMETHOD(DoConversion)(THIS_ BYTE*,UINT*,BYTE*,UINT*) PURE;        STDMETHOD(DoConversionToUnicode)(THIS_ CHAR*,UINT*,WCHAR*,UINT*) PURE;        STDMETHOD(DoConversionFromUnicode)(THIS_ WCHAR*,UINT*,CHAR*,UINT*) PURE;};#undef INTERFACEEXTERN_C const CLSID CLSID_CMLangConvertCharset;EXTERN_C const IID IID_IMLangFontLink;#define INTERFACE IMLangFontLinkDECLARE_INTERFACE_(IMLangFontLink,IMLangCodePages){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;        STDMETHOD(GetFontCodePages)(THIS_ HDC,HFONT,DWORD*) PURE;        STDMETHOD(ReleaseFont)(THIS_ HFONT) PURE;        STDMETHOD(ResetFontMapping)(THIS) PURE;        STDMETHOD(MapFont)(THIS_ HDC,DWORD,WCHAR,HFONT*) PURE;};#undef INTERFACEEXTERN_C const IID IID_IMLangFontLink2;#define INTERFACE IMLangFontLink2DECLARE_INTERFACE_(IMLangFontLink2,IMLangCodePages){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(GetCharCodePages)(THIS_ WCHAR,DWORD*) PURE;        STDMETHOD(GetStrCodePages)(THIS_ const WCHAR *,long,DWORD,DWORD*,long*) PURE;        STDMETHOD(CodePageToCodePages)(THIS_ UINT,DWORD*) PURE;        STDMETHOD(CodePagesToCodePage)(THIS_ DWORD,UINT,UINT*) PURE;        STDMETHOD(GetFontCodePages)(THIS_ HDC,HFONT,DWORD*) PURE;        STDMETHOD(ReleaseFont)(THIS_ HFONT) PURE;        STDMETHOD(ResetFontMapping)(THIS) PURE;        STDMETHOD(MapFont)(THIS_ HDC,DWORD,WCHAR,HFONT*) PURE;        STDMETHOD(GetFontUnicodeRange)(THIS_ HDC,UINT*,UNICODERANGE*) PURE;        STDMETHOD(GetScriptFontInfo)(THIS_ SCRIPT_ID,DWORD,UINT*,SCRIPTFONTINFO*) PURE;        STDMETHOD(CodePageToScriptID)(THIS) PURE;};#undef INTERFACEEXTERN_C const IID IID_IMLangLineBreakConsole;#define INTERFACE IMLangLineBreakConsoleDECLARE_INTERFACE_(IMLangLineBreakConsole,IMLangCodePages){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(BreakLineML)(THIS) PURE;        STDMETHOD(BreakLineW)(THIS_ LCID,const WCHAR*,long,long,long*,long*) PURE;        STDMETHOD(BreakLineA)(THIS_ LCID,UINT,const CHAR*,long,long,long*,long*) PURE;};#undef INTERFACEEXTERN_C const IID IID_IMultiLanguage;#define INTERFACE IMultiLanguageDECLARE_INTERFACE_(IMultiLanguage,IUnknown){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(GetNumberOfCodePageInfo)(THIS_ UINT*) PURE;        STDMETHOD(GetCodePageInfo)(THIS_ UINT,PMIMECPINFO) PURE;        STDMETHOD(GetFamilyCodePage)(THIS_ UINT,UINT*) PURE;        STDMETHOD(EnumCodePages)(THIS_ DWORD,IEnumCodePage**) PURE;        STDMETHOD(GetCharsetInfo)(THIS_ BSTR,PMIMECSETINFO) PURE;        STDMETHOD(IsConvertible)(THIS_ DWORD,DWORD) PURE;        STDMETHOD(ConvertString)(THIS_ DWORD*,DWORD,DWORD,BYTE*,UINT*,BYTE*,UINT*) PURE;        STDMETHOD(ConvertStringToUnicode)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*) PURE;        STDMETHOD(ConvertStringFromUnicode)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*) PURE;        STDMETHOD(ConvertStringReset)(THIS) PURE;        STDMETHOD(GetRfc1766FromLcid)(THIS_ LCID,BSTR*) PURE;        STDMETHOD(GetLcidFromRfc1766)(THIS_ LCID*,BSTR) PURE;        STDMETHOD(EnumRfc1766)(THIS_ IEnumRfc1766**) PURE;        STDMETHOD(GetRfc1766Info)(THIS_ LCID,PRFC1766INFO) PURE;        STDMETHOD(CreateConvertCharset)(THIS_ UINT,UINT,DWORD,IMLangConvertCharset**) PURE;};#undef INTERFACEEXTERN_C const CLSID CLSID_CMultiLanguage;EXTERN_C const IID IID_IMultiLanguage2;#define INTERFACE IMultiLanguage2DECLARE_INTERFACE_(IMultiLanguage2,IUnknown){        STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;        STDMETHOD_(ULONG,AddRef)(THIS) PURE;        STDMETHOD_(ULONG,Release)(THIS) PURE;        STDMETHOD(GetNumberOfCodePageInfo)(THIS_ UINT*) PURE;        STDMETHOD(GetCodePageInfo)(THIS_ UINT,PMIMECPINFO) PURE;        STDMETHOD(GetFamilyCodePage)(THIS_ UINT,UINT*) PURE;        STDMETHOD(EnumCodePages)(THIS_ DWORD,IEnumCodePage**) PURE;        STDMETHOD(GetCharsetInfo)(THIS_ BSTR,PMIMECSETINFO) PURE;        STDMETHOD(IsConvertible)(THIS_ DWORD,DWORD) PURE;        STDMETHOD(ConvertString)(THIS_ DWORD*,DWORD,DWORD,BYTE*,UINT*,BYTE*,UINT*) PURE;        STDMETHOD(ConvertStringToUnicode)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*) PURE;        STDMETHOD(ConvertStringFromUnicode)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*) PURE;        STDMETHOD(ConvertStringReset)(THIS) PURE;        STDMETHOD(GetRfc1766FromLcid)(THIS_ LCID,BSTR*) PURE;        STDMETHOD(GetLcidFromRfc1766)(THIS_ LCID*,BSTR) PURE;        STDMETHOD(EnumRfc1766)(THIS_ IEnumRfc1766**) PURE;        STDMETHOD(GetRfc1766Info)(THIS_ LCID,PRFC1766INFO) PURE;        STDMETHOD(CreateConvertCharset)(THIS_ UINT,UINT,DWORD,IMLangConvertCharset**) PURE;        STDMETHOD(ConvertStringInIStream)(THIS_ DWORD*,DWORD,WCHAR*,DWORD,DWORD,IStream*,IStream*) PURE;        STDMETHOD(ConvertStringToUnicodeEx)(THIS_ DWORD*,DWORD,CHAR*,UINT*,WCHAR*,UINT*,DWORD,WCHAR*) PURE;        STDMETHOD(ConvertStringFromUnicodeEx)(THIS_ DWORD*,DWORD,WCHAR*,UINT*,CHAR*,UINT*,DWORD,WCHAR*) PURE;        STDMETHOD(DetectCodepageInIStream)(THIS_ DWORD,DWORD,IStream*,DetectEncodingInfo*,INT*) PURE;        STDMETHOD(DetectInputCodepage)(THIS_ DWORD,DWORD,CHAR*,INT*,DetectEncodingInfo*,INT*) PURE;        STDMETHOD(ValidateCodePage)(THIS) PURE;        STDMETHOD(GetCodePageDescription)(THIS_ UINT,LCID,LPWSTR,int) PURE;        STDMETHOD(IsCodePageInstallable)(THIS) PURE;        STDMETHOD(SetMimeDBSource)(THIS_ MIMECONTF) PURE;        STDMETHOD(GetNumberOfScripts)(THIS_ UINT*) PURE;        STDMETHOD(EnumScripts)(THIS_ DWORD,LANGID,IEnumScript**) PURE;};#undef INTERFACE  #pragma pack(pop)#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -