Condividi tramite


Trasmissione di dati di rete tramite un driver intermedio

Come descritto in Registrazione di un driver intermedio come driver miniport, un driver intermedio deve fornire una funzione MiniportSendNetBufferLists quando si registra con NdisMRegisterMiniportDriver. La funzione MiniportSendNetBufferLists può inoltrare strutture di NET_BUFFER_LIST in ingresso chiamando NdisSendNetBufferLists se il driver ha un bordo inferiore senza connessione. MiniportSendNetBufferLists può inviare l'elenco delle strutture NET_BUFFER_LIST ricevute con NdisSendNetBufferLists senza considerare le funzionalità del driver miniport sottostante.

MiniportSendNetBufferLists riceve un elenco di strutture NET_BUFFER_LIST disposte in un ordine determinato da un chiamante superiore di NdisSendNetBufferLists. Nella maggior parte dei casi, il driver intermedio deve mantenere questo ordinamento quando passa una matrice in ingresso di strutture NET_BUFFER_LIST al driver miniport sottostante. Un driver intermedio che modifica i dati nei dati di rete prima di passarli al driver sottostante può riordinare un elenco.

NDIS preserva sempre l'ordine dei puntatori della struttura NET_BUFFER_LIST quando vengono passati a NdisSendNetBufferLists come elenco collegato. Il driver miniport sottostante presuppone anche che l'elenco passato alla funzione MiniportSendNetBufferLists implica che i dati di rete devono essere trasmessi nello stesso ordine.