Поделиться через


структура NDIS_HD_SPLIT_ATTRIBUTES (ndis.h)

Структура NDIS_HD_SPLIT_ATTRIBUTES определяет атрибуты разделения данных заголовков, если таковые имеются, связанные с мини-адаптером.

Синтаксис

typedef struct _NDIS_HD_SPLIT_ATTRIBUTES {
  NDIS_OBJECT_HEADER Header;
  ULONG              HardwareCapabilities;
  ULONG              CurrentCapabilities;
  ULONG              HDSplitFlags;
  ULONG              BackfillSize;
  ULONG              MaxHeaderSize;
} NDIS_HD_SPLIT_ATTRIBUTES, *PNDIS_HD_SPLIT_ATTRIBUTES;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры характеристик поставщика (NDIS_HD_SPLIT_ATTRIBUTES). Драйвер задает элемент типа структуры, заголовка, указывает NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES, элемент редакции NDIS_OBJECT_HD_SPLIT_ATTRIBUTES_REVISION_1, а элемент размер NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1.

HardwareCapabilities

Возможности оборудования разделения данных заголовков, поддерживаемые адаптером минипорта. Эти возможности должны включать возможности, которые в настоящее время отключены параметрами INF-файла или на странице свойств advanced . Значение HardwareCapabilities является побитовой или из следующих флагов:

NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT

Минипорт-адаптер может разделить заголовок и данные на отдельные многомерные библиотеки, соответствующие требованиям для поддержки разделения данных заголовков.

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS

Мини-адаптер может разделить кадры Ethernet IPv4, включающие параметры IPv4. Минипорт-адаптер может поддерживать разделение некоторых параметров IPv4, не разделяя другие.

Примечание сетевой адаптер не должен разделять кадры IPv4, содержащие неподдерживаемые параметры IPv4. Если кадр IPv4 разделен, часть заголовка разделенного кадра должна содержать весь заголовок IPv4 и все параметры IPv4, которые присутствуют.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS

Минипорт-адаптер может разделить кадры Ethernet IPv6, включающие заголовки расширения IPv6. Минипорт-адаптер может поддерживать некоторые заголовки расширений IPv6, не поддерживая другие.

примечание сетевой адаптер не должен разделять кадры IPv6, содержащие неподдерживаемые заголовки расширений IPv6. Если кадр IPv6 разделен, часть заголовка разделенного кадра должна содержать весь заголовок IPv6 и все заголовки расширения IPv6, которые присутствуют.
 

NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS

Минипорт-адаптер может разделить кадры TCP с другими параметрами TCP в дополнение к параметру метки времени. Минипорт-адаптер может поддерживать некоторые параметры TCP и не поддерживать другие.

Примечание Если единственным параметром TCP в кадре является параметр метки времени, поставщик разделения данных должен иметь возможность разделить кадр.
 
Примечание Если заголовок TCP содержит неподдерживаемый параметр TCP, сетевой адаптер должен разделить кадр в начале заголовка TCP или не должен разделять кадр.
 

CurrentCapabilities

Текущие возможности разделения данных заголовков, поддерживаемые адаптером минипорта. Минипорт-драйвер использует те же флаги, которые определены для элемента HardwareCapabilities. В этом случае флаги задаются для указания текущих возможностей, зависящих от текущих параметров конфигурации.

HDSplitFlags

Набор флагов, управляющих состоянием разделения данных заголовков для мини-адаптера. Драйвер минипорта должен задать для этого элемента значение нулю перед вызовом функции NdisMSetMiniportAttributes. После успешного возвращения NdisMSetMiniportAttributes драйвер должен проверить флаги и настроить оборудование соответствующим образом. NDIS задает этот элемент битовой или из следующих флагов:

NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT

Если этот флаг задан, драйвер минипорта должен включить разделение данных заголовков на оборудовании. В противном случае разделение данных заголовков отключено. Если компьютер использует разделение данных заголовков и драйвер минипорта также задает флаг NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT в элементе CurrentCapabilities, NDIS задает NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT.

BackfillSize

Размер обратной заполнения (в байтах) для части данных разделенного кадра. Должен быть задан минипорт-драйвер
BackfillSize до нуля перед вызовом NdisMSetMiniportAttributes. NDIS задает этот элемент, если драйвер мини-порта должен предварительно выделить хранилище обратной заполнения в части данных для разбиения кадров. После успешного возвращения NdisMSetMiniportAttribut es драйвер должен использовать значение BackfillSize, заданное NDIS для предварительного выделения буферов данных.

MaxHeaderSize

Максимальный размер в байтах для части заголовка разделенного кадра. Драйвер минипорта должен задать MaxHeaderSize равным нулю, прежде чем вызывать NdisMSetMiniportAttributes. NDIS задает этому элементу максимальный размер буфера заголовка для разделенных кадров. Когда NdisMSetMiniportAttributes успешно возвращается, драйвер должен использовать указанное значение NDIS.

Примечание Если длина заголовка превышает MaxHeaderSize из-за наличия параметров IPv4, заголовков IPSec или заголовков расширений IPv6 кадр не должен быть разделен. Если заголовок, содержащий заголовок TCP или UDP, превышает MaxHeaderSize из-за наличия заголовка TCP, параметров TCP или заголовка UDP сетевой адаптер должен разделить кадр в начале заголовка протокола верхнего слоя или не должен разделять кадр.
 

Замечания

Для поддержки разделения данных заголовков драйвер минипорта передает указатель на структура NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES в параметре miniportAttributes функции NdisMSetMiniportAttributes. Элемент NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES HDSplitAttributes содержит указатель на структуру NDIS_HD_SPLIT_ATTRIBUTES. Драйвер минипорта вызывает NdisMSetMiniportAttributes из функции MiniportInitializeEx во время инициализации.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.1 и более поздних версиях.
заголовка ndis.h (include Ndis.h)

См. также

MiniportInitializeEx

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes