CHandle (clase)
Esta clase proporciona métodos para crear y usar un objeto identificador.
Sintaxis
class CHandle
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CHandle::CHandle | Constructor . |
CHandle::~CHandle | El destructor . |
Métodos públicos
Nombre | Descripción |
---|---|
CHandle::Attach | Llame a este método para adjuntar el objeto CHandle a un identificador existente. |
CHandle::Close | Llame a este método para cerrar un objeto CHandle . |
CHandle::Detach | Llame a este método para desasociar un identificador de un objeto CHandle . |
Operadores públicos
Nombre | Descripción |
---|---|
CHandle::operator HANDLE | Devuelve el valor del identificador almacenado. |
CHandle::operator = | Operador de asignación. |
Miembros de datos públicos
Nombre | Descripción |
---|---|
CHandle::m_h | Variable miembro que almacena el identificador. |
Comentarios
Un objeto CHandle
se puede usar siempre que se requiera un identificador: la principal diferencia es que el objeto CHandle
se eliminará automáticamente.
Nota:
Algunas funciones de API usarán NULL como identificador vacío o no válido, mientras que otras usan INVALID_HANDLE_VALUE. CHandle
solo usa NULL y tratará INVALID_HANDLE_VALUE como identificador real. Si llama a una API que puede devolver INVALID_HANDLE_VALUE, debe comprobar este valor antes de llamar a CHandle::Attach o pasarlo al constructor CHandle
y, en su lugar, pasar NULL.
Requisitos
Encabezado: atlbase.h
CHandle::Attach
Llame a este método para adjuntar el objeto CHandle
a un identificador existente.
void Attach(HANDLE h) throw();
Parámetros
h
CHandle
tomará posesión del identificador h.
Comentarios
Asigna el CHandle
objeto al identificador h y, a continuación, llama a h.Detach(). En las compilaciones de depuración, se generará un ATLASSERT si h es NULL. No se realiza ninguna otra comprobación sobre la validez del identificador.
CHandle::CHandle
Constructor .
CHandle() throw();
CHandle(CHandle& h) throw();
explicit CHandle(HANDLE h) throw();
Parámetros
h
Un identificador existente o CHandle
.
Comentarios
Crea un nuevo objeto CHandle
, opcionalmente mediante un identificador o objeto CHandle
existente.
CHandle::~CHandle
El destructor .
~CHandle() throw();
Comentarios
Libera el objeto CHandle
llamando a CHandle::Close.
CHandle::Close
Llame a este método para cerrar un objeto CHandle
.
void Close() throw();
Comentarios
Cierra un identificador de objeto abierto. Si el identificador es NULL, que será el caso si ya se ha llamado a Close
, se generará un ATLASSERT en compilaciones de depuración.
CHandle::Detach
Llame a este método para desasociar un identificador de un objeto CHandle
.
HANDLE Detach() throw();
Valor devuelto
Devuelve el identificador que se va a desasociar.
Comentarios
Libera la propiedad del manipulador.
CHandle::m_h
Variable miembro que almacena el identificador.
HANDLE m_h;
CHandle::operator =
Operador de asignación.
CHandle& operator=(CHandle& h) throw();
Parámetros
h
CHandle
tomará posesión del identificador h.
Valor devuelto
Devuelve una referencia al objeto CHandle
nuevo.
Comentarios
Si el objeto CHandle
contiene actualmente un identificador, se cerrará. El objeto CHandle
que se pasa tendrá su referencia de identificador establecida en NULL. Esto garantiza que dos objetos CHandle
nunca contendrán el mismo identificador activo.
CHandle::operator HANDLE
Devuelve el valor del identificador almacenado.
operator HANDLE() const throw();
Comentarios
Devuelve el valor almacenado en CHandle::m_h.