Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.