CComObjectGlobal-Klasse
Diese Klasse verwaltet eine Referenzanzahl für das Modul, das Ihr Base
Objekt enthält.
Syntax
template<class Base>
class CComObjectGlobal : 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 |
---|---|
CComObjectGlobal::CComObjectGlobal | Der Konstruktor. |
CComObjectGlobal::~CComObjectGlobal | Der Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CComObjectGlobal::AddRef | Implementiert eine globale AddRef . |
CComObjectGlobal::QueryInterface | Implementiert eine globale QueryInterface . |
CComObjectGlobal::Release | Implementiert eine globale Release . |
Öffentliche Datenmember
Name | Beschreibung |
---|---|
CComObjectGlobal::m_hResFinalConstruct | Enthält das HRESULT, das beim Erstellen des CComObjectGlobal Objekts zurückgegeben wird. |
Hinweise
CComObjectGlobal
verwaltet eine Referenzanzahl für das Modul, das Ihr Base
Objekt enthält. CComObjectGlobal
stellt sicher, dass Das Objekt nicht gelöscht wird, solange das Modul nicht freigegeben wird. Ihr Objekt wird nur entfernt, wenn die Bezugsanzahl des gesamten Moduls auf Null gesetzt wird.
Beispielsweise CComObjectGlobal
kann eine Klassenfactory ein gemeinsames globales Objekt enthalten, das von allen Clients gemeinsam genutzt wird.
Vererbungshierarchie
Base
CComObjectGlobal
Anforderungen
Kopfzeile: atlcom.h
CComObjectGlobal::AddRef
Erhöht die Referenzanzahl des Objekts um 1.
STDMETHOD_(ULONG, AddRef)();
Rückgabewert
Ein Wert, der für Diagnose und Tests nützlich sein kann.
Hinweise
Ruft standardmäßig auf_Module::Lock
, AddRef
wobei _Module
es sich um die globale Instanz von CComModule oder eine von ihr abgeleitete Klasse handelt.
CComObjectGlobal::CComObjectGlobal
Der Konstruktor. Ruft FinalConstruct
auf und legt dann m_hResFinalConstruct auf die HRESULT
zurückgegeben von FinalConstruct
.
CComObjectGlobal(void* = NULL));
Hinweise
Wenn Sie Ihre Basisklasse nicht von CComObjectRoot abgeleitet haben, müssen Sie ihre eigene FinalConstruct
Methode angeben. Der Destruktor ruft FinalRelease
auf.
CComObjectGlobal::~CComObjectGlobal
Der Destruktor.
CComObjectGlobal();
Hinweise
Gibt alle zugeordneten Ressourcen frei und ruft FinalRelease auf.
CComObjectGlobal::m_hResFinalConstruct
Enthält das HRESULT,das beim Erstellen des CComObjectGlobal
Objekts aufgerufen FinalConstruct
wird.
HRESULT m_hResFinalConstruct;
CComObjectGlobal::QueryInterface
Ruft einen Zeiger auf den angeforderten Schnittstellenzeiger ab.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
Parameter
iid
[in] Die GUID der angeforderten Schnittstelle.
ppvObject
[out] Ein Zeiger auf den von iid identifizierten Schnittstellenzeiger oder NULL, wenn die Schnittstelle nicht gefunden wird.
Rückgabewert
Ein HRESULT-Standardwert.
Hinweise
QueryInterface
behandelt nur Schnittstellen in der COM-Zuordnungstabelle.
CComObjectGlobal::Release
Erhöht die Referenzanzahl des Objekts um 1.
STDMETHOD_(ULONG, Release)();
Rückgabewert
Gibt in Debugbuilds einen Wert zurück, Release
der für Diagnose und Tests nützlich sein kann. Gibt in Nicht-Debug-Builds Release
immer "0" zurück.
Hinweise
Ruft standardmäßig auf_Module::Unlock
, Release
wobei _Module
es sich um die globale Instanz von CComModule oder eine von ihr abgeleitete Klasse handelt.
Siehe auch
CComObjectStack-Klasse
CComAggObject-Klasse
CComObject-Klasse
Klassenübersicht