estrutura FILE_FS_SECTOR_SIZE_INFORMATION (ntddk.h)

A estrutura FILE_FS_SECTOR_SIZE_INFORMATION é usada para consultar informações de tamanho do setor físico e lógico para um volume do sistema de arquivos.

Sintaxe

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;

Membros

LogicalBytesPerSector

Bytes lógicos por setor relatados pelo armazenamento físico. Esse é o mesmo valor do tamanho do bloco usado para LBA (Endereçamento de Bloco Lógico).

PhysicalBytesPerSectorForAtomicity

Bytes reais por setor relatados pelo armazenamento físico usado para uma gravação atômica.

PhysicalBytesPerSectorForPerformance

Bytes por setor relatados pelo armazenamento físico para melhor desempenho.

FileSystemEffectivePhysicalBytesPerSectorForAtomicity

A parte de PhysicalBytesPerSectorForAtomicity considerada como o tamanho do setor físico pelo sistema de arquivos.

Flags

Sinalizadores para funcionalidades de alinhamento e desempenho do setor. Esse valor é uma combinação OR bit a bit do seguinte:

Valor Significado
SSINFO_FLAGS_ALIGNED_DEVICE
Os setores lógicos do dispositivo de armazenamento estão alinhados aos limites do setor físico.
SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE
A partição está alinhada aos limites do setor físico no dispositivo de armazenamento.
SSINFO_FLAGS_NO_SEEK_PENALTY
O dispositivo de armazenamento não tem nenhuma penalidade de busca.
SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE
O dispositivo de armazenamento dá suporte à operação TRIM.

ByteOffsetForSectorAlignment

O deslocamento, em bytes, do início do primeiro setor lógico no primeiro setor físico. Esse membro será definido como SSINFO_OFFSET_UNKNOWN se as informações adequadas do dispositivo não estiverem disponíveis para calcular o valor.

ByteOffsetForPartitionAlignment

O valor de deslocamento, em bytes, usado para alinhar a partição a um limite do setor físico. Esse membro será definido como SSINFO_OFFSET_UNKNOWN se as informações adequadas do dispositivo não estiverem disponíveis para calcular o valor.

Comentários

Essas informações podem ser consultadas de qualquer uma das seguintes maneiras:

  • Chame FltQueryVolumeInformation ou ZwQueryVolumeInformationFile, passando FileFsSectorSizeInformation como o valor de FileInformationClass e passando um buffer alocado pelo chamador FILE_FS_SECTOR_SIZE_INFORMATION estruturado como o valor de FileInformation.
  • Crie um IRP com o código de função principal IRP_MJ_QUERY_VOLUME_INFORMATION.
  • Chame FsRtlGetSectorSizeInformation com um ponteiro para um buffer estruturado em FILE_FS_SECTOR_SIZE_INFORMATION. O membro FileSystemEffectivePhysicalBytesPerSectorForAtomicity não terá um valor inicializado pelo sistema de arquivos quando essa estrutura for retornada de FsRtlGetSectorSizeInformation. Um driver do sistema de arquivos normalmente chamará essa função e definirá seu próprio valor para FileSystemEffectivePhysicalBytesPerSectorForAtomicity.
Nenhum direito de acesso específico é necessário para consultar essas informações. Portanto, essas informações estão disponíveis desde que o volume seja acessado por meio de um identificador aberto para o próprio volume ou para um arquivo ou diretório no volume.

O tamanho do buffer passado no parâmetro FileInformation para FltQueryVolumeInformation ou ZwQueryVolumeInformationFile deve ser pelo menos sizeof (FILE_FS_SECTOR_SIZE_INFORMATION).

O sistema de arquivos usa o valor de LogicalBytesPerSector para determinar o tamanho de uma unidade de alocação. O membro LogicalBytesPerSector dessa estrutura é equivalente ao membro BytesPerSector das estruturas FILE_FS_SIZE_INFORMATION e FILE_FS_FULL_SIZE_INFORMATION .

Se o sistema não conseguir determinar valores para PhysicalBytesPerSectorForAtomicity e PhysicalBytesPerSectorForPerformance do dispositivo de armazenamento, eles serão definidos como o valor de LogicalBytesPerSector.

Requisitos

Requisito Valor
Cliente mínimo com suporte Essa estrutura está disponível a partir do Windows 7.
Cabeçalho ntddk.h (inclua Ntddk.h, Ntifs.h, Fltkernel.h)

Confira também

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_SIZE_INFORMATION

FltQueryVolumeInformation

FsRtlGetSectorSizeInformation

IRP_MJ_QUERY_VOLUME_INFORMATION

ZwQueryVolumeInformationFile