Commit graph

3269 commits

Author SHA1 Message Date
Justin Miller
0ad869b74f [SDK] Temporarily work around buildbot issue 2025-02-27 14:45:39 -08:00
Whindmar Saksit
705a985789
[COMCTL32][COMCTL32_APITEST] Implement ImageList Get/SetFlags and the system flag (#7701)
The shell needs to be able to change the color depth of the system image lists on the fly and it does that by changing the ILC_COLOR* flags.
2025-02-17 13:46:20 +01:00
Eric Kohl
47bae01cfa [NETCFGX][PSDK] Add the interfaces INetCfgClass and INetCfgClassSetup
This will enable us to install networking drivers and services properly.
2025-02-16 21:23:12 +01:00
Doug Lyons
45ed1a9b6d
[UCRT] Fix MSVC compiling on VS 2017 after Timo's UCRT commits (#7718)
CORE-19996
Verified using https://godbolt.org.
2025-02-15 20:03:52 -06:00
Whindmar Saksit
bc52d5f1f4
[SHIMGVW] Display shell context menu for the image on right-click (#7711)
CORE-13340
2025-02-13 13:13:02 +01:00
Timo Kreuzer
166d83b206 [CRT] Fix cvt to not overflow the buffer on NAN/INF
Fixes crash in msvcrt_winetest printf
2025-02-12 16:54:45 +02:00
Timo Kreuzer
748fdbcd6a [MSVCRT_WINETEST] Fixes for windows 2003 2025-02-12 16:54:45 +02:00
Timo Kreuzer
736fea6c44 [CRT] math.h: fix definition of NAN
- Use positive NAN by default
- add support for _UCRT_NEGATIVE_NAN to legacy CRT headers
- Use __builtin_nanf() on GCC/Clang
2025-02-12 16:54:45 +02:00
Timo Kreuzer
2fca81eca8 [WINE] test.h: Add wait_child_process 2025-02-12 16:54:45 +02:00
Timo Kreuzer
05dfc83df5 [NDK] Add FILE_MODE_INFORMATION 2025-02-12 16:54:45 +02:00
Justin Miller
3368adc547
[POWRPROF] Sync Powrprof to WINE-10.0 - Add some functions too (#7681)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

"Sync" to WINE-10.0, plus add some functions we need. Required for various apps going forward.
2025-02-11 17:33:45 -08:00
Doug Lyons
364d6e0346
[RICHED20_WINETEST] Sync to Wine-6.10. (#7692)
ROSTESTS-398 and CORE-6727
2025-02-08 13:04:04 -06:00
Mikhail Tyukin
2d1144a5cd
[PROPSYS] Sync to wine-10.0 (#7677)
[WINESYNC] propsys/tests: Merge test files.
wine commit id d189b55d2ffb038474cb6656dc8743eb34c35a3d by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Add a semi-stub for PSCreatePropertyStoreFromObject().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47958
wine commit id acb2e4fc7a4242c74ac91657edb97bf1e402656a by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Allow only ASCII digits in PSPropertyKeyFromString.
wine commit id 6e8c2d836e637e1fbd83c231cfd846ecb9333964 by Jacek Caban <jacek@codeweavers.com>

[WINESYNC] propsys/tests: Get rid of strcmp_wa().
wine commit id 2340212ee9c48c731c85bbad8c81ed833458bf15 by Michael Stefaniuc <mstefani@winehq.org>

[WINESYNC] propsys: Use wide-char string literals.
wine commit id b72440fa2e1016681cbfcebcdc4792b6ced3eb53 by Michael Stefaniuc <mstefani@winehq.org>

reduce wine diff and add stuff from previous commit

[WINESYNC] propsys: Use --prefer_native instead of DLL_WINE_PREATTACH.
wine commit id f99113192ffac37506a905827415d3d21d0ebbf8 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] propsys: Use nameless unions.
wine commit id 1d8e5079f0e53a767a783e5107f57f04c1897951 by Jacek Caban <jacek@codeweavers.com>

[WINESYNC] propsys/tests: Use nameless unions.
wine commit id 497de3cc19f971808ca4105f52038e61dc818db1 by Jacek Caban <jacek@codeweavers.com>

[WINESYNC] winecrt0: Add a default implementation for DllCanUnloadNow().
wine commit id bd6b53740c28c6974300e15f965c12feb0252085 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
wine commit id 5d82baf9747b7b133cad3be77c0cc9e24cc09582 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] propsys: Add support for VT_VECTOR|VT_UI1 type in PropVariantCompareEx().
wine commit id e91b05bb5be6fd70a767bea9991e818a49cc5547 by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Fix VT_UI4 comparison, use ulVal instead of uiVal.
wine commit id 58eeb1a86433db1104d3a9ccf9ad7435ec81443a by Rémi Bernon <rbernon@codeweavers.com>

[WINESYNC] propsys/tests: Add a VT_UI4 test for PropVariantCompareEx().
A test for 58eeb1a86433db1104d3a9ccf9ad7435ec81443a.
wine commit id 10359e17ce64f39461a7b7b54f73857e6458d1fb by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys/tests: Avoid "misleading indentation" warnings.
wine commit id 7cd6681b3be35cf6c02f056cb5131c90c0674c16 by Fabian Maurer <dark.shadow4@web.de>

[WINESYNC] propsys: Enable compilation with long types.
wine commit id a9c797e4538a37716e62bb81c3fed3de39561b41 by Eric Pouech <eric.pouech@gmail.com>

[WINESYNC] propsys/tests: Enable compilation with long types.
wine commit id c1c393595d43bd95390d3ddf86dcbc46bc4f52ba by Eric Pouech <eric.pouech@gmail.com>

[WINESYNC] propsys: Implement InitVariantFromFileTime.
wine commit id f2b8ccb7b0b22b7b5d661d908f8f8ee02f22647d by Daniel Lehman <dlehman@esri.com>

[WINESYNC] propsys/tests: Add some InitVariantFromFileTime tests.
wine commit id 083dea7fce4372840ac18176496a7d05dadd5ad8 by Daniel Lehman <dlehman@esri.com>

[WINESYNC] propsys: Implement VariantToStringWithDefault.
wine commit id bf0f1fdcf80657a42116b79a0953181191cf9221 by Mohamad Al-Jaf <mohamadaljaf@gmail.com>

[WINESYNC] propsys/tests: Add VariantToStringWithDefault tests.
wine commit id 89aba13dc381dbbda62d1019e1af2af5a589b0cf by Mohamad Al-Jaf <mohamadaljaf@gmail.com>

[WINESYNC] include: Add Stg functions declaration in propvarutil.h.
wine commit id 0d294ad26544913414277daa164004d731ae6e33 by Biswapriyo Nath <nathbappai@gmail.com>

[WINESYNC] propsys: Add InitPropVariantFromStringVector().
wine commit id 3a1146d8e63d7ceff38441fee08f7f7080527020 by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] Remove unused NONAMELESS defines.
wine commit id 20afe438320f77d103a96d1d8cd562d0899ebac7 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] propsys: Partially implement VariantToString().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55708
wine commit id f7ef02bd8f74ea052d61e48cd84b226d8a5867a8 by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Handle VT_I4 type in VariantToString().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55708
wine commit id 001e0543bfd5aea060053af0c76233bb90fbb43b by Nikolay Sivov <nsivov@codeweavers.com>

[WINESYNC] propsys: Implement PropVariantToUInt32WithDefault.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55713
wine commit id d177709b10ce07ddd234b0e8e00764ae4b1d8488 by Fabian Maurer <dark.shadow4@web.de>

[WINESYNC] include: Use proper dllimports for propsys functions.
wine commit id f0b2e0d00c86fb04d47467f39e49c587250ffec5 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC] propsys: Remove DECLSPEC_HIDDEN usage.
wine commit id e9ff53e098ef3871d692c7b907151cfbb2f0673f by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>

Update propsys_private.h

[WINESYNC] propsys: Force debug info in critical sections.
wine commit id 67bea281cc851eda6a08430c70f6c9e848d3fbe1 by Paul Gofman <pgofman@codeweavers.com>

[WINESYNC] include: Fix typos in IID_IPropertyEnumType2 and CLSID_PropertySystem.
wine commit id 66e6b61705a66459ed3a9e0cf9457d8b180e4564 by Alfred Agrell <floating@muncher.se>

[WINESYNC] propsys: Add stubs for variant conversion functions.
wine commit id c21f04f7adaa4a8d0ca2d2659bf9a6facdc168c3 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Add tests for VariantToPropVariant.
wine commit id 8877889f2a8e36d22dcad061e6da84476efb3750 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Initially implement VariantToPropVariant.
wine commit id 6985637ed59e81e7d1716095a343cc5681082306 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Add tests for PropVariantToVariant.
wine commit id 3277de5572b7f6c41ebeeb89f781e378a6a2c2d3 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Test converting clsid to string.
wine commit id 7a4f9f83c51883f41ae1363e27700452472ec18f by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Support converting clsid to string for PropVariant.
wine commit id 67b097ff46c65d525de6a7f560f019de6828320c by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Initially implement PropVariantToVariant.
wine commit id 808b398549350fffc9fc023d637ef8de9e4bba37 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Add PropVariantToBSTR stub.
wine commit id 86558a4b83ebf9a0c6e76888a3d0f3fe3e36bf57 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Test PropVariantToBSTR.
wine commit id b4ac03f1f622120906a8b6e691caa05f6539c2dd by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Test truncating for PropVariantToString.
wine commit id df16802582a56f8076ebbcf9cb6178f65bb8b9b6 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Implement PropVariantToBSTR.
wine commit id 66220be403ce5c3634c13da3546f0c19f04059cc by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Use debugstr_variant for the trace in VariantToPropVariant.
wine commit id 3517aded4090229dbb11e413bde8349d1eca0be3 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys: Support converting to BSTR for PropVariantToVariant.
wine commit id c33fdc27650045a754a05a8f25e250e6e72c8072 by Ziqing Hui <zhui@codeweavers.com>

[WINESYNC] propsys/tests: Fix a test that fails on some Windows versions.
wine commit id c09f828f43101cf2dfe11d7e13f1fc6ef4b19853 by Alexandre Julliard <julliard@winehq.org>

[WINESYNC]: propsys is now in sync with wine-staging wine-10.0
Co-authored-by: winesync <ros-dev@reactos.org>

[PROPSYS] Remove duplicate uuid

[PROPSYS] Fix headers/idl file
2025-02-07 22:00:48 +01:00
Mikhail Tyukin
197ed01e95
[WINDOWSCODECS][WINDOWSCODECSEXT] Sync to wine-10.0 (#7665) 2025-02-07 16:57:02 +01:00
Timo Kreuzer
92d479a54b [VCRUNTIME] Add initialization / cleanup of wine code 2025-02-06 09:17:37 +02:00
Timo Kreuzer
32c349d30e [VCRUNTIME] Add TLS callback support 2025-02-06 09:17:37 +02:00
Timo Kreuzer
7f050e0a6d [VCRUNTIME] Improve includes in internal_shared.h 2025-02-06 09:17:37 +02:00
Timo Kreuzer
a978879ddb [VCSTARTUP] Implement (w)mainCRTStartup
__acrt_initialize is here as a stub to later support linking ucrt statically. When it is statically linked the real function should be called, but when the executable links to ucrtdll, the initialization happens when the DLL is loaded, so we call a stub here.
2025-02-06 09:17:37 +02:00
Timo Kreuzer
d243b6cdf3 [VCRUNTIME] Implement __std_terminate() 2025-02-06 09:17:37 +02:00
Timo Kreuzer
9186b861a6 [VCRUNTIME][VCSTARTUP] Add separate vcruntime and vcstartup lib
vcruntime contains the code that is linked into ucrtbase (in VS it is also provided as vcruntime140.dll)
vcstartup contains the code that is statically linked into executables that link to ucrtbase.dll. In Visual Studio this is part of msvcrt.lib (the import library for msvcrt), similar to our current msvcrtex, and it gets linked when you link to ucrtbase as well. The name is based on the folder name in the library.
Both libraries share some code, but each file is only compiled once.
2025-02-06 09:17:37 +02:00
Max Korostil
2b2bdabe72
[RTL][NTDLL_APITEST] Fix buffer overflow in RtlDosSearchPath_Ustr (#7698)
In addition:
- `IS_PATH_SEPARATOR(*--End)` -> `--End; IS_PATH_SEPARATOR(*End)` fix,
- Use SIZE_T type for `WorstCaseLength` and `NamePlusExtLength`.
2025-02-05 21:17:11 +01:00
Timo Kreuzer
aa46e0f0a7 [RTL/x64] Fix a bug in RtlpUnwindInternal
Check if the stack pointer is out of bounds, before trying to unwind a frame. This will not fix any crashes, but it prevents simple crashes from going into a recursive exception.
2025-02-04 09:00:35 +02:00
Hermès Bélusca-Maïto
97ea95c80c
[SDK:BUGCODES] Remove inaccurate description of CREATE_DELETE_LOCK_NOT_LOCKED
The description had nothing to do with CREATE_DELETE_LOCK_NOT_LOCKED,
but instead was for EMPTY_THREAD_REAPER_LIST. And even so, descriptions
for both of these BSOD codes have been removed in official MS Windows
2000 and beyond.

Regarding the Thread Ripper:
https://devblogs.microsoft.com/oldnewthing/20231031-00/?p=108944
2025-02-03 17:04:10 +01:00
Timo Kreuzer
be3dde7698 [NTOS] Make KeFeatureBits 64 bit 2025-02-01 19:45:21 +02:00
Katayama Hirofumi MZ
ee19792605
[SHDOCVW][EXPLORER][RSHELL][SDK] Populate WinList_* stubs (#7691)
Implementing missing features...
JIRA issue: CORE-9368
- Modify shdocvw.spec.
- Add dll/win32/shdocvw/winlist.cpp.
- Add stubs of WinList_* functions.
- Add WinList_* function prototypes
  to <shdocvw_undoc.h>.
- Adapt explorer and rshell to new
  WinList_Init prototype.
2025-02-01 07:14:36 +09:00
Katayama Hirofumi MZ
909468c4dc
[SDK][SHELL32][SHLWAPI][SHLWAPI_APITEST] Split IShellFolder helpers hack (#7685)
Splitting the hack will improve our code quality.
JIRA issue: N/A
- Add sdk/include/reactos/ishellfolder_helpers.h
  header file.
- Split conflicting code.
2025-01-31 08:15:36 +09:00
Katayama Hirofumi MZ
7e52f64044
[SDK] Define IAssociationElement, IAssociationArray etc. (#7678)
Defining missing interfaces for
file association...
JIRA issue: CORE-19278
- Define IID_IAssociationElementOld,
  and IID_IAssociationElement
  interface IDs in <shlguid_undoc.h>.
- Define ASSOCQUERY, and
  IAssociationElementOld in
  <shlwapi_undoc.h>.
- Define IAssociationElement,
  IEnumAssociationElements,
  IAssociationArrayOld, and
  IAssociationArray interfaces in
  <shlobj_undoc.h>.
- Simplify <shlwapi_undoc.h>
  and <shlobj_undoc.h>.
2025-01-30 22:16:46 +09:00
Timo Kreuzer
de3a6706e7 [UCRT] fenv.h: Fix GCC build of _Fenv1 2025-01-30 11:30:32 +02:00
Timo Kreuzer
a438d7c3b8 [UCRT] Add GCC compatible definition of _CRT_STDIO_INLINE
In C99 mode GCC emits global symbols for inline functions, as soon as the compilation unit contains a declaration that marks the function as "extern". A number of functions like printf are implicitly declared as extern by GCC, which seemingly cannot be disabled. This would lead to the inline function being emitted as a global symbol in every compilation unit. Using static inline prevents duplicate symbol errors.
2025-01-30 11:30:32 +02:00
Timo Kreuzer
4ca68ffb1c [UCRT] Make __local_stdio_printf/scanf_options GCC compatible 2025-01-30 11:30:32 +02:00
Timo Kreuzer
bb9392e4e1 [CMAKE] Define _CRT_SUPPRESS_RESTRICT on GCC builds
This prevents the use of __declspec(restrict) in UCRT headers.
2025-01-30 11:30:32 +02:00
Hermès Bélusca-Maïto
317f1e8391
[NDK][NTOS:EX:KD64] Add SAL annotations to Kd/Nt/ZwSystemDebugControl. 2025-01-28 22:00:35 +01:00
Hermès Bélusca-Maïto
2c59b5b8cf
[NDK] SYSDBG: Add SysDbgKdPullRemoteFile enum value and structure (Win10 19041+)
From https://github.com/processhacker/phnt/
2025-01-28 22:00:28 +01:00
Hermès Bélusca-Maïto
4d37135884
[NDK] SYSDBG: Add SysDbgGetLiveKernelDump enum value and structures for kernel live dump.
For more information, see:
https://crashdmp.wordpress.com/2014/08/04/livedump-1-0-is-available/
https://github.com/lilhoser/livedump
https://gary-nebbett.blogspot.com/2016/04/examining-windows-kernel-mode-stacks.html
https://github.com/processhacker/phnt
2025-01-28 22:00:28 +01:00
Hermès Bélusca-Maïto
b5007e09b1
[NDK] SYSDBG: Add versioning info for Vista+ commands. 2025-01-28 22:00:27 +01:00
Timo Kreuzer
ae0fa8ba49 [UCRTSUPPORT] Add wine c++ exception code 2025-01-28 22:50:04 +02:00
Timo Kreuzer
e2d69ad98c [CRT] Split MSVC C++ aliases from cpp.s to cpp_alias.s 2025-01-28 22:50:04 +02:00
Katayama Hirofumi MZ
84df40a128
[SHELL32][SHELL32_APITEST][SDK] SHGetComputerDisplayNameW (#7670)
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Move function definition from
  stubs.cpp to utils.cpp.
- Implement
  SHGetComputerDisplayNameW
  function.
- Add prototype to <undocshell.h>.
2025-01-28 23:23:54 +09:00
Katayama Hirofumi MZ
1b5f6c2dc0
[UXTHEME][UXTHEME_APITEST][SDK] GetThemeParseErrorInfo (#7662)
Implementing missing features...
JIRA issue: CORE-12805
- Add dll/win32/uxtheme/errinfo.c.
- Implement GetThemeParseErrorInfo
  function in errinfo.c.
- Modify uxtheme.spec.
- Add GetThemeParseErrorInfo
  prototype to <uxundoc.h>.
- Adapt <uxundoc.h> to C++.
- Add global variable
  gdwErrorInfoTlsIndex.
- Add UXTHEME_UnInitSystem
  function.
2025-01-28 21:05:40 +09:00
Katayama Hirofumi MZ
fe11f7a2e5
[REACTOS] Refresh old URLs (#7632)
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
  to dead links.
- Use MS Learn links rather
  than MSDN ones.
- Some dead links revived by
  Web Archive.
- Don't change Wine Tests
  and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Justin Miller
0bf42067d2 [KERNEL32][ROSTESTS][SDK] Enable threadpooling
[NTDLL] Init KeyedEvents even on NT5.2 dll_export
[MEDIA] Update winesync.txt accordingly
[SDK][DLL] Initialize crtical sections at runtime
2025-01-26 23:30:59 -08:00
Denis Malikov
405ed2b4ce [KERNEL32_VISTA][SDK] Import Threadpool.c from wine-9.7 2025-01-26 23:30:59 -08:00
Timo Kreuzer
d92f02e2e5 [CMAKE] Build host tools as Debug by default
This is to fix kmtests on Test WHS. Seemingly something is broken with release builds of host tools, at least on GCC x86.
2025-01-26 23:52:45 +02:00
Timo Kreuzer
efdda7f7d9 [APISETS] Use ucrtbase as the lord intended instead of msvcrt 2025-01-26 18:08:55 +02:00
Timo Kreuzer
41ffe7f3c6 [UCRTBASE] Add ucrtbase.dll to build 2025-01-26 18:08:55 +02:00
Timo Kreuzer
9f15d9ee57 [UCRT:MATH] Implement _dtest, _fdtest 2025-01-26 18:08:55 +02:00
Timo Kreuzer
59c55e003e [UCRT:MATH] Implement _dclass, _fdclass 2025-01-26 18:08:55 +02:00
Timo Kreuzer
0133dba0c6 [CMAKE] Disable GCC builtin math functions 2025-01-26 18:08:55 +02:00
Timo Kreuzer
efe84ec41a [UCRT] Add "aliases" for some hacked clang builtins 2025-01-26 18:08:55 +02:00
Timo Kreuzer
d74ab36324 [UCRTSUPPORT] Add ucrtsupport library
This library is compiled from our old CRT sources to supplement missing UCRT code.
2025-01-26 18:08:55 +02:00