Compartir a través de


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