Compartilhar via


Função FltReuseCallbackData (fltkernel.h)

A rotina FltReuseCallbackData reinicializa uma estrutura de dados de retorno de chamada para que possa ser reutilizada.

Sintaxe

VOID FLTAPI FltReuseCallbackData(
  [in, out] PFLT_CALLBACK_DATA CallbackData
);

Parâmetros

[in, out] CallbackData

Ponteiro para a estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA) a ser reutilizado. Essa estrutura deve ter sido alocada por uma chamada anterior para FltAllocateCallbackData . Esse parâmetro é necessário e não pode ser NULL.

Valor de retorno

Nenhum

Observações

FltReuseCallbackData reinicializa uma estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA) para que possa ser usada em uma nova operação de E/S. FltReuseCallbackData não altera o campo TargetInstance ou o campo TargetFileObject do bloco de parâmetros de E/S da estrutura de dados de retorno de chamada.

A rotina FltReuseCallbackData libera qualquer cadeia de de MDL associada ao objeto CallbackData fornecido. Um ponteiro para uma cadeia de MDL associada a um objeto FLT_CALLBACK_DATA será inválido após uma chamada para FltReuseCallbackData para esse objeto.

Usar FltReuseCallbackData para reutilizar uma estrutura de dados de retorno de chamada é mais rápido do que liberar a estrutura e alocar uma nova.

Um driver de minifiltro deve usar FltReuseCallbackData somente em uma estrutura de dados de retorno de chamada que o driver de minifiltro alocou anteriormente com FltAllocateCallbackData e usado em uma chamada para FltPerformSynchronousIo ou FltPerformAsynchronousIo.

Se a estrutura de dados de retorno de chamada tiver sido usada para E/S assíncrona, o driver de minifiltro não deverá chamar FltReuseCallbackData até que o CallbackRoutine especificado na chamada para FltPerformAsynchronousIo.

Em particular, um driver de minifiltro não deve usar essa rotina para estruturas de dados de retorno de chamada não alocadas pelo próprio driver de minifiltro.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
de DLL Fltmgr.sys
IRQL <= APC_LEVEL

Consulte também

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo