オブジェクトに対するハンドルを表します。
構文
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 オブジェクトが無効になります。