mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-28 23:41:03 +00:00
Added support for NtCreateDirectoryObject
This commit is contained in:
@@ -83,6 +83,9 @@ namespace syscalls
|
|||||||
NTSTATUS handle_NtOpenDirectoryObject(const syscall_context& c, emulator_object<handle> directory_handle,
|
NTSTATUS handle_NtOpenDirectoryObject(const syscall_context& c, emulator_object<handle> directory_handle,
|
||||||
ACCESS_MASK /*desired_access*/,
|
ACCESS_MASK /*desired_access*/,
|
||||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||||
|
NTSTATUS handle_NtCreateDirectoryObject(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*/,
|
NTSTATUS handle_NtOpenSymbolicLinkObject(const syscall_context& c, emulator_object<handle> link_handle, ACCESS_MASK /*desired_access*/,
|
||||||
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes);
|
||||||
NTSTATUS handle_NtQuerySymbolicLinkObject(const syscall_context& c, handle link_handle,
|
NTSTATUS handle_NtQuerySymbolicLinkObject(const syscall_context& c, handle link_handle,
|
||||||
@@ -1056,6 +1059,7 @@ void syscall_dispatcher::add_handlers(std::map<std::string, syscall_handler>& ha
|
|||||||
add_handler(NtProtectVirtualMemory);
|
add_handler(NtProtectVirtualMemory);
|
||||||
add_handler(NtLockVirtualMemory);
|
add_handler(NtLockVirtualMemory);
|
||||||
add_handler(NtOpenDirectoryObject);
|
add_handler(NtOpenDirectoryObject);
|
||||||
|
add_handler(NtCreateDirectoryObject);
|
||||||
add_handler(NtTraceEvent);
|
add_handler(NtTraceEvent);
|
||||||
add_handler(NtAllocateVirtualMemoryEx);
|
add_handler(NtAllocateVirtualMemoryEx);
|
||||||
add_handler(NtCreateIoCompletion);
|
add_handler(NtCreateIoCompletion);
|
||||||
|
|||||||
@@ -1220,6 +1220,20 @@ namespace syscalls
|
|||||||
return STATUS_NOT_SUPPORTED;
|
return STATUS_NOT_SUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTSTATUS handle_NtCreateDirectoryObject(const syscall_context& /*c*/, const emulator_object<handle> /*directory_handle*/,
|
||||||
|
const ACCESS_MASK /*desired_access*/,
|
||||||
|
const emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes)
|
||||||
|
{
|
||||||
|
const auto attributes = object_attributes.read();
|
||||||
|
|
||||||
|
if (attributes.ObjectName == 0)
|
||||||
|
{
|
||||||
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
return STATUS_NOT_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
NTSTATUS handle_NtOpenSymbolicLinkObject(const syscall_context& c, const emulator_object<handle> link_handle,
|
NTSTATUS handle_NtOpenSymbolicLinkObject(const syscall_context& c, const emulator_object<handle> link_handle,
|
||||||
ACCESS_MASK /*desired_access*/,
|
ACCESS_MASK /*desired_access*/,
|
||||||
const emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes)
|
const emulator_object<OBJECT_ATTRIBUTES<EmulatorTraits<Emu64>>> object_attributes)
|
||||||
|
|||||||
Reference in New Issue
Block a user