다음을 통해 공유


ACCESS_ALLOWED_ACE 구조체(winnt.h)

ACCESS_ALLOWED_ACE 구조는 개체에 대한 액세스를 제어하는 DACL(임의 액세스 제어 목록)에 대한 ACE(액세스 제어 항목)를 정의합니다. 액세스 허용 ACE를 사용하면 SID(보안 식별자)로 식별된 특정 트러스티에 대한 개체에 액세스할 수 있습니다.

구문

typedef struct _ACCESS_ALLOWED_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       SidStart;
} ACCESS_ALLOWED_ACE;

멤버

Header

ACE_HEADER 크기 및 형식을 지정하는 구조체입니다. 또한 자식 개체에 의한 ACE의 상속을 제어하는 플래그도 포함됩니다. ACE_HEADER 구조체의 AceType 멤버는 ACCESS_ALLOWED_ACE_TYPE 설정해야 하며 AceSize 멤버는 ACCESS_ALLOWED_ACE 구조체에 할당된 총 바이트 수로 설정해야 합니다.

Mask

이 ACE에서 부여한 액세스 권한을 지정하는 ACCESS_MASK 구조를 지정합니다.

SidStart

트러스티 SID의 첫 번째 DWORD 입니다. SID의 나머지 바이트는 SidStart 멤버 다음에 연속 메모리에 저장됩니다. 이 SID는 애플리케이션 데이터와 함께 추가할 수 있습니다.

설명

ACE 구조체는 DWORD 경계에 맞춰야 합니다. 모든 Windows 메모리 관리 함수는 DWORD 정렬 핸들을 메모리에 반환합니다.

Mask 멤버가 지정한 액세스 권한은 SidStart 멤버에 저장된 SID와 일치하는 활성화된 SID를 소유한 모든 트러스티에게 부여됩니다.

addAccessAllowedAce 또는 AddAccessAllowedAceEx 함수를 호출하여 ACL(액세스 제어 목록)에서 ACCESS_ALLOWED_ACE 구조를 만들 수 있습니다. 이러한 함수를 사용하면 수탁자의 SID를 수용하는 데 필요한 올바른 양의 메모리가 할당되고 Header.AceTypeHeader.AceSize 멤버의 값이 자동으로 설정됩니다. AddAccessAllowedAceEx 함수를 사용하는 경우 Header.AceFlags 멤버도 설정됩니다. ACL 외부에서 ACCESS_ALLOWED_ACE 구조체를 만들 때 SidStart 멤버에 있는 트러스티의 전체 SID와 그 뒤의 연속 메모리를 수용하기 위해 충분한 메모리를 할당해야 하며, Header.AceType, Header.AceFlagsHeader.AceSize 멤버의 값은 애플리케이션에서 명시적으로 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winnt.h(Windows.h 포함)

추가 정보

에이스

ACL

AddAccessAllowedAce

AddAce

GetAce

SID