// ntdddisk.h
typedef struct _DISK_GEOMETRY {
LARGE_INTEGER Cylinders;
MEDIA_TYPE MediaType;
ULONG TracksPerCylinder;
ULONG SectorsPerTrack;
ULONG BytesPerSector;
} DISK_GEOMETRY, *PDISK_GEOMETRY;
View the official Windows Driver Kit DDI reference// winioctl.h
typedef struct _DISK_GEOMETRY {
LARGE_INTEGER Cylinders;
MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
} DISK_GEOMETRY, *PDISK_GEOMETRY;
View the official Win32 API referenceNo description available.
The DISK_GEOMETRY structure is obsolete and provided only to support existing drivers. New drivers must use DISK_GEOMETRY_EX. DISK_GEOMETRY is used in conjunction with the IOCTL_DISK_GET_DRIVE_GEOMETRY and the IOCTL_DISK_GET_MEDIA_TYPES requests, in order to retrieve information about the geometry of a physical disk.
CylindersIndicates the number of cylinders on the disk device.
MediaTypeIndicates the type of disk. The enumeration MEDIA_TYPE lists the values that can be assigned to this member.
TracksPerCylinderIndicates the number of tracks in a cylinder.
SectorsPerTrackIndicates the number of sectors in each track.
BytesPerSectorIndicates the number of bytes in a disk sector.
DISK_GEOMETRY_EX must be used with new drivers, in order to accommodate GUID Partition Table (GPT) partitions. The DISK_GEOMETRY structure is nested within the DISK_GEOMETRY_EX structure.
IOCTL_DISK_GET_MEDIA_TYPES causes an array of these structures to be returned.
Describes the geometry of disk devices and media.
CylindersThe number of cylinders. See LARGE_INTEGER.
MediaTypeThe type of media. For a list of values, see MEDIA_TYPE.
TracksPerCylinderThe number of tracks per cylinder.
SectorsPerTrackThe number of sectors per track.
BytesPerSectorThe number of bytes per sector.
IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_STORAGE_GET_MEDIA_TYPES, MEDIA_TYPE