// ntifs.h
typedef struct {
ULONG ByteCount;
USHORT MajorVersion;
USHORT MinorVersion;
ULONG BytesPerPhysicalSector;
USHORT LfsMajorVersion;
USHORT LfsMinorVersion;
ULONG MaxDeviceTrimExtentCount;
ULONG MaxDeviceTrimByteCount;
ULONG MaxVolumeTrimExtentCount;
ULONG MaxVolumeTrimByteCount;
} NTFS_EXTENDED_VOLUME_DATA, *PNTFS_EXTENDED_VOLUME_DATA;
View the official Windows Driver Kit DDI reference// winioctl.h
typedef struct {
DWORD ByteCount;
WORD MajorVersion;
WORD MinorVersion;
DWORD BytesPerPhysicalSector;
WORD LfsMajorVersion;
WORD LfsMinorVersion;
DWORD MaxDeviceTrimExtentCount;
DWORD MaxDeviceTrimByteCount;
DWORD MaxVolumeTrimExtentCount;
DWORD MaxVolumeTrimByteCount;
} NTFS_EXTENDED_VOLUME_DATA, *PNTFS_EXTENDED_VOLUME_DATA;
View the official Win32 API referenceNo description available.
The NTFS_EXTENDED_VOLUME_DATA structure contains extended information about an NTFS volume. It's used with the FSCTL_GET_NTFS_VOLUME_DATA control code.
ByteCountTotal bytes of the structure.
MajorVersionMajor version for an NTFS volume.
MinorVersionMinor version for an NTFS volume.
BytesPerPhysicalSectorNumber of bytes per physical sector on the device.
LfsMajorVersionMajor version of the Log File Service (LFS) used by NTFS.
LfsMinorVersionMinor version of the LFS used by NTFS.
MaxDeviceTrimExtentCountMaximum number of trim extents that the device can handle in a single trim operation.
MaxDeviceTrimByteCountMaximum number of bytes that can be trimmed in a single device trim operation.
MaxVolumeTrimExtentCountMaximum number of trim extents that the volume can handle in a single trim operation.
MaxVolumeTrimByteCountMaximum number of bytes that can be trimmed in a single volume trim operation.
Represents volume data. This structure is passed to the FSCTL_GET_NTFS_VOLUME_DATA control code.
ByteCountMajorVersionMinorVersionBytesPerPhysicalSectorLfsMajorVersionLfsMinorVersionMaxDeviceTrimExtentCountMaxDeviceTrimByteCountMaxVolumeTrimExtentCountMaxVolumeTrimByteCountThe number of bytes in a cluster on the specified volume. This value is also known as the cluster factor.
The number of bytes in a file record segment.
The number of bytes in a sector on the specified volume.
The number of clusters in a file record segment.
The number of free clusters in the specified volume.
The starting logical cluster number of the master file table mirror.
The starting logical cluster number of the master file table.
The length of the master file table, in bytes.
The ending logical cluster number of the master file table zone.
The starting logical cluster number of the master file table zone.
The number of sectors in the specified volume.
The number of used and free clusters in the specified volume.
The number of reserved clusters in the specified volume.
The serial number of the volume. This is a unique number assigned to the volume media by the operating system.
Reserved clusters are the free clusters reserved for later use by Windows.
The NTFS_VOLUME_DATA_BUFFER structure represents the basic information returned by FSCTL_GET_NTFS_VOLUME_DATA. For extended volume information, pass a buffer that is the combined size of the NTFS_VOLUME_DATA_BUFFER and NTFS_EXTENDED_VOLUME_DATA structures. Upon success, the buffer returned by FSCTL_GET_NTFS_VOLUME_DATA will contain the information associated with both structures. The NTFS_VOLUME_DATA_BUFFER structure will always be filled starting at the beginning of the buffer, with the NTFS_EXTENDED_VOLUME_DATA structure immediately following. The NTFS_EXTENDED_VOLUME_DATA structure is defined as follows:
| C++ |
|---|
typedef struct { ULONG ByteCount; USHORT MajorVersion; USHORT MinorVersion; } NTFS_EXTENDED_VOLUME_DATA, *PNTFS_EXTENDED_VOLUME_DATA; |
This structure contains the major and minor version information for an NTFS volume. The ByteCount member will return the total bytes of the output buffer used for this structure by the call to FSCTL_GET_NTFS_VOLUME_DATA. This value should be sizeof(NTFS_EXTENDED_VOLUME_DATA) if the buffer passed was large enough to hold it, otherwise the value will be less than sizeof(NTFS_EXTENDED_VOLUME_DATA).