Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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