1 #ifndef _WINE_INTERFACES_H
2 #define _WINE_INTERFACES_H
8 #define STDMETHOD(xfn) HRESULT (CALLBACK *fn##xfn)
9 #define STDMETHOD_(ret,xfn) ret (CALLBACK *fn##xfn)
14 /* fixme move to wine/obj_*.h */
15 DEFINE_OLEGUID(IID_IDispatch
, 0x00020400,0,0);
16 DEFINE_OLEGUID(IID_ITypeInfo
, 0x00020401,0,0);
17 DEFINE_OLEGUID(IID_ITypeLib
, 0x00020402,0,0);
18 DEFINE_OLEGUID(IID_ITypeComp
, 0x00020403,0,0);
19 DEFINE_OLEGUID(IID_IEnumVariant
, 0x00020404,0,0);
20 DEFINE_OLEGUID(IID_ICreateTypeInfo
, 0x00020405,0,0);
21 DEFINE_OLEGUID(IID_ICreateTypeLib
, 0x00020406,0,0);
22 DEFINE_OLEGUID(IID_ICreateTypeInfo2
,0x0002040E,0,0);
23 DEFINE_OLEGUID(IID_ICreateTypeLib2
, 0x0002040F,0,0);
24 DEFINE_OLEGUID(IID_ITypeChangeEvents
,0x00020410,0,0);
25 DEFINE_OLEGUID(IID_ITypeLib2
, 0x00020411,0,0);
26 DEFINE_OLEGUID(IID_ITypeInfo2
, 0x00020412,0,0);
27 DEFINE_GUID(IID_IErrorInfo
, 0x1CF2B120,0x547D,0x101B,0x8E,0x65,
28 0x08,0x00, 0x2B,0x2B,0xD1,0x19);
29 DEFINE_GUID(IID_ICreateErrorInfo
, 0x22F03340,0x547D,0x101B,0x8E,0x65,
30 0x08,0x00, 0x2B,0x2B,0xD1,0x19);
31 DEFINE_GUID(IID_ISupportErrorInfo
, 0xDF0B3D60,0x547D,0x101B,0x8E,0x65,
32 0x08,0x00, 0x2B,0x2B,0xD1,0x19);
36 #define THIS LPCLASSFACTORY this
38 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
,LPVOID FAR
* ppvObj
) PURE
;
39 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
40 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
41 STDMETHOD(CreateInstance
) (THIS_ LPUNKNOWN pUnkOuter
, REFIID riid
, LPVOID FAR
* ppvObject
) PURE
;
42 STDMETHOD(LockServer
) (THIS_ BOOL32
) PURE
;
43 } *LPCLASSFACTORY_VTABLE
,IClassFactory_VTable
;
47 #define THIS LPMALLOC32 this
49 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
,LPVOID FAR
* ppvObj
) PURE
;
50 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
51 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
53 STDMETHOD_(LPVOID
,Alloc
) ( THIS_ DWORD cb
);
54 STDMETHOD_(LPVOID
,Realloc
) ( THIS_ LPVOID pv
,DWORD cb
);
55 STDMETHOD_(VOID
,Free
) ( THIS_ LPVOID pv
);
56 STDMETHOD_(DWORD
,GetSize
) ( THIS_ LPVOID pv
);
57 STDMETHOD_(INT32
,DidAlloc
) ( THIS_ LPVOID pv
);
58 STDMETHOD_(LPVOID
,HeapMinimize
) ( THIS
);
59 } *LPMALLOC32_VTABLE
,IMalloc32_VTable
;
63 #define THIS LPMALLOC16 this
65 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
,LPVOID FAR
* ppvObj
) PURE
;
66 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
67 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
69 STDMETHOD_(LPVOID
,Alloc
) ( THIS_ DWORD cb
);
70 STDMETHOD_(LPVOID
,Realloc
) ( THIS_ LPVOID pv
,DWORD cb
);
71 STDMETHOD_(VOID
,Free
) ( THIS_ LPVOID pv
);
72 STDMETHOD_(DWORD
,GetSize
) ( THIS_ LPVOID pv
);
73 STDMETHOD_(INT16
,DidAlloc
) ( THIS_ LPVOID pv
);
74 STDMETHOD_(LPVOID
,HeapMinimize
) ( THIS
);
75 } *LPMALLOC16_VTABLE
,IMalloc16_VTable
;
79 /* private prototypes for the constructors */
81 LPUNKNOWN
IUnknown_Constructor(void);
82 LPMALLOC16
IMalloc16_Constructor(void);
83 LPMALLOC32
IMalloc32_Constructor(void);
86 HRESULT WINAPI
CoGetMalloc32(DWORD
, LPMALLOC32
*);
93 #endif /*_WINE_INTERFACES_H*/