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.

56 lines
1.2 KiB

  1. //*******************************************************************************************
  2. //
  3. // Filename : Enum.h
  4. //
  5. // Definition of CEnumCabObjs
  6. //
  7. // Copyright (c) 1994 - 1996 Microsoft Corporation. All rights reserved
  8. //
  9. //*******************************************************************************************
  10. #ifndef _ENUM_H_
  11. #define _ENUM_H_
  12. #include "folder.h"
  13. // Enumeration object for the CabFolder
  14. class CEnumCabObjs : public IEnumIDList
  15. {
  16. public:
  17. CEnumCabObjs(CCabFolder *pcf, DWORD uFlags) : m_iCount(0)
  18. {
  19. m_uFlags = uFlags;
  20. m_pcfThis=pcf;
  21. pcf->AddRef();
  22. }
  23. ~CEnumCabObjs()
  24. {
  25. m_pcfThis->Release();
  26. }
  27. // *** IUnknown methods ***
  28. STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
  29. STDMETHODIMP_(ULONG) AddRef();
  30. STDMETHODIMP_(ULONG) Release();
  31. // *** IEnumIDList methods ***
  32. STDMETHODIMP Next(ULONG celt,
  33. LPITEMIDLIST *rgelt,
  34. ULONG *pceltFetched);
  35. STDMETHODIMP Skip(ULONG celt);
  36. STDMETHODIMP Reset();
  37. STDMETHODIMP Clone(IEnumIDList **ppenum);
  38. private:
  39. CRefDll m_cRefDll;
  40. CRefCount m_cRef;
  41. CCabFolder *m_pcfThis;
  42. UINT m_iCount;
  43. DWORD m_uFlags;
  44. } ;
  45. #endif // _ENUM_H_