Dela via


Stöd för att dela Header-Data i protokolldrivrutiner och filterdrivrutiner

NDIS 6.0 och senare protokolldrivrutiner och filterdrivrutiner måste ha stöd för mottagarindikationer med huvud och data i icke-sammanhängande buffertar.

Du får inte anta att det bara finns en enda MDL i en NET_BUFFER struktur. Protokolldrivrutiner och filterdrivrutiner behöver inte göra något särskilt för att stödja registrering av delning mellan header och data. Men drivrutinen för mottagande måste hantera mer än en MDL i MDL-kedjan och måste använda följande NDIS MDL-makron för att få åtkomst till MDL-kedjan.

Med delade buffertar delas datalängden som är associerad med den NET_BUFFER strukturen (i DataLength medlem i NET_BUFFER_DATA-strukturen) över flera MDL:er. Om en protokolldrivrutin till exempel försökte komma åt hela databufferten i den första MDL:en kan drivrutinen komma åt ogiltiga data.

Obs När mottagningsindikeringsanropet återgår till en miniportdrivrutin kan miniportdrivrutinen återta huvud-MDL:erna. De överliggande drivrutinerna eller deras klienter får inte komma åt huvuddel-MDL:erna efter att ta emot indikering kall återgår till miniportdrivrutinen. Den här begränsningen gäller även när miniportdrivrutinen inte anger mottagna data med statusen NDIS_RECEIVE_FLAGS_RESOURCES.