Freigeben über


OID_RECEIVE_FILTER_CLEAR_FILTER

Überlastungstreiber geben OID-Setanforderungen von OID_RECEIVE_FILTER_CLEAR_FILTER aus, um einen Empfangsfilter auf einem 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-Setanforderung von OID_RECEIVE_FILTER_CLEAR_FILTER ist obligatorisch für Miniporttreiber, die die NDIS-Paketverknässung, SR-IOV- oder VMQ-Schnittstelle unterstützen.

Ein übermäßiger 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 übersteigende Treiber löscht einen Empfangsfilter, indem die FilterId Element der NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS Struktur auf den Bezeichner für den Filter festgelegt wird. Der Treiber hat den Filterbezeichner aus einer früheren OID-Methodenanforderung von OID_RECEIVE_FILTER_SET_FILTERabgerufen.

Zusätzliche Anweisungen für NDIS Packet Coalescing

Der folgende Punkt gilt für Miniport- und Überlauftreiber, die NDIS-Paketverknässung unterstützen:

  • Ein übermäßiger Treiber muss alle empfangenden Filter löschen, die er auf dem Miniporttreiber festgelegt hat, bevor er die Verknüpfung des Treibers entbindet oder vom Treiber trennt.

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

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

  • Ein übermäßiger Treiber muss alle Filter löschen, die er auf einem SR-IOV VPort festgelegt hat, bevor er den VPort freigibt. Der Überlauftreiber muss auch alle Filter löschen, die er für den Standard-VPort festgelegt hat, bevor er die Bindung an den Netzwerkadapter schließt.

  • Ein Miniporttreiber darf keine Pakete auf einem nicht standardmäßigen VPort angeben, wenn er die OID-Anforderung von OID_RECEIVE_FILTER_CLEAR_FILTER abgeschlossen hat, um den letzten Filter auf dem 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 VPort abgeschlossen hat.

Zusätzliche Richtlinien für die VMQ-Schnittstelle

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

  • Ein übermäßiger Treiber muss alle Filter löschen, die er in einer VMQ-Empfangswarteschlange festgelegt hat, bevor er die Warteschlange freigibt. Der Überlauftreiber muss auch alle Filter löschen, die er für die Standard- oder Drop-Warteschlangen festgelegt hat, bevor er die 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 freizuschalten.

Rückgabestatuscodes

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

Ausdruck 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 die Anforderung erfolgreich ausgeführt werden, indem die NdisMOidRequestComplete--Funktion aufgerufen wird und NDIS_STATUS_SUCCESS für den parameter Status übergeben wird.

NDIS_STATUS_NOT_ACCEPTED

Der Miniportadapter wurde überraschend entfernt.

NDIS gibt einen der folgenden Statuscodes 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 Statuscode und ergebnisse an den OID-Anforderungsabschlusshandler 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 DATA fest. SET_INFORMATION. BytesNeededed Member in der NDIS_OID_REQUEST Struktur auf die erforderliche Mindestpuffergröße.

Anforderungen

Version

Unterstützt in NDIS 6.20 und höher.

Kopfball

Ntddndis.h (include Ndis.h)

Siehe auch

NDIS_OID_REQUEST

NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS

OID_NIC_SWITCH_DELETE_VPORT

OID_RECEIVE_FILTER_FREE_QUEUE

OID_RECEIVE_FILTER_SET_FILTER