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.

47 lines
2.0 KiB

  1. //--------------------------------------------------------------------------
  2. // EnumMsgs.h
  3. //--------------------------------------------------------------------------
  4. #pragma once
  5. //--------------------------------------------------------------------------
  6. // CEnumerateMessages
  7. //--------------------------------------------------------------------------
  8. class CEnumerateMessages : public IUnknown
  9. {
  10. public:
  11. //----------------------------------------------------------------------
  12. // CEnumerateMessages
  13. //----------------------------------------------------------------------
  14. CEnumerateMessages(void);
  15. ~CEnumerateMessages(void);
  16. //----------------------------------------------------------------------
  17. // IUnknown Members
  18. //----------------------------------------------------------------------
  19. STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
  20. STDMETHODIMP_(ULONG) AddRef(void);
  21. STDMETHODIMP_(ULONG) Release(void);
  22. //----------------------------------------------------------------------
  23. // CEnumerateMessages Members
  24. //----------------------------------------------------------------------
  25. HRESULT Initialize(IDatabase *pDB, MESSAGEID idParent);
  26. //----------------------------------------------------------------------
  27. // IEnumerateFolders Members
  28. //----------------------------------------------------------------------
  29. STDMETHODIMP Next(ULONG cFetch, LPMESSAGEINFO prgInfo, ULONG *pcFetched);
  30. STDMETHODIMP Skip(ULONG cItems);
  31. STDMETHODIMP Reset(void);
  32. STDMETHODIMP Clone(CEnumerateMessages **ppEnum);
  33. STDMETHODIMP Count(ULONG *pcItems);
  34. private:
  35. //----------------------------------------------------------------------
  36. // Private Data
  37. //----------------------------------------------------------------------
  38. LONG m_cRef;
  39. HROWSET m_hRowset;
  40. MESSAGEID m_idParent;
  41. IDatabase *m_pDB;
  42. };