+++ /dev/null
-/*
- * 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_IMPORTS
-import "unknwn.idl";
-#endif
-
-interface 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 MultiLanguage
-
-cpp_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);")