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 に設定します。または、いずれかの特権を有効にするだけで十分な場合は、0 に設定します。

SePrivilegeCheck が返されると、対応する特権が有効になっている場合、各LUID_AND_ATTRIBUTES構造体の Attributes メンバーはSE_PRIVILEGE_USED_FOR_ACCESSに設定されます。

[in] SubjectSecurityContext

サブジェクトのキャプチャされたセキュリティ コンテキストへのポインター。

[in] AccessMode

特権チェックに使用するアクセス モード。 UserMode または KernelModeAccessModeKernelMode に設定されている場合、すべての特権はサブジェクトによって所有されているとマークされ、SePrivilegeCheck はTRUE を返します。

戻り値

SePrivilegeCheck は、指定されたすべての特権がサブジェクトによって保持されている場合は TRUE を返し、それ以外の場合は FALSE を 返します。

注釈

アクセス トークンには、トークンに関連付けられているアカウントによって保持されている特権の一覧が含まれます。 これらの特権は有効または無効にすることができます。は既定で無効になっています。 SePrivilegeCheck は 、有効な特権のみをチェックします。 アクセス トークンによって保持されているすべての有効および無効な特権の一覧を取得するには、 SeQueryInformationToken を呼び出します。

セキュリティとアクセス制御の詳細については、 ドライバー開発者向けの Windows セキュリティ モデル と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL

こちらもご覧ください

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck