Función NtQueryInformationByName (ntifs.h)

NtQueryInformationByName devuelve la información solicitada sobre un archivo especificado por el nombre de archivo.

Sintaxis

__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

Puntero a una estructura de OBJECT_ATTRIBUTES que contiene los atributos del archivo, incluido el nombre de archivo.

[out] IoStatusBlock

Puntero a una estructura de IO_STATUS_BLOCK que contiene el estado de E/S del autor de la llamada.

[out] FileInformation

Puntero al búfer proporcionado por el autor de la llamada en el que se va a devolver la información solicitada sobre el archivo. La estructura del búfer viene determinada por el parámetro FileInformationClass .

[in] Length

Longitud, en bytes, del búfer al que apunta FileInformation .

[in] FileInformationClass

Valor de FILE_INFORMATION_CLASS que identifica el tipo de información de archivo que se va a devolver en el búfer al que apunta FileInformation . FileInformationClass puede ser uno de los valores siguientes.

valor de FILE_INFORMATION_CLASS Tipo de información que se va a devolver
FileStatInformation (68) FILE_STAT_INFORMATION. Disponible a partir de Windows 10, versión 1709.
FileStatLxInformation (70) FILE_STAT_LX_INFORMATION. Disponible a partir de Windows 10 actualización de abril de 2018.
FileCaseSensitiveInformation (71) FILE_CASE_SENSITIVE_INFORMATION. Disponible a partir de Windows 10 actualización de abril de 2018.
FileStatBasicInformation (77) FILE_STAT_BASIC_INFORMATION. Disponible a partir de Windows 11, compilación 26048.

Valor devuelto

NtQueryInformationByName devuelve STATUS_SUCCESS tras la finalización correcta; de lo contrario, devuelve un código de error, como uno de los siguientes.

Código de error Significado
STATUS_INVALID_PARAMETER El parámetro FileInformationClass contiene un valor no válido.
STATUS_INFO_LENGTH_MISMATCH El tamaño del búfer especificado por Length no es lo suficientemente grande como para contener la información solicitada.

Comentarios

NtQueryInformationByName consulta y devuelve la información solicitada sobre el archivo. Lo hace sin abrir el archivo real, lo que hace que sea más eficaz que NtQueryInformationFile, que requiere un archivo abierto (y cierre de archivo posterior).

Los autores de llamadas de NtQueryInformationByName deben ejecutarse en IRQL = PASSIVE_LEVEL y con las API de kernel especiales habilitadas.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1703
Encabezado ntifs.h
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte la sección Comentarios)

Consulte también

FILE_CASE_SENSITIVE_INFORMATION

FILE_INFORMATION_CLASS

FILE_STAT_INFORMATION

FILE_STAT_LX_INFORMATION

IO_STATUS_BLOCK

NtQueryInformationFile

OBJECT_ATTRIBUTES