ntdll: Add a stub for NtCallbackReturn().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2021-08-17 11:52:35 +02:00
parent 4a6fb0307b
commit daa1886a2c
6 changed files with 46 additions and 1 deletions

View File

@ -145,7 +145,7 @@
@ stdcall -syscall NtAllocateVirtualMemoryEx(long ptr ptr long long ptr long) @ stdcall -syscall NtAllocateVirtualMemoryEx(long ptr ptr long long ptr long)
@ stdcall -syscall NtAreMappedFilesTheSame(ptr ptr) @ stdcall -syscall NtAreMappedFilesTheSame(ptr ptr)
@ stdcall -syscall NtAssignProcessToJobObject(long long) @ stdcall -syscall NtAssignProcessToJobObject(long long)
# @ stub NtCallbackReturn @ stdcall -syscall NtCallbackReturn(ptr long long)
# @ stub NtCancelDeviceWakeupRequest # @ stub NtCancelDeviceWakeupRequest
@ stdcall -syscall NtCancelIoFile(long ptr) @ stdcall -syscall NtCancelIoFile(long ptr)
@ stdcall -syscall NtCancelIoFileEx(long ptr ptr) @ stdcall -syscall NtCancelIoFileEx(long ptr ptr)

View File

@ -39,6 +39,7 @@ static NTSTATUS (WINAPI *pNtGetContextThread)(HANDLE,CONTEXT*);
static NTSTATUS (WINAPI *pNtSetContextThread)(HANDLE,CONTEXT*); static NTSTATUS (WINAPI *pNtSetContextThread)(HANDLE,CONTEXT*);
static NTSTATUS (WINAPI *pNtQueueApcThread)(HANDLE handle, PNTAPCFUNC func, static NTSTATUS (WINAPI *pNtQueueApcThread)(HANDLE handle, PNTAPCFUNC func,
ULONG_PTR arg1, ULONG_PTR arg2, ULONG_PTR arg3); 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 NTSTATUS (WINAPI *pRtlRaiseException)(EXCEPTION_RECORD *rec);
static PVOID (WINAPI *pRtlUnwind)(PVOID, PVOID, PEXCEPTION_RECORD, PVOID); static PVOID (WINAPI *pRtlUnwind)(PVOID, PVOID, PEXCEPTION_RECORD, PVOID);
static VOID (WINAPI *pRtlCaptureContext)(CONTEXT*); 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"); 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 ) static DWORD WINAPI suspend_thread_test( void *arg )
{ {
HANDLE event = arg; HANDLE event = arg;
@ -9135,6 +9142,7 @@ START_TEST(exception)
X(NtGetContextThread); X(NtGetContextThread);
X(NtSetContextThread); X(NtSetContextThread);
X(NtQueueApcThread); X(NtQueueApcThread);
X(NtCallbackReturn);
X(NtReadVirtualMemory); X(NtReadVirtualMemory);
X(NtClose); X(NtClose);
X(RtlUnwind); X(RtlUnwind);
@ -9329,6 +9337,7 @@ START_TEST(exception)
NtCurrentTeb()->Peb->BeingDebugged = 0; NtCurrentTeb()->Peb->BeingDebugged = 0;
test_user_apc(); test_user_apc();
test_user_callback();
test_vectored_continue_handler(); test_vectored_continue_handler();
test_suspend_thread(); test_suspend_thread();
test_suspend_process(); test_suspend_process();

View File

@ -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 * handle_syscall_fault
* *

View File

@ -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 * handle_syscall_fault
* *

View File

@ -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 * get_fpu_code
* *

View File

@ -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 * is_privileged_instr
* *