OID_RECEIVE_FILTER_ENUM_FILTERS

Un driver overlying invia una richiesta di metodo OID di OID_RECEIVE_FILTER_ENUM_FILTERS per ottenere un elenco di tutti i filtri configurati in una scheda di rete.

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

Una volta restituito correttamente dalla richiesta del metodo OID, il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a un buffer. Questo buffer è formattato per contenere quanto segue:

  • Struttura NDIS_RECEIVE_FILTER_INFO_ARRAY che specifica un elenco di filtri di ricezione attualmente configurati in un driver miniport.

  • Matrice di strutture NDIS_RECEIVE_FILTER_INFO . Ogni struttura specifica i parametri di un filtro di ricezione attualmente configurato in un driver miniport.

Commenti

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

I driver o le applicazioni emettono in modo eccessivo richieste di metodi OID di OID_RECEIVE_FILTER_ENUM_FILTERS per enumerare i filtri di ricezione impostati su una scheda di rete. Sono inclusi i filtri di ricezione impostati su una porta virtuale SR-IOV (VPort) o una coda di ricezione VMQ.

Linee guida aggiuntive per l'interfaccia di unione dei pacchetti NDIS

A partire da Windows Server 2012, l'unione dei pacchetti NDIS supporta solo la coda di ricezione predefinita di una scheda di rete.

Per enumerare i filtri di ricezione di unione dei pacchetti, il driver overlying deve impostare il membro QueueId della struttura NDIS_RECEIVE_FILTER_INFO_ARRAY su NDIS_DEFAULT_RECEIVE_QUEUE_ID.

Linee guida aggiuntive per l'interfaccia SR-IOV

A partire da Windows Server 2012, l'interfaccia SR-IOV supporta solo la coda di ricezione predefinita di una porta virtuale (VPort).

Per enumerare i filtri di ricezione VPort, il driver overlying deve impostare il membro QueueId della struttura NDIS_RECEIVE_FILTER_INFO_ARRAY su NDIS_DEFAULT_RECEIVE_QUEUE_ID.

Linee guida aggiuntive per l'interfaccia VMQ

Un driver overlying può inviare richieste di metodo OID di OID_RECEIVE_FILTER_ENUM_FILTERS per enumerare i filtri di ricezione impostati in una coda di ricezione VMQ. Quando il driver eccessivamente inizializza la struttura NDIS_RECEIVE_FILTER_INFO_ARRAY , imposta il membro QueueId su uno dei valori seguenti:

  • Valore dell'identificatore della coda per una coda di ricezione non predefinita. Il driver overlying ha ottenuto il valore di input dell'identificatore della coda da una richiesta di metodo OID precedente di OID_RECEIVE_FILTER_ALLOCATE_QUEUE o una richiesta di query OID di OID_RECEIVE_FILTER_ENUM_QUEUES.

  • Valore dell'identificatore della coda di NDIS_DEFAULT_RECEIVE_QUEUE_ID, che specifica la coda di ricezione predefinita.

Codici di stato restituiti

NDIS gestisce la richiesta del metodo OID di OID_RECEIVE_FILTER_ENUM_FILTERS per i driver miniport e restituisce uno dei codici di stato seguenti:

NDIS_STATUS_SUCCESS
La richiesta è stata completata correttamente. InformationBuffer punta a una struttura NDIS_RECEIVE_FILTER_INFO_ARRAY.

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

NDIS_STATUS_INVALID_LENGTH
Il buffer delle informazioni era troppo breve. NDIS imposta i DATI. QUERY_INFORMATION. Membro BytesNeeded nella struttura NDIS_OID_REQUEST alle dimensioni minime del buffer necessarie.

NDIS_STATUS_FAILURE
La richiesta non è riuscita per altri motivi.

Requisiti

Versione

Supportato in NDIS 6.20 e versioni successive.

Intestazione

Ntddndis.h (include Ndis.h)

Vedi anche

NDIS_OID_REQUEST

NDIS_RECEIVE_FILTER_INFO

NDIS_RECEIVE_FILTER_INFO_ARRAY

OID_RECEIVE_FILTER_ALLOCATE_QUEUE

OID_RECEIVE_FILTER_ENUM_QUEUES

OID_RECEIVE_FILTER_SET_FILTER