7 // #include "interfaces.h"
9 #define STDMETHOD(xfn) HRESULT (CALLBACK *fn##xfn)
10 #define STDMETHOD_(type,xfn) type (CALLBACK *fn##xfn)
20 /* forward declaration of the objects*/
21 typedef struct tagOLEADVISEHOLDER
*LPOLEADVISEHOLDER
, IOleAdviseHolder
;
22 typedef struct tagADVISESINK
*LPADVISESINK
, IAdviseSink
;
23 typedef struct tagENUMSTATDATA
*LPENUMSTATDATA
, IEnumSTATDATA
;
26 /****************************************************************************
30 DEFINE_OLEGUID(IID_IOleAdviseHolder
, 0x00000111L
, 0, 0);
33 /*****************************************************************************
34 * IOleAdviseHolder interface
36 #define THIS LPOLEADVISEHOLDER this
38 typedef struct IOleAdviseHolder_VTable
40 /*** IUnknown methods ***/
41 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, LPVOID
* ppvObj
) PURE
;
42 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
43 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
45 /*** IOleAdviseHolder methods ***/
46 STDMETHOD(Advise
)(THIS_ IAdviseSink
*pAdvise
, DWORD
*pdwConnection
) PURE
;
47 STDMETHOD(Unadvise
)(THIS_ DWORD dwConnection
) PURE
;
48 STDMETHOD(Enum_Advise
)(THIS_ IEnumSTATDATA
**ppenumAdvise
) PURE
;
49 STDMETHOD(SendOnRename
)(THIS_ IMoniker
*pmk
) PURE
;
50 STDMETHOD(SendOnSave
)(THIS
) PURE
;
51 STDMETHOD(SendOnClose
)(THIS
) PURE
;
52 } IOleAdviseHolder_VTable
, *LPOLEADVISEHOLDER_VTABLE
;
54 struct tagOLEADVISEHOLDER
56 LPOLEADVISEHOLDER_VTABLE lpvtbl
;
70 #endif /*_WINE_OLEOBJ_H*/