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