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