Partager via


structure FILE_FS_SECTOR_SIZE_INFORMATION (ntddk.h)

La structure FILE_FS_SECTOR_SIZE_INFORMATION est utilisée pour interroger les informations de taille de secteur physique et logique d’un volume de système de fichiers.

Syntaxe

typedef struct _FILE_FS_SECTOR_SIZE_INFORMATION {
  ULONG LogicalBytesPerSector;
  ULONG PhysicalBytesPerSectorForAtomicity;
  ULONG PhysicalBytesPerSectorForPerformance;
  ULONG FileSystemEffectivePhysicalBytesPerSectorForAtomicity;
  ULONG Flags;
  ULONG ByteOffsetForSectorAlignment;
  ULONG ByteOffsetForPartitionAlignment;
} FILE_FS_SECTOR_SIZE_INFORMATION, *PFILE_FS_SECTOR_SIZE_INFORMATION;

Membres

LogicalBytesPerSector

Octets logiques par secteur signalés par le stockage physique. Il s’agit de la même valeur que la taille de bloc utilisée pour l’adressage de bloc logique (LBA).

PhysicalBytesPerSectorForAtomicity

Octets réels par secteur signalés par le stockage physique utilisé pour une écriture atomique.

PhysicalBytesPerSectorForPerformance

Octets par secteur signalés par le stockage physique pour de meilleures performances.

FileSystemEffectivePhysicalBytesPerSectorForAtomicity

Partie de PhysicalBytesPerSectorForAtomicity considérée comme la taille du secteur physique par le système de fichiers.

Flags

Indicateurs pour l’alignement du secteur et les fonctionnalités de performances. Cette valeur est une combinaison OR au niveau du bit des éléments suivants :

Valeur Signification
SSINFO_FLAGS_ALIGNED_DEVICE
Les secteurs logiques du périphérique de stockage sont alignés sur les limites du secteur physique.
SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE
La partition est alignée sur les limites du secteur physique sur le périphérique de stockage.
SSINFO_FLAGS_NO_SEEK_PENALTY
Le périphérique de stockage n’a aucune pénalité de recherche.
SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE
Le périphérique de stockage prend en charge l’opération TRIM.

ByteOffsetForSectorAlignment

Décalage, en octets, du début du premier secteur logique dans le premier secteur physique. Ce membre est défini sur SSINFO_OFFSET_UNKNOWN si les informations appropriées sur l’appareil ne sont pas disponibles pour calculer la valeur.

ByteOffsetForPartitionAlignment

Valeur de décalage, en octets, utilisée pour aligner la partition sur une limite de secteur physique. Ce membre est défini sur SSINFO_OFFSET_UNKNOWN si les informations appropriées sur l’appareil ne sont pas disponibles pour calculer la valeur.

Remarques

Ces informations peuvent être interrogées de l’une des manières suivantes :

  • Appelez FltQueryVolumeInformation ou ZwQueryVolumeInformationFile, en passant FileFsSectorSizeInformation comme valeur de FileInformationClass et en transmettant une mémoire tampon FILE_FS_SECTOR_SIZE_INFORMATION structurée par l’appelant comme valeur de FileInformation.
  • Créez un IRP avec le code de fonction principal IRP_MJ_QUERY_VOLUME_INFORMATION.
  • Appelez FsRtlGetSectorSizeInformation avec un pointeur vers une mémoire tampon FILE_FS_SECTOR_SIZE_INFORMATION structurée. Le membre FileSystemEffectivePhysicalBytesPerSectorForAtomicity n’aura pas de valeur initialisée par le système de fichiers lorsque cette structure est retournée par FsRtlGetSectorSizeInformation. Un pilote de système de fichiers appelle généralement cette fonction, puis définit sa propre valeur pour FileSystemEffectivePhysicalBytesPerSectorForAtomicity.
Aucun droit d’accès spécifique n’est requis pour interroger ces informations. Par conséquent, ces informations sont disponibles tant que le volume est accessible via un handle ouvert au volume lui-même, ou à un fichier ou un répertoire sur le volume.

La taille de la mémoire tampon passée dans le paramètre FileInformation à FltQueryVolumeInformation ou ZwQueryVolumeInformationFile doit être au moins sizeof (FILE_FS_SECTOR_SIZE_INFORMATION).

Le système de fichiers utilise la valeur de LogicalBytesPerSector pour déterminer la taille d’une unité d’allocation. Le membre LogicalBytesPerSector de cette structure est équivalent au membre BytesPerSector des structures FILE_FS_SIZE_INFORMATION et FILE_FS_FULL_SIZE_INFORMATION .

Si le système ne parvient pas à déterminer les valeurs pour PhysicalBytesPerSectorForAtomicity et PhysicalBytesPerSectorForPerformance à partir du périphérique de stockage, ils sont définis sur la valeur LogicalBytesPerSector.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Cette structure est disponible à partir de Windows 7.
En-tête ntddk.h (inclure Ntddk.h, Ntifs.h, Fltkernel.h)

Voir aussi

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_SIZE_INFORMATION

FltQueryVolumeInformation

FsRtlGetSectorSizeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile