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 fornece métodos para lidar com ponteiros de interface e a tabela global de interface (GIT).
Sintaxe
template <class T>
class CComGITPtr
Parâmetros
T
O tipo do ponteiro de interface a ser armazenado no GIT.
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CComGITPtr::CComGITPtr | O construtor. |
| CComGITPtr::~CComGITPtr | O destruidor. |
Métodos Públicos
| Nome | Description |
|---|---|
| CComGITPtr::Anexar | Chame este método para registar o ponteiro de interface na tabela global de interface (GIT). |
| CComGITPtr::CopyTo | Chame este método para copiar a interface da tabela global de interface (GIT) para o ponteiro passado. |
| CComGITPtr::D etach | Chame este método para dissociar a interface do CComGITPtr objeto. |
| CComGITPtr::GetCookie | Chame este método para devolver o cookie do CComGITPtr objeto. |
| CComGITPtr::Revogar | Chame este método para remover a interface da tabela global de interface (GIT). |
Operadores Públicos
| Nome | Description |
|---|---|
| CComGITPtr::operator DWORD | Devolve a bolacha do CComGITPtr objeto. |
| CComGITPtr::operator = | Operador de atribuição. |
Membros de Dados Públicos
| Nome | Description |
|---|---|
| CComGITPtr::m_dwCookie | A bolacha. |
Observações
Os objetos que agregam o marshaler de threads livres e precisam de usar ponteiros de interface obtidos de outros objetos devem tomar medidas adicionais para garantir que as interfaces estão corretamente organizadas. Normalmente, isto envolve armazenar os ponteiros de interface no GIT e obter o ponteiro do GIT cada vez que é utilizado. A aula CComGITPtr é fornecida para te ajudar a usar ponteiros de interface armazenados no GIT.
Observação
A funcionalidade global de tabela de interface está disponível apenas no Windows 95 com a versão 1.1 do DCOM, no Windows 98, Windows NT 4.0 com Service Pack 3 e posteriores, e no Windows 2000.
Requerimentos
Cabeçalho: atlbase.h
CComGITPtr::Anexar
Chame este método para registar o ponteiro de interface na tabela global de interface (GIT).
HRESULT Attach(T* p) throw();
HRESULT Attach(DWORD dwCookie) throw();
Parâmetros
p
O ponteiro de interface a ser adicionado ao GIT.
dwCookie
O cookie usado para identificar o ponteiro de interface.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
Em builds de depuração, ocorrerá um erro de asserção se o GIT não for válido, ou se o cookie for igual a NULL.
CComGITPtr::CComGITPtr
O construtor.
CComGITPtr() throw();
CComGITPtr(T* p);
CComGITPtr(const CComGITPtr& git);
explicit CComGITPtr(DWORD dwCookie) throw();
CComGITPtr(CComGITPtr&& rv);
Parâmetros
p
[dentro] Um ponteiro de interface a ser armazenado na tabela global de interface (GIT).
Git
[dentro] Uma referência a um objeto existente CComGITPtr .
dwCookie
[dentro] Um cookie usado para identificar o ponteiro da interface.
RV
[dentro] O objeto de origem CComGITPtr para mover dados.
Observações
Cria um novo CComGITPtr objeto, opcionalmente usando um objeto existente CComGITPtr .
O construtor que utiliza RV é um construtor de movimento. Os dados são movidos da fonte, do RV, e depois o RV é limpo.
CComGITPtr::~CComGITPtr
O destruidor.
~CComGITPtr() throw();
Observações
Remove a interface da tabela global de interface (GIT), usando CComGITPtr::Revoke.
CComGITPtr::CopyTo
Chame este método para copiar a interface da tabela global de interface (GIT) para o ponteiro passado.
HRESULT CopyTo(T** pp) const throw();
Parâmetros
pp
O ponteiro que serve para receber a interface.
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
A interface do GIT é copiada para o ponteiro passado. O ponteiro deve ser libertado pelo chamador quando deixa de ser necessário.
CComGITPtr::D etach
Chame este método para dissociar a interface do CComGITPtr objeto.
DWORD Detach() throw();
Valor de retorno
Devolve a bolacha do CComGITPtr objeto.
Observações
Cabe ao chamador remover a interface do GIT, usando o CComGITPtr::Revoke.
CComGITPtr::GetCookie
Chame este método para devolver o cookie do CComGITPtr objeto.
DWORD GetCookie() const;
Valor de retorno
Devolve a bolacha.
Observações
O cookie é uma variável usada para identificar uma interface e a sua localização.
CComGITPtr::m_dwCookie
A bolacha.
DWORD m_dwCookie;
Observações
O cookie é uma variável membro usada para identificar uma interface e a sua localização.
CComGITPtr::operator =
O operador de atribuição.
CComGITPtr& operator= (T* p);
CComGITPtr& operator= (const CComGITPtr& git);
CComGITPtr& operator= (DWORD dwCookie);
CComGITPtr& operator= (CComGITPtr&& rv);
Parâmetros
p
[dentro] Um apontador para uma interface.
Git
[em] Uma referência a um CComGITPtr objeto.
dwCookie
[dentro] Um cookie usado para identificar o ponteiro da interface.
RV
[dentro] O CComGITPtr para mover dados de.
Valor de retorno
Devolve o objeto atualizado CComGITPtr .
Observações
Atribui um novo valor a um CComGITPtr objeto, seja a partir de um objeto existente ou a partir de uma referência a uma tabela de interface global.
CComGITPtr::operator DWORD
Devolve o cookie associado ao CComGITPtr objeto.
operator DWORD() const;
Observações
O cookie é uma variável usada para identificar uma interface e a sua localização.
CComGITPtr::Revogar
Chame este método para remover a interface atual da tabela global de interface (GIT).
HRESULT Revoke() throw();
Valor de retorno
Devolve S_OK em caso de sucesso, ou um erro HRESULT em caso de falha.
Observações
Remove a interface do GIT.
Consulte também
Marshaler roscado livre
Aceder a Interfaces entre Apartamentos
Quando usar a tabela de interface global
Visão geral da classe