ComPtr (Clase)

Crea un tipo de puntero inteligente que representa la interfaz especificada por el parámetro de plantilla.ComPtr automáticamente mantiene un recuento de referencia para el puntero y libera subyacentes de la interfaz la interfaz cuando el recuento de referencias va a cero.

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

Parámetros

  • T
    Interfaz que el ComPtr representa.

  • U
    Una clase que el ComPtr actual es un ensamblado de confianza.(Se protege la plantilla que utiliza este parámetro).

Comentarios

ComPtr<> declara un tipo que representa el puntero subyacente de la interfaz.Utilice ComPtr<> para declarar una variable y después usar el operador de acceso a miembros de flecha (->) para tener acceso a una función miembro de interfaz.

Para obtener más información sobre punteros inteligentes, vea la subsección de “los punteros inteligentes COM” COM Coding Practices del tema de la MSDN Library.

Members

BR244983.collapse_all(es-es,VS.110).gifTypedefs públicas

Name

Descripción

InterfaceType

Un sinónimo para el tipo especificado por el parámetro de plantilla de T .

BR244983.collapse_all(es-es,VS.110).gifConstructores públicos

Name

Descripción

ComPtr::ComPtr (Constructor)

Intializes una nueva instancia de la clase de ComPtr.Las sobrecargas proporcionan predeterminado, cópielo, se mueven, y constructores de conversión.

ComPtr::~ComPtr (Destructor)

desinicializa una instancia de ComPtr.

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

Name

Descripción

ComPtr::As (Método)

Devuelve un objeto de ComPtr que representa la interfaz identificada por el parámetro de plantilla especificado.

ComPtr::AsIID (Método)

Devuelve un objeto de ComPtr que representa la interfaz identificada por el identificador especificado de la interfaz

ComPtr::AsWeak (Método)

Recupera una referencia parcial al objeto actual.

ComPtr::Attach (Método)

Asocia este ComPtr en el tipo de interfaz especificado por el parámetro de tipo actual de la plantilla.

ComPtr::CopyTo (Método)

Copia la actual o la interfaz especificada asociado a este ComPtr el puntero de salida especificado.

ComPtr::Detach (Método)

desasocia este ComPtr de la interfaz que representa.

ComPtr::Get (Método)

Recupera un puntero a la interfaz que se está asociado a este ComPtr.

ComPtr::GetAddressOf (Método)

Recupera la dirección del miembro de datos de ptr_ , que contiene un puntero a la interfaz representada por este ComPtr.

ComPtr::ReleaseAndGetAddressOf (Método)

Libera la interfaz asociado a este ComPtr a continuación recupera la dirección del miembro de datos de ptr_ , que contiene un puntero a la interfaz que se publicó.

ComPtr::Swap (Método)

Cambia la interfaz administrada por el ComPtr actual con la interfaz administrada por el ComPtr especificado.

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

Name

Descripción

ComPtr::InternalAddRef (Método)

Incrementa el recuento de referencias de la interfaz asociado a este ComPtr.

ComPtr::InternalRelease (Método)

Realiza una operación COM de inicio en la interfaz asociado a este ComPtr.

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

Name

Descripción

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

Indica si un ComPtr administra la duración de objeto de una interfaz.

ComPtr::operator& (Operador)

Recupera la dirección de ComPtr actual.

ComPtr::operator= (Operador)

Asigna un valor al ComPtr actual.

ComPtr::operator-> (Operador)

Recupera un puntero al tipo especificado por el parámetro actual de la plantilla.

ComPtr::operator== (Operador)

indica si dos objetos de ComPtr son iguales.

ComPtr::operator!= (Operador)

indica si dos objetos de ComPtr no son iguales.

BR244983.collapse_all(es-es,VS.110).gifMiembros de datos protegidos

Name

Descripción

ComPtr::ptr_ (Miembro de datos)

Contiene un puntero a la interfaz con la que está asociado, y administrado por este ComPtr.

Jerarquía de herencia

ComPtr

Requisitos

encabezado: client.h

espacio de nombres: Microsoft:: WRL

Vea también

Referencia

Microsoft::WRL (Espacio de nombres)