Delen via


Een filtermodule starten

Als u een onderbroken filtermodule wilt starten, roept NDIS de functie FilterSetModuleOptions van het filterstuurprogramma aan, indien van toepassing, gevolgd door een aanroep naar de functie FilterRestart . De filtermodule voert de status Opnieuw opstarten in aan het begin van de uitvoering in de functie FilterRestart .

Als het stuurprogramma een toegangspunt voor FilterSetModuleOptions heeft opgegeven, kan het stuurprogramma het gedeeltelijke kenmerk voor een filtermodule wijzigen. Voor meer informatie, zie Data Bypass-modus.

Wanneer de functie FilterRestart van een filterstuurprogramma wordt aangeroepen, geeft NDIS een aanwijzer door aan een NDIS_RESTART_ATTRIBUTES structuur om het stuurprogramma te filteren in het lid RestartAttributes van de NDIS_FILTER_RESTART_PARAMETERS-structuur . Filterstuurprogramma's kunnen de kenmerken voor opnieuw opstarten wijzigen die zijn opgegeven door onderliggende stuurprogramma's. Zie FilterRestart voor meer informatie over het wijzigen van kenmerken voor opnieuw opstarten.

Notitie NDIS roept FilterSetModuleOptions aan voor alle filtermodules in een stack voordat NDIS de functie FilterRestart aanroept voor een filtermodule in de stack.

NDIS start een filtermodule als onderdeel van een Plug en Play-bewerking om een stuurprogrammastack opnieuw op te starten. Zie Een stuurprogrammastack opnieuw opstarten voor een overzicht van het opnieuw opstarten van de stuurprogrammastack.

Namens een filtermodule die de status Herstarten heeft, treedt het filterstuurprogramma op:

  • Voltooit alle bewerkingen die nodig zijn om normale verzend- en ontvangstbewerkingen opnieuw op te starten.

    Zie Filtermodule verzenden en ontvangenvoor meer informatie over verzend- en ontvangstbewerkingen.

  • Kan configureerbare parameters voor de filtermodule lezen of schrijven.

  • Kan netwerkgegevensindicaties ontvangen. Het stuurprogramma kan dergelijke gegevens kopiëren en in de wachtrij plaatsen en deze later aan overliggende stuurprogramma's aangeven, of het kan de gegevens weggooien.

  • Mag geen nieuwe ontvangstindicaties initiëren.

  • Weiger onmiddellijk alle nieuwe verzendaanvragen naar de functie FilterSendNetBufferLists door de functie NdisFSendNetBufferListsComplete aan te roepen. De volledige status moet in elke NET_BUFFER_LIST worden ingesteld op NDIS_STATUS_PAUSED.

  • Kan statusindicaties opgeven met de functie NdisFIndicateStatus .

    Zie Statusindicaties van filtermodule voor meer informatie over statusindicaties.

  • Moet OID-aanvragen verwerken in de functie FilterOidRequest .

    Zie Filter Module OID-aanvragenvoor meer informatie over OID-aanvragen.

  • Mag geen nieuwe verzendaanvragen initiëren.

  • Retourneert nieuwe ontvangstindicaties onmiddellijk aan NDIS door de functie NdisFReturnNetBufferLists aan te roepen. Indien nodig kan het stuurprogramma dergelijke ontvangstindicaties kopiëren voordat deze worden geretourneerd.

  • Kan OID-aanvragen indienen bij de onderliggende stuurprogramma's om bijgewerkte configuratiegegevens in te stellen of op te vragen.

  • Moet statusindicaties verwerken in de functie FilterStatus .

  • Moet NDIS_STATUS_SUCCESS of een status van mislukking aangeven. Als een filtermodule niet opnieuw wordt opgestart, ontkoppelt NDIS deze en als het een verplicht filter is, beëindigt NDIS de volledige stuurprogrammastack.

Nadat het filterstuurprogramma de verzend- en ontvangstbewerkingen opnieuw heeft gestart, moet de herstartbewerking worden voltooid. Het filterstuurprogramma kan de herstartbewerking synchroon of asynchroon voltooien door respectievelijk NDIS_STATUS_SUCCESS of NDIS_STATUS_PENDING te retourneren vanuit FilterRestart.

Als het stuurprogramma NDIS_STATUS_PENDING retourneert, moet het de functie NdisFRestartComplete aanroepen nadat de herstartbewerking is voltooid. In dit geval geeft het stuurprogramma de uiteindelijke status van de herstartbewerking door aan NdisFRestartComplete.

Nadat de herstartbewerking is voltooid, heeft de filtermodule de status Actief . Het stuurprogramma hervat de normale verwerking van verzenden en ontvangen.

NDIS initieert geen andere Plug en Play-bewerkingen, zoals het koppelen, loskoppelen of onderbreken van aanvragen, terwijl het filterstuurprogramma de status Opnieuw opstarten heeft. NDIS kan onderbrekingsaanvragen initiëren nadat een filterstuurprogramma de status Actief heeft. Zie Een filtermodule onderbreken voor meer informatie over het onderbreken van een filtermodule.