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) |