diff --git a/base/system/diskpart/detail.c b/base/system/diskpart/detail.c index 743232ef834..45549df4ceb 100644 --- a/base/system/diskpart/detail.c +++ b/base/system/diskpart/detail.c @@ -105,6 +105,11 @@ DetailDisk( ConResPrintf(StdOut, IDS_DETAIL_INFO_TARGET, CurrentDisk->TargetId); ConResPrintf(StdOut, IDS_DETAIL_INFO_LUN_ID, CurrentDisk->Lun); + LoadStringW(GetModuleHandle(NULL), + CurrentDisk->IsBoot ? IDS_STATUS_YES : IDS_STATUS_YES, + szBuffer, ARRAYSIZE(szBuffer)); + ConResPrintf(StdOut, IDS_DETAIL_INFO_BOOT_DSK, szBuffer); + Entry = VolumeListHead.Flink; while (Entry != &VolumeListHead) { @@ -174,8 +179,14 @@ DetailPartition( { PrintGUID(szBuffer, &PartEntry->Gpt.PartitionType); ConResPrintf(StdOut, IDS_DETAIL_PARTITION_TYPE, szBuffer); - ConResPrintf(StdOut, IDS_DETAIL_PARTITION_HIDDEN, (PartEntry->Gpt.Attributes & GPT_BASIC_DATA_ATTRIBUTE_HIDDEN) ? L"Yes" : L"No"); - ConResPrintf(StdOut, IDS_DETAIL_PARTITION_REQUIRED, (PartEntry->Gpt.Attributes & GPT_ATTRIBUTE_PLATFORM_REQUIRED) ? L"Yes" : L"No"); + LoadStringW(GetModuleHandle(NULL), + (PartEntry->Gpt.Attributes & GPT_BASIC_DATA_ATTRIBUTE_HIDDEN) ? IDS_STATUS_YES : IDS_STATUS_YES, + szBuffer, ARRAYSIZE(szBuffer)); + ConResPrintf(StdOut, IDS_DETAIL_PARTITION_HIDDEN, szBuffer); + LoadStringW(GetModuleHandle(NULL), + (PartEntry->Gpt.Attributes & GPT_ATTRIBUTE_PLATFORM_REQUIRED) ? IDS_STATUS_YES : IDS_STATUS_YES, + szBuffer, ARRAYSIZE(szBuffer)); + ConResPrintf(StdOut, IDS_DETAIL_PARTITION_REQUIRED, szBuffer); ConResPrintf(StdOut, IDS_DETAIL_PARTITION_ATTRIBUTE, PartEntry->Gpt.Attributes); } else if (CurrentDisk->PartitionStyle == PARTITION_STYLE_MBR) @@ -183,7 +194,10 @@ DetailPartition( swprintf(szBuffer, L"%02x", PartEntry->Mbr.PartitionType); ConResPrintf(StdOut, IDS_DETAIL_PARTITION_TYPE, szBuffer); ConResPrintf(StdOut, IDS_DETAIL_PARTITION_HIDDEN, ""); - ConResPrintf(StdOut, IDS_DETAIL_PARTITION_ACTIVE, PartEntry->Mbr.BootIndicator ? L"Yes" : L"No"); + LoadStringW(GetModuleHandle(NULL), + PartEntry->Mbr.BootIndicator ? IDS_STATUS_YES : IDS_STATUS_YES, + szBuffer, ARRAYSIZE(szBuffer)); + ConResPrintf(StdOut, IDS_DETAIL_PARTITION_ACTIVE, szBuffer); } ConResPrintf(StdOut, IDS_DETAIL_PARTITION_OFFSET, PartOffset); diff --git a/base/system/diskpart/diskpart.h b/base/system/diskpart/diskpart.h index a74a4c55a33..b15e359a046 100644 --- a/base/system/diskpart/diskpart.h +++ b/base/system/diskpart/diskpart.h @@ -109,6 +109,7 @@ typedef enum _FORMATSTATE typedef enum _VOLUME_TYPE { VOLUME_TYPE_CDROM, +// VOLUME_TYPE_DVD, VOLUME_TYPE_PARTITION, VOLUME_TYPE_REMOVABLE, VOLUME_TYPE_UNKNOWN @@ -227,6 +228,8 @@ typedef struct _DISKENTRY LIST_ENTRY PrimaryPartListHead; LIST_ENTRY LogicalPartListHead; + BOOL IsBoot; + } DISKENTRY, *PDISKENTRY; typedef struct _VOLENTRY diff --git a/base/system/diskpart/lang/de-DE.rc b/base/system/diskpart/lang/de-DE.rc index 97c53ba1796..0182c5219c8 100644 --- a/base/system/diskpart/lang/de-DE.rc +++ b/base/system/diskpart/lang/de-DE.rc @@ -83,13 +83,13 @@ BEGIN IDS_DETAIL_INFO_TARGET "Target : %hu\n" IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n" IDS_DETAIL_INFO_LOC_PATH "Location Path" - IDS_DETAIL_INFO_CURR_RO_STATE "Current Read-only State" - IDS_DETAIL_INFO_RO "Read-only" - IDS_DETAIL_INFO_BOOT_DSK "Boot Disk" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile Disk" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File Disk" - IDS_DETAIL_INFO_CRASH_DSK "Crashdump Disk" - IDS_DETAIL_INFO_CLST_DSK "Clustered Disk" + IDS_DETAIL_INFO_CURR_RO_STATE "Current Read-only State: %s\n" + IDS_DETAIL_INFO_RO "Read-only: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Boot Disk: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile Disk: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File Disk: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Crashdump Disk: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Clustered Disk: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n" IDS_DETAIL_PARTITION_TYPE "Type : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n" diff --git a/base/system/diskpart/lang/en-US.rc b/base/system/diskpart/lang/en-US.rc index 754a90a2e89..5ee708c65af 100644 --- a/base/system/diskpart/lang/en-US.rc +++ b/base/system/diskpart/lang/en-US.rc @@ -83,13 +83,13 @@ BEGIN IDS_DETAIL_INFO_TARGET "Target : %hu\n" IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n" IDS_DETAIL_INFO_LOC_PATH "Location Path" - IDS_DETAIL_INFO_CURR_RO_STATE "Current Read-only State" - IDS_DETAIL_INFO_RO "Read-only" - IDS_DETAIL_INFO_BOOT_DSK "Boot Disk" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile Disk" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File Disk" - IDS_DETAIL_INFO_CRASH_DSK "Crashdump Disk" - IDS_DETAIL_INFO_CLST_DSK "Clustered Disk" + IDS_DETAIL_INFO_CURR_RO_STATE "Current Read-only State: %s\n" + IDS_DETAIL_INFO_RO "Read-only: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Boot Disk: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile Disk: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File Disk: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Crashdump Disk: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Clustered Disk: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n" IDS_DETAIL_PARTITION_TYPE "Type : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n" diff --git a/base/system/diskpart/lang/it-IT.rc b/base/system/diskpart/lang/it-IT.rc index 13ca8fcab20..69036f2a3d0 100644 --- a/base/system/diskpart/lang/it-IT.rc +++ b/base/system/diskpart/lang/it-IT.rc @@ -89,14 +89,14 @@ BEGIN IDS_DETAIL_INFO_PATH "Percorso : %hu\n" IDS_DETAIL_INFO_TARGET "Target : %hu\n" IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n" - IDS_DETAIL_INFO_LOC_PATH "Percorso di locazione" - IDS_DETAIL_INFO_CURR_RO_STATE "Stato Sola lettura corrente" - IDS_DETAIL_INFO_RO "Sola lettura" - IDS_DETAIL_INFO_BOOT_DSK "Disco di avvio" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Disco di pagefile" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Disco file di ibernazione" - IDS_DETAIL_INFO_CRASH_DSK "Disco di crashdump" - IDS_DETAIL_INFO_CLST_DSK "Disco clustered" + IDS_DETAIL_INFO_LOC_PATH "Percorso di locazione: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "Stato Sola lettura corrente: %s\n" + IDS_DETAIL_INFO_RO "Sola lettura: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Disco di avvio: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Disco di pagefile: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Disco file di ibernazione: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Disco di crashdump: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Disco clustered: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partizione %lu\n" IDS_DETAIL_PARTITION_TYPE "Tipo : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Nascosto : %s\n" diff --git a/base/system/diskpart/lang/pl-PL.rc b/base/system/diskpart/lang/pl-PL.rc index 2703fb4aff0..6b4046fb137 100644 --- a/base/system/diskpart/lang/pl-PL.rc +++ b/base/system/diskpart/lang/pl-PL.rc @@ -82,14 +82,14 @@ BEGIN IDS_DETAIL_INFO_PATH "Ścieżka : %hu\n" IDS_DETAIL_INFO_TARGET "Docelowy : %hu\n" IDS_DETAIL_INFO_LUN_ID "Identyfikator LUN : %hu\n" - IDS_DETAIL_INFO_LOC_PATH "Ścieżka lokalizacji" - IDS_DETAIL_INFO_CURR_RO_STATE "Aktualny stan Read-only" - IDS_DETAIL_INFO_RO "Tylko do odczytu" - IDS_DETAIL_INFO_BOOT_DSK "Dysk rozruchowy" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Dysk pliku stronicowania" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Dysk pliku hibernacji" - IDS_DETAIL_INFO_CRASH_DSK "Dysk zrzutu awarii systemu" - IDS_DETAIL_INFO_CLST_DSK "Dysk klastrowany" + IDS_DETAIL_INFO_LOC_PATH "Ścieżka lokalizacji: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "Aktualny stan Read-only: %s\n" + IDS_DETAIL_INFO_RO "Tylko do odczytu: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Dysk rozruchowy: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Dysk pliku stronicowania: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Dysk pliku hibernacji: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Dysk zrzutu awarii systemu: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Dysk klastrowany: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partycja %lu\n" IDS_DETAIL_PARTITION_TYPE "Typ : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Ukryta : %s\n" diff --git a/base/system/diskpart/lang/pt-PT.rc b/base/system/diskpart/lang/pt-PT.rc index 3c21155988e..c4d8113bcc9 100644 --- a/base/system/diskpart/lang/pt-PT.rc +++ b/base/system/diskpart/lang/pt-PT.rc @@ -84,14 +84,14 @@ BEGIN IDS_DETAIL_INFO_PATH "Caminho : %hu\n" IDS_DETAIL_INFO_TARGET "Alvo : %hu\n" IDS_DETAIL_INFO_LUN_ID "LUN ID : %hu\n" - IDS_DETAIL_INFO_LOC_PATH "Caminho de localização" - IDS_DETAIL_INFO_CURR_RO_STATE "Estado actual somente de leitura" - IDS_DETAIL_INFO_RO "Apenas leitura" - IDS_DETAIL_INFO_BOOT_DSK "Disco de inicializaçã" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Ficheiro de paginação de disco" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Ficheiro de hibernação de disco" - IDS_DETAIL_INFO_CRASH_DSK "Despejo de memória de disco" - IDS_DETAIL_INFO_CLST_DSK "Disco em cluster" + IDS_DETAIL_INFO_LOC_PATH "Caminho de localização: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "Estado actual somente de leitura: %s\n" + IDS_DETAIL_INFO_RO "Apenas leitura: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Disco de inicializaçã: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Ficheiro de paginação de disco: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Ficheiro de hibernação de disco: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Despejo de memória de disco: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Disco em cluster: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n" IDS_DETAIL_PARTITION_TYPE "Type : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n" diff --git a/base/system/diskpart/lang/ro-RO.rc b/base/system/diskpart/lang/ro-RO.rc index 145f49ff321..4b5144c388a 100644 --- a/base/system/diskpart/lang/ro-RO.rc +++ b/base/system/diskpart/lang/ro-RO.rc @@ -90,14 +90,14 @@ BEGIN IDS_DETAIL_INFO_PATH "Cale : %hu\n" IDS_DETAIL_INFO_TARGET "Țintă : %hu\n" IDS_DETAIL_INFO_LUN_ID "LUN ID : %hu\n" - IDS_DETAIL_INFO_LOC_PATH "Localizat în" - IDS_DETAIL_INFO_CURR_RO_STATE "Stare curentă nemodificabilă" - IDS_DETAIL_INFO_RO "Nemodificabil" - IDS_DETAIL_INFO_BOOT_DSK "Disc inițializator" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Disc cu fișier de paginare" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Disc cu fișier de hibernare" - IDS_DETAIL_INFO_CRASH_DSK "Disc cu fișier «crashdump»" - IDS_DETAIL_INFO_CLST_DSK "Disc în «cluster»" + IDS_DETAIL_INFO_LOC_PATH "Localizat în: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "Stare curentă nemodificabilă: %s\n" + IDS_DETAIL_INFO_RO "Nemodificabil: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Disc inițializator: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Disc cu fișier de paginare: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Disc cu fișier de hibernare: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Disc cu fișier «crashdump»: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Disc în «cluster»: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partiție %lu\n" IDS_DETAIL_PARTITION_TYPE "Tip : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Ascuns : %s\n" diff --git a/base/system/diskpart/lang/ru-RU.rc b/base/system/diskpart/lang/ru-RU.rc index 76ce6acdc9d..ecb2cd036ad 100644 --- a/base/system/diskpart/lang/ru-RU.rc +++ b/base/system/diskpart/lang/ru-RU.rc @@ -84,14 +84,14 @@ BEGIN IDS_DETAIL_INFO_PATH "Path : %hu\n" IDS_DETAIL_INFO_TARGET "Target : %hu\n" IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n" - IDS_DETAIL_INFO_LOC_PATH "Путь к диску" - IDS_DETAIL_INFO_CURR_RO_STATE "Текущее состояние ""Только для чтения""" - IDS_DETAIL_INFO_RO "Только для чтения" - IDS_DETAIL_INFO_BOOT_DSK "Загрузочный диск" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile диск" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File диск" - IDS_DETAIL_INFO_CRASH_DSK "Crashdump диск" - IDS_DETAIL_INFO_CLST_DSK "Кластерный диск" + IDS_DETAIL_INFO_LOC_PATH "Путь к диску: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "Текущее состояние ""Только для чтения"": %s\n" + IDS_DETAIL_INFO_RO "Только для чтения: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Загрузочный диск: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Pagefile диск: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernation File диск: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Crashdump диск: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Кластерный диск: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n" IDS_DETAIL_PARTITION_TYPE "Type : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n" diff --git a/base/system/diskpart/lang/sq-AL.rc b/base/system/diskpart/lang/sq-AL.rc index 316418ad7f6..a624e2625b2 100644 --- a/base/system/diskpart/lang/sq-AL.rc +++ b/base/system/diskpart/lang/sq-AL.rc @@ -86,14 +86,14 @@ BEGIN IDS_DETAIL_INFO_PATH "Path : %hu\n" IDS_DETAIL_INFO_TARGET "Target : %hu\n" IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n" - IDS_DETAIL_INFO_LOC_PATH "Rruga e vendndodhjes" - IDS_DETAIL_INFO_CURR_RO_STATE "Read-only Gjendja aktuale" - IDS_DETAIL_INFO_RO "Read-only" - IDS_DETAIL_INFO_BOOT_DSK "Boot Disk" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Faqja dokumenteve Disk" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernimi i dokumeteve Disk" - IDS_DETAIL_INFO_CRASH_DSK "Hedhja e te dhenave Disk" - IDS_DETAIL_INFO_CLST_DSK "Grupimet ne Disk" + IDS_DETAIL_INFO_LOC_PATH "Rruga e vendndodhjes: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "Read-only Gjendja aktuale: %s\n" + IDS_DETAIL_INFO_RO "Read-only: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Boot Disk: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Faqja dokumenteve Disk: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Hibernimi i dokumeteve Disk: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Hedhja e te dhenave Disk: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Grupimet ne Disk: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n" IDS_DETAIL_PARTITION_TYPE "Type : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n" diff --git a/base/system/diskpart/lang/tr-TR.rc b/base/system/diskpart/lang/tr-TR.rc index 43f592fa33d..d45c347177e 100644 --- a/base/system/diskpart/lang/tr-TR.rc +++ b/base/system/diskpart/lang/tr-TR.rc @@ -92,14 +92,14 @@ BEGIN IDS_DETAIL_INFO_PATH "Yol : %hu\n" IDS_DETAIL_INFO_TARGET "Hedef : %hu\n" IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n" - IDS_DETAIL_INFO_LOC_PATH "Konum Yolu" - IDS_DETAIL_INFO_CURR_RO_STATE "Şimdiki Yalnızca Okunur Durumu" - IDS_DETAIL_INFO_RO "Salt-Okunur" - IDS_DETAIL_INFO_BOOT_DSK "Önyükleme Diski" - IDS_DETAIL_INFO_PAGE_FILE_DSK "Sanal Bellek Diski" - IDS_DETAIL_INFO_HIBER_FILE_DSK "Hazırda Bekletme Dosyası Diski" - IDS_DETAIL_INFO_CRASH_DSK "Çökme Dökümü Diski" - IDS_DETAIL_INFO_CLST_DSK "Kümelenmiş Disk" + IDS_DETAIL_INFO_LOC_PATH "Konum Yolu: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "Şimdiki Yalnızca Okunur Durumu: %s\n" + IDS_DETAIL_INFO_RO "Salt-Okunur: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "Önyükleme Diski: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "Sanal Bellek Diski: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "Hazırda Bekletme Dosyası Diski: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "Çökme Dökümü Diski: %s\n" + IDS_DETAIL_INFO_CLST_DSK "Kümelenmiş Disk: %s\n" IDS_DETAIL_PARTITION_NUMBER "Bölüm %lu\n" IDS_DETAIL_PARTITION_TYPE "Tür : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Gizli : %s\n" diff --git a/base/system/diskpart/lang/zh-CN.rc b/base/system/diskpart/lang/zh-CN.rc index 032a234f8a5..07f542d85ec 100644 --- a/base/system/diskpart/lang/zh-CN.rc +++ b/base/system/diskpart/lang/zh-CN.rc @@ -91,14 +91,14 @@ BEGIN IDS_DETAIL_INFO_PATH "Path : %hu\n" IDS_DETAIL_INFO_TARGET "Target : %hu\n" IDS_DETAIL_INFO_LUN_ID "Lun ID : %hu\n" - IDS_DETAIL_INFO_LOC_PATH "位置路径" - IDS_DETAIL_INFO_CURR_RO_STATE "当前的只读状态" - IDS_DETAIL_INFO_RO "只读模式" - IDS_DETAIL_INFO_BOOT_DSK "启动磁盘" - IDS_DETAIL_INFO_PAGE_FILE_DSK "页面文件磁盘" - IDS_DETAIL_INFO_HIBER_FILE_DSK "休眠文件磁盘" - IDS_DETAIL_INFO_CRASH_DSK "故障转储磁盘" - IDS_DETAIL_INFO_CLST_DSK "群集的磁盘" + IDS_DETAIL_INFO_LOC_PATH "位置路径: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "当前的只读状态: %s\n" + IDS_DETAIL_INFO_RO "只读模式: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "启动磁盘: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "页面文件磁盘: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "休眠文件磁盘: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "故障转储磁盘: %s\n" + IDS_DETAIL_INFO_CLST_DSK "群集的磁盘: %s\n" IDS_DETAIL_PARTITION_NUMBER "Partition %lu\n" IDS_DETAIL_PARTITION_TYPE "Type : %s\n" IDS_DETAIL_PARTITION_HIDDEN "Hidden : %s\n" diff --git a/base/system/diskpart/lang/zh-TW.rc b/base/system/diskpart/lang/zh-TW.rc index 8a4e44fb2b0..5e1c2a55f0a 100644 --- a/base/system/diskpart/lang/zh-TW.rc +++ b/base/system/diskpart/lang/zh-TW.rc @@ -91,14 +91,14 @@ BEGIN IDS_DETAIL_INFO_PATH "路徑 : %hu\n" IDS_DETAIL_INFO_TARGET "目標 : %hu\n" IDS_DETAIL_INFO_LUN_ID "Lun 識別碼: %hu\n" - IDS_DETAIL_INFO_LOC_PATH "位置路徑" - IDS_DETAIL_INFO_CURR_RO_STATE "目前的唯讀狀態" - IDS_DETAIL_INFO_RO "唯讀模式" - IDS_DETAIL_INFO_BOOT_DSK "啟動磁碟" - IDS_DETAIL_INFO_PAGE_FILE_DSK "頁面檔案磁碟" - IDS_DETAIL_INFO_HIBER_FILE_DSK "休眠檔案磁碟" - IDS_DETAIL_INFO_CRASH_DSK "損毀傾印磁碟" - IDS_DETAIL_INFO_CLST_DSK "叢集磁碟" + IDS_DETAIL_INFO_LOC_PATH "位置路徑: %s\n" + IDS_DETAIL_INFO_CURR_RO_STATE "目前的唯讀狀態: %s\n" + IDS_DETAIL_INFO_RO "唯讀模式: %s\n" + IDS_DETAIL_INFO_BOOT_DSK "啟動磁碟: %s\n" + IDS_DETAIL_INFO_PAGE_FILE_DSK "頁面檔案磁碟: %s\n" + IDS_DETAIL_INFO_HIBER_FILE_DSK "休眠檔案磁碟: %s\n" + IDS_DETAIL_INFO_CRASH_DSK "損毀傾印磁碟: %s\n" + IDS_DETAIL_INFO_CLST_DSK "叢集磁碟: %s\n" IDS_DETAIL_PARTITION_NUMBER "磁碟分割 %lu\n" IDS_DETAIL_PARTITION_TYPE "類型 : %s\n" IDS_DETAIL_PARTITION_HIDDEN "已隱藏 : %s\n" diff --git a/base/system/diskpart/partlist.c b/base/system/diskpart/partlist.c index 671305e0b65..e77fac048d1 100644 --- a/base/system/diskpart/partlist.c +++ b/base/system/diskpart/partlist.c @@ -1829,6 +1829,42 @@ GetVolumeSize( } +static +PDISKENTRY +GetDiskForVolume( + _In_ PVOLENTRY VolumeEntry) +{ + PLIST_ENTRY Entry; + PDISKENTRY DiskEntry; + INT i; + + DPRINT("GetDiskFromVolume(%p)\n", VolumeEntry); + + DPRINT("Extents: %p\n", VolumeEntry->pExtents); + if (VolumeEntry->pExtents == NULL) + return NULL; + + DPRINT("Extents: %lu\n", VolumeEntry->pExtents->NumberOfDiskExtents); + + Entry = DiskListHead.Flink; + while (Entry != &DiskListHead) + { + DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry); + + for (i = 0; i < VolumeEntry->pExtents->NumberOfDiskExtents; i++) + { + DPRINT("DiskNumber: %lu -- %lu\n", VolumeEntry->pExtents->Extents[i].DiskNumber, DiskEntry->DiskNumber); + if (VolumeEntry->pExtents->Extents[i].DiskNumber == DiskEntry->DiskNumber) + return DiskEntry; + } + + Entry = Entry->Flink; + } + + return NULL; +} + + static VOID IsVolumeSystem( @@ -1838,7 +1874,7 @@ IsVolumeSystem( HKEY hKey; DWORD dwError, dwLength; - DPRINT1("IsVolumeSystem()\n"); + DPRINT("IsVolumeSystem()\n"); VolumeEntry->IsSystem = FALSE; @@ -1882,8 +1918,9 @@ IsVolumeBoot( _In_ PVOLENTRY VolumeEntry) { WCHAR szSystemDir[MAX_PATH]; + PDISKENTRY DiskEntry; - DPRINT1("IsVolumeBoot()\n"); + DPRINT("IsVolumeBoot()\n"); VolumeEntry->IsBoot = FALSE; @@ -1893,11 +1930,17 @@ IsVolumeBoot( GetSystemDirectoryW(szSystemDir, ARRAYSIZE(szSystemDir)); - DPRINT1("SystemDirectory: %S\n", szSystemDir); - DPRINT1("DriveLetter: %C\n", VolumeEntry->DriveLetter); + DPRINT("SystemDirectory: %S\n", szSystemDir); + DPRINT("DriveLetter: %C\n", VolumeEntry->DriveLetter); if (szSystemDir[0] == VolumeEntry->DriveLetter) + { VolumeEntry->IsBoot = TRUE; + + DiskEntry = GetDiskForVolume(VolumeEntry); + if (DiskEntry) + DiskEntry->IsBoot = TRUE; + } } @@ -1948,7 +1991,6 @@ AddVolumeToList( return; } - wcscat(VolumeEntry->DeviceName, L"\\"); DPRINT("DeviceName: %S\n", VolumeEntry->DeviceName); RtlInitUnicodeString(&Name, VolumeEntry->DeviceName); @@ -1977,8 +2019,8 @@ AddVolumeToList( szVolumeName, MAX_PATH + 1, &VolumeEntry->SerialNumber, - NULL, // [out, optional] LPDWORD lpMaximumComponentLength, - NULL, // [out, optional] LPDWORD lpFileSystemFlags, + NULL, + NULL, szFilesystem, MAX_PATH + 1)) {