Klasa CHandle

Ta klasa udostępnia metody tworzenia i używania obiektu uchwytu.

Składnia

class CHandle

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CHandle::CHandle Konstruktor.
CHandle::~CHandle Destruktora.

Metody publiczne

Nazwa/nazwisko opis
CHandle::Attach Wywołaj tę metodę, aby dołączyć obiekt do istniejącego uchwytu CHandle .
CHandle::Close Wywołaj tę metodę CHandle , aby zamknąć obiekt.
CHandle::D etach Wywołaj tę metodę, aby odłączyć uchwyt od CHandle obiektu.

Operatory publiczne

Nazwa/nazwisko opis
CHandle::, operator HANDLE Zwraca wartość przechowywanego uchwytu.
CHandle::operator = Operator przypisania.

Publiczne elementy członkowskie danych

Nazwa/nazwisko opis
CHandle::m_h Zmienna składowa, która przechowuje uchwyt.

Uwagi

Obiekt CHandle może być używany za każdym razem, gdy jest wymagany uchwyt: główna różnica polega na tym, że CHandle obiekt zostanie automatycznie usunięty.

Uwaga

Niektóre funkcje interfejsu API będą używać wartości NULL jako pustego lub nieprawidłowego dojścia, podczas gdy inne używają INVALID_HANDLE_VALUE. CHandle używa tylko wartości NULL i traktuje INVALID_HANDLE_VALUE jako rzeczywiste dojście. Jeśli wywołasz interfejs API, który może zwrócić INVALID_HANDLE_VALUE, należy sprawdzić tę wartość przed wywołaniem metody CHandle::Attach lub przekazać go do konstruktora CHandle , a zamiast tego przekazać wartość NULL.

Wymagania

Nagłówek: atlbase.h

CHandle::Attach

Wywołaj tę metodę, aby dołączyć obiekt do istniejącego uchwytu CHandle .

void Attach(HANDLE h) throw();

Parametry

h
CHandle przejmie na własność uchwyt h.

Uwagi

CHandle Przypisuje obiekt do uchwytu h, a następnie wywołuje h.Detach(). W kompilacjach debugowania element ATLASSERT zostanie zgłoszony, jeśli wartość h ma wartość NULL. Nie dokonano żadnych innych kontroli co do ważności uchwytu.

CHandle::CHandle

Konstruktor.

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

Parametry

h
Istniejący uchwyt lub CHandle.

Uwagi

Tworzy nowy CHandle obiekt, opcjonalnie przy użyciu istniejącego uchwytu lub CHandle obiektu.

CHandle::~CHandle

Destruktora.

~CHandle() throw();

Uwagi

CHandle Zwalnia obiekt przez wywołanie CHandle::Close.

CHandle::Close

Wywołaj tę metodę CHandle , aby zamknąć obiekt.

void Close() throw();

Uwagi

Zamyka otwarte dojście do obiektu. Jeśli dojście ma wartość NULL, co będzie mieć przypadek, jeśli Close został już wywołany, usługa ATLASSERT zostanie podniesiona w kompilacjach debugowania.

CHandle::D etach

Wywołaj tę metodę, aby odłączyć uchwyt od CHandle obiektu.

HANDLE Detach() throw();

Wartość zwracana

Zwraca odłączony uchwyt.

Uwagi

Zwalnia własność dojścia.

CHandle::m_h

Zmienna składowa, która przechowuje uchwyt.

HANDLE m_h;

CHandle::operator =

Operator przypisania.

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

Parametry

h
CHandle przejmie na własność uchwyt h.

Wartość zwracana

Zwraca odwołanie do nowego CHandle obiektu.

Uwagi

CHandle Jeśli obiekt zawiera obecnie uchwyt, zostanie zamknięty. Przekazany CHandle obiekt będzie miał ustawiony na wartość NULL odwołania do uchwytu. Dzięki temu dwa CHandle obiekty nigdy nie będą zawierać tego samego aktywnego uchwytu.

CHandle::, operator HANDLE

Zwraca wartość przechowywanego uchwytu.

operator HANDLE() const throw();

Uwagi

Zwraca wartość przechowywaną w CHandle::m_h.

Zobacz też

Omówienie klasy