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 um array de IUnknown ponteiros.
Sintaxe
class CComDynamicUnkArray
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CComDynamicUnkArray::CComDynamicUnkArray | Construtor. Inicializa os valores da coleção para NULL e o tamanho da coleção para zero. |
| CComDynamicUnkArray::~CComDynamicUnkArray | O destruidor. |
Métodos Públicos
| Nome | Description |
|---|---|
| CComDynamicUnkArray::Add | Chame este método para adicionar um IUnknown ponteiro ao array. |
| CComDynamicUnkArray::begin | Devolve um ponteiro para o primeiro IUnknown ponteiro da coleção. |
| CComDynamicUnkArray::clear | Esvazia o array. |
| CComDynamicUnkArray::fim | Devolve um ponteiro para um depois do último IUnknown ponteiro na coleção. |
| CComDynamicUnkArray::GetAt | Recupera o elemento no índice especificado. |
| CComDynamicUnkArray::GetCookie | Chame este método para obter o cookie associado a um dado IUnknown apontador. |
| CComDynamicUnkArray::GetSize | Devolve o número de elementos que o array pode armazenar. |
| CComDynamicUnkArray::GetUnknown | Chame este método para obter o IUnknown ponteiro associado a um dado cookie. |
| CComDynamicUnkArray::Remover | Chame este método para remover um IUnknown ponteiro do array. |
Observações
CComDynamicUnkArray contém um array alocado dinamicamente de IUnknown ponteiros, cada um uma interface num ponto de ligação.
CComDynamicUnkArray pode ser usado como parâmetro para a classe modelo IConnectionPointImpl .
Os CComDynamicUnkArraymé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 de Adicionar Classe 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
CComDynamicUnkArray::Add
Chame este método para adicionar um IUnknown ponteiro ao array.
DWORD Add(IUnknown* pUnk);
Parâmetros
pUnk
O IUnknown ponteiro para adicionar ao array.
Valor de retorno
Devolve o cookie associado ao ponteiro recém-adicionado. Use este cookie para recuperar o ponteiro do array com CComDynamicUnkArray::GetAt.
Observações
A posição onde este item é inserido não será necessariamente imediatamente após o último item inserido se Remove() já foi chamado nesta matriz. Use o cookie devolvido para aceder de forma fiável ao ponteiro inserido.
O tamanho do array pode ser aumentado para acomodar mais itens. Usei-me GetSize() para obter o novo tamanho.
CComDynamicUnkArray::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.
CComDynamicUnkArray::clear
Esvazia o array. Reinicia o tamanho para 0.
void clear();
CComDynamicUnkArray::CComDynamicUnkArray
O construtor.
CComDynamicUnkArray();
Observações
Define o tamanho da coleção para zero e inicializa os valores para NULL. O destruidor liberta a coleção, se necessário.
CComDynamicUnkArray::~CComDynamicUnkArray
O destruidor.
~CComDynamicUnkArray();
Observações
Liberta recursos alocados pelo construtor de classe.
CComDynamicUnkArray::fim
Devolve um ponteiro para um elemento depois do último no buffer alocado pelo array.
Nota: isto significa que o último ponteiro inserido não é garantido que esteja em end()-1 porque o array pode não estar cheio até à capacidade.
IUnknown**
end();
Valor de retorno
Um apontador para um IUnknown ponteiro de interface.
CComDynamicUnkArray::GetAt
Recupera o elemento no índice especificado.
IUnknown* GetAt(int nIndex);
Parâmetros
nIndex
O índice do elemento a recuperar.
Valor de retorno
Um ponteiro para uma interface IUnknown se um elemento foi previamente adicionado e existe neste índice; caso contrário NULL.
CComDynamicUnkArray::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 zero se não for encontrado um 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.
CComDynamicUnkArray::GetSize
Devolve a capacidade alocada do array.
Nota: isto não é o mesmo que o número de elementos não-NULL atualmente no array.
int GetSize() const;
Valor de retorno
O número de elementos que o array pode armazenar.
GetSize() == end() - begin().
CComDynamicUnkArray::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.
CComDynamicUnkArray::Remover
Chame este método para remover um IUnknown ponteiro do array.
Todos os outros elementos mantêm-se inalterados e mantêm o seu índice e cookie.
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; caso contrário, FALSO.
Consulte também
Classe CComUnkArray
Visão geral da classe