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

📄 oleidl.idl

📁 本源码是vc环境下的usb程序
💻 IDL
📖 第 1 页 / 共 2 页
字号:
//+-------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (c) Microsoft Corporation. All rights reserved.
//
//  File: oadvhr.idl
//
//--------------------------------------------------------------------------

cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("//  Microsoft Windows")
cpp_quote("//  Copyright (c) Microsoft Corporation. All rights reserved.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("#if ( _MSC_VER >= 1020 )")
cpp_quote("#pragma once")
cpp_quote("#endif")

#ifndef DO_NO_IMPORTS
import "objidl.idl";
#endif

interface IOleInPlaceActiveObject;
interface IEnumOLEVERB;

[
    local,
    object,
    uuid(00000111-0000-0000-C000-000000000046)
]

interface IOleAdviseHolder : IUnknown
{

    typedef [unique] IOleAdviseHolder * LPOLEADVISEHOLDER;

    HRESULT Advise
    (
        [in, unique] IAdviseSink *pAdvise,
        [out] DWORD *pdwConnection
    );

    HRESULT Unadvise
    (
        [in] DWORD dwConnection
    );

    HRESULT EnumAdvise
    (
        [out] IEnumSTATDATA **ppenumAdvise
    );

    HRESULT SendOnRename
    (
        [in, unique] IMoniker *pmk
    );

    HRESULT SendOnSave
    (
        void
    );

    HRESULT SendOnClose
    (
        void
    );

}

[
    object,
    uuid(0000011e-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleCache : IUnknown
{

    typedef [unique] IOleCache *LPOLECACHE;

    HRESULT Cache
    (
        [in, unique] FORMATETC *pformatetc,
        [in] DWORD advf,
        [out] DWORD *pdwConnection
    );

    HRESULT Uncache
    (
        [in] DWORD dwConnection
    );

    HRESULT EnumCache
    (
        [out] IEnumSTATDATA **ppenumSTATDATA
    );

    HRESULT InitCache
    (
        [in, unique] IDataObject *pDataObject
    );

    HRESULT SetData
    (
        [in, unique] FORMATETC *pformatetc,
        [in, unique] STGMEDIUM *pmedium,
        [in] BOOL fRelease
    );

}

[
    object,
    uuid(00000128-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleCache2 : IOleCache
{

    typedef [unique] IOleCache2 *LPOLECACHE2;


    // Cache update Flags

    const DWORD UPDFCACHE_NODATACACHE   =       0x00000001;
    const DWORD UPDFCACHE_ONSAVECACHE   =       0x00000002;
    const DWORD UPDFCACHE_ONSTOPCACHE   =       0x00000004;
    const DWORD UPDFCACHE_NORMALCACHE   =       0x00000008;
    const DWORD UPDFCACHE_IFBLANK       =       0x00000010;
    const DWORD UPDFCACHE_ONLYIFBLANK   =       0x80000000;

    const DWORD UPDFCACHE_IFBLANKORONSAVECACHE  =
                    (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE);
    const DWORD UPDFCACHE_ALL                   =
                    ((DWORD)(~(UPDFCACHE_ONLYIFBLANK)));
    const DWORD UPDFCACHE_ALLBUTNODATACACHE     =
                    (UPDFCACHE_ALL & ((DWORD)(~UPDFCACHE_NODATACACHE)));


    // IOleCache2::DiscardCache options
    typedef [v1_enum] enum tagDISCARDCACHE
    {
        DISCARDCACHE_SAVEIFDIRTY =  0,  // Save all dirty cache before discarding
        DISCARDCACHE_NOSAVE      =  1   // Don't save dirty caches before
                                    // discarding
    } DISCARDCACHE;


    [local]
    HRESULT UpdateCache
    (
        [in] LPDATAOBJECT pDataObject,
        [in] DWORD grfUpdf,
        [in] LPVOID pReserved
    );

    [call_as(UpdateCache)]
    HRESULT RemoteUpdateCache
    (
        [in] LPDATAOBJECT pDataObject,
        [in] DWORD grfUpdf,
        [in] LONG_PTR pReserved
    );


    HRESULT DiscardCache
    (
        [in] DWORD dwDiscardOptions
    );

}

[
    object,
    uuid(00000129-0000-0000-C000-000000000046)
]

interface IOleCacheControl : IUnknown
{

    typedef [unique] IOleCacheControl *LPOLECACHECONTROL;


    HRESULT OnRun
    (
        LPDATAOBJECT pDataObject
    );

    HRESULT OnStop (void);


}

[
    object,
    uuid(0000011a-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IParseDisplayName : IUnknown
{

    typedef [unique] IParseDisplayName *LPPARSEDISPLAYNAME;

    HRESULT ParseDisplayName
    (
        [in, unique] IBindCtx *pbc,
        [in] LPOLESTR pszDisplayName,
        [out] ULONG *pchEaten,
        [out] IMoniker **ppmkOut
    );

}

[
    object,
    uuid(0000011b-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleContainer : IParseDisplayName
{

    typedef [unique] IOleContainer *LPOLECONTAINER;

    HRESULT EnumObjects
    (
        [in] DWORD grfFlags,
        [out] IEnumUnknown **ppenum
    );

    HRESULT LockContainer
    (
        [in] BOOL fLock
    );
}

[
    object,
    uuid(00000118-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleClientSite : IUnknown
{

    typedef [unique] IOleClientSite * LPOLECLIENTSITE;

    HRESULT SaveObject
    (
        void
    );

    HRESULT GetMoniker
    (
        [in] DWORD dwAssign,
        [in] DWORD dwWhichMoniker,
        [out] IMoniker **ppmk
    );

    HRESULT GetContainer
    (
        [out] IOleContainer **ppContainer
    );

    HRESULT ShowObject
    (
        void
    );

    HRESULT OnShowWindow
    (
        [in] BOOL fShow
    );

    HRESULT RequestNewObjectLayout
    (
        void
    );

}

[
    object,
    uuid(00000112-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleObject : IUnknown
{

    typedef [unique] IOleObject *LPOLEOBJECT;

    typedef enum tagOLEGETMONIKER
    {
        OLEGETMONIKER_ONLYIFTHERE = 1,
        OLEGETMONIKER_FORCEASSIGN = 2,
        OLEGETMONIKER_UNASSIGN    = 3,
        OLEGETMONIKER_TEMPFORUSER = 4
    } OLEGETMONIKER;

    typedef enum tagOLEWHICHMK
    {
        OLEWHICHMK_CONTAINER = 1,
        OLEWHICHMK_OBJREL    = 2,
        OLEWHICHMK_OBJFULL   = 3
    } OLEWHICHMK;

    typedef enum tagUSERCLASSTYPE
    {
        USERCLASSTYPE_FULL    = 1,
        USERCLASSTYPE_SHORT   = 2,
        USERCLASSTYPE_APPNAME = 3,
    } USERCLASSTYPE;

    typedef enum tagOLEMISC
    {
        OLEMISC_RECOMPOSEONRESIZE           = 0x00000001,
        OLEMISC_ONLYICONIC                  = 0x00000002,
        OLEMISC_INSERTNOTREPLACE            = 0x00000004,
        OLEMISC_STATIC                      = 0x00000008,
        OLEMISC_CANTLINKINSIDE              = 0x00000010,
        OLEMISC_CANLINKBYOLE1               = 0x00000020,
        OLEMISC_ISLINKOBJECT                = 0x00000040,
        OLEMISC_INSIDEOUT                   = 0x00000080,
        OLEMISC_ACTIVATEWHENVISIBLE         = 0x00000100,
        OLEMISC_RENDERINGISDEVICEINDEPENDENT= 0x00000200,
        OLEMISC_INVISIBLEATRUNTIME          = 0x00000400,
        OLEMISC_ALWAYSRUN                   = 0x00000800,
        OLEMISC_ACTSLIKEBUTTON              = 0x00001000,
        OLEMISC_ACTSLIKELABEL               = 0x00002000,
        OLEMISC_NOUIACTIVATE                = 0x00004000,
        OLEMISC_ALIGNABLE                   = 0x00008000,
        OLEMISC_SIMPLEFRAME                 = 0x00010000,
        OLEMISC_SETCLIENTSITEFIRST          = 0x00020000,
        OLEMISC_IMEMODE                     = 0x00040000,
        OLEMISC_IGNOREACTIVATEWHENVISIBLE   = 0x00080000,
        OLEMISC_WANTSTOMENUMERGE            = 0x00100000,
        OLEMISC_SUPPORTSMULTILEVELUNDO      = 0x00200000
    } OLEMISC;

    typedef enum tagOLECLOSE
    {
        OLECLOSE_SAVEIFDIRTY = 0,
        OLECLOSE_NOSAVE      = 1,
        OLECLOSE_PROMPTSAVE  = 2
    } OLECLOSE;

//IOleObject methods

    HRESULT SetClientSite
    (
        [in, unique] IOleClientSite *pClientSite
    );

    HRESULT GetClientSite
    (
        [out] IOleClientSite **ppClientSite
    );

    HRESULT SetHostNames
    (
        [in] LPCOLESTR szContainerApp,
        [in, unique] LPCOLESTR szContainerObj
    );

    HRESULT Close
    (
        [in] DWORD dwSaveOption
    );

    HRESULT SetMoniker
    (
        [in] DWORD dwWhichMoniker,
        [in, unique] IMoniker *pmk
    );

    HRESULT GetMoniker
    (
        [in] DWORD dwAssign,
        [in] DWORD dwWhichMoniker,
        [out] IMoniker **ppmk
    );

    HRESULT InitFromData
    (
        [in, unique] IDataObject *pDataObject,
        [in] BOOL fCreation,
        [in] DWORD dwReserved
    );

    HRESULT GetClipboardData
    (
        [in] DWORD dwReserved,
        [out] IDataObject **ppDataObject
    );

    HRESULT DoVerb
    (
        [in] LONG iVerb,
        [in, unique] LPMSG lpmsg,
        [in, unique] IOleClientSite *pActiveSite,
        [in] LONG lindex,
        [in] HWND hwndParent,
        [in, unique] LPCRECT lprcPosRect
    );

    HRESULT EnumVerbs
    (
        [out] IEnumOLEVERB **ppEnumOleVerb
    );

    HRESULT Update
    (
        void
    );

    HRESULT IsUpToDate
    (
        void
    );

    HRESULT GetUserClassID
    (
        [out] CLSID *pClsid
    );

    HRESULT GetUserType
    (
        [in] DWORD dwFormOfType,
        [out] LPOLESTR *pszUserType
    );

    HRESULT SetExtent
    (
        [in] DWORD dwDrawAspect,
        [in] SIZEL *psizel
    );

    HRESULT GetExtent
    (
        [in] DWORD dwDrawAspect,
        [out] SIZEL *psizel
    );

    HRESULT Advise
    (
        [in, unique] IAdviseSink *pAdvSink,
        [out] DWORD *pdwConnection
    );

    HRESULT Unadvise
    (
        [in] DWORD dwConnection
    );

    HRESULT EnumAdvise
    (
        [out] IEnumSTATDATA **ppenumAdvise
    );

    HRESULT GetMiscStatus
    (
        [in] DWORD dwAspect,
        [out] DWORD *pdwStatus
    );

    HRESULT SetColorScheme
    (
        [in] LOGPALETTE *pLogpal
    );
}

[uuid(B0916C84-7416-101A-BCEA-08002B2B79EF)]
interface IOLETypes
{

    /****** OLE value types ***********************************************/

    /* rendering options */
    typedef enum tagOLERENDER
    {
        OLERENDER_NONE   = 0,
        OLERENDER_DRAW   = 1,
        OLERENDER_FORMAT = 2,
        OLERENDER_ASIS   = 3
    } OLERENDER;
    typedef  OLERENDER * LPOLERENDER;



    /****** Clipboard Data structures *****************************************/

    typedef struct tagOBJECTDESCRIPTOR
    {
       ULONG    cbSize;              // Size of structure in bytes
       CLSID    clsid;               // CLSID of data being transferred
       DWORD    dwDrawAspect;        // Display aspect of the object
                                     //     normally DVASPECT_CONTENT or ICON.
                                     //     dwDrawAspect will be 0 (which is NOT
                                     //     DVASPECT_CONTENT) if the copier or
                                     //     dragsource didn't draw the object to
                                     //     begin with.
       SIZEL    sizel;               // size of the object in HIMETRIC
                                     //    sizel is opt.: will be (0,0) for apps
                                     //    which don't draw the object being
                                     //    transferred
       POINTL   pointl;              // Offset in HIMETRIC units from the
                                     //    upper-left corner of the obj where the
                                     //    mouse went down for the drag.
                                     //    NOTE: y coordinates increase downward.
                                     //          x coordinates increase to right
                                     //    pointl is opt.; it is only meaningful
                                     //    if object is transfered via drag/drop.
                                     //    (0, 0) if mouse position is unspecified
                                     //    (eg. when obj transfered via clipboard)
       DWORD    dwStatus;            // Misc. status flags for object. Flags are
                                     //    defined by OLEMISC enum. these flags
                                     //    are as would be returned
                                     //    by IOleObject::GetMiscStatus.
       DWORD    dwFullUserTypeName;  // Offset from beginning of structure to
                                     //    null-terminated string that specifies
                                     //    Full User Type Name of the object.
                                     //    0 indicates string not present.
       DWORD    dwSrcOfCopy;         // Offset from beginning of structure to
                                     //    null-terminated string that specifies
                                     //    source of the transfer.
                                     //    dwSrcOfCOpy is normally implemented as
                                     //    the display name of the temp-for-user
                                     //    moniker which identifies the source of
                                     //    the data.
                                     //    0 indicates string not present.
                                     //    NOTE: moniker assignment is NOT forced.
                                     //    see IOleObject::GetMoniker(
                                     //                OLEGETMONIKER_TEMPFORUSER)

     /* variable sized string data may appear here */

    } OBJECTDESCRIPTOR,  *POBJECTDESCRIPTOR,   *LPOBJECTDESCRIPTOR,
      LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR,  *LPLINKSRCDESCRIPTOR;




}

[
    object,
    uuid(00000114-0000-0000-C000-000000000046),
    pointer_default(unique)
]

interface IOleWindow : IUnknown
{

    typedef [unique] IOleWindow *LPOLEWINDOW;

    [input_sync]
    HRESULT GetWindow
    (
        [out] HWND *phwnd
    );

    HRESULT ContextSensitiveHelp
    (
        [in] BOOL fEnterMode
    );
}

[
    object,
    uuid(0000011d-0000-0000-C000-000000000046)
]

interface IOleLink : IUnknown
{

    typedef [unique] IOleLink *LPOLELINK;

    /* Link update options */
    typedef enum tagOLEUPDATE
    {
        OLEUPDATE_ALWAYS=1,
        OLEUPDATE_ONCALL=3
    } OLEUPDATE;
    typedef OLEUPDATE *LPOLEUPDATE;


    typedef  OLEUPDATE *POLEUPDATE;

    // for IOleLink::BindToSource
    typedef enum tagOLELINKBIND
    {
        OLELINKBIND_EVENIFCLASSDIFF = 1,
    } OLELINKBIND;

    HRESULT SetUpdateOptions
    (
        [in] DWORD dwUpdateOpt
    );

    HRESULT GetUpdateOptions
    (
        [out] DWORD *pdwUpdateOpt
    );

    HRESULT SetSourceMoniker
    (
        [in, unique] IMoniker *pmk,
        [in] REFCLSID rclsid
    );

    HRESULT GetSourceMoniker
    (
        [out] IMoniker **ppmk
    );

    HRESULT SetSourceDisplayName
    (
        [in]LPCOLESTR pszStatusText
    );

    HRESULT GetSourceDisplayName
    (
        [out] LPOLESTR *ppszDisplayName

⌨️ 快捷键说明

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