estrutura FILE_STAT_BASIC_INFORMATION (ntifs.h)

Importante

Algumas informações estão relacionadas a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.

FILE_STAT_BASIC_INFORMATION contém metadados básicos sobre um arquivo.

Sintaxe

typedef struct _FILE_STAT_BASIC_INFORMATION {
  LARGE_INTEGER FileId;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER AllocationSize;
  LARGE_INTEGER EndOfFile;
  ULONG         FileAttributes;
  ULONG         ReparseTag;
  ULONG         NumberOfLinks;
  ULONG         DeviceType;
  ULONG         DeviceCharacteristics;
  ULONG         Reserved;
  LARGE_INTEGER VolumeSerialNumber;
  FILE_ID_128   FileId128;
} FILE_STAT_BASIC_INFORMATION, *PFILE_STAT_BASIC_INFORMATION;

Membros

FileId

Especifica a ID de um arquivo.

CreationTime

Especifica a hora de criação de um arquivo.

LastAccessTime

Especifica a última vez que um arquivo foi acessado.

LastWriteTime

Especifica a última vez em que um arquivo foi gravado.

ChangeTime

Especifica a última vez que um arquivo foi alterado.

AllocationSize

Tamanho da alocação de arquivo, em bytes. Normalmente, esse valor é um múltiplo do tamanho do setor ou do cluster do dispositivo físico subjacente.

EndOfFile

Nova posição absoluta de fim de arquivo como um deslocamento de bytes do início do arquivo. EndOfFile especifica o deslocamento de bytes até o final do arquivo. Como esse valor é baseado em zero, ele realmente se refere ao primeiro byte gratuito no arquivo. Em outras palavras, EndOfFile é o deslocamento para o byte imediatamente após o último byte válido no arquivo.

FileAttributes

Atributos de arquivo, que podem ser qualquer combinação válida do seguinte:

Atributo Valor
FILE_ATTRIBUTE_READONLY 0x00000001
FILE_ATTRIBUTE_HIDDEN 0x00000002
FILE_ATTRIBUTE_SYSTEM 0x00000004
FILE_ATTRIBUTE_DIRECTORY 0x00000010
FILE_ATTRIBUTE_ARCHIVE 0x00000020
FILE_ATTRIBUTE_NORMAL 0x00000080

ReparseTag

Marca de ponto de nova análise. Consulte Sobre pontos de nova análise para obter mais informações.

NumberOfLinks

Especifica o número de links para o arquivo.

DeviceType

Definido quando um driver chama IoCreateDevice conforme apropriado para o tipo de dispositivo subjacente. Para obter mais informações, consulte Especificando tipos de dispositivo.

DeviceCharacteristics

As características do dispositivo. Para obter uma descrição dos valores relevantes, consulte DEVICE_OBJECT.

Reserved

Reservado para uso do sistema.

VolumeSerialNumber

Número de série do volume em que o arquivo está localizado.

FileId128

O número de referência do arquivo de 128 bytes para o arquivo. Esse número é gerado e atribuído ao arquivo pelo sistema de arquivos.

Comentários

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

  • Chame ZwQueryDirectoryFile, passando FileStatBasicInformation como o valor de FileInformationClass e passando um buffer alocado pelo chamador FILE_ID_EXTD_DIR_INFORMATION estruturado como o valor de FileInformation.

  • Crie um IRP com código de função principal IRP_MJ_DIRECTORY_CONTROL e código de função secundária IRP_MN_QUERY_DIRECTORY.

Nenhum direito de acesso específico é necessário para consultar essas informações.

Os números de referência de arquivo, também chamados de IDs de arquivo, têm a garantia de serem exclusivos somente dentro de um sistema de arquivos estático. Não há garantia de que eles sejam exclusivos ao longo do tempo, pois os sistemas de arquivos são livres para reutilizá-los. Também não há garantia de que permaneçam constantes. Por exemplo, o sistema de arquivos FAT gera o número de referência de arquivo para um arquivo do deslocamento de bytes do registro de entrada de diretório do arquivo (DIRENT) no disco. A desfragmentação pode alterar esse deslocamento de bytes. Portanto, um número de referência de arquivo FAT pode ser alterado ao longo do tempo.

Todas as datas e horas estão no formato absoluto de hora do sistema. A hora absoluta do sistema é o número de intervalos de 100 nanossegundos desde o início do ano 1601.

Essa estrutura deve ser alinhada em um limite LONGLONG (8 bytes). Se um buffer contiver duas ou mais dessas estruturas, o valor NextEntryOffset em cada entrada, exceto a última, se enquadra em um limite de 8 bytes.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 24H2
Cabeçalho ntifs.h

Confira também

FILE_INFORMATION_CLASS

**ZwQueryInformationByName **