Compartir a través de


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

Consulte también

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_CLEANUP_CALLBACK

PFLT_CONTEXT_FREE_CALLBACK