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_NETWORK 或 LOGON32_LOGON_NETWORK_CLEARTEXT 的 LogonUser 呼叫,則此值會是零。 |
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) |