CHandle, classe
Cette classe fournit des méthodes de création et d’utilisation d’un objet handle.
Syntaxe
class CHandle
Membres
Constructeurs publics
Nom | Description |
---|---|
CHandle ::CHandle | Constructeur . |
CHandle ::~CHandle | Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CHandle ::Attach | Appelez cette méthode pour attacher l’objet CHandle à un handle existant. |
CHandle ::Close | Appelez cette méthode pour fermer un CHandle objet. |
CHandle ::D etach | Appelez cette méthode pour détacher un handle d’un CHandle objet. |
Opérateurs publics
Nom | Description |
---|---|
CHandle ::operator HANDLE | Retourne la valeur du handle stocké. |
CHandle ::operator = | Opérateur d'assignation. |
Membres de données publics
Nom | Description |
---|---|
CHandle ::m_h | Variable membre qui stocke le handle. |
Notes
Un CHandle
objet peut être utilisé chaque fois qu’un handle est requis : la principale différence est que l’objet CHandle
sera automatiquement supprimé.
Remarque
Certaines fonctions d’API utilisent NULL comme handle vide ou non valide, tandis que d’autres utilisent INVALID_HANDLE_VALUE. CHandle
utilise uniquement NULL et traite INVALID_HANDLE_VALUE comme un handle réel. Si vous appelez une API qui peut retourner INVALID_HANDLE_VALUE, vous devez vérifier cette valeur avant d’appeler CHandle ::Attach ou de le transmettre au constructeur, et passer à la CHandle
place NULL.
Spécifications
En-tête : atlbase.h
CHandle ::Attach
Appelez cette méthode pour attacher l’objet CHandle
à un handle existant.
void Attach(HANDLE h) throw();
Paramètres
h
CHandle
prend possession du handle h.
Notes
Affecte l’objet CHandle
au handle h , puis appelle h.Detach(). Dans les builds de débogage, un ATLASSERT est déclenché si h est NULL. Aucune autre vérification quant à la validité du handle n’est effectuée.
CHandle ::CHandle
Constructeur .
CHandle() throw();
CHandle(CHandle& h) throw();
explicit CHandle(HANDLE h) throw();
Paramètres
h
Handle existant ou CHandle
.
Notes
Crée un CHandle
objet, éventuellement à l’aide d’un handle ou CHandle
d’un objet existant.
CHandle ::~CHandle
Destructeur.
~CHandle() throw();
Notes
Libère l’objet CHandle
en appelant CHandle ::Close.
CHandle ::Close
Appelez cette méthode pour fermer un CHandle
objet.
void Close() throw();
Notes
Ferme un handle d’objet ouvert. Si le handle est NULL, ce qui sera le cas s’il Close
a déjà été appelé, un ATLASSERT sera déclenché dans les builds de débogage.
CHandle ::D etach
Appelez cette méthode pour détacher un handle d’un CHandle
objet.
HANDLE Detach() throw();
Valeur de retour
Retourne le handle détaché.
Notes
Libère la propriété du handle.
CHandle ::m_h
Variable membre qui stocke le handle.
HANDLE m_h;
CHandle ::operator =
Opérateur d’assignation .
CHandle& operator=(CHandle& h) throw();
Paramètres
h
CHandle
prend possession du handle h.
Valeur de retour
Retourne une référence au nouvel CHandle
objet.
Notes
Si l’objet CHandle
contient actuellement un handle, il est fermé. L’objet CHandle
transmis aura sa référence de handle définie sur NULL. Cela garantit que deux CHandle
objets ne contiennent jamais le même handle actif.
CHandle ::operator HANDLE
Retourne la valeur du handle stocké.
operator HANDLE() const throw();
Notes
Retourne la valeur stockée dans CHandle ::m_h.