CComCachedTearOffObject – třída
Tato třída implementuje IUnknown pro odtržené rozhraní.
Syntaxe
template
<class contained>
class CComCachedTearOffObject : public
IUnknown,
public CComObjectRootEx<contained
::_ThreadModel::ThreadModelNoCS>
Parametry
obsahoval
Třída odtrhání odvozená od CComTearOffObjectBase
rozhraní a rozhraní, která chcete, aby byl objekt pro odtržky podporován.
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CComCachedTearOffObject::CComCachedTearOffObject | Konstruktor |
CComCachedTearOffObject::~CComCachedTearOffObject | Destruktor. |
Veřejné metody
Název | Popis |
---|---|
CComCachedTearOffObject::AddRef | Zvýší počet odkazů pro CComCachedTearOffObject objekt. |
CComCachedTearOffObject::FinalConstruct | Volá metodu m_contained::FinalConstruct (metoda odtrhání třídy). |
CComCachedTearOffObject::FinalRelease | Volá metodu m_contained::FinalRelease (metoda odtrhání třídy). |
CComCachedTearOffObject::QueryInterface | Vrátí ukazatel na IUnknown CComCachedTearOffObject objekt nebo na požadované rozhraní třídy odtrhání (třída contained ). |
CComCachedTearOffObject::Release | Sníží počet odkazů pro CComCachedTearOffObject objekt a zničí ho, pokud je počet odkazů 0. |
Veřejné datové členy
Název | Popis |
---|---|
CComCachedTearOffObject::m_contained | Objekt CComContainedObject odvozený z vaší třídy odtrhání (třída contained ). |
Poznámky
CComCachedTearOffObject
implementuje IUnknown pro rozhraní pro odtržení. Tato třída se liší od CComTearOffObject
toho, co CComCachedTearOffObject
má vlastní IUnknown
, odděleně od objektu vlastníka IUnknown
(vlastník je objekt, pro který se vytváří odtržení). CComCachedTearOffObject
udržuje svůj vlastní počet odkazů na jeho IUnknown
a odstraní se sám, jakmile je jeho počet odkazů nula. Pokud však zadáte dotaz na některá z jeho rozhraní pro odtržení, zvýší se počet odkazů objektu IUnknown
vlastníka.
Pokud objekt CComCachedTearOffObject
, který implementuje odtržení, je již vytvořena instance a rozhraní pro odtržení se znovu dotazuje, stejný CComCachedTearOffObject
objekt se znovu použije. Naproti tomu pokud se na objekt vlastníka znovu dotazuje odtržené rozhraní implementované objektem CComTearOffObject
vlastníka, vytvoří se instance jiného CComTearOffObject
rozhraní.
Třída vlastníka musí implementovat FinalRelease
a volat Release
v mezipaměti IUnknown
pro , CComCachedTearOffObject
což sníží jeho referenční počet. To způsobí CComCachedTearOffObject
, že FinalRelease
se zavolá a odstraní slzu.
Hierarchie dědičnosti
CComObjectRootBase
IUnknown
CComCachedTearOffObject
Požadavky
Hlavička: atlcom.h
CComCachedTearOffObject::AddRef
Zvýší počet odkazů objektu CComCachedTearOffObject
o 1.
STDMETHOD_(ULONG, AddRef)();
Návratová hodnota
Hodnota, která může být užitečná pro diagnostiku a testování.
CComCachedTearOffObject::CComCachedTearOffObject
Konstruktor
CComCachedTearOffObject(void* pv);
Parametry
Pv
[v] Ukazatel na IUnknown
ikonu CComCachedTearOffObject
.
Poznámky
Inicializuje CComContainedObject
člen, m_contained.
CComCachedTearOffObject::~CComCachedTearOffObject
Destruktor.
~CComCachedTearOffObject();
Poznámky
Uvolní všechny přidělené prostředky a zavolá FinalRelease.
CComCachedTearOffObject::FinalConstruct
Volání m_contained::FinalConstruct
k vytvoření m_contained
,contained
CComContainedObject
<> objekt použitý pro přístup k rozhraní implementované vaší třídy odtrhání.
HRESULT FinalConstruct();
Návratová hodnota
Standardní hodnota HRESULT.
CComCachedTearOffObject::FinalRelease
Volání m_contained::FinalRelease
zdarma m_contained
,contained
CComContainedObject
<> objekt.
void FinalRelease();
CComCachedTearOffObject::m_contained
A CComContainedObject objekt odvozený z vaší třídy odtrhání.
CcomContainedObject <contained> m_contained;
Parametry
obsahoval
[v] Třída odtrhání odvozená od CComTearOffObjectBase
rozhraní a rozhraní, která chcete, aby byl objekt pro odtržky podporován.
Poznámky
Metody m_contained
dědí se používají pro přístup k rozhraní odtrhání ve vaší třídě odtrhání prostřednictvím objektu v mezipaměti QueryInterface
, FinalConstruct
a FinalRelease
.
CComCachedTearOffObject::QueryInterface
Načte ukazatel na požadované rozhraní.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
Parametry
iid
[v] Identifikátor GUID požadovaného rozhraní.
ppvObject
[ven] Ukazatel na ukazatel rozhraní identifikovaný parametrem iid nebo NULL, pokud rozhraní nebylo nalezeno.
Návratová hodnota
Standardní hodnota HRESULT.
Poznámky
Pokud je IUnknown
požadované rozhraní , vrátí ukazatel na CComCachedTearOffObject
vlastní IUnknown
hodnotu a zvýší počet odkazů. V opačném případě dotazy na rozhraní ve vaší třídě odtrhání pomocí InternalQueryInterface metoda zděděná z CComObjectRootEx
.
CComCachedTearOffObject::Release
Sníží počet odkazů o 1 a pokud je počet odkazů 0, odstraní CComCachedTearOffObject
objekt.
STDMETHOD_(ULONG, Release)();
Návratová hodnota
V neladit sestavení vždy vrátí hodnotu 0. V buildech ladění vrátí hodnotu, která může být užitečná pro diagnostiku nebo testování.
Viz také
CComTearOffObject – třída
CComObjectRootEx – třída
Přehled třídy