Função ZwQueryInformationByName (wdm.h)

ZwQueryInformationByName retorna as informações solicitadas sobre um arquivo especificado pelo nome do arquivo.

Sintaxe

NTSYSAPI NTSTATUS ZwQueryInformationByName(
  [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ções de arquivo a serem retornadas 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 Atualização de abril de 2018.
FileCaseSensitiveInformation (71) FILE_CASE_SENSITIVE_INFORMATION. Disponível a partir do Windows 10 Atualização de abril de 2018.

Retornar valor

ZwQueryInformationByName retorna STATUS_SUCCESS após a conclusão bem-sucedida; caso contrário, ele retornará um código de erro, como um dos seguintes.

Código do 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.

Comentários

ZwQueryInformationByName consulta e retorna as informações solicitadas sobre o arquivo. Ele faz isso sem abrir o arquivo real, tornando-o mais eficiente do que ZwQueryInformationFile, o que requer um arquivo aberto (e fechamento de arquivo subsequente).

Os chamadores de ZwQueryInformationByName devem estar em execução em IRQL = PASSIVE_LEVEL e com APCs de kernel especiais habilitadas.

Requisitos

Requisito Valor
Cabeçalho wdm.h
IRQL PASSIVE_LEVEL (consulte a seção Comentários)

Confira também

FILE_CASE_SENSITIVE_INFORMATION

FILE_INFORMATION_CLASS

FILE_STAT_INFORMATION

FILE_STAT_LX_INFORMATION

IO_STATUS_BLOCK

OBJECT_ATTRIBUTES

ZwQueryInformationFile