Compartir a través de


Función FltQueryInformationFile (fltkernel.h)

FltQueryInformationFile recupera información de un archivo determinado.

Sintaxis

NTSTATUS FLTAPI FltQueryInformationFile(
  [in]            PFLT_INSTANCE          Instance,
  [in]            PFILE_OBJECT           FileObject,
  [out]           PVOID                  FileInformation,
  [in]            ULONG                  Length,
  [in]            FILE_INFORMATION_CLASS FileInformationClass,
  [out, optional] PULONG                 LengthReturned
);

Parámetros

[in] Instance

Puntero de instancia opaco para el autor de la llamada. Este parámetro es obligatorio y no puede ser NULL.

[in] FileObject

Puntero de objeto de archivo para el archivo. Este parámetro es obligatorio y no puede ser NULL.

[out] FileInformation

Puntero a un búfer asignado por el autor de la llamada que recibe información sobre el archivo. El parámetro FileInformationClass especifica el tipo de información. Este parámetro es obligatorio y no puede ser NULL.

[in] Length

Tamaño, en bytes, del búfer FileInformation .

[in] FileInformationClass

Valor FILE_INFORMATION_CLASS que especifica el tipo de información de archivo que se va a devolver en el búfer FileInformation .

[out, optional] LengthReturned

Puntero a una variable asignada por el autor de la llamada que recibe el tamaño, en bytes, de la información devuelta en el búfer FileInformation . Este parámetro es opcional y puede ser NULL.

Valor devuelto

FltQueryInformationFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:

Código devuelto Descripción
STATUS_VOLUME_DISMOUNTED
El archivo reside en un volumen que no está montado actualmente. Se trata de un código de error.

Comentarios

Un controlador de minifiltro llama a FltQueryInformationFile para recuperar información del archivo identificado por FileObject. El archivo debe estar abierto actualmente.

FltQueryInformationFile devuelve cero en cualquier miembro de una estructura FILE_XXX_INFORMATION que no es compatible con un sistema de archivos determinado.

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

NOTA: No llame a esta rutina con un valor IRP de nivel superior que no sea NULL, ya que esto puede provocar un interbloqueo del sistema.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
Archivo DLL Fltmgr.sys
IRQL PASSIVE_LEVEL (consulte la sección Comentarios)

Consulte también

FILE_INFORMATION_CLASS

FltQueryVolumeInformationFile

FltSetInformationFile

ZwQueryInformationFile