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. |