1 #ifndef __ECORE_WIN32_DND_ENUMFORMATETC_H__
2 #define __ECORE_WIN32_DND_ENUMFORMATETC_H__
5 #define WIN32_LEAN_AND_MEAN
7 #undef WIN32_LEAN_AND_MEAN
11 class CEnumFormatEtc : public IEnumFORMATETC
15 LONG ref_count_; // Reference count for this COM interface
16 ULONG index_; // current enumerator index
17 ULONG formats_num_; // number of FORMATETC members
18 FORMATETC *format_etc_; // array of FORMATETC objects
22 CEnumFormatEtc(FORMATETC *pFormatEtc, int nNumFormats);
28 HRESULT __stdcall QueryInterface (REFIID iid, void ** ppvObject);
30 ULONG __stdcall AddRef (void);
32 ULONG __stdcall Release (void);
34 public: // IEnumFormatEtc
36 HRESULT __stdcall Next (ULONG celt, FORMATETC * rgelt, ULONG * pceltFetched);
38 HRESULT __stdcall Skip (ULONG celt);
40 HRESULT __stdcall Reset (void);
42 HRESULT __stdcall Clone (IEnumFORMATETC ** ppEnumFormatEtc);
45 void DeepCopyFormatEtc(FORMATETC *dest, FORMATETC *source);
47 HRESULT CreateEnumFormatEtc(UINT cfmt, FORMATETC *afmt, IEnumFORMATETC **ppEnumFormatEtc);
50 #endif /* __ECORE_WIN32_DND_ENUMFORMATETC_H__ */