語言

MutexAcl.Create(Boolean, String, Boolean, MutexSecurity) 方法

定義

取得或建立 Mutex 實例,允許在互斥建立時選擇性地指定 a MutexSecurity 來設定。

public:
 static System::Threading::Mutex ^ Create(bool initiallyOwned, System::String ^ name, [Runtime::InteropServices::Out] bool % createdNew, System::Security::AccessControl::MutexSecurity ^ mutexSecurity);
public static System.Threading.Mutex Create(bool initiallyOwned, string? name, out bool createdNew, System.Security.AccessControl.MutexSecurity? mutexSecurity);
static member Create : bool * string * bool * System.Security.AccessControl.MutexSecurity -> System.Threading.Mutex
Public Shared Function Create (initiallyOwned As Boolean, name As String, ByRef createdNew As Boolean, mutexSecurity As MutexSecurity) As Mutex

參數

initiallyOwned
Boolean

true若命名系統互斥器是因呼叫而產生,則賦予呼叫執行緒對該系統互斥機構的初始擁有權;否則,。 false

name
String

若同步物件要與其他程序共享,則使用名稱;否則, null 或空字串。 名稱是區分大小寫的。 反斜線字元(\)是保留的,只能用來指定命名空間。 欲了解更多命名空間資訊,請參閱備註區。 根據作業系統不同,名稱可能有進一步限制。 例如,在基於 Unix 的作業系統中,排除命名空間後的名稱必須是有效的檔名。

createdNew
Boolean

當此方法回傳時,若建立了局部互斥體,該參數總是設為 true ;也就是說,當 name 是 或 nullEmpty時。 若 name 有有效的非空值,則此參數設為true系統互斥器建立時,或若找到該名稱的系統互斥器,則設為。false 這個參數會未初始化傳遞。

mutexSecurity
MutexSecurity

可選的互斥存取控制安全措施。

傳回

一個表示系統互斥體(若有名稱)或局部互斥(若無名)的物件。

例外狀況

僅限 Framework .NET:name 超過 MAX_PATH(260 個字元)。

name 無效。 這可能有各種原因,包括作業系統可能施加的一些限制,例如未知的前綴或無效字元。 請注意,名稱及常見前綴「Global\」與「Local\」皆為大小寫區分。

-或-

還有其他錯誤。 HResult該物業可能會提供更多資訊。

Windows 僅有:name 指定了一個未知命名空間。 更多資訊請參閱 物件名稱 。

name太長了。 長度限制可能依作業系統或設定而異。

無法建立與所提供的 name 同步物件。 不同類型的同步物件可能名稱相同。

備註

可以name以 或 Global\ 作為前綴Local\,以指定命名空間。 當 Global 命名空間被指定時,同步物件可以與系統上的任何程序共享。 當 Local 指定命名空間時(這也是未指定命名空間時的預設),同步物件可能會與同一會話中的程序共享。 在 Windows 上,會話是登入會話,服務通常在不同的非互動會話中執行。 在類 Unix 作業系統中,每個 shell 都有自己的會話。 會話本地同步物件可能適合在具有父/子關係且所有程序都在同一會話中執行的程序間同步。 欲了解更多關於Windows同步物件名稱的資訊,請參見 Object Names。

如果提供 a name ,且該命名空間中已有該請求類型的同步物件,則會開啟該現有的同步物件。 如果命名空間中已有不同類型的同步物件,則會拋出 a WaitHandleCannotBeOpenedException 。 否則,會建立一個新的同步物件。

注意事項

預設情況下,命名的互斥機構不會限制於建立它的使用者。 其他使用者可能能夠開啟並使用互斥體,包括透過進入互斥體而不退出來干擾該互斥體。 要限制特定使用者的存取,可以在建立命名的 mutex 時傳遞 a MutexSecurity 。 避免在可能有不受信任使用者執行程式碼的系統中使用無存取限制的命名互斥節。

適用於