Função NtQueryInformationByName (ntifs.h)
NtQueryInformationByName retorna as informações solicitadas sobre um arquivo especificado pelo nome do arquivo.
Sintaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryInformationByName(
[in] POBJECT_ATTRIBUTES ObjectAttributes,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass
);
Parâmetros
[in] ObjectAttributes
Ponteiro para uma estrutura OBJECT_ATTRIBUTES que contém os atributos do arquivo, incluindo o nome do arquivo.
[out] IoStatusBlock
Ponteiro uma estrutura de IO_STATUS_BLOCK que contém o status de E/S do chamador.
[out] FileInformation
Ponteiro para o buffer fornecido pelo chamador no qual retornar as informações solicitadas sobre o arquivo. A estrutura do buffer é determinada pelo parâmetro FileInformationClass.
[in] Length
Comprimento, em bytes, do buffer para o qual FileInformation aponta.
[in] FileInformationClass
Um valor FILE_INFORMATION_CLASS que identifica o tipo de informação de arquivo a ser retornado no buffer para o qual FileInformation aponta. FileInformationClass pode ser um dos valores a seguir.
Valor FILE_INFORMATION_CLASS | Tipo de informação a ser retornada |
---|---|
FileStatInformation (68) | FILE_STAT_INFORMATION. Disponível a partir do Windows 10, versão 1709. |
FileStatLxInformation (70) | FILE_STAT_LX_INFORMATION. Disponível a partir do Windows 10 April 2018 Update. |
FileCaseSensitiveInformation (71) | FILE_CASE_SENSITIVE_INFORMATION. Disponível a partir do Windows 10 April 2018 Update. |
FileStatBasicInformation (77) | FILE_STAT_BASIC_INFORMATION. Disponível a partir do Windows 11, build 26048. |
Valor de retorno
NtQueryInformationByName retorna STATUS_SUCCESS após a conclusão bem-sucedida; caso contrário, ele retorna um código de erro, como um dos seguintes.
Código de erro | Significado |
---|---|
STATUS_INVALID_PARAMETER | O parâmetro FileInformationClass contém um valor inválido. |
STATUS_INFO_LENGTH_MISMATCH | O tamanho do buffer especificado por Length não é grande o suficiente para conter as informações solicitadas. |
Observações
consultas NtQueryInformationByName e retorna as informações solicitadas sobre o arquivo. Ele faz isso sem abrir o arquivo real, tornando-o mais eficiente do que NtQueryInformationFile, o que requer um arquivo aberto (e o fechamento subsequente do arquivo).
Os chamadores do NtQueryInformationByName devem estar em execução no IRQL = PASSIVE_LEVEL e com APCs de kernel especiais habilitadas.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10, versão 1703 |
cabeçalho | ntifs.h |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |