From: Eric Kohl Date: Mon, 9 Jun 2014 01:49:24 +0000 (+0000) Subject: [USETUP] X-Git-Tag: backups/0.3.17@66124~1018 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=4e31cd6e0cc1ada803fd9db23c5b61d66714c66b [USETUP] Add the create logical partition page. svn path=/trunk/; revision=63574 --- diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index 800046acdc2..502e6cf286c 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -2131,8 +2131,146 @@ CreateExtendedPartitionPage(PINPUT_RECORD Ir) static PAGE_NUMBER CreateLogicalPartitionPage(PINPUT_RECORD Ir) { + PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; + BOOLEAN Quit; + BOOLEAN Cancel; + CHAR InputBuffer[50]; + ULONG MaxSize; + ULONGLONG PartSize; + ULONGLONG DiskSize; + ULONGLONG SectorCount; + PCHAR Unit; - return SELECT_PARTITION_PAGE; + if (PartitionList == NULL || + PartitionList->CurrentDisk == NULL || + PartitionList->CurrentPartition == NULL) + { + /* FIXME: show an error dialog */ + return QUIT_PAGE; + } + + DiskEntry = PartitionList->CurrentDisk; + PartEntry = PartitionList->CurrentPartition; + + CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT)); + + CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_CHOOSE_NEW_LOGICAL_PARTITION)); + + DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; +#if 0 + if (DiskSize >= 10737418240) /* 10 GB */ + { + DiskSize = DiskSize / 1073741824; + Unit = MUIGetString(STRING_GB); + } + else +#endif + { + DiskSize = DiskSize / 1048576; + if (DiskSize == 0) + DiskSize = 1; + + Unit = MUIGetString(STRING_MB); + } + + if (DiskEntry->DriverName.Length > 0) + { + CONSOLE_PrintTextXY(6, 10, + MUIGetString(STRING_HDINFOPARTCREATE), + DiskSize, + Unit, + DiskEntry->DiskNumber, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id, + &DiskEntry->DriverName); + } + else + { + CONSOLE_PrintTextXY(6, 10, + MUIGetString(STRING_HDDINFOUNK1), + DiskSize, + Unit, + DiskEntry->DiskNumber, + DiskEntry->Port, + DiskEntry->Bus, + DiskEntry->Id); + } + + CONSOLE_SetTextXY(6, 12, MUIGetString(STRING_HDDSIZE)); + +#if 0 + CONSOLE_PrintTextXY(8, 10, "Maximum size of the new partition is %I64u MB", + PartitionList->CurrentPartition->SectorCount * DiskEntry->BytesPerSector / 1048576); +#endif + + CONSOLE_SetStatusText(MUIGetString(STRING_CREATEPARTITION)); + + PartEntry = PartitionList->CurrentPartition; + while (TRUE) + { + MaxSize = (PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector) / 1048576; /* in MBytes (rounded) */ + + if (MaxSize > PARTITION_MAXSIZE) + MaxSize = PARTITION_MAXSIZE; + + ShowPartitionSizeInputBox(12, 14, xScreen - 12, 17, /* left, top, right, bottom */ + MaxSize, InputBuffer, &Quit, &Cancel); + + if (Quit == TRUE) + { + if (ConfirmQuit (Ir) == TRUE) + { + return QUIT_PAGE; + } + } + else if (Cancel == TRUE) + { + return SELECT_PARTITION_PAGE; + } + else + { + PartSize = atoi(InputBuffer); + + if (PartSize < 1) + { + /* Too small */ + continue; + } + + if (PartSize > MaxSize) + { + /* Too large */ + continue; + } + + /* Convert to bytes */ + if (PartSize == MaxSize) + { + /* Use all of the unpartitioned disk space */ + SectorCount = PartEntry->SectorCount.QuadPart; + } + else + { + /* Calculate the sector count from the size in MB */ + SectorCount = PartSize * 1048576 / DiskEntry->BytesPerSector; + + /* But never get larger than the unpartitioned disk space */ + if (SectorCount > PartEntry->SectorCount.QuadPart) + SectorCount = PartEntry->SectorCount.QuadPart; + } + + DPRINT("Partition size: %I64u bytes\n", PartSize); + + CreateLogicalPartition(PartitionList, + SectorCount); + + return SELECT_PARTITION_PAGE; + } + } + + return CREATE_LOGICAL_PARTITION_PAGE; } diff --git a/reactos/base/setup/usetup/lang/bg-BG.h b/reactos/base/setup/usetup/lang/bg-BG.h index d68f602a6a1..80aaaa867d1 100644 --- a/reactos/base/setup/usetup/lang/bg-BG.h +++ b/reactos/base/setup/usetup/lang/bg-BG.h @@ -1664,6 +1664,8 @@ MUI_STRING bgBGStrings[] = // "ˆ§¡à «¨ á⥠¤  áꧤ ¤¥â¥ ­®¢ ¤ï« ­ "}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "‚ꢥ¤¥â¥ à §¬¥à  ­  ­®¢¨ï ¤ï« (¢ ¬¥£ ¡ ©â¨)."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/cs-CZ.h b/reactos/base/setup/usetup/lang/cs-CZ.h index 8440fc22811..9e8071e465c 100644 --- a/reactos/base/setup/usetup/lang/cs-CZ.h +++ b/reactos/base/setup/usetup/lang/cs-CZ.h @@ -1660,6 +1660,8 @@ MUI_STRING csCZStrings[] = // "Zvolili jste vytvoýen¡ nov‚ho odd¡lu na"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Zadejte velikost nov‚ho odd¡lu v megabajtech."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/de-DE.h b/reactos/base/setup/usetup/lang/de-DE.h index e85dfb95f6d..ab58aae6ab7 100644 --- a/reactos/base/setup/usetup/lang/de-DE.h +++ b/reactos/base/setup/usetup/lang/de-DE.h @@ -466,7 +466,7 @@ static MUI_ENTRY deDERepairPageEntries[] = "nutzbaren Setups.", TEXT_STYLE_NORMAL }, - { + { 6, 14, "Die Reparaturfunktionen sind noch nicht implementiert.", @@ -915,7 +915,7 @@ static MUI_ENTRY deDEInstallDirectoryEntries[] = "Benutzen Sie die Entf-TASTE, um Zeichen zu l”schen.", TEXT_STYLE_NORMAL }, - { + { 6, 17, "Best„tigen Sie die Eingabe mit der EINGABETASTE.", @@ -1398,7 +1398,7 @@ MUI_ERROR deDEErrorEntries[] = { //ERROR_UPDATE_DISPLAY_SETTINGS, "Die Registrierungseintr„ge der Anzeigeeinstellungen\n" - "konnten nicht aktualisiert werden.", + "konnten nicht aktualisiert werden.", "EINGABETASTER = Computer neu starten" }, { @@ -1439,7 +1439,7 @@ MUI_ERROR deDEErrorEntries[] = { //ERROR_COPY_QUEUE, "Die Liste mit den zu kopierenden Dateien\n" - "konnte nicht gefunden werden.\n", + "konnte nicht gefunden werden.\n", "EINGABETASTE = Computer neu starten" }, { @@ -1654,6 +1654,8 @@ MUI_STRING deDEStrings[] = "Eine prim„re Partition soll hier erstellt werden:"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "Eine erweiterte Partition soll hier erstellt werden:"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "Ein logisches Laufwerk soll hier erstellt werden:"}, {STRING_HDDSIZE, "Bitte geben Sie die Gr”áe der neuen Partition in Megabyte ein."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/el-GR.h b/reactos/base/setup/usetup/lang/el-GR.h index d12bb6918ed..82d83d4dd4c 100644 --- a/reactos/base/setup/usetup/lang/el-GR.h +++ b/reactos/base/setup/usetup/lang/el-GR.h @@ -1676,6 +1676,8 @@ MUI_STRING elGRStrings[] = // "„§ ¢â¥˜«œ ¤˜ ›ž£ ¦¬¨šã©œ«œ ⤘ ¤â¦ partition on"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "˜¨˜¡˜¢é ›é©«œ «¦ £âšœŸ¦ª «¦¬ partition ©œ megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/en-US.h b/reactos/base/setup/usetup/lang/en-US.h index 6b20c0889ca..7f752f39a8f 100644 --- a/reactos/base/setup/usetup/lang/en-US.h +++ b/reactos/base/setup/usetup/lang/en-US.h @@ -1648,6 +1648,8 @@ MUI_STRING enUSStrings[] = "You have chosen to create a primary partition on"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/es-ES.h b/reactos/base/setup/usetup/lang/es-ES.h index 04a53da0268..d8bad41c343 100644 --- a/reactos/base/setup/usetup/lang/es-ES.h +++ b/reactos/base/setup/usetup/lang/es-ES.h @@ -1658,6 +1658,8 @@ MUI_STRING esESStrings[] = // "Ha elegido crear una nueva partici¢n en"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Por favor, introduzca el tama¤o de la nueva partici¢n en megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/et-EE.h b/reactos/base/setup/usetup/lang/et-EE.h index 71fdeceb0c5..e90023d4651 100644 --- a/reactos/base/setup/usetup/lang/et-EE.h +++ b/reactos/base/setup/usetup/lang/et-EE.h @@ -1649,6 +1649,8 @@ MUI_STRING etEEStrings[] = // "Oled valinud kettale uue partitsiooni loomise"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Sisesta uue partitsiooni suurus megabaitides."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/fr-FR.h b/reactos/base/setup/usetup/lang/fr-FR.h index 84ce39ae830..c4dac549943 100644 --- a/reactos/base/setup/usetup/lang/fr-FR.h +++ b/reactos/base/setup/usetup/lang/fr-FR.h @@ -1662,6 +1662,8 @@ MUI_STRING frFRStrings[] = "Vous avez choisi de cr‚er une partition primaire sur"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "Vous avez choisi de cr‚er une partition ‚tendue sur"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Veuillez entrer la taille de la nouvelle partition en m‚gaoctets."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/he-IL.h b/reactos/base/setup/usetup/lang/he-IL.h index 5b415a68d5d..b4a3945f232 100644 --- a/reactos/base/setup/usetup/lang/he-IL.h +++ b/reactos/base/setup/usetup/lang/he-IL.h @@ -1650,6 +1650,8 @@ MUI_STRING heILStrings[] = "You have chosen to create a primary partition on"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/it-IT.h b/reactos/base/setup/usetup/lang/it-IT.h index 936f3b479d7..e911a748ed1 100644 --- a/reactos/base/setup/usetup/lang/it-IT.h +++ b/reactos/base/setup/usetup/lang/it-IT.h @@ -1653,6 +1653,8 @@ MUI_STRING itITStrings[] = // "Avete scelto di creare una nuova partizione su"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Indicare la dimensione della nuova partizione in megabyte."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ja-JP.h b/reactos/base/setup/usetup/lang/ja-JP.h index b70ecc999ee..691406625fe 100644 --- a/reactos/base/setup/usetup/lang/ja-JP.h +++ b/reactos/base/setup/usetup/lang/ja-JP.h @@ -1652,6 +1652,8 @@ MUI_STRING jaJPStrings[] = // "±À×¼² Ê߰輮ݦ ·ÞÆ »¸¾²½Ù ºÄ¶Þ ¾ÝÀ¸ »ÚϼÀ:"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "±À×¼² Ê߰è¼®ÝÉ »²½Þ¦ Ò¶ÞÊÞ²Ä ÀݲÃÞ Æ­³Ø®¸ ¼Ã¸ÀÞ»²¡"}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/lt-LT.h b/reactos/base/setup/usetup/lang/lt-LT.h index fbb759ea6d8..7a7b4f746a5 100644 --- a/reactos/base/setup/usetup/lang/lt-LT.h +++ b/reactos/base/setup/usetup/lang/lt-LT.h @@ -1659,6 +1659,8 @@ MUI_STRING ltLTStrings[] = "You have chosen to create a primary partition on"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Please enter the size of the new partition in megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/nl-NL.h b/reactos/base/setup/usetup/lang/nl-NL.h index dac2f565e52..167e1095b0d 100644 --- a/reactos/base/setup/usetup/lang/nl-NL.h +++ b/reactos/base/setup/usetup/lang/nl-NL.h @@ -1697,6 +1697,8 @@ MUI_STRING nlNLStrings[] = // "U wilt een nieuwe partitie aanmaken op"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Voert u de grootte van de nieuwe partitie in in megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/pl-PL.h b/reactos/base/setup/usetup/lang/pl-PL.h index a9e8c72065b..3d700c44004 100644 --- a/reactos/base/setup/usetup/lang/pl-PL.h +++ b/reactos/base/setup/usetup/lang/pl-PL.h @@ -1661,6 +1661,8 @@ MUI_STRING plPLStrings[] = // "Wybrane: utworzenie nowej partycji na"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Prosz© wprowadzi† rozmiar nowej partycji w megabajtach."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/pt-BR.h b/reactos/base/setup/usetup/lang/pt-BR.h index fc8ef341d0d..19ad6719180 100644 --- a/reactos/base/setup/usetup/lang/pt-BR.h +++ b/reactos/base/setup/usetup/lang/pt-BR.h @@ -1688,6 +1688,8 @@ MUI_STRING ptBRStrings[] = // "Vocˆ solicitou a cria‡Æo de uma nova parti‡Æo em"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Por favor, insira o tamanho da nova parti‡Æo em megabytes (MB)."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ro-RO.h b/reactos/base/setup/usetup/lang/ro-RO.h index d6b94251485..fce9d70af8e 100644 --- a/reactos/base/setup/usetup/lang/ro-RO.h +++ b/reactos/base/setup/usetup/lang/ro-RO.h @@ -1729,6 +1729,8 @@ MUI_STRING roROStrings[] = // "Aîi ales crearea unei noi partiîii pe"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Introduceîi mÇrimea noii partiîii Œn megaocteîi."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/ru-RU.h b/reactos/base/setup/usetup/lang/ru-RU.h index 852c2638977..d8385038bd2 100644 --- a/reactos/base/setup/usetup/lang/ru-RU.h +++ b/reactos/base/setup/usetup/lang/ru-RU.h @@ -1653,6 +1653,8 @@ MUI_STRING ruRUStrings[] = // "‚ë å®â¨â¥ ᮧ¤ âì ­®¢ë© à §¤¥« ­ "}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "®¦ «ã©áâ , ¢¢¥¤¨â¥ à §¬¥à ­®¢®£® à §¤¥«  ¢ ¬¥£ ¡ ©â å."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sk-SK.h b/reactos/base/setup/usetup/lang/sk-SK.h index 74e2ee3f9af..1373b270101 100644 --- a/reactos/base/setup/usetup/lang/sk-SK.h +++ b/reactos/base/setup/usetup/lang/sk-SK.h @@ -1663,6 +1663,8 @@ MUI_STRING skSKStrings[] = // "Zvolili ste vytvorenie novej oblasti na"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Zadajte, pros¡m, ve–kosœ novej oblasti v megabajtoch."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sq-AL.h b/reactos/base/setup/usetup/lang/sq-AL.h index f23fc7c35ca..906fd89e5f7 100644 --- a/reactos/base/setup/usetup/lang/sq-AL.h +++ b/reactos/base/setup/usetup/lang/sq-AL.h @@ -1655,6 +1655,8 @@ MUI_STRING sqALStrings[] = "Ju keni zgjedhur p‰r t‰ krijuar nj‰ ndarje t‰ re n‰"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "Ju lutem, jepini madh‰sin‰ e particionit t‰ ri n‰ megabajt."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/sv-SE.h b/reactos/base/setup/usetup/lang/sv-SE.h index 3ee1326128d..c9101b628a8 100644 --- a/reactos/base/setup/usetup/lang/sv-SE.h +++ b/reactos/base/setup/usetup/lang/sv-SE.h @@ -1658,6 +1658,8 @@ MUI_STRING svSEStrings[] = // "Du har valt att skapa en ny partiton p†"}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "V„nligen skriv in storleken av den nya partitionen i megabytes."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/tr-TR.h b/reactos/base/setup/usetup/lang/tr-TR.h index d8058795bba..47b4d812869 100644 --- a/reactos/base/setup/usetup/lang/tr-TR.h +++ b/reactos/base/setup/usetup/lang/tr-TR.h @@ -1626,6 +1626,8 @@ MUI_STRING trTRStrings[] = // "Yeni bir b”lm oluŸturmay se‡tiniz."}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "OluŸturulacak b”lmn bykl§n mega‡oklu olarak giriniz."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/lang/uk-UA.h b/reactos/base/setup/usetup/lang/uk-UA.h index 2d538b7a36c..aa723b0308b 100644 --- a/reactos/base/setup/usetup/lang/uk-UA.h +++ b/reactos/base/setup/usetup/lang/uk-UA.h @@ -1658,6 +1658,8 @@ MUI_STRING ukUAStrings[] = // "‚¨ å®ç¥â¥ á⢮à¨â¨ ­®¢¨© ஧¤i« ­ "}, {STRING_CHOOSE_NEW_EXTENDED_PARTITION, "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, {STRING_HDDSIZE, "ã¤ì-« áª , ¢¢¥¤iâì ஧¬ià ­®¢®£® ஧¤i«ã ¢ ¬¥£ ¡ ©â å."}, {STRING_CREATEPARTITION, diff --git a/reactos/base/setup/usetup/mui.h b/reactos/base/setup/usetup/mui.h index f36317c0f44..d8b0f1bf289 100644 --- a/reactos/base/setup/usetup/mui.h +++ b/reactos/base/setup/usetup/mui.h @@ -105,6 +105,7 @@ MUIGetString( #define STRING_PARTITIONSIZE 4 #define STRING_CHOOSENEWPARTITION 5 #define STRING_CHOOSE_NEW_EXTENDED_PARTITION 57 +#define STRING_CHOOSE_NEW_LOGICAL_PARTITION 61 #define STRING_HDDSIZE 6 #define STRING_CREATEPARTITION 7 #define STRING_PARTFORMAT 8 diff --git a/reactos/base/setup/usetup/partlist.c b/reactos/base/setup/usetup/partlist.c index d48a1bf2109..fd6c6137477 100644 --- a/reactos/base/setup/usetup/partlist.c +++ b/reactos/base/setup/usetup/partlist.c @@ -2577,6 +2577,32 @@ DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); } +VOID +CreateLogicalPartition( + PPARTLIST List, + ULONGLONG SectorCount) +{ +// PDISKENTRY DiskEntry; + PPARTENTRY PartEntry; +// PPARTENTRY NewPartEntry; + + DPRINT1("CreateLogicalPartition(%I64u)\n", SectorCount); + + if (List == NULL || + List->CurrentDisk == NULL || + List->CurrentPartition == NULL || + List->CurrentPartition->IsPartitioned == TRUE) + { + return; + } + +// DiskEntry = List->CurrentDisk; + PartEntry = List->CurrentPartition; + + DPRINT1("Current partition sector count: %I64u\n", PartEntry->SectorCount.QuadPart); +} + + VOID DeleteCurrentPartition( PPARTLIST List) diff --git a/reactos/base/setup/usetup/partlist.h b/reactos/base/setup/usetup/partlist.h index ad4765a5669..a4e5871edcd 100644 --- a/reactos/base/setup/usetup/partlist.h +++ b/reactos/base/setup/usetup/partlist.h @@ -230,6 +230,11 @@ CreateExtendedPartition( PPARTLIST List, ULONGLONG PartitionSize); +VOID +CreateLogicalPartition( + PPARTLIST List, + ULONGLONG PartitionSize); + VOID DeleteCurrentPartition( PPARTLIST List);