SePrivilegeCheck 函式 (ntifs.h)
SePrivilegeCheck 例程會決定是否在主體的存取令牌中啟用一組指定的許可權。
語法
BOOLEAN SePrivilegeCheck(
[in, out] PPRIVILEGE_SET RequiredPrivileges,
[in] PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
[in] KPROCESSOR_MODE AccessMode
);
參數
[in, out] RequiredPrivileges
PRIVILEGE_SET 結構的指標。 這個結構的 Privilege 成員是LUID_AND_ATTRIBUTES結構的數位。 在呼叫 SePrivilegeCheck之前,請使用 Privilege 陣列來指出要檢查的許可權集。 如果必須啟用所有許可權,請將 Control 成員設定為PRIVILEGE_SET_ALL_NECESSARY;如果啟用任何一個許可權就已足夠,或將它設定為零。
當 sePrivilegeCheck 傳回 時,如果啟用對應的許可權,則每個LUID_AND_ATTRIBUTES結構 成員 屬性會設定為SE_PRIVILEGE_USED_FOR_ACCESS。
[in] SubjectSecurityContext
主體所擷取安全性內容的指標。
[in] AccessMode
用於許可權檢查的存取模式。 UserMode 或 KernelMode。 如果 AccessMode 設定為 KernelMode,則所有許可權都會標示為主體擁有,而 sePrivilegeCheck 會傳回 TRUE 。
傳回值
如果主體持有所有指定的許可權,SePrivilegeCheck 會傳回 true TRUE,否則 FALSE。
言論
存取令牌包含與令牌相關聯之帳戶所持有的許可權清單。 這些許可權可以啟用或停用;大部分預設為停用。 SePrivilegeCheck 只會檢查已啟用的許可權。 若要取得存取令牌所持有之所有已啟用和停用許可權的清單,請呼叫 SeQueryInformationToken。
如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程式開發人員的 Windows 安全性模型,以及 Windows SDK 中這些主題的檔。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | ntifs.h (include Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |