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 |