Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Windows TCP/IP-transport stöder en uppsättning krav för att skicka Ethernet-ramar. Alla drivrutiner (till exempel en mellanliggande MUX-drivrutin eller filterdrivrutin) som initierar eller ändrar skicka begäranden för överliggande drivrutiner måste uppfylla de krav som TCP/IP-transporten implementerar.
Observera Om någon drivrutin i en drivrutinsstacken inte följer dessa krav kan underliggande miniportdrivrutiner, MUX-mellanliggande drivrutiner och filterdrivrutiner bete sig oförutsägbart.
För Ethernet-sändningsbegäranden måste drivrutinerna ha stöd för följande krav:
Om en drivrutin initierar en sändningsbegäran ska drivrutinen allokera strukturen NET_BUFFER_LIST för Ethernet-ramarna. NetBufferListInfo-medlemmen i varje NET_BUFFER_LIST-struktur måste innehålla OOB-data (out-of-band) som krävs för den specifika användningen. OOB-data gäller för alla NET_BUFFER strukturer som är associerade med en NET_BUFFER_LIST struktur.
Om en drivrutin initierar en sändningsbegäran bör drivrutinen allokera en eller flera NET_BUFFER-strukturer för Ethernet frames och länka dessa strukturer till NET_BUFFER_LIST-strukturen. Varje NET_BUFFER struktur som är länkad till en NET_BUFFER_LIST struktur beskriver en enda Ethernet-ram. Drivrutinen kan länka flera NET_BUFFER_LIST strukturer i en sändningsbegäran.
Alla NET_BUFFER strukturer som är associerade med en NET_BUFFER_LIST struktur måste ha samma Ethernet-ramtyp och IP-protokollversion (IPv4 eller IPv6).
Alla NET_BUFFER strukturer som är associerade med en NET_BUFFER_LIST struktur måste ha samma MAC-adresser för källa och mål.
Om en drivrutin skickar TCP- eller UDP-ramar måste alla NET_BUFFER strukturer som är associerade med en NET_BUFFER_LIST struktur associeras med samma TCP- eller UDP-anslutning. Observera Under förutsättning av följande krav kan överförda Ethernet-ramar delas upp. Det vill: flera minnesbeskrivningslistor (MDL: er) kan associeras med en NET_BUFFER struktur i en sändningsbegäran.
Dela inte MAC-huvudet i överförings-Ethernet-ramen över flera MDL:er. Behandla, om den finns, flaggan Virtual LAN (VLAN) (eller Priority) som en del av MAC-huvudet. Den här flaggan måste därför finnas i samma MDL som resten av MAC-huvudet.
Om en drivrutin ändrar länkarna i MDL-kedjan i en NET_BUFFER struktur eller NET_BUFFER-kedjan i en NET_BUFFER_LIST struktur måste drivrutinen återställa länkarna till den ursprungliga konfigurationen innan den returnerar ägarskapet för NET_BUFFER_LIST till en överdrivande drivrutin. Drivrutiner krävs dock inte för att återställa länkarna mellan NET_BUFFER_LIST strukturer.