Commit graph

56 commits

Author SHA1 Message Date
Alexandre Julliard
483a2203eb kernelbase: Move Wow64EnableWow64FsRedirection() from kernel32 to kernelbase.
Following recent Windows versions.
2023-05-11 22:53:14 +02:00
Alex Henrie
9cbbcb409c kernelbase: Avoid calling RtlInitUnicodeString on a static constant. 2023-02-15 19:55:12 +01:00
Jinoh Kang
282120a9c5 ntdll: Use an acquire/release pair on the IOSB status. 2022-11-14 13:17:31 +01:00
Nikolay Sivov
69cff16d69 kernelbase: Forward some more classes in GetFileInformationByHandleEx().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-10-31 12:11:55 +01:00
Nikolay Sivov
f054d2ab58 kernelbase: Make sure to provide a message for missing information classes in GetFileInformationByHandleEx().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-10-31 12:11:55 +01:00
Nikolay Sivov
404e590e06 kernelbase: Forward some directory info classes in GetFileInformationByHandleEx().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53590
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-10-31 12:11:55 +01:00
Daniel Lehman
f8dc38f9c2 kernelbase: Call NtCancelSynchronousIoFile in CancelSynchronousIo.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
2022-10-17 11:22:41 +02:00
Zhiyi Zhang
2375a6e5bd kernelbase: Return system error codes in the ReadDirectoryChangesW() completion callback.
Return system error codes instead of NT status codes in the ReadDirectoryChangesW() completion callback.
2022-09-15 13:47:45 +02:00
Paul Gofman
02faaea93b kernelbase: Reset last error on success in CopyFileExW().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:15:56 +02:00
Alistair Leslie-Hughes
aa2851f167 kernelbase: Trace not supported flags in CopyFileExW.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 22:42:33 +01:00
Paul Gofman
d67129a777 kernelbase: Use FILE_LIST_DIRECTORY instead of GENERIC_READ in FindFirstFileExW().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:36:57 +01:00
Paul Gofman
b3132be819 kernelbase: Query FileStandardInformation instead of FileEndOfFileInformation in SetFilePointerEx().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:36:53 +01:00
Daniel Lehman
a5d14fa980 kernelbase: Check for invalid value in FileTimeToSystemTime.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-16 21:16:21 +01:00
Eric Pouech
2dcfe06442 kernelbase: 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
Keno Fischer
d96975d649 kernel32: Fix CancelIoEx return value.
In commit 27ecc6ba5 ("ntdll: Fix iosb handling in NtCancelIoFile()"),
NtCancelIoFile(Ex) was updated to return its status rather than
unconditionally setting it in io_status->u.Status (though the write
was retained in the success case). As a result, in the error case,
the kernelbase wrappers now interpret unitialized memory as an error
code, since io_status->u.Status is never written.

Signed-off-by: Keno Fischer <keno@juliacomputing.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-23 10:50:10 +01:00
Zebediah Figura
f5bd946399 kernelbase: Don't set the output size in DeviceIoControl() if the NT status denotes error.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:30:44 +02:00
Zebediah Figura
7b9617ef2f kernelbase: Return TRUE from DeviceIoControl() if the NT status denotes success.
Likely a similar treatment should be given to other kernelbase APIs, but it's
not immediately clear which.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 10:57:38 +02:00
Luke Deller
8294b2c8ad kernelbase: Translate FILE_FLAG_SEQUENTIAL_SCAN.
Translate FILE_FLAG_SEQUENTIAL_SCAN into the corresponding flag for
NtCreateFile options

Signed-off-by: Luke Deller <luke@deller.id.au>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Roman Pišl
33c6a6cb28 kernelbase: Convert DOS to NT path for FileRenameInfo in SetFileInformationByHandle.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50756
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 20:58:25 +01:00
Alexandre Julliard
4d7b49eae6 kernelbase: Avoid depending on the mount manager in CopyFileExW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-17 10:28:43 +01:00
Gijs Vermeulen
5c86b9f1dc kernelbase: Support FileRenameInfo in SetFileInformationByHandle.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50756
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 21:33:43 +01:00
Jacek Caban
1d36532d22 kernelbase: Support FileEndOfFileInfo in SetFileInformationByHandle.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:01:54 +01:00
Jacek Caban
60f11d2929 kernelbase: Simplify CreateFileW.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:51:41 +01:00
Jacek Caban
826a9615e4 kernelbase: Remove no longer needed console handle mapping.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 19:50:30 +01:00
Jacek Caban
cbca9f847f kernelbase: Use FileFsDeviceInformation for console handles in GetFileType.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:40 +01:00
Jacek Caban
a055f41286 kernelbase: Use NtQueryInformationFile for consoles handles in GetFileSizeEx.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:04 +01:00
Rémi Bernon
1445ae79e6 kernelbase: Also pass CreateFile2 file flags to CreateFileW.
Instead of just attributes.

Otherwise we may miss important flags like FILE_FLAG_OVERLAPPED and open
the file for synchronous I/O, causing a deadlock in Flight Simulator.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 22:36:13 +02:00
Alexandre Julliard
d1f83537e7 kernelbase: Use FSCTL_GET_OBJECT_ID to compare file identities.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:13 +02:00
Alexandre Julliard
f8699c0a71 kernel32: Move RemoveDirectoryA/W() implementation to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 16:05:26 +02:00
Jacek Caban
0556d9e6f1 kernelbase: Use NtCreateFile for console handles in CreateFileW.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 21:52:21 +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
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
b6c9401882 kernel32: Move some file functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +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
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
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
d88bbf0a45 kernelbase: Use wide character string literals in file.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 22:16:30 +01:00
Kevin Puetz
b064d32c52 kernelbase: Allow NULL lpAssemblyDirectoryName in find_actctx_dllpath.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 21:32:05 +01:00
Zebediah Figura
c7019a8887 kernelbase: Implement ReOpenFile().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47668
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:33:06 +01:00
Alexandre Julliard
207c558003 kernelbase: Move some console support back to kernel32.
That's where the bulk of the console code still resides.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:16:40 +01:00
Alexandre Julliard
9b0877db4a kernel32: Move FindFirst/NextFile functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Alexandre Julliard
7b3c0fbed2 kernelbase: Add an OpenConsoleW() replacement wrapper.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 18:24:32 +01:00
Alexandre Julliard
94d2b4742c kernelbase: Fix assumptions about 0-size output buffer in ntdll Unicode conversion functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 09:30:43 +01:00
Zebediah Figura
216530f230 kernelbase: Implement GetOverlappedResultEx().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38830
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:26:30 +01:00
Alexandre Julliard
4405195b3c kernel32: Move GetSystemWow64Directory() functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard
bf03953942 kernelbase: Implement GetSystemWow64Directory2().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard
8d25965e12 kernel32: Move SearchPath functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 09:44:29 +02:00
Zebediah Figura
1669956966 kernelbase: Implement GetFileInformationByHandleEx(FileAttributeTagInfo).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47813
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 21:02:39 +02:00
Alexandre Julliard
2c68c530af kernel32: Move file time functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 19:36:10 +02:00
Alexandre Julliard
e3e1bede1b kernel32: Move some path functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 16:50:44 +02:00