CComContainedObject, classe
Cette classe implémente IUnknown en déléguant à l’objet IUnknown
proprié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 IUnknown proprié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. CComContainedObject
implémente IUnknown en déléguant à l’objet IUnknown
proprié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.) CComContainedObject
OuterQueryInterface
appelle CComObjectRootEx
, OuterAddRef
et 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 IUnknown
proprié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.