ReactOS  0.4.14-dev-1112-g2b067d6
CEnumIDListBase.h
Go to the documentation of this file.
1 /*
2  * This library is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU Lesser General Public
4  * License as published by the Free Software Foundation; either
5  * version 2.1 of the License, or (at your option) any later version.
6  *
7  * This library is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10  * Lesser General Public License for more details.
11  *
12  * You should have received a copy of the GNU Lesser General Public
13  * License along with this library; if not, write to the Free Software
14  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
15  */
16 
17 #ifndef __ENUMIDLIST_H__
18 #define __ENUMIDLIST_H__
19 
20 struct ENUMLIST
21 {
24 };
25 
27  public CComObjectRootEx<CComMultiThreadModelNoCS>,
28  public IEnumIDList
29 {
30 private:
34 public:
36  virtual ~CEnumIDListBase();
38  BOOL DeleteList();
41 
42  // *** IEnumIDList methods ***
43  virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, LPITEMIDLIST *rgelt, ULONG *pceltFetched);
44  virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt);
46  virtual HRESULT STDMETHODCALLTYPE Clone(IEnumIDList **ppenum);
47 
49  COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList)
51 };
52 
53 #endif /* __ENUMIDLIST_H__ */
BOOL HasItemWithCLSID(LPITEMIDLIST pidl)
BOOL AddToEnumList(LPITEMIDLIST pidl)
LPITEMIDLIST pidl
virtual HRESULT STDMETHODCALLTYPE Clone(IEnumIDList **ppenum)
ENUMLIST * mpLast
virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, LPITEMIDLIST *rgelt, ULONG *pceltFetched)
unsigned int BOOL
Definition: ntddk_ex.h:94
virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt)
ENUMLIST * pNext
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:541
LONG HRESULT
Definition: typedefs.h:78
ENUMLIST * mpFirst
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
HRESULT AppendItemsFromEnumerator(IEnumIDList *pEnum)
ENUMLIST * mpCurrent
virtual HRESULT STDMETHODCALLTYPE Reset()
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:561
virtual ~CEnumIDListBase()
unsigned int ULONG
Definition: retypes.h:1
#define END_COM_MAP()
Definition: atlcom.h:552
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41