Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il trasporto TCP/IP di Windows supporta un set di requisiti per l'invio di frame Ethernet. Qualsiasi driver (ad esempio, un driver intermedio MUX o un driver di filtro) che genera richieste di invio o modifica le richieste di invio dei driver sovrastanti deve supportare i requisiti che il trasporto TCP/IP implementa.
Nota Se un driver in uno stack di driver non soddisfa questi requisiti, i driver miniport sottostanti, i driver intermedi MUX e i driver di filtro potrebbero comportarsi imprevedibilmente.
Per le richieste di invio Ethernet, i driver devono supportare questi requisiti:
Se un driver origina una richiesta di invio, deve allocare una struttura NET_BUFFER_LIST per i frame di Ethernet. Il membro NetBufferListInfo in ogni struttura NET_BUFFER_LIST deve includere i dati fuori banda (OOB) necessari per l'uso specifico. I dati OOB si applicano a tutte le strutture NET_BUFFER associate a una struttura NET_BUFFER_LIST.
Se un driver avvia una richiesta di invio, il driver deve allocare una o più strutture NET_BUFFER per i frame Ethernet e collegare queste strutture alla struttura NET_BUFFER_LIST. Ogni struttura NET_BUFFER collegata a una struttura NET_BUFFER_LIST descrive un singolo frame Ethernet. Il driver può concatenare più strutture NET_BUFFER_LIST in una richiesta di invio.
Tutte le strutture NET_BUFFER associate a una struttura NET_BUFFER_LIST devono avere lo stesso tipo di frame Ethernet e la stessa versione del protocollo IP (IPv4 o IPv6).
Tutte le strutture NET_BUFFER associate a una struttura NET_BUFFER_LIST devono avere gli stessi indirizzi MAC di origine e di destinazione.
Se un driver invia frame TCP o UDP, tutte le strutture NET_BUFFER associate a una struttura NET_BUFFER_LIST devono essere associate alla stessa connessione TCP o UDP. Nota Soggetto ai requisiti seguenti, i fotogrammi Ethernet trasmessi possono essere suddivisi. Ovvero, più elenchi di descrittori di memoria (MDLS) possono essere associati a una struttura di NET_BUFFER in una richiesta di invio.
Non dividere l'intestazione MAC del frame Ethernet tra più MDL. Considerare il flag VLAN (Virtual LAN) (o Priority), se presente, come parte dell'intestazione MAC. Di conseguenza, questo indicatore deve trovarsi nello stesso file MDL del resto dell'intestazione MAC.
Se un driver modifica i collegamenti nella catena MDL in una struttura NET_BUFFER o nella catena NET_BUFFER in una struttura NET_BUFFER_LIST, il driver deve ripristinare i collegamenti alla configurazione originale prima di restituire la proprietà del NET_BUFFER_LIST a un driver sovrastante. Tuttavia, i driver non sono tenuti a ripristinare i collegamenti tra le strutture NET_BUFFER_LIST.