DbgLockTrace 函数

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,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 (调试生成)

另请参阅

关键部分调试函数