2 * Defines the COM interfaces and APIs related to EnumIDList
4 * Depends on 'obj_base.h'.
7 #ifndef __WINE_WINE_OBJ_ENUMIDLIST_H
8 #define __WINE_WINE_OBJ_ENUMIDLIST_H
12 #endif /* defined(__cplusplus) */
14 /*****************************************************************************
15 * Predeclare the interfaces
17 typedef struct IEnumIDList IEnumIDList, *LPENUMIDLIST;
19 #define ICOM_INTERFACE IEnumIDList
20 #define IEnumIDList_METHODS \
21 ICOM_METHOD3(HRESULT, Next, ULONG, celt, LPITEMIDLIST*, rgelt, ULONG*, pceltFetched) \
22 ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \
23 ICOM_METHOD (HRESULT, Reset) \
24 ICOM_METHOD1(HRESULT, Clone, IEnumIDList**, ppenum)
25 #define IEnumIDList_IMETHODS \
28 ICOM_DEFINE(IEnumIDList,IUnknown)
31 /*** IUnknown methods ***/
32 #define IEnumIDList_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
33 #define IEnumIDList_AddRef(p) ICOM_CALL (AddRef,p)
34 #define IEnumIDList_Release(p) ICOM_CALL (Release,p)
35 /*** IEnumIDList methods ***/
36 #define IEnumIDList_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
37 #define IEnumIDList_Skip(p,a) ICOM_CALL1(Skip,p,a)
38 #define IEnumIDList_Reset(p) ICOM_CALL(Reset,p)
39 #define IEnumIDList_Clone(p,a) ICOM_CALL1(Clone,p,a)
43 #endif /* defined(__cplusplus) */
45 #endif /* __WINE_WINE_OBJ_ENUMIDLIST_H */