[SETUPLIB][USETUP] Isolate and decouple the filesystem operations code from the UI (#7049)

The idea is reminiscent of the SetupCommitFileQueue() function:
filesystem volume operations are "queued" and processed via a
"commit queue".

The commit queue uses a user-specified callback, that is used to
interact with the user whenever an operation (filesystem formatting,
checking) is started, ended, or fails, for example by displaying
appropriate UI screens and choices, etc.
This commit is contained in:
Hermès Bélusca-Maïto 2020-11-23 04:38:51 +01:00
parent a207a3c931
commit a7a7e6a09c
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
16 changed files with 1377 additions and 1112 deletions

View file

@ -167,6 +167,16 @@ ERROR_NUMBER
LoadSetupInf(
IN OUT PUSETUP_DATA pSetupData);
#define ERROR_SYSTEM_PARTITION_NOT_FOUND (ERROR_LAST_ERROR_CODE + 1)
BOOLEAN
InitSystemPartition(
/**/_In_ PPARTLIST PartitionList, /* HACK HACK! */
/**/_In_ PPARTENTRY InstallPartition, /* HACK HACK! */
/**/_Out_ PPARTENTRY* pSystemPartition, /* HACK HACK! */
_In_opt_ PFSVOL_CALLBACK FsVolCallback,
_In_opt_ PVOID Context);
NTSTATUS
InitDestinationPaths(
IN OUT PUSETUP_DATA pSetupData,