estrutura FILE_FS_FULL_SIZE_INFORMATION_EX (ntddk.h)

Usado em uma solicitação para consultar informações de tamanho do setor para um volume do sistema de arquivos.

Sintaxe

typedef struct _FILE_FS_FULL_SIZE_INFORMATION_EX {
  ULONGLONG ActualTotalAllocationUnits;
  ULONGLONG ActualAvailableAllocationUnits;
  ULONGLONG ActualPoolUnavailableAllocationUnits;
  ULONGLONG CallerTotalAllocationUnits;
  ULONGLONG CallerAvailableAllocationUnits;
  ULONGLONG CallerPoolUnavailableAllocationUnits;
  ULONGLONG UsedAllocationUnits;
  ULONGLONG TotalReservedAllocationUnits;
  ULONGLONG VolumeStorageReserveAllocationUnits;
  ULONGLONG AvailableCommittedAllocationUnits;
  ULONGLONG PoolAvailableAllocationUnits;
  ULONG     SectorsPerAllocationUnit;
  ULONG     BytesPerSector;
} FILE_FS_FULL_SIZE_INFORMATION_EX, *PFILE_FS_FULL_SIZE_INFORMATION_EX;

Membros

ActualTotalAllocationUnits

Espaço total (em clusters) no volume sem considerar a configuração de cota.

ActualAvailableAllocationUnits

Espaço total disponível (em clusters) no volume (em clusters) sem considerar a configuração de cota.

ActualPoolUnavailableAllocationUnits

Espaço total indisponível (em clusters) para o volume devido ao espaço livre insuficiente no pool indicado por PoolAvailableAllocationUnits.

CallerTotalAllocationUnits

Espaço total (em clusters) no volume, incluindo espaço disponível, indisponível, usado e reservado.

CallerAvailableAllocationUnits

Espaço total (em clusters) no volume que está disponível para o usuário associado ao thread de chamada.

CallerPoolUnavailableAllocationUnits

Espaço total (em clusters) que é o espaço indisponível para o volume devido a espaço livre insuficiente no pool.

UsedAllocationUnits

Espaço total usado (em clusters) no volume.

TotalReservedAllocationUnits

Espaço reservado total (em clusters) no volume.

VolumeStorageReserveAllocationUnits

Um tipo especial de espaço reservado (em clusters) para reserva de armazenamento por volume. Esse valor está incluído em TotalReservedAllocationUnits.

AvailableCommittedAllocationUnits

Espaço total (em clusters) que foi confirmado pelo pool de armazenamento, mas não foi alocado pelo sistema de arquivos.

PoolAvailableAllocationUnits

Espaço total disponível (em clusters) no pool de armazenamento correspondente. Se o volume não for um volume de espaços, o PoolAvailableAllocationUnits será definido como zero.

SectorsPerAllocationUnit

Número de setores em cada unidade de alocação.

BytesPerSector

Número de bytes em cada setor.

Comentários

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

  • Chame FltQueryVolumeInformation ou ZwQueryVolumeInformationFile, passando FileFsFullSizeInformationEx como o valor de FileInformationClass e passando um buffer alocado pelo chamador FILE_FS_FULL_SIZE_INFORMATION_EX estruturado como o valor de FileInformation.

  • Crie um IRP com o código de função principal IRP_MJ_QUERY_VOLUME_INFORMATION.

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

Essa estrutura deve ser alinhada em um limite LONGLONG (8 bytes).

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1809
Cabeçalho ntddk.h (include wdm.h)

Confira também

FltQueryVolumeInformation

ZwQueryVolumeInformationFile