Teilen über


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 CComObjectGlobalkann 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