다음을 통해 공유


AddAccessDeniedAceEx 함수(securitybaseapi.h)

AddAccessDeniedAceEx 함수는 DACL(임의 액세스 제어 목록)의 끝에 ACE(액세스 거부 액세스 제어 항목)를 추가합니다.

구문

BOOL AddAccessDeniedAceEx(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD AceFlags,
  [in]      DWORD AccessMask,
  [in]      PSID  pSid
);

매개 변수

[in, out] pAcl

DACL에 대한 포인터입니다. AddAccessDeniedAceEx 함수는 액세스 거부 ACE를 이 DACL의 끝에 추가합니다. ACE는 ACCESS_DENIED_ACE 구조체 형식입니다.

[in] dwAceRevision

수정할 DACL의 수정 수준을 지정합니다. 이 값은 ACL_REVISION 또는 ACL_REVISION_DS 수 있습니다. DACL에 개체별 ACE가 포함된 경우 ACL_REVISION_DS 사용합니다.

[in] AceFlags

ACE 상속을 제어하는 비트 플래그 집합입니다. 함수는 새 ACE의 ACE_HEADER 구조체의 AceFlags 멤버에서 이러한 플래그를 설정합니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

의미
CONTAINER_INHERIT_ACE
ACE는 컨테이너 개체에 의해 상속됩니다.
INHERIT_ONLY_ACE
ACE는 ACL( 액세스 제어 목록 )이 할당된 개체에는 적용되지 않지만 자식 개체에서 상속할 수 있습니다.
INHERITED_ACE
상속된 ACE를 나타냅니다. 이 플래그를 사용하면 개체 트리의 보안을 변경하는 작업이 상속된 ACE를 수정하는 동시에 개체에 직접 적용된 ACE는 변경하지 않습니다.
NO_PROPAGATE_INHERIT_ACE
OBJECT_INHERIT_ACE 및 CONTAINER_INHERIT_ACE 비트는 상속된 ACE로 전파되지 않습니다.
OBJECT_INHERIT_ACE
ACE는 비컨테이너 개체에 의해 상속됩니다.

[in] AccessMask

ACCESS_MASK 형식을 사용하여 새 ACE가 지정된 SID(보안 식별자)에 대해 거부하는 액세스 권한을 지정하는 비트 플래그 집합입니다.

[in] pSid

새 ACE가 액세스를 거부하는 사용자, 그룹 또는 로그온 세션을 식별하는 SID에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. 가능한 오류 값은 다음과 같습니다.

반환 코드 설명
ERROR_ALLOTTED_SPACE_EXCEEDED
새 ACE가 ACL에 맞지 않습니다. 더 큰 ACL 버퍼가 필요합니다.
ERROR_INVALID_ACL
지정된 ACL이 제대로 구성되지 않았습니다.
ERROR_INVALID_FLAGS
AceFlags 매개 변수가 잘못되었습니다.
ERROR_INVALID_SID
지정된 SID가 구조적으로 유효하지 않습니다.
ERROR_REVISION_MISMATCH
지정된 수정 버전을 알 수 없거나 ACL의 수정 버전과 호환되지 않습니다.
ERROR_SUCCESS
ACE가 성공적으로 추가되었습니다.

설명

AddAccessDeniedAceEx 함수는 DACL 끝에 새 ACE를 추가하지만 액세스 거부된 ACE는 DACL의 시작 부분에 표시됩니다. 호출자는 ACE가 올바른 순서로 DACL에 추가되었는지 확인해야 합니다. 자세한 내용은 DACL의 ACE 순서를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 securitybaseapi.h(Windows.h 포함)
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

ACCESS_DENIED_ACE

ACCESS_MASK

ACE_HEADER

AddAccessAllowedAceEx

AddAuditAccessAceEx

하위 수준 Access Control

하위 수준 Access Control 함수