Export (0) Print
Expand All

Semaphore.TryOpenExisting Method (String, Semaphore)

.NET Framework 4.5

Opens the specified named semaphore, if it already exists, and returns a value that indicates whether the operation succeeded.

Namespace:  System.Threading
Assembly:  System (in System.dll)

[<SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)>]
static member TryOpenExisting : 
        name:string * 
        result:Semaphore byref -> bool


Type: System.String

The name of the system semaphore to open.

Type: System.Threading.Semaphore

When this method returns, contains a Semaphore object that represents the named semaphore if the call succeeded, or a null reference (Nothing in Visual Basic) if the call failed. This parameter is treated as uninitialized.

Return Value

Type: System.Boolean
true if the named semaphore was opened successfully; otherwise, false.


name is an empty string.


name is longer than 260 characters.


name is a null reference (Nothing in Visual Basic).


A Win32 error occurred.


The named semaphore exists, but the user does not have the security access required to use it.

If the named semaphore does not exist, this method does not create it. To create the system semaphore when it does not already exist, use one of the Semaphore constructors that has a name parameter.

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.

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

.NET Framework

Supported in: 4.5

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

© 2014 Microsoft