1 #ifndef _WINE_INTERFACES_H
2 #define _WINE_INTERFACES_H
8 DEFINE_OLEGUID(IID_IUnknown
,0,0,0);
9 DEFINE_OLEGUID(IID_IClassFactory
,1,0,0);
10 DEFINE_OLEGUID(IID_IMalloc
,2,0,0);
11 DEFINE_OLEGUID(IID_IMarshal
,3,0,0);
12 DEFINE_OLEGUID(IID_IStorage
,0xb,0,0);
13 DEFINE_OLEGUID(IID_IStream
,0xc,0,0);
14 DEFINE_OLEGUID(IID_IBindCtx
,0xe,0,0);
15 DEFINE_OLEGUID(IID_IMoniker
,0xf,0,0);
16 DEFINE_OLEGUID(IID_IRunningObject
,0x10,0,0);
17 DEFINE_OLEGUID(IID_IRootStorage
,0x12,0,0);
18 DEFINE_OLEGUID(IID_IMessageFilter
,0x16,0,0);
19 DEFINE_OLEGUID(IID_IStdMarshalInfo
,0x18,0,0);
21 typedef struct tagUNKNOWN
*LPUNKNOWN
,IUnknown
;
23 HRESULT (CALLBACK
*fnQueryInterface
)(LPUNKNOWN
this,REFIID refiid
,LPVOID
*obj
);
24 HRESULT (CALLBACK
*fnAddRef
)(LPUNKNOWN
this);
25 HRESULT (CALLBACK
*fnRelease
)(LPUNKNOWN
this);
29 LPUNKNOWN_VTABLE lpvtbl
;
30 /* internal stuff. Not needed until we actually implement IUnknown */
33 typedef struct tagCLASSFACTORY
*LPCLASSFACTORY
,IClassFactory
;
35 HRESULT (CALLBACK
*fnQueryInterface
)(LPCLASSFACTORY
this,REFIID refiid
,LPVOID
*obj
);
36 HRESULT (CALLBACK
*fnAddRef
)(LPCLASSFACTORY
this);
37 HRESULT (CALLBACK
*fnRelease
)(LPCLASSFACTORY
this);
38 HRESULT (CALLBACK
*fnCreateInstance
)(LPCLASSFACTORY
this,LPUNKNOWN pUnkOuter
,REFIID riid
,LPVOID
* ppvObject
);
39 } *LPCLASSFACTORY_VTABLE
;
41 struct tagCLASSFACTORY
{
42 LPCLASSFACTORY_VTABLE lpvtbl
;
43 /*internal stuff. Not needed until we actually implement IClassFactory*/
45 #endif /*_WINE_INTERFACES_H*/