次の方法で共有


SyncLockT クラス

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

構文

template <typename SyncTraits>
class SyncLockT;

パラメーター

SyncTraits
リソースの所有権を取得できる型。

解説

リソースの排他的所有権または共有所有権を取得できる型を表します。

SyncLockT クラスは、たとえば、SRWLock クラスの実装をサポートするために使用されます。

メンバー

パブリック コンストラクター

名前 説明
SyncLockT::SyncLockT SyncLockT クラスの新しいインスタンスを初期化します。
SyncLockT::~SyncLockT SyncLockT クラスのインスタンスを初期化解除します。

保護されたコンストラクター

名前 説明
SyncLockT::SyncLockT SyncLockT クラスの新しいインスタンスを初期化します。

パブリック メソッド

名前 説明
SyncLockT::IsLocked 現在の SyncLockT オブジェクトがリソースを所有しているかどうか、つまり SyncLockT オブジェクトが "ロックされている" かどうかを示します。
SyncLockT::Unlock 現在の SyncLockT オブジェクトによって維持されているリソースの制御を解放します (存在する場合)。

プロテクト データ メンバー

名前 説明
SyncLockT::sync_ SyncLockT クラスによって表される基になるリソースを保持します。

継承階層

SyncLockT

要件

ヘッダー: corewrappers.h

名前空間: Microsoft::WRL::Wrappers::Details

SyncLockT::~SyncLockT

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

~SyncLockT();

解説

SyncLockT クラスのインスタンスを初期化解除します。

このデストラクターにより、現在の SyncLockT インスタンスのロックも解除されます。

SyncLockT::IsLocked

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

bool IsLocked() const;

戻り値

trueSyncLockT オブジェクトがロックされている場合は。それ以外の場合はfalse

解説

現在の SyncLockT オブジェクトがリソースを所有しているかどうか、つまり SyncLockT オブジェクトが "ロックされている" かどうかを示します。

SyncLockT::sync_

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

typename SyncTraits::Type sync_;

解説

SyncLockT クラスによって表される基になるリソースを保持します。

SyncLockT::SyncLockT

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

SyncLockT(
   _Inout_ SyncLockT&& other
);

explicit SyncLockT(
   typename SyncTraits::Type sync = SyncTraits::GetInvalidValue()
);

パラメーター

other
別の SyncLockT オブジェクトへの右辺値参照。

sync
別の SyncLockWithStatusT オブジェクトへの参照。

解説

SyncLockT クラスの新しいインスタンスを初期化します。

1 つ目のコンストラクターでは、パラメーター other で指定された別の SyncLockT オブジェクトから現在の SyncLockT オブジェクトを初期化してから、他の SyncLockT オブジェクトを無効にします。 2 つ目のコンストラクターは protected です。現在の SyncLockT オブジェクトを無効な状態に初期化します。

SyncLockT::Unlock

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

void Unlock();

解説

現在の SyncLockT オブジェクトによって維持されているリソースの制御を解放します (存在する場合)。