estrutura FILE_ID_BOTH_DIR_INFO (winbase.h)

Contém informações sobre arquivos no diretório especificado. Usado para identificadores de diretório. Use somente ao chamar GetFileInformationByHandleEx. O número de arquivos retornados para cada chamada para GetFileInformationByHandleEx depende do tamanho do buffer que é passado para a função. Todas as chamadas subsequentes para GetFileInformationByHandleEx no mesmo identificador retomarão a operação de enumeração depois que o último arquivo for retornado.

Sintaxe

typedef struct _FILE_ID_BOTH_DIR_INFO {
  DWORD         NextEntryOffset;
  DWORD         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  DWORD         FileAttributes;
  DWORD         FileNameLength;
  DWORD         EaSize;
  CCHAR         ShortNameLength;
  WCHAR         ShortName[12];
  LARGE_INTEGER FileId;
  WCHAR         FileName[1];
} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;

Membros

NextEntryOffset

O deslocamento para o próximo FILE_ID_BOTH_DIR_INFO estrutura retornada. Contém zero (0) se nenhuma outra entrada seguir esta.

FileIndex

O deslocamento de bytes do arquivo no 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

A hora em que o arquivo foi criado.

LastAccessTime

A hora em que o arquivo foi acessado pela última vez.

LastWriteTime

A hora em que o arquivo foi gravado pela última vez.

ChangeTime

A hora em que o arquivo foi alterado pela última vez.

EndOfFile

A nova posição absoluta do fim do arquivo como um deslocamento de bytes do início do arquivo 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 que segue imediatamente o último byte válido no arquivo.

AllocationSize

O número de bytes alocados para o arquivo. Esse valor geralmente é um múltiplo do setor ou do tamanho do cluster do dispositivo físico subjacente.

FileAttributes

Os atributos de arquivo. Esse membro pode ser qualquer combinação válida dos seguintes atributos:

FILE_ATTRIBUTE_ARCHIVE (0x00000020)

FILE_ATTRIBUTE_COMPRESSED (0x00000800)

FILE_ATTRIBUTE_DIRECTORY (0x00000010)

FILE_ATTRIBUTE_HIDDEN (0x00000002)

FILE_ATTRIBUTE_NORMAL (0x00000080)

FILE_ATTRIBUTE_READONLY (0x00000001)

FILE_ATTRIBUTE_SYSTEM (0x00000004)

FILE_ATTRIBUTE_TEMPORARY (0x00000100)

FileNameLength

O comprimento do nome do arquivo.

EaSize

O tamanho dos atributos estendidos para o arquivo.

ShortNameLength

O comprimento de ShortName.

ShortName[12]

O nome curto da convenção de nomenclatura de arquivo 8.3 (por exemplo, "FILENAME.TXT") do arquivo.

FileId

A ID do arquivo.

FileName[1]

O primeiro caractere da cadeia de caracteres de nome de arquivo. Isso é seguido na memória pelo restante da cadeia de caracteres.

Comentários

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 apenas em 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 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 hora do sistema. O tempo absoluto do sistema é o número de intervalos de 100 nanossegundos desde o início do ano de 1601.

Essa estrutura FILE_ID_BOTH_DIR_INFO deve ser alinhada em um limite DWORDLONG (8 bytes). Se um buffer contiver duas ou mais dessas estruturas, o valor NextEntryOffset em cada entrada, exceto o último, cairá em um limite de 8 bytes.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho winbase.h (inclua Windows.h)
Redistribuível SDK do Windows no Windows Server 2003 e no Windows XP.

Confira também

FILE_INFO_BY_HANDLE_CLASS

Constantes de atributo de arquivo

GetFileInformationByHandleEx