estrutura FILE_FULL_DIR_INFORMATION (ntifs.h)
A estrutura FILE_FULL_DIR_INFORMATION é usada para consultar informações detalhadas para os arquivos em um diretório.
Sintaxe
typedef struct _FILE_FULL_DIR_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
WCHAR FileName[1];
} FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;
Membros
NextEntryOffset
Deslocamento de bytes da próxima entrada de FILE_FULL_DIR_INFORMATION , se várias entradas estiverem presentes em um buffer. Esse membro será zero se nenhuma outra entrada seguir esta.
FileIndex
Deslocamento de bytes do arquivo dentro do diretório pai. Esse membro é indefinido para sistemas de arquivos, como o NTFS, no qual a posição de um arquivo dentro do diretório pai não é fixa e pode ser alterada a qualquer momento para manter a ordem de classificação.
CreationTime
Hora que o arquivo foi criado.
LastAccessTime
Última vez em que o arquivo foi acessado.
LastWriteTime
Última vez em que as informações foram gravadas no arquivo.
ChangeTime
Última vez em que o arquivo foi alterado.
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.
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.
FileAttributes
Atributos de arquivo, que podem ser qualquer combinação válida do seguinte:
- FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_HIDDEN
- FILE_ATTRIBUTE_SYSTEM
- FILE_ATTRIBUTE_DIRECTORY
- FILE_ATTRIBUTE_ARCHIVE
- FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_TEMPORARY
- FILE_ATTRIBUTE_COMPRESSED
FileNameLength
Especifica o comprimento da cadeia de caracteres de nome de arquivo.
EaSize
Comprimento combinado, em bytes, dos atributos estendidos (EA) para o arquivo.
FileName[1]
Especifica o primeiro caractere da cadeia de caracteres de nome de arquivo. Isso é seguido na memória pelo restante da cadeia de caracteres.
Comentários
Essas informações podem ser consultadas de uma das seguintes maneiras:
Chame ZwQueryDirectoryFile, passando FileFullDirectoryInformation como o valor de FileInformationClass e passando um buffer alocado pelo chamador FILE_FULL_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.
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 |
---|---|
Cabeçalho | ntifs.h (include Ntifs.h, Fltkernel.h) |