Dela via


Initierar en Header-Data uppdelningsleverantör

För att stöda sidhuvuddatadelning måste en miniportdrivrutin registreras som en NDIS 6.1-drivrutin eller senare. Källfilen för miniportdrivrutinen måste ange DNDIS61_MINIPORT=1 i stället för DNDIS60_MINIPORT=1. Miniportdrivrutinen måste också ange NDIS 6.1 eller en senare version i NDIS_MINIPORT_DRIVER_CHARACTERISTICS strukturen.

För att registrera attributen för sidhuvuddatadelning anropar en NDIS 6.1-miniportdrivrutin funktionen NdisMSetMiniportAttributes från funktionen MiniportInitializeEx och skickar NdisMSetMiniportAttributes en initierad NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES-struktur.

Den NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES strukturen innehåller följande information:

  • HDSplitAttributes medlem i NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES innehåller en pekare till en NDIS_HD_SPLIT_ATTRIBUTES struktur som anger funktionerna för delning av sidhuvuddata som ett miniportkort tillhandahåller.

  • HardwareCapabilities-attributet i NDIS_HD_SPLIT_ATTRIBUTES innehåller funktionerna för uppdelning av header-data som miniport-adaptern stöder. Dessa funktioner kan omfatta funktioner som för närvarande är inaktiverade av INF-filinställningar eller via egenskapssidan Avancerade.

  • CurrentCapabilities medlemmen i NDIS_HD_SPLIT_ATTRIBUTES innehåller de aktuella funktionerna för delning av header-data som miniportadaptern stöder. Om delning av sidhuvuddata aktiveras via *HeaderDataSplit standardiserat INF-nyckelord använder miniportdrivrutinen samma flaggor som HardwareCapabilities medlem för att ange den aktuella konfigurationen för delning av sidhuvuddata. Mer information om *HeaderDataSplitfinns i standardiserade INF-nyckelord för Header-Data Split.

  • HDSplitFlags medlem i NDIS_HD_SPLIT_ATTRIBUTES innehåller konfigurationsflaggor för delning av sidhuvuddata. Miniportdrivrutinen bör ställa in denna medlemsvariabel till noll innan den anropar NdisMSetMiniportAttributes. NDIS sätter den här medlemmen med en bitvis OR av konfigurationsflaggor. När NdisMSetMiniportAttributes returneras måste miniportdrivrutinen kontrollera flagginställningarna i HDSplitFlags och konfigurera maskinvaran därefter.

NDIS använder flaggan NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT för att aktivera delning av sidhuvuddata för miniportkortet. NDIS ställer inte in NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT om miniportdrivrutinen inte angav flaggan NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT i medlemmen CurrentCapabilities i NDIS_HD_SPLIT_ATTRIBUTES-strukturen. Miniportdrivrutinen bör aktivera uppdelning av header och data i nätverkskortet om NDIS anger flaggan NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT.

Miniportdrivrutinen bör ange BackfillSize medlem i NDIS_HD_SPLIT_ATTRIBUTES-strukturen till noll innan du anropar NdisMSetMiniportAttributes. NDIS ställer in BackfillSize- fältet om miniportdrivrutinen måste förallokera backfyllnadslagring i databufferten för delade ramar. När NdisMSetMiniportAttributes returneras måste miniportdrivrutinen använda värdet BackfillSize som NDIS har angett och förallokera databuffertarna. Mer information om databuffertens återfyllnadsstorlek finns i Allokera återfyllnad för databufferten.

Miniportdrivrutinen bör ange MaxHeaderSize medlem i NDIS_HD_SPLIT_ATTRIBUTES-strukturen till noll innan du anropar NdisMSetMiniportAttributes. NDIS anger det här fältet till den maximala storlek som tillåts för headerbufferten för de delade bildrutorna. När NdisMSetMiniportAttributes framgångsrikt returneras måste miniportdrivrutinen använda värdet MaxHeaderSize som specificerats av NDIS. Mer information om den maximala sidhuvudstorleken finns i Allokera sidhuvudbufferten.