From 906cec808acda36adcbfc140bcd693346415268f Mon Sep 17 00:00:00 2001 From: momo5502 Date: Sat, 7 Jun 2025 20:10:36 +0200 Subject: [PATCH] Small fixes --- src/windows-emulator/io_device.cpp | 11 ++++++----- src/windows-emulator/syscalls.cpp | 2 ++ src/windows-emulator/syscalls/event.cpp | 5 +++++ 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/windows-emulator/io_device.cpp b/src/windows-emulator/io_device.cpp index cefc0a15..ef6da159 100644 --- a/src/windows-emulator/io_device.cpp +++ b/src/windows-emulator/io_device.cpp @@ -18,11 +18,12 @@ namespace std::unique_ptr create_device(const std::u16string_view device) { - if (device == u"CNG" // - || device == u"Nsi" // - || device == u"RasAcd" // - || device == u"PcwDrv" // - || device == u"DeviceApi\\CMApi" // + if (device == u"CNG" // + || device == u"Nsi" // + || device == u"RasAcd" // + || device == u"PcwDrv" // + || device == u"DeviceApi\\CMApi" // + || device == u"DeviceApi\\CMNotify" // || device == u"ConDrv\\Server") { return std::make_unique(); diff --git a/src/windows-emulator/syscalls.cpp b/src/windows-emulator/syscalls.cpp index 9e327b19..bbbde5ad 100644 --- a/src/windows-emulator/syscalls.cpp +++ b/src/windows-emulator/syscalls.cpp @@ -16,6 +16,7 @@ namespace syscalls // syscalls/event.cpp: NTSTATUS handle_NtSetEvent(const syscall_context& c, uint64_t handle, emulator_object previous_state); NTSTATUS handle_NtTraceEvent(); + NTSTATUS handle_NtQueryEvent(); NTSTATUS handle_NtClearEvent(const syscall_context& c, handle event_handle); NTSTATUS handle_NtCreateEvent(const syscall_context& c, emulator_object event_handle, ACCESS_MASK desired_access, @@ -1171,6 +1172,7 @@ void syscall_dispatcher::add_handlers(std::map& ha add_handler(NtCancelWaitCompletionPacket); add_handler(NtSetWnfProcessNotificationEvent); add_handler(NtQuerySecurityObject); + add_handler(NtQueryEvent); #undef add_handler } diff --git a/src/windows-emulator/syscalls/event.cpp b/src/windows-emulator/syscalls/event.cpp index 40b7a8a7..a2c17b76 100644 --- a/src/windows-emulator/syscalls/event.cpp +++ b/src/windows-emulator/syscalls/event.cpp @@ -39,6 +39,11 @@ namespace syscalls return STATUS_SUCCESS; } + NTSTATUS handle_NtQueryEvent() + { + return STATUS_NOT_SUPPORTED; + } + NTSTATUS handle_NtClearEvent(const syscall_context& c, const handle event_handle) { auto* e = c.proc.events.get(event_handle);