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.
NTSTATUS FLTAPI FltAllocateCallbackDataEx(
[in] PFLT_INSTANCE Instance,
[in/optional] PFILE_OBJECT FileObject,
[in] FLT_ALLOCATE_CALLBACK_DATA_FLAGS Flags,
[out] PFLT_CALLBACK_DATA *RetNewCallbackData
);
[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.
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.
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.
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 |