다음을 통해 공유


RtlGetDaclSecurityDescriptor 함수(ntifs.h)

RtlGetDaclSecurityDescriptor 루틴은 보안 설명자에 대한 DACL(임의 ACL)에 대한 포인터를 반환합니다.

구문

NTSYSAPI NTSTATUS RtlGetDaclSecurityDescriptor(
  [in]  PSECURITY_DESCRIPTOR SecurityDescriptor,
  [out] PBOOLEAN             DaclPresent,
  [out] PACL                 *Dacl,
  [out] PBOOLEAN             DaclDefaulted
);

매개 변수

[in] SecurityDescriptor

DACL을 반환할 SECURITY_DESCRIPTOR 대한 포인터입니다.

[out] DaclPresent

지정된 보안 설명자에 DACL이 있음을 나타내는 부울 변수에 대한 포인터입니다. 이 변수가 TRUE를 받으면 보안 설명자에 DACL이 포함되고 나머지 출력 매개 변수는 유효한 값을 받습니다. 이 변수가 FALSE를 수신하면 보안 설명자에 DACL이 없으며 나머지 출력 매개 변수는 유효한 값을 받지 못합니다.

[out] Dacl

보안 설명자에 대한 DACL의 주소를 수신하는 변수에 대한 포인터입니다. 보안 설명자에 DACL이 없는 경우 이 변수는 값을 받지 않습니다. 보안 설명자에 NULL DACL이 있는 경우 이 변수는 NULL을 받습니다. NULL DACL은 개체에 대한 모든 액세스를 암시적으로 허용합니다.

[out] DaclDefaulted

보안 설명자의 SECURITY_DESCRIPTOR_CONTROL 구조에서 SE_DACL_DEFAULTED 플래그 값을 수신하는 부울 변수에 대한 포인터입니다. 이 플래그가 TRUE이면 DACL이 기본 메커니즘에 의해 검색되었습니다. FALSE이면 DACL이 사용자가 명시적으로 지정했습니다. 이 값은 *DaclNULL 이 아닌 값을 수신하는 경우에만 유효합니다.

반환 값

RtlGetDaclSecurityDescriptor 는 STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_UNKNOWN_REVISION
보안 설명자의 수정 수준을 알 수 없거나 지원되지 않습니다. 오류 코드입니다.

설명

*DaclPresent에 대한 TRUE 값이 *DaclNULL이 아님을 의미하지는 않습니다. 즉, *DaclPresentTRUE 일 수 있지만 *DaclNULL이므로 NULL DACL이 적용됩니다. NULL DACL은 개체에 대한 모든 액세스를 암시적으로 허용하며 빈 DACL과 동일하지 않습니다. 빈 DACL은 개체에 대한 액세스를 허용하지 않습니다.

보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 Windows SDK의 이러한 topics 대한 설명서를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Server 2003 SP1
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

추가 정보

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR