Sdílet prostřednictvím


Inicializace poskytovatele rozdělení dat záhlaví

Aby bylo možno podporovat rozdělení dat hlaviček, musí se ovladač miniportu zaregistrovat jako ovladač NDIS 6.1 nebo novější. Zdrojový soubor ovladače miniportu musí místo DNDIS60_MINIPORT=1 zadat DNDIS61_MINIPORT=1. Ovladač miniportu musí také ve struktuře NDIS_MINIPORT_DRIVER_CHARACTERISTICS zadat verzi NDIS 6.1 nebo novější.

Pokud chcete zaregistrovat atributy rozdělení dat hlaviček, ovladač miniportu NDIS 6.1 volá funkci NdisMSetMiniportAttributes z funkce MiniportInitializeEx a předává NdisMSetMiniportAttributes inicializovanou strukturu NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.

Struktura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES obsahuje následující informace:

  • HDSplitAttributes člen NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES obsahuje ukazatel na strukturu NDIS_HD_SPLIT_ATTRIBUTES, která určuje možnosti rozdělení dat hlaviček, které poskytuje miniport adaptér.

  • HardwareCapabilities člen NDIS_HD_SPLIT_ATTRIBUTES obsahuje schopnosti rozdělení hlavičky a dat, které podporuje miniport adaptér. Tyto možnosti můžou zahrnovat funkce, které jsou aktuálně zakázány nastavením souboru INF nebo na stránce vlastností Upřesnit.

  • CurrentCapabilities člen NDIS_HD_SPLIT_ATTRIBUTES obsahuje aktuální schopnosti rozdělení hlaviček a dat, které podporuje miniport adaptér. Pokud je rozdělení dat hlaviček povoleno prostřednictvím standardizovaného klíčového slova INF *HeaderDataSplit, ovladač miniportu používá stejné příznaky jako parametr HardwareCapabilities k označení aktuální konfigurace rozdělení dat hlaviček. Další informace o *HeaderDataSplitnaleznete v tématu Standardizovaná klíčová slova INF pro Header-Data Split.

  • HDSplitFlags člen NDIS_HD_SPLIT_ATTRIBUTES obsahuje konfigurační příznaky pro rozdělení hlaviček a dat. Ovladač miniportu by měl nastavit tento člen na nulu před voláním NdisMSetMiniportAttributes. NDIS nastaví tento člen pomocí bitového OR příznaků konfigurace. Poté, co se NdisMSetMiniportAttributes úspěšně vrátí, musí ovladač miniportu zkontrolovat nastavení příznaků v HDSplitFlags a odpovídajícím způsobem nakonfigurovat hardware.

NDIS používá příznak NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT k povolení rozdělení hlaviček a dat pro adaptér miniportu. NDIS nenastaví NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT, pokud ovladač miniportu nenastavil příznak NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT v CurrentCapabilities členu struktury NDIS_HD_SPLIT_ATTRIBUTES. Ovladač miniportu by měl v síťové kartě povolit oddělení hlavičky od dat, pokud NDIS nastaví příznak NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT.

Ovladač miniportu by měl nastavit BackfillSize člen struktury NDIS_HD_SPLIT_ATTRIBUTES na nulu před voláním NdisMSetMiniportAttributes. NDIS nastaví člen BackfillSize, pokud musí ovladač miniportu předem přidělit backfill úložiště v datové vyrovnávací paměti pro rozdělené rámce. Jakmile se NdisMSetMiniportAttributes úspěšně vrátí, musí ovladač miniportu použít hodnotu BackfillSize, kterou NDIS zadal, a předem přidělit vyrovnávací paměti pro data. Další informace o velikosti backfillu vyrovnávací paměti dat naleznete v tématu Přidělení Backfillu pro Vyrovnávací Paměť Dat.

Ovladač miniportu by měl nastavit MaxHeaderSize člen struktury NDIS_HD_SPLIT_ATTRIBUTES na nulu před voláním NdisMSetMiniportAttributes. NDIS nastaví tuto položku na maximální povolenou velikost pro mezipaměť hlaviček rozdělených rámců. Jakmile NdisMSetMiniportAttributes úspěšně vrátí hodnotu, ovladač miniportu musí použít hodnotu MaxHeaderSize, kterou určil NDIS. Další informace o maximální velikosti záhlaví naleznete v tématu Přidělení vyrovnávací paměti pro záhlaví.