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