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