CMutex::CMutex
构造一个名为或未命名 CMutex 对象。
CMutex(
BOOL bInitiallyOwn = FALSE,
LPCTSTR lpszName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttribute = NULL
);
参数
bInitiallyOwn
指定创建 CMutex 对象的线程最初是否有权访问mutex控件的资源的。lpszName
CMutex 对象的名称。 如果具有相同名称的其他mutex存在,必须提供 lpszName,如果要使用对象进程边界。 如果 NULL,mutex将为未命名的。 如果该名称与现有的mutex,该构造函数生成引用该名称mutex的新 CMutex 对象。 如果该名称与不是mutex的现有的同步对象,该构造将失败。lpsaAttribute
mutex对象的安全特性。 有关此结构的完整说明,请参见。Windows SDK的 SECURITY_ATTRIBUTES。
备注
访问或释放 CMutex 对象,创建 CMultiLock 或 CSingleLock 对象并调用其 锁定 和 unlock 成员函数。 如果 CMutex 对象用于独立的,则调用其 Unlock 成员函数释放。
安全说明 |
---|
在创建 CMutex 对象之后,使用 GetLastError 确保mutex不存在。如果mutex意外存在时,它可能指示同名的欺诈性处理强占并可能打算恶意使用mutex。在这种情况下,建议的值安全程序关闭处理和继续,就象在创建对象的一个失败。 |
要求
Header: afxmt.h