Freigeben über


CComEnumImpl Class

Diese Klasse stellt die Implementierung für eine COM-Enumeratorschnittstelle bereit, in der die Elemente, die aufgelistet werden, in einem Array gespeichert werden.

template < 
   class Base, 
   const IID* piid, 
   class T, 
   class Copy 
> 
class ATL_NO_VTABLE CComEnumImpl :  
   public Base

Parameter

  • Base
    Eine COM-Enumerator (IEnumXXXX)-Schnittstelle.

  • piid
    Ein Zeiger auf den Schnittstellen-ID der Enumeratorschnittstelle.

  • T
    Der Typ des Elements verfügbar gemacht die Enumeratorschnittstelle.

  • Copy
    Homogenes Kopierrichtlinienklasse.

Mitglieder

Öffentliche Konstruktoren

Name

Description

CComEnumImpl::CComEnumImpl

Der -Konstruktor.

CComEnumImpl::~CComEnumImpl

Der Destruktor.

Öffentliche Methoden

Name

Description

CComEnumImpl::Clone

Die Implementierung von IEnumXXXX::Clone.

CComEnumImpl::Init

Initialisiert den Enumerator.

CComEnumImpl::Next

Die Implementierung von IEnumXXXX::Next.

CComEnumImpl::Reset

Die Implementierung von IEnumXXXX::Reset.

CComEnumImpl::Skip

Die Implementierung von IEnumXXXX::Skip.

Öffentliche Datenmember

Name

Description

CComEnumImpl::m_begin

Ein Zeiger auf das erste Element im Array.

CComEnumImpl::m_dwFlags

Kopienflags weitergegeben Init.

CComEnumImpl::m_end

Ein Zeiger auf den Speicherort direkt über dem letzten Element im Array hinaus.

CComEnumImpl::m_iter

Ein Zeiger auf das aktuelle Element im Array.

CComEnumImpl::m_spUnk

Der IUnknown Zeiger des Objekts die Auflistung angibt, die aufgelistet wird.

Hinweise

CComEnumImpl stellt die Implementierung für eine COM-Enumeratorschnittstelle bereit, in der die Elemente, die aufgelistet werden, in einem Array gespeichert werden. Diese Klasse ist der IEnumOnSTLImpl-Klasse analog, die eine Implementierung einer Enumeratorschnittstelle auf Grundlage eines STL-Container bereitstellt.

Hinweis

Ausführliche Informationen über weitere Unterschiede zwischen CComEnumImpl und IEnumOnSTLImpl, finden Sie unter CComEnumImpl::Init.

In der Regel müssen Sie nicht, um eine eigene Enumeratorklasse erstellen, indem Sie aus dieser Schnittstellenimplementierung berechnen. Wenn Sie einen ATL-angegebenen Enumerator auf einem Array verwenden möchten, ist es häufig, eine Instanz von CComEnum zu erstellen.

Wenn Sie jedoch einen benutzerdefinierten Enumerator bereitstellen müssen (beispielsweise, einer, Schnittstellen zusätzlich zur Enumeratorschnittstelle verfügbar gemacht), können Sie diese Klasse ableiten. In dieser Situation ist es wahrscheinlich, dass Sie die CComEnumImpl::Clone-Methode überschreiben müssen, um eine eigene Implementierung bereitzustellen.

Weitere Informationen finden Sie unter ATL-Auflistungen und -Enumeratoren.

Vererbungshierarchie

Base

CComEnumImpl

Anforderungen

Header: möchten

Siehe auch

Referenz

IEnumOnSTLImpl Class

CComEnum Class

Weitere Ressourcen

ATL Class Overview