Función FltAllocateCallbackDataEx (fltkernel.h)

El FltAllocateCallbackDataEx rutina asigna una estructura de datos de devolución de llamada y puede asignar previamente memoria para estructuras adicionales que un controlador de minifiltro puede usar para iniciar una solicitud de E/S.

Sintaxis

NTSTATUS FLTAPI FltAllocateCallbackDataEx(
  [in]          PFLT_INSTANCE                    Instance,
  [in/optional] PFILE_OBJECT                     FileObject,
  [in]          FLT_ALLOCATE_CALLBACK_DATA_FLAGS Flags,
  [out]         PFLT_CALLBACK_DATA               *RetNewCallbackData
);

Parámetros

[in] Instance

Puntero de instancia opaca a la instancia del controlador de minifiltro que está iniciando la operación de E/S. Este parámetro es necesario y no se puede null.

[in/optional] FileObject

Puntero a un objeto de archivo que se va a usar en la operación de E/S. Este parámetro es opcional y se puede NULL. Establezca FileObject en NULL si se trata de una operación CREATE.

[in] Flags

Valor de cero o la marca siguiente: FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY

Si se establece esta marca, la rutina preasigna toda la memoria necesaria por el administrador de filtros para que se usen estructuras adicionales en una solicitud de E/S.

[out] RetNewCallbackData

Puntero a una variable asignada por el autor de la llamada que recibe la dirección de los datos de devolución de llamada recién asignados FLT_CALLBACK_DATA estructura.

Valor devuelto

La rutina FltAllocateCallbackDataEx devuelve STATUS_SUCCESS STATUS_INSUFFICIENT_RESOURCES si la rutina encontró un error de asignación de grupo al intentar asignar la estructura de datos de devolución de llamada o si la marca FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY está establecida y no se pudo asignar memoria adicional.

Observaciones

Si se establece la marca FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY, la rutina asigna toda la memoria necesaria para que se usen estructuras adicionales del administrador de filtros en una solicitud de E/S posterior. El uso de esta marca permite a un minifiltro asignar previamente una o varias estructuras de datos de devolución de llamada que se usarán para emitir solicitudes de E/S en condiciones de memoria baja o en situaciones en las que la recuperación de un error de asignación de memoria podría resultar complicada.

Nota

El administrador de filtros usa la memoria asignada adicional. El sistema de archivos u otros filtros todavía puede producir un error en la solicitud de E/S debido a una condición de memoria insuficiente.

Importante

Los comentarios de FltAllocateCallbackData se aplican también a FltAllocateCallbackDataEx. Revise esa información para seleccionar la rutina correcta para el diseño.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Windows 7 y versiones posteriores del sistema operativo Windows.
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya FltKernel.h)
biblioteca de FltMgr.lib
irQL <= APC_LEVEL

Consulte también

FLT_CALLBACK_DATA

FltAllocateCallbackData