HandleT 类

表示对象的句柄。

语法

template <typename HandleTraits>
class HandleT;

参数

HandleTraits
HandleTraits 结构的实例,用于定义句柄的常见特征。

成员

公共 Typedef

名称 描述
Traits HandleTraits 的同义词。

公共构造函数

名称 描述
HandleT::HandleT 初始化 HandleT 类的新实例。
HandleT::~HandleT 取消初始化 HandleT 类的实例。

公共方法

名称 描述
HandleT::Attach 将指定的句柄与当前 HandleT 对象相关联。
HandleT::Close 关闭当前的 HandleT 对象。
HandleT::Detach 将当前 HandleT 对象与其基础句柄取消关联。
HandleT::Get 获取基础句柄的值。
HandleT::IsValid 指示当前 HandleT 对象是否表示句柄。

受保护方法

名称 描述
HandleT::InternalClose 关闭当前的 HandleT 对象。

公共运算符

“属性” 描述
HandleT::operator= 将指定 HandleT 对象的值移到当前 HandleT 对象。

受保护的数据成员

名称 描述
HandleT::handle_ 包含由 HandleT 对象表示的句柄。

继承层次结构

HandleT

要求

标头:corewrappers.h

命名空间:Microsoft::WRL::Wrappers

HandleT::~HandleT

取消初始化 HandleT 类的实例。

~HandleT();

HandleT::Attach

将指定的句柄与当前 HandleT 对象相关联。

void Attach(
   typename HandleTraits::Type h
);

参数

h
句柄。

HandleT::Close

关闭当前的 HandleT 对象。

void Close();

备注

关闭基于当前 HandleT 的句柄,然后将 HandleT 设置为无效状态。

如果句柄关闭不正确,则调用线程中将引发异常。

HandleT::Detach

将当前 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
);

参数

h
句柄。

备注

第一个构造函数初始化 HandleT 对象,该对象不是对象的有效句柄。 第二个构造函数从参数 h 创建新的 HandleT 对象。

HandleT::InternalClose

关闭当前的 HandleT 对象。

virtual bool InternalClose();

返回值

如果当前 true 关闭成功,则为 HandleT;否则为 false

备注

InternalClose()protected

HandleT::IsValid

指示当前 HandleT 对象是否表示句柄。

bool IsValid() const;

返回值

如果 HandleT 表示句柄,则为 true;否则为 false

HandleT::operator=

将指定 HandleT 对象的值移到当前 HandleT 对象。

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

参数

h
对句柄的右值引用。

返回值

对当前 HandleT 对象的引用。

备注

此操作使参数 h 指定的 HandleT 对象失效。