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 |
Header | ntifs.h |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |