Sdílet prostřednictvím


CComObjectGlobal – třída

Tato třída spravuje počet odkazů na modul obsahující objekt Base .

Syntaxe

template<class Base>
class CComObjectGlobal : public Base

Parametry

Základna
Třída odvozená z CComObjectRoot nebo CComObjectRootEx, stejně jako z jakéhokoli jiného rozhraní, které chcete podporovat na objektu.

Členové

Veřejné konstruktory

Název Popis
CComObjectGlobal::CComObjectGlobal Konstruktor
CComObjectGlobal::~CComObjectGlobal Destruktor.

Veřejné metody

Název Popis
CComObjectGlobal::AddRef Implementuje globální AddRef.
CComObjectGlobal::QueryInterface Implementuje globální QueryInterface.
CComObjectGlobal::Release Implementuje globální Release.

Veřejné datové členy

Název Popis
CComObjectGlobal::m_hResFinalConstruct Obsahuje HODNOTU HRESULT vrácenou během výstavby objektu CComObjectGlobal .

Poznámky

CComObjectGlobal spravuje počet odkazů na modul obsahující váš Base objekt. CComObjectGlobal zajistí, že se objekt neodstraní, dokud se modul nevyvolá. Objekt se odebere jenom v případech, kdy počet odkazů na celý modul přejde na nulu.

Například použití CComObjectGlobal, třída továrna může obsahovat společný globální objekt, který je sdílen všemi jeho klienty.

Hierarchie dědičnosti

Base

CComObjectGlobal

Požadavky

Hlavička: atlcom.h

CComObjectGlobal::AddRef

Zvýší počet odkazů objektu o 1.

STDMETHOD_(ULONG, AddRef)();

Návratová hodnota

Hodnota, která může být užitečná pro diagnostiku a testování.

Poznámky

Ve výchozím nastavení AddRef volání _Module::Lock, kde _Module je globální instance CComModule nebo třídy odvozené z ní.

CComObjectGlobal::CComObjectGlobal

Konstruktor Volání FinalConstruct a poté nastaví m_hResFinalConstruct na vrácený HRESULT FinalConstruct.

CComObjectGlobal(void* = NULL));

Poznámky

Pokud jste základní třídu neodvozovali z CComObjectRoot, musíte zadat vlastní FinalConstruct metodu. Destruktor volá FinalRelease.

CComObjectGlobal::~CComObjectGlobal

Destruktor.

CComObjectGlobal();

Poznámky

Uvolní všechny přidělené prostředky a zavolá FinalRelease.

CComObjectGlobal::m_hResFinalConstruct

Obsahuje HRESULT volání FinalConstruct během vytváření objektu CComObjectGlobal .

HRESULT m_hResFinalConstruct;

CComObjectGlobal::QueryInterface

Načte ukazatel na požadovaný ukazatel rozhraní.

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

Parametry

iid
[v] Identifikátor GUID požadovaného rozhraní.

ppvObject
[ven] Ukazatel na ukazatel rozhraní identifikovaný parametrem iid nebo NULL, pokud rozhraní nebylo nalezeno.

Návratová hodnota

Standardní hodnota HRESULT.

Poznámky

QueryInterface zpracovává pouze rozhraní v tabulce mapování modelu COM.

CComObjectGlobal::Release

Sníží počet odkazů objektu o 1.

STDMETHOD_(ULONG, Release)();

Návratová hodnota

V buildech ladění vrátí hodnotu, Release která může být užitečná pro diagnostiku a testování. V neladit sestavení vždy Release vrátí hodnotu 0.

Poznámky

Ve výchozím nastavení Release volání _Module::Unlock, kde _Module je globální instance CComModule nebo třídy odvozené z ní.

Viz také

CComObjectStack – třída
CComAggObject – třída
CComObject – třída
Přehled třídy