Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 , CComCachedTearOffObjectcož 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,containedCComContainedObject<> 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,containedCComContainedObject<> 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, FinalConstructa 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 IUnknownpožadované rozhraní , vrátí ukazatel na CComCachedTearOffObjectvlastní 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