Condividi tramite


OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE

I driver del protocollo NDIS generano richieste di metodo OID (Object Identifier) di OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE per notificare al driver miniport che un'allocazione è stata completata per il batch corrente di code di ricezione.

Il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a una struttura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY seguita da una struttura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS per ogni coda. Dopo aver restituito correttamente la richiesta del metodo OID, il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore alla stessa matrice di strutture e il membro CompletionStatus di ogni struttura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS contiene lo stato di completamento per ogni coda.

Commenti

La richiesta del metodo OID di OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE è facoltativa per i driver miniport NDIS 6.20 e versioni successive. È obbligatorio per i driver miniport che supportano l'interfaccia VMQ (Virtual Machine Queue).

Dopo l'allocazione di una o più code di ricezione e, facoltativamente, l'impostazione dei filtri iniziali, il driver del protocollo deve inviare la richiesta del metodo OID di OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE per notificare al driver miniport che l'allocazione è stata completata per il batch corrente di code di ricezione. Ciò consente al driver miniport di bilanciare le risorse hardware tra più code di ricezione; se necessario, può allocare risorse come la memoria condivisa per le code di ricezione.

Dopo che un driver miniport riceve una richiesta di OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE e include filtri impostati nella coda, la coda si trova nello stato In esecuzione. In questo stato, il driver miniport può avviare le indicazioni dei pacchetti nella coda chiamando NdisMIndicateReceiveNetBufferLists.

Codici di stato restituiti

Il driver miniport restituisce uno dei codici di stato seguenti per la richiesta del metodo OID di OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE.

Codice stato Descrizione

NDIS_STATUS_SUCCESS

L'allocazione della coda è stata completata. Il buffer delle informazioni contiene la struttura di NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY aggiornata e le strutture dei parametri con lo stato di completamento per l'allocazione della coda.

NDIS_STATUS_PENDING

La richiesta è in attesa di completamento. Il codice di stato finale e i risultati verranno passati al gestore di completamento della richiesta OID del chiamante.

NDIS_STATUS_INVALID_PARAMETER

Uno o più parametri forniti dal driver overlying non sono validi.

NDIS_STATUS_INVALID_LENGTH

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

NDIS_STATUS_NOT_SUPPORTED

La versione NDIS del driver miniport è precedente alla versione 6.20.

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

NdisMIndicateReceiveNetBufferLists

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS