Alexandre Julliard : wow64: Implement Wow64PrepareForException().
Alexandre Julliard
julliard at winehq.org
Wed Dec 1 15:23:48 CST 2021
Module: wine
Branch: master
Commit: 971480aaccc3d96bd471f50b23479c6acdf7fe2f
URL: https://source.winehq.org/git/wine.git/?a=commit;h=971480aaccc3d96bd471f50b23479c6acdf7fe2f
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Dec 1 11:25:00 2021 +0100
wow64: Implement Wow64PrepareForException().
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wow64/syscall.c | 13 +++++++++++++
dlls/wow64/wow64.spec | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/dlls/wow64/syscall.c b/dlls/wow64/syscall.c
index 952b862a37d..74fc8d9905e 100644
--- a/dlls/wow64/syscall.c
+++ b/dlls/wow64/syscall.c
@@ -79,6 +79,7 @@ static const SYSTEM_SERVICE_TABLE *psdwhwin32;
static void * (WINAPI *pBTCpuGetBopCode)(void);
static void (WINAPI *pBTCpuProcessInit)(void);
static void (WINAPI *pBTCpuSimulate)(void);
+static NTSTATUS (WINAPI *pBTCpuResetToConsistentState)( EXCEPTION_POINTERS * );
void *dummy = RtlUnwind;
@@ -534,6 +535,7 @@ static DWORD WINAPI process_init( RTL_RUN_ONCE *once, void *param, void **contex
module = load_64bit_module( get_cpu_dll_name() );
GET_PTR( BTCpuGetBopCode );
GET_PTR( BTCpuProcessInit );
+ GET_PTR( BTCpuResetToConsistentState );
GET_PTR( BTCpuSimulate );
module = load_64bit_module( L"wow64win.dll" );
@@ -769,3 +771,14 @@ void WINAPI Wow64LdrpInitialize( CONTEXT *context )
thread_init();
pBTCpuSimulate();
}
+
+
+/**********************************************************************
+ * Wow64PrepareForException (wow64.@)
+ */
+void WINAPI Wow64PrepareForException( EXCEPTION_RECORD *rec, CONTEXT *context )
+{
+ EXCEPTION_POINTERS ptrs = { rec, context };
+
+ pBTCpuResetToConsistentState( &ptrs );
+}
diff --git a/dlls/wow64/wow64.spec b/dlls/wow64/wow64.spec
index 69275b2580f..5c3f39c50f1 100644
--- a/dlls/wow64/wow64.spec
+++ b/dlls/wow64/wow64.spec
@@ -15,7 +15,7 @@
@ stub Wow64NotifyUnsimulateComplete
@ stdcall Wow64PassExceptionToGuest(ptr)
@ stub Wow64PrepareForDebuggerAttach
-@ stub Wow64PrepareForException
+@ stdcall Wow64PrepareForException(ptr ptr)
@ stub Wow64RaiseException
@ stub Wow64ShallowThunkAllocObjectAttributes32TO64_FNC
@ stub Wow64ShallowThunkAllocSecurityQualityOfService32TO64_FNC
More information about the wine-cvs
mailing list