PFLT_CONTEXT_ALLOCATE_CALLBACK función de devolución de llamada (fltkernel.h)
Un controlador minifiltro puede registrar una rutina de tipo PFLT_CONTEXT_ALLOCATE_CALLBACK como rutina ContextAllocateCallback del controlador minifiltro.
Sintaxis
PFLT_CONTEXT_ALLOCATE_CALLBACK PfltContextAllocateCallback;
PVOID PfltContextAllocateCallback(
[in] POOL_TYPE PoolType,
[in] SIZE_T Size,
[in] FLT_CONTEXT_TYPE ContextType
)
{...}
Parámetros
[in] PoolType
Tipo de grupo que se va a asignar. Este parámetro es necesario y debe ser uno de los siguientes:
NonPagedPool
PagedPool
Debe ser NonPagedPool si el parámetro ContextType está FLT_VOLUME_CONTEXT.
[in] Size
Tamaño, en bytes, de todo el contexto, incluida la parte definida por el administrador de filtros y la parte definida por el controlador de minifiltro.
[in] ContextType
Tipo de contexto. Este parámetro es obligatorio y debe ser uno de los siguientes valores:
FLT_FILE_CONTEXT (a partir de Windows Vista)
FLT_INSTANCE_CONTEXT
FLT_STREAM_CONTEXT
FLT_STREAMHANDLE_CONTEXT
FLT_SECTION_CONTEXT (a partir de Windows 8)
FLT_TRANSACTION_CONTEXT (a partir de Windows Vista)
FLT_VOLUME_CONTEXT
Valor devuelto
Si no hay suficiente grupo disponible para satisfacer la solicitud, esta rutina devuelve un puntero NULL . De lo contrario, devuelve un puntero al contexto recién asignado.
Comentarios
Para los casos excepcionales en los que un controlador de minifiltro debe realizar su propia asignación de contexto, puede especificar una rutina de tipo PFLT_CONTEXT_ALLOCATE_CALLBACK como la rutina ContextAllocateCallback para cada tipo de contexto que registra cuando llama a FltRegisterFilter desde su rutina DriverEntry . Para especificar esta rutina, el controlador de minifiltro almacena un puntero a la rutina en el miembro ContextAllocateCallback de la estructura FLT_CONTEXT_REGISTRATION para el tipo de contexto.
Para obtener más información sobre el registro de contexto, consulte la entrada de referencia para FLT_CONTEXT_REGISTRATION.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
IRQL | <=APC_LEVEL |