EventWaitHandleAcl.Create 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
EventWaitHandle 인스턴스를 가져오거나 만들어 이벤트 생성 중에 EventWaitHandleSecurity 인스턴스를 선택적으로 지정할 수 있게 합니다.
public:
static System::Threading::EventWaitHandle ^ Create(bool initialState, System::Threading::EventResetMode mode, System::String ^ name, [Runtime::InteropServices::Out] bool % createdNew, System::Security::AccessControl::EventWaitHandleSecurity ^ eventSecurity);
public static System.Threading.EventWaitHandle Create (bool initialState, System.Threading.EventResetMode mode, string? name, out bool createdNew, System.Security.AccessControl.EventWaitHandleSecurity? eventSecurity);
static member Create : bool * System.Threading.EventResetMode * string * bool * System.Security.AccessControl.EventWaitHandleSecurity -> System.Threading.EventWaitHandle
Public Shared Function Create (initialState As Boolean, mode As EventResetMode, name As String, ByRef createdNew As Boolean, eventSecurity As EventWaitHandleSecurity) As EventWaitHandle
매개 변수
- initialState
- Boolean
명명된 이벤트가 이 호출의 결과로 만들어지는 경우 초기 상태를 signaled로 설정하려면 true
이고, nonsignaled로 설정하려면 false
입니다.
- mode
- EventResetMode
이벤트가 자동으로 다시 설정되는지 또는 수동으로 다시 설정되는지를 결정하는 열거형 값 중 하나입니다.
- name
- String
동기화 개체를 다른 프로세스와 공유할 예정이면 이름이고, 그렇지 않으면 null
또는 빈 문자열입니다. 이름은 대/소문자를 구분합니다. 백슬래시 문자(\)는 예약되어 있으며 네임스페이스를 지정하는 데만 사용할 수 있습니다. 네임스페이스에 대한 자세한 내용은 설명 섹션을 참조하세요. 운영 체제에 따라 이름에 대한 추가 제한이 있을 수 있습니다. 예를 들어 Unix 기반 운영 체제에서 네임스페이스를 제외한 후의 이름은 유효한 파일 이름이어야 합니다.
- createdNew
- Boolean
이 메서드가 반환될 때 로컬 이벤트가 만들어진 경우, 다시 말해서 name
이 null
또는 Empty인 경우 이 인수는 항상 true
로 설정됩니다.
name
에 비어 있지 않은 유효한 값이 있는 경우 이 인수는 시스템 이벤트가 만들어질 때 true
로 설정되고, 해당 이름의 기존 시스템 이벤트가 있는 경우 false
로 설정됩니다.
- eventSecurity
- EventWaitHandleSecurity
적용할 선택적인 Windows 액세스 제어 보안입니다.
반환
요청된 이벤트 대기 핸들을 나타내는 개체입니다.
예외
mode
열거형 값이 올바른 범위를 벗어납니다. 간혹 ArgumentException이 대신 throw되기도 합니다.
name
이 잘못되었습니다. 이유는 다양하며, 대표적인 이유는 운영 체제가 적용하는 일부 제한(예: 알 수 없는 접두사나 잘못된 문자)입니다. 이름 및 일반 접두사 "Global\" 및 "Local\"은 대/소문자를 구분합니다.
-또는-
다른 오류가 발생했습니다.
HResult
속성에서 자세한 정보를 확인할 수 있습니다.
Windows에만 해당: name
이 알 수 없는 네임스페이스를 지정했습니다. 자세한 내용은 개체 이름을 참조하세요.
name
이 너무 깁니다. 길이 제한은 운영 체제나 구성에 따라 달라집니다.
이름이 name
인 동기화 개체를 만들 수 없습니다. 다른 형식의 동기화 개체에 동일한 이름이 사용되었을 수 있습니다.
명명된 이벤트가 존재하지만 사용자에게 필요한 보안 액세스 권한이 없는 경우
.NET Framework에만 해당: name
길이가 MAX_PATH(260자)를 초과합니다.
설명
에 name
접두사를 추가 Global\
하거나 Local\
네임스페이스를 지정할 수 있습니다. 네임스페이 Global
스를 지정하면 동기화 개체를 시스템의 모든 프로세스와 공유할 수 있습니다.
Local
네임스페이스를 지정하면 네임스페이스가 지정되지 않은 경우에도 기본값으로 동기화 개체를 동일한 세션의 프로세스와 공유할 수 있습니다. Windows에서 세션은 로그인 세션이며 서비스는 일반적으로 다른 비대화형 세션에서 실행됩니다. Unix와 유사한 운영 체제에서 각 셸에는 자체 세션이 있습니다. 세션 로컬 동기화 개체는 모두 동일한 세션에서 실행되는 부모/자식 관계와 프로세스 간의 동기화에 적합할 수 있습니다. Windows의 동기화 개체 이름에 대한 자세한 내용은 개체 이름을 참조하세요.
가 name
제공되고 요청된 형식의 동기화 개체가 네임스페이스에 이미 있는 경우 기존 동기화 개체가 열립니다. 다른 형식의 동기화 개체가 네임스페이스에 WaitHandleCannotBeOpenedException
이미 있는 경우 이 throw됩니다. 그렇지 않으면 새 동기화 개체가 만들어집니다.
주의
기본적으로 명명된 이벤트는 이벤트를 만든 사용자로 제한되지 않습니다. 다른 사용자는 이벤트를 설정하거나 부적절하게 다시 설정하여 이벤트를 방해하는 등 이벤트를 열고 사용할 수 있습니다. 특정 사용자에 대한 액세스를 제한하려면 명명된 이벤트를 만들 때 를 EventWaitHandleSecurity 전달할 수 있습니다. 신뢰할 수 없는 사용자가 코드를 실행 중일 수 있는 시스템에 대한 액세스 제한 없이 명명된 이벤트를 사용하지 마세요.
적용 대상
.NET