語言

EventWaitHandle.TryOpenExisting 方法

定義

若已存在,開啟指定的同步事件,並回傳一個表示操作是否成功的值。

多載

名稱 Description
TryOpenExisting(String, EventWaitHandle)

若已存在,開啟指定的命名同步事件,並回傳一個表示操作是否成功的值。

TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle)

若已存在指定命名的同步事件,則以所需的安全存取開啟該事件,並回傳一個表示操作是否成功的值。

TryOpenExisting(String, NamedWaitHandleOptions, EventWaitHandle)

若已存在,開啟指定的命名同步事件,並回傳一個表示操作是否成功的值。 若選項僅設定為目前使用者,物件的存取控制會被驗證為呼叫使用者。

TryOpenExisting(String, EventWaitHandle)

來源:
EventWaitHandle.cs
來源:
EventWaitHandle.cs
來源:
EventWaitHandle.cs
來源:
EventWaitHandle.cs
來源:
EventWaitHandle.cs

若已存在,開啟指定的命名同步事件,並回傳一個表示操作是否成功的值。

public:
 static bool TryOpenExisting(System::String ^ name, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Security.SecurityCritical]
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle result);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle? result);
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle result);
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle? result);
[<System.Security.SecurityCritical>]
static member TryOpenExisting : string * EventWaitHandle -> bool
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member TryOpenExisting : string * EventWaitHandle -> bool
static member TryOpenExisting : string * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, ByRef result As EventWaitHandle) As Boolean

參數

name
String

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

result
EventWaitHandle

當此方法回傳時,包含 EventWaitHandle 一個物件,代表呼叫成功 null 或失敗時的命名同步事件。 此參數被視為未初始化。

傳回

true如果成功開啟命名的同步事件;否則,。 false 在某些情況下, false 可能會因姓名無效而被退回。

屬性

例外狀況

name 是空字串。

-或-

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

name 是 null。

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

-或-

還有其他錯誤。 房產 HResult 可能會提供更多資訊。

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

已命名事件存在,但使用者沒有所需的安全存取權限。

備註

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

如果命名空間中存在該請求類型的同步物件,則會開啟該現有的同步物件。 若命名空間中不存在同步物件,或命名空間中存在不同類型的同步物件, false 則會回傳。

若要在系統事件尚未存在時建立該事件,請使用 EventWaitHandle 具有 name 參數的建構子之一。

如果你不確定是否存在命名的同步事件,請使用此方法過載取代 OpenExisting(String) 方法過載,後者會在同步事件不存在時拋出例外。

此方法過載等同於呼叫 TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle) 方法過載並指定 EventWaitHandleRights.Synchronize 和 EventWaitHandleRights.Modify 權利,並結合位元順序 OR 操作。 指定 EventWaitHandleRights.Synchronize 標誌允許執行緒等待指定的系統事件,指定 EventWaitHandleRights.Modify 標誌則允許執行緒呼叫 Set and Reset 方法。

多個使用相同值 name 的呼叫不一定回傳相同的 EventWaitHandle 物件,即使回傳的物件代表相同的命名系統事件。

適用於

TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle)

若已存在指定命名的同步事件,則以所需的安全存取開啟該事件,並回傳一個表示操作是否成功的值。

public:
 static bool TryOpenExisting(System::String ^ name, System::Security::AccessControl::EventWaitHandleRights rights, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Security.SecurityCritical]
public static bool TryOpenExisting(string name, System.Security.AccessControl.EventWaitHandleRights rights, out System.Threading.EventWaitHandle result);
[<System.Security.SecurityCritical>]
static member TryOpenExisting : string * System.Security.AccessControl.EventWaitHandleRights * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, rights As EventWaitHandleRights, ByRef result As EventWaitHandle) As Boolean

參數

name
String

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

rights
EventWaitHandleRights

代表所需安全存取的列舉值的位元組合。

result
EventWaitHandle

當此方法回傳時,包含 EventWaitHandle 一個物件,代表呼叫成功 null 或失敗時的命名同步事件。 此參數被視為未初始化。

傳回

true如果成功開啟命名的同步事件;否則,。 false 在某些情況下, false 可能會因姓名無效而被退回。

屬性

例外狀況

name 是空字串。

-或-

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

name 是 null。

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

-或-

還有其他錯誤。 房產 HResult 可能會提供更多資訊。

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

已命名事件存在,但使用者沒有所需的安全存取權限。

備註

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

如果命名空間中存在該請求類型的同步物件,則會開啟該現有的同步物件。 若命名空間中不存在同步物件,或命名空間中存在不同類型的同步物件, false 則會回傳。

若要在系統事件尚未存在時建立該事件,請使用 EventWaitHandle 具有 name 參數的建構子之一。

如果你不確定是否存在命名的同步事件,請使用此方法過載取代 OpenExisting(String, EventWaitHandleRights) 方法過載,後者會在同步事件不存在時拋出例外。

rights參數必須包含EventWaitHandleRights.Synchronize允許執行緒等待事件的旗標,以及EventWaitHandleRights.Modify允許執行緒呼叫 Set and Reset 方法的旗標。

多個使用相同值 name 的呼叫不一定回傳相同的 EventWaitHandle 物件,即使回傳的物件代表相同的命名系統事件。

適用於

TryOpenExisting(String, NamedWaitHandleOptions, EventWaitHandle)

來源:
EventWaitHandle.cs
來源:
EventWaitHandle.cs

若已存在,開啟指定的命名同步事件,並回傳一個表示操作是否成功的值。 若選項僅設定為目前使用者,物件的存取控制會被驗證為呼叫使用者。

public:
 static bool TryOpenExisting(System::String ^ name, System::Threading::NamedWaitHandleOptions options, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static bool TryOpenExisting(string name, System.Threading.NamedWaitHandleOptions options, out System.Threading.EventWaitHandle? result);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member TryOpenExisting : string * System.Threading.NamedWaitHandleOptions * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, options As NamedWaitHandleOptions, ByRef result As EventWaitHandle) As Boolean

參數

name
String

同步物件名稱,將被開啟並與其他程序共享。 名稱是區分大小寫的。

options
NamedWaitHandleOptions

命名帳號的範圍選項。 預設權限僅限於目前使用者和當前會話。 指定的選項可能會影響名稱的命名空間以及底層句柄物件的存取。

result
EventWaitHandle

當此方法回傳時,包含 EventWaitHandle 一個物件,代表呼叫成功 null 或失敗時的命名同步事件。 此參數被視為未初始化。

傳回

true如果成功開啟命名的同步事件;否則,。 false 在某些情況下, false 可能會因姓名無效而被退回。

屬性

例外狀況

name 是空字串。

name 是 null。

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

-或-

還有其他錯誤。 房產 HResult 可能會提供更多資訊。

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

已命名事件存在,但使用者沒有所需的安全存取權限。

備註

如果命名空間中存在該請求類型的同步物件,則會開啟該現有的同步物件。 然而,若 options 指定僅限於目前使用者存取且同步物件不相容,則 false 會回傳。 如果命名空間中不存在同步物件,或命名空間中存在不同類型的同步物件, false 也會回傳。

若要在系統事件尚未存在時建立該事件,請使用 EventWaitHandle 具有 name 參數的建構子之一。

如果你不確定是否存在命名的同步事件,請使用此方法過載取代 OpenExisting(String) 方法過載,後者會在同步事件不存在時拋出例外。

多個使用相同值 name 的呼叫不一定回傳相同的 EventWaitHandle 物件,即使回傳的物件代表相同的命名系統事件。

適用於