kernel32: Implement Wow64SetThreadContext().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
e50c507cf6
commit
2c551a9054
|
@ -1603,7 +1603,7 @@
|
|||
@ stdcall Wow64GetThreadContext(long ptr)
|
||||
# @ stub Wow64GetThreadSelectorEntry
|
||||
@ stdcall Wow64RevertWow64FsRedirection(ptr)
|
||||
# @ stub Wow64SetThreadContext
|
||||
@ stdcall Wow64SetThreadContext(long ptr)
|
||||
# @ stub Wow64SuspendThread
|
||||
@ stdcall WriteConsoleA(long ptr long ptr ptr)
|
||||
@ stdcall WriteConsoleInputA(long ptr long ptr)
|
||||
|
|
|
@ -235,6 +235,23 @@ BOOL WINAPI SetThreadContext( HANDLE handle, /* [in] Handle to thread
|
|||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* Wow64SetThreadContext [KERNEL32.@]
|
||||
*/
|
||||
BOOL WINAPI Wow64SetThreadContext( HANDLE handle, const WOW64_CONTEXT *context)
|
||||
{
|
||||
#ifdef __i386__
|
||||
NTSTATUS status = NtSetContextThread( handle, (const CONTEXT *)context );
|
||||
#elif defined(__x86_64__)
|
||||
NTSTATUS status = RtlWow64SetThreadContext( handle, context );
|
||||
#else
|
||||
NTSTATUS status = STATUS_NOT_IMPLEMENTED;
|
||||
FIXME("not implemented on this platform\n");
|
||||
#endif
|
||||
if (status) SetLastError( RtlNtStatusToDosError(status) );
|
||||
return !status;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* GetThreadContext [KERNEL32.@] Retrieves context of thread.
|
||||
*
|
||||
|
|
|
@ -2708,6 +2708,7 @@ WINBASEAPI BOOL WINAPI Wow64DisableWow64FsRedirection(PVOID*);
|
|||
WINBASEAPI BOOLEAN WINAPI Wow64EnableWow64FsRedirection(BOOLEAN);
|
||||
WINBASEAPI BOOL WINAPI Wow64GetThreadContext(HANDLE, WOW64_CONTEXT *);
|
||||
WINBASEAPI BOOL WINAPI Wow64RevertWow64FsRedirection(PVOID);
|
||||
WINBASEAPI BOOL WINAPI Wow64SetThreadContext(HANDLE, const WOW64_CONTEXT *);
|
||||
WINADVAPI DWORD WINAPI WriteEncryptedFileRaw(PFE_IMPORT_FUNC,PVOID,PVOID);
|
||||
WINBASEAPI BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
|
||||
WINBASEAPI BOOL WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
|
||||
|
|
|
@ -2838,6 +2838,7 @@ NTSYSAPI NTSTATUS WINAPI RtlWow64EnableFsRedirection(BOOLEAN);
|
|||
NTSYSAPI NTSTATUS WINAPI RtlWow64EnableFsRedirectionEx(ULONG,ULONG*);
|
||||
#ifdef __x86_64__
|
||||
NTSYSAPI NTSTATUS WINAPI RtlWow64GetThreadContext(HANDLE, WOW64_CONTEXT *);
|
||||
NTSYSAPI NTSTATUS WINAPI RtlWow64SetThreadContext(HANDLE, const WOW64_CONTEXT *);
|
||||
#endif
|
||||
NTSYSAPI NTSTATUS WINAPI RtlWriteRegistryValue(ULONG,PCWSTR,PCWSTR,ULONG,PVOID,ULONG);
|
||||
NTSYSAPI NTSTATUS WINAPI RtlZombifyActivationContext(HANDLE);
|
||||
|
|
Loading…
Reference in New Issue