SeQueryInformationToken 函式 (ntifs.h)
SeQueryInformationToken 例程會擷取存取令牌的指定類型資訊。 呼叫進程必須具有適當的訪問許可權,才能取得資訊。
語法
NTSTATUS SeQueryInformationToken(
[in] PACCESS_TOKEN Token,
[in] TOKEN_INFORMATION_CLASS TokenInformationClass,
[out] PVOID *TokenInformation
);
參數
[in] Token
要從中擷取資訊的存取令牌指標。 如果 TokenInformationClass 設定為 TokenSource,句柄必須具有TOKEN_QUERY_SOURCE存取權。 對於所有其他 TokenInformationClass 值,句柄必須具有TOKEN_QUERY存取權。
[in] TokenInformationClass
來自 TOKEN_INFORMATION_CLASS 列舉型別的值,識別要擷取的信息類型。
[out] TokenInformation
如果傳回 STATUS_SUCCESS,TokenInformation 會收到包含所要求資訊之緩衝區位址的位置指標。 此資訊緩衝區的格式取決於 TokenInformationClass 的值,如下表所示。 請注意, 緩衝區是由 SeQueryInformationToken 從分頁集區配置。 此緩衝區最終必須由呼叫端使用 ExFreePool 釋放。
值 | Description |
---|---|
TokenDefaultDacl | 緩衝區會收到 TOKEN_DEFAULT_DACL 結構,其中包含新建立對象的預設 DACL。 |
TokenGroups | 緩衝區會接收 TOKEN_GROUPS 結構,其中包含與令牌相關聯的組帳戶。 |
TokenImpersonationLevel | 緩衝區會收到 SECURITY_IMPERSONATION_LEVEL 值,指出令牌的模擬層級。 如果存取令牌不是模擬令牌, 則對 SeQueryInformationToken 的呼叫會失敗。 |
TokenOwner | 緩衝區會接收 TOKEN_OWNER 結構,其中包含新建立對象的預設擁有者安全性標識碼 (SID) 。 |
TokenPrimaryGroup | 緩衝區會接收 TOKEN_PRIMARY_GROUP 結構,其中包含新建立對象的預設主要群組 SID。 |
TokenPrivileges | 緩衝區會接收包含令牌許可權 的TOKEN_PRIVILEGES 結構。 |
TokenSessionId | 緩衝區會收到 DWORD 值, (不是指向它的指標,) 指出與令牌相關聯的終端機服務會話標識符。 如果令牌與終端伺服器主控台會話相關聯,則會話標識碼為零。 非零會話標識元表示終端機服務用戶端會話。 在非終端機服務環境中,會話標識符為零。 |
TokenSource | 緩衝區會接收包含令牌來源 的TOKEN_SOURCE 結構。 需要TOKEN_QUERY_SOURCE存取權才能擷取這項資訊。 |
TokenStatistics | 緩衝區會接收包含各種令牌統計數據 的TOKEN_STATISTICS 結構。 |
TokenType | 緩衝區會收到 TOKEN_TYPE 值,指出令牌是主要或模擬令牌。 |
TokenUser | 緩衝區會接收包含令牌用戶帳戶 的TOKEN_USER 結構。 |
TokenIntegrityLevel | 緩衝區會接收 DWORD 值, (不是指定令牌完整性層級) 指標。 |
傳回值
傳回碼 | Description |
---|---|
|
對 SeQueryInformationToken 的呼叫成功。 |
|
為 TokenInformationClass 提供無效的值。 |
備註
如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程序開發人員的 Windows 安全性模型 ,以及 Windows SDK 中這些主題的相關文件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |