AddAuditAccessAceEx 함수(securitybaseapi.h)
AddAuditAccessAceEx 함수는 SACL(시스템 액세스 제어 목록)의 끝에 ACE(시스템 감사 액세스 제어 항목)를 추가합니다.
BOOL AddAuditAccessAceEx(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD dwAccessMask,
[in] PSID pSid,
[in] BOOL bAuditSuccess,
[in] BOOL bAuditFailure
);
[in, out] pAcl
SACL에 대한 포인터입니다. AddAuditAccessAceEx 함수는 이 SACL에 시스템 감사 ACE를 추가합니다. ACE는 SYSTEM_AUDIT_ACE 구조체 형식입니다.
[in] dwAceRevision
수정할 SACL의 수정 수준을 지정합니다. 이 값은 ACL_REVISION 또는 ACL_REVISION_DS 수 있습니다. SACL에 개체별 ACL이 포함된 경우 ACL_REVISION_DS 사용합니다.
[in] AceFlags
ACE 상속 및 감사 시도 액세스 유형을 제어하는 비트 플래그 집합입니다. 함수는 새 ACE의 ACE_HEADER 구조체의 AceFlags 멤버에서 이러한 플래그를 설정합니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.
값 | 의미 |
---|---|
|
ACE는 컨테이너 개체에 의해 상속됩니다. |
|
이 플래그를 설정하거나 bAuditFailure 매개 변수에 TRUE를 지정하는 경우 지정된 액세스 권한을 사용하지 못하면 시스템이 보안 이벤트 로그에 감사 레코드를 생성합니다. |
|
ACE는 ACL( 액세스 제어 목록 )이 할당된 개체에는 적용되지 않지만 자식 개체에서 상속할 수 있습니다. |
|
상속된 ACE를 나타냅니다. 이 플래그를 사용하면 개체 트리의 보안을 변경하는 작업이 개체에 직접 적용된 ACE를 변경하지 않고 상속된 API를 수정할 수 있습니다. |
|
OBJECT_INHERIT_ACE 및 CONTAINER_INHERIT_ACE 비트는 상속된 ACE로 전파되지 않습니다. |
|
ACE는 비컨테이너 개체에 의해 상속됩니다. |
|
이 플래그를 설정하거나 bAuditSuccess 매개 변수에 TRUE를 지정하면 지정된 액세스 권한을 성공적으로 사용하면 시스템에서 보안 이벤트 로그에 감사 레코드가 생성됩니다. |
[in] dwAccessMask
ACCESS_MASK 형식을 사용하여 새 ACE가 지정된 SID(보안 식별자)에 대해 감사하는 액세스 권한을 지정하는 비트 플래그 집합입니다.
[in] pSid
새 ACE가 액세스를 감사하는 사용자, 그룹 또는 로그온 세션을 식별하는 SID에 대한 포인터입니다.
[in] bAuditSuccess
지정된 액세스 권한을 성공적으로 사용하면 시스템에서 보안 이벤트 로그에 감사 레코드를 생성할지 여부를 지정합니다. 이 플래그가 TRUE 이거나 AceFlags 매개 변수가 SUCCESSFUL_ACCESS_ACE_FLAG 플래그를 지정하는 경우 시스템은 성공적인 액세스 시도를 기록합니다. 그렇지 않으면 그렇지 않습니다.
[in] bAuditFailure
지정된 액세스 권한을 사용하지 못하여 시스템이 보안 이벤트 로그에 감사 레코드를 생성하도록 할지 여부를 지정합니다. 이 플래그가 TRUE 이거나 AceFlags 매개 변수가 FAILED_ACCESS_ACE_FLAG 플래그를 지정하는 경우 시스템은 실패한 액세스 시도를 기록합니다. 그렇지 않으면 그렇지 않습니다.
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. 가능한 오류 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
새 ACE가 ACL에 맞지 않습니다. 더 큰 ACL 버퍼가 필요합니다. |
|
지정된 ACL이 제대로 구성되지 않았습니다. |
|
AceFlags 매개 변수가 잘못되었습니다. |
|
지정된 SID가 구조적으로 유효하지 않습니다. |
|
지정된 수정 버전을 알 수 없거나 ACL의 수정 버전과 호환되지 않습니다. |
|
ACE가 성공적으로 추가되었습니다. |
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | securitybaseapi.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |