Поделиться через


Ветоирование ссылки на привязку

[!ПРИМЕЧАНИЕ]

Некоторые сведения относятся к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Начиная с Windows 11 версии 24H2, ссылки привязки можно использовать для привязки пространства имен файловой системы к локальному "виртуальному пути" через фильтр привязки (bindflt.sys).

Минифильтры могут выбрать вето на привязку ссылку, которая изменяет каталоги, о которые они заботятся. Например, антивирусная фильтрация может ветоить ссылку на привязку папки, в которой хранятся файлы определения.

Мини-фильтры могут вето со ссылкой на привязку только в загрузочном разделе системы (DO_SYSTEM_BOOT_PARTITION). Невозможно вето на привязку ссылки на любые другие секции.

В ответ на запрос CreateBindLink BindFlt отправляет IRP_MJ_QUERY_OPEN со следующими параметрами:

  • FileInformationClass имеет значение FileStatBasicInformation.
  • FileInformation указывает на структуру FILE_STAT_BASIC_INFORMATION .
  • Irp имеет GUID_ECP_TYPE_VETO_BINDING ECP с VETO_BINDING_ECP_CONTEXT структурой в качестве контекста ECP.

Так как BindFlt отправляет IRP, фильтр должен находиться ниже BindFlt, чтобы вето связать ссылку. Такой минифильтр может наблюдать за этим IRP и вето связь привязки, задав элемент ShouldVetoBinding структуры VETO_BINDING_ECP_CONTEXT значение TRUE. В этом случае BindFlt ветоирует ссылку привязки и возвращает ошибку вызывающей объекту.