Compartilhar via


PFLT_CONTEXT_ALLOCATE_CALLBACK função de retorno de chamada (fltkernel.h)

Um driver de minifiltro pode registrar uma rotina de tipo PFLT_CONTEXT_ALLOCATE_CALLBACK como rotina de ContextAllocateCallback do driver de minifiltro.

Sintaxe

PFLT_CONTEXT_ALLOCATE_CALLBACK PfltContextAllocateCallback;

PVOID PfltContextAllocateCallback(
  [in] POOL_TYPE PoolType,
  [in] SIZE_T Size,
  [in] FLT_CONTEXT_TYPE ContextType
)
{...}

Parâmetros

[in] PoolType

O tipo de pool a ser alocado. Esse parâmetro é necessário e deve ser um dos seguintes:

NonPagedPool

do PagedPool

Deve ser NonPagedPool se o parâmetro ContextType for FLT_VOLUME_CONTEXT.

[in] Size

O tamanho, em bytes, de todo o contexto, incluindo a parte definida pelo gerenciador de filtros e a parte definida pelo driver de minifiltro.

[in] ContextType

O tipo de contexto. Esse parâmetro é necessário e deve ser um dos seguintes valores:

FLT_FILE_CONTEXT (começando com o Windows Vista)

FLT_INSTANCE_CONTEXT

FLT_STREAM_CONTEXT

FLT_STREAMHANDLE_CONTEXT

FLT_SECTION_CONTEXT (começando com o Windows 8)

FLT_TRANSACTION_CONTEXT (começando com o Windows Vista)

FLT_VOLUME_CONTEXT

Valor de retorno

Se não houver pool gratuito suficiente disponível para atender à solicitação, essa rotina retornará um ponteiro de NULL. Caso contrário, ele retornará um ponteiro para o contexto recém-alocado.

Observações

Para os casos raros em que um driver de minifiltro deve executar sua própria alocação de contexto, ele pode especificar uma rotina de tipo PFLT_CONTEXT_ALLOCATE_CALLBACK como a rotina ContextAllocateCallback para cada tipo de contexto que ele registra quando chama FltRegisterFilter de sua rotina de DriverEntry. Para especificar essa rotina, o driver de minifiltro armazena um ponteiro para a rotina no ContextAllocateCallback membro da estrutura FLT_CONTEXT_REGISTRATION para o tipo de contexto.

Para obter mais informações sobre o registro de contexto, consulte a entrada de referência para FLT_CONTEXT_REGISTRATION.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho fltkernel.h (inclua Fltkernel.h)
IRQL <=APC_LEVEL

Consulte também

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_CLEANUP_CALLBACK

PFLT_CONTEXT_FREE_CALLBACK