Skip to content

Commit ced7700

Browse files
committed
[DISKPART] Fix volume info retrieval
- Pass boot volume info to the (boot) disk. - Replace some hard coded strings.
1 parent eae4bdb commit ced7700

14 files changed

Lines changed: 155 additions & 96 deletions

File tree

base/system/diskpart/detail.c

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ DetailDisk(
105105
ConResPrintf(StdOut, IDS_DETAIL_INFO_TARGET, CurrentDisk->TargetId);
106106
ConResPrintf(StdOut, IDS_DETAIL_INFO_LUN_ID, CurrentDisk->Lun);
107107

108+
LoadStringW(GetModuleHandle(NULL),
109+
CurrentDisk->IsBoot ? IDS_STATUS_YES : IDS_STATUS_YES,
110+
szBuffer, ARRAYSIZE(szBuffer));
111+
ConResPrintf(StdOut, IDS_DETAIL_INFO_BOOT_DSK, szBuffer);
112+
108113
Entry = VolumeListHead.Flink;
109114
while (Entry != &VolumeListHead)
110115
{
@@ -174,16 +179,25 @@ DetailPartition(
174179
{
175180
PrintGUID(szBuffer, &PartEntry->Gpt.PartitionType);
176181
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_TYPE, szBuffer);
177-
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_HIDDEN, (PartEntry->Gpt.Attributes & GPT_BASIC_DATA_ATTRIBUTE_HIDDEN) ? L"Yes" : L"No");
178-
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_REQUIRED, (PartEntry->Gpt.Attributes & GPT_ATTRIBUTE_PLATFORM_REQUIRED) ? L"Yes" : L"No");
182+
LoadStringW(GetModuleHandle(NULL),
183+
(PartEntry->Gpt.Attributes & GPT_BASIC_DATA_ATTRIBUTE_HIDDEN) ? IDS_STATUS_YES : IDS_STATUS_YES,
184+
szBuffer, ARRAYSIZE(szBuffer));
185+
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_HIDDEN, szBuffer);
186+
LoadStringW(GetModuleHandle(NULL),
187+
(PartEntry->Gpt.Attributes & GPT_ATTRIBUTE_PLATFORM_REQUIRED) ? IDS_STATUS_YES : IDS_STATUS_YES,
188+
szBuffer, ARRAYSIZE(szBuffer));
189+
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_REQUIRED, szBuffer);
179190
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_ATTRIBUTE, PartEntry->Gpt.Attributes);
180191
}
181192
else if (CurrentDisk->PartitionStyle == PARTITION_STYLE_MBR)
182193
{
183194
swprintf(szBuffer, L"%02x", PartEntry->Mbr.PartitionType);
184195
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_TYPE, szBuffer);
185196
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_HIDDEN, "");
186-
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_ACTIVE, PartEntry->Mbr.BootIndicator ? L"Yes" : L"No");
197+
LoadStringW(GetModuleHandle(NULL),
198+
PartEntry->Mbr.BootIndicator ? IDS_STATUS_YES : IDS_STATUS_YES,
199+
szBuffer, ARRAYSIZE(szBuffer));
200+
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_ACTIVE, szBuffer);
187201
}
188202
ConResPrintf(StdOut, IDS_DETAIL_PARTITION_OFFSET, PartOffset);
189203

base/system/diskpart/diskpart.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ typedef enum _FORMATSTATE
109109
typedef enum _VOLUME_TYPE
110110
{
111111
VOLUME_TYPE_CDROM,
112+
// VOLUME_TYPE_DVD,
112113
VOLUME_TYPE_PARTITION,
113114
VOLUME_TYPE_REMOVABLE,
114115
VOLUME_TYPE_UNKNOWN
@@ -227,6 +228,8 @@ typedef struct _DISKENTRY
227228
LIST_ENTRY PrimaryPartListHead;
228229
LIST_ENTRY LogicalPartListHead;
229230

231+
BOOL IsBoot;
232+
230233
} DISKENTRY, *PDISKENTRY;
231234

232235
typedef struct _VOLENTRY

base/system/diskpart/lang/de-DE.rc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ BEGIN
8383
IDS_DETAIL_INFO_TARGET "Target : %hu\n"
8484
IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n"
8585
IDS_DETAIL_INFO_LOC_PATH "Location Path"
86-
IDS_DETAIL_INFO_CURR_RO_STATE "Current Read-only State"
87-
IDS_DETAIL_INFO_RO "Read-only"
88-
IDS_DETAIL_INFO_BOOT_DSK "Boot Disk"
89-
IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile Disk"
90-
IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File Disk"
91-
IDS_DETAIL_INFO_CRASH_DSK "Crashdump Disk"
92-
IDS_DETAIL_INFO_CLST_DSK "Clustered Disk"
86+
IDS_DETAIL_INFO_CURR_RO_STATE "Current Read-only State: %s\n"
87+
IDS_DETAIL_INFO_RO "Read-only: %s\n"
88+
IDS_DETAIL_INFO_BOOT_DSK "Boot Disk: %s\n"
89+
IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile Disk: %s\n"
90+
IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File Disk: %s\n"
91+
IDS_DETAIL_INFO_CRASH_DSK "Crashdump Disk: %s\n"
92+
IDS_DETAIL_INFO_CLST_DSK "Clustered Disk: %s\n"
9393
IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n"
9494
IDS_DETAIL_PARTITION_TYPE "Type : %s\n"
9595
IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n"

base/system/diskpart/lang/en-US.rc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ BEGIN
8383
IDS_DETAIL_INFO_TARGET "Target : %hu\n"
8484
IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n"
8585
IDS_DETAIL_INFO_LOC_PATH "Location Path"
86-
IDS_DETAIL_INFO_CURR_RO_STATE "Current Read-only State"
87-
IDS_DETAIL_INFO_RO "Read-only"
88-
IDS_DETAIL_INFO_BOOT_DSK "Boot Disk"
89-
IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile Disk"
90-
IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File Disk"
91-
IDS_DETAIL_INFO_CRASH_DSK "Crashdump Disk"
92-
IDS_DETAIL_INFO_CLST_DSK "Clustered Disk"
86+
IDS_DETAIL_INFO_CURR_RO_STATE "Current Read-only State: %s\n"
87+
IDS_DETAIL_INFO_RO "Read-only: %s\n"
88+
IDS_DETAIL_INFO_BOOT_DSK "Boot Disk: %s\n"
89+
IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile Disk: %s\n"
90+
IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File Disk: %s\n"
91+
IDS_DETAIL_INFO_CRASH_DSK "Crashdump Disk: %s\n"
92+
IDS_DETAIL_INFO_CLST_DSK "Clustered Disk: %s\n"
9393
IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n"
9494
IDS_DETAIL_PARTITION_TYPE "Type : %s\n"
9595
IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n"

base/system/diskpart/lang/it-IT.rc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,14 @@ BEGIN
8989
IDS_DETAIL_INFO_PATH "Percorso : %hu\n"
9090
IDS_DETAIL_INFO_TARGET "Target : %hu\n"
9191
IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n"
92-
IDS_DETAIL_INFO_LOC_PATH "Percorso di locazione"
93-
IDS_DETAIL_INFO_CURR_RO_STATE "Stato Sola lettura corrente"
94-
IDS_DETAIL_INFO_RO "Sola lettura"
95-
IDS_DETAIL_INFO_BOOT_DSK "Disco di avvio"
96-
IDS_DETAIL_INFO_PAGE_FILE_DSK "Disco di pagefile"
97-
IDS_DETAIL_INFO_HIBER_FILE_DSK "Disco file di ibernazione"
98-
IDS_DETAIL_INFO_CRASH_DSK "Disco di crashdump"
99-
IDS_DETAIL_INFO_CLST_DSK "Disco clustered"
92+
IDS_DETAIL_INFO_LOC_PATH "Percorso di locazione: %s\n"
93+
IDS_DETAIL_INFO_CURR_RO_STATE "Stato Sola lettura corrente: %s\n"
94+
IDS_DETAIL_INFO_RO "Sola lettura: %s\n"
95+
IDS_DETAIL_INFO_BOOT_DSK "Disco di avvio: %s\n"
96+
IDS_DETAIL_INFO_PAGE_FILE_DSK "Disco di pagefile: %s\n"
97+
IDS_DETAIL_INFO_HIBER_FILE_DSK "Disco file di ibernazione: %s\n"
98+
IDS_DETAIL_INFO_CRASH_DSK "Disco di crashdump: %s\n"
99+
IDS_DETAIL_INFO_CLST_DSK "Disco clustered: %s\n"
100100
IDS_DETAIL_PARTITION_NUMBER "Partizione %lu\n"
101101
IDS_DETAIL_PARTITION_TYPE "Tipo : %s\n"
102102
IDS_DETAIL_PARTITION_HIDDEN "Nascosto : %s\n"

base/system/diskpart/lang/pl-PL.rc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,14 @@ BEGIN
8282
IDS_DETAIL_INFO_PATH "Ścieżka : %hu\n"
8383
IDS_DETAIL_INFO_TARGET "Docelowy : %hu\n"
8484
IDS_DETAIL_INFO_LUN_ID "Identyfikator LUN : %hu\n"
85-
IDS_DETAIL_INFO_LOC_PATH "Ścieżka lokalizacji"
86-
IDS_DETAIL_INFO_CURR_RO_STATE "Aktualny stan Read-only"
87-
IDS_DETAIL_INFO_RO "Tylko do odczytu"
88-
IDS_DETAIL_INFO_BOOT_DSK "Dysk rozruchowy"
89-
IDS_DETAIL_INFO_PAGE_FILE_DSK "Dysk pliku stronicowania"
90-
IDS_DETAIL_INFO_HIBER_FILE_DSK "Dysk pliku hibernacji"
91-
IDS_DETAIL_INFO_CRASH_DSK "Dysk zrzutu awarii systemu"
92-
IDS_DETAIL_INFO_CLST_DSK "Dysk klastrowany"
85+
IDS_DETAIL_INFO_LOC_PATH "Ścieżka lokalizacji: %s\n"
86+
IDS_DETAIL_INFO_CURR_RO_STATE "Aktualny stan Read-only: %s\n"
87+
IDS_DETAIL_INFO_RO "Tylko do odczytu: %s\n"
88+
IDS_DETAIL_INFO_BOOT_DSK "Dysk rozruchowy: %s\n"
89+
IDS_DETAIL_INFO_PAGE_FILE_DSK "Dysk pliku stronicowania: %s\n"
90+
IDS_DETAIL_INFO_HIBER_FILE_DSK "Dysk pliku hibernacji: %s\n"
91+
IDS_DETAIL_INFO_CRASH_DSK "Dysk zrzutu awarii systemu: %s\n"
92+
IDS_DETAIL_INFO_CLST_DSK "Dysk klastrowany: %s\n"
9393
IDS_DETAIL_PARTITION_NUMBER "Partycja %lu\n"
9494
IDS_DETAIL_PARTITION_TYPE "Typ : %s\n"
9595
IDS_DETAIL_PARTITION_HIDDEN "Ukryta : %s\n"

base/system/diskpart/lang/pt-PT.rc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@ BEGIN
8484
IDS_DETAIL_INFO_PATH "Caminho : %hu\n"
8585
IDS_DETAIL_INFO_TARGET "Alvo : %hu\n"
8686
IDS_DETAIL_INFO_LUN_ID "LUN ID : %hu\n"
87-
IDS_DETAIL_INFO_LOC_PATH "Caminho de localização"
88-
IDS_DETAIL_INFO_CURR_RO_STATE "Estado actual somente de leitura"
89-
IDS_DETAIL_INFO_RO "Apenas leitura"
90-
IDS_DETAIL_INFO_BOOT_DSK "Disco de inicializaçã"
91-
IDS_DETAIL_INFO_PAGE_FILE_DSK "Ficheiro de paginação de disco"
92-
IDS_DETAIL_INFO_HIBER_FILE_DSK "Ficheiro de hibernação de disco"
93-
IDS_DETAIL_INFO_CRASH_DSK "Despejo de memória de disco"
94-
IDS_DETAIL_INFO_CLST_DSK "Disco em cluster"
87+
IDS_DETAIL_INFO_LOC_PATH "Caminho de localização: %s\n"
88+
IDS_DETAIL_INFO_CURR_RO_STATE "Estado actual somente de leitura: %s\n"
89+
IDS_DETAIL_INFO_RO "Apenas leitura: %s\n"
90+
IDS_DETAIL_INFO_BOOT_DSK "Disco de inicializaçã: %s\n"
91+
IDS_DETAIL_INFO_PAGE_FILE_DSK "Ficheiro de paginação de disco: %s\n"
92+
IDS_DETAIL_INFO_HIBER_FILE_DSK "Ficheiro de hibernação de disco: %s\n"
93+
IDS_DETAIL_INFO_CRASH_DSK "Despejo de memória de disco: %s\n"
94+
IDS_DETAIL_INFO_CLST_DSK "Disco em cluster: %s\n"
9595
IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n"
9696
IDS_DETAIL_PARTITION_TYPE "Type : %s\n"
9797
IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n"

base/system/diskpart/lang/ro-RO.rc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,14 @@ BEGIN
9090
IDS_DETAIL_INFO_PATH "Cale : %hu\n"
9191
IDS_DETAIL_INFO_TARGET "Țintă : %hu\n"
9292
IDS_DETAIL_INFO_LUN_ID "LUN ID : %hu\n"
93-
IDS_DETAIL_INFO_LOC_PATH "Localizat în"
94-
IDS_DETAIL_INFO_CURR_RO_STATE "Stare curentă nemodificabilă"
95-
IDS_DETAIL_INFO_RO "Nemodificabil"
96-
IDS_DETAIL_INFO_BOOT_DSK "Disc inițializator"
97-
IDS_DETAIL_INFO_PAGE_FILE_DSK "Disc cu fișier de paginare"
98-
IDS_DETAIL_INFO_HIBER_FILE_DSK "Disc cu fișier de hibernare"
99-
IDS_DETAIL_INFO_CRASH_DSK "Disc cu fișier «crashdump»"
100-
IDS_DETAIL_INFO_CLST_DSK "Disc în «cluster»"
93+
IDS_DETAIL_INFO_LOC_PATH "Localizat în: %s\n"
94+
IDS_DETAIL_INFO_CURR_RO_STATE "Stare curentă nemodificabilă: %s\n"
95+
IDS_DETAIL_INFO_RO "Nemodificabil: %s\n"
96+
IDS_DETAIL_INFO_BOOT_DSK "Disc inițializator: %s\n"
97+
IDS_DETAIL_INFO_PAGE_FILE_DSK "Disc cu fișier de paginare: %s\n"
98+
IDS_DETAIL_INFO_HIBER_FILE_DSK "Disc cu fișier de hibernare: %s\n"
99+
IDS_DETAIL_INFO_CRASH_DSK "Disc cu fișier «crashdump»: %s\n"
100+
IDS_DETAIL_INFO_CLST_DSK "Disc în «cluster»: %s\n"
101101
IDS_DETAIL_PARTITION_NUMBER "Partiție %lu\n"
102102
IDS_DETAIL_PARTITION_TYPE "Tip : %s\n"
103103
IDS_DETAIL_PARTITION_HIDDEN "Ascuns : %s\n"

base/system/diskpart/lang/ru-RU.rc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@ BEGIN
8484
IDS_DETAIL_INFO_PATH "Path : %hu\n"
8585
IDS_DETAIL_INFO_TARGET "Target : %hu\n"
8686
IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n"
87-
IDS_DETAIL_INFO_LOC_PATH "Путь к диску"
88-
IDS_DETAIL_INFO_CURR_RO_STATE "Текущее состояние ""Только для чтения"""
89-
IDS_DETAIL_INFO_RO "Только для чтения"
90-
IDS_DETAIL_INFO_BOOT_DSK "Загрузочный диск"
91-
IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile диск"
92-
IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File диск"
93-
IDS_DETAIL_INFO_CRASH_DSK "Crashdump диск"
94-
IDS_DETAIL_INFO_CLST_DSK "Кластерный диск"
87+
IDS_DETAIL_INFO_LOC_PATH "Путь к диску: %s\n"
88+
IDS_DETAIL_INFO_CURR_RO_STATE "Текущее состояние ""Только для чтения"": %s\n"
89+
IDS_DETAIL_INFO_RO "Только для чтения: %s\n"
90+
IDS_DETAIL_INFO_BOOT_DSK "Загрузочный диск: %s\n"
91+
IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile диск: %s\n"
92+
IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File диск: %s\n"
93+
IDS_DETAIL_INFO_CRASH_DSK "Crashdump диск: %s\n"
94+
IDS_DETAIL_INFO_CLST_DSK "Кластерный диск: %s\n"
9595
IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n"
9696
IDS_DETAIL_PARTITION_TYPE "Type : %s\n"
9797
IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n"

base/system/diskpart/lang/sq-AL.rc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,14 @@ BEGIN
8686
IDS_DETAIL_INFO_PATH "Path : %hu\n"
8787
IDS_DETAIL_INFO_TARGET "Target : %hu\n"
8888
IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n"
89-
IDS_DETAIL_INFO_LOC_PATH "Rruga e vendndodhjes"
90-
IDS_DETAIL_INFO_CURR_RO_STATE "Read-only Gjendja aktuale"
91-
IDS_DETAIL_INFO_RO "Read-only"
92-
IDS_DETAIL_INFO_BOOT_DSK "Boot Disk"
93-
IDS_DETAIL_INFO_PAGE_FILE_DSK "Faqja dokumenteve Disk"
94-
IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernimi i dokumeteve Disk"
95-
IDS_DETAIL_INFO_CRASH_DSK "Hedhja e te dhenave Disk"
96-
IDS_DETAIL_INFO_CLST_DSK "Grupimet ne Disk"
89+
IDS_DETAIL_INFO_LOC_PATH "Rruga e vendndodhjes: %s\n"
90+
IDS_DETAIL_INFO_CURR_RO_STATE "Read-only Gjendja aktuale: %s\n"
91+
IDS_DETAIL_INFO_RO "Read-only: %s\n"
92+
IDS_DETAIL_INFO_BOOT_DSK "Boot Disk: %s\n"
93+
IDS_DETAIL_INFO_PAGE_FILE_DSK "Faqja dokumenteve Disk: %s\n"
94+
IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernimi i dokumeteve Disk: %s\n"
95+
IDS_DETAIL_INFO_CRASH_DSK "Hedhja e te dhenave Disk: %s\n"
96+
IDS_DETAIL_INFO_CLST_DSK "Grupimet ne Disk: %s\n"
9797
IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n"
9898
IDS_DETAIL_PARTITION_TYPE "Type : %s\n"
9999
IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n"

0 commit comments

Comments
 (0)