Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.