Partage via


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 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