Condividi tramite


CComEnumImpl Class

Questa classe fornisce l'implementazione di un'interfaccia dell'enumeratore COM in cui gli elementi che vengono enumerati vengono memorizzati in una matrice.

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

Parametri

  • Base
    Un'interfaccia dell'enumeratore COM ().

  • piid
    Un puntatore all'ID dell'interfaccia dell'enumeratore.

  • T
    Il tipo di elemento esposto dall'enumeratore.

  • Copy
    classe criteri di copiaomogeneo.

Membri

Costruttori pubblici

Nome

Descrizione

CComEnumImpl::CComEnumImpl

Costruttore.

CComEnumImpl::~CComEnumImpl

Il distruttore.

Metodi pubblici

Nome

Descrizione

CComEnumImpl::Clone

l'implementazione di.

CComEnumImpl::Init

Inizializza enumeratore.

CComEnumImpl::Next

l'implementazione di.

CComEnumImpl::Reset

l'implementazione di.

CComEnumImpl::Skip

l'implementazione di.

Membri dati pubblici

Nome

Descrizione

CComEnumImpl::m_begin

Un puntatore al primo elemento della matrice.

CComEnumImpl::m_dwFlags

Flag di copia passati a Init.

CComEnumImpl::m_end

Un puntatore alla posizione immediatamente oltre l'ultimo elemento della matrice.

CComEnumImpl::m_iter

Un puntatore all'elemento corrente nella matrice.

CComEnumImpl::m_spUnk

Il puntatore IUnknown dell'oggetto che fornisce la raccolta che è enumerata.

Note

CComEnumImpl fornisce l'implementazione di un'interfaccia dell'enumeratore COM in cui gli elementi che vengono enumerati vengono memorizzati in una matrice. Questa classe è analoga alla classe IEnumOnSTLImpl, che fornisce l'implementazione di un'interfaccia dell'enumeratore basata su un contenitore STL.

Nota

Per informazioni su ulteriori differenze tra CComEnumImpl e IEnumOnSTLImpl, vedere CComEnumImpl::Init.

In genere, non è necessario creare una classe dell'enumeratore la derivazione da questa implementazione dell'interfaccia. Se si desidera utilizzare un enumeratore ATL- fornito basato su una matrice, è più comune per creare un'istanza CComEnum.

Tuttavia, se è necessario fornire un enumeratore personalizzato (ad esempio, uno che espone le interfacce oltre all'enumeratore), è possibile derivare dalla classe. In questa situazione, potrebbe essere necessario eseguire l'override del metodo CComEnumImpl::Clone per fornire un'implementazione personalizzata.

Per ulteriori informazioni, vedere Raccolte e enumeratori ATL.

Gerarchia di ereditarietà

Base

CComEnumImpl

Requisiti

Header: atlcom.h

Vedere anche

Riferimenti

IEnumOnSTLImpl Class

CComEnum Class

Altre risorse

ATL Class Overview