Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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