Sdílet prostřednictvím


CHandle – třída

Tato třída poskytuje metody pro vytvoření a použití objektu popisovače.

Syntaxe

class CHandle

Členové

Veřejné konstruktory

Název Popis
CHandle::CHandle Konstruktor
CHandle::~CHandle Destruktor.

Veřejné metody

Název Popis
CHandle::Attach Voláním této metody připojíte CHandle objekt k existujícímu popisovači.
CHandle::Close Voláním této metody zavřete CHandle objekt.
CHandle::D etach Voláním této metody odpojíte popisovač od objektu CHandle .

Veřejné operátory

Název Popis
CHandle::operator HANDLE Vrátí hodnotu uloženého popisovače.
CHandle::operator = Operátor přiřazení.

Veřejné datové členy

Název Popis
CHandle::m_h Proměnná člena, která ukládá popisovač.

Poznámky

Objekt CHandle lze použít vždy, když je požadován popisovač: hlavní rozdíl spočívá v CHandle tom, že objekt se automaticky odstraní.

Poznámka:

Některé funkce rozhraní API budou jako prázdný nebo neplatný popisovač používat hodnotu NULL, zatímco jiné používají INVALID_HANDLE_VALUE. CHandle používá pouze hodnotu NULL a bude zacházet s INVALID_HANDLE_VALUE jako s reálným popisovačem. Pokud voláte rozhraní API, které může vrátit INVALID_HANDLE_VALUE, měli byste tuto hodnotu před voláním CHandle::Attach nebo předat konstruktoru CHandle a místo toho předat hodnotu NULL.

Požadavky

Hlavička: atlbase.h

CHandle::Attach

Voláním této metody připojíte CHandle objekt k existujícímu popisovači.

void Attach(HANDLE h) throw();

Parametry

h
CHandle převezme vlastnictví popisovače h.

Poznámky

CHandle Přiřadí objekt k popisovači h a potom volá h.Detach(). V buildech ladění se vyvolá atlasSERT, pokud je hodnota h NULL. Není provedena žádná další kontrola platnosti popisovače.

CHandle::CHandle

Konstruktor

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

Parametry

h
Existující popisovač nebo CHandle.

Poznámky

Vytvoří nový CHandle objekt, volitelně pomocí existujícího popisovače nebo CHandle objektu.

CHandle::~CHandle

Destruktor.

~CHandle() throw();

Poznámky

CHandle Uvolní objekt voláním CHandle::Close.

CHandle::Close

Voláním této metody zavřete CHandle objekt.

void Close() throw();

Poznámky

Zavře otevřený popisovač objektu. Pokud je popisovač NULL, což bude případ, pokud Close již byl volán, bude vyvolán ATLASSERT v ladicích buildech.

CHandle::D etach

Voláním této metody odpojíte popisovač od objektu CHandle .

HANDLE Detach() throw();

Návratová hodnota

Vrátí popisovač odpojený.

Poznámky

Uvolní vlastnictví popisovače.

CHandle::m_h

Proměnná člena, která ukládá popisovač.

HANDLE m_h;

CHandle::operator =

Operátor přiřazení.

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

Parametry

h
CHandle převezme vlastnictví popisovače h.

Návratová hodnota

Vrátí odkaz na nový CHandle objekt.

Poznámky

CHandle Pokud objekt aktuálně obsahuje popisovač, zavře se. Předávaný CHandle objekt bude mít odkaz na popisovač nastaven na HODNOTU NULL. Tím se zajistí, že dva CHandle objekty nikdy nebudou obsahovat stejný aktivní popisovač.

CHandle::operator HANDLE

Vrátí hodnotu uloženého popisovače.

operator HANDLE() const throw();

Poznámky

Vrátí hodnotu uloženou v CHandle::m_h.

Viz také

Přehled třídy