CHandle-Klasse
Diese Klasse stellt Methoden zum Erstellen und Verwenden eines Handle-Objekts bereit.
Syntax
class CHandle
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CHandle::CHandle | Der Konstruktor. |
CHandle::~CHandle | Der Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CHandle::Attach | Rufen Sie diese Methode auf, um das CHandle Objekt an ein vorhandenes Handle anzufügen. |
CHandle::Close | Rufen Sie diese Methode auf, um ein CHandle Objekt zu schließen. |
CHandle::D etach | Rufen Sie diese Methode auf, um ein Handle von einem CHandle Objekt zu trennen. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
CHandle::operator HANDLE | Gibt den Wert des gespeicherten Handles zurück. |
CHandle::operator = | Zuweisungsoperator. |
Öffentliche Datenmember
Name | Beschreibung |
---|---|
CHandle::m_h | Die Membervariable, die das Handle speichert. |
Hinweise
Ein CHandle
Objekt kann immer verwendet werden, wenn ein Handle erforderlich ist: Der Hauptunterschied besteht darin, dass das CHandle
Objekt automatisch gelöscht wird.
Hinweis
Einige API-Funktionen verwenden NULL als leeres oder ungültiges Handle, während andere INVALID_HANDLE_VALUE verwenden. CHandle
verwendet nur NULL und behandelt INVALID_HANDLE_VALUE als echten Handle. Wenn Sie eine API aufrufen, die INVALID_HANDLE_VALUE zurückgeben kann, sollten Sie diesen Wert überprüfen, bevor Sie CHandle::Attach aufrufen oder an den CHandle
Konstruktor übergeben und stattdessen NULL übergeben.
Anforderungen
Kopfzeile: atlbase.h
CHandle::Attach
Rufen Sie diese Methode auf, um das CHandle
Objekt an ein vorhandenes Handle anzufügen.
void Attach(HANDLE h) throw();
Parameter
h
CHandle
übernimmt den Besitz des Handle h.
Hinweise
Weist das CHandle
Objekt dem H-Handle zu und ruft dann h.Detach(). Bei Debugbuilds wird ein ATLASSERT ausgelöst, wenn h NULL ist. Es erfolgt keine andere Überprüfung der Gültigkeit des Handles.
CHandle::CHandle
Der Konstruktor.
CHandle() throw();
CHandle(CHandle& h) throw();
explicit CHandle(HANDLE h) throw();
Parameter
h
Ein vorhandenes Handle oder CHandle
.
Hinweise
Erstellt ein neues CHandle
Objekt, optional mithilfe eines vorhandenen Handles oder CHandle
Objekts.
CHandle::~CHandle
Der Destruktor.
~CHandle() throw();
Hinweise
Gibt das CHandle
Objekt frei, indem CHandle::Close aufgerufen wird.
CHandle::Close
Rufen Sie diese Methode auf, um ein CHandle
Objekt zu schließen.
void Close() throw();
Hinweise
Schließt ein geöffnetes Objekthandle. Wenn der Handle NULL ist, was der Fall ist, wenn Close
er bereits aufgerufen wurde, wird ein ATLASSERT in Debugbuilds ausgelöst.
CHandle::D etach
Rufen Sie diese Methode auf, um ein Handle von einem CHandle
Objekt zu trennen.
HANDLE Detach() throw();
Rückgabewert
Gibt den Handle zurück, der getrennt wird.
Hinweise
Gibt den Besitz des Handles frei.
CHandle::m_h
Die Membervariable, die das Handle speichert.
HANDLE m_h;
CHandle::operator =
Der -Zuweisungsoperator.
CHandle& operator=(CHandle& h) throw();
Parameter
h
CHandle
übernimmt den Besitz des Handle h.
Rückgabewert
Gibt einen Verweis auf das neue CHandle
Objekt zurück.
Hinweise
Wenn das CHandle
Objekt derzeit ein Handle enthält, wird es geschlossen. Das CHandle
übergebene Objekt hat seinen Handleverweis auf NULL festgelegt. Dadurch wird sichergestellt, dass zwei CHandle
Objekte niemals den gleichen aktiven Handle enthalten.
CHandle::operator HANDLE
Gibt den Wert des gespeicherten Handles zurück.
operator HANDLE() const throw();
Hinweise
Gibt den in CHandle::m_h gespeicherten Wert zurück.