Поделиться через


Класс CAutoLock

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие 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 (отладочные сборки)