[SETUPLIB][USETUP] Factor out the usage of FS provider structures.
[reactos.git] / base / setup / usetup / chkdsk.c
index 03054bc..615e702 100644 (file)
@@ -18,7 +18,7 @@
  */
 /* COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS text-mode setup
- * FILE:            subsys/system/usetup/chkdsk.c
+ * FILE:            base/setup/usetup/chkdsk.c
  * PURPOSE:         Filesystem chkdsk support functions
  * PROGRAMMER:      HervĂ© Poussineau (hpoussin@reactos.org)
  */
@@ -34,7 +34,9 @@ static PPROGRESSBAR ChkdskProgressBar = NULL;
 
 /* FUNCTIONS ****************************************************************/
 
-static BOOLEAN NTAPI
+static
+BOOLEAN
+NTAPI
 ChkdskCallback(
     IN CALLBACKCOMMAND Command,
     IN ULONG Modifier,
@@ -50,16 +52,14 @@ ChkdskCallback(
     return TRUE;
 }
 
+
 NTSTATUS
 ChkdskPartition(
     IN PUNICODE_STRING DriveRoot,
-    IN PFILE_SYSTEM_ITEM FileSystem)
+    IN PCWSTR FileSystemName)
 {
     NTSTATUS Status;
 
-    if (!FileSystem->ChkdskFunc)
-        return STATUS_NOT_SUPPORTED;
-
     ChkdskProgressBar = CreateProgressBar(6,
                                           yScreen - 14,
                                           xScreen - 7,
@@ -71,12 +71,13 @@ ChkdskPartition(
 
     ProgressSetStepCount(ChkdskProgressBar, 100);
 
-    Status = FileSystem->ChkdskFunc(DriveRoot,
-                                    TRUE,            /* FixErrors */
-                                    FALSE,           /* Verbose */
-                                    FALSE,           /* CheckOnlyIfDirty */
-                                    FALSE,           /* ScanDrive */
-                                    ChkdskCallback); /* Callback */
+    Status = ChkdskFileSystem_UStr(DriveRoot,
+                                   FileSystemName,
+                                   TRUE,            /* FixErrors */
+                                   FALSE,           /* Verbose */
+                                   TRUE,            /* CheckOnlyIfDirty */
+                                   FALSE,           /* ScanDrive */
+                                   ChkdskCallback); /* Callback */
 
     DestroyProgressBar(ChkdskProgressBar);
     ChkdskProgressBar = NULL;