Función FltTagFile (fltkernel.h)
FltTagFile establece una etiqueta de reanálisis en un archivo o directorio.
Sintaxis
NTSTATUS FLTAPI FltTagFile(
[in] PFLT_INSTANCE InitiatingInstance,
[in] PFILE_OBJECT FileObject,
[in] ULONG FileTag,
[in, optional] GUID *Guid,
[in] PVOID DataBuffer,
[in] USHORT DataBufferLength
);
Parámetros
[in] InitiatingInstance
Puntero de instancia opaco para la instancia del controlador de minifiltro que inició esta solicitud de E/S. Este parámetro es obligatorio y no puede ser NULL.
[in] FileObject
Puntero a un objeto de archivo para el archivo o directorio en el que se va a establecer un punto de reanálisis. El objeto de archivo debe abrirse para FILE_WRITE_DATA acceso. Este parámetro es obligatorio y no puede ser NULL.
[in] FileTag
Etiqueta de punto de reanálisis. Si se modifica una etiqueta de reanálisis existente, la etiqueta especificada en este parámetro debe coincidir con la etiqueta del punto de reanálisis que se va a modificar.
[in, optional] Guid
GUID que identifica de forma única el tipo de punto de reanálisis. Si FileTag no es una etiqueta de Microsoft, este parámetro es obligatorio y no puede ser NULL. Si se modifica una etiqueta de reanálisis existente, el GUID especificado en este parámetro debe coincidir con el GUID del punto de reanálisis que se va a modificar.
[in] DataBuffer
Puntero a un búfer que contiene datos definidos por el usuario para el punto de reanálisis.
[in] DataBufferLength
Tamaño, en bytes, del búfer al que apunta DataBuffer .
Valor devuelto
FltTagFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:
Código devuelto | Descripción |
---|---|
|
FltTagFileEx encontró un error de asignación de grupo. Se trata de un código de error. |
|
El sistema de archivos no admite puntos de reanálisis. Se trata de un código de error. |
|
FileTag no es una etiqueta de Microsoft y se especificó NULL para Guid. Se trata de un código de error. |
|
La etiqueta de reanálisis especificada por el autor de la llamada no coincide con la etiqueta del punto de reanálisis que se va a modificar. Se trata de un código de error. |
|
El GUID de reanálisis especificado por el autor de la llamada no coincide con el GUID del punto de reanálisis que se va a modificar. Se trata de un código de error. |
Comentarios
Los controladores de minifiltro deben usar FltTagFile en lugar de FSCTL_SET_REPARSE_POINT para establecer un punto de reanálisis.
No todos los sistemas de archivos admiten puntos de reanálisis. El sistema de archivos NTFS los admite; el sistema de archivos FAT no. Los controladores de minifiltro pueden determinar si un sistema de archivos admite puntos de reanálisis llamando a FltQueryVolumeInformation, especificando FileFsAttributeInformation para el parámetro FsInformation y examinando la marca de bits de FILE_SUPPORTS_REPARSE_POINTS en la estructura de FILE_FS_ATTRIBUTE_INFORMATION devuelta.
Para quitar un punto de reanálisis existente, llame a FltUntagFile.
Para obtener más información sobre los puntos de reanálisis, consulte la documentación de Microsoft Windows SDK.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
Archivo DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |