Freigeben über


CComObjectStack-Klasse

Diese Klasse erstellt ein temporäres COM-Objekt und stellt es mit einer skeletalen Implementierung von IUnknown.

Syntax

template <class  Base>
class CComObjectStack : public Base

Parameter

Bemessungsgrundlage
Ihre Von CComObjectRoot oder CComObjectRootEx abgeleitete Klasse sowie von einer anderen Schnittstelle, die Sie für das Objekt unterstützen möchten.

Member

Öffentliche Konstruktoren

Name Beschreibung
CComObjectStack::CComObjectStack Der Konstruktor.
CComObjectStack::~CComObjectStack Der Destruktor.

Öffentliche Methoden

Name Beschreibung
CComObjectStack::AddRef Gibt Null zurück. Im Debugmodus werden Aufrufe _ASSERTEausgeführt.
CComObjectStack::QueryInterface Gibt E_NOINTERFACE zurück. Im Debugmodus werden Aufrufe _ASSERTEausgeführt.
CComObjectStack::Release Gibt Null zurück. Im Debugmodus werden Aufrufe _ASSERTEausgeführt. ~

Öffentliche Datenmember

Name Beschreibung
CComObjectStack::m_hResFinalConstruct Enthält das HRESULT, das beim Erstellen des CComObjectStack Objekts zurückgegeben wird.

Hinweise

CComObjectStack wird verwendet, um ein temporäres COM-Objekt zu erstellen und das Objekt eine Skelettimplementierung von IUnknown. In der Regel wird das Objekt als lokale Variable innerhalb einer Funktion verwendet (d. r. auf den Stapel verschoben). Da das Objekt nach Abschluss der Funktion zerstört wird, wird die Verweiszählung nicht ausgeführt, um die Effizienz zu erhöhen.

Das folgende Beispiel zeigt, wie Sie ein IN einer Funktion verwendete COM-Objekt erstellen:

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

Das temporäre Objekt Tempobj wird auf den Stapel verschoben und verschwindet automatisch, wenn die Funktion abgeschlossen ist.

Vererbungshierarchie

Base

CComObjectStack

Anforderungen

Kopfzeile: atlcom.h

CComObjectStack::AddRef

Gibt Null zurück.

STDMETHOD_(ULONG, AddRef)();

Rückgabewert

Gibt Null zurück.

Hinweise

Im Debugmodus werden Aufrufe _ASSERTEausgeführt.

CComObjectStack::CComObjectStack

Der Konstruktor.

CComObjectStack(void* = NULL);

Hinweise

Ruft auf FinalConstruct und legt dann m_hResFinalConstruct auf das HRESULT fest, das von FinalConstruct. Wenn Sie Ihre Basisklasse nicht von CComObjectRoot abgeleitet haben, müssen Sie ihre eigene FinalConstruct Methode angeben. Der Destruktor ruft FinalRelease auf.

CComObjectStack::~CComObjectStack

Der Destruktor.

CComObjectStack();

Hinweise

Gibt alle zugeordneten Ressourcen frei und ruft FinalRelease auf.

CComObjectStack::m_hResFinalConstruct

Enthält das HRESULT, das beim Erstellen des CComObjectStack Objekts vom Aufruf FinalConstruct zurückgegeben wird.

HRESULT    m_hResFinalConstruct;

CComObjectStack::QueryInterface

Gibt E_NOINTERFACE zurück.

HRESULT    QueryInterface(REFIID, void**);

Rückgabewert

Gibt E_NOINTERFACE zurück.

Hinweise

Im Debugmodus werden Aufrufe _ASSERTEausgeführt.

CComObjectStack::Release

Gibt Null zurück.

STDMETHOD_(ULONG, Release)();

Rückgabewert

Gibt Null zurück.

Hinweise

Im Debugmodus werden Aufrufe _ASSERTEausgeführt.

Siehe auch

CComAggObject-Klasse
CComObject-Klasse
CComObjectGlobal-Klasse
Klassenübersicht