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

Подпрограмма IoRegisterFsRegistrationChangeMountAware регистрирует подпрограмму уведомлений драйвера фильтра файловой системы. Эта подпрограмма уведомлений вызывается всякий раз, когда файловая система регистрирует или отменяет регистрацию в качестве активной файловой системы.

Синтаксис

NTSTATUS IoRegisterFsRegistrationChangeMountAware(
  [in] PDRIVER_OBJECT          DriverObject,
  [in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine,
  [in] BOOLEAN                 SynchronizeWithMounts
);

Параметры

[in] DriverObject

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

[in] DriverNotificationRoutine

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

[in] SynchronizeWithMounts

Если задано значение TRUE, эта подпрограмма гарантирует отсутствие операций подключения при обратных вызовах уведомлений. Если задано значение FALSE, подпрограмма не пытается избежать конфликтов с операциями подключения.

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

Возвращает одно из следующих значений NTSTATUS:

Код возврата Описание
STATUS_SUCCESS
Подпрограмма уведомлений успешно зарегистрирована.
STATUS_INSUFFICIENT_RESOURCES
Пакет уведомлений не может быть выделен для подпрограммы уведомлений.
STATUS_DEVICE_ALREADY_ATTACHED
Этот объект драйвера уже зарегистрирован с этим уведомлением.

Комментарии

IoRegisterFsRegistrationChangeMountAware регистрирует драйвер фильтра файловой системы, чтобы получать уведомления при каждом вызове файловой системой IoRegisterFileSystem или IoUnregisterFileSystem.

Чтобы прекратить получение таких уведомлений, драйвер фильтра должен вызвать IoUnregisterFsRegistrationChange.

Если параметр SynchronizeWithMounts задан как TRUE, IoRegisterFsRegistrationChangeMountAware ожидает завершения любых текущих операций подключения и не разрешает запуск новых операций подключения до завершения IoRegisterFsRegistrationChangeMountAware .

Примечание Когда драйвер фильтра файловой системы вызывает IoRegisterFsRegistrationChangeMountAware, его подпрограмма уведомлений также вызывается немедленно для всех зарегистрированных файловых систем, то есть файловых систем, которые уже назвали IoRegisterFileSystem, но еще не вызвали IoUnregisterFileSystem.

Так как подпрограмму уведомлений вызывающего объекта можно вызвать еще до возврата IoRegisterFsRegistrationChangeMountAware , драйвер фильтра не должен вызывать эту подпрограмму, пока не создаст структуры данных, необходимые для обработки этих уведомлений.

Кроме того, IoRegisterFsRegistrationChangeMountAware игнорирует необработанные устройства. Сведения о присоединении к файловой системе RAW по имени см. в разделе Присоединение объекта фильтра устройства к целевому объекту устройства.

 
IoRegisterFsRegistrationChangeMountAware увеличивает количество ссылок в объекте драйвера фильтра.

Требования

Требование Значение
Минимальная версия клиента Подпрограмма IoRegisterFsRegistrationChangeMountAware — Windows 7
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая FltKernel.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

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

IoRegisterFileSystem

IoRegisterFsRegistrationChange

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange