ACCESS_MASK 데이터 형식은 표준, 특정 및 제네릭 권한을 정의하는 DWORD 값입니다. 이러한 권한은 ACE( 액세스 제어 항목 )에서 사용되며 개체에 대한 요청되거나 부여된 액세스를 지정하는 기본 수단입니다.
typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK* PACCESS_MASK;
비고
이 값의 비트는 다음과 같이 할당됩니다.
| 비트 | Meaning |
|---|---|
| 0-15 | 특정 권한. 마스크와 연결된 개체 형식과 관련된 액세스 마스크를 포함합니다. 다양한 개체 형식에 대한 액세스 권한에 대한 링크는 Object-Specific 액세스 권한을 참조하세요. |
| 16-23 | 표준 권한. 개체의 표준 액세스 권한을 포함합니다. |
| 24 | 시스템 보안(ACCESS_SYSTEM_SECURITY)에 액세스합니다. SACL( 시스템 액세스 제어 목록)에 대한 액세스를 나타내는 데 사용됩니다. 이러한 유형의 액세스를 사용하려면 호출 프로세스에 SE_SECURITY_NAME (감사 및 보안 로그 관리) 권한이 있어야 합니다. 이 플래그가 감사 액세스 ACE(성공 또는 실패한 액세스)의 액세스 마스크에 설정된 경우 SACL 액세스가 감사됩니다. |
| 이십오 (25) | 허용되는 최대값(MAXIMUM_ALLOWED)입니다. |
| 26-27 | 예약됨. |
| 28 | 제네릭 모두(GENERIC_ALL). |
| 이십구 | 제네릭 실행(GENERIC_EXECUTE). |
| 30 | 제네릭 쓰기(GENERIC_WRITE). |
| 31 | 제네릭 읽기(GENERIC_READ). |
표준 권한 비트(16~23)는 개체의 표준 액세스 권한을 포함하며 다음과 같은 미리 정의된 플래그의 조합일 수 있습니다.
| 비트 | Flag | Meaning |
|---|---|---|
| 16 | 삭제하다 | 액세스를 삭제합니다. |
| 17 | READ_CONTROL | 보안 설명자의 DACL(소유자, 그룹 및 임의 액세스 제어 목록 )에 대한 액세스를 읽습니다. |
| 18 | WRITE_DAC | DACL에 대한 쓰기 권한입니다. |
| 19 | WRITE_OWNER | 소유자에 대한 쓰기 액세스 권한입니다. |
| 20 | 동기화 |
액세스를 동기화합니다. |
Winnt.h에 정의된 다음 상수는 특정 및 표준 액세스 권한을 나타냅니다.
#define DELETE (0x00010000L)
#define READ_CONTROL (0x00020000L)
#define WRITE_DAC (0x00040000L)
#define WRITE_OWNER (0x00080000L)
#define SYNCHRONIZE (0x00100000L)
#define STANDARD_RIGHTS_REQUIRED (0x000F0000L)
#define STANDARD_RIGHTS_READ (READ_CONTROL)
#define STANDARD_RIGHTS_WRITE (READ_CONTROL)
#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL)
#define STANDARD_RIGHTS_ALL (0x001F0000L)
#define SPECIFIC_RIGHTS_ALL (0x0000FFFFL)
Object-Specific 액세스 권한
ACCESS_MASK 낮은 16비트(비트 0-15)는 개체별 액세스 권한에 사용됩니다. 이러한 비트의 의미는 액세스되는 개체의 형식에 따라 달라집니다. 특정 개체 형식에 대한 액세스 권한에 대한 자세한 내용은 다음 항목을 참조하세요.
공통 개체 형식
-
파일 및 디렉터리 - 파일 액세스 권한 상수
FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_EXECUTE, FILE_DELETE_CHILD, FILE_READ_ATTRIBUTES 및 FILE_WRITE_ATTRIBUTES 같은 특정 액세스 권한을 정의합니다. - 레지스트리 키 - 레지스트리 키 보안 및 액세스 권한 KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS 및 KEY_NOTIFY 같은 특정 액세스 권한을 정의합니다.
-
프로세스 - 프로세스 보안 및 액세스 권한
PROCESS_TERMINATE, PROCESS_CREATE_THREAD, PROCESS_VM_OPERATION, PROCESS_VM_READ, PROCESS_VM_WRITE, PROCESS_QUERY_INFORMATION 및 PROCESS_SET_INFORMATION 같은 특정 액세스 권한을 정의합니다. -
스레드 - 스레드 보안 및 액세스 권한
THREAD_TERMINATE, THREAD_SUSPEND_RESUME, THREAD_GET_CONTEXT, THREAD_SET_CONTEXT, THREAD_QUERY_INFORMATION 및 THREAD_SET_INFORMATION 같은 특정 액세스 권한을 정의합니다.
추가 개체 형식
- 창 스테이션 - Window Station 보안 및 액세스 권한
- 데스크톱 - 데스크톱 보안 및 액세스 권한
- 서비스 - 서비스 보안 및 액세스 권한
- 매핑된 파일 개체 - 파일 매핑 보안 및 액세스 권한
- 작업 개체 - 작업 개체 보안 및 액세스 권한
- 명명된 파이프 - 명명된 파이프 보안 및 액세스 권한
보안 개체 및 해당 액세스 권한의 포괄적인 목록은 액세스 권한 및 액세스 마스크를 참조하세요.
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
| Header |
Winnt.h (포함 Windows.h) |