Share via


OID_RECEIVE_FILTER_CLEAR_FILTER

Überlastende Treiber geben OID-Set-Anforderungen von OID_RECEIVE_FILTER_CLEAR_FILTER aus, um einen Empfangsfilter für einen Netzwerkadapter zu löschen.

Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf eine NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS-Struktur .

Bemerkungen

NDIS-Empfangsfilter werden in den folgenden NDIS-Schnittstellen verwendet:

Die OID-Set-Anforderung von OID_RECEIVE_FILTER_CLEAR_FILTER ist für Miniporttreiber obligatorisch, die die NDIS-Paketkopplung, SR-IOV- oder VMQ-Schnittstelle unterstützen.

Ein überlastender Treiber, z. B. ein NDIS-Protokoll oder Filtertreiber, verwendet die OID_RECEIVE_FILTER_CLEAR_FILTER Set-Anforderung, um einen zuvor festgelegten Filter zu löschen. Nur der Treiber, der den Empfangsfilter festgelegt hat, kann ihn löschen.

Der überlastende Treiber löscht einen Empfangsfilter, indem er den FilterId-Member der NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS-Struktur auf den Bezeichner für den Filter festlegt. Der Treiber hat den Filterbezeichner aus einer früheren OID-Methodenanforderung von OID_RECEIVE_FILTER_SET_FILTER abgerufen.

Zusätzliche Anweisungen zum NDIS Packet Coalescing

Der folgende Punkt gilt für Miniport- und Overlying-Treiber, die die NDIS-Paketkopplung unterstützen:

  • Ein überlastender Treiber muss alle Empfangsfilter löschen, die er auf dem Miniporttreiber festgelegt hat, bevor er die Bindung vom Treiber aufhebt oder vom Treiber trennt.

Zusätzliche Richtlinien für die SR-IOV-Schnittstelle

Die folgenden Punkte gelten für Miniport- und Overlying-Treiber, die die SR-IOV-Schnittstelle unterstützen:

  • Ein überlastender Treiber muss alle Filter löschen, die er auf einem SR-IOV-VPort festgelegt hat, bevor er den VPort freigibt. Der überlastende Treiber muss auch alle Filter löschen, die er auf dem Standard-VPort festgelegt hat, bevor er seine Bindung an den Netzwerkadapter schließt.

  • Ein Miniporttreiber darf keine Pakete für einen nicht standardmäßigen VPort angeben, wenn er die OID-Anforderung von OID_RECEIVE_FILTER_CLEAR_FILTER abgeschlossen hat, um den letzten Filter für den VPort zu löschen.

    Hinweis Ein Miniporttreiber darf auch keine Pakete auf einem nicht standardmäßigen VPort angeben, wenn er eine OID-Anforderung von OID_NIC_SWITCH_DELETE_VPORT zum Freigeben des VPorts abgeschlossen hat.

Zusätzliche Richtlinien für die VMQ-Schnittstelle

Die folgenden Punkte gelten für Miniport- und Overlying-Treiber, die die VMQ-Schnittstelle unterstützen:

  • Ein überlastender Treiber muss alle Filter löschen, die er für eine VMQ-Empfangswarteschlange festgelegt hat, bevor er die Warteschlange freigibt. Der überlastende Treiber muss auch alle Filter löschen, die er für die Standardwarteschlangen festgelegt hat, oder löschen, bevor er seine Bindung an den Netzwerkadapter schließt.

  • Ein Miniporttreiber darf keine Pakete in einer Empfangswarteschlange angeben, wenn er die OID-Anforderung von OID_RECEIVE_FILTER_CLEAR_FILTER abgeschlossen hat, um den letzten Filter in der Empfangswarteschlange zu löschen.

    Hinweis Ein Miniporttreiber darf auch keine Pakete in einer Empfangswarteschlange angeben, wenn er eine OID-Anforderung von OID_RECEIVE_FILTER_FREE_QUEUE abgeschlossen hat, um die Empfangswarteschlange zu befreien.

Zurückgeben status Codes

Die MiniportOidRequest-Funktion des Miniporttreibers gibt einen der folgenden Werte für diese Anforderung zurück:

Begriff BESCHREIBUNG

NDIS_STATUS_SUCCESS

Der Miniporttreiber hat die Anforderung erfolgreich abgeschlossen.

NDIS_STATUS_PENDING

Der Miniporttreiber führt die Anforderung asynchron aus. Nachdem der Miniporttreiber die gesamte Verarbeitung abgeschlossen hat, muss er die Anforderung erfolgreich ausführen, indem er die NdisMOidRequestComplete-Funktion aufruft und NDIS_STATUS_SUCCESS für den Status-Parameter übergibt.

NDIS_STATUS_NOT_ACCEPTED

Der Miniportadapter wurde überraschend entfernt.

NDIS gibt einen der folgenden status Codes für diese Anforderung zurück:

NDIS_STATUS_SUCCESS
Der angegebene Filter wurde erfolgreich gelöscht.

NDIS_STATUS_PENDING
Die Anforderung steht aus. NDIS übergibt den endgültigen status Code und ergebnisse an den OID-Anforderungsvervollständigungshandler des Aufrufers, nachdem die Anforderung abgeschlossen ist.

NDIS_STATUS_FILE_NOT_FOUND
Der Filterbezeichner ist ungültig.

NDIS_STATUS_INVALID_LENGTH
Der Informationspuffer ist zu klein. NDIS legt die DATEN fest. SET_INFORMATION. BytesNeed-Member in der NDIS_OID_REQUEST-Struktur auf die erforderliche Mindestpuffergröße.

Requirements (Anforderungen)

Version

Unterstützt in NDIS 6.20 und höher.

Header

Ntddndis.h (include Ndis.h)

Weitere Informationen

NDIS_OID_REQUEST

NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS

OID_NIC_SWITCH_DELETE_VPORT

OID_RECEIVE_FILTER_FREE_QUEUE

OID_RECEIVE_FILTER_SET_FILTER