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