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

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

Синтаксис

NTSTATUS IoRegisterFsRegistrationChangeEx(
  [in] PDRIVER_OBJECT          DriverObject,
  [in] PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
);

Параметры

[in] DriverObject

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

[in] DriverNotificationRoutine

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

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

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

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

Комментарии

Эффект IoRegisterFsRegistrationChangeEx идентичен эффекту IoRegisterFsRegistrationChange в Windows XP и более поздних версиях.

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

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

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

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

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

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

Если драйвер фильтра файловой системы дважды последовательно вызывает IoRegisterFsRegistrationChangeEx (без вызова IoUnregisterFsRegistrationChange ), передав те же значения для параметров DriverObject и DriverNotificationRoutine , которые были зарегистрированы в предыдущем вызове IoRegisterFsRegistrationChangeEx, и другие драйверы фильтров не зарегистрированы с момента первого вызова, IoRegisterFsRegistrationChangeEx возвращает STATUS_DEVICE_ALREADY_ATTACHED.

Требования

Требование Значение
Минимальная версия клиента Эта подпрограмма доступна только в накопительном пакете обновления для операционной системы Windows 2000 с пакетом обновления 4 (SP4).
Целевая платформа Персональный компьютер
Верхняя часть ntifs.h (включая Ntifs.h)
IRQL <= APC_LEVEL

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

IoRegisterFileSystem

IoRegisterFsRegistrationChange

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange