Classe CHandle
Questa classe fornisce metodi per la creazione e l'uso di un oggetto handle.
Sintassi
class CHandle
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CHandle::CHandle | Costruttore. |
CHandle::~CHandle | Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CHandle::Attach | Chiamare questo metodo per collegare l'oggetto CHandle a un handle esistente. |
CHandle::Close | Chiamare questo metodo per chiudere un CHandle oggetto . |
CHandle::D etach | Chiamare questo metodo per scollegare un handle da un CHandle oggetto . |
Operatori pubblici
Nome | Descrizione |
---|---|
CHandle::operator HANDLE | Restituisce il valore dell'handle archiviato. |
CHandle::operator = | Operatore di assegnazione. |
Membri dati pubblici
Nome | Descrizione |
---|---|
CHandle::m_h | Variabile membro che archivia l'handle. |
Osservazioni:
Un CHandle
oggetto può essere usato ogni volta che è necessario un handle: la differenza principale è che l'oggetto CHandle
verrà eliminato automaticamente.
Nota
Alcune funzioni API useranno NULL come handle vuoto o non valido, mentre altre usano INVALID_HANDLE_VALUE. CHandle
usa solo NULL e considera INVALID_HANDLE_VALUE come handle reale. Se si chiama un'API che può restituire INVALID_HANDLE_VALUE, è necessario verificare la presenza di questo valore prima di chiamare CHandle::Attach o passarlo al CHandle
costruttore e passare invece NULL.
Requisiti
Intestazione: atlbase.h
CHandle::Attach
Chiamare questo metodo per collegare l'oggetto CHandle
a un handle esistente.
void Attach(HANDLE h) throw();
Parametri
h
CHandle
assumerà la proprietà dell'handle h.
Osservazioni:
Assegna l'oggetto all'handle CHandle
h e quindi chiama h.Detach(). Nelle compilazioni di debug verrà generato un atlasSERT se h è NULL. Non viene effettuato alcun altro controllo sulla validità dell'handle.
CHandle::CHandle
Costruttore.
CHandle() throw();
CHandle(CHandle& h) throw();
explicit CHandle(HANDLE h) throw();
Parametri
h
Handle esistente o CHandle
.
Osservazioni:
Crea un nuovo CHandle
oggetto, facoltativamente utilizzando un handle o CHandle
un oggetto esistente.
CHandle::~CHandle
Distruttore.
~CHandle() throw();
Osservazioni:
Libera l'oggetto CHandle
chiamando CHandle::Close.
CHandle::Close
Chiamare questo metodo per chiudere un CHandle
oggetto .
void Close() throw();
Osservazioni:
Chiude un handle di oggetto aperto. Se l'handle è NULL, che sarà il caso se Close
è già stato chiamato, verrà generato un ATLASSERT nelle compilazioni di debug.
CHandle::D etach
Chiamare questo metodo per scollegare un handle da un CHandle
oggetto .
HANDLE Detach() throw();
Valore restituito
Restituisce l'handle da scollegare.
Osservazioni:
Rilascia la proprietà dell'handle.
CHandle::m_h
Variabile membro che archivia l'handle.
HANDLE m_h;
CHandle::operator =
Operatore di assegnazione .
CHandle& operator=(CHandle& h) throw();
Parametri
h
CHandle
assumerà la proprietà dell'handle h.
Valore restituito
Restituisce un riferimento al nuovo CHandle
oggetto .
Osservazioni:
Se l'oggetto CHandle
contiene attualmente un handle, verrà chiuso. L'oggetto CHandle
passato avrà il relativo riferimento handle impostato su NULL. In questo modo due CHandle
oggetti non conterranno mai lo stesso handle attivo.
CHandle::operator HANDLE
Restituisce il valore dell'handle archiviato.
operator HANDLE() const throw();
Osservazioni:
Restituisce il valore archiviato in CHandle::m_h.