Función FltFsControlFile (fltkernel.h)
La rutina FltFsControlFile envía un código de control directamente a un sistema de archivos especificado o al controlador de filtro del sistema de archivos, lo que hace que el controlador correspondiente realice la acción especificada.
Sintaxis
NTSTATUS FLTAPI FltFsControlFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] ULONG FsControlCode,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out, optional] PVOID OutputBuffer,
[in] ULONG OutputBufferLength,
[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 o directorio que es el destino de esta solicitud. Este parámetro es obligatorio y no puede ser NULL.
[in] FsControlCode
FSCTL_XXX código que indica qué operación del sistema de archivos se va a llevar a cabo. El valor de este parámetro determina los formatos y las longitudes necesarias de InputBuffer y OutputBuffer, y determina cuáles de los siguientes pares de parámetros (InputBuffer y InputBufferLength, OutputBuffer y OutputBufferLength) son necesarios.
[in, optional] InputBuffer
Puntero a un búfer de entrada asignado por el autor de la llamada que contiene información específica del dispositivo que se va a proporcionar al controlador de destino. Si el parámetro FsControlCode especifica una operación que no requiere datos de entrada, este parámetro es opcional y puede ser NULL.
[in] InputBufferLength
Tamaño, en bytes, del búfer en InputBuffer. Este valor se omite si InputBuffer es NULL.
[out, optional] OutputBuffer
Puntero a un búfer de salida asignado por el autor de la llamada en el que se devuelve información del controlador de destino. Si el parámetro FsControlCode especifica una operación que no requiere datos de salida, este parámetro es opcional y puede ser NULL.
[in] OutputBufferLength
Tamaño, en bytes, del búfer en OutputBuffer. Este valor se omite si OutputBuffer es NULL.
[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 en OutputBuffer. Este parámetro es opcional y puede ser NULL.
Valor devuelto
FltFsControlFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado.
Comentarios
Los controladores de minifiltro deben llamar a esta rutina en lugar de ZwFsControlFile.
Actualmente se documentan los siguientes códigos FSCTL para los controladores en modo kernel:
FSCTL_OPBATCH_ACK_CLOSE_PENDING
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
Para obtener más información sobre los códigos FSCTL_XXX definidos por el sistema, vea la sección Comentarios de la entrada de referencia para DeviceIoControl en 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 |