2.5.1.3 REGION_INFO_EX

The REGION_INFO_EX structure provides information about a region.

 struct regioninfoex {
   LdmObjectId id;
   LdmObjectId diskId;
   LdmObjectId volId;
   LdmObjectId fsId;
   LONGLONG start;
   LONGLONG length;
   REGIONTYPE regionType;
   PARTITIONSTYLE partitionStyle;
   [switch_is(partitionStyle)] union {
     [case(PARTITIONSTYLE_MBR)] 
       struct {
       unsigned long partitionType;
       boolean isActive;
     } mbr;
     [case(PARTITIONSTYLE_GPT)] 
       struct {
       GUID partitionType;
       GUID partitionId;
       ULONGLONG attributes;
     } gpt;
     [default]       ;
   };
   REGIONSTATUS status;
   hyper lastKnownState;
   LdmObjectId taskId;
   unsigned long rflags;
   unsigned long currentPartitionNumber;
   int cchName;
   [size_is(cchName)] wchar_t* name;
 };
 typedef struct regioninfoex REGION_INFO_EX;

id: Specifies the region's OID.

diskId: Specifies the OID of the disk on which the region resides.

volId: Specifies the OID of the volume on the region, if any.

fsId: Specifies the OID of the file system on the region, if any.

start: Byte offset of the region on the disk.

length: Length of the region in bytes.

regionType: Value from the REGIONTYPE enumeration that indicates the region type.

partitionStyle: Value from the PARTITIONSTYLE enumeration that indicates the region's partitioning style.

(unnamed union): A union that contains either a partitionType of type ULONG and an isActive, or a partitionType of type GUID, a partitionId, and an attributes, depending on the value of partitionStyle:

partitionType: Windows NT 3.1 operating system, Windows NT 3.5 operating system, Windows NT 3.51 operating system, and Windows NT 4.0 operating system partition style for the region. This field contains one of the following values.

Value

Meaning

PARTITION_ENTRY_UNUSED

0x00

 An unused entry partition.

PARTITION_EXTENDED

0x05

 An extended partition.

PARTITION_FAT_12

0x01

 A FAT12 file system partition.

PARTITION_FAT_16

0x04

 A FAT16 file system partition.

PARTITION_FAT32

0x0B

 A FAT32 file system partition.

PARTITION_IFS

0x07

 An IFS partition.

PARTITION_LDM

0x42

 An LDM partition.

PARTITION_NTFT

0x80

 A Windows NT operating system fault-tolerant (FT) partition.

VALID_NTFT

0xC0

 A valid Windows NT FT partition.

 The high bit of a partition type code indicates that a partition is part of an NTFT mirror or striped array.

isActive: Boolean value that indicates whether the partition is active. The partition MUST be marked as active in order for the BIOS to start from the partition on x86 and x64 platforms.

Value

Meaning

FALSE

0

Partition is not active.

TRUE

1

Partition is active.

partitionType: Windows NT partition style for the disk. This field contains one of the following values.

Value

Meaning

PARTITION_BASIC_DATA_GUID

ebd0a0a2-b9e5-4433-87c0-68b6b72699c7

 The data partition type that is created and recognized by Windows.

PARTITION_ENTRY_UNUSED_GUID

00000000-0000-0000-0000-000000000000

 There is no partition.

PARTITION_SYSTEM_GUID

c12a7328-f81f-11d2-ba4b-00a0c93ec93b

 The partition is an Extensible Firmware Interface (EFI) system partition.

PARTITION_MSFT_RESERVED_GUID

e3c9e316-0b5c-4db8-817d-f92df00215ae

 The partition is a Microsoft reserved partition.

PARTITION_LDM_METADATA_GUID

5808c8aa-7e8f-42e0-85d2-e1e90434cfb3

 The partition is an LDM metadata partition on a dynamic disk.

PARTITION_LDM_DATA_GUID

af9b60a0-1431-4f62-bc68-3311714a69ad

 The partition is an LDM data partition on a dynamic disk.

PARTITION_MSFT_RECOVERY_GUID

de94bba4-06d1-4d40-a16a-bfd50179d6ac

 The partition is a Microsoft recovery partition.

partitionId: A GUID that uniquely identifies a partition on a disk.

attributes: Bitmap of partition flags.<10>

status: Value from the REGIONSTATUS enumeration that indicates the region's status.

lastKnownState: Modification sequence number of the region.

taskId: This LdmObjectId is the task identifier of the associated user request. If no request is made, the value MUST be 0.

rflags: Bitmap of region flags. The value of this field is generated by combining zero or more of the applicable flags with a logical OR operation.

Value

Meaning

REGION_FORMAT_IN_PROGRESS

0x00000001

Region is currently being formatted.

REGION_IS_SYSTEM_PARTITION

0x00000002

Region contains the system directory. The system directory has the operating system installed on it. This is not necessarily the "active" partition that contains the boot loader file.

REGION_HAS_PAGEFILE

0x00000004

Region contains the paging file.

REGION_HAD_BOOT_INI

0x00000040

Boot.ini file was located in this region when the operating system was last started. This is the "active" partition that contains the boot loader file.

REGION_HIDDEN

0x00040000

This region is part of a volume that is not accessible through any user-available path names.<11>

currentPartitionNumber: Number of the partition on the region, if any.

cchName: Length of the region's name, including the terminating null character.

name: Null-terminated name of the region.