=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: kernel32: Add stub for SetProcessWorkingSetSizeEx.

Alexandre Julliard julliard at winehq.org
Sun Mar 3 13:21:25 CST 2019


Module: wine
Branch: oldstable
Commit: 5f36e93ffd5d2ebd92d19c41992cb56e460fe60d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=5f36e93ffd5d2ebd92d19c41992cb56e460fe60d

Author: André Hentschel <nerv at 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 at dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 7e39544bfa6cf3e68a8567c202624f7f2d3fc7c8)
Signed-off-by: Michael Stefaniuc <mstefani at 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);




More information about the wine-cvs mailing list