Compartilhar via


Classe HandleT

Representa um identificador para um objeto.

Sintaxe

template <typename HandleTraits>
class HandleT;

Parâmetros

HandleTraits
Uma instância da estrutura HandleTraits que define características comuns de um identificador.

Membros

Typedefs públicos

Nome Descrição
Traits Um sinônimo de HandleTraits.

Construtores públicos

Nome Descrição
HandleT::HandleT Inicializa uma nova instância da classe HandleT.
HandleT::~HandleT Desinicializa uma instância da classe HandleT.

Métodos públicos

Nome Descrição
HandleT::Attach Associa o identificador especificado com o objeto HandleT atual.
HandleT::Close Fecha o objeto HandleT atual.
HandleT::Detach Desassocia o objeto HandleT atual do identificador subjacente.
HandleT::Get Obtém o valor do identificador subjacente.
HandleT::IsValid Indica se o objeto HandleT atual representa um identificador.

Métodos protegidos

Nome Descrição
HandleT::InternalClose Fecha o objeto HandleT atual.

Operadores públicos

Nome Descrição
HandleT::operator= Move o valor do objeto HandleT especificado para o objeto HandleT atual.

Membros de dados protegidos

Nome Descrição
HandleT::handle_ Contém o identificador representado pelo objeto HandleT.

Hierarquia de herança

HandleT

Requisitos

Cabeçalho: corewrappers.h

Namespace: Microsoft::WRL::Wrappers

HandleT::~HandleT

Desinicializa uma instância da classe HandleT.

~HandleT();

HandleT::Attach

Associa o identificador especificado com o objeto HandleT atual.

void Attach(
   typename HandleTraits::Type h
);

Parâmetros

h
Um identificador.

HandleT::Close

Fecha o objeto HandleT atual.

void Close();

Comentários

O identificador subjacente ao HandleT atual é fechado e o estado de HandleT é definido para inválido.

Se o identificador não fechar corretamente, uma exceção será gerada no thread de chamada.

HandleT::Detach

Desassocia o objeto HandleT atual do identificador subjacente.

typename HandleTraits::Type Detach();

Valor de retorno

O identificador subjacente.

Comentários

Quando essa operação for concluída, o estado do HandleT atual será definido como inválido.

HandleT::Get

Obtém o valor do identificador subjacente.

typename HandleTraits::Type Get() const;

Valor de retorno

Um identificador.

HandleT::handle_

Contém o identificador representado pelo objeto HandleT.

typename HandleTraits::Type handle_;

HandleT::HandleT

Inicializa uma nova instância da classe HandleT.

explicit HandleT(
   typename HandleTraits::Type h =
      HandleTraits::GetInvalidValue()
);

HandleT(
   _Inout_ HandleT&& h
);

Parâmetros

h
Um identificador.

Comentários

O primeiro construtor inicializa um objeto HandleT que não é um identificador válido para um objeto. O segundo construtor cria um objeto HandleT do parâmetro h.

HandleT::InternalClose

Fecha o objeto HandleT atual.

virtual bool InternalClose();

Valor de retorno

true se o HandleT atual foi fechado com êxito, caso contrário, false.

Comentários

InternalClose() é protected.

HandleT::IsValid

Indica se o objeto HandleT atual representa um identificador.

bool IsValid() const;

Valor de retorno

true se o HandleT representar um identificador; caso contrário, false.

HandleT::operator=

Move o valor do objeto HandleT especificado para o objeto HandleT atual.

HandleT& operator=(
   _Inout_ HandleT&& h
);

Parâmetros

h
Uma referência rvalue a um identificador.

Valor de retorno

Uma referência ao objeto HandleT atual.

Comentários

Essa operação invalida o objeto HandleT especificado pelo parâmetro h.