Función FltDeviceIoControlFile (fltkernel.h)
FltDeviceIoControlFile envía un código de control directamente a un controlador de dispositivo especificado, lo que hace que el controlador correspondiente realice la acción especificada.
Sintaxis
NTSTATUS FLTAPI FltDeviceIoControlFile(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] ULONG IoControlCode,
[in, optional] PVOID InputBuffer,
[in] ULONG InputBufferLength,
[out] 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 dispositivo que es el destino de esta solicitud. Este parámetro es obligatorio y no puede ser NULL.
[in] IoControlCode
IOCTL_XXX código que indica qué operación de E/S del dispositivo 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ál de los siguientes pares de parámetros (InputBuffer y InputBufferLength, o OutputBuffery OutputBufferLength) es obligatorio.
[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 IoControlCode 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] 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 IoControlCode 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
FltDeviceIoControlFile devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado.
Comentarios
Para obtener más información sobre los códigos IOCTL_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 |
IRQL | PASSIVE_LEVEL |