次の方法で共有


CAutoLock クラス

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

クラスは CAutoLock 、コード ブロックのスコープのクリティカル セクションを保持します。

このクラスは、クリティカル セクション オブジェクトのラッパーである CCritSec クラスと組み合わせて動作します。 コンストラクターによって CAutoLock クリティカル セクションがロックされ、デストラクターによってロックが解除されます。 オブジェクトを CAutoLock ローカル変数として使用すると、すべてのコード パスでクリティカル セクションのロックが解除されることを保証して、クリティカル セクションをロックできます。

次のコード例は、このクラスの使用方法を示しています。

CCritSec csMyLock;  // Critical section is not locked yet.
{
    CAutoLock cObjectLock(&csMyLock);  // Lock the critical section.

    // Protected section of code.     

} // Lock goes out of scope here.

このクラスのメソッドは、オーバーライドするようには設計されていません。

保護されたメンバー変数 説明
m_pLock このロックのクリティカル セクション。
パブリック メソッド 説明
CAutoLock コンストラクター メソッド。 指定したクリティカル セクション オブジェクトをロックします。
~CAutoLock デストラクター メソッド。 クリティカル セクション オブジェクトのロックを解除します。

要件

要件
ヘッダー
Wxutil.h (Streams.h を含む)
ライブラリ
Strmbase.lib (製品版ビルド);
Strmbasd.lib (デバッグ ビルド)