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 |