Commit edf55ec7 authored by Mike McCormack's avatar Mike McCormack Committed by Alexandre Julliard

Implement SetThreadToken using NtSetInformationThread.

parent 0cc262c5
......@@ -362,11 +362,8 @@ SetTokenInformation( HANDLE token, TOKEN_INFORMATION_CLASS tokeninfoclass,
*/
BOOL WINAPI SetThreadToken(PHANDLE thread, HANDLE token)
{
FIXME("(%p, %p): stub (NT impl. only)\n", thread, token);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
CallWin32ToNt (NtSetInformationThread( thread ? *thread : GetCurrentThread(),
ThreadImpersonationToken, &token, sizeof token ));
}
/* ##############################
......
......@@ -539,12 +539,18 @@ NTSTATUS WINAPI NtSetInformationThread( HANDLE handle, THREADINFOCLASS class,
FIXME( "ZeroTlsCell not supported on other threads\n" );
return STATUS_NOT_IMPLEMENTED;
case ThreadImpersonationToken:
{
const HANDLE *phToken = data;
if (length != sizeof(HANDLE)) return STATUS_INVALID_PARAMETER;
FIXME("Set ThreadImpersonationToken handle to %p\n", *phToken );
return STATUS_SUCCESS;
}
case ThreadBasicInformation:
case ThreadTimes:
case ThreadPriority:
case ThreadBasePriority:
case ThreadAffinityMask:
case ThreadImpersonationToken:
case ThreadDescriptorTableEntry:
case ThreadEnableAlignmentFaultFixup:
case ThreadEventPair_Reusable:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment