Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/kernelbase/kernelbase.spec | 1 + dlls/kernelbase/memory.c | 9 +++++++++ include/winbase.h | 1 + 3 files changed, 11 insertions(+)
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 7095927c61e..854797ddeb0 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1653,6 +1653,7 @@ @ stdcall UnlockFile(long long long long long) @ stdcall UnlockFileEx(long long long long ptr) @ stdcall UnmapViewOfFile(ptr) +@ stdcall UnmapViewOfFile2(long ptr long) # @ stub UnmapViewOfFileEx # @ stub UnregisterBadMemoryNotification # @ stub UnregisterGPNotificationInternal diff --git a/dlls/kernelbase/memory.c b/dlls/kernelbase/memory.c index 49bf71e0aa2..87c07887482 100644 --- a/dlls/kernelbase/memory.c +++ b/dlls/kernelbase/memory.c @@ -303,6 +303,15 @@ BOOL WINAPI DECLSPEC_HOTPATCH UnmapViewOfFile( const void *addr ) }
+/*********************************************************************** + * UnmapViewOfFile2 (kernelbase.@) + */ +BOOL WINAPI DECLSPEC_HOTPATCH UnmapViewOfFile2( HANDLE process, void *addr, ULONG flags ) +{ + return set_ntstatus( NtUnmapViewOfSectionEx( process, addr, flags )); +} + + /*********************************************************************** * VirtualAlloc (kernelbase.@) */ diff --git a/include/winbase.h b/include/winbase.h index 55be6dbf62b..2b109af19df 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2741,6 +2741,7 @@ WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED #define UnlockResource(handle) ((handle), 0) #define UnlockSegment(handle) GlobalUnfix((HANDLE)(handle)) WINBASEAPI BOOL WINAPI UnmapViewOfFile(LPCVOID); +WINBASEAPI BOOL WINAPI UnmapViewOfFile2(HANDLE,PVOID,ULONG); WINBASEAPI BOOL WINAPI UmsThreadYield(void *); WINBASEAPI HRESULT WINAPI UnregisterApplicationRestart(void); WINBASEAPI BOOL WINAPI UnregisterWait(HANDLE);