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);
|
||
|
|