Clase CComObjectStack
Esta clase crea un objeto COM temporal y lo proporciona con una implementación estructural de IUnknown
.
Sintaxis
template <class Base>
class CComObjectStack : 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 |
---|---|
CComObjectStack::CComObjectStack | Constructor . |
CComObjectStack::~CComObjectStack | El destructor . |
Métodos públicos
Nombre | Descripción |
---|---|
CComObjectStack::AddRef | Devuelve cero. En modo de depuración, llama a _ASSERTE . |
CComObjectStack::QueryInterface | Devuelve E_NOINTERFACE. En modo de depuración, llama a _ASSERTE . |
CComObjectStack::Release | Devuelve cero. En modo de depuración, llama a _ASSERTE . ~ |
Miembros de datos públicos
Nombre | Descripción |
---|---|
CComObjectStack::m_hResFinalConstruct | Contiene el valor HRESULT devuelto durante la construcción del objeto CComObjectStack . |
Comentarios
CComObjectStack
se usa para crear un objeto COM temporal y proporcionar al objeto una implementación esquelética de IUnknown
. Normalmente, el objeto se usa como una variable local dentro de una función (es decir, se inserta en la pila). Dado que el objeto se destruye cuando finaliza la función, el recuento de referencias no se realiza para aumentar la eficacia.
En el ejemplo siguiente se muestra cómo crear un objeto COM que se usa en una función:
void MyFunc()
{
CComObjectStack<CMyClass2> Tempobj;
//...
}
El objeto temporal Tempobj
se inserta en la pila y desaparece automáticamente cuando finaliza la función.
Jerarquía de herencia
Base
CComObjectStack
Requisitos
Encabezado: atlcom.h
CComObjectStack::AddRef
Devuelve cero.
STDMETHOD_(ULONG, AddRef)();
Valor devuelto
Devuelve cero.
Comentarios
En modo de depuración, llama a _ASSERTE
.
CComObjectStack::CComObjectStack
Constructor .
CComObjectStack(void* = NULL);
Comentarios
Llama a FinalConstruct
y, después, establece m_hResFinalConstruct en el valor de HRESULT devuelto por FinalConstruct
. Si no ha derivado la clase base de CComObjectRoot, debe proporcionar su propio método FinalConstruct
. El destructor llama a FinalRelease
.
CComObjectStack::~CComObjectStack
El destructor .
CComObjectStack();
Comentarios
Libera todos los recursos asignados y llama a FinalRelease.
CComObjectStack::m_hResFinalConstruct
Contiene el valor HRESULT que se devuelve al llamar a CComObjectStack
durante la construcción del objeto FinalConstruct
.
HRESULT m_hResFinalConstruct;
CComObjectStack::QueryInterface
Devuelve E_NOINTERFACE.
HRESULT QueryInterface(REFIID, void**);
Valor devuelto
Devuelve E_NOINTERFACE.
Comentarios
En modo de depuración, llama a _ASSERTE
.
CComObjectStack::Release
Devuelve cero.
STDMETHOD_(ULONG, Release)();
Valor devuelto
Devuelve cero.
Comentarios
En modo de depuración, llama a _ASSERTE
.
Consulte también
CComAggObject (clase)
CComObject (clase)
CComObjectGlobal (clase)
Información general sobre la clase