Поделиться через


функция обратного вызова PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK (fltkernel.h)

Драйвер минифильтра может при необходимости зарегистрировать подпрограмму типа PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK в качестве подпрограммы SectionNotificationCallback драйвера минифильтра. Некоторые операции с файлами несовместимы с разделами файлов. Если минифильтр предоставляет подпрограмму SectionNotificationCallback , обратный вызов вызывается при возникновении конфликтов разделов.

Синтаксис

PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK PfltSectionConflictNotificationCallback;

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

Параметры

[in] Instance

Непрозрачный экземпляр, указывающий на экземпляр драйвера минифильтра, который инициирует операцию ввода-вывода.

[in] SectionContext

Указатель на контекст раздела, который вызвал конфликт раздела сканирования данных.

[in] Data

Указатель на структуру, выделенную вызывающим объектом, которая содержит данные обратного вызова.

Возвращаемое значение

Эта подпрограмма обратного вызова возвращает STATUS_SUCCESS.

Комментарии

Минифильтр регистрирует уведомления о конфликтах разделов, задавая подпрограмме PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK элемент SectionNotificationCallback структуры FLT_REGISTRATION при регистрации драйвера минифильтра.

Некоторые ситуации могут возникать, когда удержание открытого раздела несовместимо с текущим файлом ввода-вывода. В частности, файловый ввод-вывод, запускающий очистку кэша, может привести к несогласованности кэша, если очистка кэша запрещена из-за открытого раздела. Минифильтр может предоставить эту необязательную подпрограмму обратного вызова для уведомлений об этих событиях. При получении уведомления раздел можно закрыть, чтобы разрешить продолжение конфликтующей операции ввода-вывода.

Требования

Требование Значение
Минимальная версия клиента Подпрограмма обратного вызова PFLT_CONTEXT_ALLOCATE_CALLBACK доступна в Windows 8 и более поздних версиях.
Целевая платформа Персональный компьютер
Верхняя часть fltkernel.h (включая Fltkernel.h)
IRQL PASSIVE_LEVEL

См. также раздел

FLT_CALLBACK_DATA

FLT_REGISTRATION

FltCreateSectionForDataScan

FltRegisterFilter