Teilen über


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. CComContainedObjectimplementiert 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, OuterAddRefund 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 Diagnose 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 IUnknownenthä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 Qidentifiziert 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 Diagnose oder Tests nützlich sein kann. Gibt in Nicht-Debug-Builds Release immer "0" zurück.

Siehe auch

Klassenübersicht