Función FltFsControlFile (fltkernel.h)
La rutina de FltFsControlFile envía un código de control directamente a un sistema de archivos o controlador de filtro de sistema de archivos especificado, 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 necesario y no se puede null.
[in] FileObject
Puntero de objeto de archivo para el archivo o directorio que es el destino de esta solicitud. Este parámetro es necesario y no se puede null.
[in] FsControlCode
FSCTL_código xxx 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 del InputBuffer y outputBuffer, y determina cuáles de los siguientes pares de parámetros (InputBuffer y InputBufferLength, OutputBuffer y OutputBufferLength).
[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 de 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 se puede NULL.
Valor devuelto
fltFsControlFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado.
Observaciones
Los controladores de minifiltro deben llamar a esta rutina en lugar de ZwFsControlFile.
Los siguientes códigos FSCTL están documentados actualmente 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 de 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 | 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 |