Semaphore.TryOpenExisting Semaphore.TryOpenExisting Semaphore.TryOpenExisting Semaphore.TryOpenExisting Method

Definizione

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

Overload

TryOpenExisting(String, Semaphore) TryOpenExisting(String, Semaphore) TryOpenExisting(String, Semaphore) TryOpenExisting(String, Semaphore)

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

TryOpenExisting(String, SemaphoreRights, Semaphore) TryOpenExisting(String, SemaphoreRights, Semaphore) TryOpenExisting(String, SemaphoreRights, Semaphore) TryOpenExisting(String, SemaphoreRights, Semaphore)

Apre il semaforo denominato specificato, se esistente, con l'accesso di sicurezza desiderato, e restituisce un valore che indica se l'operazione è riuscita.Opens the specified named semaphore, if it already exists, with the desired security access, and returns a value that indicates whether the operation succeeded.

TryOpenExisting(String, Semaphore) TryOpenExisting(String, Semaphore) TryOpenExisting(String, Semaphore) TryOpenExisting(String, Semaphore)

Apre il semaforo denominato specificato, se esistente, e restituisce un valore che indica se l'operazione è riuscita.Opens the specified named semaphore, 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::Semaphore ^ % result);
public static bool TryOpenExisting (string name, out System.Threading.Semaphore result);
static member TryOpenExisting : string *  -> bool
Public Shared Function TryOpenExisting (name As String, ByRef result As Semaphore) As Boolean

Parametri

name
String String String String

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

result
Semaphore Semaphore Semaphore Semaphore

Quando viene eseguita la restituzione del metodo, quest'ultimo contiene un oggetto Semaphore che rappresenta il semaforo denominato se la chiamata è riuscita o null se la chiamata non è riuscita.When this method returns, contains a Semaphore object that represents the named semaphore 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 l'apertura del semaforo denominato è riuscita; in caso contrario, false.true if the named semaphore was opened successfully; otherwise, false.

Eccezioni

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

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

Errore Win32.A Win32 error occurred.

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

Commenti

Se il semaforo denominato non esiste, questo metodo non crearla.If the named semaphore does not exist, this method does not create it. Per creare il semaforo di sistema quando non esiste già, usare uno dei Semaphore costruttori che dispone di un name parametro.To create the system semaphore when it does not already exist, use one of the Semaphore constructors that has a name parameter.

Se non si è certi se un semaforo denominato esiste, utilizzare questo overload del metodo anziché il OpenExisting(String) overload del metodo che genera un'eccezione se il semaforo denominato non esiste.If you are uncertain whether a named semaphore exists, use this method overload instead of the OpenExisting(String) method overload, which throws an exception if the semaphore does not exist.

Questo overload del metodo è equivalente alla chiamata di TryOpenExisting overload del metodo e specificando SemaphoreRights.Synchronize e SemaphoreRights.Modify diritti, combinati tramite l'operazione OR bit per bit.This method overload is equivalent to calling the TryOpenExisting method overload and specifying SemaphoreRights.Synchronize and SemaphoreRights.Modify rights, combined by using the bitwise OR operation. Specificando il SemaphoreRights.Synchronize flag consente di entrare nel semaforo, un thread e specificando le SemaphoreRights.Modify flag consente a un thread chiamare il Release (metodo).Specifying the SemaphoreRights.Synchronize flag allows a thread to enter the semaphore, and specifying the SemaphoreRights.Modify flag allows a thread to call the Release method.

TryOpenExisting(String, SemaphoreRights, Semaphore) TryOpenExisting(String, SemaphoreRights, Semaphore) TryOpenExisting(String, SemaphoreRights, Semaphore) TryOpenExisting(String, SemaphoreRights, Semaphore)

Apre il semaforo denominato specificato, se esistente, con l'accesso di sicurezza desiderato, e restituisce un valore che indica se l'operazione è riuscita.Opens the specified named semaphore, 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::SemaphoreRights rights, [Runtime::InteropServices::Out] System::Threading::Semaphore ^ % result);
public static bool TryOpenExisting (string name, System.Security.AccessControl.SemaphoreRights rights, out System.Threading.Semaphore result);
static member TryOpenExisting : string * System.Security.AccessControl.SemaphoreRights *  -> bool
Public Shared Function TryOpenExisting (name As String, rights As SemaphoreRights, ByRef result As Semaphore) As Boolean

Parametri

name
String String String String

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

rights
SemaphoreRights SemaphoreRights SemaphoreRights SemaphoreRights

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
Semaphore Semaphore Semaphore Semaphore

Quando viene eseguita la restituzione del metodo, quest'ultimo contiene un oggetto Semaphore che rappresenta il semaforo denominato se la chiamata è riuscita o null se la chiamata non è riuscita.When this method returns, contains a Semaphore object that represents the named semaphore 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 l'apertura del semaforo denominato è riuscita; in caso contrario, false.true if the named semaphore was opened successfully; otherwise, false.

Eccezioni

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

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

Errore Win32.A Win32 error occurred.

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

Commenti

Se il semaforo denominato non esiste, questo metodo non crearla.If the named semaphore does not exist, this method does not create it. Per creare il semaforo di sistema quando non esiste già, usare uno dei Semaphore costruttori che dispone di un name parametro.To create the system semaphore when it does not already exist, use one of the Semaphore constructors that has a name parameter.

Se non si è certi se un semaforo denominato esiste, utilizzare questo overload del metodo anziché il OpenExisting(String, SemaphoreRights) overload del metodo che genera un'eccezione se il semaforo denominato non esiste.If you are uncertain whether a named semaphore exists, use this method overload instead of the OpenExisting(String, SemaphoreRights) method overload, which throws an exception if the semaphore does not exist.

Il rights parametro deve includere il SemaphoreRights.Synchronize flag per consentire ai thread di accedere al semaforo e il SemaphoreRights.Modify flag per consentire ai thread chiamare il Release (metodo).The rights parameter must include the SemaphoreRights.Synchronize flag to allow threads to enter the semaphore, and the SemaphoreRights.Modify flag to allow threads to call the Release method.

Più chiamate al metodo che usano lo stesso valore per name non necessariamente restituiscono lo stesso Semaphore dell'oggetto, anche se gli oggetti restituiti rappresentano lo stesso semaforo di sistema denominato.Multiple calls to this method that use the same value for name do not necessarily return the same Semaphore object, even though the objects that are returned represent the same named system semaphore.

Si applica a