Commit Graph

327 Commits

Author SHA1 Message Date
Alexandre Julliard 11217ee628 kernel32: Move SetConsoleCtrlHandler() implementation to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 10:20:47 +02:00
Alex Henrie 7af9488c10 kernelbase: Add GetPackageFamilyName stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49299
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Alexandre Julliard fc173ccca8 kernel32: Reimplement GetProcessVersion() in kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-26 15:58:13 +02:00
Alexandre Julliard 6bed2b427b kernel32: Move the *PreferredUILanguages functions to kernelbase and ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:31:55 +02:00
Alexandre Julliard 4ccc3e5285 kernel32: Move Get/SetSystemTimeAdjustment to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:31:55 +02:00
Alexandre Julliard 79e3c21c3c kernel32: Move GetSystemTimes() implementation to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:31:55 +02:00
Alexandre Julliard 7cc9ccbd22 kernel32: Move GetProcessTimes() implementation to kernelbase and ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:31:55 +02:00
Alexandre Julliard 8ca9e0b1ab kernelbase: Use the user shared data to implement GetTickCount().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 19:36:52 +02:00
Alexandre Julliard 6a1667fab4 kernelbase: Move WaitOnAddress implementation to sync.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 19:36:52 +02:00
Zhiyi Zhang 3cbd9cda19 kernelbase: Check NULL canonicalized_len parameter in UrlCanonicalizeW().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49175
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 12:09:54 +02:00
Vladimir Panteleev c4ef987429 kernelbase: Fix GetEnvironmentVariableW return for empty variables.
Do the same thing as Vista and up.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48471
Signed-off-by: Vladimir Panteleev <git@vladimir.panteleev.md>
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 14:08:51 +02:00
Vladimir Panteleev 4c06599c1f kernelbase: Don't return ERROR_INSUFFICIENT_BUFFER from GetEnvironmentVariableW.
Windows doesn't do this (except XP, and then only for empty variables,
where it returns ERROR_MORE_DATA).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48471
Signed-off-by: Vladimir Panteleev <git@vladimir.panteleev.md>
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 14:08:51 +02:00
Vladimir Panteleev 7ad5e1bc8a kernelbase: Preserve last error when GetEnvironmentVariableA succeeds.
Avoid clobbering last error with NO_ERROR when GetEnvironmentVariableA
succeeds, matching the behavior of GetEnvironmentVariableW and
Windows.

Instead of naively saving and restoring the last error, call
RtlQueryEnvironmentVariable_U directly to avoid unnecessarily setting
it in the first place.

Signed-off-by: Vladimir Panteleev <git@vladimir.panteleev.md>
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 14:08:51 +02:00
Alexandre Julliard 7b01281745 kernelbase: Reimplement FormatMessageA/W using RtlFormatMessage().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:05:31 +02:00
Zebediah Figura 877bf2a7a0 kernelbase: Implement SetEnvironmentStrings().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48308
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:30:15 +02:00
Alexandre Julliard 876d7af94e kernel32: Move the psapi functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 16:24:24 +02:00
Jacek Caban 93d1eecb6a ntdll: Export _chkstk from importlib.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Alexandre Julliard 9c0a205ff4 kernelbase: Add CopyMemoryNonTemporal export.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Alexandre Julliard 0c90da7f7e kernel32: Move some stub functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Alexandre Julliard a10f1e9d7b kernel32: Move FlushProcessWriteBuffers() stub to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Alexandre Julliard 8555e948bd kernel32: Move Wer* function stubs to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Alexandre Julliard b6c9401882 kernel32: Move some file functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Alexandre Julliard e36a9c459d kernel32: Move volume functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Jacek Caban b7ce75e989 wincon.h: Don't use calling convention wrappers on MSVC.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 12:04:08 +02:00
Zebediah Figura feeb1c7c24 include: Rename LDR_MODULE to LDR_DATA_TABLE_ENTRY.
This name is used in Microsoft's public winternl.h.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:13:39 +02:00
Alex Henrie 22cdc4e3da kernelbase: Stub LoadAppInitDlls().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47061
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 17:21:16 +02:00
Sven Baars a202ecd457 kernelbase: Fix a string leak in CreateProcessInternal (Valgrind).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 12:49:11 +02:00
Alexandre Julliard 99027aeaee kernel32: Move GetNamedPipeHandleStateW() implementation to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:04 +02:00
Jacek Caban b66e13ef24 kernelbase: Implement CreateThreadpoolIo.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 11:40:49 +02:00
Jacek Caban 1da0d17419 kernelbase: Forward threadpool I/O functions to ntdll.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 11:40:38 +02:00
Zebediah Figura dab50548e0 kernelbase: Return the volume serial number in GetFileInformationByHandle().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:53 +02:00
Serge Gautherie 7c0ba9007a kernelbase: Handle RegGetValue() RRF_SUBKEY_WOW64??KEY flags.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-27 21:16:12 +01:00
Jefferson Carpenter f070d040eb kernelbase: Zero out retkey in the ERROR_INVALID_HANDLE case in RegOpenKeyExW.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48798
Signed-off-by: Jefferson Carpenter <jeffersoncarpenter2@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-27 21:16:12 +01:00
Gijs Vermeulen e97fa67bc2 kernelbase: Set req->mask in SetConsoleScreenBufferInfoEx.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 20:50:34 +01:00
Alexandre Julliard 375668e122 kernelbase: Open registry keys before looking for sort table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 19:43:38 +01:00
Alexandre Julliard 84cca2baae kernelbase: Implement IsValidNLSVersion().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 14:49:36 +01:00
Alexandre Julliard 86522976c9 kernelbase: Implement GetNLSVersion/GetNLSVersionEx().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 14:43:55 +01:00
Gabriel Ivăncescu 563a8c0f98 kernelbase: Implement compatibility mode for GetVersion.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:29:24 +01:00
Gabriel Ivăncescu 6719bf2e03 kernelbase: Implement compatibility mode for GetVersionEx.
Since Windows 8.1, these functions have been deprecated and run in a sort
of compatibility mode, reporting Windows 8 unless the application supplies a
manifest that specifies compatibility with newer Windows versions explicitly
(by listing their GUIDs).

Some applications have bad non-forward-compatible checks based
on GetVersionEx, and depend on this behavior (they do not supply a
manifest). Currently, they break on Wine if we use a Windows 10 prefix for
example, since we always report the real version. One example is the game
Rock of Ages.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:28:58 +01:00
Alexandre Julliard b780e5f5b1 kernelbase: Use linguistic case table for LCMAP_LINGUISTIC_CASING.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 12:02:53 +01:00
Alexandre Julliard c567af732b kernelbase: Use the ctype table from the sortkey file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:19:20 +01:00
Alexandre Julliard 4b1676af06 kernelbase: Load the sortkey file and use it for the case mapping table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:18:57 +01:00
Alexandre Julliard 95aeb41c8c unicode: Generate the NLS file for sortkeys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:18:57 +01:00
Alexandre Julliard 712839d581 unicode: Generate a registry script for Nls keys.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:18:52 +01:00
Alexandre Julliard d87d4a4a04 unicode: Store data for CT_CTYPE3 types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 11:26:47 +01:00
Alexandre Julliard b83af7c763 unicode: Update data tables to Unicode 13.0.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 13:23:11 +01:00
Alexandre Julliard 5933c2a690 kernelbase: Don't allow the full Unicode character range in path functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 20:39:21 +01:00
Alexandre Julliard 0eec0eb7e0 kernelbase: Don't allow the full Unicode character range in StrToInt* functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 20:39:21 +01:00
Alexandre Julliard ef95e4a8b9 kernelbase: Don't use wcsicmp/wcsnicmp() on the full Unicode character range.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 20:39:21 +01:00
Alexandre Julliard 1a9ddc3759 kernelbase: Don't use towlower() on the full Unicode character range.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 20:39:21 +01:00