Files
reactos/base/system/diskpart/active.c
T
Eric Kohl f206063280 [DISKPART] Implement creation and deletion of GPT partitions
- Implement creation and deletion of GPT partitions.
- Adjust the active, clean, detail, inactive, list, select, setid and uniqueid
  commands as needed.
- Add a 2^32 sector count limit for MBR partition tables.
2025-12-13 18:42:00 +01:00

64 lines
1.3 KiB
C

/*
* PROJECT: ReactOS DiskPart
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/system/diskpart/active.c
* PURPOSE: Manages all the partitions of the OS in an interactive way.
* PROGRAMMERS: Lee Schroeder
*/
#include "diskpart.h"
#define NDEBUG
#include <debug.h>
BOOL
active_main(
_In_ INT argc,
_In_ PWSTR *argv)
{
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 (CurrentDisk->PartitionStyle == PARTITION_STYLE_MBR)
{
if (CurrentPartition->Mbr.BootIndicator)
{
ConResPuts(StdOut, IDS_ACTIVE_ALREADY);
return TRUE;
}
CurrentPartition->Mbr.BootIndicator = TRUE;
CurrentDisk->Dirty = TRUE;
UpdateMbrDiskLayout(CurrentDisk);
Status = WriteMbrPartitions(CurrentDisk);
if (NT_SUCCESS(Status))
{
ConResPuts(StdOut, IDS_ACTIVE_SUCCESS);
}
else
{
ConResPuts(StdOut, IDS_ACTIVE_FAIL);
}
}
else
{
ConResPuts(StdOut, IDS_ACTIVE_NO_MBR);
}
return TRUE;
}