Partage via


CComContainedObject, classe

Cette classe implémente IUnknown en déléguant à l’objet IUnknownpropriétaire.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

template<class Base>
class CComContainedObject : public Base

Paramètres

Base
Votre classe, dérivée de CComObjectRoot ou CComObjectRootEx.

Membres

Constructeurs publics

Nom Description
CComContainedObject ::CComContainedObject Constructeur . Initialise le pointeur membre vers l’objet IUnknownpropriétaire.
CComContainedObject ::~CComContainedObject Destructeur.

Méthodes publiques

Nom Description
CComContainedObject ::AddRef Incrémente le nombre de références sur l’objet propriétaire.
CComContainedObject ::GetControllingUnknown Récupère l’objet propriétaire.IUnknown
CComContainedObject ::QueryInterface Récupère un pointeur vers l’interface demandée sur l’objet propriétaire.
CComContainedObject ::Release Décrémente le nombre de références sur l’objet propriétaire.

Notes

ATL utilise CComContainedObject dans les classes CComAggObject, CComPolyObject et CComCachedTearOffObject. CComContainedObjectimplémente IUnknown en déléguant à l’objet IUnknownpropriétaire. (Le propriétaire est soit l’objet externe d’une agrégation, soit l’objet pour lequel une interface de déchirure est créée.) CComContainedObjectOuterQueryInterfaceappelle CComObjectRootEx, OuterAddRefet OuterRelease, tous hérités par Base.

Hiérarchie d'héritage

Base

CComContainedObject

Spécifications

En-tête : atlcom.h

CComContainedObject ::AddRef

Incrémente le nombre de références sur l’objet propriétaire.

STDMETHOD_(ULONG, AddRef)();

Valeur de retour

Valeur qui peut être utile pour les diagnostics ou les tests.

CComContainedObject ::CComContainedObject

Constructeur .

CComContainedObject(void* pv);

Paramètres

Pv
[in] L’objet propriétaire est IUnknown.

Notes

Définit le m_pOuterUnknown pointeur membre (hérité par le biais de la Base classe) sur pv.

CComContainedObject ::~CComContainedObject

Destructeur.

~CComContainedObject();

Notes

Libère toutes les ressources allouées.

CComContainedObject ::GetControllingUnknown

Retourne le m_pOuterUnknown pointeur membre (hérité par le biais de la classe Base ) qui contient l’objet IUnknownpropriétaire.

IUnknown* GetControllingUnknown();

Valeur de retour

L’objet propriétaire est IUnknown.

Notes

Cette méthode peut être virtuelle si Base elle a déclaré la macro DECLARE_GET_CONTROLLING_UNKNOWN .

CComContainedObject ::QueryInterface

Récupère un pointeur vers l’interface demandée sur l’objet propriétaire.

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

Paramètres

Iid
[in] Identificateur de l'interface demandée.

ppvObject
[out] Pointeur vers le pointeur d’interface identifié par iid. Si l’objet ne prend pas en charge cette interface, ppvObject a la valeur NULL.

Pp
[out] Pointeur vers le pointeur d’interface identifié par type Q. Si l’objet ne prend pas en charge cette interface, pp a la valeur NULL.

Valeur de retour

Valeur HRESULT standard.

CComContainedObject ::Release

Décrémente le nombre de références sur l’objet propriétaire.

STDMETHOD_(ULONG, Release)();

Valeur de retour

Dans les builds de débogage, Release retourne une valeur qui peut être utile pour les diagnostics ou les tests. Dans les builds non debug, Release retourne toujours 0.

Voir aussi

Vue d’ensemble de la classe