Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
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