次の方法で共有


CritCheckIn 関数

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

現在のスレッドが指定されたクリティカル セクションの所有者である場合は TRUE を 返します。

構文

BOOL WINAPI CritCheckIn(
   CCritSec *pcCrit
);

パラメーター

pcCrit

CCritSec クリティカル セクションへのポインター。

戻り値

デバッグ ビルドでは、現在のスレッドがこのクリティカル セクションの所有者である場合は TRUE を返し、それ以外の場合は FALSE を 返します。 小売ビルドでは、常に TRUE を返します。

解説

この関数は、特定のロックをスレッドが所有しているかどうかをテストするために、 ASSERT マクロ内で特に便利です。

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

{
    CCritSec MyLock;  // Critical section is not locked yet.
    
    ASSERT(CritCheckIn(&MyLock)); // This assert will fire.

    // Lock the critical section.    
    CAutoLock cObjectLock(&MyLock);
     
    ASSERT(CritCheckIn(&MyLock)); // This assert will not fire.

} // Lock goes out of scope here.

要件

要件
ヘッダー
Wxutil.h (include Streams.h)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

クリティカル セクションのデバッグ関数