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