Класс 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 будет возникать в отладочных сборках.