Clase CComObjectGlobal
Esta clase administra un recuento de referencias del módulo que contiene el objeto Base
.
Sintaxis
template<class Base>
class CComObjectGlobal : public Base
Parámetros
Base
La clase, que se deriva de CComObjectRoot o CComObjectRootEx, así como de cualquier otra interfaz que desee admitir en el objeto.
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CComObjectGlobal::CComObjectGlobal | Constructor . |
CComObjectGlobal::~CComObjectGlobal | El destructor . |
Métodos públicos
Nombre | Descripción |
---|---|
CComObjectGlobal::AddRef | Implementa un AddRef global. |
CComObjectGlobal::QueryInterface | Implementa un QueryInterface global. |
CComObjectGlobal::Release | Implementa un Release global. |
Miembros de datos públicos
Nombre | Descripción |
---|---|
CComObjectGlobal::m_hResFinalConstruct | Contiene el valor HRESULT devuelto durante la construcción del objeto CComObjectGlobal . |
Comentarios
CComObjectGlobal
administra un recuento de referencias del módulo que contiene el objeto Base
. CComObjectGlobal
garantiza que el objeto no se eliminará siempre que el módulo no se libere. El objeto solo se eliminará cuando el recuento de referencias de todo el módulo vaya a cero.
Por ejemplo, con el uso de CComObjectGlobal
, un generador de clases puede contener un objeto global común compartido por todos sus clientes.
Jerarquía de herencia
Base
CComObjectGlobal
Requisitos
Encabezado: atlcom.h
CComObjectGlobal::AddRef
Incrementa el recuento de referencias del objeto en 1.
STDMETHOD_(ULONG, AddRef)();
Valor devuelto
Valor que puede ser útil para los diagnósticos y las pruebas.
Comentarios
De manera predeterminada, AddRef
llama a _Module::Lock
, donde _Module
es la instancia global de CComModule o una clase derivada de ella.
CComObjectGlobal::CComObjectGlobal
Constructor . Llama a FinalConstruct
y, después, establece m_hResFinalConstruct en el valor HRESULT
devuelto por FinalConstruct
.
CComObjectGlobal(void* = NULL));
Comentarios
Si no ha derivado la clase base de CComObjectRoot, debe proporcionar su propio método FinalConstruct
. El destructor llama a FinalRelease
.
CComObjectGlobal::~CComObjectGlobal
El destructor .
CComObjectGlobal();
Comentarios
Libera todos los recursos asignados y llama a FinalRelease.
CComObjectGlobal::m_hResFinalConstruct
Contiene el valor HRESULT que se devuelve al llamar a FinalConstruct
durante la construcción del objeto CComObjectGlobal
.
HRESULT m_hResFinalConstruct;
CComObjectGlobal::QueryInterface
Recupera un puntero dirigido al puntero de la interfaz solicitada.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
Parámetros
iid
[in] GUID de la interfaz que se solicita.
ppvObject
[out] Puntero dirigido al puntero de interfaz identificado por iid, o a NULL si la interfaz no se encuentra.
Valor devuelto
Valor HRESULT estándar.
Comentarios
QueryInterface
solo administra interfaces de la tabla de asignación COM.
CComObjectGlobal::Release
Decrementa en uno el recuento de referencias del objeto.
STDMETHOD_(ULONG, Release)();
Valor devuelto
En las compilaciones de depuración, Release
devuelve un valor que puede ser útil para los diagnósticos y las pruebas. En compilaciones que no son de depuración, Release
siempre devuelve 0.
Comentarios
De manera predeterminada, Release
llama a _Module::Unlock
, donde _Module
es la instancia global de CComModule o una clase derivada de ella.
Consulte también
CComObjectStack (clase)
CComAggObject (clase)
CComObject (clase)
Información general sobre la clase