Added prototypes for OleQueryLinkFromClip, OleQueryCreateFromClip,
[wine] / include / oleobj.h
1 #ifndef _WINE_OLEOBJ_H
2 #define _WINE_OLEOBJ_H
3
4 #include "wine/obj_base.h"
5 #include "wine/obj_storage.h"
6 #include "wine/obj_moniker.h"
7 #include "wine/obj_dataobject.h"
8
9 #define STDMETHOD(xfn) HRESULT (CALLBACK *fn##xfn)
10 #define STDMETHOD_(type,xfn) type (CALLBACK *fn##xfn)
11 #define PURE
12 #define FAR
13 #define THIS_ THIS,
14
15 /* forward declaration of the objects*/
16 typedef struct tagOLEADVISEHOLDER       *LPOLEADVISEHOLDER,     IOleAdviseHolder;
17
18
19 /****************************************************************************
20  *  OLE ID
21  */
22
23 DEFINE_OLEGUID(IID_IOleAdviseHolder, 0x00000111L, 0, 0);
24
25
26 /*****************************************************************************
27  * IOleAdviseHolder interface
28  */
29 #define THIS LPOLEADVISEHOLDER this
30
31 typedef struct IOleAdviseHolder_VTable
32 {
33     /*** IUnknown methods ***/
34     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
35     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
36     STDMETHOD_(ULONG,Release) (THIS) PURE;
37
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;
46
47 struct tagOLEADVISEHOLDER
48 {
49     LPOLEADVISEHOLDER_VTABLE lpvtbl;
50     DWORD                    ref;
51 };
52
53 #undef THIS
54
55
56
57 #undef PURE
58 #undef FAR
59 #undef THIS
60 #undef THIS_
61 #undef STDMETHOD
62 #undef STDMETHOD_
63 #endif /*_WINE_OLEOBJ_H*/
64