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 en cas de 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 en cas de 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 objet CComGITPtr
.
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 en cas de 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