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