Alexandre Julliard : ntdll: Add a stub for NtCallbackReturn().
Alexandre Julliard
julliard at winehq.org
Tue Aug 17 16:26:51 CDT 2021
Module: wine
Branch: master
Commit: daa1886a2c676675d0ebf1038e8c9e74cc2d0bd7
URL: https://source.winehq.org/git/wine.git/?a=commit;h=daa1886a2c676675d0ebf1038e8c9e74cc2d0bd7
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Aug 17 11:52:35 2021 +0200
ntdll: Add a stub for NtCallbackReturn().
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/ntdll.spec | 2 +-
dlls/ntdll/tests/exception.c | 9 +++++++++
dlls/ntdll/unix/signal_arm.c | 9 +++++++++
dlls/ntdll/unix/signal_arm64.c | 9 +++++++++
dlls/ntdll/unix/signal_i386.c | 9 +++++++++
dlls/ntdll/unix/signal_x86_64.c | 9 +++++++++
6 files changed, 46 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 36d997d1762..46403b3f4a1 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -145,7 +145,7 @@
@ stdcall -syscall NtAllocateVirtualMemoryEx(long ptr ptr long long ptr long)
@ stdcall -syscall NtAreMappedFilesTheSame(ptr ptr)
@ stdcall -syscall NtAssignProcessToJobObject(long long)
-# @ stub NtCallbackReturn
+@ stdcall -syscall NtCallbackReturn(ptr long long)
# @ stub NtCancelDeviceWakeupRequest
@ stdcall -syscall NtCancelIoFile(long ptr)
@ stdcall -syscall NtCancelIoFileEx(long ptr ptr)
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index 8bede41ee49..f79a302d4aa 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -39,6 +39,7 @@ static NTSTATUS (WINAPI *pNtGetContextThread)(HANDLE,CONTEXT*);
static NTSTATUS (WINAPI *pNtSetContextThread)(HANDLE,CONTEXT*);
static NTSTATUS (WINAPI *pNtQueueApcThread)(HANDLE handle, PNTAPCFUNC func,
ULONG_PTR arg1, ULONG_PTR arg2, ULONG_PTR arg3);
+static NTSTATUS (WINAPI *pNtCallbackReturn)( void *ret_ptr, ULONG ret_len, NTSTATUS status );
static NTSTATUS (WINAPI *pRtlRaiseException)(EXCEPTION_RECORD *rec);
static PVOID (WINAPI *pRtlUnwind)(PVOID, PVOID, PEXCEPTION_RECORD, PVOID);
static VOID (WINAPI *pRtlCaptureContext)(CONTEXT*);
@@ -7252,6 +7253,12 @@ static void test_user_apc(void)
ok(test_apc_called, "Test user APC was not called.\n");
}
+static void test_user_callback(void)
+{
+ NTSTATUS status = pNtCallbackReturn( NULL, 0, STATUS_SUCCESS );
+ ok( status == STATUS_NO_CALLBACK_ACTIVE, "failed %x\n", status );
+}
+
static DWORD WINAPI suspend_thread_test( void *arg )
{
HANDLE event = arg;
@@ -9135,6 +9142,7 @@ START_TEST(exception)
X(NtGetContextThread);
X(NtSetContextThread);
X(NtQueueApcThread);
+ X(NtCallbackReturn);
X(NtReadVirtualMemory);
X(NtClose);
X(RtlUnwind);
@@ -9329,6 +9337,7 @@ START_TEST(exception)
NtCurrentTeb()->Peb->BeingDebugged = 0;
test_user_apc();
+ test_user_callback();
test_vectored_continue_handler();
test_suspend_thread();
test_suspend_process();
diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c
index a86805b113c..1d9b02fe2a3 100644
--- a/dlls/ntdll/unix/signal_arm.c
+++ b/dlls/ntdll/unix/signal_arm.c
@@ -575,6 +575,15 @@ NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context
}
+/***********************************************************************
+ * NtCallbackReturn (NTDLL.@)
+ */
+NTSTATUS WINAPI NtCallbackReturn( void *ret_ptr, ULONG ret_len, NTSTATUS status )
+{
+ return STATUS_NO_CALLBACK_ACTIVE;
+}
+
+
/***********************************************************************
* handle_syscall_fault
*
diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c
index 0ce6206aa9d..4f3dce3d26b 100644
--- a/dlls/ntdll/unix/signal_arm64.c
+++ b/dlls/ntdll/unix/signal_arm64.c
@@ -722,6 +722,15 @@ NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context
}
+/***********************************************************************
+ * NtCallbackReturn (NTDLL.@)
+ */
+NTSTATUS WINAPI NtCallbackReturn( void *ret_ptr, ULONG ret_len, NTSTATUS status )
+{
+ return STATUS_NO_CALLBACK_ACTIVE;
+}
+
+
/***********************************************************************
* handle_syscall_fault
*
diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c
index 72aff4614ca..3f74761fc75 100644
--- a/dlls/ntdll/unix/signal_i386.c
+++ b/dlls/ntdll/unix/signal_i386.c
@@ -1579,6 +1579,15 @@ NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context
}
+/***********************************************************************
+ * NtCallbackReturn (NTDLL.@)
+ */
+NTSTATUS WINAPI NtCallbackReturn( void *ret_ptr, ULONG ret_len, NTSTATUS status )
+{
+ return STATUS_NO_CALLBACK_ACTIVE;
+}
+
+
/**********************************************************************
* get_fpu_code
*
diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c
index 390121726ad..c2e3c9e1753 100644
--- a/dlls/ntdll/unix/signal_x86_64.c
+++ b/dlls/ntdll/unix/signal_x86_64.c
@@ -2275,6 +2275,15 @@ NTSTATUS call_user_exception_dispatcher( EXCEPTION_RECORD *rec, CONTEXT *context
}
+/***********************************************************************
+ * NtCallbackReturn (NTDLL.@)
+ */
+NTSTATUS WINAPI NtCallbackReturn( void *ret_ptr, ULONG ret_len, NTSTATUS status )
+{
+ return STATUS_NO_CALLBACK_ACTIVE;
+}
+
+
/***********************************************************************
* is_privileged_instr
*
More information about the wine-cvs
mailing list