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ákladní
Vaše třída odvozená z CComObjectRoot nebo CComObjectRootEx.
Členové
Veřejné konstruktory
Jméno | popis |
---|---|
CComContainedObject::CComContainedObject | Konstruktor Inicializuje ukazatel členu na objekt vlastníka .IUnknown |
CComContainedObject::~CComContainedObject | Destruktor. |
Veřejné metody
Jméno | 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)();
Vrácená 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();
Vrácená 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.
Stran
[ven] Ukazatel na ukazatel rozhraní identifikovaný podle typu Q
. Pokud objekt nepodporuje toto rozhraní, pp je nastavena na HODNOTU NULL.
Vrácená hodnota
Standardní hodnota HRESULT.
CComContainedObject::Release
Sníží počet odkazů na objekt vlastníka.
STDMETHOD_(ULONG, Release)();
Vrácená 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é
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro