次の方法で共有


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
);

パラメーター


ハンドル。

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
);

パラメーター


ハンドル。

解説

最初のコンストラクターは、オブジェクトに対する有効なハンドルではない HandleT オブジェクトを初期化します。 2 番目のコンストラクターは、パラメーター h から新しい HandleT オブジェクトを作成します。

HandleT::InternalClose

現在の HandleT オブジェクトを閉じます。

virtual bool InternalClose();

戻り値

現在の HandleT が正常に閉じられた場合は true、それ以外の場合は false

解説

InternalClose()protectedです。

HandleT::IsValid

現在の HandleT オブジェクトがハンドルを表しているかどうかを示します。

bool IsValid() const;

戻り値

HandleT がハンドルを表している場合は true、それ以外の場合は false

HandleT::operator=

指定した HandleT オブジェクトの値を現在の HandleT オブジェクトに移動します。

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

パラメーター


ハンドルへの右辺値参照。

戻り値

現在の HandleT オブジェクトへの参照。

解説

この操作により、パラメーター h によって指定した HandleT オブジェクトが無効になります。