?? mlang.idl
字號:
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright 1992 - 1998 Microsoft Corporation.
//
// File: mlang.idl
//
// Contents: IMultiLanguage interface definition
//
//
//--------------------------------------------------------------------------
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// MLang.h ")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved. ")
cpp_quote("// ")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF ")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A ")
cpp_quote("// PARTICULAR PURPOSE. ")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote(" ")
cpp_quote("#pragma comment(lib,\"uuid.lib\") ")
cpp_quote(" ")
cpp_quote("//----------------------------------------------------------------------------")
cpp_quote("// IMultiLanguage Interfaces. ")
cpp_quote(" ")
#ifndef DO_NO_IMPORTS
import "unknwn.idl";
#endif
[
uuid(275c23e0-3747-11d0-9fea-00aa003f8646),
helpstring("MultiLanguage Object Model"),
lcid(0x0000),
version(0.2)
]
library MultiLanguage
{
importlib("stdole2.tlb");
typedef enum tagMLSTR_FLAGS
{
MLSTR_READ = 1,
MLSTR_WRITE = 2
} MLSTR_FLAGS;
[
uuid(D24ACD21-BA72-11D0-B188-00AA0038C969),
helpstring("IMLangStringBufW Interface"),
pointer_default(unique)
]
interface IMLangStringBufW : IUnknown
{
[helpstring("method GetStatus")] HRESULT GetStatus([out] long* plFlags, [out] long* pcchBuf);
[helpstring("method LockBuf")] HRESULT LockBuf([in] long cchOffset, [in] long cchMaxLock, [out, size_is(,*pcchBuf)] WCHAR** ppszBuf, [out] long* pcchBuf);
[helpstring("method UnlockBuf")] HRESULT UnlockBuf([in, size_is(cchWrite - cchOffset)] const WCHAR* pszBuf, [in] long cchOffset, [in] long cchWrite);
[helpstring("method Insert")] HRESULT Insert([in] long cchOffset, [in] long cchMaxInsert, [out] long* pcchActual);
[helpstring("method Delete")] HRESULT Delete([in] long cchOffset, [in] long cchDelete);
};
[
uuid(D24ACD23-BA72-11D0-B188-00AA0038C969),
helpstring("IMLangStringBufA Interface"),
pointer_default(unique)
]
interface IMLangStringBufA : IUnknown
{
[helpstring("method GetStatus")] HRESULT GetStatus([out] long* plFlags, [out] long* pcchBuf);
[helpstring("method LockBuf")] HRESULT LockBuf([in] long cchOffset, [in] long cchMaxLock, [out, size_is(,*pcchBuf)] CHAR** ppszBuf, [out] long* pcchBuf);
[helpstring("method UnlockBuf")] HRESULT UnlockBuf([in, size_is(cchWrite - cchOffset)] const CHAR* pszBuf, [in] long cchOffset, [in] long cchWrite);
[helpstring("method Insert")] HRESULT Insert([in] long cchOffset, [in] long cchMaxInsert, [out] long* pcchActual);
[helpstring("method Delete")] HRESULT Delete([in] long cchOffset, [in] long cchDelete);
};
[
uuid(C04D65CE-B70D-11D0-B188-00AA0038C969),
helpstring("IMLangString Interface"),
pointer_default(unique)
]
interface IMLangString : IUnknown
{
[helpstring("method Sync")] HRESULT Sync([in] BOOL fNoAccess);
[helpstring("method GetLength")] HRESULT GetLength([out, retval] long* plLen);
[helpstring("method SetMLStr")] HRESULT SetMLStr([in] long lDestPos, [in] long lDestLen, [in] IUnknown* pSrcMLStr, [in] long lSrcPos, [in] long lSrcLen);
[helpstring("method GetMLStr")] 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);
};
[
uuid(C04D65D0-B70D-11D0-B188-00AA0038C969),
helpstring("IMLangStringWStr Interface"),
pointer_default(unique)
]
interface IMLangStringWStr : IMLangString
{
[helpstring("method SetWStr")] HRESULT SetWStr([in] long lDestPos, [in] long lDestLen, [in, size_is(cchSrc)] const WCHAR* pszSrc, [in] long cchSrc, [out] long* pcchActual, [out] long* plActualLen);
[helpstring("method SetStrBufW")] HRESULT SetStrBufW([in] long lDestPos, [in] long lDestLen, [in] IMLangStringBufW* pSrcBuf, [out] long* pcchActual, [out] long* plActualLen);
[helpstring("method GetWStr")] HRESULT GetWStr([in] long lSrcPos, [in] long lSrcLen, [out, size_is(cchDest)] WCHAR* pszDest, [in] long cchDest, [out] long* pcchActual, [out] long* plActualLen);
[helpstring("method GetStrBufW")] HRESULT GetStrBufW([in] long lSrcPos, [in] long lSrcMaxLen, [out] IMLangStringBufW** ppDestBuf, [out] long* plDestLen);
[helpstring("method LockWStr")] HRESULT LockWStr([in] long lSrcPos, [in] long lSrcLen, [in] long lFlags, [in] long cchRequest, [out, size_is(,*pcchDest)] WCHAR** ppszDest, [out] long* pcchDest, [out] long* plDestLen);
[helpstring("method UnlockWStr")] HRESULT UnlockWStr([in, size_is(cchSrc)] const WCHAR* pszSrc, [in] long cchSrc, [out] long* pcchActual, [out] long* plActualLen);
[helpstring("method SetLocale")] HRESULT SetLocale([in] long lDestPos, [in] long lDestLen, [in] LCID locale);
[helpstring("method GetLocale")] HRESULT GetLocale([in] long lSrcPos, [in] long lSrcMaxLen, [out] LCID* plocale, [out] long* plLocalePos, [out] long* plLocaleLen);
};
[
uuid(C04D65D2-B70D-11D0-B188-00AA0038C969),
helpstring("IMLangStringAStr Interface"),
pointer_default(unique)
]
interface IMLangStringAStr : IMLangString
{
[helpstring("method SetAStr")] HRESULT SetAStr([in] long lDestPos, [in] long lDestLen, [in] UINT uCodePage, [in, size_is(cchSrc)] const CHAR* pszSrc, [in] long cchSrc, [out] long* pcchActual, [out] long* plActualLen);
[helpstring("method SetStrBufA")] HRESULT SetStrBufA([in] long lDestPos, [in] long lDestLen, [in] UINT uCodePage, [in] IMLangStringBufA* pSrcBuf, [out] long* pcchActual, [out] long* plActualLen);
[helpstring("method GetAStr")] HRESULT GetAStr([in] long lSrcPos, [in] long lSrcLen, [in] UINT uCodePageIn, [out] UINT* puCodePageOut, [out, size_is(cchDest)] CHAR* pszDest, [in] long cchDest, [out] long* pcchActual, [out] long* plActualLen);
[helpstring("method GetStrBufA")] HRESULT GetStrBufA([in] long lSrcPos, [in] long lSrcMaxLen, [out] UINT* puDestCodePage, [out] IMLangStringBufA** ppDestBuf, [out] long* plDestLen);
[helpstring("method LockAStr")] HRESULT LockAStr([in] long lSrcPos, [in] long lSrcLen, [in] long lFlags, [in] UINT uCodePageIn, [in] long cchRequest, [out] UINT* puCodePageOut, [out, size_is(,*pcchDest)] CHAR** ppszDest, [out] long* pcchDest,
[out] long* plDestLen);
[helpstring("method UnlockAStr")] HRESULT UnlockAStr([in, size_is(cchSrc)] const CHAR* pszSrc, [in] long cchSrc, [out] long* pcchActual, [out] long* plActualLen);
[helpstring("method SetLocale")] HRESULT SetLocale([in] long lDestPos, [in] long lDestLen, [in] LCID locale);
[helpstring("method GetLocale")] HRESULT GetLocale([in] long lSrcPos, [in] long lSrcMaxLen, [out] LCID* plocale, [out] long* plLocalePos, [out] long* plLocaleLen);
};
[
uuid(C04D65CF-B70D-11D0-B188-00AA0038C969),
helpstring("MLangString Class")
]
coclass CMLangString
{
[default] interface IMLangString;
interface IMLangStringWStr;
interface IMLangStringAStr;
};
[
uuid(F5BE2EE1-BFD7-11D0-B188-00AA0038C969),
helpstring("IMLangLineBreakConsole Interface"),
pointer_default(unique)
]
interface IMLangLineBreakConsole : IUnknown
{
[helpstring("method BreakLineML")] HRESULT BreakLineML([in] IMLangString* pSrcMLStr, [in] long lSrcPos, [in] long lSrcLen, [in] long cMinColumns, [in] long cMaxColumns, [out] long* plLineLen, [out] long* plSkipLen);
[helpstring("method BreakLineW")] HRESULT BreakLineW([in] LCID locale, [in, size_is(cchSrc)] const WCHAR* pszSrc, [in] long cchSrc, [in] long cMaxColumns, [out] long* pcchLine, [out] long* pcchSkip);
[helpstring("method BreakLineA")] 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;
const USHORT MAX_MIMEFACE_NAME = 32;
typedef enum tagMIMECONTF
{
MIMECONTF_MAILNEWS = 0x00000001,
MIMECONTF_BROWSER = 0x00000002,
MIMECONTF_MINIMAL = 0x00000004,
MIMECONTF_SAVABLE_MAILNEWS = 0x00000100,
MIMECONTF_SAVABLE_BROWSER = 0x00000200,
MIMECONTF_PRIVCONVERTER = 0x00010000,
MIMECONTF_VALID = 0x00020000
} 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;
typedef [unique] IEnumCodePage *LPENUMCODEPAGE;
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(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;
typedef [unique] IEnumRfc1766 *LPENUMRFC1766;
HRESULT Clone
(
[out] IEnumRfc1766 **ppEnum
);
HRESULT Next
(
[in] ULONG celt,
[out] PRFC1766INFO rgelt,
[out] ULONG *pceltFetched
);
HRESULT Reset();
HRESULT Skip
(
[in] ULONG celt
);
};
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -