функция обратного вызова 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 |