ACCESS_DENIED_CALLBACK_OBJECT_ACE 구조체(winnt.h)
ACCESS_DENIED_CALLBACK_OBJECT_ACE 구조체는 개체, 속성 집합 또는 속성에 대한 거부된 액세스를 제어하는 ACE(액세스 제어 항목)를 정의합니다. ACE에는 액세스 권한 집합, 개체 유형을 식별하는
AuthzAccessCheck 함수가 호출되면 AuthzAccessCheck 함수에 대한 포인터를 통해 전달된 SECURITY_DESCRIPTOR 구조체의 DACL에 포함된 각 ACCESS_DENIED_CALLBACK_OBJECT_ACE 구조체는 ACCESS_DENIED_CALLBACK_OBJECT_ACE 구조체에 대한 포인터가 pAce 매개 변수에 전달되는 애플리케이션 정의 AuthzAccessCheckCallback 함수에 대한 호출을 호출합니다.
통사론
typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;
회원
Header
ACE의 크기와 형식을 지정하는 ACE_HEADER 구조체입니다. 자식 개체에 의한 ACE 상속을 제어하는 플래그가 포함되어 있습니다. ACE_HEADER 구조체의 AceType 멤버는 ACCESS_DENIED_CALLBACK_ACE_TYPE 설정해야 하며 AceSize 멤버는 ACCESS_DENIED_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
첫 번째 DWORD는 트러스티 SID의. SID의 나머지 바이트는 SidStart 멤버 이후 연속 메모리에 저장됩니다. 이 SID는 애플리케이션 데이터에 추가할 수 있습니다.
발언
ObjectType 및 InheritedObjectTypeGUID 지정되지 않은 경우 ACCESS_DENIED_CALLBACK_OBJECT_ACE 구조체는 ACCESS_DENIED_CALLBACK_ACE 구조체에서 사용하는 의미 체계와 동일합니다. 이 경우 더 작고 효율적이므로 ACCESS_DENIED_CALLBACK_ACE 구조를 사용합니다.
ACCESS_DENIED_CALLBACK_OBJECT_ACE 포함하는 ACL은 ACL 헤더에 ACL_REVISION_DS 수정 번호를 지정해야 합니다.
Mask 멤버가 지정한 액세스 권한은 SidStart 멤버에 저장된 SID와 일치하는 활성화된 SID를 소유한 트러스티 거부됩니다.
ACCESS_DENIED_CALLBACK_OBJECT_ACE 구조체를 만들 때 ObjectType GUID 구조체를 수용하고 InheritedObjectType 멤버 중 하나 또는 둘 다 있는 경우 충분한 메모리를 할당해야 하며 SidStart 멤버에 있는 트러스티의 전체 SID와 그 뒤의 연속 메모리를 수용해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
헤더 | winnt.h(Windows.h 포함) |
참고 항목
ACL
AddAuditAccessObjectAce