Compartilhar via


estrutura FILE_STAT_BASIC_INFORMATION (ntifs.h)

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 o identificador 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 setor ou do tamanho do cluster do dispositivo físico subjacente.

EndOfFile

A nova posição de fim de arquivo absoluta como um deslocamento de bytes desde o 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

Especifica a marca para um ponto de nova análise. Consulte Sobre os 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 de arquivo de 128 bytes para o arquivo. Esse número é gerado e atribuído ao arquivo pelo sistema de arquivos.

Observações

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

  • Chame ZwQueryDirectoryFile, passando FileStatBasicInformation como o valor de FileInformationClass e passando um buffer alocado por um chamador, FILE_ID_EXTD_DIR_INFORMATIONestruturado como o valor de FileInformation.

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

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 em um sistema de arquivos estático. Eles não têm garantia de serem exclusivos ao longo do tempo, pois os sistemas de arquivos são livres para reutilizá-los. Também não há garantia de que eles 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 em formato absoluto de tempo 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 nextEntryOffset valor em cada entrada, exceto o último, cairá em um limite de 8 bytes.

Requisitos

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

Consulte também

FILE_INFORMATION_CLASS

ZwQueryInformationByName