CComContainedObject – třída
Tato třída implementuje IUnknown delegováním do objektu IUnknown
vlastní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
, OuterAddRef
a 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.