Функция 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 регистрирует подпрограммы обратного вызова уведомлений, указанные в параметре обратного вызова , вызываемые при отправке запросов на определенные операции с файлами в базовую файловую систему.

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

См. также

FS_FILTER_CALLBACKS