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 函数,或者调用用户模式 LogonUser 函数,dwLogonType 设置为LOGON32_LOGON_NETWORK或LOGON32_LOGON_NETWORK_CLEARTEXT,则此值将为零。

此值从 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
缓冲区接收一个 TOKEN_APPCONTAINER_INFORMATION 结构,该结构包含与令牌关联的 AppContainerSid。 如果令牌未与应用容器关联,则 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
此枚举的最大值。

要求

要求 价值
标头 ntifs.h (include 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