Функция FsRtlRegisterFileSystemFilterCallbacks (ntifs.h)

Драйверы фильтров файловой системы и файловые системы вызывают подпрограмму FsRtlRegisterFileSystemFilterCallbacks для регистрации процедур обратного вызова уведомлений, которые будут вызываться, когда базовая файловая система выполняет определенные операции.

Синтаксис

NTSTATUS FsRtlRegisterFileSystemFilterCallbacks(
  [in] _DRIVER_OBJECT       *FilterDriverObject,
  [in] PFS_FILTER_CALLBACKS Callbacks
);

Параметры

[in] FilterDriverObject

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

[in] Callbacks

Указатель на структуру FS_FILTER_CALLBACKS , которая содержит точки входа для процедур обратного вызова уведомлений, предоставляемых вызывающим абонентом. Все точки входа обратного вызова являются необязательными и могут иметь значение NULL.

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

Подпрограмма FsRtlRegisterFileSystemFilterCallbacks может возвращать одно из следующих значений состояния:

Код возврата Описание
STATUS_SUCCESS Процедуры обратного вызова были успешно зарегистрированы.
STATUS_INSUFFICIENT_RESOURCES FsRtlRegisterFileSystemFilterCallbacks обнаружил сбой выделения пула при выделении памяти для хранения сведений обратного вызова.
STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY FsRtlRegisterFileSystemFilterCallbacks успешно завершил операцию FsFilter.
STATUS_FILE_LOCKED_WITH_ONLY_READERS Файл был заблокирован, и все пользователи файла могут только читать.
STATUS_FILE_LOCKED_WITH_WRITERS Файл был заблокирован, и по крайней мере один пользователь файла может записать
STATUS_INVALID_PARAMETER Один из параметров является недопустимым.

Комментарии

Драйверы фильтров файловой системы и файловой системы должны вызывать FsRtlRegisterFileSystemFilterCallbacks из подпрограммыDriverEntry драйвера.

FsRtlRegisterFileSystemFilterCallbacks регистрирует процедуры обратного вызова уведомлений, указанные в параметре Callbacks , которые будут вызываться при отправке запросов определенных операций с файлами в базовую файловую систему.

Файловые системы вызывают FsRtlRegisterFileSystemFilterCallbacks , чтобы задать член обратного вызова PreAcquireForSectionSynchronizationструктуры FS_FILTER_CALLBACKS вместо использования устаревшего AcquireFileForNtCreateSection.

Процедуры обратного вызова, зарегистрированные fsRtlRegisterFileSystemFilterCallbacks , заменяют следующие процедуры быстрого обратного вызова ввода-вывода, которые являются устаревшими и не должны использоваться драйверами фильтров файловой системы:

  • AcquireForCcFlush
  • AcquireFileForNtCreateSection
  • AcquireForModWrite
  • ReleaseForCcFlush
  • ReleaseFileForNtCreateSection
  • ReleaseForModWrite

Требования

Требование Значение
Минимальная версия клиента Windows XP
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

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

FS_FILTER_CALLBACKS