共用方式為


HandleT 類別

表示物件的句柄。

語法

template <typename HandleTraits>
class HandleT;

參數

HandleTraits
HandleTraits 結構的實例,定義句柄的通用特性。

成員

公用 Typedefs

名稱 描述
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

Namespace: Microsoft::WRL::Wrappers

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 建構函式會初始化物件,該物件不是物件的有效句柄。 第二個建構函式會從參數 h 建立新的 HandleT 物件。

HandleT::InternalClose

關閉目前的 HandleT 物件。

virtual bool InternalClose();

傳回值

true 如果目前 HandleT 已順利關閉,則為 ,否則為 false

備註

InternalClose()protected

HandleT::IsValid

指出目前的 HandleT 物件是否代表句柄。

bool IsValid() const;

傳回值

trueHandleT如果表示句柄,則為 ,false否則為 。

HandleT::operator=

將指定 HandleT 物件的值移至目前的 HandleT 物件。

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

參數

小時
句柄的右值參考。

傳回值

目前 HandleT 對象的參考。

備註

此作業會使 HandleT 參數 h 所指定的物件失效。