Added Interlocked*Pointer functions.
[wine/hacks.git] / dlls / ole32 / ifs.h
blob9ba9ab0fe3d1b7ed8aff0bcd305891ad06d326e5
1 #ifndef __WINE_OLE_IFS_H
2 #define __WINE_OLE_IFS_H
4 #include "wine/obj_base.h"
6 /***********************************************************************
7 * IMalloc16 interface
8 */
10 typedef struct IMalloc16 IMalloc16, *LPMALLOC16;
12 #define ICOM_INTERFACE IMalloc16
13 #define IMalloc16_METHODS \
14 ICOM_METHOD1 (LPVOID, Alloc, DWORD, cb) \
15 ICOM_METHOD2 (LPVOID, Realloc, LPVOID, pv, DWORD, cb) \
16 ICOM_VMETHOD1( Free, LPVOID, pv) \
17 ICOM_METHOD1 (DWORD, GetSize, LPVOID, pv) \
18 ICOM_METHOD1 (INT16, DidAlloc, LPVOID, pv) \
19 ICOM_METHOD (LPVOID, HeapMinimize)
20 #define IMalloc16_IMETHODS \
21 IUnknown_IMETHODS \
22 IMalloc16_METHODS
23 ICOM_DEFINE(IMalloc16,IUnknown)
24 #undef ICOM_INTERFACE
26 /*** IUnknown methods ***/
27 #define IMalloc16_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
28 #define IMalloc16_AddRef(p) ICOM_CALL (AddRef,p)
29 #define IMalloc16_Release(p) ICOM_CALL (Release,p)
30 /*** IMalloc16 methods ***/
31 #define IMalloc16_Alloc(p,a) ICOM_CALL1(Alloc,p,a)
32 #define IMalloc16_Realloc(p,a,b) ICOM_CALL2(Realloc,p,a,b)
33 #define IMalloc16_Free(p,a) ICOM_CALL1(Free,p,a)
34 #define IMalloc16_GetSize(p,a) ICOM_CALL1(GetSize,p,a)
35 #define IMalloc16_DidAlloc(p,a) ICOM_CALL1(DidAlloc,p,a)
36 #define IMalloc16_HeapMinimize(p) ICOM_CALL (HeapMinimize,p)
38 /**********************************************************************/
40 extern LPMALLOC16 IMalloc16_Constructor();
41 extern LPMALLOC IMalloc_Constructor();
43 #endif /* __WINE_OLE_IFS_H */