TOKEN_INFORMATION_CLASS枚举 (ntifs.h)

TOKEN_INFORMATION_CLASS 枚举类型包含的值指定要分配给访问令牌或从访问令牌检索的信息类型。

SeQueryInformationTokenZwQueryInformationToken 使用 TOKEN_INFORMATION_CLASS 值来指示要检索的令牌信息的类型。

语法

typedef enum _TOKEN_INFORMATION_CLASS {
  TokenUser,
  TokenGroups,
  TokenPrivileges,
  TokenOwner,
  TokenPrimaryGroup,
  TokenDefaultDacl,
  TokenSource,
  TokenType,
  TokenImpersonationLevel,
  TokenStatistics,
  TokenRestrictedSids,
  TokenSessionId,
  TokenGroupsAndPrivileges,
  TokenSessionReference,
  TokenSandBoxInert,
  TokenAuditPolicy,
  TokenOrigin,
  TokenElevationType,
  TokenLinkedToken,
  TokenElevation,
  TokenHasRestrictions,
  TokenAccessInformation,
  TokenVirtualizationAllowed,
  TokenVirtualizationEnabled,
  TokenIntegrityLevel,
  TokenUIAccess,
  TokenMandatoryPolicy,
  TokenLogonSid,
  TokenIsAppContainer,
  TokenCapabilities,
  TokenAppContainerSid,
  TokenAppContainerNumber,
  TokenUserClaimAttributes,
  TokenDeviceClaimAttributes,
  TokenRestrictedUserClaimAttributes,
  TokenRestrictedDeviceClaimAttributes,
  TokenDeviceGroups,
  TokenRestrictedDeviceGroups,
  TokenSecurityAttributes,
  TokenIsRestricted,
  TokenProcessTrustLevel,
  TokenPrivateNameSpace,
  TokenSingletonAttributes,
  TokenBnoIsolation,
  TokenChildProcessFlags,
  TokenIsLessPrivilegedAppContainer,
  TokenIsSandboxed,
  TokenIsAppSilo,
  TokenLoggingInformation,
  MaxTokenInfoClass
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;

常量

 
TokenUser
缓冲区接收包含令牌用户帐户 的TOKEN_USER 结构。
TokenGroups
缓冲区接收包含与令牌关联的组帐户 的TOKEN_GROUPS 结构。
TokenPrivileges
缓冲区接收包含令牌特权 的TOKEN_PRIVILEGES 结构。
TokenOwner
缓冲区接收包含新创建对象的默认所有者 SID 的TOKEN_OWNER 结构。
TokenPrimaryGroup
缓冲区接收包含新创建对象的默认主组 SID 的TOKEN_PRIMARY_GROUP 结构。
TokenDefaultDacl
缓冲区接收 一个TOKEN_DEFAULT_DACL 结构,其中包含新创建对象的默认自由 ACL (DACL) 。
TokenSource
缓冲区接收包含令牌源 的TOKEN_SOURCE 结构。 检索此信息需要TOKEN_QUERY_SOURCE访问权限。
TokenType
缓冲区接收 一个TOKEN_TYPE 值,该值指示令牌是主令牌还是模拟令牌。
TokenImpersonationLevel
缓冲区接收 一个SECURITY_IMPERSONATION_LEVEL 值,该值指示令牌的模拟级别。 如果访问令牌不是模拟令牌,则对 SeQueryInformationTokenZwQueryInformationToken 的调用将失败。
TokenStatistics
缓冲区接收包含各种令牌统计信息 的TOKEN_STATISTICS 结构。
TokenRestrictedSids
缓冲区接收 一个TOKEN_GROUPS 结构,其中包含受限令牌中限制 SID 的列表。 此值从 Windows Vista 开始有效。
TokenSessionId
缓冲区接收一个 DWORD 值,该值指示与令牌关联的终端服务会话标识符。 如果令牌与终端服务器控制台会话相关联,则会话标识符为零。 非零会话标识符指示终端服务客户端会话。 在非终端服务环境中,会话标识符为零。 此值从 Windows Vista 开始有效。
TokenGroupsAndPrivileges
缓冲区接收 一个TOKEN_GROUPS_AND_PRIVILEGES 结构,该结构包含用户 SID、组帐户、受限 SID 以及与令牌关联的身份验证 ID。 此值从 Windows Vista 开始有效。
TokenSessionReference
预留给系统使用。
TokenSandBoxInert
如果令牌包含SANDBOX_INERT标志,缓冲区将收到非零的 DWORD 值。 此值从 Windows Vista 开始有效。
TokenAuditPolicy
预留给系统使用。
TokenOrigin
缓冲区接收 TOKEN_ORIGIN 值。

如果令牌是使用显式凭据的登录引起的,例如将名称、域和密码传递给用户模式 LogonUser 函数,则 TOKEN_ORIGIN 结构将包含创建该令牌的登录会话的 ID。

如果令牌是网络身份验证导致的,例如调用用户模式 AcceptSecurityContext 函数或调用 dwLogonType 设置为 LOGON32_LOGON_NETWORK 或 LOGON32_LOGON_NETWORK_CLEARTEXT的用户模式 LogonUser 函数,则此值将为零。

此值从 Windows Server 2003 开始有效。
TokenElevationType
TokenLinkedToken
缓冲区接收 一个TOKEN_LINKED_TOKEN 结构,该结构包含链接到此令牌的另一个令牌的句柄。 此值从 Windows Vista 开始有效。
TokenElevation
缓冲区接收 一个TOKEN_ELEVATION 结构,该结构指定是否提升令牌。 此值从 Windows Vista 开始有效。
TokenHasRestrictions
如果已筛选令牌,缓冲区将收到非零的 DWORD 值。 此值从 Windows Vista 开始有效。
TokenAccessInformation
缓冲区接收 一个TOKEN_ACCESS_INFORMATION 结构,该结构指定令牌中包含的安全信息。 此值从 Windows Vista 开始有效。
TokenVirtualizationAllowed
如果允许对令牌进行虚拟化,则缓冲区接收非零的 DWORD 值。 此值从 Windows Vista 开始有效。
TokenVirtualizationEnabled
如果为令牌启用了虚拟化,缓冲区将收到一个非零的 DWORD 值。 此值从 Windows Vista 开始有效。
TokenIntegrityLevel
缓冲区接收指定令牌完整性级别的 TOKEN_MANDATORY_LABEL 结构。 此值从 Windows Vista 开始有效。 对于 SeQueryInformationToken ,输出是 DWORD) (实际完整性级别。
TokenUIAccess
如果令牌设置了 UIAccess 标志,缓冲区将收到非零的 DWORD 值。 此值从 Windows Vista 开始有效。
TokenMandatoryPolicy
缓冲区接收 一个TOKEN_MANDATORY_POLICY 结构,该结构指定令牌的强制完整性策略。 此值从 Windows Vista 开始有效。
TokenLogonSid
缓冲区接收 一个TOKEN_GROUPS 结构,该结构指定令牌的登录 SID。 此值从 Windows Vista 开始有效。
TokenIsAppContainer
如果令牌设置了应用程序容器标志,缓冲区将收到非零的 DWORD 值。 此值从 Windows 8 开始有效。
TokenCapabilities
缓冲区接收每个令牌功能的 TOKEN_GROUPS 结构和 SID_AND_ATTRIBUTES 结构数组。 此值从 Windows 8 开始有效。
TokenAppContainerSid
缓冲区接收包含与令牌关联的 AppContainerSid 的TOKEN_APPCONTAINER_INFORMATION 结构。 如果令牌未与应用容器关联,则 TOKEN_APPCONTAINER_INFORMATION 结构的 TokenAppContainer 成员将指向 NULL。 此值从 Windows 8 开始有效。
TokenAppContainerNumber
缓冲区接收一个 DWORD 值,该值是应用程序容器编号。 此值从 Windows 8 开始有效。
TokenUserClaimAttributes
缓冲区接收 一个CLAIM_SECURITY_ATTRIBUTES_INFORMATION 结构,该结构指定用户的声明属性。 此值从 Windows 8 开始有效。
TokenDeviceClaimAttributes
缓冲区接收 一个CLAIM_SECURITY_ATTRIBUTES_INFORMATION 结构,该结构指定设备的声明属性。 此值从 Windows 8 开始有效。
TokenRestrictedUserClaimAttributes
预留给系统使用。
TokenRestrictedDeviceClaimAttributes
预留给系统使用。
TokenDeviceGroups
缓冲区接收每个设备组 的TOKEN_GROUPS 结构和 SID_AND_ATTRIBUTES 结构数组。 此值从 Windows 8 开始有效。
TokenRestrictedDeviceGroups
预留给系统使用。
TokenSecurityAttributes
预留给系统使用。
TokenIsRestricted
预留给系统使用。
TokenProcessTrustLevel
预留给系统使用。
TokenPrivateNameSpace
预留给系统使用。
TokenSingletonAttributes
预留给系统使用。
TokenBnoIsolation
预留给系统使用。
TokenChildProcessFlags
预留给系统使用。
TokenIsLessPrivilegedAppContainer
如果令牌用于特权较低的应用容器,则返回非零的 DWORD 值。
TokenIsSandboxed
如果令牌用于沙盒进程或应用,则返回非零的 DWORD 值。
TokenIsAppSilo
如果令牌与应用接收器关联,则返回非零的 DWORD 值。
TokenLoggingInformation
缓冲区接收 TOKEN_LOGGING_INFORMATION 结构,其中包含与令牌关联的日志记录信息。
MaxTokenInfoClass
此枚举的最大值。

要求

要求
Header ntifs.h (包括 Ntifs.h)

另请参阅

ACL

SECURITY_IMPERSONATION_LEVEL

SID

SeFilterToken

SeQueryInformationToken

SeTokenIsRestricted

TOKEN_DEFAULT_DACL

TOKEN_GROUPS

TOKEN_ORIGIN

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER

ZwQueryInformationToken

ZwSetInformationToken