次の方法で共有


CComCritSecLock クラス

このクラスは、クリティカル セクション オブジェクトをロックおよびロック解除するためのメソッドを提供します。

構文

template<class TLock> class CComCritSecLock

パラメーター

TLock
ロックおよびロック解除するオブジェクト。

メンバー

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

名前 説明
CComCritSecLock::CComCritSecLock コンストラクター。
CComCritSecLock::~CComCritSecLock デストラクター。

パブリック メソッド

名前 説明
CComCritSecLock::Lock クリティカル セクション オブジェクトをロックするには、このメソッドを呼び出します。
CComCritSecLock::Unlock クリティカル セクション オブジェクトのロックを解除するには、このメソッドを呼び出します。

解説

このクラスを使用して、CComCriticalSection クラスまたは CComAutoCriticalSection クラスよりも安全な方法でオブジェクトをロックおよびロック解除します。

要件

ヘッダー: atlbase.h

CComCritSecLock::CComCritSecLock

コンストラクター。

CComCritSecLock(TLock& cs, bool bInitialLock = true);

パラメーター

cs
クリティカル セクション オブジェクト。

bInitialLock
初期ロック状態: true はロックされていることを意味します。

解説

クリティカル セクション オブジェクトを初期化します。

CComCritSecLock::~CComCritSecLock

デストラクター。

~CComCritSecLock() throw();

解説

クリティカル セクション オブジェクトのロックを解除します。

CComCritSecLock::Lock

クリティカル セクション オブジェクトをロックするには、このメソッドを呼び出します。

HRESULT Lock() throw();

戻り値

オブジェクトが正常にロックされている場合は S_OK を返し、失敗した場合は HRESULT エラーを返します。

解説

オブジェクトが既にロックされている場合は、デバッグ ビルドで ASSERT エラーが発生します。

CComCritSecLock::Unlock

クリティカル セクション オブジェクトのロックを解除するには、このメソッドを呼び出します。

void Unlock() throw();

解説

オブジェクトのロックが既に解除されている場合は、デバッグ ビルドで ASSERT エラーが発生します。

関連項目

CComCriticalSection クラス
CComAutoCriticalSection クラス