51 if (
List->SystemPartition == PartEntry)
77 RtlFreeHeap(RtlGetProcessHeap(), 0, LogicalPartEntry);
94 if (PrevPartEntry !=
NULL && NextPartEntry !=
NULL)
105 RtlFreeHeap(RtlGetProcessHeap(), 0, NextPartEntry);
107 else if (PrevPartEntry !=
NULL && NextPartEntry ==
NULL)
118 else if (PrevPartEntry ==
NULL && NextPartEntry !=
NULL)
170 if (
List->SystemPartition == PartEntry)
177 if ((bOverride ==
FALSE) &&
185#ifdef DUMP_PARTITION_LIST
198 if (PrevPartEntry !=
NULL && NextPartEntry !=
NULL)
209 RtlFreeHeap(RtlGetProcessHeap(), 0, NextPartEntry);
211 else if (PrevPartEntry !=
NULL && NextPartEntry ==
NULL)
222 else if (PrevPartEntry ==
NULL && NextPartEntry !=
NULL)
254#ifdef DUMP_PARTITION_LIST
259#ifdef DUMP_PARTITION_TABLE
281 DPRINT(
"DeletePartition()\n");
void ConPuts(FILE *fp, LPCWSTR psz)
void ConResPuts(FILE *fp, UINT nID)
static BOOL IsKnownPartition(_In_ PPARTENTRY PartEntry)
static VOID DeleteGptPartition(_In_ BOOL bOverride)
EXIT_CODE DeletePartition(_In_ INT argc, _In_ PWSTR *argv)
static VOID DeleteMbrPartition(_In_ BOOL bOverride)
EXIT_CODE DeleteVolume(_In_ INT argc, _In_ PWSTR *argv)
EXIT_CODE DeleteDisk(_In_ INT argc, _In_ PWSTR *argv)
#define IDS_SELECT_NO_PARTITION
#define IDS_ERROR_INVALID_ARGS
#define IDS_DELETE_PARTITION_SUCCESS
#define IDS_DELETE_PARTITION_FAIL
#define IDS_SELECT_NO_DISK
#define PARTITION_ENTRY_UNUSED
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
VOID UpdateMbrDiskLayout(_In_ PDISKENTRY DiskEntry)
enum _EXIT_CODE EXIT_CODE
PPARTENTRY GetPrevUnpartitionedEntry(_In_ PPARTENTRY PartEntry)
VOID UpdateGptDiskLayout(_In_ PDISKENTRY DiskEntry, _In_ BOOL DeleteEntry)
NTSTATUS WriteMbrPartitions(_In_ PDISKENTRY DiskEntry)
NTSTATUS WriteGptPartitions(_In_ PDISKENTRY DiskEntry)
PPARTENTRY GetNextUnpartitionedEntry(_In_ PPARTENTRY PartEntry)
#define NT_SUCCESS(StatCode)
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
#define RemoveEntryList(Entry)
#define IsListEmpty(ListHead)
#define RemoveHeadList(ListHead)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define IsContainerPartition(PartitionType)
#define IsRecognizedPartition(PartitionType)
base of all file and directory entries
PPARTENTRY ExtendedPartition
LIST_ENTRY LogicalPartListHead
ULARGE_INTEGER SectorCount
ULONG OnDiskPartitionNumber
ULARGE_INTEGER StartSector
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
static PPARTENTRY CurrentPartition
NTSTATUS DismountVolume(_Inout_ PVOLINFO Volume, _In_ BOOLEAN Force)
Attempts to dismount the designated volume.
_Must_inspect_result_ _In_ WDFCMRESLIST List