Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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.