Delen via


Ondersteuning voor minifiltercontexten

Het filterbeheer biedt ondersteuning waarmee minifilterstuurprogramma's contexten kunnen koppelen aan objecten om de status in I/O-bewerkingen te behouden. Objecten die contexten kunnen hebben, zijn bestanden, volumes, exemplaren, streams, stream-ingangen en transacties. Zie Over minifiltercontexten voor details van minifilter-implementatie.

Bestandssystemen van derden moeten de FSRTL_ADVANCED_FCB_HEADER structuur (in plaats van de FSRTL_COMMON_FCB_HEADER structuur) gebruiken om correct te functioneren met stream- en streamhandle-contexten.

Contexten kunnen worden toegewezen vanuit een gepaginade of niet-pagina-pool, met uitzondering van volumecontexten, die moeten worden toegewezen vanuit een niet-paginagroep.

Contexts worden automatisch vrijgegeven wanneer alle openstaande verwijzingen zijn opgeheven. Als het minifilterstuurprogramma een callback-routine voor het opschonen van context definieert, roept de filterbeheerder de routine aan voordat de context wordt vrijgemaakt.

Het filterbeheer zorgt ervoor dat contexten worden verwijderd wanneer het bijbehorende object wordt verwijderd, wanneer een exemplaar wordt losgekoppeld en wanneer het minifilterstuurprogramma wordt verwijderd.

Contexten worden niet ondersteund voor wisselbestanden of tijdens de volgende bewerkingen:

  • Voorbewerking van creatieverzoeken

  • Nabewerkingsverwerking voor gesloten aanvragen

  • Verwerking van IRP_MJ_NETWORK_QUERY_OPEN aanvragen

Zie het CTX-voorbeeld voor een voorbeeld van een minifilterstuurprogramma dat contexten gebruikt.

Filterbeheer ondersteunt routines voor contextbeheer

Het filterbeheer biedt veel ondersteuningsroutines voor contextondersteuning voor minifilters: