// ntddvol.h
typedef struct _VOLUME_DISK_EXTENTS {
ULONG NumberOfDiskExtents;
DISK_EXTENT Extents[ANYSIZE_ARRAY];
} VOLUME_DISK_EXTENTS, *PVOLUME_DISK_EXTENTS;
View the official Windows Driver Kit DDI reference// winioctl.h
typedef struct _VOLUME_DISK_EXTENTS {
DWORD NumberOfDiskExtents;
DISK_EXTENT Extents[ANYSIZE_ARRAY];
} VOLUME_DISK_EXTENTS, *PVOLUME_DISK_EXTENTS;
View the official Win32 API referenceNo description available.
The VOLUME_DISK_EXTENTS structure is used in conjunction with the IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS request to retrieve information about all the extents on a given volume.
NumberOfDiskExtentsIndicates the number of extents that comprise the volume, which can span multiple disks.
ExtentsIndicates the number of extents that comprise the volume, which can span multiple disks.
IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
disk extent
Represents a physical location on a disk. It is the output buffer for the IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS control code.
NumberOfDiskExtentsThe number of disks in the volume (a volume can span multiple disks).
An extent is a contiguous run of sectors on one disk. When the number of extents returned is greater than one (1), the error code ERROR_MORE_DATA is returned. You should call DeviceIoControl again, allocating enough buffer space based on the value of NumberOfDiskExtents after the first DeviceIoControl call.
ExtentsAn array of DISK_EXTENT structures.
IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS