次の方法で共有


DbgLockTrace 関数

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

特定のクリティカル セクションのデバッグ ログを有効または無効にします。

構文

void WINAPI DbgLockTrace(
   CCritSec *pcCrit,
   BOOL     fTrace
);

パラメーター

pcCrit

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

fTrace

ログ記録を有効にするかどうかを指定する値。 ログ記録を有効にするには TRUE 、無効にするには FALSE を 使用します。

戻り値

この関数は値を返しません。

注釈

特定のクリティカル セクションをトレースするには、この関数を使用します。 既定では、クリティカル セクションの数が多いため、クリティカル セクションのデバッグ ログは無効になっています。

クリティカル セクションをトレースするには、次の手順を実行します。

  1. DirectShow ヘッダーを含める前に、DEBUG または_DEBUGを定義します。
  2. LOG_LOCKING フラグを使用して DbgSetModuleLevel を呼び出して、クリティカル セクションのデバッグ ログを有効にします。
  3. トレースするクリティカル セクションで DbgLockTrace を呼び出します。

製品版ビルドでは、 DbgLockTrace 関数は影響を受けません。

次のコード例は、クリティカル セクションをトレースする方法を示しています。

DbgInitialise(g_hInst);
DbgSetModuleLevel(LOG_LOCKING, 3);

{
    CCritSec MyLock;
    DbgLockTrace(&MyLock, TRUE);
    
    CAutoLock cObjectLock(&MyLock);

    // Protected section of code.    
    DbgOutString("This code is inside a critical section.\n");

} // Lock goes out of scope here.

DbgTerminate();

要件

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

関連項目

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