Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenenumidlist.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
1.7.6.1
|