📄 oleidl.idl
字号:
//+-------------------------------------------------------------------------
//
// 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 + -