Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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