Udostępnij za pośrednictwem


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

Podstawowej
Klasa, pochodząca z CComObjectRoot lub CComObjectRootEx, a także z dowolnego innego interfejsu, który ma być obsługiwane w obiekcie.

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CComObjectGlobal::CComObjectGlobal Konstruktor.
CComObjectGlobal::~CComObjectGlobal Destruktora.

Metody publiczne

Nazwa/nazwisko opis
CComObjectGlobal::AddRef Implementuje globalny AddRefelement .
CComObjectGlobal::QueryInterface Implementuje globalny QueryInterfaceelement .
CComObjectGlobal::Release Implementuje globalny Releaseelement .

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 CComObjectGlobalfabryka 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 FinalConstructelement .

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

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