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*/