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