Klasa CComObjectGlobal
Ta klasa zarządza liczbą odwołań w module zawierającym Base
obiekt.
Składnia
template<class Base>
class CComObjectGlobal : public Base
Parametry
Baza
Klasa, pochodząca z CComObjectRoot lub CComObjectRootEx, a także z dowolnego innego interfejsu, który ma być obsługiwane w obiekcie.
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CComObjectGlobal::CComObjectGlobal | Konstruktor. |
CComObjectGlobal::~CComObjectGlobal | Destruktora. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CComObjectGlobal::AddRef | Implementuje globalny AddRef element . |
CComObjectGlobal::QueryInterface | Implementuje globalny QueryInterface element . |
CComObjectGlobal::Release | Implementuje globalny Release element . |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
CComObjectGlobal::m_hResFinalConstruct | Zawiera wartość HRESULT zwróconą podczas budowy CComObjectGlobal obiektu. |
Uwagi
CComObjectGlobal
zarządza liczbą odwołań w module zawierającym Base
obiekt. CComObjectGlobal
gwarantuje, że obiekt nie zostanie usunięty, o ile moduł nie zostanie zwolniony. Obiekt zostanie usunięty tylko wtedy, gdy liczba odwołań w całym module przekroczy zero.
Na przykład przy użyciu klasy CComObjectGlobal
fabryka klas może przechowywać wspólny obiekt globalny, który jest współużytkowany przez wszystkich swoich klientów.
Hierarchia dziedziczenia
Base
CComObjectGlobal
Wymagania
Nagłówek: atlcom.h
CComObjectGlobal::AddRef
Zwiększa liczbę odwołań obiektu o 1.
STDMETHOD_(ULONG, AddRef)();
Wartość zwracana
Wartość, która może być przydatna do diagnostyki i testowania.
Uwagi
Domyślnie AddRef
wywołuje metodę _Module::Lock
, gdzie _Module
jest globalnym wystąpieniem modułu CComModule lub klasy pochodnej.
CComObjectGlobal::CComObjectGlobal
Konstruktor. Wywołania FinalConstruct
, a następnie ustawia m_hResFinalConstruct do HRESULT
zwracanego przez FinalConstruct
element .
CComObjectGlobal(void* = NULL));
Uwagi
Jeśli klasa bazowa nie pochodzi z klasy CComObjectRoot, musisz podać własną FinalConstruct
metodę. Destruktor wywołuje metodę FinalRelease
.
CComObjectGlobal::~CComObjectGlobal
Destruktora.
CComObjectGlobal();
Uwagi
Zwalnia wszystkie przydzielone zasoby i wywołuje finalrelease.
CComObjectGlobal::m_hResFinalConstruct
Zawiera element HRESULT podczas wywoływania FinalConstruct
podczas konstruowania CComObjectGlobal
obiektu.
HRESULT m_hResFinalConstruct;
CComObjectGlobal::QueryInterface
Pobiera wskaźnik do żądanego wskaźnika interfejsu.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
Parametry
identyfikator iid
[in] Identyfikator GUID żądanego interfejsu.
ppvObject
[out] Wskaźnik do wskaźnika interfejsu zidentyfikowany przez identyfikator lub wartość NULL, jeśli interfejs nie zostanie znaleziony.
Wartość zwracana
Standardowa wartość HRESULT.
Uwagi
QueryInterface
obsługuje tylko interfejsy w tabeli mapy COM.
CComObjectGlobal::Release
Dekrementuje liczbę odwołań obiektu o 1.
STDMETHOD_(ULONG, Release)();
Wartość zwracana
W kompilacjach debugowania zwraca wartość, Release
która może być przydatna do diagnostyki i testowania. W kompilacjach innych niż debugowanie Release
zawsze zwraca wartość 0.
Uwagi
Domyślnie Release
wywołuje metodę _Module::Unlock
, gdzie _Module
jest globalnym wystąpieniem modułu CComModule lub klasy pochodnej.
Zobacz też
Klasa CComObjectStack
Klasa CComAggObject
Klasa CComObject
Omówienie klasy