From 82227e4d4158a468e1aa00ca6413e0231a84e51f Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sun, 13 Apr 2025 10:32:22 +0200 Subject: [PATCH] Prepare NtQueueApcThreadEx2 support --- src/windows-emulator/syscalls.cpp | 4 ++++ src/windows-emulator/syscalls/thread.cpp | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/windows-emulator/syscalls.cpp b/src/windows-emulator/syscalls.cpp index 0ee6e89e..480b4834 100644 --- a/src/windows-emulator/syscalls.cpp +++ b/src/windows-emulator/syscalls.cpp @@ -291,6 +291,9 @@ namespace syscalls emulator_object>> attribute_list); NTSTATUS handle_NtGetCurrentProcessorNumberEx(const syscall_context&, emulator_object processor_number); + NTSTATUS handle_NtQueueApcThreadEx2(const syscall_context& c, handle thread_handle, handle reserve_handle, + ULONG apc_flags, uint64_t apc_routine, uint64_t apc_argument1, + uint64_t apc_argument2, uint64_t apc_argument3); // syscalls/timer.cpp: NTSTATUS handle_NtQueryTimerResolution(const syscall_context&, emulator_object maximum_time, @@ -752,6 +755,7 @@ void syscall_dispatcher::add_handlers(std::map& ha add_handler(NtClearEvent); add_handler(NtTraceControl); add_handler(NtUserGetProcessUIContextInformation); + add_handler(NtQueueApcThreadEx2); #undef add_handler } \ No newline at end of file diff --git a/src/windows-emulator/syscalls/thread.cpp b/src/windows-emulator/syscalls/thread.cpp index 12446f8a..db30c708 100644 --- a/src/windows-emulator/syscalls/thread.cpp +++ b/src/windows-emulator/syscalls/thread.cpp @@ -563,4 +563,12 @@ namespace syscalls processor_number.write(number); return STATUS_SUCCESS; } + + NTSTATUS handle_NtQueueApcThreadEx2(const syscall_context& c, const handle thread_handle, + const handle reserve_handle, const ULONG apc_flags, const uint64_t apc_routine, + const uint64_t apc_argument1, const uint64_t apc_argument2, + const uint64_t apc_argument3) + { + return STATUS_NOT_SUPPORTED; + } } \ No newline at end of file