NTFS_EXTENDED_VOLUME_DATA - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// 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 reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-ntifs-ntfs_extended_volume_data)

Description

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.

Members

ByteCount

Total bytes of the structure.

MajorVersion

Major version for an NTFS volume.

MinorVersion

Minor version for an NTFS volume.

BytesPerPhysicalSector

Number of bytes per physical sector on the device.

LfsMajorVersion

Major version of the Log File Service (LFS) used by NTFS.

LfsMinorVersion

Minor version of the LFS used by NTFS.

MaxDeviceTrimExtentCount

Maximum number of trim extents that the device can handle in a single trim operation.

MaxDeviceTrimByteCount

Maximum number of bytes that can be trimmed in a single device trim operation.

MaxVolumeTrimExtentCount

Maximum number of trim extents that the volume can handle in a single trim operation.

MaxVolumeTrimByteCount

Maximum number of bytes that can be trimmed in a single volume trim operation.

See also

FSCTL_GET_NTFS_VOLUME_DATA

NTFS_VOLUME_DATA_BUFFER


Win32 API reference (ns-winioctl-ntfs_extended_volume_data)

NTFS_EXTENDED_VOLUME_DATA structure

Description

Represents volume data. This structure is passed to the FSCTL_GET_NTFS_VOLUME_DATA control code.

Members

ByteCount

MajorVersion

MinorVersion

BytesPerPhysicalSector

LfsMajorVersion

LfsMinorVersion

MaxDeviceTrimExtentCount

MaxDeviceTrimByteCount

MaxVolumeTrimExtentCount

MaxVolumeTrimByteCount

- BytesPerCluster

The number of bytes in a cluster on the specified volume. This value is also known as the cluster factor.

- BytesPerFileRecordSegment

The number of bytes in a file record segment.

- BytesPerSector

The number of bytes in a sector on the specified volume.

- ClustersPerFileRecordSegment

The number of clusters in a file record segment.

- FreeClusters

The number of free clusters in the specified volume.

- Mft2StartLcn

The starting logical cluster number of the master file table mirror.

- MftStartLcn

The starting logical cluster number of the master file table.

- MftValidDataLength

The length of the master file table, in bytes.

- MftZoneEnd

The ending logical cluster number of the master file table zone.

- MftZoneStart

The starting logical cluster number of the master file table zone.

- NumberSectors

The number of sectors in the specified volume.

- TotalClusters

The number of used and free clusters in the specified volume.

- TotalReserved

The number of reserved clusters in the specified volume.

- VolumeSerialNumber

The serial number of the volume. This is a unique number assigned to the volume media by the operating system.

Remarks

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).

See also

FSCTL_GET_NTFS_VOLUME_DATA