Share via


CComContainedObject-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Met deze klasse wordt IUnknown geïmplementeerd door het delegeren aan het object van IUnknownde eigenaar.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

template<class Base>
class CComContainedObject : public Base

Parameterwaarden

Base
Uw klasse, afgeleid van CComObjectRoot of CComObjectRootEx.

Leden

Openbare constructors

Naam Description
CComContainedObject::CComContainedObject De constructor. Initialiseert de lidpointer naar de eigenaarobjecten IUnknown.
CComContainedObject::~CComContainedObject De destructor.

Openbare methoden

Naam Description
CComContainedObject::AddRef Hiermee wordt het aantal verwijzingen voor het eigenaarsobject verhoogd.
CComContainedObject::GetControllingUnknown Hiermee haalt u de eigenaarobjecten IUnknownop.
CComContainedObject::QueryInterface Hiermee wordt een aanwijzer opgehaald naar de interface die is aangevraagd op het eigenaarsobject.
CComContainedObject::Release Hiermee wordt het aantal verwijzingen voor het eigenaarsobject afgeschroefd.

Opmerkingen

ATL gebruikt CComContainedObject in klassen CComAggObject, CComPolyObject en CComCachedTearOffObject. CComContainedObject implementeert IUnknown door het delegeren aan het object van IUnknownde eigenaar. (De eigenaar is het buitenste object van een aggregatie of het object waarvoor een losloopinterface wordt gemaakt.) CComContainedObject aanroepen CComObjectRootEx' s OuterQueryInterface, OuterAddRefen OuterRelease, allemaal overgenomen door Base.

Overnamehiërarchie

Base

CComContainedObject

Requirements

Koptekst: atlcom.h

CComContainedObject::AddRef

Hiermee wordt het aantal verwijzingen voor het eigenaarsobject verhoogd.

STDMETHOD_(ULONG, AddRef)();

Retourwaarde

Een waarde die nuttig kan zijn voor diagnostische gegevens of tests.

CComContainedObject::CComContainedObject

De constructor.

CComContainedObject(void* pv);

Parameterwaarden

Pv
[in] Het object van IUnknownde eigenaar.

Opmerkingen

Hiermee stelt u de m_pOuterUnknown lidpointer (overgenomen door de Base klasse) in op HW.

CComContainedObject::~CComContainedObject

De destructor.

~CComContainedObject();

Opmerkingen

Alle toegewezen resources worden vrijgemaakt.

CComContainedObject::GetControllingUnknown

Retourneert de m_pOuterUnknown lidpointer (overgenomen via de Basisklasse ) die het eigenaarobject IUnknownbevat.

IUnknown* GetControllingUnknown();

Retourwaarde

Het object van IUnknownde eigenaar.

Opmerkingen

Deze methode kan virtueel zijn als Base de DECLARE_GET_CONTROLLING_UNKNOWN macro is gedeclareerd.

CComContainedObject::QueryInterface

Hiermee wordt een aanwijzer opgehaald naar de interface die is aangevraagd op het eigenaarsobject.

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

Parameterwaarden

iid
[in] De id van de interface die wordt aangevraagd.

ppvObject
[uit] Een aanwijzer naar de interfacepointer die wordt geïdentificeerd door iid. Als het object deze interface niet ondersteunt, is ppvObject ingesteld op NULL.

Pp
[uit] Een aanwijzer naar de interfacepointer geïdentificeerd door het type Q. Als het object deze interface niet ondersteunt, is pp ingesteld op NULL.

Retourwaarde

Een standaard HRESULT-waarde.

CComContainedObject::Release

Hiermee wordt het aantal verwijzingen voor het eigenaarsobject afgeschroefd.

STDMETHOD_(ULONG, Release)();

Retourwaarde

In builds Release voor foutopsporing wordt een waarde geretourneerd die nuttig kan zijn voor diagnostische gegevens of tests. In builds zonder foutopsporing retourneert Release altijd 0.

Zie ook

Overzicht van klassen