48 lines
1.2 KiB
C
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
|