CComContainedObject-Klasse
Diese Klasse implementiert IUnknown durch Delegieren an das Besitzerobjekt IUnknown
.
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
template<class Base>
class CComContainedObject : public Base
Parameter
Bemessungsgrundlage
Ihre Klasse, abgeleitet von CComObjectRoot oder CComObjectRootEx.
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CComContainedObject::CComContainedObject | Der Konstruktor. Initialisiert den Memberzeiger auf das Besitzerobjekt IUnknown . |
CComContainedObject::~CComContainedObject | Der Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CComContainedObject::AddRef | Erhöht die Verweisanzahl für das Besitzerobjekt. |
CComContainedObject::GetControllingUnknown | Ruft die Besitzerobjekts ab IUnknown . |
CComContainedObject::QueryInterface | Ruft einen Zeiger auf die Schnittstelle ab, die für das Besitzerobjekt angefordert wurde. |
CComContainedObject::Release | Erhöht die Verweisanzahl für das Besitzerobjekt. |
Hinweise
ATL verwendet CComContainedObject
in Klassen CComAggObject, CComPolyObject und CComCachedTearOffObject. CComContainedObject
implementiert IUnknown durch Delegieren an das Besitzerobjekt.IUnknown
(Der Besitzer ist entweder das äußere Objekt einer Aggregation oder das Objekt, für das eine Abrissschnittstelle erstellt wird.) CComContainedObject
ruft CComObjectRootEx
's OuterQueryInterface
, OuterAddRef
und OuterRelease
, alle geerbt durch Base
.
Vererbungshierarchie
Base
CComContainedObject
Anforderungen
Kopfzeile: atlcom.h
CComContainedObject::AddRef
Erhöht die Verweisanzahl für das Besitzerobjekt.
STDMETHOD_(ULONG, AddRef)();
Rückgabewert
Ein Wert, der für Diagnosen oder Tests nützlich sein kann.
CComContainedObject::CComContainedObject
Der Konstruktor.
CComContainedObject(void* pv);
Parameter
Pv
[in] Das Besitzerobjekt .IUnknown
Hinweise
Legt den m_pOuterUnknown
Memberzeiger (geerbt durch die Base
Klasse) auf Pv fest.
CComContainedObject::~CComContainedObject
Der Destruktor.
~CComContainedObject();
Hinweise
Gibt alle zugeordneten Ressourcen frei.
CComContainedObject::GetControllingUnknown
Gibt den m_pOuterUnknown
Memberzeiger (geerbt durch die Base-Klasse ) zurück, der das Besitzerobjekt IUnknown
enthält.
IUnknown* GetControllingUnknown();
Rückgabewert
Das Besitzerobjekt .IUnknown
Hinweise
Diese Methode kann virtuell sein, wenn Base
das DECLARE_GET_CONTROLLING_UNKNOWN-Makro deklariert wurde.
CComContainedObject::QueryInterface
Ruft einen Zeiger auf die Schnittstelle ab, die für das Besitzerobjekt angefordert wurde.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
template <class Q>
HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp);
Parameter
iid
[in] Der Bezeichner der angeforderten Schnittstelle.
ppvObject
[out] Ein Zeiger auf den Schnittstellenzeiger, der durch iid identifiziert wird. Wenn das Objekt diese Schnittstelle nicht unterstützt, wird ppvObject auf NULL festgelegt.
PP
[out] Ein Zeiger auf den Schnittstellenzeiger, der vom Typ Q
identifiziert wird. Wenn das Objekt diese Schnittstelle nicht unterstützt, wird pp auf NULL festgelegt.
Rückgabewert
Ein HRESULT-Standardwert.
CComContainedObject::Release
Erhöht die Verweisanzahl für das Besitzerobjekt.
STDMETHOD_(ULONG, Release)();
Rückgabewert
Gibt in Debugbuilds einen Wert zurück, Release
der für Diagnosen oder Tests nützlich sein kann. Gibt in Nicht-Debug-Builds Release
immer "0" zurück.