- adapted kernel32 so that it no longer (directly) manages console
[wine.git] / include / wine / obj_enumidlist.h
blob578e6509ea9333867d2c9454abc5d378d6fe7623
1 /*
2 * Defines the COM interfaces and APIs related to EnumIDList
4 * Depends on 'obj_base.h'.
6 * Copyright (C) 1999 Juergen Schmied
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #ifndef __WINE_WINE_OBJ_ENUMIDLIST_H
24 #define __WINE_WINE_OBJ_ENUMIDLIST_H
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* defined(__cplusplus) */
30 /*****************************************************************************
31 * Predeclare the interfaces
33 typedef struct IEnumIDList IEnumIDList, *LPENUMIDLIST;
35 #define INTERFACE IEnumIDList
36 #define IEnumIDList_METHODS \
37 IUnknown_METHODS \
38 STDMETHOD(Next)(THIS_ ULONG celt, LPITEMIDLIST * rgelt, ULONG * pceltFetched) PURE; \
39 STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
40 STDMETHOD(Reset)(THIS) PURE; \
41 STDMETHOD(Clone)(THIS_ IEnumIDList ** ppenum) PURE;
42 ICOM_DEFINE(IEnumIDList,IUnknown)
43 #undef INTERFACE
45 #ifdef COBJMACROS
46 /*** IUnknown methods ***/
47 #define IEnumIDList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
48 #define IEnumIDList_AddRef(p) (p)->lpVtbl->AddRef(p)
49 #define IEnumIDList_Release(p) (p)->lpVtbl->Release(p)
50 /*** IEnumIDList methods ***/
51 #define IEnumIDList_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
52 #define IEnumIDList_Skip(p,a) (p)->lpVtbl->Skip(p,a)
53 #define IEnumIDList_Reset(p) (p)->lpVtbl->Reset(p)
54 #define IEnumIDList_Clone(p,a) (p)->lpVtbl->Clone(p,a)
55 #endif
57 #ifdef __cplusplus
58 } /* extern "C" */
59 #endif /* defined(__cplusplus) */
61 #endif /* __WINE_WINE_OBJ_ENUMIDLIST_H */