OUT PHANDLE SemaphoreHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN ULONG InitialCount,
IN ULONG MaximumCount );
Функция NtCreateSemaphore создаёт семафор. Семафор может быть безымянным или
с именем в пространстве имён объектов, и в нём установлены начальное и максимальное число освобождений.
SemaphoreHandle
Результат выозва: указатель на HANDLE семафора.
DesiredAccess
Права доступа к семафору. Может быть:
SEMAPHORE_QUERY_STATE
SEMAPHORE_MODIFY_STATE
SEMAPHORE_ALL_ACCESS
ObjectAttributes
Дополнительный указатель на структуру OBJECT_ATTRIBUTES, содержащую имя семафора.
InitialCount
Начальное состояние семафора. Обычно, то же самое, что и MaximumCount.
MaximumCount
Максимальное количество освобождений.