Implement SetThreadToken using NtSetInformationThread.
This commit is contained in:
parent
0cc262c5bf
commit
edf55ec7d9
|
@ -362,11 +362,8 @@ SetTokenInformation( HANDLE token, TOKEN_INFORMATION_CLASS tokeninfoclass,
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI SetThreadToken(PHANDLE thread, HANDLE token)
|
BOOL WINAPI SetThreadToken(PHANDLE thread, HANDLE token)
|
||||||
{
|
{
|
||||||
FIXME("(%p, %p): stub (NT impl. only)\n", thread, token);
|
CallWin32ToNt (NtSetInformationThread( thread ? *thread : GetCurrentThread(),
|
||||||
|
ThreadImpersonationToken, &token, sizeof token ));
|
||||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ##############################
|
/* ##############################
|
||||||
|
|
|
@ -539,12 +539,18 @@ NTSTATUS WINAPI NtSetInformationThread( HANDLE handle, THREADINFOCLASS class,
|
||||||
FIXME( "ZeroTlsCell not supported on other threads\n" );
|
FIXME( "ZeroTlsCell not supported on other threads\n" );
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
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 ThreadBasicInformation:
|
||||||
case ThreadTimes:
|
case ThreadTimes:
|
||||||
case ThreadPriority:
|
case ThreadPriority:
|
||||||
case ThreadBasePriority:
|
case ThreadBasePriority:
|
||||||
case ThreadAffinityMask:
|
case ThreadAffinityMask:
|
||||||
case ThreadImpersonationToken:
|
|
||||||
case ThreadDescriptorTableEntry:
|
case ThreadDescriptorTableEntry:
|
||||||
case ThreadEnableAlignmentFaultFixup:
|
case ThreadEnableAlignmentFaultFixup:
|
||||||
case ThreadEventPair_Reusable:
|
case ThreadEventPair_Reusable:
|
||||||
|
|
Loading…
Reference in New Issue