https://git.reactos.org/?p=reactos.git;a=commitdiff;h=be88af54e7382703334efc...
commit be88af54e7382703334efc89f0fccaa45e8dc86e Author: Eric Kohl eric.kohl@reactos.org AuthorDate: Sun Jun 5 18:23:08 2022 +0200 Commit: Eric Kohl eric.kohl@reactos.org CommitDate: Sun Jun 5 18:23:08 2022 +0200
[DISKPART] Implements part of the FILESYSTEMS command --- base/system/diskpart/diskpart_msg.mc | 364 +++++++++++++++++++++++++++++++++-- base/system/diskpart/filesystems.c | 25 ++- base/system/diskpart/lang/de-DE.rc | 8 + base/system/diskpart/lang/en-US.rc | 8 + base/system/diskpart/lang/pl-PL.rc | 8 + base/system/diskpart/lang/pt-PT.rc | 8 + base/system/diskpart/lang/ro-RO.rc | 8 + base/system/diskpart/lang/ru-RU.rc | 8 + base/system/diskpart/lang/sq-AL.rc | 8 + base/system/diskpart/lang/tr-TR.rc | 8 + base/system/diskpart/lang/zh-CN.rc | 8 + base/system/diskpart/lang/zh-TW.rc | 8 + base/system/diskpart/resource.h | 6 + 13 files changed, 454 insertions(+), 21 deletions(-)
diff --git a/base/system/diskpart/diskpart_msg.mc b/base/system/diskpart/diskpart_msg.mc index 248238e30ef..d079e2dc190 100644 --- a/base/system/diskpart/diskpart_msg.mc +++ b/base/system/diskpart/diskpart_msg.mc @@ -998,34 +998,266 @@ SymbolicName=MSG_COMMAND_DELETE_PARTITION Severity=Informational Facility=System Language=English -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION . Language=German -<Add DELETE PARTITION command help text here> +Löscht die Partition, die den Fokus hat. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR Nur für Skripting. Bei einem Fehler setzt DiskPart die + Verarbeitung von Befehlen fort, als sei der Fehler nicht + aufgetreten. Ohne den Parameter NOERR wird DiskPart bei + einem Fehler mit dem entsprechenden Fehlercode beendet. + + OVERRIDE Ermöglicht DiskPart das Löschen einer beliebigen Partition + unabhängig von deren Typ. Normalerweise gestattet DiskPart + nur das Löschen bekannter Datenpartitionen. + + Sie können keine Systempartition, Startpartition oder Partition löschen, + die eine aktive Auslagerungsdatei oder ein Absturzabbild (Speicherabbild) + enthält. + + Damit dieser Vorgang erfolgreich ausgeführt werden kann, muss eine + Partition ausgewählt sein. + + Partitionen könnnen nicht von dynamischen Datenträgern gelöscht oder auf + dynamischen Datenträgern erstellt werden. + +Example: + + DELETE PARTITION . Language=Polish -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION . Language=Portugese -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION . Language=Romanian -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION . Language=Russian -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION . Language=Albanian -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION . Language=Turkish -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION . Language=Chinese -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION . Language=Taiwanese -<Add DELETE PARTITION command help text here> +Deletes the partition with focus. + +Syntax: DELETE PARTITION [NOERR] [OVERRIDE] + + NOERR For scripting only. When an error is encountered, DiskPart + continues to process commands as if the error did not occur. + Without the NOERR parameter, an error causes DiskPart to exit + with an error code. + + OVERRIDE Enables DiskPart to delete any partition regardless of type. + Typically, DiskPart only permits you to delete known data + partitions. + + You cannot delete the system partition, boot partition, or any partition + that contains the active paging file or crash dump (memory dump) filed. + + A partition must be selected for this operation to succeed. + + Partitions cannot be deleted from dynamic disks or created on dynamic + disks. + +Example: + + DELETE PARTITION .
@@ -1380,34 +1612,126 @@ SymbolicName=MSG_COMMAND_FILESYSTEMS Severity=Informational Facility=System Language=English -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS . Language=German -<Add FILESYSTEMS command help text here> + Zeigt Informationen zum aktuelle Dateisystem für das ausgewählte + Volume und die unterstützten Dateisysteme zum Formatieren des + Volumes an. + +Syntax: FILESYSTEMS + + Damit diesr Vorgang erfolgreich ausgeführt werden kann, muss ein + Volume ausgewählt sein. + +Beispiel: + + FILESYSTEMS . Language=Polish -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS . Language=Portugese -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS . Language=Romanian -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS . Language=Russian -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS . Language=Albanian -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS . Language=Turkish -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS . Language=Chinese -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS . Language=Taiwanese -<Add FILESYSTEMS command help text here> + Displays information about the current file system for the selected + volume, and the supported file systems for formatting the volume. + +Syntax: FILESYSTEMS + + A volume must be selected for this operation to succeed. + +Example: + + FILESYSTEMS .
diff --git a/base/system/diskpart/filesystems.c b/base/system/diskpart/filesystems.c index 835b77c4ea8..9257068746a 100644 --- a/base/system/diskpart/filesystems.c +++ b/base/system/diskpart/filesystems.c @@ -8,7 +8,30 @@
#include "diskpart.h"
-BOOL filesystems_main(INT argc, LPWSTR *argv) +#define NDEBUG +#include <debug.h> + + +BOOL +filesystems_main( + _In_ INT argc, + _In_ PWSTR *argv) { + if (CurrentVolume == NULL) + { + ConResPuts(StdOut, IDS_SELECT_NO_VOLUME); + return TRUE; + } + + ConPuts(StdOut, L"\n"); + ConResPuts(StdOut, IDS_FILESYSTEMS_CURRENT); + ConPuts(StdOut, L"\n"); + ConResPrintf(StdOut, IDS_FILESYSTEMS_TYPE, (CurrentVolume->pszFilesystem == NULL) ? L"RAW" : CurrentVolume->pszFilesystem); + ConResPrintf(StdOut, IDS_FILESYSTEMS_CLUSTERSIZE); + + ConPuts(StdOut, L"\n"); + ConResPuts(StdOut, IDS_FILESYSTEMS_FORMATTING); + ConPuts(StdOut, L"\n"); + return TRUE; } diff --git a/base/system/diskpart/lang/de-DE.rc b/base/system/diskpart/lang/de-DE.rc index 545a3550203..6265a226f9a 100644 --- a/base/system/diskpart/lang/de-DE.rc +++ b/base/system/diskpart/lang/de-DE.rc @@ -53,6 +53,14 @@ BEGIN IDS_DETAIL_NO_VOLUME "\nThere is no volume associated with this partition.\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Aktuelles Dateisystem\n" + IDS_FILESYSTEMS_FORMATTING "Zur Formatierung unterstützte Dateisysteme\n" + IDS_FILESYSTEMS_TYPE "Typ : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Größe der Zuordnungseinheit: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/en-US.rc b/base/system/diskpart/lang/en-US.rc index 6657371ba78..a52b7a65b51 100644 --- a/base/system/diskpart/lang/en-US.rc +++ b/base/system/diskpart/lang/en-US.rc @@ -53,6 +53,14 @@ BEGIN IDS_DETAIL_NO_VOLUME "\nThere is no volume associated with this partition.\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/pl-PL.rc b/base/system/diskpart/lang/pl-PL.rc index 296bbf2162b..db7010f8a56 100644 --- a/base/system/diskpart/lang/pl-PL.rc +++ b/base/system/diskpart/lang/pl-PL.rc @@ -53,6 +53,14 @@ BEGIN IDS_DETAIL_NO_VOLUME "\nThere is no volume associated with this partition.\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/pt-PT.rc b/base/system/diskpart/lang/pt-PT.rc index fbeb8f17e51..dce4306f7d4 100644 --- a/base/system/diskpart/lang/pt-PT.rc +++ b/base/system/diskpart/lang/pt-PT.rc @@ -70,6 +70,14 @@ BEGIN IDS_LIST_VOLUME_FORMAT "%c Volume %-3lu %c %-11.11s %-5s %-10.10s %4I64u %-2s\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/ro-RO.rc b/base/system/diskpart/lang/ro-RO.rc index aef9208a70e..61163ea77bd 100644 --- a/base/system/diskpart/lang/ro-RO.rc +++ b/base/system/diskpart/lang/ro-RO.rc @@ -70,6 +70,14 @@ BEGIN IDS_LIST_VOLUME_FORMAT "%c Volume %-3lu %c %-11.11s %-5s %-10.10s %4I64u %-2s\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/ru-RU.rc b/base/system/diskpart/lang/ru-RU.rc index a567169c125..a5b1261311a 100644 --- a/base/system/diskpart/lang/ru-RU.rc +++ b/base/system/diskpart/lang/ru-RU.rc @@ -70,6 +70,14 @@ BEGIN IDS_LIST_VOLUME_FORMAT "%c Volume %-3lu %c %-11.11s %-5s %-10.10s %4I64u %-2s\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/sq-AL.rc b/base/system/diskpart/lang/sq-AL.rc index 1be40265462..3ba5d1c51af 100644 --- a/base/system/diskpart/lang/sq-AL.rc +++ b/base/system/diskpart/lang/sq-AL.rc @@ -72,6 +72,14 @@ BEGIN IDS_LIST_VOLUME_FORMAT "%c Volume %-3lu %c %-11.11s %-5s %-10.10s %4I64u %-2s\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/tr-TR.rc b/base/system/diskpart/lang/tr-TR.rc index 1e65d05eff2..1e2728f2ff1 100644 --- a/base/system/diskpart/lang/tr-TR.rc +++ b/base/system/diskpart/lang/tr-TR.rc @@ -70,6 +70,14 @@ BEGIN IDS_LIST_VOLUME_FORMAT "%c Volume %-3lu %c %-11.11s %-5s %-10.10s %4I64u %-2s\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/zh-CN.rc b/base/system/diskpart/lang/zh-CN.rc index 67df9b92f1c..6d5d13322a1 100644 --- a/base/system/diskpart/lang/zh-CN.rc +++ b/base/system/diskpart/lang/zh-CN.rc @@ -77,6 +77,14 @@ BEGIN IDS_LIST_VOLUME_FORMAT "%c Volume %-3lu %c %-11.11s %-5s %-10.10s %4I64u %-2s\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/lang/zh-TW.rc b/base/system/diskpart/lang/zh-TW.rc index 7e51bc5d8c8..b3c84a90ee7 100644 --- a/base/system/diskpart/lang/zh-TW.rc +++ b/base/system/diskpart/lang/zh-TW.rc @@ -71,6 +71,14 @@ BEGIN IDS_LIST_VOLUME_FORMAT "%c Volume %-3lu %c %-11.11s %-5s %-10.10s %4I64u %-2s\n" END
+STRINGTABLE +BEGIN + IDS_FILESYSTEMS_CURRENT "Current Filesystem\n" + IDS_FILESYSTEMS_FORMATTING "Filesystems available for formatting\n" + IDS_FILESYSTEMS_TYPE "Type : %s\n" + IDS_FILESYSTEMS_CLUSTERSIZE "Cluster size: \n" +END + STRINGTABLE BEGIN IDS_HELP_FORMAT_STRING "%-11.11s - %s" diff --git a/base/system/diskpart/resource.h b/base/system/diskpart/resource.h index 44329febfdf..dbf28649036 100644 --- a/base/system/diskpart/resource.h +++ b/base/system/diskpart/resource.h @@ -24,6 +24,12 @@ #define IDS_DELETE_PARTITION_FAIL 1070 #define IDS_DELETE_PARTITION_SUCCESS 1071
+#define IDS_FILESYSTEMS_CURRENT 1090 +#define IDS_FILESYSTEMS_FORMATTING 1091 +#define IDS_FILESYSTEMS_TYPE 1092 +#define IDS_FILESYSTEMS_CLUSTERSIZE 1093 + + #define IDS_DETAIL_INFO_DISK_ID 1107 #define IDS_DETAIL_INFO_TYPE 1108 #define IDS_DETAIL_INFO_STATUS 1109