https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c8f6440a78c45721b11b06902f3be9eb2ea7ade2

commit c8f6440a78c45721b11b06902f3be9eb2ea7ade2
Author:     Eric Kohl <[email protected]>
AuthorDate: Mon Jun 6 11:22:48 2022 +0200
Commit:     Eric Kohl <[email protected]>
CommitDate: Mon Jun 6 11:23:11 2022 +0200

    [DISKPART] Implement the ACTIVE and INACTIVE commands
---
 base/system/diskpart/active.c      | 45 ++++++++++++++++++++++++++++++++++++--
 base/system/diskpart/inactive.c    | 44 ++++++++++++++++++++++++++++++++++++-
 base/system/diskpart/lang/de-DE.rc | 14 ++++++++++++
 base/system/diskpart/lang/en-US.rc | 14 ++++++++++++
 base/system/diskpart/lang/pl-PL.rc | 14 ++++++++++++
 base/system/diskpart/lang/pt-PT.rc | 40 ++++++++++++++++++++++-----------
 base/system/diskpart/lang/ro-RO.rc | 40 ++++++++++++++++++++++-----------
 base/system/diskpart/lang/ru-RU.rc | 40 ++++++++++++++++++++++-----------
 base/system/diskpart/lang/sq-AL.rc | 40 ++++++++++++++++++++++-----------
 base/system/diskpart/lang/tr-TR.rc | 40 ++++++++++++++++++++++-----------
 base/system/diskpart/lang/zh-CN.rc | 40 ++++++++++++++++++++++-----------
 base/system/diskpart/lang/zh-TW.rc | 40 ++++++++++++++++++++++-----------
 base/system/diskpart/resource.h    | 20 ++++++++++++-----
 13 files changed, 331 insertions(+), 100 deletions(-)

diff --git a/base/system/diskpart/active.c b/base/system/diskpart/active.c
index 77b9d062781..deba7cef705 100644
--- a/base/system/diskpart/active.c
+++ b/base/system/diskpart/active.c
@@ -8,8 +8,49 @@
 
 #include "diskpart.h"
 
-BOOL active_main(INT argc, LPWSTR *argv)
+#define NDEBUG
+#include <debug.h>
+
+
+BOOL
+active_main(
+    _In_ INT argc,
+    _In_ PWSTR *argv)
 {
-    ConPuts(StdOut, L"\nActive\n");
+    NTSTATUS Status;
+
+    DPRINT("Active()\n");
+
+    if (CurrentDisk == NULL)
+    {
+        ConResPuts(StdOut, IDS_SELECT_NO_DISK);
+        return TRUE;
+    }
+
+    if (CurrentPartition == NULL)
+    {
+        ConResPuts(StdOut, IDS_SELECT_NO_PARTITION);
+        return TRUE;
+    }
+
+    if (CurrentPartition->BootIndicator)
+    {
+        ConResPuts(StdOut, IDS_ACTIVE_ALREADY);
+        return TRUE;
+    }
+
+    CurrentPartition->BootIndicator = TRUE;
+    CurrentDisk->Dirty = TRUE;
+    UpdateDiskLayout(CurrentDisk);
+    Status = WritePartitions(CurrentDisk);
+    if (NT_SUCCESS(Status))
+    {
+        ConResPuts(StdOut, IDS_ACTIVE_SUCCESS);
+    }
+    else
+    {
+        ConResPuts(StdOut, IDS_ACTIVE_FAIL);
+    }
+
     return TRUE;
 }
diff --git a/base/system/diskpart/inactive.c b/base/system/diskpart/inactive.c
index 0376bc79d32..e5e85edd9a1 100644
--- a/base/system/diskpart/inactive.c
+++ b/base/system/diskpart/inactive.c
@@ -8,7 +8,49 @@
 
 #include "diskpart.h"
 
-BOOL inactive_main(INT argc, LPWSTR *argv)
+#define NDEBUG
+#include <debug.h>
+
+
+BOOL
+inactive_main(
+    _In_ INT argc,
+    _In_ PWSTR *argv)
 {
+    NTSTATUS Status;
+
+    DPRINT("Inactive()\n");
+
+    if (CurrentDisk == NULL)
+    {
+        ConResPuts(StdOut, IDS_SELECT_NO_DISK);
+        return TRUE;
+    }
+
+    if (CurrentPartition == NULL)
+    {
+        ConResPuts(StdOut, IDS_SELECT_NO_PARTITION);
+        return TRUE;
+    }
+
+    if (!CurrentPartition->BootIndicator)
+    {
+        ConResPuts(StdOut, IDS_INACTIVE_ALREADY);
+        return TRUE;
+    }
+
+    CurrentPartition->BootIndicator = FALSE;
+    CurrentDisk->Dirty = TRUE;
+    UpdateDiskLayout(CurrentDisk);
+    Status = WritePartitions(CurrentDisk);
+    if (NT_SUCCESS(Status))
+    {
+        ConResPuts(StdOut, IDS_INACTIVE_SUCCESS);
+    }
+    else
+    {
+        ConResPuts(StdOut, IDS_INACTIVE_FAIL);
+    }
+
     return TRUE;
 }
diff --git a/base/system/diskpart/lang/de-DE.rc 
b/base/system/diskpart/lang/de-DE.rc
index 6265a226f9a..97378fd99fe 100644
--- a/base/system/diskpart/lang/de-DE.rc
+++ b/base/system/diskpart/lang/de-DE.rc
@@ -15,6 +15,13 @@ Usage: DISKPART [/S filename] [/T timeout] [/?]\n\n\
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDie Partition konnte nicht als aktiv markiert 
werden.\nVergewissern Sie sich, dass diese Partition gültig ist.\n"
+    IDS_ACTIVE_SUCCESS "\nDie aktuelle Partition wurde als aktiv markiert.\n"
+    IDS_ACTIVE_ALREADY "\nDie aktuelle Partition wurde bereits als aktiv 
markiert.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDie angegebene Partition konnte nicht 
erstellt werden.\n"
@@ -66,6 +73,13 @@ BEGIN
     IDS_HELP_FORMAT_STRING "%-11.11s - %s"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDie Partition konnte nicht als inaktiv markiert 
werden.\nVergewissern Sie sich, dass diese Partition gültig ist.\n"
+    IDS_INACTIVE_SUCCESS "\nDie aktuelle Partition wurde als inaktiv 
markiert.\n"
+    IDS_INACTIVE_ALREADY "\nDie aktuelle Partition wurde bereits als inaktiv 
markiert.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/en-US.rc 
b/base/system/diskpart/lang/en-US.rc
index a52b7a65b51..8b3222d2de7 100644
--- a/base/system/diskpart/lang/en-US.rc
+++ b/base/system/diskpart/lang/en-US.rc
@@ -15,6 +15,13 @@ Usage: DISKPART [/S filename] [/T timeout] [/?]\n\n\
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -66,6 +73,13 @@ BEGIN
     IDS_HELP_FORMAT_STRING "%-11.11s - %s"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/pl-PL.rc 
b/base/system/diskpart/lang/pl-PL.rc
index db7010f8a56..10c96c15d8e 100644
--- a/base/system/diskpart/lang/pl-PL.rc
+++ b/base/system/diskpart/lang/pl-PL.rc
@@ -15,6 +15,13 @@ Sposób użycia: DISKPART [/S nazwa_pliku] [/T limit_czasu] 
[/?]\n\n\
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -66,6 +73,13 @@ BEGIN
     IDS_HELP_FORMAT_STRING "%-11.11s - %s"
 END
 
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/pt-PT.rc 
b/base/system/diskpart/lang/pt-PT.rc
index dce4306f7d4..b3ea79004d2 100644
--- a/base/system/diskpart/lang/pt-PT.rc
+++ b/base/system/diskpart/lang/pt-PT.rc
@@ -17,6 +17,13 @@ Usage: DISKPART [/S filename] [/T timeout] [/?]\n\n\
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -55,6 +62,26 @@ 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"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
@@ -70,19 +97,6 @@ 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"
-END
-
 /* RESCAN command string */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/ro-RO.rc 
b/base/system/diskpart/lang/ro-RO.rc
index 61163ea77bd..de6dcf2e770 100644
--- a/base/system/diskpart/lang/ro-RO.rc
+++ b/base/system/diskpart/lang/ro-RO.rc
@@ -17,6 +17,13 @@ Utilizare: DISKPART [/S numefișier] [/T timplimită] [/?]\n\n\
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -55,6 +62,26 @@ 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"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
@@ -70,19 +97,6 @@ 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"
-END
-
 /* RESCAN command string */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/ru-RU.rc 
b/base/system/diskpart/lang/ru-RU.rc
index a5b1261311a..acc78d19517 100644
--- a/base/system/diskpart/lang/ru-RU.rc
+++ b/base/system/diskpart/lang/ru-RU.rc
@@ -17,6 +17,13 @@ BEGIN
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -55,6 +62,26 @@ 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"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
@@ -70,19 +97,6 @@ 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"
-END
-
 /* RESCAN command string */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/sq-AL.rc 
b/base/system/diskpart/lang/sq-AL.rc
index 3ba5d1c51af..495b4b13913 100644
--- a/base/system/diskpart/lang/sq-AL.rc
+++ b/base/system/diskpart/lang/sq-AL.rc
@@ -19,6 +19,13 @@ Usage: DISKPART [/S filename] [/T timeout] [/?]\n\n\
     IDS_APP_PROMPT, "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -57,6 +64,26 @@ 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"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
@@ -72,19 +99,6 @@ 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"
-END
-
 /* RESCAN command string */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/tr-TR.rc 
b/base/system/diskpart/lang/tr-TR.rc
index 1e2728f2ff1..94579802b28 100644
--- a/base/system/diskpart/lang/tr-TR.rc
+++ b/base/system/diskpart/lang/tr-TR.rc
@@ -17,6 +17,13 @@ Kullanım: DISKPART [/S dosya adı] [/T zaman aşımı] [/?]\n\n\
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -55,6 +62,26 @@ 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"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
@@ -70,19 +97,6 @@ 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"
-END
-
 /* RESCAN command string */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/zh-CN.rc 
b/base/system/diskpart/lang/zh-CN.rc
index 6d5d13322a1..e35519e0d37 100644
--- a/base/system/diskpart/lang/zh-CN.rc
+++ b/base/system/diskpart/lang/zh-CN.rc
@@ -24,6 +24,13 @@ Usage: DISKPART [/S filename] [/T timeout] [/?]\n\n\
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -62,6 +69,26 @@ 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"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
@@ -77,19 +104,6 @@ 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"
-END
-
 /* RESCAN command string */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/lang/zh-TW.rc 
b/base/system/diskpart/lang/zh-TW.rc
index b3c84a90ee7..9ff8b00064c 100644
--- a/base/system/diskpart/lang/zh-TW.rc
+++ b/base/system/diskpart/lang/zh-TW.rc
@@ -18,6 +18,13 @@ Usage: DISKPART [/S 檔名] [/T 逾時] [/?]\n\n\
     IDS_APP_PROMPT "DISKPART> "
 END
 
+STRINGTABLE
+BEGIN
+    IDS_ACTIVE_FAIL "\nDiskPart was unable to mark the partition active.\nMake 
sure the partition is valid.\n"
+    IDS_ACTIVE_SUCCESS "\nDiskPart marked the current partition as active.\n"
+    IDS_ACTIVE_ALREADY "\nThe current partition is already marked as active.\n"
+END
+
 STRINGTABLE
 BEGIN
     IDS_CREATE_PARTITION_FAIL "\nDiskPart was unable to create the specified 
partition.\n"
@@ -56,6 +63,26 @@ 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"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_INACTIVE_FAIL "\nDiskPart was unable to mark the partition 
inactive.\nMake sure the partition is valid.\n"
+    IDS_INACTIVE_SUCCESS "\nDiskPart marked the current partition as 
inactive.\n"
+    IDS_INACTIVE_ALREADY "\nThe current partition is already marked as 
inactive.\n"
+END
+
 /* Detail header titles */
 STRINGTABLE
 BEGIN
@@ -71,19 +98,6 @@ 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"
-END
-
 /* RESCAN command string */
 STRINGTABLE
 BEGIN
diff --git a/base/system/diskpart/resource.h b/base/system/diskpart/resource.h
index dbf28649036..fd5899887c8 100644
--- a/base/system/diskpart/resource.h
+++ b/base/system/diskpart/resource.h
@@ -18,18 +18,16 @@
 #define IDS_APP_LEAVING       4
 #define IDS_APP_PROMPT        5
 
+#define IDS_ACTIVE_FAIL                1000
+#define IDS_ACTIVE_SUCCESS             1001
+#define IDS_ACTIVE_ALREADY             1002
+
 #define IDS_CREATE_PARTITION_FAIL      1050
 #define IDS_CREATE_PARTITION_SUCCESS   1051
 
 #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
@@ -54,8 +52,18 @@
 #define IDS_DETAIL_NO_DISKS            1135
 #define IDS_DETAIL_NO_VOLUME           1136
 
+#define IDS_FILESYSTEMS_CURRENT        1180
+#define IDS_FILESYSTEMS_FORMATTING     1181
+#define IDS_FILESYSTEMS_TYPE           1182
+#define IDS_FILESYSTEMS_CLUSTERSIZE    1183
+
 #define IDS_HELP_FORMAT_STRING         1200
 
+#define IDS_INACTIVE_FAIL              1210
+#define IDS_INACTIVE_SUCCESS           1211
+#define IDS_INACTIVE_ALREADY           1212
+
+
 #define IDS_LIST_DISK_HEAD             3300
 #define IDS_LIST_DISK_LINE             3301
 #define IDS_LIST_DISK_FORMAT           3302

Reply via email to