Compartir a través de


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

Consulte también

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo