wine/include/oleobj.h
1998-11-22 18:06:33 +00:00

72 lines
1.7 KiB
C

#ifndef _WINE_OLEOBJ_H
#define _WINE_OLEOBJ_H
#include "ole.h"
#include "ole2.h"
#include "compobj.h"
// #include "interfaces.h"
#define STDMETHOD(xfn) HRESULT (CALLBACK *fn##xfn)
#define STDMETHOD_(type,xfn) type (CALLBACK *fn##xfn)
#define PURE
#define FAR
#define THIS_ THIS,
#define __T(x) x
#define _T(x) __T(x)
#define TEXT _T
/* forward declaration of the objects*/
typedef struct tagOLEADVISEHOLDER *LPOLEADVISEHOLDER, IOleAdviseHolder;
typedef struct tagADVISESINK *LPADVISESINK, IAdviseSink;
typedef struct tagENUMSTATDATA *LPENUMSTATDATA, IEnumSTATDATA;
/****************************************************************************
* OLE ID
*/
DEFINE_OLEGUID(IID_IOleAdviseHolder, 0x00000111L, 0, 0);
/*****************************************************************************
* IOleAdviseHolder interface
*/
#define THIS LPOLEADVISEHOLDER this
typedef struct IOleAdviseHolder_VTable
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/*** IOleAdviseHolder methods ***/
STDMETHOD(Advise)(THIS_ IAdviseSink *pAdvise, DWORD *pdwConnection) PURE;
STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) PURE;
STDMETHOD(Enum_Advise)(THIS_ IEnumSTATDATA**ppenumAdvise) PURE;
STDMETHOD(SendOnRename)(THIS_ IMoniker *pmk) PURE;
STDMETHOD(SendOnSave)(THIS) PURE;
STDMETHOD(SendOnClose)(THIS) PURE;
} IOleAdviseHolder_VTable, *LPOLEADVISEHOLDER_VTABLE;
struct tagOLEADVISEHOLDER
{
LPOLEADVISEHOLDER_VTABLE lpvtbl;
DWORD ref;
};
#undef THIS
#undef PURE
#undef FAR
#undef THIS
#undef THIS_
#undef STDMETHOD
#undef STDMETHOD_
#endif /*_WINE_OLEOBJ_H*/