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.

58 lines
1.3 KiB

  1. // SetupClassEnum.h : Declaration of the CSetupClassEnum
  2. #ifndef __SETUPCLASSENUM_H_
  3. #define __SETUPCLASSENUM_H_
  4. #include "resource.h" // main symbols
  5. class CSetupClass;
  6. /////////////////////////////////////////////////////////////////////////////
  7. // CSetupClassEnum
  8. class ATL_NO_VTABLE CSetupClassEnum :
  9. public ISetupClassEnum,
  10. public CComObjectRootEx<CComSingleThreadModel>
  11. {
  12. protected:
  13. CSetupClass** pSetupClasses;
  14. DWORD Count;
  15. DWORD Position;
  16. public:
  17. BOOL CopySetupClasses(CSetupClass ** pArray,DWORD Count);
  18. CSetupClassEnum()
  19. {
  20. Position = 0;
  21. pSetupClasses = NULL;
  22. Count = 0;
  23. }
  24. ~CSetupClassEnum();
  25. DECLARE_PROTECT_FINAL_CONSTRUCT()
  26. BEGIN_COM_MAP(CSetupClassEnum)
  27. COM_INTERFACE_ENTRY(IEnumVARIANT)
  28. COM_INTERFACE_ENTRY(ISetupClassEnum)
  29. END_COM_MAP()
  30. DECLARE_NOT_AGGREGATABLE(CSetupClassEnum)
  31. // ISetupClassEnum
  32. public:
  33. STDMETHOD(Next)(
  34. /*[in]*/ ULONG celt,
  35. /*[out, size_is(celt), length_is(*pCeltFetched)]*/ VARIANT * rgVar,
  36. /*[out]*/ ULONG * pCeltFetched
  37. );
  38. STDMETHOD(Skip)(
  39. /*[in]*/ ULONG celt
  40. );
  41. STDMETHOD(Reset)(
  42. );
  43. STDMETHOD(Clone)(
  44. /*[out]*/ IEnumVARIANT ** ppEnum
  45. );
  46. };
  47. #endif //__SETUPCLASSENUM_H_