Commit graph

86418 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
3ad6cee484
[KMTESTS] Fix MSVC build. 2024-11-01 16:43:27 +01:00
Hermès Bélusca-Maïto
0f7dfcaa55
Merge branch 'gui_setup' into HEAD 2024-11-01 16:43:20 +01:00
Hermès Bélusca-Maïto
9e4ab20783
MUI extra modifs 2024-11-01 16:40:49 +01:00
Hermès Bélusca-Maïto
17c4299ff8
** WIP ** Improve handling of MUI/LANGID/... stuff
This should fix part of CORE-11785

** WIP ** Continue massaging the MUI stuff AND actually start to remove GENERIC_LIST from the settings.

Some stuff to see:
7af2f717bc/base/setup/usetup/settings.c
8f2c4f7a6d
etc.

** WIP ** Continue with refactoring the settings retrival and limiting usage of GENERIC_LIST.

See commits:
829b0c63d9
67880e7352
(for keyboard layout)

and
e405ad257c
(a commit of mine)
2024-11-01 16:40:48 +01:00
Hermès Bélusca-Maïto
afa515bfd0
** WIP ** WINLOGON: Study check_setup handling 2024-11-01 16:40:42 +01:00
Hermès Bélusca-Maïto
ee92ddebaa
Merge branch 'setup_partitioning_EXPERIMENTS_WIP_TODO' into HEAD 2024-10-24 23:15:08 +02:00
Hermès Bélusca-Maïto
7ce9fbb2b7
Merge branch 'all_in_one_bootlivecd' into HEAD 2024-10-24 23:09:36 +02:00
Hermès Bélusca-Maïto
651b2fe38f
** WIP ** Investigate whether it's good to reset the RewritePartition flag once the partition layout has been committed... 2024-10-24 23:06:46 +02:00
Hermès Bélusca-Maïto
20d1797e70
** WIP ** Stuff of interest for partitioning / FS
- Some more work on the partition list iteration

- Several fundamental changes in partition list, iterators,
  and split the FS volume-specific operations into its own file.

The splitting of FS volume-specific functions has been motivated
by what has been started in diskpart.
2024-10-24 23:06:35 +02:00
Hermès Bélusca-Maïto
c5e918891b
** WIP ** EVENTLOG: Investigate onLiveCD 2024-10-24 15:33:47 +02:00
Hermès Bélusca-Maïto
66edbfa4f4
** WIP ** [NTFS] Investigate why OpenHandleCount underflows to negative values... 2024-10-24 15:33:46 +02:00
Hermès Bélusca-Maïto
945e2bda94
GUI setup: Reenable autoreboot for live-testing 2024-10-24 15:33:45 +02:00
Hermès Bélusca-Maïto
2ce6c16cf1
Temp - resource modifs 2024-10-24 15:32:32 +02:00
Hermès Bélusca-Maïto
045d4ecc4b
** WIP ** Make it start again 2024-10-24 15:32:27 +02:00
Hermès Bélusca-Maïto
35cf679a2f
**** DO NOT COMMIT!! -- Temp VBoxDbg bootcd **** 2024-10-24 15:30:55 +02:00
Hermès Bélusca-Maïto
2d6a0e69ef
** WIP ** SETUPAPI: Improve do_file_copyW: Generate a temporary file path based on the target path (thus, ensured to be writable)
Needed because we may run setupapi to extract and copy files to a
writable target directory, from a read-only ReactOS installation
(e.g. livecd)
2024-10-24 15:24:49 +02:00
Hermès Bélusca-Maïto
2a993c03db
[SETUPAPI] Slightly improve pSetupGetFileTitle
- Make the function return a pointer to const string.
- Skip any drive path if any, looking for ':' just once.
2024-10-24 15:24:48 +02:00
Hermès Bélusca-Maïto
183eecdac4
[SETUPAPI] .spec file: Add NT6+ stubs and -version info for some functions.
Note that the exports are sorted by _ordinal_ and not by name, for
compatibility with Windows' setupapi.dll.

Cross-checked with:
- https://abi-laboratory.pro/compatibility/Windows_5.0_to_Windows_6.0/x86_64/compat_reports/setupapi.dll/abi_compat_report.html
- http://redplait.blogspot.com/2010/11/setupapidll-exports.html
- https://blog.airesoft.co.uk/apichanges/changes-Vista%20SP2-To-7%20SP0.xml#setupapi.dll
- https://blog.airesoft.co.uk/apichanges/changes-7%20SP1-To-8%20SP0.xml#setupapi.dll
- https://blog.airesoft.co.uk/apichanges/changes-8%20SP0-To-8.1.xml#setupapi.dll
- https://windows10dll.nirsoft.net/setupapi_dll.html

and manually with setupapi.dll from Win2k3, Vista, Windows 7 and 10.
2024-10-24 15:14:57 +02:00
Hermès Bélusca-Maïto
0632def000
[SETUPAPI] Add missing NULL parameter checks in SetupOpenInfFileW and SetupDiGetINFClassW.
Based on PR #5673, ROSTESTS-388

Co-authored-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
2024-10-24 15:14:56 +02:00
Hermès Bélusca-Maïto
2788057a2d
[SETUPAPI] diskspace.c: Fix memory allocations.
- The allocated file element should use the CRT allocator, as it is how
  it gets freed in SetupDestroyDiskSpaceList (and SetupDuplicateDiskSpaceListW)

- GetFullPathNameW() takes the buffer size in number of characters, not
  in bytes.

Fix for wine-staging commit:
setupapi: Implement SetupAddToDiskSpaceList.
wine-staging patch by Michael Müller <michael@fds-team.de>
2024-10-24 15:14:55 +02:00
winesync
b023d5b821
[WINESYNC]: setupapi is partially in sync, and setupapi_winetest is in sync with wine-staging wine-8.15
- dialog.c
- dirid.c
- diskspace.c
- parser.c
- query.c
- queue.c
- setupcab.c
- stringtable_wine.c
- setupapi_winetest
2024-10-24 15:14:54 +02:00
winesync
acf459ecc7
[WINESYNC] setupapi: Implement SetupAddInstallSectionToDiskSpaceList.
wine-staging patch by Michael Müller <michael@fds-team.de>
2024-10-24 15:14:53 +02:00
winesync
8c0d311d9f
[WINESYNC] setupapi: ImplementSetupAddSectionToDiskSpaceList.
wine-staging patch by Michael Müller <michael@fds-team.de>
2024-10-24 15:14:52 +02:00
winesync
b0cecb370b
[WINESYNC] setupapi: Ignore deletion of added files in SetupAddToDiskSpaceList.
wine-staging patch by Michael Müller <michael@fds-team.de>
2024-10-24 15:14:51 +02:00
winesync
91c46d82c3
[WINESYNC] setupapi: Implement SetupQueryDrivesInDiskSpaceList.
wine-staging patch by Michael Müller <michael@fds-team.de>

+ Add the .spec exports.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2024-10-24 15:14:50 +02:00
winesync
a405f58d89
[WINESYNC] setupapi: Implement SetupAddToDiskSpaceList.
wine-staging patch by Michael Müller <michael@fds-team.de>
2024-10-24 15:14:49 +02:00
winesync
d154ec0984
[WINESYNC] setupapi: Rewrite DiskSpaceList logic using lists.
wine-staging patch by Michael Müller <michael@fds-team.de>
2024-10-24 15:14:48 +02:00
winesync
2e0ec8451d
[WINESYNC] setupapi: Use CRT functions for memory allocation where possible.
The big win here is getting rid of the reimplementation of wcsdup.

wine commit id c293cd781fb4b330b7d93171501134f86a5138b8 by Alex Henrie <alexhenrie24@gmail.com>

+ Similar adaptations in ReactOS-specific code.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2024-10-24 15:14:47 +02:00
Hermès Bélusca-Maïto
306ee9d36e
[SETUPAPI] Add a temporary private implementation of _recalloc.
Needed for the next commit.

Code has been copied and adapted from sdk/lib/crt/wine/heap.c.
This is because this NT6+ function is not currently exported
from MSVCRT.DLL, and it is not possible to static-link parts
of the CRT lib while also using the dll.
2024-10-24 15:14:46 +02:00
winesync
11d2757e13
[WINESYNC] setupapi: Use standard va_list instead of __ms_va_list.
wine commit id d3a9fa181cbf81f6b920d6ddc3760e78d1d18601 by Alexandre Julliard <julliard@winehq.org>
2024-10-24 15:14:46 +02:00
winesync
92dc4627bc
[WINESYNC] setupapi: Create the registry value if it doesn't exist in append_multi_sz_value().
wine commit id 38e36e8fdaf6dc682ce5af7b5b00cb795fffd967 by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:14:45 +02:00
winesync
85cafd0c49
[WINESYNC] setupapi: Fail installation when trying to append to a registry value of the wrong type.
wine commit id 0ab56b88dfdca442ab0820eacc14f6397f628924 by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:14:44 +02:00
winesync
ca9d4ee535
[WINESYNC] setupapi/tests: Add tests for FLG_ADDREG_APPEND.
wine commit id d7c8279c08c25e2afddb33184522386e928d5497 by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:14:43 +02:00
winesync
d89cb3dc29
[WINESYNC] setupapi/tests: Don't test function directly when reporting GetLastError().
wine commit id 4b09ed1486b4c880c7ed1cbbfd3d9b1335f4d4ab by André Zwing <nerv@dawncrow.de>
2024-10-24 15:14:42 +02:00
Hermès Bélusca-Maïto
3edf03cbf2
[INTL][NETSHELL][SYSDM] Include setupapi_undoc.h for IsUserAdmin(). 2024-10-24 15:14:41 +02:00
Hermès Bélusca-Maïto
4ee3bed423
[DEVMGR][HOTPLUG][NEWDEV][SYSSETUP] Include setupapi_undoc.h for pSetup* functions. 2024-10-24 15:14:40 +02:00
winesync
c84e8f87c4
[WINESYNC] setupapi: Move prototypes not in Windows's setupapi.h to setupapi_private.h.
And delete the ones we don't need.

wine commit id 1172e66e5b7fa96decf89f8866e71b77e5773ec7 by Alex Henrie <alexhenrie24@gmail.com>

+ ReactOS: Private exports prototypes are added in sdk setupapi_undoc.h

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2024-10-24 15:14:39 +02:00
winesync
e54b749628
[WINESYNC] setupapi: Use _S_I(READ|WRITE) from sys/stat.h instead of redefining them.
wine commit id a1ae33a3efb7231adf683484e9de66f84abb04d1 by Alex Henrie <alexhenrie24@gmail.com>
2024-10-24 15:14:38 +02:00
winesync
a0cd4e9ed2
[WINESYNC] setupapi: Fill the required size in SetupDiGetDeviceInterfaceDetail() also on success.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53387

wine commit id d15262e464ba3536567ad73f68d95e6b7f88f3aa by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:14:37 +02:00
winesync
59c5186fe7
[WINESYNC] setupapi: Correctly calculate the required size in SetupDiGetDeviceInterfaceDetailA().
Don't include the null terminator twice.

wine commit id 5711f03e8479936ac5e3bc71ba7987f6b7cb5586 by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:14:36 +02:00
winesync
a90335af46
[WINESYNC] setupapi/tests: Add more tests for buffer size handling in SetupDiGetDeviceInterfaceDetail().
wine commit id 60af599bb916260e8bb8a2f5d0111815f741fef4 by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:14:35 +02:00
winesync
9d4aa050d8
[WINESYNC] uuid: Add devguid.h.
Needed to compile Tera Term.

wine commit id e72a16b57f66b63a16bb3d1619ac4d42632cb141 by Alex Henrie <alexhenrie24@gmail.com>
2024-10-24 15:14:34 +02:00
winesync
1d5abc569a
[WINESYNC] setupapi: Add SetupQueryInfVersionInformationA/W stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52616
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dc0aa67ce690f67ae8c12d7bed0a449c1af8c693 by Gijs Vermeulen <gijsvrm@gmail.com>
2024-10-24 15:14:33 +02:00
winesync
c2dbf04926
[WINESYNC] setupapi/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b73e3102009cc7151ab58321800aeded24c1307f by Eric Pouech <eric.pouech@gmail.com>
2024-10-24 15:14:30 +02:00
winesync
df68b4507d
[WINESYNC] setupapi/tests: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0e4c108490db8d1c7b3c5d016979ace327d2c8ab by Eric Pouech <eric.pouech@gmail.com>
2024-10-24 15:11:29 +02:00
Hermès Bélusca-Maïto
05b2083e41
[SETUPAPI] Use long type also in SetupGetInfDriverStoreLocationA
Addendum for the previous commit.
2024-10-24 15:11:28 +02:00
winesync
a0042f6a62
[WINESYNC] setupapi: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e498e0ec9bf5a3f9cdb965f8668888697ac642ae by Eric Pouech <eric.pouech@gmail.com>
2024-10-24 15:11:27 +02:00
winesync
15bb5460ce
[WINESYNC] setupapi: Also handle DelFiles and RenFiles directives in SetupInstallFilesFromInfSection().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 506ce2ae6bc2fc1395da402a8ed0de4527fa7e24 by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:11:26 +02:00
winesync
b52603471e
[WINESYNC] setupapi: Use the source path if the target path is missing in SetupQueueRename().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 47111ff6b08dc019456d0f3c910a924deb1267d2 by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:11:25 +02:00
winesync
82e53cbe9e
[WINESYNC] setupapi/tests: Add more tests for SetupInstallFilesFromInfSection().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 63cdb0b91a80d6e4bfd7528131157a3f20f2de6f by Zebediah Figura <zfigura@codeweavers.com>
2024-10-24 15:11:24 +02:00