Filtern von Modulzuständen und -vorgängen
Ein Filtertreiber muss die folgenden Betriebszustände für jedes Filtermodul (instance eines Filtertreibers) unterstützen, das der Treiber verwaltet:
Getrennt
Der Status Getrennt ist der Anfangszustand eines Filtermoduls. Wenn sich ein Filtermodul in diesem Zustand befindet, kann NDIS die FilterAttach-Funktion des Filtertreibers aufrufen, um das Filtermodul an den Treiberstapel anzufügen.
anfügen?
Im Zustand "Anfügen" bereitet ein Filtertreiber das Anfügen des Filtermoduls an den Treiberstapel vor.
Angehalten
Im Zustand Angehalten führt der Filtertreiber keine Sende- oder Empfangsvorgänge aus.
Neustart
Im Status Neustarten schließt ein Filtertreiber alle Vorgänge ab, die zum Neustarten von Sende- und Empfangsvorgängen für ein Filtermodul erforderlich sind.
Wird ausgeführt
Im Status Wird ausgeführt führt ein Filtertreiber die normale Sende- und Empfangsverarbeitung für ein Filtermodul aus.
Anhalten
Im Zustand Anhalten schließt ein Filtertreiber alle Vorgänge ab, die zum Beenden von Sende- und Empfangsvorgängen für ein Filtermodul erforderlich sind.
In der folgenden Tabelle sind die Überschriften die Filtermodulzustände. Wichtige Ereignisse sind in der ersten Spalte aufgeführt. Die restlichen Einträge in der Tabelle geben den nächsten Zustand an, den das Filtermodul nach einem Ereignis in einem Zustand eingibt. Die leeren Einträge stellen ungültige Ereignis-Zustandskombinationen dar.
Ereignis/Status | Getrennt | anfügen? | Angehalten | Neustarten | Wird ausgeführt | Status „Wird angehalten“ |
---|---|---|---|---|---|---|
Anfügen von Filtern |
anfügen? |
|||||
Anfügen ist abgeschlossen |
Angehalten |
|||||
Trennen des Filters |
Getrennt |
|||||
Filterneustart |
Neustarten |
|||||
Neustart ist abgeschlossen |
Wird ausgeführt |
|||||
Filterpause |
Status „Wird angehalten“ |
|||||
Pause ist abgeschlossen |
Angehalten |
|||||
Fehler beim Anfügen |
Getrennt |
|||||
Fehler beim Neustart |
Angehalten |
|||||
Senden und Empfangen |
Wird ausgeführt |
Status „Wird angehalten“ |
||||
OID-Anforderungen |
Angehalten |
Neustarten |
Wird ausgeführt |
Status „Wird angehalten“ |
Die primären Filtertreiberereignisse sind wie folgt definiert:
Anfügen von Filtern
NDIS hat die FilterAttach-Funktion des Treibers aufgerufen, um ein Filtermodul an einen Treiberstapel anzufügen. Weitere Informationen zum Anfügen eines Filtermoduls finden Sie unter Anfügen eines Filtermoduls.
Anfügen ist abgeschlossen
Wenn sich ein Filtermodul im Anfügen-Zustand befindet und der Filtertreiber die Initialisierung aller Ressourcen abgeschlossen hat, die das Filtermodul benötigt, wechselt das Filtermodul in den Zustand Angehalten .
Trennen des Filters
NDIS hat die FilterDetach-Funktion des Treibers aufgerufen, um ein Filtermodul von einem Treiberstapel zu trennen. Weitere Informationen finden Sie unter Trennen eines Filtermoduls.
Filterneustart
NDIS hat die FilterRestart-Funktion des Treibers aufgerufen, um ein angehaltenes Filtermodul neu zu starten. Weitere Informationen finden Sie unter Starten eines Filtermoduls.
Neustart ist abgeschlossen
Wenn sich das Filtermodul im Status Neustart befindet und der Treiber bereit ist, Sende- und Empfangsvorgänge auszuführen, wechselt das Filtermodul in den Status Wird ausgeführt .
Filterpause
NDIS hat die FilterPause-Funktion des Treibers aufgerufen, um ein Filtermodul anzuhalten. Weitere Informationen finden Sie unter Anhalten eines Filtermoduls.
Pause ist abgeschlossen
Nachdem der Treiber alle Vorgänge abgeschlossen hat, die zum Beenden von Sende- und Empfangsvorgängen erforderlich sind, ist der Pausenvorgang abgeschlossen, und das Filtermodul befindet sich im Zustand Angehalten .
Fehler beim Anfügen
Wenn NDIS die FilterAttach-Funktion eines Treibers aufruft und der Anfügevorgang fehlschlägt (z. B. weil die erforderlichen Ressourcen nicht verfügbar sind), kehrt das Filtermodul in den Zustand Getrennt zurück.
Fehler beim Neustart
Wenn NDIS die FilterRestart-Funktion eines Treibers aufruft und der Neustartversuch fehlschlägt, kehrt das Filtermodul in den Zustand Angehalten zurück .
Sende- und Empfangsvorgänge
Ein Treiber kann Sende- und Empfangsvorgänge in den Status Wird ausgeführt und angehalten verarbeiten. Weitere Informationen zu Sende- und Empfangsvorgängen finden Sie unter Filtern von Sende- und Empfangsvorgängen für Module.
OID-Anforderungen
Ein Treiber kann OID-Anforderungen in den Status Wird wird ausgeführt, neu gestartet, angehalten und anhaltend verarbeiten. Weitere Informationen zu OID-Anforderungen finden Sie unter Filtern von Modul-OID-Anforderungen.