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 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 AddRefglobal . |
| CComObjectGlobal ::QueryInterface | Implémente un QueryInterfaceglobal . |
| CComObjectGlobal ::Release | Implémente un Releaseglobal . |
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 CComObjectGlobald’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