Classe CComObjectStack
Essa classe cria um objeto COM temporário e fornece a ele uma implementação estrutural de IUnknown
.
Sintaxe
template <class Base>
class CComObjectStack : public Base
Parâmetros
Base
Sua classe, derivada de CComObjectRoot ou CComObjectRootEx, bem como de qualquer outra interface que você deseja dar suporte no objeto.
Membros
Construtores públicos
Nome | Descrição |
---|---|
CComObjectStack::CComObjectStack | O construtor . |
CComObjectStack::~CComObjectStack | O destruidor. |
Métodos públicos
Nome | Descrição |
---|---|
CComObjectStack::AddRef | Retorna zero. No modo de depuração, chama _ASSERTE . |
CComObjectStack::QueryInterface | Retorna E_NOINTERFACE. No modo de depuração, chama _ASSERTE . |
CComObjectStack::Release | Retorna zero. No modo de depuração, chama _ASSERTE . ~ |
Membros de Dados Públicos
Nome | Descrição |
---|---|
CComObjectStack::m_hResFinalConstruct | Contém o HRESULT retornado durante a construção do objeto CComObjectStack . |
Comentários
CComObjectStack
é usado para criar um objeto COM temporário e fornecer ao objeto uma implementação estrutural de IUnknown
. Normalmente, o objeto é usado como uma variável local dentro de uma função (ou seja, enviada por push para a pilha). Como o objeto é destruído quando a função é concluída, a contagem de referências não é executada para aumentar a eficiência.
O seguinte exemplo mostra como criar um objeto COM usado dentro de uma função:
void MyFunc()
{
CComObjectStack<CMyClass2> Tempobj;
//...
}
O objeto Tempobj
temporário é enviado por push para a pilha e desaparece automaticamente quando a função é concluída.
Hierarquia de herança
Base
CComObjectStack
Requisitos
Cabeçalho: atlcom.h
CComObjectStack::AddRef
Retorna zero.
STDMETHOD_(ULONG, AddRef)();
Valor de retorno
Retorna zero.
Comentários
No modo de depuração, chama _ASSERTE
.
CComObjectStack::CComObjectStack
O construtor .
CComObjectStack(void* = NULL);
Comentários
Chama FinalConstruct
e define m_hResFinalConstruct para o HRESULT retornado por FinalConstruct
. Se você não tiver derivado sua classe base do CComObjectRoot, deverá fornecer seu próprio método FinalConstruct
. O destruidor chama FinalRelease
.
CComObjectStack::~CComObjectStack
O destruidor.
CComObjectStack();
Comentários
Libera todos os recursos alocados e chama FinalRelease.
CComObjectStack::m_hResFinalConstruct
Contém o HRESULT retornado ao chamar FinalConstruct
durante a construção do objeto CComObjectStack
.
HRESULT m_hResFinalConstruct;
CComObjectStack::QueryInterface
Retorna E_NOINTERFACE.
HRESULT QueryInterface(REFIID, void**);
Valor de retorno
Retorna E_NOINTERFACE.
Comentários
No modo de depuração, chama _ASSERTE
.
CComObjectStack::Release
Retorna zero.
STDMETHOD_(ULONG, Release)();
Valor de retorno
Retorna zero.
Comentários
No modo de depuração, chama _ASSERTE
.
Confira também
Classe CComAggObject
Classe CComObject
Classe CComObjectGlobal
Visão geral da aula