Commit Graph

83 Commits

Author SHA1 Message Date
Rémi Bernon dee510bd32 kernelbase: Use the same HLOCAL flags / lock layout as native.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-04 18:40:26 +02:00
Rémi Bernon 2fcb072f03 kernelbase: Use the same HLOCAL entry pointer alignment as native.
This changes the GlobalUnlock todo_wine as we previously considered the
invalid mem handle as a valid pointer, and we now instead check handle
validity.

Returning TRUE in for an invalid handle doesn't seem very important, and
a corner case, and it breaks compatibility and imm32 tests.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-04 18:40:26 +02:00
Rémi Bernon 3c9d2cbaea kernelbase: Allocate HLOCAL / HGLOBAL from a static handle table.
Sharing the table pointers through KernelBaseGetGlobalData to check for
handle validity in kernel32, and as native does it.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-31 22:02:51 +02:00
Rémi Bernon 981283a50b kernelbase: Implement internal KernelBaseGetGlobalData.
And call it from kernel32 to get access to kernelbase global data.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-31 22:02:51 +02:00
Rémi Bernon 1ff9e76395 kernel32: Synchronize the HLOCAL helpers with kernelbase.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-31 22:02:51 +02:00
Rémi Bernon fc12f812c3 kernel32: Make Global* traces and identifiers more consistent.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-29 20:53:50 +02:00
Rémi Bernon 48ebc410ef kernel32: Fix indentation of Global* functions.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-29 20:53:50 +02:00
Eric Pouech a0fee49db2 kernel32: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-11 11:21:29 +01:00
Paul Gofman 72c562ce9c kernel32: Do not impose 32 bit limits on Win64 in GlobalMemoryStatus().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 16:52:30 +02:00
Alexandre Julliard 0c631ebb23 kernel32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 19:38:42 +02:00
Alexandre Julliard 704d0662be ntdll: Fix RtlSizeHeap() error value for 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Alexandre Julliard f88404bfb0 kernel32: Remove heap function replacements.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 22:46:19 +01:00
Alexandre Julliard b73cfa72ed kernel32: Move physical memory status functions to kernelbase. 2019-11-19 23:15:04 +01:00
Alexandre Julliard ea43b87c00 kernel32: Move NUMA-related functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 19:36:10 +02:00
Alexandre Julliard d38a5ba4e6 kernel32: Move global/local memory functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 11:44:29 +02:00
Alexandre Julliard cad0f61808 kernel32: Move heap functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-08 22:52:09 +02:00
Alexandre Julliard 09f588ee69 kernel32: Move some process functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 15:24:52 +02:00
Dmitry Timoshkov f80059544b kernel32: Add MapUserPhysicalPages stub.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-25 17:28:11 +02:00
Daniel Lehman fe09e2dba6 kernel32: Change error return from GlobalFree.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-03 12:01:40 +01:00
Alex Henrie fd7acb03ed kernel32: Simplify Linux implementation of GlobalMemoryStatusEx.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:09:17 +01:00
Alexandre Julliard 5d12f6377c kernel32: Avoid getting the heap lock inside an exception handler block.
In case of a caught exception the lock is not released.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 22:33:51 +09:00
Alexandre Julliard cf9f185901 kernel32: GMEM_FIXED blocks cannot be 0 size.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 22:33:51 +09:00
Austin English b0ce049cbb kernel32: Add FreeUserPhysicalPages stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-28 13:11:31 +09:00
Alexandre Julliard 5468e37508 kernel32: Also check OS version to detect old binaries in GlobalMemoryStatus.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-01 21:02:19 +09:00
Austin English 4bfe66e702 kernel32: Add AllocateUserPhysicalPages stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:25 +09:00
Sebastian Lackner 966827bbc1 kernel32: Implement stub for GetPhysicallyInstalledSystemMemory.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:39 +09:00
Sergey Kalinichev 7eed378f5d ntdll: Add stub for RtlSetHeapInformation. 2014-12-19 22:36:17 +01:00
Austin English 96e920e01f kernel32: Add a stub for SetSystemFileCacheSize. 2014-10-08 16:34:29 +02:00
Austin English 2a5299ea32 kernel32: Add a stub for GetSystemFileCacheSize. 2014-10-08 16:34:17 +02:00
Ken Thomases ed11dc0ba3 kernel32: Fix build on newer Mac OS X. 2014-02-20 00:05:40 +01:00
Alexandre Julliard a0d6c8c249 kernel32: Fix build on older Mac OS X. 2014-02-19 11:35:16 +01:00
Ken Thomases a34e52cc93 kernel32: Prefer the Mach host_statistics64(HOST_VM_INFO64) API over sysctl(HW_USERMEM) to obtain free memory. 2014-02-17 11:13:27 +01:00
Ken Thomases f40c5484fc kernel32: Use the Mach host_info(HOST_BASIC_INFO) API to obtain total RAM after trying sysctl(HW_MEMSIZE) and before HW_PHYSMEM. 2014-02-17 11:13:12 +01:00
Ken Thomases 9b7c94bc55 kernel32: Use sysctl(VM_SWAPUSAGE) to get swap sizes on BSDs, if available. 2014-02-17 11:13:00 +01:00
Ken Thomases 95df19efed kernel32: Prefer HW_MEMSIZE sysctl variable over HW_PHYSMEM, if available, since it's 64 bits. 2014-02-17 11:12:53 +01:00
Ken Thomases 6953189271 kernel32: Consolidate some duplicate variable declarations. 2014-02-17 11:12:36 +01:00
Ken Thomases c91dd24098 kernel32: Avoid truncating 64-bit ullTotalPhys value to 32 bits when copying to ullAvailPhys, ullTotalPageFile, and ullAvailPageFile. 2014-02-17 11:12:21 +01:00
Ken Thomases 89a96db01f kernel32: Check that sysctl() call succeeded before using its output. 2014-02-17 11:12:04 +01:00
Akihiro Sagawa 9ab603b033 kernel32: Don't move fixed memory area in GlobalReAlloc. 2013-06-03 11:29:55 +02:00
Dmitry Timoshkov 70c21c8e6c kernel32: There is no need for lock/unlock heap in GlobalAlloc. 2013-02-15 11:52:47 +01:00
André Hentschel 1f71006fe5 kernel32: Add checks for DragonFly BSD. 2012-05-29 10:46:43 +02:00
Austin English e9dc02eaa3 kernel32: Move GlobalMemoryStatus(Ex) to a different debug channel. 2012-05-03 11:51:37 +02:00
Christian Costa d8822cf3d2 kernel32: Limit dwTotalPageFile in GlobalMemoryStatus to 4Gb minus 512kb for apps that do not expect so much memory. 2012-04-11 19:07:03 +02:00
Maarten Lankhorst 81a6be568e kernel32: Fix overflow on 32-bits systems. 2011-09-12 10:07:28 +02:00
Alexandre Julliard 4b12e9c5a0 kernel32: Fix some 64-bit issues in GlobalSize(). 2011-06-13 11:46:35 +02:00
David Hedberg fed025fd42 kernel32: GlobalSize() should also work with GMEM_MOVEABLE data pointers received from GlobalLock(). 2011-06-13 11:46:24 +02:00
Dmitry Timoshkov 83bfa7636e kernel32: Truncate the reported by GlobalMemoryStatus() memory limits for Win9x versions too. 2010-10-06 20:46:49 +02:00
André Hentschel 8d371d88d1 kernel32: Spelling fix in a comment. 2010-07-28 14:01:53 +02:00
Nikolay Sivov 0597e659bd kernel32: Fix return code from LocalUnlock for pointer passed to it. 2010-05-10 10:04:54 +02:00
Alexandre Julliard 18dbaadfc5 kernel32: Define GetProcessHeap as an assembler function on i386. 2010-05-07 14:07:45 +02:00