ntdll: Partially implement NtUnmapViewOfSectionEx().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2022-05-05 09:49:38 +03:00 committed by Alexandre Julliard
parent d8c807ba98
commit d63db81295
6 changed files with 27 additions and 0 deletions

View File

@ -427,6 +427,7 @@
@ stdcall -syscall NtUnlockFile(long ptr ptr ptr ptr)
@ stdcall -syscall NtUnlockVirtualMemory(long ptr ptr long)
@ stdcall -syscall NtUnmapViewOfSection(long ptr)
@ stdcall -syscall NtUnmapViewOfSectionEx(long ptr long)
# @ stub NtVdmControl
# @ stub NtW32Call
@ stdcall -syscall NtWaitForAlertByThreadId(ptr ptr)
@ -1454,6 +1455,7 @@
@ stdcall -private -syscall ZwUnlockFile(long ptr ptr ptr ptr) NtUnlockFile
@ stdcall -private -syscall ZwUnlockVirtualMemory(long ptr ptr long) NtUnlockVirtualMemory
@ stdcall -private -syscall ZwUnmapViewOfSection(long ptr) NtUnmapViewOfSection
@ stdcall -private -syscall ZwUnmapViewOfSectionEx(long ptr long) NtUnmapViewOfSectionEx
# @ stub ZwVdmControl
# @ stub ZwW32Call
@ stdcall -private -syscall ZwWaitForAlertByThreadId(ptr ptr) NtWaitForAlertByThreadId

View File

@ -336,6 +336,7 @@ static void * const syscalls[] =
NtUnlockFile,
NtUnlockVirtualMemory,
NtUnmapViewOfSection,
NtUnmapViewOfSectionEx,
NtWaitForAlertByThreadId,
NtWaitForDebugEvent,
NtWaitForKeyedEvent,

View File

@ -4610,6 +4610,15 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr )
return status;
}
/***********************************************************************
* NtUnmapViewOfSectionEx (NTDLL.@)
* ZwUnmapViewOfSectionEx (NTDLL.@)
*/
NTSTATUS WINAPI NtUnmapViewOfSectionEx( HANDLE process, PVOID addr, ULONG flags )
{
if (flags) FIXME("Ignoring flags %#x.\n", flags);
return NtUnmapViewOfSection( process, addr );
}
/******************************************************************************
* virtual_fill_image_information

View File

@ -237,6 +237,7 @@
SYSCALL_ENTRY( NtUnlockFile ) \
SYSCALL_ENTRY( NtUnlockVirtualMemory ) \
SYSCALL_ENTRY( NtUnmapViewOfSection ) \
SYSCALL_ENTRY( NtUnmapViewOfSectionEx ) \
SYSCALL_ENTRY( NtWaitForAlertByThreadId ) \
SYSCALL_ENTRY( NtWaitForDebugEvent ) \
SYSCALL_ENTRY( NtWaitForKeyedEvent ) \

View File

@ -525,6 +525,19 @@ NTSTATUS WINAPI wow64_NtUnmapViewOfSection( UINT *args )
}
/**********************************************************************
* wow64_NtUnmapViewOfSectionEx
*/
NTSTATUS WINAPI wow64_NtUnmapViewOfSectionEx( UINT *args )
{
HANDLE process = get_handle( &args );
void *addr = get_ptr( &args );
ULONG flags = get_ulong( &args );
return NtUnmapViewOfSectionEx( process, addr, flags );
}
/**********************************************************************
* wow64_NtWow64AllocateVirtualMemory64
*/

View File

@ -4160,6 +4160,7 @@ NTSYSAPI NTSTATUS WINAPI NtUnloadKeyEx(POBJECT_ATTRIBUTES,HANDLE);
NTSYSAPI NTSTATUS WINAPI NtUnlockFile(HANDLE,PIO_STATUS_BLOCK,PLARGE_INTEGER,PLARGE_INTEGER,PULONG);
NTSYSAPI NTSTATUS WINAPI NtUnlockVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
NTSYSAPI NTSTATUS WINAPI NtUnmapViewOfSection(HANDLE,PVOID);
NTSYSAPI NTSTATUS WINAPI NtUnmapViewOfSectionEx(HANDLE,PVOID,ULONG);
NTSYSAPI NTSTATUS WINAPI NtVdmControl(ULONG,PVOID);
NTSYSAPI NTSTATUS WINAPI NtWaitForAlertByThreadId(const void*,const LARGE_INTEGER*);
NTSYSAPI NTSTATUS WINAPI NtWaitForDebugEvent(HANDLE,BOOLEAN,LARGE_INTEGER*,DBGUI_WAIT_STATE_CHANGE*);