Compartir a través de


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

Consulte también

FLT_CALLBACK_DATA

fltAllocateCallbackData

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo