NtOpenThreadTokenEx ルーチンは、スレッドに関連付けられているアクセス トークンを開きます。
構文
__kernel_entry NTSYSCALLAPI NTSTATUS NtOpenThreadTokenEx(
[in] HANDLE ThreadHandle,
[in] ACCESS_MASK DesiredAccess,
[in] BOOLEAN OpenAsSelf,
[in] ULONG HandleAttributes,
[out] PHANDLE TokenHandle
);
パラメーター
[in] ThreadHandle
アクセス トークンを開くスレッドへのハンドル。 ハンドルにはTHREAD_QUERY_INFORMATIONアクセス権が必要です。 NtCurrentThread マクロを使用して、現在のスレッドを指定します。
[in] DesiredAccess
ACCESS_MASK アクセス トークンへの要求されたアクセスの種類を指定する構造体です。 これらの要求されたアクセスの種類は、トークンの随意アクセス制御リスト (DACL) と比較して、許可または拒否されるアクセス権を決定します。
[in] OpenAsSelf
NtOpenThreadTokenEx を呼び出すスレッドのセキュリティ コンテキストに対してアクセス チェック
このパラメーターが FALSE
[in] HandleAttributes
作成されたハンドルの属性。 現在、OBJ_KERNEL_HANDLEのみがサポートされています。 呼び出し元がシステム プロセス コンテキストで実行されていない場合は、このパラメーターにOBJ_KERNEL_HANDLEを指定する必要があります。
[out] TokenHandle
新しく開かれたアクセス トークンへのハンドルを受け取る呼び出し元によって割り当てられた変数へのポインター。
戻り値
NtOpenThreadTokenEx
リターン コード | 形容 |
---|---|
STATUS_ACCESS_DENIED | |
ThreadHandle にTHREAD_QUERY_INFORMATIONアクセス権がありませんでした。 | |
STATUS_CANT_OPEN_ANONYMOUS | クライアントが SecurityAnonymous 偽装レベルを要求しました。 ただし、匿名トークンを開くことはできません。 詳細については、SECURITY_IMPERSONATION_LEVELを参照してください。 |
STATUS_INVALID_HANDLE | ThreadHandle は有効なハンドルではありません。 |
STATUS_INVALID_PARAMETER | 指定した HandleAttributes にOBJ_KERNEL_HANDLEが含まれていませんでした。 |
STATUS_NO_TOKEN | 現在クライアントを偽装していないスレッドに関連付けられているトークンを開こうとしました。 |
STATUS_OBJECT_TYPE_MISMATCH | ThreadHandle はスレッド ハンドルではありません。 |
備考
NtOpenThreadTokenEx
OpenAsSelf パラメーターを使用すると、クライアント プロセスが列挙型の SecurityIdentification 偽装レベルを指定した場合に、サーバー プロセスでクライアント プロセスのアクセス トークンを開 SECURITY_IMPERSONATION_LEVEL。 このパラメーターがないと、SecurityIdentification 偽装レベルを使用してエグゼクティブ レベルのオブジェクトを開くことができず、呼び出し元プロセスはクライアントのセキュリティ コンテキストを使用してクライアントのアクセス トークンを開くことができません。
NtOpenThreadTokenEx
システム プロセス以外のプロセス コンテキストで実行されるドライバー ルーチンは、NtOpenThreadTokenExの
セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx と ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt および Zw バージョンの使用 を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP |
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を |
HwStorPortProhibitedDIs、PowerIrpDDis |
関連項目
PsDereferencePrimaryToken の