2013 Commits

Author SHA1 Message Date
Alex Mendoza
1fd8b503be [SHELL32] Implement some DAD functions (#9256)
Implement the following Drag&Drop functions:

- DAD_DragEnter
- DAD_DragEnterEx
- DAD_DragMove
- DAD_DragLeave
- DAD_SetDragImage
- DAD_ShowDragImage

Change the parameters to SAL2 and update header declarations in undocshell.h (ones that are there).

Also add Doxygen documentation.
2026-09-27 12:19:44 +02:00
Mikhail Tyukin
a68bfa2fb4 [MSAFD][AFD] Implement AcceptEx (#9187)
Implement AcceptEx, GetAcceptExSockaddrs, and SO_UPDATE_ACCEPT_CONTEXT. This function is responsible for asynchronously accepting TCP connections, and also reading some bytes when doing so. Needed for Steam and other apps.

JIRA issue: CORE-17036

References: https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-acceptex, https://ntdoc.m417z.com/afd_super_accept_info
2026-09-25 13:28:47 -04:00
Mohammad Amin Mollazadeh
5941d646ff [USP10] Sync with WINE-11.17 (#9552)
* [SDK][USP10] Import new functions from WINE 11.17

* [WINETEST:USP10] Sync to WINE-11.17

* [USP10] Sync with WINE-11.17

WINE 5.21 merged USP10 with GDI32, this PR doesn't import this change.
Except for LpkPresent implementation, every other patch made by ReactOS were synced to the upstream.
A sync was requested for fixing the issue in CORE-17324 but the issue is still reproducible even after syncing to WINE-11.17.
2026-09-25 09:17:32 -04:00
Justin Miller
73f75f9b09 [MEDIA][SDK][MODULES][DIRECTX:WINE] Final Clean up + Handle OGL 2.0+
Tests
2026-09-24 17:03:51 +00:00
Justin Miller
8a7508c153 [SDK:CRT][MSVCRTEX][DIRECTX:WINE] Remove the need for ucrtbase for NT5 2026-09-24 17:03:51 +00:00
Justin Miller
53fd7a2948 [WINETESTS] Update the DirectX WineTest 2026-09-24 17:03:51 +00:00
Justin Miller
e98fa71fdc [DIRECTX:WINE][SDK][WIN32S] pass at building Wine-10.0 2026-09-24 17:03:51 +00:00
Justin Miller
75f0d877cc [SDK] Small math.h additions 2026-09-24 17:03:51 +00:00
Justin Miller
ebd5036a94 [DIRECTX:WINE] More Wine-10 Source imports, fully sync dmusic 2026-09-24 17:03:51 +00:00
Justin Miller
4513c2d95a [SDK][DIRECTX:WINE] Reimport all of directx from WINE-10.0 2026-09-24 17:03:51 +00:00
Mikhail Tyukin
f35999c7d2 [WUAPI][XMLLITE][XOLEHLP] Sync to Wine-10.0 2026-09-23 14:38:53 -04:00
Mikhail Tyukin
21990a50b2 [PRINTUI][PSTOREC][QMGR][QMGRPRXY] Sync to Wine-10.0 2026-09-23 13:28:02 -04:00
Mikhail Tyukin
9c62c7941f [MSSIGN32][MSSIP32] Sync to Wine-10.0
Also fusion is wine-10.0 since commit 3fe582c014
2026-09-23 13:28:02 -04:00
Mikhail Tyukin
b563bfc854 [HNETCFG] Sync to Wine-10.0 2026-09-23 12:52:14 -04:00
Mohammad Amin Mollazadeh
2def708122 [KERNEL32][APITESTS:KERNEL32] Implement SetSearchPathMode (#9244)
This commit implements SetSearchPathMode based on official documentations from Microsoft and Wine tests.

This is different from #3665 since it updates SearchPathW to use the configured Search Path Mode, while the older PR only introduces SetSearchPathMode with desired outputs per input. Also improves thread safety.

CORE-17586
2026-09-20 16:53:49 +00:00
Justin Miller
4dabb9e582 [PCIX] Decode fixes and 4GB+ region bar support (#9545)
I did notice our PCIX hack flags seem to be compatible with what windows is trying to do, I've kept that. Though I'm only really checking against modern windows here. I may reduce our flag list later, also i noticed our usage of them was a bit off in how we decode some information; This broke VGA for months in my development of this driver.

* [PCIX] Refuse to disable decodes for the devices Windows keeps decoding
* [PCIX] Let a 64-bit BAR be placed above 4GB
* [XDK] Enable the MemIo vista+ APIs we're really need
* [PCIX] Build a BAR requirement from named bounds
* [PCIX] Treat a BAR that implements no address bits as absent
2026-09-18 01:08:31 +00:00
Hermès Bélusca-Maïto
af191d74af [CMAKE] Cleanup include_directories() of unnecessary entries for some modules (#9520)
Cleanup for:
- base/applications: WINMINE, MSCONFIG_NEW, REGEDIT
- dll/shellext: ACPPAGE
- drivers/filesystems: CDFS, EXT2
- drivers/storage: RAMDISK, UNIATA
- win32ss: WIN32SS, WINEGDI
- sdk/include/psdk, sdk/include/reactos
2026-09-14 21:56:35 +02:00
Hermès Bélusca-Maïto
db6d5bee33 [BOOTDATA][PCIX][SDK] Fix minor "typos" (#9539)
- "PCI BIOS" instead of "ACPI BIOS".
- "PIR$" -> "$PIR".
2026-09-14 21:52:51 +02:00
Carl J. Bialorucki
cf144a03a9 [ROSBRAND] Add branding library 2026-09-14 11:59:01 -05:00
George Bișoc
8d4705fcea [RTL] Introduce newer BSD item type enums
With Windows 10/11 new enum fields were added to RTL_BSD_ITEM_TYPE namely RtlBsdPowerTransitionExtension, RtlBsdItemFeatureConfigurationState and RtlBsdItemRevocationListInfo.
Currently there's no information about what fields does RTL_BSD_ITEM_REVOCATION_LIST have at the moment, so it's stubbed out. RTL_BSD_DATA_POWER_TRANSITION_EXTENSION is used by RtlBsdPowerTransitionExtension that contains extended power information such as critical thermal shutdown and whatnot.

The source of these fields is from PHNT -> https://github.com/winsiderss/systeminformer/blob/master/phnt/include/ntrtl.h#L15124

That stuff is particularly useful when working futher on RSOH (the Red Screen of Hell feature) as we can use RtlGetSetBootStatusData to set the thermal condition bit and have this popup screen be displayed on next boot if the kernel finds out the system was running too hot.
2026-09-13 21:51:12 +02:00
Mikhail Tyukin
9699568b70 [COMDLG32] Sync to Wine-10.0 (#8821)
Sync comdlg32 to Wine-10.0 and its tests. Additionally, a lot of reactos specific code in colordlg.c has been removed as wine has it. Enable IFileDialog interface for Windows Vista or later DLL exports.

JIRA issue: CORE-20586
2026-09-12 10:34:35 -04:00
Mark Jansen
19d57369ca [KERNEL32] Port GetProcessDEPPolicy and related functions from Wine 10.1 2026-09-11 17:07:50 +02:00
George Bișoc
f63578ca7a [NDK] Add KAFFINITY_EX
Introduce KAFFINITY_EX, which it gonna be used by power related structures (like PPM).
More info https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ke/affinity/kaffinity_ex.htm.

CORE-18969
2026-09-09 19:50:47 +02:00
Doug Lyons
a6e665264c [FSLIB] Add SAL2 annotations to sdk/include/reactos/libs/fslib/vfatlib.h (#9503)
Addendum to dc6be46b93.

CORE-20771
2026-09-08 12:37:25 -05:00
Whindmar Saksit
2b0c747398 [SDK] Don't use empty string defaultvalue for BSTR arguments (#9494)
The MS SDK changed to NULL somewhere between 10.0.14393 and 10.0.16299.
2026-09-06 15:13:50 +02:00
George Bișoc
c5318556b3 [NDK] Fix an annotation in NtGetDevicePowerState
NtGetDevicePowerState returns the power state of a device on its 2nd parameter, yet the annotation treats it like an input one. Fix that.

CORE-18969
2026-09-06 14:40:51 +02:00
Eric Kohl
9d989a975c [MMC_NEW] Add Mark Jansen's MMC Application skeleton (PR #1967)
This PR is a great start for a new C++ based MMC.
I have some improvements in my source tree which I want to add bit by bit.

My modifications to Marks PR are:
- Renamed ISnapInAbout to ISnapinAbout for compatibility reasons.
- Updated CMakeLists.txt
- Removed the patch to shellutils.h because it seems to already have been applied.
2026-09-06 12:41:11 +02:00
George Bișoc
c26c2e3342 [MC] Add DRIVER_POWER_STATE_FAILURE bugcheck code
This is used by the Power Manager kernel module to put down the system due to power failures of a driver.

CORE-18969
2026-09-05 20:09:09 +02:00
Justin Miller
1500a35309 [NTOS:IO][ARBITER][SDK] Finish the root arbiters and fix some compatibility divergences (#9482)
The root memory arbiter is the most important out of all of these. The main intention here is that there's some special ranges PCI can't ever look at it even if the firmware tries to claim it can.
This is missing a few gaps still! for example in another PR I'm going to add in the ACPI hal to reserve the ECAM space and once that is published itll also be added to the root mem arbiter.

* [ARBITER] Resolve ARBITER_RANGE_SHARED_DRIVER, fixes compat with Vista+
* [NTOS:IO] Finish the initial impl of the Root Arbiters
* [NTOS:IO][SDK] Fix RtlFindRange truncation, use the Vista+ Sig
2026-09-05 01:31:04 +00:00
Hermès Bélusca-Maïto
4b6983a6be [SDK] d3dkmddi.h: Fix newline format
Addendum to commit b3729be87e (PR #9403).
2026-09-03 16:34:43 +02:00
Justin Miller
b3729be87e [SDK] Create dispmprt.h and expand d3dkmddi.h (#9403)
---------

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2026-09-03 03:35:33 +00:00
Mikhail Tyukin
26c6e206fa [DBGENG] Sync to Wine-10.0 2026-09-01 14:41:09 -04:00
Hater
340f6cfec4 [BCRYPT][BCRYPT_WINETEST] Sync to WineStaging-10.6 (#8267)
Sync bcrypt/bcrypt winetest with latest wine. Implement all functionality with mbedtls. DSA is my implementation based on libtomcrypt implementation as mbedtls does not support DSA. All failing tests are wine_todo

* [BCRYPT] Split implementations in different files. Add internal header. Add precompiled header. These changes are needed to make bcrypt more wine compatible

* [BCRYPT] Update to latest bcrypt from wine. Add their gnutls implementation with small changes. Add missing function in the other implementations returning STATUS_NOT_IMPLEMENTED. WARNING! gnutls is modified just visually and is n ot compiled locally as we don't have gnutls in ReactOS for a long time and we depend on mbedtls implementation.

* [BCRYPT] Remove forgotten code. Remove hmac BOOL and use hash->flags for hmac

* [BCRYPT] Remove some dead code. Move flag defines in header. Use constant for flag

* [BCRYPT][WINETEST] Update bcrypt wine test to current version. On windows it executes 23114 tests successfully

* [MBEDTLS] Activate MD2 and MD4 hashing algorithms

* [MBEDTLS] Export additional MD functions

* [BCRYPT][WINETEST] Disable not implemented method tests

* [BCRYPT] Remove unneeded headers

* [BCRYPT] Fix some struct variables and add a hash method

* [BCRYPT] Update common crypto implementation

* [MBEDTLS] Expose AES CFB8

* [MBEDTLS] Export simetric encryption/decryption functions

* [BCRYPT] Implement symetric encryption/decryption

* [BCRYPT][WINETEST] Activate symetric encryption/decryption tests. From 22541 Only 3 fail on wine_todo

* [BCRYPT][WINETEST] Disable pbkdf tests. They crash calling function with ULONGLONG parameter

* [MBEDTLS] Export additional functions

* [BCRYPT] Expand private data size

* [BCRYPT] Implement asymetric encryption/decryption. NOTE: DSA is NOT supported by mbedtls, so it is not implemented here

* [MBEDTLS] Disable range check for mbedtls_dhm_calc_secret for ReactOS. It fails tests for key derivation

* [BCRYPT][WINETEST] Enable all tests

* [BCRYPT] Update exports

* [MBEDTLS] Add DSA implementation. It is my implementation based on libtomcrypt and adapted to mbedtls. It is NOT part of mbedtls!

* [BCRYPT] Implement DSA encryption/decryption. Use union for cipher/pk/dh/dsa keys to lower memory used for a key. Lower PRIVATE_DATA_SIZE accordingly.

* [BCRYPT] Fix missed cleanup on error paths. Fixed missed DSA key reinitialization. Change some error codes to STATUS_NO_MEMORY. Minor formatting

* [WINESYNC] Update bcrypt sync status

* [MBEDTLS] Fix double export and move an export for readability

* [BCRYPT] Enable ARC4 (RC4) algorithm

* [BCRYPT] Extend private data size to fit x64

* [WINESYNC] Update WINESYNC.txt to exclude commit hash

---------

Co-authored-by: Justin Miller <justin.miller@reactos.org>
2026-08-30 01:29:51 +00:00
Justin Miller
b272427baa [APITESTS][NTOS:PS][SDK][NTUSER] Job UI Restriction support (#9448)
Adds the initial attempt at handling the job ui restriction support. This doesn't protect the OS yet, however it provides everything we need to start implementing that protection.
2026-08-29 04:46:45 +00:00
Mohammad Amin Mollazadeh
7e8b6a400b [SDK][LIBWINE] Import debugstr_fourcc 2026-08-28 17:13:20 -04:00
Mikhail Tyukin
43a6de894e [COMPSTUI] Sync to Wine-10.0 2026-08-28 11:35:37 -04:00
Mikhail Tyukin
30266a7189 [ATL][ATL80][ATL100] Sync to Wine-10.0 2026-08-28 11:35:37 -04:00
Mikhail Tyukin
1620743e62 [ACTXPRXY] Sync to Wine-10.0 2026-08-28 11:35:37 -04:00
Eric Kohl
5483dc09a9 [UI] CTreeView: Add support for custom styles in the Create method 2026-08-24 19:52:07 +02:00
Alex Mendoza
e3188c27ad [SETUPAPI] Implement SetupDiGetActualModelsSectionA/W (#9426)
CORE-20472

For example, the installer for the NVIDIA GTX 960 driver 368.81,
requires this routine.
2026-08-23 17:53:39 +02:00
Mikhail Tyukin
fdddc528e2 [RTWORKQ] Import from wine-10.0 (#9398)
Import rtworkq.dll from Wine-10.0, required for importing wine's MediaFoundation implementation. Locked behind Windows 8.1 as apps detect for the presence of this DLL.
2026-08-22 19:32:37 -04:00
Gleb Surikov
5556344437 [NTOS:PS] Basic support for jobs in the kernel: Create/Open/Assign/Remove/Terminate/Delete (#7500)
Introduces basic job support into the kernel
supersedes the old WIP PR #40 by Mark Jansen and is partially based on it

Co-authored-by: Mark Jansen <mark.jansen@reactos.org>
Co-authored-by: Samuel Serapión Vega <encoded@reactos.org>
Co-authored-by: Timo Kreuzer <timo.kreuzer@reactos.org>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2026-08-22 15:42:48 -07:00
Whindmar Saksit
93f96e592b [SHELL32][SHLWAPI][SHELL32_APITEST][SHLWAPI_APITEST] Implement IQueryAssociations::GetKey and more ASSOCSTR's (#9262) 2026-08-15 22:11:18 +02:00
Hermès Bélusca-Maïto
63f86fa73b [KERNEL32][MSAFD][NTOS:OB][CSRSRV][NDK] Rename OBJECT_HANDLE_ATTRIBUTE_INFORMATION to OBJECT_HANDLE_FLAG_INFORMATION (#9174)
This is the correct name used in the Windows SDK/WDK headers (as already
used in sdk/include/wine/winternl.h). The old name was a non-standard
alias from the open-source w32api package.

See also:
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntobapi/object_handle_flag_information.htm
https://ntdoc.m417z.com/object_handle_flag_information

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-14 22:41:30 +02:00
Hermès Bélusca-Maïto
942fab5b09 [NDK] Update the OBJECT_TYPE_INFORMATION and OBJECT_ALL_TYPES_INFORMATION structures (#9174)
- Update the `OBJECT_TYPE_INFORMATION` structure with Win8.1+ members,
  as documented by Geoff Chappell[^1] and System Informer phnt headers[^2].

[^1]: https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntobapi/object_type_information.htm
[^2]: https://ntdoc.m417z.com/object_type_information

- Rename `OBJECT_ALL_TYPES_INFORMATION` to `OBJECT_TYPES_INFORMATION`, as
  de-facto documented by Geoff Chappell[^3] and System Informer phnt headers[^4].
  (The old names were historically taken from the "Windows NT/2000 Native API Reference" book[^5].)

[^3]: https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntobapi/object_types_information.htm
[^4]: https://ntdoc.m417z.com/object_types_information
[^5]: https://ultradefrag.net/doc/man/Windows%20NT(2000)%20Native%20API%20Reference.pdf

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-14 22:41:29 +02:00
Hermès Bélusca-Maïto
b15ea057d3 [NDK][XDK] Massage object-related definitions in NDK and ntifs.h (#9174)
- NDK obtypes.h: Update the names of the `OBJECT_BASIC_INFORMATION`
  structure members, (undocumented by Microsoft but) de-facto documented
  by Geoff Chappell[^1] and System Informer phnt headers[^2].
  Make the `OBJECT_BASIC_INFORMATION` structure available for both user
  and kernel-mode code.

- NDK obtypes.h: `OB_DUMP_CONTROL` is available only for kernel-mode
  code; group all the `OBJECT_*_INFORMATION` definitions together.

- XDK: Remove `OBJECT_*_INFO` types that do not exist in the official ntifs.h

  The types: `OBJECT_BASIC_INFO`, `OBJECT_NAME_INFO`, `OBJECT_TYPE_INFO`,
  `OBJECT_ALL_TYPES_INFO`, `OBJECT_HANDLE_ATTRIBUTE_INFO`, and
  `OBJECT_PROTECTION_INFO` (this one being a duplicate of the former one),
  correspond to undocumented (by Microsoft) types, that do not
  exist in the official ntifs.h file from the Windows IFS/DDK/WDK.

  They were non-standard aliases coming from the open-source w32api
  (MinGW) package.

  Our NDK already contain these types with the de-facto documented names
  as found in Geoff Chappell[^1] and System Informer phnt headers[^4].

- NDK/XDK: Update the `OBJECT_INFORMATION_CLASS` enumeration[^3][^4] with
  Win11 values and add versioning.
  Technically, ntifs.h should *ONLY* contain a reduced version of this
  (otherwise undocumented) enumeration for the two semi-public
  `PUBLIC_OBJECT_BASIC_INFORMATION` and `PUBLIC_OBJECT_TYPE_INFORMATION`
  structures (restricted versions of the full ones, see above).
  However, our code relies a bit too much on ntifs.h for definitions
  (and NDK very often expects such kernel-mode definitions to be "already"
  defined "elsewhere" i.e. in ntifs.h and so doesn't define them otherwise),
  and the _full_ version of the `OBJECT_INFORMATION_CLASS` enumeration
  found in the NDK collides with that of the ntifs.h.
  Thus, as a temporary hack until a better solution is found, transform
  the ntifs.h `OBJECT_INFORMATION_CLASS` enumeration into the full one
  as well!

- XDK ntifs.h: Add missing `_NTIFS_` guard; add a comment about the fact
  that `_GNU_NTIFS_` is a hack only for the ext2fs driver.
  Move the `NtQueryObject()` routine to just after the `OBJECT_*_INFORMATION`
  structures.

[^1]: https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntobapi/object_basic_information.htm
[^2]: https://ntdoc.m417z.com/object_basic_information
[^3]: https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/api/ntobapi_x/object_information_class.htm
[^4]: https://ntdoc.m417z.com/object_information_class
2026-08-14 22:40:06 +02:00
Timo Kreuzer
49cb1cb993 [NDK] Add SYSTEM_PROCESSOR_IDLE_CYCLE_TIME_INFORMATION 2026-08-13 14:31:19 +00:00
Timo Kreuzer
09d6e3613d [XDK] Remove KeQueryTotalCycleTimeProcess
This function doesn't exist.
2026-08-13 14:31:19 +00:00
Timo Kreuzer
144fe39589 [NDK] Add CycleTime field to ETHREAD/EPROCESS/KPRCB
This is a field from NT6+. We need it for cycle time accounting.
To avoid changing the structure layout, the fields are added to the end of ETHREAD/EPROCESS, until we switch to NTDDI_VISTA, where they are part of KTHREAD/KPROCESS.
2026-08-13 14:31:19 +00:00
Justin Miller
b39a368c28 [SDK] Add CM_RESOURCE_DMA_V3 2026-08-12 21:31:58 +00:00