Mutex.TryOpenExisting Metodo

Definizione

Apre un mutex denominato specificato, se esistente, e restituisce un valore che indica se l'operazione è stata completata.Opens a specified named mutex, if it already exists, and returns a value that indicates whether the operation succeeded.

Overload

TryOpenExisting(String, Mutex)

Apre il mutex denominato specificato, se esistente, e restituisce un valore che indica se l'operazione è stata completata.Opens the specified named mutex, if it already exists, and returns a value that indicates whether the operation succeeded.

TryOpenExisting(String, MutexRights, Mutex)

Apre il mutex denominato specificato, se esistente, con l'accesso di sicurezza desiderato, e restituisce un valore che indica se l'operazione è stata completata.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)

Apre il mutex denominato specificato, se esistente, e restituisce un valore che indica se l'operazione è stata completata.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

Parametri

name
String

Nome del mutex di sistema da aprire.The name of the system mutex to open.

result
Mutex

Quando questo metodo viene restituito, contiene un oggetto di Mutex che rappresenta il mutex denominato se la chiamata ha esito positivo o null se la chiamata ha esito negativo.When this method returns, contains a Mutex object that represents the named mutex if the call succeeded, or null if the call failed. Questo parametro viene trattato come non inizializzato.This parameter is treated as uninitialized.

Restituisce

true se il mutex denominato è stato aperto correttamente; in caso contrario, false.true if the named mutex was opened successfully; otherwise, false.

Attributi

Eccezioni

Il parametro name è una stringa vuota.name is an empty string.

-oppure--or- La lunghezza di name supera i 260 caratteri.name is longer than 260 characters.

name è null.name is null.

Errore Win32.A Win32 error occurred.

Il mutex denominato esiste, ma l'utente non dispone dell'accesso di sicurezza necessario per usarlo.The named mutex exists, but the user does not have the security access required to use it.

Commenti

Se il mutex denominato non esiste, questo metodo non lo crea.If the named mutex does not exist, this method does not create it. Per creare il mutex di sistema se non esiste già, usare uno dei Mutex costruttori con un name parametro.To create the system mutex when it does not already exist, use one of the Mutex constructors that has a name parameter.

Se non si è certi che esista un mutex denominato, utilizzare questo overload del metodo anziché l' OpenExisting(String) overload del metodo, che genera un'eccezione se il mutex non esiste.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.

Più chiamate a questo metodo che usano lo stesso valore per name non restituiscono necessariamente lo stesso Mutex oggetto, anche se gli oggetti restituiti rappresentano lo stesso mutex di sistema denominato.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.

Questo overload del metodo equivale a chiamare l' TryOpenExisting(String, MutexRights, Mutex) overload del metodo e MutexRights.Synchronize a MutexRights.Modify specificare i diritti e, combinati usando l'operazione OR bit per bit.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. La specifica MutexRights.Synchronize del flag consente a un thread di attendere il mutex e specificare il MutexRights.Modify flag consente a un thread di chiamare ReleaseMutex il metodo.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.

Questo metodo non richiede la proprietà del mutex.This method does not request ownership of the mutex.

Sicurezza

SecurityCriticalAttribute
richiede l'attendibilità totale per il chiamante immediato.requires full trust for the immediate caller. Questo membro non può essere utilizzato da codice parzialmente attendibile o trasparente.This member cannot be used by partially trusted or transparent code.

TryOpenExisting(String, MutexRights, Mutex)

Apre il mutex denominato specificato, se esistente, con l'accesso di sicurezza desiderato, e restituisce un valore che indica se l'operazione è stata completata.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

Parametri

name
String

Nome del mutex di sistema da aprire.The name of the system mutex to open.

rights
MutexRights

Combinazione bit per bit dei valori di enumerazione che rappresentano l'accesso di sicurezza desiderato.A bitwise combination of the enumeration values that represent the desired security access.

result
Mutex

Quando questo metodo viene restituito, contiene un oggetto di Mutex che rappresenta il mutex denominato se la chiamata ha esito positivo o null se la chiamata ha esito negativo.When this method returns, contains a Mutex object that represents the named mutex if the call succeeded, or null if the call failed. Questo parametro viene trattato come non inizializzato.This parameter is treated as uninitialized.

Restituisce

true se il mutex denominato è stato aperto correttamente; in caso contrario, false.true if the named mutex was opened successfully; otherwise, false.

Attributi

Eccezioni

Il parametro name è una stringa vuota.name is an empty string.

-oppure--or- La lunghezza di name supera i 260 caratteri.name is longer than 260 characters.

name è null.name is null.

Errore Win32.A Win32 error occurred.

Il mutex denominato esiste, ma l'utente non dispone dell'accesso di sicurezza necessario per usarlo.The named mutex exists, but the user does not have the security access required to use it.

Commenti

Se il mutex denominato non esiste, questo metodo non lo crea.If the named mutex does not exist, this method does not create it. Per creare il mutex di sistema se non esiste già, usare uno dei Mutex costruttori con un name parametro.To create the system mutex when it does not already exist, use one of the Mutex constructors that has a name parameter.

Se non si è certi che esista un mutex denominato, utilizzare questo overload del metodo anziché l' OpenExisting(String, MutexRights) overload del metodo, che genera un'eccezione se il mutex non esiste.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.

Il rights parametro deve includere il MutexRights.Synchronize flag per consentire ai thread di attendere sul mutex e il MutexRights.Modify flag per consentire ai thread di chiamare il ReleaseMutex metodo.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.

Più chiamate a questo metodo che usano lo stesso valore per name non restituiscono necessariamente lo stesso Mutex oggetto, anche se gli oggetti restituiti rappresentano lo stesso mutex di sistema denominato.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.

Questo metodo non richiede la proprietà del mutex.This method does not request ownership of the mutex.

Sicurezza

SecurityCriticalAttribute
richiede l'attendibilità totale per il chiamante immediato.requires full trust for the immediate caller. Questo membro non può essere utilizzato da codice parzialmente attendibile o trasparente.This member cannot be used by partially trusted or transparent code.

Si applica a