mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
48 lines
1.2 KiB
#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
|