Função FltReuseCallbackData (fltkernel.h)
A rotina FltReuseCallbackData reinicializa uma estrutura de dados de retorno de chamada para que ela 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.
Retornar valor
Nenhum
Comentários
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 nem 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 MDL associada ao objeto CallbackData fornecido. Um ponteiro para uma cadeia 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 alocada anteriormente pelo driver de minifiltro com FltAllocateCallbackData e usada 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 a CallbackRoutine especificada na chamada para FltPerformAsynchronousIo seja chamada.
Em particular, um driver de minifiltro não deve usar essa rotina para nenhuma estrutura de dados de retorno de chamada não alocada pelo próprio driver de minifiltro.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |