Partager via


CComGITPtr, classe

Cette classe fournit des méthodes pour traiter les pointeurs d’interface et la table d’interface globale (GIT).

Syntaxe

template <class T>
class CComGITPtr

Paramètres

T
Type du pointeur d’interface à stocker dans le git.

Membres

Constructeurs publics

Nom Description
CComGITPtr ::CComGITPtr Constructeur .
CComGITPtr ::~CComGITPtr Destructeur.

Méthodes publiques

Nom Description
CComGITPtr ::Attach Appelez cette méthode pour inscrire le pointeur d’interface dans la table d’interface globale (GIT).
CComGITPtr ::CopyTo Appelez cette méthode pour copier l’interface de la table d’interface globale (GIT) vers le pointeur passé.
CComGITPtr ::D etach Appelez cette méthode pour dissocier l’interface de l’objet CComGITPtr .
CComGITPtr ::GetCookie Appelez cette méthode pour renvoyer le cookie à partir de l’objet CComGITPtr .
CComGITPtr ::Revoke Appelez cette méthode pour supprimer l’interface de la table d’interface globale (GIT).

Opérateurs publics

Nom Description
CComGITPtr ::operator DWORD Retourne le cookie de l’objet CComGITPtr .
CComGITPtr ::operator = Opérateur d'assignation.

Membres de données publics

Nom Description
CComGITPtr ::m_dwCookie Cookie.

Notes

Les objets qui agrègent le marshaleur thread libre et doivent utiliser des pointeurs d’interface obtenus à partir d’autres objets doivent prendre des mesures supplémentaires pour s’assurer que les interfaces sont correctement marshalées. En règle générale, cela implique le stockage des pointeurs d’interface dans le GIT et l’obtention du pointeur à partir du GIT chaque fois qu’il est utilisé. La classe CComGITPtr est fournie pour vous aider à utiliser des pointeurs d’interface stockés dans le git.

Remarque

La fonctionnalité de table d’interface globale est disponible uniquement sur Windows 95 avec DCOM version 1.1 et ultérieure, Windows 98, Windows NT 4.0 avec Service Pack 3 et versions ultérieures et Windows 2000.

Spécifications

En-tête : atlbase.h

CComGITPtr ::Attach

Appelez cette méthode pour inscrire le pointeur d’interface dans la table d’interface globale (GIT).

HRESULT Attach(T* p) throw();

HRESULT Attach(DWORD dwCookie) throw();

Paramètres

p
Pointeur d’interface à ajouter au GIT.

dwCookie
Cookie utilisé pour identifier le pointeur d’interface.

Valeur de retour

Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.

Notes

Dans les builds de débogage, une erreur d’assertion se produit si le GIT n’est pas valide ou si le cookie est égal à NULL.

CComGITPtr ::CComGITPtr

Constructeur .

CComGITPtr() throw();
CComGITPtr(T* p);
CComGITPtr(const CComGITPtr& git);
explicit CComGITPtr(DWORD dwCookie) throw();
CComGITPtr(CComGITPtr&& rv);

Paramètres

p
[in] Pointeur d’interface à stocker dans la table d’interface globale (GIT).

git
[in] Référence à un objet existant CComGITPtr .

dwCookie
[in] Cookie utilisé pour identifier le pointeur d’interface.

Rv
[in] Objet source CComGITPtr à partir duquel déplacer des données.

Notes

Crée un CComGITPtr objet, éventuellement à l’aide d’un objet existant CComGITPtr .

Le constructeur utilisant rv est un constructeur de déplacement. Les données sont déplacées de la source, rv, puis rv sont effacées.

CComGITPtr ::~CComGITPtr

Destructeur.

~CComGITPtr() throw();

Notes

Supprime l’interface de la table d’interface globale (GIT) à l’aide de CComGITPtr ::Revoke.

CComGITPtr ::CopyTo

Appelez cette méthode pour copier l’interface de la table d’interface globale (GIT) vers le pointeur passé.

HRESULT CopyTo(T** pp) const throw();

Paramètres

Pp
Pointeur qui doit recevoir l’interface.

Valeur de retour

Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.

Notes

L’interface du GIT est copiée vers le pointeur passé. Le pointeur doit être libéré par l’appelant lorsqu’il n’est plus nécessaire.

CComGITPtr ::D etach

Appelez cette méthode pour dissocier l’interface de l’objet CComGITPtr .

DWORD Detach() throw();

Valeur de retour

Retourne le cookie de l’objet CComGITPtr .

Notes

Il incombe à l’appelant de supprimer l’interface du GIT à l’aide de CComGITPtr ::Revoke.

CComGITPtr ::GetCookie

Appelez cette méthode pour renvoyer le cookie à partir de l’objet CComGITPtr .

DWORD GetCookie() const;

Valeur de retour

Retourne le cookie.

Notes

Le cookie est une variable utilisée pour identifier une interface et son emplacement.

CComGITPtr ::m_dwCookie

Cookie.

DWORD m_dwCookie;

Notes

Le cookie est une variable membre utilisée pour identifier une interface et son emplacement.

CComGITPtr ::operator =

Opérateur d’assignation .

CComGITPtr& operator= (T* p);
CComGITPtr& operator= (const CComGITPtr& git);
CComGITPtr& operator= (DWORD dwCookie);
CComGITPtr& operator= (CComGITPtr&& rv);

Paramètres

p
[in] Pointeur vers une interface.

git
[in] Référence à un CComGITPtr objet.

dwCookie
[in] Cookie utilisé pour identifier le pointeur d’interface.

Rv
[in] À CComGITPtr partir duquel déplacer des données.

Valeur de retour

Retourne l’objet mis à jour CComGITPtr .

Notes

Affecte une nouvelle valeur à un CComGITPtr objet, à partir d’un objet existant ou d’une référence à une table d’interface globale.

CComGITPtr ::operator DWORD

Retourne le cookie associé à l’objet CComGITPtr .

operator DWORD() const;

Notes

Le cookie est une variable utilisée pour identifier une interface et son emplacement.

CComGITPtr ::Revoke

Appelez cette méthode pour supprimer l’interface actuelle de la table d’interface globale (GIT).

HRESULT Revoke() throw();

Valeur de retour

Retourne S_OK sur la réussite ou une erreur HRESULT en cas d’échec.

Notes

Supprime l’interface du git.

Voir aussi

Marshaler à threads libres
Accès aux interfaces entre appartements
Quand utiliser la table d’interface globale
Vue d’ensemble de la classe