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


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

Открывает существующий именованный объект события.

Синтаксис

HANDLE OpenEventW(
  [in] DWORD   dwDesiredAccess,
  [in] BOOL    bInheritHandle,
  [in] LPCWSTR lpName
);

Параметры

[in] dwDesiredAccess

Доступ к объекту события. Функция завершается ошибкой, если дескриптор безопасности указанного объекта не разрешает запрошенный доступ для вызывающего процесса. Список прав доступа см. в разделе Безопасность объектов синхронизации и права доступа.

[in] bInheritHandle

Если это значение равно TRUE, процессы, созданные этим процессом, наследуют дескриптор. В противном случае процессы не наследуют этот дескриптор.

[in] lpName

Имя открываемого события. Сравнение имен учитывает регистр.

Эта функция может открывать объекты в частном пространстве имен. Дополнительные сведения см. в разделе Пространства имен объектов.

Службы терминалов: Имя может иметь префикс "Global" или "Local" для явного открытия объекта в глобальном пространстве имен или пространстве имен сеанса. Оставшаяся часть имени может содержать любой символ, кроме символа обратной косой черты (\). Дополнительные сведения см. в разделе Пространства имен объектов ядра.

Примечание Быстрое переключение пользователей реализуется с помощью сеансов служб терминалов. Первый пользователь для входа использует сеанс 0, следующий пользователь для входа использует сеанс 1 и т. д. Имена объектов ядра должны соответствовать рекомендациям, описанным для служб терминалов, чтобы приложения могли поддерживать нескольких пользователей.

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

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

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

Комментарии

Функция OpenEvent позволяет нескольким процессам открывать дескрипторы одного объекта события. Функция завершается успешно, только если какой-то процесс уже создал событие с помощью функции CreateEvent . Вызывающий процесс может использовать возвращенный дескриптор в любой функции, требующей дескриптора объекта события, с учетом ограничений доступа, указанных в параметре dwDesiredAccess .

Дескриптор можно дублировать с помощью функции DuplicateHandle . Используйте функцию CloseHandle , чтобы закрыть дескриптор. Система автоматически закрывает дескриптор при завершении процесса. Объект события уничтожается при закрытии последнего дескриптора.

Примечание

Заголовок synchapi.h определяет OpenEvent как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента 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

См. также

CloseHandle

CreateEvent

CreateProcess

DuplicateHandle

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

Имена объектов

PulseEvent

ResetEvent

SetEvent

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