[SETUPLIB][REACTOS][USETUP] Turn setuplib into a DLL shared between TUI and GUI 1st-stage setups (#7523)

CORE-13525

Notes:
- Most of the exported functions have been turned from default cdecl to explicit stdcall / "NTAPI".
- The two InitializeSetup() phases have been collapsed to make the initialization simpler.

Average reductions (percentages; see PR #7523 for actual numbers):

x86 Debug builds:
reactos.exe: 35.1%
smss.exe   : 39.8%
Total (including setuplib.dll): 17.9%

x86 Release builds:
reactos.exe: 22.3%
smss.exe   : 25.0%
Total (including setuplib.dll): 10.6%

x64 Debug builds:
reactos.exe: 40.6%
smss.exe   : 41.6%
Total (including setuplib.dll): 20.0%

x64 Release builds:
reactos.exe: 22.8%
smss.exe   : 22.3%
Total (including setuplib.dll): 10.1%
This commit is contained in:
Hermès Bélusca-Maïto 2024-11-22 21:45:06 +01:00
parent e51e5de1f8
commit d7c1d220b5
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
35 changed files with 462 additions and 262 deletions

View file

@ -12,6 +12,7 @@
/** QueryAvailableFileSystemFormat() **/
BOOLEAN
NTAPI
GetRegisteredFileSystems(
IN ULONG Index,
OUT PCWSTR* FileSystemName);
@ -19,6 +20,7 @@ GetRegisteredFileSystems(
/** ChkdskEx() **/
NTSTATUS
NTAPI
ChkdskFileSystem_UStr(
_In_ PUNICODE_STRING DriveRoot,
_In_ PCWSTR FileSystemName,
@ -29,6 +31,7 @@ ChkdskFileSystem_UStr(
_In_opt_ PFMIFSCALLBACK Callback);
NTSTATUS
NTAPI
ChkdskFileSystem(
_In_ PCWSTR DriveRoot,
_In_ PCWSTR FileSystemName,
@ -41,6 +44,7 @@ ChkdskFileSystem(
/** FormatEx() **/
NTSTATUS
NTAPI
FormatFileSystem_UStr(
_In_ PUNICODE_STRING DriveRoot,
_In_ PCWSTR FileSystemName,
@ -51,6 +55,7 @@ FormatFileSystem_UStr(
_In_opt_ PFMIFSCALLBACK Callback);
NTSTATUS
NTAPI
FormatFileSystem(
_In_ PCWSTR DriveRoot,
_In_ PCWSTR FileSystemName,
@ -109,6 +114,7 @@ InstallNtfsBootCode(
//
NTSTATUS
NTAPI
ChkdskPartition(
_In_ PPARTENTRY PartEntry,
_In_ BOOLEAN FixErrors,
@ -118,6 +124,7 @@ ChkdskPartition(
_In_opt_ PFMIFSCALLBACK Callback);
NTSTATUS
NTAPI
FormatPartition(
_In_ PPARTENTRY PartEntry,
_In_ PCWSTR FileSystemName,
@ -200,6 +207,7 @@ typedef FSVOL_OP
_In_ ULONG_PTR Param2);
BOOLEAN
NTAPI
FsVolCommitOpsQueue(
_In_ PPARTLIST PartitionList,
_In_ PVOLENTRY SystemVolume,