Commit Graph

1822 Commits

Author SHA1 Message Date
Katayama Hirofumi MZ
863203030f [IMM32][SDK] Rename CLIENTIMC_UNKNOWN2 as CLIENTIMC_LOCKED (#8807)
Improve code readability.
JIRA issue: CORE-19268
- Rename CLIENTIMC_UNKNOWN2
  flag as CLIENTIMC_LOCKED.
- Delete unused
  CLIENTIMC_UNKNOWN4 flag.
- Fix the return value of
  Imm32AssignNewLayout function.
2026-03-30 04:39:26 +09:00
Hermès Bélusca-Maïto
a4621bb280 [NTOS:PS][NTDLL_APITESTS] Implement ThreadNameInformation for NtQuery/SetInformationThread() (#8484)
The `ThreadNameInformation` (#38) class is the Windows 10.1607+ way
of assigning a human-readable name (i.e. description) to a given
thread object, that is visible to debuggers and diagnostic tools
(e.g. WinDbg `!thread` command, Process Explorer ...), which is
useful for debugging scenarios.[^1]

Before this, the only way to assign a name to a thread for debugging
purposes was to raise a specific exception, that had to be caught and
interpreted by a supported debugger.[^2][^3]

When the thread object is being deleted (`kill.c!PspDeleteThread()`),
free the thread name if set (courtesy of Ahmed Arif, PR #8796).

References:
[^1]: https://learn.microsoft.com/en-us/visualstudio/debugger/tips-for-debugging-threads
[^2]: https://learn.microsoft.com/en-us/archive/blogs/stevejs/naming-threads-in-win32-and-net
[^3]: https://ofekshilon.com/2009/04/10/naming-threads/
2026-03-29 19:35:34 +02:00
Mikhail Tyukin
3dc66309d1 [BLUETOOTHAPIS][BTHPROPS][WINUSB] Import from wine-10.0 (#8801)
* [WINUSB] Import wine-10.0
* [BLUETOOTHAPIS][BTHPROPS] Import wine-10.0

Import wine bluetooth and usb stubs. Needed for modern applications. These dlls were added in XP sp2.
2026-03-29 02:49:33 +00:00
Katayama Hirofumi MZ
75e1d78fe9 [IMM32][SDK] imemenu.c: Rewrite IME Menu feature (#8769)
There were some design difference
comparing to Windows. Improve
IME Menu compatibility.
JIRA issue: CORE-20142
- Re-implement IME Menu.
- Modify
  ImmPutImeMenuItemsIntoMappedFile
  prototype.
2026-03-29 11:33:23 +09:00
winesync
ac322153b6 [WINHTTP] Winesync to Wine-10.0 2026-03-28 11:35:17 -07:00
Mikhail Tyukin
3908cbf5b4 [UIAUTOMATIONCORE] Import from Wine-10.0 (#8708)
* [UIAUTOMATIONCORE] import from wine-10.0
* [DXDIAG] fix build after sync

Used in many NT6+ applications like web browsers. This dll "enables assistive technology products, such as screen readers, to provide information about the UI to end users and to manipulate the UI by means other than standard input. UI Automation also allows automated test scripts to interact with the UI" according to msdn.
2026-03-28 14:17:27 +00:00
Hermès Bélusca-Maïto
e05e6c4849 [NTOS:KE][NDK] Minor enhancements to the KeFindConfiguration*Entry() routines (#8720)
- Update the SAL annotations;
- Simplify some while-loops into for-loops.
2026-03-22 20:15:50 +01:00
Eric Kohl
c364fe7fb1 [SDK][UUID] Add notification object interfaces
Add INetCfgComponentNotifyBinding, INetCfgComponentNotifyGlobal and INetCfgComponentSetup.
2026-03-22 15:04:48 +01:00
Timo Kreuzer
7cc4459d3c [SDK] wine/test.h: reduce diff to wine-10.0 (#8710)
* test.h: remove obsolete wine specific definitions - __winetest_cdecl, __winetest_va_* aren't used anymore
* Add missing winetest_ prefixes
* Rename winetest_get_thread_data
* Update global variables
* Move winetest_thread_data
* Make winetest_get_thread_data extern
* [ISAPNP_UNITTEST] Use static inline instead of FORCEINLINE (GCC complains when a non-static inine function calls a static inline function)
* Move winetest_win_skip and make it static
* Move winetest_start_todo and make it static inline
* Move winetest_start_todo and make it static inline
* Move winetest_get_failures and winetest_add_failures and make them static
* Add winetest_print_lock and winetest_print_unlock
* Add winetest_get_time and winetest_elapsed
* Add flaky support
* Add exc_filter and running_under_wine
* Move reactos specific things together
2026-03-20 20:02:12 +00:00
Hermès Bélusca-Maïto
b1a31610ac [FREELDR][KDCOM][KDGDB] Remove deprecated "IRQ" debugger command-line option
- The "IRQ" debugger option was introduced in commit 5a6adb4f13 (r2546).
  It was used by the in-kernel GDB stub, to manually wire an interrupt
  handler `GspBreakIn()` to allow the debugger to break into the system
  when a command is received on the GDB serial port.

  Side-remark:
  The hooking was done via `HalGetInterruptVector()` + `IoConnectInterrupt()`,
  but only at phase 1 initialization when the memory manager was up, which
  can be "late" enough during system boot initialization.
  Instead of using `IoConnectInterrupt()`, one could have used explicit
  `KeInitializeInterrupt()` + `KeConnectInterrupt()` calls that would
  have worked much earlier in the boot stage.

- This functionality was soon after disabled in commit c804ca06be (r2946)
  in the GDB stub (see `ntoskrnl/kd/gdbstub.c!KdGdbStubInit()`), never
  to be re-enabled again.
  It was removed completely in commit e160c0fb26 (r14799).

- Since ReactOS was (until recently) always debugged locally using the
  in-kernel KDBG debugger, break-in was done with TAB-K keypress,
  intercepted by the keyboard driver that triggered a `DbgBreakPoint()`,
  thus no break-in via serial port interrupt was necessary.

- Remote debugger break-in detection, which is the standard method that
  is used when remote-debugging using KD transport DLLs and WinDbg, was
  introduced in commit 12e7593f24 (r25984). As with the rest of debugger
  communication and as done on Windows, detection is done by polling the
  serial port at certain times, namely in the `KeUpdateSystemTime()`
  kernel procedure periodically invoked by the timer interrupt.
  This break-in detection was then erroneously removed in commit bf8b9467dc
  (r45140), and reinstated in commit 014b23b9a (r56194).

- Parsing of this "IRQ" option was copy-pasted in other modules (FreeLoader,
  KDCOM, and KDGDB), even though it was never used. The parsing was then
  removed in KDBG itself in commit 95faf65ebf, but left in the other
  modules... until now!
2026-03-19 21:52:14 +01:00
Timo Kreuzer
d31b043fff [VCRUNTIME] comutil.h: Remove redundant _variant_t::operator VARIANT()
_variant_t inherits from tagVARIANT aka VARIANT and C++ will always prioritize the built-in conversion to the base class over the use of a user-defined conversion operator.

Fixes GCC 13 warning:

In file included from C:/ReactOS/reactos/sdk/include/vcruntime/comdef.h:19,
                 from C:/ReactOS/reactos/sdk/lib/comsupp/comsupp.cpp:16:
C:/ReactOS/reactos/sdk/include/vcruntime/comutil.h:423:3: error: converting '_variant_t' to a base class 'VARIANT' {aka 'tagVARIANT'} will never use a type conversion operator [-Werror=class-conversion]
  423 |   operator VARIANT() const throw();
      |   ^~~~~~~~
2026-03-18 17:29:12 +02:00
Hermès Bélusca-Maïto
3012af5e30 [CPORTLIB][FREELDR][KD][NTOS] Move duplicated UART settings into a common header 2026-03-16 16:18:43 +01:00
Dmitry Borisov
aabd163d73 [CPORTLIB:PC98] Refactor serial support code (#8558)
CORE-17977

- Fix a bug when subsequent port detection attempts fail because of
  broken FIFO management. If FIFO logic is enabled the hardware will
  not decode the legacy 0x30 and 0x32 I/O ports.
  Therefore care should be taken when accessing these ports.

- Fix hang on boot when a serial device was not connected to the COM1 port.
  Unlike 16550, a call to `CpDoesPortExist()` for the 8251 will succeed
  even when if the user has not plug the serial port into PC-98 machine.
  (I do not know how to put the 8251 into loopback mode.)
  Fix this by checking for CTS prior to the LSR loop.

- Fix hang on boot when the chosen baud rate becomes too large due to
  `DEFAULT_DEBUG_BAUD_RATE` being set to 115200.

- Some NP21/W workarounds were being incorrectly applied,
  fix them and consolidate them into one check.

- Reuse exsisting code from the NS16550 driver to avoid code duplication.

- Rename HW definitions for better naming.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2026-03-15 22:56:14 +01:00
Hermès Bélusca-Maïto
dabc74d468 [CPORTLIB] Split cport.c into the NS16550-specific routines and the rest
Preparing the way for a future library refactoring, along the way of the
one in Windows, which has been updated in Windows 10 and is now documented:
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/uart/
2026-03-15 22:48:25 +01:00
Carl J. Bialorucki
6efe017a3a [INCLUDE/PSDK][INCLUDE/WINE] Header changes needed for user32 winetest sync
- psdk/mmsystem.h: Add a #ifndef guard around SC_SCREENSAVE, MS public headers have the same guard
- psdk/ole2.h: Add guards around CreateDataAdviseHolder that are similar to the guards used in MS public headers
- psdk/winuser.h: Add missing defines, use DWORD and LONG casts to fix test failures on x64. These same casts exist in MS public headers
- wine/test.h: Add defines for winetest_platform_is_wine, flaky, and flaky_wine. The flaky definitions depend on flaky_if, which is a stub that does nothing.
2026-03-13 18:32:47 -05:00
Mikhail Tyukin
c47733ab1c [WINTRUST] Sync to wine-10.0 (#8388)
- Sync wintrust and tests to wine-10.0
2026-03-13 18:30:43 -05:00
Katayama Hirofumi MZ
e6328fbf1e [NTGDI][FREETYPE][SDK] Rewrite NtGdiGetCharABCWidthsW (#8704)
Refactor and improve readability.
JIRA issue: CORE-20505
- Add GreGetCharABCWidthsW helper function.
- Rewrite NtGdiGetCharABCWidthsW by using
  GreGetCharABCWidthsW.
2026-03-13 18:24:26 +09:00
Adam Słaboń
8a2864dd11 [SDK] Update HAL private dispatch table definitions to Windows 10 November 2015 Update (#8235)
Mostly based on the information on Geoff Chappell's website, Vergilius Project and WDK 10.0.10586.0
2026-03-08 19:04:17 +01:00
Hermès Bélusca-Maïto
9bf854455c [SDK:XDK] extypes.h: Update WORK_QUEUE_TYPE with Win8+ values (#8651) 2026-03-08 18:30:24 +01:00
Hermès Bélusca-Maïto
94a840c9b5 [SDK:NDK] cmtypes.h: Add few missing CM_RESOURCE_* defines, present in the XDK (#8651) 2026-03-08 18:30:14 +01:00
Hermès Bélusca-Maïto
1de8b4f0ce [DDK][VIDEOPRT] VideoPortDebugPrint(): Fix the debug filter being used; update SAL annotations (#8718)
- Use the `DPFLTR_VIDEO_ID` debug filter ID, which is the same as what
  Windows' videoprt.sys uses, so that tools and people who debug can
  easily interoperate between the two.
  Addendum to commits 11c95f7b5d (r19801) and 5b799176ba (r31477).

- Use SAL2 annotations.
2026-03-08 15:25:09 +01:00
Eric Kohl
3f9f0e2a96 [PSDK][DHCSCSVC][IPCONFIG] Add DhcpHandlePnpEvent stub and use it in ipconfig
Ipconfig uses DhcpHandlePnpEvent to notify the dhcp client of a changed class id.
2026-03-08 12:22:47 +01:00
Carl J. Bialorucki
c9e73b6a77 [INCLUDE/WINE] Don't use DECLSPEC_IMPORT on ntsecapi.h
- Define WINADVAPI to nothing in Wine ntsecapi.h so MSVCRT can build on GCC.
2026-03-03 22:07:59 -06:00
Carl J. Bialorucki
391875028d [INCLUDE/WINE][PSDK][XDK] Header changes needed for advapi32 winetest sync to wine-10.0
- [INCLUDE/WINE] Import ntlsa.h, ntsecapi.h, winsvc.h from wine-10.0
- [PSDK] Fix some header definitions to make them more accurate to Microsoft's headers and add some missing definitions
- [XDK] Add a fix for PROCESS_ALL_ACCESS on Vista+ (matches Microsoft's headers)
- [COMDLG32] Remove unneeded _WIN32_WINNT bump after fixing headers
- [SETUPAPI] Remove duplicate definitions that are no longer needed after fixing headers
2026-03-03 22:07:59 -06:00
Stanislav Motylkov
e2cf0bf53a [SDK] Fix build. Addendum to 391f7cae5b (#8565)
../src/sdk/include/reactos/x86x64/Intel/Cpuid.h:1585:15: error: duplicate member 'Reserved'
2026-03-03 00:04:27 +03:00
Peter Eik
391f7cae5b [SDK] Add some more AVX-512 definitions (#8565)
Add some more Intel AVX-512 extension definitions to the SDK,
as I saw several newer ones were missing. No functionality or purpose yet.

Should be useful for implementing full support in the future.

Reference: Intel Instruction Extensions Set Programming guide,
starting from page 24: https://cdrdv2.intel.com/v1/dl/getContent/671368
2026-03-02 23:52:32 +03:00
Sylas Hollander
1d3f99a87a [FREELDR:UEFI] Add support for Apple Graphics Info Protocol (#8706)
Intel Macs released before late 2008/early 2009 are missing the UEFI GOP,
resulting in a frozen/white screen when booting FreeLoader.

These Macs only have the UGA protocol, which does not support direct
framebuffer access, and Apple's proprietary Graphics Info Protocol
(sometimes also called Screen Info Protocol) which can be used
to get all the graphics information we need.

CORE-11954
2026-03-02 23:22:37 +03:00
Timo Kreuzer
1f97ad1f93 [RTL] Sync actctx.c to wine 10.0 2026-03-01 10:38:42 +02:00
Mikhail Tyukin
c494cc2822 [PSDK] update some headers from wine-10.0 2026-03-01 10:38:42 +02:00
Katayama Hirofumi MZ
80bd460836 [SDK][KBSWITCH][CONIME][IMM32][NTUSER][MSCTFIME][MSUTB] Define LANGID_... (#8691)
Follow-up of #8678. Commonize the definition of
LANGID_... values.
JIRA issue: CORE-20243
- Define LANGID_... values for CJK in <cjkcode.h> and
  use it.
2026-02-27 10:02:23 +09:00
Katayama Hirofumi MZ
423d7031fe [CONIME][BOOTDATA][GITHUB][SDK] Add conime.exe (#8678)
Prepare for Console IME Input for East Asian.
JIRA issue: CORE-20243
- Modify .github/labeler.yml.
- Add base/system/conime/ .
- Modify boot/bootdata/hivesft.inf for Console
  settings.
- Add imm32!ImmCallImeConsoleIME prototype
  into <imm32_undoc.h>.
- Add IMS_CONSOLEIME_1A and IMS_CONSOLEIME_1B
  values into <imm32_undoc.h>, for WM_IME_SYSTEM
  message.
2026-02-26 09:28:22 +09:00
Oleg Dubinskiy
4e72ec8358 [DDK] Add/update some missing definitions
CORE-15350, CORE-18776
2026-02-16 15:18:26 +01:00
Mark Jansen
23c4ed174f [ACGENRAL] Add shim for msys2 hacks
See CORE-20159 for details
2026-02-15 20:12:39 +01:00
Katayama Hirofumi MZ
6af07a31b0 [FONTEXT][SHELL32][SDK] Support delete operation (#8639)
Improve usability of Fonts folder.
JIRA issue: CORE-17311
- Modify PIDL design to contain
  name and filename.
- Implement CFontExt::
  ParseDisplayName to parsing
  name as PIDL.
- Modify CDefaultContextMenu::
  GetCommandString and
  CDefaultContextMenu::
  DoCopyOrCut for DFM_GETVERBA,
  DFM_GETVERBW, DFM_CMD_COPY,
  and DFM_CMD_MOVE.
- Add IDS_CONFIRM_DELETE_FONT,
  IDS_CANTDELETEFONT, and
  IDS_PROPERTIES resource strings.
- Add SHMultiFileProperties
  prototype to <shlobj.h>.
2026-02-13 18:37:06 +09:00
Justin Miller
5213cf717c [BOOT][ENVIRON] Remove Environ (#8667)
* [SDK][BOOT] Reimport the EDK2 headers

* [ENVIRON] Remove Environ
2026-02-11 14:01:16 -08:00
Mikhail Tyukin
c5c0e5987d [MSAFD][AFD] Implement WSPConnectEx and SO_UPDATE_CONNECT_CONTEXT (#8636)
- Update AFD to use the shared structure
- Fix AFD get context to match windows behavior
- implement SO_UPDATE_CONNECT_CONTEXT

CORE-17174
CORE-16335
2026-02-04 00:14:55 -06:00
Hermès Bélusca-Maïto
0dc78396f5 [SDK/INCLUDE] Introduce boot display discovery helper functions (#6661)
Their purpose is to simplify the way a compatible boot video driver
and a generic framebuffer miniport driver can retrieve this information.

In this iteration, the data is retrieved only from the kernel loader-block
ARC tree, via the `KeFind(Next)ConfigurationEntry()` routines.
As such it can be used only by the boot video driver (loaded early in the
boot process).
Other methods, suitable for retrieving this information later in the
boot process, will be added in the future.
2026-01-30 20:53:23 +01:00
Hermès Bélusca-Maïto
f21d692342 [SDK/INCLUDE] Define a structure describing boot-time framebuffer information (#6658)
This information is set up by the bootloader hardware detector and stored
into the system configuration tree for consumption by the NT OS loader and
other OS subsystems. This method doesn't require modifying the NT kernel
loader parameter block or extension(s), thus also allowing for a backward-
compatible usage when loading Windows OSes like 2000, XP/2003, or Vista/7.

The framebuffer information can then be retrieved by a supported bootvid
and a generic framebuffer win32k video driver.
2026-01-30 13:50:01 +01:00
Justin Miller
0203d1778a [WINED3D] FFS has to return correct values on both msvc and gcc (#8625)
accordingly to
https://www.man7.org/linux/man-pages/man3/ffs.3.html
we have been doing this wrong for awhile and it causes opengl to freeze
2026-01-29 22:30:34 +00:00
Katayama Hirofumi MZ
3342fc6633 [SYSSETUP][SDK] Set arrow to current task (#8598)
Follow-up of #8596.
JIRA issue: N/A
- Add IDI_ARROWICON (arrow-16x16.ico)
  icon and IDI_CROSSICON
  (cross-16x16.ico).
- Retrieve normal font from control.
- Set arrow icon to the current task.
- Set bold font to the current task.
- Set normal font to done tasks.
2026-01-22 08:24:21 +09:00
Hermès Bélusca-Maïto
fda2ee2ad8 [BOOTVID] Modularize the different bootvid's build rules (#8548)
The aim is to be able to compile multiple bootvids for a given ReactOS
build without having to duplicate the same commands.
2026-01-18 18:19:01 +01:00
Katayama Hirofumi MZ
c877247064 [SDK][PSDK] Add <msctfmonitorapi.h> header (#8599)
Supporting advanced IME.
JIRA issue: CORE-19268
Add sdk/include/psdk/msctfmonitorapi.h.
2026-01-18 02:06:21 +09:00
Katayama Hirofumi MZ
d3aef68c16 [SYSSETUP][SDK] Add checkmarks to completed tasks (#8596)
First impression is important.
JIRA issue: N/A
- Modify IDD_PROCESSPAGE resource dialogs.
- Add IDI_CHECKICON icon (check-16x16.ico).
- Add HICON hCheckIcon into SETUPDATA structure.
- Draw checkmark to done task.
2026-01-14 21:44:29 +09:00
Katayama Hirofumi MZ
78c645e01b [SDK] Add msaatext.idl (#8592)
Providing <msaatext.h> header file for
advanced IME support.
JIRA issue: CORE-19268
- Add msaatext.idl and modify
  CMakeLists.txt.
2026-01-14 20:55:58 +09:00
Timo Kreuzer
02185fb226 [MSXML3] Sync with wine-10.0 2026-01-10 19:03:40 +02:00
Timo Kreuzer
8b7ade14ef [LIBXML2] Update to release 2.12.8 (from Wine-10.0) 2026-01-10 19:03:40 +02:00
Timo Kreuzer
79a014446b [LIBXSLT] Update to release 1.1.42 (from Wine-10.0) 2026-01-10 19:03:40 +02:00
Alex Mendoza
2be203234c [PSDK] Add missing DPI_HOSTING_BEHAVIOR enumeration (#8540)
Add some missing high-DPI macros into windef.h
2026-01-08 12:20:58 +03:00
Katayama Hirofumi MZ
5c6fcfbf62 [WIN32SS][SDK] ImmGetHotKey's 4th parameter is optional (#8557)
Fix SAL2 annotations of the IME hot-key functions.
JIRA issue: N/A
- Add ImmGetHotKey and ImmSetHotKey prototypes
  into <imm32_undoc.h>.
- Fix CliImmSetHotKey annotation in user32 and
  <undocuser.h>.
- Also fixes ImmSetHotKey, NtUserGetImeHotKey and
  NtUserSetImeHotKey annotations.
2026-01-04 07:57:21 +09:00
Hermès Bélusca-Maïto
d4ffcf81be [BOOTVID][NTOS:INBV] Improve SAL annotations for *BufferToScreenBlt() and *ScreenToBufferBlt() 2026-01-03 14:19:25 +01:00