Source code of Windows XP (NT5)
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.

47 lines
1.2 KiB

  1. #ifndef FTENUM_H
  2. #define FTENUM_H
  3. #include "ascstr.h"
  4. class CFTEnumAssocInfo : public IEnumAssocInfo
  5. {
  6. public:
  7. CFTEnumAssocInfo();
  8. ~CFTEnumAssocInfo();
  9. public:
  10. // IUnknown methods
  11. STDMETHOD(QueryInterface)(REFIID riid, PVOID* ppv);
  12. STDMETHOD_(ULONG, AddRef)();
  13. STDMETHOD_(ULONG,Release)();
  14. // IEnumAssocInfo methods
  15. // Initialization
  16. STDMETHOD(Init)(ASENUM asenumFlags, LPTSTR pszStr,
  17. AIINIT aiinitFlags);
  18. // Standard IEnum methods
  19. STDMETHOD(Next)(IAssocInfo** ppAI);
  20. STDMETHOD(Skip)(DWORD dwSkip);
  21. STDMETHOD(Reset)();
  22. STDMETHOD(Clone)(IEnumAssocInfo* pEnum);
  23. protected:
  24. STDMETHOD(_EnumHKCR)(ASENUM asenumFlags, LPTSTR pszStr,
  25. DWORD* pcchStr);
  26. STDMETHOD(_EnumProgIDActions)(LPTSTR pszStr, DWORD* pcchStr);
  27. STDMETHOD_(BOOL, _EnumKCRSkip)(DWORD asenumFlags, LPTSTR pszExt);
  28. STDMETHOD_(BOOL, _EnumKCRStop)(DWORD asenumFlags, LPTSTR pszExt);
  29. protected:
  30. LONG _cRef;
  31. ASENUM _asenumFlags;
  32. TCHAR _szInitStr[MAX_FTMAX];
  33. AIINIT _aiinitFlags;
  34. BOOL _fFirstExtFound;
  35. DWORD _dwIndex;
  36. };
  37. #endif //FTENUM_H