Partilhar via


Executando o processamento de conclusão para uma operação de E/S

A rotina de retorno de chamada do postoperation de um driver de minifiltro é chamada quando uma operação de E/S é concluída pelo sistema de arquivos subjacente, por um filtro herdado ou por outro driver de minifiltro que está em uma altitude mais baixa na pilha de instâncias do driver de minifiltro.

Além disso, quando uma instância do driver de minifiltro está sendo interrompida, o gerenciador de filtros "drena" todas as operações de E/S para as quais a instância recebeu um retorno de chamada de pré-operação e aguarda um retorno de chamada de operação. Nessa situação, o gerenciador de filtros chama a rotina de retorno de chamada de operação do driver de minifiltro, mesmo que a operação de E/S não tenha sido concluída e define o sinalizador FLTFL_POST_OPERATION_DRAINING no parâmetro de entrada Flags .

Quando o sinalizador FLTFL_POST_OPERATION_DRAINING é definido, o driver de minifiltro não deve executar o processamento de conclusão normal. Em vez disso, ele deve executar apenas a limpeza necessária, como liberar memória que o driver de minifiltro alocou para o parâmetro CompletionContext em sua rotina de retorno de chamada de pré-operação e retornar FLT_POSTOP_FINISHED_PROCESSING.

Esta seção inclui o seguinte tópico:

Garantir que o processamento de conclusão seja executado em IRQL seguro