CSemaphore::CSemaphore
Создает именованный или неименованный объект CSemaphore.
CSemaphore(
LONG lInitialCount = 1,
LONG lMaxCount = 1,
LPCTSTR pstrName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttributes = NULL
);
Параметры
lInitialCount
Начальное число потребления для семафора.Должно быть больше или равно 0 и меньше или равно lMaxCount.lMaxCount
Максимальный объем потребления для семафора.Должно быть больше 0.pstrName
Имя семафора.Быть указано, если семафор будет иметь доступ через границы процессов.Если NULL, объект будет именованные.Если имя соответствует существующему семафору, конструктор создает новый объект CSemaphore, который ссылается на семафор с таким именем.Если имя соответствует существующему объекту, то синхронизации, не семафора, построение завершится ошибкой.lpsaAttributes
Атрибуты безопасности для объекта семафора.Полное описание структуры, см. в разделе SECURITY_ATTRIBUTES в Windows SDK.
Заметки
Чтобы получить доступ и освобождение объект CSemaphore создайте объект CMultiLock или CSingleLock и вызовите его блокировка и функции-члены Unlock.
Примечание по безопасности |
---|
После создания объекта CSemaphore, используйте GetLastError обеспечить мьютекс уже не существовало.Если мьютекс существовали неожиданно, они могут указывать на то, что процесс жулика находится на корточках и может использовать предназначать мьютекс злоумышленно.В этом случае рекомендуется безопасность- сознательная процедуры закрыть дескриптор и возобновлять если произошел сбой при создании объекта. |
Требования
Header: afxmt.h