Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйверы фильтров файловой системы и файловые системы вызывают 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 |