3831 Commits
Author SHA1 Message Date
Timo Kreuzer e3e58ac1aa [NTOS:KE/x64] Fix KiInitializeContextThread
Copy values manually instead of calling KeContextToTrapFrame.
2026-08-01 11:05:47 +00:00
Timo Kreuzer 652403caf2 [RTL/x64][NTOS:KE/x64] Fix RtlInitializeContext
- In RtlInitializeContext only set the registers required, don't offset RSP
- In KiInitializeContextThread force control segments, which are not set by RtlInitializeContext
- Allocate the stack home space in KiInitializeContextThread
- Fix BaseInitializeContext to work with the changed stack adjustments
2026-08-01 11:05:47 +00:00
Ahmed Arif c606fd79b1 [NTOS:FSRTL] Respect byte-range lock ownership (#9342)
FsRtlCheckLockForReadAccess() accepts access through an exclusive
byte-range lock when the IRP key matches, even if another process
owns the lock. FsRtlFastUnlockAll() likewise removes exclusive locks
without checking the Process argument.

Require both the key and requestor process for exclusive-read access,
and skip exclusive locks owned by other processes in FsRtlFastUnlockAll().
This matches the ownership checks already used by
FsRtlFastCheckLockForRead() and FsRtlFastUnlockAllByKey().

Reference:
- https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-_fsrtl_advanced_fcb_header-fsrtlfastchecklockforread
2026-07-29 21:54:44 +03:00
Ahmed Arif 4c3d15abe6 [CLANG][SDK] Add the llvm-compat runtime shim library (#9094)
llvm-mingw's static runtime (libc++, libmingwex, libc++abi, libunwind)
references symbols the NT 5.2 export surface does not provide. Add a
static library, linked into the Clang runtime chain below
DLL_EXPORT_VERSION 0x601, providing:

- C99 vsnprintf/snprintf on top of _vsnprintf/_vscprintf.
- __imp_* aliases binding dllimport references to the static CRT
  definitions instead of ucrtbase import thunks, which collide with
  them (lld: "<sym> was replaced").
- K32EnumProcessModules, forwarded to psapi's EnumProcessModules.
- The Win7 SRW lock and Vista condition variable surface, bound to the
  RTL implementation linked statically from rtl_vista. Modules get one
  self-contained, consistent synchronization implementation (ReactOS'
  lock layout is not Windows-compatible), no kernel32_vista.dll
  dependency, and stay runnable on any Windows version. Static SRW
  linking suggested by Timo Kreuzer.

Address review feedback on the llvm-compat shims:

sync_static.c now uses the proper SDK/NDK headers with WINAPI/NTAPI, imp_alias.h
moved to sdk/include/reactos and fixes the msvcrtex slot decorations too, and a
new InitOnceExecuteOnce shim lets us drop libkernel32_vista from the interface.
2026-07-29 11:27:59 +00:00
Whindmar Saksit 4fecc908e7 [SHELL32] All SHELLSTATE members must be initialized before writing to the registry (#9293)
A more reliable fix.

CORE-20585
2026-07-28 16:14:13 +02:00
Timo Kreuzer 07217d3245 [NDK][NTOS] Change Object callback types to NT6 style
This is required to support the NT6 access flags THREAD_QUERY_LIMITED_INFORMATION and THREAD_SET_LIMITED_INFORMATION.
2026-07-28 12:16:32 +00:00
Timo Kreuzer 9675f756ce [NDK] Fix definition of OB_CLOSE_METHOD 2026-07-28 12:16:32 +00:00
Ahmed ARIF 6799d7e96e [ARM64][SDK] Address intrinsic review feedback 2026-07-25 17:46:38 +00:00
Ahmed ARIF 658328ca24 [ARM64][SDK] Fix MinGW intrinsic declarations 2026-07-25 17:46:38 +00:00
Ahmed ARIF f6efc98b37 [ARM64][SDK] Add MinGW intrinsics support
Add the ARM64 MinGW intrinsics and SDK constants validated by the ARM64 bring-up work.
2026-07-25 17:46:38 +00:00
Amine Khaldi 5821d9d8a3 [PSDK] Update oleauto.h. CORE-20595 2026-07-25 17:55:19 +01:00
Amine Khaldi b6cb53569d [MSVCRTEX] Add recalloc. CORE-20596 2026-07-25 17:41:41 +01:00
Timo Kreuzer 91b613f158 [NDK][RTL] Fix signature of RtlInitializeContext 2026-07-25 16:15:37 +00:00
Carl J. Bialorucki d2b688a5ca [RTL] Add RtlIsNameInExpression to RTL 2026-07-22 19:53:20 -05:00
095860df57 [SDK][SHELL32] A big bundle of NT6+ shell32 implementations and stubs (#8834)
Split off CShellitemArray
stub out CShellLibrary
stub out CUserEventTimer
rewrite some vista shellitem APIs
Misc stubs for vista
AddITaskbarList3/ITaskbarList4

---------

Co-authored-by: Oleb Dubinskiy <[email protected]>
Co-authored-by: Mikhail Tyukin <[email protected]>
2026-07-21 12:11:29 -07:00
Timo Kreuzer ccc242ed6f [ARBITERS][NDIS] Try to fix the repository 2026-07-21 08:52:34 +00:00
Justin Miller 9ffc373bf6 [NTOS:IO][SDK:DRIVERS][FORMATTING] Start SDK:Arbiter from scratch (#9270)
Same idea as
094b7d9
and
Final step that doesn't require rtlrange improvements
2026-07-19 10:29:04 -07:00
Mikhail Tyukin 248aa75023 [WSHTCPIP][TCPIP] Implement SO_KEEPALIVE, SIO_KEEPALIVE_VALS 2026-07-19 15:33:29 +02:00
Timo Kreuzer 379e6bb05f [RTL][NTDLL_VISTA] Implement RtlWow64GetProcessMachines 2026-07-19 10:33:38 +00:00
Whindmar Saksit a5f51269c8 [SHELL32] Add FolderItems3 support (move/copy directory tree) (#9235)
- Added copy/move support for FolderItems collections.
- Added support for InvokeVerbEx on FolderItems collections.
- Added filter support for FolderItems collections.
2026-07-16 15:58:14 +02:00
Timo Kreuzer 4117217b61 [RSYM] Make the ROSSYM_ENTRY::Address field ULONG
This is an RVA, so there is no reason to expand it to 64 bit on x64.
Fixes crash of dbghelp_apitest rsym on x64, as the test was using ULONG while dbghelp was using ULONG_PTR and rsym itself was using TARGET_ULONG_PTR.
2026-07-13 12:39:42 +00:00
Timo Kreuzer d5daba4789 [NDK] Add missing extern "C" 2026-07-12 07:44:53 +00:00
Timo Kreuzer 731ff54e56 [XDK] Fix C++ definition of RTL_NUMBER_OF_V2 for GCC 2026-07-07 11:32:08 +00:00
Oleg Dubinskiy 55eb678043 [SDK] Add the IsServerSideWindow() function prototype in undocuser.h (#9229)
CORE-19946
See also PR #7577

This function is not officially documented.
2026-07-06 17:58:41 +02:00
Carl J. Bialorucki 6117b1bdef [SYSSETUP][BOOTDATA] Add winevdm as an optional module (#9219)
- Add winevdm_setup as an optional module that can be preloaded on install
- Prompt to install both gecko and winevdm if the installer is not on disk
- Change "DisableGeckoInst" to "DisableAddonsInst" because we are installing more than just Gecko now
- No longer use appwiz,,install_gecko hack from wine appwiz
- Delete installer after successfully installing winevdm and gecko locally
2026-07-04 12:03:47 -05:00
Timo Kreuzer f7cac4a97c [NDK] Add SYSTEM_EXTENDED_THREAD_INFORMATION 2026-07-03 17:04:11 +00:00
Katayama Hirofumi MZ 79761d88fd [SHELL32][SHLWAPI][SHELL32_APITEST][SDK] Support AssocCreateElement (#9215)
Prepare for CLSID_QueryAssociations.
JIRA issue: CORE-20467
- Add dll/win32/shell32/evalcmd/
  elements.cpp.
- Implement AssocCreateElement
  function in elements.cpp.
- Modify shell32.spec.
- Fix shlwapi!AssocCreate by using
  AssocCreateElement.
- Add SKGetValueW and
  SKSetValueW prototypes into
  <shlwapi_undoc.h>.
- Add AssocCreateElement
  prototype into <shlwapi_undoc.h>.
- Add some CLSIDs into
  <shlguid_undoc.h>.
- Add some resource strings into
  shlwapi.
- Add AssocGetPerceivedType
  prototype into <shlwapi.h>.
- Add AssocCreateElement
  testcase into shell32_apitest.
2026-07-04 01:10:31 +09:00
Timo Kreuzer ed51a5d1e2 [RTL][NTDLL] Implement processor related NT6+ functions
Implements RtlGetCurrentProcessorNumberEx, RtlIsProcessorFeaturePresent
2026-07-01 21:45:34 +00:00
Timo Kreuzer 098532b9c5 [NDK] Add NtGetCurrentProcessorNumberEx 2026-07-01 21:45:34 +00:00
Amine Khaldi 72eb24c100 [PSDK] Update urlmon.idl. CORE-20596 2026-07-01 16:58:14 +01:00
Whindmar Saksit c891aefdcf [SHELL32] Implement CFolder[Item] getters/setters (#9173) 2026-07-01 11:41:17 +02:00
Katayama Hirofumi MZ 0572d36024 [CRT][UCRT][MSVCRT] intrinsic functions: Follow-up of #9157 (#9226)
JIRA issue: CORE-20617
@learn-more found #9157 breaks the build as follows:
> error C2220: the following warning is treated as an error
> warning C4163: 'strncmp': not available as an intrinsic function
> warning C4163: 'strncpy': not available as an intrinsic function
_MSC_VER=1932 was not the version that the intrinsic functions
(strncmp, strncpy, wcsncmp, wcsncpy) added.
Using Compiler Explorer could detect the correct version:
_MSC_VER=1950.
2026-06-29 13:48:51 +09:00
Hermès Bélusca-Maïto 9de4cd4cf2 [EVTLIB] Fix EVTLTRACE(1) macro expansion in MSVC builds 2026-06-28 21:50:21 +02:00
Ahmed Arif 24e904e095 [EVTLIB] Do not preallocate event logs to MaxSize (#9071)
Keep the configured event log `MaxSize` as a capacity limit and track the
physical file size separately.

New logs now start at the Windows 64 KiB file-size granularity, instead of
growing immediately to the full configured maximum. They are then grown in
64 KiB chunks as records are written, while preserving the logical used area
in the header offsets and EOF record.
2026-06-28 20:14:56 +02:00
Katayama Hirofumi MZ d47cdbbdff [GDI32][GDI32_APITEST][SDK] Support GetGlyphOutlineWow (#9210)
Add 16-bit support and refactor.
JIRA issue: CORE-8466
- Refactor GetGlyphOutlineA/W.
- Implement GetGlyphOutlineWow.
- Modify gdi32.spec.
- Add prototype into <undocgdi.h>.
- Enhance GetGlyphOutline testcase.
2026-06-27 11:36:36 +09:00
Justin Miller 5cef1f68e3 [SDK] kernelbase SDK changes 2026-06-24 15:27:43 -07:00
Katayama Hirofumi MZ 546297fe86 [SHELL32][SHLWAPI][BROWSEUI][SHELL32_APITEST][SDK][KBSWITCH][RAPPS] Support SHEvaluateSystemCommandTemplate (#9111)
This function has an important role
for new ShellExecute implementation.
JIRA issue: CORE-19278
- Add evalcmd static library into
  dll/win32/shell32/evalcmd.
- Implement
  SHEvaluateSystemCommandTemplate
  in evalcmd.
- Link evalcmd to shell32 and shlwapi.
- Modify shell32.spec and shlwapi.spec.
- Add prototype to <shellapi.h>.
- Add
  SHEvaluateSystemCommandTemplate
  testcase.
- Define PathIsAbsolute inline
  function in <shlwapi_undoc.h>
  and use it.
2026-06-24 20:35:37 +09:00
Timo Kreuzer a790beb22b [SHELL32] Fix SHBindToObject
This should have 5 parameters and stdcall convention.
Get rid of SHBindToObjectEx.
2026-06-23 18:10:39 +00:00
Hermès Bélusca-Maïto d4ba4b464f [NDK] pstypes.h: Remove win32k-specific _W32THREAD/_W32PROCESS forward declarations
These structures weren't used anywhere else in the header.
2026-06-23 19:57:53 +02:00
Hermès Bélusca-Maïto 620222ad28 [NTOS:OB][NDK] Enhancements to ObSetHandleAttributes() and ObpSetHandleAttributes() (#9170)
- Use SAL2 annotations; write Doxygen documentation (based on GPT-5.4 feedback).
- Simplify some of the code.
- Add the `ObSetHandleAttributes()` prototype to `ndk/obfuncs.h`,
  since it is exported by ntoskrnl.exe
2026-06-23 19:52:22 +02:00
Hermès Bélusca-Maïto 37fe06f1c7 [NTOS:OB] Enhancements to NtSetInformationObject() (#9170)
- Simplify the `ObjectHandleFlagInformation` class implementation,
  by directly invoking the `ObSetHandleAttributes()` routine.
  Addendum to commit 02d0bb9dbd (r22228) that implemented the class,
  and to commit 91105c7915 (r61037) that implemented `ObSetHandleAttributes()`.

- Use SAL2 annotations; write Doxygen documentation (based on GPT-5.4
  feedback and https://ntdoc.m417z.com/ntsetinformationobject).
2026-06-23 19:52:21 +02:00
Hermès Bélusca-Maïto cf4dce77c2 [NDK][NTOS:INCLUDE] Minor reshuffling of some functions (#9170) 2026-06-23 19:52:16 +02:00
Timo Kreuzer 5a88b485bb [PSDK] wincrypt.h: Add missing CryptImportPublicKeyInfoEx2 2026-06-23 17:36:26 +00:00
Timo Kreuzer 4e9945c1e0 [PSDK] Sync bcrypt.h to Wine-10.0 2026-06-23 17:36:26 +00:00
Timo Kreuzer 0232efdd19 [NTDLL] Implement LdrGetProcedureAddressEx for NT6 2026-06-21 15:07:00 +00:00
Timo Kreuzer d0b292cda6 [VCSTARTUP] Separate the library from vcruntime
Previously this was mixed with vcruntime, with some objects being shared. But this is messy. Instead use a separate library and link ucrtbase to this as well. This also matches more closely how native libraries are organized, where vcstartup is merged into the CRT import libraries, while vcruntime is merged into the static CRT libraries.
2026-06-21 12:30:32 +00:00
Eric Kohl 4d2238e07a [NETCFGX][REACTOS] Add NetCfgDiagRepairRegistryBindings stub 2026-06-21 10:10:29 +02:00
Eric Kohl ac06652ab6 [NETSH][REACTOS] Basic implementation of PreprocessCommand
Preprocess is used by the 'reset' command in the 'interface ip' command.
2026-06-21 00:59:22 +02:00
Katayama Hirofumi MZ 0533a67b18 [SHLWAPI][SHELL32][SDK] Support SHRestrictedMessageBox (#9160)
Implementing missing features...
JIRA issue: CORE-19278
- Add IDS_RESTRICTED and IDS_RESTRICTIONS
  resource strings.
- Implement SHRestrictedMessageBox function.
- Modify shlwapi.spec.
- Add prototype into <shlwapi_undoc.h>.
- Restrict Folder Options on
  REST_NOFOLDEROPTIONS by using
  SHRestrictedMessageBox.
2026-06-20 09:25:47 +09:00
Timo Kreuzer 269b585eed [SPEC2DEF] Fix a memory leak. 2026-06-19 19:27:29 +00:00