Skip to content

Commit 8d238c1

Browse files
committed
[SETUP:LIB] Prepare setup for GPT support
Replace IOCTL_DISK_GET_DRIVE_LAYOUT by IOCTL_DISK_GET_DRIVE_LAYOUT_EX and make the necessary adjustments.
1 parent 19f3949 commit 8d238c1

3 files changed

Lines changed: 64 additions & 64 deletions

File tree

base/setup/lib/bootsup.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1752,7 +1752,7 @@ InstallBootManagerAndBootEntries(
17521752
} DISK_GEOMETRY_EX_INTERNAL, *PDISK_GEOMETRY_EX_INTERNAL;
17531753

17541754
DISK_GEOMETRY_EX_INTERNAL DiskGeoEx;
1755-
PARTITION_INFORMATION PartitionInfo;
1755+
PARTITION_INFORMATION_EX PartitionInfo;
17561756

17571757
/* Retrieve the disk number. NOTE: Fails for floppy disks. */
17581758
Status = NtDeviceIoControlFile(DeviceHandle,
@@ -1798,7 +1798,7 @@ InstallBootManagerAndBootEntries(
17981798
Status = NtDeviceIoControlFile(DeviceHandle,
17991799
NULL, NULL, NULL,
18001800
&IoStatusBlock,
1801-
IOCTL_DISK_GET_PARTITION_INFO,
1801+
IOCTL_DISK_GET_PARTITION_INFO_EX,
18021802
NULL, 0,
18031803
&PartitionInfo,
18041804
sizeof(PartitionInfo));

base/setup/lib/utils/partlist.c

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ BOOLEAN
493493
IsDiskSuperFloppy2(
494494
_In_ const DISK_PARTITION_INFO* DiskInfo,
495495
_In_opt_ const ULONGLONG* DiskSize,
496-
_In_ const PARTITION_INFORMATION* PartitionInfo)
496+
_In_ const PARTITION_INFORMATION_EX* PartitionInfo)
497497
{
498498
/* Structure size must be valid */
499499
if (DiskInfo->SizeOfPartitionInfo < RTL_SIZEOF_THROUGH_FIELD(DISK_PARTITION_INFO, Mbr))
@@ -505,7 +505,7 @@ IsDiskSuperFloppy2(
505505

506506
/* The single partition must start at the beginning of the disk */
507507
if (!(PartitionInfo->StartingOffset.QuadPart == 0 &&
508-
PartitionInfo->HiddenSectors == 0))
508+
PartitionInfo->Mbr.HiddenSectors == 0))
509509
{
510510
return FALSE;
511511
}
@@ -517,17 +517,17 @@ IsDiskSuperFloppy2(
517517
}
518518

519519
/* The partition must be recognized and report as FAT16 non-bootable */
520-
if ((PartitionInfo->RecognizedPartition != TRUE) ||
521-
(PartitionInfo->PartitionType != PARTITION_FAT_16) ||
522-
(PartitionInfo->BootIndicator != FALSE))
520+
if ((PartitionInfo->Mbr.RecognizedPartition != TRUE) ||
521+
(PartitionInfo->Mbr.PartitionType != PARTITION_FAT_16) ||
522+
(PartitionInfo->Mbr.BootIndicator != FALSE))
523523
{
524524
DPRINT1("Super-Floppy does not return default settings:\n"
525525
" RecognizedPartition = %s, expected TRUE\n"
526526
" PartitionType = 0x%02x, expected 0x04 (PARTITION_FAT_16)\n"
527527
" BootIndicator = %s, expected FALSE\n",
528-
PartitionInfo->RecognizedPartition ? "TRUE" : "FALSE",
529-
PartitionInfo->PartitionType,
530-
PartitionInfo->BootIndicator ? "TRUE" : "FALSE");
528+
PartitionInfo->Mbr.RecognizedPartition ? "TRUE" : "FALSE",
529+
PartitionInfo->Mbr.PartitionType,
530+
PartitionInfo->Mbr.BootIndicator ? "TRUE" : "FALSE");
531531
}
532532

533533
/* The partition and disk sizes should agree */
@@ -542,7 +542,7 @@ IsDiskSuperFloppy2(
542542

543543
BOOLEAN
544544
IsDiskSuperFloppy(
545-
_In_ const DRIVE_LAYOUT_INFORMATION* Layout,
545+
_In_ const DRIVE_LAYOUT_INFORMATION_EX* Layout,
546546
_In_opt_ const ULONGLONG* DiskSize)
547547
{
548548
DISK_PARTITION_INFO DiskInfo;
@@ -554,7 +554,7 @@ IsDiskSuperFloppy(
554554
/* Build the disk partition info */
555555
DiskInfo.SizeOfPartitionInfo = RTL_SIZEOF_THROUGH_FIELD(DISK_PARTITION_INFO, Mbr);
556556
DiskInfo.PartitionStyle = PARTITION_STYLE_MBR;
557-
DiskInfo.Mbr.Signature = Layout->Signature;
557+
DiskInfo.Mbr.Signature = Layout->Mbr.Signature;
558558
DiskInfo.Mbr.CheckSum = 0; // Dummy value
559559

560560
/* Call the helper on the single partition entry */
@@ -568,7 +568,7 @@ IsDiskSuperFloppyEx(
568568
{
569569
DISK_PARTITION_INFO DiskInfo;
570570
const PARTITION_INFORMATION_EX* PartitionInfoEx;
571-
PARTITION_INFORMATION PartitionInfo;
571+
PARTITION_INFORMATION_EX PartitionInfo;
572572

573573
/* The layout must be MBR and contain only one partition */
574574
if (LayoutEx->PartitionStyle != PARTITION_STYLE_MBR)
@@ -587,11 +587,11 @@ IsDiskSuperFloppyEx(
587587

588588
PartitionInfo.StartingOffset = PartitionInfoEx->StartingOffset;
589589
PartitionInfo.PartitionLength = PartitionInfoEx->PartitionLength;
590-
PartitionInfo.HiddenSectors = PartitionInfoEx->Mbr.HiddenSectors;
590+
PartitionInfo.Mbr.HiddenSectors = PartitionInfoEx->Mbr.HiddenSectors;
591591
PartitionInfo.PartitionNumber = PartitionInfoEx->PartitionNumber;
592-
PartitionInfo.PartitionType = PartitionInfoEx->Mbr.PartitionType;
593-
PartitionInfo.BootIndicator = PartitionInfoEx->Mbr.BootIndicator;
594-
PartitionInfo.RecognizedPartition = PartitionInfoEx->Mbr.RecognizedPartition;
592+
PartitionInfo.Mbr.PartitionType = PartitionInfoEx->Mbr.PartitionType;
593+
PartitionInfo.Mbr.BootIndicator = PartitionInfoEx->Mbr.BootIndicator;
594+
PartitionInfo.Mbr.RecognizedPartition = PartitionInfoEx->Mbr.RecognizedPartition;
595595
PartitionInfo.RewritePartition = PartitionInfoEx->RewritePartition;
596596

597597
/* Call the helper on the single partition entry */
@@ -1043,16 +1043,16 @@ AddPartitionToDisk(
10431043
IN ULONG PartitionIndex,
10441044
IN BOOLEAN LogicalPartition)
10451045
{
1046-
PPARTITION_INFORMATION PartitionInfo;
1046+
PPARTITION_INFORMATION_EX PartitionInfo;
10471047
PPARTENTRY PartEntry;
10481048

10491049
PartitionInfo = &DiskEntry->LayoutBuffer->PartitionEntry[PartitionIndex];
10501050

10511051
/* Ignore empty partitions */
1052-
if (PartitionInfo->PartitionType == PARTITION_ENTRY_UNUSED)
1052+
if (PartitionInfo->Mbr.PartitionType == PARTITION_ENTRY_UNUSED)
10531053
return;
10541054
/* Request must be consistent, though! */
1055-
ASSERT(!(LogicalPartition && IsContainerPartition(PartitionInfo->PartitionType)));
1055+
ASSERT(!(LogicalPartition && IsContainerPartition(PartitionInfo->Mbr.PartitionType)));
10561056

10571057
PartEntry = RtlAllocateHeap(ProcessHeap,
10581058
HEAP_ZERO_MEMORY,
@@ -1065,8 +1065,8 @@ AddPartitionToDisk(
10651065
PartEntry->StartSector.QuadPart = (ULONGLONG)PartitionInfo->StartingOffset.QuadPart / DiskEntry->BytesPerSector;
10661066
PartEntry->SectorCount.QuadPart = (ULONGLONG)PartitionInfo->PartitionLength.QuadPart / DiskEntry->BytesPerSector;
10671067

1068-
PartEntry->BootIndicator = PartitionInfo->BootIndicator;
1069-
PartEntry->PartitionType = PartitionInfo->PartitionType;
1068+
PartEntry->BootIndicator = PartitionInfo->Mbr.BootIndicator;
1069+
PartEntry->PartitionType = PartitionInfo->Mbr.PartitionType;
10701070

10711071
PartEntry->LogicalPartition = LogicalPartition;
10721072
PartEntry->IsPartitioned = TRUE;
@@ -1360,7 +1360,7 @@ SetDiskSignature(
13601360
return;
13611361
}
13621362

1363-
Buffer = (PUCHAR)&DiskEntry->LayoutBuffer->Signature;
1363+
Buffer = (PUCHAR)&DiskEntry->LayoutBuffer->Mbr.Signature;
13641364

13651365
while (TRUE)
13661366
{
@@ -1372,7 +1372,7 @@ SetDiskSignature(
13721372
Buffer[2] = (UCHAR)(TimeFields.Month & 0xFF) + (UCHAR)(TimeFields.Second & 0xFF);
13731373
Buffer[3] = (UCHAR)(TimeFields.Day & 0xFF) + (UCHAR)(TimeFields.Milliseconds & 0xFF);
13741374

1375-
if (DiskEntry->LayoutBuffer->Signature == 0)
1375+
if (DiskEntry->LayoutBuffer->Mbr.Signature == 0)
13761376
{
13771377
continue;
13781378
}
@@ -1395,7 +1395,7 @@ SetDiskSignature(
13951395
}
13961396

13971397
if (DiskEntry != DiskEntry2 &&
1398-
DiskEntry->LayoutBuffer->Signature == DiskEntry2->LayoutBuffer->Signature)
1398+
DiskEntry->LayoutBuffer->Mbr.Signature == DiskEntry2->LayoutBuffer->Mbr.Signature)
13991399
break;
14001400
}
14011401

@@ -1426,7 +1426,7 @@ UpdateDiskSignatures(
14261426
}
14271427

14281428
if (DiskEntry->LayoutBuffer &&
1429-
DiskEntry->LayoutBuffer->Signature == 0)
1429+
DiskEntry->LayoutBuffer->Mbr.Signature == 0)
14301430
{
14311431
SetDiskSignature(List, DiskEntry);
14321432
DiskEntry->LayoutBuffer->PartitionEntry[0].RewritePartition = TRUE;
@@ -1517,7 +1517,7 @@ AddDiskToList(
15171517
PLIST_ENTRY ListEntry;
15181518
PBIOSDISKENTRY BiosDiskEntry;
15191519
ULONG LayoutBufferSize;
1520-
PDRIVE_LAYOUT_INFORMATION NewLayoutBuffer;
1520+
PDRIVE_LAYOUT_INFORMATION_EX NewLayoutBuffer;
15211521

15221522
/* Retrieve the drive geometry */
15231523
Status = NtDeviceIoControlFile(FileHandle,
@@ -1814,7 +1814,7 @@ AddDiskToList(
18141814
NULL,
18151815
NULL,
18161816
&Iosb,
1817-
IOCTL_DISK_GET_DRIVE_LAYOUT,
1817+
IOCTL_DISK_GET_DRIVE_LAYOUT_EX,
18181818
NULL,
18191819
0,
18201820
DiskEntry->LayoutBuffer,
@@ -1853,7 +1853,7 @@ AddDiskToList(
18531853

18541854
if (DiskEntry->LayoutBuffer->PartitionEntry[0].StartingOffset.QuadPart != 0 &&
18551855
DiskEntry->LayoutBuffer->PartitionEntry[0].PartitionLength.QuadPart != 0 &&
1856-
DiskEntry->LayoutBuffer->PartitionEntry[0].PartitionType != PARTITION_ENTRY_UNUSED)
1856+
DiskEntry->LayoutBuffer->PartitionEntry[0].Mbr.PartitionType != PARTITION_ENTRY_UNUSED)
18571857
{
18581858
if ((DiskEntry->LayoutBuffer->PartitionEntry[0].StartingOffset.QuadPart / DiskEntry->BytesPerSector) % DiskEntry->SectorsPerTrack == 0)
18591859
{
@@ -2280,7 +2280,7 @@ GetDiskBySignature(
22802280
{
22812281
DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry);
22822282

2283-
if (DiskEntry->LayoutBuffer->Signature == Signature)
2283+
if (DiskEntry->LayoutBuffer->Mbr.Signature == Signature)
22842284
return DiskEntry; /* Disk found, return it */
22852285
}
22862286

@@ -2546,7 +2546,7 @@ GetPrevPartition(
25462546
static inline
25472547
BOOLEAN
25482548
IsEmptyLayoutEntry(
2549-
_In_ PPARTITION_INFORMATION PartitionInfo)
2549+
_In_ PPARTITION_INFORMATION_EX PartitionInfo)
25502550
{
25512551
return (PartitionInfo->StartingOffset.QuadPart == 0 &&
25522552
PartitionInfo->PartitionLength.QuadPart == 0);
@@ -2555,7 +2555,7 @@ IsEmptyLayoutEntry(
25552555
static inline
25562556
BOOLEAN
25572557
IsSamePrimaryLayoutEntry(
2558-
_In_ PPARTITION_INFORMATION PartitionInfo,
2558+
_In_ PPARTITION_INFORMATION_EX PartitionInfo,
25592559
_In_ PPARTENTRY PartEntry)
25602560
{
25612561
return ((PartitionInfo->StartingOffset.QuadPart == GetPartEntryOffsetInBytes(PartEntry)) &&
@@ -2602,7 +2602,7 @@ BOOLEAN
26022602
ReAllocateLayoutBuffer(
26032603
IN PDISKENTRY DiskEntry)
26042604
{
2605-
PDRIVE_LAYOUT_INFORMATION NewLayoutBuffer;
2605+
PDRIVE_LAYOUT_INFORMATION_EX NewLayoutBuffer;
26062606
ULONG NewPartitionCount;
26072607
ULONG CurrentPartitionCount = 0;
26082608
ULONG LayoutBufferSize;
@@ -2654,8 +2654,8 @@ VOID
26542654
UpdateDiskLayout(
26552655
IN PDISKENTRY DiskEntry)
26562656
{
2657-
PPARTITION_INFORMATION PartitionInfo;
2658-
PPARTITION_INFORMATION LinkInfo;
2657+
PPARTITION_INFORMATION_EX PartitionInfo;
2658+
PPARTITION_INFORMATION_EX LinkInfo;
26592659
PLIST_ENTRY ListEntry;
26602660
PPARTENTRY PartEntry;
26612661
LARGE_INTEGER HiddenSectors64;
@@ -2704,11 +2704,11 @@ UpdateDiskLayout(
27042704

27052705
PartitionInfo->StartingOffset.QuadPart = GetPartEntryOffsetInBytes(PartEntry);
27062706
PartitionInfo->PartitionLength.QuadPart = GetPartEntrySizeInBytes(PartEntry);
2707-
PartitionInfo->HiddenSectors = PartEntry->StartSector.LowPart;
2707+
PartitionInfo->Mbr.HiddenSectors = PartEntry->StartSector.LowPart;
27082708
PartitionInfo->PartitionNumber = PartEntry->PartitionNumber;
2709-
PartitionInfo->PartitionType = PartEntry->PartitionType;
2710-
PartitionInfo->BootIndicator = PartEntry->BootIndicator;
2711-
PartitionInfo->RecognizedPartition = IsRecognizedPartition(PartEntry->PartitionType);
2709+
PartitionInfo->Mbr.PartitionType = PartEntry->PartitionType;
2710+
PartitionInfo->Mbr.BootIndicator = PartEntry->BootIndicator;
2711+
PartitionInfo->Mbr.RecognizedPartition = IsRecognizedPartition(PartEntry->PartitionType);
27122712
PartitionInfo->RewritePartition = TRUE;
27132713
}
27142714

@@ -2747,11 +2747,11 @@ UpdateDiskLayout(
27472747

27482748
PartitionInfo->StartingOffset.QuadPart = GetPartEntryOffsetInBytes(PartEntry);
27492749
PartitionInfo->PartitionLength.QuadPart = GetPartEntrySizeInBytes(PartEntry);
2750-
PartitionInfo->HiddenSectors = DiskEntry->SectorAlignment;
2750+
PartitionInfo->Mbr.HiddenSectors = DiskEntry->SectorAlignment;
27512751
PartitionInfo->PartitionNumber = PartEntry->PartitionNumber;
2752-
PartitionInfo->PartitionType = PartEntry->PartitionType;
2753-
PartitionInfo->BootIndicator = FALSE;
2754-
PartitionInfo->RecognizedPartition = IsRecognizedPartition(PartEntry->PartitionType);
2752+
PartitionInfo->Mbr.PartitionType = PartEntry->PartitionType;
2753+
PartitionInfo->Mbr.BootIndicator = FALSE;
2754+
PartitionInfo->Mbr.RecognizedPartition = IsRecognizedPartition(PartEntry->PartitionType);
27552755
PartitionInfo->RewritePartition = TRUE;
27562756

27572757
/* Fill the link entry of the previous partition entry */
@@ -2760,16 +2760,16 @@ UpdateDiskLayout(
27602760
LinkInfo->StartingOffset.QuadPart = (PartEntry->StartSector.QuadPart - DiskEntry->SectorAlignment) * DiskEntry->BytesPerSector;
27612761
LinkInfo->PartitionLength.QuadPart = (PartEntry->StartSector.QuadPart + DiskEntry->SectorAlignment) * DiskEntry->BytesPerSector;
27622762
HiddenSectors64.QuadPart = PartEntry->StartSector.QuadPart - DiskEntry->SectorAlignment - DiskEntry->ExtendedPartition->StartSector.QuadPart;
2763-
LinkInfo->HiddenSectors = HiddenSectors64.LowPart;
2763+
LinkInfo->Mbr.HiddenSectors = HiddenSectors64.LowPart;
27642764
LinkInfo->PartitionNumber = 0;
27652765

27662766
/* Extended partition links only use type 0x05, as observed
27672767
* on Windows NT. Alternatively they could inherit the type
27682768
* of the main extended container. */
2769-
LinkInfo->PartitionType = PARTITION_EXTENDED; // DiskEntry->ExtendedPartition->PartitionType;
2769+
LinkInfo->Mbr.PartitionType = PARTITION_EXTENDED; // DiskEntry->ExtendedPartition->PartitionType;
27702770

2771-
LinkInfo->BootIndicator = FALSE;
2772-
LinkInfo->RecognizedPartition = FALSE;
2771+
LinkInfo->Mbr.BootIndicator = FALSE;
2772+
LinkInfo->Mbr.RecognizedPartition = FALSE;
27732773
LinkInfo->RewritePartition = TRUE;
27742774
}
27752775

@@ -2794,11 +2794,11 @@ UpdateDiskLayout(
27942794

27952795
PartitionInfo->StartingOffset.QuadPart = 0;
27962796
PartitionInfo->PartitionLength.QuadPart = 0;
2797-
PartitionInfo->HiddenSectors = 0;
2797+
PartitionInfo->Mbr.HiddenSectors = 0;
27982798
PartitionInfo->PartitionNumber = 0;
2799-
PartitionInfo->PartitionType = PARTITION_ENTRY_UNUSED;
2800-
PartitionInfo->BootIndicator = FALSE;
2801-
PartitionInfo->RecognizedPartition = FALSE;
2799+
PartitionInfo->Mbr.PartitionType = PARTITION_ENTRY_UNUSED;
2800+
PartitionInfo->Mbr.BootIndicator = FALSE;
2801+
PartitionInfo->Mbr.RecognizedPartition = FALSE;
28022802
PartitionInfo->RewritePartition = TRUE;
28032803
}
28042804
}
@@ -2818,11 +2818,11 @@ UpdateDiskLayout(
28182818

28192819
PartitionInfo->StartingOffset.QuadPart = 0;
28202820
PartitionInfo->PartitionLength.QuadPart = 0;
2821-
PartitionInfo->HiddenSectors = 0;
2821+
PartitionInfo->Mbr.HiddenSectors = 0;
28222822
PartitionInfo->PartitionNumber = 0;
2823-
PartitionInfo->PartitionType = PARTITION_ENTRY_UNUSED;
2824-
PartitionInfo->BootIndicator = FALSE;
2825-
PartitionInfo->RecognizedPartition = FALSE;
2823+
PartitionInfo->Mbr.PartitionType = PARTITION_ENTRY_UNUSED;
2824+
PartitionInfo->Mbr.BootIndicator = FALSE;
2825+
PartitionInfo->Mbr.RecognizedPartition = FALSE;
28262826
PartitionInfo->RewritePartition = TRUE;
28272827
}
28282828
}
@@ -3645,7 +3645,7 @@ SetActivePartition(
36453645
if (OldActivePart)
36463646
{
36473647
OldActivePart->BootIndicator = FALSE;
3648-
OldActivePart->DiskEntry->LayoutBuffer->PartitionEntry[OldActivePart->PartitionIndex].BootIndicator = FALSE;
3648+
OldActivePart->DiskEntry->LayoutBuffer->PartitionEntry[OldActivePart->PartitionIndex].Mbr.BootIndicator = FALSE;
36493649
OldActivePart->DiskEntry->LayoutBuffer->PartitionEntry[OldActivePart->PartitionIndex].RewritePartition = TRUE;
36503650
OldActivePart->DiskEntry->Dirty = TRUE;
36513651
}
@@ -3656,7 +3656,7 @@ SetActivePartition(
36563656

36573657
/* Set the new active partition */
36583658
PartEntry->BootIndicator = TRUE;
3659-
PartEntry->DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].BootIndicator = TRUE;
3659+
PartEntry->DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].Mbr.BootIndicator = TRUE;
36603660
PartEntry->DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].RewritePartition = TRUE;
36613661
PartEntry->DiskEntry->Dirty = TRUE;
36623662

@@ -3673,7 +3673,7 @@ WritePartitions(
36733673
HANDLE FileHandle;
36743674
IO_STATUS_BLOCK Iosb;
36753675
ULONG BufferSize;
3676-
PPARTITION_INFORMATION PartitionInfo;
3676+
PPARTITION_INFORMATION_EX PartitionInfo;
36773677
ULONG PartitionCount;
36783678
PLIST_ENTRY ListEntry;
36793679
PPARTENTRY PartEntry;
@@ -3945,7 +3945,7 @@ SetMountedDeviceValue(
39453945
return FALSE;
39463946
}
39473947

3948-
MountInfo.Signature = PartEntry->DiskEntry->LayoutBuffer->Signature;
3948+
MountInfo.Signature = PartEntry->DiskEntry->LayoutBuffer->Mbr.Signature;
39493949
MountInfo.StartingOffset = GetPartEntryOffsetInBytes(PartEntry);
39503950
Status = NtSetValueKey(KeyHandle,
39513951
&ValueName,
@@ -4005,8 +4005,8 @@ SetMBRPartitionType(
40054005
PartEntry->PartitionType = PartitionType;
40064006

40074007
DiskEntry->Dirty = TRUE;
4008-
DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].PartitionType = PartitionType;
4009-
DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].RecognizedPartition = IsRecognizedPartition(PartitionType);
4008+
DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].Mbr.PartitionType = PartitionType;
4009+
DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].Mbr.RecognizedPartition = IsRecognizedPartition(PartitionType);
40104010
DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].RewritePartition = TRUE;
40114011
}
40124012

base/setup/lib/utils/partlist.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ typedef struct _DISKENTRY
140140

141141
UNICODE_STRING DriverName;
142142

143-
PDRIVE_LAYOUT_INFORMATION LayoutBuffer;
143+
PDRIVE_LAYOUT_INFORMATION_EX LayoutBuffer;
144144
// TODO: When adding support for GPT disks:
145145
// Use PDRIVE_LAYOUT_INFORMATION_EX which indicates whether
146146
// the disk is MBR, GPT, or unknown (uninitialized).
@@ -263,11 +263,11 @@ BOOLEAN
263263
IsDiskSuperFloppy2(
264264
_In_ const DISK_PARTITION_INFO* DiskInfo,
265265
_In_opt_ const ULONGLONG* DiskSize,
266-
_In_ const PARTITION_INFORMATION* PartitionInfo);
266+
_In_ const PARTITION_INFORMATION_EX* PartitionInfo);
267267

268268
BOOLEAN
269269
IsDiskSuperFloppy(
270-
_In_ const DRIVE_LAYOUT_INFORMATION* Layout,
270+
_In_ const DRIVE_LAYOUT_INFORMATION_EX* Layout,
271271
_In_opt_ const ULONGLONG* DiskSize);
272272

273273
BOOLEAN

0 commit comments

Comments
 (0)