NtPrivilegeCheck 함수(ntifs.h)

NtPrivilegeCheck 는 시스템 사용을 위해 예약되어 있습니다.

구문

__kernel_entry NTSYSCALLAPI NTSTATUS NtPrivilegeCheck(
  [in]      HANDLE         ClientToken,
  [in, out] PPRIVILEGE_SET RequiredPrivileges,
  [out]     PBOOLEAN       Result
);

매개 변수

[in] ClientToken

액세스를 시도하는 클라이언트를 나타내는 토큰 개체에 대한 핸들입니다. 가능한 보안 정책 위반을 방지하려면 LPC 포트 또는 로컬 명명된 파이프와 같은 통신 세션 계층에서 이 핸들을 가져와야 합니다.

[in, out] RequiredPrivileges

PRIVILEGE_SET 구조체에 대한 포인터입니다. 이 구조체의 Privilege 멤버는 LUID_AND_ATTRIBUTES 구조체의 배열입니다. SePrivilegeCheck를 호출하기 전에 Privilege 배열을 사용하여 검사 권한 집합을 나타냅니다. 모든 권한을 사용하도록 설정해야 하는 경우 Control 멤버를 PRIVILEGE_SET_ALL_NECESSARY 설정합니다. 또는 권한 중 하나를 사용하도록 설정하는 것으로 충분하면 0으로 설정합니다.

[out] Result

클라이언트에 지정된 모든 권한이 있는지 여부를 나타내는 부울 플래그를 받습니다. TRUE 값은 클라이언트에 지정된 모든 권한이 있음을 나타냅니다. 그렇지 않으면 FALSE 값이 반환됩니다.

반환 값

NtPrivilegeCheck는 성공적으로 완료될 때 STATUS_SUCCESS 반환합니다. 그렇지 않으면 다음과 같은 오류 코드가 반환됩니다.

반환 코드 설명
STATUS_PRIVILEGE_NOT_HELD 호출자에게 이 권한 있는 시스템 서비스를 사용할 수 있는 충분한 권한이 없습니다.

설명

액세스 토큰에는 토큰과 연결된 계정에서 보유한 권한 목록이 포함됩니다. 이러한 권한은 사용하거나 사용하지 않도록 설정할 수 있습니다. 대부분은 기본적으로 사용하지 않도록 설정됩니다. NtPrivilegeCheck 는 활성화된 권한만 확인합니다. 액세스 토큰에서 보유하는 모든 사용 및 사용 안 함 권한 목록을 얻으려면 SeQueryInformationToken을 호출합니다.

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP
머리글 ntifs.h
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe

추가 정보

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck