EventWaitHandle.TryOpenExisting 메서드

정의

지정된 명명된 synchronization 이벤트(이미 존재하는 경우)를 열고 작업이 성공적으로 수행되었는지를 나타내는 값을 반환합니다.Opens a specified named synchronization event, if it already exists, and returns a value that indicates whether the operation succeeded.

오버로드

TryOpenExisting(String, EventWaitHandle)

지정한 명명된 동기화 이벤트(이미 존재하는 경우)를 열고 작업이 성공했는지를 나타내는 값을 반환합니다.Opens the specified named synchronization event, if it already exists, and returns a value that indicates whether the operation succeeded.

TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle)

지정한 명명된 동기화 이벤트(이미 존재하는 경우)를 원하는 보안 액세스로 열고 작업이 성공적으로 수행되었는지 여부를 나타내는 값을 반환합니다.Opens the specified named synchronization event, if it already exists, with the desired security access, and returns a value that indicates whether the operation succeeded.

TryOpenExisting(String, EventWaitHandle)

지정한 명명된 동기화 이벤트(이미 존재하는 경우)를 열고 작업이 성공했는지를 나타내는 값을 반환합니다.Opens the specified named synchronization event, 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::EventWaitHandle ^ % result);
[System.Security.SecurityCritical]
public static bool TryOpenExisting (string name, out System.Threading.EventWaitHandle result);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static bool TryOpenExisting (string name, out System.Threading.EventWaitHandle? result);
public static bool TryOpenExisting (string name, out System.Threading.EventWaitHandle result);
public static bool TryOpenExisting (string name, out System.Threading.EventWaitHandle? result);
[<System.Security.SecurityCritical>]
static member TryOpenExisting : string * EventWaitHandle -> bool
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member TryOpenExisting : string * EventWaitHandle -> bool
static member TryOpenExisting : string * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, ByRef result As EventWaitHandle) As Boolean

매개 변수

name
String

열고 다른 프로세스와 공유할 동기화 개체의 이름입니다.The name of the synchronization object to be opened and shared with other processes. 이름은 대/소문자를 구분합니다.The name is case-sensitive.

result
EventWaitHandle

이 메서드가 반환될 때 호출에 성공한 경우에는 명명된 동기화 이벤트를 나타내는 EventWaitHandle 개체를 포함하고 호출에 실패한 경우에는 null을 포함합니다.When this method returns, contains a EventWaitHandle object that represents the named synchronization event if the call succeeded, or null if the call failed. 이 매개 변수는 초기화되지 않은 것으로 처리됩니다.This parameter is treated as uninitialized.

반환

Boolean

명명된 동기화 이벤트를 열었으면 true이고, 열지 않았으면 false입니다.true if the named synchronization event was opened successfully; otherwise, false. false는 올바르지 않은 이름 때문에 반환되기도 합니다.In some cases, false may be returned for invalid names.

특성

예외

name이 빈 문자열인 경우name is an empty string.

-또는--or-

.NET Framework에만 해당: name이 MAX_PATH(260자)보다 깁니다..NET Framework only: name is longer than MAX_PATH (260 characters).

name이(가) null인 경우.name is null.

name이 잘못되었습니다.name is invalid. 이유는 다양하며, 대표적인 이유는 운영 체제가 적용하는 일부 제한(예: 알 수 없는 접두사나 잘못된 문자)입니다.This can be for various reasons, including some restrictions that may be placed by the operating system, such as an unknown prefix or invalid characters. 이름과 일반 접두사인 "Global" 및 "Local"은 대/소문자를 구분합니다.Note that the name and common prefixes "Global" and "Local" are case-sensitive. 일부 잘못된 이름에 대해 메서드에서는 false를 반환합니다.For some invalid names, the method may return false instead.

-또는--or-

다른 오류가 발생했습니다.There was some other error. HResult 속성에서 자세한 정보를 확인할 수 있습니다.The HResult property may provide more information.

name이 너무 깁니다.The name is too long. 길이 제한은 운영 체제나 구성에 따라 달라집니다.Length restrictions may depend on the operating system or configuration.

명명된 이벤트가 존재하지만 사용자에게 필요한 보안 액세스 권한이 없는 경우The named event exists, but the user does not have the desired security access.

설명

에는 name Global\ Local\ 네임 스페이스를 지정 하기 위해 또는 접두사가 추가 될 수 있습니다.The name may be prefixed with Global\ or Local\ to specify a namespace. Global네임 스페이스를 지정 하는 경우 동기화 개체를 시스템의 모든 프로세스와 공유할 수 있습니다.When the Global namespace is specified, the synchronization object may be shared with any processes on the system. 네임 스페이스를 Local 지정 하지 않은 경우에도 기본 네임 스페이스를 지정 하면 동기화 개체가 동일한 세션의 프로세스와 공유 될 수 있습니다.When the Local namespace is specified, which is also the default when no namespace is specified, the synchronization object may be shared with processes in the same session. Windows에서 세션은 로그인 세션 이며 서비스는 일반적으로 다른 비 대화형 세션에서 실행 됩니다.On Windows, a session is a login session, and services typically run in a different non-interactive session. Unix와 비슷한 운영 체제에서 각 셸에는 자체 세션이 있습니다.On Unix-like operating systems, each shell has its own session. 세션 로컬 동기화 개체는 모두 동일한 세션에서 실행 되는 부모/자식 관계를 사용 하 여 프로세스 간 동기화에 적합할 수 있습니다.Session-local synchronization objects may be appropriate for synchronizing between processes with a parent/child relationship where they all run in the same session. Windows의 synchornization 개체 이름에 대 한 자세한 내용은 개체 이름을 참조 하세요.For more information about synchornization object names on Windows, see Object Names.

요청 된 형식의 동기화 개체가 네임 스페이스에 있는 경우 기존 동기화 개체가 열립니다.If a synchronization object of the requested type exists in the namespace, the existing synchronization object is opened. 네임 스페이스에 동기화 개체가 없거나 네임 스페이스에 다른 형식의 동기화 개체가 있는 경우 false 이 반환 됩니다.If a synchronization object does not exist in the namespace, or a synchronization object of a different type exists in the namespace, false is returned.

아직 존재 하지 않는 시스템 이벤트를 만들려면 매개 변수가 있는 생성자 중 하나를 사용 EventWaitHandle name 합니다.To create the system event when it does not already exist, use one of the EventWaitHandle constructors that has a name parameter.

명명 된 동기화 이벤트가 있는지 여부를 확실 하 게 알 수 없는 경우, OpenExisting(String) 동기화 이벤트가 없는 경우 예외를 throw 하는 메서드 오버 로드 대신이 메서드 오버 로드를 사용 합니다.If you are uncertain whether a named synchronization event exists, use this method overload instead of the OpenExisting(String) method overload, which throws an exception if the synchronization event does not exist.

이 메서드 오버 로드는 TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle) EventWaitHandleRights.Synchronize EventWaitHandleRights.Modify 비트 or 연산을 사용 하 여 결합 된 메서드 오버 로드를 호출 하 고 및 권한을 지정 하는 것과 같습니다.This method overload is equivalent to calling the TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle) method overload and specifying EventWaitHandleRights.Synchronize and EventWaitHandleRights.Modify rights, combined by using the bitwise OR operation. 플래그를 지정 하면 EventWaitHandleRights.Synchronize 스레드가 명명 된 시스템 이벤트에서 대기 하 고 플래그를 지정 하 여 EventWaitHandleRights.Modify 스레드에서 및 메서드를 호출할 수 Set 있습니다 Reset .Specifying the EventWaitHandleRights.Synchronize flag allows a thread to wait on the named system event, and specifying the EventWaitHandleRights.Modify flag allows a thread to call the Set and Reset methods.

에 동일한 값을 사용 하는이 메서드를 여러 번 호출 하면 name EventWaitHandle 반환 되는 개체가 동일한 명명 된 시스템 이벤트를 나타내는 경우에도 동일한 개체가 반환 되지 않습니다.Multiple calls to this method that use the same value for name do not necessarily return the same EventWaitHandle object, even though the objects that are returned represent the same named system event.

적용 대상

TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle)

지정한 명명된 동기화 이벤트(이미 존재하는 경우)를 원하는 보안 액세스로 열고 작업이 성공적으로 수행되었는지 여부를 나타내는 값을 반환합니다.Opens the specified named synchronization event, 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::EventWaitHandleRights rights, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Security.SecurityCritical]
public static bool TryOpenExisting (string name, System.Security.AccessControl.EventWaitHandleRights rights, out System.Threading.EventWaitHandle result);
[<System.Security.SecurityCritical>]
static member TryOpenExisting : string * System.Security.AccessControl.EventWaitHandleRights * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, rights As EventWaitHandleRights, ByRef result As EventWaitHandle) As Boolean

매개 변수

name
String

열려는 시스템 동기화 이벤트의 이름입니다.The name of the system synchronization event to open.

rights
EventWaitHandleRights

원하는 보안 액세스 권한을 나타내는 열거형 값의 비트 조합입니다.A bitwise combination of the enumeration values that represent the desired security access.

result
EventWaitHandle

이 메서드가 반환될 때 호출에 성공한 경우에는 명명된 동기화 이벤트를 나타내는 EventWaitHandle 개체를 포함하고 호출에 실패한 경우에는 null을 포함합니다.When this method returns, contains a EventWaitHandle object that represents the named synchronization event if the call succeeded, or null if the call failed. 이 매개 변수는 초기화되지 않은 것으로 처리됩니다.This parameter is treated as uninitialized.

반환

Boolean

명명된 동기화 이벤트를 열었으면 true이고, 열지 않았으면 false입니다.true if the named synchronization event was opened successfully; otherwise, false. false는 올바르지 않은 이름 때문에 반환되기도 합니다.In some cases, false may be returned for invalid names.

특성

예외

name이 빈 문자열인 경우name is an empty string.

-또는--or-

.NET Framework에만 해당: name이 MAX_PATH(260자)보다 깁니다..NET Framework only: name is longer than MAX_PATH (260 characters).

name이(가) null인 경우.name is null.

name이 잘못되었습니다.name is invalid. 이유는 다양하며, 대표적인 이유는 운영 체제가 적용하는 일부 제한(예: 알 수 없는 접두사나 잘못된 문자)입니다.This can be for various reasons, including some restrictions that may be placed by the operating system, such as an unknown prefix or invalid characters. 이름과 일반 접두사인 "Global" 및 "Local"은 대/소문자를 구분합니다.Note that the name and common prefixes "Global" and "Local" are case-sensitive. 일부 잘못된 이름에 대해 메서드에서는 false를 반환합니다.For some invalid names, the method may return false instead.

-또는--or-

다른 오류가 발생했습니다.There was some other error. HResult 속성에서 자세한 정보를 확인할 수 있습니다.The HResult property may provide more information.

name이 너무 깁니다.The name is too long. 길이 제한은 운영 체제나 구성에 따라 달라집니다.Length restrictions may depend on the operating system or configuration.

명명된 이벤트가 존재하지만 사용자에게 필요한 보안 액세스 권한이 없는 경우The named event exists, but the user does not have the desired security access.

설명

에는 name Global\ Local\ 네임 스페이스를 지정 하기 위해 또는 접두사가 추가 될 수 있습니다.The name may be prefixed with Global\ or Local\ to specify a namespace. Global네임 스페이스를 지정 하는 경우 동기화 개체를 시스템의 모든 프로세스와 공유할 수 있습니다.When the Global namespace is specified, the synchronization object may be shared with any processes on the system. 네임 스페이스를 Local 지정 하지 않은 경우에도 기본 네임 스페이스를 지정 하면 동기화 개체가 동일한 세션의 프로세스와 공유 될 수 있습니다.When the Local namespace is specified, which is also the default when no namespace is specified, the synchronization object may be shared with processes in the same session. Windows에서 세션은 로그인 세션 이며 서비스는 일반적으로 다른 비 대화형 세션에서 실행 됩니다.On Windows, a session is a login session, and services typically run in a different non-interactive session. Unix와 비슷한 운영 체제에서 각 셸에는 자체 세션이 있습니다.On Unix-like operating systems, each shell has its own session. 세션 로컬 동기화 개체는 모두 동일한 세션에서 실행 되는 부모/자식 관계를 사용 하 여 프로세스 간 동기화에 적합할 수 있습니다.Session-local synchronization objects may be appropriate for synchronizing between processes with a parent/child relationship where they all run in the same session. Windows의 synchornization 개체 이름에 대 한 자세한 내용은 개체 이름을 참조 하세요.For more information about synchornization object names on Windows, see Object Names.

요청 된 형식의 동기화 개체가 네임 스페이스에 있는 경우 기존 동기화 개체가 열립니다.If a synchronization object of the requested type exists in the namespace, the existing synchronization object is opened. 네임 스페이스에 동기화 개체가 없거나 네임 스페이스에 다른 형식의 동기화 개체가 있는 경우 false 이 반환 됩니다.If a synchronization object does not exist in the namespace, or a synchronization object of a different type exists in the namespace, false is returned.

아직 존재 하지 않는 시스템 이벤트를 만들려면 매개 변수가 있는 생성자 중 하나를 사용 EventWaitHandle name 합니다.To create the system event when it does not already exist, use one of the EventWaitHandle constructors that has a name parameter.

명명 된 동기화 이벤트가 있는지 여부를 확실 하 게 알 수 없는 경우, OpenExisting(String, EventWaitHandleRights) 동기화 이벤트가 없는 경우 예외를 throw 하는 메서드 오버 로드 대신이 메서드 오버 로드를 사용 합니다.If you are uncertain whether a named synchronization event exists, use this method overload instead of the OpenExisting(String, EventWaitHandleRights) method overload, which throws an exception if the synchronization event does not exist.

rights매개 변수는 EventWaitHandleRights.Synchronize 스레드가 이벤트에서 대기 하도록 허용 하는 플래그와 EventWaitHandleRights.Modify 스레드가 및 메서드를 호출할 수 있도록 하는 플래그를 포함 해야 합니다 Set Reset .The rights parameter must include the EventWaitHandleRights.Synchronize flag to allow threads to wait on the event, and the EventWaitHandleRights.Modify flag to allow threads to call the Set and Reset methods.

에 동일한 값을 사용 하는이 메서드를 여러 번 호출 하면 name EventWaitHandle 반환 되는 개체가 동일한 명명 된 시스템 이벤트를 나타내는 경우에도 동일한 개체가 반환 되지 않습니다.Multiple calls to this method that use the same value for name do not necessarily return the same EventWaitHandle object, even though the objects that are returned represent the same named system event.

적용 대상