다음을 통해 공유


SetEntriesInAclA 함수(aclapi.h)

SetEntriesInAcl 함수는 새 액세스 제어 또는 감사 제어 정보를 기존 ACL 구조로 병합하여 새 ACL(액세스 제어 목록)을 만듭니다.

통사론

DWORD SetEntriesInAclA(
  [in]           ULONG              cCountOfExplicitEntries,
  [in, optional] PEXPLICIT_ACCESS_A pListOfExplicitEntries,
  [in, optional] PACL               OldAcl,
  [out]          PACL               *NewAcl
);

매개 변수

[in] cCountOfExplicitEntries

pListOfExplicitEntries 배열의 EXPLICIT_ACCESS 구조체 수입니다.

[in, optional] pListOfExplicitEntries

기존 ACL에 병합할 액세스 제어 정보를 설명하는 EXPLICIT_ACCESS 구조의 배열에 대한 포인터입니다.

[in, optional] OldAcl

기존 ACL에 대한 포인터입니다. 이 매개 변수는 NULL수 있습니다. 이 경우 함수는 EXPLICIT_ACCESS 항목에 따라 새 ACL을 만듭니다.

[out] NewAcl

새 ACL에 대한 포인터를 받는 변수에 대한 포인터입니다. 함수가 성공하면 LocalFree 함수를 호출하여 반환된 버퍼를 해제해야 합니다.

반환 값

함수가 성공하면 함수는 ERROR_SUCCESS 반환합니다.

함수가 실패하면 WinError.h에 정의된 0이 아닌 오류 코드를 반환합니다.

발언

EXPLICIT_ACCESS 구조의 배열에 있는 각 항목은 지정된 트러스티에 대한 액세스 제어 또는 감사 제어 정보를 지정합니다. 트러스티는 사용자, 그룹 또는 로그온 식별자 또는 로그온 유형(예: Windows 서비스 또는 일괄 처리 작업)과 같은 SID(보안 식별자) 값일 수 있습니다. 이름 또는 SID를 사용하여 트러스티를 식별할 수 있습니다.

SetEntriesInAcl 함수를 사용하여 DACL(임의 액세스 제어 목록) 또는 SACL(시스템 액세스 제어 목록)에서 액세스 제어 항목(ACE) 목록을 수정할 수 있습니다. SetEntriesInAcl 동일한 ACL액세스 제어 및 감사 제어 정보를 혼합하는 것을 방지하지 않습니다. 그러나 결과 ACL에는 의미 없는 항목이 포함됩니다.

DACL의 경우 EXPLICIT_ACCESS 구조의 grfAccessMode 멤버는 트러스티에 대한 액세스 권한을 허용, 거부 또는 취소할지 여부를 지정합니다. 이 멤버는 다음 값 중 하나를 지정할 수 있습니다.

  • GRANT_ACCESS
  • SET_ACCESS
  • DENY_ACCESS
  • REVOKE_ACCESS
이러한 값에 대한 자세한 내용은 ACCESS_MODE참조하세요.

SetEntriesInAcl 함수는 새 ACL대한 ACE 목록의 시작 부분에 액세스 거부된 모든 ACE를 배치합니다. 이 함수는 기존 액세스 허용 ACE 바로 앞에 액세스가 허용된 모든 API를 배치합니다.

SACL의 경우 EXPLICIT_ACCESS 구조체의 grfAccessMode 멤버는 다음 값을 지정할 수 있습니다.

  • REVOKE_ACCESS
  • SET_AUDIT_FAILURE
  • SET_AUDIT_SUCCESS
SET_AUDIT_FAILURE 및 SET_AUDIT_SUCCESS 결합할 수 있습니다. 이러한 값에 대한 자세한 내용은 ACCESS_MODE참조하세요.

SetEntriesInAcl 함수는 새 ACL에 대한 ACE 목록의 시작 부분에 새 시스템 감사 ACE를 배치합니다.

예제

이 함수를 사용하는 예제는 개체 ACL 수정 또는 새 개체 대한 보안 설명자 만들기 또는 개체 소유권만들기를 참조하세요.

메모

aclapi.h 헤더는 SETEntriesInAcl을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 aclapi.h
라이브러리 Advapi32.lib
DLL Advapi32.dll

참고 항목

ACCESS_ALLOWED_ACE

ACCESS_DENIED_ACE

ACL

access Control

기본 Access Control 함수

EXPLICIT_ACCESS

LocalFree

SYSTEM_AUDIT_ACE