次の方法で共有


NtPrivilegeCheck 関数 (ntifs.h)

NtPrivilegeCheck は、システムで使用するために予約されています。

構文

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

パラメーター

[in] ClientToken

アクセスを試みるクライアントを表すトークン オブジェクトへのハンドル。 このハンドルは、セキュリティ ポリシー違反の可能性を防ぐために、LPC ポートやローカル名前付きパイプなどの通信セッション 層から取得する必要があります。

[in, out] RequiredPrivileges

PRIVILEGE_SET 構造体へのポインター。 この構造体の Privilege メンバーは、LUID_AND_ATTRIBUTES構造体の配列です。 SePrivilegeCheck 呼び出す前に、Privilege 配列を使用して、確認する権限のセットを示します。 すべての特権を有効にする必要がある場合は、Control メンバーをPRIVILEGE_SET_ALL_NECESSARYに設定します。または、いずれかの特権を有効にするだけで十分な場合は 0 に設定します。

[out] Result

指定されたすべての権限をクライアントが持っているかどうかを示すブール値フラグを受け取ります。 値 TRUE は、クライアントに指定されたすべての特権があることを示します。それ以外の場合は、FALSE の値が返されます。

戻り値

NtPrivilegeCheck 、正常に完了するとSTATUS_SUCCESSが返されます。 それ以外の場合は、次のようなエラー コードが返されます。

リターン コード 形容
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