共用方式為


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 陣列來指出要檢查的許可權集。 如果必須啟用所有許可權,請將 控件 成員設定為PRIVILEGE_SET_ALL_NECESSARY;或將它設定為零,如果它足以啟用任何一個許可權。

當 SePrivilegeCheck 傳回時,如果啟用對應的許可權,則每個LUID_AND_ATTRIBUTES結構的 Attributes 成員會設定為 SE_PRIVILEGE_USED_FOR_ACCESS。

[in] SubjectSecurityContext

主體所擷取安全性內容的指標。

[in] AccessMode

用於許可權檢查的存取模式。 UserModeKernelMode。 如果 AccessMode 設定為 KernelMode,則所有許可權都會標示為主體擁有, 而 SePrivilegeCheck 會傳回 TRUE

傳回值

如果主體保留所有指定的許可權,SePrivilegeCheck 會傳回 TRUE,否則為 FALSE

備註

存取令牌包含與令牌相關聯之帳戶所持有的許可權清單。 這些許可權可以啟用或停用;大部分預設為停用。 SePrivilegeCheck 只會檢查已啟用的許可權。 若要取得存取令牌所持有之所有已啟用和停用許可權的清單,請呼叫 SeQueryInformationToken

如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程序開發人員的 Windows 安全性模型 ,以及 Windows SDK 中有關這些主題的檔。

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL

另請參閱

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck