ntPrivilegeCheck 函式 (ntifs.h)

NtPrivilegeCheck 保留供系統使用。

語法

__kernel_entry NTSYSCALLAPI NTSTATUS NtPrivilegeCheck(
  [in]      HANDLE         ClientToken,
  [in, out] PPRIVILEGE_SET RequiredPrivileges,
  [out]     PBOOLEAN       Result
);

參數

[in] ClientToken

Token 物件的句柄,表示嘗試存取的用戶端。 此句柄必須從通訊會話層取得,例如從 LPC 埠或本機命名管道取得,以避免可能的安全策略違規。

[in, out] RequiredPrivileges

PRIVILEGE_SET 結構的指標。 這個結構的 Privilege 成員是LUID_AND_ATTRIBUTES結構的數位。 在呼叫 SePrivilegeCheck 之前,請使用 Privilege 陣列來指出要檢查的許可權集合。 如果必須啟用所有許可權,請將 Control 成員設定為 PRIVILEGE_SET_ALL_NECESSARY;如果它足以啟用任何一個許可權,則將其設定為零。

[out] Result

接收布爾值旗標,指出用戶端是否有所有指定的許可權。 TRUE 值表示用戶端具有所有指定的許可權;否則會傳回 FALSE 的值。

傳回值

NtPrivilegeCheck 會在成功完成時傳回STATUS_SUCCESS。 否則,它會傳回錯誤碼,例如下列內容。

傳回碼 Description
STATUS_PRIVILEGE_NOT_HELD 呼叫端沒有足夠的許可權可以使用這個具特殊許可權的系統服務。

備註

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

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

規格需求

需求
最低支援的用戶端 Windows XP
標頭 ntifs.h
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe

另請參閱

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck