cpp_quote("#define CPIOD_PEEK 0x40000000")
cpp_quote("#define CPIOD_FORCE_PROMPT 0x80000000")
-/* FIXME: LANGID is defined in winnt.h and mlang.h in the platform SDK */
-cpp_quote("#ifndef _WINNT_H")
-typedef WORD LANGID;
-cpp_quote("#endif")
+[
+ uuid(275c23e0-3747-11d0-9fea-00aa003f8646),
+ lcid(0x0000),
+ version(0.2)
+]
+library MultiLanguage
+{
+ importlib("stdole2.tlb");
[
object,
[out] DWORD *pdwCodePages);
HRESULT GetStrCodePages(
[in, size_is(cchSrc)] const WCHAR *pszSrc,
- [in] long cchSrc,
+ [in] LONG cchSrc,
[in] DWORD dwPriorityCodePages,
[out] DWORD *pdwCodePages,
- [out] long *pcchCodePages);
+ [out] LONG *pcchCodePages);
HRESULT CodePageToCodePages(
[in] UINT uCodePage,
[out] DWORD *pdwCodePages);
{
#ifdef NEWMLSTR
HRESULT LockMLStr(
- [in] long lPos,
+ [in] LONG lPos,
[in] DWORD dwFlags,
[out] DWORD* pdwCookie,
- [out] long* plActualPos,
- [out] long* plActualLen);
+ [out] LONG* plActualPos,
+ [out] LONG* plActualLen);
HRESULT UnlockMLStr(
[in] DWORD dwCookie);
[in] BOOL fNoAccess);
#endif
HRESULT GetLength(
- [out, retval] long* plLen);
+ [out, retval] LONG* plLen);
HRESULT SetMLStr(
- [in] long lDestPos,
- [in] long lDestLen,
+ [in] LONG lDestPos,
+ [in] LONG lDestLen,
[in] IUnknown *pSrcMLStr,
- [in] long lSrcPos,
- [in] long lSrcLen);
+ [in] LONG lSrcPos,
+ [in] LONG lSrcLen);
#ifdef NEWMLSTR
HRESULT RegisterAttr(
[in] IUnknown *pUnk,
[out] IUnknown **ppUnk);
#else
HRESULT GetMLStr(
- [in] long lSrcPos,
- [in] long lSrcLen,
+ [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);
+ [out] LONG* plDestPos,
+ [out] LONG* plDestLen);
#endif
}
{
HRESULT BreakLineML(
[in] IMLangString* pSrcMLStr,
- [in] long lSrcPos,
- [in] long lSrcLen,
- [in] long cMinColumns,
- [in] long cMaxColumns,
- [out] long* plLineLen,
- [out] long* plSkipLen);
+ [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 );
+ [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);
+ [in] LONG cchSrc,
+ [in] LONG cMaxColumns,
+ [out] LONG* pcchLine,
+ [out] LONG* pcchSkip);
}
[
- object,
- uuid(275c23e3-3747-11d0-9fea-00aa003f8646),
- pointer_default(unique)
+ 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
- {
+ typedef enum tagMIMECONTF
+ {
MIMECONTF_MAILNEWS = 0x00000001,
MIMECONTF_BROWSER = 0x00000002,
MIMECONTF_MINIMAL = 0x00000004,
MIMECONTF_MIME_IE4 = 0x10000000,
MIMECONTF_MIME_LATEST = 0x20000000,
MIMECONTF_MIME_REGISTRY = 0x40000000
- } MIMECONTF;
+ } MIMECONTF;
typedef struct tagMIMECPINFO {
DWORD dwFlags;
BYTE bGDICharset;
} MIMECPINFO, *PMIMECPINFO;
- typedef struct tagMIMECSETINFO
- {
+ typedef struct tagMIMECSETINFO
+ {
UINT uiCodePage;
UINT uiInternetEncoding;
WCHAR wszCharset[MAX_MIMECSET_NAME];
- } MIMECSETINFO, *PMIMECSETINFO;
+ } MIMECSETINFO, *PMIMECSETINFO;
HRESULT Clone(
[out] IEnumCodePage **ppEnum);
[out] PMIMECPINFO rgelt,
[out] ULONG *pceltFetched);
- HRESULT Reset();
+ HRESULT Reset();
HRESULT Skip(
[in] ULONG celt);
}
[
- object,
- uuid(d66d6f98-cdaa-11d0-b822-00c04fc9b31f),
- pointer_default(unique)
+ object,
+ uuid(d66d6f98-cdaa-11d0-b822-00c04fc9b31f),
+ pointer_default(unique)
]
interface IMLangConvertCharset : IUnknown
{
};
[
- object,
- uuid(3dc39d1d-c030-11d0-b81b-00c04fc9b31f),
- pointer_default(unique)
+ 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
- {
+ typedef struct tagRFC1766INFO
+ {
LCID lcid;
WCHAR wszRfc1766[MAX_RFC1766_NAME];
WCHAR wszLocaleName[MAX_LOCALE_NAME];
- } RFC1766INFO, *PRFC1766INFO;
+ } RFC1766INFO, *PRFC1766INFO;
HRESULT Clone(
[out] IEnumRfc1766 **ppEnum);
}
[
- object,
- uuid(275c23e1-3747-11d0-9fea-00aa003f8646),
- pointer_default(unique)
+ object,
+ uuid(275c23e1-3747-11d0-9fea-00aa003f8646),
+ pointer_default(unique)
]
interface IMultiLanguage : IUnknown
{
}
[
- object,
+ object,
uuid(dccfc164-2b38-11d2-b7ec-00c04f8f5d9a),
pointer_default(unique)
]
interface IMultiLanguage2 : IUnknown
{
- typedef struct tagDetectEncodingInfo
- {
+ typedef struct tagDetectEncodingInfo
+ {
UINT nLangID;
UINT nCodePage;
INT nDocPercent;
INT nConfidence;
- } DetectEncodingInfo, *pDetectEncodingInfo;
+ } DetectEncodingInfo, *pDetectEncodingInfo;
HRESULT GetNumberOfCodePageInfo(
[out] UINT *pcCodePage);
HRESULT GetCodePageDescription(
[in] UINT uiCodePage,
[in] LCID lcid,
- [in,out] LPWSTR lpWideCharStr,
+ [in,out,size_is(cchWideChar)] LPWSTR lpWideCharStr,
[in] int cchWideChar);
HRESULT IsCodePageInstallable(
}
[
- object,
- uuid(4e5868ab-b157-4623-9acc-6a1d9caebe04),
- pointer_default(unique)
+ object,
+ uuid(4e5868ab-b157-4623-9acc-6a1d9caebe04),
+ pointer_default(unique)
]
interface IMultiLanguage3 : IMultiLanguage2
{
- typedef [unique] IMultiLanguage3 *LPMULTILANGUAGE3;
- HRESULT DetectOutboundCodePage(
+ typedef [unique] IMultiLanguage3 *LPMULTILANGUAGE3;
+ HRESULT DetectOutboundCodePage(
[in] DWORD dwFlags,
[in] LPCWSTR lpWideCharStr,
[in] UINT cchWideChar,
[in, out] UINT *pnDetectedCodePages,
[in] WCHAR *lpSpecialChar);
- HRESULT DetectOutboundCodePageInIStream(
+ HRESULT DetectOutboundCodePageInIStream(
[in] DWORD dwFlags,
[in] IStream *pStrIn,
[in] UINT *puiPreferredCodePages,
]
coclass CMultiLanguage
{
- [default] interface IMultiLanguage;
- interface IMLangCodePages;
- interface IMLangFontLink;
+ [default] interface IMultiLanguage;
+ interface IMLangCodePages;
+ interface IMLangFontLink;
/* interface IMLangLineBreakConsole; */
- interface IMLangFontLink2;
-}
+ interface IMLangFontLink2;
+};
+
+} // library MultiLanguage
cpp_quote("STDAPI LcidToRfc1766A(LCID, LPSTR, INT);")
cpp_quote("STDAPI LcidToRfc1766W(LCID, LPWSTR, INT);")