FILE_FS_SECTOR_SIZE_INFORMATION 構造体 (ntddk.h)
FILE_FS_SECTOR_SIZE_INFORMATION構造は、ファイル・システム・ボリュームの物理セクター・サイズおよび論理セクター・サイズ情報の照会に使用されます。
構文
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;
メンバー
LogicalBytesPerSector
物理ストレージによって報告されるセクターあたりの論理バイト数。 これは、論理ブロック アドレス指定 (LBA) に使用されるブロック サイズと同じ値です。
PhysicalBytesPerSectorForAtomicity
アトミック書き込みに使用される物理ストレージによって報告されるセクターあたりの実際のバイト数。
PhysicalBytesPerSectorForPerformance
最適なパフォーマンスを得るための物理ストレージによって報告されるセクターあたりのバイト数。
FileSystemEffectivePhysicalBytesPerSectorForAtomicity
PhysicalBytesPerSectorForAtomicity の部分は、ファイル システムによって物理セクター サイズと見なされます。
Flags
セクターの配置とパフォーマンス機能のフラグ。 この値は、次のビットごとの OR の組み合わせです。
ByteOffsetForSectorAlignment
最初の物理セクター内の最初の論理セクターの先頭のオフセット (バイト単位)。 適切なデバイス情報を使用して値を計算できない場合、このメンバーは SSINFO_OFFSET_UNKNOWN に設定されます。
ByteOffsetForPartitionAlignment
パーティションを物理セクターの境界に合わせるために使用されるオフセット値 (バイト単位)。 適切なデバイス情報を使用して値を計算できない場合、このメンバーは SSINFO_OFFSET_UNKNOWN に設定されます。
注釈
この情報は、次のいずれかの方法で照会できます。
- FltQueryVolumeInformation または ZwQueryVolumeInformationFile を呼び出し、FileFsSectorSizeInformationを FileInformationClass の値として渡し、呼び出し元によって割り当てられたFILE_FS_SECTOR_SIZE_INFORMATION構造化バッファーを FileInformation の値として渡します。
- 主要な関数コード IRP_MJ_QUERY_VOLUME_INFORMATIONを使用して IRP を作成します。
- FILE_FS_SECTOR_SIZE_INFORMATION構造化バッファーへのポインターを使用して FsRtlGetSectorSizeInformation を呼び出します。 FileSystemEffectivePhysicalBytesPerSectorForAtomicity メンバーは、この構造体が FsRtlGetSectorSizeInformation から返されるときに、ファイル システムによって初期化された値を持っていません。 通常、ファイル システム ドライバーはこの関数を呼び出し、 FileSystemEffectivePhysicalBytesPerSectorForAtomicity に独自の値を設定します。
FileInformation パラメーターで FltQueryVolumeInformation または ZwQueryVolumeInformationFile に渡されるバッファーのサイズは、少なくとも sizeof (FILE_FS_SECTOR_SIZE_INFORMATION) である必要があります。
ファイル システムは LogicalBytesPerSector の値を使用して、割り当て単位のサイズを決定します。 この構造体の LogicalBytesPerSector メンバーは、FILE_FS_SIZE_INFORMATION および FILE_FS_FULL_SIZE_INFORMATION 構造体の BytesPerSector メンバーと同じです。
システムがストレージ デバイスから PhysicalBytesPerSectorForAtomicity と PhysicalBytesPerSectorForPerformance の値を特定できない場合は、LogicalBytesPerSector の値に設定されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | この構造は、Windows 7 以降で使用できます。 |
Header | ntddk.h (Ntddk.h、Ntifs.h、Fltkernel.h を含む) |