Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Essa classe armazena uma matriz de ponteiros IUnknown.
Sintaxe
class CComDynamicUnkArray
Membros
Construtores públicos
| Nome | Descrição |
|---|---|
| CComDynamicUnkArray::CComDynamicUnkArray | Construtor. Inicializa os valores de coleção para NULL e o tamanho da coleção como zero. |
| CComDynamicUnkArray::~CComDynamicUnkArray | O destruidor. |
Métodos públicos
| Nome | Descrição |
|---|---|
| CComDynamicUnkArray::Add | Chame esse método para adicionar um ponteiro IUnknown à matriz. |
| CComDynamicUnkArray::begin | Retorna um ponteiro para o primeiro ponteiro IUnknown na coleção. |
| CComDynamicUnkArray::clear | Esvazia a matriz. |
| CComDynamicUnkArray::end | Retorna um ponteiro para um após o último ponteiro IUnknown na coleção. |
| CComDynamicUnkArray::GetAt | Recupera o elemento no índice especificado. |
| CComDynamicUnkArray::GetCookie | Chame esse método para obter o cookie associado a um determinado ponteiro IUnknown. |
| CComDynamicUnkArray::GetSize | Retorna o número de elementos que a matriz pode armazenar. |
| CComDynamicUnkArray::GetUnknown | Chame esse método para obter o ponteiro IUnknown associado a um determinado cookie. |
| CComDynamicUnkArray::Remove | Chame esse método para remover um ponteiro IUnknown da matriz. |
Comentários
CComDynamicUnkArray contém uma matriz de ponteiros IUnknown alocada dinamicamente, cada uma é uma interface em um ponto de conexão. CComDynamicUnkArray pode ser usado como um parâmetro para a classe de modelo IConnectionPointImpl.
Os métodos CComDynamicUnkArray 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 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
CComDynamicUnkArray::Add
Chame esse método para adicionar um ponteiro IUnknown à matriz.
DWORD Add(IUnknown* pUnk);
Parâmetros
pUnk
O ponteiro IUnknown a ser adicionado à matriz.
Valor de retorno
Retorna o cookie associado ao ponteiro recém-adicionado. Use esse cookie para recuperar o ponteiro da matriz com CComDynamicUnkArray::GetAt.
Comentários
A posição em que esse item é inserido não será necessariamente diretamente após o último item inserido se Remove() tiver sido chamado anteriormente nessa matriz. Use o cookie retornado para acessar de forma confiável o ponteiro inserido.
O tamanho da matriz pode ser aumentado para acomodar mais itens. Use GetSize() para obter o novo tamanho.
CComDynamicUnkArray::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.
CComDynamicUnkArray::clear
Esvazia a matriz. Redefine o tamanho para 0.
void clear();
CComDynamicUnkArray::CComDynamicUnkArray
O construtor .
CComDynamicUnkArray();
Comentários
Define o tamanho da coleção como zero e inicializa os valores como NULL. O destruidor libera a coleção, se necessário.
CComDynamicUnkArray::~CComDynamicUnkArray
O destruidor.
~CComDynamicUnkArray();
Comentários
Libera todos os recursos alocados pelo construtor de classe.
CComDynamicUnkArray::end
Retorna um ponteiro para um após o último elemento no buffer alocado da matriz.
Observação: isso significa que não há garantia de que o ponteiro inserido por último esteja at end()-1 , pois a matriz pode não estar cheia até a capacidade.
IUnknown**
end();
Valor de retorno
Um ponteiro para um ponteiro de interface IUnknown.
CComDynamicUnkArray::GetAt
Recupera o elemento no índice especificado.
IUnknown* GetAt(int nIndex);
Parâmetros
nIndex
O índice do elemento a se recuperar.
Valor de retorno
Um ponteiro para uma interface IUnknown se um elemento foi adicionado anteriormente e existe nesse índice; caso contrário NULL, .
CComDynamicUnkArray::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 zero 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.
CComDynamicUnkArray::GetSize
Retorna a capacidade alocada da matriz.
Nota: isso não é o mesmo que o número de elementos não NULL atualmente na matriz.
int GetSize() const;
Valor de retorno
O número de elementos que a matriz pode armazenar. GetSize() == end() - begin().
CComDynamicUnkArray::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.
CComDynamicUnkArray::Remove
Chame esse método para remover um ponteiro IUnknown da matriz.
Todos os outros elementos permanecem inalterados e mantêm seu índice e cookie.
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. Caso contrário, FALSE.