OpenEvent函数返回现有命名事件对象的句柄。
手柄OpenEvent
DWORD 【dwDesiredAccess】, | //访问标志 |
BOOL 【bInheritHandle】, | //继承标志 |
LPCTSTR 【lpName】 | //指向事件对象名称的指针 |
); |
参数
【dwDesiredAccess】
指定对事件对象的请求访问。对于支持对象安全性的系统,如果指定对象的安全描述符不允许调用进程的请求访问,则该函数将失败。
此参数可以是以下值的任意组合:
访问 | 描述 |
EVENT_ALL_ACCESS | 指定事件对象的所有可能的访问标志。 |
EVENT_MODIFY_STATE | 启用SetEvent和ResetEvent功能中的事件句柄来修改事件的状态。 |
SYNCHRONIZE | 仅Windows NT:启用任何等待功能中的事件句柄等待事件的状态发信号。 |
【bInheritHandle】
指定返回的句柄是否可继承。如果为TRUE,则CreateProcess函数创建的进程可以继承该句柄;否则,句柄不能被继承。
【lpName】
指向以空字符结尾的字符串,命名要打开的事件。名称比较区分大小写。
返回值
如果函数成功,则返回值是事件对象的句柄。
如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.
备注
OpenEvent功能可以使多个进程打开相同事件对象的句柄。只有某些进程已经使用CreateEvent功能创建了事件,该函数才会成功。调用进程可以使用需要事件对象句柄的任何函数中的返回句柄,但必须遵守【dwDesiredAccess】参数中指定的访问限制。
可以使用DuplicateHandle功能复制句柄。使用CloseHandle功能关闭句柄。当过程终止时,系统自动关闭句柄。当事件对象的最后一个句柄被关闭时被销毁。
也可以看看
CloseHandle, CreateEvent, CreateProcess, DuplicateHandle, PulseEvent, ResetEvent, SetEvent