HandleT - класс

Представляет дескриптор объекта.

Синтаксис

template <typename HandleTraits>
class HandleT;

Параметры

HandleTraits
Экземпляр структуры HandleTraits , определяющий общие характеристики дескриптора.

Участники

Общедоступные определения типов

Имя Описание
Traits Синоним для HandleTraits.

Открытые конструкторы

Имя Описание
HandleT::HandleT Инициализирует новый экземпляр класса HandleT.
HandleT::~HandleT Деинициализирует экземпляр HandleT класса.

Открытые методы

Имя Описание
HandleT::Attach Связывает указанный дескриптор с текущим HandleT объектом.
HandleT::Close Закрывает текущий HandleT объект.
HandleT::D etach Отсоединяет текущий HandleT объект от базового дескриптора.
HandleT::Get Возвращает значение базового дескриптора.
HandleT::IsValid Указывает, представляет ли текущий HandleT объект дескриптор.

Защищенные методы

Имя Описание
HandleT::InternalClose Закрывает текущий HandleT объект.

Открытые операторы

Имя Описание
HandleT::operator= Перемещает значение указанного HandleT объекта в текущий HandleT объект.

Защищенные члены данных

Имя Описание
HandleT::handle_ Содержит дескриптор, представленный HandleT объектом.

Иерархия наследования

HandleT

Требования

Заголовок: corewrappers.h

Пространство имен: Microsoft::WRL::Оболочки

HandleT::~HandleT

Деинициализирует экземпляр HandleT класса.

~HandleT();

HandleT::Attach

Связывает указанный дескриптор с текущим HandleT объектом.

void Attach(
   typename HandleTraits::Type h
);

Параметры

ч
Дескриптор.

HandleT::Close

Закрывает текущий HandleT объект.

void Close();

Замечания

Дескриптор, который лежит в основе текущего HandleT , закрыт, и HandleT для этого задано недопустимое состояние.

Если дескриптор не закрывается правильно, возникает исключение в вызывающем потоке.

HandleT::D etach

Отсоединяет текущий HandleT объект от базового дескриптора.

typename HandleTraits::Type Detach();

Возвращаемое значение

Базовый дескриптор.

Замечания

По завершении этой операции текущий HandleT параметр имеет недопустимое состояние.

HandleT::Get

Возвращает значение базового дескриптора.

typename HandleTraits::Type Get() const;

Возвращаемое значение

Дескриптор.

HandleT::handle_

Содержит дескриптор, представленный HandleT объектом.

typename HandleTraits::Type handle_;

HandleT::HandleT

Инициализирует новый экземпляр класса HandleT.

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

HandleT(
   _Inout_ HandleT&& h
);

Параметры

ч
Дескриптор.

Замечания

Первый конструктор инициализирует HandleT объект, который не является допустимым дескриптором объекта. Второй конструктор создает новый HandleT объект из параметра h.

HandleT::InternalClose

Закрывает текущий HandleT объект.

virtual bool InternalClose();

Возвращаемое значение

true Значение , если текущий HandleT объект успешно закрыт; в противном случае false.

Замечания

InternalClose() имеет значение protected.

HandleT::IsValid

Указывает, представляет ли текущий HandleT объект дескриптор.

bool IsValid() const;

Возвращаемое значение

trueЗначение , falseесли дескриптор HandleT представляет дескриптор; в противном случае .

HandleT::operator=

Перемещает значение указанного HandleT объекта в текущий HandleT объект.

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

Параметры

ч
Ссылка rvalue-на дескриптор.

Возвращаемое значение

Ссылка на текущий HandleT объект.

Замечания

Эта операция делает объект недействительным, заданным HandleT параметром h.