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

命名空間: 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 所指定的物件失效。