Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / sdk / include / psdk / mlang.idl
diff --git a/reactos/sdk/include/psdk/mlang.idl b/reactos/sdk/include/psdk/mlang.idl
deleted file mode 100644 (file)
index 6b8ef17..0000000
+++ /dev/null
@@ -1,780 +0,0 @@
-/*
- * 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);")