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