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.

54 lines
1.1 KiB

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