ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 구조체(winnt.h)
ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 구조체는 개체, 속성 집합 또는 속성에 대한 허용된 액세스를 제어하는 ACE(액세스 제어 항목)를 정의합니다. ACE에는 액세스 권한 집합, 개체 유형을 식별하는 GUID 및 시스템에서 액세스 권한을 부여할 수 있는 트러스티를 식별하는 SID(보안 식별자)가 포함됩니다. ACE에는 자식 개체에 의한 ACE의 상속을 제어하는 GUID 및 플래그 집합도 포함됩니다.
AuthzAccessCheck 함수가 호출되면 AuthzAccessCheck 함수에 대한 포인터를 통해 전달되는 SECURITY_DESCRIPTOR 구조체의 DACL에 포함된 각ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 구조체는 발견된 ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 구조체에 대한 포인터가 pAce 매개 변수에 전달되는 애플리케이션 정의 AuthzAccessCheckCallback 함수에 대한 호출을 호출합니다.
구문
typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
멤버
Header
ACE_HEADER 크기 및 형식을 지정하는 구조체입니다. 또한 자식 개체에 의한 ACE의 상속을 제어하는 플래그도 포함됩니다. ACE_HEADER 구조체의 AceType 멤버는 ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE 설정해야 하며 AceSize 멤버는 ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 구조체에 할당된 총 바이트 수로 설정해야 합니다.
Mask
시스템에서 트러스티에게 허용할 액세스 권한을 지정하는 ACCESS_MASK.
Flags
ObjectType 및 InheritedObjectType 멤버가 있는지 여부를 나타내는 비트 플래그 집합입니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
ObjectType
이 멤버는 ACE_OBJECT_TYPE_PRESENT 비트가 Flags 멤버에 설정된 경우에만 존재 합니다 . 그렇지 않으면 InheritedObjectType 멤버가 Flags 멤버 바로 뒤에 잇습니다.
이 멤버가 있는 경우 속성 집합, 속성, 확장된 오른쪽 또는 자식 개체의 형식을 식별하는 GUID 구조체입니다. 이 GUID 의 목적은 Mask 멤버에 지정된 액세스 권한에 따라 달라집니다.
InheritedObjectType
이 멤버는 ACE_INHERITED_OBJECT_TYPE_PRESENT 비트가 Flags 멤버에 설정된 경우에만 존재 합니다 .
이 멤버가 있는 경우 ACE를 상속할 수 있는 자식 개체의 형식을 식별하는 GUID 구조체입니다. 상속은 ACE_HEADER 상속 플래그뿐만 아니라 자식 개체에 배치된 상속에 대한 보호에도 의해 제어됩니다.
이 멤버의 오프셋은 다를 수 있습니다. Flags 멤버에 ACE_OBJECT_TYPE_PRESENT 플래그가 없는 경우 InheritedObjectType 멤버는 ObjectType 멤버가 지정한 오프셋에서 시작합니다.
SidStart
트러스티 SID의 첫 번째 DWORD 입니다. SID의 나머지 바이트는 SidStart 멤버 다음에 연속 메모리에 저장됩니다. 이 SID는 애플리케이션 데이터와 함께 추가할 수 있습니다.
설명
ObjectType과 InheritedObjectTypeGUID를 모두 지정하지 않으면 ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 구조체는 ACCESS_ALLOWED_CALLBACK_ACE 구조체에서 사용하는 의미 체계와 동일합니다. 이 경우 더 작고 효율적이므로 ACCESS_ALLOWED_CALLBACK_ACE 구조를 사용합니다.
ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 포함하는 ACL은 ACL 헤더에 ACL_REVISION_DS 수정 번호를 지정해야 합니다.
Mask 멤버가 지정한 액세스 권한은 SidStart 멤버에 저장된 SID와 일치하는 활성화된 SID를 소유한 모든 트러스티에게 부여됩니다.
ACCESS_ALLOWED_CALLBACK_OBJECT_ACE 구조체가 만들어지면 ObjectType 및 InheritedObjectType 멤버의 GUID 구조를 수용할 수 있을 뿐만 아니라 SidStart 멤버에 있는 트러스티의 전체 SID와 그 뒤에 이어지는 연속 메모리를 수용하기 위해 충분한 메모리를 할당해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | winnt.h(Windows.h 포함) |