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.