Udostępnij za pośrednictwem


Obsługa kontekstów minifiltru

Menedżer filtrów zapewnia obsługę, która umożliwia sterownikom minifiltrowania łączenie kontekstów z obiektami, aby zachować stan podczas operacji we/wy. Obiekty, które mogą mieć konteksty, obejmują pliki, woluminy, wystąpienia, strumienie, uchwyty strumieni i transakcje. Zobacz Informacje o kontekstach minifiltru , aby uzyskać szczegółowe informacje o implementacji minifiltru.

Systemy plików innych firm muszą używać struktury FSRTL_ADVANCED_FCB_HEADER (zamiast struktury FSRTL_COMMON_FCB_HEADER), aby działały prawidłowo z kontekstami obsługi strumieni i uchwytów strumieni.

Konteksty można przydzielać zarówno ze stronicowanej, jak i niestronicowanej puli, z wyjątkiem kontekstów woluminów, które muszą być przydzielane z puli niestronicowanej.

Konteksty są zwalniane automatycznie po wydaniu wszystkich zaległych odwołań. Jeśli sterownik minifiltru definiuje procedurę czyszczenia kontekstu, menedżer filtrów ją wywołuje przed zwolnieniem kontekstu.

Menedżer filtrów zajmuje się usuwaniem kontekstów, gdy obiekt jest usuwany, gdy wystąpienie jest odłączane oraz gdy sterownik minifiltru jest zwalniany.

Konteksty nie są obsługiwane w przypadku plików stronicowania ani podczas następujących operacji:

  • Przetwarzanie wstępne dla żądań tworzenia

  • Przetwarzanie pooperacyjne dla żądań zamknięcia

  • Przetwarzanie żądań IRP_MJ_NETWORK_QUERY_OPEN

Zapoznaj się z przykładem CTX, aby zobaczyć sterownik minifiltru, który używa kontekstów.

Procedury obsługi menedżera filtrów na potrzeby zarządzania kontekstem

Menedżer filtrów udostępnia wiele procedur wsparcia kontekstu dla minifiltrów.