Mutex.TryOpenExisting Methode

Definition

Öffnet einen bestimmten benannten Mutex, wenn er bereits vorhanden ist, und gibt einen Wert zurück, der angibt, ob der Vorgang erfolgreich war.Opens a specified named mutex, if it already exists, and returns a value that indicates whether the operation succeeded.

Überlädt

TryOpenExisting(String, Mutex)

Öffnet den bestimmten benannten Mutex, wenn er bereits vorhanden ist, und gibt einen Wert zurück, der angibt, ob der Vorgang erfolgreich war.Opens the specified named mutex, if it already exists, and returns a value that indicates whether the operation succeeded.

TryOpenExisting(String, MutexRights, Mutex)

Öffnet den angegebenen benannten Mutex, wenn er bereits mit dem gewünschten Sicherheitszugriff vorhanden ist und gibt einen Wert zurück, der angibt, ob der Vorgang erfolgreich war.Opens the specified named mutex, if it already exists, with the desired security access, and returns a value that indicates whether the operation succeeded.

TryOpenExisting(String, Mutex)

Öffnet den bestimmten benannten Mutex, wenn er bereits vorhanden ist, und gibt einen Wert zurück, der angibt, ob der Vorgang erfolgreich war.Opens the specified named mutex, if it already exists, and returns a value that indicates whether the operation succeeded.

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

Parameter

name
String

Der Name des zu öffnenden Systemmutex.The name of the system mutex to open.

result
Mutex

Enthält nach Beenden der Methode ein Mutex-Objekt, das das benannte Mutex darstellt, wenn der Aufruf erfolgreich ausgeführt wurde, oder null, wenn der Aufruf fehlgeschlagen ist.When this method returns, contains a Mutex object that represents the named mutex if the call succeeded, or null if the call failed. Dieser Parameter wird nicht initialisiert behandelt.This parameter is treated as uninitialized.

Gibt zurück

true, wenn der benannte Mutex erfolgreich geöffnet wurde; andernfalls false.true if the named mutex was opened successfully; otherwise, false.

Attribute

Ausnahmen

name ist eine leere Zeichenfolge.name is an empty string.

- oder --or- name ist länger als 260 Zeichen.name is longer than 260 characters.

name ist null.name is null.

Win32-Fehler.A Win32 error occurred.

Das benannte Mutex ist vorhanden, aber der Benutzer verfügt nicht über den Sicherheitszugriff, der für die Verwendung erforderlich ist.The named mutex exists, but the user does not have the security access required to use it.

Hinweise

Wenn der benannte Mutex nicht vorhanden ist, wird er von dieser Methode nicht erstellt.If the named mutex does not exist, this method does not create it. Um den Systemmutex zu erstellen, wenn er nicht bereits vorhanden ist, verwenden Sie Mutex einen der-Konstruktoren name mit einem-Parameter.To create the system mutex when it does not already exist, use one of the Mutex constructors that has a name parameter.

Wenn Sie unsicher sind, ob ein benannter Mutex vorhanden ist, verwenden Sie diese OpenExisting(String) Methoden Überladung anstelle der-Methoden Überladung, die eine Ausnahme auslöst, wenn der Mutex nicht vorhanden ist.If you are uncertain whether a named mutex exists, use this method overload instead of the OpenExisting(String) method overload, which throws an exception if the mutex does not exist.

Mehrere Aufrufe dieser Methode, die denselben Wert für name verwenden, geben nicht notwendigerweise dasselbe Mutex Objekt zurück, auch wenn die zurückgegebenen Objekte denselben benannten Systemmutex darstellen.Multiple calls to this method that use the same value for name do not necessarily return the same Mutex object, even though the objects that are returned represent the same named system mutex.

Diese Methoden Überladung entspricht dem Aufrufen der TryOpenExisting(String, MutexRights, Mutex) -Methoden Überladung MutexRights.Synchronize und MutexRights.Modify der Angabe von-und-rechten in Kombination mit der bitweisen OR-Operation.This method overload is equivalent to calling the TryOpenExisting(String, MutexRights, Mutex) method overload and specifying MutexRights.Synchronize and MutexRights.Modify rights, combined by using the bitwise OR operation. Wenn Sie MutexRights.Synchronize das Flag angeben, kann ein Thread auf den Mutex warten, und MutexRights.Modify die Angabe des Flags ermöglicht einem Thread ReleaseMutex , die Methode aufzurufen.Specifying the MutexRights.Synchronize flag allows a thread to wait on the mutex, and specifying the MutexRights.Modify flag allows a thread to call the ReleaseMutex method.

Diese Methode fordert den Besitz des Mutex nicht an.This method does not request ownership of the mutex.

Sicherheit

SecurityCriticalAttribute
Erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

TryOpenExisting(String, MutexRights, Mutex)

Öffnet den angegebenen benannten Mutex, wenn er bereits mit dem gewünschten Sicherheitszugriff vorhanden ist und gibt einen Wert zurück, der angibt, ob der Vorgang erfolgreich war.Opens the specified named mutex, if it already exists, with the desired security access, and returns a value that indicates whether the operation succeeded.

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

Parameter

name
String

Der Name des zu öffnenden Systemmutex.The name of the system mutex to open.

rights
MutexRights

Eine bitweise Kombination von Enumerationswerten, die die gewünschten Sicherheitszugriffsrechte darstellen.A bitwise combination of the enumeration values that represent the desired security access.

result
Mutex

Enthält nach Beenden der Methode ein Mutex-Objekt, das das benannte Mutex darstellt, wenn der Aufruf erfolgreich ausgeführt wurde, oder null, wenn der Aufruf fehlgeschlagen ist.When this method returns, contains a Mutex object that represents the named mutex if the call succeeded, or null if the call failed. Dieser Parameter wird nicht initialisiert behandelt.This parameter is treated as uninitialized.

Gibt zurück

true, wenn der benannte Mutex erfolgreich geöffnet wurde; andernfalls false.true if the named mutex was opened successfully; otherwise, false.

Attribute

Ausnahmen

name ist eine leere Zeichenfolge.name is an empty string.

- oder --or- name ist länger als 260 Zeichen.name is longer than 260 characters.

name ist null.name is null.

Win32-Fehler.A Win32 error occurred.

Das benannte Mutex ist vorhanden, aber der Benutzer verfügt nicht über den Sicherheitszugriff, der für die Verwendung erforderlich ist.The named mutex exists, but the user does not have the security access required to use it.

Hinweise

Wenn der benannte Mutex nicht vorhanden ist, wird er von dieser Methode nicht erstellt.If the named mutex does not exist, this method does not create it. Um den Systemmutex zu erstellen, wenn er nicht bereits vorhanden ist, verwenden Sie Mutex einen der-Konstruktoren name mit einem-Parameter.To create the system mutex when it does not already exist, use one of the Mutex constructors that has a name parameter.

Wenn Sie unsicher sind, ob ein benannter Mutex vorhanden ist, verwenden Sie diese OpenExisting(String, MutexRights) Methoden Überladung anstelle der-Methoden Überladung, die eine Ausnahme auslöst, wenn der Mutex nicht vorhanden ist.If you are uncertain whether a named mutex exists, use this method overload instead of the OpenExisting(String, MutexRights) method overload, which throws an exception if the mutex does not exist.

Der rights -Parameter muss das MutexRights.Synchronize -Flag enthalten, damit Threads auf den Mutex warten können, MutexRights.Modify und das-Flag, mit dem ReleaseMutex Threads die-Methode aufrufen können.The rights parameter must include the MutexRights.Synchronize flag to allow threads to wait on the mutex, and the MutexRights.Modify flag to allow threads to call the ReleaseMutex method.

Mehrere Aufrufe dieser Methode, die denselben Wert für name verwenden, geben nicht notwendigerweise dasselbe Mutex Objekt zurück, auch wenn die zurückgegebenen Objekte denselben benannten Systemmutex darstellen.Multiple calls to this method that use the same value for name do not necessarily return the same Mutex object, even though the objects that are returned represent the same named system mutex.

Diese Methode fordert den Besitz des Mutex nicht an.This method does not request ownership of the mutex.

Sicherheit

SecurityCriticalAttribute
Erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

Gilt für: