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


Класс CComCritSecLock

Этот класс предоставляет методы блокировки и разблокировки критического объекта раздела.

Синтаксис

template<class TLock> class CComCritSecLock

Параметры

TLock
Объект, который необходимо заблокировать и разблокировать.

Участники

Открытые конструкторы

Имя Описание
CComCritSecLock::CComCritSecLock Конструктор.
CComCritSecLock::~CComCritSecLock Деструктор

Открытые методы

Имя Описание
CComCritSecLock::Lock Вызовите этот метод, чтобы заблокировать объект критического раздела.
CComCritSecLock::Unlock Вызовите этот метод, чтобы разблокировать критически важный объект раздела.

Замечания

Используйте этот класс для блокировки и разблокировки объектов более безопасным способом, чем с классом CComCriticalSection или классом CComAutoCriticalSection.

Требования

Заголовок: atlbase.h

CComCritSecLock::CComCritSecLock

Конструктор.

CComCritSecLock(TLock& cs, bool bInitialLock = true);

Параметры

cs
Объект критического раздела.

bInitialLock
Начальное состояние блокировки: true означает блокировку.

Замечания

Инициализирует объект критического раздела.

CComCritSecLock::~CComCritSecLock

Деструктор

~CComCritSecLock() throw();

Замечания

Разблокирует критически важный объект раздела.

CComCritSecLock::Lock

Вызовите этот метод, чтобы заблокировать объект критического раздела.

HRESULT Lock() throw();

Возвращаемое значение

Возвращает S_OK, если объект успешно заблокирован или ошибка HRESULT при сбое.

Замечания

Если объект уже заблокирован, ошибка ASSERT будет возникать в отладочных сборках.

CComCritSecLock::Unlock

Вызовите этот метод, чтобы разблокировать критически важный объект раздела.

void Unlock() throw();

Замечания

Если объект уже разблокирован, ошибка ASSERT будет возникать в отладочных сборках.

См. также

Класс CComCriticalSection
Класс CComAutoCriticalSection