Veto a un vínculo de enlace
[!NOTE]
Parte de la información hace referencia a un producto de versión preliminar que puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
A partir de Windows 11, versión 24H2, los vínculos de enlace se pueden usar para enlazar un espacio de nombres del sistema de archivos a una "ruta de acceso virtual" local a través del filtro de enlace (bindflt.sys).
Los minifiltros pueden optar por vetar un vínculo de enlace que cambie los directorios que les interesan. Por ejemplo, un filtro antivirus puede vetar el vínculo de enlace de una carpeta que almacena sus archivos de definición.
Los minifiltros pueden vetar un vínculo de enlace solo en la partición de arranque del sistema (DO_SYSTEM_BOOT_PARTITION). No es posible vetar un vínculo de enlace en ninguna otra partición.
En respuesta a una solicitud CreateBindLink, BindFlt envía IRP_MJ_QUERY_OPEN con los parámetros siguientes:
- FileInformationClass se establece en FileStatBasicInformation.
- FileInformation apunta a una estructura FILE_STAT_BASIC_INFORMATION.
- Irp tiene una ECP de GUID_ECP_TYPE_VETO_BINDING con una estructura VETO_BINDING_ECP_CONTEXT como contexto de ECP.
Dado que BindFlt envía el IRP, un filtro debe situarse por debajo de BindFlt para poder vetar un vínculo de enlace. Este minifiltro puede observar este IRP y vetar el vínculo de enlace estableciendo el miembro ShouldVetoBinding de la estructura VETO_BINDING_ECP_CONTEXT en TRUE. En este caso, BindFlt veta el vínculo de enlace y devuelve un error al autor de la llamada.