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:
NDIS Packet Coalescing. Weitere Informationen zur Verwendung von Empfangsfiltern in dieser Schnittstelle finden Sie unter Managing Packet Coalescing Receive Filters.
Single Root I/O Virtualization (SR-IOV). Weitere Informationen zur Verwendung von Empfangsfiltern in dieser Schnittstelle finden Sie unter Festlegen eines Empfangsfilters für einen virtuellen Port.
VMQ(Virtual Machine Queue). Weitere Informationen zur Verwendung von Empfangsfiltern in dieser Schnittstelle finden Sie unter Einstellung und Löschen von VMQ-Filtern.
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) |