mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-20 20:23:57 +00:00
Extend clang-format column limit to 140
This commit is contained in:
@@ -18,104 +18,85 @@ namespace syscalls
|
||||
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<handle> event_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
EVENT_TYPE event_type, BOOLEAN initial_state);
|
||||
NTSTATUS handle_NtOpenEvent(const syscall_context& c, emulator_object<uint64_t> event_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
NTSTATUS handle_NtCreateEvent(const syscall_context& c, emulator_object<handle> event_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes, EVENT_TYPE event_type,
|
||||
BOOLEAN initial_state);
|
||||
NTSTATUS handle_NtOpenEvent(const syscall_context& c, emulator_object<uint64_t> event_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||
|
||||
// syscalls/exception.cpp
|
||||
NTSTATUS handle_NtRaiseHardError(
|
||||
const syscall_context& c, NTSTATUS error_status, ULONG number_of_parameters,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> unicode_string_parameter_mask,
|
||||
emulator_object<DWORD> parameters, HARDERROR_RESPONSE_OPTION valid_response_option,
|
||||
emulator_object<HARDERROR_RESPONSE> response);
|
||||
NTSTATUS handle_NtRaiseHardError(const syscall_context& c, NTSTATUS error_status, ULONG number_of_parameters,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> unicode_string_parameter_mask,
|
||||
emulator_object<DWORD> parameters, HARDERROR_RESPONSE_OPTION valid_response_option,
|
||||
emulator_object<HARDERROR_RESPONSE> response);
|
||||
NTSTATUS handle_NtRaiseException(const syscall_context& c,
|
||||
emulator_object<EMU_EXCEPTION_RECORD<EmulatorTraits<Emu64>>> exception_record,
|
||||
emulator_object<CONTEXT64> thread_context, BOOLEAN handle_exception);
|
||||
|
||||
// syscalls/file.cpp
|
||||
NTSTATUS handle_NtSetInformationFile(const syscall_context& c, handle file_handle,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
uint64_t file_information, ULONG length, FILE_INFORMATION_CLASS info_class);
|
||||
NTSTATUS handle_NtQueryVolumeInformationFile(
|
||||
const syscall_context& c, handle file_handle,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block, uint64_t fs_information, ULONG length,
|
||||
FS_INFORMATION_CLASS fs_information_class);
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block, uint64_t file_information,
|
||||
ULONG length, FILE_INFORMATION_CLASS info_class);
|
||||
NTSTATUS handle_NtQueryVolumeInformationFile(const syscall_context& c, handle file_handle,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
uint64_t fs_information, ULONG length, FS_INFORMATION_CLASS fs_information_class);
|
||||
NTSTATUS handle_NtQueryDirectoryFileEx(const syscall_context& c, handle file_handle, handle event_handle,
|
||||
EMULATOR_CAST(emulator_pointer, PIO_APC_ROUTINE) apc_routine,
|
||||
emulator_pointer apc_context,
|
||||
EMULATOR_CAST(emulator_pointer, PIO_APC_ROUTINE) apc_routine, emulator_pointer apc_context,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
uint64_t file_information, uint32_t length, uint32_t info_class,
|
||||
ULONG query_flags,
|
||||
uint64_t file_information, uint32_t length, uint32_t info_class, ULONG query_flags,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> file_name);
|
||||
NTSTATUS handle_NtQueryDirectoryFile(const syscall_context& c, handle file_handle, handle event_handle,
|
||||
EMULATOR_CAST(emulator_pointer, PIO_APC_ROUTINE) apc_routine,
|
||||
emulator_pointer apc_context,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
uint64_t file_information, uint32_t length, uint32_t info_class,
|
||||
BOOLEAN return_single_entry,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> file_name,
|
||||
BOOLEAN restart_scan);
|
||||
EMULATOR_CAST(emulator_pointer, PIO_APC_ROUTINE) apc_routine, emulator_pointer apc_context,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block, uint64_t file_information,
|
||||
uint32_t length, uint32_t info_class, BOOLEAN return_single_entry,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> file_name, BOOLEAN restart_scan);
|
||||
NTSTATUS handle_NtQueryInformationFile(const syscall_context& c, handle file_handle,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
uint64_t file_information, uint32_t length, uint32_t info_class);
|
||||
NTSTATUS handle_NtQueryInformationByName(
|
||||
const syscall_context& c, emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block, uint64_t file_information,
|
||||
uint32_t length, uint32_t info_class);
|
||||
NTSTATUS handle_NtReadFile(const syscall_context& c, handle file_handle, uint64_t /*event*/,
|
||||
uint64_t /*apc_routine*/, uint64_t /*apc_context*/,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block, uint64_t buffer,
|
||||
ULONG length, emulator_object<LARGE_INTEGER> /*byte_offset*/,
|
||||
NTSTATUS handle_NtQueryInformationByName(const syscall_context& c,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
uint64_t file_information, uint32_t length, uint32_t info_class);
|
||||
NTSTATUS handle_NtReadFile(const syscall_context& c, handle file_handle, uint64_t /*event*/, uint64_t /*apc_routine*/,
|
||||
uint64_t /*apc_context*/, emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
uint64_t buffer, ULONG length, emulator_object<LARGE_INTEGER> /*byte_offset*/,
|
||||
emulator_object<ULONG> /*key*/);
|
||||
NTSTATUS handle_NtWriteFile(const syscall_context& c, handle file_handle, uint64_t /*event*/,
|
||||
uint64_t /*apc_routine*/, uint64_t /*apc_context*/,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
NTSTATUS handle_NtWriteFile(const syscall_context& c, handle file_handle, uint64_t /*event*/, uint64_t /*apc_routine*/,
|
||||
uint64_t /*apc_context*/, emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
uint64_t buffer, ULONG length, emulator_object<LARGE_INTEGER> /*byte_offset*/,
|
||||
emulator_object<ULONG> /*key*/);
|
||||
NTSTATUS handle_NtCreateFile(const syscall_context& c, emulator_object<handle> file_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
NTSTATUS handle_NtCreateFile(const syscall_context& c, emulator_object<handle> file_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> /*io_status_block*/,
|
||||
emulator_object<LARGE_INTEGER> /*allocation_size*/, ULONG /*file_attributes*/,
|
||||
ULONG /*share_access*/, ULONG create_disposition, ULONG create_options,
|
||||
uint64_t ea_buffer, ULONG ea_length);
|
||||
emulator_object<LARGE_INTEGER> /*allocation_size*/, ULONG /*file_attributes*/, ULONG /*share_access*/,
|
||||
ULONG create_disposition, ULONG create_options, uint64_t ea_buffer, ULONG ea_length);
|
||||
NTSTATUS handle_NtQueryAttributesFile(const syscall_context& c,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<FILE_BASIC_INFORMATION> file_information);
|
||||
NTSTATUS handle_NtQueryFullAttributesFile(
|
||||
const syscall_context& c, emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<FILE_NETWORK_OPEN_INFORMATION> file_information);
|
||||
NTSTATUS handle_NtOpenFile(const syscall_context& c, emulator_object<handle> file_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
NTSTATUS handle_NtQueryFullAttributesFile(const syscall_context& c,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<FILE_NETWORK_OPEN_INFORMATION> file_information);
|
||||
NTSTATUS handle_NtOpenFile(const syscall_context& c, emulator_object<handle> file_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
ULONG share_access, ULONG open_options);
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block, ULONG share_access,
|
||||
ULONG open_options);
|
||||
NTSTATUS handle_NtOpenDirectoryObject(const syscall_context& c, emulator_object<handle> directory_handle,
|
||||
ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||
NTSTATUS handle_NtOpenSymbolicLinkObject(
|
||||
const syscall_context& c, emulator_object<handle> link_handle, ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||
NTSTATUS handle_NtOpenSymbolicLinkObject(const syscall_context& c, emulator_object<handle> link_handle, ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||
NTSTATUS handle_NtQuerySymbolicLinkObject(const syscall_context& c, handle link_handle,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> link_target,
|
||||
emulator_object<ULONG> returned_length);
|
||||
NTSTATUS handle_NtCreateNamedPipeFile(const syscall_context& c, emulator_object<handle> file_handle,
|
||||
ULONG desired_access,
|
||||
NTSTATUS handle_NtCreateNamedPipeFile(const syscall_context& c, emulator_object<handle> file_handle, ULONG desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
ULONG share_access, ULONG create_disposition, ULONG create_options,
|
||||
ULONG named_pipe_type, ULONG read_mode, ULONG completion_mode,
|
||||
ULONG maximum_instances, ULONG inbound_quota, ULONG outbound_quota,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block, ULONG share_access,
|
||||
ULONG create_disposition, ULONG create_options, ULONG named_pipe_type, ULONG read_mode,
|
||||
ULONG completion_mode, ULONG maximum_instances, ULONG inbound_quota, ULONG outbound_quota,
|
||||
emulator_object<LARGE_INTEGER> default_timeout);
|
||||
NTSTATUS handle_NtFsControlFile(const syscall_context& c, handle event_handle, uint64_t apc_routine,
|
||||
uint64_t app_context,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
ULONG fs_control_code, uint64_t input_buffer, ULONG input_buffer_length,
|
||||
uint64_t output_buffer, ULONG output_buffer_length);
|
||||
NTSTATUS handle_NtFsControlFile(const syscall_context& c, handle event_handle, uint64_t apc_routine, uint64_t app_context,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block, ULONG fs_control_code,
|
||||
uint64_t input_buffer, ULONG input_buffer_length, uint64_t output_buffer, ULONG output_buffer_length);
|
||||
NTSTATUS handle_NtFlushBuffersFile(const syscall_context& c, handle file_handle,
|
||||
emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> /*io_status_block*/);
|
||||
|
||||
@@ -123,11 +104,9 @@ namespace syscalls
|
||||
NTSTATUS handle_NtInitializeNlsFiles(const syscall_context& c, emulator_object<uint64_t> base_address,
|
||||
emulator_object<LCID> default_locale_id,
|
||||
emulator_object<LARGE_INTEGER> /*default_casing_table_size*/);
|
||||
NTSTATUS handle_NtQueryDefaultLocale(const syscall_context&, BOOLEAN /*user_profile*/,
|
||||
emulator_object<LCID> default_locale_id);
|
||||
NTSTATUS handle_NtGetNlsSectionPtr(const syscall_context& c, ULONG section_type, ULONG section_data,
|
||||
emulator_pointer /*context_data*/, emulator_object<uint64_t> section_pointer,
|
||||
emulator_object<ULONG> section_size);
|
||||
NTSTATUS handle_NtQueryDefaultLocale(const syscall_context&, BOOLEAN /*user_profile*/, emulator_object<LCID> default_locale_id);
|
||||
NTSTATUS handle_NtGetNlsSectionPtr(const syscall_context& c, ULONG section_type, ULONG section_data, emulator_pointer /*context_data*/,
|
||||
emulator_object<uint64_t> section_pointer, emulator_object<ULONG> section_size);
|
||||
NTSTATUS handle_NtGetMUIRegistryInfo();
|
||||
NTSTATUS handle_NtIsUILanguageComitted();
|
||||
NTSTATUS handle_NtUserGetKeyboardLayout();
|
||||
@@ -135,23 +114,19 @@ namespace syscalls
|
||||
NTSTATUS handle_NtQueryInstallUILanguage(const syscall_context&, emulator_object<LANGID> language_id);
|
||||
|
||||
// syscalls/memory.cpp:
|
||||
NTSTATUS handle_NtQueryVirtualMemory(const syscall_context& c, handle process_handle, uint64_t base_address,
|
||||
uint32_t info_class, uint64_t memory_information,
|
||||
uint64_t memory_information_length, emulator_object<uint64_t> return_length);
|
||||
NTSTATUS handle_NtProtectVirtualMemory(const syscall_context& c, handle process_handle,
|
||||
emulator_object<uint64_t> base_address,
|
||||
NTSTATUS handle_NtQueryVirtualMemory(const syscall_context& c, handle process_handle, uint64_t base_address, uint32_t info_class,
|
||||
uint64_t memory_information, uint64_t memory_information_length,
|
||||
emulator_object<uint64_t> return_length);
|
||||
NTSTATUS handle_NtProtectVirtualMemory(const syscall_context& c, handle process_handle, emulator_object<uint64_t> base_address,
|
||||
emulator_object<uint32_t> bytes_to_protect, uint32_t protection,
|
||||
emulator_object<uint32_t> old_protection);
|
||||
NTSTATUS handle_NtAllocateVirtualMemoryEx(const syscall_context& c, handle process_handle,
|
||||
emulator_object<uint64_t> base_address,
|
||||
NTSTATUS handle_NtAllocateVirtualMemoryEx(const syscall_context& c, handle process_handle, emulator_object<uint64_t> base_address,
|
||||
emulator_object<uint64_t> bytes_to_allocate, uint32_t allocation_type,
|
||||
uint32_t page_protection);
|
||||
NTSTATUS handle_NtAllocateVirtualMemory(const syscall_context& c, handle process_handle,
|
||||
emulator_object<uint64_t> base_address, uint64_t zero_bits,
|
||||
emulator_object<uint64_t> bytes_to_allocate, uint32_t allocation_type,
|
||||
NTSTATUS handle_NtAllocateVirtualMemory(const syscall_context& c, handle process_handle, emulator_object<uint64_t> base_address,
|
||||
uint64_t zero_bits, emulator_object<uint64_t> bytes_to_allocate, uint32_t allocation_type,
|
||||
uint32_t page_protection);
|
||||
NTSTATUS handle_NtFreeVirtualMemory(const syscall_context& c, handle process_handle,
|
||||
emulator_object<uint64_t> base_address,
|
||||
NTSTATUS handle_NtFreeVirtualMemory(const syscall_context& c, handle process_handle, emulator_object<uint64_t> base_address,
|
||||
emulator_object<uint64_t> bytes_to_allocate, uint32_t free_type);
|
||||
NTSTATUS handle_NtReadVirtualMemory(const syscall_context& c, handle process_handle, emulator_pointer base_address,
|
||||
emulator_pointer buffer, ULONG number_of_bytes_to_read,
|
||||
@@ -159,35 +134,26 @@ namespace syscalls
|
||||
NTSTATUS handle_NtSetInformationVirtualMemory();
|
||||
|
||||
// syscalls/mutant.cpp:
|
||||
NTSTATUS handle_NtReleaseMutant(const syscall_context& c, handle mutant_handle,
|
||||
emulator_object<LONG> previous_count);
|
||||
NTSTATUS handle_NtOpenMutant(const syscall_context& c, emulator_object<handle> mutant_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
NTSTATUS handle_NtReleaseMutant(const syscall_context& c, handle mutant_handle, emulator_object<LONG> previous_count);
|
||||
NTSTATUS handle_NtOpenMutant(const syscall_context& c, emulator_object<handle> mutant_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||
NTSTATUS handle_NtCreateMutant(const syscall_context& c, emulator_object<handle> mutant_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
BOOLEAN initial_owner);
|
||||
NTSTATUS handle_NtCreateMutant(const syscall_context& c, emulator_object<handle> mutant_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes, BOOLEAN initial_owner);
|
||||
|
||||
// syscalls/object.cpp:
|
||||
NTSTATUS handle_NtClose(const syscall_context& c, handle h);
|
||||
NTSTATUS handle_NtDuplicateObject(const syscall_context& c, handle source_process_handle, handle source_handle,
|
||||
handle target_process_handle, emulator_object<handle> target_handle,
|
||||
ACCESS_MASK desired_access, ULONG handle_attributes, ULONG options);
|
||||
NTSTATUS handle_NtQueryObject(const syscall_context& c, handle handle,
|
||||
OBJECT_INFORMATION_CLASS object_information_class,
|
||||
handle target_process_handle, emulator_object<handle> target_handle, ACCESS_MASK desired_access,
|
||||
ULONG handle_attributes, ULONG options);
|
||||
NTSTATUS handle_NtQueryObject(const syscall_context& c, handle handle, OBJECT_INFORMATION_CLASS object_information_class,
|
||||
emulator_pointer object_information, ULONG object_information_length,
|
||||
emulator_object<ULONG> return_length);
|
||||
NTSTATUS handle_NtWaitForMultipleObjects(const syscall_context& c, ULONG count, emulator_object<handle> handles,
|
||||
WAIT_TYPE wait_type, BOOLEAN alertable,
|
||||
emulator_object<LARGE_INTEGER> timeout);
|
||||
NTSTATUS handle_NtWaitForSingleObject(const syscall_context& c, handle h, BOOLEAN alertable,
|
||||
emulator_object<LARGE_INTEGER> timeout);
|
||||
NTSTATUS handle_NtWaitForMultipleObjects(const syscall_context& c, ULONG count, emulator_object<handle> handles, WAIT_TYPE wait_type,
|
||||
BOOLEAN alertable, emulator_object<LARGE_INTEGER> timeout);
|
||||
NTSTATUS handle_NtWaitForSingleObject(const syscall_context& c, handle h, BOOLEAN alertable, emulator_object<LARGE_INTEGER> timeout);
|
||||
NTSTATUS handle_NtSetInformationObject();
|
||||
NTSTATUS handle_NtQuerySecurityObject(const syscall_context& c, handle /*h*/,
|
||||
SECURITY_INFORMATION /*security_information*/,
|
||||
emulator_pointer security_descriptor, ULONG length,
|
||||
emulator_object<ULONG> length_needed);
|
||||
NTSTATUS handle_NtQuerySecurityObject(const syscall_context& c, handle /*h*/, SECURITY_INFORMATION /*security_information*/,
|
||||
emulator_pointer security_descriptor, ULONG length, emulator_object<ULONG> length_needed);
|
||||
|
||||
// syscalls/port.cpp:
|
||||
NTSTATUS handle_NtConnectPort(const syscall_context& c, emulator_object<handle> client_port_handle,
|
||||
@@ -200,8 +166,7 @@ namespace syscalls
|
||||
NTSTATUS handle_NtSecureConnectPort(const syscall_context& c, emulator_object<handle> client_port_handle,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> server_port_name,
|
||||
emulator_object<SECURITY_QUALITY_OF_SERVICE> security_qos,
|
||||
emulator_object<PORT_VIEW64> client_shared_memory,
|
||||
emulator_pointer /*server_sid*/,
|
||||
emulator_object<PORT_VIEW64> client_shared_memory, emulator_pointer /*server_sid*/,
|
||||
emulator_object<REMOTE_PORT_VIEW64> server_shared_memory,
|
||||
emulator_object<ULONG> maximum_message_length, emulator_pointer connection_info,
|
||||
emulator_object<ULONG> connection_info_length);
|
||||
@@ -230,42 +195,34 @@ namespace syscalls
|
||||
NTSTATUS handle_NtTerminateProcess(const syscall_context& c, handle process_handle, NTSTATUS exit_status);
|
||||
|
||||
// syscalls/registry.cpp:
|
||||
NTSTATUS handle_NtOpenKey(const syscall_context& c, emulator_object<handle> key_handle,
|
||||
ACCESS_MASK /*desired_access*/,
|
||||
NTSTATUS handle_NtOpenKey(const syscall_context& c, emulator_object<handle> key_handle, ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||
NTSTATUS handle_NtOpenKeyEx(const syscall_context& c, emulator_object<handle> key_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
ULONG /*open_options*/);
|
||||
NTSTATUS handle_NtOpenKeyEx(const syscall_context& c, emulator_object<handle> key_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes, ULONG /*open_options*/);
|
||||
NTSTATUS handle_NtQueryKey(const syscall_context& c, handle key_handle, KEY_INFORMATION_CLASS key_information_class,
|
||||
uint64_t key_information, ULONG length, emulator_object<ULONG> result_length);
|
||||
NTSTATUS handle_NtQueryValueKey(const syscall_context& c, handle key_handle,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> value_name,
|
||||
KEY_VALUE_INFORMATION_CLASS key_value_information_class,
|
||||
uint64_t key_value_information, ULONG length, emulator_object<ULONG> result_length);
|
||||
NTSTATUS handle_NtCreateKey(const syscall_context& c, emulator_object<handle> key_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
ULONG /*title_index*/, emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> /*class*/,
|
||||
ULONG /*create_options*/, emulator_object<ULONG> /*disposition*/);
|
||||
KEY_VALUE_INFORMATION_CLASS key_value_information_class, uint64_t key_value_information, ULONG length,
|
||||
emulator_object<ULONG> result_length);
|
||||
NTSTATUS handle_NtCreateKey(const syscall_context& c, emulator_object<handle> key_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes, ULONG /*title_index*/,
|
||||
emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> /*class*/, ULONG /*create_options*/,
|
||||
emulator_object<ULONG> /*disposition*/);
|
||||
NTSTATUS handle_NtNotifyChangeKey();
|
||||
NTSTATUS handle_NtSetInformationKey();
|
||||
NTSTATUS handle_NtEnumerateKey(const syscall_context& c, handle key_handle, ULONG index,
|
||||
KEY_INFORMATION_CLASS key_information_class, uint64_t key_information, ULONG length,
|
||||
emulator_object<ULONG> result_length);
|
||||
NTSTATUS handle_NtEnumerateKey(const syscall_context& c, handle key_handle, ULONG index, KEY_INFORMATION_CLASS key_information_class,
|
||||
uint64_t key_information, ULONG length, emulator_object<ULONG> result_length);
|
||||
NTSTATUS handle_NtEnumerateValueKey(const syscall_context& c, handle key_handle, ULONG index,
|
||||
KEY_VALUE_INFORMATION_CLASS key_value_information_class,
|
||||
uint64_t key_value_information, ULONG length,
|
||||
emulator_object<ULONG> result_length);
|
||||
KEY_VALUE_INFORMATION_CLASS key_value_information_class, uint64_t key_value_information,
|
||||
ULONG length, emulator_object<ULONG> result_length);
|
||||
|
||||
// syscalls/section.cpp:
|
||||
NTSTATUS handle_NtCreateSection(const syscall_context& c, emulator_object<handle> section_handle,
|
||||
ACCESS_MASK /*desired_access*/,
|
||||
NTSTATUS handle_NtCreateSection(const syscall_context& c, emulator_object<handle> section_handle, ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
emulator_object<ULARGE_INTEGER> maximum_size, ULONG section_page_protection,
|
||||
ULONG allocation_attributes, handle file_handle);
|
||||
NTSTATUS handle_NtOpenSection(const syscall_context& c, emulator_object<handle> section_handle,
|
||||
ACCESS_MASK /*desired_access*/,
|
||||
NTSTATUS handle_NtOpenSection(const syscall_context& c, emulator_object<handle> section_handle, ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||
NTSTATUS handle_NtMapViewOfSection(const syscall_context& c, handle section_handle, handle process_handle,
|
||||
emulator_object<uint64_t> base_address,
|
||||
@@ -273,32 +230,26 @@ namespace syscalls
|
||||
EMULATOR_CAST(EmulatorTraits<Emu64>::SIZE_T, SIZE_T) /*commit_size*/,
|
||||
emulator_object<LARGE_INTEGER> /*section_offset*/,
|
||||
emulator_object<EMULATOR_CAST(EmulatorTraits<Emu64>::SIZE_T, SIZE_T)> view_size,
|
||||
SECTION_INHERIT /*inherit_disposition*/, ULONG /*allocation_type*/,
|
||||
ULONG /*win32_protect*/);
|
||||
SECTION_INHERIT /*inherit_disposition*/, ULONG /*allocation_type*/, ULONG /*win32_protect*/);
|
||||
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_NtUnmapViewOfSectionEx(const syscall_context& c, handle process_handle, uint64_t base_address, ULONG /*flags*/);
|
||||
NTSTATUS handle_NtAreMappedFilesTheSame();
|
||||
|
||||
// syscalls/semaphore.cpp:
|
||||
NTSTATUS handle_NtOpenSemaphore(const syscall_context& c, emulator_object<handle> semaphore_handle,
|
||||
ACCESS_MASK /*desired_access*/,
|
||||
NTSTATUS handle_NtOpenSemaphore(const syscall_context& c, emulator_object<handle> semaphore_handle, ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||
NTSTATUS handle_NtReleaseSemaphore(const syscall_context& c, handle semaphore_handle, ULONG release_count,
|
||||
emulator_object<LONG> previous_count);
|
||||
NTSTATUS handle_NtCreateSemaphore(const syscall_context& c, emulator_object<handle> semaphore_handle,
|
||||
ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
ULONG initial_count, ULONG maximum_count);
|
||||
NTSTATUS handle_NtCreateSemaphore(const syscall_context& c, emulator_object<handle> semaphore_handle, ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes, ULONG initial_count,
|
||||
ULONG maximum_count);
|
||||
|
||||
// syscalls/system.cpp:
|
||||
NTSTATUS handle_NtQuerySystemInformation(const syscall_context& c, uint32_t info_class, uint64_t system_information,
|
||||
uint32_t system_information_length,
|
||||
emulator_object<uint32_t> return_length);
|
||||
uint32_t system_information_length, emulator_object<uint32_t> return_length);
|
||||
NTSTATUS handle_NtQuerySystemInformationEx(const syscall_context& c, uint32_t info_class, uint64_t input_buffer,
|
||||
uint32_t input_buffer_length, uint64_t system_information,
|
||||
uint32_t system_information_length,
|
||||
emulator_object<uint32_t> return_length);
|
||||
uint32_t system_information_length, emulator_object<uint32_t> return_length);
|
||||
NTSTATUS handle_NtSetSystemInformation();
|
||||
|
||||
// syscalls/thread.cpp:
|
||||
@@ -313,64 +264,48 @@ namespace syscalls
|
||||
emulator_pointer /*client_id*/);
|
||||
NTSTATUS handle_NtOpenThreadToken(const syscall_context&, handle thread_handle, ACCESS_MASK /*desired_access*/,
|
||||
BOOLEAN /*open_as_self*/, emulator_object<handle> token_handle);
|
||||
NTSTATUS handle_NtOpenThreadTokenEx(const syscall_context& c, handle thread_handle, ACCESS_MASK desired_access,
|
||||
BOOLEAN open_as_self, ULONG /*handle_attributes*/,
|
||||
emulator_object<handle> token_handle);
|
||||
NTSTATUS handle_NtOpenThreadTokenEx(const syscall_context& c, handle thread_handle, ACCESS_MASK desired_access, BOOLEAN open_as_self,
|
||||
ULONG /*handle_attributes*/, emulator_object<handle> token_handle);
|
||||
NTSTATUS handle_NtTerminateThread(const syscall_context& c, handle thread_handle, NTSTATUS exit_status);
|
||||
NTSTATUS handle_NtDelayExecution(const syscall_context& c, BOOLEAN alertable,
|
||||
emulator_object<LARGE_INTEGER> delay_interval);
|
||||
NTSTATUS handle_NtDelayExecution(const syscall_context& c, BOOLEAN alertable, emulator_object<LARGE_INTEGER> delay_interval);
|
||||
NTSTATUS handle_NtAlertThreadByThreadId(const syscall_context& c, uint64_t thread_id);
|
||||
NTSTATUS handle_NtAlertThreadByThreadIdEx(const syscall_context& c, uint64_t thread_id,
|
||||
emulator_object<EMU_RTL_SRWLOCK<EmulatorTraits<Emu64>>> lock);
|
||||
NTSTATUS handle_NtWaitForAlertByThreadId(const syscall_context& c, uint64_t,
|
||||
emulator_object<LARGE_INTEGER> timeout);
|
||||
NTSTATUS handle_NtWaitForAlertByThreadId(const syscall_context& c, uint64_t, emulator_object<LARGE_INTEGER> timeout);
|
||||
NTSTATUS handle_NtYieldExecution(const syscall_context& c);
|
||||
NTSTATUS handle_NtResumeThread(const syscall_context& c, handle thread_handle,
|
||||
emulator_object<ULONG> previous_suspend_count);
|
||||
NTSTATUS handle_NtContinue(const syscall_context& c, emulator_object<CONTEXT64> thread_context,
|
||||
BOOLEAN raise_alert);
|
||||
NTSTATUS handle_NtContinueEx(const syscall_context& c, emulator_object<CONTEXT64> thread_context,
|
||||
uint64_t continue_argument);
|
||||
NTSTATUS handle_NtGetNextThread(const syscall_context& c, handle process_handle, handle thread_handle,
|
||||
ACCESS_MASK /*desired_access*/, ULONG /*handle_attributes*/, ULONG flags,
|
||||
emulator_object<handle> new_thread_handle);
|
||||
NTSTATUS handle_NtGetContextThread(const syscall_context& c, handle thread_handle,
|
||||
emulator_object<CONTEXT64> thread_context);
|
||||
NTSTATUS handle_NtSetContextThread(const syscall_context& c, handle thread_handle,
|
||||
emulator_object<CONTEXT64> thread_context);
|
||||
NTSTATUS handle_NtCreateThreadEx(const syscall_context& c, emulator_object<handle> thread_handle,
|
||||
ACCESS_MASK /*desired_access*/,
|
||||
NTSTATUS handle_NtResumeThread(const syscall_context& c, handle thread_handle, emulator_object<ULONG> previous_suspend_count);
|
||||
NTSTATUS handle_NtContinue(const syscall_context& c, emulator_object<CONTEXT64> thread_context, BOOLEAN raise_alert);
|
||||
NTSTATUS handle_NtContinueEx(const syscall_context& c, emulator_object<CONTEXT64> thread_context, uint64_t continue_argument);
|
||||
NTSTATUS handle_NtGetNextThread(const syscall_context& c, handle process_handle, handle thread_handle, ACCESS_MASK /*desired_access*/,
|
||||
ULONG /*handle_attributes*/, ULONG flags, emulator_object<handle> new_thread_handle);
|
||||
NTSTATUS handle_NtGetContextThread(const syscall_context& c, handle thread_handle, emulator_object<CONTEXT64> thread_context);
|
||||
NTSTATUS handle_NtSetContextThread(const syscall_context& c, handle thread_handle, emulator_object<CONTEXT64> thread_context);
|
||||
NTSTATUS handle_NtCreateThreadEx(const syscall_context& c, emulator_object<handle> thread_handle, ACCESS_MASK /*desired_access*/,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>>
|
||||
/*object_attributes*/,
|
||||
handle process_handle, uint64_t start_routine, uint64_t argument,
|
||||
ULONG create_flags, EmulatorTraits<Emu64>::SIZE_T /*zero_bits*/,
|
||||
EmulatorTraits<Emu64>::SIZE_T stack_size,
|
||||
handle process_handle, uint64_t start_routine, uint64_t argument, ULONG create_flags,
|
||||
EmulatorTraits<Emu64>::SIZE_T /*zero_bits*/, EmulatorTraits<Emu64>::SIZE_T stack_size,
|
||||
EmulatorTraits<Emu64>::SIZE_T /*maximum_stack_size*/,
|
||||
emulator_object<PS_ATTRIBUTE_LIST<EmulatorTraits<Emu64>>> attribute_list);
|
||||
NTSTATUS handle_NtGetCurrentProcessorNumberEx(const syscall_context&,
|
||||
emulator_object<PROCESSOR_NUMBER> processor_number);
|
||||
NTSTATUS handle_NtGetCurrentProcessorNumberEx(const syscall_context&, emulator_object<PROCESSOR_NUMBER> processor_number);
|
||||
ULONG handle_NtGetCurrentProcessorNumber();
|
||||
NTSTATUS handle_NtQueueApcThreadEx2(const syscall_context& c, handle thread_handle, handle reserve_handle,
|
||||
uint32_t apc_flags, uint64_t apc_routine, uint64_t apc_argument1,
|
||||
uint64_t apc_argument2, uint64_t apc_argument3);
|
||||
NTSTATUS handle_NtQueueApcThreadEx(const syscall_context& c, handle thread_handle, handle reserve_handle,
|
||||
uint64_t apc_routine, uint64_t apc_argument1, uint64_t apc_argument2,
|
||||
uint64_t apc_argument3);
|
||||
NTSTATUS handle_NtQueueApcThread(const syscall_context& c, handle thread_handle, uint64_t apc_routine,
|
||||
uint64_t apc_argument1, uint64_t apc_argument2, uint64_t apc_argument3);
|
||||
NTSTATUS handle_NtQueueApcThreadEx2(const syscall_context& c, handle thread_handle, handle reserve_handle, uint32_t apc_flags,
|
||||
uint64_t apc_routine, uint64_t apc_argument1, uint64_t apc_argument2, uint64_t apc_argument3);
|
||||
NTSTATUS handle_NtQueueApcThreadEx(const syscall_context& c, handle thread_handle, handle reserve_handle, uint64_t apc_routine,
|
||||
uint64_t apc_argument1, uint64_t apc_argument2, uint64_t apc_argument3);
|
||||
NTSTATUS handle_NtQueueApcThread(const syscall_context& c, handle thread_handle, 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<ULONG> maximum_time,
|
||||
emulator_object<ULONG> minimum_time, emulator_object<ULONG> current_time);
|
||||
NTSTATUS handle_NtQueryTimerResolution(const syscall_context&, emulator_object<ULONG> maximum_time, emulator_object<ULONG> minimum_time,
|
||||
emulator_object<ULONG> current_time);
|
||||
NTSTATUS handle_NtSetTimerResolution(const syscall_context&, ULONG /*desired_resolution*/, BOOLEAN set_resolution,
|
||||
emulator_object<ULONG> current_resolution);
|
||||
NTSTATUS handle_NtCreateTimer2(const syscall_context& c, emulator_object<handle> timer_handle, uint64_t reserved,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
ULONG attributes, ACCESS_MASK desired_access);
|
||||
NTSTATUS handle_NtCreateTimer(const syscall_context& c, emulator_object<handle> timer_handle,
|
||||
ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
ULONG timer_type);
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes, ULONG attributes,
|
||||
ACCESS_MASK desired_access);
|
||||
NTSTATUS handle_NtCreateTimer(const syscall_context& c, emulator_object<handle> timer_handle, ACCESS_MASK desired_access,
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes, ULONG timer_type);
|
||||
NTSTATUS handle_NtSetTimer();
|
||||
NTSTATUS handle_NtSetTimer2();
|
||||
NTSTATUS handle_NtSetTimerEx(const syscall_context& c, handle timer_handle, uint32_t timer_set_info_class,
|
||||
@@ -383,22 +318,20 @@ namespace syscalls
|
||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>>
|
||||
/*object_attributes*/,
|
||||
BOOLEAN /*effective_only*/, TOKEN_TYPE type, emulator_object<handle> new_token_handle);
|
||||
NTSTATUS handle_NtQueryInformationToken(const syscall_context& c, handle token_handle,
|
||||
TOKEN_INFORMATION_CLASS token_information_class, uint64_t token_information,
|
||||
ULONG token_information_length, emulator_object<ULONG> return_length);
|
||||
NTSTATUS handle_NtQueryInformationToken(const syscall_context& c, handle token_handle, TOKEN_INFORMATION_CLASS token_information_class,
|
||||
uint64_t token_information, ULONG token_information_length,
|
||||
emulator_object<ULONG> return_length);
|
||||
NTSTATUS handle_NtQuerySecurityAttributesToken();
|
||||
|
||||
NTSTATUS handle_NtQueryPerformanceCounter(const syscall_context& c,
|
||||
const emulator_object<LARGE_INTEGER> performance_counter,
|
||||
NTSTATUS handle_NtQueryPerformanceCounter(const syscall_context& c, const emulator_object<LARGE_INTEGER> performance_counter,
|
||||
const emulator_object<LARGE_INTEGER> performance_frequency)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (performance_counter)
|
||||
{
|
||||
performance_counter.access([&](LARGE_INTEGER& value) {
|
||||
value.QuadPart = c.win_emu.clock().steady_now().time_since_epoch().count();
|
||||
});
|
||||
performance_counter.access(
|
||||
[&](LARGE_INTEGER& value) { value.QuadPart = c.win_emu.clock().steady_now().time_since_epoch().count(); });
|
||||
}
|
||||
|
||||
if (performance_frequency)
|
||||
@@ -441,10 +374,10 @@ namespace syscalls
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
NTSTATUS handle_NtCreateIoCompletion(
|
||||
const syscall_context& c, const emulator_object<handle> event_handle, const ACCESS_MASK desired_access,
|
||||
const emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
const uint32_t /*number_of_concurrent_threads*/)
|
||||
NTSTATUS handle_NtCreateIoCompletion(const syscall_context& c, const emulator_object<handle> event_handle,
|
||||
const ACCESS_MASK desired_access,
|
||||
const emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes,
|
||||
const uint32_t /*number_of_concurrent_threads*/)
|
||||
{
|
||||
return handle_NtCreateEvent(c, event_handle, desired_access, object_attributes, NotificationEvent, FALSE);
|
||||
}
|
||||
@@ -454,11 +387,10 @@ namespace syscalls
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
NTSTATUS handle_NtRemoveIoCompletion(
|
||||
const syscall_context&, const emulator_object<handle> /*io_completion__handle*/,
|
||||
const emulator_object<int64_t> key_context, const emulator_pointer /*apc_context*/,
|
||||
const emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> /*io_status_block*/,
|
||||
const emulator_object<LARGE_INTEGER> timeout)
|
||||
NTSTATUS handle_NtRemoveIoCompletion(const syscall_context&, const emulator_object<handle> /*io_completion__handle*/,
|
||||
const emulator_object<int64_t> key_context, const emulator_pointer /*apc_context*/,
|
||||
const emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> /*io_status_block*/,
|
||||
const emulator_object<LARGE_INTEGER> timeout)
|
||||
{
|
||||
if (timeout && timeout.read().QuadPart == 0)
|
||||
{
|
||||
@@ -474,9 +406,9 @@ namespace syscalls
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
NTSTATUS handle_NtCreateWaitCompletionPacket(
|
||||
const syscall_context& c, const emulator_object<handle> event_handle, const ACCESS_MASK desired_access,
|
||||
const emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes)
|
||||
NTSTATUS handle_NtCreateWaitCompletionPacket(const syscall_context& c, const emulator_object<handle> event_handle,
|
||||
const ACCESS_MASK desired_access,
|
||||
const emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes)
|
||||
{
|
||||
return handle_NtCreateEvent(c, event_handle, desired_access, object_attributes, NotificationEvent, FALSE);
|
||||
}
|
||||
@@ -487,12 +419,10 @@ namespace syscalls
|
||||
}
|
||||
|
||||
NTSTATUS handle_NtDeviceIoControlFile(const syscall_context& c, const handle file_handle, const handle event,
|
||||
const emulator_pointer /*PIO_APC_ROUTINE*/ apc_routine,
|
||||
const emulator_pointer apc_context,
|
||||
const emulator_pointer /*PIO_APC_ROUTINE*/ apc_routine, const emulator_pointer apc_context,
|
||||
const emulator_object<IO_STATUS_BLOCK<EmulatorTraits<Emu64>>> io_status_block,
|
||||
const ULONG io_control_code, const emulator_pointer input_buffer,
|
||||
const ULONG input_buffer_length, const emulator_pointer output_buffer,
|
||||
const ULONG output_buffer_length)
|
||||
const ULONG io_control_code, const emulator_pointer input_buffer, const ULONG input_buffer_length,
|
||||
const emulator_pointer output_buffer, const ULONG output_buffer_length)
|
||||
{
|
||||
auto* device = c.proc.devices.get(file_handle);
|
||||
if (!device)
|
||||
@@ -635,8 +565,7 @@ namespace syscalls
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
NTSTATUS handle_NtAddAtom(const syscall_context& c, const uint64_t atom_name, const ULONG length,
|
||||
const emulator_object<RTL_ATOM> atom)
|
||||
NTSTATUS handle_NtAddAtom(const syscall_context& c, const uint64_t atom_name, const ULONG length, const emulator_object<RTL_ATOM> atom)
|
||||
{
|
||||
return handle_NtAddAtomEx(c, atom_name, length, atom, 0);
|
||||
}
|
||||
@@ -647,8 +576,7 @@ namespace syscalls
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
NTSTATUS handle_NtFindAtom(const syscall_context& c, const uint64_t atom_name, const ULONG length,
|
||||
const emulator_object<uint16_t> atom)
|
||||
NTSTATUS handle_NtFindAtom(const syscall_context& c, const uint64_t atom_name, const ULONG length, const emulator_object<uint16_t> atom)
|
||||
{
|
||||
const auto name = read_string<char16_t>(c.emu, atom_name, length / 2);
|
||||
const auto index = c.proc.find_atom(name);
|
||||
@@ -702,8 +630,7 @@ namespace syscalls
|
||||
return 96;
|
||||
}
|
||||
|
||||
hdc handle_NtUserGetDCEx(const syscall_context& /*c*/, const hwnd window, const uint64_t /*clip_region*/,
|
||||
const ULONG /*flags*/)
|
||||
hdc handle_NtUserGetDCEx(const syscall_context& /*c*/, const hwnd window, const uint64_t /*clip_region*/, const ULONG /*flags*/)
|
||||
{
|
||||
return window;
|
||||
}
|
||||
@@ -786,19 +713,17 @@ namespace syscalls
|
||||
EMULATOR_CAST(typename Traits::PVOID, UNICODE_STRING*) pusMenuName;
|
||||
};
|
||||
|
||||
NTSTATUS handle_NtUserRegisterClassExWOW(
|
||||
const syscall_context& c, const emulator_pointer /*wnd_class_ex*/,
|
||||
const emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> class_name,
|
||||
const emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> /*class_version*/,
|
||||
const emulator_object<CLSMENUNAME<EmulatorTraits<Emu64>>> /*class_menu_name*/, const DWORD /*function_id*/,
|
||||
const DWORD /*flags*/, const emulator_pointer /*wow*/)
|
||||
NTSTATUS handle_NtUserRegisterClassExWOW(const syscall_context& c, const emulator_pointer /*wnd_class_ex*/,
|
||||
const emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> class_name,
|
||||
const emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> /*class_version*/,
|
||||
const emulator_object<CLSMENUNAME<EmulatorTraits<Emu64>>> /*class_menu_name*/,
|
||||
const DWORD /*function_id*/, const DWORD /*flags*/, const emulator_pointer /*wow*/)
|
||||
{
|
||||
uint16_t index = c.proc.add_or_find_atom(read_unicode_string(c.emu, class_name));
|
||||
return index;
|
||||
}
|
||||
|
||||
NTSTATUS handle_NtUserUnregisterClass(const syscall_context& c,
|
||||
const emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> class_name,
|
||||
NTSTATUS handle_NtUserUnregisterClass(const syscall_context& c, const emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> class_name,
|
||||
const emulator_pointer /*instance*/,
|
||||
const emulator_object<CLSMENUNAME<EmulatorTraits<Emu64>>> /*class_menu_name*/)
|
||||
{
|
||||
@@ -847,12 +772,10 @@ namespace syscalls
|
||||
return u8_to_u16(ansi_string);
|
||||
}
|
||||
|
||||
hwnd handle_NtUserCreateWindowEx(const syscall_context& c, const DWORD /*ex_style*/,
|
||||
const emulator_object<LARGE_STRING> class_name,
|
||||
const emulator_object<LARGE_STRING> /*cls_version*/,
|
||||
const emulator_object<LARGE_STRING> window_name, const DWORD /*style*/,
|
||||
const int x, const int y, const int width, const int height, const hwnd /*parent*/,
|
||||
const hmenu /*menu*/, const hinstance /*instance*/, const pointer /*l_param*/,
|
||||
hwnd handle_NtUserCreateWindowEx(const syscall_context& c, const DWORD /*ex_style*/, const emulator_object<LARGE_STRING> class_name,
|
||||
const emulator_object<LARGE_STRING> /*cls_version*/, const emulator_object<LARGE_STRING> window_name,
|
||||
const DWORD /*style*/, const int x, const int y, const int width, const int height,
|
||||
const hwnd /*parent*/, const hmenu /*menu*/, const hinstance /*instance*/, const pointer /*l_param*/,
|
||||
const DWORD /*flags*/, const pointer /*acbi_buffer*/)
|
||||
{
|
||||
window win{};
|
||||
@@ -925,8 +848,8 @@ namespace syscalls
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL handle_NtUserGetMessage(const syscall_context& c, const emulator_object<msg> message, const hwnd hwnd,
|
||||
const UINT msg_filter_min, const UINT msg_filter_max)
|
||||
BOOL handle_NtUserGetMessage(const syscall_context& c, const emulator_object<msg> message, const hwnd hwnd, const UINT msg_filter_min,
|
||||
const UINT msg_filter_max)
|
||||
{
|
||||
(void)c;
|
||||
(void)message;
|
||||
@@ -937,8 +860,8 @@ namespace syscalls
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL handle_NtUserPeekMessage(const syscall_context& c, const emulator_object<msg> message, const hwnd hwnd,
|
||||
const UINT msg_filter_min, const UINT msg_filter_max, const UINT remove_message)
|
||||
BOOL handle_NtUserPeekMessage(const syscall_context& c, const emulator_object<msg> message, const hwnd hwnd, const UINT msg_filter_min,
|
||||
const UINT msg_filter_max, const UINT remove_message)
|
||||
{
|
||||
(void)c;
|
||||
(void)message;
|
||||
@@ -951,10 +874,8 @@ namespace syscalls
|
||||
}
|
||||
|
||||
NTSTATUS handle_NtUserEnumDisplayDevices(const syscall_context& /*c*/,
|
||||
const emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> str_device,
|
||||
const DWORD dev_num,
|
||||
const emulator_object<EMU_DISPLAY_DEVICEW> display_device,
|
||||
const DWORD /*flags*/)
|
||||
const emulator_object<UNICODE_STRING<EmulatorTraits<Emu64>>> str_device, const DWORD dev_num,
|
||||
const emulator_object<EMU_DISPLAY_DEVICEW> display_device, const DWORD /*flags*/)
|
||||
{
|
||||
if (str_device && dev_num != 0)
|
||||
{
|
||||
@@ -971,9 +892,8 @@ namespace syscalls
|
||||
utils::string::copy(dev.DeviceName, u"\\\\.\\DISPLAY1");
|
||||
utils::string::copy(dev.DeviceID, u"PCI\\VEN_10DE&DEV_0000&SUBSYS_00000000&REV_A1");
|
||||
utils::string::copy(dev.DeviceString, u"Emulator Display");
|
||||
utils::string::copy(dev.DeviceKey,
|
||||
u"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Video\\{00000001-"
|
||||
u"0002-0003-0004-000000000005}\\0001");
|
||||
utils::string::copy(dev.DeviceKey, u"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Video\\{00000001-"
|
||||
u"0002-0003-0004-000000000005}\\0001");
|
||||
});
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user