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.