⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mlang.idl

📁 c语言编程软件vc6.0中文绿色版_vc6.0官方下载
💻 IDL
📖 第 1 页 / 共 2 页
字号:
//+-------------------------------------------------------------------------
//
//  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
        );
    };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -