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 조합입니다.

의미
SSINFO_FLAGS_ALIGNED_DEVICE
스토리지 디바이스의 논리적 섹터는 물리적 섹터 경계에 맞춰집니다.
SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE
파티션은 스토리지 디바이스의 물리적 섹터 경계에 맞춰집니다.
SSINFO_FLAGS_NO_SEEK_PENALTY
스토리지 디바이스에는 검색 페널티가 없습니다.
SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE
스토리지 디바이스는 TRIM 작업을 지원합니다.

ByteOffsetForSectorAlignment

첫 번째 물리적 섹터 내의 첫 번째 논리 섹터 시작 부분의 오프셋(바이트)입니다. 이 멤버는 값을 계산하는 데 적절한 디바이스 정보를 사용할 수 없는 경우 SSINFO_OFFSET_UNKNOWN 로 설정됩니다.

ByteOffsetForPartitionAlignment

파티션을 실제 섹터 경계에 맞추는 데 사용되는 오프셋 값(바이트)입니다. 이 멤버는 값을 계산하는 데 적절한 디바이스 정보를 사용할 수 없는 경우 SSINFO_OFFSET_UNKNOWN 로 설정됩니다.

설명

이 정보는 다음 방법 중 하나로 쿼리할 수 있습니다.

  • FltQueryVolumeInformation 또는 ZwQueryVolumeInformationFile을 호출하여 FileFsSectorSizeInformationFileInformationClass 값으로 전달하고 호출자가 할당한 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_INFORMATIONFILE_FS_FULL_SIZE_INFORMATION 구조체의 BytesPerSector 멤버와 동일합니다.

시스템이 스토리지 디바이스에서 PhysicalBytesPerSectorForAtomicityPhysicalBytesPerSectorForPerformance에 대한 값을 확인할 수 없는 경우 LogicalBytesPerSector 값으로 설정됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 이 구조는 Windows 7부터 사용할 수 있습니다.
머리글 ntddk.h(Ntddk.h, Ntifs.h, Fltkernel.h 포함)

추가 정보

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_SIZE_INFORMATION

FltQueryVolumeInformation

FsRtlGetSectorSizeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile