Функция 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 |