Compartilhar via


Classe ComPtr

Cria um ponteiro inteligente tipo que representa a interface especificada pelo parâmetro de modelo.ComPtr automaticamente mantém uma contagem de referência para o ponteiro de interface subjacente e libera a interface quando a contagem de referência vai a zero.

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

Parâmetros

  • T
    A interface representando o ComPtr.

  • U
    Uma classe à qual o ComPtr atual é um amigo.(O modelo que usa esse parâmetro é protegido).

Comentários

< > De ComPtr declara um tipo que representa o ponteiro de interface subjacente.Use < de > ComPtr para declarar uma variável e, em seguida, use o operador de acesso de membro de seta (->) para acessar uma função de membro de interface.

Para obter mais informações sobre os apontadores inteligentes, consulte a subseção "COM a apontadores inteligentes" a COM Coding Practices o Biblioteca MSDN tópico.

Membros

BR244983.collapse_all(pt-br,VS.110).gifDefinições de tipo públicas

Nome

Descrição

InterfaceType

Um sinônimo para o tipo especificado pelo T parâmetro do modelo.

BR244983.collapse_all(pt-br,VS.110).gifConstrutores públicos

Nome

Descrição

Construtor de ComPtr::ComPtr

Intializes uma nova instância da classe ComPtr.Sobrecargas fornecem construtores padrão, copiar, mover e conversão.

ComPtr:: ~ destruidor de ComPtr

Deinitializes uma instância de ComPtr.

BR244983.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

Método ComPtr::As

Retorna um objeto ComPtr que representa a interface identificada pelo parâmetro do modelo especificado.

Método ComPtr::AsIID

Retorna um objeto ComPtr que representa a interface identificada pela identificação da interface especificada.

Método ComPtr::AsWeak

Recupera uma referência fraca para o objeto atual.

Método ComPtr::Attach

Associa esse ComPtr o tipo de interface especificado pelo parâmetro de tipo de modelo atual.

Método ComPtr::CopyTo

Copia a interface atual ou especificada associada a esta ComPtr do ponteiro de saída especificado.

Método ComPtr::Detach

Desassocia esta ComPtr da interface que ele representa.

Método ComPtr::Get

Recupera um ponteiro para a interface que está associado esta ComPtr.

Método ComPtr::GetAddressOf

Recupera o endereço da ptr_ o membro de dados, que contém um ponteiro para a interface representado por este ComPtr.

Método ComPtr::ReleaseAndGetAddressOf

Libera a interface associada a esta ComPtr e, em seguida, recupera o endereço da ptr_ o membro de dados, que contém um ponteiro para a interface que foi lançada.

Método ComPtr::Swap

Troca a interface gerenciada pelo ComPtr atual com a interface gerenciada pelo ComPtr especificado.

BR244983.collapse_all(pt-br,VS.110).gifMétodos protegidos

Nome

Descrição

Método ComPtr::InternalAddRef

Incrementa a contagem de referência da interface associada a esta ComPtr.

Método ComPtr::InternalRelease

Executa uma operação COM lançamento na interface associada a esta ComPtr.

BR244983.collapse_all(pt-br,VS.110).gifOperadores públicos

Nome

Descrição

Operador de Microsoft::WRL::Details::BoolType de ComPtr::operator

Indica se ou não uma ComPtr está gerenciando o tempo de vida do objeto de uma interface.

ComPtr::operator & Operador

Recupera o endereço da ComPtr atual.

ComPtr::operator = operador

Atribui um valor para o ComPtr atual.

ComPtr::operator - > Operador

Recupera um ponteiro para o tipo especificado pelo parâmetro do modelo atual.

ComPtr::operator = = operador

Indica se os dois objetos ComPtr são iguais.

ComPtr::operator! = operador

Indica se os dois objetos ComPtr não são iguais.

BR244983.collapse_all(pt-br,VS.110).gifMembros de dados protegidos

Nome

Descrição

Membro de dados de ComPtr::ptr_

Contém um ponteiro para a interface que está associado e gerenciado por este ComPtr.

Hierarquia de herança

ComPtr

Requisitos

Cabeçalho: client.h

Namespace: Microsoft::WRL

Consulte também

Referência

Namespace Microsoft::WRL