PFLT_CONTEXT_ALLOCATE_CALLBACK función de devolución de llamada (fltkernel.h)
Un controlador de minifiltro puede registrar una rutina de tipo PFLT_CONTEXT_ALLOCATE_CALLBACK como rutina del controlador de minifiltro ContextAllocateCallback.
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 es 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 necesario 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.
Observaciones
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 de ContextAllocateCallback para cada tipo de contexto que registra cuando llama a FltRegisterFilter desde su rutina de DriverEntry. Para especificar esta rutina, el controlador de minifiltro almacena un puntero a la rutina de la ContextAllocateCallback miembro de la estructura FLT_CONTEXT_REGISTRATION para el tipo de contexto.
Para obtener más información sobre el registro de contexto, vea la entrada de referencia para FLT_CONTEXT_REGISTRATION.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | fltkernel.h (incluya Fltkernel.h) |
irQL | <=APC_LEVEL |