1252 lines
26 KiB
Plaintext
1252 lines
26 KiB
Plaintext
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// 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
|
||
|
);
|
||
|
|
||
|
HRESULT BindToSource
|
||
|
(
|
||
|
[in] DWORD bindflags,
|
||
|
[in, unique] IBindCtx *pbc
|
||
|
);
|
||
|
|
||
|
HRESULT BindIfRunning
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT GetBoundSource
|
||
|
(
|
||
|
[out] IUnknown **ppunk
|
||
|
);
|
||
|
|
||
|
HRESULT UnbindSource
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT Update
|
||
|
(
|
||
|
[in, unique] IBindCtx *pbc
|
||
|
);
|
||
|
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(0000011c-0000-0000-C000-000000000046),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface IOleItemContainer : IOleContainer
|
||
|
{
|
||
|
|
||
|
typedef [unique] IOleItemContainer *LPOLEITEMCONTAINER;
|
||
|
|
||
|
typedef enum tagBINDSPEED
|
||
|
{
|
||
|
BINDSPEED_INDEFINITE = 1,
|
||
|
BINDSPEED_MODERATE = 2,
|
||
|
BINDSPEED_IMMEDIATE = 3
|
||
|
} BINDSPEED;
|
||
|
|
||
|
typedef [v1_enum] enum tagOLECONTF
|
||
|
{
|
||
|
OLECONTF_EMBEDDINGS = 1,
|
||
|
OLECONTF_LINKS = 2,
|
||
|
OLECONTF_OTHERS = 4,
|
||
|
OLECONTF_ONLYUSER = 8,
|
||
|
OLECONTF_ONLYIFRUNNING = 16
|
||
|
} OLECONTF;
|
||
|
|
||
|
HRESULT GetObject(
|
||
|
[in] LPOLESTR pszItem,
|
||
|
[in] DWORD dwSpeedNeeded,
|
||
|
[in, unique] IBindCtx *pbc,
|
||
|
[in] REFIID riid,
|
||
|
[out, iid_is(riid)] void **ppvObject);
|
||
|
|
||
|
HRESULT GetObjectStorage(
|
||
|
[in] LPOLESTR pszItem,
|
||
|
[in, unique] IBindCtx *pbc,
|
||
|
[in] REFIID riid,
|
||
|
[out, iid_is(riid)] void **ppvStorage);
|
||
|
|
||
|
HRESULT IsRunning(
|
||
|
[in] LPOLESTR pszItem);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(00000115-0000-0000-C000-000000000046),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface IOleInPlaceUIWindow : IOleWindow
|
||
|
{
|
||
|
|
||
|
typedef [unique] IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
|
||
|
|
||
|
typedef RECT BORDERWIDTHS;
|
||
|
|
||
|
typedef LPRECT LPBORDERWIDTHS;
|
||
|
|
||
|
typedef LPCRECT LPCBORDERWIDTHS;
|
||
|
|
||
|
|
||
|
[input_sync]
|
||
|
HRESULT GetBorder
|
||
|
(
|
||
|
[out] LPRECT lprectBorder
|
||
|
);
|
||
|
|
||
|
[input_sync]
|
||
|
HRESULT RequestBorderSpace
|
||
|
(
|
||
|
[in, unique] LPCBORDERWIDTHS pborderwidths
|
||
|
);
|
||
|
|
||
|
[input_sync]
|
||
|
HRESULT SetBorderSpace
|
||
|
(
|
||
|
[in, unique] LPCBORDERWIDTHS pborderwidths
|
||
|
);
|
||
|
|
||
|
HRESULT SetActiveObject
|
||
|
(
|
||
|
[in, unique] IOleInPlaceActiveObject *pActiveObject,
|
||
|
[in, string, unique] LPCOLESTR pszObjName
|
||
|
);
|
||
|
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(00000117-0000-0000-C000-000000000046)
|
||
|
]
|
||
|
|
||
|
interface IOleInPlaceActiveObject : IOleWindow
|
||
|
{
|
||
|
|
||
|
typedef [unique] IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
|
||
|
|
||
|
[local]
|
||
|
HRESULT TranslateAccelerator
|
||
|
(
|
||
|
[in] LPMSG lpmsg
|
||
|
);
|
||
|
|
||
|
[call_as(TranslateAccelerator)]
|
||
|
HRESULT RemoteTranslateAccelerator();
|
||
|
|
||
|
[input_sync]
|
||
|
HRESULT OnFrameWindowActivate
|
||
|
(
|
||
|
[in] BOOL fActivate
|
||
|
);
|
||
|
|
||
|
[input_sync]
|
||
|
HRESULT OnDocWindowActivate
|
||
|
(
|
||
|
[in] BOOL fActivate
|
||
|
);
|
||
|
|
||
|
[local]
|
||
|
HRESULT ResizeBorder
|
||
|
(
|
||
|
[in] LPCRECT prcBorder,
|
||
|
[in, unique] IOleInPlaceUIWindow *pUIWindow,
|
||
|
[in] BOOL fFrameWindow
|
||
|
);
|
||
|
|
||
|
[call_as(ResizeBorder), input_sync]
|
||
|
HRESULT RemoteResizeBorder
|
||
|
(
|
||
|
[in] LPCRECT prcBorder,
|
||
|
[in] REFIID riid,
|
||
|
[in, unique, iid_is(riid)] IOleInPlaceUIWindow *pUIWindow,
|
||
|
[in] BOOL fFrameWindow
|
||
|
);
|
||
|
|
||
|
HRESULT EnableModeless
|
||
|
(
|
||
|
[in] BOOL fEnable
|
||
|
);
|
||
|
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(00000116-0000-0000-C000-000000000046),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface IOleInPlaceFrame : IOleInPlaceUIWindow
|
||
|
{
|
||
|
|
||
|
typedef [unique] IOleInPlaceFrame *LPOLEINPLACEFRAME;
|
||
|
|
||
|
|
||
|
typedef struct tagOIFI // OleInPlaceFrameInfo
|
||
|
{
|
||
|
UINT cb;
|
||
|
BOOL fMDIApp;
|
||
|
HWND hwndFrame;
|
||
|
HACCEL haccel;
|
||
|
UINT cAccelEntries;
|
||
|
} OLEINPLACEFRAMEINFO, * LPOLEINPLACEFRAMEINFO;
|
||
|
|
||
|
|
||
|
typedef struct tagOleMenuGroupWidths
|
||
|
{
|
||
|
LONG width[6];
|
||
|
} OLEMENUGROUPWIDTHS, * LPOLEMENUGROUPWIDTHS;
|
||
|
|
||
|
typedef HGLOBAL HOLEMENU;
|
||
|
|
||
|
HRESULT InsertMenus
|
||
|
(
|
||
|
[in] HMENU hmenuShared,
|
||
|
[in,out] LPOLEMENUGROUPWIDTHS lpMenuWidths
|
||
|
);
|
||
|
|
||
|
[input_sync]
|
||
|
HRESULT SetMenu
|
||
|
(
|
||
|
[in] HMENU hmenuShared,
|
||
|
[in] HOLEMENU holemenu,
|
||
|
[in] HWND hwndActiveObject
|
||
|
);
|
||
|
|
||
|
HRESULT RemoveMenus
|
||
|
(
|
||
|
[in] HMENU hmenuShared
|
||
|
);
|
||
|
|
||
|
[input_sync]
|
||
|
HRESULT SetStatusText
|
||
|
(
|
||
|
[in, unique] LPCOLESTR pszStatusText
|
||
|
);
|
||
|
|
||
|
HRESULT EnableModeless
|
||
|
(
|
||
|
[in] BOOL fEnable
|
||
|
);
|
||
|
|
||
|
HRESULT TranslateAccelerator
|
||
|
(
|
||
|
[in] LPMSG lpmsg,
|
||
|
[in] WORD wID
|
||
|
);
|
||
|
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(00000113-0000-0000-C000-000000000046),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface IOleInPlaceObject : IOleWindow
|
||
|
{
|
||
|
|
||
|
typedef [unique] IOleInPlaceObject *LPOLEINPLACEOBJECT;
|
||
|
|
||
|
|
||
|
HRESULT InPlaceDeactivate
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT UIDeactivate
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
[input_sync]
|
||
|
HRESULT SetObjectRects
|
||
|
(
|
||
|
[in] LPCRECT lprcPosRect,
|
||
|
[in] LPCRECT lprcClipRect
|
||
|
);
|
||
|
|
||
|
HRESULT ReactivateAndUndo
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(00000119-0000-0000-C000-000000000046),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface IOleInPlaceSite : IOleWindow
|
||
|
{
|
||
|
|
||
|
typedef [unique] IOleInPlaceSite *LPOLEINPLACESITE;
|
||
|
|
||
|
HRESULT CanInPlaceActivate
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT OnInPlaceActivate
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT OnUIActivate
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT GetWindowContext
|
||
|
(
|
||
|
[out] IOleInPlaceFrame **ppFrame,
|
||
|
[out] IOleInPlaceUIWindow **ppDoc,
|
||
|
[out] LPRECT lprcPosRect,
|
||
|
[out] LPRECT lprcClipRect,
|
||
|
[in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo
|
||
|
);
|
||
|
|
||
|
HRESULT Scroll
|
||
|
(
|
||
|
[in] SIZE scrollExtant
|
||
|
);
|
||
|
|
||
|
HRESULT OnUIDeactivate
|
||
|
(
|
||
|
[in] BOOL fUndoable
|
||
|
);
|
||
|
|
||
|
HRESULT OnInPlaceDeactivate
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT DiscardUndoState
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT DeactivateAndUndo
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT OnPosRectChange
|
||
|
(
|
||
|
[in] LPCRECT lprcPosRect
|
||
|
);
|
||
|
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(0000012a-0000-0000-C000-000000000046)
|
||
|
]
|
||
|
|
||
|
interface IContinue : IUnknown
|
||
|
{
|
||
|
HRESULT FContinue();
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(0000010d-0000-0000-C000-000000000046)
|
||
|
]
|
||
|
|
||
|
interface IViewObject : IUnknown
|
||
|
{
|
||
|
|
||
|
typedef [unique] IViewObject *LPVIEWOBJECT;
|
||
|
|
||
|
[local]
|
||
|
HRESULT Draw
|
||
|
(
|
||
|
[in] DWORD dwDrawAspect,
|
||
|
[in] LONG lindex,
|
||
|
[in, unique] void * pvAspect,
|
||
|
[in, unique] DVTARGETDEVICE *ptd,
|
||
|
[in] HDC hdcTargetDev,
|
||
|
[in] HDC hdcDraw,
|
||
|
[in] LPCRECTL lprcBounds,
|
||
|
[in, unique] LPCRECTL lprcWBounds,
|
||
|
[in] BOOL (*pfnContinue)(ULONG_PTR dwContinue),
|
||
|
[in] ULONG_PTR dwContinue
|
||
|
);
|
||
|
|
||
|
[call_as(Draw)]
|
||
|
HRESULT RemoteDraw
|
||
|
(
|
||
|
[in] DWORD dwDrawAspect,
|
||
|
[in] LONG lindex,
|
||
|
[in] ULONG_PTR pvAspect,
|
||
|
[in, unique] DVTARGETDEVICE *ptd,
|
||
|
[in] ULONG_PTR hdcTargetDev,
|
||
|
[in] ULONG_PTR hdcDraw,
|
||
|
[in] LPCRECTL lprcBounds,
|
||
|
[in, unique] LPCRECTL lprcWBounds,
|
||
|
[in] IContinue *pContinue
|
||
|
);
|
||
|
|
||
|
[local]
|
||
|
HRESULT GetColorSet
|
||
|
(
|
||
|
[in] DWORD dwDrawAspect,
|
||
|
[in] LONG lindex,
|
||
|
[in, unique] void *pvAspect,
|
||
|
[in, unique] DVTARGETDEVICE *ptd,
|
||
|
[in] HDC hicTargetDev,
|
||
|
[out] LOGPALETTE **ppColorSet
|
||
|
);
|
||
|
|
||
|
[call_as(GetColorSet)]
|
||
|
HRESULT RemoteGetColorSet
|
||
|
(
|
||
|
[in] DWORD dwDrawAspect,
|
||
|
[in] LONG lindex,
|
||
|
[in] ULONG_PTR pvAspect,
|
||
|
[in, unique] DVTARGETDEVICE *ptd,
|
||
|
[in] ULONG_PTR hicTargetDev,
|
||
|
[out] LOGPALETTE **ppColorSet
|
||
|
);
|
||
|
|
||
|
[local]
|
||
|
HRESULT Freeze
|
||
|
(
|
||
|
[in] DWORD dwDrawAspect,
|
||
|
[in] LONG lindex,
|
||
|
[in, unique] void *pvAspect,
|
||
|
[out] DWORD *pdwFreeze
|
||
|
);
|
||
|
|
||
|
[call_as(Freeze)]
|
||
|
HRESULT RemoteFreeze
|
||
|
(
|
||
|
[in] DWORD dwDrawAspect,
|
||
|
[in] LONG lindex,
|
||
|
[in] ULONG_PTR pvAspect,
|
||
|
[out] DWORD *pdwFreeze
|
||
|
);
|
||
|
|
||
|
|
||
|
HRESULT Unfreeze
|
||
|
(
|
||
|
[in] DWORD dwFreeze
|
||
|
);
|
||
|
|
||
|
HRESULT SetAdvise
|
||
|
(
|
||
|
[in] DWORD aspects,
|
||
|
[in] DWORD advf,
|
||
|
[in, unique] IAdviseSink *pAdvSink
|
||
|
);
|
||
|
|
||
|
[local]
|
||
|
HRESULT GetAdvise
|
||
|
(
|
||
|
[out, unique] DWORD *pAspects,
|
||
|
[out, unique] DWORD *pAdvf,
|
||
|
[out] IAdviseSink **ppAdvSink
|
||
|
);
|
||
|
|
||
|
[call_as(GetAdvise)]
|
||
|
HRESULT RemoteGetAdvise
|
||
|
(
|
||
|
[out] DWORD *pAspects,
|
||
|
[out] DWORD *pAdvf,
|
||
|
[out] IAdviseSink **ppAdvSink
|
||
|
);
|
||
|
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(00000127-0000-0000-C000-000000000046)
|
||
|
]
|
||
|
|
||
|
interface IViewObject2 : IViewObject
|
||
|
{
|
||
|
|
||
|
typedef [unique] IViewObject2 *LPVIEWOBJECT2;
|
||
|
|
||
|
HRESULT GetExtent
|
||
|
(
|
||
|
[in] DWORD dwDrawAspect,
|
||
|
[in] LONG lindex,
|
||
|
[in, unique] DVTARGETDEVICE* ptd,
|
||
|
[out] LPSIZEL lpsizel
|
||
|
);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
[
|
||
|
local,
|
||
|
object,
|
||
|
uuid(00000121-0000-0000-C000-000000000046)
|
||
|
]
|
||
|
|
||
|
interface IDropSource : IUnknown
|
||
|
{
|
||
|
|
||
|
typedef [unique] IDropSource *LPDROPSOURCE;
|
||
|
|
||
|
HRESULT QueryContinueDrag
|
||
|
(
|
||
|
[in] BOOL fEscapePressed,
|
||
|
[in] DWORD grfKeyState
|
||
|
);
|
||
|
|
||
|
HRESULT GiveFeedback
|
||
|
(
|
||
|
[in] DWORD dwEffect
|
||
|
);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(00000122-0000-0000-C000-000000000046),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface IDropTarget : IUnknown
|
||
|
{
|
||
|
|
||
|
typedef [unique] IDropTarget *LPDROPTARGET;
|
||
|
|
||
|
|
||
|
const DWORD MK_ALT = 0x0020;
|
||
|
|
||
|
const DWORD DROPEFFECT_NONE = 0;
|
||
|
const DWORD DROPEFFECT_COPY = 1;
|
||
|
const DWORD DROPEFFECT_MOVE = 2;
|
||
|
const DWORD DROPEFFECT_LINK = 4;
|
||
|
const DWORD DROPEFFECT_SCROLL = 0x80000000;
|
||
|
|
||
|
cpp_quote("// default inset-width of the hot zone, in pixels")
|
||
|
cpp_quote("// typical use: GetProfileInt(\"windows\",\"DragScrollInset\",DD_DEFSCROLLINSET)")
|
||
|
const DWORD DD_DEFSCROLLINSET = 11;
|
||
|
|
||
|
cpp_quote("// default delay before scrolling, in milliseconds")
|
||
|
cpp_quote("// typical use: GetProfileInt(\"windows\",\"DragScrollDelay\",DD_DEFSCROLLDELAY)")
|
||
|
const DWORD DD_DEFSCROLLDELAY = 50;
|
||
|
|
||
|
cpp_quote("// default scroll interval, in milliseconds")
|
||
|
cpp_quote("// typical use: GetProfileInt(\"windows\",\"DragScrollInterval\", DD_DEFSCROLLINTERVAL)")
|
||
|
const DWORD DD_DEFSCROLLINTERVAL = 50;
|
||
|
|
||
|
cpp_quote("// default delay before dragging should start, in milliseconds")
|
||
|
cpp_quote("// typical use: GetProfileInt(\"windows\", \"DragDelay\", DD_DEFDRAGDELAY)")
|
||
|
const DWORD DD_DEFDRAGDELAY = 200;
|
||
|
|
||
|
cpp_quote("// default minimum distance (radius) before dragging should start, in pixels")
|
||
|
cpp_quote("// typical use: GetProfileInt(\"windows\", \"DragMinDist\", DD_DEFDRAGMINDIST)")
|
||
|
const DWORD DD_DEFDRAGMINDIST = 2;
|
||
|
|
||
|
|
||
|
HRESULT DragEnter
|
||
|
(
|
||
|
[in, unique] IDataObject *pDataObj,
|
||
|
[in] DWORD grfKeyState,
|
||
|
[in] POINTL pt,
|
||
|
[in, out] DWORD *pdwEffect
|
||
|
);
|
||
|
|
||
|
HRESULT DragOver
|
||
|
(
|
||
|
[in] DWORD grfKeyState,
|
||
|
[in] POINTL pt,
|
||
|
[in, out] DWORD *pdwEffect
|
||
|
);
|
||
|
|
||
|
HRESULT DragLeave
|
||
|
(
|
||
|
void
|
||
|
);
|
||
|
|
||
|
HRESULT Drop
|
||
|
(
|
||
|
[in, unique] IDataObject *pDataObj,
|
||
|
[in] DWORD grfKeyState,
|
||
|
[in] POINTL pt,
|
||
|
[in, out] DWORD *pdwEffect
|
||
|
);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(00000104-0000-0000-C000-000000000046),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
|
||
|
interface IEnumOLEVERB : IUnknown
|
||
|
{
|
||
|
|
||
|
typedef [unique] IEnumOLEVERB *LPENUMOLEVERB;
|
||
|
|
||
|
typedef struct tagOLEVERB {
|
||
|
LONG lVerb;
|
||
|
LPOLESTR lpszVerbName;
|
||
|
DWORD fuFlags;
|
||
|
DWORD grfAttribs;
|
||
|
} OLEVERB, * LPOLEVERB;
|
||
|
|
||
|
// Bitwise verb attributes used in OLEVERB.grfAttribs
|
||
|
typedef [v1_enum] enum tagOLEVERBATTRIB // bitwise
|
||
|
{
|
||
|
OLEVERBATTRIB_NEVERDIRTIES = 1,
|
||
|
OLEVERBATTRIB_ONCONTAINERMENU = 2
|
||
|
} OLEVERBATTRIB;
|
||
|
|
||
|
[local]
|
||
|
HRESULT Next(
|
||
|
[in] ULONG celt,
|
||
|
[out, size_is(celt), length_is(*pceltFetched)]
|
||
|
LPOLEVERB rgelt,
|
||
|
[out] ULONG *pceltFetched);
|
||
|
|
||
|
[call_as(Next)]
|
||
|
HRESULT RemoteNext(
|
||
|
[in] ULONG celt,
|
||
|
[out, size_is(celt), length_is(*pceltFetched)]
|
||
|
LPOLEVERB rgelt,
|
||
|
[out] ULONG *pceltFetched);
|
||
|
|
||
|
HRESULT Skip(
|
||
|
[in] ULONG celt);
|
||
|
|
||
|
HRESULT Reset();
|
||
|
|
||
|
HRESULT Clone(
|
||
|
[out] IEnumOLEVERB **ppenum);
|
||
|
}
|
||
|
|