SeQueryInformationToken 函数 (ntifs.h)

SeQueryInformationToken 例程检索有关访问令牌的指定类型的信息。 调用进程必须具有适当的访问权限才能获取信息。

语法

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

参数

[in] Token

指向要从中检索信息的访问令牌的指针。 如果 TokenInformationClass 设置为 TokenSource,则句柄必须具有TOKEN_QUERY_SOURCE访问权限。 对于所有其他 TokenInformationClass 值,句柄必须具有TOKEN_QUERY访问权限。

[in] TokenInformationClass

TOKEN_INFORMATION_CLASS 枚举类型的 值,用于标识要检索的信息的类型。

[out] TokenInformation

如果返回 STATUS_SUCCESS,TokenInformation 将收到指向包含保存所请求信息的缓冲区地址的位置的指针。 此信息缓冲区的格式取决于 TokenInformationClass 的值,如下表所示。 请注意,缓冲区由 SeQueryInformationToken 从分页池中分配。 调用方最终必须使用 ExFreePool 释放此缓冲区。

说明
TokenDefaultDacl 缓冲区接收 一个TOKEN_DEFAULT_DACL 结构,该结构包含新创建的对象的默认 DACL。
TokenGroups 缓冲区接收包含与令牌关联的组帐户 的 TOKEN_GROUPS 结构。
TokenImpersonationLevel 缓冲区接收 SECURITY_IMPERSONATION_LEVEL 值,该值指示令牌的模拟级别。 如果访问令牌不是模拟令牌,则对 SeQueryInformationToken 的 调用将失败。
TokenOwner 缓冲区接收 一个TOKEN_OWNER 结构,该结构包含新创建对象的 SID) 的默认所有者安全标识符 (。
TokenPrimaryGroup 缓冲区接收 一个TOKEN_PRIMARY_GROUP 结构,该结构包含新创建对象的默认主组 SID。
TokenPrivileges 缓冲区接收包含令牌特权 的TOKEN_PRIVILEGES 结构。
TokenSessionId 缓冲区接收 DWORD 值 (而不是指向它的指针,) 指示与令牌关联的终端服务会话标识符。 如果令牌与终端服务器控制台会话相关联,则会话标识符为零。 非零会话标识符指示终端服务客户端会话。 在非终端服务环境中,会话标识符为零。
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 中有关这些主题的文档。

要求

要求
最低受支持的客户端 Windows 2000
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library 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