CritCheckIn 函数

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

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

关键部分调试函数