Converted oleidl.h to IDL.

This commit is contained in:
Alexandre Julliard 2003-09-03 20:17:39 +00:00
parent ba5a968157
commit 802ebc1168
10 changed files with 4851 additions and 1088 deletions

View File

@ -275,7 +275,7 @@ static HRESULT WINAPI DataCache_Draw(
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
IVO_ContCallback pfnContinue,
BOOL (CALLBACK *pfnContinue)(ULONG_PTR dwContinue),
DWORD dwContinue);
static HRESULT WINAPI DataCache_GetColorSet(
IViewObject2* iface,
@ -1567,7 +1567,7 @@ static HRESULT WINAPI DataCache_Draw(
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
IVO_ContCallback pfnContinue,
BOOL (CALLBACK *pfnContinue)(ULONG_PTR dwContinue),
DWORD dwContinue)
{
PresentationDataHeader presData;

View File

@ -2203,7 +2203,7 @@ static HRESULT WINAPI ISVViewObject_Draw(
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
IVO_ContCallback pfnContinue,
BOOL (CALLBACK *pfnContinue)(ULONG_PTR dwContinue),
DWORD dwContinue)
{

View File

@ -8,6 +8,7 @@ IDL_SRCS = \
comcat.idl \
oaidl.idl \
objidl.idl \
oleidl.idl \
strmif.idl \
unknwn.idl \
wtypes.idl
@ -126,7 +127,6 @@ WINDOWS_INCLUDES = \
oleauto.h \
olectl.h \
oledlg.h \
oleidl.h \
pktdef.h \
poppack.h \
prsht.h \
@ -241,21 +241,16 @@ WINE_INCLUDES = \
debug.h \
exception.h \
library.h \
obj_cache.h \
obj_commdlgbrowser.h \
obj_connection.h \
obj_contextmenu.h \
obj_control.h \
obj_dockingwindowframe.h \
obj_dragdrop.h \
obj_dragdrophelper.h \
obj_enumidlist.h \
obj_extracticon.h \
obj_inplace.h \
obj_olefont.h \
obj_oleobj.h \
obj_oleundo.h \
obj_oleview.h \
obj_picture.h \
obj_property.h \
obj_shellbrowser.h \

File diff suppressed because it is too large Load Diff

953
include/oleidl.idl Normal file
View File

@ -0,0 +1,953 @@
/*
* 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);
cpp_quote("struct tagLOGPALETTE;") /* FIXME */
HRESULT SetColorScheme(
[in] struct tagLOGPALETTE *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] struct tagLOGPALETTE **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] struct tagLOGPALETTE **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);
}

View File

@ -1,130 +0,0 @@
/*
* Defines the COM interfaces and APIs related to structured data storage.
*
* Depends on 'obj_base.h'.
*
* Copyright (C) 1999 Paul Quinn
*
* 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
*/
#ifndef __WINE_WINE_OBJ_CACHE_H
#define __WINE_WINE_OBJ_CACHE_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Declare the structures
*/
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_IOleCache, 0x0000011eL, 0, 0);
typedef struct IOleCache IOleCache, *LPOLECACHE;
DEFINE_OLEGUID(IID_IOleCache2, 0x00000128L, 0, 0);
typedef struct IOleCache2 IOleCache2, *LPOLECACHE2;
DEFINE_OLEGUID(IID_IOleCacheControl, 0x00000129L, 0, 0);
typedef struct IOleCacheControl IOleCacheControl, *LPOLECACHECONTROL;
/*****************************************************************************
* IOleCache interface
*/
#define INTERFACE IOleCache
#define IOleCache_METHODS \
IUnknown_METHODS \
STDMETHOD(Cache)(THIS_ FORMATETC *pformatetc, DWORD advf, DWORD * pdwConnection) PURE; \
STDMETHOD(Uncache)(THIS_ DWORD dwConnection) PURE; \
STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA **ppenumSTATDATA) PURE; \
STDMETHOD(InitCache)(THIS_ IDataObject *pDataObject) PURE; \
STDMETHOD(SetData)(THIS_ FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease) PURE;
ICOM_DEFINE(IOleCache,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleCache_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleCache_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleCache_Release(p) (p)->lpVtbl->Release(p)
/*** IOleCache methods ***/
#define IOleCache_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
#define IOleCache_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
#define IOleCache_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
#define IOleCache_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
#define IOleCache_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
#endif
/*****************************************************************************
* IOleCache2 interface
*/
#define INTERFACE IOleCache2
#define IOleCache2_METHODS \
IOleCache_METHODS \
STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved) PURE; \
STDMETHOD(DiscardCache)(THIS_ DWORD dwDiscardOptions) PURE;
ICOM_DEFINE(IOleCache2,IOleCache)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleCache2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleCache2_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleCache2_Release(p) (p)->lpVtbl->Release(p)
/*** IOleCache methods ***/
#define IOleCache2_Cache(p,a,b,c) (p)->lpVtbl->Cache(p,a,b,c)
#define IOleCache2_Uncache(p,a) (p)->lpVtbl->Uncache(p,a)
#define IOleCache2_EnumCache(p,a) (p)->lpVtbl->EnumCache(p,a)
#define IOleCache2_InitCache(p,a) (p)->lpVtbl->InitCache(p,a)
#define IOleCache2_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c)
/*** IOleCache2 methods ***/
#define IOleCache2_UpdateCache(p,a,b,c) (p)->lpVtbl->UpdateCache(p,a,b,c)
#define IOleCache2_DiscardCache(p,a) (p)->lpVtbl->DiscardCache(p,a)
#endif
/*****************************************************************************
* IOleCacheControl interface
*/
#define INTERFACE IOleCacheControl
#define IOleCacheControl_METHODS \
IUnknown_METHODS \
STDMETHOD(OnRun)(THIS_ LPDATAOBJECT pDataObject) PURE; \
STDMETHOD(OnStop)(THIS) PURE;
ICOM_DEFINE(IOleCacheControl,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleCacheControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleCacheControl_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleCacheControl_Release(p) (p)->lpVtbl->Release(p)
/*** IOleCacheControl methods ***/
#define IOleCacheControl_OnRun(p,a) (p)->lpVtbl->UpdateCache(p,a)
#define IOleCacheControl_OnStop(p) (p)->lpVtbl->OnStop(p)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_CONTROL_H */

View File

@ -1,102 +0,0 @@
/*
* Defines the COM interfaces and APIs related to OLE Drag and Drop.
*
* Copyright (C) 1999 Francis Beaudet
*
* 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
*/
#ifndef __WINE_WINE_OBJ_DRAGDROP_H
#define __WINE_WINE_OBJ_DRAGDROP_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_IDropSource, 0x00000121L, 0, 0);
typedef struct IDropSource IDropSource,*LPDROPSOURCE;
DEFINE_OLEGUID(IID_IDropTarget, 0x00000122L, 0, 0);
typedef struct IDropTarget IDropTarget,*LPDROPTARGET;
/*****************************************************************************
* DROPEFFECT enumeration
*/
#define MK_ALT (0x20)
#define DROPEFFECT_NONE 0
#define DROPEFFECT_COPY 1
#define DROPEFFECT_MOVE 2
#define DROPEFFECT_LINK 4
#define DROPEFFECT_SCROLL 0x80000000
#define DD_DEFSCROLLINSET 11
#define DD_DEFSCROLLDELAY 50
#define DD_DEFSCROLLINTERVAL 50
#define DD_DEFDRAGDELAY 50
#define DD_DEFDRAGMINDIST 2
/*****************************************************************************
* IDropSource interface
*/
#define INTERFACE IDropSource
#define IDropSource_METHODS \
IUnknown_METHODS \
STDMETHOD(QueryContinueDrag)(THIS_ BOOL fEscapePressed, DWORD grfKeyState) PURE; \
STDMETHOD(GiveFeedback)(THIS_ DWORD dwEffect) PURE;
ICOM_DEFINE(IDropSource,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IDropSource_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDropSource_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDropSource_Release(p) (p)->lpVtbl->Release(p)
/*** IDropSource methods ***/
#define IDropSource_QueryContinueDrag(p,a,b) (p)->lpVtbl->QueryContinueDrag(p,a,b)
#define IDropSource_GiveFeedback(p,a) (p)->lpVtbl->GiveFeedback(p,a)
#endif
/*****************************************************************************
* IDropTarget interface
*/
#define INTERFACE IDropTarget
#define IDropTarget_METHODS \
IUnknown_METHODS \
STDMETHOD(DragEnter)(THIS_ IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) PURE; \
STDMETHOD(DragOver)(THIS_ DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) PURE; \
STDMETHOD(DragLeave)(THIS) PURE; \
STDMETHOD(Drop)(THIS_ IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) PURE;
ICOM_DEFINE(IDropTarget,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IDropTarget_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDropTarget_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDropTarget_Release(p) (p)->lpVtbl->Release(p)
/*** IDropTarget methods ***/
#define IDropTarget_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
#define IDropTarget_DragOver(p,a,b,c) (p)->lpVtbl->DragOver(p,a,b,c)
#define IDropTarget_DragLeave(p) (p)->lpVtbl->DragLeave(p)
#define IDropTarget_Drop(p,a,b,c,d) (p)->lpVtbl->Drop(p,a,b,c,d)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_DRAGDROP_H */

View File

@ -1,496 +0,0 @@
/*
* Defines the COM interfaces and APIs related to structured data storage.
*
* Depends on 'obj_base.h'.
*
* Copyright (C) 1999 Paul Quinn
*
* 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
*/
#ifndef __WINE_WINE_OBJ_INPLACE_H
#define __WINE_WINE_OBJ_INPLACE_H
struct tagMSG;
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Predeclare the structures
*/
typedef struct tagOleMenuGroupWidths
{
LONG width[ 6 ];
} OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS;
typedef struct tagOleInPlaceFrameInfo
{
UINT cb;
BOOL fMDIApp;
HWND hwndFrame;
HACCEL haccel;
UINT cAccelEntries;
} OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO;
typedef enum tagOLEGETMONIKER
{
OLEGETMONIKER_ONLYIFTHERE = 1,
OLEGETMONIKER_FORCEASSIGN = 2,
OLEGETMONIKER_UNASSIGN = 3,
OLEGETMONIKER_TEMPFORUSER = 4
} OLEGETMONIKER;
typedef enum tagOLERENDER
{
OLERENDER_NONE = 0,
OLERENDER_DRAW = 1,
OLERENDER_FORMAT = 2,
OLERENDER_ASIS = 3
} OLERENDER;
typedef enum tagUSERCLASSTYPE
{
USERCLASSTYPE_FULL = 1,
USERCLASSTYPE_SHORT = 2,
USERCLASSTYPE_APPNAME = 3
} USERCLASSTYPE;
typedef enum tagOLECLOSE
{
OLECLOSE_SAVEIFDIRTY = 1,
OLECLOSE_NOSAVE = 2,
OLECLOSE_PROMPTSAVE = 3
} OLECLOSE;
typedef enum tagOLEUPDATE
{
OLEUPDATE_ALWAYS = 1,
OLEUPDATE_ONCALL = 3
} OLEUPDATE, *LPOLEUPDATE;
typedef struct tagOLEVERB
{
LONG lVerb;
LPOLESTR lpszVerbName;
DWORD fuFlags;
DWORD grfAttribs;
} OLEVERB, *LPOLEVERB;
typedef enum tagOLELINKBIND
{
OLELINKBIND_EVENIFCLASSDIFF = 1
} OLELINKBIND;
typedef enum tagOLEWHICHMK
{
OLEWHICHMK_CONTAINER = 1,
OLEWHICHMK_OBJREL = 2,
OLEWHICHMK_OBJFULL = 3
} OLEWHICHMK;
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;
typedef HGLOBAL HOLEMENU;
typedef LPRECT LPBORDERWIDTHS;
typedef LPCRECT LPCBORDERWIDTHS;
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_IOleWindow, 0x00000114L, 0, 0);
typedef struct IOleWindow IOleWindow, *LPOLEWINDOW;
DEFINE_OLEGUID(IID_IOleInPlaceObject, 0x00000113L, 0, 0);
typedef struct IOleInPlaceObject IOleInPlaceObject, *LPOLEINPLACEOBJECT;
DEFINE_OLEGUID(IID_IOleInPlaceActiveObject, 0x00000117L, 0, 0);
typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject, *LPOLEINPLACEACTIVEOBJECT;
DEFINE_OLEGUID(IID_IOleInPlaceUIWindow, 0x00000115L, 0, 0);
typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow, *LPOLEINPLACEUIWINDOW;
DEFINE_OLEGUID(IID_IOleInPlaceFrame, 0x00000116L, 0, 0);
typedef struct IOleInPlaceFrame IOleInPlaceFrame, *LPOLEINPLACEFRAME;
DEFINE_OLEGUID(IID_IOleInPlaceSite, 0x00000119L, 0, 0);
typedef struct IOleInPlaceSite IOleInPlaceSite, *LPOLEINPLACESITE;
DEFINE_OLEGUID(IID_IOleClientSite, 0x00000118L, 0, 0);
typedef struct IOleClientSite IOleClientSite, *LPOLECLIENTSITE;
DEFINE_OLEGUID(IID_IOleContainer, 0x0000011bL, 0, 0);
typedef struct IOleContainer IOleContainer, *LPOLECONTAINER;
DEFINE_OLEGUID(IID_IParseDisplayName, 0x0000011aL, 0, 0);
typedef struct IParseDisplayName IParseDisplayName, *LPPARSEDISPLAYNAME;
DEFINE_OLEGUID(IID_IOleItemContainer, 0x0000011cL, 0, 0);
typedef struct IOleItemContainer IOleItemContainer, *LPOLEITEMCONTAINER;
DEFINE_OLEGUID(IID_IOleLink, 0x0000011dL, 0, 0);
typedef struct IOleLink IOleLink, *LPOLELINK;
/*****************************************************************************
* IOleWindow interface
*/
#define INTERFACE IOleWindow
#define IOleWindow_METHODS \
IUnknown_METHODS \
STDMETHOD(GetWindow)(THIS_ HWND *phwnd) PURE; \
STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE;
ICOM_DEFINE(IOleWindow,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleWindow_Release(p) (p)->lpVtbl->Release(p)
/*** IOleWindow methods ***/
#define IOleWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IOleWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
#endif
/*****************************************************************************
* IOleInPlaceObject interface
*/
#define INTERFACE IOleInPlaceObject
#define IOleInPlaceObject_METHODS \
IOleWindow_METHODS \
STDMETHOD(InPlaceDeactivate)(THIS) PURE; \
STDMETHOD(UIDeactivate)(THIS) PURE; \
STDMETHOD(SetObjectRects)(THIS_ LPCRECT lprcPosRect, LPCRECT lprcClipRect) PURE; \
STDMETHOD(ReactivateAndUndo)(THIS) PURE;
ICOM_DEFINE(IOleInPlaceObject,IOleWindow)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleInPlaceObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleInPlaceObject_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleInPlaceObject_Release(p) (p)->lpVtbl->Release(p)
/*** IOleWindow methods ***/
#define IOleInPlaceObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IOleInPlaceObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
/*** IOleInPlaceObject methods ***/
#define IOleInPlaceObject_InPlaceDeactivate(p) (p)->lpVtbl->InPlaceDeactivate(p)
#define IOleInPlaceObject_UIDeactivate(p) (p)->lpVtbl->UIDeactivate(p)
#define IOleInPlaceObject_SetObjectRects(p,a,b) (p)->lpVtbl->SetObjectRects(p,a,b)
#define IOleInPlaceObject_ReactivateAndUndo(p) (p)->lpVtbl->ReactivateAndUndo(p)
#endif
/*****************************************************************************
* IOleInPlaceActiveObject interface
*/
#define INTERFACE IOleInPlaceActiveObject
#define IOleInPlaceActiveObject_METHODS \
IOleWindow_METHODS \
STDMETHOD(TranslateAccelerator)(THIS_ struct tagMSG *lpmsg) PURE; \
STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL fActivate) PURE; \
STDMETHOD(OnDocWindowActivate)(THIS_ BOOL fActivate) PURE; \
STDMETHOD(ResizeBorder)(THIS_ LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fWindowFrame) PURE; \
STDMETHOD(EnableModeless)(THIS_ BOOL fEnable) PURE;
ICOM_DEFINE(IOleInPlaceActiveObject,IOleWindow)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleInPlaceActiveObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleInPlaceActiveObject_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleInPlaceActiveObject_Release(p) (p)->lpVtbl->Release(p)
/*** IOleWindow methods ***/
#define IOleInPlaceActiveObject_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IOleInPlaceActiveObject_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
/*** IOleInPlaceActiveObject methods ***/
#define IOleInPlaceActiveObject_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
#define IOleInPlaceActiveObject_OnFrameWindowActivate(p,a) (p)->lpVtbl->OnFrameWindowActivate(p,a)
#define IOleInPlaceActiveObject_OnDocWindowActivate(p,a) (p)->lpVtbl->OnDocWindowActivate(p,a)
#define IOleInPlaceActiveObject_ResizeBorder(p,a,b,c) (p)->lpVtbl->ResizeBorder(p,a,b,c)
#define IOleInPlaceActiveObject_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
#endif
/*****************************************************************************
* IOleInPlaceUIWindow interface
*/
#define INTERFACE IOleInPlaceUIWindow
#define IOleInPlaceUIWindow_METHODS \
IOleWindow_METHODS \
STDMETHOD(GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
STDMETHOD(SetActiveObject)(THIS_ IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName) PURE;
ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleInPlaceUIWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleInPlaceUIWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleInPlaceUIWindow_Release(p) (p)->lpVtbl->Release(p)
/*** IOleWindow methods ***/
#define IOleInPlaceUIWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IOleInPlaceUIWindow_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
/*** IOleInPlaceUIWindow methods ***/
#define IOleInPlaceUIWindow_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
#define IOleInPlaceUIWindow_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
#define IOleInPlaceUIWindow_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
#define IOleInPlaceUIWindow_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
#endif
/*****************************************************************************
* IOleInPlaceFrame interface
*/
#define INTERFACE IOleInPlaceFrame
#define IOleInPlaceFrame_METHODS \
IOleInPlaceUIWindow_METHODS \
STDMETHOD(InsertMenus)(THIS_ HMENU hemnuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
STDMETHOD(SetMenu)(THIS_ HMENU hemnuShared, HOLEMENU holemenu, HWND hwndActiveObject) PURE; \
STDMETHOD(RemoveMenus)(THIS_ HMENU hemnuShared) PURE; \
STDMETHOD(SetStatusText)(THIS_ LPCOLESTR pszStatusText) PURE; \
STDMETHOD(EnableModeless)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(TranslateAccelerator)(THIS_ struct tagMSG *lpmsg, WORD wID) PURE;
ICOM_DEFINE(IOleInPlaceFrame,IOleInPlaceUIWindow)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleInPlaceFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleInPlaceFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleInPlaceFrame_Release(p) (p)->lpVtbl->Release(p)
/*** IOleWindow methods ***/
#define IOleInPlaceFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IOleInPlaceFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
/*** IOleInPlaceUIWindow methods ***/
#define IOleInPlaceFrame_GetBorder(p,a) (p)->lpVtbl->GetBorder(p,a)
#define IOleInPlaceFrame_RequestBorderSpace(p,a) (p)->lpVtbl->RequestBorderSpace(p,a)
#define IOleInPlaceFrame_SetBorderSpace(p,a) (p)->lpVtbl->SetBorderSpace(p,a)
#define IOleInPlaceFrame_SetActiveObject(p,a,b) (p)->lpVtbl->SetActiveObject(p,a,b)
/*** IOleInPlaceFrame methods ***/
#define IOleInPlaceFrame_InsertMenus(p,a,b) (p)->lpVtbl->InsertMenus(p,a,b)
#define IOleInPlaceFrame_SetMenu(p,a,b,c) (p)->lpVtbl->SetMenu(p,a,b,c)
#define IOleInPlaceFrame_RemoveMenus(p,a) (p)->lpVtbl->RemoveMenus(p,a)
#define IOleInPlaceFrame_SetStatusText(p,a) (p)->lpVtbl->SetStatusText(p,a)
#define IOleInPlaceFrame_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
#define IOleInPlaceFrame_TranslateAccelerator(p,a,b) (p)->lpVtbl->TranslateAccelerator(p,a,b)
#endif
/*****************************************************************************
* IOleInPlaceSite interface
*/
#define INTERFACE IOleInPlaceSite
#define IOleInPlaceSite_METHODS \
IOleWindow_METHODS \
STDMETHOD(CanInPlaceActivate)(THIS) PURE; \
STDMETHOD(OnInPlaceActivate)(THIS) PURE; \
STDMETHOD(OnUIActivate)(THIS) PURE; \
STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE; \
STDMETHOD(Scroll)(THIS_ SIZE scrollExtant) PURE; \
STDMETHOD(OnUIDeactivate)(THIS_ BOOL fUndoable) PURE; \
STDMETHOD(OnInPlaceDeactivate)(THIS) PURE; \
STDMETHOD(DiscardUndoState)(THIS) PURE; \
STDMETHOD(DeactivateAndUndo)(THIS) PURE; \
STDMETHOD(OnPosRectChange)(THIS_ LPCRECT lprcPosRect) PURE;
ICOM_DEFINE(IOleInPlaceSite,IOleWindow)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleInPlaceSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleInPlaceSite_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleInPlaceSite_Release(p) (p)->lpVtbl->Release(p)
/*** IOleWindow methods ***/
#define IOleInPlaceSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IOleInPlaceSite_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
/*** IOleInPlaceSite methods ***/
#define IOleInPlaceSite_CanInPlaceActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
#define IOleInPlaceSite_OnInPlaceActivate(p) (p)->lpVtbl->OnInPlaceActivate(p)
#define IOleInPlaceSite_OnUIActivate(p) (p)->lpVtbl->OnUIActivate(p)
#define IOleInPlaceSite_GetWindowContext(p,a,b,c,d,e) (p)->lpVtbl->GetWindowContext(p,a,b,c,d,e)
#define IOleInPlaceSite_Scroll(p,a) (p)->lpVtbl->Scroll(p,a)
#define IOleInPlaceSite_OnUIDeactivate(p,a) (p)->lpVtbl->OnUIDeactivate(p,a)
#define IOleInPlaceSite_OnInPlaceDeactivate(p) (p)->lpVtbl->OnInPlaceDeactivate(p)
#define IOleInPlaceSite_DiscardUndoState(p) (p)->lpVtbl->DiscardUndoState(p)
#define IOleInPlaceSite_DeactivateAndUndo(p) (p)->lpVtbl->DeactivateAndUndo(p)
#define IOleInPlaceSite_OnPosRectChange(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
#endif
/*****************************************************************************
* IOleClientSite interface
*/
#define INTERFACE IOleClientSite
#define IOleClientSite_METHODS \
IUnknown_METHODS \
STDMETHOD(SaveObject)(THIS) PURE; \
STDMETHOD(GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk) PURE; \
STDMETHOD(GetContainer)(THIS_ IOleContainer **ppContainer) PURE; \
STDMETHOD(ShowObject)(THIS) PURE; \
STDMETHOD(OnShowWindow)(THIS_ BOOL fShow) PURE; \
STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
ICOM_DEFINE(IOleClientSite,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleClientSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleClientSite_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleClientSite_Release(p) (p)->lpVtbl->Release(p)
/*** IOleClientSite methods ***/
#define IOleClientSite_SaveObject(p) (p)->lpVtbl->SaveObject(p)
#define IOleClientSite_GetMoniker(p,a,b,c) (p)->lpVtbl->GetMoniker(p,a,b,c)
#define IOleClientSite_GetContainer(p,a) (p)->lpVtbl->GetContainer(p,a)
#define IOleClientSite_ShowObject(p) (p)->lpVtbl->ShowObject(p)
#define IOleClientSite_OnShowWindow(p,a) (p)->lpVtbl->OnShowWindow(p,a)
#define IOleClientSite_RequestNewObjectLayout(p) ICOM_CALL (RequestNewObjectLayout(p)
#endif
/*****************************************************************************
* IParseDisplayName interface
*/
#define INTERFACE IParseDisplayName
#define IParseDisplayName_METHODS \
IUnknown_METHODS \
STDMETHOD(ParseDisplayName)(THIS_ IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut) PURE;
ICOM_DEFINE(IParseDisplayName,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IParseDisplayName_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IParseDisplayName_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IParseDisplayName_Release(p) (p)->lpVtbl->Release(p)
/*** IParseDisplayName methods ***/
#define IParseDisplayName_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
#endif
/*****************************************************************************
* IOleContainer interface
*/
#define INTERFACE IOleContainer
#define IOleContainer_METHODS \
IParseDisplayName_METHODS \
STDMETHOD(EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown **ppenum) PURE; \
STDMETHOD(LockContainer)(THIS_ BOOL fLock) PURE;
ICOM_DEFINE(IOleContainer,IParseDisplayName)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleContainer_Release(p) (p)->lpVtbl->Release(p)
/*** IParseDisplayName methods ***/
#define IOleContainer_ParseDisplayName(p,a,b,c,d) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d)
/*** IOleClientSite methods ***/
#define IOleContainer_EnumObjects(p,a,b) (p)->lpVtbl->EnumObjects(p,a,b)
#define IOleContainer_LockContainer(p,a) (p)->lpVtbl->LockContainer(p,a)
#endif
/*****************************************************************************
* IOleItemContainer interface
*/
#ifdef __WINESRC__
#undef GetObject
#endif
#define INTERFACE IOleItemContainer
#define IOleItemContainer_METHODS \
IOleContainer_METHODS \
STDMETHOD(GetObject)(THIS_ LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx *pbc, REFIID riid, void **ppvObject) PURE; \
STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR pszItem, IBindCtx *pbc, REFIID riid, void **ppvStorage) PURE; \
STDMETHOD(IsRunning)(THIS_ LPOLESTR pszItem) PURE;
ICOM_DEFINE(IOleItemContainer,IOleContainer)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleItemContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleItemContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleItemContainer_Release(p) (p)->lpVtbl->Release(p)
/*** IParseDisplayName methods ***/
#define IOleItemContainer_GetObject(p,a,b,c,d,e) (p)->lpVtbl->GetObject(p,a,b,c,d,e)
#define IOleItemContainer_GetObjectStorage(p,a,b,c,d) (p)->lpVtbl->GetObjectStorage(p,a,b,c,d)
#define IOleItemContainer_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a)
#endif
/*****************************************************************************
* IOleItemContainer interface
*/
#define INTERFACE IOleLink
#define IOleLink_METHODS \
IUnknown_METHODS \
STDMETHOD(SetUpdateOptions)(THIS_ DWORD dwUpdateOpt) PURE; \
STDMETHOD(GetUpdateOptions)(THIS_ DWORD *pdwUpdateOpt) PURE; \
STDMETHOD(SetSourceMoniker)(THIS_ IMoniker *pmk, REFCLSID rclsid) PURE; \
STDMETHOD(GetSourceMoniker)(THIS_ IMoniker **ppmk) PURE; \
STDMETHOD(SetSourceDisplayName)(THIS_ LPCOLESTR pszStatusText) PURE; \
STDMETHOD(GetSourceDisplayName)(THIS_ LPOLESTR *ppszDisplayName) PURE; \
STDMETHOD(BindToSource)(THIS_ DWORD bindflags, IBindCtx *pbc) PURE; \
STDMETHOD(BindIfRunning)(THIS) PURE; \
STDMETHOD(GetBoundSource)(THIS_ IUnknown **ppunk) PURE; \
STDMETHOD(UnBindSource)(THIS) PURE; \
STDMETHOD(Update)(THIS_ IBindCtx *pbc) PURE;
ICOM_DEFINE(IOleLink,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleLink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleLink_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleLink_Release(p) (p)->lpVtbl->Release(p)
/*** IOleLink methods ***/
#define IOleLink_SetUpdateOptions(p,a) (p)->lpVtbl->SetUpdateOptions(p,a)
#define IOleLink_GetUpdateOptions(p,a) (p)->lpVtbl->GetUpdateOptions(p,a)
#define IOleLink_SetSourceMoniker(p,a,b) (p)->lpVtbl->SetSourceMoniker(p,a,b)
#define IOleLink_GetSourceMoniker(p,a) (p)->lpVtbl->GetSourceMoniker(p,a)
#define IOleLink_SetSourceDisplayName(p,a) (p)->lpVtbl->SetSourceDisplayName(p,a)
#define IOleLink_GetSourceDisplayName(p,a) (p)->lpVtbl->GetSourceDisplayName(p,a)
#define IOleLink_BindToSource(p,a,b) (p)->lpVtbl->BindToSource(p,a,b)
#define IOleLink_BindIfRunning(p) (p)->lpVtbl->BindIfRunning(p)
#define IOleLink_GetBoundSource(p,a) (p)->lpVtbl->GetBoundSource(p,a)
#define IOleLink_UnBindSource(p) (p)->lpVtbl->UnBindSource(p)
#define IOleLink_Update(p,a) (p)->lpVtbl->Update(p,a)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_INPLACE_H */

View File

@ -1,211 +0,0 @@
/*
* Defines IOleObject COM and other oleidl.h interfaces
*
* Depends on 'obj_base.h'.
*
* Copyright (C) 1999 Paul Quinn
*
* 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
*/
#ifndef __WINE_WINE_OBJ_OLEOBJ_H
#define __WINE_WINE_OBJ_OLEOBJ_H
struct tagMSG;
struct tagLOGPALETTE;
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Declare the structures
*/
typedef struct tagOBJECTDESCRIPTOR
{
ULONG cbSize;
CLSID clsid;
DWORD dwDrawAspect;
SIZEL sizel;
POINTL pointl;
DWORD dwStatus;
DWORD dwFullUserTypeName;
DWORD dwSrcOfCopy;
} OBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR;
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 tagOLEVERBATTRIB
{
OLEVERBATTRIB_NEVERDIRTIES = 1,
OLEVERBATTRIB_ONCONTAINERMENU = 2
} OLEVERBATTRIB;
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_IOleObject, 0x00000112L, 0, 0);
typedef struct IOleObject IOleObject, *LPOLEOBJECT;
DEFINE_OLEGUID(IID_IOleAdviseHolder, 0x00000111L, 0, 0);
typedef struct IOleAdviseHolder IOleAdviseHolder, *LPOLEADVISEHOLDER;
DEFINE_OLEGUID(IID_IEnumOLEVERB, 0x00000104L, 0, 0);
typedef struct IEnumOLEVERB IEnumOLEVERB, *LPENUMOLEVERB;
/*****************************************************************************
* IOleObject interface
*/
#define INTERFACE IOleObject
#define IOleObject_METHODS \
IUnknown_METHODS \
STDMETHOD(SetClientSite)(THIS_ IOleClientSite *pClientSite) PURE; \
STDMETHOD(GetClientSite)(THIS_ IOleClientSite **ppClientSite) PURE; \
STDMETHOD(SetHostNames)(THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) PURE; \
STDMETHOD(Close)(THIS_ DWORD dwSaveOption) PURE; \
STDMETHOD(SetMoniker)(THIS_ DWORD dwWhichMoniker, IMoniker *pmk) PURE; \
STDMETHOD(GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk) PURE; \
STDMETHOD(InitFromData)(THIS_ IDataObject *pDataObject, BOOL fCreation, DWORD dwReserved) PURE; \
STDMETHOD(GetClipboardData)(THIS_ DWORD dwReserved, IDataObject **ppDataObject) PURE; \
STDMETHOD(DoVerb)(THIS_ LONG iVerb, struct tagMSG *lpmsg, IOleClientSite *pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
STDMETHOD(EnumVerbs)(THIS_ IEnumOLEVERB **ppEnumOleVerb) PURE; \
STDMETHOD(Update)(THIS) PURE; \
STDMETHOD(IsUpToDate)(THIS) PURE; \
STDMETHOD(GetUserClassID)(THIS_ CLSID *pClsid) PURE; \
STDMETHOD(GetUserType)(THIS_ DWORD dwFormOfType, LPOLESTR *pszUserType) PURE; \
STDMETHOD(SetExtent)(THIS_ DWORD dwDrawAspect, SIZEL *psizel) PURE; \
STDMETHOD(GetExtent)(THIS_ DWORD dwDrawAspect, SIZEL *psizel) PURE; \
STDMETHOD(Advise)(THIS_ IAdviseSink *pAdvSink, DWORD *pdwConnection) PURE; \
STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) PURE; \
STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA **ppenumAdvise) PURE; \
STDMETHOD(GetMiscStatus)(THIS_ DWORD dwAspect, DWORD *pdwStatus) PURE; \
STDMETHOD(SetColorScheme)(THIS_ struct tagLOGPALETTE *pLogpal) PURE;
ICOM_DEFINE(IOleObject,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleObject_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleObject_Release(p) (p)->lpVtbl->Release(p)
/*** IOleObject methods ***/
#define IOleObject_SetClientSite(p,a) (p)->lpVtbl->SetClientSite(p,a)
#define IOleObject_GetClientSite(p,a,b) (p)->lpVtbl->GetClientSite(p,a)
#define IOleObject_SetHostNames(p,a,b) (p)->lpVtbl->SetHostNames(p,a,b)
#define IOleObject_Close(p,a,b) (p)->lpVtbl->Close(p,a)
#define IOleObject_SetMoniker(p,a,b) (p)->lpVtbl->SetMoniker(p,a,b)
#define IOleObject_GetMoniker(p,a,b) (p)->lpVtbl->GetMoniker(p,a,b,c)
#define IOleObject_InitFromData(p,a,b) (p)->lpVtbl->InitFromData(p,a,b,c)
#define IOleObject_GetClipboardData(p,a,b) (p)->lpVtbl->GetClipboardData(p,a,b)
#define IOleObject_DoVerb(p,a,b) (p)->lpVtbl->DoVerb(p,a,b,c,d,e,f)
#define IOleObject_EnumVerbs(p,a,b) (p)->lpVtbl->EnumVerbs(p,a)
#define IOleObject_Update(p,a,b) (p)->lpVtbl->Update(p)
#define IOleObject_IsUpToDate(p,a,b) (p)->lpVtbl->IsUpToDate(p)
#define IOleObject_GetUserClassID(p,a,b) (p)->lpVtbl->GetUserClassID(p,a)
#define IOleObject_GetUserType(p,a,b) (p)->lpVtbl->GetUserType(p,a,b)
#define IOleObject_SetExtent(p,a,b) (p)->lpVtbl->SetExtent(p,a,b)
#define IOleObject_GetExtent(p,a,b) (p)->lpVtbl->GetExtent(p,a,b)
#define IOleObject_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
#define IOleObject_Unadvise(p,a,b) (p)->lpVtbl->Unadvise(p,a)
#define IOleObject_EnumAdvise(p,a,b) (p)->lpVtbl->EnumAdvise(p,a)
#define IOleObject_GetMiscStatus(p,a,b) (p)->lpVtbl->GetMiscStatus(p,a,b)
#define IOleObject_SetColorScheme(p,a,b) (p)->lpVtbl->SetColorScheme(p,a)
#endif
/*****************************************************************************
* IOleAdviseHolder interface
*/
#define INTERFACE IOleAdviseHolder
#define IOleAdviseHolder_METHODS \
IUnknown_METHODS \
STDMETHOD(Advise)(THIS_ IAdviseSink *pAdvise, DWORD *pdwConnection) PURE; \
STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) PURE; \
STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA **ppenumAdvise) PURE; \
STDMETHOD(SendOnRename)(THIS_ IMoniker *pmk) PURE; \
STDMETHOD(SendOnSave)(THIS) PURE; \
STDMETHOD(SendOnClose)(THIS) PURE;
ICOM_DEFINE(IOleAdviseHolder,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IOleAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IOleAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IOleAdviseHolder_Release(p) (p)->lpVtbl->Release(p)
/*** IOleAdviseHolder methods ***/
#define IOleAdviseHolder_Advise(p,a,b) (p)->lpVtbl->Advise(p,a,b)
#define IOleAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
#define IOleAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a)
#define IOleAdviseHolder_SendOnRename(p,a) (p)->lpVtbl->SendOnRename(p,a)
#define IOleAdviseHolder_SendOnSave(p) (p)->lpVtbl->SendOnSave(p)
#define IOleAdviseHolder_SendOnClose(p) (p)->lpVtbl->SendOnClose(p)
#endif
/*****************************************************************************
* IEnumOLEVERB interface
*/
#define INTERFACE IEnumOLEVERB
#define IEnumOLEVERB_METHODS \
IUnknown_METHODS \
STDMETHOD(Next)(THIS_ ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched) PURE; \
STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
STDMETHOD(Reset)(THIS) PURE; \
STDMETHOD(Clone)(THIS_ IEnumOLEVERB **ppenum) PURE;
ICOM_DEFINE(IEnumOLEVERB,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IEnumOLEVERB_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IEnumOLEVERB_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IEnumOLEVERB_Release(p) (p)->lpVtbl->Release(p)
/*** IEnumOLEVERB methods ***/
#define IEnumOLEVERB_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
#define IEnumOLEVERB_Skip(p,a) (p)->lpVtbl->Skip(p,a)
#define IEnumOLEVERB_Reset(p,a) (p)->lpVtbl->Reset(p)
#define IEnumOLEVERB_Clone(p,a) (p)->lpVtbl->Clone(p,a)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_OLEOBJ_H */

View File

@ -1,108 +0,0 @@
/*
* Defines the COM interfaces and APIs related to ViewObject
*
* Copyright (C) 1999 Paul Quinn
*
* 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
*/
#ifndef __WINE_WINE_OBJ_OLEVIEW_H
#define __WINE_WINE_OBJ_OLEVIEW_H
struct tagLOGPALETTE;
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*****************************************************************************
* Declare the structures
*/
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_IViewObject, 0x0000010dL, 0, 0);
typedef struct IViewObject IViewObject, *LPVIEWOBJECT;
DEFINE_OLEGUID(IID_IViewObject2, 0x00000127L, 0, 0);
typedef struct IViewObject2 IViewObject2, *LPVIEWOBJECT2;
/*****************************************************************************
* IViewObject interface
*/
typedef BOOL (CALLBACK *IVO_ContCallback)(DWORD);
#define INTERFACE IViewObject
#define IViewObject_METHODS \
IUnknown_METHODS \
STDMETHOD(Draw)(THIS_ DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, IVO_ContCallback pfnContinue, DWORD dwContinue) PURE; \
STDMETHOD(GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDevice, struct tagLOGPALETTE **ppColorSet) PURE; \
STDMETHOD(Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze) PURE; \
STDMETHOD(Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
STDMETHOD(SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink *pAdvSink) PURE; \
STDMETHOD(GetAdvise)(THIS_ DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink) PURE;
ICOM_DEFINE(IViewObject,IUnknown)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IViewObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IViewObject_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IViewObject_Release(p) (p)->lpVtbl->Release(p)
/*** IViewObject methods ***/
#define IViewObject_Draw(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Draw(p,a,b,c,d,e,f,g,h,i,j)
#define IViewObject_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
#define IViewObject_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
#define IViewObject_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
#define IViewObject_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
#define IViewObject_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
#endif
/*****************************************************************************
* IViewObject2 interface
*/
#define INTERFACE IViewObject2
#define IViewObject2_METHODS \
IViewObject_METHODS \
STDMETHOD(GetExtent)(THIS_ DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE *ptd, LPSIZEL lpsizel) PURE;
ICOM_DEFINE(IViewObject2,IViewObject)
#undef INTERFACE
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IViewObject2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IViewObject2_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IViewObject2_Release(p) (p)->lpVtbl->Release(p)
/*** IViewObject methods ***/
#define IViewObject2_Draw(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Draw(p,a,b,c,d,e,f,g,h,i,j)
#define IViewObject2_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
#define IViewObject2_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
#define IViewObject2_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
#define IViewObject2_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
#define IViewObject2_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
/*** IViewObject2 methods ***/
#define IViewObject2_GetExtent(p,a,b,c,d) (p)->lpVtbl->GetExtent(p,a,b,c,d)
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_OLEVIEW_H */