Compartir a través de


Clase CComContainedObject

Nota:

La biblioteca de plantillas activas (ATL) sigue siendo compatible. Sin embargo, ya no estamos agregando características ni actualizando la documentación.

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 CComObjectRootEx, OuterQueryInterface y OuterAddRef de OuterRelease, 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