Commit Graph

87923 Commits

Author SHA1 Message Date
Mikhail Tyukin
8608467b84 [WIDL][WPP] Sync to wine-10.0
Update widl/wpp tools to Wine-10.0. This is needed for compiling WinRT idl files, and for various winesyncs.
2025-11-14 13:15:16 +02:00
Hermès Bélusca-Maïto
ff87209e7c [REACTOS] Delay-load the setuplib DLL and control the path it's loaded from.
The setuplib DLL, used also by the text-mode USETUP, isn't placed in the
standard DLL search paths list. It isn't in the "current" directory nor
in the one where reactos.exe is, nor in the running OS' SystemRoot or
System32 directories.
The DLL is instead placed in the System32 sub-directory of the ReactOS
installation source. Note that this isn't a problem for USETUP, because
it is already started from that directory.

To control its loading, delay-load the DLL and use a delay-load hook,
following the technique explained in:
  https://stackoverflow.com/a/75325443
  https://devblogs.microsoft.com/oldnewthing/20170126-00/?p=95265

The hook is also invoked in case of loading failure, showing a more
user-friendly hard-error popup and killing the installer, instead of
throwing a debugger exception.
2025-11-13 17:00:46 +01:00
Hermès Bélusca-Maïto
fa92d95800 [FREELDR] Use the new volume size mechanism when loading a storage volume as a RamDisk (#8423)
CORE-14603

The differentiation between a regular file loaded as a RamDisk and a
storage device volume, is done by invoking `ArcGetFileInformation()`
and looking at the `Information.Type` value.
2025-11-12 18:41:08 +01:00
Hermès Bélusca-Maïto
0ac0eb251c [FREELDR] Add a mechanism to determine the actual size of a mounted storage filesystem volume (#8423)
CORE-14603

- Each filesystem exposes a `*GetVolumeSize()` routine that returns the
  volume size it claims it reports (this is based on data from FAT/NTFS
  BIOS Parameter Blocks, or EXTn/BTRFS superblocks, similarly to what
  their NT filesystem drivers do).

- Given a device ID corresponding to a mountable drive, a top-level
  `FsGetVolumeSize()` routine attempts to mount the corresponding filesystem.
  This may fail if the device is not a drive, or if the filesystem is
  not recognized. If it succeeds, then the per-filesytem `*GetVolumeSize()`
  is invoked and the corresponding volume size is returned.
2025-11-12 18:40:45 +01:00
Kenji Mouri / 毛利 研二
7cee847955 [CONFIGURE] Add support for MSVC 2026 (#8457)
Visual Studio 2026 is now generally available, read https://devblogs.microsoft.com/visualstudio/visual-studio-2026-is-here-faster-smarter-and-a-hit-with-early-adopters/ for more information.

It seems MSVC 2026 still support setting the subsystem 5.1/5.2, although they remove the Windows 8.1 and earlier support for VCRuntime and STL in MSVC 2026.
2025-11-12 14:44:51 +03:00
Daniel Victor
9690555308 [FREELDR] Remove some messages to free some code space on amd64.S (#8439) 2025-11-11 22:19:30 +01:00
Daniel Victor
3964c936cb [FREELDR] Add the relocator caller on realmode code (#8439)
CORE-19882
2025-11-11 22:19:30 +01:00
Daniel Victor
16f9ad2f46 [FREELDR] Add/change necessary code for the relocation code (#8439)
CORE-19882
2025-11-11 22:19:30 +01:00
Daniel Victor
70119785be [FREELDR] Do some MSVC fixes (#8454)
Ensure using the correct data segment in the lgdt/lidt invocation.
Also simplify the MASM/ML vs. gas syntax by using `lXdtPrefix`.

Fixes x86 MSVC FreeLoader boot following commit 9decadee83.
2025-11-11 16:27:47 +01:00
Eric Kohl
bb7a6134c4 [SRVSVC][WKSSVC][NET] Improve server and workstation statistics
- Server and Workstation services return proper boot time.
- Net formats boot time properly.

CORE-19198
2025-11-09 15:22:32 +01:00
Hervé Poussineau
318a040ccf [PARPORT] Fix MSVC compilation error when NDEBUG is defined 2025-11-09 11:38:56 +01:00
Hervé Poussineau
59ae6b3e15 [VIDEOPRT] Handle VIDEO_MEMORY_SPACE_P6CACHE flag
JIRA issue: CORE-20298
2025-11-09 09:30:19 +01:00
Hervé Poussineau
c28500c0d9 [PARPORT] Disable debug output 2025-11-09 09:11:06 +01:00
Hervé Poussineau
5bfaecdab0 [E1000] Mark register bits as unsigned 2025-11-09 09:06:39 +01:00
Daniel Victor
9decadee83 [FREELDR] Adapt bootsectors and multiboot code for future base address change (#7785)
See also PRs #8439 and #7530.
CORE-19882
2025-11-08 20:40:01 +01:00
Eric Kohl
0362651eb8 [NETSH] Fix a type in the interpreter 2025-11-08 20:32:53 +01:00
Eric Kohl
3398506341 [NETSH] Implement alias, unalias and show alias commands
Alias processing in the command interpreter is not implemented yet.
2025-11-08 18:58:49 +01:00
Eric Kohl
97232454a5 [NETSH] Improve error message output 2025-11-08 18:26:11 +01:00
Serge Gautherie
239417296e [APPHELP] Sdb*DatabaseInformation*(): 2 minor tweaks (#8364)
Addendum to commit 0d11eb1e23.

- s/LPCTSTR/LPCWSTR/
- Fix comment indentation.
2025-11-08 18:19:40 +01:00
Matisse Rüdiger
f0e888abb1 [NOTEPAD] Fix weird dot (colon) in French (fr-FR) translation of save box (#8252)
CORE-19803
2025-11-08 17:20:58 +01:00
Eric Kohl
500dcd3da5 [NETSH] Call a contexts connect function on a context change 2025-11-08 16:31:41 +01:00
Hermès Bélusca-Maïto
24e88af972 [VIDEOPRT][DDK] services.c: Reformat; update/fix SAL annotations (#8450)
NOTA: 2nd parameter `AgpServices` of `VideoPortGetAgpServices()` is
documented as "In", but should be "Out" as it receives information.
2025-11-06 22:36:42 +01:00
Hermès Bélusca-Maïto
267e3d8cf0 [VIDEOPRT] Improve IntAttachToCSRSS/IntDetachFromCSRSS() prototypes (#8449)
- Make `IntAttachToCSRSS()` return a BOOLEAN to distinguish calls made
  prior to `CsrProcess` being initialized.

- Adjust the callers of `IntAttachToCSRSS()` and make them returning a
  proper error value if attaching failed (if `CsrProcess == NULL`).

- Make `IntDetachFromCSRSS()` just take a `PKPROCESS` parameter instead a
  pointer to `PKPROCESS` -- the function won't need to modify its value.
  Adjust its callers to reflect the change.
2025-11-06 22:32:09 +01:00
Hermès Bélusca-Maïto
a912f8900c [PSDK] Improve the DECLSPEC_NOINITALL definition (#8438)
Addendum to commit 73b54ce2a6.

Conditionally define it on the `_MSC_VER >= 1915, and add the other
`MIDL_PASS` and co. guard checks as in the official Windows PSDK.

Additionally, no-op the define for Clang to silence the following
warnings:
```
sdk\include\ddk\ntddk.h(2050,35): warning: __declspec attribute 'no_init_all' is not supported [-Wignored-attributes]
sdk\include\psdk\ntdef.h(40,95): note: expanded from macro 'DECLSPEC_NOINITALL'
```
Granted, this may be due to the fact our GitHub actions currently use
Clang 13.0.1:
```
-- The C compiler identification is Clang 13.0.1 with MSVC-like command-line
-- The CXX compiler identification is Clang 13.0.1 with MSVC-like command-line
```
while support for `no_init_all` may have been added for Clang 22.0.0,
if https://clang.llvm.org/docs/AttributeReference.html#no-init-all is correct.
(See PR https://github.com/llvm/llvm-project/pull/116847 )
2025-11-06 21:53:25 +01:00
Adam Słaboń
3000d45250 [NETKVM] Reduce log level and default to 10 Gbit/s connection (#8448)
Reduces debug spam and maybe improves network throughput a bit.

CORE-15841
2025-11-05 13:20:36 +03:00
Dmitry Borisov
19df2e65ff [INF] Add support for the NEC Star Alpha C-bus bridge device (#8446)
This device is present in some PC-98 models without C-bus slots
and has a SubClass ID of 0x80 (other bridge) instead of 0x01 (ISA bridge),
thus a critical device database entry is required.

00:06.0 Bridge [0680]: NEC Corporation Star Alpha 2 [1033:002c] (rev 01)
    Subsystem: Unknown [0000:0000]
    Flags: bus master, medium devsel, latency 0

Addendum to commit 84fabd819d.

CORE-17977
2025-11-05 12:48:41 +03:00
Eric Kohl
416c3a5efa [IFMON] Improve usage texts 2025-11-04 23:16:28 +01:00
Eric Kohl
feb9ba9a7f [NETSH] Implement and use the PrintError function 2025-11-04 22:33:19 +01:00
Hermès Bélusca-Maïto
2a9a0d0438 [NTOS:CONFIG] CmpInitializeMachineDependentConfiguration(): Add missing OBJ_KERNEL_HANDLE (#8445) 2025-11-04 19:52:53 +01:00
Hermès Bélusca-Maïto
824a51e303 [VIDEOPRT] Minor maintenance for IntVideoPortGetProcAddress() (#8444)
- SAL-ify `IntVideoPortGetProcAddress()`. Sadly its 2nd parameter needs
  to stay `PUCHAR` to comply with the `PVIDEO_PORT_GET_PROC_ADDRESS` type.

- Append `VideoPortQuerySystemTime` to the array of exports (Vista+ compatibility).

Note that probably because of a copy-pasta error, Windows' VideoPrt
duplicates the `VideoPortMapDmaMemory` entry in between those of
`VideoPortFreeCommonBuffer` and `VideoPortReleaseBuffer`.
2025-11-04 19:50:23 +01:00
Mikhail Tyukin
44931d742b [VIDEOPRT] Fix incorrect return status (#8433)
IntVideoPortMapMemory incorrectly returned a successful result if it
failed to map video memory. This caused a bugcheck when using VirtualBox
with Guest Additions with more than 128MB of VRAM assigned to VM.

- Return ERROR_NOT_ENOUGH_MEMORY instead of NO_ERROR
  when mapping memory fails.
- Also add debug logging to help troubleshoot when MmMapIoSpace fails.

https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/video/nf-video-videoportmapmemory#return-value

This fixes the crash, however the desktop does not render correctly.
Using videoprt.sys from Windows XP still results in the same behavior.

CORE-12130
2025-11-04 13:30:12 +03:00
Hermès Bélusca-Maïto
106dbed40d [BOOT] Actually add the remastering scripts in the ISOs
Addendum to commit fdc4272b1a (#4988)
CORE-8872
2025-11-03 20:22:42 +01:00
Hermès Bélusca-Maïto
fdc4272b1a [BOOT] Add an ISO remastering script (#4988)
CORE-8872

This is useful in the context of e.g. 3rd-party testers who want to
quickly add/remove/modify any file in a ReactOS ISO image and remastering
it without the need of our whole build environment.

remaster.cmd: Batch script.
remaster.sh : Almost-POSIX-compatible shell script version.
2025-11-03 20:08:39 +01:00
Hermès Bélusca-Maïto
6dd82ad146 [BOOT] Add the ISOMBR boot sector file in the ISO images (#4988)
This completes our set of provided boot sectors offered in the
ReactOS ISOs that can help for remastering those without our whole
build environment.
2025-11-03 20:06:48 +01:00
Justin Miller
18f9a03338 [PCIX] Fix a few easy bugs (#8443)
* [PCIX] Fix the weird text corruption in PciGetDescriptionMessage

* [PCIX] Return the buffer to the caller PciQueryBusInformation


Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2025-11-03 10:52:19 -08:00
Justin Miller
3fe5b8b0bb [SDK][WDF][USBDEX][NTOSKRNL_VISTA] Fully enable KMDF (#8396)
[SDK][WDFLDR] Add kmdf loader driver
[SDK][WDF] Add kmdf drver init static library
[SDK][WDF] Modify kmdf driver for working with wdfldr driver
[SDK][CDROM] Cdrom driver dynamically linking with kmdf
[SDK][WDF] Add kmdfdriver module type
[SDK][WDF][USBDEX][NTOSKRNL_VISTA] Fully enable KMDF
[KMDF][WDFLDR][WDF01000] Fix Windows 10 Compatibility WDFLDR and WDF01000
[WDF01000] NO_KERNEL_LIST_ENTRY_CHECKS for wdf01000 3rd party code

This PR is an accumulation of three peoples work, with the goal of the trying to get WDF to work like it should.
This has been tested in combination with some extra NT6+ ntoskrnl against multiple drivers.

---------

Co-authored-by: Max Korostil <mrmks04@yandex.ru>
Co-authored-by: Victor Perevertkin <victor.perevertkin@reactos.org>
Co-authored-by: Adam Słaboń <asaillen@protonmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2025-11-03 06:38:52 -08:00
Eric Kohl
420799228d [NETSH] Implement the -r (remote) option and set machine command
Also:
- Start all usage texts with a newline.
- Add some error messages.
- Fix a bug in the command interpreter.
2025-11-02 22:37:16 +01:00
Eric Kohl
4ad647fb5c [NETSH] Improvements to the command line evaluation and the command interpreter
- Interpreter functions return error code instead of boolean
2025-11-02 13:51:02 +01:00
Timo Kreuzer
de5f284ae3 [HALX86] Fix x86BiosCall
Properly initialize the segment registers by calling Fast486SetSegment. Fixes graphics initialization on some hardware.
2025-11-02 14:46:54 +02:00
Timo Kreuzer
6b0ac35393 [HALx86] Fix annotations for x86BiosAllocateBuffer 2025-11-02 14:46:54 +02:00
Eric Kohl
20eee6d362 [NETSH] Support the -c (context) command line option 2025-11-01 21:30:08 +01:00
Eric Kohl
2e7a1768fb [NETSH] Implement the offline, online and related commands 2025-11-01 18:49:44 +01:00
Carl J. Bialorucki
773206851a [SHLWAPI_WINETEST] Sync to wine-10.0 (#8303)
- [SHLWAPI_WINETEST] Sync to wine-10.0
2025-10-29 14:10:07 -05:00
Eric Kohl
3e3f58324b [NETAPI32] Revert workaround for union _WKSTA_USER_INFO
Addendum to f2f057c0a1
2025-10-28 21:52:48 +01:00
Eric Kohl
f2f057c0a1 [NETAPI32][WKSSVC][IDL] Revert workaround for union _WKSTA_USER_INFO
After fixing the union issue in the RPC runtime, revert all workarounds one by one.

Return to the original declaration of union _WKSTA_USER_INFO and fix NetrWkstaUserGetInfo.
2025-10-28 21:26:53 +01:00
Eric Kohl
5b5b1a2bbf [NETAPI32][WKSSVC][IDL] Revert workaround for union _WKSTA_INFO
After fixing the union issue in the RPC runtime, revert all workarounds one by one.

Return to the original declaration of union _WKSTA_INFO and fix NetrWkstaGetInfo
and NetrWkstaSetInfo.
2025-10-27 22:46:39 +01:00
Petru Răzvan
69ddd4e74b [WINESYNC][COMCTL32] Fix Exception in PROPSHEET_DoCommand (#7943)
CORE-20036

Import Wine commit:
comctl32: Avoid segfault in PROPSHEET_DoCommand when psInfo is NULL.
wine commit id affd5177bba907a015d1c6fc8ac9970731125268 by Yuri Hérouard <yuri.herouard@gmail.com>
2025-10-26 18:53:59 +01:00
Hermès Bélusca-Maïto
df49026976 [NETWORK:NE2000] Move the NDIS_* defines to the CMakeFiles.txt 2025-10-26 18:23:54 +01:00
Serge Gautherie
5b1224b8a3 [NETWORK:DD][NDIS] Be explicit about NDIS_LEGACY_MINIPORT value (#8315)
Also, NDIS_LEGACY_DRIVER and NDIS_LEGACY_PROTOCOL.
2025-10-26 18:23:53 +01:00
Serge Gautherie
04f052bec8 [NETWORK:DD] NDIS_MINIPORT_DRIVER and NDIS51_MINIPORT do not need a value (#8315) 2025-10-26 18:23:48 +01:00