Función FltReuseCallbackData (fltkernel.h)
El FltReuseCallbackData rutina 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 necesario y no se puede null.
Valor devuelto
Ninguno
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 de 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 al 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 | Valor |
---|---|
de la plataforma de destino de | Universal |
encabezado de | fltkernel.h (incluya Fltkernel.h) |
biblioteca de | FltMgr.lib |
DLL de | Fltmgr.sys |
irQL | <= APC_LEVEL |