Commit Graph

3102 Commits

Author SHA1 Message Date
Jacek Caban 5bb4212397 kernel32: Support MUI_LANGUAGE_ID flag in EnumUILanguages.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Alexandre Julliard 156965eae9 server: Create the windows directories at startup if necessary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-12 23:02:28 +01:00
Alexandre Julliard 9839bb7691 ntdll: Skip dlls of the wrong machine type when searching through the load path.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 12:31:40 +01:00
Alexandre Julliard c946922a9c ntdll: Directly try to open the dll file instead of checking for existence first.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Huw Davies 2d2e935190 kernel32: Implement canonical composing.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Huw Davies db3ae2ca9f libport: Add support for singleton decomposition.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Huw Davies eceb69e172 libport: Add support for compatibility decomposition.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Huw Davies dc919db2bf kernel32: Implement canonical reordering.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Huw Davies e4a9e2ff2e kernel32: Initial support for canonical decomposition in NormalizeString().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Huw Davies aa2f12900b kernel32/tests: Move the tests to a per-test todo.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Alexandre Julliard 6fb00db51e ntdll: Don't use current directory for libraries unless explicitly specified in the search path.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 19:57:27 +01:00
Alexandre Julliard c827e3f6af kernel32: Fix handling of NULL argument in SetDllDirectoryA().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-05 21:46:29 +01:00
Jon Doron aa5107b165 kernel32: Fix MOVEFILE_REPLACE_EXISTING between devices.
Fix the case of rename fails because when done between 2 different
devices and the MOVEFILE_REPLACE_EXISTING is set.

Signed-off-by: Jon Doron <arilou@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 19:54:01 +01:00
Jon Doron 69d3c7a00f kernel32: Fix MoveFileWithProgressW from closing same handle twice.
Signed-off-by: Jon Doron <arilou@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 19:54:01 +01:00
Alexandre Julliard b1dbe76d7a kernel32/tests: Add tests for dll fallback when image type doesn't match current platform.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:46 +01:00
Alexandre Julliard 5613526bd4 kernel32/tests: Try loading the dll also for matching platform type.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:46 +01:00
Alexandre Julliard 27193d36af kernel32/tests: Add helper function for machine type manipulations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:46 +01:00
Gijs Vermeulen 9b7113bcec kernel32/tests: Add CopyFile[Ex]A NULL handling tests.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:28:01 +01:00
Alexandre Julliard c87aa2b9fc ntdll: Support loading old runtime versions of IL-only images.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 15:29:53 +01:00
Gabriel Ivăncescu ec89a93028 kernel32/tests: Test partially overlapping buffers for MultiByteToWideChar.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 17:33:38 +01:00
Alexandre Julliard b61d425502 ntdll: Implement RtlIsProcessorFeaturePresent().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-24 17:33:37 +01:00
Sven Baars b012281cc9 kernel32/tests: Fix a memory leak (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-23 18:23:42 +01:00
Jacek Caban 0a41f5b0a2 kernel32/tests: Initialize input buffer in test_overlapped_transport.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46341
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-07 10:47:21 -06:00
Dmitry Timoshkov c26b6afad3 kernel32: CreateDirectory shouldn't return ERROR_ACCESS_DENIED for the root of the drive.
According to the testbot results CreateDirectory("C:\\", NULL) fails
with ERROR_ACCESS_DENIED for not administrators. However with UAC enabled
and not and administrator account I get ERROR_ALREADY_EXISTS in that case
with Windows 7 64-bit running on real hardware. Moreover, Wine doesn't
really perform any access checks in that case and blindly assumes that
returning STATUS_ACCESS_DENIED is correct behaviour for the drive's root:
dlls/ntdll/directory.c,lookup_unix_name().

This patch fixes an application that can't find its data files because
after it receives ERROR_ACCESS_DENIED it stops further directory traversing.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-28 17:42:23 +01:00
Akihiro Sagawa 2ce076a502 kernel32: Use Rtl function when the time zone name is useless.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-17 22:35:22 +01:00
Akihiro Sagawa afad5636cb kernel32: Resolve an MUI time zone name.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-06 19:23:06 +01:00
Andrey Gusev bf8eb24913 kernel32/tests: Fix typos in ok() messages.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 15:55:17 +01:00
André Hentschel ee9f2c62d5 kernel32: Implement GetCurrentThreadStackLimits.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46179
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 16:41:47 +01:00
Alexandre Julliard 013c51aca0 makefiles: Create 64-bit wine loader symlinks in the WoW64 build tree.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 14:21:29 +01:00
Greg Smith f4b07ee8ec kernel32: Ignore FileIoPriorityHintInfo in SetFileInformationByHandle().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46130
Signed-off-by: Greg Smith <codedonewell@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
Zhiyi Zhang 33de7fb7a8 mountmgr: Add IOCTL_STORAGE_QUERY_PROPERTY stub.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:04 +01:00
André Hentschel 014f9c0929 kernel32: Add stub case for ARM64 in GetSystemInfo.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46092
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
André Hentschel ebc80ad1c4 ntdll: Add stubs for RtlAddFunctionTable and RtlDeleteFunctionTable on ARM64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46143
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 09:57:28 +01:00
Michael Stefaniuc d9c7d4147b kernel32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 23:11:31 +01:00
André Hentschel 9f7692e2ed kernel32: Export RtlPcToFileHeader on ARM64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46144
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 23:11:31 +01:00
Alex Henrie 8fae94c57a kernel32: Implement GetMaximumProcessorCount.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45961
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 09:56:18 +01:00
Alex Henrie 305597439b kernel32: Remove duplicate spec file entries.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 09:56:18 +01:00
André Hentschel 95fa795fa1 ntdll: Call system hook in LdrResolveDelayLoadedAPI when dll hook is missing.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46089
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:30:07 +01:00
Nikolay Sivov 982b93148c kernel32/tests: Fix skips for implemented functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:21:51 +01:00
Dmitry Timoshkov c055a274e9 kernel32/tests: Add more directory change notification tests.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Jacek Caban 9050b58f07 ntdll: Correctly return result of blocking NtFlushBuffersFile.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Jacek Caban 4fc5aff509 kernel32: Wait on pipe handle in TransactNamedPipe if needed.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Jacek Caban b114bd07b1 kernel32: Wait on pipe handle in ConnectNamedPipe if needed.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Zhiyi Zhang 3ebd2f0be3 kernel32: Implement FindStringOrdinal.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46035
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:53:50 +01:00
Alexandre Julliard 2769bb1e9b kernel32: Add CreateProcessAsUserA/W.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 21:18:26 +02:00
Alexandre Julliard cdddf02d0c kernel32: Implement CreateProcessInternalA/W.
Based on a patch by Michael Müller.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 13:29:10 +02:00
Sebastian Lackner 139cc95610 kernel32: Add SetFileCompletionNotificationModes implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38960
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-25 20:32:03 +02:00
Alexandre Julliard 7a8ff7fab3 kernel32: Avoid setting an empty current directory in the process params.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:08 +02:00
Alexandre Julliard 1a561b640b kernel32: Use the Unicode string length to build the argv array.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:08 +02:00
Alexandre Julliard 33c3cee817 kernel32: Get std handles from the process parameters.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:08 +02:00
Jactry Zeng ebc0e5ffb5 kernel32: Don't check a discarded variable.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:05 +02:00
Alexandre Julliard 7e96514029 kernel32: Separate the exec process functionality.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 11:56:47 +02:00
Alexandre Julliard a77ef5c443 server: Add a separate request to exec a new process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 11:44:25 +02:00
Nikolay Sivov 7d1cef5409 kernel32: Add GetProcessMitigationPolicy() stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 11:36:05 +02:00
Nikolay Sivov d75f2fc3c7 kernel32/tests: Add SearchPath() test for file name with multiple extension delimiters.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 11:14:32 +02:00
Nikolay Sivov 6a106ac9bf kernel32/tests: Remove workarounds for SearchPath().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 11:14:31 +02:00
Dmitry Timoshkov ccf9b18ea0 kernel32: GetLongPathName should fail when called with a wildcard.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 09:55:02 +02:00
Dmitry Timoshkov 3a78ec672a kernel32: GetShortPathName should fail when called with a wildcard.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 09:55:01 +02:00
Dmitry Timoshkov 9bc6068843 kernel32/tests: Add some tests for GetLongPathName/GetShortPathName called with a wildcard.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 09:54:59 +02:00
Jacek Caban dd1769a16a server: Improve error handling of disconnected named pipe clients.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 09:53:43 +02:00
Jacek Caban 0fe08b794d kernel32/tests: Add more PeekNamedPipe tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 09:53:31 +02:00
Jacek Caban ee28e0107c server: Return STATUS_BUFFER_OVERFLOW in pipe_end_peek for partial reads in message mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 09:53:25 +02:00
Alexandre Julliard c4d85843c0 kernel32: Get the current directory from the process parameters in create_cmd_process().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 22:26:07 +02:00
Alexandre Julliard ec0c5a11fd kernel32: Move environment Unicode conversion into create_process_params().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 20:46:34 +02:00
Akihiro Sagawa b02cdd3615 kernel32: Fix LCMapString buffer calculation with LCMAP_KATAKANA and LCMAP_HALFWIDTH.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45982
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:51 +02:00
Akihiro Sagawa 96b4a5a356 kernel32/tests: Add LCMapString tests with a voiced consonant Hiragana character.
Use U+3060 (HIRAGANA LETTER DA) in the test.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:51 +02:00
Alexandre Julliard 27ba57e804 kernel32: Pass the standard process parameters structure to fork_and_exec().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:51 +02:00
Alexandre Julliard ed551282b4 kernel32: Pass the standard process parameters structure to create_process().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:51 +02:00
Louis Lenders 35f62f644d kernel32: Add stub for MoveFileTransacted{A,W}.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45995
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:51 +02:00
Dmitry Timoshkov f184a396a8 kernel32: MoveFile should make sure that it has the delete access to the source file.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:50 +02:00
Dmitry Timoshkov 7edfcd63ad kernel32: MoveFile(source, source) should succeed.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 20:13:50 +02:00
Dmitry Timoshkov b1d878fd2c kernel32/tests: Move the MoveFile test where it belongs.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 14:05:11 +02:00
Dmitry Timoshkov c1c0a08388 kernel32/tests: Fix a bunch of access denied errors by using a dedicated TEMP directory.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 14:05:10 +02:00
Dmitry Timoshkov 75d6c63a40 kernel32/tests: Fix compilation with PSDK.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 14:05:08 +02:00
Alexandre Julliard 79e2afaaae kernel32: Build a standard process parameters structure in CreateProcess().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-11 18:08:02 +02:00
Alexandre Julliard 0964b3cd13 kernel32: Use the CPU type from the image information in CreateProcess().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-11 18:07:34 +02:00
Alexandre Julliard 03e05c1f57 ntdll: Implement RtlSetUnhandledExceptionFilter().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-09 14:49:54 +02:00
Alexandre Julliard fd60a33e5d kernel32: Pass the full filename to winevdm.exe in CreateProcessW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 20:26:32 +02:00
Alexandre Julliard 2475cb767d kernel32: Make a copy of the process environment in CreateProcessW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 18:23:23 +02:00
Zebediah Figura b79fd400c0 kernel32: Implement GetQueuedCompletionStatusEx().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43878
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:21 -07:00
Zebediah Figura a2c11943c8 kernel32/tests: Add some tests for completion ports.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:21 -07:00
Alexandre Julliard dc0ec5502d kernel32: Create a fresh PE info structure when running winevdm.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 19:26:42 +02:00
Gijs Vermeulen e850369dd8 Revert "kernel32: Add GetQueuedCompletionStatusEx stub.".
This partially reverts commit f1be5c7861.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45891
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 15:22:25 +02:00
Alexandre Julliard ec13f6ec2a kernel32: Get rid of the binary_info structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 14:55:32 +02:00
Alexandre Julliard df637816bc kernel32: Return the binary type from get_binary_info().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 14:55:19 +02:00
Alexandre Julliard da40de3ced kernel32: Determine 32/64-bitness from the PE architecture.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 14:55:18 +02:00
Alexandre Julliard 9d3a5a969c kernel32: Retrieve binary information from the server for PE files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 14:54:59 +02:00
Alexandre Julliard 8b492467d9 kernel32: Move MODULE_get_binary_info implementation to process.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 13:27:28 +02:00
Alexandre Julliard 1060567cc5 kernel32: Remove the DOS/Win16/OS2 binary distinction.
They all need to be run through winevdm.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-25 21:45:04 +02:00
Alexandre Julliard 57512807b9 kernel32: Reimplement GetBinaryTypeW to rely on the server for header parsing.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-25 21:45:04 +02:00
Alexandre Julliard 622aeeba6a server: Return more specific error status for NE binaries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-25 21:45:04 +02:00
Gijs Vermeulen f1be5c7861 kernel32: Add GetQueuedCompletionStatusEx stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43878
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:29 +02:00
Alexandre Julliard ac7ae92af1 server: Allow specifying the security descriptor for a new process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 14:50:48 +02:00
Alexandre Julliard 39afcaac4a server: Create the initial thread as a separate request.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 14:50:48 +02:00
Alexandre Julliard 4a328e08ac server: Allow specifying the security descriptor for a new thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 13:06:12 +02:00
Alex Henrie b8b946dd0f kernel32: Add DECLSPEC_HOTPATCH to functions patched by libtcmalloc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45199
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 20:59:38 +02:00
André Hentschel 7e39544bfa 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>
2018-09-17 18:35:33 +02:00
Alistair Leslie-Hughes 0a7293a8e3 kernel32/tests: Tests for ProcessCookie in NtQueryInformationProcess.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 18:29:04 +02:00
André Hentschel fa0da6a2cb kernel32/tests: Allow ERROR_ACCESS_DENIED for newer Win10.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:32:03 +02:00
Qian Hong 279ac253e5 kernel32: Fallback to default comspec when %COMSPEC% is not set.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=19801
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-03 19:44:43 +02:00
Brock York 324e0d2e9f kernel32/tests: Improve ReplaceFileW error checking.
Signed-off-by: Brock York <twunknown@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-03 18:47:19 +02:00
Brock York 2bbd309d66 kernel32/tests: Test ReplaceFileW on open exe.
Replicate the scenario of an exe calling ReplaceFileW on itself.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33845
Signed-off-by: Brock York <twunknown@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-03 18:47:05 +02:00
Fabian Maurer 56b3304a01 ntdll/actctx: Don't stop looking for manifest if dll without manifest is found.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-29 22:01:38 +02:00
Louis Lenders ad8f450957 kernel32: Add stub for GetApplicationRestartSettings.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-29 22:01:36 +02:00
Jacek Caban 58233b47e0 kernel32: Always create file with FILE_READ_ATTRIBUTES access in CreateFile.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 23:02:28 +02:00
Jacek Caban 8712db6f55 kernel32: Use proper access flags in CreatePipe.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:43:35 +02:00
Jacek Caban 8db78eccab ntdll: Allow FileAccessInformation to be queried on files without fds.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:43:29 +02:00
Dmitry Timoshkov 54ec72bc09 kernel32: Set %ALLUSERSPROFILE% variable to the same value as %ProgramData%.
This matches what recent Windows versions set in the process environment.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-20 10:08:12 +02:00
Jacek Caban a9ef1dd5dc kernel32/tests: Add more pipe tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:24:45 +02:00
Jacek Caban 57212f64f8 kernel32: Add AttachConsole implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41573
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43910
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 13:21:56 +02:00
Daniel Lehman 32acf3139c kernel32/tests: Add some CompareStringA/W tests.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 11:23:30 +02:00
Dmitry Timoshkov 2a28db37ab kernel32: Set environment variable %PUBLIC% at process start-up.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 11:07:37 +02:00
Fabian Maurer e215d070cf kernel32: In UpdateProcThreadAttribute handle PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY.
Needed for x32 win7 chrome and chromium.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45648
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 11:07:30 +02:00
Fabian Maurer 2a82ddc2b9 kernel32: Make UpdateProcThreadAttribute handle PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY.
This is needed by x64 chromium sandbox for >= win10.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45644
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 11:07:30 +02:00
Zebediah Figura a1d12ad5c6 kernel32: Don't clear WINEDEBUG in the debugger process if +winedbg is set.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 10:57:35 +02:00
Fabian Maurer 41c0219e05 kernel32: Add stub for SetProcessMitigationPolicy.
This is needed by x64 chromium sandbox for >= win8.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45643
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 21:01:09 +02:00
Jacek Caban 7038b9ef15 server: Improve named pipe write error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jacek Caban 0973b8d2c3 server: Improve FSCTL_PIPE_PEEK error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:07 +02:00
Jon Doron ba9f3dc198 kernel32: Fix BeginUpdateResource structure layout.
The utility muirct.exe for some reason accesses the opaque
HANDLE that is returned by BeginUpdateResource, it assumes
a certain structure in which (on 32bit systems) there is a
pointer to the wide repesentation of the file name in offset
0x18 (0x30 on 64bit).

Signed-off-by: Jon Doron <arilou@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 14:59:48 +02:00
Guillaume Charifi 94dda4690b kernel32: Add stub for GetDynamicTimeZoneInformationEffectiveYears().
Signed-off-by: Guillaume Charifi <guillaume.charifi@sfr.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Dmitry Timoshkov 7def0f200f ntdll: Don't allow blocking on a critical section during process termination.
As a result HeapLock() no longer blocks process termination since underlying
implementation uses a critical section. However this should be considered as
a minor side effect because applications shouldn't depend on this behaviour.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Dmitry Timoshkov 0f99327e78 kernel32/tests: Add a test for holding a critical section during process termination.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 13:55:55 +02:00
Dmitry Timoshkov b4a5622172 kernel32: Add support for FILE_FLAG_WRITE_THROUGH to CreateFile.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Dmitry Timoshkov 97d2d9bf60 kernel32: Add support for MOVEFILE_WRITE_THROUGH to MoveFile.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Michael Stefaniuc fe70e0e58f kernel32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Zebediah Figura 75464b13fd kernel32/tests: Load GetSystemFirmwareTable() dynamically.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:38 +02:00
Akihiro Sagawa a5da525229 kernel32: Fix LCMapString(LCMAP_HALFWIDTH) in some cases.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45439
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 17:01:45 +02:00
Akihiro Sagawa ef2df8ed36 kernel32/tests: Add more LCMapString tests.
Especially combined with LCMAP_HALFWIDTH and LCMAP_UPPERCASE.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 17:01:42 +02:00
Alex Henrie 93711aee1f kernel32: Connect GetSystemFirmwareTable to NtQuerySystemInformation.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:53 +02:00
Alex Henrie 774a859d42 kernel32/tests: Add GetSystemFirmwareTable tests.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-12 12:57:53 +02:00
Sebastian Lackner 61d92d1317 kernel32: Fill stack with meaningful values in call_process_entry mis-align workaround.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 10:49:30 +02:00
Michael Stefaniuc 6a04cf4a69 kernel32/tests: Avoid ARRAY_SIZE-like macros.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 22:03:47 +02:00
Michael Stefaniuc 80be3a460b kernel32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 22:02:48 +02:00
Marcus Meissner d3057eef31 kernel32: GetVolumePathNamesForVolumeNameW gets character as buffer size.
Signed-off-by: Marcus Meissner <meissner@suse.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-26 16:39:59 +02:00
Marcus Meissner 0807725f41 kernel32: GetCalendarInfoW gets character sizes.
Signed-off-by: Marcus Meissner <meissner@suse.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-26 16:39:55 +02:00
Michael Stefaniuc cd1019fee8 kernel32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-23 00:41:32 +02:00
Zebediah Figura 2c551a9054 kernel32: Implement Wow64SetThreadContext().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 14:01:35 +02:00
Zebediah Figura e50c507cf6 kernel32: Implement Wow64GetThreadContext().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 14:01:35 +02:00
Michael Stefaniuc 868fb05e77 kernel32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 21:18:45 +02:00
Michael Stefaniuc f770ea1370 kernel32/tests: Correct the buffer size passed to FormatMessageW().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 21:18:43 +02:00
Zebediah Figura 0250693354 kernel32: Allow GetModuleInformation() to succeed on a WoW64 process.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Zebediah Figura 54f287d88a kernel32: Allow GetModuleFileNameEx() to succeed on a WoW64 process.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Zebediah Figura 72e3fdf0a2 kernel32: Allow GetModuleBaseName() to succeed on a WoW64 process.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Zebediah Figura 54186a4c9f kernel32: Allow EnumProcessModules() to succeed on a WoW64 process.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Matej Špindler da5112c743 kernel32: Check for LOCALE_NOUSEROVERRIDE for neutral locales.
Signed-off-by: Matej Špindler <spindler.matej@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-22 21:58:02 +02:00
Thomas Crider 1211b37878 kernel32: Add SetProcessAffinityUpdateMode stub.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-17 10:04:42 +02:00
Zebediah Figura 9321aa40f5 kernel32: Check only the low word of CS when printing exceptions.
Fixes messages along the lines of
wine: Unhandled page fault at address 0xf7bd0023:0x7b43d14c (thread 006c), starting debugger...

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 23:12:51 +02:00
Piotr Caban 77fa0502fa kernel32: Fix CreateProcess behavior when batch script command contains '"' characters.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-09 09:45:22 +02:00
Qian Hong 4c2cc57c7f kernel32: Init TimezoneInformation registry.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 10:21:33 +02:00
Alistair Leslie-Hughes d5fd01350f kernel32: Implement GetCurrencyFormatEx.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 10:21:33 +02:00