Sdílet prostřednictvím


CComContainedObject – třída

Tato třída implementuje IUnknown delegováním do objektu IUnknownvlastníka .

Důležité

Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.

Syntaxe

template<class Base>
class CComContainedObject : public Base

Parametry

Základna
Vaše třída odvozená z CComObjectRoot nebo CComObjectRootEx.

Členové

Veřejné konstruktory

Název Popis
CComContainedObject::CComContainedObject Konstruktor Inicializuje ukazatel členu na objekt vlastníka .IUnknown
CComContainedObject::~CComContainedObject Destruktor.

Veřejné metody

Název Popis
CComContainedObject::AddRef Zvýší počet odkazů na objekt vlastníka.
CComContainedObject::GetControllingUnknown Načte objekt vlastníka IUnknown.
CComContainedObject::QueryInterface Načte ukazatel na rozhraní požadované pro objekt vlastníka.
CComContainedObject::Release Sníží počet odkazů na objekt vlastníka.

Poznámky

ATL používá CComContainedObject ve třídách CComAggObject, CComPolyObject a CComCachedTearOffObject. CComContainedObject implementuje IUnknown delegováním na objekt vlastníka IUnknown. (Vlastník je buď vnější objekt agregace, nebo objekt, pro který se vytváří rozhraní pro odtržování.) CComContainedObject volá CComObjectRootEx' s OuterQueryInterface, OuterAddRefa OuterRelease, všechny zděděné prostřednictvím Base.

Hierarchie dědičnosti

Base

CComContainedObject

Požadavky

Hlavička: atlcom.h

CComContainedObject::AddRef

Zvýší počet odkazů na objekt vlastníka.

STDMETHOD_(ULONG, AddRef)();

Návratová hodnota

Hodnota, která může být užitečná pro diagnostiku nebo testování.

CComContainedObject::CComContainedObject

Konstruktor

CComContainedObject(void* pv);

Parametry

Pv
[v] Objekt vlastníka IUnknown.

Poznámky

Nastaví ukazatel členu m_pOuterUnknown (zděděný prostřednictvím Base třídy) na pv.

CComContainedObject::~CComContainedObject

Destruktor.

~CComContainedObject();

Poznámky

Uvolní všechny přidělené prostředky.

CComContainedObject::GetControllingUnknown

Vrátí ukazatel členu m_pOuterUnknown (zděděný prostřednictvím základní třídy), který obsahuje objekt vlastníka IUnknown.

IUnknown* GetControllingUnknown();

Návratová hodnota

Objekt vlastníka IUnknown.

Poznámky

Tato metoda může být virtuální, pokud Base deklarovala DECLARE_GET_CONTROLLING_UNKNOWN makro.

CComContainedObject::QueryInterface

Načte ukazatel na rozhraní požadované pro objekt vlastníka.

STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
template <class Q>
HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp);

Parametry

iid
[v] Identifikátor požadovaného rozhraní.

ppvObject
[ven] Ukazatel na ukazatel rozhraní identifikovaný pomocí iid. Pokud objekt nepodporuje toto rozhraní, ppvObject je nastaven na HODNOTU NULL.

Pp
[ven] Ukazatel na ukazatel rozhraní identifikovaný podle typu Q. Pokud objekt nepodporuje toto rozhraní, pp je nastavena na HODNOTU NULL.

Návratová hodnota

Standardní hodnota HRESULT.

CComContainedObject::Release

Sníží počet odkazů na objekt vlastníka.

STDMETHOD_(ULONG, Release)();

Návratová hodnota

V buildech ladění vrátí hodnotu, Release která může být užitečná pro diagnostiku nebo testování. V neladit sestavení vždy Release vrátí hodnotu 0.

Viz také

Přehled třídy