Partilhar via


Classe ComPtr

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

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

Parâmetros

  • T
    A interface que representa o ComPtr.

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

Comentários

ComPtr<> declara um tipo que representa o ponteiro de interface subjacente. Use ComPtr<> para declarar uma variável e depois usar o operador membros de acesso de seta (->) para acessar uma função de membro da interface.

Para obter mais informações sobre os ponteiros inteligente, consulte “subseção COM os ponteiros inteligente” do tópico de COM Coding Practices na Biblioteca MSDN.

Membros

Typedefs Públicas

Nome

Descrição

InterfaceType

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

Construtores Públicos

Nome

Descrição

Construtor ComPtr::ComPtr

Inicializa uma nova instância da classe de ComPtr. As sobrecargas fornecem a opção, copiá-lo, são movidos, e construtores de conversão.

Destruidor ComPtr::~ComPtr

Deinitializes uma instância de ComPtr.

Métodos Públicos

Nome

Descrição

Método ComPtr::As

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

Método ComPtr::AsIID

Retorna um objeto de ComPtr que representa a interface identificada pela ID da interface especificada

Método ComPtr::AsWeak

Recupera uma referência de URL ao objeto atual.

Método ComPtr::Attach

Associa este ComPtr com o tipo de interface especificado pelo parâmetro de tipo atual do modelo.

Método ComPtr::CopyTo

Copia o atual ou para a interface especificada associada a este ComPtr ao ponteiro de saída especificado.

Método ComPtr::Detach

Desassocia este ComPtr da interface que representa.

Método ComPtr::Get

Recupera um ponteiro para a interface associada a este ComPtr.

Método ComPtr::GetAddressOf

Recupera o endereço do membro de dados de ptr_ , que contém um ponteiro para a interface representada por esse ComPtr.

Método ComPtr::ReleaseAndGetAddressOf

Libera a interface associada a este ComPtr e recupera o endereço do membro de dados de ptr_ , que contém um ponteiro para a interface que foi liberada.

Método ComPtr::Swap

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

Métodos Protegidos

Nome

Descrição

Método ComPtr::InternalAddRef

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

Método ComPtr::InternalRelease

Executa uma operação de versão do COM a interface associada a este ComPtr.

Operadores Públicos

Nome

Descrição

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

Indica se um ComPtr está gerenciando o tempo de vida do objeto de uma interface.

Operador ComPtr::operator&

Recupera o endereço de ComPtr atual.

Operador ComPtr::operator=

Atribui um valor a ComPtr atual.

Operador ComPtr::operator->

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

Operador ComPtr::operator==

Indica se dois objetos de ComPtr são iguais.

Operador ComPtr::operator!=

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

Membros de dados protegidos

Nome

Descrição

Membro de dados 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