SetThreadToken 関数 (processthreadsapi.h)
SetThreadToken 関数は、偽装トークンをスレッドに割り当てます。 関数を使用すると、スレッドが偽装トークンの使用を停止する可能性もあります。
構文
BOOL SetThreadToken(
[in, optional] PHANDLE Thread,
[in, optional] HANDLE Token
);
パラメーター
[in, optional] Thread
関数が偽装トークンを割り当てるスレッドへのハンドルへのポインター。
Thread が NULL の場合、関数は偽装トークンを呼び出し元のスレッドに割り当てます。
[in, optional] Token
スレッドに割り当てる偽装トークンへのハンドル。 このハンドルは TOKEN_IMPERSONATE アクセス権で開かれている必要があります。 詳細については、「 Access-Token オブジェクトのアクセス権」を参照してください。
Token が NULL の場合、関数によってスレッドが偽装トークンの使用を停止します。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
SetThreadToken 関数を使用して権限を借用する場合は、権限借用特権を持ち、RevertToSelf 関数を呼び出す前に SetThreadToken 関数が成功することを確認する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | processthreadsapi.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |