4 #include "wine/obj_base.h"
5 #include "wine/obj_storage.h"
6 #include "wine/obj_moniker.h"
7 #include "wine/obj_dataobject.h"
9 #define STDMETHOD(xfn) HRESULT (CALLBACK *fn##xfn)
10 #define STDMETHOD_(type,xfn) type (CALLBACK *fn##xfn)
15 /* forward declaration of the objects*/
16 typedef struct tagOLEADVISEHOLDER *LPOLEADVISEHOLDER, IOleAdviseHolder;
19 /****************************************************************************
23 DEFINE_OLEGUID(IID_IOleAdviseHolder, 0x00000111L, 0, 0);
26 /*****************************************************************************
27 * IOleAdviseHolder interface
29 #define THIS LPOLEADVISEHOLDER this
31 typedef struct IOleAdviseHolder_VTable
33 /*** IUnknown methods ***/
34 STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
35 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
36 STDMETHOD_(ULONG,Release) (THIS) PURE;
38 /*** IOleAdviseHolder methods ***/
39 STDMETHOD(Advise)(THIS_ IAdviseSink *pAdvise, DWORD *pdwConnection) PURE;
40 STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) PURE;
41 STDMETHOD(Enum_Advise)(THIS_ IEnumSTATDATA**ppenumAdvise) PURE;
42 STDMETHOD(SendOnRename)(THIS_ IMoniker *pmk) PURE;
43 STDMETHOD(SendOnSave)(THIS) PURE;
44 STDMETHOD(SendOnClose)(THIS) PURE;
45 } IOleAdviseHolder_VTable, *LPOLEADVISEHOLDER_VTABLE;
47 struct tagOLEADVISEHOLDER
49 LPOLEADVISEHOLDER_VTABLE lpvtbl;
63 #endif /*_WINE_OLEOBJ_H*/