Partilhar via


Classe CComUnkArray

Essa classe armazena ponteiros IUnknown e foi projetada para ser usada como um parâmetro para a classe de modelo IConnectionPointImpl.

Sintaxe

template<unsigned int nMaxSize>
class CComUnkArray

Parâmetros

nMaxSize
O número máximo de ponteiros IUnknown que podem ser mantidas na matriz estática.

Membros

Construtores públicos

Nome Descrição
CComUnkArray::CComUnkArray Construtor.

Métodos públicos

Nome Descrição
CComUnkArray::Add Chame esse método para adicionar um ponteiro IUnknown à matriz.
CComUnkArray::begin Retorna um ponteiro para o primeiro ponteiro IUnknown na coleção.
CComUnkArray::end Retorna um ponteiro para um após o último ponteiro IUnknown na coleção.
CComUnkArray::GetCookie Chame esse método para obter o cookie associado a um determinado ponteiro IUnknown.
CComUnkArray::GetUnknown Chame esse método para obter o ponteiro IUnknown associado a um determinado cookie.
CComUnkArray::Remove Chame esse método para remover um ponteiro IUnknown da matriz.

Comentários

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

Os métodos CComUnkArray begin e end podem ser usados para percorrer todos os pontos de conexão (por exemplo, quando um evento é acionado).

Confira Adicionar pontos de conexão a um objeto para obter detalhes sobre como automatizar a criação de proxies de ponto de conexão.

Observação

Observação A classe CComDynamicUnkArray é usada pelo assistente de Adicionar Classe ao criar um controle que tenha Pontos de Conexão. Se desejar especificar o número de pontos de conexão manualmente, altere a referência de CComDynamicUnkArray para CComUnkArray< n >, onde n é o número de pontos de conexão necessários.

Requisitos

Cabeçalho: atlcom.h

CComUnkArray::Add

Chame esse método para adicionar um ponteiro IUnknown à matriz.

DWORD Add(IUnknown* pUnk);

Parâmetros

pUnk
Chame esse método para adicionar um ponteiro IUnknown à matriz.

Valor de retorno

Retorna o cookie associado ao ponteiro recém-adicionado ou 0 se a matriz não for grande o suficiente para conter o novo ponteiro.

CComUnkArray::begin

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

IUnknown**
    begin();

Valor de retorno

Um ponteiro para um ponteiro de interface IUnknown.

Comentários

A coleção contém ponteiros para interfaces armazenadas localmente como IUnknown. Você converte cada interface IUnknown para o tipo de interface real e, em seguida, chama por meio dela. Você não precisa consultar a interface primeiro.

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

CComUnkArray::CComUnkArray

O construtor .

CComUnkArray();

Comentários

Define a coleção para manter nMaxSize IUnknown ponteiros e inicializa os ponteiros como NULL.

CComUnkArray::end

Retorna um ponteiro para um após o último ponteiro IUnknown na coleção.

IUnknown**
    end();

Valor de retorno

Um ponteiro para um ponteiro de interface IUnknown.

Comentários

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

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

CComUnkArray::GetCookie

Chame esse método para obter o cookie associado a um determinado ponteiro IUnknown.

DWORD WINAPI GetCookie(IUnknown** ppFind);

Parâmetros

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

Valor de retorno

Retorna o cookie associado ao ponteiro IUnknown, ou 0 se nenhum ponteiro IUnknown correspondente for encontrado.

Comentários

Se houver mais de uma instância do mesmo ponteiro IUnknown, essa função retornará o cookie para a primeira.

CComUnkArray::GetUnknown

Chame esse método para obter o ponteiro IUnknown associado a um determinado cookie.

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

Parâmetros

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

Valor de retorno

Retornará o ponteiro IUnknown ou NULL se nenhum cookie correspondente for encontrado.

CComUnkArray::Remove

Chame esse método para remover um ponteiro IUnknown da matriz.

BOOL Remove(DWORD dwCookie);

Parâmetros

dwCookie
O cookie que faz referência ao ponteiro IUnknown a ser removido da matriz.

Valor de retorno

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

Confira também

Classe CComDynamicUnkArray
Visão geral da aula