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
10 #include "wine/obj_base.h"
16 #endif /* defined(__cplusplus) */
18 /*****************************************************************************
19 * Predeclare the interfaces
21 DEFINE_SHLGUID(IID_IEnumIDList
, 0x000214F2L
, 0, 0);
22 typedef struct IEnumIDList IEnumIDList
, *LPENUMIDLIST
;
24 #define ICOM_INTERFACE IEnumIDList
25 #define IEnumIDList_METHODS \
26 ICOM_METHOD3(HRESULT, Next, ULONG, celt, LPITEMIDLIST*, rgelt, ULONG*, pceltFetched) \
27 ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \
28 ICOM_METHOD (HRESULT, Reset) \
29 ICOM_METHOD1(HRESULT, Clone, IEnumIDList**, ppenum)
30 #define IEnumIDList_IMETHODS \
33 ICOM_DEFINE(IEnumIDList
,IUnknown
)
36 /*** IUnknown methods ***/
37 #define IEnumIDList_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
38 #define IEnumIDList_AddRef(p) ICOM_CALL (AddRef,p)
39 #define IEnumIDList_Release(p) ICOM_CALL (Release,p)
40 /*** IEnumIDList methods ***/
41 #define IEnumIDList_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
42 #define IEnumIDList_Skip(p,a) ICOM_CALL1(Skip,p,a)
43 #define IEnumIDList_Reset(p) ICOM_CALL(Reset,p)
44 #define IEnumIDList_Clone(p,a) ICOM_CALL1(Clone,p,a)
48 #endif /* defined(__cplusplus) */
50 #endif /* __WINE_WINE_OBJ_ENUMIDLIST_H */