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


Функция SetEvent (synchapi.h)

Задает для указанного объекта события состояние сигнала.

Синтаксис

BOOL SetEvent(
  [in] HANDLE hEvent
);

Параметры

[in] hEvent

Дескриптор объекта события. Функция CreateEvent или OpenEvent возвращает этот дескриптор.

Дескриптор должен иметь право доступа к EVENT_MODIFY_STATE. Дополнительные сведения см. в разделе Синхронизация безопасности объектов и прав доступа.

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

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Состояние объекта события сброса вручную остается сигнальным до тех пор, пока функция ResetEvent явно не задается в состояние без знака. Любое количество ожидающих потоков или потоков, которые впоследствии начинают операции ожидания для указанного объекта события путем вызова одной из функций ожидания, могут быть освобождены во время передачи сигнала о состоянии объекта.

В отличие от этого, состояние объекта события автоматического сброса остается сигнальным до тех пор, пока не будет освобожден один ожидающий поток, и в это время система автоматически устанавливает состояние nonsignaled. Если ожидающих потоков нет, состояние объекта события остается сигнальным.

Установка события, которое уже задано, не оказывает никакого влияния.

Приложения Магазина Windows могут реагировать на именованные события и семафоры, как описано в статье Реагирование на именованные события и семафоры.

Примеры

Пример использования SetEvent см. в разделе Использование объектов событий.

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header synchapi.h (включает Windows.h в Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

CreateEvent

Объекты событий

OpenEvent

PulseEvent

ResetEvent

Функции синхронизации