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

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

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

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

Требования

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

См. также

IoRegisterFileSystem

IoRegisterFsRegistrationChange

IoRegisterFsRegistrationChangeEx

IoUnregisterFileSystem

IoUnregisterFsRegistrationChange