Udostępnij przez


Dołączanie modułu filtru

Aby zainicjować proces wstawiania modułu filtru do stosu sterowników, funkcja NDIS wywołuje funkcję FilterAttach sterownika filtru. Na początku wykonywania w funkcji FilterAttach moduł filter wprowadza stan Dołączanie . Aby uzyskać więcej informacji na temat dołączania modułu filtru do stosu sterowników, zobacz Uruchamianie stosu sterowników.

Sterownik filtru używa uchwytu, który NDIS przekazuje w parametrze NdisFilterHandle funkcji FilterAttach we wszystkich przyszłych wywołaniach funkcji NdisXxx, które odnoszą się do tego modułu filtru. Takie funkcje obejmują wskazania stanu, wysyłanie żądań, odbieranie wskazówek i żądania OID.

Gdy moduł filtra jest w stanie Dołączanie, sterownik:

  • Tworzy obszar kontekstu dla modułu filtrowego i przydziela pule buforów oraz inne zasoby specyficzne dla modułu filtrowego. Aby uzyskać więcej informacji na temat pul buforów, zobacz Zarządzanie buforami sterownika filtra.

  • Wywołuje funkcję NdisFSetAttributes przy użyciu wartości NdisFilterHandle przekazanej przez usługę NDIS do elementu FilterAttach. Parametr FilterModuleContextNdisFSetAttributes określa obszar kontekstu sterownika filtru dla tego modułu filtru. Funkcja NDIS przekazuje ten obszar kontekstu do funkcji FilterXxx sterownika filtru.

  • Opcjonalnie odczytuje parametry konfiguracji dla tego modułu filtru z rejestru. Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do informacji o konfiguracji dla sterownika filtru.

  • Jeśli poprzednie operacje zostały ukończone pomyślnie, moduł filtru jest w stanie Wstrzymano .

  • Jeśli poprzednie operacje nie powiodły się, sterownik filtru musi zwolnić wszystkie zasoby przydzielone w funkcji FilterAttach i zwrócić moduł filtru do stanu Odłączone .

  • Zwraca NDIS_STATUS_SUCCESS lub odpowiedni kod błędu. Jeśli sterownik zwraca kod błędu, NDIS kończy stos sterowników.

Nuta Rejestr może zawierać flagę, która określa, że moduł filtru jest opcjonalny. Jeśli opcjonalny moduł filtru nie zostanie dołączony, NDIS nie powoduje zakończenia działania pozostałej części stosu sterowników.

Sterownik filtru nie może wysyłać żądań wysyłania, wskazywać odebrane dane, wysyłać żądania OID lub określać stan z stanu Dołączanie . Operacje wysyłania i odbierania są obsługiwane w stanach Uruchamianie i wstrzymanie . Żądania identyfikatorów OID i wskazania stanu są obsługiwane w stanach Wstrzymane, Ponowne Uruchamianie, Działanie i Wstrzymywanie.

NDIS wywołuje funkcję FilterDetach, aby odłączyć moduł filtru dołączony przez NDIS za pomocą FilterAttach. Aby uzyskać więcej informacji, zobacz Odłączanie modułu filtru.