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
オブジェクトが無効になります。