Partilhar via


Função FltCompletePendedPreOperation (fltkernel.h)

FltCompletePendedPreOperation retoma o processamento de uma operação de E/S pendente na rotina de retorno de chamada de pré-operação (PFLT_PRE_OPERATION_CALLBACK) do driver de minifiltro.

Sintaxe

VOID FLTAPI FltCompletePendedPreOperation(
                 PFLT_CALLBACK_DATA        CallbackData,
  [in]           FLT_PREOP_CALLBACK_STATUS CallbackStatus,
  [in, optional] PVOID                     Context
);

Parâmetros

CallbackData

Ponteiro para a estrutura de dados de retorno de chamada (FLT_CALLBACK_DATA) para a operação de E/S. Esse parâmetro é necessário e não pode ser NULL.

[in] CallbackStatus

O valor de status que o driver de minifiltro está retornando para esta operação de E/S. Não pode ser FLT_PREOP_PENDING, FLT_PREOP_SYNCHRONIZE ou FLT_PREOP_DISALLOW_FASTIO. Deve ser um dos seguintes valores de FLT_PREOP_CALLBACK_STATUS. Para obter mais informações sobre o efeito desses valores, consulte a seção Comentários da entrada de referência para PFLT_PRE_OPERATION_CALLBACK.

Valor Significado
FLT_PREOP_COMPLETE O driver de minifiltro está concluindo a operação de E/S. O Gerenciador de Filtros não envia a operação de E/S para nenhum drivers de minifiltro abaixo do chamador ou para o sistema de arquivos. O Gerenciador de Filtros chama apenas as rotinas de retorno de chamada de postoperação (PFLT_POST_OPERATION_CALLBACK) dos drivers de minifiltro acima do chamador.
FLT_PREOP_SUCCESS_NO_CALLBACK O driver de minifiltro está retornando o controle da operação de E/S para o Gerenciador de Filtros. O Gerenciador de Filtros não chamará o retorno de chamada de postoperação correspondente, se houver, durante a conclusão da E/S.
FLT_PREOP_SUCCESS_WITH_CALLBACK O driver de minifiltro está retornando o controle da operação de E/S para o Gerenciador de Filtros. O Gerenciador de Filtros chama o retorno de chamada de postoperação correspondente durante a conclusão de E/S.

[in, optional] Context

Se FLT_PREOP_SUCCESS_WITH_CALLBACK for especificado para CallbackStatus, esse parâmetro será um ponteiro de contexto opcional a ser passado para a rotina de retorno de chamada de postoperation correspondente. Se FLT_PREOP_COMPLETE ou FLT_PREOP_SUCCESS_NO_CALLBACK for especificado para CallbackStatus, esse parâmetro deverá ser NULL.

Valor de retorno

Nenhum

Observações

Quando a rotina de retorno de chamada de pré-operação de um minifiltro driver (PFLT_PRE_OPERATION_CALLBACK) posta uma operação de E/S em uma fila de trabalho e retorna FLT_PREOP_PENDING, o Gerenciador de Filtros interrompe o processamento da operação. Quando a operação for eventualmente desativada e processada, o driver de minifiltro deverá chamar FltCompletePendedPreOperation para retornar a operação ao Gerenciador de Filtros, que, em seguida, retoma o processamento conforme direcionado pelo CallbackStatus especificado pelo driver de minifiltro.

Se o parâmetro CallbackStatus for FLT_PREOP_COMPLETE, FltCompletePendedPreOperation poderá ser chamado em IRQL <= DISPATCH_LEVEL. Caso contrário, os chamadores de FltCompletePendedPreOperation devem estar em execução no IRQL <= APC_LEVEL.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
IRQL Consulte a seção Comentários.

Consulte também

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK