Condividi tramite


OID_RECEIVE_FILTER_CLEAR_FILTER

L'overlying driver genera richieste OID set di OID_RECEIVE_FILTER_CLEAR_FILTER per cancellare un filtro di ricezione su una scheda di rete.

Il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a una struttura NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS .

Commenti

I filtri di ricezione NDIS vengono usati nelle interfacce NDIS seguenti:

La richiesta di set OID di OID_RECEIVE_FILTER_CLEAR_FILTER è obbligatoria per i driver miniport che supportano l'interfaccia di unione dei pacchetti NDIS, SR-IOV o VMQ.

Un driver overlying, ad esempio un protocollo NDIS o un driver di filtro, usa la richiesta impostata di OID_RECEIVE_FILTER_CLEAR_FILTER per cancellare un filtro impostato in precedenza. Solo il driver che imposta il filtro di ricezione può cancellarlo.

Il driver eccessivamente cancella un filtro di ricezione impostando il membro FilterId della struttura NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS sull'identificatore per il filtro. Il driver ha ottenuto l'identificatore di filtro da una richiesta di metodo OID precedente di OID_RECEIVE_FILTER_SET_FILTER.

Istruzioni aggiuntive per l'unione di pacchetti NDIS

Il punto seguente si applica ai driver miniport e overlying che supportano la unione dei pacchetti NDIS:

  • Un driver overlying deve cancellare tutti i filtri di ricezione impostati sul driver miniport prima di scollegare o scollegare dal driver.

Linee guida aggiuntive per l'interfaccia SR-IOV

I punti seguenti si applicano ai driver miniport e overlying che supportano l'interfaccia SR-IOV:

  • Un driver overlying deve cancellare tutti i filtri impostati su un VPort SR-IOV prima di liberare il VPort. Il driver overlying deve anche cancellare tutti i filtri impostati sul VPort predefinito prima di chiudere il binding alla scheda di rete.

  • Un driver miniport non deve indicare pacchetti in un VPort non predefinito se ha completato la richiesta OID di OID_RECEIVE_FILTER_CLEAR_FILTER per cancellare l'ultimo filtro sul VPort.

    Nota Un driver miniport non deve inoltre indicare pacchetti in un VPort non predefinito se ha completato una richiesta OID di OID_NIC_SWITCH_DELETE_VPORT per liberare il VPort.

Linee guida aggiuntive per l'interfaccia VMQ

I punti seguenti si applicano ai driver miniport e overlying che supportano l'interfaccia VMQ:

  • Un driver overlying deve cancellare tutti i filtri impostati in una coda di ricezione VMQ prima di liberare la coda. Il driver overlying deve anche cancellare tutti i filtri impostati nelle code predefinite o drop prima di chiudere il binding alla scheda di rete.

  • Un driver miniport non deve indicare i pacchetti in una coda di ricezione se ha completato la richiesta OID di OID_RECEIVE_FILTER_CLEAR_FILTER per cancellare l'ultimo filtro nella coda di ricezione.

    Nota Un driver miniport non deve inoltre indicare i pacchetti in una coda di ricezione se ha completato una richiesta OID di OID_RECEIVE_FILTER_FREE_QUEUE per liberare la coda di ricezione.

Codici di stato restituiti

La funzione MiniportOidRequest del driver miniport restituisce uno dei valori seguenti per questa richiesta:

Termine Descrizione

NDIS_STATUS_SUCCESS

Il driver miniport ha completato correttamente la richiesta.

NDIS_STATUS_PENDING

Il driver miniport completerà la richiesta in modo asincrono. Al termine dell'elaborazione, il driver miniport deve avere esito positivo alla richiesta chiamando la funzione NdisMOidRequestComplete , passando NDIS_STATUS_SUCCESS per il parametro Status .

NDIS_STATUS_NOT_ACCEPTED

L'adattatore miniport è stato rimosso a sorpresa.

NDIS restituisce uno dei codici di stato seguenti per questa richiesta:

NDIS_STATUS_SUCCESS
Il filtro specificato è stato cancellato correttamente.

NDIS_STATUS_PENDING
La richiesta è in attesa di completamento. NDIS passerà il codice di stato finale e i risultati al gestore di completamento della richiesta OID del chiamante al termine della richiesta.

NDIS_STATUS_FILE_NOT_FOUND
L'identificatore del filtro non è valido.

NDIS_STATUS_INVALID_LENGTH
Il buffer delle informazioni è troppo piccolo. NDIS imposta i DATI. SET_INFORMATION. Membro BytesNeeded nella struttura NDIS_OID_REQUEST alle dimensioni minime del buffer necessarie.

Requisiti

Versione

Supportato in NDIS 6.20 e versioni successive.

Intestazione

Ntddndis.h (include Ndis.h)

Vedi anche

NDIS_OID_REQUEST

NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS

OID_NIC_SWITCH_DELETE_VPORT

OID_RECEIVE_FILTER_FREE_QUEUE

OID_RECEIVE_FILTER_SET_FILTER