163{
167
168
169#if 0
170 if (
List->SystemPartition == PartEntry)
171 {
174 }
175#endif
176
177 if ((bOverride ==
FALSE) &&
180 {
182 return;
183 }
184
185#ifdef DUMP_PARTITION_LIST
187#endif
188
189
191
192
193
194
197
198 if (PrevPartEntry !=
NULL && NextPartEntry !=
NULL)
199 {
200
201
202
204
205
209 RtlFreeHeap(RtlGetProcessHeap(), 0, NextPartEntry);
210 }
211 else if (PrevPartEntry !=
NULL && NextPartEntry ==
NULL)
212 {
213
214
215
217
218
221 }
222 else if (PrevPartEntry ==
NULL && NextPartEntry !=
NULL)
223 {
224
225
226
229
230
233 }
234 else
235 {
236
240
241
245
250 }
251
253
254#ifdef DUMP_PARTITION_LIST
256#endif
257
259#ifdef DUMP_PARTITION_TABLE
261#endif
264 {
266 return;
267 }
268
270}
void ConResPuts(FILE *fp, UINT nID)
#define IDS_DELETE_PARTITION_SUCCESS
#define IDS_DELETE_PARTITION_FAIL
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
PPARTENTRY GetPrevUnpartitionedEntry(_In_ PPARTENTRY PartEntry)
VOID UpdateGptDiskLayout(_In_ PDISKENTRY DiskEntry, _In_ BOOL DeleteEntry)
NTSTATUS WriteGptPartitions(_In_ PDISKENTRY DiskEntry)
PPARTENTRY GetNextUnpartitionedEntry(_In_ PPARTENTRY PartEntry)
#define NT_SUCCESS(StatCode)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
#define RemoveEntryList(Entry)
ULARGE_INTEGER SectorCount
ULONG OnDiskPartitionNumber
ULARGE_INTEGER StartSector
#define RtlZeroMemory(Destination, Length)
static PPARTENTRY CurrentPartition
NTSTATUS DismountVolume(_Inout_ PVOLINFO Volume, _In_ BOOLEAN Force)
Attempts to dismount the designated volume.
_Must_inspect_result_ _In_ WDFCMRESLIST List