Added patch with vectored continue handler functions.

This commit is contained in:
Sebastian Lackner
2014-11-08 07:20:27 +01:00
parent 8308e3a332
commit b0f0338a95
5 changed files with 111 additions and 1 deletions

View File

@@ -63,6 +63,7 @@ PATCHLIST := \
ntdll-NtSetLdtEntries.ok \
ntdll-Pipe_SpecialCharacters.ok \
ntdll-ThreadTime.ok \
ntdll-Vectored_Continue_Handler.ok \
ntdll-WRITECOPY.ok \
ntoskrnl-IoCsqInitialize.ok \
ntoskrnl-Irp_Status.ok \
@@ -1014,6 +1015,24 @@ ntdll-ThreadTime.ok:
echo '+ { "ntdll-ThreadTime", "Sebastian Lackner", "Return correct values in GetThreadTimes() for all threads." },'; \
) > ntdll-ThreadTime.ok
# Patchset ntdll-Vectored_Continue_Handler
# |
# | Included patches:
# | * Add stubs for vectored continue handler. [by Austin English]
# |
# | This patchset fixes the following Wine bugs:
# | * [#30572] Add stubs for vectored continue handler
# |
# | Modified files:
# | * dlls/kernel32/kernel32.spec, dlls/ntdll/exception.c, dlls/ntdll/ntdll.spec
# |
.INTERMEDIATE: ntdll-Vectored_Continue_Handler.ok
ntdll-Vectored_Continue_Handler.ok:
$(call APPLY_FILE,ntdll-Vectored_Continue_Handler/0001-ntdll-Add-stubs-for-vectored-continue-handler.patch)
@( \
echo '+ { "ntdll-Vectored_Continue_Handler", "Austin English", "Add stubs for vectored continue handler." },'; \
) > ntdll-Vectored_Continue_Handler.ok
# Patchset ntdll-WRITECOPY
# |
# | Included patches:

View File

@@ -0,0 +1,85 @@
From ac879ee5145cd109de35035d0d5a147de4479eba Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Sat, 8 Nov 2014 07:14:26 +0100
Subject: ntdll: Add stubs for vectored continue handler.
---
dlls/kernel32/kernel32.spec | 2 ++
dlls/ntdll/exception.c | 20 ++++++++++++++++++++
dlls/ntdll/ntdll.spec | 2 ++
3 files changed, 24 insertions(+)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 2b01df1..c072780 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -143,6 +143,7 @@
# @ stub AddLocalAlternateComputerNameA
# @ stub AddLocalAlternateComputerNameW
@ stdcall AddRefActCtx(ptr)
+@ stdcall AddVectoredContinueHandler(long ptr) ntdll.RtlAddVectoredContinueHandler
@ stdcall AddVectoredExceptionHandler(long ptr) ntdll.RtlAddVectoredExceptionHandler
@ stdcall AllocConsole()
@ stub -i386 AllocLSCallback
@@ -1026,6 +1027,7 @@
@ stdcall RemoveDirectoryW(wstr)
# @ stub RemoveLocalAlternateComputerNameA
# @ stub RemoveLocalAlternateComputerNameW
+@ stdcall RemoveVectoredContinueHandler(ptr) ntdll.RtlRemoveVectoredContinueHandler
@ stdcall RemoveVectoredExceptionHandler(ptr) ntdll.RtlRemoveVectoredExceptionHandler
@ stdcall ReplaceFile(wstr wstr wstr long ptr ptr) ReplaceFileW
@ stdcall ReplaceFileA(str str str long ptr ptr)
diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c
index 31d5edd..25770ef 100644
--- a/dlls/ntdll/exception.c
+++ b/dlls/ntdll/exception.c
@@ -224,6 +224,26 @@ void WINAPI RtlRaiseStatus( NTSTATUS status )
/*******************************************************************
+ * RtlAddVectoredContinueHandler (NTDLL.@)
+ */
+PVOID WINAPI RtlAddVectoredContinueHandler( ULONG first, PVECTORED_EXCEPTION_HANDLER func )
+{
+ FIXME("%u %p stub\n", first, func);
+ return NULL;
+}
+
+
+/*******************************************************************
+ * RtlRemoveVectoredContinueHandler (NTDLL.@)
+ */
+PVOID WINAPI RtlRemoveVectoredContinueHandler( PVOID handler )
+{
+ FIXME("%p stub\n", handler);
+ return NULL;
+}
+
+
+/*******************************************************************
* RtlAddVectoredExceptionHandler (NTDLL.@)
*/
PVOID WINAPI RtlAddVectoredExceptionHandler( ULONG first, PVECTORED_EXCEPTION_HANDLER func )
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 5bac269..7e95969 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -415,6 +415,7 @@
@ cdecl -arch=arm,x86_64 RtlAddFunctionTable(ptr long long)
@ stdcall RtlAddRefActivationContext(ptr)
# @ stub RtlAddRefMemoryStream
+@ stdcall RtlAddVectoredContinueHandler(long ptr)
@ stdcall RtlAddVectoredExceptionHandler(long ptr)
# @ stub RtlAddressInSectionTable
@ stdcall RtlAdjustPrivilege(long long long ptr)
@@ -819,6 +820,7 @@
@ stdcall RtlReleaseSRWLockExclusive(ptr)
@ stdcall RtlReleaseSRWLockShared(ptr)
@ stub RtlRemoteCall
+@ stdcall RtlRemoveVectoredContinueHandler(ptr)
@ stdcall RtlRemoveVectoredExceptionHandler(ptr)
@ stub RtlResetRtlTranslations
@ stdcall RtlRestoreLastWin32Error(long) RtlSetLastWin32Error
--
2.1.3

View File

@@ -0,0 +1,4 @@
Author: Austin English
Subject: Add stubs for vectored continue handler.
Revision: 1
Fixes: [30572] Add stubs for vectored continue handler