Klasa CComCachedTearOffObject
Ta klasa implementuje interfejs IUnknown dla interfejsu odrywania.
Składnia
template
<class contained>
class CComCachedTearOffObject : public
IUnknown,
public CComObjectRootEx<contained
::_ThreadModel::ThreadModelNoCS>
Parametry
Zawarte
Klasa łzawiąca, pochodząca z CComTearOffObjectBase
i interfejsy, które mają obsługiwać obiekt odrywania.
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CComCachedTearOffObject::CComCachedTearOffObject | Konstruktor. |
CComCachedTearOffObject::~CComCachedTearOffObject | Destruktora. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CComCachedTearOffObject::AddRef | Zwiększa liczbę odwołań dla CComCachedTearOffObject obiektu. |
CComCachedTearOffObject::FinalConstruct | Wywołuje metodę m_contained::FinalConstruct (metoda łzawiące). |
CComCachedTearOffObject::FinalRelease | Wywołuje metodę m_contained::FinalRelease (metoda łzawiące). |
CComCachedTearOffObject::QueryInterface | Zwraca wskaźnik do IUnknown CComCachedTearOffObject obiektu lub żądanego interfejsu w klasie odrywania (klasa contained ). |
CComCachedTearOffObject::Release | Dekrementuje liczbę odwołań dla CComCachedTearOffObject obiektu i niszczy ją, jeśli liczba odwołań wynosi 0. |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
CComCachedTearOffObject::m_contained | CComContainedObject Obiekt pochodzący z klasy łzawiącego (klasa contained ). |
Uwagi
CComCachedTearOffObject
implementuje interfejs IUnknown dla interfejsu odrętywania. Ta klasa różni się od CComTearOffObject
tej, która CComCachedTearOffObject
ma własny IUnknown
obiekt , oddzielony od obiektu IUnknown
właściciela (właściciel jest obiektem, dla którego tworzone jest odręcie). CComCachedTearOffObject
utrzymuje własną liczbę odwołań na jej IUnknown
i usuwa się, gdy jego liczba odwołań wynosi zero. Jeśli jednak wykonasz zapytanie o dowolny z jego interfejsów, liczba odwołań obiektu IUnknown
właściciela zostanie zwiększana.
CComCachedTearOffObject
Jeśli obiekt wdrażający odręcz jest już tworzone, a interfejs odrywania jest odpytywane ponownie, ten sam CComCachedTearOffObject
obiekt jest ponownie używany. W przeciwieństwie do tego, jeśli interfejs odrywania zaimplementowany przez obiekt jest CComTearOffObject
ponownie odpytywane za pośrednictwem obiektu właściciela, zostanie utworzone wystąpienie innego CComTearOffObject
interfejsu.
Klasa właściciela musi implementować FinalRelease
i wywoływać Release
buforowane IUnknown
dla CComCachedTearOffObject
klasy , co spowoduje dekrementację jej liczby odwołań. CComCachedTearOffObject
FinalRelease
Spowoduje to wywołanie i usunięcie rozerwania.
Hierarchia dziedziczenia
CComObjectRootBase
IUnknown
CComCachedTearOffObject
Wymagania
Nagłówek: atlcom.h
CComCachedTearOffObject::AddRef
Zwiększa liczbę CComCachedTearOffObject
odwołań obiektu o 1.
STDMETHOD_(ULONG, AddRef)();
Wartość zwracana
Wartość, która może być przydatna do diagnostyki i testowania.
CComCachedTearOffObject::CComCachedTearOffObject
Konstruktor.
CComCachedTearOffObject(void* pv);
Parametry
Pv
[in] Wskaźnik do IUnknown
wartości .CComCachedTearOffObject
Uwagi
Inicjuje element członkowski CComContainedObject
, m_contained.
CComCachedTearOffObject::~CComCachedTearOffObject
Destruktora.
~CComCachedTearOffObject();
Uwagi
Zwalnia wszystkie przydzielone zasoby i wywołuje finalrelease.
CComCachedTearOffObject::FinalConstruct
Wywołuje m_contained::FinalConstruct
metodę do utworzenia> m_contained
CComContainedObject
<contained
obiektu używanego do uzyskiwania dostępu do interfejsu zaimplementowanego przez klasę odrywania.
HRESULT FinalConstruct();
Wartość zwracana
Standardowa wartość HRESULT.
CComCachedTearOffObject::FinalRelease
Wywołuje m_contained::FinalRelease
metodę CComContainedObject
>contained
<, aby zwolnić m_contained
obiekt .
void FinalRelease();
CComCachedTearOffObject::m_contained
Obiekt CComContainedObject pochodzący z klasy łzawiącego.
CcomContainedObject <contained> m_contained;
Parametry
Zawarte
[in] Klasa łzawiąca, pochodząca z CComTearOffObjectBase
i interfejsy, które mają obsługiwać obiekt odrywania.
Uwagi
Metody m_contained
dziedziczą są używane do uzyskiwania dostępu do interfejsu odrywania w klasie odrywania za pośrednictwem buforowanego obiektu QueryInterface
FinalConstruct
, i FinalRelease
.
CComCachedTearOffObject::QueryInterface
Pobiera wskaźnik do żądanego 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
Jeśli żądany interfejs to IUnknown
, zwraca wskaźnik do CComCachedTearOffObject
własnych IUnknown
i zwiększa liczbę odwołań. W przeciwnym razie wykonuje zapytania dotyczące interfejsu w klasie odrywania przy użyciu metody InternalQueryInterface dziedziczonej z CComObjectRootEx
klasy .
CComCachedTearOffObject::Release
Dekrementuje liczbę odwołań o 1, a jeśli liczba odwołań wynosi 0, usuwa CComCachedTearOffObject
obiekt.
STDMETHOD_(ULONG, Release)();
Wartość zwracana
W kompilacjach innych niż debugowanie zawsze zwraca wartość 0. W kompilacjach debugowania zwraca wartość, która może być przydatna do diagnostyki lub testowania.
Zobacz też
Klasa CComTearOffObject
Klasa CComObjectRootEx
Omówienie klasy