34 lines
893 B
C
34 lines
893 B
C
|
#ifndef __CONTROL_ENUM__
|
||
|
#define __CONTROL_ENUM__
|
||
|
|
||
|
#include "general.h"
|
||
|
|
||
|
class CControlFolderEnum : public IEnumIDList
|
||
|
{
|
||
|
public:
|
||
|
CControlFolderEnum(STRRET &str, LPCITEMIDLIST pidl, UINT shcontf);
|
||
|
|
||
|
// IUnknown Methods
|
||
|
STDMETHODIMP QueryInterface(REFIID,void **);
|
||
|
STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
STDMETHODIMP_(ULONG) Release(void);
|
||
|
|
||
|
// IEnumIDList Methods
|
||
|
STDMETHODIMP Next(ULONG celt, LPITEMIDLIST *rgelt, ULONG *pceltFetched);
|
||
|
STDMETHODIMP Skip(ULONG celt);
|
||
|
STDMETHODIMP Reset();
|
||
|
STDMETHODIMP Clone(LPENUMIDLIST *ppenum);
|
||
|
|
||
|
protected:
|
||
|
~CControlFolderEnum();
|
||
|
|
||
|
UINT m_cRef; // ref count
|
||
|
UINT m_shcontf; // enumeration flags
|
||
|
LPMALLOC m_pMalloc;
|
||
|
HANDLE m_hEnumControl;
|
||
|
BOOL m_bEnumStarted;
|
||
|
TCHAR m_szCachePath[MAX_PATH];
|
||
|
};
|
||
|
|
||
|
#endif
|