Commit graph

3418 commits

Author SHA1 Message Date
Timo Kreuzer
d23ee5f365 [PSEH] Make structures more SEH3 compatible 2025-07-10 11:15:23 +03:00
Timo Kreuzer
cfb579dd67 [PSEH3] Fix unlinking of EH frames during unwind.
On Windows the function that calls the language specific exception handler function registers it's own exception handler, so the top of the exception chain does not point to our own handler. We need to take that into account when unwinding the stack and removing each handler as we go.
2025-07-10 11:15:23 +03:00
Timo Kreuzer
ff8d24cabb [PSEH3] Fix _SEH3_LEAVE
Previously, when leave was used in the except or finally block of a nested try block, it would jump back to the start of the except/finally block, resulting in an endless loop. This is fixed by jumping back to a label at the beginning of the try block, which is only visible from within the try block itself and from there to the end of the SEH block.
Fixes seh0055 testcase of MS SEH tests.
2025-07-10 11:15:23 +03:00
Justin Miller
02343c22f6
[RTL] Partial revert of Wine timer code in thread pooling (#8229)
* [SDK] Partial Revert of 0bf42067d2

It was found that the timer code from WINE doesn't work as well as ours,
This is a revert from that part of the PR as it doesn't change any of the real threadpool code in all reality. Thanks to the investigation of Julenuri and Simone
JIRA issue: CORE-20245
2025-07-08 12:05:53 -07:00
Vitaly Orekhov
5ffc6ceb55
[PSEH] Guard SEH2 macros for Clang on Linux x64 builders (#8194)
Hackfixing a corner case detected via broken entities of wlanwiz
due to its usage of STLport. This was already done to PSEH3 prior to me.

Corner case examples:
- broken: 1591123914
- "fixed": 1594570563

Guard SEH2 family macros behind #ifndef. CORE-6622 CORE-6905
2025-07-07 15:24:27 +03:00
Whindmar Saksit
212a1a5c74
[SDK][SHELL32_APITEST] Fix some warnings (#7031) 2025-07-06 21:12:37 +02:00
Carl J. Bialorucki
a753f34e30
[PSDK][XDK][NDK][INCLUDE/WINE] Make header changes to sync crypt32, kernel32, and user32 winetests (#8114)
- [PSDK] Sync wincrypt.h to Wine 10.0, keeping our SAL annotated function definitions behind an #ifdef guard
- [XDK] Add definitions to our winnt header that Wine 10.0's winternl.h depends on.
- [INCLUDE/WINE] Sync winternl.h to Wine 10.0
- [OTHER] Fix breaking changes with the synced winternl.h.
2025-07-05 15:14:31 -06:00
Whindmar Saksit
375fca5058
[SHELL32] Implement SHSimulateDropOnClsid (#8223) 2025-07-05 18:18:51 +02:00
Timo Kreuzer
2cd05a3756 [NDK] Update SYSTEM_INFORMATION_CLASS
See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntexapi/system_information_class.htm and Windows 10/11 pdb files
2025-07-03 22:21:05 +03:00
Katayama Hirofumi MZ
0db7879a66
[CMAKE] msvc.cmake: Add /wd4819 for Far East Asian (#8219)
"Far East Asian" Visual Studio had
generated a lot of "warning C4819:
File contains characters that
cannot be displayed in the current
code page...".

JIRA issue: N/A
2025-07-02 22:10:54 +09:00
Timo Kreuzer
c507b701ab [CRT:MATH] Import frexp from musl 2025-06-30 09:19:47 +00:00
Timo Kreuzer
b734e3ba63 [CRT:MATH] Move some math functions from ucrt to crt 2025-06-30 09:19:47 +00:00
Timo Kreuzer
a9ee20cb9a [CRT:MATH] Import nextafter, nextafterf and nexttowardf from musl
Note: On Windows, where a long double is the same as a double, nextafterl is the same as nextafter, nexttowardl is the same as nexttoward.
Also nexttoward is the same as nextafter.
2025-06-30 09:19:47 +00:00
Timo Kreuzer
5c26ccdb29 [CRT:MATH] Import scalbn/scalbnf from musl 2025-06-30 09:19:47 +00:00
Timo Kreuzer
3f71ab80ad [CRT:MATH] Implement _isnan and _isnanf 2025-06-30 09:19:47 +00:00
Timo Kreuzer
e01231bd49 [CRT:MATH] Implement _finite, _finitef 2025-06-30 09:19:47 +00:00
Timo Kreuzer
50028685dc [CRT:MATH] Implement _dsign and _dsignf 2025-06-30 09:19:47 +00:00
Timo Kreuzer
0e5d6af68e [CRT:MATH] Implement x86 sse2 math functions
These are just wrappers around the normal functions and lack any optimization.
2025-06-30 09:19:47 +00:00
Timo Kreuzer
5c6912f561 [CRT][UCRTBASE] Add round/roundf 2025-06-30 09:19:47 +00:00
Timo Kreuzer
d736b55644 [CRT:MATH] Fix a bug in _handle_error 2025-06-30 09:19:47 +00:00
Timo Kreuzer
35bc1e1d9e [CRT] Add crtmath library 2025-06-30 09:19:47 +00:00
Oleg Dubinskiy
63ca8c414e
[NTOS:EX] Implement NtSetSystemInformation().SystemLoadGdiDriverInSystemSpaceInformation (#8180)
Implement SystemLoadGdiDriverInSystemSpaceInformation case of NtSetSystemInformation() function.
According to https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ex/sysinfo/gdi_driver.htm, it does the similar thing to SystemLoadGdiDriverInformation (these two cases even have the same shared SYSTEM_GDI_DRIVER_INFORMATION structure).
The only difference is, SystemLoadGdiDriverInSystemSpaceInformation uses the global system space (without passing an additional flag to MmLoadSystemImage()), while SystemLoadGdiDriverInformation uses the session space instead.
Since the session space is not supported yet, for now simply redirect SystemLoadGdiDriverInSystemSpaceInformation to SystemLoadGdiDriverInformation case, which we have already implemented. However, this code needs to be updated appropriately (an additional flag should be passed to MmLoadSystemImage() call for SystemGdiDriverInformation as well) once a support for session space is implemented.
This fixes VM starting failure for VirtualBox 3.1.0 - 4.0.24 and 4.3.0 - 4.3.12 versions. Newer versions of VirtualBox still don't work because of another blocking bugs.
CORE-20257
2025-06-29 15:00:41 +02:00
Hermès Bélusca-Maïto
db96138813
[SDK][KERNELBASE][PATHCCH] Compile a collection of PathCch libraries (#8085)
CORE-12686

This collection of libraries consist in:

- a down-level `pathcch_static` PathCch library, to be used for programs
  that need to run on Windows 7 and below;

- Windows 8+ compatible libraries importing from either kernelbase.dll
  (`pathcch_kernelbase`), or from the corresponding APISET
  api-ms-win-core-path-l1-1-0.dll (`pathcch`, which is Win8+ PSDK
  compatible).

The down-level static library is compiled by reusing the newly-introduced
kernelbase's path.c, instead of using a specific pathcch.c.
Unrelated functions are excluded from compilation by putting them into
`#ifndef STATIC_PATHCCH ..... #endif` blocks.
2025-06-24 16:48:03 +02:00
Hermès Bélusca-Maïto
8ed6ec437b
[SDK] Move pathcch.h to the PSDK (#8085)
CORE-12686
2025-06-24 16:47:56 +02:00
Timo Kreuzer
1378f6b543 [CMAKE] Fix ARM64 build
Since VS 17.14.36203.30 / MSVC 19.44.35209.0 the default behavior on ARM64 is to not inline _Interlocked* functions. Until we have those implemented, we disable this feature, going back to the old behavior.
For additional details / tracking of the implementation see CORE-20255
2025-06-24 12:45:51 +00:00
Hermès Bélusca-Maïto
b401f547ae
[NDK][ROSLOAD][ROSTESTS][SDK][WINE] Fix and use standard 'ReactOS' casing (#8163) 2025-06-22 22:49:54 +02:00
Eric Kohl
d4d04c83db [NDK] Add PLUGPLAY_CONTROL_CLASS_ASSOCIATION_DATA type 2025-06-22 21:59:23 +02:00
Whindmar Saksit
6a28201e3d
[SDK] Add some shell defines from an old NT4 SDK (#8156) 2025-06-22 19:21:30 +02:00
Whindmar Saksit
38ad1ca394
[SHELL32][BROWSEUI] Make externally available FCIDM WM_COMMANDs work correctly (#8150) 2025-06-22 19:20:12 +02:00
Timo Kreuzer
220e18d065 [PSDK] Fix up lmshare.h 2025-06-22 13:01:07 +00:00
Katayama Hirofumi MZ
b199e9d05f
[SHLWAPI][SDK][BOOTDATA] Implement SHGetAppCompatFlags (#8137)
Compatibility is a key that the system
works well.
JIRA issue: CORE-19278
- Add appcompat.c.
- Implement SHGetAppCompatFlags
  function.
- Add Str_SetPtrA prototype to
  <commctrl.h>.
- Add SHACF_... flags to
  <shlwapi_undoc.h>.
- Add comctl32 delay import
  (for Str_SetPtrA).
- Modify boot/bootdata/hivesft.inf
  for registry key
  HRESULTKLM\SOFTWARE\Microsoft\
  Windows\CurrentVersion\
  ShellCompatibility\Applications.
2025-06-22 09:52:37 +09:00
Whindmar Saksit
e307cad501
[UXTHEME] Implement SetSystemVisualStyle (#7864)
Implement SetSystemVisualStyle based on function and flags found at https://stackoverflow.com/a/1036903 and 
https://pinvoke.net/default.aspx/uxtheme.SetSystemVisualStyle
2025-06-21 18:56:48 +02:00
Timo Kreuzer
6653bb5224 [NTOS:KE] Detect CPU support for XSAVE, AVX, AVX2 and AVX512 2025-06-21 07:55:06 +00:00
Timo Kreuzer
55b3e641ef [SDK] immintrin.h: add (f)xsave/restore intrinsics 2025-06-21 07:55:06 +00:00
Timo Kreuzer
0f2f124c3a [XDK][NDK] Add XSTATE hacks 2025-06-21 07:55:06 +00:00
Timo Kreuzer
e029a98c22 [SDK] Fix some CPUID structures 2025-06-21 07:55:06 +00:00
Timo Kreuzer
0e2788de4a [SDK] Add CPUID_EXTENDED_STATE_SIZE_OFFSET_REGS 2025-06-21 07:55:06 +00:00
Timo Kreuzer
9ea129b8a9 [XDK][NDK] Avoid code duplication by generating more definitions for winnt.h 2025-06-21 07:55:06 +00:00
Timo Kreuzer
8d2d9b803a [NDK][XDK] Fix XSTATE_CONFIGURATION a bit 2025-06-21 07:55:06 +00:00
Timo Kreuzer
d5286af2e1 [NTDLL_VISTA] Export RtlLcidToLocaleName and RtlLocaleNameToLcid 2025-06-19 17:36:40 +00:00
Whindmar Saksit
8ff8f676b3
[SYSDM][BROWSEUI][SHELL32][SDK] Added Advanced Performance Options property sheets (#8029) 2025-06-18 17:46:38 +02:00
Eric Kohl
44d99fa60f [UMPNPMGR][NDK] Implement PNP_GetInterfaceDeviceAlias 2025-06-16 23:51:12 +02:00
Vitaly Orekhov
26368a1ead
[PSDK] Enumerate WPA3 algorithms in DOT11_AUTH_ALGORITHM (#8129)
Reference: https://learn.microsoft.com/en-us/windows/win32/nativewifi/dot11-auth-algorithm

CORE-6905
2025-06-16 21:57:48 +02:00
Whindmar Saksit
a3b032b118
[SHELL32] Fix IShellExecuteHookW (#8097) 2025-06-16 21:47:45 +02:00
Katayama Hirofumi MZ
1ece139178
[SHLWAPI][SHLWAPI_APITEST][SDK] Support MayExecForward + MayQSForward (#8125)
Follow-up of #8124. Implementing missing features...
JIRA issue: CORE-19278
- Implement MayExecForward and MayQSForward
  functions.
- Modify these prototypes in <shlwapi_undoc.h>.
- Add tests to shlwapi_apitest IsQSForward.
2025-06-16 07:31:47 +09:00
Ethan Rodensky
7ec3a7e98b [UXTHEME] Implement various Vista+ functions, mostly from WINE 2025-06-14 18:33:39 -07:00
Katayama Hirofumi MZ
80381b0578
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement IsQSForward (#8124)
Implementing missing features...
JIRA issue: CORE-19278
- Implement IsQSForward function.
- Modify IsQSForward prototype in <shlwapi_undoc.h>
- Add IsQSForward testcase to shlwapi_apitest.
2025-06-14 20:57:33 +09:00
Timo Kreuzer
d0ca0f41f7 [MSVCRT_WINETEST] Skip 2 hanging pipe tests on ReactOS 2025-06-14 10:48:15 +00:00
Timo Kreuzer
17289faf7f [WINETEST] Allow to use USE_WINE_TODOS with win_skip 2025-06-14 10:48:15 +00:00
Katayama Hirofumi MZ
c894716295
[MSCTF][SDK] Add CDisplayAttributeMgr stubs (#8116)
Implementing missing features...
JIRA issue: CORE-19361
- Delete displayattributemgr.c and
  add displayattributemgr.cpp.
- Add CDisplayAttributeMgr class
  as stubs.
2025-06-13 05:31:01 +09:00