952 lines
22 KiB
Plaintext
952 lines
22 KiB
Plaintext
/*
|
|
* Copyright (C) 1999 Paul Quinn
|
|
* Copyright (C) 1999 Francis Beaudet
|
|
* Copyright (C) 2003 Alexandre Julliard
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
import "objidl.idl";
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleTypes interface
|
|
*/
|
|
[
|
|
uuid(b0916c84-7416-101a-bcea-08002b2b79ef)
|
|
]
|
|
interface IOLETypes
|
|
{
|
|
typedef enum tagOLERENDER
|
|
{
|
|
OLERENDER_NONE = 0,
|
|
OLERENDER_DRAW = 1,
|
|
OLERENDER_FORMAT = 2,
|
|
OLERENDER_ASIS = 3
|
|
} OLERENDER, *LPOLERENDER;
|
|
|
|
typedef struct tagOBJECTDESCRIPTOR
|
|
{
|
|
ULONG cbSize;
|
|
CLSID clsid;
|
|
DWORD dwDrawAspect;
|
|
SIZEL sizel;
|
|
POINTL pointl;
|
|
DWORD dwStatus;
|
|
DWORD dwFullUserTypeName;
|
|
DWORD dwSrcOfCopy;
|
|
} OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR,
|
|
LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR;
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleWindow interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00000114-0000-0000-c000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleWindow : IUnknown
|
|
{
|
|
typedef [unique] IOleWindow *LPOLEWINDOW;
|
|
|
|
HRESULT GetWindow(
|
|
[out] HWND *phwnd);
|
|
|
|
HRESULT ContextSensitiveHelp(
|
|
[in] BOOL fEnterMode);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleInPlaceObject interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00000113-0000-0000-c000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleInPlaceObject : IOleWindow
|
|
{
|
|
typedef [unique] IOleInPlaceObject *LPOLEINPLACEOBJECT;
|
|
|
|
HRESULT InPlaceDeactivate();
|
|
|
|
HRESULT UIDeactivate();
|
|
|
|
HRESULT SetObjectRects(
|
|
[in] LPCRECT lprcPosRect,
|
|
[in] LPCRECT lprcClipRect);
|
|
|
|
HRESULT ReactivateAndUndo();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleInPlaceActiveObject interface
|
|
*/
|
|
interface IOleInPlaceUIWindow; /* forward declaration */
|
|
[
|
|
object,
|
|
uuid(00000117-0000-0000-c000-000000000046)
|
|
]
|
|
interface IOleInPlaceActiveObject : IOleWindow
|
|
{
|
|
typedef [unique] IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
|
|
|
|
cpp_quote("struct tagMSG;") /* FIXME */
|
|
|
|
[local]
|
|
HRESULT TranslateAccelerator(
|
|
[in] struct tagMSG *lpmsg);
|
|
|
|
[call_as(TranslateAccelerator)]
|
|
HRESULT RemoteTranslateAccelerator();
|
|
|
|
HRESULT OnFrameWindowActivate(
|
|
[in] BOOL fActivate);
|
|
|
|
HRESULT OnDocWindowActivate(
|
|
[in] BOOL fActivate);
|
|
|
|
[local]
|
|
HRESULT ResizeBorder(
|
|
[in] LPCRECT prcBorder,
|
|
[in, unique] IOleInPlaceUIWindow *pUIWindow,
|
|
[in] BOOL fFrameWindow);
|
|
|
|
[call_as(ResizeBorder)]
|
|
HRESULT RemoteResizeBorder(
|
|
[in] LPCRECT prcBorder,
|
|
[in] REFIID riid,
|
|
[in, unique, iid_is(riid)] IOleInPlaceUIWindow *pUIWindow,
|
|
[in] BOOL fFrameWindow);
|
|
|
|
HRESULT EnableModeless(
|
|
[in] BOOL fEnable);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleInPlaceUIWindow interface
|
|
*/
|
|
[
|
|
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;
|
|
|
|
HRESULT GetBorder(
|
|
[out] LPRECT lprectBorder);
|
|
|
|
HRESULT RequestBorderSpace(
|
|
[in, unique] LPCBORDERWIDTHS pborderwidths);
|
|
|
|
HRESULT SetBorderSpace(
|
|
[in, unique] LPCBORDERWIDTHS pborderwidths);
|
|
|
|
HRESULT SetActiveObject(
|
|
[in, unique] IOleInPlaceActiveObject *pActiveObject,
|
|
[in, string, unique] LPCOLESTR pszObjName);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleInPlaceFrame interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00000116-0000-0000-c000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleInPlaceFrame : IOleInPlaceUIWindow
|
|
{
|
|
typedef [unique] IOleInPlaceFrame *LPOLEINPLACEFRAME;
|
|
|
|
typedef struct tagOleInPlaceFrameInfo
|
|
{
|
|
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);
|
|
|
|
HRESULT SetMenu(
|
|
[in] HMENU hmenuShared,
|
|
[in] HOLEMENU holemenu,
|
|
[in] HWND hwndActiveObject);
|
|
|
|
HRESULT RemoveMenus(
|
|
[in] HMENU hmenuShared);
|
|
|
|
HRESULT SetStatusText(
|
|
[in, unique] LPCOLESTR pszStatusText);
|
|
|
|
HRESULT EnableModeless(
|
|
[in] BOOL fEnable);
|
|
|
|
HRESULT TranslateAccelerator(
|
|
[in] struct tagMSG *lpmsg,
|
|
[in] WORD wID);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleInPlaceSite interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00000119-0000-0000-c000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleInPlaceSite : IOleWindow
|
|
{
|
|
typedef [unique] IOleInPlaceSite *LPOLEINPLACESITE;
|
|
|
|
HRESULT CanInPlaceActivate();
|
|
HRESULT OnInPlaceActivate();
|
|
HRESULT OnUIActivate();
|
|
|
|
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();
|
|
HRESULT DiscardUndoState();
|
|
HRESULT DeactivateAndUndo();
|
|
|
|
HRESULT OnPosRectChange(
|
|
[in] LPCRECT lprcPosRect);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IParseDisplayName interface
|
|
*/
|
|
[
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleContainer interface
|
|
*/
|
|
[
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleItemContainer interface
|
|
*/
|
|
[
|
|
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 enum tagOLECONTF
|
|
{
|
|
OLECONTF_EMBEDDINGS = 1,
|
|
OLECONTF_LINKS = 2,
|
|
OLECONTF_OTHERS = 4,
|
|
OLECONTF_OLNYUSER = 8,
|
|
OLECONTF_ONLYIFRUNNING = 16
|
|
} OLECONTF;
|
|
|
|
cpp_quote("#ifdef __WINESRC__")
|
|
cpp_quote("#undef GetObject")
|
|
cpp_quote("#endif")
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleLink interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(0000011d-0000-0000-c000-000000000046)
|
|
]
|
|
interface IOleLink : IUnknown
|
|
{
|
|
typedef [unique] IOleLink *LPOLELINK;
|
|
|
|
typedef enum tagOLEUPDATE
|
|
{
|
|
OLEUPDATE_ALWAYS = 1,
|
|
OLEUPDATE_ONCALL = 3
|
|
} OLEUPDATE, *POLEUPDATE, *LPOLEUPDATE;
|
|
|
|
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();
|
|
|
|
HRESULT GetBoundSource(
|
|
[out] IUnknown **ppunk);
|
|
|
|
HRESULT UnbindSource();
|
|
|
|
HRESULT Update(
|
|
[in, unique] IBindCtx *pbc);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleClientSite interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00000118-0000-0000-c000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleClientSite : IUnknown
|
|
{
|
|
typedef [unique] IOleClientSite * LPOLECLIENTSITE;
|
|
|
|
HRESULT SaveObject();
|
|
|
|
HRESULT GetMoniker(
|
|
[in] DWORD dwAssign,
|
|
[in] DWORD dwWhichMoniker,
|
|
[out] IMoniker **ppmk);
|
|
|
|
HRESULT GetContainer(
|
|
[out] IOleContainer **ppContainer);
|
|
|
|
HRESULT ShowObject();
|
|
|
|
HRESULT OnShowWindow(
|
|
[in] BOOL fShow);
|
|
|
|
HRESULT RequestNewObjectLayout();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleCache interface
|
|
*/
|
|
[
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleCache2 interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00000128-0000-0000-c000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IOleCache2 : IOleCache
|
|
{
|
|
typedef [unique] IOleCache2 *LPOLECACHE2;
|
|
|
|
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)));
|
|
|
|
typedef enum tagDISCARDCACHE
|
|
{
|
|
DISCARDCACHE_SAVEIFDIRTY = 0,
|
|
DISCARDCACHE_NOSAVE = 1
|
|
} 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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleCacheControl interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00000129-0000-0000-c000-000000000046)
|
|
]
|
|
interface IOleCacheControl : IUnknown
|
|
{
|
|
typedef [unique] IOleCacheControl *LPOLECACHECONTROL;
|
|
|
|
HRESULT OnRun(
|
|
LPDATAOBJECT pDataObject);
|
|
|
|
HRESULT OnStop();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IEnumOLEVERB interface
|
|
*/
|
|
[
|
|
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;
|
|
|
|
typedef enum tagOLEVERBATTRIB
|
|
{
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleObject interface
|
|
*/
|
|
[
|
|
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 = 0x1,
|
|
OLEMISC_ONLYICONIC = 0x2,
|
|
OLEMISC_INSERTNOTREPLACE = 0x4,
|
|
OLEMISC_STATIC = 0x8,
|
|
OLEMISC_CANTLINKINSIDE = 0x10,
|
|
OLEMISC_CANLINKBYOLE1 = 0x20,
|
|
OLEMISC_ISLINKOBJECT = 0x40,
|
|
OLEMISC_INSIDEOUT = 0x80,
|
|
OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
|
|
OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
|
|
OLEMISC_INVISIBLEATRUNTIME = 0x400,
|
|
OLEMISC_ALWAYSRUN = 0x800,
|
|
OLEMISC_ACTSLIKEBUTTON = 0x1000,
|
|
OLEMISC_ACTSLIKELABEL = 0x2000,
|
|
OLEMISC_NOUIACTIVATE = 0x4000,
|
|
OLEMISC_ALIGNABLE = 0x8000,
|
|
OLEMISC_SIMPLEFRAME = 0x10000,
|
|
OLEMISC_SETCLIENTSITEFIRST = 0x20000,
|
|
OLEMISC_IMEMODE = 0x40000,
|
|
OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
|
|
OLEMISC_WANTSTOMENUMERGE = 0x100000,
|
|
OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
|
|
} OLEMISC;
|
|
|
|
typedef enum tagOLECLOSE
|
|
{
|
|
OLECLOSE_SAVEIFDIRTY = 0,
|
|
OLECLOSE_NOSAVE = 1,
|
|
OLECLOSE_PROMPTSAVE = 2
|
|
} OLECLOSE;
|
|
|
|
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] struct tagMSG *lpmsg,
|
|
[in, unique] IOleClientSite *pActiveSite,
|
|
[in] LONG lindex,
|
|
[in] HWND hwndParent,
|
|
[in, unique] LPCRECT lprcPosRect);
|
|
|
|
HRESULT EnumVerbs(
|
|
[out] IEnumOLEVERB **ppEnumOleVerb);
|
|
|
|
HRESULT Update();
|
|
|
|
HRESULT IsUpToDate();
|
|
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IOleAdviseHolder interface
|
|
*/
|
|
[
|
|
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();
|
|
HRESULT SendOnClose();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IContinue interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(0000012a-0000-0000-c000-000000000046)
|
|
]
|
|
interface IContinue : IUnknown
|
|
{
|
|
HRESULT FContinue();
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IViewObject interface
|
|
*/
|
|
[
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IViewObject2 interface
|
|
*/
|
|
[
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IDropSource interface
|
|
*/
|
|
[
|
|
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);
|
|
}
|
|
|
|
|
|
/*****************************************************************************
|
|
* IDropTarget interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00000122-0000-0000-c000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IDropTarget : IUnknown
|
|
{
|
|
typedef [unique] IDropTarget *LPDROPTARGET;
|
|
|
|
const DWORD MK_ALT = 0x20;
|
|
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;
|
|
const DWORD DD_DEFSCROLLINSET = 11;
|
|
const DWORD DD_DEFSCROLLDELAY = 50;
|
|
const DWORD DD_DEFSCROLLINTERVAL = 50;
|
|
const DWORD DD_DEFDRAGDELAY = 200;
|
|
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();
|
|
|
|
HRESULT Drop(
|
|
[in, unique] IDataObject *pDataObj,
|
|
[in] DWORD grfKeyState,
|
|
[in] POINTL pt,
|
|
[in, out] DWORD *pdwEffect);
|
|
}
|