Compartilhar via


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

Opcionalmente, um driver de minifiltro pode registrar uma rotina do tipo PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK como a rotina SectionNotificationCallback do driver de minifiltro. Determinadas operações de arquivo são incompatíveis com seções de arquivo. Se um minifiltro fornecer uma rotina SectionNotificationCallback , o retorno de chamada será chamado quando ocorrerem conflitos de seção.

Sintaxe

PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK PfltSectionConflictNotificationCallback;

NTSTATUS PfltSectionConflictNotificationCallback(
  [in] PFLT_INSTANCE Instance,
  [in] PFLT_CONTEXT SectionContext,
  [in] PFLT_CALLBACK_DATA Data
)
{...}

Parâmetros

[in] Instance

Um ponteiro de instância opaco para a instância do driver de minifiltro que está iniciando a operação de E/S.

[in] SectionContext

Um ponteiro para o contexto da seção que incorreu em um conflito de seção de verificação de dados.

[in] Data

Um ponteiro para uma estrutura alocada pelo chamador que contém os dados de retorno de chamada.

Retornar valor

Essa rotina de retorno de chamada retorna STATUS_SUCCESS.

Comentários

Um minifiltro registra notificações de conflito de seção definindo uma rotina de PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK para o membro SectionNotificationCallback da estrutura FLT_REGISTRATION ao registrar um driver de minifiltro.

Determinadas situações podem ocorrer em que manter uma seção aberta é incompatível com a E/S do arquivo atual. Em particular, a E/S do arquivo que dispara uma limpeza de cache pode causar incoerência de cache se a limpeza do cache for impedida devido a uma seção aberta. Um minifiltro pode fornecer essa rotina de retorno de chamada opcional para notificações desses eventos. Quando uma notificação é recebida, a seção pode ser fechada para permitir que a operação de E/S conflitante continue.

Requisitos

Requisito Valor
Cliente mínimo com suporte A rotina de retorno de chamada PFLT_CONTEXT_ALLOCATE_CALLBACK está disponível em Windows 8 e posteriores.
Plataforma de Destino Área de Trabalho
Cabeçalho fltkernel.h (inclua Fltkernel.h)
IRQL PASSIVE_LEVEL

Confira também

FLT_CALLBACK_DATA

FLT_REGISTRATION

FltCreateSectionForDataScan

FltRegisterFilter