Commit Graph
89184 Commits
Author SHA1 Message Date
Timo Kreuzer ccc242ed6f [ARBITERS][NDIS] Try to fix the repository 2026-07-21 08:52:34 +00:00
Timo Kreuzer 795f69c63f [APPHELP] SdbGetFileAttributes: skip NT prefix for GetFileVersionInfoSizeW
SdbGetFileAttributes supports NT paths (at least on Windows 10), but GetFileVersionInfoSizeW does not.
2026-07-20 19:27:31 +00:00
Timo Kreuzer 5437e77c62 [APPHELP_APITEST] Add test for NT path prefix used in pSdbGetFileAttributes 2026-07-20 19:27:31 +00:00
Timo Kreuzer a9d5a666dc [VERSION_APITEST] Implement tests for GetFileVersionInfoSizeA/W 2026-07-20 19:27:31 +00:00
Eric Kohl 8d70dca549 [FMIFS] Do not keep all file system providers loaded
- Load the required provider only!
- Unload providers on last process detach
2026-07-19 22:42:15 +02:00
708d289dbf [NDIS] Use the PCI standard bus interface for config access (#8452)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <[email protected]>
Co-authored-by: Dmitry Borisov <[email protected]>
2026-07-19 10:33:34 -07: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 0298e10d5d [CMD] Validate and uppercase CHOICE selection characters
- Ensures the choice selection characters are not duplicated, this passes one extra Wine test.
- Make the choice selection characters display as uppercase when appropriate.
- Return the errorlevel.
2026-07-18 18:42:11 +02:00
Whindmar Saksit e7eb740583 [CMD] CHOICE command needs to handle pipe input without getting stuck in timeout
This fixes cmd_winetest hanging on the echo Y | choice /C ABCXYZ /D A /T 2 test.

- Reads the first character from stdin if stdin is not connected to a real console.
- Ensures the timeout never goes negative if there is a problem reading stdin.
2026-07-18 18:42:11 +02:00
Eric Kohl 0943343296 [NETSH] Support the flags CMD_FLAG_ONLINE, CMD_FLAG_LOCAL and CMD_FLAG_HIDDEN 2026-07-18 16:57:00 +02:00
Alex Mendoza ae50d745ca [USBHUB] USBH_FdoQueryBusRelations: Fix an off by one (#9298)
Fix an out of bounds heap read when compacting the ghost device list.

Change the loop condition from `GhostPort < DeviceRelations->Count` to
`GhostPort < DeviceRelations->Count - 1` so the array shift never reads
past the last valid entry.
2026-07-17 22:48:18 +03:00
Timo Kreuzer a4c863062f [RTL_UNITTEST] Call RtlpInitialize in RtlVirtualUnwind test
This prevents a critical section timeout.
2026-07-17 06:23:37 +00:00
Whindmar Saksit 30b02d038e [SYSSETUP][BOOTDATA] Unattended execute GuiUnattended:DetachedProgram , SetupParams:UserExecute (#9276)
This PR implements two of the three hooks that allows you to run custom
applications during 2nd-stage setup (the 3rd hook is `...\$OEM$\Cmdlines.txt`,
but that requires file copy operations, etc.)

- `DetachedProgram` is documented[^1] for NT4...2003; it is started before
  installation and `UserExecute` after.
- `UserExecute` is a great place to install VM Guest Additions, one reboot
  less and you have shared folders/clipboard on the first normal boot.

[^1]: https://web.archive.org/web/20090902145959/http://technet.microsoft.com/en-us/library/cc757642(WS.10).aspx
2026-07-16 23:22:27 +02: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
Justin Miller 1b460291e2 [NTOS:IO] Fix a small bug in PiUpdateDeviceState (#9290)
technically an adjustment to commit cf0bc1c.

CORE-17519
2026-07-14 22:07:42 -07:00
Mikhail Tyukin 07fe476126 [UIAUTOMATIONCORE] Use add_idl_reg_scripts and register in syssetup
Oleacc winetest depends on uiautomation.dll to be registered to use IAccessible interface. The oleacc DLL does not use the wine_dllregister library but instead registers the proxy class which results in the interface not being accessible.
2026-07-14 17:21:17 +02:00
Mikhail Tyukin 1616b215a3 [OLEACC] Sync to Wine-10.0 2026-07-14 17:21:17 +02:00
Whindmar Saksit 796000921d [CMD] Add support for the NT CHOICE command syntax (#9284)
This makes our built-in choice command compatible with how choice is implemented on NT5.2+ (it isn't included in Windows XP and below), while retaining compatibility with how it worked in DOS/9x.

- Changes /C and /T to also support the NT syntax.
- Adds the /CS, /D and /M switches.

This makes it easy for JIRA issue CORE-20043 to use this code to create a proper choice.exe
2026-07-14 17:17:42 +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
Katayama Hirofumi MZ 3b241f5e8e [IMM32] ImmGetRegisterWordStyleA: Change MB_PRECOMPOSED to zero (#9286)
The parameter was wrong.
JIRA issue: CORE-20683
- Don't use MB_PRECOMPOSED flag
  for WideCharToMultiByte.
2026-07-13 20:18:41 +09:00
Oleg Dubinskiy 02d7bbc54d [SETUPAPI] Create device interface related keys in case they don't exist yet (#9283)
In SetupDiCreateDeviceInterfaceRegKeyW(), force creating device and reference subkeys of device interface in Registry if they are not created yet.
- Change RegOpenKeyExW() to RegCreateKeyExW() for device and reference subkeys.
This properly fixes audio device name string improperly set in registry and displaying audio device name system-wide. Now it's properly written not only after re-installing audio driver from Device Manager, but also during 2nd setup stage, so it's correct just right after 1st boot.
Addendum to 1ef584c446 and b205c04173.
CORE-20603
2026-07-13 11:25:15 +02:00
Eric Kohl 46e69e6e50 [UMPNPMGR] PNP_FreeLogConf: Implement the deletion of one requirements list from a list of multiple alternatives 2026-07-12 10:52:46 +02:00
Eric Kohl c802387242 [UMPNPMGR] Fix indentation 2026-07-12 10:44:21 +02:00
Timo Kreuzer e45b639372 [KMTEST] Make Ob type tests work on Vista+ 2026-07-12 07:44:53 +00:00
Timo Kreuzer d5daba4789 [NDK] Add missing extern "C" 2026-07-12 07:44:53 +00:00
Timo Kreuzer 020b5b7b0a [USER32] Fix GetDisplayConfigBufferSizes
Fixes crash in user32_winetest on NT6 builds.
2026-07-12 07:42:40 +00:00
Serge Gautherie f9e3448f16 [BOOT][ROSTESTS][SHELL32][USERENV] Fix 'StartUp' typo (#8304)
CORE-18893
2026-07-11 23:47:53 +02:00
Eric Kohl 776b4389f8 [NETSH] Silence some debug messages 2026-07-11 19:11:09 +02:00
Timo Kreuzer 34d71f7879 [ROSAUTOTEST] Fix potential issues in pipe reading
- Initialize m_ReadOverlapped.hEvent as unset
- Reset m_ReadOverlapped.hEvent before use
- Zero-inialize m_ReadOverlapped (except for hEvent) before use
- Call CancelIo, if waiting on the asynchronous read event failed
2026-07-11 16:48:14 +00:00
Timo Kreuzer be66db5ab4 [ROSAUTOTEST] Fix handling of empty test lists
Throw a test exception from GetNextTest if DoListCommand() returned an empty string, instead of continuing with a NULL buffer.
2026-07-11 16:48:14 +00:00
Oleg Dubinskiy 1ef584c446 [SETUPAPI] Fix the creation of symbolic link passed to SetupDiCreateDeviceInterfaceRegKeyW() (#8967)
- Create the actual symbolic link, instead of just instance key name (don't replace all \ by # and don't cut reference string from it) inside CreateSymbolicLink() internal helper of SetupDiInstallDeviceInterfaces(), to pass it in SetupDiCreateDeviceInterfaceRegKeyW() inside InstallOneInterface() internal helper later.
- Fix handling the received symbolic link inside SetupDiCreateDeviceInterfaceRegKeyW() itself. Except it to be the fully unmodified one, instead of transformed to an instance key name.
- Additionally, change the SetupInstallFromInfSection() call to SetupInstallFromInfSectionW(), since it's actually called with Unicode parameters from Unicode version of SetupDiCreateDeviceInterfaceRegKeyW(). Otherwise, if to not precisely specify Unicode version call, it might call ANSI function instead and hence will obviously not work correctly because of that.
This fixes regression with improper writing "CLSID" and "FriendlyName" values in "Device Parameters" subkey of device interfaces in Registry, because of reference key open failure, and therefore it also fixes detection of the audio device name in Sound Proeprties from Control Panel in particular.
Follow-up of b205c04173.
CORE-20603
2026-07-10 19:04:29 +02:00
Oleg Dubinskiy d8f4c417c5 [SETUPAPI_WINETEST] Import test_open_device_interface_key() test from Wine 11.12 (#9269)
Import the Winetest part of the following commit: https://github.com/wine-mirror/wine/commit/4a3cd01bd150c27d7fd40d04fc92b173f2f988af#diff-faec0db2bbb0fae700317fc0160fb2d3f2406ad9f6b55b0c667a9ca4d566d097
CORE-20603
2026-07-10 19:02:01 +02:00
Katayama Hirofumi MZ c296dcfa29 [MSPAINT] Fix unzooming coordinate conversion (#9251)
Always rounding of unzooming coordinate values had caused
display glitch (e.g. black line on top edge in zooming).
JIRA issue: CORE-19466
- Add bRound parameter to UnZoomed function. If bRound is
  TRUE, then do round by kernel32!MulDiv function.
  Otherwise don't round.
- Add bRound parameter to CCanvasWindow::CanvasToImage.
- Make bRound = FALSE default.
- Use bRound = TRUE for CCanvasWindow::OnButtonDown,
  CCanvasWindow::OnButtonDblClk,
  CCanvasWindow::OnMouseMove, and CCanvasWindow::OnButtonUp.
2026-07-10 16:31:25 +09:00
Eric Kohl 1a706d759e [NETSH] Fix version info and add version callback checks 2026-07-10 00:20:14 +02:00
Whindmar Saksit 2885d40937 [SYSSETUP] Unattended ComputerName=* means random name (#9267)
Windows supports[^1] using * as "automatic" for some entries. Let's support it as well.

[^1]: https://web.archive.org/web/20070506023846/http://www.microsoft.com/technet/prodtechnol/Windows2000Pro/deploy/unattend/sp1ch01.mspx
2026-07-09 23:35:05 +02:00
Hermès Bélusca-Maïto 8b5e6383f2 [COMCTL32] Pass a couple of window messages to the active page of property sheets (#9239)
CORE-20681

Send `WM_ACTIVATE` and `WM_ACTIVATEAPP` to the property sheet active page.
And do the same with `WM_ENABLE`, `WM_QUERYENDSESSION`, `WM_ENDSESSION`,
and `WM_DEVICECHANGE`, after sending them to the tab control first.

Similar in spirit to commit d09c3d0af8.
2026-07-09 20:32:29 +02:00
Hermès Bélusca-Maïto 3b157605bc [COMCTL32] Pass WM_SYSCOLORCHANGE/WM_DISPLAYCHANGE/WM_WININICHANGE also to the property sheet tab control (#9239)
Addendum to commit d09c3d0af8.

CORE-13212, CORE-20681
2026-07-09 20:32:13 +02:00
Ethem Çılgın 7d08042343 [SHELL32] Improve Turkish (tr-TR) translation (#9222)
Translate several missing English strings and fix translation error in the context menu.

- Update `IDS_MOVETOMENU` from `"Di&zini kopyala..."` to `"Di&zine taşı..."`. The previous translation mistakenly used "kopyala" (copy) for a move operation, which caused confusion and duplicated string appearance in the shell context menu.
- Complete translations for various previously untranslated strings (including advanced folder options, visual effects, and shortcut run states).
2026-07-09 15:14:13 +03:00
Karol Gocłowski 10186d2d13 [RUNAS] Add Polish (pl-PL) translation (#9180) 2026-07-09 14:54:10 +03:00
Ahmed Arif 63deca5a96 [ACPI][UEFI] Use bootloader-provided ACPI root pointer in OSL (#8980)
Fix ACPI table discovery on the UEFI boot path by teaching the ACPI OSL
to use the loader-provided ACPI root table information instead of relying
only on legacy BIOS RSDP scanning:

- Build a synthetic RSDP from the ACPI BIOS configuration node
  populated by the bootloader
- Fallback to the old scan only if that data is unavailable
- Keep full 64-bit physical addresses when mapping ACPI tables
- Improve failure diagnostics if initialization still fails

This lets ACPICA initialize from the UEFI-provided RSDT/XSDT path.
CORE-11954

So QEMU Q35 on UEFI is now able to discover ACPI tables through the loader-
provided root table path, which fixes 0x7B INACCESSIBLE_BOOT_DEVICE bugcheck:

https://github.com/user-attachments/assets/25d4d9c9-4197-496b-84f9-e5642c65809d
2026-07-09 01:40:17 +03:00
Timo Kreuzer d7aa4ad3f3 [SYSSETUP] Fix use of uninitialized variable 2026-07-08 11:07:34 +00:00
Timo Kreuzer 5e428f34df [RTL_UNITTEST] Add RtlpInitialize
This will be compiled as a dummy in the test library, but in the unit test it will actually initialize the required RTL things.
For now it is only RtlpInitializeVectoredExceptionHandling.
This prevents a problem with the RtlVirtualUnwind test.
2026-07-07 11:32:46 +00:00
Timo Kreuzer 7aef1353e9 [ROSAUTOTEST] Fix testlist parsing
- Fix reading of test list. Fixes large test lists, that previously got truncated and could result in a crash.
- Prevent crash on parsing invalid test lists.
- Use an std::string for the list storage.
2026-07-07 11:32:08 +00:00
Timo Kreuzer 877416e6a5 [ROSAUTOTEST] Don't run random executables in the bin folder
Instead only run *test.exe.
Stops randomly spawning gui apps and then timing out.
2026-07-07 11:32:08 +00:00
Timo Kreuzer 731ff54e56 [XDK] Fix C++ definition of RTL_NUMBER_OF_V2 for GCC 2026-07-07 11:32:08 +00:00
Timo Kreuzer 72425186d7 [KMTEST] Rename kmtest_.exe back to kmtest.exe 2026-07-07 11:32:08 +00:00
Timo Kreuzer d8b075e382 [ROSAUTOTEST] Handle test executable names that don't have an underscore
This removes the need for the trailing underscore in "kmtest_.exe"
2026-07-07 11:32:08 +00:00
Katayama Hirofumi MZ d6ac48ec5d [MSPAINT] Support dithering drawing (#9175)
Support drawing with dithering on
monochrome palette mode.
JIRA issue: CORE-15990
- Enhance drawing routines for
  dithering in drawing.cpp.
- Add VirtualBrush class to the
  tools model in order to virtualize
  the drawing colors.
- Move PaletteModel::CreateDitherBrush
  to drawing.cpp ::CreateDitherBrush.
Co-authored-by: Hermès BÉLUSCA - MAÏTO <[email protected]>
2026-07-07 12:44:29 +09:00