다음을 통해 공유


PrivilegeCheck 함수(securitybaseapi.h)

PrivilegeCheck 함수는 액세스 토큰에서 지정된 권한 집합을 사용할 수 있는지 여부를 결정합니다. PrivilegeCheck 함수는 일반적으로 클라이언트의 액세스 토큰 권한을 검사 위해 서버 애플리케이션에서 호출됩니다.

구문

BOOL PrivilegeCheck(
  [in]      HANDLE         ClientToken,
  [in, out] PPRIVILEGE_SET RequiredPrivileges,
  [out]     LPBOOL         pfResult
);

매개 변수

[in] ClientToken

클라이언트 프로세스를 나타내는 액세스 토큰에 대한 핸들입니다. 이 핸들은 클라이언트를 가장하는 스레드의 토큰을 열어 가져와야 합니다. TOKEN_QUERY 액세스를 위해 토큰을 열어야 합니다.

[in, out] RequiredPrivileges

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

PrivilegeCheck이 반환되면 해당 권한이 사용하도록 설정된 경우 각 LUID_AND_ATTRIBUTES 구조의 Attributes 멤버가 SE_PRIVILEGE_USED_FOR_ACCESS 설정됩니다.

[out] pfResult

액세스 토큰에서 지정된 권한의 사용 여부를 나타내기 위해 함수가 설정하는 값에 대한 포인터입니다. PRIVILEGE_SET 구조체의 Control 멤버가 PRIVILEGE_SET_ALL_NECESSARY 지정하는 경우 이 값은 모든 권한이 사용하도록 설정된 경우에만 TRUE 입니다. 그렇지 않으면 권한이 활성화된 경우 이 값은 TRUE 입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 securitybaseapi.h(Windows.h 포함)
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

AdjustTokenPrivileges

클라이언트/서버 Access Control 함수

클라이언트/서버 Access Control 개요

GetTokenInformation

LUID_AND_ATTRIBUTES

LookupPrivilegeValue

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegedServiceAuditAlarm