Partilhar via


Classe de ICollectionOnSTLImpl

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe fornece métodos usados por uma classe de coleção.

Sintaxe

template <class T, class CollType, class ItemType, class CopyItem, class EnumType>
class ICollectionOnSTLImpl : public T

Parâmetros

T
Uma interface de recolha COM.

CollType
Uma classe de contentores de Biblioteca Padrão em C++.

TipoDeItem
O tipo de item exposto pela interface do contentor.

CopyItem
Uma aula de política de cópia.

EnumType
Uma classe enumeradora compatível com CComEnumOnSTL.

Membros

Métodos Públicos

Nome Description
ICollectionOnSTLImpl::get__NewEnum Devolve um objeto enumerador para a coleção.
ICollectionOnSTLImpl::getcount Devolve o número de elementos na coleção.
ICollectionOnSTLImpl::get_Item Devolve o item pedido da coleção.

Membros de Dados Públicos

Nome Description
ICollectionOnSTLImpl::m_coll A coleção.

Observações

Esta classe fornece a implementação para três métodos de interface de coleção: getcount, get_Item e get__NewEnum.

Para usar esta classe:

  • Defina (ou empreste) uma interface de cobrança que pretenda implementar.

  • Derive a sua classe a partir de uma especialização de ICollectionOnSTLImpl baseada nesta interface de coleção.

  • Use a sua classe derivada para implementar quaisquer métodos da interface de coleção que não sejam tratados por ICollectionOnSTLImpl.

Observação

Se a interface de recolha for dupla, derive a sua classe a partir do IDispatchImpl, passando a ICollectionOnSTLImpl especialização como primeiro parâmetro modelo se quiser que o ATL forneça a implementação dos IDispatch métodos.

  • Adicione itens ao m_coll membro para preencher a coleção.

Para mais informações e exemplos, consulte Coleções e Enumeradores ATL.

Hierarquia de herança

T

ICollectionOnSTLImpl

Requerimentos

Cabeçalho: atlcom.h

ICollectionOnSTLImpl::getcount

Este método devolve o número de itens na coleção.

STDMETHOD(getcount)(long* pcount);

Parâmetros

Conde
[fora] O número de elementos na coleção.

Valor de retorno

Um valor HRESULT padrão.

ICollectionOnSTLImpl::get_Item

Este método devolve o item especificado da coleção.

STDMETHOD(get_Item)(long Index, ItemType* pvar);

Parâmetros

Índice
[dentro] O índice baseado em 1 de um item da coleção.

PVAR
[fora] O item correspondente ao Índice.

Valor de retorno

Um valor HRESULT padrão.

Observações

O item é obtido copiando os dados na posição especificada em m_coll usando o método de cópia da classe de política de cópia , passado como argumento modelo na ICollectionOnSTLImpl especialização.

ICollectionOnSTLImpl::get__NewEnum

Devolve um objeto enumerador para a coleção.

STDMETHOD(get__NewEnum)(IUnknown** ppUnk);

Parâmetros

ppUnk
[fora] O ponteiro IUnknown de um objeto enumerador recém-criado.

Valor de retorno

Um valor HRESULT padrão.

Observações

O recenseador recém-criado mantém um iterador na coleção original, m_coll, (pelo que não é feita cópia) e mantém uma referência COM no objeto da coleção para garantir que a coleção permanece viva enquanto existam enumeradores pendentes.

ICollectionOnSTLImpl::m_coll

Este membro detém os itens representados pela coleção.

CollType m_coll;

Consulte também

Amostra ATLCollections
Visão geral da classe