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 |