Leaked source code of windows server 2003
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.

64 lines
1.3 KiB

  1. /*++
  2. Copyright (C) 1996-1999 Microsoft Corporation
  3. Module Name:
  4. MITENUM.H
  5. History:
  6. --*/
  7. #pragma once
  8. //
  9. // This is the information we enumerate about enumerators.
  10. //
  11. struct EnumInfo
  12. {
  13. const TCHAR *szDescription;
  14. const TCHAR *szAbbreviation;
  15. ULONG ulValue;
  16. };
  17. //
  18. // This class is used as a base for a call-back class when enumerating
  19. // enum values. For each value, the PrecessEnum() method is called.
  20. //
  21. class LTAPIENTRY CEnumCallback
  22. {
  23. public:
  24. virtual BOOL ProcessEnum(const EnumInfo &) = 0;
  25. virtual void SetRange(UINT /* nStart */, UINT /* nFinish */) {}
  26. inline CEnumCallback() {};
  27. private:
  28. CEnumCallback(const CEnumCallback &);
  29. CEnumCallback &operator=(const CEnumCallback &);
  30. };
  31. //
  32. struct WEnumInfo
  33. {
  34. const WCHAR *szDescription;
  35. const WCHAR *szAbbreviation;
  36. ULONG ulValue;
  37. };
  38. //
  39. // This class is used as a base for a call-back class when enumerating
  40. // enum values. For each value, the PrecessEnum() method is called.
  41. //
  42. class LTAPIENTRY CWEnumCallback
  43. {
  44. public:
  45. virtual BOOL ProcessEnum(const WEnumInfo &) = 0;
  46. virtual void SetRange(UINT /* nStart */, UINT /* nFinish */) {}
  47. inline CWEnumCallback() {};
  48. private:
  49. CWEnumCallback(const CWEnumCallback &);
  50. CWEnumCallback &operator=(const CWEnumCallback &);
  51. };