Commit graph

86235 commits

Author SHA1 Message Date
Timo Kreuzer
abbc784010 [VCRUNTIME] Stop including crtdefs.h 2024-11-02 12:52:59 +02:00
Timo Kreuzer
2955b1f0e9 [VCRUNTIME] Add some missing definitions to vcruntime*.h 2024-11-02 12:52:59 +02:00
Timo Kreuzer
90e95d15a2 [VCRUNTIME] Move some definitions from crtdefs.h to vadefs.h 2024-11-02 12:52:59 +02:00
Timo Kreuzer
1d01b8c6f0 [VCRUNTIME] Move some definitions from crtdefs.h to vcruntime.h
This reflects what native headers do.
TODO: Move _CRT_ALIGN to corecrt.h
2024-11-02 12:52:59 +02:00
Timo Kreuzer
ff2c7c8720 [VCRUNTIME] Add vcruntime.h and related (mostly empty)
This is for compatibility with some 3rd-party code.
2024-11-02 12:52:59 +02:00
Timo Kreuzer
84344399b5 [VCRUNTIME] Move compiler runtime headers into their own folder
These headers come with the MS compiler. Some of them are standard, like emmintrin.h, others are MS specific like crtdefs.h
This separation will allow using MS CRT headers. Eventually it can allow compiling with the compilers' runtime headers.
2024-11-02 12:52:59 +02:00
Timo Kreuzer
7b2bb7ecc8 [SPEC2DEF] Implement support for negated architecture
This is used by wine spec files.
2024-11-02 02:36:45 +02:00
Eric Kohl
d55ca68f7d [SETUPAPI] SETUP_CreateDevicesList must return ERROR_INVALID_DATA when the Enumerator is invalid
This fixes the devclass apitest.
2024-11-01 22:17:02 +01:00
Eric Kohl
91bc5b5e94 [UMPNPMGR] PNP_GetGlobalState returns CM_GLOBAL_STATE_SHUTTING_DOWN on service shutdown 2024-11-01 14:43:37 +01:00
Joachim Henze
978503cd46
[TASKMGR] *.rc: Tweak all AUTOCHECKBOXes (#7409)
- no functional change intended
- shrinks the rc files sizes and shrinks the binary size of taskmgr:
RosBEWin2.2.2 GCC8.4.0dbg taskmgr.exe from 696.320 -> 678.912 bytes ==> 17.408 bytes saved in the binary
- does also slightly beautify those lines when displaying them in the reshacker

JIRA issue: none
2024-11-01 11:55:23 +01:00
Ratin Gao
1f4ef448de
[NTOS:EX] Fix SAL notations, Timeout parameter should be optional (#7482)
Fix warnings:

E:\3rdRepo\ReactOS_Fork4\ntoskrnl\ex\keyedevt.c(458): warning C6387: 'Timeout' could be '0': this does not adhere to the specification for the function 'ExpWaitForKeyedEvent'.
E:\3rdRepo\ReactOS_Fork4\ntoskrnl\ex\keyedevt.c(527): warning C6387: 'Timeout' could be '0': this does not adhere to the specification for the function 'ExpReleaseKeyedEvent'.

JIRA issue: None.

Proposed changes
Timeout parameter of those two functions should be optional.
2024-11-01 11:53:28 +01:00
Ratin Gao
9f784c65a2
[REACTOS] Fix 'writting' typos (#7484)
3rd-party files are not modified.
2024-11-01 11:50:09 +01:00
Thamatip Chitpong
898cc5663d
[EXPLORER] Add tooltip for show desktop button (#7483)
CORE-15369
2024-11-01 01:09:22 +07:00
Whindmar Saksit
9cca5bf4b0
[SHELL32] No new menu and working properties in Drives and NetHood background menu (#7430)
- No "New" menu in My Computer background menu.
- Add "Properties" in NetHood background menu.
2024-10-31 14:12:34 +01:00
Eric Kohl
92996dac21 [SDK:INCLUDE] Add missing msv1_0p.h 2024-10-28 11:48:32 +01:00
Eric Kohl
dbad45a273 [MSV1_0] Implement the MsV1_0EnumerateUsers message in LsaApCallPackage 2024-10-28 11:45:12 +01:00
Doug Lyons
3bb1e64408
[NTGDI:FREETYPE] Account for non-breaking spaces in x-dim of IntExtTextOutW (#7479)
CORE-19768
Follow up of PR #7274. This stop WARN's from FF 28 as well.

* Make del and nbsp const's based on reviewer comments.
2024-10-26 16:44:39 -05:00
Hermès Bélusca-Maïto
3736938030
[PSDK] winbase.h: Add other missing CreateProcess() dwCreationFlags values
Vista:
  INHERIT_CALLER_PRIORITY
  CREATE_PROTECTED_PROCESS
  EXTENDED_STARTUPINFO_PRESENT
  PROCESS_MODE_BACKGROUND_BEGIN
  PROCESS_MODE_BACKGROUND_END

Win7: INHERIT_PARENT_AFFINITY

Win 10.0.17134.0 (Redstone 4): CREATE_SECURE_PROCESS

References:
https://abi-laboratory.pro/compatibility/Windows_5.0_to_Windows_6.0/x86_64/headers_diff/kernel32.dll/diff.html
https://abi-laboratory.pro/compatibility/Windows_6.0_to_Windows_7.0/x86_64/headers_diff/kernel32.dll/diff.html
https://github.com/hughbe/windows-sdk-headers
2024-10-25 22:27:37 +02:00
Hermès Bélusca-Maïto
a27227b831
[PSDK] winbase.h: Add CREATE_IGNORE_SYSTEM_DEFAULT
Import Wine commit
e19ad98564

winbase.h: Add CREATE_IGNORE_SYSTEM_DEFAULT.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

Co-authored-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
2024-10-25 21:21:45 +02:00
Hermès Bélusca-Maïto
d7fa4292ce
[PSDK] winbase.h: Isolate the CreateProcess() dwCreationFlag values 2024-10-25 21:21:37 +02:00
Timo Kreuzer
c9a99bf63a [CMAKE] Silence warnings about unused variables on release builds 2024-10-25 14:37:52 +03:00
Timo Kreuzer
a5c5c19bcf [CMAKE] Fix warning about redefinition of NDEBUG on release builds
"-DNDEBUG" will result in NDEBUG being defined as 0. To define it to nothing, like we do in our code, it must be "-DNDEBUG="
2024-10-25 14:37:52 +03:00
Eric Kohl
88b3d86b29 [WKSSVC] Store the workstation configuration in the Registry 2024-10-25 10:54:20 +02:00
Timo Kreuzer
678aa63b3a [MSCTFIME][MSUTB][SHDOCVW] Remove __cxa_pure_virtual
Instead link to cpprt. This fixes build with GCC 13, which generates symbols that conflict with __cxa_pure_virtual, if there is a pure virtual function in a vtable. Importing __cxa_pure_virtual from a library works for all versions of GCC.
2024-10-24 18:39:50 +03:00
Timo Kreuzer
81b8d07acd [CPPRT] Add cpprt for GCC, tool
- Link it to libsup++
- Add __cxa_pure_virtual
2024-10-24 18:39:50 +03:00
Whindmar Saksit
ea87f9102b
[SHELL32][SHELL32_APITEST] Fix ShellExecuteEx IDLIST folder (#7464)
This is mainly to fix the shell32 apitest, a better way to handle SEE_MASK_IDLIST should be investigated in the future.
2024-10-24 16:44:53 +02:00
Hermès Bélusca-Maïto
90aee8453f
[SDK:CRT] Reenable malloc.h inclusion in xmmintrin.h (#6464)
Addendum to commit 318d696f0
2024-10-24 12:06:38 +02:00
Hermès Bélusca-Maïto
ab7fbd08a7
[WINE/MSVCRT] Fix MSVCRT_size_t, MSVCRT_intptr_t and MSVCRT_uintptr_t typedefs (#6464)
Make these definitions compatible with the other ambient size_t and
(u)intptr_t types used in the rest of our code base.

This partly reverts the corresponding typedef changes from wine commit
d8ab5a14aa
"msvcrt: Use intptr_t or size_t instead of long where appropriate."
2024-10-24 12:06:17 +02:00
Eric Kohl
51b55982e4 [WKSSVC] Implement undocumented NetrWkstaGetInfo Level 502 and NetrWkstaSetInfo
- Provide default Level 502 data only.
- Level 502 data need to be stored in the Registry.
2024-10-23 23:48:33 +02:00
Hermès Bélusca-Maïto
3ddb05d443
[SETUPLIB] GetSourcePaths(): Fix determination of the installation source path.
Refine the algorithm introduced in commit c560342f08 (r75667, r75676),
whereby the installation source path is based on the full image file path
of the installer program, and of the \SystemRoot symlink.

Also reverts commit 6f389a35db "Add a workaround for installing from USB drives"
CORE-17818

+ SAL2-annotate and add Doxygen comments.

----

In case the \SystemRoot full path prefixes the image file path,
use the resolved \SystemRoot as the installation source path.
Otherwise, use the image file path.

The \SystemRoot symlink target resolution needs full path reparsing,
because it can reference other symlinks. This is what happens, for
example when booting the installation from a removable hard-disk.
We can have:

         \SystemRoot ---> \Device\Harddisk1\Partition1\ReactOS
and:     \Device\Harddisk1\Partition1 ---> \Device\HarddiskVolume2
etc.
and we wish to resolve \SystemRoot to: \Device\HarddiskVolume2\ReactOS
instead of keeping the former version (using Harddisk1\Partition1).

We then verify whether it prefixes the image file path, which is
a fully reparsed path.
2024-10-23 23:19:58 +02:00
Serge Gautherie
2d655a487e
[MORE] PagePrompt(): Optimize check to load string resources (#7476)
It is useless to check each string individually and to try to load them again.
Use a common flag instead.

Follow-up to 2dbbfe8 (0.4.15-dev-2691).
2024-10-22 20:44:27 +02:00
Tomáš Veselý
cf955094b4
[NTUSER] IntSetTimer(): Use timer IDs range [256,32767] as on Windows (#7277)
Based on the Doug Lyons' test in #7087, I found that my previous fix stopped working partially. Or rather, it would only work until the 32767 indexes were exhausted. It seems to me that the behavior of the bitfield has changed, because when I published the previous patch, it passed my tests.

- Bit array generates free ID cyclically, in the previous code after 32767 indexes expired the same index was returned, because of this the previous fix would stop working after expiration, so change the logic of calculating the next index.
- Change the index range to 256-32767 to match Windows, indexes 0-255 can theoretically be used as reserved for system purposes.

Addendum to fd327db20f. CORE-9141
2024-10-22 18:10:34 +03:00
Doug Lyons
551c74123c
[VERSION] Fix VerQueryValue when return Value is NULL. (#7449)
CORE-19783
Co-authored-by: Timo Kreuzer <timo.kreuzer@reactos.org>
2024-10-22 05:28:10 -05:00
Timo Kreuzer
8ba61029e1 [CRT] Add C++ const correct overloads 2024-10-22 08:17:45 +03:00
Timo Kreuzer
8c2b8c835a [VERSION_APITEST] Add tests for VerQueryValue(A/W) 2024-10-22 00:46:42 +03:00
Hermès Bélusca-Maïto
eafa7c68b6
[SETUP:REACTOS] Improve/Add some translations 2024-10-21 15:54:02 +02:00
Timo Kreuzer
6f6b831722 [CRT] Introduce corecrt.h
Include this instead of crtdefs.h.
This is for compatibility with MS headers.
2024-10-21 14:53:29 +03:00
Timo Kreuzer
4e3c0529cf [RTL/x64] Fix RtlCaptureContext/RtlpRestoreContextInternal in kernel mode
According to tests, legacy fp state is not saved in kernel mode.
Also add an int 2c to the path that changes cs, as it should not be used and probably never will be.
2024-10-21 10:17:11 +03:00
Hermès Bélusca-Maïto
467efcb423
[USETUP] Adjust translations of the BootLoaderRemovableDiskPageEntries page.
The page is shown only when the user wants to install the bootloader
on a removable disk; not when there was a problem while installing it.
2024-10-20 16:51:29 +02:00
Hermès Bélusca-Maïto
424278db3f
[SETUP:REACTOS] Add bootloader installation support (#7310)
CORE-13525
2024-10-20 16:51:26 +02:00
Hermès Bélusca-Maïto
b3cd576737
[SETUPLIB][USETUP] Introduce a bootloader installation helper (#7310)
CORE-13525

This is done so that the caller doesn't need to know details
about particular architecture specifics, like VBR, MBR etc.

Extra checks and specific handling is also performed for supporting
bootloader installation on removable media:
- verify whether the media is a floppy or some other removable media,
- depending on which, a suitable file system is chosen,
- and if the media is not a floppy, do the supplemental partition
  verifications to determine whether the media is a "super-floppy"
  (in the partitioning sense).
2024-10-20 16:51:25 +02:00
Hermès Bélusca-Maïto
636e2e9172
[SETUPLIB] Introduce a helper for copying bootloader files (#7310)
This function could be generalized later to copy other files necessary
for the bootloader; removing also the currently hardcoded placement in
the installation source directory, and instead, using a configurable
path (specified in txtsetup.sif); etc.

Adapted from a commit by Timo Kreuzer (see PR #7420)

Co-Authored-By: Timo Kreuzer <timo.kreuzer@reactos.org>
2024-10-20 16:51:24 +02:00
Hermès Bélusca-Maïto
d6d3d0eacd
[SETUPLIB] Add helpers to determine whether a disk is partitioned as a "super-floppy" (#7310) 2024-10-20 16:51:23 +02:00
Hermès Bélusca-Maïto
ad5d9aa28a
[SETUPLIB] Add UNICODE_STRING versions of the pOpenDevice helpers (#7310)
+ Use a FILE_SHARE_ALL define. Based on a suggestion from Whindmar Saksit.
2024-10-20 16:51:16 +02:00
Timo Kreuzer
1d3bce1a59 [NTOS:KE] Make KeFlushQueuedDpcs SMP ready
KeFlushQueuedDpcs is used by some drivers, when unloading or removing a device, to be sure no DPC is still running their code. On a UP system this can be done "inline", on an SMP system, it requires to send an IPI to each processor that has DPCs queued and also synchronize it with the calling thread, which is what KeSetSystemAffinityThread does implicitly: When a queued DPC was detected on a remote processor (implying that processor is currently running at DISPATCH_LEVEL or above), KeSetSystemAffinityThread will schedule the current thread on that processor and send a DPC interrupt. The remote processor will handle that DPC interrupt once it is back below DISPATCH_LEVEL. It will only run the current thread, after all queued DPCs (including threaded DPCs) have finished running.
2024-10-20 16:28:11 +03:00
Timo Kreuzer
bf95874c2d [REACTOS] Improve handling of non-standard names
- Link oldnames instead of defining names
- Define _CRT_DECLARE_NONSTDC_NAMES to 1 where needed
- Remove header hacks
2024-10-20 14:12:25 +03:00
Timo Kreuzer
b707be90a1 [REACTOS] Use standard conforming names
- Use _alloca instead of non-standard alloca
- Use _TCHAR instead of non-standard TCHAR
- Use _off_t instead of deprecated off_t
- Use _O_BINARY instead of O_BINARY
2024-10-20 14:12:25 +03:00
Timo Kreuzer
1de09c477c [3RDPARTY] Link to oldnames for stricmp/wcsicmp 2024-10-20 14:12:25 +03:00
Timo Kreuzer
a3bab12b50 [OLDNAMES] Add _CRT_NONSTDC_NO_DEPRECATE interface definitions 2024-10-20 14:12:25 +03:00
Timo Kreuzer
e4930be4ff [REACTOS] Use the ISO C and C++ conformant names: _wcsicmp, _stricmp
Stop using non-conforming wcsicmp, stricmp, strcasecmp
2024-10-20 14:12:25 +03:00