次の方法で共有


SyncLockWithStatusT クラス

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

構文

template <typename SyncTraits>
class SyncLockWithStatusT : public SyncLockT<SyncTraits>;

パラメーター

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

解説

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

SyncLockWithStatusT クラスは Mutex および Semaphore クラスを実装するために使われます。

メンバー

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

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

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

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

パブリック メソッド

名前 説明
SyncLockWithStatusT::GetStatus 現在の SyncLockWithStatusT オブジェクトの待機状態を取得します。
SyncLockWithStatusT::IsLocked 現在の SyncLockWithStatusT オブジェクトがリソースを所有しているかどうか、つまり SyncLockWithStatusT オブジェクトが "ロックされている" かどうかを示します。

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

名前 説明
SyncLockWithStatusT::status_ 現在の SyncLockWithStatusT オブジェクトに基づいて、オブジェクトに対するロック操作の後に、基になる待機操作の結果を保持します。

継承階層

SyncLockT

SyncLockWithStatusT

要件

ヘッダー: corewrappers.h

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

SyncLockWithStatusT::GetStatus

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

DWORD GetStatus() const;

戻り値

MutexSemaphore など、SyncLockWithStatusT クラスに基づくオブジェクトに対する待機操作の結果を保持します。 ゼロ (0) は、待機操作がシグナル状態を返したことを示し、それ以外は、タイムアウト値の経過など、別の状態が発生したことを示します。

解説

現在の SyncLockWithStatusT オブジェクトの待機状態を取得します。

GetStatus() 関数は、基になる status_ データ メンバーの値を取得します。 SyncLockWithStatusT クラスに基づくオブジェクトがロック操作を行う場合、まず、オブジェクトはオブジェクトが使用可能になるまで待機します。 その待機操作の結果は status_ データ メンバーに格納されます。 status_ データ メンバーに使用できる値は、待機操作の戻り値です。 詳細については、WaitForSingleObjectEx 関数の戻り値を参照してください。

SyncLockWithStatusT::IsLocked

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

bool IsLocked() const;

解説

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

戻り値

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

SyncLockWithStatusT::status_

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

DWORD status_;

解説

現在の SyncLockWithStatusT オブジェクトに基づいて、オブジェクトに対するロック操作の後に、基になる待機操作の結果を保持します。

SyncLockWithStatusT::SyncLockWithStatusT

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

SyncLockWithStatusT(
   _Inout_ SyncLockWithStatusT&& other
);

explicit SyncLockWithStatusT(
   typename SyncTraits::Type sync,
   DWORD status
);

パラメーター

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

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

status
other パラメーターまたは sync パラメーターの status_ データ メンバーの値。

解説

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

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