Partage via


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 case activée pour cette valeur avant d’appeler CHandle ::Attach ou de le CHandle transmettre au constructeur, et passer à la 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 case activée 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.

Voir aussi

Vue d’ensemble de la classe