次の方法で共有


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

こちらもご覧ください

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck