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.