estrutura FILE_INTERNAL_INFORMATION (ntifs.h)
A estrutura FILE_INTERNAL_INFORMATION é usada para consultar o número de referência de arquivo de 8 bytes do sistema de arquivos para um arquivo.
Sintaxe
typedef struct _FILE_INTERNAL_INFORMATION {
LARGE_INTEGER IndexNumber;
} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
Membros
IndexNumber
O número de referência de arquivo de 8 bytes para o arquivo. Esse número é atribuído pelo sistema de arquivos e é específico do sistema de arquivos. (Observe que isso não é o mesmo que a "ID do objeto de arquivo" de 16 bytes que foi adicionada ao NTFS para Microsoft Windows 2000.)
Comentários
Essas informações podem ser consultadas de qualquer uma das seguintes maneiras:
Chame FltQueryInformationFile ou ZwQueryInformationFile, passando FileInternalInformation como o valor de FileInformationClass e passando um buffer alocado pelo chamador FILE_INTERNAL_INFORMATION estruturado como o valor de FileInformation.
Crie um IRP com o código de função principal IRP_MJ_QUERY_INFORMATION.
Nenhum direito de acesso específico é necessário para consultar essas informações.
O membro IndexNumber da estrutura FILE_INTERNAL_INFORMATION é o mesmo que o membro FileId das estruturas FILE_ID_BOTH_DIR_INFORMATION e FILE_ID_FULL_DIR_INFORMATION.
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.
O tamanho do buffer passado no parâmetro FileInformation para FltQueryInformationFile ou ZwQueryInformationFile deve ser pelo menos sizeof(FILE_INTERNAL_INFORMATION)
.
Essa estrutura deve ser alinhada em um limite LONGLONG (8 bytes).
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntifs.h (inclua Ntifs.h, Fltkernel.h) |