ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

enumidlist.h
Go to the documentation of this file.
00001 /*
00002  * This library is free software; you can redistribute it and/or
00003  * modify it under the terms of the GNU Lesser General Public
00004  * License as published by the Free Software Foundation; either
00005  * version 2.1 of the License, or (at your option) any later version.
00006  *
00007  * This library is distributed in the hope that it will be useful,
00008  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00009  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00010  * Lesser General Public License for more details.
00011  *
00012  * You should have received a copy of the GNU Lesser General Public
00013  * License along with this library; if not, write to the Free Software
00014  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00015  */
00016 #ifndef __ENUMIDLIST_H__
00017 #define __ENUMIDLIST_H__
00018 
00019 #include "shlobj.h"
00020 
00021 struct ENUMLIST
00022 {
00023     ENUMLIST                *pNext;
00024     LPITEMIDLIST            pidl;
00025 };
00026 
00027 class IEnumIDListImpl :
00028     public CComObjectRootEx<CComMultiThreadModelNoCS>,
00029     public IEnumIDList
00030 {
00031 private:
00032     ENUMLIST                *mpFirst;
00033     ENUMLIST                *mpLast;
00034     ENUMLIST                *mpCurrent;
00035 public:
00036     IEnumIDListImpl();
00037     ~IEnumIDListImpl();
00038     BOOL AddToEnumList(LPITEMIDLIST pidl);
00039     BOOL DeleteList();
00040     BOOL HasItemWithCLSID(LPITEMIDLIST pidl);
00041     BOOL CreateFolderEnumList(LPCWSTR lpszPath, DWORD dwFlags);
00042 
00043     // *** IEnumIDList methods ***
00044     virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, LPITEMIDLIST *rgelt, ULONG *pceltFetched);
00045     virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt);
00046     virtual HRESULT STDMETHODCALLTYPE Reset();
00047     virtual HRESULT STDMETHODCALLTYPE Clone(IEnumIDList **ppenum);
00048 
00049 BEGIN_COM_MAP(IEnumIDListImpl)
00050     COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList)
00051 END_COM_MAP()
00052 };
00053 
00054 #endif /* ndef __ENUMIDLIST_H__ */

Generated on Sat May 26 2012 04:24:54 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.