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 |