Condividi tramite


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