Partilhar via


Classe CComUnkArray

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 armazena IUnknown ponteiros e foi concebida para ser usada como parâmetro para a classe modelo IConnectionPointImpl .

Sintaxe

template<unsigned int nMaxSize>
class CComUnkArray

Parâmetros

nMaxSize
O número máximo de IUnknown ponteiros que podem ser mantidos no array estático.

Membros

Construtores Públicos

Nome Description
CComUnkArray::CComUnkArray Construtor.

Métodos Públicos

Nome Description
CComUnkArray::Add Chame este método para adicionar um IUnknown ponteiro ao array.
CComUnkArray::begin Devolve um ponteiro para o primeiro IUnknown ponteiro da coleção.
CComUnkArray::fim Devolve um ponteiro para um depois do último IUnknown ponteiro na coleção.
CComUnkArray::GetCookie Chame este método para obter o cookie associado a um dado IUnknown apontador.
CComUnkArray::GetUnknown Chame este método para obter o IUnknown ponteiro associado a um dado cookie.
CComUnkArray::Remover Chame este método para remover um IUnknown ponteiro do array.

Observações

CComUnkArray contém um número fixo de IUnknown ponteiros, cada um uma interface num ponto de ligação. CComUnkArray pode ser usado como parâmetro para a classe modelo IConnectionPointImpl . CComUnkArray<1> é uma especialização de modelo que CComUnkArray foi otimizada para um ponto de ligação.

Os CComUnkArraymétodos de início e fim podem ser usados para percorrer todos os pontos de ligação (por exemplo, quando um evento é disparado).

Consulte Adicionar Pontos de Ligação a um Objeto para detalhes sobre a automatização da criação de proxies de pontos de ligação.

Observação

Nota A classe CComDynamicUnkArray é usada pelo assistente Add Class ao criar um controlo que tem Pontos de Ligação. Se quiser especificar manualmente o número de Pontos de Ligação, altere a referência de CComDynamicUnkArray para CComUnkArray<n>, onde n é o número de pontos de ligação necessários.

Requerimentos

Cabeçalho: atlcom.h

CComUnkArray::Add

Chame este método para adicionar um IUnknown ponteiro ao array.

DWORD Add(IUnknown* pUnk);

Parâmetros

pUnk
Chame este método para adicionar um IUnknown ponteiro ao array.

Valor de retorno

Devolve o cookie associado ao ponteiro recém-adicionado, ou 0 se o array não for suficientemente grande para conter o novo apontador.

CComUnkArray::begin

Devolve um ponteiro para o início da coleção de IUnknown ponteiros de interface.

IUnknown**
    begin();

Valor de retorno

Um apontador para um IUnknown ponteiro de interface.

Observações

A coleção contém ponteiros para interfaces armazenadas localmente como IUnknown. Transmites cada IUnknown interface para o tipo real de interface e depois chamas através dele. Não precisa de consultar a interface primeiro.

Antes de usar a IUnknown interface, deve verificar se não é NULL.

CComUnkArray::CComUnkArray

O construtor.

CComUnkArray();

Observações

Define a coleção para conter nMaxSizeIUnknown ponteiros e inicializa os ponteiros para NULL.

CComUnkArray::fim

Devolve um ponteiro para um depois do último IUnknown ponteiro na coleção.

IUnknown**
    end();

Valor de retorno

Um apontador para um IUnknown ponteiro de interface.

Observações

Os CComUnkArray métodos begin e end podem ser usados para percorrer todos os pontos de ligação, por exemplo, quando um evento é lançado.

IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
   // Do something with *p
   p++;
}

CComUnkArray::GetCookie

Chame este método para obter o cookie associado a um dado IUnknown apontador.

DWORD WINAPI GetCookie(IUnknown** ppFind);

Parâmetros

ppFind
O IUnknown ponteiro para o qual o cookie associado é necessário.

Valor de retorno

Devolve o cookie associado ao IUnknown ponteiro, ou 0 se não for encontrado nenhum ponteiro correspondente IUnknown .

Observações

Se houver mais do que uma instância do mesmo IUnknown ponteiro, esta função devolve o cookie do primeiro.

CComUnkArray::GetUnknown

Chame este método para obter o IUnknown ponteiro associado a um dado cookie.

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

Parâmetros

dwCookie
O cookie para o qual o ponteiro associado IUnknown é necessário.

Valor de retorno

Devolve o IUnknown apontador, ou NULL se não for encontrado cookie correspondente.

CComUnkArray::Remover

Chame este método para remover um IUnknown ponteiro do array.

BOOL Remove(DWORD dwCookie);

Parâmetros

dwCookie
O cookie que faz referência ao IUnknown ponteiro a ser removido do array.

Valor de retorno

Retorna TRUE se o ponteiro for removido, FALSE caso contrário.

Consulte também

Classe CComDynamicUnkArray
Visão geral da classe