Share via


winnt.h) (列舉TOKEN_INFORMATION_CLASS

TOKEN_INFORMATION_CLASS列舉包含值,指定要指派給存取令牌或從存取令牌擷取的信息類型。

GetTokenInformation 函式會使用這些值來指出要擷取的令牌資訊類型。

SetTokenInformation 函式會使用這些值來設定令牌資訊。

Syntax

typedef enum _TOKEN_INFORMATION_CLASS {
  TokenUser = 1,
  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
值: 1
緩衝區會收到
TOKEN_USER 結構,其中包含令牌的用戶帳戶。
TokenGroups
緩衝區會收到
TOKEN_GROUPS 結構,其中包含與令牌相關聯的組帳戶。
TokenPrivileges
緩衝區會收到
TOKEN_PRIVILEGES 包含令牌許可權的結構。
TokenOwner
緩衝區會收到
TOKEN_OWNER 結構,其中包含新建立對象的預設擁有者 安全性標識碼 (SID) 。
TokenPrimaryGroup
緩衝區會收到
TOKEN_PRIMARY_GROUP 結構,其中包含新建立對象的預設主要群組 SID。
TokenDefaultDacl
緩衝區會收到
TOKEN_DEFAULT_DACL 結構,其中包含新建立對象的預設 DACL。
TokenSource
緩衝區會收到
TOKEN_SOURCE 包含令牌來源的結構。 需要TOKEN_QUERY_SOURCE 存取權才能擷取這項資訊。
TokenType
緩衝區會收到
TOKEN_TYPE 值,指出令牌是 主要模擬令牌
TokenImpersonationLevel
緩衝區會收到
SECURITY_IMPERSONATION_LEVEL 值,指出令牌的模擬層級。 如果存取令牌不是 模擬令牌,則函式會失敗。
TokenStatistics
緩衝區會收到
包含各種令牌統計數據的TOKEN_STATISTICS結構。
TokenRestrictedSids
緩衝區會收到
包含 中限制 SID 清單的TOKEN_GROUPS結構
受限制的令牌
TokenSessionId
緩衝區會收到 DWORD 值,指出與令牌相關聯的終端機服務會話標識碼。

如果令牌與終端伺服器用戶端會話相關聯,則會話標識碼為非零。

Windows Server 2003 和 Windows XP: 如果令牌與終端伺服器主控台會話相關聯,則會話標識碼為零。

在非終端機服務環境中,會話標識符為零。

如果 TokenSessionId 是使用 SetTokenInformation 設定的,則應用程式必須具有 作為操作系統許可權的一部分 ,而且必須啟用應用程式,才能在令牌中設定會話標識符。
TokenGroupsAndPrivileges
緩衝區會收到 TOKEN_GROUPS_AND_PRIVILEGES 結構,其中包含使用者 SID、組帳戶、受限制的 SID,以及與令牌相關聯的驗證標識符。
TokenSessionReference
保留的。
TokenSandBoxInert
如果令牌包含SANDBOX_INERT旗標,緩衝區會收到非零的 DWORD 值。
TokenAuditPolicy
保留的。
TokenOrigin
緩衝區會收到 TOKEN_ORIGIN 值。

如果令牌是由使用明確認證的登入所產生,例如將名稱、網域和密碼傳遞至 LogonUser 函式, 則TOKEN_ORIGIN 結構將包含所建立 登入會話 的標識符。

如果令牌是由網路驗證所產生,例如對 AcceptSecurityContext 的呼叫,或是將 dwLogonType 設定為 LOGON32_LOGON_NETWORKLOGON32_LOGON_NETWORK_CLEARTEXTLogonUser 呼叫,則此值會是零。
TokenElevationType
緩衝區會接收 TOKEN_ELEVATION_TYPE 值,指定令牌的提高許可權層級。
TokenLinkedToken
緩衝區會收到 TOKEN_LINKED_TOKEN 結構,其中包含連結至此令牌之另一個令牌的句柄。
TokenElevation
緩衝區會接收 TOKEN_ELEVATION 結構,指定令牌是否提高許可權。
TokenHasRestrictions
如果令牌已經過篩選,緩衝區會收到非零的 DWORD 值。
TokenAccessInformation
緩衝區會接收 TOKEN_ACCESS_INFORMATION 結構,指定令牌中包含的安全性資訊。
TokenVirtualizationAllowed
如果令牌允許虛擬化,緩衝區會收到非零的 DWORD 值。
TokenVirtualizationEnabled
如果已啟用令牌的虛擬化,緩衝區就會收到非零的 DWORD 值。
TokenIntegrityLevel
緩衝區會接收指定令牌完整性層級 的TOKEN_MANDATORY_LABEL 結構。
TokenUIAccess
如果令牌已設定UIAccess旗標,緩衝區會收到非零的 DWORD 值。
TokenMandatoryPolicy
緩衝區會接收 TOKEN_MANDATORY_POLICY 結構,指定令牌的必要完整性原則。
TokenLogonSid
緩衝區會接收指定令牌登入 SID 的TOKEN_GROUPS 結構。
TokenIsAppContainer
如果令牌是應用程式容器令牌,緩衝區會收到非零的 DWORD 值。 任何檢查 TokenIsAppContainer 且傳回 0 的呼叫端也應該確認呼叫端令牌不是識別層級模擬令牌。 如果目前的令牌不是應用程式容器,而是身分識別層級令牌,您應該傳回 AccessDenied
TokenCapabilities
緩衝區會收到 TOKEN_GROUPS 結構,其中包含與令牌相關聯的功能。
TokenAppContainerSid
緩衝區會收到包含與令牌相關聯之 AppContainerSid 的 TOKEN_APPCONTAINER_INFORMATION 結構。 如果令牌未與應用程式容器相關聯,TOKEN_APPCONTAINER_INFORMATION 結構的 TokenAppContainer 成員會指向 NULL
TokenAppContainerNumber
緩衝區會收到 DWORD 值,其中包含令牌的應用程式容器編號。 對於不是應用程式容器令牌的令牌,此值為零。
TokenUserClaimAttributes
緩衝區會收到包含與令牌相關聯之使用者宣告 的CLAIM_SECURITY_ATTRIBUTES_INFORMATION 結構。
TokenDeviceClaimAttributes
緩衝區會收到包含與令牌相關聯之裝置宣告 的CLAIM_SECURITY_ATTRIBUTES_INFORMATION 結構。
TokenRestrictedUserClaimAttributes
這個值是保留的。
TokenRestrictedDeviceClaimAttributes
這個值是保留的。
TokenDeviceGroups
緩衝區會收到包含與令牌相關聯之裝置群組 的TOKEN_GROUPS 結構。
TokenRestrictedDeviceGroups
緩衝區會收到 TOKEN_GROUPS 結構,其中包含與令牌相關聯的受限制裝置群組。
TokenSecurityAttributes
這個值是保留的。
TokenIsRestricted
這個值是保留的。
TokenProcessTrustLevel
TokenPrivateNameSpace
TokenSingletonAttributes
TokenBnoIsolation
TokenChildProcessFlags
TokenIsLessPrivilegedAppContainer
指的是最低許可權的 AppContainer (LPAC) 。 LPAC 實際上是 ALL_APPLICATION_PACKAGES SID 忽略的 AppContainer。 如需 AppContainer 是什麼的相關信息,請參閱 舊版應用程式的 AppContainer

Windows 上的許多資源都是 ACL 與 ALL_APPLICATION_PACKAGES,如 DoNotAddAllApplicationPackagesToRestrictions 中所述。 在您想要執行且沒有任何資源許可權的進程時,除了明確授與 (以外,網頁瀏覽器沙盒化子背景工作進程) ,AppContaoiner 因為ALL_APPLICATION_PACKAGES而無法存取系統。 這就是 LPAC 的所在位置。 您只能透過 API 以命令方式建立 LPAC;不是透過 appxmanifest.xml宣告方式。
MaxTokenInfoClass
這個列舉型別的最大值。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 winnt.h (包含 Windows.h)

另請參閱

存取控制

授權列舉

GetTokenInformation

SECURITY_IMPERSONATION_LEVEL

SetTokenInformation

TOKEN_CONTROL

TOKEN_DEFAULT_DACL

TOKEN_DEVICE_CLAIMS

TOKEN_GROUPS

TOKEN_GROUPS_AND_PRIVILEGES

TOKEN_ORIGIN

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER

TOKEN_USER_CLAIMS