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

定義

既に存在する場合は、指定した名前付きセマフォを開き操作が成功したかどうかを示す値を返します。Opens a specified named semaphore, if it already exists, and returns a value that indicates whether the operation succeeded.

オーバーロード

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

既に存在する場合は、指定した名前付きセマフォを開き操作が成功したかどうかを示す値を返します。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)

既に存在する場合は、必要なセキュリティ アクセスを使って指定した名前付きセマフォを開き、操作が成功したかどうかを示す値を返します。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)

既に存在する場合は、指定した名前付きセマフォを開き操作が成功したかどうかを示す値を返します。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

パラメーター

name
String String String String

開くシステム セマフォの名前。The name of the system semaphore to open.

result
Semaphore Semaphore Semaphore Semaphore

このメソッドから制御が戻るときに、呼び出しに成功した場合は名前付きセマフォを表す Semaphore オブジェクトが格納されます。呼び出しに失敗した場合は null が格納されます。When this method returns, contains a Semaphore object that represents the named semaphore if the call succeeded, or null if the call failed. このパラメーターは初期化前として処理されます。This parameter is treated as uninitialized.

戻り値

名前付きのセマフォが正常に開かれた場合は true。それ以外の場合は falsetrue if the named semaphore was opened successfully; otherwise, false.

例外

name が空の文字列です。name is an empty string.

または-or- name が 260 文字を超えています。name is longer than 260 characters.

Win32 エラーが発生しました。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. 既に存在しない場合にシステム セマフォを作成するには、いずれかを使用、Semaphoreコンス トラクターを持つ、nameパラメーター。To create the system semaphore when it does not already exist, use one of the Semaphore constructors that has a name parameter.

名前付きセマフォが存在するかどうかが不明な場合は、代わりにこのメソッドのオーバー ロードを使用して、OpenExisting(String)メソッド オーバー ロードで、セマフォが存在しない場合は、例外をスローします。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.

このメソッドのオーバー ロードの呼び出しと同じですが、TryOpenExistingメソッドのオーバー ロードを指定してSemaphoreRights.SynchronizeSemaphoreRights.Modify権限、ビットごとの OR 演算を使用して結合します。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. 指定する、SemaphoreRights.Synchronizeフラグによって、セマフォに入るためのスレッドを指定して、SemaphoreRights.Modifyフラグによって、スレッドを呼び出す、Releaseメソッド。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)

既に存在する場合は、必要なセキュリティ アクセスを使って指定した名前付きセマフォを開き、操作が成功したかどうかを示す値を返します。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

パラメーター

name
String String String String

開くシステム セマフォの名前。The name of the system semaphore to open.

rights
SemaphoreRights SemaphoreRights SemaphoreRights SemaphoreRights

必要なセキュリティ アクセス権を表す列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that represent the desired security access.

result
Semaphore Semaphore Semaphore Semaphore

このメソッドから制御が戻るときに、呼び出しに成功した場合は名前付きセマフォを表す Semaphore オブジェクトが格納されます。呼び出しに失敗した場合は null が格納されます。When this method returns, contains a Semaphore object that represents the named semaphore if the call succeeded, or null if the call failed. このパラメーターは初期化前として処理されます。This parameter is treated as uninitialized.

戻り値

名前付きのセマフォが正常に開かれた場合は true。それ以外の場合は falsetrue if the named semaphore was opened successfully; otherwise, false.

例外

name が空の文字列です。name is an empty string.

または-or- name が 260 文字を超えています。name is longer than 260 characters.

Win32 エラーが発生しました。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. 既に存在しない場合にシステム セマフォを作成するには、いずれかを使用、Semaphoreコンス トラクターを持つ、nameパラメーター。To create the system semaphore when it does not already exist, use one of the Semaphore constructors that has a name parameter.

名前付きセマフォが存在するかどうかが不明な場合は、代わりにこのメソッドのオーバー ロードを使用して、OpenExisting(String, SemaphoreRights)メソッド オーバー ロードで、セマフォが存在しない場合は、例外をスローします。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.

rightsパラメーターを含める必要があります、 SemaphoreRights.Synchronize 、セマフォに入るためのスレッドを許可するフラグ、SemaphoreRights.Modifyを呼び出すスレッドを許可するフラグ、Releaseメソッド。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.

このメソッドに同じ値を使用する複数の呼び出しname必ずしも返さない同じSemaphore場合でも、表現が返されるオブジェクトと同じ名前付きシステム セマフォ オブジェクトします。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.

適用対象