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


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

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

Синтаксис

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

Параметры

[in] dwDesiredAccess

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

[in] bInheritHandle

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

[in] lpName

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

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

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

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

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

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

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

Замечания

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

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2003 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка 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

ДубликатыHandle

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

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

PulseEvent

ResetEvent

SetEvent

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