Delen via


CHandle-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse biedt methoden voor het maken en gebruiken van een handle-object.

Syntaxis

class CHandle

Leden

Openbare constructors

Naam Description
CHandle::CHandle De constructor.
CHandle::~CHandle De destructor.

Openbare methoden

Naam Description
CHandle::Attach Roep deze methode aan om het CHandle object aan een bestaande ingang te koppelen.
CHandle::Close Roep deze methode aan om een CHandle object te sluiten.
CHandle::D etach Roep deze methode aan om een ingang van een CHandle object los te koppelen.

Openbare operators

Naam Description
CHandle::operator HANDLE Retourneert de waarde van de opgeslagen ingang.
CHandle::operator = Toewijzingsoperator.

Publieke dataleden

Naam Description
CHandle::m_h De lidvariabele waarin de ingang wordt opgeslagen.

Opmerkingen

Een CHandle object kan worden gebruikt wanneer een ingang vereist is: het belangrijkste verschil is dat het CHandle object automatisch wordt verwijderd.

Opmerking

Sommige API-functies gebruiken NULL als een lege of ongeldige ingang, terwijl andere INVALID_HANDLE_VALUE gebruiken. CHandle maakt alleen gebruik van NULL en behandelt INVALID_HANDLE_VALUE als een echte ingang. Als u een API aanroept die INVALID_HANDLE_VALUE kan retourneren, moet u controleren op deze waarde voordat u CHandle::Koppel of geef deze door aan de CHandle constructor en geeft u in plaats daarvan NULL door.

Requirements

Header: atlbase.h

CHandle::Attach

Roep deze methode aan om het CHandle object aan een bestaande ingang te koppelen.

void Attach(HANDLE h) throw();

Parameterwaarden

h
CHandle zal eigenaar worden van de ingang h.

Opmerkingen

Wijst het CHandle object toe aan de h-ingang en roept vervolgens h.Detach()aan. In builds voor foutopsporing wordt een ATLASSERT gegenereerd als h NULL is. Er wordt geen andere controle uitgevoerd op de geldigheid van de ingang.

CHandle::CHandle

De constructor.

CHandle() throw();
CHandle(CHandle& h) throw();
explicit CHandle(HANDLE h) throw();

Parameterwaarden

h
Een bestaande ingang of CHandle.

Opmerkingen

Hiermee maakt u een nieuw CHandle object, optioneel met behulp van een bestaande ingang of CHandle een bestaand object.

CHandle::~CHandle

De destructor.

~CHandle() throw();

Opmerkingen

Hiermee wordt het CHandle object vrijgemaakt door CHandle::Close aan te roepen.

CHandle::Close

Roep deze methode aan om een CHandle object te sluiten.

void Close() throw();

Opmerkingen

Hiermee sluit u een geopende objectgreep. Als de handle NULL is, wat het geval is als Close deze al is aangeroepen, wordt er een ATLASSERT gegenereerd in foutopsporingsversies.

CHandle::D etach

Roep deze methode aan om een ingang van een CHandle object los te koppelen.

HANDLE Detach() throw();

Retourwaarde

Retourneert de greep die wordt losgekoppeld.

Opmerkingen

Hiermee wordt het eigendom van de ingang vrijgegeven.

CHandle::m_h

De lidvariabele waarin de ingang wordt opgeslagen.

HANDLE m_h;

CHandle::operator =

De toewijzingsoperator.

CHandle& operator=(CHandle& h) throw();

Parameterwaarden

h
CHandle zal eigenaar worden van de ingang h.

Retourwaarde

Retourneert een verwijzing naar het nieuwe CHandle object.

Opmerkingen

Als het CHandle object momenteel een ingang bevat, wordt het gesloten. Het CHandle object dat wordt doorgegeven, heeft de handleverwijzing ingesteld op NULL. Dit zorgt ervoor dat twee CHandle objecten nooit dezelfde actieve ingang bevatten.

CHandle::operator HANDLE

Retourneert de waarde van de opgeslagen ingang.

operator HANDLE() const throw();

Opmerkingen

Retourneert de waarde die is opgeslagen in CHandle::m_h.

Zie ook

Overzicht van klassen