Dela via


Stöd för minifilterkontexter

Filterhanteraren tillhandahåller stöd som gör att minifilterdrivrutiner kan associera kontexter med objekt för att bevara tillstånd mellan I/O-åtgärder. Objekt som kan ha kontexter är filer, volymer, instanser, strömmar, strömhandtag och transaktioner. Mer information om implementering av minifilter finns i Om minifilterkontexter .

Filsystem från tredje part måste använda FSRTL_ADVANCED_FCB_HEADER struktur (i stället för FSRTL_COMMON_FCB_HEADER struktur) för att fungera korrekt med ström- och strömhanteringskontexter.

Kontexter kan allokeras från en siddelad eller icke-sidsidig pool förutom volymkontexter som måste allokeras från en icke-sidsidig pool.

Kontexter frigörs automatiskt när alla utestående referenser har släppts. Om minifilterdrivrutinen definierar en återanropsrutin för kontextrensning anropar filterhanteraren rutinen innan kontexten frigörs.

Filterhanteraren tar hand om att ta bort kontexter när det associerade objektet tas bort, när en instans kopplas från och när minifilterdrivrutinen tas bort.

Kontexter stöds inte för växling av filer eller under följande åtgärder:

  • Föroperationsbearbetning för att skapa begäranden

  • Bearbetning efter operation för nära begäranden

  • Bearbetning av IRP_MJ_NETWORK_QUERY_OPEN begäranden

Se CTX-exempel för ett exempel på en minifilterdrivrutin som använder kontexter.

Filterhanteraren har stöd för rutiner för kontexthantering

Filterhanteraren har många supportkontextstödrutiner för minifilter: