Verbeterde paden voor verzenden en ontvangen

De NDIS 6.0-paden voor verzenden en ontvangen zijn als volgt verbeterd om de prestaties te verbeteren:

  • Alle functies voor verzenden en ontvangen van NDIS 6.0 en hoger kunnen een gekoppelde lijst met NET_BUFFER_LIST structuren en de bijbehorende NET_BUFFER structuren overdragen met één functieoproep. Deze ondersteuning voor echte multipacket-verzend- en ontvangstbewerkingen vermindert het aantal functie-aanroepen dat stuurprogramma's moeten maken aanzienlijk.

  • Wanneer u een functie voor verzenden of ontvangen aanroept, kan een stuurprogramma dat wordt uitgevoerd op DISPATCH_LEVEL de IRQL aan NDIS aangeven. Wanneer NDIS vervolgens andere stuurprogramma's in de stack aanroept, is het niet nodig om hun IRQL te testen of in te stellen op DISPATCH_LEVEL. Dit vermindert de overhead die is gekoppeld aan het testen en instellen van de IRQL in kritieke codesecties.

  • Wanneer stuurprogramma's pakketten omhoog en omlaag doorgeven aan de stuurprogrammastack, kunnen ze NDIS aanvragen om de NET_BUFFER gegevensverschuivingen aan te passen om ruimte te bieden voor headerinformatie. Wanneer een pakket wordt verzonden, kan een stuurprogramma de gebruikte gegevensruimte uitbreiden om plaats te bieden aan de headergegevens van het stuurprogramma. Wanneer een ontvangstpakket wordt aangegeven, kan een stuurprogramma de gebruikte gegevensruimte verminderen nadat het stuurprogramma klaar is met het openen van de headergegevens. Deze mogelijkheid om de gebruikte gegevensruimte dynamisch aan te passen in een NET_BUFFER structuur, zonder geheugen toe te wijzen en vrij te maken of gegevens te kopiëren, vermindert de overhead die nodig is om netwerkgegevens te verwerken.

Zie NET_BUFFER Architecturevoor meer informatie over het verzenden en ontvangen van gegevensafhandeling in NDIS 6.0.