Partilhar via


Classe CComObjectStack

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe cria um objeto COM temporário e fornece-lhe uma implementação esquelética de IUnknown.

Sintaxe

template <class  Base>
class CComObjectStack : public Base

Parâmetros

Base
A sua classe, derivada de CComObjectRoot ou CComObjectRootEx, bem como de qualquer outra interface que queira suportar no objeto.

Membros

Construtores Públicos

Nome Description
CComObjectStack::CComObjectStack O construtor.
CComObjectStack::~CComObjectStack O destruidor.

Métodos Públicos

Nome Description
CComObjectStack::AddRef Retorno zero. Em modo de depuração, chama _ASSERTE.
CComObjectStack::QueryInterface Devolve E_NOINTERFACE. Em modo de depuração, chama _ASSERTE.
CComObjectStack::Release Retorno zero. Em modo de depuração, chama _ASSERTE. ~

Membros de Dados Públicos

Nome Description
CComObjectStack::m_hResFinalConstruct Contém o HRESULT devolvido durante a construção do CComObjectStack objeto.

Observações

CComObjectStack é usado para criar um objeto COM temporário e fornecer ao objeto uma implementação esquelética de IUnknown. Normalmente, o objeto é usado como variável local dentro de uma função (ou seja, empurrado para a pilha). Como o objeto é destruído quando a função termina, a contagem de referências não é realizada para aumentar a eficiência.

O exemplo seguinte mostra como criar um objeto COM usado dentro de uma função:

void MyFunc()
{
   CComObjectStack<CMyClass2> Tempobj;
   //...
}

O objeto Tempobj temporário é empurrado para a pilha e desaparece automaticamente quando a função termina.

Hierarquia de herança

Base

CComObjectStack

Requerimentos

Cabeçalho: atlcom.h

CComObjectStack::AddRef

Retorno zero.

STDMETHOD_(ULONG, AddRef)();

Valor de retorno

Retorno zero.

Observações

Em modo de depuração, chama _ASSERTE.

CComObjectStack::CComObjectStack

O construtor.

CComObjectStack(void* = NULL);

Observações

Chama FinalConstruct e depois define m_hResFinalConstruct para o HRESULT devolvido por FinalConstruct. Se não tiver derivado a sua classe base do CComObjectRoot, deve fornecer o seu próprio FinalConstruct método. O destruidor chama FinalRelease.

CComObjectStack::~CComObjectStack

O destruidor.

CComObjectStack();

Observações

Liberta todos os recursos alocados e chama o FinalRelease.

CComObjectStack::m_hResFinalConstruct

Contém o HRESULT devolvido da chamada FinalConstruct durante a construção do CComObjectStack objeto.

HRESULT    m_hResFinalConstruct;

CComObjectStack::QueryInterface

Devolve E_NOINTERFACE.

HRESULT    QueryInterface(REFIID, void**);

Valor de retorno

Devolve E_NOINTERFACE.

Observações

Em modo de depuração, chama _ASSERTE.

CComObjectStack::Release

Retorno zero.

STDMETHOD_(ULONG, Release)();

Valor de retorno

Retorno zero.

Observações

Em modo de depuração, chama _ASSERTE.

Consulte também

Classe CComAggObject
Classe CComObject
Classe CComObjectGlobal
Visão geral da classe