DISK_GEOMETRY_EX structure (winioctl.h)

Describes the extended geometry of disk devices and media.

Syntax

typedef struct _DISK_GEOMETRY_EX {
  DISK_GEOMETRY Geometry;
  LARGE_INTEGER DiskSize;
  BYTE          Data[1];
} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;

Members

Geometry

A DISK_GEOMETRY structure.

DiskSize

The disk size, in bytes. See LARGE_INTEGER.

Data[1]

Any additional data. For more information, see Remarks.

Remarks

DISK_GEOMETRY_EX is a variable-length structure composed of a DISK_GEOMETRY structure followed by a DISK_PARTITION_INFO structure and a DISK_DETECTION_INFO structure. Because the detection information is not at a fixed location within the DISK_GEOMETRY_EX structure, use the following macro to access the DISK_DETECTION_INFO structure.

PDISK_DETECTION_INFO DiskGeometryGetDetect(
  PDISK_GEOMETRY_EX Geometry
);

Similarly, use the following macro to access the DISK_PARTITION_INFO structure.

PDISK_PARTITION_INFO DiskGeometryGetPartition(
  PDISK_GEOMETRY_EX Geometry
);

The information returned does not include the number of partitions nor the partition information contained in the DISK_PARTITION_INFO structure. To obtain this information, use the IOCTL_DISK_GET_DRIVE_LAYOUT_EX control code.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header winioctl.h (include Windows.h)

See also

DISK_GEOMETRY, DISK_DETECTION_INFO, DISK_PARTITION_INFO, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX