Compartir a través de


Clase CComContainedObject

Esta clase implementa IUnknown al delegar en el IUnknown del objeto propietario.

Importante

Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.

Sintaxis

template<class Base>
class CComContainedObject : public Base

Parámetros

Base
La clase, derivada de CComObjectRoot o CComObjectRootEx.

Miembros

Constructores públicos

Nombre Descripción
CComContainedObject::CComContainedObject Constructor . Inicializa el puntero de miembro a IUnknown del objeto propietario.
CComContainedObject::~CComContainedObject El destructor .

Métodos públicos

Nombre Descripción
CComContainedObject::AddRef Incrementa el recuento de referencias del objeto propietario.
CComContainedObject::GetControllingUnknown Recupera IUnknown del objeto propietario.
CComContainedObject::QueryInterface Recupera un puntero a la interfaz solicitada en el objeto propietario.
CComContainedObject::Release Disminuye el recuento de referencias del objeto propietario.

Comentarios

ATL usa CComContainedObject en las clases CComAggObject, CComPolyObject y CComCachedTearOffObject. CComContainedObject implementa IUnknown al delegar en IUnknown del objeto propietario. (El propietario es el objeto externo de una agregación, o bien el objeto para el que se crea una interfaz desplazable) CComContainedObject llama a OuterQueryInterface, OuterAddRef y OuterRelease de CComObjectRootEx, todos heredados a través de Base.

Jerarquía de herencia

Base

CComContainedObject

Requisitos

Encabezado: atlcom.h

CComContainedObject::AddRef

Incrementa el recuento de referencias del objeto propietario.

STDMETHOD_(ULONG, AddRef)();

Valor devuelto

Valor que puede ser útil para los diagnósticos o las pruebas.

CComContainedObject::CComContainedObject

Constructor .

CComContainedObject(void* pv);

Parámetros

pv
[in] IUnknown del objeto propietario.

Comentarios

Establece el puntero de miembro m_pOuterUnknown (heredado a través de la clase Base) en pv.

CComContainedObject::~CComContainedObject

El destructor .

~CComContainedObject();

Comentarios

Libera todos los recursos asignados.

CComContainedObject::GetControllingUnknown

Devuelve el puntero miembro m_pOuterUnknown (heredado a través de la clase Base) que contiene IUnknown del objeto propietario.

IUnknown* GetControllingUnknown();

Valor devuelto

IUnknown del objeto propietario.

Comentarios

Este método puede ser virtual si Base ha declarado la macro DECLARE_GET_CONTROLLING_UNKNOWN.

CComContainedObject::QueryInterface

Recupera un puntero a la interfaz solicitada en el objeto propietario.

STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
template <class Q>
HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp);

Parámetros

iid
[entrada] Identificador de la interfaz solicitada.

ppvObject
[out] Puntero al puntero de interfaz identificado por iid. Si el objeto no admite esta interfaz, ppvObject se establece como null.

pp
[out] Puntero al puntero de interfaz identificado por el tipo Q. Si el objeto no admite esta interfaz, pp se establece como NULL.

Valor devuelto

Valor HRESULT estándar.

CComContainedObject::Release

Disminuye el recuento de referencias del objeto propietario.

STDMETHOD_(ULONG, Release)();

Valor devuelto

En las compilaciones de depuración, Release devuelve un valor que puede ser útil para los diagnósticos o las pruebas. En compilaciones que no son de depuración, Release siempre devuelve 0.

Consulte también

Información general sobre la clase