TOKEN_INFORMATION_CLASS 枚举类型包含值,这些值指定要分配给访问令牌或从访问令牌检索的信息类型。
SeQueryInformationToken 和 ZwQueryInformationToken 使用 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,
TokenLearningMode,
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 值。 如果访问令牌不是模拟令牌,则调用 SeQueryInformationToken 或 ZwQueryInformationToken 失败。 |
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) |