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.