17#define WIN32_NO_STATUS
96#define MAX_STRING_SIZE 1024
97#define MAX_ARGS_COUNT 256
257#define SIZE_1KB (1024ULL)
258#define SIZE_10KB (10ULL * 1024ULL)
259#define SIZE_1MB (1024ULL * 1024ULL)
260#define SIZE_10MB (10ULL * 1024ULL * 1024ULL)
261#define SIZE_1GB (1024ULL * 1024ULL * 1024ULL)
262#define SIZE_10GB (10ULL * 1024ULL * 1024ULL * 1024ULL)
263#define SIZE_1TB (1024ULL * 1024ULL * 1024ULL * 1024ULL)
264#define SIZE_10TB (10ULL * 1024ULL * 1024ULL * 1024ULL * 1024ULL)
337 _In_ PCREATE_DISK DiskInfo);
622#ifdef DUMP_PARTITION_TABLE
628#ifdef DUMP_PARTITION_LIST
VOID UpdateMbrDiskLayout(_In_ PDISKENTRY DiskEntry)
VOID RemoveVolume(_In_ PVOLENTRY VolumeEntry)
LIST_ENTRY VolumeListHead
VOID CreateGUID(_Out_ GUID *pGuid)
ULONGLONG AlignDown(_In_ ULONGLONG Value, _In_ ULONG Alignment)
EXIT_CODE DetailPartition(INT argc, PWSTR *argv)
EXIT_CODE DumpDisk(_In_ INT argc, _In_ LPWSTR *argv)
BOOL HasPrefix(_In_ PWSTR pszString, _In_ PWSTR pszPrefix, _Out_opt_ PWSTR *pszSuffix)
enum _EXIT_CODE EXIT_CODE
BOOL GetAutomountState(_Out_ PBOOL State)
BOOL ScrubAutomount(VOID)
EXIT_CODE expand_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE recover_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE active_main(_In_ INT argc, _In_ PWSTR *argv)
LIST_ENTRY BiosDiskListHead
PPARTENTRY GetPrevUnpartitionedEntry(_In_ PPARTENTRY PartEntry)
struct _VOLENTRY VOLENTRY
VOID PrintGUID(_Out_ PWSTR pszBuffer, _In_ GUID *pGuid)
VOID UpdateGptDiskLayout(_In_ PDISKENTRY DiskEntry, _In_ BOOL DeleteEntry)
EXIT_CODE DumpPartition(_In_ INT argc, _In_ LPWSTR *argv)
EXIT_CODE automount_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE DeletePartition(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE setid_main(_In_ INT argc, _In_ PWSTR *argv)
enum _FORMATSTATE FORMATSTATE
EXIT_CODE CreateMsrPartition(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE filesystems_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE clean_main(_In_ INT argc, _In_ PWSTR *argv)
enum _FORMATSTATE * PFORMATSTATE
EXIT_CODE remove_main(_In_ INT argc, _In_ PWSTR *argv)
VOID DestroyVolumeList(VOID)
EXIT_CODE offline_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE CreatePrimaryPartition(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE repair_main(_In_ INT argc, _In_ PWSTR *argv)
struct _MBR_PARTITION_DATA * PMBR_PARTITION_DATA
EXIT_CODE CreateEfiPartition(_In_ INT argc, _In_ PWSTR *argv)
NTSTATUS DismountVolume(_In_ PPARTENTRY PartEntry)
EXIT_CODE add_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE gpt_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE shrink_main(_In_ INT argc, _In_ PWSTR *argv)
struct _COMMAND * PCOMMAND
NTSTATUS CreateVolumeList(VOID)
BOOL DeleteDriveLetter(_In_ WCHAR DriveLetter)
EXIT_CODE attributes_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE DetailVolume(INT argc, PWSTR *argv)
EXIT_CODE merge_main(_In_ INT argc, _In_ PWSTR *argv)
struct _VOLENTRY * PVOLENTRY
EXIT_CODE DeleteVolume(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE detach_main(_In_ INT argc, _In_ PWSTR *argv)
VOID DestroyPartitionList(VOID)
NTSTATUS WriteMbrPartitions(_In_ PDISKENTRY DiskEntry)
EXIT_CODE retain_main(_In_ INT argc, _In_ PWSTR *argv)
VOID ReadLayoutBuffer(_In_ HANDLE FileHandle, _In_ PDISKENTRY DiskEntry)
struct _PARTENTRY * PPARTENTRY
struct _BIOSDISKENTRY * PBIOSDISKENTRY
EXIT_CODE DetailDisk(INT argc, PWSTR *argv)
EXIT_CODE compact_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE CreateExtendedPartition(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE ListVolume(INT argc, PWSTR *argv)
EXIT_CODE import_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE ListVirtualDisk(INT argc, PWSTR *argv)
EXIT_CODE InterpretCmd(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE ConvertMBR(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE inactive_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE DeleteDisk(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE format_main(_In_ INT argc, _In_ PWSTR *argv)
NTSTATUS CreateDisk(_In_ ULONG DiskNumber, _In_ PCREATE_DISK DiskInfo)
EXIT_CODE attach_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE ListPartition(INT argc, PWSTR *argv)
EXIT_CODE ListDisk(INT argc, PWSTR *argv)
EXIT_CODE extend_main(_In_ INT argc, _In_ PWSTR *argv)
NTSTATUS CreatePartitionList(VOID)
struct _DISKENTRY DISKENTRY
VOID ScanForUnpartitionedMbrDiskSpace(PDISKENTRY DiskEntry)
enum _VOLUME_TYPE VOLUME_TYPE
EXIT_CODE break_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE online_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE san_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE rescan_main(_In_ INT argc, _In_ PWSTR *argv)
struct _GPT_PARTITION_DATA * PGPT_PARTITION_DATA
EXIT_CODE assign_main(_In_ INT argc, _In_ PWSTR *argv)
BOOL IsDecString(_In_ PWSTR pszDecString)
PPARTENTRY CurrentPartition
NTSTATUS WriteGptPartitions(_In_ PDISKENTRY DiskEntry)
PVOLENTRY GetVolumeFromPartition(_In_ PPARTENTRY PartEntry)
BOOL SetAutomountState(_In_ BOOL bEnable)
EXIT_CODE SelectPartition(INT argc, PWSTR *argv)
BOOL IsHexString(_In_ PWSTR pszHexString)
VOID PrintDisk(_In_ PDISKENTRY DiskEntry)
EXIT_CODE InterpretScript(_In_ LPWSTR line)
EXIT_CODE CreateLogicalPartition(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE HelpCommand(_In_ PCOMMAND pCommand)
VOID HelpCommandList(VOID)
enum _VOLUME_TYPE * PVOLUME_TYPE
struct _MBR_PARTITION_DATA MBR_PARTITION_DATA
struct _GPT_PARTITION_DATA GPT_PARTITION_DATA
PPARTENTRY GetNextUnpartitionedEntry(_In_ PPARTENTRY PartEntry)
BOOL AssignNextDriveLetter(_In_ PWSTR DeviceName, _Out_ PWCHAR DriveLetter)
EXIT_CODE help_main(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE ConvertGPT(_In_ INT argc, _In_ PWSTR *argv)
BOOL AssignDriveLetter(_In_ PWSTR DeviceName, _In_ WCHAR DriveLetter)
VOID ScanForUnpartitionedGptDiskSpace(PDISKENTRY DiskEntry)
ULONGLONG RoundingDivide(_In_ ULONGLONG Dividend, _In_ ULONGLONG Divisor)
EXIT_CODE SelectVolume(INT argc, PWSTR *argv)
EXIT_CODE UniqueIdDisk(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE SelectDisk(INT argc, PWSTR *argv)
PWSTR DuplicateQuotedString(_In_ PWSTR pszInString)
VOID PrintBusType(_Out_ PWSTR pszBuffer, _In_ INT cchBufferMax, _In_ STORAGE_BUS_TYPE Bustype)
struct _BIOSDISKENTRY BIOSDISKENTRY
VOID PrintVolume(_In_ PVOLENTRY VolumeEntry)
struct _DISKENTRY * PDISKENTRY
struct _PARTENTRY PARTENTRY
VOID CreateSignature(_Out_ PDWORD pSignature)
BOOL StringToGUID(_Out_ GUID *pGuid, _In_ PWSTR pszString)
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
enum _STORAGE_BUS_TYPE STORAGE_BUS_TYPE
#define GetPrimaryPartitionCount(DiskEntry)
#define DuplicateString(x)
CM_DISK_GEOMETRY_DEVICE_DATA DiskGeometry
CM_INT13_DRIVE_PARAMETER Int13DiskData
PDRIVE_LAYOUT_INFORMATION_EX LayoutBuffer
ULARGE_INTEGER SectorCount
UNICODE_STRING DriverName
PPARTENTRY ExtendedPartition
LIST_ENTRY LogicalPartListHead
ULARGE_INTEGER StartSector
LIST_ENTRY PrimaryPartListHead
ULARGE_INTEGER SectorCount
struct _DISKENTRY * DiskEntry
struct _FILE_SYSTEM_ITEM * FileSystem
ULONG OnDiskPartitionNumber
ULARGE_INTEGER StartSector
PVOLUME_DISK_EXTENTS pExtents
ULARGE_INTEGER TotalAllocationUnits
ULONG SectorsPerAllocationUnit
ULARGE_INTEGER AvailableAllocationUnits
WCHAR VolumeName[MAX_PATH]
LIST_ENTRY ListEntry
Entry in VolumesList.
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_In_ LARGE_INTEGER Divisor