Windows2000/private/shell/shell32/ftenum.h
2020-09-30 17:12:32 +02:00

48 lines
1.2 KiB
C++

#ifndef FTENUM_H
#define FTENUM_H
#include "ascstr.h"
class CFTEnumAssocInfo : public IEnumAssocInfo
{
public:
CFTEnumAssocInfo();
~CFTEnumAssocInfo();
public:
// IUnknown methods
STDMETHOD(QueryInterface)(REFIID riid, PVOID* ppv);
STDMETHOD_(ULONG, AddRef)();
STDMETHOD_(ULONG,Release)();
// IEnumAssocInfo methods
// Initialization
STDMETHOD(Init)(ASENUM asenumFlags, LPTSTR pszStr,
AIINIT aiinitFlags);
// Standard IEnum methods
STDMETHOD(Next)(IAssocInfo** ppAI);
STDMETHOD(Skip)(DWORD dwSkip);
STDMETHOD(Reset)();
STDMETHOD(Clone)(IEnumAssocInfo* pEnum);
protected:
STDMETHOD(_EnumHKCR)(ASENUM asenumFlags, LPTSTR pszStr,
DWORD* pcchStr);
STDMETHOD(_EnumProgIDActions)(LPTSTR pszStr, DWORD* pcchStr);
STDMETHOD_(BOOL, _EnumKCRSkip)(DWORD asenumFlags, LPTSTR pszExt);
STDMETHOD_(BOOL, _EnumKCRStop)(DWORD asenumFlags, LPTSTR pszExt);
protected:
LONG _cRef;
ASENUM _asenumFlags;
TCHAR _szInitStr[MAX_FTMAX];
AIINIT _aiinitFlags;
BOOL _fFirstExtFound;
DWORD _dwIndex;
};
#endif //FTENUM_H