Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Thaodan:emulators
wine
63efbd5c6fecdc8cde99dbf9147d7188e452d226.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 63efbd5c6fecdc8cde99dbf9147d7188e452d226.patch of Package wine
From 63efbd5c6fecdc8cde99dbf9147d7188e452d226 Mon Sep 17 00:00:00 2001 From: Brendan Shanks <bshanks@codeweavers.com> Date: Fri, 3 Mar 2023 10:49:18 -0800 Subject: [PATCH] kernelbase: Implement DiscardVirtualMemory(). (cherry picked from commit d7d94ed0df6931907d1c89d7d7551dd40f5214c5) --- dlls/kernel32/kernel32.spec | 1 + dlls/kernelbase/kernelbase.spec | 2 +- dlls/kernelbase/memory.c | 13 +++++++++++++ include/memoryapi.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index caa2f42d07c..f0fc51e7ab6 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -373,6 +373,7 @@ @ stdcall -import DeleteProcThreadAttributeList(ptr) # @ stub DisableThreadProfiling @ stdcall DisassociateCurrentThreadFromCallback(ptr) NTDLL.TpDisassociateCallback +@ stdcall DiscardVirtualMemory(ptr long) kernelbase.DiscardVirtualMemory @ stdcall DeleteTimerQueue(long) @ stdcall -import DeleteTimerQueueEx(long long) @ stdcall -import DeleteTimerQueueTimer(long long long) diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 92421ec4ceb..fc687efb913 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -269,7 +269,7 @@ @ stdcall DisablePredefinedHandleTableInternal(long) @ stdcall DisableThreadLibraryCalls(long) @ stdcall DisassociateCurrentThreadFromCallback(ptr) ntdll.TpDisassociateCallback -# @ stub DiscardVirtualMemory +@ stdcall DiscardVirtualMemory(ptr long) @ stdcall DisconnectNamedPipe(long) @ stdcall DnsHostnameToComputerNameExW(wstr ptr ptr) # @ stub DsBindWithSpnExW diff --git a/dlls/kernelbase/memory.c b/dlls/kernelbase/memory.c index 47a2127452f..cc22a433359 100644 --- a/dlls/kernelbase/memory.c +++ b/dlls/kernelbase/memory.c @@ -52,6 +52,19 @@ BOOLEAN WINAPI RtlSetUserValueHeap( HANDLE handle, ULONG flags, void *ptr, void ***********************************************************************/ +/*********************************************************************** + * DiscardVirtualMemory (kernelbase.@) + */ +DWORD WINAPI DECLSPEC_HOTPATCH DiscardVirtualMemory( void *addr, SIZE_T size ) +{ + NTSTATUS status; + LPVOID ret = addr; + + status = NtAllocateVirtualMemory( GetCurrentProcess(), &ret, 0, &size, MEM_RESET, PAGE_NOACCESS ); + return RtlNtStatusToDosError( status ); +} + + /*********************************************************************** * FlushViewOfFile (kernelbase.@) */ diff --git a/include/memoryapi.h b/include/memoryapi.h index 8743e67927c..6728b832fa7 100644 --- a/include/memoryapi.h +++ b/include/memoryapi.h @@ -41,5 +41,6 @@ typedef struct WIN32_MEMORY_REGION_INFORMATION SIZE_T CommitSize; } WIN32_MEMORY_REGION_INFORMATION; +DWORD WINAPI DiscardVirtualMemory(void *addr, SIZE_T size); BOOL WINAPI QueryVirtualMemoryInformation(HANDLE process,const void *addr, WIN32_MEMORY_INFORMATION_CLASS info_class, void *info, SIZE_T size, SIZE_T *ret_size);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor