49 lines
1,021 B
C++
49 lines
1,021 B
C++
/*
|
|
* enumfmte.hpp - EnumFormatEtc class description.
|
|
*/
|
|
|
|
|
|
/* Classes
|
|
**********/
|
|
|
|
class EnumFormatEtc : public RefCount,
|
|
public IEnumFORMATETC
|
|
{
|
|
private:
|
|
PFORMATETC m_pfmtetc;
|
|
ULONG m_ulcFormats;
|
|
ULONG m_uliCurrent;
|
|
|
|
public:
|
|
EnumFormatEtc(CFORMATETC rgcfmtetc[], ULONG ulcFormats);
|
|
~EnumFormatEtc(void);
|
|
|
|
// IEnumFormatEtc methods
|
|
|
|
HRESULT STDMETHODCALLTYPE Next(ULONG ulcToFetch, PFORMATETC pfmtetc, PULONG pulcFetched);
|
|
HRESULT STDMETHODCALLTYPE Skip(ULONG ulcToSkip);
|
|
HRESULT STDMETHODCALLTYPE Reset(void);
|
|
HRESULT STDMETHODCALLTYPE Clone(PIEnumFORMATETC *ppiefe);
|
|
|
|
// IUnknown methods
|
|
|
|
ULONG STDMETHODCALLTYPE AddRef(void);
|
|
ULONG STDMETHODCALLTYPE Release(void);
|
|
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, PVOID *ppvObj);
|
|
|
|
// other methods
|
|
|
|
HRESULT STDMETHODCALLTYPE Status(void);
|
|
|
|
// friends
|
|
|
|
#ifdef DEBUG
|
|
|
|
friend BOOL IsValidPCEnumFormatEtc(const EnumFormatEtc *pcefe);
|
|
|
|
#endif
|
|
|
|
};
|
|
DECLARE_STANDARD_TYPES(EnumFormatEtc);
|
|
|