Udostępnij za pośrednictwem


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.

Członkowie

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 IUnknownCComCachedTearOffObject 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 IUnknownobiekt , 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 CComCachedTearOffObjectklasy , co spowoduje dekrementację jej liczby odwołań. CComCachedTearOffObjectFinalRelease Spowoduje to wywołanie i usunięcie rozerwania.

Hierarchia dziedziczenia

CComObjectRootBase

Ccomobjectrootex

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_containedCComContainedObject<containedobiektu 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_containedobiekt .

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 QueryInterfaceFinalConstruct, i FinalRelease.

CComCachedTearOffObject::QueryInterface

Pobiera wskaźnik do żądanego 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

Jeśli żądany interfejs to IUnknown, zwraca wskaźnik do CComCachedTearOffObjectwł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 CComObjectRootExklasy .

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