Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette classe implémente IUnknown pour une interface de déchirure.
Syntaxe
template
<class contained>
class CComCachedTearOffObject : public
IUnknown,
public CComObjectRootEx<contained
::_ThreadModel::ThreadModelNoCS>
Paramètres
Contenues
Votre classe de déchirure, dérivée et les interfaces à prendre CComTearOffObjectBase en charge par votre objet de déchirure.
Membres
Constructeurs publics
| Nom | Description |
|---|---|
| CComCachedTearOffObject ::CComCachedTearOffObject | Constructeur . |
| CComCachedTearOffObject ::~CComCachedTearOffObject | Destructeur. |
Méthodes publiques
| Nom | Description |
|---|---|
| CComCachedTearOffObject ::AddRef | Incrémente le nombre de références d’un CComCachedTearOffObject objet. |
| CComCachedTearOffObject ::FinalConstruct | Appelle la m_contained::FinalConstruct méthode (la classe de déchirure). |
| CComCachedTearOffObject ::FinalRelease | Appelle la m_contained::FinalRelease méthode (la classe de déchirure). |
| CComCachedTearOffObject ::QueryInterface | Retourne un pointeur vers l’objet IUnknown CComCachedTearOffObject , ou vers l’interface demandée sur votre classe de déchirure (la classe contained). |
| CComCachedTearOffObject ::Release | Décrémente le nombre de références d’un CComCachedTearOffObject objet et le détruit si le nombre de références est égal à 0. |
Membres de données publics
| Nom | Description |
|---|---|
| CComCachedTearOffObject ::m_contained | Objet CComContainedObject dérivé de votre classe de déchirure (la classe contained). |
Notes
CComCachedTearOffObjectimplémente IUnknown pour une interface de déchirure. Cette classe diffère de CComTearOffObject celle qui CComCachedTearOffObject a sa propre IUnknownpropriété , distincte de celle de IUnknown l’objet propriétaire (le propriétaire est l’objet pour lequel la déchirure est créée). CComCachedTearOffObject conserve son propre nombre de références et IUnknown se supprime une fois que son nombre de références est égal à zéro. Toutefois, si vous interrogez l’une de ses interfaces déchirures, le nombre de références IUnknown de l’objet propriétaire est incrémenté.
Si l’objet CComCachedTearOffObject implémentant la déchirure est déjà instancié et que l’interface de déchirure est interrogée à nouveau, le même CComCachedTearOffObject objet est réutilisé. En revanche, si une interface de déchirure implémentée par une CComTearOffObject requête est de nouveau interrogée par le biais de l’objet propriétaire, une autre CComTearOffObject sera instanciée.
La classe propriétaire doit implémenter FinalRelease et appeler Release le cache IUnknown pour le CComCachedTearOffObject, qui décrémente son nombre de références. Cela entraîne CComCachedTearOffObjectl’appel FinalRelease et la suppression de la déchirure.
Hiérarchie d'héritage
CComObjectRootBase
IUnknown
CComCachedTearOffObject
Spécifications
En-tête : atlcom.h
CComCachedTearOffObject ::AddRef
Incrémente le nombre de références de l’objet CComCachedTearOffObject par 1.
STDMETHOD_(ULONG, AddRef)();
Valeur de retour
Valeur qui peut être utile pour les diagnostics et les tests.
CComCachedTearOffObject ::CComCachedTearOffObject
Constructeur .
CComCachedTearOffObject(void* pv);
Paramètres
Pv
[in] Pointeur vers le IUnknown CComCachedTearOffObject.
Notes
Initialise le CComContainedObject membre, m_contained.
CComCachedTearOffObject ::~CComCachedTearOffObject
Destructeur.
~CComCachedTearOffObject();
Notes
Libère toutes les ressources allouées et appelle FinalRelease.
CComCachedTearOffObject ::FinalConstruct
Appels m_contained::FinalConstruct à créer m_contained, l’objetcontainedCComContainedObject<> utilisé pour accéder à l’interface implémentée par votre classe de déchirure.
HRESULT FinalConstruct();
Valeur de retour
Valeur HRESULT standard.
CComCachedTearOffObject ::FinalRelease
Appels m_contained::FinalRelease à libérer m_contained, l’objetCComContainedObjectcontained<>.
void FinalRelease();
CComCachedTearOffObject ::m_contained
Objet CComContainedObject dérivé de votre classe de déchirure.
CcomContainedObject <contained> m_contained;
Paramètres
Contenues
[in] Votre classe de déchirure, dérivée et les interfaces à prendre CComTearOffObjectBase en charge par votre objet de déchirure.
Notes
Les méthodes m_contained héritent sont utilisées pour accéder à l’interface de déchirure dans votre classe de déchirure par le biais de QueryInterfacel’objet de déchirure mis en cache , FinalConstructet FinalRelease.
CComCachedTearOffObject ::QueryInterface
Récupère un pointeur vers l'interface demandée.
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
Paramètres
iid
[in] GUID de l’interface demandée.
ppvObject
[out] Pointeur vers le pointeur d’interface identifié par iid ou NULL si l’interface est introuvable.
Valeur de retour
Valeur HRESULT standard.
Notes
Si l’interface demandée est IUnknown, retourne un pointeur vers les CComCachedTearOffObjectpropres IUnknown et incrémente le nombre de références. Sinon, interrogez l’interface sur votre classe de déchirure à l’aide de la méthode InternalQueryInterface héritée de CComObjectRootEx.
CComCachedTearOffObject ::Release
Décrémente le nombre de références de 1 et, si le nombre de références est égal à 0, supprime l’objet CComCachedTearOffObject .
STDMETHOD_(ULONG, Release)();
Valeur de retour
Dans les builds non debug, retourne toujours 0. Dans les builds de débogage, retourne une valeur qui peut être utile pour les diagnostics ou les tests.
Voir aussi
CComTearOffObject, classe
CComObjectRootEx, classe
Vue d’ensemble de la classe