Share via


CComObjectStack-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse maakt een tijdelijk COM-object en biedt het een skeletale implementatie van IUnknown.

Syntaxis

template <class  Base>
class CComObjectStack : public Base

Parameterwaarden

Base
Uw klasse, afgeleid van CComObjectRoot of CComObjectRootEx, evenals van elke andere interface die u voor het object wilt ondersteunen.

Leden

Openbare constructors

Naam Description
CComObjectStack::CComObjectStack De constructor.
CComObjectStack::~CComObjectStack De destructor.

Openbare methoden

Naam Description
CComObjectStack::AddRef Retourneert nul. In de foutopsporingsmodus worden aanroepen _ASSERTEuitgevoerd.
CComObjectStack::QueryInterface Retourneert E_NOINTERFACE. In de foutopsporingsmodus worden aanroepen _ASSERTEuitgevoerd.
CComObjectStack::Release Retourneert nul. In de foutopsporingsmodus worden aanroepen _ASSERTEuitgevoerd. ~

Publieke dataleden

Naam Description
CComObjectStack::m_hResFinalConstruct Bevat het HRESULT dat tijdens de bouw van het CComObjectStack object is geretourneerd.

Opmerkingen

CComObjectStack wordt gebruikt om een tijdelijk COM-object te maken en het object een skeletale implementatie van IUnknown. Normaal gesproken wordt het object gebruikt als een lokale variabele binnen één functie (dat wil gezegd, naar de stack gepusht). Omdat het object wordt vernietigd wanneer de functie is voltooid, wordt het tellen van verwijzingen niet uitgevoerd om de efficiëntie te verhogen.

In het volgende voorbeeld ziet u hoe u een COM-object maakt dat in een functie wordt gebruikt:

void MyFunc()
{
   CComObjectStack<CMyClass2> Tempobj;
   //...
}

Het tijdelijke object Tempobj wordt naar de stapel gepusht en verdwijnt automatisch wanneer de functie is voltooid.

Overnamehiërarchie

Base

CComObjectStack

Requirements

Koptekst: atlcom.h

CComObjectStack::AddRef

Retourneert nul.

STDMETHOD_(ULONG, AddRef)();

Retourwaarde

Retourneert nul.

Opmerkingen

In de foutopsporingsmodus worden aanroepen _ASSERTEuitgevoerd.

CComObjectStack::CComObjectStack

De constructor.

CComObjectStack(void* = NULL);

Opmerkingen

Roept FinalConstruct aan en stelt vervolgens m_hResFinalConstruct in op het HRESULT dat wordt geretourneerd door FinalConstruct. Als u uw basisklasse niet hebt afgeleid van CComObjectRoot, moet u uw eigen FinalConstruct methode opgeven. De destructor roept FinalReleaseaan.

CComObjectStack::~CComObjectStack

De destructor.

CComObjectStack();

Opmerkingen

Alle toegewezen resources en roept FinalRelease aan.

CComObjectStack::m_hResFinalConstruct

Bevat het HRESULT geretourneerd van aanroepen FinalConstruct tijdens de bouw van het CComObjectStack object.

HRESULT    m_hResFinalConstruct;

CComObjectStack::QueryInterface

Retourneert E_NOINTERFACE.

HRESULT    QueryInterface(REFIID, void**);

Retourwaarde

Retourneert E_NOINTERFACE.

Opmerkingen

In de foutopsporingsmodus worden aanroepen _ASSERTEuitgevoerd.

CComObjectStack::Release

Retourneert nul.

STDMETHOD_(ULONG, Release)();

Retourwaarde

Retourneert nul.

Opmerkingen

In de foutopsporingsmodus worden aanroepen _ASSERTEuitgevoerd.

Zie ook

CComAggObject-klasse
CComObject-klasse
CComObjectGlobal-klasse
Overzicht van klassen