Percorsi di invio e ricezione migliorati
I percorsi di invio e ricezione di NDIS 6.0 sono stati migliorati come segue per migliorare le prestazioni:
Tutte le funzioni di invio e ricezione del driver NDIS 6.0 e successive possono trasferire un elenco collegato di strutture NET_BUFFER_LIST e le strutture NET_BUFFER associate con una singola chiamata di funzione. Questo supporto per l'invio multipacket vero e le operazioni di ricezione riducono notevolmente il numero di chiamate di funzione che devono essere eseguite dai driver.
Quando si chiama una funzione di invio o ricezione, un driver in esecuzione in DISPATCH_LEVEL può indicare il relativo IRQL a NDIS. Quando NDIS effettua successivamente chiamate ad altri driver nello stack, non è necessario che questi driver testano irQL o lo impostino su DISPATCH_LEVEL. In questo modo viene ridotto il sovraccarico associato al test e all'impostazione di IRQL nelle sezioni di codice critiche.
Quando i driver passano pacchetti verso l'alto e verso il basso dello stack di driver, possono richiedere NDIS di modificare gli offset di dati NET_BUFFER per supportare le informazioni sull'intestazione. Quando si invia un pacchetto, un driver può espandere lo spazio dati usato per supportare le informazioni sull'intestazione del driver. Quando si indica un pacchetto di ricezione, un driver può ridurre lo spazio dati usato dopo che il driver viene eseguito l'accesso alle informazioni sull'intestazione. Questa possibilità di regolare dinamicamente lo spazio dati usato in una struttura NET_BUFFER, senza allocare e liberare memoria o copiare dati, riduce il sovraccarico necessario per elaborare i dati di rete.
Per altre informazioni sull'invio e la ricezione dei dati in NDIS 6.0, vedere architettura NET_BUFFER.