Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781/* * Copyright (C) 2004 Mike McCormack * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */#ifndef DO_NO_IMPORTSimport "unknwn.idl";#endifinterface IStream;cpp_quote("#define CPIOD_PEEK 0x40000000")cpp_quote("#define CPIOD_FORCE_PROMPT 0x80000000")[ uuid(275c23e0-3747-11d0-9fea-00aa003f8646), lcid(0x0000), version(0.2)]library MultiLanguage{ importlib("stdole2.tlb");[ object, uuid(359f3443-bd4a-11d0-b188-00aa0038c969), pointer_default(unique)]interface IMLangCodePages : IUnknown{ HRESULT GetCharCodePages( [in] WCHAR chSrc, [out] DWORD *pdwCodePages); HRESULT GetStrCodePages( [in, size_is(cchSrc)] const WCHAR *pszSrc, [in] LONG cchSrc, [in] DWORD dwPriorityCodePages, [out] DWORD *pdwCodePages, [out] LONG *pcchCodePages); HRESULT CodePageToCodePages( [in] UINT uCodePage, [out] DWORD *pdwCodePages); HRESULT CodePagesToCodePage( [in] DWORD dwCodePages, [in] UINT uDefaultCodePage, [out] UINT *puCodePage);}[ object, uuid(359f3441-bd4a-11d0-b188-00aa0038c969), pointer_default(unique)]interface IMLangFontLink : IMLangCodePages{ HRESULT GetFontCodePages( [in] HDC hDC, [in] HFONT hFont, [out] DWORD *pdwCodePages ); HRESULT MapFont( [in] HDC hDC, [in] DWORD dwCodePages, [in] HFONT hSrcFont, [out] HFONT *phDestFont); HRESULT ReleaseFont( [in] HFONT hFont); HRESULT ResetFontMapping();}[ object, uuid(ae5f1430-388b-11d2-8380-00c04f8f5da1), pointer_default(unique)]interface IEnumScript : IUnknown{ const USHORT MAX_SCRIPT_NAME = 48; const USHORT MAX_MIMEFACE_NAME = 32; typedef BYTE SCRIPT_ID; typedef __int64 SCRIPT_IDS; typedef enum tagSCRIPTCONTF { sidDefault = 0, sidMerge = sidDefault + 1, sidAsciiSym = sidMerge + 1, sidAsciiLatin = sidAsciiSym + 1, sidLatin = sidAsciiLatin + 1, sidGreek = sidLatin + 1, sidCyrillic = sidGreek + 1, sidArmenian = sidCyrillic + 1, sidHebrew = sidArmenian + 1, sidArabic = sidHebrew + 1, sidDevanagari = sidArabic + 1, sidBengali = sidDevanagari + 1, sidGurmukhi = sidBengali + 1, sidGujarati = sidGurmukhi + 1, sidOriya = sidGujarati + 1, sidTamil = sidOriya + 1, sidTelugu = sidTamil + 1, sidKannada = sidTelugu + 1, sidMalayalam = sidKannada + 1, sidThai = sidMalayalam + 1, sidLao = sidThai + 1, sidTibetan = sidLao + 1, sidGeorgian = sidTibetan + 1, sidHangul = sidGeorgian + 1, sidKana = sidHangul + 1, sidBopomofo = sidKana + 1, sidHan = sidBopomofo + 1, sidEthiopic = sidHan + 1, sidCanSyllabic = sidEthiopic + 1, sidCherokee = sidCanSyllabic + 1, sidYi = sidCherokee + 1, sidBraille = sidYi + 1, sidRunic = sidBraille + 1, sidOgham = sidRunic + 1, sidSinhala = sidOgham + 1, sidSyriac = sidSinhala + 1, sidBurmese = sidSyriac + 1, sidKhmer = sidBurmese + 1, sidThaana = sidKhmer + 1, sidMongolian = sidThaana + 1, sidUserDefined = sidMongolian + 1, sidLim = sidUserDefined + 1, sidFEFirst = sidHangul, sidFELast = sidHan } SCRIPTCONTF; typedef enum tagSCRIPTFONTCONTF { SCRIPTCONTF_FIXED_FONT = 0x1, SCRIPTCONTF_PROPORTIONAL_FONT = 0x2, SCRIPTCONTF_SCRIPT_USER = 0x10000, SCRIPTCONTF_SCRIPT_HIDE = 0x20000, SCRIPTCONTF_SCRIPT_SYSTEM = 0x40000 } SCRIPTFONTCONTF; typedef struct tagSCRIPFONTINFO { SCRIPT_IDS scripts; WCHAR wszFont[MAX_MIMEFACE_NAME]; } SCRIPTFONTINFO, *PSCRIPTFONTINFO; 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; HRESULT Clone( [out] IEnumScript **ppEnum); HRESULT Next( [in] ULONG celt, [out] PSCRIPTINFO rgelt, [out] ULONG *pceltFetched); HRESULT Reset(); HRESULT Skip( [in] ULONG celt);}[ object, uuid(dccfc162-2b38-11d2-b7ec-00c04f8f5d9a), pointer_default(unique)]interface IMLangFontLink2 : IMLangCodePages{ typedef struct tagUNICODERANGE { WCHAR wcFrom; WCHAR wcTo; } UNICODERANGE; typedef [unique] IMLangFontLink2 *PMLANGFONTLINK2; HRESULT GetFontCodePages( [in] HDC hDC, [in] HFONT hFont, [out] DWORD *pdwCodePages ); HRESULT ReleaseFont( [in] HFONT hFont); HRESULT ResetFontMapping(); HRESULT MapFont( [in] HDC hDC, [in] DWORD dwCodePages, [in] WCHAR chSrc, [out] HFONT *pFont); HRESULT GetFontUnicodeRanges( [in] HDC hDC, [in,out] UINT *puiRanges, [out] UNICODERANGE* pUranges); HRESULT GetScriptFontInfo( [in] SCRIPT_ID sid, [in] DWORD dwFlags, [in,out] UINT *puiFonts, [out] SCRIPTFONTINFO* pScriptFont); HRESULT CodePageToScriptID( [in] UINT uiCodePage, [out] SCRIPT_ID *pSid);}[ object, uuid(c04d65ce-b70d-11d0-b188-00aa0038c969), pointer_default(unique)]interface IMLangString : IUnknown{#ifdef NEWMLSTR HRESULT LockMLStr( [in] LONG lPos, [in] DWORD dwFlags, [out] DWORD* pdwCookie, [out] LONG* plActualPos, [out] LONG* plActualLen); HRESULT UnlockMLStr( [in] DWORD dwCookie);#else HRESULT Sync( [in] BOOL fNoAccess);#endif HRESULT GetLength( [out, retval] LONG* plLen); HRESULT SetMLStr( [in] LONG lDestPos, [in] LONG lDestLen, [in] IUnknown *pSrcMLStr, [in] LONG lSrcPos, [in] LONG lSrcLen);#ifdef NEWMLSTR HRESULT RegisterAttr( [in] IUnknown *pUnk, [out] DWORD* pdwCookie); HRESULT UnregisterAttr( [in] DWORD dwCookie); HRESULT EnumAttr( [out] IEnumUnknown **ppEnumUnk); HRESULT FindAttr( [in] REFIID riid, [in] LPARAM lParam, [out] IUnknown **ppUnk);#else HRESULT GetMLStr( [in] LONG lSrcPos, [in] LONG lSrcLen, [in] IUnknown *pUnkOuter, [in] DWORD dwClsContext, [in] const IID* piid, [out] IUnknown** ppDestMLStr, [out] LONG* plDestPos, [out] LONG* plDestLen);#endif}[ object, uuid(f5be2ee1-bfd7-11d0-b188-00aa0038c969), pointer_default(unique)]interface IMLangLineBreakConsole : IUnknown{ HRESULT BreakLineML( [in] IMLangString* pSrcMLStr, [in] LONG lSrcPos, [in] LONG lSrcLen, [in] LONG cMinColumns, [in] LONG cMaxColumns, [out] LONG* plLineLen, [out] LONG* plSkipLen); HRESULT BreakLineW( [in] LCID locale, [in, size_is(cchSrc)] const WCHAR* pszSrc, [in] LONG cchSrc, [in] LONG cMaxColumns, [out] LONG* pcchLine, [out] LONG* pcchSkip ); HRESULT BreakLineA( [in] LCID locale, [in] UINT uCodePage, [in, size_is(cchSrc)] const CHAR* pszSrc, [in] LONG cchSrc, [in] LONG cMaxColumns, [out] LONG* pcchLine, [out] LONG* pcchSkip);}[ object, uuid(275c23e3-3747-11d0-9fea-00aa003f8646), pointer_default(unique)]interface IEnumCodePage : IUnknown{ const USHORT MAX_MIMECP_NAME = 64; const USHORT MAX_MIMECSET_NAME = 50; typedef enum tagMIMECONTF { MIMECONTF_MAILNEWS = 0x00000001, MIMECONTF_BROWSER = 0x00000002, MIMECONTF_MINIMAL = 0x00000004, MIMECONTF_IMPORT = 0x00000008, MIMECONTF_SAVABLE_MAILNEWS = 0x00000100, MIMECONTF_SAVABLE_BROWSER = 0x00000200, MIMECONTF_EXPORT = 0x00000400, MIMECONTF_PRIVCONVERTER = 0x00010000, MIMECONTF_VALID = 0x00020000, MIMECONTF_VALID_NLS = 0x00040000, MIMECONTF_MIME_IE4 = 0x10000000, MIMECONTF_MIME_LATEST = 0x20000000, MIMECONTF_MIME_REGISTRY = 0x40000000 } MIMECONTF; typedef 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; HRESULT Clone( [out] IEnumCodePage **ppEnum); HRESULT Next( [in] ULONG celt, [out] PMIMECPINFO rgelt, [out] ULONG *pceltFetched); HRESULT Reset(); HRESULT Skip( [in] ULONG celt);}[ object, uuid(d66d6f98-cdaa-11d0-b822-00c04fc9b31f), pointer_default(unique)]interface IMLangConvertCharset : IUnknown{ 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 = 0x0001, MLDETECTF_BROWSER = 0x0002, MLDETECTF_VALID = 0x0004, MLDETECTF_VALID_NLS = 0x0008, MLDETECTF_PRESERVE_ORDER = 0x0010, MLDETECTF_PREFERRED_ONLY = 0x0020, MLDETECTF_FILTER_SPECIALCHAR = 0x0040, MLDETECTF_EURO_UTF8 = 0x0080 } MLCP; HRESULT Initialize( [in] UINT uiSrcCodePage, [in] UINT uiDstCodePage, [in] DWORD dwProperty); HRESULT GetSourceCodePage( [out] UINT *puiSrcCodePage); HRESULT GetDestinationCodePage( [out] UINT *puiDstCodePage); HRESULT GetProperty( [out] DWORD *pdwProperty); HRESULT DoConversion( [in] BYTE *pSrcStr, [in,out] UINT *pcSrcSize, [in] BYTE *pDstStr, [in,out] UINT *pcDstSize); HRESULT DoConversionToUnicode( [in] CHAR *pSrcStr, [in,out] UINT *pcSrcSize, [in] WCHAR *pDstStr, [in,out] UINT *pcDstSize); HRESULT DoConversionFromUnicode( [in] WCHAR *pSrcStr, [in,out] UINT *pcSrcSize, [in] CHAR *pDstStr, [in,out] UINT *pcDstSize);}[ uuid(d66d6f99-cdaa-11d0-b822-00c04fc9b31f)]coclass CMLangConvertCharset{ [default] interface IMLangConvertCharset;};[ object, uuid(3dc39d1d-c030-11d0-b81b-00c04fc9b31f), pointer_default(unique)]interface IEnumRfc1766 : IUnknown{ const USHORT MAX_RFC1766_NAME = 6; const USHORT MAX_LOCALE_NAME = 32; typedef struct tagRFC1766INFO { LCID lcid; WCHAR wszRfc1766[MAX_RFC1766_NAME]; WCHAR wszLocaleName[MAX_LOCALE_NAME]; } RFC1766INFO, *PRFC1766INFO; HRESULT Clone( [out] IEnumRfc1766 **ppEnum); HRESULT Next( [in] ULONG celt, [out] PRFC1766INFO rgelt, [out] ULONG *pceltFetched); HRESULT Reset(); HRESULT Skip( [in] ULONG celt);}[ object, uuid(275c23e1-3747-11d0-9fea-00aa003f8646), pointer_default(unique)]interface IMultiLanguage : IUnknown{ HRESULT GetNumberOfCodePageInfo( [out] UINT *pcCodePage); HRESULT GetCodePageInfo( [in] UINT uiCodePage, [out] PMIMECPINFO pCodePageInfo); HRESULT GetFamilyCodePage( [in] UINT uiCodePage, [out] UINT *puiFamilyCodePage); HRESULT EnumCodePages( [in] DWORD grfFlags, [out] IEnumCodePage **ppEnumCodePage); HRESULT GetCharsetInfo( [in] BSTR Charset, [in] PMIMECSETINFO pCharsetInfo); HRESULT IsConvertible( [in] DWORD dwSrcEncoding, [in] DWORD dwDstEncoding); HRESULT ConvertString( [in,out] DWORD *pdwMode, [in] DWORD dwSrcEncoding, [in] DWORD dwDstEncoding, [in] BYTE *pSrcStr, [in,out] UINT *pcSrcSize, [in] BYTE *pDstStr, [in,out] UINT *pcDstSize); HRESULT ConvertStringToUnicode( [in,out] DWORD *pdwMode, [in] DWORD dwEncoding, [in] CHAR *pSrcStr, [in,out] UINT *pcSrcSize, [in] WCHAR *pDstStr, [in,out] UINT *pcDstSize); HRESULT ConvertStringFromUnicode( [in,out] DWORD *pdwMode, [in] DWORD dwEncoding, [in] WCHAR *pSrcStr, [in,out] UINT *pcSrcSize, [in] CHAR *pDstStr, [in,out] UINT *pcDstSize); HRESULT ConvertStringReset(); HRESULT GetRfc1766FromLcid( [in] LCID Locale, [out] BSTR *pbstrRfc1766); HRESULT GetLcidFromRfc1766( [out] LCID *pLocale, [in] BSTR bstrRfc1766); HRESULT EnumRfc1766( [out] IEnumRfc1766 **ppEnumRfc1766); HRESULT GetRfc1766Info( [in] LCID Locale, [out] PRFC1766INFO pRfc1766Info); HRESULT CreateConvertCharset( [in] UINT uiSrcCodePage, [in] UINT uiDstCodePage, [in] DWORD dwProperty, [out] IMLangConvertCharset **ppMLangConvertCharset);}[ object, uuid(dccfc164-2b38-11d2-b7ec-00c04f8f5d9a), pointer_default(unique)]interface IMultiLanguage2 : IUnknown{ typedef struct tagDetectEncodingInfo { UINT nLangID; UINT nCodePage; INT nDocPercent; INT nConfidence; } DetectEncodingInfo, *pDetectEncodingInfo; HRESULT GetNumberOfCodePageInfo( [out] UINT *pcCodePage); HRESULT GetCodePageInfo( [in] UINT uiCodePage, [in] LANGID LangId, [out] PMIMECPINFO pCodePageInfo); HRESULT GetFamilyCodePage( [in] UINT uiCodePage, [out] UINT *puiFamilyCodePage); HRESULT EnumCodePages( [in] DWORD grfFlags, [in] LANGID LangId, [out] IEnumCodePage **ppEnumCodePage); HRESULT GetCharsetInfo( [in] BSTR Charset, [in] PMIMECSETINFO pCharsetInfo); HRESULT IsConvertible( [in] DWORD dwSrcEncoding, [in] DWORD dwDstEncoding); HRESULT ConvertString( [in,out] DWORD *pdwMode, [in] DWORD dwSrcEncoding, [in] DWORD dwDstEncoding, [in] BYTE *pSrcStr, [in,out] UINT *pcSrcSize, [in] BYTE *pDstStr, [in,out] UINT *pcDstSize); HRESULT ConvertStringToUnicode( [in,out] DWORD *pdwMode, [in] DWORD dwEncoding, [in] CHAR *pSrcStr, [in,out] UINT *pcSrcSize, [in] WCHAR *pDstStr, [in,out] UINT *pcDstSize); HRESULT ConvertStringFromUnicode( [in,out] DWORD *pdwMode, [in] DWORD dwEncoding, [in] WCHAR *pSrcStr, [in,out] UINT *pcSrcSize, [in] CHAR *pDstStr, [in,out] UINT *pcDstSize); HRESULT ConvertStringReset(); HRESULT GetRfc1766FromLcid( [in] LCID Locale, [out] BSTR *pbstrRfc1766); HRESULT GetLcidFromRfc1766( [out] LCID *pLocale, [in] BSTR bstrRfc1766); HRESULT EnumRfc1766( [in] LANGID LangId, [out] IEnumRfc1766 **ppEnumRfc1766); HRESULT GetRfc1766Info( [in] LCID Locale, [in] LANGID LangId, [out] PRFC1766INFO pRfc1766Info); HRESULT CreateConvertCharset( [in] UINT uiSrcCodePage, [in] UINT uiDstCodePage, [in] DWORD dwProperty, [out] IMLangConvertCharset **ppMLangConvertCharset); HRESULT ConvertStringInIStream( [in,out] DWORD *pdwMode, [in] DWORD dwFlag, [in] WCHAR *lpFallBack, [in] DWORD dwSrcEncoding, [in] DWORD dwDstEncoding, [in] IStream *pstmIn, [in] IStream *pstmOut); HRESULT ConvertStringToUnicodeEx( [in,out] DWORD *pdwMode, [in] DWORD dwEncoding, [in] CHAR *pSrcStr, [in,out] UINT *pcSrcSize, [in] WCHAR *pDstStr, [in,out] UINT *pcDstSize, [in] DWORD dwFlag, [in] WCHAR *lpFallBack); HRESULT ConvertStringFromUnicodeEx( [in,out] DWORD *pdwMode, [in] DWORD dwEncoding, [in] WCHAR *pSrcStr, [in,out] UINT *pcSrcSize, [in] CHAR *pDstStr, [in,out] UINT *pcDstSize, [in] DWORD dwFlag, [in] WCHAR *lpFallBack); HRESULT DetectCodepageInIStream( [in] DWORD dwFlag, [in] DWORD dwPrefWinCodePage, [in] IStream *pstmIn, [in,out] DetectEncodingInfo *lpEncoding, [in,out] INT *pnScores); HRESULT DetectInputCodepage( [in] DWORD dwFlag, [in] DWORD dwPrefWinCodePage, [in] CHAR *pSrcStr, [in,out] INT *pcSrcSize, [in,out] DetectEncodingInfo *lpEncoding, [in,out] INT *pnScores); HRESULT ValidateCodePage( [in] UINT uiCodePage, [in] HWND hwnd); HRESULT GetCodePageDescription( [in] UINT uiCodePage, [in] LCID lcid, [in,out,size_is(cchWideChar)] LPWSTR lpWideCharStr, [in] int cchWideChar); HRESULT IsCodePageInstallable( [in] UINT uiCodePage); HRESULT SetMimeDBSource( [in] MIMECONTF dwSource); HRESULT GetNumberOfScripts( [out] UINT *pnScripts); HRESULT EnumScripts( [in] DWORD dwFlags, [in] LANGID LangId, [out] IEnumScript **ppEnumScript); HRESULT ValidateCodePageEx( /* undocumented on MSDN */ [in] UINT uiCodePage, [in] HWND hwnd, [in] DWORD dwfIODControl);}[ object, uuid(4e5868ab-b157-4623-9acc-6a1d9caebe04), pointer_default(unique)]interface IMultiLanguage3 : IMultiLanguage2{ typedef [unique] IMultiLanguage3 *LPMULTILANGUAGE3; HRESULT DetectOutboundCodePage( [in] DWORD dwFlags, [in] LPCWSTR lpWideCharStr, [in] UINT cchWideChar, [in] UINT *puiPreferredCodePages, [in] UINT nPreferredCodePages, [in] UINT *puiDetectedCodePages, [in, out] UINT *pnDetectedCodePages, [in] WCHAR *lpSpecialChar); HRESULT DetectOutboundCodePageInIStream( [in] DWORD dwFlags, [in] IStream *pStrIn, [in] UINT *puiPreferredCodePages, [in] UINT nPreferredCodePages, [in] UINT *puiDetectedCodePages, [in, out] UINT *pnDetectedCodePages, [in] WCHAR *lpSpecialChar);}[ uuid(275C23E2-3747-11d0-9FEA-00AA003f8646)]coclass CMultiLanguage{ [default] interface IMultiLanguage; interface IMLangCodePages; interface IMLangFontLink; /* interface IMLangLineBreakConsole; */ interface IMLangFontLink2;};} // library MultiLanguagecpp_quote("STDAPI LcidToRfc1766A(LCID, LPSTR, INT);")cpp_quote("STDAPI LcidToRfc1766W(LCID, LPWSTR, INT);")cpp_quote("#define LcidToRfc1766 WINELIB_NAME_AW(LcidToRfc1766)")cpp_quote("STDAPI Rfc1766ToLcidA(LCID *, LPCSTR);")cpp_quote("STDAPI Rfc1766ToLcidW(LCID *, LPCWSTR);")cpp_quote("#define Rfc1766ToLcid WINELIB_NAME_AW(Rfc1766ToLcid)")cpp_quote("STDAPI GetGlobalFontLinkObject(void **unknown);")cpp_quote("STDAPI IsConvertINetStringAvailable(DWORD, DWORD);")cpp_quote("STDAPI ConvertINetString(LPDWORD, DWORD, DWORD, LPCSTR, LPINT, LPSTR, LPINT);")cpp_quote("STDAPI ConvertINetMultiByteToUnicode(LPDWORD, DWORD, LPCSTR, LPINT, LPWSTR, LPINT);")cpp_quote("STDAPI ConvertINetUnicodeToMultiByte(LPDWORD, DWORD, LPCWSTR, LPINT, LPSTR, LPINT);")