Classe CHandle
Essa classe fornece métodos para criar e usar um objeto de identificador.
Sintaxe
class CHandle
Membros
Construtores públicos
Nome | Descrição |
---|---|
CHandle::CHandle | O construtor . |
CHandle::~CHandle | O destruidor. |
Métodos públicos
Nome | Descrição |
---|---|
CHandle::Attach | Chame esse método para anexar o objeto CHandle a um identificador existente. |
CHandle::Close | Chame esse método para fechar um objeto CHandle . |
CHandle::Detach | Chame esse método para desanexar um identificador de um objeto CHandle . |
Operadores públicos
Nome | Descrição |
---|---|
CHandle::operator HANDLE | Retorna o valor do identificador armazenado. |
CHandle::operator = | Operador de atribuição. |
Membros de Dados Públicos
Nome | Descrição |
---|---|
CHandle::m_h | A variável de membro que armazena o identificador. |
Comentários
Um objeto CHandle
pode ser usado sempre que um identificador é obrigatório: a principal diferença é que o objeto CHandle
será excluído automaticamente.
Observação
Algumas funções de API usarão NULL como um identificador vazio ou inválido, enquanto outras usam o INVALID_HANDLE_VALUE. CHandle
usa apenas NULL e tratará o INVALID_HANDLE_VALUE como um identificador verdadeiro. Se você chamar uma API que pode retornar o INVALID_HANDLE_VALUE, verifique esse valor antes de chamar CHandle::Attach ou passá-lo para o construtor CHandle
e, em vez disso, passar como NULL.
Requisitos
Cabeçalho: atlbase.h
CHandle::Attach
Chame esse método para anexar o objeto CHandle
a um identificador existente.
void Attach(HANDLE h) throw();
Parâmetros
h
CHandle
assumirá a propriedade do identificador h.
Comentários
Atribui o objeto CHandle
ao identificador h e, em seguida, chama h.Detach(). Em compilações de depurações, um ATLASSERT será criado se h for NULL. Nenhuma outra verificação quanto à validade do identificador é feita.
CHandle::CHandle
O construtor .
CHandle() throw();
CHandle(CHandle& h) throw();
explicit CHandle(HANDLE h) throw();
Parâmetros
h
Um identificador existente ou CHandle
.
Comentários
Cria um novo objeto CHandle
, opcionalmente usando um identificador ou objeto CHandle
existente.
CHandle::~CHandle
O destruidor.
~CHandle() throw();
Comentários
Libera o objeto CHandle
chamando CHandle::Close.
CHandle::Close
Chame esse método para fechar um objeto CHandle
.
void Close() throw();
Comentários
Fecha um identificador de objeto aberto. Se o identificador for NULL, que será o caso se Close
já tiver sido chamado, um ATLASSERT será gerado em compilações de depuração.
CHandle::Detach
Chame esse método para desanexar um identificador de um objeto CHandle
.
HANDLE Detach() throw();
Valor de retorno
Retorna o identificador que está sendo desanexado.
Comentários
Libera a propriedade do identificador.
CHandle::m_h
A variável de membro que armazena o identificador.
HANDLE m_h;
CHandle::operator =
O operador de atribuição.
CHandle& operator=(CHandle& h) throw();
Parâmetros
h
CHandle
assumirá a propriedade do identificador h.
Valor de retorno
Retorna uma referência ao novo objeto CHandle
.
Comentários
Se o objeto CHandle
contiver atualmente um identificador, ele será fechado. O objeto CHandle
que está sendo passado terá sua referência de identificador definida como NULL. Isso garante que dois objetos CHandle
nunca conterão o mesmo identificador ativo.
CHandle::operator HANDLE
Retorna o valor do identificador armazenado.
operator HANDLE() const throw();
Comentários
Retorna o valor armazenado em CHandle::m_h.