40 lines
867 B
C
40 lines
867 B
C
|
#ifndef __STGENUM_H__
|
||
|
#define __STGENUM_H__
|
||
|
|
||
|
|
||
|
// IEnumSTATSTG for CFSFolder's IStorage implementation.
|
||
|
|
||
|
class CFSFolderEnumSTATSTG : public IEnumSTATSTG
|
||
|
{
|
||
|
public:
|
||
|
// IUnknown
|
||
|
STDMETHOD(QueryInterface)(REFIID riid, void **ppvObj);
|
||
|
STDMETHOD_(ULONG, AddRef)();
|
||
|
STDMETHOD_(ULONG, Release)();
|
||
|
|
||
|
// IEnumSTATSTG
|
||
|
STDMETHOD(Skip)(ULONG celt)
|
||
|
{ return E_NOTIMPL; };
|
||
|
STDMETHOD(Clone)(IEnumSTATSTG **ppenum)
|
||
|
{ return E_NOTIMPL; };
|
||
|
STDMETHOD(Next)(ULONG celt, STATSTG *rgelt, ULONG *pceltFetched);
|
||
|
STDMETHOD(Reset)();
|
||
|
|
||
|
protected:
|
||
|
CFSFolderEnumSTATSTG(CFSFolder* psf);
|
||
|
~CFSFolderEnumSTATSTG();
|
||
|
|
||
|
private:
|
||
|
LONG _cRef;
|
||
|
CFSFolder* _pfsf; // fs folder
|
||
|
|
||
|
int _cIndex;
|
||
|
TCHAR _szSearch[MAX_PATH];
|
||
|
HANDLE _hFindFile;
|
||
|
|
||
|
friend CFSFolder;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // __STGENUM_H__
|