diff --git a/src/windows-emulator/syscalls.cpp b/src/windows-emulator/syscalls.cpp index edc8e95b..17c723d2 100644 --- a/src/windows-emulator/syscalls.cpp +++ b/src/windows-emulator/syscalls.cpp @@ -259,6 +259,8 @@ namespace syscalls NTSTATUS handle_NtUnmapViewOfSection(const syscall_context& c, handle process_handle, uint64_t base_address); NTSTATUS handle_NtUnmapViewOfSectionEx(const syscall_context& c, handle process_handle, uint64_t base_address, ULONG /*flags*/); + NTSTATUS handle_NtAreMappedFilesTheSame(const syscall_context& c, emulator_pointer address1, + emulator_pointer address2); // syscalls/semaphore.cpp: NTSTATUS handle_NtOpenSemaphore(const syscall_context& c, emulator_object semaphore_handle, @@ -866,6 +868,7 @@ void syscall_dispatcher::add_handlers(std::map& ha add_handler(NtFsControlFile); add_handler(NtQueryFullAttributesFile); add_handler(NtFlushBuffersFile); + add_handler(NtAreMappedFilesTheSame); add_handler(NtUserGetProcessWindowStation); add_handler(NtUserRegisterClassExWOW); add_handler(NtUserUnregisterClass); diff --git a/src/windows-emulator/syscalls/registry.cpp b/src/windows-emulator/syscalls/registry.cpp index f27190b6..724d284a 100644 --- a/src/windows-emulator/syscalls/registry.cpp +++ b/src/windows-emulator/syscalls/registry.cpp @@ -239,7 +239,7 @@ namespace syscalls NTSTATUS handle_NtSetInformationKey() { - return STATUS_NOT_SUPPORTED; + return STATUS_SUCCESS; } NTSTATUS handle_NtEnumerateKey(const syscall_context& c, const handle key_handle, const ULONG index, diff --git a/src/windows-emulator/syscalls/section.cpp b/src/windows-emulator/syscalls/section.cpp index eb7b837a..ac19b486 100644 --- a/src/windows-emulator/syscalls/section.cpp +++ b/src/windows-emulator/syscalls/section.cpp @@ -304,4 +304,10 @@ namespace syscalls { return handle_NtUnmapViewOfSection(c, process_handle, base_address); } + + NTSTATUS handle_NtAreMappedFilesTheSame(const syscall_context& c, const emulator_pointer address1, + const emulator_pointer address2) + { + return STATUS_NOT_SUPPORTED; + } }