Blockieren eines Bindungslinks
[!NOTE]
Einige Informationen beziehen sich auf Vorabversionen, die vor der kommerziellen Freigabe grundlegend geändert werden können. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ab Windows 11, Version 24H2, können Bindungslinks verwendet werden, um einen Dateisystemnamespace über den Bindungsfilter (bindflt.sys) an einen lokalen "virtuellen Pfad" zu binden.
Minifilter können sich dafür entscheiden, einen Bindungslink zu blockieren, der Verzeichnisse ändert, die sie interessieren. Beispielsweise kann ein Antivirenfilter den Bindungslink eines Ordners, in dem seine Definitionsdateien gespeichert sind, blockieren.
Minifilter können eine Bindungsverbindung nur auf der Startpartition des Systems (DO_SYSTEM_BOOT_PARTITION) blockieren. Es ist nicht möglich, einen Bindungslink auf anderen Partitionen zu blockieren.
Als Antwort auf eine CreateBindLink-Anfrage sendet BindFltIRP_MJ_QUERY_OPEN mit den folgenden Parametern:
- FileInformationClass ist auf FileStatBasicInformation festgelegt.
- FileInformation verweist auf eine FILE_STAT_BASIC_INFORMATION-Struktur.
- Irp verfügt über eine GUID_ECP_TYPE_VETO_BINDING ECP mit einer VETO_BINDING_ECP_CONTEXT-Struktur als ECP-Kontext.
Da BindFlt das IRP sendet, muss ein Filter unter BindFlt liegen, um einen Bindungslink zu blockieren. Ein solcher Minifilter kann auf diese IRP und das Veto des Bindungslinks achten, indem der ShouldVetoBinding-Member derVETO_BINDING_ECP_CONTEXT Struktur auf TRUE festgelegt wird. In diesem Ereignis blockiert BindFlt den Bindungslink und gibt einen Fehler an den Aufrufer zurück.