Partage via


CComObjectStack, classe

Cette classe crée un objet COM temporaire et lui fournit une implémentation squelette de IUnknown.

Syntaxe

template <class  Base>
class CComObjectStack : 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
CComObjectStack ::CComObjectStack Constructeur .
CComObjectStack ::~CComObjectStack Destructeur.

Méthodes publiques

Nom Description
CComObjectStack ::AddRef Retourne zéro. En mode débogage, appelle _ASSERTE.
CComObjectStack ::QueryInterface Retourne E_NOINTERFACE. En mode débogage, appelle _ASSERTE.
CComObjectStack ::Release Retourne zéro. En mode débogage, appelle _ASSERTE. ~

Membres de données publics

Nom Description
CComObjectStack ::m_hResFinalConstruct Contient le HRESULT retourné lors de la construction de l’objet CComObjectStack .

Notes

CComObjectStack est utilisé pour créer un objet COM temporaire et fournir à l’objet une implémentation squelette de IUnknown. En règle générale, l’objet est utilisé comme variable locale au sein d’une fonction (autrement dit, poussée sur la pile). Étant donné que l’objet est détruit lorsque la fonction se termine, le comptage de références n’est pas effectué pour augmenter l’efficacité.

L’exemple suivant montre comment créer un objet COM utilisé à l’intérieur d’une fonction :

void MyFunc()
{
   CComObjectStack<CMyClass2> Tempobj;
   //...
}

L’objet Tempobj temporaire est envoyé sur la pile et disparaît automatiquement lorsque la fonction se termine.

Hiérarchie d'héritage

Base

CComObjectStack

Spécifications

En-tête : atlcom.h

CComObjectStack ::AddRef

Retourne zéro.

STDMETHOD_(ULONG, AddRef)();

Valeur de retour

Retourne zéro.

Notes

En mode débogage, appelle _ASSERTE.

CComObjectStack ::CComObjectStack

Constructeur .

CComObjectStack(void* = NULL);

Notes

Appelle FinalConstruct , puis définit m_hResFinalConstruct à HRESULT retourné par FinalConstruct. 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.

CComObjectStack ::~CComObjectStack

Destructeur.

CComObjectStack();

Notes

Libère toutes les ressources allouées et appelle FinalRelease.

CComObjectStack ::m_hResFinalConstruct

Contient le HRESULT retourné par l’appel FinalConstruct pendant la construction de l’objet CComObjectStack .

HRESULT    m_hResFinalConstruct;

CComObjectStack ::QueryInterface

Retourne E_NOINTERFACE.

HRESULT    QueryInterface(REFIID, void**);

Valeur de retour

Retourne E_NOINTERFACE.

Notes

En mode débogage, appelle _ASSERTE.

CComObjectStack ::Release

Retourne zéro.

STDMETHOD_(ULONG, Release)();

Valeur de retour

Retourne zéro.

Notes

En mode débogage, appelle _ASSERTE.

Voir aussi

CComAggObject, classe
CComObject, classe
CComObjectGlobal, classe
Vue d’ensemble de la classe