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 necesario y no se puede null.
[in] FileObject
Puntero de objeto de archivo para el archivo. Este parámetro es necesario y no se puede 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 necesario y no se puede null.
[in] Length
Tamaño, en bytes, del búfer de FileInformation.
[in] FileInformationClass
Especifica el tipo de información que se va a establecer para el archivo. Se definen los siguientes valores.
Valor | Significado |
---|---|
FileAllocationInformation | Establezca FILE_ALLOCATION_INFORMATION para el archivo. |
FileBasicInformation de | Establezca FILE_BASIC_INFORMATION para el archivo. |
FileDispositionInformation de | 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 de | 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 de | Establezca FILE_VALID_DATA_LENGTH_INFORMATION para el archivo. |
Valor devuelto
fltSetInformationFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado.
Observaciones
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 de 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 de minifiltro deben usar FltSetInformationFile , no ZwSetInformationFile, para cambiar el nombre de un archivo.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
encabezado de | fltkernel.h (incluya Fltkernel.h) |
biblioteca de | FltMgr.lib |
DLL de | Fltmgr.sys |
irQL | PASSIVE_LEVEL |