FILE_FS_SECTOR_SIZE_INFORMATION-Struktur (ntddk.h)

Die FILE_FS_SECTOR_SIZE_INFORMATION-Struktur wird verwendet, um informationen zur physischen und logischen Sektorgröße für ein Dateisystemvolume abzufragen.

Syntax

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;

Member

LogicalBytesPerSector

Logische Bytes pro Sektor, die vom physischen Speicher gemeldet werden. Dies ist der gleiche Wert wie die Blockgröße für die Logische Blockadressierung (Logical Block Addressing, LBA).

PhysicalBytesPerSectorForAtomicity

Tatsächliche Bytes pro Sektor, die vom physischen Speicher gemeldet werden, der für einen atomaren Schreibvorgang verwendet wird.

PhysicalBytesPerSectorForPerformance

Bytes pro Sektor, die vom physischen Speicher gemeldet werden, um eine optimale Leistung zu erzielen.

FileSystemEffectivePhysicalBytesPerSectorForAtomicity

Der Teil von PhysicalBytesPerSectorForAtomicity , der vom Dateisystem als physische Sektorgröße betrachtet wird.

Flags

Flags für Sektorausrichtung und Leistungsfunktionen. Dieser Wert ist eine bitweise OR-Kombination aus folgendem:

Wert Bedeutung
SSINFO_FLAGS_ALIGNED_DEVICE
Logische Sektoren des Speichergeräts sind an physischen Sektorgrenzen ausgerichtet.
SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE
Die Partition ist auf physische Sektorengrenzen auf dem Speichergerät ausgerichtet.
SSINFO_FLAGS_NO_SEEK_PENALTY
Für das Speichergerät gibt es keine Suchstrafe.
SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE
Das Speichergerät unterstützt den TRIM-Vorgang.

ByteOffsetForSectorAlignment

Der Offset (in Bytes) des Beginns des ersten logischen Sektors innerhalb des ersten physischen Sektors. Dieser Member ist auf SSINFO_OFFSET_UNKNOWN festgelegt, wenn keine richtigen Geräteinformationen zum Berechnen des Werts verfügbar sind.

ByteOffsetForPartitionAlignment

Der Offsetwert in Bytes, der verwendet wird, um die Partition an einer physischen Sektorgrenze auszurichten. Dieser Member ist auf SSINFO_OFFSET_UNKNOWN festgelegt, wenn keine richtigen Geräteinformationen zum Berechnen des Werts verfügbar sind.

Hinweise

Diese Informationen können auf eine der folgenden Arten abgefragt werden:

  • Rufen Sie FltQueryVolumeInformation oder ZwQueryVolumeInformationFile auf, übergeben Sie FileFsSectorSizeInformation als Wert von FileInformationClass , und übergeben Sie einen aufruferseitig zugewiesenen, FILE_FS_SECTOR_SIZE_INFORMATION strukturierten Puffer als Wert von FileInformation.
  • Erstellen Sie eine IRP mit hauptfunktionscode IRP_MJ_QUERY_VOLUME_INFORMATION.
  • Rufen Sie FsRtlGetSectorSizeInformation mit einem Zeiger auf einen FILE_FS_SECTOR_SIZE_INFORMATION strukturierten Puffer auf. Das FileSystemEffectivePhysicalBytesPerSectorForAtomicity-Element verfügt nicht über einen wert, der vom Dateisystem initialisiert wird, wenn diese Struktur von FsRtlGetSectorSizeInformation zurückgegeben wird. Ein Dateisystemtreiber ruft diese Funktion in der Regel auf und legt dann einen eigenen Wert für FileSystemEffectivePhysicalBytesPerSectorForAtomicity fest.
Zum Abfragen dieser Informationen sind keine spezifischen Zugriffsrechte erforderlich. Daher sind diese Informationen verfügbar, solange auf das Volume über ein geöffnetes Handle auf das Volume selbst oder auf eine Datei oder ein Verzeichnis auf dem Volume zugegriffen wird.

Die Größe des Puffers, der im FileInformation-Parameter an FltQueryVolumeInformation oder ZwQueryVolumeInformationFile übergeben wird, muss mindestens sizeof (FILE_FS_SECTOR_SIZE_INFORMATION) sein.

Das Dateisystem verwendet den Wert von LogicalBytesPerSector , um die Größe einer Zuordnungseinheit zu bestimmen. Das LogicalBytesPerSector-Element dieser Struktur entspricht dem BytesPerSector-Element der FILE_FS_SIZE_INFORMATION - und FILE_FS_FULL_SIZE_INFORMATION-Strukturen .

Wenn das System vom Speichergerät keine Werte für PhysicalBytesPerSectorForAtomicity und PhysicalBytesPerSectorForPerformance ermitteln kann, werden sie auf den Wert von LogicalBytesPerSector festgelegt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Diese Struktur ist ab Windows 7 verfügbar.
Kopfzeile ntddk.h (include Ntddk.h, Ntifs.h, Fltkernel.h)

Weitere Informationen

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_SIZE_INFORMATION

FltQueryVolumeInformation

FsRtlGetSectorSizeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile