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 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)

View File

@ -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();

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
*

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
*

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
*

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
*