Interdire un bind link
[!NOTE]
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.
À partir de Windows 11, version 24H2, les Bind Links peuvent être utilisés pour lier un espace de noms du système de fichiers à un « chemin virtuel » local via le Bind Filter (bindflt.sys).
Les minifiltres peuvent choisir de rejeter un Bind Link qui modifie les répertoires qui les concernent. Par exemple, un filtre antivirus peut rejeter le Bind Link d’un dossier qui stocke ses fichiers de définition.
Les minifiltres peuvent rejeter un Bind Link uniquement sur la partition de démarrage du système (DO_SYSTEM_BOOT_PARTITION). Il n’est pas possible de rejeter un Bind Link sur d’autres partitions.
En réponse à une demande de Création de Bind Link, BindFlt envoie IRP_MJ_QUERY_OPEN avec les paramètres suivants :
- FileInformationClass est mis sur FileStatBasicInformation.
- FileInformation pointe vers une structure FILE_STAT_BASIC_INFORMATION.
- Irp a un ECP GUID_ECP_TYPE_VETO_BINDING avec une structure VETO_BINDING_ECP_CONTEXT comme contexte ECP.
Puisque BindFlt envoie l’IRP, un filtre doit se situer en dessous de BindFlt pour rejeter un Bind Link. Un tel minifiltre peut surveiller cet IRP et rejeter le Bind Link en paramétrant le membre ShouldVetoBinding de la structure VETO_BINDING_ECP_CONTEXT sur TRUE. Dans ce cas, BindFlt rejette le Bind Link et renvoie une erreur à l’appelant.