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.

48 lines
1021 B

  1. /*
  2. * enumfmte.hpp - EnumFormatEtc class description.
  3. */
  4. /* Classes
  5. **********/
  6. class EnumFormatEtc : public RefCount,
  7. public IEnumFORMATETC
  8. {
  9. private:
  10. PFORMATETC m_pfmtetc;
  11. ULONG m_ulcFormats;
  12. ULONG m_uliCurrent;
  13. public:
  14. EnumFormatEtc(CFORMATETC rgcfmtetc[], ULONG ulcFormats);
  15. ~EnumFormatEtc(void);
  16. // IEnumFormatEtc methods
  17. HRESULT STDMETHODCALLTYPE Next(ULONG ulcToFetch, PFORMATETC pfmtetc, PULONG pulcFetched);
  18. HRESULT STDMETHODCALLTYPE Skip(ULONG ulcToSkip);
  19. HRESULT STDMETHODCALLTYPE Reset(void);
  20. HRESULT STDMETHODCALLTYPE Clone(PIEnumFORMATETC *ppiefe);
  21. // IUnknown methods
  22. ULONG STDMETHODCALLTYPE AddRef(void);
  23. ULONG STDMETHODCALLTYPE Release(void);
  24. HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, PVOID *ppvObj);
  25. // other methods
  26. HRESULT STDMETHODCALLTYPE Status(void);
  27. // friends
  28. #ifdef DEBUG
  29. friend BOOL IsValidPCEnumFormatEtc(const EnumFormatEtc *pcefe);
  30. #endif
  31. };
  32. DECLARE_STANDARD_TYPES(EnumFormatEtc);