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分区条目数据构成了 DRIVE_LAYOUT_INFORMATION 结构中由旧例程 IoReadPartitionTable 报告的驱动器布局信息的一部分。 DRIVE_LAYOUT_INFORMATION包含其 PartitionEntry 成员指向的PARTITION_INFORMATION结构的数组。 每个分区条目都包含驱动器上分区的信息。 PARTITION_INFORMATION还与旧例程一起使用,IoSetPartitionInformation 更改分区的属性(例如其类型)记录在磁盘上。
磁盘驱动程序现在应使用结构 DRIVE_LAYOUT_INFORMATION_EX 和 PARTITION_INFORMATION_EX 以及 IoReadPartitionTableEx 和 IoSetPartitionInformationEx 来读取和更改磁盘上的分区信息。
要求
要求 | 价值 |
---|---|
标头 | ntdddisk.h (包括 Ntdddisk.h) |