RtlAddAccessAllowedAceEx 함수(ntifs.h)
RtlAddAccessAllowedAceEx 루틴은 상속 ACE 플래그가 있는 ACE(액세스 허용 액세스 제어 항목)를 ACL(액세스 제어 목록)에 추가합니다. 지정된 SID(보안 식별자)에 대한 액세스 권한이 부여됩니다.
구문
NTSYSAPI NTSTATUS RtlAddAccessAllowedAceEx(
[in, out] PACL Acl,
[in] ULONG AceRevision,
[in] ULONG AceFlags,
[in] ACCESS_MASK AccessMask,
[in] PSID Sid
);
매개 변수
[in, out] Acl
수정할 ACL을 포함하는 호출자가 할당한 버퍼에 대한 포인터입니다. RtlAddAccessAllowedAceEx 는 이 ACL의 끝에 액세스 허용 ACE를 추가합니다. ACE는 ACCESS_ALLOWED_ACE 구조체 형식입니다.
[in] AceRevision
추가할 ACE의 ACL 수정 버전 수준입니다. 이 값은 ACL_REVISION 또는 ACL_REVISION_DS 수 있습니다. ACL에 개체별 ACE가 포함된 경우 ACL_REVISION_DS 합니다.
[in] AceFlags
추가할 ACE의 상속 플래그를 지정하는 비트 마스크입니다.
[in] AccessMask
지정된 SID에 부여할 액세스 권한을 지정하는 하나 이상의 ACCESS_MASK 플래그 비트 마스크입니다. 자세한 내용은 ZwCreateFile의 DesiredAccess 매개 변수에 대한 설명을 참조하세요.
[in] Sid
액세스 권한이 부여되는 사용자, 그룹 또는 로그온 계정을 나타내는 SID 구조에 대한 포인터입니다.
반환 값
RtlAddAccessAllowedAceEx 는 다음 값 중 하나를 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
STATUS_SUCCESS | ACE가 성공적으로 추가되었습니다. |
STATUS_ALLOTTED_SPACE_EXCEEDED | 새 ACE가 ACL에 맞지 않습니다. 더 큰 ACL 버퍼가 필요합니다. ACL의 크기를 계산하는 방법에 대한 자세한 내용은 RtlCreateAcl을 참조하세요. |
STATUS_INVALID_ACL | 지정된 ACL이 올바르게 구성되지 않았습니다. |
STATUS_INVALID_PARAMETER | AceFlags 매개 변수가 잘못되었습니다. |
STATUS_INVALID_SID | 지정된 SID 구조가 구조적으로 유효하지 않습니다. |
STATUS_REVISION_MISMATCH | 지정된 AceRevision을 알 수 없거나 ACL의 AceRevision 과 호환되지 않습니다. |
설명
RtlAddAccessAllowedAce와 달리 이 루틴은 상속 ACE 플래그를 설정합니다.
보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 다음과 같은 Windows SDK의 이러한 topics 대한 설명서를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 |
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h, FltKernel.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |