Commit graph

103 commits

Author SHA1 Message Date
Ratin Gao
d09072626b [KERNEL32] GlobalMemoryStatusEx should handle error and return FALSE when failed 2023-03-23 09:42:58 +01:00
Ratin Gao
df7ab5d8f7
[KERNEL32] Remove a pointless SEH in VirtualAllocEx (#5117)
Win2K3 just wraps in SEH only this syscall, which appears pointless
and was removed since NT6.0. We remove it too as an experiment.
Revert the change that added SEH here from commit 6d97180 (r52899).
2023-03-09 17:08:08 +01:00
Jose Carlos Jesus
f691efefc2
[SHLWAPI] No need extension to execute '.bat' files CORE-17612 (#4932)
When no extension is provided, add default extension with correct precedence using PathFileExistsDefExtW.
- Use PathFindOnPathExW when searching in current directory and PATH environment variable.
- Fix Width String terminator to UNICODE_NULL.
- Fix all failed tests on PathFindPathExW KVM test.
CORE-17612
2023-02-11 00:05:11 +09:00
Hermès Bélusca-Maïto
1b25fe161c
[KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls. 2023-01-06 14:44:49 +01:00
Timo Kreuzer
437f2b1b0e [KERNEL32] Silence 2 annoying DPRINTs 2023-01-04 10:32:28 +01:00
Timo Kreuzer
eb502bbc10 [KERNEL32] Fix a bug in GetVolumeNameForRoot 2022-12-01 20:17:40 +02:00
Hermès Bélusca-Maïto
9f938ea3bb
[KERNEL32] Reformat K32CreateDBMonMutex(). 2022-11-03 02:50:20 +01:00
Hermès Bélusca-Maïto
5bf0c00ddc
[KERNEL32] Minor code style changes + add documentation for BasepMoveFileDelayed().
+ cut the too long lines; don't hardcode types in sizeofs; correctly specify COPY_FILE_FAIL_IF_EXISTS flag.
2022-11-01 02:29:24 +01:00
Mark Jansen
f10d40f912
[KERNEL32] Fix BaseDefaultPath containing extra '.' 2022-09-06 21:09:38 +02:00
Timo Kreuzer
39f11249ff [NTOS][RTL] Initialize MxCsr where missing 2022-08-22 11:22:08 +02:00
Andrew Boyarshin
c15a9c1d09
[KERNEL32] lpNumberOfCharsWritten is optional for WriteConsole (#1079)
Some applications (and libraries, like replxx) rely on this undocumented behavior.
2022-08-12 01:58:18 +02:00
Timo Kreuzer
f96bee30ed [KERNEL32] Fix printing exception address 2022-08-04 16:15:24 +02:00
Mark Jansen
8ea46b53e3
[KERNEL32] Fix reading SafeDllSearchMode 2022-05-25 22:43:47 +02:00
Hermès Bélusca-Maïto
75e2fb4566
[KERNEL32] Improve annotation of BaseProcess/ThreadStartup(); remove useless cast; fix PPROCESS_START_ROUTINE return type. 2022-04-18 02:40:32 +02:00
Oleg Dubinskiy
5d81de7d5b
[REACTOS] Update email in all my copyrights (#4415)
Change it to Gmail, because Yandex disabled ua domain, which was used in my previous email.
2022-03-31 01:53:30 +02:00
Hermès Bélusca-Maïto
a94436b519
[KERNEL32] SetThreadUILanguage(): Validate the parameter. Use LANGIDFROMLCID() macro. (#4301)
Both ReactOS and Win2k3 only support '0' for the parameter.
2022-02-08 15:58:04 +01:00
Hermès Bélusca-Maïto
3e44a5d71c
[KERNEL32][CONSRV] Retrieve the best-suited language ID corresponding to the active console output code page. (#4301)
CORE-17601, CORE-17803
Replaces PR #4281.

Implement SrvGetConsoleLangId() (server-side) and set the new current
thread's locale after connecting to a console, or changing its output
code page.

Based on API tracing on Windows 2003, as well as on comments and code
gathered from: https://github.com/microsoft/terminal

Tests results are listed in PR #4301.
2022-02-08 15:58:02 +01:00
Serge Gautherie
1944d7b71b [KERNEL32] HeapCreateTagsW(): Sync' types and add annotations
See RtlCreateTagHeap().
2022-02-03 20:21:40 +01:00
Eric Kohl
cf8380100e [KERNEL32] SetComputerNameExW: Truncate the computer name
This fixes the SetComputerNameExW api test.
2021-12-12 17:40:52 +01:00
Hermès Bélusca-Maïto
d6d30f9e05
[KERNEL32] Don't hardcode some types in sizeofs, and some flag values. 2021-11-28 00:26:42 +01:00
Oleg Dubinskiy
334ab0f2a5 [KERNEL32] Implement SetFileCompletionNotificationModes
Call native Nt* function to do the actual work, similarly to as it done in Wine: 530c183960:/dlls/kernel32/file.c#l258.
Also add/fix some declarations in internal kernel32/public ndk neaders, to fix compilation.
CORE-17821
2021-10-23 16:19:22 +02:00
Victor Perevertkin
655ddfa8e2
[KERNEL32] FindFirstFileExW: fix syscall buffer alignment
NtQueryDirectoryFile required the FileInformation buffer to be
ULONG-aligned. Declare the aligned buffer explicitly.
2021-09-14 17:58:22 +03:00
Hermès Bélusca-Maïto
9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Timo Kreuzer
5d8e834897 [REACTOS] Fix a number of MSVC warnings 2021-07-23 22:03:48 +02:00
Mark Jansen
b58c3d73ca
[RTL][KERNEL32] Move the STUB printing code to a place where it's actually called 2021-05-22 16:33:19 +02:00
Colin Finck
fd8080b094
[KERNEL32] Align the PROCESS_PRIORITY_CLASS variable in GetPriorityClass on a 4-byte boundary.
Fixes CORE-16757.
This is required for NtQueryInformationProcess as proven by my test application in the bug report.
2021-02-20 17:13:38 +01:00
Victor Perevertkin
46ca069e42
[XDK] Remove UNREFERENCE_LOCAL_VARIABLE macro
Change UNREFERENCED_PARAMETER to (VOID)P to support const parameters
2021-01-19 00:15:02 +03:00
Timo Kreuzer
8df1bd612a [KERNEL32] Fix register initialization in BaseInitializeContext
Get rid of BaseThreadStartupThunk and BaseProcessStartThunk asm wrappers and go to the C functions directly (home space is allocated on the stack by the kernel)
2020-11-07 18:33:02 +01:00
Timo Kreuzer
d8b5c00c33 [KERNEL32_VISTA] Move vista.c from kernel32 to kernel32_vista
- Remove duplicated functions
- Use AreFileApisANSI() instead of global variable bIsFileApiAnsi in shared kernel32_shared
2020-09-25 09:45:54 +02:00
Timo Kreuzer
fcd83242d4 [KERNEL32] Move some functions into a static library to be shared between kernel32 and kernel32_vista 2020-09-25 09:45:54 +02:00
Katayama Hirofumi MZ
378b26ce27
[KERNEL32] Improve SetComputerNameExW (#3171)
Reduce failures of kernel32_apitest SetComputerNameExW testcase and improve SetComputerNameExW.
2020-09-17 23:51:47 +09:00
Serge Gautherie
4aeb45ce0c
[KERNEL32] GetPriorityClass(): Return explicit 0, not FALSE (match return type) (#3170) 2020-09-12 21:38:06 +02:00
Serge Gautherie
8140203940
[KERNEL32] FatalAppExitW: Add an 'UNREFERENCED_LOCAL_VARIABLE(Status)' (#2883)
Addendum to 21d2accad3 (r71793).
2020-06-04 23:35:54 +03:00
Mark Jansen
177ae91bf6
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857
2020-03-29 21:27:38 +02:00
Hermès Bélusca-Maïto
98b58df2bf
[KERNEL32:CONSOLE] Explicitly use _WIN32_WINNT_VISTA. 2020-03-02 01:08:36 +01:00
Hermès Bélusca-Maïto
570eba2a52
[KERNEL32][CONSRV] Use more often the internal ConioRectHeight/Width() and ConioIsRectEmpty() macros. 2020-02-22 21:15:58 +01:00
Eric Kohl
c645660384 [KERNEL32] Improvements to Get/SetComputerNameExW
- The ComputerNamePhysicalDnsDomain name type gets or sets the 'NV Domain' registry value.
- The ComputerNamePhysicalDnsHostname name type gets or sets the 'NV Hostname' registry value.
- IsValidComputerName: Enforce name length restrictions according to the name type.
2020-01-19 13:34:31 +01:00
Oleg Dubinskiy
c6b64448ce [KERNEL32] Stub GetSystemTimePreciseAsFileTime 2019-11-29 09:03:09 +01:00
William Kent
192926ee02 Stub GetCurrentPackageId() (#1942)
* [KERNEL32] Add stub implementation for GetCurrentPackageId() function

This Windows 8+ function is called by WiX bundles (EXE-based installers) upon exit, if the export is present. If it is a stub in the spec, they will crash, even if they are coded to be compatible with Windows XP/ReactOS.
Also add GetCurrentPackageId() forwarder to apiset.
2019-11-29 08:56:02 +01:00
Joachim Henze
93220e26d0 [KERNEL32] The DPRINT again - Nevermind
Tribute to DepositePirate.

This reverts commit 4ed0c1acef.
2019-11-03 23:41:34 +01:00
Joachim Henze
4ed0c1acef [KERNEL32] Fix typo in DPRINT
I checked: this is no Wine synced code.
2019-11-03 22:30:35 +01:00
Pierre Schweitzer
0ce3941b41
[KERNEL32] Fix FIXME by calling appropriate function in GetNativeSystemInfo() 2019-10-02 10:52:00 +02:00
Denis Malikov
18a9993d69 [KERNEL32] implement CreateSemaphoreExW/A and adjust macroses for it 2019-08-15 15:50:59 +02:00
Serge Gautherie
40ab30d6a0 [KERNEL32] Partially fix dll/win32/kernel32/client/vista.c compilation as NT6
CORE-12596
2019-08-15 15:42:34 +02:00
Hermès Bélusca-Maïto
44cddadba8
[KERNEL32] Minor enhancements for CreateRemoteThread(). (#804)
- Add some cleanup code in failure code paths, instead of asserting.
- Move BasepNotifyCsrOfThread() helper to the only file where it is used.
- Don't use ERROR_DBGBREAK in failure paths but just DPRINT the error
  message: we handle the failures properly.
- When creating the remote thread, sync its service tag with the parent
  thread's one.
2019-08-01 19:12:49 +02:00
Hermès Bélusca-Maïto
effdb6f232
[KERNEL32][RTL] Diverse fixes/improvements for thread stack creation code. (#802)
- kernel32!BaseCreateStack() is compatible with ntdll!RtlpCreateUserStack().
- When checking whether a stack guard page can be added, its size has to
  be accounted for in the checking logic.
- We have to satisfy the PEB::MinimumStackCommit constraint.
- We cannot use PEB::GuaranteedStackBytes in BaseCreateStack() since it is
  nowhere initialized (default is 0). It gets initialized to a non-zero
  value when the user manually calls SetThreadStackGuarantee().
  https://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_6.html

- RtlpCreateUserStack(): Fix memory leak in failure case.
- RtlpFreeUserStack() doesn't need to return anything.

See also commit 1bc59379 (r59868).

CORE-11319
2019-08-01 19:04:13 +02:00
Timo Kreuzer
1b70ddd834 [KERNEL32] Improve path name handling
Fixes GCC 8 warning:
dll/win32/kernel32/client/loader.c: In function 'LoadLibraryA':
dll/win32/kernel32/client/loader.c:129:17: error: 'strncat' specified bound 13 equals source length [-Werror=stringop-overflow=]
                 strncat(PathBuffer, "\\twain_32.dll", 13);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-07-20 13:56:18 +02:00
Katayama Hirofumi MZ
2db0e159a4
[KERNEL32] Fix SetComputerNameExW (#1583)
Based on @Doug-Lyons's patch. CORE-16058
2019-05-27 16:18:38 +09:00
Pierre Schweitzer
ea7aca8bdd
[KERNEL32] Drop unused line breaks 2019-05-08 18:34:28 +02:00
Pierre Schweitzer
204bfa8574
[KERNEL32] Misc. fixes to DefineDosDeviceW
- Add support for LUIDDeviceMapsEnabled;
- Broadcast proper message in case of device removal;
- Use less memory for strings management;
- Make code a bit cleaner.
2019-05-05 18:33:15 +02:00