SeQueryInformationToken 함수(ntifs.h)

SeQueryInformationToken 루틴은 액세스 토큰에 대한 지정된 유형의 정보를 검색합니다. 호출 프로세스에는 정보를 얻기 위한 적절한 액세스 권한이 있어야 합니다.

구문

NTSTATUS SeQueryInformationToken(
  [in]  PACCESS_TOKEN           Token,
  [in]  TOKEN_INFORMATION_CLASS TokenInformationClass,
  [out] PVOID                   *TokenInformation
);

매개 변수

[in] Token

정보를 검색할 액세스 토큰에 대한 포인터입니다. TokenInformationClassTokenSource로 설정된 경우 핸들에 TOKEN_QUERY_SOURCE 액세스 권한이 있어야 합니다. 다른 모든 TokenInformationClass 값의 경우 핸들에 TOKEN_QUERY 액세스 권한이 있어야 합니다.

[in] TokenInformationClass

검색할 정보의 형식을 식별하는 TOKEN_INFORMATION_CLASS 열거형 형식의 값입니다.

[out] TokenInformation

STATUS_SUCCESS 반환되면 TokenInformation 은 요청된 정보를 보유하는 버퍼의 주소가 포함된 위치에 대한 포인터를 받습니다. 이 정보 버퍼의 형식은 다음 표와 같이 TokenInformationClass 값에 따라 달라집니다. 버퍼는 페이징된 풀에서 SeQueryInformationToken 에 의해 할당됩니다. 이 버퍼는 결국 ExFreePool을 사용하여 호출자가 해제해야 합니다.

Description
TokenDefaultDacl 버퍼는 새로 만든 개체에 대한 기본 DACL을 포함하는 TOKEN_DEFAULT_DACL 구조를 받습니다.
TokenGroups 버퍼는 토큰과 연결된 그룹 계정을 포함하는 TOKEN_GROUPS 구조를 받습니다.
TokenImpersonationLevel 버퍼는 토큰의 가장 수준을 나타내는 SECURITY_IMPERSONATION_LEVEL 값을 받습니다. 액세스 토큰이 가장 토큰이 아닌 경우 SeQueryInformationToken 에 대한 호출이 실패합니다.
TokenOwner 버퍼는 새로 만든 개체에 대한 기본 SID(소유자 보안 식별자)가 포함된 TOKEN_OWNER 구조를 받습니다.
TokenPrimaryGroup 버퍼는 새로 만든 개체에 대한 기본 기본 그룹 SID를 포함하는 TOKEN_PRIMARY_GROUP 구조를 받습니다.
TokenPrivileges 버퍼는 토큰의 권한이 포함된 TOKEN_PRIVILEGES 구조를 받습니다.
TokenSessionId 버퍼는 토큰과 연결된 터미널 서비스 세션 식별자를 나타내는 DWORD 값(포인터가 아님)을 받습니다. 토큰이 터미널 서버 콘솔 세션과 연결된 경우 세션 식별자는 0입니다. 0이 아닌 세션 식별자는 터미널 서비스 클라이언트 세션을 나타냅니다. 터미널이 아닌 서비스 환경에서 세션 식별자는 0입니다.
TokenSource 버퍼는 토큰의 원본을 포함하는 TOKEN_SOURCE 구조를 받습니다. 이 정보를 검색하려면 TOKEN_QUERY_SOURCE 액세스가 필요합니다.
TokenStatistics 버퍼는 다양한 토큰 통계를 포함하는 TOKEN_STATISTICS 구조를 받습니다.
TokenType 버퍼는 토큰이 기본 토큰인지 가장 토큰인지 여부를 나타내는 TOKEN_TYPE 값을 받습니다.
TokenUser 버퍼는 토큰의 사용자 계정을 포함하는 TOKEN_USER 구조를 받습니다.
TokenIntegrityLevel 버퍼는 토큰의 무결성 수준을 지정하는 DWORD 값(포인터가 아님)을 받습니다.

반환 값

반환 코드 설명
STATUS_SUCCESS
SeQueryInformationToken에 대한 호출이 성공했습니다.
STATUS_INVALID_INFO_CLASS
TokenInformationClass에 잘못된 값이 제공되었습니다.

설명

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

요구 사항

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

추가 정보

PsDereferenceImpersonationToken

PsDereferencePrimaryToken

SECURITY_IMPERSONATION_LEVEL

SID

SeQueryAuthenticationIdToken

SeQuerySubjectContextToken

SeTokenIsAdmin

SeTokenIsRestricted

TOKEN_DEFAULT_DACL

TOKEN_GROUPS

TOKEN_INFORMATION_CLASS

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER