Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 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
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