Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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