CComObjectGlobal, classe
Cette classe gère un nombre de références sur le module contenant votre Base
objet.
Syntaxe
template<class Base>
class CComObjectGlobal : public Base
Paramètres
Base
Votre classe, dérivée de CComObjectRoot ou CComObjectRootEx, ainsi que de toute autre interface que vous souhaitez prendre en charge sur l’objet.
Membres
Constructeurs publics
Nom | Description |
---|---|
CComObjectGlobal ::CComObjectGlobal | Constructeur . |
CComObjectGlobal ::~CComObjectGlobal | Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CComObjectGlobal ::AddRef | Implémente un AddRef global . |
CComObjectGlobal ::QueryInterface | Implémente un QueryInterface global . |
CComObjectGlobal ::Release | Implémente un Release global . |
Membres de données publics
Nom | Description |
---|---|
CComObjectGlobal ::m_hResFinalConstruct | Contient le HRESULT retourné lors de la construction de l’objet CComObjectGlobal . |
Notes
CComObjectGlobal
gère un nombre de références sur le module contenant votre Base
objet. CComObjectGlobal
garantit que votre objet ne sera pas supprimé tant que le module n’est pas libéré. Votre objet est supprimé uniquement lorsque le nombre de références sur l’ensemble du module passe à zéro.
Par exemple, l’utilisation CComObjectGlobal
d’une fabrique de classes peut contenir un objet global commun partagé par tous ses clients.
Hiérarchie d'héritage
Base
CComObjectGlobal
Spécifications
En-tête : atlcom.h
CComObjectGlobal ::AddRef
Incrémente le nombre de références de l’objet par 1.
STDMETHOD_(ULONG, AddRef)();
Valeur de retour
Valeur qui peut être utile pour les diagnostics et les tests.
Notes
Par défaut, AddRef
les appels _Module::Lock
, où _Module
est l’instance globale de CComModule ou une classe dérivée de celle-ci.
CComObjectGlobal ::CComObjectGlobal
Constructeur . Appels FinalConstruct
, puis définit m_hResFinalConstruct sur le HRESULT
retour par FinalConstruct
.
CComObjectGlobal(void* = NULL));
Notes
Si vous n’avez pas dérivé votre classe de base à partir de CComObjectRoot, vous devez fournir votre propre FinalConstruct
méthode. Le destructeur appelle FinalRelease
.
CComObjectGlobal ::~CComObjectGlobal
Destructeur.
CComObjectGlobal();
Notes
Libère toutes les ressources allouées et appelle FinalRelease.
CComObjectGlobal ::m_hResFinalConstruct
Contient HRESULT à partir de l’appel FinalConstruct
pendant la construction de l’objet CComObjectGlobal
.
HRESULT m_hResFinalConstruct;
CComObjectGlobal ::QueryInterface
Récupère un pointeur vers le pointeur d’interface demandé.
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
QueryInterface
gère seulement des interfaces dans le tableau de mappage COM.
CComObjectGlobal ::Release
Décrémente le nombre de références de l’objet par 1.
STDMETHOD_(ULONG, Release)();
Valeur de retour
Dans les builds de débogage, Release
retourne une valeur qui peut être utile pour les diagnostics et les tests. Dans les builds non debug, Release
retourne toujours 0.
Notes
Par défaut, Release
les appels _Module::Unlock
, où _Module
est l’instance globale de CComModule ou une classe dérivée de celle-ci.
Voir aussi
CComObjectStack, classe
CComAggObject, classe
CComObject, classe
Vue d’ensemble de la classe