Yet another attempt at fixing CW_USEDEFAULT handling.
[wine.git] / include / wine / obj_enumidlist.h
blobcadfb5227b3610bf276c4efe637195beb28cd61d
1 /*
2 * Defines the COM interfaces and APIs related to EnumIDList
4 * Depends on 'obj_base.h'.
5 */
7 #ifndef __WINE_WINE_OBJ_ENUMIDLIST_H
8 #define __WINE_WINE_OBJ_ENUMIDLIST_H
10 #include "wine/obj_base.h"
11 #include "shell.h"
12 #include "winbase.h"
14 #ifdef __cplusplus
15 extern "C" {
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 \
31 IUnknown_IMETHODS \
32 IEnumIDList_METHODS
33 ICOM_DEFINE(IEnumIDList,IUnknown)
34 #undef ICOM_INTERFACE
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)
46 #ifdef __cplusplus
47 } /* extern "C" */
48 #endif /* defined(__cplusplus) */
50 #endif /* __WINE_WINE_OBJ_ENUMIDLIST_H */