PARTITION_INFORMATION 结构 (ntdddisk.h)
PARTITION_INFORMATION 结构包含具有传统 AT 样式主启动记录 (MBR) 的分区的分区信息。
语法
typedef struct _PARTITION_INFORMATION {
LARGE_INTEGER StartingOffset;
LARGE_INTEGER PartitionLength;
ULONG HiddenSectors;
ULONG PartitionNumber;
UCHAR PartitionType;
BOOLEAN BootIndicator;
BOOLEAN RecognizedPartition;
BOOLEAN RewritePartition;
} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
成员
StartingOffset
指定分区开始位置的驱动器上的偏移量(以字节为单位)。
PartitionLength
指定分区的长度(以字节为单位)。
HiddenSectors
指定隐藏扇区的数目。
PartitionNumber
指定分区号。
PartitionType
可能的值如下:
分区类型 | 含义 |
---|---|
PARTITION_ENTRY_UNUSED | 未使用的条目 |
PARTITION_FAT_12 | 指定包含 12 位 FAT 条目的分区 |
PARTITION_XENIX_1 | 指定 XENIX 类型 1 分区 |
PARTITION_XENIX_2 | 指定 XENIX 类型 2 分区 |
PARTITION_FAT_16 | 指定包含 16 位 FAT 条目的分区。 |
PARTITION_EXTENDED | 指定 MS-DOS V4 扩展分区 |
PARTITION_HUGE | 指定 MS-DOS V4 大型分区 |
PARTITION_IFS | 指定 IFS 分区 |
PARTITION_FAT32 | 指定 FAT32 分区 |
PARTITION_FAT32_XINT13 | Windows 95/98:指定使用扩展 INT 13 服务的分区 |
PARTITION_XINT13_EXTENDED | Windows 95/98:与 PARTITION_EXTENDED 相同,但使用扩展的 INT 13 服务 |
PARTITION_PREP | 指定 PowerPC 参考平台分区 |
PARTITION_LDM | 指定逻辑磁盘管理器分区 |
PARTITION_UNIX | 指定 UNIX 分区 |
PARTITION_NTFT | 指定 NTFT 分区。 此值 (结合使用,即按位 ORed) 此表中的其他值 |
BootIndicator
当 为 TRUE 时,指示此分区是此设备的可启动 (活动) 分区。 如果 为 FALSE,则此分区不可启动。 此成员是根据 IoReadPartitionTable 返回的分区列表条目启动指示器设置的。
RecognizedPartition
当 为 TRUE 时,指示系统已识别分区的类型。 如果 为 FALSE,则系统无法识别分区的类型。
RewritePartition
当 为 TRUE 时,指示分区信息已更改。 如果 为 FALSE,则分区信息未更改。 当分区因IOCTL_DISK_SET_DRIVE_LAYOUT IOCTL 而更改时,此成员的值为 TRUE。 这会通知系统需要重写分区信息。
注解
PARTITION_INFORMATION 中的分区条目数据构成旧例程 IoReadPartitionTable 在 DRIVE_LAYOUT_INFORMATION 结构中报告的驱动器布局信息的一部分。 DRIVE_LAYOUT_INFORMATION包含其 PartitionEntry 成员指向的PARTITION_INFORMATION结构的数组。 每个分区条目都包含驱动器上分区的信息。 PARTITION_INFORMATION还与旧例程 IoSetPartitionInformation 一起使用,以更改磁盘上记录的分区的属性,例如其类型。
磁盘驱动程序现在应使用 结构DRIVE_LAYOUT_INFORMATION_EX 和 PARTITION_INFORMATION_EX 以及 例程 IoReadPartitionTableEx 和 IoSetPartitionInformationEx 来读取和更改磁盘上的分区信息。
要求
要求 | 值 |
---|---|
Header | ntdddisk.h (包括 Ntdddisk.h) |