Compartir a través de


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.

Consulte también

Información general sobre la clase