Share via


CComObjectGlobal-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 beheert een verwijzingsaantal voor de module die uw Base object bevat.

Syntaxis

template<class Base>
class CComObjectGlobal : 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
CComObjectGlobal::CComObjectGlobal De constructor.
CComObjectGlobal::~CComObjectGlobal De destructor.

Openbare methoden

Naam Description
CComObjectGlobal::AddRef Implementeert een globaal AddRef.
CComObjectGlobal::QueryInterface Implementeert een globaal QueryInterface.
CComObjectGlobal::Release Implementeert een globaal Release.

Publieke dataleden

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

Opmerkingen

CComObjectGlobal beheert een verwijzingsaantal op de module die uw Base object bevat. CComObjectGlobal zorgt ervoor dat uw object niet wordt verwijderd zolang de module niet wordt vrijgegeven. Uw object wordt alleen verwijderd wanneer het aantal verwijzingen voor de hele module naar nul gaat.

Een klassefactory kan bijvoorbeeld CComObjectGlobaleen gemeenschappelijk globaal object bevatten dat wordt gedeeld door alle clients.

Overnamehiërarchie

Base

CComObjectGlobal

Requirements

Koptekst: atlcom.h

CComObjectGlobal::AddRef

Hiermee wordt het verwijzingsaantal van het object verhoogd met 1.

STDMETHOD_(ULONG, AddRef)();

Retourwaarde

Een waarde die nuttig kan zijn voor diagnostische gegevens en tests.

Opmerkingen

AddRef Standaard roept u aan_Module::Lock, waar _Module is het globale exemplaar van CComModule of een klasse die hiervan is afgeleid.

CComObjectGlobal::CComObjectGlobal

De constructor. Roept FinalConstruct aan en stelt vervolgens m_hResFinalConstruct in op de HRESULT geretourneerde waarde FinalConstruct.

CComObjectGlobal(void* = NULL));

Opmerkingen

Als u uw basisklasse niet hebt afgeleid van CComObjectRoot, moet u uw eigen FinalConstruct methode opgeven. De destructor roept FinalReleaseaan.

CComObjectGlobal::~CComObjectGlobal

De destructor.

CComObjectGlobal();

Opmerkingen

Alle toegewezen resources en roept FinalRelease aan.

CComObjectGlobal::m_hResFinalConstruct

Bevat het HRESULT van aanroepen FinalConstruct tijdens de bouw van het CComObjectGlobal object.

HRESULT m_hResFinalConstruct;

CComObjectGlobal::QueryInterface

Hiermee haalt u een aanwijzer op naar de aangevraagde interfacepointer.

STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);

Parameterwaarden

iid
[in] De GUID van de interface die wordt aangevraagd.

ppvObject
[uit] Een aanwijzer naar de interfacepointer die is geïdentificeerd door iid of NULL als de interface niet wordt gevonden.

Retourwaarde

Een standaard HRESULT-waarde.

Opmerkingen

QueryInterface verwerkt alleen interfaces in de COM-kaarttabel.

CComObjectGlobal::Release

Hiermee wordt het verwijzingsaantal van het object met 1 verminderd.

STDMETHOD_(ULONG, Release)();

Retourwaarde

In builds voor foutopsporing Release wordt een waarde geretourneerd die nuttig kan zijn voor diagnostische gegevens en tests. In builds zonder foutopsporing retourneert Release altijd 0.

Opmerkingen

Release Standaard roept u aan_Module::Unlock, waar _Module is het globale exemplaar van CComModule of een klasse die hiervan is afgeleid.

Zie ook

CComObjectStack-klasse
CComAggObject-klasse
CComObject-klasse
Overzicht van klassen