Compartir a través de


Función FltSetInformationFile (fltkernel.h)

FltSetInformationFile establece información para un archivo determinado.

Sintaxis

NTSTATUS FLTAPI FltSetInformationFile(
  [in] PFLT_INSTANCE          Instance,
  [in] PFILE_OBJECT           FileObject,
  [in] PVOID                  FileInformation,
  [in] ULONG                  Length,
  [in] FILE_INFORMATION_CLASS FileInformationClass
);

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.

[in] FileInformation

Puntero a un búfer asignado por el autor de la llamada que contiene información que se va a establecer para 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

Especifica el tipo de información que se va a establecer para el archivo. Se definen los valores siguientes.

Valor Significado
FileAllocationInformation Establezca FILE_ALLOCATION_INFORMATION para el archivo.
FileBasicInformation Establezca FILE_BASIC_INFORMATION para el archivo.
FileDispositionInformation Establezca FILE_DISPOSITION_INFORMATION para el archivo.
FileEndOfFileInformation Establezca FILE_END_OF_FILE_INFORMATION para el archivo.
FileLinkInformation Establezca FILE_LINK_INFORMATION para el archivo.
FilePositionInformation Establezca FILE_POSITION_INFORMATION para el archivo.
FileRenameInformation Establezca FILE_RENAME_INFORMATION para el archivo. Para obtener más información sobre el cambio de nombre de archivo, vea la siguiente sección Comentarios.
FileValidDataLengthInformation Establezca FILE_VALID_DATA_LENGTH_INFORMATION para el archivo.

Valor devuelto

FltSetInformationFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado.

Comentarios

Un controlador de minifiltro llama a FltSetInformationFile para establecer información para un archivo determinado. El archivo debe estar abierto actualmente.

Una operación de cambio de nombre de archivo impone la siguiente restricción en los valores de parámetro pasados a FltSetInformationFile: como se indica en la entrada de referencia para FILE_RENAME_INFORMATION, solo se puede cambiar el nombre de un archivo o directorio dentro de un volumen. En otras palabras, una operación de cambio de nombre no puede hacer que un archivo o directorio se mueva a un volumen diferente. A diferencia de ZwSetInformationFile, FltSetInformationFile no valida el contenido de la estructura FILE_RENAME_INFORMATION. Por lo tanto, el autor de la llamada de FltSetInformationFile es responsable de garantizar que el nuevo nombre del archivo o directorio esté en el mismo volumen que el nombre anterior.

Los controladores minifiltros deben usar FltSetInformationFile , no ZwSetInformationFile, para cambiar el nombre de un archivo.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
Archivo DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Consulte también

FILE_ALLOCATION_INFORMATION

FILE_BASIC_INFORMATION

FILE_DISPOSITION_INFORMATION

FILE_END_OF_FILE_INFORMATION

FILE_LINK_INFORMATION

FILE_POSITION_INFORMATION

FILE_RENAME_INFORMATION

FILE_VALID_DATA_LENGTH_INFORMATION

FltQueryInformationFile

FltQueryVolumeInformationFile

ZwSetInformationFile