Partilhar via


Passando operações de E/S para baixo na pilha de instâncias do driver de minifiltro

Quando a rotina de retorno de chamada de pré-operação ou rotina de trabalho de um driver de minifiltro retorna uma operação de E/S para o gerenciador de filtros, o gerenciador de filtros envia a operação para drivers de minifiltro abaixo do driver de minifiltro atual na pilha de instâncias do driver de minifiltro e para filtros herdados e o sistema de arquivos para processamento adicional.

A rotina de retorno de chamada de pré-operação de um driver de minifiltro retorna uma operação de E/S para o gerenciador de filtros para processamento adicional retornando um dos seguintes valores de status:

  • FLT_PREOP_SUCCESS_NO_CALLBACK (todos os tipos de operação)

  • FLT_PREOP_SUCCESS_WITH_CALLBACK (todos os tipos de operação)

  • FLT_PREOP_SYNCHRONIZE (somente operações de E/S baseadas em IRP)

Nota Embora FLT_PREOP_SYNCHRONIZE deva ser retornado somente para operações de E/S baseadas em IRP, você pode retornar esse valor status para outros tipos de operação. Se ele for retornado para uma operação de E/S que não seja uma operação de E/S baseada em IRP, o gerenciador de filtros tratará esse valor retornado como se fosse FLT_PREOP_SUCCESS_WITH_CALLBACK.

Como alternativa, a rotina de trabalho de uma operação pendente em uma rotina de retorno de chamada de pré-operação retorna uma operação de E/S para o gerenciador de filtros passando um dos valores status anteriores no parâmetro CallbackStatus quando ele chama FltCompletePendedPreOperation para retomar o processamento da operação de E/S pendente.

Esta seção inclui:

Retornando FLT_PREOP_SUCCESS_WITH_CALLBACK

Retornando FLT_PREOP_SUCCESS_NO_CALLBACK

Retornando FLT_PREOP_SYNCHRONIZE