The PARTITION_INFORMATION structure provides information about a disk partition.
typedef struct _PARTITION_INFORMATION {
    LARGE_INTEGER StartingOffset;
    LARGE_INTEGER PartitionLength;
    DWORD HiddenSectors;
    DWORD PartitionNumber;
    BYTE  PartitionType;
    BOOLEAN BootIndicator;
    BOOLEAN RecognizedPartition;
    BOOLEAN RewritePartition;
} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
 
PartitionType
| Specifies the type of partition. This member can be one of the following values: Value | Meaning | 
| PARTITION_ENTRY_UNUSED | Entry unused. | 
| PARTITION_FAT_12 | Specifies a partition with 12-bit FAT entries. | 
| PARTITION_XENIX_1 | Specifies a Xenix type 1 partition. | 
| PARTITION_XENIX_2 | Specifies a Xenix type 2 partition. | 
| PARTITION_FAT_16 | Specifies a partition with 16-bit FAT entries. | 
| PARTITION_EXTENDED | Specifies an extended partition entry. | 
| PARTITION_HUGE | Specifies an MS-DOS V4 huge partition. | 
| PARTITION_IFS | Specifies an IFS partition. | 
| PARTITION_PREP | Specifies a PowerPC Reference Platform partition. | 
| PARTITION_UNIX | Specifies a UNIX partition. | 
| VALID_NTFT | Specifies an NTFT partition. | 
| PARTITION_XINT13 | Specifies a Windows 95 partition that uses extended int13 services. | 
| PARTITION_XINT13_EXTENDED | Same as PARTITION_EXTENDED, but uses extended int13 services. | 
The DeviceIoControl function receives a PARTITION_INFORMATION structure in response to an IOCTL_DISK_GET_PARTITION_INFO or IOCTL_DISK_GET_DRIVE_LAYOUT device input and output control (IOCTL) operation. The DeviceIoControl function uses a PARTITION_INFORMATION structure as input to an IOCTL_DISK_SET_DRIVE_LAYOUT device IOCTL operation.
DeviceIoControl, IOCTL_DISK_GET_DRIVE_LAYOUT, IOCTL_DISK_GET_PARTITION_INFO, IOCTL_DISK_SET_DRIVE_LAYOUT