Classe CComObjectStack
Questa classe crea un oggetto COM temporaneo e lo fornisce con un'implementazione scheletra di IUnknown
.
Sintassi
template <class Base>
class CComObjectStack : public Base
Parametri
Base
La classe, derivata da CComObjectRoot o CComObjectRootEx, nonché da qualsiasi altra interfaccia che si vuole supportare nell'oggetto.
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CComObjectStack::CComObjectStack | Costruttore. |
CComObjectStack::~CComObjectStack | Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CComObjectStack::AddRef | Restituisce zero. In modalità di debug chiama _ASSERTE . |
CComObjectStack::QueryInterface | Restituisce E_NOINTERFACE. In modalità di debug chiama _ASSERTE . |
CComObjectStack::Release | Restituisce zero. In modalità di debug chiama _ASSERTE . ~ |
Membri dati pubblici
Nome | Descrizione |
---|---|
CComObjectStack::m_hResFinalConstruct | Contiene il valore HRESULT restituito durante la costruzione dell'oggetto CComObjectStack . |
Osservazioni:
CComObjectStack
viene usato per creare un oggetto COM temporaneo e fornire all'oggetto un'implementazione scheletrica di IUnknown
. In genere, l'oggetto viene usato come variabile locale all'interno di una funzione , ovvero inserita nello stack. Poiché l'oggetto viene eliminato definitivamente al termine della funzione, il conteggio dei riferimenti non viene eseguito per aumentare l'efficienza.
Nell'esempio seguente viene illustrato come creare un oggetto COM usato all'interno di una funzione:
void MyFunc()
{
CComObjectStack<CMyClass2> Tempobj;
//...
}
L'oggetto Tempobj
temporaneo viene inserito nello stack e scompare automaticamente al termine della funzione.
Gerarchia di ereditarietà
Base
CComObjectStack
Requisiti
Intestazione: atlcom.h
CComObjectStack::AddRef
Restituisce zero.
STDMETHOD_(ULONG, AddRef)();
Valore restituito
Restituisce zero.
Osservazioni:
In modalità di debug chiama _ASSERTE
.
CComObjectStack::CComObjectStack
Costruttore.
CComObjectStack(void* = NULL);
Osservazioni:
Chiama FinalConstruct
e imposta quindi m_hResFinalConstruct sul valore HRESULT restituito da FinalConstruct
. Se la classe di base non è stata derivata da CComObjectRoot, è necessario specificare il proprio FinalConstruct
metodo. Il distruttore chiama FinalRelease
.
CComObjectStack::~CComObjectStack
Distruttore.
CComObjectStack();
Osservazioni:
Libera tutte le risorse allocate e chiama FinalRelease.
CComObjectStack::m_hResFinalConstruct
Contiene il valore HRESULT restituito dalla chiamata FinalConstruct
durante la costruzione dell'oggetto CComObjectStack
.
HRESULT m_hResFinalConstruct;
CComObjectStack::QueryInterface
Restituisce E_NOINTERFACE.
HRESULT QueryInterface(REFIID, void**);
Valore restituito
Restituisce E_NOINTERFACE.
Osservazioni:
In modalità di debug chiama _ASSERTE
.
CComObjectStack::Release
Restituisce zero.
STDMETHOD_(ULONG, Release)();
Valore restituito
Restituisce zero.
Osservazioni:
In modalità di debug chiama _ASSERTE
.
Vedi anche
Classe CComAggObject
Classe CComObject
Classe CComObjectGlobal
Cenni preliminari sulla classe