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.5 KiB

  1. // --------------------------------------------------------------------------------
  2. // Enumhead.h
  3. // Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  4. // --------------------------------------------------------------------------------
  5. #ifndef __ENUMHEAD_H
  6. #define __ENUMHEAD_H
  7. // --------------------------------------------------------------------------------
  8. // CMimeEnumHeaderRows
  9. // --------------------------------------------------------------------------------
  10. class CMimeEnumHeaderRows : public IMimeEnumHeaderRows
  11. {
  12. public:
  13. // ---------------------------------------------------------------------------
  14. // Construction
  15. // ---------------------------------------------------------------------------
  16. CMimeEnumHeaderRows(void);
  17. ~CMimeEnumHeaderRows(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 cRows, LPENUMHEADERROW prgRow, ULONG *pcFetched);
  28. STDMETHODIMP Skip(ULONG cRows);
  29. STDMETHODIMP Reset(void);
  30. STDMETHODIMP Clone(IMimeEnumHeaderRows **ppEnum);
  31. STDMETHODIMP Count(ULONG *pcRows);
  32. // ---------------------------------------------------------------------------
  33. // CMimeEnumHeaderRows members
  34. // ---------------------------------------------------------------------------
  35. HRESULT HrInit(ULONG ulIndex, DWORD dwFlags, ULONG cRows, LPENUMHEADERROW prgRow, BOOL fDupArray);
  36. private:
  37. // ---------------------------------------------------------------------------
  38. // Private Data
  39. // ---------------------------------------------------------------------------
  40. LONG m_cRef; // Reference count
  41. DWORD m_dwFlags; // Flags (HEADERFLAGS from mimeole.idl)
  42. ULONG m_ulIndex; // Current enum index
  43. ULONG m_cRows; // Number of lines in prgRow
  44. LPENUMHEADERROW m_prgRow; // Array of header lines being enumerated
  45. CRITICAL_SECTION m_cs; // Critical Section
  46. };
  47. #endif // __ENUMHEAD_H