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.

52 lines
2.4 KiB

  1. // --------------------------------------------------------------------------------
  2. // Enumprop.h
  3. // Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  4. // --------------------------------------------------------------------------------
  5. #ifndef __ENUMPROP_H
  6. #define __ENUMPROP_H
  7. // --------------------------------------------------------------------------------
  8. // CMimeEnumProperties
  9. // --------------------------------------------------------------------------------
  10. class CMimeEnumProperties : public IMimeEnumProperties
  11. {
  12. public:
  13. // ---------------------------------------------------------------------------
  14. // Construction
  15. // ---------------------------------------------------------------------------
  16. CMimeEnumProperties(void);
  17. ~CMimeEnumProperties(void);
  18. // ---------------------------------------------------------------------------
  19. // IUnknown members
  20. // ---------------------------------------------------------------------------
  21. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  22. STDMETHODIMP_(ULONG) AddRef(void);
  23. STDMETHODIMP_(ULONG) Release(void);
  24. // ---------------------------------------------------------------------------
  25. // IMimeEnumHeaderRows members
  26. // ---------------------------------------------------------------------------
  27. STDMETHODIMP Next(ULONG cProps, LPENUMPROPERTY prgProp, ULONG *pcFetched);
  28. STDMETHODIMP Skip(ULONG cProps);
  29. STDMETHODIMP Reset(void);
  30. STDMETHODIMP Clone(IMimeEnumProperties **ppEnum);
  31. STDMETHODIMP Count(ULONG *pcProps);
  32. // ---------------------------------------------------------------------------
  33. // CMimeEnumProperties members
  34. // ---------------------------------------------------------------------------
  35. HRESULT HrInit(ULONG ulIndex, ULONG cProps, LPENUMPROPERTY prgProp, BOOL fDupArray);
  36. private:
  37. // ---------------------------------------------------------------------------
  38. // Private Data
  39. // ---------------------------------------------------------------------------
  40. LONG m_cRef; // Reference count
  41. ULONG m_ulIndex; // Current enum index
  42. ULONG m_cProps; // Number of lines in prgRow
  43. LPENUMPROPERTY m_prgProp; // Array of header lines being enumerated
  44. CRITICAL_SECTION m_cs; // Critical Section
  45. };
  46. #endif // __ENUMPROP_H