Función FltReuseCallbackData (fltkernel.h)
La rutina FltReuseCallbackData reinicializa una estructura de datos de devolución de llamada para que se pueda reutilizar.
Sintaxis
VOID FLTAPI FltReuseCallbackData(
[in, out] PFLT_CALLBACK_DATA CallbackData
);
Parámetros
[in, out] CallbackData
Puntero a la estructura de datos de devolución de llamada (FLT_CALLBACK_DATA) que se va a reutilizar. Esta estructura debe haber sido asignada por una llamada anterior a FltAllocateCallbackData. Este parámetro es obligatorio y no puede ser NULL.
Valor devuelto
None
Observaciones
FltReuseCallbackData reinicializa una estructura de datos de devolución de llamada (FLT_CALLBACK_DATA) para que se pueda usar en una nueva operación de E/S. FltReuseCallbackData no cambia el campo TargetInstance ni el campo TargetFileObject del bloque de parámetros de E/S de la estructura de datos de devolución de llamada.
La rutina FltReuseCallbackData libera cualquier cadena MDL asociada al objeto CallbackData proporcionado. Un puntero a una cadena MDL asociada a un objeto FLT_CALLBACK_DATA no será válido después de una llamada a FltReuseCallbackData para ese objeto.
El uso de FltReuseCallbackData para reutilizar una estructura de datos de devolución de llamada es más rápido que liberar la estructura y asignar una nueva.
Un controlador de minifiltro debe usar FltReuseCallbackData solo en una estructura de datos de devolución de llamada que el controlador de minifiltro asignó previamente con FltAllocateCallbackData y se usa en una llamada a FltPerformSynchronousIo o FltPerformAsynchronousIo.
Si la estructura de datos de devolución de llamada se usó para E/S asincrónica, el controlador de minifiltro no debe llamar a FltReuseCallbackData hasta que se llame a CallbackRoutine especificado en la llamada a FltPerformAsynchronousIo .
En concreto, un controlador de minifiltro no debe usar esta rutina para las estructuras de datos de devolución de llamada no asignadas por el propio controlador de minifiltro.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
Archivo DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |