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

Um driver de minifiltro que inicia uma operação de E/S assíncrona pode especificar uma rotina do tipo PFLT_COMPLETED_ASYNC_IO_CALLBACK rotina a ser chamada quando a operação for concluída.

Sintaxe

PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;

void PfltCompletedAsyncIoCallback(
  [in] PFLT_CALLBACK_DATA CallbackData,
  [in] PFLT_CONTEXT Context
)
{...}

Parâmetros

[in] CallbackData

Ponteiro para a estrutura de dados de retorno de chamada para a operação de E/S.

[in] Context

Ponteiro de contexto que o driver de minifiltro passou como um parâmetro para FltPerformAsynchronousIo, FltReadFile ou FltWriteFile.

Retornar valor

Nenhum

Comentários

Quando um driver de minifiltro chama FltPerformAsynchronousIo, FltReadFile ou FltWriteFile para iniciar uma operação de E/S assíncrona, o driver de minifiltro pode, opcionalmente, especificar uma rotina de retorno de chamada a ser chamada quando a operação de E/S for concluída. Isso é feito especificando uma rotina do tipo PFLT_COMPLETED_ASYNC_IO_CALLBACK para o parâmetro CallbackRoutine .

Quando a operação de E/S é concluída, essa rotina de retorno de chamada é chamada em um contexto de thread arbitrário, em IRQL <= DISPATCH_LEVEL.

Como a rotina de PFLT_COMPLETED_ASYNC_IO_CALLBACK pode ser chamada no IRQL DISPATCH_LEVEL, ela está sujeita às seguintes restrições:

  • Ele não pode chamar com segurança nenhuma rotina de modo kernel que exija um IRQL inferior.
  • Todas as estruturas de dados usadas nessa rotina devem ser alocadas do pool nãopagado.
  • Ele não pode ser tornado paginável.
  • Ele não pode adquirir recursos, mutexes ou mutexes rápidos. No entanto, ele pode adquirir bloqueios de rotação.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho fltkernel.h (inclua Fltkernel.h)
IRQL Consulte a seção Observações.

Confira também

FLT_CALLBACK_DATA

FltPerformAsynchronousIo

FltReadFile

FltWriteFile