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.

Siehe auch

Klassenübersicht