7 // #include "interfaces.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
;
17 typedef struct tagADVISESINK
*LPADVISESINK
, IAdviseSink
;
18 typedef struct tagENUMSTATDATA
*LPENUMSTATDATA
, IEnumSTATDATA
;
21 /****************************************************************************
25 DEFINE_OLEGUID(IID_IOleAdviseHolder
, 0x00000111L
, 0, 0);
28 /*****************************************************************************
29 * IOleAdviseHolder interface
31 #define THIS LPOLEADVISEHOLDER this
33 typedef struct IOleAdviseHolder_VTable
35 /*** IUnknown methods ***/
36 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, LPVOID
* ppvObj
) PURE
;
37 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
38 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
40 /*** IOleAdviseHolder methods ***/
41 STDMETHOD(Advise
)(THIS_ IAdviseSink
*pAdvise
, DWORD
*pdwConnection
) PURE
;
42 STDMETHOD(Unadvise
)(THIS_ DWORD dwConnection
) PURE
;
43 STDMETHOD(Enum_Advise
)(THIS_ IEnumSTATDATA
**ppenumAdvise
) PURE
;
44 STDMETHOD(SendOnRename
)(THIS_ IMoniker
*pmk
) PURE
;
45 STDMETHOD(SendOnSave
)(THIS
) PURE
;
46 STDMETHOD(SendOnClose
)(THIS
) PURE
;
47 } IOleAdviseHolder_VTable
, *LPOLEADVISEHOLDER_VTABLE
;
49 struct tagOLEADVISEHOLDER
51 LPOLEADVISEHOLDER_VTABLE lpvtbl
;
65 #endif /*_WINE_OLEOBJ_H*/