OpenEventA 函数 (synchapi.h)
打开现有的命名事件对象。
语法
HANDLE OpenEventA(
[in] DWORD dwDesiredAccess,
[in] BOOL bInheritHandle,
[in] LPCSTR lpName
);
参数
[in] dwDesiredAccess
对事件对象的访问。 如果指定对象的安全描述符不允许调用进程的请求访问,该函数将失败。 有关访问权限列表,请参阅 同步对象安全和访问权限。
[in] bInheritHandle
如果此值 TRUE,则由此进程创建的进程将继承句柄。 否则,进程不会继承此句柄。
[in] lpName
要打开的事件的名称。 名称比较区分大小写。
此函数可以在专用命名空间中打开对象。 有关详细信息,请参阅 对象命名空间。
终端服务:名称可以具有“全局”或“本地”前缀,以显式打开全局或会话命名空间中的对象。 名称的其余部分可以包含除反斜杠字符(\)以外的任何字符。 有关详细信息,请参阅 内核对象命名空间。
注意 快速用户切换是使用终端服务会话实现的。 第一个登录的用户使用会话 0、登录的下一个用户使用会话 1 等。 内核对象名称必须遵循终端服务概述的准则,以便应用程序能够支持多个用户。
返回值
如果函数成功,则返回值是事件对象的句柄。
如果函数失败,则返回值 NULL。 若要获取扩展的错误信息,请调用 GetLastError。
言论
OpenEvent 函数使多个进程能够打开同一事件对象的句柄。 仅当某些进程已使用 CreateEvent 函数创建事件时,该函数才会成功。 调用进程可以在需要事件对象的句柄的任何函数中使用返回的句柄,但受 dwDesiredAccess 参数中指定的访问的限制。
可以使用 DuplicateHandle 函数复制句柄。 使用 CloseHandle 函数关闭句柄。 系统在进程终止时自动关闭句柄。 事件对象在关闭其最后一个句柄时被销毁。
注意
synchapi.h 标头将 OpenEvent 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [桌面应用 |UWP 应用] |
支持的最低服务器 | Windows Server 2003 [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | synchapi.h (包括 Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2 上的 Windows.h) |
库 | Kernel32.lib |
DLL | Kernel32.dll |