Module: wine Branch: oldstable Commit: 5f36e93ffd5d2ebd92d19c41992cb56e460fe60d URL: https://source.winehq.org/git/wine.git/?a=commit;h=5f36e93ffd5d2ebd92d19c419...
Author: André Hentschel nerv@dawncrow.de Date: Sun Sep 16 16:59:21 2018 +0200
kernel32: Add stub for SetProcessWorkingSetSizeEx.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45523 Signed-off-by: André Hentschel nerv@dawncrow.de Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 7e39544bfa6cf3e68a8567c202624f7f2d3fc7c8) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
.../api-ms-win-core-memory-l1-1-1.spec | 2 +- .../api-ms-win-core-memory-l1-1-2.spec | 2 +- dlls/kernel32/kernel32.spec | 2 +- dlls/kernel32/process.c | 28 ++++++++++++++++++---- dlls/kernelbase/kernelbase.spec | 2 +- include/winbase.h | 1 + 6 files changed, 28 insertions(+), 9 deletions(-)
diff --git a/dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec b/dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec index 42630c1..3200be9 100644 --- a/dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec +++ b/dlls/api-ms-win-core-memory-l1-1-1/api-ms-win-core-memory-l1-1-1.spec @@ -15,7 +15,7 @@ @ stdcall QueryMemoryResourceNotification(ptr ptr) kernel32.QueryMemoryResourceNotification @ stdcall ReadProcessMemory(long ptr ptr long ptr) kernel32.ReadProcessMemory @ stdcall ResetWriteWatch(ptr long) kernel32.ResetWriteWatch -@ stub SetProcessWorkingSetSizeEx +@ stdcall SetProcessWorkingSetSizeEx(long long long long) kernel32.SetProcessWorkingSetSizeEx @ stdcall SetSystemFileCacheSize(long long long) kernel32.SetSystemFileCacheSize @ stdcall UnmapViewOfFile(ptr) kernel32.UnmapViewOfFile @ stub UnmapViewOfFileEx diff --git a/dlls/api-ms-win-core-memory-l1-1-2/api-ms-win-core-memory-l1-1-2.spec b/dlls/api-ms-win-core-memory-l1-1-2/api-ms-win-core-memory-l1-1-2.spec index 6100213..57a5b10 100644 --- a/dlls/api-ms-win-core-memory-l1-1-2/api-ms-win-core-memory-l1-1-2.spec +++ b/dlls/api-ms-win-core-memory-l1-1-2/api-ms-win-core-memory-l1-1-2.spec @@ -21,7 +21,7 @@ @ stdcall ReadProcessMemory(long ptr ptr long ptr) kernel32.ReadProcessMemory @ stub RegisterBadMemoryNotification @ stdcall ResetWriteWatch(ptr long) kernel32.ResetWriteWatch -@ stub SetProcessWorkingSetSizeEx +@ stdcall SetProcessWorkingSetSizeEx(long long long long) kernel32.SetProcessWorkingSetSizeEx @ stdcall SetSystemFileCacheSize(long long long) kernel32.SetSystemFileCacheSize @ stdcall UnmapViewOfFile(ptr) kernel32.UnmapViewOfFile @ stub UnmapViewOfFileEx diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index ada2355..724c9ef 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -1432,7 +1432,7 @@ @ stdcall SetProcessShutdownParameters(long long) # @ stub SetProcessUserModeExceptionPolicy @ stdcall SetProcessWorkingSetSize(long long long) -# @ stub SetProcessWorkingSetSizeEx +@ stdcall SetProcessWorkingSetSizeEx(long long long long) @ stdcall SetSearchPathMode(long) @ stdcall SetStdHandle(long long) # @ stub SetStdHandleEx diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index a0817e0..7fdbcfc 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -3419,22 +3419,22 @@ err:
/*********************************************************************** - * SetProcessWorkingSetSize [KERNEL32.@] + * SetProcessWorkingSetSizeEx [KERNEL32.@] * Sets the min/max working set sizes for a specified process. * * PARAMS - * hProcess [I] Handle to the process of interest + * process [I] Handle to the process of interest * minset [I] Specifies minimum working set size * maxset [I] Specifies maximum working set size + * flags [I] Flags to enforce working set sizes * * RETURNS * Success: TRUE * Failure: FALSE */ -BOOL WINAPI SetProcessWorkingSetSize(HANDLE hProcess, SIZE_T minset, - SIZE_T maxset) +BOOL WINAPI SetProcessWorkingSetSizeEx(HANDLE process, SIZE_T minset, SIZE_T maxset, DWORD flags) { - WARN("(%p,%ld,%ld): stub - harmless\n",hProcess,minset,maxset); + WARN("(%p,%ld,%ld,%x): stub - harmless\n", process, minset, maxset, flags); if(( minset == (SIZE_T)-1) && (maxset == (SIZE_T)-1)) { /* Trim the working set to zero */ /* Swap the process out of physical RAM */ @@ -3443,6 +3443,24 @@ BOOL WINAPI SetProcessWorkingSetSize(HANDLE hProcess, SIZE_T minset, }
/*********************************************************************** + * SetProcessWorkingSetSize [KERNEL32.@] + * Sets the min/max working set sizes for a specified process. + * + * PARAMS + * process [I] Handle to the process of interest + * minset [I] Specifies minimum working set size + * maxset [I] Specifies maximum working set size + * + * RETURNS + * Success: TRUE + * Failure: FALSE + */ +BOOL WINAPI SetProcessWorkingSetSize(HANDLE process, SIZE_T minset, SIZE_T maxset) +{ + return SetProcessWorkingSetSizeEx(process, minset, maxset, 0); +} + +/*********************************************************************** * K32EmptyWorkingSet (KERNEL32.@) */ BOOL WINAPI K32EmptyWorkingSet(HANDLE hProcess) diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 3c31d03..cf1f7eb 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1461,7 +1461,7 @@ @ stdcall SetProcessPriorityBoost(long long) kernel32.SetProcessPriorityBoost @ stdcall SetProcessShutdownParameters(long long) kernel32.SetProcessShutdownParameters # @ stub SetProcessValidCallTargets -# @ stub SetProcessWorkingSetSizeEx +@ stdcall SetProcessWorkingSetSizeEx(long long long long) kernel32.SetProcessWorkingSetSizeEx # @ stub SetProtectedPolicy # @ stub SetRoamingLastObservedChangeTime @ stub SetSecurityAccessMask diff --git a/include/winbase.h b/include/winbase.h index e06be3c..b248228 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2560,6 +2560,7 @@ WINBASEAPI BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD_PTR); WINBASEAPI BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL); WINBASEAPI BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD); WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize(HANDLE,SIZE_T,SIZE_T); +WINBASEAPI BOOL WINAPI SetProcessWorkingSetSizeEx(HANDLE,SIZE_T,SIZE_T,DWORD); WINBASEAPI BOOL WINAPI SetSearchPathMode(DWORD); WINADVAPI BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL); WINADVAPI BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);