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 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 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
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
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 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