SetThreadToken 関数 (processthreadsapi.h)

SetThreadToken 関数は、偽装トークンをスレッドに割り当てます。 関数を使用すると、スレッドが偽装トークンの使用を停止する可能性もあります。

構文

BOOL SetThreadToken(
  [in, optional] PHANDLE Thread,
  [in, optional] HANDLE  Token
);

パラメーター

[in, optional] Thread

関数が偽装トークンを割り当てるスレッドへのハンドルへのポインター。

ThreadNULL の場合、関数は偽装トークンを呼び出し元のスレッドに割り当てます。

[in, optional] Token

スレッドに割り当てる偽装トークンへのハンドル。 このハンドルは TOKEN_IMPERSONATE アクセス権で開かれている必要があります。 詳細については、「 Access-Token オブジェクトのアクセス権」を参照してください。

TokenNULL の場合、関数によってスレッドが偽装トークンの使用を停止します。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

SetThreadToken 関数を使用して権限を借用する場合は、権限借用特権を持ち、RevertToSelf 関数を呼び出す前に SetThreadToken 関数が成功することを確認する必要があります。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー processthreadsapi.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

アクセス制御の概要

基本的なAccess Control関数

OpenThreadToken