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.
45 lines
1.7 KiB
45 lines
1.7 KiB
// --------------------------------------------------------------------------
|
|
// Enumfmt.h
|
|
// Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
|
|
// --------------------------------------------------------------------------
|
|
#ifndef __ENUMFMT_H
|
|
#define __ENUMFMT_H
|
|
|
|
// Class CEnumFormatEtc
|
|
// --------------------
|
|
//
|
|
// Overview
|
|
// This object provides a enumerator for FORMATETC structures. The
|
|
// IDataObject uses this when callers invoke IDataObject::EnumFormatEtc.
|
|
//
|
|
// The data object creates one of this objects and provides an array
|
|
// of FORMATETC structures in the constructor. The interface is then
|
|
// passed to the invoker of IDataObject::EnumFormatEtc().
|
|
//
|
|
class CEnumFormatEtc : public IEnumFORMATETC
|
|
{
|
|
public:
|
|
CEnumFormatEtc(LPUNKNOWN, PDATAOBJINFO, ULONG);
|
|
CEnumFormatEtc(LPUNKNOWN, ULONG, LPFORMATETC);
|
|
~CEnumFormatEtc(void);
|
|
|
|
// IUnknown members that delegate to m_pUnkOuter
|
|
STDMETHODIMP QueryInterface(REFIID, LPVOID*);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// IEnumFORMATETC members
|
|
STDMETHODIMP Next(ULONG, LPFORMATETC, ULONG FAR *);
|
|
STDMETHODIMP Skip(ULONG);
|
|
STDMETHODIMP Reset(void);
|
|
STDMETHODIMP Clone(IEnumFORMATETC FAR * FAR *);
|
|
|
|
private:
|
|
ULONG m_cRef; // Object reference count
|
|
LPUNKNOWN m_pUnkRef; // IUnknown for ref counting
|
|
ULONG m_iCur; // Current element
|
|
ULONG m_cfe; // Number of FORMATETC's in us
|
|
LPFORMATETC m_prgfe; // Source of FORMATETC's
|
|
};
|
|
|
|
#endif // __ENUMFMT_H
|