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 または KernelMode。 AccessMode が KernelMode に設定されている場合、すべての特権はサブジェクトによって所有されているとマークされ、SePrivilegeCheck はTRUE を返します。
戻り値
SePrivilegeCheck は、指定されたすべての特権がサブジェクトによって保持されている場合は TRUE を返し、それ以外の場合は FALSE を 返します。
注釈
アクセス トークンには、トークンに関連付けられているアカウントによって保持されている特権の一覧が含まれます。 これらの特権は有効または無効にすることができます。は既定で無効になっています。 SePrivilegeCheck は 、有効な特権のみをチェックします。 アクセス トークンによって保持されているすべての有効および無効な特権の一覧を取得するには、 SeQueryInformationToken を呼び出します。
セキュリティとアクセス制御の詳細については、 ドライバー開発者向けの Windows セキュリティ モデル と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |